多地遗传到下一代,这样最终在群体中将会得到一个优良的个体X,它所对应的表现型X将达到或接近于问题的最优解X。生物的进化过程主要是通过染色体之间的交叉和染色体的变异来完成的。与此相对应,
f遗传算法中最优解的搜索过程也模仿生物的这个进化过程,使用所谓的遗传算子作用于群体Pt中,进行下述遗传操作,从而得到新一代群体Pt1。选择(selecti
):根据各个个体的适应度,按照一定的规则或方法,从第t代群体Pt中选择出一些优良的个体遗传到下一代群体Pt1中。交叉(crossover):将群体Pt内的各个个体随机搭配成对,对每一对个体,以某个概率(称为交叉概率,crossoverrate)交换它们之间的部分染色体。变异(mutatio
)对群体Pt中的每一个个体,:以某一概率(称为变异概率,mutatio
rate)改变某一个或某一些基因座上的基因值为其他的等位基因。3遗传算法的运算流程遗传算法的主要运算流程如下:步骤一:初始化。设置进化代数计数器t0;设置最大进化代数T;随机生成M个个体作为初始群体P0。步骤二:个体评价。计算群体Pt中各个个体的适应度。步骤三:选择运算。将选择算子作用于群体。步骤四:交叉运算。将交叉算子作用于群体。步骤五:变异运算。将变异算子作用于群体。群体Pt经过选择、交叉、变异运算之后得到下一代群体Pt1。步骤六:终止条件判断。若t≤T,则:tt1,转到步骤二;若tT,则以进化过程中所得到的具有最大适应度的个体作为最优解输出,终止计算。具体的流程示意图见图2所示。遗传空间群体Pt解空间
选择运算个体评价
交叉运算
变异运算
群体Pt1
解
码
解集合
图2遗传算法的运算过程示意4基本遗传算法基于对自然界中生物遗传与进化机理的模仿,针对不同的问题,很多学者设计了许多不同的编码方法来表示问题的可行解,开发了许多种不同的遗传算子来模仿不同环境下的生物
f遗传特性。这样,由不同的编码方法和不同的遗传算子就构成了各种不同的遗传算法。但这些遗传算法都有共同的特点,即通过对生物遗传和进化过程中选择、交叉、变异机理的模仿,来完成对问题最优解的自适应搜索过程。基于这个共同特点,Goldberg总结出了一种统一的最基本的遗传算法基本遗传算法(simplege
eticalgorithms,简称SGA)20。基本遗传算法只使用选择算子、交叉算子和变异算子这三种基本遗传算子,其遗传进化操作过程简单,容易理解,是其他一些遗传算法的雏形和基础,它不仅给各种遗传算法提供了一个基本框r