**改进的遗传算法综述**

改进的遗传算法综述
摘要
自从1975年Holland系统地提出基本遗传算法的完整结构和理论以来,众多学者一直致力于推动遗传算法的发展,在细粒度上,对编码方式,控制参数的确定,初始种群的生成方式,选择方式和交叉机理以及变异方式等进入深入的探究;在粗粒度上,提出层次遗传模型,引入了动态策略和自适应策略以改善遗传算法的性能,得到各种改进算法,也有学者将其他算法与遗传算法混合以弥补遗传算法的缺陷,如模拟退火算法与遗传算法结合,粒子群算法与遗传算法结合等,都有效地改进了基本遗传算法收敛速度慢,易陷入局部最优等缺陷。
本文对以往的研究工作中提出的遗传算法的改进基本思想做了简明的概要,以便于以后的学者了解并找到更加有效的方法优化遗传算法。

关键词: 遗传算法,改进的遗传算法,混合遗传算法

引 言

遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。借鉴生物进化论,遗传算法将要解决的问题模拟成一个生物进化的过程,通过复制、交叉、突变等操作产生下一代的解,并逐步淘汰掉适应度函数值低的解,增加适应度函数值高的解。进化N代后就很有可能会进化出适应度函数值很高的个体。
通常来讲,运用遗传算法解决实际问题具有能够求出优化问题的全局最优解,优化结果与初始条件无关,算法独立于求解域,鲁棒性强,适合于求解复杂的优化问题,但与此同时,该算法也面临收敛速度慢,局部搜索能力差,控制变量较多,无确定的终止准则,容易陷入局部最优的缺点。

