第4章基于遗传算法的随机优化搜索试卷.ppt

第三代种群S3中各染色体的情况 染色体 适应度 选择概率 积累概率 估计的 选中次数 s1=11100 784 0.44 0.44 2 s2=01001 81 0.04 0.48 0 s3=11000 576 0.32 0.80 1 s4=10011 361 0.20 1.00 1 * 设这一轮的选择-复制结果为: s1’=11100(28), s2’=11100(28) s3’=11000(24), s4’=10011(19) 做交叉运算,让s1’与s4’,s2’与s3’ 分别交换后两位基因,得 s1’’=11111(31), s2’’=11100(28) s3’’=11000(24), s4’’=10000(16) 这一轮仍然不会发生变异。 * 于是,得第四代种群S4: s1=11111(31), s2=11100(28) s3=11000(24), s4=10000(16) *   显然,在这一代种群中已经出现了适应度最高的染色体s1=11111。于是,遗传操作终止,将染色体“11111”作为最终结果输出。   然后,将染色体“11111”解码为表现型,即得所求的最优解:31。 将31代入函数y=x2中,即得原问题的解,即函数y=x2的最大值为961。 * Y Y y=x2 8 13 19 24 X 第一代种群及其适应度 y=x2 12 16 25 27 X Y 第二代种群及其适应度 y=x2 9 19 24 28 X Y 第三代种群及其适应度 y=x2 16 24 28 31 X 第四代种群及其适应度 *  例 4.2 用遗传算法求解TSP。   分析 由于其任一可能解—— 一个合法的城市序列,即n个城市的一个排列,都可以事先构造出来。于是,我们就可以直接在解空间(所有合法的城市序列)中搜索最佳解。这正适合用遗传算法求解。 *   (1)定义适应度函数 我们将一个合法的城市序列s=(c1, c2, …, cn, cn+1)(cn+1就是c1)作为一个个体。这个序列中相邻两城之间的距离之和的倒数就可作为相应个体s的适应度,从而适应度函数就是 *  (2)对个体s=(c1, c2, …, cn, cn+1)进行编码。但对于这样的个体如何编码却不是一件直截了当的事情。因为如果编码不当,就会在实施交叉或变异操作时出现非法城市序列即无效解。 例如,对于5个城市的TSP,我们用符号A、B、C、D、E代表相应的城市,用这5个符号的序列表示可能解即染色体。 * 然后进行遗传操作。设 s1=(A, C, B, E, D, A),s2=(A, E, D, C, B, A) 实施常规的交叉或变异操作,如交换后三位,得 s1’=(A,C,B,C,B,A), s2’=(A,E,D,E,D,A) 或者将染色体s1第二位的C变为E,得 s1’’=(A, E, B, E, D, A) 可以看出,上面得到的s1’, s2’和s1’’都是非法的城市序列。 * 为此,对TSP必须设计合适的染色体和相应的遗传运算。 事实上,人们针对TSP提出了许多编码方法和相应的特殊化了的交叉、变异操作,如顺序编码或整数编码、随机键编码、部分映射交叉、顺序交叉、循环交叉、位置交叉、反转变异、移位变异、互换变异等等。从而巧妙地用遗传算法解决了TSP。 * 4.4 遗传算法的特点与优势   ◆遗传算法的主要特点    ——遗传算法一般是直接在解空间搜索, 而不像图搜索那样一般是在问题空间搜索, 最后才找到解。   ——遗传算法的搜索随机地始于搜索空间的一个点集, 而不像图搜索那样固定地始于搜索空间的初始节点或终止节点, 所以遗传算法是一种随机搜索算法。 * ——遗传算法总是在寻找优解, 而不像图搜索那样并非总是要求优解, 而一般是设法尽快找到解, 所以遗传算法又是一种优化搜索算法。 ——遗传算法的搜索过程是从空间的一个点集(种群)到另一个点集(种群)的搜索

文档评论(0)

1亿VIP精品文档

相关文档