4 网络最大流问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

vs成为已检查点,v1成为已标号但未检查点。
PDF created with pdfFactory Pro trial version www.pdffactory.com
Hale Waihona Puke Baidu
3 、检查v1。 在弧(v1,v3)上,f13=c13=2,不满足标号条件; 在弧(v2,v1)上,f21>0,则记v2的标号为(-v1,l(v2))
Contents
图的基本概念 最小支撑树问题 最短路问题 最小费用最大流问题 中国邮递员问题 旅行售货员问题 匹配问题
PDF created with pdfFactory Pro trial version www.pdffactory.com
To be continued
网络最大流问题
引例 基本概念 最大流算法 算例
PDF created with pdfFactory Pro trial version www.pdffactory.com
2 、调整过程
(1)寻找若v以t的v第t为一终个点标的号增为广vk链(或--−--v(k反),则向弧追(踪vk ,法vt )):
(相应地(vt , vk ))是链µ上的弧。 接下来检查vk的
PDF created with pdfFactory Pro trial version www.pdffactory.com
Back
二、求最大流的标号法(Ford,Fulkerson) 1 、标号过程
开始:先给vs标上(0,+∞),此时vs是标号而未检 查的顶点,其余都是未标号顶点。一般地,取一个 标号而未检查的点vi,对一切未标号点vj: (1)若在弧(vi,vj)上fij<cij,则给vj标号(vi,l(vj)) ,这里 l(vj)=min(l(vi),cij-fij)。此时,点vj成为标号而未检 查的点。 (2)若在弧(vj,vi)上fji>0,则给vj标号(-vi,l(vj))。这 里l(vj)=min(l(vi),fji)。此时,点vj成为标号而未检 查的点。
第一个标号 , 若为vi (或 − vi ), 则找出(vi , vk )(相应
地(vk , vi ))。 再检查vi的第一个标号 , 依此下去,
直到vs为止。 此时被找的弧就构成了 增广链µ。
(2)调整量:θ=l(vt),即vt的第二个标号;
(3)流的调整。令

f ij f ij
+θ −θ
,若 (vi , v j ) ∈ , 若 (vi , v j ) ∈
问:单位时间内最多能有多少辆车从甲地(v1)出发 经过该公路网到达乙地(v6)?
(10 ,5) v1
v2 (5,2) (3,2)
( 4 ,1)
v5 (11,6 ) v 6
(3,3)
(8,3) v3
(5,1) (6,3)
(17 ,2) v4
Back
PDF created with pdfFactory Pro trial version www.pdffactory.com
(4,3) (3,3)
vs
(0,+∞)
(5,1)
(1,1) (1,1)
v1 (2,2)
(5,3) vt
(3,0)
(2,1) v3
(3,3) vs
(5,1)
v2 (4,3) (1,1) (1,1) (2,2)
v1
v4 (5,3) vt
(3,0)
(2,1) v3
解:(一)标号过程
1 、首先给vs标上(0,+∞); 2 、检查vs。
− v( f ),(i = t)
PDF created with pdfFactory Pro trial version www.pdffactory.com
(三)、增广链 1 、给定一个可行流f={fij},
fij < cij的弧称为非饱和弧;f ij = cij的弧称为饱和弧 ; fij > 0的弧称为非零流弧; f ij = 0的弧称为零流弧 .
PDF created with pdfFactory Pro trial version www.pdffactory.com
于是,vi成为标号且已检查过的点。重复上述 步骤,一旦vt被标上号,表明得到一条从vs到vt 的增广链μ,转入调整过程。
若所有标号都已经检查过,而标号过程进行 不下去时,则算法结束。此时的可行流就是最 大流。
(四)、截集
1 、设S,T是V的真子集,S∩T= Ф,把始点在S,终 点在T中的所有弧构成的集合,记为(S,T).
2 、给定网络D=(V,A,C) ,若点集V被剖分为两个 非空集合V1,V2,使vs∈V1,vt∈V2,则弧集(V1,V2)称 为分离vs和vt的截集.
3 、截集(V1,V2)中所有弧的容量之和称为此截 集的容量,记为c(V1,V2),即
(3,2) (4,1)
v5 (11,6) v6
(3,3)
前向弧集合 µ+ ={(v1,v2),(v2,v3),(v3,v4),(v5,v6)}
(8,3) v3
(5,1) (6,3)
(17,2) v4
PDF created with pdfFactory Pro trial version www.pdffactory.com
其中,l(v2)=min(l(v1),f21)=min(4,1)=1。
v2(−v1,1) (4,3) (3,3)
(v0,s+∞)
(1,1) (1,1)
(5,1) v1(vs,4) (2,2)
v4
v2 (4,3)
(5,3) vt (3,3)
(3,0)
vs
(1,1) (1,1)
(2,1) v3
(5,1) v1 (2,2)
在弧(vs,v2)上fs2=cs2=3,不满足标号条件;
PDF created with pdfFactory Pro trial version www.pdffactory.com
continued
在弧(vs,v1)上,fs1<cs1 ,则v1的标号为 (vs,l(v1)),其中,
l(v1 ) = min[l(vs ), (cs1 − f s1 )]
2 、若μ是网络中联结发点vs和收点vt 的一条链, 定义链的方向是从vs到vt,则链上的弧被分为两类: 一类是弧的方向与链的方向一致,称为前向弧,前向 弧的全体记为μ+ ,另一类弧与链的方向相反,称为 后向弧,后向弧的全体记为 μ-。
PDF created with pdfFactory Pro trial version www.pdffactory.com
v4
(5,3) vt
(3,0)
(2,1) v3
Back
PDF created with pdfFactory Pro trial version www.pdffactory.com
5、c在ontinvue3d,v4中任选一个进行检查 。 例如:在弧(v3,vt)上, f3t=1<c3t=2,则vt的标 号为(v3,l(vt))。 其中,
∀aij = (vi ,v j ) ∈ A ⇒ 0 ≤ fij ≤ cij ;
(2) 平衡条件.
对中间点:流出量=流入量,即
∑ ∑ ∀i(i ≠ s,t) ⇒ fij − f ji = 0;
(vi ,v j )∈A (v j ,vi )∈A
∑ ∑ 对于发点vs,
f sj −
f js = v( f );
c12 = 10, c24 = 3, c13 = 8, c34 = 5 ← 容量
f12 = 5, f24 = 2, f13 = 3, f34 = 1 ← 流量 v2 (5,2)
(v5,v4 )是饱和弧←
在链µ = (v1, v2 , v3 , v4
f 54
, v5
,
=v6c)中54 v1
(10,5)
= min[+∞,5 − 1] = 4
(4,3)
(3,3)
(5,3) vt
v2 (4,3) (3,3)
vs
(0,+∞)
(1,1) (1,1)
(5,1) v1(vs,4) (2,2)
(3,0)
(2,1) v3
vs (5,1)
(1,1) (1,1) (2,2)
v1
v4 (5,3) vt
(3,0)
(2,1) v3
式中 v(f) 称为一个可行流的流量,即发
点的净输出量(或收点的净输入量)
2、最大流问题
maxv( f ) f
0≤ fij ≤cij,(vi,vj)∈A
s.t.