1. 基本的遗传算法
一般认为,遗传算法有5个基本组成部分(这是由Michalewicz归纳的)
1)问题的解的遗传表示
2)创建解的初始种群的方法
3)根据个体适应值对其进行优劣判定的评价函数
4)用来改变复制过程中产生的子个体遗传组成的遗传算子
5)遗传算法的参数值
**改进的遗传算法综述**_第1张图片
基本的遗传算法的流程如图所示,其具有收敛速度慢,局部搜索能力差,控制变量多,无确定的终止准则等等问题。
何为收敛速度,即在概率意义下的收敛,收敛速度指在演化过程中出现最好的个体所经过的
代数。种群个体适应度相差不大,很难产生最优个体。故基本遗传算法收敛速度慢,并且,遗传算法执行过程中,最优个体往往被差的个体所包围,这也限制了算法的收敛速度。
陷入局部最优的主要原因是因为在搜索过程中若干代仍然找不到最优解说明当前适应度函数不适合寻优,但传统的遗传算法仍然以当前适应度函数作为遗传的标准,这样使得遗传下来的个体相似度极高进而产生遗传飘逸现象,即GA陷入局部最优。 针对这些问题,已有的研究做了如下所述的改进。
2. 改进基本遗传算法的遗传算子
针对基本遗传算法的缺陷,最直接的方式就是在遗传算法的结构上进行改进,主要的改进点有改进初始种群,改进选择算子,改进交叉算子,改进变异算子。
(1) 初始种群的改进
随机生成初始种群改进为以各种不同的局部最优的个体来构成初始种群在进行遗传(二重演化);采用拟随机Halton序列产生初始种群,使产生的种群中的个体具有低差异度,随机性降低,均匀性提高。
(2) 选择算子的改进
为确保适应度比平均适应度大的一些个体一定能保留到下一代,选择误差比较小,提出了无放回余数随机选择算子;最优选择和竞争选择的组合选择算,其基本思想为按概率随机选出一个集合,将个体按照适应度降序排序,依次选出适应度高的个体;或者将种群按照适应度降序排序,分为四等分,适应度中等的2/4等分拷贝直接作为下一代个体,适应度低的1/4等分删除,适应度高的1/4等分拷贝成两份作为下一代个体来改进选择算子。
(3) 变异算子的改进
自适应变异概率,其基本思想为劣势个体变异概率偏大,优秀个体的变异概率偏小;与进化代数相关的交叉概率,即随着进化过程的推进,概率逐渐减小,趋于某一个稳定值,避免对算法后期的稳定性造成冲击而导致算法不能收敛,或者收敛时间变长;或者变异个体的适应度值若比种群的平均适应度值大,则给定较小的变异概率,否则给予较小的变异概率。
(4) 交叉算子的改进
避免近亲繁殖的交叉策略,即在交叉操作后仅保留产生的新个体中适应度值大的那一个,以此束尽量避免下一代中出现近亲繁殖的概率;或者对交叉个体进行相似度评定,低于相似度阈值再给予交叉的机会,否则不执行交叉算子;也有加入聚类的交叉算子,即对种群聚类,按概率随机选出一个个体,确定其类编号,选出该类中的最优个体与之交叉,再选与其所属类最远的类中的随机个体与之交叉,从两种交叉得到的个体中选出最优的个体作为下一代的个体;还有小范围竞争择优的交叉变异操作,基本思想为对父代进行n次交叉变异操作,生成2n个不同的个体,选出其中适应度最高的个体进入子代种群,反复随机选择父代重复以上操作,直到生成设定的个数的子代种群的大小为止。
3. 引入层次遗传模式的遗传算法
针对基本遗传算法的缺陷,还有一个常见的改进方式为增加层次的遗传方式,主要的结构形式有: 同步主从式、半同步主从式、非同步分布式及网络式等。Go ldberg提出了基于对象设计遗传算法并行结构的思想.
双种群遗传算法是加入层次遗传模式改进的遗传算法之一,其基本思想为产生一种群,将其分为大小相同的两个子种群,两个子种群采用同样的选择策略,交叉算子和变异算子,分别进化一定代后,将两个子种群的最优个体进行交叉,得到的个体替换剩余个体中适应度较低的个体,得到的新种群再进行遗传算法的操作。
还有人提出,首先随机地产生样本,然后将它们分成若干个个子种群,对每个子种群独立地运行各自的遗传算法,在每个子种群的遗传算法运行到一定代数后, 将每个遗传算法的结果种群记录到二维数组,同时, 将每个结果种群的平均适应度值记录到数组。高层遗传算法与标准遗传算法的操作类似。算法进行到一定代数后, 将结果传回给层遗传算法。每个子种群再次各自运行到一定代数后, 再次更新数组, 并开始高层遗传算法的第二轮运行。依次往复, 直至得到满意的结果。
4. 引入动态规则或自适应策略的遗传算法
自适应遗传算法,其基本思想为通过对遗传参数的自适应调整,大大提高了遗传算法的收敛精度,加快了收敛速度。具体做法为当群体适应度比较集中时,使交叉概率和变异概率增大;当群体适应度比较分散时,使之减小,其中适应度集中程度由个体来衡量。有人做了改进为用群体的最大适应度,最小适应度,适应度平均值这个变量来衡量群体适应度的集中程度。
5. 基本遗传算法与其他仿生物算法结合
仿生优化算法是通过模拟自然生物进化或者社会行为的随机搜索方法而提出的一种算法,遗传算法也是一种仿生算法,不同的仿生优化算法有不同的优点,有不少研究也用其他仿生优化算法来优化遗传算法,达到取长补短的作用。
模拟退火遗传算法,即模拟退火算法与遗传算法结合,其基本思想为在优选交叉和变异个体的过程中加入一定的扰动以达到保持群体内位串的多样性和位串之间的竞争机制,将模拟退火和多种群并行遗传进化这两种思想有机地结合起来, 形成一种基于模拟退火机制的多种群并行遗传算法。
基于动态规则的并行混合遗传算法的PSO方法,即将种群中的个体同时作为GA和PSO的个体,用PSO更新粒子的速度和位置,同时执行选择交叉变异算子,评估PSO新粒子的质量,同时评估GA得到的新中群的个体,分别对两个算法的得到的种群个体按适应度函数值排序,分别计算平均适应度MQ,基于平均适应度确定下一次迭代过程中两个算法能在种群中获得的份额,好的0.6,差的0.4,基于份额从两个新中群结果中选最佳个体填充下一次迭代的初始种群,用方差评估初始种群的多样性,若多样性高于最低多样性阈值,进入下一次迭代,否则基于份额随机抽取父代种群中的独特个体填充初始种群再进入下一次迭代,每一次迭代后都比较当前种群和前几次的到的种群的个体,看种群质量是否改善,适度修改两个算法的相关参数。
6. 其他改进的遗传算法
结合非精确搜索条件的混合遗传算法(NHGA)是将经典优化问题中的非精确搜索确定步长的方法与遗传算法结合用于多峰值的复杂优化问题;结合黄金分割法的混合遗传算法(GHGA) ,即将黄金分割的局部搜索操作与遗传算法相结合,构造一种新的混合遗传算法,从而解决无约束的高维优化问题;结合筛选法的混合遗传算法(FHGA)解决带约束优化问题,基本思想为将经典优化问题中的筛选法与遗传算法结合用于解带有约束条件的复杂优化问题。
另外,还有一些其他策略改进基本遗传算法,如移民策略,即群体的标准均方差不满足阈值或者达到一定的迭代次数,按照进化情况确定移民数量,产生高质量的个体替换种群中的劣势个体。

