图和网络模型基本概念_第1页
图和网络模型基本概念_第2页
图和网络模型基本概念_第3页
图和网络模型基本概念_第4页
图和网络模型基本概念_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1图与网络的根本概念 图论中图是由点和边构成,可以反映一些对象之间的关系。 例如:在一个人群中,对相互认识这个关系我们可以用图来表示,图11-1就是一个表示这种关系的图。(v1)赵(v2)钱(v3)孙(v4)李(v5)周(v6)吴(v7)陈e2e1e3e4e5图11-11 1图与网络的根本概念 当然图论不仅仅是要描述对象之间关系,还要研究特定关系之间的内在规律,一般情况以下图中点的相对位置如何、点与点之间联线的长短曲直,对于反映对象之间的关系并不是重要的,如对赵等七人的相互认识关系我们也可以用图11-2来表示,可见图论中的图与几何图、工程图是不一样的。(v1)赵(v2)钱孙(v3)李(v4)周

2、(v5)吴(v6)陈(v7)e2e1e3e4e5图11-221图与网络的根本概念a1a2a3a4a14a7a8a9a6a5a10a12a11a13a15(v1)赵(v2)钱(v3)孙(v4)李(v5)周(v6)吴(v7)陈图11-3 如果我们把上面例子中的“相互认识关系改为“认识 的关系,那么只用两点之间的联线就很难刻画他们之间的关系了,这是我们引入一个带箭头的联线,称为弧。图11-3就是一个反映这七人“认识关系的图。相互认识用两条反向的弧表示。3 1图与网络的根本概念无向图: 由点和边构成的图,记作G=V,E。有向图: 由点和弧构成的图,记作D=V,A。连通图: 对无向图G,假设任何两个不同

3、的点之间,至少存在一条链,那么G为连通图。回路: 假设路的第一个点和最后一个点相同,那么该路为回路。赋权图: 对一个无向图G的每一条边(vi,vj),相应地有一个数wij,那么称图G为赋权图,wij称为边(vi,vj)上的权。网络: 在赋权的有向图D中指定一点,称为发点,指定另一点称为收点,其它点称为中间点,并把D中的每一条弧的赋权数称为弧的容量,D就称为网络。42最短路问题最短路问题:对一个赋权的有向图D中的指定的两个点Vs和Vt找到一条从 Vs 到 Vt 的路,使得这条路上所有弧的权数的总和最小,这条路被称之为从Vs到Vt的最短路。这条路上所有弧的权数的总和被称为从Vs到Vt的距离。一、求

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

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

6、向图中用Dijkstra算法来求解。只要在算法中把从已标号的点到未标号的点的弧的集合改成已标号的点到未标号的点的边的集合即可。 V1 (甲地)15176244431065v2V7 (乙地)v3v4v5v672最短路问题例2最终解得:最短路径v1 v3 v5 v6 v7,每点的标号见以下图0,s V1 甲地1517624431065(13,3) v2 (22,6)V7 乙地V5(14,3)V6(16,5) V3(10,1) V4(18,5)82最短路问题 例3 设备更新问题。某公司使用一台设备,在每年年初,公司就要决定是购置新的设备还是继续使用旧设备。如果购置新设备,就要支付一定的购置费,当然新

7、设备的维修费用就低。如果继续使用旧设备,可以省去购置费,但维修费用就高了。请设计一个五年之内的更新设备的方案,使得五年内购置费用和维修费用总的支付费用最小。 :设备每年年初的价格表 设备维修费如下表年份12345年初价格1111121213使用年数0-11-22-33-44-5每年维修费用568111892最短路问题例3的解: 将问题转化为最短路问题,如以下图: 用vi表示“第i年年初购进一台新设备,弧vi,vj表示第i年年初购进的设备一直使用到第j年年初。把所有弧的权数计算如下表:v1v2v3v4v5v612345611622304159216223041317233141723518610

8、2最短路问题 (继上页) 把权数赋到图中,再用Dijkstra算法求最短路。 最终得到以下图,可知,v1到v6的距离是53,最短路径有两条: v1 v3 v6和 v1 v4 v6v1v2v3v4v5v6162230415916223041312317181723 V1(0,s)v3v4(41,1) v5v62230415916(22,1)3041312317181723 V2(16,1)16(30,1)(53,3)(53,4)113最小生成树问题树是图论中的重要概念,所谓树就是一个无圈的连通图。 图11-11中,(a)就是一个树,而(b)因为图中有圈所以就不是树, (c)因为不连通所以也不是树

