购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 遗传算法的运算流程

生物的进化过程主要是通过染色体之间的交叉、变异及优胜劣汰来完成的。与此对应,遗传算法中对最优解的搜索过程正是模仿生物的进化过程,通过反复迭代实现的。每次迭代都按照优胜劣汰的规则将适应度较高的个体更多地遗传到下一代,逐渐达到或接近问题的最优解。遗传算法的运算流程如图2-6所示,主要步骤如下。

(1)初始化算法参数:初始化染色体的种群数量、染色体的编码长度、交叉概率、变异概率和终止条件等算法参数。

图2-6 遗传算法的运算流程

(2)初始化种群的位置:采用合适的编码方式,在搜索范围内随机或根据先验知识给定种群的初始位置,利用目标函数构建用于个体评价的适应度函数,计算所有个体的适应度函数值。

(3)判断是否满足终止条件:若是,则结束搜索过程,转到步骤(10);若否,则继续进行下面的步骤。

(4)选择操作:利用个体的适应度函数值构建选择概率,按照一定的规则或方法从种群中选取部分个体作为父辈个体。

(5)交叉操作:把选中的父辈个体组对,依据交叉概率交换两个父辈染色体中的部分基因位,或进行启发式交叉等其他方式的交叉操作。

(6)变异操作:交叉操作后的种群个体,依据变异概率改变染色体中的某个或某些基因值,或进行随机替换、倒序等其他方式的变异操作。

(7)计算所有新个体的适应度函数值。

(8)更新种群的位置及其适应度函数值:依据优胜劣汰的原则,利用新种群个体对原种群个体进行更新,产生下一代种群。

(9)记录最优个体的位置及其适应度函数值。转到步骤(3)。

(10)输出优化结果。 dU2Y4oz/ANMIw47gsk3CLz6JDLSZv1Fi3EgJYf4lnpXEIBlXllg40uNczyhC63h4

点击中间区域
呼出菜单
上一章
目录
下一章
×