安海,阎朝一,孙鹏,尹瑰巧
哈尔滨工程大学 航天与建筑工程学院,哈尔滨 150001
遗传算法(Genetic Algorithm,GA)是由Holland[1]创立的一种模仿生物自然进化的优化算法。能够根据种群中个体适应度大小作为评判标准,利用类似于遗传学中的遗传算子对个体进行选择、交叉和变异,优胜劣汰从而逐代产生适应度更高的种群,在达到标准的末代种群中选择最优个体通过解码,即得到所求解问题的近似最优解。
标准遗传算法(Standard Genetic Algorithm,SGA)存在着诸如全局搜索能力差、收敛速度慢、对于不同问题要单独设置固定的交叉和变异概率以及难以解决复杂的优化问题等缺点。针对上述问题,人们已经提出许多改进方法。Moon和Linninger[2]应用了小生境技术来定位多模态优化问题中的所有解。Paszkowicz[3]将动态罚函数应用在遗传算法中。Hwang和He[4]将遗传算法与模拟退火相结合,使得全局搜索能力显着提高。
除了这些方法之外,Srinivas和Patnaik[5]提出的交叉率和变异率能进行线性的自适应调整的自适应遗传算法(Adaptive Genetic Algorithm,AGA),被大量文献证明能够提升遗传算法的性能。然而,AGA也存在着诸如稳定性差和容易陷入局部最优解等问题。
针对以上问题,国内外许多学者从不同角度对其进行了改进,王小平[6]和任子武[7]等针对交叉和变异算子对其进行了线性型改进,使群体中最大适应度的个体交叉率和变异率不为零,使优良个体不处于停滞状态,从而使算法跳出局部最优解。石山等[8]结合余弦函数对交叉和变异算子进行了非线性调整,对接近最优值的个体采用较大的交叉、变异率,提高了搜索速度,对接近最优值的个体采用较小的交叉、变异率,保证不收敛于局部最优解。……