收藏 分享(赏)

第11章 图与网络模型.doc

上传人:fmgc7290 文档编号:7689576 上传时间:2019-05-23 格式:DOC 页数:8 大小:41KB
下载 相关 举报
第11章 图与网络模型.doc_第1页
第1页 / 共8页
第11章 图与网络模型.doc_第2页
第2页 / 共8页
第11章 图与网络模型.doc_第3页
第3页 / 共8页
第11章 图与网络模型.doc_第4页
第4页 / 共8页
第11章 图与网络模型.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、 第十一章 图与网络模型 1 图与网络的基本概念 2 最短路问题 3 最小生成树问题 4 最大流问题 5 最小费用最大流问题 1 图与网络的基本概念 1 图与网络的基本概念 1 图与网络的基本概念 1 图与网络的基本概念 无向图: 由点和边构成的图,记作 G (V,E) 。 有向图: 由点和弧构成的图,记作 D (V,A) 。 连通图: 对无向图 G,若任何两个不同的点之间,至少存在一条链,则 G 为连通图。 回路: 若路的第一个点和最后一个点相同,则该路为回路。 赋权图: 对一个无向图 G 的每一条边 vi,vj ,相应地有一个数wij,则称图 G 为赋权图,wij 称为边 vi,vj 上的

2、权。 网络: 在赋权的有向图 D 中指定一点,称为发点,指定另一点称为收点,其它点称为中间点,并把 D 中的每一条弧的赋权数称为弧的容量,D 就称为网络。 2 最短路问题 最短路问题:对一个赋权的有向图 D 中的指定的两个点 Vs 和 Vt 找到一条从 Vs 到 Vt 的路,使得这条 路上所有弧的权数的总和最小,这条路被称之为从 Vs 到 Vt 的最短路。这条路上所有弧的权数的总和被称为从 Vs 到 Vt 的距离。 一、求解最短路的 Dijkstra 算法 双标号法) 步骤: 1.给出点 V1 以标号 0,s 2.找出已标号的点的集合 I,没标号的点的集合 J 以及弧的集合 3. 如果上述弧的

3、集合是空集,则计算结束。如果 vt 已标号(lt,kt) ,则 vs 到 vt 的距离为 lt,而从 vs 到 vt 的最短路径,则可以从 kt 反向追踪到起点 vs 而得到。如果 vt 未标号,则可以断言不存在从 vs 到 vt 的有向路。如果上述的弧的集合不是空集,则转下一步。 4. 对上述弧的集合中的每一条弧,计算 sij li+cij 。在所有的 sij 中,找到其值为最小的弧。不妨设此弧为(Vc,Vd) ,则给此弧的终点以双标号(scd,c),返回步骤 2。 2 最短路问题 例 1 求下图中 v1 到 v6 的最短路 解:采用 Dijkstra 算法,可解得最短路径为 v1 v3 v

4、4 v6 各点的标号图如下: 2 最短路问题 例 2 电信公司准备在甲、乙两地沿路架设一条光缆线,问如何架设使其光缆线路最短?下图给出了甲乙两地间的交通图。权数表示两地间公路的长度(单位:公里) 。 解:这是一个求无向图的最短路的问题。可以把无向图的每一边(vi,vj)都用方向相反的两条弧(vi,vj)和(vj,vi)代替,就化为有向图,即可用Dijkstra 算法来求解。也可直接在无向图中用 Dijkstra 算法来求解。只要在算法中把从已标号的点到未标号的点的弧的集合改成已标号的点到未标号的点的边的集合即可。 2 最短路问题 例 2 最终解得: 最短路径 v1 v3 v5 v6 v7,每点

5、的标号见下图 2 最短路问题 例 3 设备更新问题。某公司使用一台设备,在每年年初,公司就要决定是购买新的设备还是继续使用旧设备。如果购置新设备,就要支付一定的购置费,当然新设备的维修费用就低。如果继续使用旧设备,可以省去购置费,但维修费用就高了。请设计一个五年之内的更新设备的计划,使得五年内购置费用和维修费用总的支付费用最小。 已知:设备每年年初的价格表 设备维修费如下表 2 最短路问题 例 3 的解: 将问题转化为最短路问题,如下图: 用 vi 表示“第 i 年年初购进一台新设备”,弧(vi,vj)表示第 i 年年初购进的 设备一直使用到第 j 年年初。 把所有弧的权数计算如下表: 2 最

