运筹学_最短路问题精品PPT课件

合集下载

《最短路问题》课件

《最短路问题》课件

3 最短路问题的历史
渊源
最短路问题最早由荷兰 数学家 Edsger Dijkstra 在 1956 年提出。
最短路问题的定义
图论中的最短路问 题指什么?
在无向连通图或有向连通图 中,从某一起点到其余各顶 点的最短路径。
什么是路径长度?
路径长度是指路径上边或弧 的权值之和。
什么是无环图?
无环图指不存在环的图,可 以用拓扑排序求解最短路。
《最短路问题》PPT课件
欢迎来到最短路问题的世界。在本课件中,我们将介绍四种最短路算法及其 应用,并分析它们的优缺点。
问题背景
1 什么是最短路问题? 2 为什么需要解决最
短路问题?
最短路问题是计算从源 节点到目标节点的最短 路径的问题。它是图论 中的一个经典算法问题。
很多实际问题都涉及到 最短路径的计算,比如 电网、交通、通信等领 域。
Floyd-Warshall算法解决的是所有点对之间 的最短路径问题,可以处理有向图或负边权 图。
Bellman-Ford算法
Bellman-Ford算法解决的是有向图中含有负 权边的单源最短路径问题。
A*算法
A*算法综合了贪心和广度优先搜索,在启发 函数的帮助下,可以高效解决带权图上的单 源最短路径问题。
算法示例
1
Step 1
假设我们要求从 A 点到其他各点的最
Step 2
2
短路径。
首先初始化 A 点到其他各点的距离为
无穷大,A 点到自身的距离为 0。
3
Step 3
找到 A 点的直接邻居,更新其距离值。
Step 4
4
重复 Step 3,直到所有节点的距离值 都已经更新。
总结

运筹学课件 最短路、最大流、邮路

运筹学课件 最短路、最大流、邮路
第i年 价格 ai 使用寿命 费用 bi 1 11 0-1 b1 5 2 11 1-2 b2 6 3 12 2-3 b3 8 4 12 3-4 b4 11 5 13 4-5 b5 18
最短路径问题的应用

例 设备更新问题
把求总费用最小问题化为最短路径问题。用点 i (i=1,2,3,4,5)表示第 i 年买进一台新 设备。增设一点 6 表示第五年末。从i点到i+1,……, 6 各画一条弧,弧(i , j)表示在 第 i 年买进的设备一直使用到第 j 年年初(第 j -1年年末)。求1点到6点的最短路径。 路径的权数为购买和维修费用。 弧(i , j)的权数为第i年的购置费ai+从第i年使用至第j-1年末的维修费之和。 从第i年使用至第j-1年末的维修费:b1+…+bj-i
1 1 2 3 4 5 2 16 3 22 16
(使用寿命为j-i年) 具体权数计算结果如下:
5 41 30 23 17 6 59 41 31 23 18
如:(2-4)权数为:a2+b1+b2=11+5+6=22
4 30 22 17
通过一个网络的最短路径

例 设备更新问题 :
2 16 30 22 41 4 23

最大流问题
两个重要结论: 1、任何一个可行流的流量都不会超过任一截集的容量。 2、若对于一个可行流f *,网络中有一个截集( V1*,V1*), 使v( f *)=C(V1*,V1 *),则f *必是最大流,而( V1*, V1 *)必是所有截集中容量最小的一个,即最小截集。
定理:可行流f *是最大流,当且仅当不存在关于f *的增广链。 于是有如下结论:最大流量最小截量定理:任一个网络中,从vs 到vt的最大流量等于分离vs,vt的最小截集的容量。

运筹学课件12

运筹学课件12

