2.5旅行商问题(第三次)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

a35 a15 a24 a14 a12 a13 a34 a23 a45 a25 3 4 4 9 10 10 11 13 16 20
D(8)= (a35,a15, a14,a12,a13 ) D8=36>d0不可能最短故剪枝,退出后4个元素 D(9)=(a35, a24 a14 a12 a13) D9=36>d0不可能最短故剪枝,退出后5个元素
边 a35 a15 a24 a14 a12 a13 a34 a23 a45 a25 权 3 4 4 9 10 10 11 13 16 20
2)先取 N条边 3)判断是否构成H回路,否则将试探路的最后 元素换成下一个待选元素,直到能构成H回路。 此时记下其路长d(i),并赋给d0. 4)退出上述H回路的最后2个元素,换成新的元 素,判断其路长d(I)是否小于d0. 若小于d0则回到第3步(有可能得到更短的H 回路),否则再多退一个元素,重复第4步的判断 工作,若无元素可退则中止寻找工作,即换掉最 后三个元素
便宜算法
往往需要增加一些限制,以便能够 提高计算速度: (1)G是无向正权图。 (2)W(i,j)+W(j,k)>=W(i,k) 任何两边之和大于第三边 基本思路:从编号为1的点出发,寻 找与“已确定的回路”距离最近的点, 插入到回路中。近似最多为精确2倍
1 1 0 2 18
35 25 5 27
a43 a21 a52 a42 a32 a54 a41 a51 a53 a31 17 18 19 21 23 24 25 27 28 35
D(11)=(a43 a21 a54 a41 a51 ) d11>d0不可能退栈 D(12)=(a43 a52 a42 a32 a54 ) d12<d0深探?退栈 D(13)=(a21 a52 a42 a32 a54) 仍不深探,栈空
2.5旅行商问题 TSP
• Euler回路:经过每条边一次, 也仅仅一次的回路。 • Hamilton路:经过每个结点一次, 也仅仅一次的回路。 • 旅行商路:寻找最短的H回路。
4
1 20
3 4 9 11
10 10 4 3
5 16
2 13
1)d0=∞ ,权系数从小到大排队,编号小前 边 a35 a15 a24 a14 a12 a13 a34 a23 a45 a25 权 3 4 4 9 10 10 11 13 16 20
27
V1
25
? 18 21
V5 若V4的另一头与V1相连, ? 则需剪断e12,新回路长 19 d=27+19+25+21,增长 V2
21+25-18=28
24
V4
若V4的另一头与V5相连, 则需剪断e25,增长21+2419=26
0 18 35 25 27
18 0 23 21 19
2 3
18
0 23
4 5
25
21 17
35
23 0
21
19
17
28
0
24
27 19 28 24 0
根据第1行确定与V1最 近的点,根据第2行确定 与V2最近的点。
V1 V1
27
V1
18 18
V2
V5 在1,2行的3,4,5列找到最 19 小19=W(2,5)加入V5。
18
V2 在1,2,5行的3,4列 找最小
值21=W(2,4)加入V4
1 2
0 1 18 2 18
0 23

35
23 0

25
21 17

27 19 28 24 0
28
0
24
在1,2,5行的3,4列 找最小 值21,即V2与V4相连21, 那V4另一头与谁相连呢?
27 19 28 24 0
1) T=(1,1) ﹁S={2,3,…,n},d0=0 2) 根据权矩阵,在﹁S中寻找与回路T之距离 最小的点Vk,设T中与Vk相连的点为Vj, 3) 确定Vk与Vj的哪个老邻居相连?若
W(k,j)+W(k,t)-W(t,j)< W(k,j)+W(k,rt)-W(r,j)
21
24 在V2的邻居中寻找相连
对象. V4与V5相连,费用便宜.

