Upload
thad
View
75
Download
0
Embed Size (px)
DESCRIPTION
8.2 网络最大流. 运输网络问题是很大一类网络问题,通过介绍有些运输网络问题,可以使我们建立起一些处理网络问题的基本概念和方法。 这里涉及的运输网络问题只是考虑简单情况。. 一、运输网络 1. 运输网络的定义 定义 8.7 :一个带权有向图 G=(V,E) 若满足如下条件: (1) G 是连通无自环的; (2) 每条弧 ( i,j) 的权 cij 为非负整数,称为弧的容量, cij 全体所构成的集合记为 C ; (3) 存在 2 个不同的顶点 s 和 t 。 - PowerPoint PPT Presentation
Citation preview
8.2 网络最大流
运输网络问题是很大一类网络问题,通过介绍有些运输网络问题,可以使我们建立起一些处理网络问题的基本概念和方法。
这里涉及的运输网络问题只是考虑简单情况。
一、运输网络1. 运输网络的定义定义 8.7 :一个带权有向图 G=(V,E) 若满足如下条
件: (1)G 是连通无自环的; (2) 每条弧 (i,j) 的权 cij 为非负整数,称为弧的容量,
cij 全体所构成的集合记为 C ; (3) 存在 2 个不同的顶点 s和 t 。则称该有向图为运输网络 , 简称网络,记为
N(V,E,C) 。称 s 为发点 , t 为收点 , 除 s和 t 以外其它顶点称为中间点。 C 称为容量函数。
2. 运输网络 N 中的流定义 8.8 :在网络 N(V,E,C) 的弧集 E 上定义了一个
非负整值函数 f={fij}, 称 f 为网络 N 上的流 , fij 称为弧 (i,j) 上的流量。若无弧 (i,j), 则 fij 定义为 0 。设流f 满足下列条件 :
(1) 容量限制条件:对每一条弧 (i,j), 有 fij≤cij 。 (2) 平衡条件:除 s和 t 外的每个中间点 k, 有 即流出和等于流入和。
对于 s和 t 有则称 f 为网络 N 的一个可行流 , Vf 为流 f 的值 , 或称 f 的流量。
若 N 中无可行流 f', 使 Vf'>Vf, 则称 f 为最大流。
Vj
jkVi
ki ff
fVi
tiVj
jtVj
jsVi
si Vffff
定义 8.9 :若 fij=cij, 则称弧 (i,j) 是饱和的 ; 若fij<cij, 则称弧 (i,j) 是未饱和的。若 fij=0, 则称弧 (i,j)是 f-0 的 ; 若 fij>0, 则称弧 (i,j)是 f- 正的 .
现在的关键是如何求最大流的值。
3.运输网络 N中的割 定义 8.10:设N(V,E,C)是有一个发点 s和一个收点 t的网络。若 V划分为 P和P , 使 sP,tP ,则从 P中的点到P中的点的所有弧集称为分离 s 和 t 的割,
记为(P,P )。 如图 8.6中虚线所示, P={s,a,c},P ={b,t}。 若从网络 N中删去任一个割, 则从 s到 t之间不存在有向路。 要说明的是,对同一 s,t,割不唯一.
割(P,P )的容量是它的每条弧的容量之和,记为 C(P,P )即:
PjPiijcPPC
,
),(
对于不同的割, 它的容量显然是不同的。
对网络中 N 中的割 (P, P ),若不存在割 (P', 'P )使C(P', 'P )< C(P,P ),则称(P,P )为最小割。 讨论网络中流与割的关系
4 . 运 输 网 络 中 流 和 割 的 关 系定 理 8 . 4 : 对 于 给 定 的 网 络 N = ( V , E , C ) , 对 任一 可 行 流 f 和 任 一 割 ( P , P ) , 成 立 V f C ( P , P ) 。证 明 : 因 为 f 是 可 行 流 , 根 据 流 的 平 衡 条 件可 知 :对 于 发 点 s P 有
fVj
jsVi
si Vff
( 1 )
对 于 P 中 不 是 发 点 s 和 收 点 t 的 中 间 点 k 有
Vj
jkVi
ki ff
0 Vj
jkVi
ki ff ( 2 )
此定理给出了流 f的上界 C(P,P )。 由于对任意的流和割都有 Vf
C(P,P ),
因此一定有 VfmaxCmin(P,P )。
二、最大流最小割定理引理:对于给定的网络 N=(V,E,C), 若可
行 流 f 和 割 (P,V-P), 成 立 Vf=C(P,V-P) ,则 Vfmax=Vf , Cmin(P,V-P)=C(P,V-P)。
因此求最大流的一个想法就是构造流和割,使得流量和割容量相等。
福 特 , 富 克 逊 (Frod,Falkerson) 于 1956 年给出的最大流最小割定理
基本思想:1 )对任意网络构造初始流。零流 , 或其他可行流。2 )在初始流基础上寻找可增加流的路,
这样的路称为增广路。并在寻找增广路的同时,计算在该路上可增加多少流。
3 )若找到了从 s到 t 的可增加流的路,则修改流,得到新的可行流。然后转回2 )
(1) 怎样找增广路(2) 如果找不到这样的增广路,是否此时
的流就是最大流?
1. 寻找增广路的方法设 u为 s到 t 的路(不考虑弧的方向)(1) 先考察该路上与路方向一致的弧 ( 称
为向前弧 ) 。若路上所有弧均为向前弧,且每条弧的
流量 < 相应弧的容量,则可增加流的路。对于向前弧 (i,j), fij 是否 <cij。可增加流的通路,采用标号法。
1) 对源点 s 标号 (-)2) 设点 i 已经标号, j 点没有标,对于向
前弧 (i,j) ,若 fij<cij ,则点 j 标号 i+ ;若fij=cij ,则点 j 不标号。
3) 若收点 t 最后被标号,如 t 点被标号c+ ,则找到了从 s到 t 的增广路。
还需要知道这条路可增加多少流量,以便修改流。
1) 对源点 s 标号 (-),令 Δs=+∞。2) 设点 i 已经标号,增量为 Δi, j 点没有
标,对于向前弧 (i,j) ,若 fij<cij ,则点 j 标号 i+,
Δj=min{Δi, cij- fij}
若 fij=cij ,则点 j 不标号。3) 若收点 t 最后被标号,如 t 点被标号
c+, Δt=min{Δc, cct- fct} ,这就找到了从s到 t 的增广路,可增加的流量是 Δt。
修改流时,为满足平衡条件,对该路上所有弧流量 +Δt。
若按此方法找不到增广路,是否就结束?否还可采用下面的方法(2) 如果 u 中部分弧的方向与路的方向相反
( 称这样的弧为向后弧 ) 。如下图所示。
s到 t 的路 s,b,c,t ,这里弧 (c,b) 与路的方向相反。按前面的方法无法解决,对于这类情况需要新的方法
如果在这路上的向前弧 (s,b), (c,t) 都已经饱和,则显然该路不可能是增广路。如果 (s,b), (c,t) 没有饱和,且在前面的的标号过程中, b 点已经标号, s+, Δb.是否有增广路,取决于向后弧 (c,b) 的流 fcb,
如果 b 点已经标号,(s+,Δb) ,且 fcb>0 ,则c 点标号 (b-,Δc),这 里 Δc=min{Δb, fcb}。
0) 对任意网络构造初始流。 1) 对源点 s 标号 (- , +∞) 。 2) 设点 i 已经标号,增量为 Δi, j 点没有标, i) 对于向前弧 (i,j) ,若 fij<cij ,则点 j 标号 (i+,Δj), 这里 Δj= min{Δi, cij- fij}若 fij=cij ,则点 j 不标号。 ii) 对于向后弧 (i,j) ,若 fji>0 ,则 j 点标号 (i-,Δj), 这里 Δj=min{Δi, fji}。若 fij=0 ,则点 j 不标号。 (3) 重复第 2 步,直到 i) 若收点 t 最后被标号 (x+,Δt) ,这就找到了从 s到 t 的
增广路,可增加的流量是 Δt。 修改流时,对该路上所有向前弧流量 +Δt ,向后弧上的
流量减少 Δt ,并以此结果作为新的流,转向 1) 。 ii) 若不再有新的顶点被标号,且 t 仍没有被标号,则说
明网络中的流为最大流
定理:用上述标号法在算法停止时得到的一定是最大流。
证明:算法停止时 , 已经标号的点构成集合 P ,没有标号的构成 V-P ,则 (P,V-P)构成割。然后证明网络中的流的值就等于该割的容量。
关于算法有 2 点要说明:1) 在某点有多种标号选择时,可任意选
择 1 种进行标号。2) 初始流不一定是零流,只要是可行流
即可。
8.3 图与二分图的匹配一、匹配的概念定义 8.11 :在图 G=(V,E) 中 , M 是边集
E 的子集 , 并且 M 中没有两条边相邻 , 称M是 G 的一个匹配。
定 义 : 若 M 中 的 一 边关联于顶点 v, 则称 v为关于 M 饱和的。M 中的边的两端点称为在M 下配对。
定义 :若 G 中每一个顶点是关于 M 饱和的 , 则称 M为 G 的完美匹配。
一个图不一定存在完美匹配
完美匹配不一定唯一 .定理 : 无自环的图 G, 若它有完美匹配 ,
则 |V(G)| 为偶数 .定义:若 G 中不存在匹配 M', 使 |M'|>|
M|, 则称 M为 G 的最大匹配。
图可能有许多不同的最大匹配。完美匹配必是最大匹配 , 反之不一定。如果 G 有完美匹配 , 则它的任一最大匹配是否一定为完美匹配 ?
二、匹配的基本定理首先引进 2 个定义。定义 8.12 :设 M是 G 的一个匹配 , (1) 若在 G 中有一条路 , 它的边在 E-M和M 中交错地出现 , 则称该路为关于 M 的交错路。
(2) 若关于 M 的交错路的起点和终点不是关于M 饱和的 , 则称该路为关于 M 的增广路。
定理:关于 M 的增广路中属于 E-M 的边数比属于 M 的边数多 1 。
定理 8.8 :在图 G 中 ,M 是最大匹配当且仅当G 中不包含关于 M 的增广路。
证明:用反证法。假设 G 中存在关于 M 的增广路 p,
构造 M’=Mp证明( 1)M’ 是匹配 (2)|M’|=|M|+1假设 M 不是最大匹配 , 则存在匹配 M', 使 |
M'|>|M| 。设由 MM’导出的图 G(MM’) 记为 H, 它的每个分支或者是交错路 , 或者是交错回路。由此证明 H 中存在关于 M 的增广路
作业 :P188 12,14,15,16