遗传算法综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
随着经济社会的迅猛发展, 人类科学研究与生产活动的广度与深度都大大拓展了,其中涌现出的大量具有各种非线性、不确定、不能精确解析以及建模机理复杂的新课题对信息与控制科学提出了前所未有的挑战。正是在这种背景下, 各种智能信息处理算法如雨后春笋般涌现出来。作为智能信息处理算法中的重要一员, 遗传算法近年来以其独特而卓越的性能引起了人们的广泛关注。
对于以往难以解决的函数优化问题,复杂的多目标规划问题,工农业生产中的配管、配线问题,以及机器学习,图象识别,人工神经网络的权系数调整,模糊规则的优化和网络构造等诸多问题,GA遗传算法以其出色的表现,已成为人们最常用也最有效的方法之一。虽然GA在许多优化问题中都有成功的应用,但其本身也存在一些不足,主要有:局部搜索能力弱、存在早熟成熟现象、收敛于局部最优解、随机漫游或振荡等现象,从而影响算法的收敛性能,降低了遗传算法的可信度。如何改善遗传算法的搜索能力和提高算法的收敛速度,使其更好地解决实际问题,是各国学者一直努力探索的一个主要课题。纵观成百上千的对遗传算法进行改进研究文献,其主要改进措施多集中在以下几个方面:
1.对遗传算法本身缺点的改进
1.1对遗传算法本身单一缺点的改进
种群人们主要关心的是种群中个体分布的多样性,这决定着运行遗传算法的效率,与种群相关的因素有种群个数,种群大小及初始种群三方面。
种群个数采用多个子种群并行搜索思想,有效避免了欺骗问题,提高了算法成功的概率。典型应用就是小生境技术,种群由M个子种群组成,每个子种群独立进化,种群间通过种群迁移∕移民等机制完成个体信息的交换。借鉴子种群并行的思想,发展出了思维进化计算,文献【】和量子衍生遗传算法或量子衍生进化计算,文献【】【】。
种群大小大致有固定种群和动态种群两种。
初始种群对于初始种群的生成主要是改变了以往单靠随机生成的缺点,引进了解空间格点化法或数论中均匀设计法,使产生的点集能均匀地分布于解空间。当然采用随机与均匀混合生成的初始种群,可以包含更丰富的解空间模式。文献【】,给出了用点的低序列差均匀生成初始种群的方法。(当然这些方法
编码经典的标准遗传算法( SGA )中,Holland运用模式定理分析编码机制时,建议采用二进制编码,其优点是简易稳定,但二进制编码具有不能直接反映问题的固有结构,解码复杂,精度不高,个体长度太长,占用计算机内存多和空间效率不高的缺点。它早已不能适应人们处理问题多样化的事实。
针对上述缺陷, 人们采用Gray编码和动态编码等方法成功地减少了编码的尺寸和复杂度,提高了局部搜索性能和速度。文献【】,给出了采用了性别编码,检测仿真表明其性能优于二进制和格雷码;采用染色体隐式解码算法,使得解码速度提高了6~50倍[9];采用实数或浮点数的矩阵形式或复数形式的编码方法,实现了无需解码可直
接在解的表现型上进行遗传操作,反映了问题的固有结构,便于引入与问题领域相关的启发式信息,易于与其他传统优化方法融合,增加了算法的可操作性和搜索能力;采用有序串编码方法巧妙地解决了组合优化问题;采用结构式编码方法有效地处理了由树和图表示得问题。
进入21世纪,随着各跨学科领域知识及遗传算法的广泛应用,遗传算法编码出现了跨学科集成与应用的趋势。目前备受国内学者关注的有两种,一种是DNA 和RNA 编码,另一种是量子编码,对于这两种集成算法,下文将会详细介绍。另外,最近Jaehun Lee[11]等针对贝叶斯学习网络创造性地提出了染色体矩阵编码方法。通过将染色体编码为两个三角阵从而将遗传算法与贝叶斯网络恰当结合, 实现了两种算法的集成和应用。这也预示着编码的研究不在局限于编码方式和编码符号的研究,而是发展到了研究编码的组织形式(位串或矩阵等)与实际问题或传统解决方法巧妙结合。
适应度函数 通过它由目标函数值计算个体适应值,是选择父辈个体操作的依据,影响着遗传群体的走向,好的适应度函数可以有效避免欺骗问题的发生。所谓欺骗问题在数学上的表现为:
设n 个个体的适应度函数值12n F F F ≤≤⋅⋅⋅≤,记
1i i i F F +-=∆ ()1,2,,1i n =⋅⋅⋅-
若()max{1,2,,2}i i n ∆=∆∣=⋅⋅⋅-,且1(2)(12n n n ---∆∆≥),则111n n i n i F F F n -=≤≤∑
若()max{1,2,,2}i i n ∆=∆∣=⋅⋅⋅-,且1(2)(12n n --∆∆≥),则12
11n
i i F F F n =≤≤∑
用上述两种分布情况下的适应度函数值指导选择操作将会极大损失种群多样性,所以适应度函数的设计是遗传算法设计的关键环节之
一。然纵观遗传算法相关文献,人们往往忽略了它的重要性。目前常用的适应度函数及其尺度变换,文献【】,有详细介绍。
目前设计的适应度函数,最大不足是没有充分利用目标函数趋势和种群多样性信息的自适应性。为有效避免欺骗问题,文献【】,给出了一种满足标准要求的适应度函数。文献【】,给出了一种基于模糊推理的计算多目标评价的适应度函数,成功完成了细菌染色体组的分割。
选择 用来实现对父辈个体的选择,是遗传算法“适者生存”思想的集中体现。选择有两个阶段:
一是个体选择概率的计算,最基本常用法的有两种:①按比例的适应度分配,概率大的个体易被多次选择,有损种群多样性,使得下次搜索带迅速变窄,容易造成过早收敛;②基于排序的适应度分配,引入种群均匀尺度,提供了控制选择压力的简单有效方法。最近,文献【】给出了一种用三角函数计算选择概率的新思想,该法将个体适应度值线性映射到0,2π⎡⎤⎢⎥⎣⎦
,并通过计算sin,cos,tan 或ctan 的三角函数值,完成得到个体选择概率,该法继承了三角函数的优良特性(单调,易控等);文献【】,基于特征选择原理设计了一种可以以每代种群中适应度最大个体的关键特征(表现型)为进化方向地自适应调整每代个体选择概率的新计算方法。