6、短路问题 继上页 把权数赋到图中,再用Dijkstra 算法求最短路。 最终得到下图,可知, v1 到 v6 的距离是 53,最短路径有两条: v1 v3 v6 和 v1 v4 v6 3 最小生成树问题 树是图论中的重要概念,所谓树就是一个无圈的连通图。 3 最小生成树问题 3 最小生成树问题 一、求解最小生成树的破圈算法 算法的步骤: 1、在给定的赋权的连通图上任找一个圈。 2、在所找的圈中去掉一个权数最大的边(如果有两条或两条以上的边都是权数最大的边,则任意去掉其中一条) 。 3、如果所余下的图已不包含圈,则计算结束,所余下的图即为最小生成树,否则返回第 1 步。 3 最小生成树问题 例

7、4 用破圈算法求图(a)中的一个最小生成树 3 最小生成树问题 例 5、某大学准备对其所属的 7 个学院办公室计算机联网,这个网络的可能联通的途径如下图,图中 v1,v7 表示 7 个学院办公室,请设计一个网络能联通 7 个学院办公室,并使总的线路长度为最短。 4 最大流问题 最大流问题:给一个带收发点的网络,其每条弧的赋权称之为容量,在不超过每条弧的容量的前提下,求出从发点到收点的最大流量。 一、最大流的数学模型 例 6 某石油公司拥有一个管道网络,使用这个网络可以把石油从采地运送到一些销售点,这个网络的一部分如下图所示。由于管道的直径的变化,它的各段管道(vi,vj)的流量 cij(容量)

8、也是不一样的。cij 的单位为万加仑/小时。如果使用这个网络系统从采地 v1 向销地 v7 运送石油,问每小时能运送多少加仑石油? 4 最大流问题 4 最大流问题 4 最大流问题 二、最大流问题网络图论的解法对网络上弧的容量的表示作改进。为省去弧的方向,如下图: a 和 b 、 c 和 d 的意义相同。 用以上方法对例 6 的图的容量标号作改进,得下图 4 最大流问题 求最大流的基本算法 (1)找出一条从发点到收点的路,在这条路上的每一条弧顺流方向的容量都大于零。如果不存在这样的路,则已经求得最大流。 (2)找出这条路上各条弧的最小的顺流的容量 pf,通过这条路增加网络的流量 pf。 (3)在

9、这条路上,减少每一条弧的顺流容量 pf ,同时增加这些弧的逆流容量 pf,返回步骤(1) 。 用此方法对例 6 求解: 第一次迭代:选择路为 v1 v4 v7 。弧( v4 , v7 )的顺流容量为 2, 决定了 pf 2,改进的网络流量图如下图: 4 最大流问题 第二次迭代:选择路为 v1 v2 v5 v7 。弧( v2 , v5 )的顺流容量为 3,决定了 pf 3,改进的网络流量图如下图: 第三次迭代:选择路为 v1 v4 v6 v7 。弧( v4 , v6 )的顺流容量为 1,决定了 pf 1,改进的网络流量图如下图: 4 最大流问题 第四次迭代:选择路为 v1 v4 v3 v6 v7

10、 。弧( v3 , v6 )的顺流容 量为 2,决定了 pf 2,改进的网络流量图如下图: 第五次迭代:选择路为 v1 v2 v3 v5 v7 。弧( v2 , v3 )的顺流容 量为 2,决定了 pf 2,改进的网络流量图如下图: 4 最大流问题 经过第五次迭代后在图中已经找不到从发点到收点的一条路,路上的每一条弧顺流容量都大于零,运算停止。得到最大流量为 10。 最大流量图如下图: 5 最小费用最大流问题 最小费用最大流问题:给了一个带收发点的网络,对每一条弧 (vi,vj) ,除了给出容量 cij 外,还给出了这条弧的单位流量的费用 bij,要 求一个最大流 F,并使得总运送费用最小。

11、一、最小费用最大流的数学模型 例 7 由于输油管道的长短不一,所以在例 6 中每段管道( vi,vj )除 了有不同的流量限制 cij 外,还有不同的单位流量的费用 bij ,cij 的单位为万 加仑/小时, bij 的单位为百元/万加仑。如图。从采地 v1 向销地 v7 运送石 油,怎样运送才能运送最多的石油并使得总的运送费用最小?求出最大流 量和最小费用。 5 最小费用最大流问题 5 最小费用最大流问题 5 最小费用最大流问题 5 最小费用最大流问题 二、最小费用最大流的网络图论解法 对网络上弧(vi,vj)的(cij,bij)的表示作如下改动,用 b 来表示 a 。 用上述方法对例 7