价格 11 12 13 12 (万元)
解 用点vi表示“第i年年初购进一台新设备”这种状态i=1,2,…,5, 用v6表示第5年底的状态。 对每个i=1,2,…,5,从vi到vi+1 ,…, v6各画一条弧, 弧(vi,vj)表示在第 i 年初购进一台设备一直使用到 第 j 年初(即第 j -1年底)。 弧(vi,vj)的权为在第 i 年初购进一台新设备 一直使用到第 j -1年年底所发生的总费用。 例如(v1,v4)表示第1年年初购进一台新设备,一直使用到第3年底。 第1年年初购进一台新设备,需支付11万元, 一直使用到第3年底,需维修费5+6+8=19万元, 故该弧的权为30。
实例1:求下图所示网络中从顶点 v 1 到 v 3 的最短路。
5
v4
2 7 1 2 10 3 4 4
v3
v5
4
1
v2
1
v1
3.求给定两点间最短路的Dijkstra算法 (1)基本思想 对网络中每个顶点赋以一个标号,用来记录从顶点v1到该顶点 的最短路的长度(此时称为永久标号)或最短路长度的上界 (此时称为暂时标号)。 算法开始时,只有顶点v1被赋予永久标号 u1=0, 其它顶点vj 被赋予暂时标号uj =w1j 。 算法在被暂时标号的顶点中寻找一个顶点, 其暂时标号最小,然后将其赋予永久标号, 且对其余暂时标号的顶点按下述方式修正其标号: uj =min{uj ,uk +wkj } 算法在所求顶点被赋予永久标号后终止。
u j,置 第二步(永久标号)在R中找一顶点vk,使 u k = min v ∈R
j
S = S U {v k }, R = R \ {v k },若 R = φ,停止;否则转第三步。
S = {v1 , v 2 , v5 , v 4 , v3 }

第三节 最短路问题PPT课件

第三节 最短路问题PPT课件

定义: 给定一个赋权有向图,即给了一个有向图
G=(V,A,W) ,对每一个弧aij =(vi,vj)∈A , 相应地有权w(aij ) =wij ∈V1 ,又给定 G中的 两个顶点vs ,vt 。设 P是G 中从vs 到 vt的一条路,
定义路 P的权是 P中所有弧的权之和,记为W(P)
。最短路问题就是要在所有从vs 到vt 的路中,求 一条权最小的路,即求一条从vs 到vt 的路P* ,
Thank You
在别人的演说中思考,在自己的故事里成长
Thinking In Other People‘S Speeches,Growing Up In Your Own Story
讲师:XXXXXX XX年XX月XX日
则resent= vk,
, 。 Sk Sk1 vk
Tk Tk1 vk
若k=n,则结束,否则转第二步。
6
例 用Dijkstra算法求前面例子中从v1到各点的最短路。
v2 1
6 2
v5
2
v9
6
3
v1
3 v3 6
3 4 10
1
2
v4
10
4
v6 2 v7
v8
7
图上标号法:
v2 v1,6 1
v5
v1, ∞ 2
转步骤二。
29
用逐次逼近算法求从V1到V6的最短路
v2
5
4
v1
-3
5
7
v3
v6 v4 6
2
v5
30
写在最后
经常不断地学习,你就什么都知道。你知道得越多,你就越有力量 Study Constantly, And You Will Know Everything. The More

运筹学课件(第十讲)—最短路问题

运筹学课件(第十讲)—最短路问题
如果P是D中从vs到vj的最短路,vi是P中的一点,那么从vs沿P到vi路也是 从vs到vi的最短路。
Dijkstra法的适用条件
求出一点到图中任意点最短路
求解思路
从vs出发,逐步地向外探索最短路。执行过程中,与每个点记下一个数, 它或者表示从vs到该点的最短路的权(称为P(perpetual)标号),或者是 从vs到该点的最短路的权的上界(称为T(temporary)标号),方法的每一 步是去修改T标号,并且把某一个T标号点改为P标号点,从而使D中P标 号顶点多一个,这样最多经过p-1步就可以求出从vs到各点的最短路。
(2)起点发出的流的总和(称为流量),必须等于终点接收的流的总 和;
(3)各中间点流入的流量之和必须等于从该点流出的流量之和,即 流入的流量之和与流出的流量 之和的差为0,也就是说各中间点只 起转运作用,它既不产出新的物资,也不得截留过境的物资.
Operation Research
网络最大流的基本概念(3)
第八讲
Operation Research
网络最大流的基本概念(6)
增广链的基本概念
第八讲
Operation Research
第八讲
Operation Research
第八讲
Operation Research
实例:寻找图中增广链
第八讲
Operation Research
第八讲
网络最大流的基本概念(7)
运筹学课程
Operation Research
最短路问题
定义
第八讲
求最短路有两种算法,一是求从某一点至其他各点之间最短距离的Dijkstra(狄 克斯屈拉)算法;另一种是求网络图上任意两点之间最短距离的矩阵算法.

