欢迎来到天天文库
浏览记录
ID:31934582
大小:2.34 MB
页数:46页
时间:2019-01-29
《多模态优化的混合小生境遗传算法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第一章绪论1.2本文研究的背景和意义1.2.1遗传算法的研究概述遗传算法是生物学,计算机科学,人工智能以及系统科学等学科相结合而产生的一种全局性概率搜索方法,它是人们认识自然,掌握自然规律并用于解决客观世界实际问题的产物。遗传算法的基本思想来源于Darwin进化论和Mendel遗传学说。达尔文Darwin的生物进化论其中的自然选择适者生存是遗传算法的主要指导原则之一【l~31。早在1962年密执安大学的JohnHolland在发表的论文Outlineforalogictheoryofadaptivesystems[
2、2】中提出了利用群体进化的思想。他指出新的群体应当基于当前群体的有效性来产生。尽管他当时没有给出实现这些思想的具体技术但确实引进了群体适应值,复制,变异,交叉等基本概念。七十年代中期,JohnHolland和他的同事、学生提出了这一算法,其目的是解释自然的自适应过程及设计一个体现自然界机理的软件系统。后来这一算法被广泛应用于各种优化问题和机器学习、模式识别、人工智能等。遗传算法在整个进化过程中的遗传操作是随机的,但它所呈现出的特性并不是完全随机搜索,它能有效地利用历史信息来推测下一代期望性能有所提高的寻优点集【5】
3、。在遗传算法中,问题的解集被定义为种群中的染色体,每个染色体代表一种可能解。种群中染色体的数量表示种群的规模。染色体在连续的后代中得到不断进化。子代染色体一般这样产生:通过交叉操作来合并两个父代染色体,或通过变异操作改变父代染色体。在每一代中都要评价染色体的适应度(一般根据目标函数),有较高适应度的染色体其存活概率较大。经过数代之后,新生代中染色体会趋于同样,或者满足某种给定的条件,最终的染色体表示对问题的最优或接近最优解。遗传算法所涉及的五大要素包括:参数编码,初始群体的设定,适应度函数的设计,遗传操作的设计和控
4、制参数的设定【5】。遗传算法所涉及的要素:(1)遗传编码按照遗传算法的工作流程,当用遗传算法求解问题时,必须在目标问题实际表示与遗传算法的染色体位串结构之间建立联系,即确定编码和解码运算【5】。简单二进制编码的采用得到了Holland早期理论结果(模式定理、最小字母表原理)的支持,但它仍有许多不足之处。二进制编码还有一些变种,如Gray编码,二倍体(diploid)编码等克服了二进制编码的一些不足。此外,序列编码、实数编码、树编码、自适应编码、乱序编码以及将以往的合成编码分解成多个相对独立编码的编码策略等多种编码方
5、法也都被证明各天津大学硕士学位论文有优缺点。(2)适应函数(评价函数)遗传算法将问题空间表示为染色体位串空间,为了执行适者生存的原则,必须对个体位串的适应性进行评价。因此,适应函数(fimessfunction)就构成了个体的生存环境。根据个体的适应值,就可决定它在此环境下的生存能力。~般来说,好的染色体位串结构具有比较高的适应函数值,既可以获得较高的评价,具有较强的生存能力【51。(3)遗传算子标准遗传算法的操作算子一般包括选择(selection,或复制reproduction)、交叉(crossover,或重
6、组recombination)和变异(mutation)三种基本形式,它们构成了遗传算法具备强大搜索能力的核心,是模拟自然选择以及遗传过程中发生的繁殖、杂交和突变现象的主要载体。遗传算法利用遗传算子产生新一代群体来实现群体化,算子的设计是遗传策略的主要组成部分,也是调整和控制进化过程的基本工具。(4)初始群体的设定遗传算法与传统随机类搜索算法的最大区别之一,在于它的整个算法是在解的群体上进行的。正是这一特点使GA具有了搜索过程的并行性、全局性和鲁棒性,可见群体的设定对整个GA的运行性能具有基础性的决定作用。根据模式
7、定理,群体规模对遗传算法的性能影响很大。群体规模越大,群体中个体的多样性越高,算法陷入局部解的危险就越小。但是随着规模增大,计算量也显著增加。若规模太小,使遗传算法的搜索空间受到限制,则可能产生未成熟收敛的现象。初始群体的个体一般是随机产生的【5】(5)控制参数和选择在遗传算法的运行过程中,存在着对其性能产生重大影响的一组参数。这组参数在初始阶段或群体进化过程中需要合理的选择和控制,以使GA以最佳的搜索轨迹达到最优解。主要参数包括染色体位串长度L,群体规模11,交叉概率pc以及变异概率Pm【51。基本遗传算法(SG
8、A);SGA是相当简单的抽象模型。个体用固定长度的串表示,群体大小也是固定的。按概率选择群体中的个体来生成下~代个体,选择的概率正比于个体适应度大小。通过交叉和变异产生新个体。算法过程如下:ProcedureSGABegin第一章绪论InitializeP(0):t=0:while(t一
此文档下载收益归作者所有