1、2019/4/24,1,图与网络分析,图与网络的基本知识 最短路问题 最大流问题,本章主要内容:,2019/4/24,2,图与网络的基本知识,图论起源哥尼斯堡七桥问题,问题:一个散步者能否从任一块陆地出发,走过七座桥,且每座桥只走过一次,最后回到出发点? 结论:不能。每个结点关联的边数要均为偶数。,一 笔 画 问 题,2019/4/24,3,图与网络的基本知识,环球旅行问题:,2019/4/24,4,图与网络的基本知识,环球旅行问题的解,另一个著名的问题: 中国邮路问题,2019/4/24,5,图论中图是由点和边构成,可以反映一些对象之间的关系。 一般情况下图中点的相对位置如何、点与点之间联线
2、的长短曲直,对于反映对象之间的关系并不是重要的。,图的定义:若用点表示研究的对象,用边表示这些对象之间的联系,则图G可以定义为点(顶点)和边的集合,记作:,其中: V点集 E边集, 图G区别于几何学中的图。这里只关心图中有多少个点以及哪些点之间有连线。,图与网络的基本知识,2019/4/24,6,可见图论中的图与几何图、工程图是不一样的。,例如:在一个人群中,对相互认识这个关系我们可以用图来表示。,图与网络的基本知识,2019/4/24,7,定义: 图中的点用v表示,边用e表示。对每条边可用它所连接的点表示,记作:e1=v1,v1; e2=v1,v2;,端点,关联边,相邻,若有边e可表示为e=
3、vi,vj,称vi和vj是边e的端点,反之称边e为点vi或vj的关联边。若点vi、vj与同一条边关联,称点vi和vj相邻;若边ei和ej具有公共的端点,称边ei和ej相邻。,V = v1 , v2 , v3 , v4 , v5,,E = e1 , e2 , e3 , e4 , e5 , e6 , e7, e8,,图与网络的基本知识,边数:m(G)=|E|=m 顶点数:n(G)=|V|=n,2019/4/24,8,无向边与无向图:若图中任一条边的端点无序,即(vi, vj)与(vj, vi)是同一条边,则称它为无向边,此时图称为无向图。 有向图:若图中边(vi, vj)的端点是有序的,则称它是有
4、向边(或弧),vi与vj分别称为这条有向边的始点和终点,相应的图称为有向图。,有向图,无向图,图与网络的基本知识,无向图,有向图,2019/4/24,9,环, 多重边, 简单图,如果边e的两个端点相重,称该边为环。如右图中边e1为环。如果两个点之间多于一条,称为多重边,如右图中的e4和e5,对无环、无多重边的图称作简单图。含多重边的图称为多重图。,简单图,多重图,图与网络的基本知识,环,多重边,2019/4/24,10,完全图,图与网络的基本知识,每一对顶点间都有边相连的无向简单图称为无向完全图;有向完全图是指每一对顶点间有且仅有一条有向边的简单图。完全图顶点数n与边数m间成立如下关系: m=
5、n(n-1)/2,2019/4/24,11,二部图(偶图),图G=(V,E)的点集V可以分为两各非空子集X,Y,集XY=V,XY=,使得同一集合中任意两个顶点均不相邻,称这样的图为二部图(偶图)。,(a),(b),(c),(a)明显为二部图,(b)也是二部图,但不明显,改画为(c)时可以清楚看出。,图与网络的基本知识,2019/4/24,12,次,奇点,偶点,孤立点,与某一个点vi相关联的边的数目称为点vi的次(也叫做度),记作d(vi)。右图中d(v1),d(v3)=5,d(v5)=1。次为奇数的点称作奇点,次为偶数的点称作偶点,次为1的点称为悬挂点,次为0的点称作孤立点。,图的次: 一个图
6、的次等于各点的次之和。,图与网络的基本知识,2019/4/24,13,图与网络的基本知识,d(v1)=4,d(v2)=3,悬挂点,孤立点,悬挂边,偶点,奇点,2019/4/24,14,图与网络的基本知识,图中顶点次的性质,定理1 任何图中顶点次数的总和等于边数的2倍。 定理2 任何图中次为奇数的顶点必有偶数个。,定义6 在有向图中,以顶点v为始点的边数称为顶点v的出次,记为d+(v);以v为终点的边数称为v的入次,记为d-(v)。顶点v的出次与入次的和称为点v的次。,定义7 图G=(V, E), 若E是E的子集,若V是V的子集,且E中的边仅与V中的顶点相关联,则称G = (V, E)为图G的一
7、个子图,特别地,若V =V, 则称G为G的一个生成子图(支撑子图)。,2019/4/24,15,子图,生成子图(支撑子图),图G1=V1、E1和图G2=V2,E2如果有称G1是G2的一个子图。若有 ,则称G1是G2的一个生成子图(支撑子图)。,(a),(b),(G图),图与网络的基本知识,2019/4/24,16,网络(赋权图),设图G(V,E),对G的每一条边(vi,vj)相应赋予数量指标wij,wij称为边(vi,vj)的权,赋予权的图G称为网络(或赋权图)。 权可以代表距离、费用、通过能力(容量)等等。 端点无序的赋权图称为无向网络,端点有序的赋权图称为有向网络。,图与网络的基本知识,2
8、019/4/24,17,链,圈,连通图,定义8 无向图中一个点、边交错的序列,序列中的第一个和最后一个元素都是点,若其中每条边以序列中位于它之前和之后的点为端点,则称这个点边序列为图中连接其第一个点与最后一个点的称为链。 链中所含的边数称为链长。,图与网络的基本知识,链,但只是简单链而非初等链,简单链:没有重复边;初等链:既无重复边也无重复点。对有向图可类似定义链,如果各边方向一致,则称为道路。,2019/4/24,18,链,圈,连通图,定义9 若在无向图中,一条链的第一个点与最后一个点重合,则称这条链为圈。只有重复点而无重复边的圈为简单圈,既无重复点又无重复边的圈为初等圈。,图与网络的基本知
9、识,初等圈,非简单的圈,2019/4/24,19,图与网络的基本知识,道路(边的方向一致),2019/4/24,20,连通图,图与网络的基本知识,定义10 一个图中任意两点间至少有一条链相连,则称此图为连通图。任何一个不连通图总可以分为若干个连通子图,每一个称为原图的一个分图(连通分支)。,连通图,非连通图,2019/4/24,21,图的基本概念与模型,图的基本性质:,定理1 任何图中,顶点次数之和等于所有边数的2倍。,定理2 任何图中,次为奇数的顶点必为偶数个。,证明:由于每条边必与两个顶点关联,在计算点的次时,每条边均被计算了两次,所以顶点次数的总和等于边数的2倍。,证明:设V1和V2分别
10、为图G中奇点与偶点的集合。由定理1可得:,2m为偶数,且偶点的次之和 也为偶数,所以 必为偶数,即奇数点的个数必为偶数。,2019/4/24,22,图的基本概念与模型,图的矩阵表示: 如何在计算机中存储一个图呢?现在已有很多存储的方法,但最基本的方法就是采用矩阵来表示一个图,图的矩阵表示也根据所关心的问题不同而有: 邻接矩阵、关联矩阵、权矩阵等。,1. 邻接矩阵对于图G=(V,E),| V |=n, | E |=m,有nn阶方矩阵A=(aij) nn,其中,2019/4/24,23,图的基本概念与模型,例6.2 下图所表示的图可以构造邻接矩阵A如下,2019/4/24,24,对于赋权图G=(V
11、,E), 其中边 有权 , 构造矩阵B=(bij) nn 其中:,图的基本概念与模型,2. 关联矩阵 对于图G=(V,E), | V |=n, | E |=m, 有mn阶矩阵M=(mij) mn,其中:,3. 权矩阵,2019/4/24,25,图的基本概念与模型,1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1
12、0 0 0 1 0 0 1 1 0 0 0 0,v1 v2 v3 v4 v5 v6 v7 v8,e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12,例6.3 下图所表示的图可以构造邻接矩阵M如下:,M=(mij)=,2019/4/24,26,图的基本概念与模型,例6.4 下图所表示的图可以构造权矩阵B如下:,2019/4/24,27,欧拉回路,定义13 连通图G中,若存在一条道路,经过每边一次且仅一次,则称这条道路为欧拉道路。若存在一条回路经过每边一次也仅一次,则称这条回路为欧拉回路。 具有欧拉回路的图称为欧拉图(E图)。,定理3 无向连通图G是欧拉图,当且仅当G中无
13、奇点,2019/4/24,28,欧拉回路,推论1 无向连通图G为欧拉图,当且仅当G的边集可以划分为若干个初等回路。 推论2 无向连通图G中有欧拉道路,当且仅当G中恰好有两个奇点。,2019/4/24,29,最短路问题,如何用最短的线路将三部电话连起来? 此问题可抽象为设ABC为等边三角形,连接三顶点的路线(称为网络)。这种网络有许多个,其中最短路线者显然是二边之和(如ABAC)。,A,B,C,2019/4/24,30,最短路问题,A,B,C,P,但若增加一个周转站(新点P),连接4点的新网络的最短路线为PAPBPC。最短新路径之长N比原来只连三点的最短路径O要短。这样得到的网络不仅比原来节省材
14、料,而且稳定性也更好。,2019/4/24,31,最短路问题,问题描述:就是从给定的网络图中找出一点到各点或任意两点之间距离最短的一条路 .有些问题,如选址、管道铺设时的选线、设备更新、投资、某些整数规划和动态规划的问题,也可以归结为求最短路的问题。因此这类问题在生产实际中得到广泛应用。,2019/4/24,32,最短路问题,例6.4 渡河游戏一老汉带了一只狼、一只羊、一棵白菜想要从南岸过河到北岸,河上只有一条独木舟,每次除了人以外,只能带一样东西;另外,如果人不在,狼就要吃羊,羊就要吃白菜,问应该怎样安排渡河,才能做到既把所有东西都运过河去,并且在河上来回次数最少?这个问题就可以用求最短路方
15、法解决。,2019/4/24,33,最短路问题,定义: 1)人M(Man),狼W(Wolf), 羊G(Goat), 白菜C(Cabbage ) 2) 点 vi 表示河岸的状态 3) 边 ek 表示由状态 vi 经一次渡河到状态 vj 4) 权边 ek 上的权定为 1,我们可以得到下面的加权有向图,2019/4/24,34,最短路问题,状态说明: v1,u1 =( M,W,G,C ); v2,u2 =(M,W,G); v3,u3 =(M,W,C); v4,u4=(M,G,C); v5,u5 =(M,G),此游戏转化为在下面的图中求从 v1 到 u1 的最短路问题。,v1,v2,v3,v4,v5,
16、u5,u4,u3,u2,u1,2019/4/24,35,最短路问题,求最短路有两种算法:,狄克斯特(Dijkstra)标号算法逐次逼近算法,2019/4/24,36,最短路问题,狄克斯特(Dijkstra)标号算法的基本思路: 若序列 vs,v1vn-1,vn 是从vs到vt间的最短路,则序列 vs,v1vn-1 必为从vs 到vn-1的最短路。,假定v1v2 v3 v4是v1 v4的最短路,则v1 v2 v3一定是v1 v3的最短路,v2 v3 v4也一定是v2 v4的最短路。,2019/4/24,37,最短路问题,求网络图的最短路,设图的起点是vs,终点是vt ,以vi为起点vj为终点的弧
17、记为 (i, j) 距离为dij,P标号(点标号):b(j) 起点vs到点vj的最短路长; T标号(边标号): k(i,j)=b(i)+dij,,步骤:,1. 令起点的标号;b(s)0。,2. 找出所有vi已P标号而vj未P标号的弧,如果这样的弧不存在或vj已标号则计算结束;,3. 计算步骤2中弧的T标号;,4. 对T标号最小的弧对应的点vj进行P标号,返回到第2步,直到所有的点都被P标号。,2019/4/24,38,最短路问题,例6.5 求下图v1到v7的最短路长及最短路线,8,6,2,5,2,3,5,3,4,2,10,5,7,0,8,6,2,2,5,4,4,11,14,7,5,10,7,1
18、1,9,12,12,17,2019/4/24,39,最短路问题,v1到v7的最短路长及最短路线如图所示:,8,6,2,5,2,3,5,3,4,2,10,5,7,v7已标号,计算结束。从v1到v7的最短路长是 11, 最短路线: v1 v4 v6 v7,0,2,4,11,2019/4/24,40,最短路问题,从上例知,只要某点已标号,说明已找到起点vs到该点的最短路线及最短距离,因此可以将每个点标号,求出vs到任意点的最短路线,如果某个点vj不能标号,说明vs不可达vj 。,注:无向图最短路的求法只将上述步骤2将弧改成边即可。,2019/4/24,41,最短路问题,例6.6 求下图v1到各点的最
19、短距离及最短路线。,0,4,5,2,2,3,10,3,9,6,12,6,4,11,6,6,18,8,12,24,8,24,18,2019/4/24,42,最短路问题,v1到各点的最短距离及最短路线如图所示:,0,2,6,18,所有点都已标号,点上的标号就是v1到该点的最短距离,最短路线就是红色的链。,2019/4/24,43,2,3,7,1,8,4,5,6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,例6.7 求从1到8的最短路径,最短路问题,2019/4/24,44,2,3,7,1,8,4,5,6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,X=1, w1
20、=0,min c12,c14,c16=min 0+2,0+1,0+3=min 2,1,3=1 X=1,4, p4=1,p4=1,p1=0,最短路问题,2019/4/24,45,2,3,7,1,8,4,5,6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,X=1,4,min c12,c16,c42,c47=min 0+2,0+3,1+10,1+2=min 2,3,11,3=2 X=1,2,4, p2=2,p1=0,p4=1,p2=2,最短路问题,2019/4/24,46,2,3,7,1,8,4,5,6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,X=1,2,4,
21、min c16,c23,c25,c47=min 0+3,2+6,2+5,1+2=min 3,8,7,3=3 X=1,2,4,6, p6=3,p2=2,p4=1,p1=0,p6=3,最短路问题,2019/4/24,47,2,3,7,1,8,4,5,6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,X=1,2,4,6,min c23,c25,c47,c67=min 2+6,2+5,1+2,3+4=min 8,7,3,7=3 X=1,2,4,6,7, p7=3,p2=2,p4=1,p1=0,p6=3,p7=3,最短路问题,2019/4/24,48,2,3,7,1,8,4,5,6,6,
22、1,3,4,10,5,2,7,5,9,3,4,6,8,2,X=1,2,4,6,7,min c23,c25,c75,c78=min 2+6,2+5,3+3,3+8=min 8,7,6,11=6 X=1,2,4,5,6,7, p5=6,p2=2,p4=1,p1=0,p6=3,p7=3,p5=6,最短路问题,2019/4/24,49,2,3,7,1,8,4,5,6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,X=1,2,4,6,7,min c23,c53,c58,c78=min 2+6,6+9,6+4,3+8=min 8,15,10,11=8 X=1,2,3,4,5,6,7, p3
23、=8,p2=2,p4=1,p1=0,p6=3,p7=3,p5=6,p3=8,最短路问题,2019/4/24,50,2,3,7,1,8,4,5,6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,X=1,2,3,4,6,7,min c38,c58,c78=min 8+6,6+4,3+7=min 14,10,11=10 X=1,2,3,4,5,6,7,8, p8=10,p2=2,p4=1,p1=0,p6=3,p7=3,p5=6,p3=8,p8=10,最短路问题,2019/4/24,51,2,3,7,1,8,4,5,6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,X=
24、1,2,3,4,6,7,8,1到8的最短路径为1,4,7,5,8,长度为10。,p2=2,p4=1,p1=0,p6=3,p7=3,p5=6,p3=8,p8=10,最短路问题,2019/4/24,52,最短路问题,课堂练习: 1. 用Dijkstra算法求下图从v1到v6的最短距离及路线。,v3,v5,4,v1到v6的最短路为:,2019/4/24,53,最短路问题,2. 求下图中v1点到另外任意一点的最短路径,v1,v2,v3,v4,v6,v5,3,2,2,7,6,2,1,3,3,2019/4/24,54,最短路问题,v1,V2,V3,V4,V6,V5,3,2,2,7,6,2,1,3,3,0,
25、2,4,7,1,4,2019/4/24,55,最短路问题,v1,V2,V3,V4,V6,V5,3,2,2,7,6,2,1,3,3,0,2,4,7,1,4,2019/4/24,56,最短路问题,算法适用条件: Dijkstra算法只适用于全部权为非负情况,如果某边上权为负的,算法失效。此时可采用逐次逼近算法。,例6.7 如右图所示中按dijkstra算法可得P(v1)=5为从vsv1的最短路长显然是错误的,从vsv2v1路长只有3。,v2,vs,v1,5,-5,8,2019/4/24,57,最大流问题,如何制定一个运输计划使生产地到销售地的产品输送量最大。这就是一个网络最大流问题。,2019/4
26、/24,58,基本概念: 1. 容量网络:对网络上的每条弧(vi,vj)都给出一个最大的通过能力,称为该弧的容量,简记为cij。容量网络中通常规定一个发点(也称源点,记为vs)和一个收点(也称汇点,记为vt),网络中其他点称为中间点。,vs,vt,4,8,4,4,1,2,2,6,7,9,最大流问题,2019/4/24,59,2. 网络的最大流是指网络中从发点到收点之间允许通过的最大流量。,3. 流与可行流流是指加在网络各条弧上的实际流量,对加在弧(vi,vj)上的载量记为fij。若fij=0,称为零流。 满足以下条件的一组流称为可行流。,容量限制条件。容量网络上所有的弧满足:0fijcij中间
27、点平衡条件。,若以v(f)表示网络中从vsvt的流量,则有:,最大流问题,2019/4/24,60,结论:任何网络上一定存在可行流。(零流即是可行流),网络最大流问题:指满足容量限制条件和中间点平衡的条件下,使v(f)值达到最大。,最大流问题,标示方式:每条边上标示两个数字,第一个是容量,第二是流量,2019/4/24,61,最大流问题,割集,容量网络G =(V,E,C),vs为始点,vt为终点。如果把V分成两个非空集合 ,使 ,则所有始点属于S,而终点属于 的弧的集合,称为由S决定的割集,记作 。割集中由S到 所有弧的容量之和,称为这个割集的容量,记为,2019/4/24,62,设,则 割集
28、,容量为24,最大流问题,2019/4/24,63,设,则,容量为20,割集,最大流问题,2019/4/24,64,最大流最小割定理,网络理论中著名的最大流最小割定理:对于任一容量网络,从发点到收点的最大流量等于最小割量。,由发点vs到收点vt任一可行流量W显然必须 受割集 容量的限制,即有:,容量最小的割集称为最小割集,最大流问题,2019/4/24,65,若是联结发点vs和收点vt的一条链,我们规定链的方向是从vs到vt,则链上的弧被分成两类:前向弧、后向弧。,1: vs v2 v4 vt,2: vs v2 v3 vt,3: vs v2 v1 v3 vt,4: vs v1 v2 v3 vt
29、,最大流问题,2019/4/24,66,设 f 是一个可行流,是从vs到vt 的一条链,若满足前向弧都是非饱和弧,后向弧都是非零流弧,则称是(可行流 f 的)一条增广链。,1: vs v2 v4 vt ,2: vs v2 v3 vt ,3: vs v2 v1 v3 vt ,4: vs v1 v2 v3 vt ,5: vs v2 v4 v3 vt ,最大流问题,2019/4/24,67,求最大流的标号法,标号法思想是:先找一个可行流。对于一个可行流,经过标号过程得到从发点vs 到收点vt 的增广链;经过调整过程沿增广链增加可行流的流量,得新的可行流。重复这一过程,直到可行流无增广链,得到最大流。
30、,标号过程用来找增广链的过程,调整过程用来增大增广链流量的过程,从任一个可行流 f 出发(若网络中没有给定 初始可行流f ,可从零流开始),经历如下两过程:,最大流问题,2019/4/24,68,求网络最大流的标号算法:,基本方法,找出第一个可行流,(例如所有弧的流量fij =0。) 用标号的方法找一条增广链,首先给发点s标号(),标号中的数字表示允许的最大调整量。选择一个点 vi 已标号并且另一端未标号的弧沿着某条链向收点检查:,最大流问题,2019/4/24,69,如果弧的起点为vi,并且有fij0,则vj标号(fji),(3) 重复第(2)步,可能出现两种结局:,标号过程中断,t 无法标
31、号,说明网络中不存在增广链,目前流量为最大流。同时可以确定最小割集,记已标号的点集为V,未标号的点集合为V,(V,V)为网络的最小割。t 得到标号,反向追踪在网络中找到一条从s到t得由标号点及相应的弧连接而成的增广链。继续第(4)步,最大流问题,2019/4/24,70,(4) 修改流量。设原图可行流为f,令,得到网络上一个新的可行流f。,(5) 擦除图上所有标号,重复(1)-(4)步,直到图中找不到任何增广链,计算结束。,最大流问题,2019/4/24,71,例6.10 用标号算法求下图中st 的最大流量,并找出最小割。,s,t,v1,v3,v2,v4,8(7),9(3),5(4),10(8
32、),6(1),2(0),9(9),5(4),7(5),最大流问题,2019/4/24,72,解:(1) 先给s标号(),s,t,v1,v3,v2,v4,8(7),9(3),5(4),10(8),6(1),2(0),9(9),5(4),7(5),(),最大流问题,2019/4/24,73,s,t,v1,v3,v2,v4,8(7),9(3),5(4),10(8),6(1),2(0),9(9),5(4),7(5),(),(2) 检查与s点相邻的未标号的点,因fs1cs1,故对v1标号=min, cs1-fs1=1,(1),最大流问题,2019/4/24,74,s,t,v1,v3,v2,v4,8(7)
33、,9(3),5(4),10(8),6(1),2(0),9(9),5(4),7(6),(),(1),(2) 检查与v1点相邻的未标号的点,因f13c13,故对v3标号=min1, c13-f13= min1, 6= 1,(1),最大流问题,2019/4/24,75,s,t,v1,v3,v2,v4,8(7),9(3),5(4),10(8),6(1),2(0),9(9),5(4),7(5),(),(1),(1),(3) 检查与v3点相邻的未标号的点,因f3tc3t,故对vt标号=min1, c3t-f3t= min1, 1= 1,(1),找到一条增广链sv1v3t,最大流问题,2019/4/24,7
34、6,(4) 修改增广链上的流量,非增广链上的流量不变,得到新的可行流。,s,t,v1,v3,v2,v4,8(7),9(3),5(4),10(8),6(1),2(0),9(9),5(3),7(5),(),(1),(1),(1),最大流问题,2019/4/24,77,(5) 擦除所有标号,重复上述标号过程,寻找另外的增广链。,s,t,v1,v3,v2,v4,8(8),9(4),5(5),10(8),6(0),2(0),9(9),5(3),7(5),(),(1),(1),(1),最大流问题,2019/4/24,78,(5) 擦除所有标号,重复上述标号过程,寻找另外的增广链。,s,t,v1,v3,v2
35、,v4,8(8),9(4),5(5),10(8),6(1),2(0),9(9),5(3),7(5),(),(2),(2)=min,2=2,(2),(1)=min2,3=2,(3)=min2,5=2,(2),(1),(4)=min2,1=1,(1),(t)=min1,2=1,最大流问题,2019/4/24,79,(6) 修改增广链上的流量,非增广链上的流量不变,得到新的可行流。,s,t,v1,v3,v2,v4,8(8),9(4),5(5),10(8),6(1),2(0),9(9),5(3),7(5),(),(2),(2),(2),(1),(1),最大流问题,2019/4/24,80,s,t,v1
36、,v3,v2,v4,8(8),9(5),5(5),10(9),6(0),2(0),9(9),5(2),7(6),(7) 擦除所有标号,重复上述标号过程,寻找另外的增广链。,最大流问题,2019/4/24,81,s,t,v1,v3,v2,v4,8(8),9(5),5(5),10(9),6(0),2(0),9(9),5(2),7(6),(),(1),(1),(1),(7) 重复上述标号过程,寻找另外的增广链。,(2)=min,1=1,(1)=min1,2=1,(3)=min1,4=1,最大流问题,2019/4/24,82,例6.9 求下图st的最大流,并找出最小割,最大流问题,2019/4/24,
37、83,解: (1) 在已知可行流的基础上,通过标号寻找增广链。,(),(2)=min,6=6,(6),(3)=min6,2=2,(2),(t)=min2,5=2,(2),存在增广链sv2v3 t,最大流问题,2019/4/24,84,(2) 修改增广链上的流量,非增广链上的流量不变,得到新的可行流。,(),(6),(2),(2),最大流问题,2019/4/24,85,(3) 擦除原标号,重新搜寻增广链。,(),(6),(2),(2),最大流问题,2019/4/24,86,(4) 重新搜寻增广链。,(),(2)=min,4=4,(4),(1),(5)=min4,1=1,(3)=min1,2=1,
38、(1),(1),(t)=min1,3=1,存在增广链:sv2v5v3 t,最大流问题,2019/4/24,87,(5) 修改增广链上的流量,非增广链上的流量不变,得到新的可行流。,(),(4),(1),(1),(1),最大流问题,2019/4/24,88,(6) 擦除原标号,(),(4),(1),(1),(1),最大流问题,2019/4/24,89,(),(1),(1),(1),(5)=min,1=1,(3)=min1,1=1,(5)=min1,2=1,(7) 重新搜寻增广链。,存在增广链:sv5v3 t,最大流问题,2019/4/24,90,(8) 调整增广链上的流量,非增广链流量不变,得到
39、新的可行流,(),(1),(1),(1),最大流问题,2019/4/24,91,(),(1),(1),(1),(9) 擦除原标号,最大流问题,2019/4/24,92,(10) 重新标号,搜索增广链,(),(1)=min,1=1,(1),(5)=min1,1=1,(1),(4)=min1,1=1,(1),(t)=min1,1=1,(1),存在增广链:sv1v5v4t,最大流问题,2019/4/24,93,(),(1),(1),(1),(1),(11) 调整增广链上的流量,非增广链流量不变,得到新的可行流,最大流问题,2019/4/24,94,(),(1),(1),(1),(1),(11) 擦除标号,在新的可行流上重新标号。,最大流问题,2019/4/24,95,(),(11) 擦除标号,在新的可行流上重新标号。,(3),(1)=min,3=3,无法标号,不存在增广链,此可行流已为最大流。最大流量为14。,最大流问题,