结 语
近年来, 随着对于遗传算法研究的不断深入完善, 越来越多的人将遗传算法应用到越来越广泛的领域,本文简要描述了现有的研究针对基本遗传算法存在的缺陷的各种改进方式,每种改进方式都各有优点,都不同程度上避免了基本遗传算法的问题,但应用到实际问题中时,还需要具体问题具体分析,相信在未来的工作中,会出现更多模式的改进方式,能更加有效地解决早熟收敛及收敛速度慢的问题。

参 考 文 献:
[1]. 刘浩扬, 常炳国, 朱长纯, 等. 基于模拟退火机制的多种群并行遗传算法[ J] . 软件学报, 2000, 11( 3):416- 420.
[2]. 苏小红, 杨 博, 王亚东. 基于进化稳定策略的遗传算法[ J] . 软件学报, 2003, 14( 11): 1863-1868.
[3]. 刘智明, 周激流, 陈 莉, 等. 一种维持种群多样性的遗传算法变异算子的研究[ J]. 小型微型计算机系统, 2003, 24( 5) : 902- 904
[4]. 田小梅, 郑金华, 李合军. 基于父个体相似度的自适应遗传算法[ J]. 计算机工程与应用, 2005, 41 ( 18):61- 63.
[5]. 张晓伟 混合遗传算法(HGA)的研究[学位论文]2005
[6]. 章小龙 标准并行遗传算法改进研究[期刊论文]-福建电脑2007(9)
[7]. 周畅基于混合遗传算法的正交多相码波形优化设计[学位论文]硕士 2011
[8]. 谢燕丽,许青林,姜文超一种基于交叉和变异算子改进的遗传算法研究[期刊论文]-计算机技术与发展 2014(04)
[9]. 郑玉柱,李建,李珂.基于改进遗传算法的关联挖掘方法研究[J].重庆科技学院学报(自然科学版),2015,17(5):72—76.
[10]. 刘耀轩 林煦涵 孙海洋遗传算法的研究与改进. ELECTRONICS WORLD・探索与观察.2017
[11]. Shreya Mishra Dept. of Computer Sc. Engineering IIIT Bhubaneswar,.Biclustering of Gene Expression Microarray data using Dynamic deme Parallelized Genetic Algorithm (DdPGA).IEEE.2016

你可能感兴趣的:(论文写作)