- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
w102613origin(基于小種群策略的并行遗传算法)
基于小种群策略的并行遗传算法
(安徽师范大学 ,安徽 芜湖 241003)1
中图法分类号:TP3???文献标识码: A??文章编号:1672—7800(2009)00
摘要:
遗传算法作为一种基于生物进化机制的自适应算法,适用于各类复杂系统的优化计算。然而标准遗传算法所具有的易早熟、易陷入局部最优等问题,在一定程度上限制了遗传算法的推广和使用。本文在对遗传算子做出改进的基础上,提出了一种基于小种群策略的并行遗传算法,从而有效地提高了遗传算法的执行效率和性能。
关键词:遗传算法;早熟;遗传算子;小种群并行
引言
遗传算法[1]是最早由Michigan大学的J·Holland教授于1975年提出的一种基于生物进化机制的自适应算法,适用于各类复杂系统的优化计算。遗传算法本身具有很多的优点,如简单易行,通用性强,鲁棒性高,全局搜索能力强等,这些优点使其可以应用于大量复杂问题求解当中。然而遗传算法固有的一些缺陷如过早收敛,容易陷入局部最优,算法运行后期搜索效率较低等,也不可避免的的制约了遗传算法的使用与推广。
对于全局范围的搜索算法而言,早熟现象的产生将是其失败的主要原因。种群的规模在很大程度上决定遗传算法应用的成功与否。种群数目过小会导致算法收敛速度过快,往往来不及找到全局最优解,种群数目过大会消耗过多的进化和处理时间,使得算法运行的异常缓慢。
为了更好的使用遗传算法处理实际问题,长期以来人们在标准遗传算法(SGA)的基础上已经做出了大量的研究和尝试,并且取得了巨大的成效。其改进方法包括对遗传算子的改进、增强算法的自适应性、与其他智能算法搭配使用等,然而很多改进方法却使得算法变得较为复杂,从而失去了遗传算法简单易用的特点。本文在此提出一种新的基于小种群并行的改进型遗传算法:一方面针对实际应用中的一些问题对标准遗传算法的遗传算子加以改进,另一方面提出在个体总量相同的条件下,采用多个小种群并行运算,并在各种群间产生交互的方法,确保在尽可能的保持计算简单性的前提下,防止遗传算法中早熟现象的产生。
1.遗传算子的改进
交叉算子是遗传算子中最为重要的组成部分,其不仅对遗传算子的收敛性起到了至关重要的作用,同时也对遗传算法的收敛速度有很大的影响。传统交叉算子的操作往往具有一定的盲目性,亲代染色体交叉互换后所形成的子代很可能将亲代个体中所具备的优良基因模式丢弃或者破坏了[4]。本文提出一种改进的交叉算子方案,以便以较大的可能性保护亲代个体的优秀基因模式并使之得以传递至子代个体。
在此使用相似程度的概念,通过相似程度的高低来决定是否进行交叉操作。首先给出相似度的定义,假设有两个二进制编码的编码的父代个体,分别记作个体X和个体Y,则此二者的相似程度定义如下:
定义1 相似程度:
(1)
其中ε表示个体X和个体Y的相似程度,a表示两个体之间最大相同位串的数目,n表示个体染色体编码的长度。举例来说,例如个体X的染色体编码为1010110010,个体Y的染色体编码为1000101001,则二者的最大相同位串数目a为5,而个体染色体编码长度n为10,则个体X与个体Y的相似程度ε为5/10,即0.5 。显然,同一种群中任意两个个体的相似程度为一个处于[0,1]之间的数。
为了判别是否进行交叉操作,需要用到一个临界值作为参照对象,在此本文给出另一个概念标准交叉点,定义如下:
(2)
其中K为标准交叉点的值,G表示此种群预先设定的总进化代数,g表示算法到目前为止已运行的代数。由公式显然可知,标准交叉点K的值是动态变化的,其值随着当前种群进化代数的增长而不断增大,而预先设定的总进化代数对标准交叉点K的变化也有较大影响。当被选中参与交叉运算的两个个体的相似程度ε小于或等于K的值时,则进行染色体的交叉互换操作,而当相似程度ε大于K的值时,则不允许二者进行交叉互换操作,而是克隆本身,复制产生与二者完全相同的子代个体。在遗传算法运行的初期,随即生成的种群个体之间的相似程度较低,为了控制交叉率以便在确保种群得到充分进化的前提下尽量不破坏个体中的优秀基因模式,标准交叉点的值K应当相对较小,反之在遗传算法运行的后期,种群进化了多代,此时个体间差异已经较小,相似程度较高,故而标准交叉点的值K也应当随之提高。根据上述公式,动态的控制父代染色体标准交叉点的移动,有助于提高遗传算法的收敛性能和收敛速度。为了简便以及更好的评价本文提出的改进方法,当一组亲代个体的染色体通过标准交叉点的比较判断后,本文使用传统的单点交叉方法来对它们进行交叉互换操作。
2.基于小种群并行的算法方案
种群的规模是决定遗传算法能否成功使用的一个重要
您可能关注的文档
- VisualBasic程序設计实验报告书一.docx
- Visio與IT.doc
- visualc_入門经典考试复习资料(绝对经典).doc
- VisualFoxpro6.0安裝向导图文教程(附视频演示).doc
- VisualSVNServer安裝_配置_使用图文教程.doc
- Visual_Basic串口通信程序設计实例.doc
- Visual_Basic程序設计基础_习题答案.doc
- VIS(CIS)視觉形象设计完整版.doc
- Visual_Studio中的快捷鍵与小技巧整理.doc
- vivibootloader的實现.doc
- 鲁科版四上 Unit 2-Lesson2 She likes dancing课件PPT.pptx
- 鲁科版四上 Unit 1-Lesson3We sing here课件PPT.pptx
- 鲁科版四上 Unit 1-Lesson4 Again please课件PPT.pptx
- 鲁科版四上 Unit 3-Lesson2 I can dance on Friday课件PPT.pptx
- 鲁科版四上 Unit 2-Lesson3 What's your hobby课件PPT.pptx
- 鲁科版四上 Unit 1-Lesson1 We have Chinese课件PPT.pptx
- 鲁科版四上 Unit 2-Lesson4 Again please课件PPT.pptx
- 鲁科版四上 Unit 3-Lesson1 What day is today课件PPT.pptx
- 鲁科版四上 Unit 3-Lesson4 Again, please课件PPT.pptx
- 鲁科版四上 Unit 1-Lesson2What's your favourite subject课件.pptx
文档评论(0)