(3)重复步骤(2),直到vt成为标号点或所有标号点 都检查过。若vt成为标号点,表明得到一条vs到vt的 增广链,转入调整过程;若所有标号点都检查过, 表明这时的可行流就是最大流,算法结束。
调整过程:在增广链上,前向边流量增加l(vt),后 向边流量减少l(vt)。
下面用实例说明具体的操作方法:例
v2 (4,3) (3,3)
vs (5,1)
(1,1) (1,1)
v1 (2,2)
v4 (5,3)
(3,0) vt (2,1)
v3
在图中给出的可行 流的基础上,求vs 到vt的最大流。
(-vv21,1)(4,3)
(3,3)
(v2,1)
v4 (5,3)
(,+∞)
vs (5,1)
(1,1) (1,1)
(v3,1)
下图中已经标示出了一个可行流,求最大流
v[2vs, 4] (4, 0)
(4, 0)
[, ∞] vs
(1, 0) (1, 0)
[v2,v44]
(3, 2)
(5, 2)
vs [v4, 3]
(2, 0)
(5, 2)
v1
[vs, 3]
(2, 2)
v5
(4, 0)
v3
[-v4, 2]
如图已经得到增广链,然后进行调整。
网络的总流量。
可行流总是存在的,例如f={0}就是一个流量为0的可 行流。
所谓最大流问题就是在容量网络中寻找流量最大的可 行流。
一个流f={fij},当fij=cij,则称f对边(vi, vj)是饱和的, 否则称f对边(vi, vj)不饱和。对于不饱和的,其间隙为 δij=cij-fij
最大流问题实际上是一个线性规划问题。