遗传算法营养决策的优化问题研究+源程序(3)
时间:2018-05-06 09:48 来源:毕业论文 作者:毕业论文 点击:次
从图可以看出,遗传算法的运行过程为一个典型的迭代过程,其基本步骤如下: 1.编码 使用二进制来完成个体编码 遗传算法是通过某种编码方法把对象抽象为一组特定符号排列而成的集合。。简单遗传算法使用二进制进行编码。 2.初始化种群 简单遗传算法采用随机方法生成N个个体的集合,该集合称为初始种群。初始种群中个体的数量称为种群规模。 3适应度函数 适应度函数用来评价遗传算法中个体的优劣,适应度函数值越大,解的质量越优秀。适应度函数是遗传算法进化过程选择的唯一评价标准,,它的选择应该视需要求解的问题的具体情况而定。 4选择遗传算子 遗传算法首选是使用选择对个体进行保留和淘汰的 操作。 适应度值比较高的个体,被保留并遗传到下一代种群中的概率大;适应度值较低的个体,更有可能被淘汰。 选择就是从上一代群体中尽量择优选取一些个体,然后保留到子代种群中。 ,. 5交叉: 交叉操作是对任意两个个体进行的(在这里我们实现的算法是直接对相邻的两个个体进行的)。随机选择两个个体, 然后随机生成一个实数0<=r<=1, 如果r<cross_rate, 0<cross_rate<1为交叉概率,则对这两个个体进行交叉,否则则不进行。如果需要进行交叉,再随机选择交叉位置(rand*chromo_size),如果等于0或者1,将不进行交叉。否则将交叉位置以后的二进制串进行对换(包括交叉位置)。(注意:有时候还可以进行多点交叉,但是这里只讨论单点交叉的情况) (责任编辑:qin) |