基本遗传算法 步1在搜索空间上定义一个适应度函数 f(x),给定种群规模N,交叉率P。和变异率Pn 代数T; 步2随机产生U中的N个个体s1,S2…,SN, 组成初始种群S={s1,S2,…,SN},置代数计数 器=1 步3计算S中每个个体的适应度f); 步4若终止条件满足,则取S中适应度最 大的个体作为所求结果,算法结束
基本遗传算法 步1 在搜索空间U上定义一个适应度函数 f(x),给定种群规模N,交叉率Pc和变异率Pm, 代数T; 步2 随机产生U中的N个个体s1 , s2 , …, sN, 组成初始种群S={s1 , s2 , …, sN},置代数计数 器t=1; 步3 计算S中每个个体的适应度f() ; 步4 若终止条件满足,则取S中适应度最 大的个体作为所求结果,算法结束
步5按选择概率P(x)所决定的选中机会 每次从S中随机选定1个个体并将其染色体复制 共做N次,然后将复制所得的N个染色体组成 群体S; 步6按交叉率P所决定的参加交叉的染色 体数c,从S1中随机确定c个染色体,配对进 交叉操作,并用产生的新染色体代替原染色体, 得群体S2;
步5 按选择概率P(xi)所决定的选中机会, 每次从S中随机选定1个个体并将其染色体复制, 共做N次,然后将复制所得的N个染色体组成 群体S1; 步6 按交叉率Pc所决定的参加交叉的染色 体数c,从S1中随机确定c个染色体,配对进行 交叉操作,并用产生的新染色体代替原染色体, 得群体S2;
步7按变异率Pn所决定的变异次数m,从S2 中随机确定m个染色体,分别进行变异操作,并 用产生的新染色体代替原染色体,得群体S3; 步8将群体S作为新一代种群,即用S3代替 S,t=t+1,转步3;
步7 按变异率Pm所决定的变异次数m,从S2 中随机确定m个染色体,分别进行变异操作,并 用产生的新染色体代替原染色体,得群体S3; 步8 将群体S3作为新一代种群,即用S3代替 S,t = t+1,转步3;
4.3遗传算法应用举例 例4.1利用遗传算法求解区间[0,31]上的 次函数y=x2的最大值。 Y 31X
4.3 遗传算法应用举例 例4.1 利用遗传算法求解区间[0,31]上的 二次函数y=x 2的最大值。 y=x 2 31 X Y
分析 原问题可转化为在区间[0,31]中搜索能 使y取最大值的点a的问题。那么,[0,31]中 的点x就是个体,函数值(x)恰好就可以作为x的 适应度,区间[0,31]就是一个(解)空间。这 样,只要能给出个体x的适当染色体编码,该问 题就可以用遗传算法来解决
分析 原问题可转化为在区间[0, 31]中搜索能 使y取最大值的点a的问题。那么,[0, 31] 中 的点x就是个体, 函数值f(x)恰好就可以作为x的 适应度,区间[0, 31]就是一个(解)空间 。这 样, 只要能给出个体x的适当染色体编码, 该问 题就可以用遗传算法来解决