网络最大流问题课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《网络最大流问题课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 最大 问题 课件
- 资源描述:
-
1、 课程讲授:黄玉诚运筹学中国矿业大学中国矿业大学(北京北京)2023-1-14第六章 图与网络分析n第一节第一节 图的基本知识图的基本知识n第二节第二节 树树n第三节第三节 最短路问题最短路问题n第四节第四节 网络最大流问题网络最大流问题n第五节第五节 最小费用最大流问题最小费用最大流问题 2023-1-14第四节 网络最大流问题8431763511v1v2v3v5v4v6105图图10-23是联结某产品产地是联结某产品产地v1和销地和销地v6的交通网,每一弧的交通网,每一弧(vi,vj)代表从代表从vi到到vj的运输线,产品经这条弧由的运输线,产品经这条弧由vi输送到输送到vj,弧旁的数字表
2、示这条运输线的最大通过能力。现在,弧旁的数字表示这条运输线的最大通过能力。现在要求制定一个运输方案使从要求制定一个运输方案使从v1运到运到v6的产品数量最多。的产品数量最多。图图10-232023-1-14v1v2v3v5v4v6图图10-2410-24给出了一个运输方案,每条弧旁的数字表给出了一个运输方案,每条弧旁的数字表示每条运输线上的运输数量。这个方案使示每条运输线上的运输数量。这个方案使8 8个单位个单位的产品从的产品从v v1 1运到运到v v6 6。在这个运输网络中,从。在这个运输网络中,从v v1 1到到v v6 6的最大输送量是多少呢的最大输送量是多少呢?8431763511v
3、1v2v3v5v4v6105图图10-23图图10-242023-1-14一、一、基本概念与基本定理基本概念与基本定理1、网络与流、网络与流 定义定义1 给一个有向图给一个有向图D=(V,A),在,在V中指定了一点,中指定了一点,称为称为发点发点(记为记为vs),和另一点,称为,和另一点,称为收点收点(记为记为vt),其余,其余的点叫的点叫中间点中间点。对于每一个弧。对于每一个弧(vi,vj)A,对应有一个对应有一个c(vi,vj)0(或简写为或简写为cij),称为弧的,称为弧的容量容量。通常把这样的。通常把这样的D叫作一个叫作一个网络网络。记作。记作D=(V,A,C)。对对D中的任一弧中的任
4、一弧(vi,vj)有流量有流量f(vi,vj)(有时也简记有时也简记作作fij),称集合,称集合f=fij为网络为网络D上的一个上的一个流流。2023-1-142 2、可行流与最大流、可行流与最大流定义定义2 满足下述条件的流满足下述条件的流 f 称为称为可行流可行流:1)容量限制条件:对每一弧)容量限制条件:对每一弧(vi,vj)A0fijcij可行流可行流0),(),(AvvjiAvvijijjiff2 2)平衡条件:平衡条件:对于中间点:流出量流入量,即对每个对于中间点:流出量流入量,即对每个i(is,t)i(is,t)有有2023-1-14对于发点对于发点v vs s,fvffAvvj
5、sAvvsjsjjs),(),(式中式中v v(f)(f)称为这个可行流的流量,即称为这个可行流的流量,即发点的净发点的净输出量输出量(或收点的净输入量或收点的净输入量)。于是对于收点于是对于收点v vt t,fvffAvvtjAvvjtjttj),(),(fvffAvvjtAvvtjtjjt),(),(或或2023-1-14 所谓所谓最大流问题最大流问题就是在网络中,寻找流量最大的可就是在网络中,寻找流量最大的可行流,即:求一个流行流,即:求一个流ffijij 使其流量使其流量v(f)v(f)达到最大,并达到最大,并且满足且满足0 0f fijijc cijij (v (vi i,v vj
6、j)A)A tifvtsisifvffjiij,0最大流最大流 可行流总是存在的,例如可行流总是存在的,例如(f fijij)=0就是一个流量为就是一个流量为0的可行流。的可行流。2023-1-143 3、增广链、增广链 若给一个可行流若给一个可行流f=fij,我们把网络中使,我们把网络中使 fij=cij 的的弧称为弧称为饱和弧饱和弧,使,使fij0的弧称为的弧称为非零流弧非零流弧。若若是网络中联结发点是网络中联结发点v vs s和收点和收点v vt t的一条链,我们的一条链,我们定义链的方向是从定义链的方向是从v vs s到到v vt t,则链上的弧被分为两类:一,则链上的弧被分为两类:一
7、类是弧的方向与链的方向一致,叫作类是弧的方向与链的方向一致,叫作前向弧前向弧。前向弧的。前向弧的全体记为全体记为+。另一类弧与链的方向相反,称为。另一类弧与链的方向相反,称为后向弧后向弧。后向弧的全体记为后向弧的全体记为-。2023-1-14 定义定义3 设设f是一个可行流,是一个可行流,是从是从vs到到vt的一条链,若的一条链,若满足下列条件满足下列条件,称之为称之为(关于可行流关于可行流 f 的的)一条一条增广链增广链。在弧在弧(vi,vj)+上,上,0fijcij,即,即+中每一弧是非饱中每一弧是非饱和弧。和弧。在弧在弧(vi,vj)-上,上,0fijcij,即,即-中每一弧是非零中每一
8、弧是非零流弧。流弧。图图10-24中,链中,链=(v1,v2,v3,v4,v5,v6)是一条增广链。因是一条增广链。因为为+和和-中的弧满足增广链的条件。如:中的弧满足增广链的条件。如:(v1,v2)+,f12=50。2023-1-144 4、截集与截量、截集与截量 设设S,TVS,TV,ST=ST=,我们把始点在,我们把始点在S S,终点在,终点在T T中的所有弧构成的集合,记为中的所有弧构成的集合,记为(S(S,T)T)。_1V_1V_1V 定义定义4 4 给网络给网络D=(VD=(V,A A,C)C),若点集,若点集V V被剖分被剖分为两个非空集合为两个非空集合V V1 1和和 ,使,使
9、v vs sVV1 1,v vt t ,则把,则把弧集弧集(V(V1 1,),)称为是称为是(分离分离v vs s和和v vt t的的)截集截集。可以看出,从网络中去掉任一截集,则从可以看出,从网络中去掉任一截集,则从v vs s到到v vt t便不存在路。所以,截集是从便不存在路。所以,截集是从v vs s到的到的v vt t必经之路。必经之路。2023-1-14定义定义5 5 给一截集给一截集(V(V1 1,),),把截集,把截集(V(V1 1,),)中所有中所有弧的容量之和称为这个截集的容量弧的容量之和称为这个截集的容量(简称为截量简称为截量),记为记为c(Vc(V1 1,),),即,即
10、 )V,(V),(1111,jivvijcVVc_1V_1V_1V 任何一个可行流的流量任何一个可行流的流量v v(f)(f)都不会超过任一截都不会超过任一截集的容量。即集的容量。即 11,VVcfv2023-1-14 显然,若对于一个可行流显然,若对于一个可行流f*,网络中有一个截集,网络中有一个截集(V1*,),使,使v(f*)=c(V1*,),则则f*必是最大流,而必是最大流,而(V1*,)必定是必定是D的所有截集中容量最小的一个,即的所有截集中容量最小的一个,即最小截集。最小截集。*_1V*_1V*_1V2023-1-14定理定理1 可行流可行流f*是最大流的充分必要条件是不存在从是最
11、大流的充分必要条件是不存在从v vs s到到v vt t的的(关于关于f*)增广链。增广链。证明:证明:(一一)必要性必要性 用反证法。用反证法。可行流可行流f*是最大流,假设存在从是最大流,假设存在从v vs s到的到的v vt t的的(关于关于f*)增广链。增广链。令:令:*min,minminijijijffc2023-1-14由增广链的定义,可知由增广链的定义,可知0,令网络上的另一个流:令网络上的另一个流:jiijjiijjiijijvvfvvfvvff,*仍为可行流仍为可行流(即满足容量限制条件与平衡条件即满足容量限制条件与平衡条件),但,但 的总流量等于的总流量等于 的流量加的流
12、量加,即,即*ijf*ijf*ijf*ijijfvfv这与这与 是最大流的前提矛盾。是最大流的前提矛盾。*ijf2023-1-14 (二二)充分性:若不存在关于充分性:若不存在关于f*增广链,那么增广链,那么f*是最是最大流。大流。因为不存在关于因为不存在关于f*增广链,那么在这种定义下,增广链,那么在这种定义下,。*1Vvt 令:令:,*1*1VVV 则则 。*1Vvt因此,可以得到一个截集因此,可以得到一个截集 。*1*1,VV*1V 令:令:;*1Vvs 若若,*1Vvi且且,*ijijcf则令则令,*1Vvj 若若,*1Vvi且且,0*jif则令则令,*1Vvj 用下面方法定义点集用下
13、面方法定义点集 2023-1-14显然有显然有*1*1*1*1*,0,VVvvVVvvcfjijiijij那么,可行流那么,可行流f*上的流量上的流量*1*1,),(*,*1*1VVccfvVVvvijji则则f*必然是最大流。必然是最大流。2023-1-14 最大流量最小截量定理:最大流量最小截量定理:任一个网络任一个网络D D中,从中,从v vs s到到v vt t的最大流的流量等于分离的最大流的流量等于分离v vs s,v vt t的最小截集的容量。的最小截集的容量。增广链的实际意义增广链的实际意义是:沿着这条链从是:沿着这条链从v vs s到到v vt t输送的输送的流,还有潜力可挖,
14、只需按照流,还有潜力可挖,只需按照定理定理1 1证明中的调整方法,证明中的调整方法,就可以把流量提高,调整后的流,在各点仍满足平衡条就可以把流量提高,调整后的流,在各点仍满足平衡条件及容量限制条件,即仍为可行流。件及容量限制条件,即仍为可行流。这样就这样就得到了一个寻求最大流的方法得到了一个寻求最大流的方法:从一个可行:从一个可行流开始,寻求关于这个可行流的增广链,若存在,则可流开始,寻求关于这个可行流的增广链,若存在,则可以经过调整,得到一个新的可行流,其流量比原来的可以经过调整,得到一个新的可行流,其流量比原来的可行流要大,重复这个过程,直到不存在关于该流的增广行流要大,重复这个过程,直到
15、不存在关于该流的增广链时就得到了最大流。链时就得到了最大流。2023-1-14寻求最大流的思路寻求最大流的思路:利用定理:利用定理1中对中对V1*定义,根据定义,根据vt是是否属于否属于V1*来判断来判断D中有无关于中有无关于f的增广链。的增广链。实际计算时,可以用给顶点标号的方法来确定属实际计算时,可以用给顶点标号的方法来确定属于于V1*的点。的点。在标号过程中,有标号的顶点表示是在标号过程中,有标号的顶点表示是V1*中的点,中的点,没有标号的点表示不是没有标号的点表示不是V1*中的点。一旦中的点。一旦vt有了标号,就有了标号,就表明找到一条增广链;表明找到一条增广链;如果标号过程进行不下去
16、,而如果标号过程进行不下去,而vt尚未标号,则说明尚未标号,则说明不存在增广链,于是得到最大流。而且同时也得到一个不存在增广链,于是得到最大流。而且同时也得到一个最小截集。最小截集。2023-1-14二、二、寻求最大流的标号法寻求最大流的标号法 设已有一个可行流设已有一个可行流(若网络中没有给定若网络中没有给定f,则可以设,则可以设f是零流是零流),从这个可行流开始,标号法的过程分为两步:,从这个可行流开始,标号法的过程分为两步:第一步:标号过程,通过标号来寻找增广链;第一步:标号过程,通过标号来寻找增广链;第二步:调整过程,沿增广链调整第二步:调整过程,沿增广链调整 f 以增加流量。以增加流
17、量。2023-1-14 在标号过程中,网络中的点分为两类:在标号过程中,网络中的点分为两类:(1)标号点标号点(又分为已检查和未检查两种又分为已检查和未检查两种)。每个标号。每个标号点的标号内容包含两部分:点的标号内容包含两部分:标号的第一部分标号的第一部分表明它的标表明它的标号是从哪一点得到的,以便找出增广链;号是从哪一点得到的,以便找出增广链;标号的第二部标号的第二部分分是为确定增广链的调整量是为确定增广链的调整量用的。用的。(2)未标号点未标号点。1 1、标号过程、标号过程 2023-1-14标号过程标号过程:(1)给发点给发点vs标上标上(0,+);这时;这时vs是标号而未检查是标号而
展开阅读全文