1k likes | 1.15k Views
第八章 图与网络分析. 最短路问题 最短路的应用. 第一讲: 最短路问题. 最短路问题是网络理论中应用最广泛的问题之一。许多优 化问题都可以使用这个模型,如设备更新、管道的铺设、 线路的安排、厂区的布局等。. 最短路问题的一般提法是:设 为连通图,图中 各边 有权 ( 表示 , 之间没有边) , 为图中任意两点,求一条道路 ,使它是从 到 的所有路中总权最小的路。即:. 最小。.
E N D
第八章 图与网络分析 • 最短路问题 • 最短路的应用
第一讲: 最短路问题 最短路问题是网络理论中应用最广泛的问题之一。许多优 化问题都可以使用这个模型,如设备更新、管道的铺设、 线路的安排、厂区的布局等。 最短路问题的一般提法是:设 为连通图,图中 各边 有权 ( 表示 , 之间没有边), 为图中任意两点,求一条道路 ,使它是从 到 的所有路中总权最小的路。即: 最小。
最短路算法中1959年由 (狄克斯特洛)提出的 算法被公认为是目前最好的方法,我们称之为 算 法。下面通过例子来说明此法的基本思想。 条件:所有的权数 思路:逐步探寻。
① 下求 到 的最短路: 1)从 出发,向 走。首先,从 到 的距离为0,给 标号(0)。画第一个弧。(表明已 标号,或已走出 ) 2) 从 出发,只有两条路可走 ,其距离为
① ② 可能最短路为 ① 给 划成粗线。 ②给 标号(4)。 ③ 划第二个弧。
① ② 表明走出 后走向 的最短路目前看是 ,最优距离 是4 。 现已考察完毕第二个圈内的路,或者说,已完成 的标号。
① ② ③ 3)接着往下考察,有三条路可走: 可选择的最短路为 ① 给 划成粗线。 ②给 标号(6)。 ③ 划第3个弧。
① ② ③ ④ 4)接着往下考察,有四条路可走: 可选择的最短路为 ① 给 划成粗线。 ②给 标号(8)。 ③ 划第4个弧。
① ② ③ ④ ⑤ 5)接着往下考察,有四条路可走: 可选择的最短路为 ① 给 划成粗线。 ②给 标号(9)。 ③ 划第5个弧。
① ② ③ ④ ⑤ ⑥ 6)接着往下考察,有四条路可走: 可选择的最短路为 ① 给 划成粗线。 ②给 标号(13)。 ③ 划第6个弧。
7)接着往下考察,有四条路可走: 可选择的最短路为 ① 同时给 划成粗线。 ② 分别给 标号(14)。
最后,从 逆寻粗线到 ,得最短路: 长度为14。
第二讲:最短路问题的两个应用 最短路问题在图论应用中处于很重要的地位,下面举两个实 际应用的例子。 例12/P264 设备更新问题 某工厂使用一台设备,每年年初工厂要作出决定:继续使 用,购买新的?如果继续使用旧的,要负维修费;若要购买 一套新的,要负购买费。试确定一个5年计划,使总支出最小 若已知设备在各年的购买费,及不同机器役龄时的残值与 维修费,如表8-2所示.
表8-2 解:把这个问题化为最短路问题。 用点 表示第i年初购进一台新设备,虚设一个点 ,表示第 5年底。 边 表示第i年购进的设备一直使用到第j年初(即第j-1 年底)。
边 上的数字表示第i年初购进设备,一直使用到第j年 初所需支付的购买费、维修的全部费用(可由表8-2计算得 到)。 这样设备更新问题就变为:求从 到 的最短路问题.
① ② ⑴ ⑵ 给 划成彩线。 ⑶
① ② ③ ④ 给 划成彩线。 ⑷ 给 划成彩线。
① ② ③ ⑤ ④ ⑸ 给 、 划成彩线。
① ② ③ ⑤ ④ ⑹ 给 划成彩线。 计算结果:最短路
① ② ③ ⑤ ④ 最短路路长为49。 即:在第一年、第三年初各购买一台新设备为最优决策。 这时5年的总费用为49。
例13 (选址问题P265 ) 已知某地区的交通网络如图8-37所示, 其中点代表居民小区,边代表公路,边权为小区间公路距离, 问区中心医院应建在哪个小区,可使离医院最远的小区居民就 诊时所走的路程最近? 解 求中心的问题。 解决方法:先求出 到 其它各点的最短路长 如 再求
即为所求。 比如求 ⑴ ⑵ 给 划成彩线。
⑶ 给 标号20。 给 划成彩线。
⑷ 给 标号30。 给 划成彩线。
⑸ 分别给 标号33。 分别给 划成彩线。
⑹ 给 标号63。 给 划成彩线。 其它计算结果见下表:
表 8.1 由于 最小,所以医院应建在 ,此时离医院最 远的小区 距离为48。
三. Floyd (佛洛伊德)算法 这里介绍得Floyd(1962年)可直接求出网络中任意两 点间的最短路。 令网络中的权矩阵为 其中 当 其他 算法基本步骤为: ⑴ 输入权矩阵
例14/P266 ⑵ 计算 其中 例如:
中不带角标的元素表示从 到 的距离(直接有边), 带角标的元素表示借 为中间点时的最短路长。
在放开 的基础上,再放开 中不带角标的元素表示从 到 的距离(直接有边), 带角标的元素表示借 为中间点时的最短路长。
注意到: 在放开 点的基础上,再放开 考察最短路。
第二讲 最大流问题 最大流问题是一类应用极为广泛的问题,例如在交通运输 网络中有人流、车流、货物流、供水系统中有水流,金融 系统中有现金流,通信系统中有信息流,等等。 一. 有关概念: 例:下图是输油管道网, 为起点, 为终点, , , , 为中转站,边上的数字表示该管道的最大输油能 力(也称容量),记为 ,问应如何安排各管道输油量, 才能使从到的总输油量最大?
① 分别称 为发点、收点。其余的点称为中间点。 ②每一个边上都给定一个容量的网络称为容量网络,记 • 的每一个边上都给定一个实际流量 的网络称为给 • 定了网络一个流。
④容量限制 条件: 对每一边上都有 若 ,称边 是饱和边。 ⑤平衡条件: a) 中间点: 流入量=流出量。 b) 发收点: 发出流量=汇入流量。
这种流称为可行流。上图就是一个可行流。使流量达到这种流称为可行流。上图就是一个可行流。使流量达到 最大的流称为最大流 。 ⑥可增广链:是指从 到 有一条链,此链上有 ≤ 的现象出现。(非饱和链) 二. 求解最大流: 1) 寻找可增广链: • 先给标号 (∆,+∞),其中∆意思是流入的结点,现没 • 有,纯属一个符号。+∞表示的流出量。因它上面没有结点 • 来控制它,故设为+∞.
b) 接着检查与相邻接的点 , , 。 已饱和,流量不 可再增。再检查 ,可调整量为 4-2=2,可提供量+∞,取 调整量
给 标号 ,其中 表示 的所调整量2来自 ,且 为正向流(向前流) 。 同理,给 标号 • 下对已标号点(可望调整点)接着向下检查。 已饱 • 和。再检查与 相邻接且未标号的点
调整量为 给 标号为 d) 检查与 相邻接且未标号的点 , 。而 对 来讲是流 入,现欲增加流出量,应压缩 的流入量,只要的流入量
可令调整量为 给 标号为 表示可控量,反方向流量。
f) 下面检查与 相邻接且未标号的点 ,同理,调整量: 给 标号为 g) 最后,给 标号
2)调整流量:从 到 所画出的彩线即为可增广链。沿 该可增广链,从 倒推,标“+”号的在实际流量上加上 该调整量,标“-”符号的在实际流量上减去该调整量。完 成调整过程。
重新开始标号,寻找可增广链。当标到 时,与 , 相 邻接的点 , , 都不满足标号条件,标号无法继续,且 没有完成标号。此时最大流量即为所求。
第三讲:最大流问题的应用 1. 最大匹配问题 ⑴ 二部图(也叫二分图) 图G= (V, E), 若V=X∪Y且X∩Y=ф,使得E中每一条边 的两个端点必有一个属于X,另一个属于Y,则称G为二 部图。记G=(X,Y,E),或G=(X,E,Y)。