资源描述:
《运筹学最大流》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、网络的最大流如何制定一个运输计划使生产地到销售地的产品输送量最大。这就是一个网络最大流问题。网络的最大流基本概念:1.容量网络:队网络上的每条弧(vi,vj)都给出一个最大的通过能力,称为该弧的容量,简记为cij。容量网络中通常规定一个发点(也称源点,记为s)和一个收点(也称汇点,记为t),网络中其他点称为中间点。s①②③④t4844122679网络的最大流2.网络的最大流是指网络中从发点到收点之间允许通过的最大流量。3.流与可行流流是指加在网络各条弧上的实际流量,对加在弧(vi,vj)上的负载量记为fi
2、j。若fij=0,称为零流。满足以下条件的一组流称为可行流。容量限制条件。容量网络上所有的弧满足:0≤fij≤cij中间点平衡条件。若以v(f)表示网络中从s→t的流量,则有:网络的最大流结论:任何网络上一定存在可行流。(零流即是可行流)网络最大流问题:指满足容量限制条件和中间点平衡的条件下,使v(f)值达到最大。网络的最大流割与割集割是指容量网络中的发点和收点分割开,并使s→t的流中断的一组弧的集合。割容量是组成割集合中的各条弧的容量之和,用表示。如下图中,AA′将网络上的点分割成两个集合。并有,称弧的
3、集合{(v1,v3),(v2,v4)}是一个割,且的流量为18。网络的最大流●stv1v3v2v48(8)9(5)5(5)10(9)6(0)2(0)9(9)5(3)7(6)AA’BB’网络的最大流定理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)不大于最小割集的
4、容量,即:v*(f)min{c(V,V´)}定理2在网络中s→t的最大流量等于它的最小割集的容量,即:v*(f)=c*(V,V´)网络的最大流增广链在网络的发点和收点之间能找到一条链,在该链上所有指向为s→t的弧,称为前向弧,记作μ+,存在f0,则称这样的链为增广链。例如下图中,s→v2→v1→v3→v4→t。定理3网络N中的流f是最大流当且仅当N中不包含任何增广链网络的最大流●stv1v3v2v48(8)9(4)5(5)10(8)6(1)2(0)
5、9(9)5(4)7(5)网络的最大流求网络最大流的标号算法:[基本思想]由一个流开始,系统地搜寻增广链,然后在此链上增流,继续这个增流过程,直至不存在增广链。[基本方法]找出第一个可行流,(例如所有弧的流量fij=0。)用标号的方法找一条增广链首先给发点s标号(∞),标号中的数字表示允许的最大调整量。选择一个点vi已标号并且另一端未标号的弧沿着某条链向收点检查:网络的最大流如果弧的起点为vi,并且有fij0,则vj标号(fji)
6、(3)重复第(2)步,可能出现两种结局:标号过程中断,t无法标号,说明网络中不存在增广链,目前流量为最大流。同时可以确定最小割集,记已标号的点集为V,未标号的点集合为V′,(V,V′)为网络的最小割。t得到标号,反向追踪在网络中找到一条从s到t得由标号点及相应的弧连接而成的增广链。继续第(4)步网络的最大流(4)修改流量。设原图可行流为f,令得到网络上一个新的可行流f’。(5)擦除图上所有标号,重复(1)-(4)步,直到图中找不到任何增广链,计算结束。网络的最大流例6.10用标号算法求下图中s→t的最大流
7、量,并找出最小割。●stv1v3v2v48(7)9(3)5(4)10(8)6(1)2(0)9(9)5(4)7(5)网络的最大流解:(1)先给s标号(∞)●stv1v3v2v48(7)9(3)5(4)10(8)6(1)2(0)9(9)5(4)7(5)(∞)网络的最大流●stv1v3v2v48(7)9(3)5(4)10(8)6(1)2(0)9(9)5(4)7(5)(∞)(2)检查与s点相邻的未标号的点,因fs18、(7)9(3)5(4)10(8)6(1)2(0)9(9)5(4)7(6)(∞)(1)(2)检查与v1点相邻的未标号的点,因f13