出版社:高等教育出版社 作者:汪定伟 简介 高等教育出版社2007年4月出版。 本书主要介绍近年来产生的多种智能优化算法,包括遗传算法、禁忌搜索、模拟退火、蚁群优化算法、粒子群优化算法、捕食搜索算法和动态进化算法等算法的产生、算法的基本思想和理论、算法的基本构成、计算步骤、主要的变型算法及几个数值举例...
上传时间: 2014-11-14
上传用户:helmos
面向对象的可视化建模培训教程 [UML和Rational Rose/C++ Ver 4.x] 简介 ROSE提供的不同视图 配置用户界面 问题描述 问题需求描述 Use Cases 建立Actors ,Use Case 和Use Case 图 建立序列图 建立协同图 包和类 建立类、包和模版 重新分配类和包 建立类图
上传时间: 2017-07-31
上传用户:z754970244
免疫排课算法,遗传算法的一种进化形式。可供学习研究
上传时间: 2017-08-02
上传用户:exxxds
SFLA算法是解决组合性优化问题的算法。它是基于集合类方法的启发式研究,这种SFLA初始化于一群虚拟集合青蛙,在池塘中跳跃,搜寻最优的食物地点。青蛙们可以被看作是具有思维的的主体。一种思维可以被看作是一个思想的集合或是文化的进化。每一种思维都是由一系列策略构成。在这种策略进化期间,青蛙的思维也在发生改变,导致了他们在面向目标时方位的改变,这种思维的变化或改变的发生,正是因为青蛙受到其他更好思想的影响。
上传时间: 2017-08-08
上传用户:heart520beat
本书介绍了如何通过使用开放源码工具来构建一个现实的应用,以提高开发效率,降低企业开发费用。 本书共分三个部分,使基本概念、使用工具和开发应用三个过程贯穿于读者的学习当中。特别是本书提及的开发者工具箱,包含了诸多的开放源码项目,它们都是与J2EE长期协同工作的结晶。而且,书中的实例使通过重新创作著名的Sun Java 蓝图——PetStore应用,将JUnit、Ant、Hibernate、WebWork、SiteMesh、XDoclet以及Lucene等工具的应用演绎得淋漓尽致,有利于读者在开发过程中提高可用性、结构简洁性和复用性的能力。 本书适合于希望学习Java开放源码技术的程序员阅读。
标签: 开放源码
上传时间: 2017-08-20
上传用户:佳期如梦
本文介绍了一种基于NIOS II软核处理器实现对LCD-LQ057Q3DC02控制的新方法。在设计中利用FPGA的Altera的SOPC Builder定制NIOS II软核处理器及其与显示功能相关的“软” 硬件模块来协同实现显示控制的软硬件设计。利用SOPC技术,将NIOS II CPU和LCD控制器放在同一片FPGA中,解决了通常情况下必须使用LCD 控制专用芯片才能解决LCD显示的问题。
标签: NIOS Builder Altera LCD-LQ
上传时间: 2017-09-06
上传用户:天涯
无线传感器网络体系结构与性能标准 WSNs体系结构如图1所示。它主要由以下部分组 成_2]:传感器节点、接收发送器(Sink)、Internet或通信卫星、 任务管理节点等部分。传感器节点分布在感知区域内,采集 与观察对象相关的数据,并将协同处理后的数据传送到 Sink。Sink可以通过Internet或通信卫星实现传感器网络与 任务管理节点通信。WSNs路由协议的任务是在传感器节点 和Sink节点之间建立路由,可靠地传递数据。
上传时间: 2014-01-14
上传用户:ztj182002
调速系统设计据装备正常工作对输入控制信号的要求,设计了该型装备电机调速系统控制回路。该控制回路采用单片机 和FPGA协同工作,用数字方式实现SPWM信号。经过实际应用,该方法产生的电机调速系统控制信号不仅精度高,
标签: 调速;仿真
上传时间: 2015-04-25
上传用户:Micccc
遗传算法为群体优化算法,也就是从多个初始解开始进行优化,每个解称为一个染色体,各染色体之间通过竞争、合作、单独变异,不断进化。 优化时先要将实际问题转换到遗传空间,就是把实际问题的解用染色体表示,称为编码,反过程为解码,因为优化后要进行评价,所以要返回问题空间,故要进行解码。SGA采用二进制编码,染色体就是二进制位串,每一位可称为一个基因;解码时应注意将染色体解码到问题可行域内。 遗传算法模拟“适者生存,优胜劣汰”的进化机制,染色体适应生存环境的能力用适应度函数衡量。对于优化问题,适应度函数由目标函数变换而来。一般遗传算法求解最大值问题,如果是最小值问题,则通过取倒数或者加负号处理。SGA要求适应度函数>0,对于<0的问题,要通过加一个足够大的正数来解决。这样,适应度函数值大的染色体生存能力强。 遗传算法有三个进化算子:选择(复制)、交叉和变异。 SGA中,选择采用轮盘赌方法,也就是将染色体分布在一个圆盘上,每个染色体占据一定的扇形区域,扇形区域的面积大小和染色体的适应度大小成正比。如果轮盘中心装一个可以转动的指针的话,旋转指针,指针停下来时会指向某一个区域,则该区域对应的染色体被选中。显然适应度高的染色体由于所占的扇形区域大,因此被选中的几率高,可能被选中多次,而适应度低的可能一次也选不中,从而被淘汰。算法实现时采用随机数方法,先将每个染色体的适应度除以所有染色体适应度的和,再累加,使他们根据适应度的大小分布于0-1之间,适应度大的占的区域大,然后随机生成一个0-1之间的随机数,随机数落到哪个区域,对应的染色体就被选中。重复操作,选出群体规模规定数目的染色体。这个操作就是“优胜劣汰,适者生存”,但没有产生新个体。 交叉模拟有性繁殖,由两个染色体共同作用产生后代,SGA采用单点交叉。由于SGA为二进制编码,所以染色体为二进制位串,随机生成一个小于位串长度的随机整数,交换两个染色体该点后的那部分位串。参与交叉的染色体是轮盘赌选出来的个体,并且还要根据选择概率来确定是否进行交叉(生成0-1之间随机数,看随机数是否小于规定的交叉概率),否则直接进入变异操作。这个操作是产生新个体的主要方法,不过基因都来自父辈个体。 变异采用位点变异,对于二进制位串,0变为1,1变为0就是变异。采用概率确定变异位,对每一位生成一个0-1之间的随机数,看是否小于规定的变异概率,小于的变异,否则保持原状。这个操作能够使个体不同于父辈而具有自己独立的特征基因,主要用于跳出局部极值。 遗传算法认为生物由低级到高级进化,后代比前一代强,但实际操作中可能有退化现象,所以采用最佳个体保留法,也就是曾经出现的最好个体,一定要保证生存下来,使后代至少不差于前一代。大致有两种类型,一种是把出现的最优个体单独保存,最后输出,不影响原来的进化过程;一种是将最优个体保存入子群,也进行选择、交叉、变异,这样能充分利用模式,但也可能导致过早收敛。 由于是基本遗传算法,所以优化能力一般,解决简单问题尚可,高维、复杂问题就需要进行改进了。 下面为代码。函数最大值为3905.9262,此时两个参数均为-2.0480,有时会出现局部极值,此时一个参数为-2.0480,一个为2.0480。算法中变异概率pm=0.05,交叉概率pc=0.8。如果不采用最优模式保留,结果会更丰富些,也就是算法最后不一定收敛于极值点,当然局部收敛现象也会有所减少,但最终寻得的解不一定是本次执行中曾找到过的最好解。
标签: 遗传算法
上传时间: 2015-06-04
上传用户:芃溱溱123
《深度探索C++对象模型》专注于C++面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这本《深度探索C++对象模型》让你知道:一旦你能够了解底层实现模型,你的程序代码将获得多么大的效率。Lippman澄清了那些关于C++额外负荷与复杂度的各种错误信息和迷思,但也指出其中某些成本和利益交换确实存在。他阐述了各式各样的实现模型,指出它们的进化之道及其本质因素。书中涵盖了C++对象模型的语意暗示,并指出这个模型是如何影响你的程序的。
上传时间: 2015-06-14
上传用户:Syzu