- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
遗传算法及其应用
遗传算法(GeneticAlgorithm,GA)是近多年来开展起来的一种全新的全局优化算法,它是基于了生物遗传学的观点,是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,它通过自然选择、遗传、复制、变异等作用机制,实现各个个体的适应性的提高,从而到达全局优化。[1]
生物学背景
所有生物的进化都具有一些共同的特点:
(1)进化的发生地点是信息载体,即染色体(Chromosome),而不是被编码的生物个体(Individual)上。
(2)染色体能被复制,成功适应环境的被编码个体的染色体有更多的时机进行复制,形成有优势的后代。
(3)染色体能产生突变,使子代染色体不同于母代。
问题的解被称为个体,它表示为一个变量序列,叫做染色体或者基因串。[2]
算法流程
如下列图所示:
产生初始种群:算法随机生成一定数量的个体〔有时候操作者也可以干预这个随机产生过程,以提高初始种群的质量〕。
计算个体适应度值:通过计算适应度函数得到适应度数值,按照适应度排序种群个体,适应度高的在前面。这里的“高”是相对于初始的种群的低适应度而言。
选择:依据原那么“适应度越高,被选择的时机越高,而适应度低的,被选择的时机就低”。不意味着完全以适应度上下为导向,因为单纯选择适应度高的个体将可能导致算法快速收敛到局部最优解而非全局最优解,我们称之为早熟。
交叉:也叫交配,每两个个体通过交配产生两个新个体,代替原来的“老”个体,而不交配的个体那么保持不变。交配概率〔范围一般是0.6~1〕反映两个被选中的个体进行交配的概率。交配父母的染色体相互交换,从而产生两个新的染色体,第一个个体前半段是父亲的染色体,后半段是母亲的,第二个个体那么正好相反。不过这里的半段并不是真正的一半,这个位置叫做交配点,也是随机产生的,可以是染色体的任意位置。
变异:一般遗传算法都有一个固定的突变常数〔又称为变异概率〕,通常是0.1或者更小,这代表变异发生的概率。根据这个概率,新个体的染色体随机的突变,通常就是改变染色体的一个字节〔0变到1,或者1变到0〕。
参数
种群规模:即种群中染色体个体的数目。
字串长度:个体中染色体的长度。
交叉概率:控制着交叉算子的使用频率。
变异概率:控制着变异算子的使用频率。
中止条件:见上。[2]
例如
1.方弦://songshuhui.net/archives/10462用100个透明三角形画一个火狐图标
2.求解函数f(x)=x+10*sin(5*x)+7*cos(4*x)在区间[0,9]的最大值。知乎sjyan
3.利用遗传算法求解01背包问题
存在的缺陷
收敛速度慢。
容易陷入局部最优点。
解决方法:选择算子,交叉算子和变异算子,这些参数的选择将直接影响算法的性能和搜索速度,所以选择适宜的遗传算子是算法能高效地收敛到全局最优解的关键所在。[3]
算法性能
〔1〕群体的规模越大,遗传算法的离线性能越好,越容易收敛.
〔2〕规模较大的群体,遗传算法的初始在线性能较差;而规模较小的群体,遗传算法的初始在线性能较好.
〔3〕增大变异概率会降低遗传算法的离线性能和在线性能,且随着变异概率的增大,遗传算法的性能会越来越接近于随机搜索算法的性能.
〔4〕对于多点交叉算子,随着交叉点数的增加会降低遗传算法的在线性能和离线性能.[4]
应用
主要是全局最优化问题。
财富杂志500强企业中大多数都用它进行时间表安排、数据分析、未来趋势预测、预算、以及解决很多其他组合优化问题。
“欺骗”深度学习。[5]
日本新干线N700系列车“气动双翼”的独特空气动力造型车鼻。
近年来,遗传算法已被成功地应用于经济答理、交通运输、工业设计等不同领域.解决了许多问题。例如,可靠性优化、流水车间调度、作业车间调度、机器调度、设备布局设计、图像处理以及数据挖掘等。[6]
目前研究方向
值得研究的工作:
a)遗传算法与优化技术的融合。
b)算法的改良以及新型算法的提出。
c)混合遗传算法。
d)算法的并行化研究。
e)加强遗传算法与应用的结合。
f)面向多目标优化、约束优化问题的算法及理论研究。[7]
对我个人的启示
仿生学是创新的一个非常有效的起点。
跨学科的交流对学科的进展是非常有帮助的。
每一种算法都有其优点和缺点,我们应该扬长避短地使用算法。
每一种算法都有其开展的过程,从单一到多样,从不完善到渐渐完善。
参考文献:
[1]遗传算法在组合优化中的应用研究[D].汪松泉.安徽大学2010
[2]维基百科——遗传算法
[3]基于改良遗传算法的应用研究[D].曹道友.安徽大学2010
[4]DeJongKA.AnAnalysisoft
文档评论(0)