0 18 35 4 25 27 18
0 23
35
23 0
25
21 17
21
19
17
28
0
24
27
V1 18 V2
21 V4
17
在1,2,4,5行寻剩下点距 离最短的边. W(4,3)=17. 在V4的老邻居中寻找 一个与V3相连,使路之 V5 增长最小。 若V3与V2相连则剪断 e24, 增长17+23-21=19。 若V3与V5相连则剪断 24 与e45增长17+28-24=21, 与V2相连最便宜。 V3 18+23+17+24+27=109
17 18 19 21 23 24 25 27 28 35
a43 a21 a52 a42 a32 a54 a41 a51 a53 a31 17 18 19 21 23 24 25 27 28 35
D(0)=(a43 a21 a52 a42 a32 ) 不成H回路,深探 D(1)=(a43 a21 a52 a42 a54 ) 不成H回路,深探 D(2)=(a43 a21 a52 a42 a41 ) 不成H回路,深探 D(3)=(a43 a21 a52 a42 a51 ) 不成H回路,深探 D(4)=(a43 a21 a52 a42 a53 ) 不成H回路,深探 D(5)=(a43 a21 a52 a42 a31 ) 不成H回,退出最后2元素 D(6)=(a43 a21 a52 a32 a54 ) 不成H回,因前4个中有3个2,退出前3个元素 D(7)=(a43 a21 a42 a32 a54 ) ,退出前3个元素。 D(7)=(a43 a21 a32 a54 a41 ) ,退出前3个元素。
a35 a15 a24 a14 a12 a13 a34 a23 a45 a25 3 4 4 9 10 10 11 13 16 20 D(5)=(a35,a15,a24, a12,a13) d5=31<d0,可能存在更短H 回路,再继续深探. D(6)= (a35,a15,a24, a12,a34) D(6)=32<d0(33) 成H回路 d0=d6=32,退出最后两个元素a12,a34 D(7)= (a35,a15,a24,a34,a23) d7=35>d0不可能最短,故剪枝,退出后3个元素 D(8)= (a35,a15, a14,a12,a13 ) D8=36>d0不可能最短,故剪枝,退出后4个元素
a43 a21 a52 a42 a32 a54 a41 a51 a53 a31 17 18 19 21 23 24 25 27 28 35
D(6)=(a43 a21 a52 a32 a54 ) 不成,因前4个中有3个2,退出前3个元素 D(7)=(a43 a21 a42 a32 a54 ) ,退出前3个元素。 D(8)=(a43 a21 a32 a54 a41 ) ,退出前3个元素。 D(9)=(a43 a21 a32 a54 a51 ) 成H回路d0=109退栈 D(10)=(a43 a21 a32 a41 a51 ) d10>d0不可能退栈 D(11)=(a43 a21 a54 a41 a51 ) d11>d0不可能退栈 D(12)=(a43 a52 a42 a32 a54 ) d12<d0 深探
35 23 0 17 28
25 21 17 0 24
27 19 28 24 0
若V4的另一头与V1相连, 则剪断e12,新回路长d=27 +19+25+21,增长 21+25-18=28 若V4的另一头与V1相连, 则剪断25,增长21+2419=26
27
V5 V2
V1
18
V4
D(10)=(a15 a24 a14 a12 a13 )
D10=37>d0不可能最短故剪枝,无路可退!这 时若换掉最后的元素只会增加路长!不可能短


由于对边权进行了排序,因此“深 探”时删除最后添加入的边ek,添加 下一条待选的边ej,则Lk<Lj,所以此路 的长度d是递增的。 当找到一条H回路时,记下路长d0, 这就是“界值”。一旦确定界值,则 >=d0的分支不再“深探”,而且最后 得到的界值就是问题的最佳解。 计算工作量O(n!),需采用近视算法。


由于对边权进行了排序,因此“深 探”时删除最后添加边ek,添加下一 条待选的边ej,则LkLj,故路长递增。 当找到一条H回路时其路长d0为“界 值”。 一旦确定界值,则路长d0的分支不 必“深探”即“剪枝”。 最后得到的界值就是问题的最佳解。 计算工作量O(n!),需采用近视算法。
a35 a15 a24 a14 a12 a13 a34 a23 a45 a25 3 4 4 9 10 10 11 13 16 20 D0=∞ D(1)=(a35,a15,a24,a14,a12) 三个1,再深探 D(2)=(a35,a15,a24,a14, a13) 三个1,再深探 D(3)=(a35,a15,a24,a14, a34) 1个2,再深探 D(4)=(a35,a15,a24,a14, a23) 构成回路, d4=3+ 4+4+9+13=33 此时d0=33已成回路,寻找下条更 短的H回路,再换最后一条边只会加长,退2条边 D(5)=(a35,a15,a24, a12,a13) d5=31<d0,可能 存在更短H回路,再继续深探,换最后一边
4) K加入到回路T中, ﹁S中去掉K.
Vt
Vr Vj
Vk
0 18 35 25 27
18 0 23 21 19
35 23 0 17 28
25 21 17 0 24
27 19 28 24 0
a43 a21 a52 a42 a32 a54 a41 a51 a53 a31
相关文档
最新文档