510 likes | 622 Views
第五章 图与网络分析. ☞. 第一节 图的基本概念. ☞. 第二节 最小树问题. ☞. 第三节 最短路径问题. 第四节 最大流问题. 第五节 最小费用流问题. ☞. 第六节 网络计划(统筹法). 第五章 图与网络分析. 1. 了解图论的基本概念,会求最小树和最短路。 2. 熟练绘制简单的网络图,掌握工序时间参数的确定方法及各种时间参数的计算。 3. 掌握网络图的优化与调整,会缩短总工期,实现时间 —— 费用 —— 资源的优化配置。. 【 学习重点 】. 第五章 图与网络分析.
E N D
第五章 图与网络分析 ☞ 第一节 图的基本概念 ☞ 第二节 最小树问题 ☞ 第三节 最短路径问题 第四节 最大流问题 第五节 最小费用流问题 ☞ 第六节 网络计划(统筹法)
第五章 图与网络分析 1. 了解图论的基本概念,会求最小树和最短路。 2. 熟练绘制简单的网络图,掌握工序时间参数的确定方法及各种时间参数的计算。 3. 掌握网络图的优化与调整,会缩短总工期,实现时间——费用——资源的优化配置。 【学习重点】
第五章 图与网络分析 图论是应用非常广泛的运筹学分支,它已经广泛地应用于物理学控制论,信息论,工程技术,交通运输,经济管理,电子计算机等各项领域。对于科学研究,市场和社会生活中的许多问题,可以同图论的理论和方法来加以解决。例如,各种通信线路的架设,输油管道的铺设,铁路或者公路交通网络的合理布局等问题,都可以应用图论的方法,简便、快捷地加以解决。
第五章 图与网络分析 随着科学技术的进步,特别是电子计算机技术的发展,图论的理论获得了更进一步的发展,应用更加广泛。如果将复杂的工程系统和管理问题用图的理论加以描述,可以解决许多工程项目和管理决策的最优问题。因此,图论越来越受到工程技术人员和经营管理人员的重视。
第五章 图与网络分析 1736年瑞士科学家欧拉发表了关于图论方面的第一篇科学论文,解决了著名的哥尼斯堡七座桥问题。德国的哥尼斯堡城有一条普雷格尔河,河中有两个岛屿,河的两岸和岛屿之间有七座桥相互连接,如下图所示。
A D C B 第五章 图与网络分析 当地的居民热衷于这样一个问题,一个漫步者如何能够走过这七座桥,并且每座桥只能走过一次,最终回到原出发地。 尽管试验者很多, 但是都没有成功。
A D C B 第五章 图与网络分析 为了寻找答案,1736年欧拉把陆地缩为一点,把桥作为连接点的边,将这个问题抽象成图形的一笔画问题。即能否从某一点开始不重复地一笔画出这个图形,最终回到原点。欧拉在他的论文中证明了这是不可能的,因为这个图形中每一个顶点都与奇数条边相连接,不可能将它一笔画出,这就是古典图论中的第一个著名问题。
第五章 图与网络分析 第一节 图的基本概念 在实际的生产和生活中,人们为了反映事物之间的关系,常常在纸上用点和线来画出各式各样的示意图。 例 有六支球队进行足球比赛,我们分别用点v1…v6表示这六支球队,它们之间的比赛情况,也可以用图反映出来,已知v1队战胜v2队,v2队战胜v3队,v3队战胜v5队,如此等等。这个胜负情况,可以用下图所示的有向图反映出来。
第一节 图的基本概念 v2 v4 v1 v6 v3 v5
第一节 图的基本概念 从以上的几个例子可以看出,我们用点和点之间的线所构成的图,反映实际生产和生活中的某些特定对象之间的特定关系。一般来说,通常用点表示研究对象,用点与点之间的线表示研究对象之间的特定关系。由于在一般情况下,图中的相对位置如何,点与点之间线的长短曲直,对于反映研究对象之间的关系,显的并不重要,因此,图论中的图与几何图,工程图等本质上是不同的。
第一节 图的基本概念 一、图的定义 图论中所研究的图,是指反映或描述自然界或人类社会中,大量的事物及事物之间关系的图形。是由点和线组成的。点称为顶点,它的集合用V表示,顶点通常表示有形或无形的事物。线称为边,它的集合用E表示,边通常表示事物与事物(点与点)之间的联系或特定的关系。
一、图的定义 例1某地区有五个镇A、B、C、D、E它们之间有公路相通的情况如图所示。
A E B D C 一、图的定义 在图论中,我们只关心两点间是否有联系,至于公路的大小、等级、状况均无关紧要,亦即不考虑线段(边)的长度,点的位置带有随意性,它们并不按比例尺画,如五个镇之间的连接图也可画成右图表示。
一、图的定义 定义1: 一个图是由点集V={vi}和V中元素的无序对集E={ ek }所构成的二元组,记作:G =(V,E),其中vi 称为顶点,ek 称为边。|V|表示顶点个数,|E|表示边的个数.当V和E都是有限集合时,G为有限图,否则,称为无限图。本书只论及有限图。边是点集中元素的无序对时,称为无向图,否则称为有向图。例如下面图5-3,即为无向图.
一、图的定义 无向图G =(V,E) 其中:V ={v1、v2、v3、v4、v5} E ={e1、e2、e3、e4、e5、e6、e7} 并且: e 1 =(v1、v2) e 2=(v1、v2) e 3 =(v1、v3) e 4 =(v1、v4) e 5 =(v3、v4) e 6 =(v3、v3) e 7 =(v2、v5)
图 5-4 一、图的定义 关联边:和同一个顶点相连的边,均称为该点的关联边,如图5-4中的e24、e34、e45均是v4的关联边。 相邻点:一条边的两个顶点,称为相邻点,如v2与v4,v4与v5等是相邻点,而v2与v5则不是。
图 5-4 一、图的定义 环 环与多重边:两个顶点相同的边称为环,如e22,两个顶点之间的边数≥2时,叫多重边,如e13 ,e’13就是二重边。 二重边
图 5-4 一、图的定义 次:一个顶点v具有关联边的总数称为该顶点的次,记作d(v)(每个环视作两条边),如图5-4。 d(v1)= 3,d(v2)= 4, d(v5)= 1。 把次为奇数的顶点称 为奇顶点,次为偶数 的顶点称为偶顶点。
v6 图 5-4 一、图的定义 悬挂点与孤立点: 悬挂点 次为1的顶点称为悬挂点,如v5。次为0的顶点称为孤立点,如v6。 孤立点
一、图的定义 简单图:无环、无多重边的图称为简单图,如图5-4(a)、(b)、(c),后面如无特殊说明,均指简单图。
一、图的定义 子图与支撑子图:在图G=(V,E)中,若V1V,E1E,则图G1=(V1、E1)称为G的子图,如图5-4中的(b)就是(a)的子图。特别地:V1=V,E1E时,称G1是G的支撑子图(生成子图)。如图5-4中(c)、(b)都是(a)的支撑图。
一、图的定义 定理1在任何图中顶点次数总和等于边数的2倍。 定理2任何图中,次为奇数的顶点必有偶数个。 即奇顶点必有偶数个。 例2某产品鉴定会上,到了15名专家,若每人至 少握手3次,则至少有一个人握手超过3次。
二、连通图 定义2无向图G=(V,E)中,称某些点及其关联边的交替序列{v1e1 v2e2 … en-1vn }为从v1到vn的一条链,v1、vn分别称为链的始点和终点,链长为n。 若一条链的始点与终点重合,则称为闭链(在无向图中闭链又称为回路),否则,称为开链。点边序列中若只有重复的点而无重复的边,则称为简单链。点边序列中若既没有重复的点也无重复的边,则称为初等链(也称为通路)。
v5 e5 v4 e6 e4 v3 e9 e8 v6 e7 e10 e1 e3 v1 e2 v2 二、连通图 例如在图5-5中: S={v6 e6 v5 e7 v1 e8 v5 e7 v1 e9 v4 e4 v3}是一 条连接v6、v3的链,链长为6. S1={v6 e6 v5 e7 v1 e8 v5 e5 v4 e4 v3}是一条连接v6、v3的简单 链,链长为5. S2={v6 e6 v5 e7 v1 e9 v4 e4 v3} 是一条连接v6、v3 的初等链。 图5-5
二、连通图 连通的在无向图中,若顶点vi与vj之间存在链, 则称vi与vj是连通的。 规定:vi与自身是连通的 连通图若无向图G中的任意两个顶点都是连通的, 则称G是连通图,否则称G是非连通图。
3. 网 络 一个图连同定义在其边集上的实函数一起称为一个网络.网络一般是连通图.定义在边集上的实函数称为边的权数记为 wij=w (vi,vj) 它与边(vi,vj)具有一一对应关系,可以用以表达网络上的各种有关性质,如路长、流量、费用等等.网络的图解即在每条边旁标上相应的权数. 若一网络的每条边都是无向边,则称为无向网络,记为 N=(G,w ) 或 N=(V,E )
3. 网 络 若一网络的每条边都是有向边,则称为有向网络,记为 N=( D,w ) 或 N= ( V,A ) 若一网络中既有无向边,也有有向边,则称为混合网络. 所谓网络分析,即对网络进行定性和定量分析,以便为实现某种优化目标而寻求最优方案.这方面的典型问题有:最小树问题,最短路问题,中心问题,重心问题,最大流问题,最小费用最大流问题,网络计划问题,等等.
第二节 最小树问题 一、树的基本概念 在各种各样的图中,有一类图是十分简单又非常具有应用价值的图,这就是树。 例3已知有六个城市,它们之间要架设电话线,要求任意两个城市均可以互相通话,并且电话线的总长度最短。
一、树的基本概念 如果用六个点 v1 … v6 代表这六个城市,在任意两个城市之间架设电话线,即在相应的两个点之间连一条边。这样,六个城市的一个电话网就作成一个图。任意两个城市之间均可以通话,这个图必须是连通图。并且,这个图必须是无圈的。否则,从圈上任意去掉一条边,剩下的图仍然是六个城市的一个电话网。图5-6是一个不含圈的连通图,代表了一个电话线网。
v1 v2 v3 v5 v4 v6 一、树的基本概念 图5-6
一、树的基本概念 1.树 无圈且连通的无向图称为树.树一般记为T.作为树定义还可以有以下几种表述: (1) T 连通且无圈或回路; (2) T 无圈且有n-1条边(如果有n个结点); (3) T 连通有n-1条边; (4) T 无回路,但不相邻的两个结点之间联以一边,恰 得一个圈; (5) T 连通,但去掉T 的任意一条边,T 就不连通了; (亦即,在点集合相同的图中,树是含边数最少的 连通图。) (6) T 的任意两个结点之间恰有一条初等链.
v3 v5 v3 v5 v1 v1 v6 v6 v2 v2 v4 v4 a b 2.支撑树 定义3设图K=(V, E I )是图G=(V, E )的一支撑子图,如果图K=(V, EI )是一个树,那么称K是G的一个支撑树或生成树。 例如,图5-7b 是图5-7a 的一个支撑树。 图5-7
v2 e7 e1 e4 e3 v1 e8 v5 v4 e2 e5 e6 v3 2.支撑树 定理3一个图G有支撑树的充要条件是G是连通图。 寻找连通图支撑树的方法有“破圈法”。就是从图中任取一个圈,去掉一条边。再对剩下的图重复以上步骤,直到不含圈时为止,这样就得到一个支撑树。 例4用破圈法求出下图的一个支撑树。
v2 v2 e1 e7 e1 e4 v4 v1 e8 e3 e8 v5 v1 v5 v4 e5 e2 e5 e2 e6 v3 v3 2.支撑树 取一个圈(v1 ,v2 ,v3 ,v1 ),在一个圈中去掉边e3。在剩下的图中,再取一个圈(v1 ,v2 ,v4 ,v3 ,v1 ),去掉边e4。再从圈 (v3 ,v4 ,v5 ,v3 )中去掉边e6。再从圈(v1 ,v2 ,v5 ,v4 ,v3 ,v1)中去 掉边e7,这样,剩下的图不含圈,于是得到一个支撑树,如 图所示。
二、最小生成树及其算法 1.最小生成树 一个网络图可以有多个生成树.记N的所有生成树的集合为: T={ Tk | k=1,2,…,L} 设Tk=(V, Ek )是网络图N=(G,w)的一棵生成树,则边集Ek中所有边的权数之和称为树Tk 的权数,记为 则称 T * 为网络N的一棵最小生成树,简称最小树.
b 4 c 5 2 2 a 2 d 4 6 3 e 5 f 1.最小生成树 最小树 比如,城市间交通线的建造等,可以归结为这一类问题。 再如前面例3,在已知的几个城市之间联结电话线网,要求总长度最短和总建设费用最少,这类问题的解决都可以归结为最小树问题。
2.最小树的求法 定理4如果把网络的点集分割成两个不相交的非空集合和,则联结和的最小边必包含于N 的最小树内. 根据定理4,可以给出求最小树的两种方法,这就是避圈法与破圈法,分述如下:
v2 v3 v1 4 1 1 2 1 3 1 4 4 v8 v4 v0 5 5 4 2 5 v7 v5 3 2 v6 2.最小树的求法 从网络中任选一点 例 (1)避圈法: 从网络图中任意节点开始寻找与该节点关联的权数最小的边,使之于以选边不构成为圈,直到选够n-1条边为止。 最小树,权为13
v2 v3 v1 4 1 1 2 1 3 1 4 4 v8 v4 v0 5 5 4 2 5 v7 v5 3 2 v6 2.最小树的求法 (2)破圈法: ① 在网络图中寻找一个圈。若不存在圈,则已经得到最短树或网络不存在最短树; ② 去掉该圈中权数最大的边; 反复重复 ① ② 两步,直到最小树。
第三节 最短路径问题 最短路径问题是图论中十分重要的最优化问题之一,它作为一个经常被用到的基本工具,可以解决生产实际中的许多问题,比如城市中的管道铺设,线路安排,工厂布局,设备更新等等。也可以用于解决其它的最优化问题。
v2 v4 6 3 3 1 4 v1 2 v6 5 6 1 v3 v5 第三节 最短路径问题 例5如下图所示的单行线交通网,每个弧旁边的数字表示这条单行线的长度。现在有一个人要从v1出发,经过这个交 通网到达v6, 要寻求总路 程最短的线 路。
第三节 最短路径问题 从v1到v6的路线是很多的。比如从v1出发,经过v2 ,v4到达v6或者从v1出发,经过v2,v3,v5到达v6等等。但不同的路线,经过的总长度是不同的。例如,按照第一个线路,总长度是3+6+3=12单位,按照第二个路线,总长度是3+1+1+6=11单位。
第三节 最短路径问题 一、基本概念 给定一个赋权有向图D= ( V,A ) ,对每一条弧aij=w (vi,vj),相应地有权w (aij )= wij ,又有两点vs、vt ∈V,设 p 是 D 中从vs 到vt 的一条路,路 p 的权是 p 中所有弧的权之和,记为w(p).最短路问题就是求从vs 到vt 的路中一条权最小的路 p*:
第三节 最短路径问题 二、最短路问题的算法 下面仅介绍在一个赋权有向图中寻求最短路的方法——双标号法(Dijkstra算法),它是在1959年提出来的。目前公认,在所有的权wij≥0时,这个算法是寻求最短路问题最好的算法。并且,这个算法实际上也给出了寻求从一个始定点vs到任意一个点vj的最短路。
v2 v4 6 3 3 1 4 v1 2 v6 5 6 1 v3 v5 二、最短路问题的算法 例6求v1到v6的最短路。 (1)首先给v1以P标号,P(v1)=0,给其余所有点T标号,T(vj)=+∞( j = 2,3,… 6) +∞ +∞ (0) +∞ P标号以( )形式标在结点旁边,T标号以不带()的数字标在结点旁边. +∞ +∞
+∞ +∞ v2 v4 6 3 3 (0) 1 4 +∞ v1 2 v6 5 6 1 v3 +∞ +∞ v5 二、最短路问题的算法 P(v2 )= 3 T(v4)= 9 (2)考察v1: T(v2)=min [T(v2),P(v1) +a12] =min [∞,0+3] = 3 T(v3)=min [T(v3),P(v1) +a13] =min [∞,0+5] = 5 所以,P(v2 )= 3 (3) 9 (3)考察v2: T(v3)=min [T(v3),P(v2) +a23] =min [5,3+1] = 4 T(v4)=min [T(v4),P(v2) +a24] =min [∞ ,3+6] = 9 所以,P(v3)=4 5 (4) T(v3 )= 5 P(v3 )= 4
v2 v4 9 (3) 6 3 3 (0) 1 4 +∞ v1 2 v6 5 6 1 v3 +∞ v5 (4) 二、最短路问题的算法 T(v4)= 8 P(v4)= 7 T(v6)= 11 (4)考察v3:T(v5)=min [T(v5),P(v3) +a35] =min [∞,4+1] = 5 T(v4)=min [T(v4),P(v3) +a34] =min [9,4+4] = 8 所以,P(v5)= 5 8 (7) (5)考察v5: T(v6)=min [T(v6),P(v5) +a56] =min [∞,5+6] = 11 T(v4)=min [T(v4),P(v5) +a54] =min [8,5+2] = 7 所以,P(v4)= 7 11 (5) P(v5)= 5
v2 v4 (3) (7) 6 3 3 (0) 1 4 11 v1 2 v6 5 6 1 v3 v5 (5) (4) 二、最短路问题的算法 P(v6)= 10 (6)考察v4: T(v6)=min [T(v6),P(v4) +a46] =min [11,7+3] = 10 所以,P(v6)= 10 所有点都标上 P 标号. (10) (7) 标出最短路 v1到v6的最短路可从v1开始,根据永久性标号数值回溯得到.
v2 v4 (3) (7) 6 3 3 (0) 1 4 v1 2 v6 5 6 1 v3 v5 (5) (4) 二、最短路问题的算法 (7) 标出最短路 最短路径是:v1→v2→v3→v5→v4→v6 ,路长10.同 时得到,到其余各点的最短路,即各点的永久性标号P(vi). 注意: 双标号法只适用于所有wij≥0的情形,当赋权有向图中存在负权时,则算法失效. (10)
小 结 ☞ 第一节 图的基本概念 ☞ 第二节 最小树问题 ☞ 第三节 最短路径问题