资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,Page,1,网络的最大流,如何制定一个运输计划使生产地到销售地的产品输送量最大。这就是一个网络最大流问题。,网络的最大流如何制定一个运输计划使生产地到销售地的产品输送量,网络的最大流,基本概念:,1.容量网络:,队网络上的每条弧(v,i,v,j,)都给出一个最大的通过能力,称为该弧的,容量,,简记为c,ij,。容量网络中通常规定一个,发点,(也称源点,记为s)和一个,收点,(也称汇点,记为t),网络中其他点称为,中间点,。,s,t,4,8,4,4,1,2,2,6,7,9,网络的最大流基本概念:st4844122679,网络的最大流,2.,网络的最大流,是指网络中从发点到收点之间允许通过的最大流量。,3.,流与可行流,流,是指加在网络各条弧上的实际流量,对加在弧(v,i,v,j,)上的负载量记为f,ij,。若f,ij,=0,称为零流。,满足以下条件的一组流称为,可行流,。,容量限制条件。容量网络上所有的弧满足:0f,ij,c,ij,中间点平衡条件。,若以v(f)表示网络中从s,t的流量,则有:,网络的最大流2.网络的最大流3.流与可行流 容量限制条件,网络的最大流,结论:任何网络上一定存在可行流。(零流即是可行流),网络最大流问题:,指满足容量限制条件和中间点平衡的条件下,使v(f)值达到最大。,网络的最大流结论:任何网络上一定存在可行流。(零流即是可行流,网络的最大流,割与割集,割是指容量网络中的发点和收点分割开,并使st的流中断的一组弧的集合。割容量是组成割集合中的各条弧的容量之和,用 表示。,如下图中,AA将网络上的点分割成 两个集合。并有 ,称弧的集合(v,1,v,3,),(v,2,v,4,)是一个割,且,的流量为18。,网络的最大流 割与割集割是指容量网络中的发点和收点分割开,,网络的最大流,s,t,v,1,v,3,v,2,v,4,8(8),9(5),5(5),10(9),6(0),2(0),9(9),5(3),7(6),A,A,B,B,网络的最大流stv1v3v2v48(8)9(5)5(5)1,网络的最大流,定理1,设网络N中一个从,s,到,t,的流,f,的流量为,v,(,f,),(,V,V,)为任意一个割集,则,v,(,f,),=,f,(,V,V,),f,(,V,V,),推论1,对网络 N中任意流量,v,(,f,),和割集,(V,V),有,v,(,f,),c,(,V,V,),证明 w=,f,(,V,V,),f,(,V,V,),f,(,V,V,),c,(,V,V,),推论2,最大流量,v,(,f,),不大于最小割集的容量,即:,v,(,f,),min,c,(,V,V,),定理2,在网络中s,t的最大流量等于它的最小割集的容量,,即:,v,(,f,),=,c,(,V,V,),网络的最大流定理1 设网络N中一个从 s 到 t 的流 f,网络的最大流,增广链,在网络的发点和收点之间能找到一条链,在该链上所有指向为st的弧,称为前向弧,记作,+,存在,f0,,则称这样的链为增广链。例如下图中,sv,2,v,1,v,3,v,4,t。,定理3,网络N中的流,f,是最大流当且仅当N中不包含任何增广链,网络的最大流增广链定理3 网络N中的流 f 是最大流当且,网络的最大流,s,t,v,1,v,3,v,2,v,4,8(8),9(4),5(5),10(8),6(1),2(0),9(9),5(4),7(5),网络的最大流stv1v3v2v48(8)9(4)5(5)1,网络的最大流,求网络最大流的标号算法:,基本思想,由一个流开始,系统地搜寻增广链,然后在此链上增流,继续这个增流过程,直至不存在增广链。,基本方法,找出第一个可行流,(例如所有弧的流量,f,ij,=0。),用标号的方法找一条增广链,首先给发点s标号(),标号中的数字表示允许的最大调整量。,选择一个点,v,i,已标号并且另一端未标号的弧沿着某条链向收点检查:,网络的最大流求网络最大流的标号算法:基本方法找出第一个可,网络的最大流,如果弧的起点为v,i,,并且有,f,ij,0,则,v,j,标号(,f,ji,),(3)重复第(2)步,可能出现两种结局:,标号过程中断,t无法标号,说明网络中不存在增广链,目前流量为最大流。同时可以确定最小割集,,记已标号的点集为V,未标号的点集合为V,(V,V)为网络的最小割。,t得到标号,反向追踪在网络中找到一条从s到t得由标号点及相应的弧连接而成的增广链。继续第(4)步,网络的最大流 如果弧的起点为vi,并且有fijCij,则,网络的最大流,(4)修改流量。设原图可行流为f,令,得到网络上一个新的可行流f。,(5)擦除图上所有标号,重复(1)-(4)步,直到图中找不到任何增广链,计算结束。,网络的最大流(4)修改流量。设原图可行流为f,令得到网络上,网络的最大流,例6.10 用标号算法求下图中s,t的最大流量,并找出最小割。,s,t,v,1,v,3,v,2,v,4,8(7),9(3),5(4),10(8),6(1),2(0),9(9),5(4),7(5),网络的最大流例6.10 用标号算法求下图中st的最大流量,网络的最大流,解:(1)先给s标号(),s,t,v,1,v,3,v,2,v,4,8(7),9(3),5(4),10(8),6(1),2(0),9(9),5(4),7(5),(),网络的最大流解:(1)先给s标号()stv1v3v2v,网络的最大流,s,t,v,1,v,3,v,2,v,4,8(7),9(3),5(4),10(8),6(1),2(0),9(9),5(4),7(5),(),(2)检查与s点相邻的未标号的点,因f,s1,c,s1,,故对v,1,标号=min,c,s1,-f,s1,=1,(1),网络的最大流stv1v3v2v48(7)9(3)5(4)1,网络的最大流,s,t,v,1,v,3,v,2,v,4,8(7),9(3),5(4),10(8),6(1),2(0),9(9),5(4),7(6),(),(1),(2)检查与v,1,点相邻的未标号的点,因f,13,c,13,,故对v,3,标号=min1,c,13,-f,13,=min1,6=1,(1),网络的最大流stv1v3v2v48(7)9(3)5(4)1,网络的最大流,s,t,v,1,v,3,v,2,v,4,8(7),9(3),5(4),10(8),6(1),2(0),9(9),5(4),7(5),(),(1),(1),(3)检查与v,3,点相邻的未标号的点,因f,3t,c,3t,,故对v,t,标号=min1,c,3t,-f,3t,=min1,1=1,(1),找到一条增广链sv,1,v,3,t,网络的最大流stv1v3v2v48(7)9(3)5(4)1,网络的最大流,(4)修改增广链上的流量,非增广链上的流量不变,得到新的可行流。,s,t,v,1,v,3,v,2,v,4,8(7),9(3),5(4),10(8),6(1),2(0),9(9),5(3),7(5),(),(1),(1),(1),网络的最大流(4)修改增广链上的流量,非增广链上的流量不变,网络的最大流,(5)擦除所有标号,重复上述标号过程,寻找另外的增广链。,s,t,v,1,v,3,v,2,v,4,8(8),9(4),5(5),10(8),6(0),2(0),9(9),5(3),7(5),(),(1),(1),(1),网络的最大流(5)擦除所有标号,重复上述标号过程,寻找另外,网络的最大流,(5)擦除所有标号,重复上述标号过程,寻找另外的增广链。,s,t,v,1,v,3,v,2,v,4,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)=min,2,3=2,(3)=min,2,5=2,(2),(1),(4)=min,2,1=1,(1),(t)=min,1,2=1,网络的最大流(5)擦除所有标号,重复上述标号过程,寻找另外,网络的最大流,(6)修改增广链上的流量,非增广链上的流量不变,得到新的可行流。,s,t,v,1,v,3,v,2,v,4,8(8),9(4),5(5),10(8),6(1),2(0),9(9),5(3),7(5),(),(2),(2),(2),(1),(1),网络的最大流(6)修改增广链上的流量,非增广链上的流量不变,网络的最大流,s,t,v,1,v,3,v,2,v,4,8(8),9(5),5(5),10(9),6(0),2(0),9(9),5(2),7(6),(),(2),(2),(2),(1),(1),(7)擦除所有标号,重复上述标号过程,寻找另外的增广链。,网络的最大流stv1v3v2v48(8)9(5)5(5)1,网络的最大流,s,t,v,1,v,3,v,2,v,4,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)=min,1,2=1,(3)=min,1,4=1,网络的最大流stv1v3v2v48(8)9(5)5(5)1,网络的最大流,例6.9 求下图,s,t,的最大流,并找出最小割,s,t,v,1,v,2,v,3,v,4,v,5,4(3),3(2),10(4),3(2),1(1),4(3),3(2),5(3),4(2),2(2),7(6),8(3),网络的最大流例6.9 求下图st的最大流,并找出最小割s,网络的最大流,s,t,v,1,v,2,v,3,v,4,v,5,4(3),3(2),10(4),3(2),1(1),4(3),3(2),5(3),4(2),2(2),7(6),8(3),解:(1)在已知可行流的基础上,通过标号寻找增广链。,(),(2)=min,6=6,(6),(3)=min,6,2=2,(2),(t)=min,2,5=2,(2),存在增广链sv,2,v,3,t,网络的最大流stv1v2v3v4v54(3)3(2)10(4,网络的最大流,(2)修改增广链上的流量,非增广链上的流量不变,得到新的可行流。,s,t,v,1,v,2,v,3,v,4,v,5,4(3),3(2),10(4),3(2),1(1),4(3),3(2),5(3),4(2),2(2),7(6),8(3),(),(6),(2),(2),网络的最大流(2)修改增广链上的流量,非增广链上的流量不,网络的最大流,(3)擦除原标号,重新搜寻增广链。,s,t,v,1,v,2,v,3,v,4,v,5,4(3),3(2),10(6),3(2),1(1),4(3),3(2),5(3),4(4),2(2),7(6),8(5),(),(6),(2),(2),网络的最大流(3)擦除原标号,重新搜寻增广链。stv1v2,网络的最大流,(4)重新搜寻增广链。,s,t,v,1,v,2,v,3,v,4,v,5,4(3),3(2),10(6),3(2),1(1),4(3),3(2),5(3),4(4),2(2),7(6),8(5),(),(2)=min,4=4,(4),(1),(5)=min,4,1=1,(3)=min,1,2=1,(1),(1),(t)=min,1,3=1,存在增广链:sv,2,v,5,v,3,t,网络的最大流(4)重新搜寻增广链。stv1v2v3v4v5,网络的最大流,(5)修改增广链上的流量,非增广链上的流量不变,得到新的可行流。,s,t,v,1,v,2,v,3,v,4,v,5,4(3),3(2),10(6),3(2),1(1),4(3),3(2),5(3),4(4),2(2),7(6),8(5),(),(4),(1),(1),(1),网络的最大流(5)修改增广链上的流量,非增广链上的流量不,网络的最大流,(6)擦除原标号,s,t,v,1,v,2,v,3,v,4,v,5,4(3),3(2),10(7),
展开阅读全文