进化策略介绍

进化策略(Evolutionary Strategies,ES)是由德国的I.Rechenberg和H.P.Sehwefel于1963年提出的。ES作为一种求解参数优化问题的方法,模仿生物进化原理,假设不论基因发生何种变化,产生的结果(性状)总遵循零均值、某一方差的高斯分布(即正态分布:如何生成正态分布可以参阅VBA产生正态分布随机数NormalRand)。

早期ES的种群中只包含一个个体,而且只使用基于正态分布的变异操作。在每一进化代,变异后的个体与父体进行比较再选择两者之优,这种ES称为(1+1)-ES。(1+1)-ES存在诸如有时不能收敛到全局最优解、效率较低等缺陷。它的改进是增加种群内个体的数目,从而演变为(μ+λ)-ES及(μ,λ)-ES等。前者指μ个母体产生λ个后代,然后这μ+λ个个体参与竞争,并选择最优的λ个个体遗传到下一代,后者表示仅λ个后代遗传到下一代,μ个母体全部被替换。[注:一般来说,(μ+λ)-ES较好地继承了父代的优良特性,收敛性好,但稍易于陷入局部最优点;(μ,λ)-ES则易于跳出局部最优,但由于放弃了上一代的结果,所以收敛稍慢。]

进化策略的工作步骤
(1)确定问题的表达方式。
(2)随机生成初始群体,并计算其适应度。
(3)根据进化策略,通过重组、突变和选择等操作产生新群体:
① 重组,将2个父代个体交换目标变量和随机因子,产生新个体;
② 突变,对重组后的个体添加随机量,产生新个体;
③ 计算新个体适应度;
④ 选择,根据进化策略,挑选优良个体组成下一代群体。
(4)反复执行(3),直至选择到最佳个体作为ES的结果。

ES的主要特点

(1)与GA(遗传算法)的不同之处在于:GA要把原问题的解空间映射到位串空间中,然后再施行遗传操作,它强调个体基因结构的变化对其适应度的影响;而ES则是直接在解空间上进行操作,它强调进化过程中从父体到后代行为的自适应性和多样性。从搜索空间的角度来说,ES强调进化过程中搜索方向和步长的自适应调节。

(2)ES中各个个体的适应度直接取自它所对应的目标函数,选择运算是按照确定的方式来进行的,每次从群体中选取最好的几个个体,将它们保留到下一代的群体中。个体的突变运算是进行ES的主要搜索技术,而个体之间的交换运算只是作为辅助搜索技术。



发表评论

You must be logged in to post a comment.