遗传算法的基本操作
遗传算法包括三个基本操作:选择、交叉和变异。这些基本操作又有许多不同的方法,下面我们逐一进行介绍。
1.选择(selection)
选择是用来确定重组或交叉个体,以及被选个体将产生多少个子代个体。首先计算适应度:
① 比例的适应度计算(proportional fitness assignment)
② 于排序的适应度计算(rank-based fitness assignment
适应度计算之后是实际的选择,按照适应度进行父代个体的选择。可以挑选以下的算法:
① 轮盘赌选择(roulette wheel selection) ;
② 随机遍历抽样(stochastic universal sampling);
③ 局部选择(local selection);
④ 截断选择(truncation selection);
⑤ 标赛选择(tournament selection)
2.交叉或基因重组(crossover/recombination)
基因重组是结合来自父代交配种群中的信息产生新的个体。依据个体编码表示方法的不同,可以有以下的算法:
① 实值重组(real valued recombination )
·离散重组(discrete recombination)
·中间重组(intermediate recombination)
·线性重组} linear recombination )
·扩展线性重组(extended linear recombination)
② 二进制交叉(binary valued crossover)
·单点交又(single-point crossover )
·多点交叉(multiple-point crossover)
·均匀交叉(uniform crossover)
·洗牌交叉(shuffle crossover)
·缩小代理交叉(crossover with reduced surrogate)
3.变异(mutation)
交叉之后子代经历的变异,实际上是子代基因按小概率扰动产生的变化。依据个体编码。表示方法的不同,可以有以下的算法:
① 实值变异;
② 二进制变异