第四讲 旅行商问题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
p3 (1,2,3,4) 2
由此可知,推销员的最短旅行路线是1→2→4→3→1,最短 总距离为23。
旅行商问题应用
• 物资运输路线问题 • 自动焊机割咀路线问题 • 管道铺设路线问题
课堂练习
• 求解四个城市的旅行商问题。问应如何选择行进路线, 使从v1的出发到其他城市一次且仅一次,再回到v1的总 路程最短? vi 1 2 3 4
p2 (2, 3, 4) 4 p2 (3, 2, 4) 4 p2 (4, 2,3) 2
当k=3时,即从v1城开始,中间经过三个城市(顺序随便)回 到v1城的最短距离是:
f3 (1, 2, 3, 4) min f 2 (2, 3, 4) d 21 , f 2 (3, 2, 4) d31 , f 2 (4, 2,3) d 41 min 20 8,18 5, 22 6 23
当k=2时,即从v1城开始,中间经过二个城市(它们的顺序随 便)到达vi城的最短距离是:
f 2 (2,[3, 4]) min f1 (3, 4) d32 , min 14 8,15 5 20 f 2 (3, 2, 4) min 14 9,13 5 18 f 2 (4, 2,3) min 15 7,15 8 22 f1 (4, 3) d 42
当k=1时,即从v1城开始,中间经过一个城市到达vi城的最 短距离是:
f1 (2, 3) f 0 (3, ) d32 7 8 15 f1 (2, 4) f 0 (4, ) d 42 9 5 14 f1 (3, 2) 6 9 15 f1 (3, 4) 9 5 14 f1 (4, 2) 6 7 13 f1 (4, 3) 7 8 15
第四讲 旅行商问题
讲授:白丹宇
问题描述
货郎担问题在运筹学里是一个著名的命题。有一个串村 走户卖货郎,他从某个村庄出发,通过若干个村庄一次且 仅一次,最后仍回到原出发的村庄。问应如何选择行走路 线,能使总的行程最短。类似的问题有旅行路线问题,应 如何选择行走路线,使总路程最短或费用最少等。 现在把问题一般化。设有n个城市,以v1,v2,…,vn表 示之。dij表示从vi城到vj城的距离。一个推销员从城市v1 出发到其他每个城市去一次且仅仅是一次,然后回到城 市v1。问他如何选择行走的路线,使总的路程最短。这 个问题属于组合最优化问题,当n不太大时,利用动态 规划方法求解是很方便的。
动态规划模型
• 设S表示从V1到Vi中间所有可能经过的城市集合,S实际上是包 含除V1与Vi两个点之外其余点的集合,但S中的点的个数要随 阶段数改变。 • 状态变量(i,S)表示:从V1点出发,经过S集合中所有点一 次最后到达到Vi
• 最有指标函数fk(i, S)为从V1出发经由k个城镇的S到Vi的最短距 离
• 决策变量Pk(i, S)表示:从V1经由k个中间城镇的S到Vi城镇的最 短路线上邻接Vi的前一个城镇,则动态规划的顺序递推关系为
f k (i, S ) min f k 1 ( j, S \ j) d j i
js
f 0 (i, ) d1i 为空集 (k 1, 2,, n 1,i 2,3,, n )
vj
ຫໍສະໝຸດ Baidu
1
0 5 6 3
2
3 0 4 7
3
6 2 0 5
4
7 3 2 0
作业
• 求解5个城市的旅行商问题。
1 1 2 3 4 0 12 23 34 2 10 0 9 32 3 20 18 0 4 4 30 30 5 0 5 40 25 10 8
5
45
27
11
10
0
例: 求解四个城市旅行推销员问题,其距离矩阵 如表所示。当推销员从v1城出发,经过每个城市一 次且仅一次,最后回到v1城,问按怎样的路线走, 使总的行程距离最短。
vi 1 2 3 4
vj
1 0 8 5 6
2 6 0 8 5
3 7 9 0 5
4 9 7 8 0
解: 由边界条件可知:
f0 (2, ) d12 6, f0 (3, ) d13 7, f0 (4, ) d14 9
由此可知,推销员的最短旅行路线是1→2→4→3→1,最短 总距离为23。
旅行商问题应用
• 物资运输路线问题 • 自动焊机割咀路线问题 • 管道铺设路线问题
课堂练习
• 求解四个城市的旅行商问题。问应如何选择行进路线, 使从v1的出发到其他城市一次且仅一次,再回到v1的总 路程最短? vi 1 2 3 4
p2 (2, 3, 4) 4 p2 (3, 2, 4) 4 p2 (4, 2,3) 2
当k=3时,即从v1城开始,中间经过三个城市(顺序随便)回 到v1城的最短距离是:
f3 (1, 2, 3, 4) min f 2 (2, 3, 4) d 21 , f 2 (3, 2, 4) d31 , f 2 (4, 2,3) d 41 min 20 8,18 5, 22 6 23
当k=2时,即从v1城开始,中间经过二个城市(它们的顺序随 便)到达vi城的最短距离是:
f 2 (2,[3, 4]) min f1 (3, 4) d32 , min 14 8,15 5 20 f 2 (3, 2, 4) min 14 9,13 5 18 f 2 (4, 2,3) min 15 7,15 8 22 f1 (4, 3) d 42
当k=1时,即从v1城开始,中间经过一个城市到达vi城的最 短距离是:
f1 (2, 3) f 0 (3, ) d32 7 8 15 f1 (2, 4) f 0 (4, ) d 42 9 5 14 f1 (3, 2) 6 9 15 f1 (3, 4) 9 5 14 f1 (4, 2) 6 7 13 f1 (4, 3) 7 8 15
第四讲 旅行商问题
讲授:白丹宇
问题描述
货郎担问题在运筹学里是一个著名的命题。有一个串村 走户卖货郎,他从某个村庄出发,通过若干个村庄一次且 仅一次,最后仍回到原出发的村庄。问应如何选择行走路 线,能使总的行程最短。类似的问题有旅行路线问题,应 如何选择行走路线,使总路程最短或费用最少等。 现在把问题一般化。设有n个城市,以v1,v2,…,vn表 示之。dij表示从vi城到vj城的距离。一个推销员从城市v1 出发到其他每个城市去一次且仅仅是一次,然后回到城 市v1。问他如何选择行走的路线,使总的路程最短。这 个问题属于组合最优化问题,当n不太大时,利用动态 规划方法求解是很方便的。
动态规划模型
• 设S表示从V1到Vi中间所有可能经过的城市集合,S实际上是包 含除V1与Vi两个点之外其余点的集合,但S中的点的个数要随 阶段数改变。 • 状态变量(i,S)表示:从V1点出发,经过S集合中所有点一 次最后到达到Vi
• 最有指标函数fk(i, S)为从V1出发经由k个城镇的S到Vi的最短距 离
• 决策变量Pk(i, S)表示:从V1经由k个中间城镇的S到Vi城镇的最 短路线上邻接Vi的前一个城镇,则动态规划的顺序递推关系为
f k (i, S ) min f k 1 ( j, S \ j) d j i
js
f 0 (i, ) d1i 为空集 (k 1, 2,, n 1,i 2,3,, n )
vj
ຫໍສະໝຸດ Baidu
1
0 5 6 3
2
3 0 4 7
3
6 2 0 5
4
7 3 2 0
作业
• 求解5个城市的旅行商问题。
1 1 2 3 4 0 12 23 34 2 10 0 9 32 3 20 18 0 4 4 30 30 5 0 5 40 25 10 8
5
45
27
11
10
0
例: 求解四个城市旅行推销员问题,其距离矩阵 如表所示。当推销员从v1城出发,经过每个城市一 次且仅一次,最后回到v1城,问按怎样的路线走, 使总的行程距离最短。
vi 1 2 3 4
vj
1 0 8 5 6
2 6 0 8 5
3 7 9 0 5
4 9 7 8 0
解: 由边界条件可知:
f0 (2, ) d12 6, f0 (3, ) d13 7, f0 (4, ) d14 9