12、中的图形进行改进,得图如下页: 5 最小费用最大流问题 求最小费用最大流的基本算法 在对弧的标号作了改进的网络图上求最小费用最大流的基本算法与求 最大流的基本算法完全一样,不同的只是在步骤(1)中要选择一条总的 单位费用最小的路,而不是包含边数最小的路。 5 最小费用最大流问题 用上述方法对例 7 求解: 第一次迭代:找到最短路 v1 v4 v6 v7。第一次迭代后总流量为 1,总 费用10。 5 最小费用最大流问题 第二次迭代:找到最短路 v1 v4 v7。第二次迭代后总流量为 3,总费用 32。 5 最小费用最大流问题 第三次迭代:找到最短路 v1 v4 v3 v6 v7 。第三次迭代后总

13、流量为 5,总费用 56。 5 最小费用最大流问题 第四次迭代:找到最短路 v1 v4 v3 v5 v7 。第四次迭代后总流量为 6,总费用 72。 5 最小费用最大流问题 第五次迭代:找到最短路 v1 v2 v5 v7 。第五次迭代后总流量为 9,总 费用 123。 5 最小费用最大流问题 第六次迭代:找到最短路 v1 v2 v3 v5 v7 。第六次迭代后总流量为 10,总费用 145。已经找不到从 v1 到 v7 的每条弧容量都大于零的路了,故 已求得最小费用最大流了。 5 最小费用最大流问题 5 最小费用最大流问题 v5 6,6 3,4 5,7 2,5 0,-4 (2,3) 3,4 0

14、,3 2,8 (3,2) v1 v2 v7 v4 v3 v6 5,3 1,-3 0,-8 1,-3 (0,-2) 0,-6 0,-4 0,-5 (2,4) 0,-7 1,-4 (0,-3) 图 11-29 6,6 3,4 5,7 2,5 0,-4 (2,3) 3,4 0,3 0,8 (3,2) v1 v2 v5 v7 v4 v3 v6 3,3 3,-3 2,-8 1,-3 (0,-2) 0,-6 0,-4 0,-5 (2,4) 0,-7 1,-4 (0,-3) 图 11-30 6,6 3,4 5,7 2,5 0,-4 (0,3) 1,4 0,3 0,8 (1,2) v1 v2 v5 v7 v4

15、 v3 v6 1,3 5,-3 2,-8 1,-3 (2,-2) 0,-6 0,-4 0,-5 (2,4) 0,-7 3,-4 (2,-3) 图 11-31 6,6 3,4 4,7 2,5 1,-4 (0,3) 1,4 0,3 0,8 (0,2) v1 v2 v5 v7 v4 v3 v6 1,3 6,-3 2,-8 1,-3 (3,-2) 0,-6 0,-4 0,-5 (1,4) 1,-7 3,-4 (2,-3) 图 11-32 3,6 0,4 1,7 2,5 1,-4 (0,3) 1,4 0,3 0,8 (0,2) v1 v2 v5 v7 v4 v3 v6 0,3 6,-3 2,-8 1,-

16、3 (3,-2) 3,-6 3,-4 0,-5 (1,4) 4,-7 3,-4 (2,-3) 图 11-33 3,6 0,4 1,7 2,5 1,-4 (0,3) 1,4 0,3 0,8 (0,2) v1 v2 v5 v7 v4 v3 v6 0,3 6,-3 2,-8 1,-3 (3,-2) 3,-6 3,-4 0,-5 (1,4) 4,-7 3,-4 (2,-3) 图 11-34 * 管 理 运 筹 学 图论中图是由点和边构成,可以反映一些对象之间的关系。 例如:在一个人群中,对相互认识这个关系我们可以用图来表示,图 11-1 就是一个表示这种关系的图。 v1 赵 v2 钱 v3 孙 v4

17、李 v5 周 v6 吴 v7 陈 e2 e1 e3 e4 e5 图 11-1 当然图论不仅仅是要描述对象之间关系,还要研究特定关系之间的内在规律,一般情况下图中点的相对位置如何、点与点之间联线的长短曲直,对于反映对象之间的关系并不是重要的,如对赵等七人的相互认识关系我们也可以用图 11-2 来表示,可见图论中的图与几何图、工程图是不一样的。 v1 赵 v2 钱 孙 v3 李 v4 周 v5 吴 v6 陈 v7 e2 e1 e3 e4 e5 图 11-2 a1 a2 a3 a4 a14 a7 a8 a9 a6 a5 a10 a12 a11 a13 a15 v1 赵 v2 钱 v3 孙 v4 李

