差分进化算法的参数影响研究

差分进化算法性能优越、容易理解、易于实现,一经提出就倍受关注并得到了广泛的应用,但是DE算法本身仍有很多值得研究的地方,例如:参数的设置问题。差分进化算法的性能很大程度上和参数的选取有关。然而对DE算法参数分析的专门性文章却很少,本文对影响算法性能的三个主要参数展开了一些研究分析,并给出了一些合理的选取规则。

群体规模的选择

从计算复杂度分析,种群规模越大,搜索到全局最优解的可能性就越大,然而所需的计算量和计算时间也要增加。而且最优解的质量并非随种群规模的增大一味的变好,有时种群规模的增大,反而会使最优解的精度降低,因此,合理选取种群规模对算法的搜索效率的提高具有重要意义。

当种群规模nPop增大到一定个数时,解的精度不再提高,甚至会出现降低的情况。这是因为较大的种群规模能保持种群的多样性,但会降低收敛速度,多样性和收敛速度必须保持一定的平衡。因此,当种群规模太大时,如果不增加最大进化代数,精度反而会降低。另外,种群规模越大,多样性就越大,所以如果种群过早收敛,就要增加种群规模以增加多样性。

在给定最大进化代数情况下,对低维简单问题,种群规模在[15,35]之间较好;对高维复杂问题,种群规模在[30,50]之间时,优化结果较好。总之,在给定最大进化代数下,种群规模在[15,50]之间时,能很好的保持多样性和收敛速度的平衡。

缩放因子F对优化效果的影响

缩放因子F取值[0.5,1]之间时,算法得到的结果较好;当F<0.5或F>1时,算法求得的解的质量不高。

缩放因子F是用于控制差分向量对变异个体V的影响的。当F较大时,差分向量对V的影响较大,能产生较大的扰动,从而有利于保持种群的多样性;反之,F较小时,扰动较小,缩放因子能起到局部精细化搜索的作用。因此,F对种群的多样性起到了一定的调节作用。缩放因子F取值太大,虽然能保持种群多样性,但算法近似随机搜索,搜索效率低下,求得的全局最优解精度低;反之,F太小,种群多样性丧失的很快,算法易于陷人局部最优出现早熟收敛。

由于DE算法是一种“贪婪”选择算法,所以,随着种群的不断进化,各个个体逐渐靠近最优个体,个体间的差异也会逐渐减小。这就意味着,当算法进化到一定程度时,种群多样性就会丧失。种群多样性对算法的全局搜索能力有一定影响。种群多样性大,增加了从局部最优逃脱的可能性,有利于全局搜索,但会降低收敛速度;种群多样性小,有利于局部搜索,收敛速度快,但是,易于陷入局部最优,出现所谓的早熟现象。

综上,F对算法的局部搜索和全局搜索起到了一定的调节作用。F较大,有利于保持种群多样性和全局搜索;F较小,有利于局部搜索和提高收敛速度。

交叉因子CR对优化效果的影响

CR的值较小时,所需的函数评价次数较大,收敛速度较慢,但成功率较高,算法的稳定性好;CR的值较大时,常常会加速收敛,但易于陷入局部最优,发生早熟现象,达到给定精度的成功率低,稳定性差。可见,成功率和收敛速度是一对矛盾。因此,为了同时保证较高的成功率和较快的收敛速度,对于单峰函数,CR取值相对较大些在[0.6,0.8]之间;对其它复杂、多峰函数CR取值应相对小些在[0.1,0.5]之间。

新子代个体U是由变异个体V和父代个体X分量间相互交叉而产生的。CR的值越大,则V对配U的贡献越多,有利于开拓新空间,从而加速收敛,但在后期变异个体趋于同一。不利于保持多样性,从而易于早熟,稳定性差;CR的值越小,则置X对U的贡献越多,这样就减弱了算法开拓新空间的能力,收敛速度相对较慢,但有利于保持种群多样性,从而能有较高的成功率。



4 Responses to “差分进化算法的参数影响研究”

  1. 之由  on 五月 22nd, 2012

    啊。。不好意思,我说错了,我本想说的是个体中因子的数目。

    我这样说的原因是,“种群规模的选择”的最后一段(第3段)。里面关于种群规模的取值范围,对于数学问题,即便是复杂的多模态函数确实适用。但是涉及到具有复杂约束条件的梯级水火电系统短期优化问题的话,我又把[4,100]的NP带到我写的程序里试了下(进化代数设置的2000),很难给出可行解,当NP>120以后,就可以给出可行解了,而NP设置到400左右的时候,可以给出非常好的解了。

    额,计算水火电优化的DE,我作了改进,不然连给出可行解都很困难。。

    不过你提的这个范围在求解不具有很复杂约束的数学问题(即便本身的数学描述很复杂)时,确实快速有效。也让我走出了一个误区。

    再补充下,我描述的问题中个体中因子数为144。

    • 水文工具集  on 五月 23rd, 2012

      也有人提出的群体规模为[3*nDim,5*nDim],像这种复杂约束问题可以监控一下群体多样性,还要考虑一下是否可以调整参数F与CR,可以使用收敛慢一些多样性保持性好一些的参数。
      出结果就好,呵

  2. 之由  on 五月 19th, 2012

    关于种群规模,话说种群规模的大小的选取,与种群中的个体数目有很大关系吧。。

    • 水文工具集  on 五月 20th, 2012

      种群规模的大小指的就是个体数目。


发表评论

You must be logged in to post a comment.