单目标遗传算法 精英保留策略
引自:http://www.cnhup.com/index.php/archives/elitist-preservation-in-genetic-algorithm/
遗传算法(Genetic Algorithm)中的基因,并不一定真实地反映了待求解问题的本质,因此各个基因之间未必就相互独立,如果只是简单地进行杂交,很可能把较好的组合给破坏了,这样就没有达到累积较好基因的目的,反而把原本很好的基因给破坏了。精英保留策略可以避免最优个体不会因为杂交操作而被破坏。
“精英保留”(maintain the best solution found over time before selection)策略是De Jong针对遗传算法提出来的。对遗传算法来说,能否收敛到全局最优解是其首要问题。
Rudolph已经采用有限马尔可夫链理论证明了仅采用交叉、变异和选择(比例选择法)三个遗传算子的标准遗传算法(Canonical Genetic Algorithm CGA),不能收敛到全局最优值。
CGA不能全局收敛的原因主要有两个:
(1) 采用比例选择法,由于存在统计误差,依据产生的随机数进行选择,有可能会出现不正确地反映个体适应度的选择,可能导致适应度高的个体也被淘汰掉;
(2) 交叉、变异算子可能会破坏掉个体中所隐含的高阶(high-order)、长距(length)、高平均适应度模式(schema),可能导致当前群体中的最优个体在下一代群体中发生丢失,而且这种最优个体丢失现象会周而复始的出现在进化过程中。
为了防止当前群体的最优个体在下一代发生丢失,导致遗传算法不能收敛到全局最优解,De Jong在其博士论文中提出了“精英选择(elitist selection or elitism)”策略,也称为“精英保留”(elitist preservation)策略。该策略的思想是,把群体在进化过程中迄今出现的最好个体(称为精英个体elitist)不进行配对交叉而直接复制到下一代中。 这种选择操作又称为复制(copy)。
De Jong对精英选择方法作了如下定义:
设到第t代时,群体中 a(t)为最优个体。又设A(t+1)为新一代群体,若A(t+1)中不存在比a(t)优的个体 ,则把a(t)加入到A(t+1)中作为A(t+1)的第n+1个个体,这里n为群体的大小。
为了保持群体的规模不变,如果精英个体被加入到新一代群体中,则可以将新一代群体中适应度值最小的个体淘汰掉。
(注解:一种做法,将精英个体放入到种群中,即种群规模为 N+1。 一种做法,保持种群规模,即将精英个体替换掉种群做的最差个体。)
精英个体是种群进化到当前为止遗传算法搜索到的适应度值最高的个体,它具有最好的基因结构和优良特性。采用精英保留的优点是,遗传算法在进化过程中,迄今出现的最优个体不会被选择、交叉和变异操作所丢失和破坏。精英保留策略对改进标准遗传算法的全局收敛能力产生了重大作用,Rudolph已经从理论上证明了 具有精英保留的标准遗传算法是全局收敛的。
当然精英保留策略同样可以应用于别的智能算法中。
替换最劣个体的方式如下:(不替换最差个体,直接加入种群的方法不具体介绍了)
与精英保留策略相近的一个概念 就是 精英选择,其中不同的地方是 需要判断 当前最优个体 是否优于 历史最优个体, 在不优于历史最优个体的情况下才进行替换。
精英选择是遗传算法中的一种选择算子, 采用轮盘赌的为简单遗传算法,采用精英选择的为 精英遗传算法,e-GA 。
posted on 2017-02-26 20:39 Angry_Panda 阅读(21403) 评论(4) 编辑 收藏 举报