9、。图11-11v1v2v3v4v5v6v7v8v9v1v2v3v5v8v7v6v4v1v2v3v4v5v7v6v8v9(a)(b)(c)123最小生成树问题 给了一个无向图G=(V,E),我们保存G的所有点,而删掉局部G的边或者说保存一局部G的边,所获得的图G,称之为G的生成子图。在图11-12中,(b)和(c)都是(a)的生成子图。 如果图G的一个生成子图还是一个树,那么称这个生成子图为生成树,在图11-12中,(c)就是(a)的生成树。 最小生成树问题就是指在一个赋权的连通的无向图G中找出一个生成树,并使得这个生成树的所有边的权数之和为最小。图11-12(a)(b)(c)133最小生成树问

10、题一、求解最小生成树的破圈算法算法的步骤:1、在给定的赋权的连通图上任找一个圈。2、在所找的圈中去掉一个权数最大的边如果有两条或两条以上的边都是权数最大的边,那么任意去掉其中一条。3、如果所余下的图已不包含圈,那么计算结束,所余下的图即为最小生成树,否那么返回第1步。143最小生成树问题例4 用破圈算法求图a中的一个最小生成树v1331728541034v7v6v5v4v27v6v5v4v2v133725434v7v6v5v4v2v3v3v31v13372434v7v6v5v4v2v31v1337234v7v6v5v4v2v31v133723v7v6v5v4v2v31

11、(a)(b)(c)(d)(e)(f)图11-13153最小生成树问题 例5、某大学准备对其所属的7个学院办公室计算机联网,这个网络的可能联通的途径如以下图,图中v1,v7 表示7个学院办公室,请设计一个网络能联通7个学院办公室,并使总的线路长度为最短。 解:此问题实际上是求图11-14的最小生成树,这在例4中已经求得,也即按照图11-13的(f)设计,可使此网络的总的线路长度为最短,为19百米。 “管理运筹学软件有专门的子程序可以解决最小生成树问题。v1331728541034v7v6v5v4v2v3图11-14164最大流问题最大流问题:给一个带收发点的网络,其每条弧的赋权称之为容量,在不超

12、过每条弧的容量的前提下,求出从发点到收点的最大流量。一、最大流的数学模型 例6 某石油公司拥有一个管道网络,使用这个网络可以把石油从采地运送到一些销售点,这个网络的一局部如以下图所示。由于管道的直径的变化,它的各段管道vi,vj的流量cij容量也是不一样的。cij的单位为万加仑/小时。如果使用这个网络系统从采地 v1向销地 v7运送石油,问每小时能运送多少加仑石油?v563522241263v1v2v7v4v3v6图11-26174最大流问题 我们可以为此例题建立线性规划数学模型: 设弧(vi,vj)上流量为fij,网络上的总的流量为F,那么有:184最大流问题 在这个线性规划模型中,其约束条

13、件中的前6个方程表示了网络中的流量必须满足守恒条件,发点的流出量必须等于收点的总流入量;其余的点称之为中间点,它的总流入量必须等于总流出量。其后面几个约束条件表示对每一条弧(vi,vj)的流量fij要满足流量的可行条件,应小于等于弧(vi,vj)的容量cij,并大于等于零,即0fij cij。我们把满足守恒条件及流量可行条件的一组网络流 fij称之为可行流,即线性规划的可行解,可行流中一组流量最大也即发出点总流出量最大的称之为最大流即线性规划的最优解。 我们把例6的数据代入以上线性规划模型,用“管理运筹学软件,马上得到以下的结果:f12=5,f14=5,f23=2,f25=3,f43=2,f4

14、6=1,f47=2,f35=2,f36=2,f57=5,f67=3。最优值最大流量=10。19 4最大流问题二、最大流问题网络图论的解法 对网络上弧的容量的表示作改进。为省去弧的方向,如以下图: (a)和(b)、(c)和(d)的意义相同。 用以上方法对例6的图的容量标号作改进,得以下图vivjvivjcij0ab cijcijvivjcjicvivj cij cjid63522241263v1v2v5v7v4v3v60000000000020 4最大流问题 求最大流的根本算法1找出一条从发点到收点的路,在这条路上的每一条弧顺流方向的容量都大于零。如果不存在这样的路,那么已经求得最大流。2找出这

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

