2 算法描述
算法描述为:
(1)采用二进制编码,随机产生一个体,通过逐位高频精英变异,提高其适应度;
(2)利用上述较优父染色体产生产生种群;
(3)进行基于高频精英变异的锦标赛选择;
(4)进行改进的交叉运算;
(5)进行自适应变异运算;
(6)是否到最大的遗传代数,如果达到,结束;否则转到步骤(3)。
3 仿真试验及结果分析
3.1 试验
为验证改进算法的效率,用经典遗传算法SGA和文中的加速收敛改进遗传算法相比较,其中SGA采用的遗传操作及相应参数为比例选择、单点交叉(交叉概率0.85)及基本位变异(变异概率0.05),种群规模为100,进化代数为100。两者都采用保留个体精英的方法。选择如下3个算例进行仿真计算。
(1)Camel函数
此函数有6个极小点,其中有2个(一0.089 8,O.712 6)和(0.089 8,一O.712 6)为全局最小点,最小值为一1.031 628,自变量的取值范围为一100<x,y<100。
(2)Shubert函数
该函数有760个局部极小点,其中只有1个(一1.425 13,一O.800 32)为全局最小,最小值为186.730 9。自变量取值范围一10<x,y<10。此函数极易陷入局部极小值186.34。
(3)Schaffer函数
该函数有无限个局部极大点,其中只有一个(0,0)为全局最大,最大值为1。自变量的取值范围为一100<x,y<100。该函数最大值峰周围有一个圈脊,它们的取值均为O.990 283,因此很容易停滞在局部极大值。
改进后算法的种群规模为20,进化代数为60。对两种算法进行100次随机仿真,试验结果如表1所示。
3.2 结果分析
从以上结果可以看出,SGA容易早熟收敛,而改进后的算法能很好地摆脱早熟,并能以很高的成功概率快速搜索到最优值。从各参数也可以看出,改进后的遗传算法在种群规模很小的情况下也具有很高的寻优效率。因此,这里提出的改进算子GA从全局收敛概率和平均进化代数来看,是成功的,它具有高效的全局以及局部搜索能力。
4 结 语
通过对算法各算子的改进,较好地解决了一般遗传算法收敛速度慢和全局寻优能力弱的缺点。实践表明,改进GA和标准GA相比,在花费更少的情况下具有更快的收敛速度和精度。