18、v5 周 v6 吴 v7 陈 图 11-3 如果我们把上面例子中的“相互认识”关系改为“认识” 的关系,那么只用两点之间的联线就很难刻画他们之间的关系了,这是我们引入一个带箭头的联线,称为弧。图 11-3 就是一个反映这七人“认识”关系的图。相互认识用两条反向的弧表示。 v2 3 5 2 7 5 3 1 5 1 2 v1 v6 v5 v3 v4 3,1 v2 3 5 2 7 5 3 1 5 1 2 V1 (0,s v5 8,4 v6 2,1 v3 3,3 v4 V1 (甲地) 15 17 6 2 4 4 4 3 10 6 5 v2 V7 (乙地) v3 v4 v5 v6 (0,s) V1 (甲

19、地) 15 17 6 2 4 4 3 10 6 5 13,3 v2 22,6 V7 (乙地) V5 14,3 V6 16,5 V3 10,1 V4 18,5 13 12 12 11 11 年初价格 5 4 3 2 1 年份 18 11 8 6 5 每年维修费用 4-5 3-4 2-3 1-2 0-1 使用年数 v1 v2 v3 v4 v5 v6 6 18 5 23 17 4 31 23 17 3 41 30 22 16 2 59 41 30 22 16 1 6 5 4 3 2 1 v1 v2 v3 v4 v5 v6 16 22 30 41 59 16 22 30 41 31 23 17 18

20、17 23 V1 (0,s) v3 v4 41,1 v5 v6 22 30 41 59 16 22,1 30 41 31 23 17 18 17 23 V2 (16,1) 16 30,1 53,3 53,4 图 11-11 中, a 就是一个树,而 b 因为图中有圈所以就不是树, c 因为不连通所以也不是树。 图 11-11 v1 v2 v3 v4 v5 v6 v7 v8 v9 v1 v2 v3 v5 v8 v7 v6 v4 v1 v2 v3 v4 v5 v7 v6 v8 v9 a b c 给了一个无向图 G V,E ,我们保留 G 的所有点,而删掉部分 G 的边或者说保留一部分 G 的边,所

21、获得的图 G,称之为 G 的生成子图。在图 11-12中, b 和 c 都是 a 的生成子图。 如果图 G 的一个生成子图还是一个树,则称这个生成子图为生成树,在图 11-12 中, c 就是 a 的生成树。 最小生成树问题就是指在一个赋权的连通的无向图 G 中找出一个生成树,并使得这个生成树的所有边的权数之和为最小。 图 11-12 a b c v1 3 3 1 7 2 8 5 4 10 3 4 v7 v6 v5 v4 v2 v1 3 3 1 7 2 8 5 4 3 4 v7 v6 v5 v4 v2 v1 3 3 7 2 5 4 3 4 v7 v6 v5 v4 v2 v3 v3 v3 1 v

22、1 3 3 7 2 4 3 4 v7 v6 v5 v4 v2 v3 1 v1 3 3 7 2 3 4 v7 v6 v5 v4 v2 v3 1 v1 3 3 7 2 3 v7 v6 v5 v4 v2 v3 1 a b c d e f 图 11-13 解:此问题实际上是求图 11-14 的最小生成树,这在例 4 中已经求得,也即按照图 11-13 的 f 设计,可使此网络的总的线路长度为最短,为 19 百米。 “管理运筹学软件”有专门的子程序可以解决最小生成树问题。 v1 3 3 1 7 2 8 5 4 10 3 4 v7 v6 v5 v4 v2 v3 图 11-14 v5 6 3 5 2 2 2

23、 4 1 2 6 3 v1 v2 v7 v4 v3 v6 图 11-26 我们可以为此例题建立线性规划数学模型: 设弧 vi,vj 上流量为fij,网络上的总的流量为 F,则有: 在这个线性规划模型中,其约束条件中的前 6 个方程表示了网络中的流量必须满足守恒条件,发点的流出量必须等于收点的总流入量;其余的点称之为中间点,它的总流入量必须等于总流出量。其后面几个约束条件表示对每一条弧 vi,vj 的流量 fij 要满足流量的可行条件,应小于等于弧 vi,vj 的容量 cij,并大于等于零,即 0fij cij。我们把满足守恒条件及流量可行条件的一组网络流 fij 称之为可行流, (即线性规划的

24、可行解) ,可行流中一组流量最大(也即发出点总流出量最大)的称之为最大流(即线性规划的最优解) 。 我们把例 6 的数据代入以上线性规划模型,用“管理运筹学软件” ,马上得到以下的结果:f12 5,f14 5,f23 2,f25 3,f43 2,f46 1,f47 2,f35 2,f36 2,f57 5,f67 3。最优值(最大流量)10。 vi vj vi vj cij 0 (a) (b) cij cij vi vj (cji) (c) vi vj cij cji (d) 6 3 5 2 2 2 4 1 2 6 3 v1 v2 v5 v7 v4 v3 v6 0 0 0 0 0 0 0 0 0

25、 0 0 6 3 5 2 2 2 4 1 2 6 3 v1 v2 v5 v7 v4 v3 v6 0 0 0 0 0 0 0 0 0 0 0 4 2 0 2 6 3 5 2 2 2 4 1 3 v1 v2 v5 v7 v4 v3 v6 0 0 0 0 0 0 0 0 4 2 0 2 2 0 3 3 3 0 3 2 2 2 4 1 3 v1 v2 v5 v7 v4 v3 v6 0 0 0 0 0 0 4 2 0 2 2 0 3 3 3 3 3 0 1 3 2 2 2 4 3 v1 v2 v5 v7 v4 v3 v6 1 0 0 0 0 1 2 0 3 2 0 3 3 3 5 0 3 1 2 0 0

26、 2 3 1 3 2 2 v1 v2 v5 v7 v4 v3 v6 1 0 1 2 0 2 0 3 3 3 5 0 1 2 0 2 3 1 3 1 5 0 0 2 0 2 0 5 2 2 v1 v2 v5 v7 v4 v3 v6 1 2 3 5 2 2 3 5 5 “管理运筹学软件”中还有专门的子程序用于解决最大流问题。 6,6 3,4 5,7 2,5 2,4 (2,3) 4,4 1,3 2,8 (3,2) v1 v2 v5 v7 v4 v3 v6 6,3 这个最小费用最大流问题也是一个线性规划的问题。 解:我们用线性规划来求解此题,可以分两步走。 第一步,先求出此网络图中的最大流量 F,这已

27、在例 6 中建立了线性规划的模型,通过管理运筹学软件已经获得结果。 第二步,在最大流量 F 的所有解中,找出一个最小费用的解,我们来建立第二步中的线性规划模型如下: 仍然设弧(vi,vj)上的流量为 fij,这时已知网络中最大流量为 F,只要在例 6 的约束条件上,再加上总流量必须等于 F 的约束条件:f12 f14 F,即得此线性规划的约束条件,此线性规划的目标函数显然是求其流量的最小费用 。 由此得到线性规划模型如下: 用管理运筹学软件,可求得如下结果:f12 4,f14 6, f25 3,f23 1,f43 3,F57 5,f36 2,f46 1,f47 2,f67 3,f35 2。其最

28、优值 最小费用 145。对照前面例 6 的结果,可对最小费用最大流的概念有一个深刻的理解。 如果我们把例 7 的问题改为:每小时运送 6 万加仑的石油从采地 v1 到销地 v7 最小费用是多少?应怎样运送?这就变成了一个最小费用流的问题。一般来说,所谓最小费用流的问题就是:在给定了收点和发点并对每条弧 vi,vj 赋权以容量 cij 及单位费用 bij 的网络中,求一个给定值 f 的流量的最小费用,这个给定值 f 的流量应小于等于最大流量F,否则无解。求最小费用流的问题的线性规划的模型只要把最小费用最大流模型中的约束条件中的发点流量 F 改为 f 即可。在例 6 中只要把 f12+f14 F

29、改为f12+f14 f 6 得到了最小费用流的线性规划的模型了。 vi vj vi vj (cij,bij ) (0,-bij ) (a) (b) (cij,bij ) (cij,bij ) vi vj (cji,bji ) (cij,bij ) vi vj (cji,bji ) (0,-bji (0,-bji (c) (d) 6,6 3,4 5,7 2,5 0,-4 (2,3) 4,4 1,3 2,8 (3,2) v1 v2 v5 v7 v4 v3 v6 6,3 0,-3 0,-8 0,-3 (0,-2) 0,-6 0,-4 0,-5 (2,4) 0,-7 0,-4 (0,-3) 图 11-28 * *

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报