第八章最短路问题
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P
称P0是从vs到vt的最短路。路P0的权称为从vs到vt 的路长。记为ust。
第二节
最短路的标号算法
当所有 wij ≥0 时,本算法是用来求给定点vs到 任一个点vj 最短路的公认的最好方法。 事实:如果P是D中从vs到vj的最短路,vi是P中的一 个点,那么,从vs沿P到vi的路是从vs到 vi的最短路。 最短路的子路也是最短路。 vs 到vi 计算过程中可采用标号方法。 的最短路长度已求出,相应的点记“永久”标 号;
v3
2
10
v4
1,1
10
v6
4,11
2
v7
4
v8
1, ∞
1, ∞
图上标号法: 1, ∞ 2 6 1,3 6 4 3
v2
6
1,5 1,6
1
v5
v9
3
1, ∞
2 3
v1
0,0 1
v3
2
10
v4
1,1
10
v6
4,11
2
v7
4
v8
1, ∞
1, ∞
图上标号法: 1, ∞ 2 6 1,3 6 4 3
v2
6
------floyd算法
④多个点对之间最短路?
例 2 某台机器可连续工作4年,也可于每年末卖掉, 换一台新的。已知于各年初购置一台新机器的价格 及不同役龄机器年末的处理价格如下表。新机器第 一年运行及维修费为0.3万元,使用1-3年后机器每年 的运行及维修费用分别为0.8,1.5,2.0万元。试确定 该机器的最优更新策略,使4年内用于更换、购买及 运行维修的总费用为最省。
2 8 4 7 C
6
D
6
A
1
3
1
3 E
F
最短路问题 给定有向网络D=(V,A,W),任意有向边
aij∈A,有权w( aij )=wij,给定D中的两个顶点vs,
vt。设P是D中从vs到vt的一条路,定义路P的权(长度) 是P中所有有向边的权之和,记为w(P)。最短路问 题就是要在所有从vs到vt的路中,求一条路P0 ,使
w(P0 ) minw(P)
1, ∞
2
v7
4
v8
1, ∞
1, ∞
图上标号法: 1, ∞ 2 6 1,3 6 4 3
v2
6
1,6
1
v5
v9
3
1, ∞
2 3
v1
0,0 1
v3
2
10
v4
1,1
10
v6
1, ∞
2
v7
4
v8
1, ∞
1, ∞
图上标号法: 1, ∞ 2 6 1,3 6 4 3
v2
6
1,6
1
v5
v9
3
1, ∞
2 3
v1
0,0 1
2 6
v9
3
v1
1
3
v3
2
从v1到v8:
v4
v6
v7
4
v8
P1=(v1,v2,v5,v8)
费用 6+1+6=13
P2=(v1,v3,v4, v6, v7, v8) 费用 3+2+10+2+4=21
P3= …… 从v1到v8的旅行路线 பைடு நூலகம்v1到v8的路。 最短路问题中,不考虑有向环、并行有向边。
旅行路线总费用 路上所有有向边权之和。
vs 到vi 的最短路长度尚未求出,相应的点记“临时”标 号。 前点标号j: 表示点vs到vj的最短路上vj的前一点。 如j=m,表示vs到vj的最短路上vj前一点是vm。
图上标号法:
v2
6
1,6
1
v5
1, ∞ 2 6
v9
3
1, ∞
2 3
v1
0,0 1
v3
2
1,3 6 4
3
10
v4
1,1
10
v6
j
年初购置价 使用j年的机器处理价
第一年 第二年 第三年 第四年
2.5 2.0
2.6 1.6
2.8 1.3
3.1 1.1
例 3 某公司在六个城市c1, …,c6中有分公司,从ci到cj 的直接航程票价记在下述矩阵中的 (i,j) 位置上。(∞
表示无直接航路),请帮助该公司设计一张任意两城
市间的票价最便宜的路线表。
3,5
1
v5
v9
3
1, ∞
2 3
v1
0,0 1
v3
2
10
v4
1,1
10
v6
4,11
2
v7
4
v8
1, ∞
1, ∞
图上标号法: 2,6 2 6 1,3 6 4 3
v2
6
3,5
1
v5
v9
3
1, ∞
2 3
v1
0,0 1
v3
2
10
v4
1,1
10
v6
4,11
2
v7
4 1,∞
v8
1, ∞
图上标号法: 2,6 2 6 1,3 6 4 3
0 50 ∞ 40 25 10
50 0 15 20 ∞ 25 ∞ 15 0 10 20 ∞ 10 0 55 0 25 ∞ 20
10 25 ∞ 25 55
例 4 已知有6个村子,相互间道路的距离如下图示。 拟合建一所小学,已知A处有小学生50人,B处40 人,C处60人,D处20人,E处70人,F处90人,问 小学应建在哪一个村子,使学生上学最方便(原则 ①所有人走的总路程最短;②尽可能公平。)。 B
第八章
最短路问题
第一节 最短路问题引例
例 下图为单行线交通网,每有向边旁的数字表示通过 这
交 条线所需的费用。现在某人要从v1出发,通过这个
v 9 通网到v 去,求使总费用最小的旅行路线。
68
v2
3
1
v5
4
2
v1
1
2
6
3
v3
2
6
3 10
v4
10
v6
2
v7
4
v8
v2
6
1 2 6 10
v5
4 3 10 2
v2
6
3,5
1
v5
v9
3
1, ∞
2 3
v1
0,0 1
v3
2
10
v4
1,1
10
v6
5,10
2
v7
4 5,9
v8
5,12
问题:①本例中,v1到v9的最短路?
②无向网络: vi wij vj wij
wij 无向网络中,最短路 →v 最短链。 vj i
③负权有向边时。 1 v1 v2 2 v3 -3
Dijkstra算法失效
称P0是从vs到vt的最短路。路P0的权称为从vs到vt 的路长。记为ust。
第二节
最短路的标号算法
当所有 wij ≥0 时,本算法是用来求给定点vs到 任一个点vj 最短路的公认的最好方法。 事实:如果P是D中从vs到vj的最短路,vi是P中的一 个点,那么,从vs沿P到vi的路是从vs到 vi的最短路。 最短路的子路也是最短路。 vs 到vi 计算过程中可采用标号方法。 的最短路长度已求出,相应的点记“永久”标 号;
v3
2
10
v4
1,1
10
v6
4,11
2
v7
4
v8
1, ∞
1, ∞
图上标号法: 1, ∞ 2 6 1,3 6 4 3
v2
6
1,5 1,6
1
v5
v9
3
1, ∞
2 3
v1
0,0 1
v3
2
10
v4
1,1
10
v6
4,11
2
v7
4
v8
1, ∞
1, ∞
图上标号法: 1, ∞ 2 6 1,3 6 4 3
v2
6
------floyd算法
④多个点对之间最短路?
例 2 某台机器可连续工作4年,也可于每年末卖掉, 换一台新的。已知于各年初购置一台新机器的价格 及不同役龄机器年末的处理价格如下表。新机器第 一年运行及维修费为0.3万元,使用1-3年后机器每年 的运行及维修费用分别为0.8,1.5,2.0万元。试确定 该机器的最优更新策略,使4年内用于更换、购买及 运行维修的总费用为最省。
2 8 4 7 C
6
D
6
A
1
3
1
3 E
F
最短路问题 给定有向网络D=(V,A,W),任意有向边
aij∈A,有权w( aij )=wij,给定D中的两个顶点vs,
vt。设P是D中从vs到vt的一条路,定义路P的权(长度) 是P中所有有向边的权之和,记为w(P)。最短路问 题就是要在所有从vs到vt的路中,求一条路P0 ,使
w(P0 ) minw(P)
1, ∞
2
v7
4
v8
1, ∞
1, ∞
图上标号法: 1, ∞ 2 6 1,3 6 4 3
v2
6
1,6
1
v5
v9
3
1, ∞
2 3
v1
0,0 1
v3
2
10
v4
1,1
10
v6
1, ∞
2
v7
4
v8
1, ∞
1, ∞
图上标号法: 1, ∞ 2 6 1,3 6 4 3
v2
6
1,6
1
v5
v9
3
1, ∞
2 3
v1
0,0 1
2 6
v9
3
v1
1
3
v3
2
从v1到v8:
v4
v6
v7
4
v8
P1=(v1,v2,v5,v8)
费用 6+1+6=13
P2=(v1,v3,v4, v6, v7, v8) 费用 3+2+10+2+4=21
P3= …… 从v1到v8的旅行路线 பைடு நூலகம்v1到v8的路。 最短路问题中,不考虑有向环、并行有向边。
旅行路线总费用 路上所有有向边权之和。
vs 到vi 的最短路长度尚未求出,相应的点记“临时”标 号。 前点标号j: 表示点vs到vj的最短路上vj的前一点。 如j=m,表示vs到vj的最短路上vj前一点是vm。
图上标号法:
v2
6
1,6
1
v5
1, ∞ 2 6
v9
3
1, ∞
2 3
v1
0,0 1
v3
2
1,3 6 4
3
10
v4
1,1
10
v6
j
年初购置价 使用j年的机器处理价
第一年 第二年 第三年 第四年
2.5 2.0
2.6 1.6
2.8 1.3
3.1 1.1
例 3 某公司在六个城市c1, …,c6中有分公司,从ci到cj 的直接航程票价记在下述矩阵中的 (i,j) 位置上。(∞
表示无直接航路),请帮助该公司设计一张任意两城
市间的票价最便宜的路线表。
3,5
1
v5
v9
3
1, ∞
2 3
v1
0,0 1
v3
2
10
v4
1,1
10
v6
4,11
2
v7
4
v8
1, ∞
1, ∞
图上标号法: 2,6 2 6 1,3 6 4 3
v2
6
3,5
1
v5
v9
3
1, ∞
2 3
v1
0,0 1
v3
2
10
v4
1,1
10
v6
4,11
2
v7
4 1,∞
v8
1, ∞
图上标号法: 2,6 2 6 1,3 6 4 3
0 50 ∞ 40 25 10
50 0 15 20 ∞ 25 ∞ 15 0 10 20 ∞ 10 0 55 0 25 ∞ 20
10 25 ∞ 25 55
例 4 已知有6个村子,相互间道路的距离如下图示。 拟合建一所小学,已知A处有小学生50人,B处40 人,C处60人,D处20人,E处70人,F处90人,问 小学应建在哪一个村子,使学生上学最方便(原则 ①所有人走的总路程最短;②尽可能公平。)。 B
第八章
最短路问题
第一节 最短路问题引例
例 下图为单行线交通网,每有向边旁的数字表示通过 这
交 条线所需的费用。现在某人要从v1出发,通过这个
v 9 通网到v 去,求使总费用最小的旅行路线。
68
v2
3
1
v5
4
2
v1
1
2
6
3
v3
2
6
3 10
v4
10
v6
2
v7
4
v8
v2
6
1 2 6 10
v5
4 3 10 2
v2
6
3,5
1
v5
v9
3
1, ∞
2 3
v1
0,0 1
v3
2
10
v4
1,1
10
v6
5,10
2
v7
4 5,9
v8
5,12
问题:①本例中,v1到v9的最短路?
②无向网络: vi wij vj wij
wij 无向网络中,最短路 →v 最短链。 vj i
③负权有向边时。 1 v1 v2 2 v3 -3
Dijkstra算法失效