运筹学——.图与网络分析-最短路课件

运筹学——.图与网络分析-最短路课件

运筹学——.图与网络分析-最短路
v2 (4) 5 v4
9
v6
4
1
v1 (0)
4
75
5
v8
① ②
64
v 3(6)
7 v 5 (8) 6
1
v7


4)接着往下考察,有四条路可走:(v2,v4), (v2,v5).
可选择的最短路为
(v3,v4), (v3,v5).
m k 2 , ik 4 2 n ,k 5 3 ,{ k 4 3 } 5m 9 ,8 , i 1 , n 1 } 0 { 3 8
(v5,v6), (v5,v7 ).
m k 2 ,i k 4 3 n ,k 4 5 ,k { 6 5 } 7 m 9 ,1 i ,1 n ,1 0 } 3 { 4 9
① 给(v2,v4) 划成粗线。
② 给 v 4 标号(9)。
③ 划第5个弧。
运筹学——.图与网络分析-最短路
v 2 ( 4 ) 5 v 4(9 ) 9 v 6 (13 )
运筹学——.图与网络分析-最短路
引言
随着科学技术的进步,特别是电子计算机 技术的发展,图论的理论获得了更进一步的发展, 应用更加广泛。如果将复杂的工程系统和管理问 题用图的理论加以描述,可以解决许多工程项目 和管理决策的最优问题。因此,图论越来越受到 工程技术人员和经营管理人员的重视。
运筹学——.图与网络分析-最短路
树图的各条边称为树枝假定各边均有权重一般图g2含有多个部分树其中树枝总长最小的部分树称为该图的最小部分树也称最小支撑树?定理1图中任一个点i若j是与i相邻点中距离最近的则边ij一定必含在该图的最小部分树内
第6章 图与网络分析
本章内容重点 图的基本概念与基本定理 树和最小支撑树 最短路问题 网络最大流

运筹学 PPT课件 第五章 图与网络分析-最短路

运筹学 PPT课件  第五章 图与网络分析-最短路

Dijkstra最短路算法的特点和适应范围
一种隐阶段的动态规划方法 每次迭代只有一个节点获得永久标记,若有两个或两个以上节点的 临时标记同时最小,可任选一个永久标记;总是从一个新的永久标 记开始新一轮的临时标记,是一种深探法 被框住的永久标记 Tj 表示 vs 到 vj 的最短路,因此 要求 dij0,第 k 次迭代得到的永久标记,其最短路中最多有 k 条边,因此最多有
d
(0) 65
}
min{0 ,2 9,6 3, , 0, 1}
9 取自第3列
v1 v2 v3 v4 v5 v6
0 2 6
2
0
3
8
9
D(0) L 6 3 0 5 3
8
5
0
3
9 3 0 1
3
1
0
d (1) 16
mkin{d1(k0)
d
} (0)
k6
(第1行+第6列)
8
5
0
3
9 3 0 1
3
1
0
d (1) 15
mkin{d1(k0)
d
(0) k5
}
(第1行+第5列)
min{d1(10)
d (0) 15
,
d (0) 12
d (0) 25
,
d (0) 13
d (0) 35
,
d (0) 14
d
(0) 45
,
d (0) 15
d (0) 55
,
d (0) 16
min{d1(10)
d (0) 16
,
d (0) 12
d
(0) 26
,
d (0) 13

最短路算法上课ppt

最短路算法上课ppt

优点
缺点
优点
优点
效率低,需要遍历所有点(特别是有时候不需要最优解)、运算中占用空间大
缺点
算法简明易懂、并且一定能得到最优解
优点
Dijkstra算法可能不是最优先使用的方法,因为算法的运算速度效率,往往要比精确度更加重要
实际运用
但似乎在实际运行时效果并不理想! 这样利用Dijkstra算法设计一个属于我们自己的导航系统啦。
最佳优先搜索简介
这个算法的运算流程跟Dijkstra的流程类似,只不过它考察的是选取点到终点的距离,并且这个距离的权值是评估出来的,这也就是启发式的思想。举例说明,如果说目标的终点在北面,那么越靠近北面的点权值就越小,那么算法在搜索过程中,所加入点集的点就会倾向于北面,因此不用搜索全图东南西北,更多的是搜索北面的点,速度来说会优于Dijkstra算法很多。
01
A*算法能够解决有固定障碍物的路径规划问题,并且能很快地给出解,但是当障碍物是移动的时候,我们又应该如何对算法进行改从而给出解呢?
02
一个典型问题:AGV小车线路规划!
智能码头:AGV
AGV中文名:自动导引小车
是自动化码头水平运输系统中用于搬运集装箱的搬运设备。
其主要职责:就是在规定的时间窗口范围内完成堆场和岸桥之间实现集装箱的传送。

算法的描述上看去相当复杂,我们给出下面例子来具体说明整个算法的运行流程!
首先我们要有如下概念:
假设P:v→km是从顶点v到km的一条最短路径,那对这条路径上任意其他一点ki,都有 P上关于v→ ki的子路径为v到点ki的最短路径。
即最短路径的子路径仍然是最短路径,最短路算法本质上上基于这种思想展开的。
最短路问题及相关算法介绍

运筹学最短路邮递员问题PPT课件

运筹学最短路邮递员问题PPT课件

从一点到任意点的最短路
• 木器厂有六个车间,办事员经常 要到各个车间了解生产进度。从 办公室到各车间的路线由图1给出。
找出点1(办公室)到其它各点 (车间)的最短路
11
27
2
2
1 5 3 5 55 7
3
1
4
3
1
6
7
5
12
2
权wij(dij)
2
距离、价格 2
15
3
点(vi)
边eij或记为(vi,vj) 13
3
5
3
3 0 v1
v2
3
v6
2.5
2
53
1
2
v3
4 3
4
v7 2
v4
v9
4 v8
41
v5
3
5
3
3 0 v1
v2
3
v6
2.5
2
53
1
2
v3
4 3
4
v7 2
v4
v9
4 v8
42
6 v5
3
5
3
v2
3
6
3
v6
2.5
0
v1
2
53
1
2
v3
4 3
4
v7 2
v4
v9
4 v8
43
6 v5
3
5
3
v2
3
6
3
v6
2.5
最短路问题不仅可以求解交通图中两点之间的最短距离,实际 中很多问题也可变为最短路问题加以求解。例如设备更新问题,厂 区合理布局问题等。兹举一例:
例1(设备更新问题)某企业使用一台设备,在每年年底,企业 都要决策下年度是购买一台新设备呢?还是继续使用这台设备。若 购买新的,就要支付一笔购置费;如果使用旧设备,只要支付维修 费,而维修费随着设备的使用年限延长而增加。现根据以往统计资 料已经估算出设备在各年初的价格和不同使用年限的修理费用,分 别如表1、表2所示。

运筹学-最短路问题[课件参考]

运筹学-最短路问题[课件参考]

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.设节点 vi 为刚得到P标号的点,考虑点vj,其中 (vi , v j ) E ,且vj为T标号。对vj的T标号进行如下修改:
T (v j ) min[T (v j ) , P(vi ) wi j ]
3.比较与vi相邻的所有具有T标号的节点,把最小者改为P 标号,即: P(vk ) min[T (vi )]
精选课件
Chapter8 图与网络优化
本章主要内容:
§8.1 图的基本概念 §8.2 树 §8.3 最短路问题 §8.4 网络最大流问题 §8.5 最小费用最大流问题 §8.6 中国邮递员问题
精选课件
Page 3
§8.3 最短路问题
The Shortest-Path Problem
精选课件
§8.3 最短路问题
Page 17
解 :(1)首先给v1以P标号,给其余所有点T 标号。
P(v1) 0,T (vi ) (i 2, 3, , 8),(v1) 0;
(2) T (v2 ) min{T (v2 ), P(v1 ) w12 } min{ , 0 3} 3
T (v4 ) min{T (v4 ), P(v1 ) w14 } min{ , 0 7} 7
精选课件
§8.3 最短路问题

最短路问题(课堂PPT)

最短路问题(课堂PPT)
5
5
0
5
V2
3
6 5 5 V6
V1 4
7 2
V4 7
1
6
8
V5 4
V3
V7
4
6
(4)找出所有与v1,v2,v3相邻的未标记的点v4,v5,v6,求出
从v1直接到这些点的距离(v1->v4:7)以及经过v2到这些点 的距离(v1->v2->v4:11;v1->v2->v5:10;v1->v2->v6:8)以及 经过v3到这些点的距离(v1->v3->v4:6;v1->v3->v5:12)找出 这些距离中最短的路径为v1->v3->v4,最短距离为L14=6, 将v4标记为6
3 2 4 1
时间
2 3 3 2
25
0
5
V2
3
6 5 5 V6
V1 4
7 2
V4 7
1
6
8
V5 4
V3
V7
4
(2)找出同v1相邻的未标号的点有v2,v3,v4,求出从
v1到其所有相邻点的距离(v1->v2:5;v1->v3:4;v1>v4:7),距离最短路径为v1->v3,最短距离为L13=4, 将v3标记为4
0
5
V2
3
6 5 5 V6
5
0
5
V2
3
6 6 5 5 V6
V1 4
7 2
V4 7
1
6
8
V5 4
V3
V7
4
7
(5)找出所有与v1,v2,v3,v4相邻的未标记的点v5,v6,求出

运筹学最短路邮递员问题PPT课件

运筹学最短路邮递员问题PPT课件


新的T(vj)=min{老的T(vj),p(vi)+ ωij }
• 若T(vj)= p(vi)+ ωij ,则记k(vj )=vi(前点标记);
• 3°找出具有最小T标号的点,将其标号改为p标号。若vt 已获得p
标号,则已找到最短路,由k(vt)反向追踪,就可找出vs 到vt 的最
短路径,p(vt)就是vs 到vt 的最短距离。否则,转2°。
p(v2)
=3 3
p(v1) v1
p(v=30)
=4
6
v2
51 1
v4
7 4
v5
v3 3 2
5
v7
26 v6 9 15
v8
T(v4)=min{6,4+1}=5, k(v4 )=v3
T(v6)=min{7,4+2}=6, k(v6 )=v3
目前,点v4 具有最小T标号,将其标号改为p标号: p(v4)=5;
向继续前进,则最先到达终点vt 的流所走过的路径一定是最短的。
为了实现这一想法,对假想流依次到达的点,依次给予p标号,表
示vs到这些点的最短距离。对于假想流尚未到达的点给予T标号,
表示vs到这些点的最短距离的估计值。具体作法如下:
• 1°标p(vs)=0,其余点标T(vi)=+∞;
• 2°由刚刚获得p标号的vi 点出发,改善它的相邻点vj 的T标号,即
对于点v2 :d(v2)=min{16+31,22+23,30+18,41}=41, v对2→于v点6 v;1 :d(v1)=min{16+41,22+31,30+23,41+18,59}
试确定一个五年内的设备更新计划,使五年内总支出最小。

运筹学05_图与网络分析2_最短路演示课件.ppt

运筹学05_图与网络分析2_最短路演示课件.ppt

5
精选课件
(3,7)
(1,2)
2
2
0
1
2
5
(2,4)
3
7
5
(6,8)
55
7
1
3
3
1
4
6
7
(1,3)
5
精选课件
(3,7)
(1,2)
2
2
0
15
1 3
4
(1,3)
2
(2,4)
3
5
7 (6,8)
5 55
3
1
6
7
精选课件
(3,7)
(5,13)
7
(1,2)
2
2
0
15
1 3
4
(1,3)
2
(2,4)
3
5
7 (6,8)
5 55
3
1
6
7
精选课件
(3,7)
(5,13)
7
对有向图同样可以用标号算法: 例2 如图,有一批货物要从v1运 到v9,弧旁数字表示该段路长, 求最短运输路线。
精选课件
3 0 v1
4
v5
3
5
v2
3
2
v6
2.5
3
1
2
v3 3
v7 2
v4
v9
4 v8
精选课件
v5
3
5
1,3
3 0 v1
v2
3
2
v6
2.5
一个连通图能一笔画的条件是: 它没有奇点;或者它恰好有一个奇点。
精选课件
一个图有5个点,8条边。这个图一定是 A.连通图 B.树 C.完全图 D.不连通图
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2∞604 ∞2 440
53 1
108 2
v1 2 v3 4 v5
2 6 24
v4 dij为两相邻点的距离, 是从 i 到 j 点的直接距离。
从 i 到 j 点的最短距离不一定是 i→ j,
可能是i→ l → j, i→ l → k→ j, 或 i→ l → …→ k→ j,
n个点的网络, i 到j 的最短距离经过的中间点最多有n-2个
7∞9∞6
2∞604 1 10 0 6 4
3∞6 6 8
∞2 4 4 0 ∞2 4 4 0 ∞2 4 4 0
0 5 2 2 ∞ 5 0 3 ∞ 2 1 10 0 6 4 ∞ 7 6 6 ∞ ∞ 2 7 ∞ ∞ ∞ 12 4 10 4
P158 类例4求图中任意两点间的最短路。
2∞604 2∞2 0 4 4∞8 0 8
5 0 10 ∞ 2 0522∞
5 5 12 ∞ ∞
5 0 10 ∞ 2 5 0 3∞2
10 0 13 ∞ 4
5 0 10 ∞ 2 1 10 0 6 4
6 10 10 ∞ 6
0 5 1 2∞ 2∞2 0 4 2∞3 2∞
5 0 10 ∞ 2 2∞2 0 4 7 ∞ 12 ∞ 6
0 5 1 2∞ ∞2 8 4 0 ∞7 9 6∞
⑶ 比较所有具有T标号的点, 最小者改为P标号。
P (v i) = min [T (v j) ] 并列最小者, 同时改为P标号。
若全部点均为P标号则停;否则用 v i 代 v i , 转 ⑵ .
例3
用Dijkstra 算法
v2
7
v5
求v1点到v7点v2的最短7路。
v5
5
3
55
3
v1 0 2
2 7
6 v4 2
2 7
6
22
76 v4 2
1 v7 10 6
v3
4
v6
v3
4
v6 6
例9 用Dijkstra 算法 求v1点到v8点的最短路。 ⑴ P(v1)=0, 余皆为T标号:T (vi)=+∞ ( i = 2,…,8 ) ⑵ T(v2)=min(T(v2), P(v1)+l12)=min(+∞,0+4)=4
所以我们先考虑与之间有一个中间点的情况.
P158 类例4 求图中任意两点间的最短路。
v2
所以我们先考虑 i 与 j 之间有一个 中间点的情况 D(0) =
求v1→v2的最短距离为,
0 5 1 2∞ 5 0 10 ∞ 2 23 028
2∞604 ∞2 440
53 1
108 2
v1 2 v3 4 v5
5 0 10 ∞ 2 ∞2 8 4 0 ∞ 2 18 ∞ 2
23028
0 5 2 2∞ 2 8 2 4∞
23028 5 0 3∞2
7 3 3 ∞ 10
23028 1 10 0 6 4
3 13 0 8 12
T(v3)=min(T(v2), P(v1)+l13)=min(+∞,0+6)=6 ⑶P(v2)=4, (v1, v2) ⑷ T(v4)=min(T(v4), P(v2)+l24)
=min(+∞,4+5)=9 T(v5)=min(T(v5), P(v2)+l25)
=min(+∞,4+4)=8
⑸P(v3)=6, (v1, v3)
第一行 转置后的第二列
0 5 1 2∞ 5 0 3∞ 2
5 5 4∞ ∞
d12(1) = 4
0 5 1 2∞ 0 5 2 2∞
0 10 3 4 ∞
0 5 1 2∞ 5 0 3∞2
5 5 4 ∞∞
0 5 1 2∞ 1 10 0 6 4
1 15 1 8 ∞
5 0 10 ∞ 2 0522∞
5 5 12 ∞ ∞
23028
0 5 2 2∞ 2 8 2 4∞
23028 5 0 3∞2
7 3 3 ∞ 10
23028 1 10 0 6 4
3 13 0 8 12
23028 2∞2 0 4
4 ∞ 2 2 12
23028 ∞2 8 4 0
∞5 8 6 8
2∞604
0 5 2 2∞ 2∞8 2∞
2∞604 5 0 3∞2
1 v7 v1 0
2 7
6
22
6 v4 2
1 v7 6
vv32
4 7
vv65
vv32
4 7
vv6567
5
3
55
3
v1 0
2 7
22
6 v4 2
1 v7 6
v1 0 2
2
2 7
76 v4 2
1 v7 6
vv32
4 7
vv65
vv32
4 7
vv6567
55
3
55
3
v1 0
2 7
22
6 v4 2
1 v7 v1 0
§3 最短路问题
试探性标号(tentative label), 永久性标号(permanent label)
Dijkstra 算法(不含负权边)
⑴ 给vi 以P标号, P( vi )=0 , 其余各点均给T标号, T (vi)=+∞ ⑵ 与刚获P标号点vi 以相邻只有T 标号各点v j 改进:
T (v j) = min [T (v j), P (v i) + l i j ]
v2
5
v1
2 7
2
v3
7
6 v4 2
v5 3
1 v7 6
4
v6
⑹T(v4)=min(T(v4), p(v3)+l34)=min(6,6+4)=9,
T(v5)=min(T(v5), P(v3)+l35)=min(8,6+7)=8
P158 类例4 求图中任意两点间的最短路。
v2
D(0) =
0 5 1 2∞ 5 0 10 ∞ 2 23 028
5 0 10 ∞ 2 5 0 3∞2
10 0 13 ∞ 4
5 0 10 ∞ 2 1 10 0 6 4
6 10 10 ∞ 6
0 5 1 2∞ 2∞2 0 4 2∞3 2∞
5 0 10 ∞ 2 2∞2 0 4 7 ∞ 12 ∞ 6
0 5 1 2∞ ∞2 8 4 0 ∞7 9 6∞
5 0 10 ∞ 2 ∞2 8 4 0 ∞ 2 18 ∞ 2
∞2 4 4 0 2∞2 0 4 ∞∞ 6 4 4
2∞604 ∞2 8 4 0 ∞ ∞ 14 4 4
∞2 4 4 0 ∞2 8 4 0 ∞ 4 12 8 0
0 5 1 2∞ 0 5 2 2∞
0 10 3 4 ∞
0 5 1 2∞ 5 0 3∞2
5 5 4 ∞∞
0 5 1 2∞ 1 10 0 6 4
1 15 1 8 ∞
2 6 24
v4
min{ d11+d12, d12+d22, d13+d32, d14+d42, d15+d52 } 即 min { d i r + d r 2 }
r = 1, 2, …, n
r 应经过网络的每一点,或网络中的每一ห้องสมุดไป่ตู้都要作中间点.
具体操作是把第i行和转置后的第j列相加,从中找出最小者.
相关文档
最新文档