16、决定了pf=1,改进的网络流量图如以下图:635222413v1v2v5v7v4v3v60000000042022033303222413v1v2v5v7v4v3v60000004202203333301322 第四次迭代:选择路为v1 v4 v3 v6 v7 。弧 v3 , v6 的顺流容量为2,决定了pf=2,改进的网络流量图如以下图: 第五次迭代:选择路为v1 v2 v3 v5 v7 。弧 v2 , v3 的顺流容量为2,决定了pf=2,改进的网络流量图如以下图:22243v1v2v5v7v4v3v6100001203203335031200231322v1v2v5v7v4v3v6101

17、20203335012023131500202054最大流问题23 经过第五次迭代后在图中已经找不到从发点到收点的一条路,路上的每一条弧顺流容量都大于零,运算停止。得到最大流量为10。 最大流量图如以下图:22v1v2v5v7v4v3v61235223554最大流问题 “管理运筹学软件中还有专门的子程序用于解决最大流问题。245最小费用最大流问题 最小费用最大流问题:给了一个带收发点的网络,对每一条弧vi,vj,除了给出容量cij外,还给出了这条弧的单位流量的费用bij,要求一个最大流F,并使得总运送费用最小。一、最小费用最大流的数学模型 例7 由于输油管道的长短不一,所以在例6中每段管道 v

18、i,vj 除了有不同的流量限制cij外,还有不同的单位流量的费用bij ,cij的单位为万加仑/小时, bij的单位为百元/万加仑。如图。从采地 v1向销地 v7运送石油,怎样运送才能运送最多的石油并使得总的运送费用最小?求出最大流量和最小费用。(6,6)(3,4)(5,7)(2,5)(2,4)2,3(4,4)(1,3)(2,8)3,2v1v2v5v7v4v3v6(6,3)255最小费用最大流问题 这个最小费用最大流问题也是一个线性规划的问题。 解:我们用线性规划来求解此题,可以分两步走。 第一步,先求出此网络图中的最大流量F,这已在例6中建立了线性规划的模型,通过管理运筹学软件已经获得结果。

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

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

21、最小费用最大流的网络图论解法对网络上弧vi,vj的cij,bij的表示作如下改动,用(b)来表示(a)。用上述方法对例7中的图形进行改进,得图如下页:vivjvivjcij,bij 0,-bij abcij,bij cij,bij vivjcji,bji cij,bij vivjcji,bji 0,-bji)0,-bji)cd295最小费用最大流问题 求最小费用最大流的根本算法 在对弧的标号作了改进的网络图上求最小费用最大流的根本算法与求最大流的根本算法完全一样,不同的只是在步骤1中要选择一条总的单位费用最小的路,而不是包含边数最小的路。(6,6)(3,4)(5,7)(2,5)(0,-4)(2

22、,3)(4,4)(1,3)(2,8)(3,2)v1v2v5v7v4v3v6(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-28305最小费用最大流问题用上述方法对例7求解: 第一次迭代:找到最短路v1 v4 v6 v7。第一次迭代后总流量为1,总费用10。v5(6,6)(3,4)(5,7)(2,5)(0,-4)(2,3)(3,4)(0,3)(2,8)(3,2)v1v2v7v4v3v6(5,3)(1,-3)(0,-8)(1,-3)(0,-2)(0,-6)(0,-4)(0,-5)(2,4)(0,-7

23、)(1,-4)(0,-3)图11-29315最小费用最大流问题第二次迭代:找到最短路v1 v4 v7。第二次迭代后总流量为3,总费用32。(6,6)(3,4)(5,7)(2,5)(0,-4)(2,3)(3,4)(0,3)(0,8)(3,2)v1v2v5v7v4v3v6(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-30325最小费用最大流问题第三次迭代:找到最短路v1 v4 v3 v6 v7 。第三次迭代后总流量为5,总费用56。(6,6)(3,4)(5,7)(2,5)(0,-4)(0,3)(1,4)(0,3)(0,8)(1,2)v1v2v5v7v4v3v6(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-31335最小费用最大流问题第四次迭代:找到最短路v1 v4 v3 v5 v7 。第四次迭代后总流量为6,总费用72。(6,6)(3,4)(4,7)(2,5)(1,-4)(0,3)(1,4)(0,3)(0,8)(0,2)v1v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论