- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
遗传算法及其应用实例
遗传算法(Genetic Algorithm)是由美国Michigan大学的Holland
教授(1969)提出,后经由De Jong(1975),Goldberg(1989)等归
纳总结所形成的一类模拟进化算法。
遗传算法搜索最优解的方法是模仿生物的进化过程,即通过选择
与染色体之间的交叉和变异来完成的。遗传算法主要使用选择算子、
交叉算子与变异算子来模拟生物进化,从而产生一代又一代的种群
。 ()Xt
(1)选择算子:是模拟自然选择的操作,反映“优胜劣汰”原
理。它根据每一个个体的适应度,按照一定规则或方法,从代种群
中选择出一些优良的个体(或作为母体,或让其遗传到下一代种
群)。
t
(1)Xt.
(2)交叉算子:是模拟有性繁殖的基因重组操作,它将从种群
所选择的每一对母体,以一定的交叉概率交换它们之间的部分基
因。
(3)变异算子:是模拟基因突变的遗传操作,它对种群中
的每一个个体,以一定的变异概率改变某一个或某一些基因座上的基
因值为其他的等位基因。
交叉算子与变异算子的作用都在于重组染色体基因,以生成新的
个体。
遗传算法的运算过程如下:
步1(初始化)
确定种群规模,交叉概率,变异概率和终止进化准则;随
机生成个个体作为初始种群;置。
NcPmP
(0)X0t.
步2(个体评价)
计算评估中各个体的适应度。
步3(种群进化)
3.1. 选择(母体) 从中运用选择算子选择出对母体
()。
/2M
MN.
3.2. 交叉 对所选择的对母体,以概率执行交叉,形成
个中间个体。
M
3.3. 变异 对个中间个体分别独立以概率执行变异,形成
个候选个体。
M
3.4. 选择(子代) 从上述所形成的个候选个体中依据适应度
选择出个个体组成新一代种群。 N
步4(终止检验)
如已满足终止准则,则输出中具有最大适应度的个体作为
最优解,终止计算,否则置并转步2。 1tt..
以上运算过程只是遗传算法的多种实现方式中的一种,根据实际
问题的不同,遗传算法的实现也是多种多样的。
遗传算法具有通用、并行、稳健、简单与全局优化能力强等突出
优点,适用于解决复杂、困难的全局优化问题。
一个优化问题被称为是复杂的,通常指它具有下述特征之一:
(1)目标函数没有明确解析表达(如非数值优化问题)。
(2)目标函数虽有明确表达,但不可能恰好估值(如大部分最
优控制问题、金融优化问题)。
(3)目标函数有极多的峰值(如计算、组合优化问题)。 DNA
(4)多目标优化,即目标函数是向量值。
一个优化问题被称为是困难的,则通常是指:或者目标函数不
连续、不可微、高度非线性,或者优化问题是困难的组合问题。
f
对于这些复杂、困难的优化问题,已知的优化方法或者根本不可
用,或者可用但不有效。相比之下,遗传算法不但保证可用,而且常
常显得更为有效。
但是,我们必须注意到,一个通用而又较少依赖于目标函数值与
其他辅助信息的算法不可能比专用且充分利用目标函数值与相关辅
助信息的算法更为有效,而当一个问题有某些辅助信息可供使用时,
舍弃应用本来可供应用的信息而去应用于这些信息无关的算法也不
是一个聪明的选择。所以,遗传算法一般来说并不适宜应用于通常的
数值优化问题(例如连续可微的数学规划问题),或者说,当应用于
这样的问题时,遗传算法并不总能显示其优越性。
20-15-10-505101520
接下来,我们通过一个求解简单函数的最小值点的问题来初步展
示遗传算法的具体实现方法:
问题1:
求函数在区间上的最小值点。 ()11sin(6)7cos(5)fxxx..[0,2]x..
上图为函数在区间上的曲线图像,
可以看出,该函数有多个极值点,如果使用其他的搜寻方法,很容易
陷入局部最小点,而不能搜寻到真正的全局最小点,但遗传算法可以
较好地弥补这个缺陷。遗传算法的具体实现如下:
1.问题分析。对于本问题,自变量可以抽象为个体的基因组,
即用二进制编码表示;函数值可以抽象为个体的适应度,函数
值越小,适应度越高。
x
x()fx
关于二进制编码方式,在精度允许的范围下,可以将区间内的无
穷多点用间隔足够小的有限点来代替,以降低计算量同时保证精度损
失不大。如用16位二进制数来表示该区间的点,相邻点的间隔仅为
,相邻点的函数值的变化幅度已经很小,由此带来
的精度损失完全可以接受。
516209...
..
.
另一个问题是普通的二进制编码方式可能具有较大的汉明
(Hamming)距离,例如15和16的二进制表示为01111和10000,
从15到16必须改变所有位,这种缺陷将降低遗传算法的搜索效率。
采用格雷编码(Gra
您可能关注的文档
- 电子编辑与电子出版物:概念、起源与早期发展(上).doc
- 有线电视光缆传输系统指标的分析及设计.doc
- 各类信号接口的知识.doc
- 笔记本内存插槽视觉检测系统技术方案-副本.pdf
- 大学毕业生自我鉴定要求、格式和范文.doc
- 刚入行产品新人,你其实可以写一份合格产品需求文档.pdf
- 内部审计C卷答案资料.doc
- 第三章 语音人机交互.ppt
- 网络信息安全 网络攻击原理及技术.doc
- 计算机单选题教材.docx
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
文档评论(0)