基于遗传算法的早熟收敛分析与防止
龙源期刊网 http://www.qikan.com.cn
基于遗传算法的早熟收敛分析与防止
作者:聂军
来源:《软件工程师》2013年第11期
摘 要:遗传算法是一种搜索最优解的仿生算法,是模拟生物进化过程的计算模型,在自动控制、生产调度、图像处理等众多领域有着广泛的应用,但遗传算法中的早熟收敛是一个不可忽视的现象,导致不能搜索到全局最优解。本文对遗传算法作了深入的研究,分析导致早熟收敛的原因,提出防止早熟收敛的各种措施。
关键词:遗传算法;早熟收敛;分析与防止
中图分类号:TP301.6 文献标识码:A
1 引言
遗传算法[1](Genetic Algorithm,GA)是由美国J.Holland教授和他的学生于1975建立起来的,主要思想是模拟生物进化中“适者生存”的规律。在解决多参数和非线性问题中,传统的优化方法不但效率低,而且有可能得不到结果。遗传算法具有极强鲁棒性和很高的搜索能力,为解决这类问题提供了一种有效的信息途径,其强大的搜索能力和突出的优点,受到人们越来越多的重视。但遗传算法也有自己的不足之处,其中之一就是早熟收敛(也称未成熟收敛)问题,也是目前最难处理的关键问题。早熟收敛使算法进入局部最优解,而遗传算法的一些优良性能将无法完全体现。本文深入分析产生早熟现象的原因,并提出防止早熟收敛的一些措施。 2 遗传算法实现原理
遗传算法模拟生物进化的过程,设计合理的编码方法将各类实际问题转换为染色体形式的表示方式,并利用复制、交叉、变异等遗传算子的操作,经过对逐代解的优胜劣汰,最终搜索到问题的全局最优的解决方案[2,3]。
遗传算法步骤中的两个关键问题是编码方法和遗传算子的设计。它把需要解决问题的参数编成某种数制的编码,如二进制或十进制编码,这种编码我们把它称它称为基因,若干基因组合就成为一个染色体,每一个染色体对应问题的一个解决方案,据此可执行相应的复制、交叉和变异算子的操作[4]。
(1)复制算子
复制算子任务是按某种方法从父代群体中选取一些个体,遗传到下一代群体。复制算子按某一概率在群体中成对选择个体,个体选择的概率与其适应度值成正比,适应度值高的个体,被遗传到下一代群体中的概率就大。其在选择算子的操作过程中,首先根据特定的适应值函数计算方法得到群体中所有个体的适应值,依一定概率选择需复制的个体,然后按指定的选择方