改进的基于进化阶段的自适应遗传算法

基于进化阶段的自适应遗传算法将整个进化阶段划分为3个阶段,基于不同阶段的进化特点及要求,采取不同的自适应策略,包括选择算子、交叉算子、变异算子的自适应策略。

进化阶段的确定

进化阶段的划分理想的做法是能够寻找到具体的度量指标,根据这个指标来进行划分,但这是比较的,特别是在动态的进化过程中。而基于简单的线性变换的划分是一种简便方法,因此这里采取的便是这一方法。高最大进化代数为T,将整个进化进程划分为3个阶段。第一阶段[0,T1],T1=alpha*T;第二阶段[T1,T2],T2-(1-alpha)*T;第三阶段[T2],T。一般取alpha=0.382;亦可取alpha=0.258。

选择算子设计

选择方法为按适应值比例选择,这里适应值是转换以后的适应值,区别于传统的选择方式,由于采用了自适应策略的适应值变换,在进化初期,那些原本适应值较小的个体经过转换后有可能适应值变大,因此存活的概率上升;而那些原本适应值较大但对基因改良作用不大的个体经过转换后很可能适应值反而变小,因此存活的概率下降。这样做的目的就是要尽可能地加大搜索空问,减小掉入局部最优值陷阱的概率。

交叉算子设计

一般来说,较大的交叉概率容易破坏群体中已形成的优良模式,使搜索具有太大的随机性,而较小的交叉概率使发现新个体的速度太慢。基于进化阶段不同的特点,改进的混合自适应算法使用非一致的交叉概率,在进化前期使用较大的交叉概率,在后期使用较小的交叉概率。适应值高的个体采用较低的交叉概率,适应值低的个体采用稍高的交叉概率。具体到某次交叉操作时,取两个被选择的个体的最大适应值作为比较依据。

变异算子设计

如果说交叉算子是局部搜索算子,则变异算子可认为是全局搜索算子。它的作用是扩大搜索空间,使遗传算法能在全空间搜索。从保证收敛性角度,在遗传算法的运行初期应用较大的变异概率,而在运行后期应用较小的变异概率。从个体角度考虑,适应值高的个体应采用较小的变异概率,而适应值低的个体应采用较高的变异概率。



发表评论

You must be logged in to post a comment.