- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于遗传算法早熟收敛研究和防止
摘要:遗传算法是一种搜索最优解的仿生算法,
是模拟生物进化过程的计算模型,在自动控制、生产调度、 图像处理等众多领域有着广泛的应用,但遗传算法中的早熟 收敛是一个不可忽视的现象,导致不能搜索到全局最优解。
本文对遗传算法作了深入的研究,分析导致早熟收敛的原 因,提出防止早熟收敛的各种措施。
关键词:遗传算法;早熟收敛;分析与防止
中图分类号:TP301. 6文献标识码:A 1引言
遗传算法[1] ( Genetic Algorithm, GA )是由美国 J. Holland教授和他的学生于1975建立起来的,主要思想是 模拟生物进化中“适者生存的规律。在解决多参数和非线 性问题中,传统的优化方法不但效率低,而且有可能得不到 结果。遗传算法具有极强鲁棒性和很高的搜索能力,为解决 这类问题提供了一种有效的信息途径,其强大的搜索能力和 突出的优点,受到人们越来越多的重视。但遗传算法也有自 己的不足之处,其中之一就是早熟收敛(也称未成熟收敛) 问题,也是目前最难处理的关键问题。早熟收敛使算法进入 局部最优解,而遗传算法的一些优良性能将无法完全体现。 本文深入分析产生早熟现象的原因,并提出防止早熟收敛的 一些措施。
2遗传算法实现原理
遗传算法模拟生物进化的过程,设计合理的编码方法将 各类实际问题转换为染色体形式的表示方式,并利用复制、 交叉、变异等遗传算子的操作,经过对逐代解的优胜劣汰, 最终搜索到问题的全局最优的解决方案[2, 3]o
遗传算法步骤中的两个关键问题是编码方法和遗传算 子的设计。它把需要解决问题的参数编成某种数制的编码, 如二进制或十进制编码,这种编码我们把它称它称为基因, 若干基因组合就成为一个染色体,每一个染色体对应问题的 一个解决方案,据此可执行相应的复制、交叉和变异算子的 操作⑷。
(1)复制算子
复制算子任务是按某种方法从父代群体中选取一些个 体,遗传到下一代群体。复制算子按某一概率在群体中成对 选择个体,个体选择的概率与其适应度值成正比,适应度值 高的个体,被遗传到下一代群体中的概率就大。其在选择算 子的操作过程中,首先根据特定的适应值函数计算方法得到 群体中所有个体的适应值,依一定概率选择需复制的个体, 然后按指定的选择方法确定优良个体。个体复制的分配方法 包括按比例的适应度分配、基于排序的适应度分配等方法。
(2)交叉算子
所谓交叉算子就是将两个相互交配的染色体以某种方 式(点式交叉、基于位置交叉)相互交换部分基因,产生两 个新的个体。交叉算子可以防止某些遗传信息不会被丢失, 其交叉过程就是产生新个体的过程。交叉运算在遗传算法中 新个体的产生起着关键的作用,是区别于其他进化运算的重 要特征。
(3)变异算子
变异是指在群体中随机选择一个个体,以较小的概率改 变某部分基因,用新的基因替换原有基因,改变原个体的编 码结构,实现群体的多样性。
利用复制算子将一些适应度值高的优良的个体遗传到 下一代群体中,体现出自然界优胜劣汰的规律;利用交叉算 子进行模式重组,不但继承了父代个体的优良基因,而且在 一定程度上能够维持群体的多样性;利用变异算子进行模式 突变,能够进一步保证群体的多样性。群体中的个体经过复 制、交叉、变异一系列操作,逐步向较好的方向进化,最终 得到问题的最优解。
3遗传算法的求解步骤
遗传算法求解步骤如下:
(1) 一组第0代的初始的候选解群体的生成。
(2) 使用复制算子操作生成复制后代。
(3) 根据交叉概率,将交叉算子作用于候选解群体, 个体随机两两配对,生成新的候选解。
(4) 根据变异概率,对步骤(3)中生成的候选解群进 行变异操作,形成新一代的候选解群体。
(5) 计算群体中各个候选解的适应值,如果候选解不 满足算法终止条件,返回步骤(2)否则结束算法。
遗传算法的操作流程图如图1所示。
4遗传算法的早熟问题
1早熟现象
早熟”是指遗传算法早期,在种群中出现了超级个 体,该个体的适应值将会大大超过当前种群的平均个体适应 值Zfi/N,从而使得该个体很快在种群中占有绝对的比例, 使算法较早收敛于局部最优点的现象[5]。早熟收敛问题表 现为会使接近最优解的个体总是被淘汰和群体中所有个体 都陷入同一极值而停止进化。群体中个体结构的多样性急剧 减少是遗传算法中的较为突出的问题之一,在找到最优解或 满意解之前,遗传算法希望群体中个体结构保持多样性,搜 索不断进行。早熟收敛与局部极小值问题有很大的不同,早 熟收敛并不一定在局部极小点出现,而且早熟是难预见是否 会出现,它是随机性产生的。
4.2早熟产生的主要原因
早熟产生的主要原因主要有以下几点:
(1)遗传算法在进化过程中,会产生一些超常的个体, 这些个体由于竞争力非常强,常常控制着选择运算过程,结 果只得到算
文档评论(0)