http://www.paper.edu.cn
- 1 -
一种改进的遗传退火进化算法
宁宁
1
,郭夙昌
2
1
电子科技大学电子工程学院,成都 (610054)
2
电子科技大学机械电子工程学院,成都 (610054)
E-mail:NingNing@uestc.edu.cn
摘 要:本文对传统的遗传算法和模拟退火算法进行改进,同时把模拟退火算法引入了遗传
算法,结合两种算法的优点,提出了一种新的遗传退火进化算法。它不但实现了遗传算法的
全局搜索能力与模拟退火算法的局部搜索能力的结合,同时可使改进后的模拟退火算法能够
充分利用遗传算法所得的全局信息。经验证,改算法能使遗传算法避免产生早熟收敛,增强
了算法的全局收敛性,而且加快了算法的收敛速度。
关键词:遗传算法,模拟退火算法,优化
所有传统优化算法都是针对连续或可导的目标函数来说的,处理的问题也比较简单。而
实际问题的参数优选常常表现出高维、多峰值、非线性、不连续、非凸性及带噪声等复杂特
征。为了求解这些优化问题中的难解问题,现代优化算法孕育而生。现代优化算法主要包括
禁忌搜索(Tabu Search)、遗传算法(Genetic Algorithms)、模拟退火(Simulated Annealing)
和神经网络(Neural Networks)等。
遗传算法
[1][2]
具有良好的全局搜索能力
[3][4]
,可以快速地将解空间中的全体解搜索出,
而不会陷入局部最优解的快速下降陷阱;并且利用它的内在并行性,可以方便地进行分布式
计算,加快求解速度。但是遗传算法的局部搜索能力较差
[5]
,导致单纯的遗传算法比较费时,
在进化后期搜索效率较低。在实际应用中,遗传算法容易产生早熟收敛的问题。采用何种选
择方法既要使优良个体得以保留,又要维持群体的多样性,一直是遗传算法中较难解决的问
题。
模拟退火算法
[6][7]
虽具有摆脱局部最优解的能力,能够以随机搜索技术从概率的意义上
找出目标函数的全局最小点。但是,由于模拟退火算法对整个搜索空间的状况了解不多,不
便于使搜索过程进入最有希望的搜索区域,使得模拟退火算法的运算效率不高。模拟退火算
法对参数(如初始温度)的依赖性较强,且进化速度慢。
已有一些将模拟退火算法与遗传算法相结合的方法。如文献[8]中,通过模拟退火方法
来控制变异概率的选取( exp( / )
mm
PT
θ
=− ),文献错误!未找到引用源。中,通过模拟退
火方法来控制交叉后子个体替代父个体的概率,但是这两种办法均不能很好的利用退火算法
的局部搜索能力。文献[10][11]中,利用遗传算法来改变模拟退火的性能,首先通过 GA 来
进化一群解,然后通过 SA 进一步调整优化解,然而对整个种群进行退火,没有很好的利用
GA 得到的全局信息。而国内的遗传退火进化算法
[12][13][14]
,多是使用文献[15]中的方法。先
取一些初始点构成种群,对每个个体进行退火。由退火接受的新解构成新的种群,再进行选
择,交叉,变异。而退火算法是局部搜索算法,所得个体有可能是局部极小值,再从中进行
选择,很容易陷入局部极小值。
本文提出的遗传退火进化算法(Genetic Annealing Evolutionary Algorithm,GAEA)不 同
于上述方法。首先,它对 Matlab 中的遗传算法进行改进,使产生的种群更加合理。然后,
将常规的模拟退火算法进行改进,根据遗传算法所得的全局信息,对其中的新解产生器和冷
却进度表进行优化。最后,将模拟退火算法作为一个独立的算子,嵌入到遗传算法中,其过