



差分进化算法的主要参数包括种群数量、变异因子、交叉概率、最大进化代数等,这些参数取值也有一些经验可供参考。
1.种群数量NP
一般情况下,种群规模NP越大,个体数量越多,种群多样性也就越好,算法的寻优能力越强,但计算量会增大,搜索时间变长,故NP不能取值过大。根据经验,对于 N 维变量优化问题,种群数量NP可在(5~10) N 之间取值,且必须满足NP≥4,以确保差分进化算法具有足够多不同的父辈个体。
2.变异因子 F
变异因子 F 是一个实数,通常取 F ∈[0,2]。如果变异因子取值过小,可能造成算法“早熟”,随着 F 值的增大,防止算法陷入局部最优的能力增强,但当 F >1时,差分向量的扰动增强,算法的收敛性会变差。根据经验,1> F >0.5通常是一个较好的初始选择, F <0.4和 F >1仅偶尔有效。若算法过早收敛,那么 F 和NP的取值应适当增大。
3.交叉概率 P c
交叉概率 P c 是一个范围在[0,1]的实数,控制着一个试验向量中的分量来自合成向量和目标向量的随机选择概率。交叉概率 P c 越大,试验向量中的分量来自合成向量的概率越高。交叉概率一个较好的选择是 P c =0.1,较大的 P c 通常能够加速算法的收敛。
4.最大进化代数 G
最大进化代数 G 常用来作为差分进化算法运行的结束条件,当算法运行到指定的进化代数后就会自动停止,并将最优个体及其目标函数值作为所求问题的最优解输出。如果最大进化代数太小,得到的优化结果往往不理想;最大进化代数取值越大,算法运行时间越长,越容易获得满意的最优解。最大进化代数一般取 G =100~500。
上述算法参数中, F 、 P c 与NP类似,在搜索过程中一般是常数,其中, F 和 P c 影响搜索过程的收敛速度和求解结果的稳健性,可通过对不同参数组合值进行对比试验之后,利用试验结果找到算法参数的合适值。