运筹学课件 最大流及最小费用流
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例 1:图 1 表示一个网络及网络流
x1
1,1 2, 2
6,1 3, 0
v1
4, 0
1, 0 5, 3
5,1
1, 0 2,1
y1
2, 2
v4
3, 2
3,1
s
4, 4
6, 0 6, 4
y2
x2
v3
y3
图1
发点集: 收点集:
X {x1 , x2} Y { y2 }
中间点集: I {v1, v2 , v3 , v4 , y1 , y2}
第2讲 网络流问题
一、网络及网络流 二、最大流与最小割 三、最小费用最大流
一、网络及网络流
现实生活中,人们经常见到一些网络,如铁路网、 公路网、通信网、运输网等等。这些网络有一 个共同的特点,就是在网络中都有物资、人或 信息等某种量从一个地方流向另一个地方,如 何安排这些量的流动以便取得最大效益是一个 很有意义的实际问题。50年代福特(Ford)、 富克逊(Fulkerson)建立的“网络流理论”, 是网络应用的重要组成部分。
f (e)
(2) Val f C( A, A) 。 式(1)表明运输网络的一个自源 s 到汇 t 的流值,等于任何分离 s 和 t 的 割中流的净值,即割的自 A 到 A 的弧中的流减去自 A 到 A 的流的总体。 定理 2(最大流最小割定理) (1)设 f 是流, K 是割,若 Val f C ( K ) ,则 f 是最大流, K 是 最小割。 (2)网络 N 的最大流的价值等于最小割的容量。 上述定理是图论的重要核心,关于图的许多结果,在适当的选择网络 后,应用这个定理往往能够轻易地获得解决。从这个定理的证明中,可以 引出求网络最大流的一个算法。但这种方法实际做起来有困难,因为没解 决如何寻找增广链的方法。
图 1 所示网络等价于图 2 所示的单源单汇网络。
x1
, 2 6,1
v1
3, 0
5,1 4, 0
1, 0
y1
2,1
1,1
2, 2
1, 0
2, 2
s
, 4
v4
3, 2
5,3
3,1
s 6, 0
6, 4 4, 4
,0 , 6 t y2 ,0
x2
v3
图2
y3
二、最大流与最小割
最大流问题是一类应用极为广泛的问题, 例如在交通运输网络中 有人流、车流、货物流,供水网络中有水流,金融系统中有现金流, 通讯系统中有信息流,等等。 定义 5 设 N (V , E, c, s, t ) 是一个网络, f 是一个流,若不存在 流 f ' ,使
例:单源单汇网络和多元多汇网络。
a
3, 3 5, 4
c
3, 3
s
4, 4
5,1
2, 0
1,1
5, 4
t
b
3, 3
d
x1
1,1
2, 2
6,1 3, 0
v1
4, 0
1, 0 5, 3
5,1
1, 0 2,1
y1
2, 2
v4
3, 2
3,1
s
4, 4
6, 0
y2
6, 4
x2
v3
y3
定义 2 设 N 为一个网络, f 是 E 上的非负函数,如果: (1)容量限制条件: 0 f (e) c(e) , e E ; (2)流量守恒条件:
eN ( v )
f (e)
eN ( v )
f (e), v I ,
其中: N (v) 表示 v 的所有出弧的集, N (v) 表示 v 的所有 入弧的集。则称 f 是网络 N 的一个流, f (e) 是边 e 的流量。 注 1: (1) 容量约束表示通过边的流量不能超过改边的 容量; 守恒条件表示在每个中间点, 流进与流出该点的总流 量相等,即保持中间点的流量平衡。 ( 2) 任一网络至少存在一个流, 如零流 ( f (e) 0, e V ) 。
定义 1 称 N (V , E, c, X , Y ) 为一个网络,如果: (1) G (V , E ) 是一个有向图; (2) c 是 E 上的非负函数,称为容量函数,对 每条边 e , c(e) 称为边 e 的容量; (3)X 与 Y 是 V 的两个非空不交子集, 分别称 为 G 的发点集与收点集,I V \ ( X Y ) 称为 G 的中 间点集。 X 的顶点称为发点或源, Y 的顶点称为收 点或汇, I 的顶点称为中间点。 若 | X | 1,| Y | 1 ,称 N 为多源多汇网络;若 | X | 1,| Y | 1 ,称 N 为单源单汇网络。 主要研究单源单汇网络。
定义 3
eN ( A)
f (e)
eN ( A)
设 f 是 网 络 N 的 一 个 流 , AV , 则 称 f (e) 为流出 A 的净流量,称 f (e) f (e)
eN ( A) eN ( A)
为流入 A 的净流量。 注 2: (1)流入、流出任何中间点的净流量为 0; (2)流出发点集 X 的净流量等于流入收点集 Y 的净流量。
{s, t} , s , t 分别是 N ' 的发点与收点; ' (2) E E {(s, x) | x X } {( y, t ) | y Y } ; ' ' ' (3)c c(e), e E ;c (s, x) , x X ,c ( y, t ) , y Y 。
定义 4 设 f 是网络 N 的一个流,则 f 的流的价值 Val f 定义为
Val f =
eN ( X )
f (e)
eN (Y )
f (e)
即流的价值是发点集的流出量,也是收点集的流入量。
注 3:任何一个多源多汇网络 N (V , E, c, X , Y ) 都等价与一个 单源单汇网络 N ' (V ' , E ' , c' , X ' , Y ' ) 。在解决实际问题时,常把多源 多汇网络转化为单源单汇网络。 (1) V ' V
'
( ,) i j A iS , jS
uij 为割 ( A, A)
N 的最小割。
注 4:割是从 A 到 A 的有向弧组成的
最大流与最小割的关系:
定理 1 设 f 是 N 的流, ( A, A) 是一个割,则: (1) Val f
eN ( A)
f (e)
Hale Waihona Puke Baidu
eN ( A)
Val f ' Val f
则称 f 为 N 的最大流。 定义 6 若 A V , s A, t A V A , 则称 N 中弧的集合 ( A, A) 是网络 N 的一个割 (cut) , 记作 K , 称 C( A , ) A 的容量。 设 K 是一个割, 若不存在割 K , 使得 C ( K ' ) C ( K ) , 则称 K 是