fij −
v( f ),(i = s)
∑ f ji = 0,(i ≠ s,t)
(vi ,v j )∈A
(v j ,vi )∈A
3 、设f是一个可行流,μ是从vs到vt的一条链,称 μ为一条增广链,如果满足
(1)(vi , v j ) ∈ µ + ⇒ 0 ≤ f ij < cij ,
即正向弧集中每一条弧 是非饱和弧 ;
(2)(vi , v j ) ∈ µ − ⇒ 0 < fij ≤ cij ,
µ是一条增广链
即反向弧集中每一条弧是非零流弧 后向弧集合 µ − = {(v5 , v4
v2(−v1,1) (4,3) v4(v2,1)
(3,3)
(5,3) vt
v2(−v1,1) (4,3) (3,3)
(v0,s+∞) (5,1)
(1,1) (1,1)
(3,0) (2,1)
(v0,s+∞)
(1,1) (1,1)
v1(vs ,4) (2,2) v3(−v2,1)
(5,1) v1(vs,4) (2,2)
一、基本概念
(一)、网络与流
一个有向图D=(V,A,C)称为一个网络.其中,
V 是D的顶点集;A是弧集;C是各弧上容量集
{cij:cij=c(vi,vj)} .在V中指定了两个顶点vs,vt,分别 称为发点和收点,其余的顶点称为中间点.
定义弧集A上的一个函数
f:(vi,vj)→f(vi,vj) 简为记网为络fi的j. (一10个,5)流v,并2 称((3f5(,,2v2)i,)vj)为弧v5((1v1i,,6v)j)上v 6的流量,
v4 (5,3) vt
(3,0)
(2,1) v3
PDF created with pdfFactory Pro trial version www.pdffactory.com
4 、检查v 。 continued 2 在弧(v2,v4)上,f24<c24 ,则v4的标号(v2,l(v4))。 其中,l(v4)=min(l(v2),(c24-f24))=min(1,1)=1。 在弧(v3,v2)上,f32>0,则v3的标号为(-v2,l(v3)). 其中, l(v3 ) = min[l(v2 ), f32 ] = min[1,1] = 1.
v1
( 4 ,1)
(3,3)
(8,3)
(5,1)
( 6 ,3 ) PDF created with pdfFactory Pro trial version www.pdffactory.com
(17 ,2) v4
(二)、可行流与最大流
1、可行流
一个流称为一个可行流,如果满足以下条件:
(1) 容量限制条件.
∑ c(V1,V2 ) =
cij
(vi ,v j )∈(V1 ,V2 )
PDF created with pdfFactory Pro trial version www.pdffactory.com
定理 1 可行流 f 是最大流的充要条件是不存 在关于f的增广链.
定理2 任一个网络D=(V,A,C)中,从vs到vt的 最大流的流量等于分离vs与vt的最小截集的容 量.
µ µ
+ −
,

f ij , 若 (vi , v j ) ∉ µ .
去掉所有的标号,对新的可行流f’={fij’} 重新进入
标号过程。
PDF created with pdfFactory Pro trial version www.pdffactory.com
例1 用标号法求右下图所示网络的最大流。弧 旁的数是(cij,fij)。
(vs ,v j )∈A
(v j ,vs )∈A
∑ ∑ 对于收点vt,
f tj −
f jt = − v ( f ).
( vt ,v j )∈ A
( v j ,vt )∈ A
PDF created with pdfFactory Pro trial version www.pdffactory.com
PDF created with pdfFactory Pro trial version www.pdffactory.com
Back
continued
引 例 假设某公路网的每条公路只允许单向行
驶,这样的公路网称为单行公路网.为了保证道
路畅通,交管部门对每条公路在单位时间内通过的
车辆数目要作一个限制.如图为一单行公路网.
相关文档
最新文档