运筹学-最短路问题[课件参考]
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
若λ(v)=M,表示D中不含从vs到v的路;
若λ(v)=0表示v=vs。
精选课件
§8.3 最短路问题
Page 13
v2
1
v5
6
2
2
v9
6
v1
3 v3 6
4
10 3
3
1
2
v8
4
2 v7
s=1。d(v1,v1)=0。v1是具Pv标4 号的点1。0
v6
现考查从v1发出的三条弧,(v1,v2),(v1,v3),和(v1,v4)。
精选课件
§8.3 最短路问题
Page 12
(2)标号含义:
P(v) ,T(v)分别表示点v的P标号和T标号, Si表示第i步时具P标号点的集合。 为了在求出从vs到各点的距离的同时,也求出从vs到各点的最
短路,给每个点v以一个λ值。算法终止时,
若λ(v)=m,表示在从vs到v的最短路上,v的前一个点是vm;
2.设节点 vi 为刚得到P标号的点,考虑点vj,其中 (vi , v j ) E ,且vj为T标号。对vj的T标号进行如下修改:
min{d(v1,,v1)+ω12,d(v1,v1)+w13,d(v1,v1)+w14=d(v1,v1)+w14=1
这样就可使v4变成具P标号的点。 精所选以课从件v1出发到v4所需的最小费用必定是1单位,
Page 14
(2)标号含义: 令 dij 表示 vi 到 vj 的直接距离(两点之间有边),若两点之间
定义 设D为有向赋权图,vs与vt是D中两点,在连接vs与vt的 所有路中,权最小的路P0称为从vs到vt的最短路。即
(
P0
)
min P
(
P
)
最小的路P0的权称为从vs到vt的距离,记为d(vs , vt )
d(vs ,vt )和d(vt ,vs )不一定相等。
精选课件
wenku.baidu.com
§8.3 最短路问题
Page 8
精选课件
§8.3 最短路问题
Page 7
定义权设值连的通意图义D是=(广V,A泛),的每。一可弧以a表= (示vi,距vj)离,,有可一以个表非示负交权通运 费,可以表示网络w(流a)=量w,ij (在wij朋≥0友) 关系图甚至可以表示友谊深 如度果。P但是都D可中以从抽vs象到为vt的距一离条。路,称P中所有弧的权之和为路P 的权,记为w(P)。
运筹学
( Operations Research )
精选课件
Chapter8 图与网络优化
本章主要内容:
§8.1 图的基本概念 §8.2 树 §8.3 最短路问题 §8.4 网络最大流问题 §8.5 最小费用最大流问题 §8.6 中国邮递员问题
精选课件
Page 3
§8.3 最短路问题
The Shortest-Path Problem
精选课件
§8.3 最短路问题
Page 11
2、Dijkstra算法
(1)基本思想: 从vs出发,给网络中的每个点对应记录一个数(称为这 个点vi的标号),它或者表示从vs到该点vi的最短路的权(称 为P标号,此为永久标号),或者是从vs到该点vi的最短路的 权的上界(称为T标号,此为临时标号),
方法的每一步是去修改T标号,并且把某一个具T标号 的点改变为具P标号的点,从而使D中具P标号的顶点数多 一个,这样至多经过p−1步,当终点vt得到P标号时,就可 以求出从vs到各点的最短路。
精选课件
§8.3 最短路问题
Page 4
• 如何用最短的线路将三部电话连起来?
• 此问题可抽象为设△ABC为等边三角形,,连接三顶点的 路线(称为网络)。这种网络有许多个,其中最短路线者 显然是二边之和(如AB∪AC)。
A
B
C
精选课件
§8.3 最短路问题
Page 5
但若增加一个周转站(新点P),连接4点的新网络的最短路 线为PA+PB+PC。最短新路径之长N比原来只连三点的最 短路径要短。这样得到的网络不仅比原来节省材料,而且稳 定性也更好。
Page 10
1、最短路算法基于以下原理:
一个最优策略的任一子策略也是最优策略.
若P是从vs到vt间的最短路, vi是P中的一个点,则vs到vi的最
短路就是从vs 沿P到vi的那条路。 v2
v4
v1
v3
v5
v1 →v2 →v3一定是v1 →v3的最短路,
v2 →v3 →v4也一定是v2 →v4的最短路。
2、Floyd-Warshall算法
Floyd-Warshall算法是解决任意两点间的最短路径的 一种算法,可以正确处理有向图或负权的最短路径问题。
精选课件
§8.3 最短路问题
Page 9
8.3.2 狄克斯特拉算法 (Dijkstra algorithm,也称双标号法)
1959年, Dijkstra发现了在赋权图中求最短路的算法。 迪杰斯特拉(1930-2002,荷兰人),早年钻研物理及数学, 转为计算学。1972年获图灵奖(计算机界的诺贝尔奖)。
常见的最短路算法
1、Dijkstra算法 注意该算法要求不存在负权边 Dijkstra算法是典型的单源最短路径算法,用于计算一
个节点到其他所有节点的最短路径。主要特点是以起始点为 中心向外层层扩展,直到扩展到终点为止。Dijkstra算法在 很多专业课程如数据结构,图论,运筹学等中都作为基本内 容有详细的介绍,。
没有边,则令 dij = ,若两点之间是有向边,则 dji = ; 令 dii = 0,s 表示始点,t 表示终点
精选课件
§8.3 最短路问题
Page 15
(3)算法步骤:
1.给始点vs以P标号 P(vs ) 0 ,这表示从vs到 vs的最短距离 为0,其余节点均给T标号,P(vi ) (i 2,3, ,n) 。
1.提出“goto有害论”; 2 .提出信号量和PV原语; 3.解决了“哲学家聚餐”问题6;. THE操作系统的设计者和开发者;
4.最短路径算法和银行家算法的创造者;
5.第一个Algol 60编译器的设计者和实现者;
与D. E. Knuth并称为这个时代最伟大的计算机科学家的人。
精选课件
§8.3 最短路问题
A
P
B
C
精选课件
§8.3 最短路问题
Page 6
8.3.1 最短路问题
最短路问题: 就是从给定的网络图中找出一点到各点或任意两点之间
距离最短的一条路 .
有些问题,如选址、管道铺设时的选线、设备更新、投 资、某些整数规划和动态规划的问题,也可以归结为求最短 路的问题。因此这类问题在生产实际中得到广泛应用。
若λ(v)=0表示v=vs。
精选课件
§8.3 最短路问题
Page 13
v2
1
v5
6
2
2
v9
6
v1
3 v3 6
4
10 3
3
1
2
v8
4
2 v7
s=1。d(v1,v1)=0。v1是具Pv标4 号的点1。0
v6
现考查从v1发出的三条弧,(v1,v2),(v1,v3),和(v1,v4)。
精选课件
§8.3 最短路问题
Page 12
(2)标号含义:
P(v) ,T(v)分别表示点v的P标号和T标号, Si表示第i步时具P标号点的集合。 为了在求出从vs到各点的距离的同时,也求出从vs到各点的最
短路,给每个点v以一个λ值。算法终止时,
若λ(v)=m,表示在从vs到v的最短路上,v的前一个点是vm;
2.设节点 vi 为刚得到P标号的点,考虑点vj,其中 (vi , v j ) E ,且vj为T标号。对vj的T标号进行如下修改:
min{d(v1,,v1)+ω12,d(v1,v1)+w13,d(v1,v1)+w14=d(v1,v1)+w14=1
这样就可使v4变成具P标号的点。 精所选以课从件v1出发到v4所需的最小费用必定是1单位,
Page 14
(2)标号含义: 令 dij 表示 vi 到 vj 的直接距离(两点之间有边),若两点之间
定义 设D为有向赋权图,vs与vt是D中两点,在连接vs与vt的 所有路中,权最小的路P0称为从vs到vt的最短路。即
(
P0
)
min P
(
P
)
最小的路P0的权称为从vs到vt的距离,记为d(vs , vt )
d(vs ,vt )和d(vt ,vs )不一定相等。
精选课件
wenku.baidu.com
§8.3 最短路问题
Page 8
精选课件
§8.3 最短路问题
Page 7
定义权设值连的通意图义D是=(广V,A泛),的每。一可弧以a表= (示vi,距vj)离,,有可一以个表非示负交权通运 费,可以表示网络w(流a)=量w,ij (在wij朋≥0友) 关系图甚至可以表示友谊深 如度果。P但是都D可中以从抽vs象到为vt的距一离条。路,称P中所有弧的权之和为路P 的权,记为w(P)。
运筹学
( Operations Research )
精选课件
Chapter8 图与网络优化
本章主要内容:
§8.1 图的基本概念 §8.2 树 §8.3 最短路问题 §8.4 网络最大流问题 §8.5 最小费用最大流问题 §8.6 中国邮递员问题
精选课件
Page 3
§8.3 最短路问题
The Shortest-Path Problem
精选课件
§8.3 最短路问题
Page 11
2、Dijkstra算法
(1)基本思想: 从vs出发,给网络中的每个点对应记录一个数(称为这 个点vi的标号),它或者表示从vs到该点vi的最短路的权(称 为P标号,此为永久标号),或者是从vs到该点vi的最短路的 权的上界(称为T标号,此为临时标号),
方法的每一步是去修改T标号,并且把某一个具T标号 的点改变为具P标号的点,从而使D中具P标号的顶点数多 一个,这样至多经过p−1步,当终点vt得到P标号时,就可 以求出从vs到各点的最短路。
精选课件
§8.3 最短路问题
Page 4
• 如何用最短的线路将三部电话连起来?
• 此问题可抽象为设△ABC为等边三角形,,连接三顶点的 路线(称为网络)。这种网络有许多个,其中最短路线者 显然是二边之和(如AB∪AC)。
A
B
C
精选课件
§8.3 最短路问题
Page 5
但若增加一个周转站(新点P),连接4点的新网络的最短路 线为PA+PB+PC。最短新路径之长N比原来只连三点的最 短路径要短。这样得到的网络不仅比原来节省材料,而且稳 定性也更好。
Page 10
1、最短路算法基于以下原理:
一个最优策略的任一子策略也是最优策略.
若P是从vs到vt间的最短路, vi是P中的一个点,则vs到vi的最
短路就是从vs 沿P到vi的那条路。 v2
v4
v1
v3
v5
v1 →v2 →v3一定是v1 →v3的最短路,
v2 →v3 →v4也一定是v2 →v4的最短路。
2、Floyd-Warshall算法
Floyd-Warshall算法是解决任意两点间的最短路径的 一种算法,可以正确处理有向图或负权的最短路径问题。
精选课件
§8.3 最短路问题
Page 9
8.3.2 狄克斯特拉算法 (Dijkstra algorithm,也称双标号法)
1959年, Dijkstra发现了在赋权图中求最短路的算法。 迪杰斯特拉(1930-2002,荷兰人),早年钻研物理及数学, 转为计算学。1972年获图灵奖(计算机界的诺贝尔奖)。
常见的最短路算法
1、Dijkstra算法 注意该算法要求不存在负权边 Dijkstra算法是典型的单源最短路径算法,用于计算一
个节点到其他所有节点的最短路径。主要特点是以起始点为 中心向外层层扩展,直到扩展到终点为止。Dijkstra算法在 很多专业课程如数据结构,图论,运筹学等中都作为基本内 容有详细的介绍,。
没有边,则令 dij = ,若两点之间是有向边,则 dji = ; 令 dii = 0,s 表示始点,t 表示终点
精选课件
§8.3 最短路问题
Page 15
(3)算法步骤:
1.给始点vs以P标号 P(vs ) 0 ,这表示从vs到 vs的最短距离 为0,其余节点均给T标号,P(vi ) (i 2,3, ,n) 。
1.提出“goto有害论”; 2 .提出信号量和PV原语; 3.解决了“哲学家聚餐”问题6;. THE操作系统的设计者和开发者;
4.最短路径算法和银行家算法的创造者;
5.第一个Algol 60编译器的设计者和实现者;
与D. E. Knuth并称为这个时代最伟大的计算机科学家的人。
精选课件
§8.3 最短路问题
A
P
B
C
精选课件
§8.3 最短路问题
Page 6
8.3.1 最短路问题
最短路问题: 就是从给定的网络图中找出一点到各点或任意两点之间
距离最短的一条路 .
有些问题,如选址、管道铺设时的选线、设备更新、投 资、某些整数规划和动态规划的问题,也可以归结为求最短 路的问题。因此这类问题在生产实际中得到广泛应用。