正在加载图片...
采用十进制编码,用随机数列O1O2…O1a2作为染色体,其中0<O1<1 (i=2,3…101),O1=0,O12=1;每一个随机序列都和种群中的一个个体相对 应,例如一个9城市问题的一个染色体为 [0.23,0.82,0.45,0.74,0.87,0.11,0.56,0.69,0.78] 其中编码位置i代表城市i,位置i的随机数表示城市i在巡回中的顺序,我们将这些随 机数按升序排列得到如下巡回 (2)初始种群 本文中我们先利用经典的近似算法一改良圈算法求得一个较好的初始种群。即对于 初始圈C=x…xnn…-,x…m, 2≤t<v≤101 2≤丌,<丌,≤101,交换l与ν之间的顺序,此时的新路径为 n1∵丌u-1n,y-1…丌+17ay+1…丌102 记=(dx-,+dx.x,)-(d-x.+dx,x),若4<0,则以新的路经修改旧的路 经,直到不能修改为止 (3)目标函数 目标函数为侦察所有目标的路径长度,适应度函数就取为目标函数。我们要求 minf(x1,x2,…,zn)=∑x (4)交叉操作 我们的交叉操作采用单点交叉。设计如下,对于选定的两个父代个体 f1=12…Ol,f2=ω2…,lm2,我们随机地选取第t个基因处为交叉点,则 经过交叉运算后得到的子代编码为S和S2,S1的基因由f的前t个基因和f2的后 02-1个基因构成,S2的基因由/2的前t个基因和f的后102-1个基因构成,例如 f1=[0,0.14,0.25,027,0.29,0.54,…0.19,1 f/2=[0,0.23,0.44,0.56,0.74,021,…0.24,1 设交叉点为第四个基因处,则 s1=[0,0.14,0.25,0.27,0.74,0.21,…0.24,1 s2=[0,0.23,0440.56,029,0.54,…0.19,1 交叉操作的方式有很多种选择,我们应该尽可能选取好的交叉方式,保证子代能继 承父代的优良特性。同时这里的交叉操作也蕴含了变异操作。 (5)变异操作 变异也是实现群体多样性的一种手段,同时也是全局寻优的保证。具体设计如下, 按照给定的变异率,对选定变异的个体,随机地取三个整数,满足1<u<v<w<102, 把u,v之间(包括和)的基因段插到w后面 (6)选择 采用确定性的选择策略,也就是说选择目标函数值最小的M个个体进化到下一代,这 样可以保证父代的优良特性被保存下来 2、3模型求解及结论 编写 MATLAB程序如下 -278--278- 采用十进制编码,用随机数列 ω1 ω2Kω102 作为染色体,其中 0 < ωi < 1 (i = 2,3,L,101), 0 ω1 = ,ω102 = 1;每一个随机序列都和种群中的一个个体相对 应,例如一个 9 城市问题的一个染色体为 [0.23,0.82,0.45,0.74,0.87,0.11,0.56,0.69,0.78] 其中编码位置i 代表城市i ,位置i 的随机数表示城市i 在巡回中的顺序,我们将这些随 机数按升序排列得到如下巡回: 6-1-3-7-8-4-9-2-5 (2) 初始种群 本文中我们先利用经典的近似算法—改良圈算法求得一个较好的初始种群。即对于 初始圈 C = π 1Lπ u−1π uπ u+1Lπ v−1 π vπ v+1Lπ 102 , 2 ≤ u < v ≤ 101 , 2 ≤ π u < π v ≤ 101,交换u 与v 之间的顺序,此时的新路径为: π 1Lπ u−1π vπ v−1Lπ u+1 π uπ v+1Lπ 102 记 ( ) ( ) −1 +1 −1 +1 Δ = + − + u v u v u u v v f dπ π dπ π dπ π dπ π ,若 Δf < 0 ,则以新的路经修改旧的路 经,直到不能修改为止。 (3) 目标函数 目标函数为侦察所有目标的路径长度,适应度函数就取为目标函数。我们要求 ∑= + = 101 1 1 2 102 1 min ( , , , ) i i i f π π L π dπ π (4) 交叉操作 我们的交叉操作采用单点交叉。设计如下,对于选定的两个父代个体 1 = ω1ω 2 Kω102 f , 102 ' 2 ' 1 ' f 2 = ω ω Kω ,我们随机地选取第 t 个基因处为交叉点,则 经过交叉运算后得到的子代编码为 1 s 和 2 s , 1 s 的基因由 1f 的前 t 个基因和 2 f 的后 102 − t 个基因构成, 2 s 的基因由 2 f 的前 t 个基因和 1f 的后102 − t 个基因构成,例如: [0, 0.14, 0.25, 0.27,| 0.29, 0.54, ,0.19, 1] f1 = L [0, 0.23, 0.44, 0.56,| 0.74, 0.21, ,0.24, 1] f 2 = L 设交叉点为第四个基因处,则 [0, 0.14, 0.25, 0.27,| 0.74, 0.21, ,0.24, 1] s1 = L [0, 0.23, 0.44, 0.56,| 0.29, 0.54, ,0.19, 1] s2 = L 交叉操作的方式有很多种选择,我们应该尽可能选取好的交叉方式,保证子代能继 承父代的优良特性。同时这里的交叉操作也蕴含了变异操作。 (5) 变异操作 变异也是实现群体多样性的一种手段,同时也是全局寻优的保证。具体设计如下, 按照给定的变异率,对选定变异的个体,随机地取三个整数,满足1 < u < v < w < 102 , 把u,v 之间(包括u 和v )的基因段插到 w 后面。 (6) 选择 采用确定性的选择策略,也就是说选择目标函数值最小的 M 个个体进化到下一代,这 样可以保证父代的优良特性被保存下来。 2.3 模型求解及结论 编写 MATLAB 程序如下: tic
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有