运筹学第11章图与网络模型ppt课件.ppt
《运筹学第11章图与网络模型ppt课件.ppt》由会员分享,可在线阅读,更多相关《运筹学第11章图与网络模型ppt课件.ppt(72页珍藏版)》请在三一办公上搜索。
1、1,第十一章图与网络模型,1图与网络的基本概念2最短路问题3最小生成树问题4最大流问题5最小费用最大流问题,2,1图与网络的基本概念,图论中图是由点和边构成,可以反映一些对象之间的关系。 例如:在一个人群中,对相互认识这个关系我们可以用图来表示,图11-1就是一个表示这种关系的图。,3,1图与网络的基本概念,当然图论不仅仅是要描述对象之间关系,还要研究特定关系之间的内在规律,一般情况下图中点的相对位置如何、点与点之间联线的长短曲直,对于反映对象之间的关系并不是重要的,如对赵等七人的相互认识关系我们也可以用图11-2来表示,可见图论中的图与几何图、工程图是不一样的。,4,1图与网络的基本概念,如
2、果我们把上面例子中的“相互认识”关系改为“认识” 的关系,那么只用两点之间的联线就很难刻画他们之间的关系了,这是我们引入一个带箭头的联线,称为弧。图11-3就是一个反映这七人“认识”关系的图。相互认识用两条反向的弧表示。,5,1图与网络的基本概念,无向图: 由点和边构成的图,记作G=(V,E)。有向图: 由点和弧构成的图,记作D=(V,A)。连通图: 对无向图G,若任何两个不同的点之间,至少存在一条链,则G为连通图。回路: 若路的第一个点和最后一个点相同,则该路为回路。赋权图: 对一个无向图G的每一条边(vi,vj),相应地有一个数wij,则称图G为赋权图,wij称为边(vi,vj)上的权。网
3、络: 在赋权的有向图D中指定一点,称为发点,指定另一点称为收点,其它点称为中间点,并把D中的每一条弧的赋权数称为弧的容量,D就称为网络。,6,2最短路问题,最短路问题在实际中具有广泛的应用,如管道铺设、线路选择等问题,还有些如设备更新、投资等问题也可以归结为求最短路问题,求最短路有两种算法: 一是求从某一点至其它各点之间最短离的狄克斯屈拉(Dijkstra)算法 另一种是求网络图上任意两点之间最短路的Floyd(弗洛伊德)矩阵算法。,最短路问题,就是从给定的网络图中找出一点到各点或任意两点之间距离最短的一条路,6.2.1最短路问题的网络模型,7,2最短路问题,最短路问题:对一个赋权的有向图D中
4、的指定的两个点Vs和Vt找到一条从 Vs 到 Vt 的路,使得这条路上所有弧的权数的总和最小,这条路被称之为从Vs到Vt的最短路。这条路上所有弧的权数的总和被称为从Vs到Vt的距离。一、求解最短路的Dijkstra算法(双标号法)步骤:1.给出点V1以标号(0,s)2.找出已标号的点的集合I,没标号的点的集合J以及弧的集合3. 如果上述弧的集合是空集,则计算结束。如果vt已标号(lt,kt),则 vs到vt的距离为lt,而从 vs到vt的最短路径,则可以从kt 反向追踪到起点vs 而得到。如果vt 未标号,则可以断言不存在从 vs到vt的有向路。如果上述的弧的集合不是空集,则转下一步。4. 对
5、上述弧的集合中的每一条弧,计算 sij=li+cij 。在所有的 sij中,找到其值为最小的弧。不妨设此弧为(Vc,Vd),则给此弧的终点以双标号(scd,c),返回步骤2。,8,2最短路问题,例1 求下图中v1到v6的最短路解:采用Dijkstra算法,可解得最短路径为v1 v3 v4 v6 各点的标号图如下:,9,2最短路问题,6,10,12,3,2,14,6,7,5,8,11,16,5,图66,9,0,0,6,10,12,9,20,9,2,18,6,1,16,12,1,17,16,3,24,32,18,3,29,29,5,【例】用Dijkstra算法求图66 所示v1到v7的最短路及最短
6、路长,v1 到v7的最短路为:p17=v1, v2, v3, v5, v7,最短路长为L17=29,14,10,【例】求图6-10所示v1到各点的最短路及最短距离,0,0,4,5,2,2,1,3,10,3,4,9,6,12,6,4,1,11,6,3,6,3,18,8,12,24,8,5,24,18,5,所有点都已标号,点上的标号就是v1到该点的最短距离,最短路线就是红色的链。,图6-10,2最短路问题,11,2最短路问题,例2 电信公司准备在甲、乙两地沿路架设一条光缆线,问如何架设使其光缆线路最短?下图给出了甲乙两地间的交通图。权数表示两地间公路的长度(单位:公里)。 解:这是一个求无向图的最
7、短路的问题。可以把无向图的每一边(vi,vj)都用方向相反的两条弧(vi,vj)和(vj,vi)代替,就化为有向图,即可用Dijkstra算法来求解。也可直接在无向图中用Dijkstra算法来求解。只要在算法中把从已标号的点到未标号的点的弧的集合改成已标号的点到未标号的点的边的集合即可。,12,2最短路问题,例2最终解得:最短路径v1 v3 v5 v6 v7,每点的标号见下图,(0,s) V1 (甲地),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,2最短路问题,例3
8、设备更新问题。某公司使用一台设备,在每年年初,公司就要决定是购买新的设备还是继续使用旧设备。如果购置新设备,就要支付一定的购置费,当然新设备的维修费用就低。如果继续使用旧设备,可以省去购置费,但维修费用就高了。请设计一个五年之内的更新设备的计划,使得五年内购置费用和维修费用总的支付费用最小。 已知:设备每年年初的价格表 设备维修费如下表,14,2最短路问题,例3的解: 将问题转化为最短路问题,如下图: 用vi表示“第i年年初购进一台新设备”,弧(vi,vj)表示第i年年初购进的设备一直使用到第j年年初。把所有弧的权数计算如下表:,15,2最短路问题,(继上页) 把权数赋到图中,再用Dijkst
9、ra算法求最短路。 最终得到下图,可知,v1到v6的距离是53,最短路径有两条: v1 v3 v6和 v1 v4 v6,16,2最短路问题,6.2.4 最短路应用举例,【例】设备更新问题。企业在使用某设备时,每年年初可购置新设备,也可以使用一年或几年后卖掉重新购置新设备。已知4年年初购置新设备的价格分别为2.5、2.6、2.8和3.1万元。设备使用了14年后设备的残值分别为2、1.6、1.3和1.1万元,使用时间在14年内的维修保养费用分别为0.3、0.8、1.5和2.0万元。试确定一个设备更新策略,在下例两种情形下使4年的设备购置和维护总费用最小。(1)第4年年末设备一定处理掉;(2)第4年
10、年末设备不处理。,【解】画网络图。用点(1,i,j)表示第1年年初购置设备使用到第i年年初更新,经过若干次更新使用到第j年年初,第1年年初和第5年年初分别用及表示。使用过程用弧连接起来,弧上的权表示总费用(购置费维护费残值),如图616所示,17,2最短路问题,6,图616,(1,2,3),(1,4),(1,3,4),(1,2,4),(1,2,3,4),(1,2),(1,3),第一年,第二年,第三年,第四年,5.1,0.9,1.5,0.7,3.6,2.8,1.7,-0.2,1.9,1.1,2.1,0.3,-0.6,-0.6,网络图616说明:如图中点(1,3)表示第1年购置设备使用两年到第3年
11、年初更新购置新设备,这时有2种更新方案,使用1年到第4年年初、使用2年到第5年年初,更新方案用弧表示,点(1,2,3)表示第1年购置设备使用一年到第二年年初又更新,使用一年到第三年初再更新,这时仍然有2种更新方案,使用1年到第4年年初和使用2年到第5年年初。,18,2最短路问题,点(1,3)和点(1,2,3)不能合并成一个点,虽然都是第三年年初购置新设备,购置费用相同,但残值不同。点(1,3)的残值等于1.6(使用了两年),点(1,2,3)的残值等于2(使用了一年)。点(1,3)到点(1,3,4)的总费用为第三年的购置费第一年的维护费设备使用两年后的残值2.8+0.31.6=1.5点(1,3)
12、到点的总费用为第三年的购置费第一年的维护费第二年的维护费设备使用两年后的残值第四年末的残值2.8+0.3+0.81.61.6=0.7。,19,2最短路问题,6,图616,(1,2,3),(1,4),(1,3,4),(1,2,4),(1,2,3,4),(1,2),(1,3),第一年,第二年,第三年,第四年,5.1,0.9,1.5,0.7,3.6,2.8,1.7,-0.2,1.9,1.1,2.1,0.3,-0.6,-0.6,(1)第四年末处理设备:求点到点的最短路。用Dijkstra算法得到最短路线为:(1,2)(1,2,3),最短路长为4。 4年总费用最小的设备更新方案是:第1年购置设备使用1年
13、,第2年更新设备使用1年后卖掉,第3年购置设备使用2年到第4年年末,4年的总费用为4万元。,20,3最小生成树问题,树是图论中的重要概念,所谓树就是一个无圈的连通图。,图11-11中,(a)就是一个树,而(b)因为图中有圈所以就不是树, (c)因为不连通所以也不是树。,21,可以证明:(1)一棵树的边数等于点数减1;(2)在树中任意两个点之间添加一条边就形成圈;(3)在树中去掉任意一条边图就变为不连通。,3最小生成树问题,22,3最小生成树问题,给了一个无向图G=(V,E),我们保留G的所有点,而删掉部分G的边或者说保留一部分G的边,所获得的图G,称之为G的生成子图。在图11-12中,(b)和
14、(c)都是(a)的生成子图。 如果图G的一个生成子图还是一个树,则称这个生成子图为生成树,在图11-12中,(c)就是(a)的生成树。 最小生成树问题就是指在一个赋权的连通的无向图G中找出一个生成树,并使得这个生成树的所有边的权数之和为最小。,(a),(b),(c),23,3最小生成树问题,一、求解最小生成树的破圈算法算法的步骤:1、在给定的赋权的连通图上任找一个圈。2、在所找的圈中去掉一个权数最大的边(如果有两条或两条以上的边都是权数最大的边,则任意去掉其中一条)。3、如果所余下的图已不包含圈,则计算结束,所余下的图即为最小生成树,否则返回第1步。,24,5,v1,v2,v3,v4,v5,v
15、6,8,4,3,7,5,2,6,1,8,图61,【例】用破圈法求图61的最小树。,图64,图64就是图61的最小部分树,最小树长为 C(T)=4+3+5+2+1=15。当一个圈中有多个相同的最长边时,不能同时都去掉,只能去掉其中任意一条边。最小部分树有可能不唯一,但最小树的长度相同,3最小生成树问题,25,3最小生成树问题,例4 用破圈算法求图(a)中的一个最小生成树,图11-13,26,加边法:取图G的n个孤立点v1,v2, vn作为一个支撑图,从最短边开始往支撑图中添加,见圈回避,直到连通(有n1条边),v1,v2,v3,v4,v5,v6,图65,在图65中,如果添加边v1, v2就形成圈
16、v1, v2, v4,这时就应避开添加边v1, v2,添加下一条最短边v3, v6。破圈法和加边法得到树的形状可能不一样,但最小树的长度相等,Min C(T)=15,3最小生成树问题,27,3最小生成树问题,例5、某大学准备对其所属的7个学院办公室计算机联网,这个网络的可能联通的途径如下图,图中v1,v7 表示7个学院办公室,请设计一个网络能联通7个学院办公室,并使总的线路长度为最短。,解:此问题实际上是求图11-14的最小生成树,这在例4中已经求得,也即按照图11-13的(f)设计,可使此网络的总的线路长度为最短,为19百米。 “管理运筹学软件”有专门的子程序可以解决最小生成树问题。,28,
17、4最大流问题,6.3.1 基本概念,8,14,5,6,3,3,8,10,7,6,3,图618,4,图618所示的网络图中定义了一个发点v1,称为源(source,supply node),定义了一个收点v7,称为汇(sink,demand node),其余点v2,v3,v6为中间点,称为转运点(transshipment nodes)。如果有多个发点和收点,则虚设发点和收点转化成一个发点和收点。图中的权是该弧在单位时间内的最大通过能力,称为弧的容量(capacity)。最大流问题是在单位时间内安排一个运送方案,将发点的物质沿着弧的方向运送到收点,使总运输量最大。,29,4最大流问题,设cij为
18、弧(i,j)的容量,fij为弧(i,j)的流量。容量是弧(i,j)单位时间内的最大通过能力,流量是弧(i,j)单位时间内的实际通过量,流量的集合f=fij称为网络的流。发点到收点的总流量记为v=val(f),v也是网络的流量。,图618最大流问题的线性规划数学模型为,30,4最大流问题,满足下例3个条件的流fij 的集合 f = fij 称为可行流,发点vs流出的总流量等于流入收点vt的总流量,31,4最大流问题,链:从发点到收点的一条路线(弧的方向不一定都同向)称为链。从发点到收点的方向规定为链的方向。,前向弧:与链的方向相同的弧称为前向弧。,后向弧:与链的方向相反的弧称为后向弧。,增广链:
19、 设 f 是一个可行流,如果存在一条从vs到vt的链,满足:,1.所有前向弧上fijCij,2.所有后向弧上fij0,则该链称为增广链,容量,流量,32,4最大流问题,步骤如下:,第二步:对点进行标号找一条增广链。(1)发点标号()(2)选一个点 vi 已标号并且另一端未标号的弧沿着某条链向收点检查: A如果弧的方向向前(前向弧)并且有fij0,则vj标号: jfji当收点已得到标号时,说明已找到增广链,依据vi 的标号反向跟踪得到一条增广链。当收点不能得到标号时,说明不存在增广链,计算结束。,第一步: 找出第一个可行流,例如所有弧的流量fij =0,6.3.2 Ford-Fulkerson标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运筹学 11 网络 模型 ppt 课件
链接地址:https://www.31ppt.com/p-1465905.html