【运筹学】最大流问题课件

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

vs
10 5
v2
52
v4
11 6
vt
vs
10 5
v2
52
v4
11 6
vt
6.4.1 基本概念与基本定理
v2 10 58
1
v1
4
83
v3
5 52 23
51 33
v4
11 6
3
30
v6
25
17
v5
6.4.1 基本概念与基本定理
6.4.1 基本概念与基本定理
V1 {vs , v1, v2}
V1 {v3, v4, vt}
应当如何输水使得流量最大?
v2
5
10
3
v1
1
8
5
v4
11 3
v6
17
v3
3
v5
6.4.1 基本概念与基本定理
定义1 给定一个有向图D(V, A), 在V中 指定一个点作为发点,记为Vs;指定另外 一个点作为收点,记为Vt ;其余的点称为 中间点。
定义2 对于有向图D(V, A)中的每一个 弧(Vi, Vj), 对应有一个值c(Vi, Vj), 称为弧的 容量。对于赋权的有向图D(V, A, C) ,特称 为网络, 记为D(V, A, C)。
6.4.1 基本概念与基本定理
定义3 网络上的流,是指定义在弧集合A 上的一个函数 f = { f (Vi, Vj) }。并称为f(Vi, Vj) 为弧(Vi, Vj)上的流量。
6.4.1 基本概念与基本定理
网络流的两个性质: 性质1 每个弧上的流量不能超过该弧的
最大通过能力即容量。 性质2 中间点的流量为0。
6.4.1 基本概念与基本定理
定义4 满足下述条件的流成为可行流 a. 容量限制条件。对任意一弧(Vi, Vj), 均有
0≤f (Vi, Vj) ≤c (Vi, Vj) b. 平衡条件
1. 对于中间点:流入量等于流出量,流量为0; 2. 对于发点: 只有流出量, 流量为可行流的流量 为v(f) 3. 对于收点: 只有流入量, 流量为可行流的流量 为-v(f)
vt
12
v3
6.4.2 标号法(Ford-Fulkerson算法)
第二步:寻找增广链——标号过程
6.4.2 标号法(Ford-Fulkerson算法)
第二步:寻找增广链——标号过程
6.4.2 标号法(Ford-Fulkerson算法)
第二步:寻找增广链——标号过程
6.4.2 标号法(Ford-Fulkerson算法)
the Maximum Flow Problem
一、最大流问题(the Maximum Flow Problem)
许多系统包含了流量问题。例如,公路 系统的车辆流,控制系统中的的信息流、 金融系统的现金流。
最大流问题就是指一个出发点最多能发 送多少流量到一个接受点。
最大流问题
Leabharlann Baidu
• 引例:如下输水网络,南水北调工程, 从vs到vt送水,弧旁数字为管道容量,问
然后在可行流的基础上,寻找增广链.如果找 到,得到新的流量更大的可行流; 如果找不到, 说明当前的可行流就是最大流。
由于可行流的流量不能无限增大,因而总 可以得到最大流。
6.4.2 标号法(Ford-Fulkerson算法)
第一步:构建一条可行流
v2 33
vs
1
1
51
v1
43 11
22
v4
53
3
0
6.4.1 基本概念与基本定理
定义5 容量最大的可行流成为最大流.
6.4.1 基本概念与基本定理
v2
5
10
3
v1
1
8
5
v3
3
v4 11
3
v6
17
v5
6.4.1 基本概念与基本定理
v2 10 5
1
v1
4
83
v3
52 23
51 33
v4
11 6
3
3
v6
217
v5
6.4.1 基本概念与基本定理
增广链的形式
92
v1 8 2 (vs, 7)
(v2, 2)
(v2, 1)
v4
53
3 0
vt (v4, 1)
24
v3 (-v2, 2)
先检查调整数量最大的点
算法出现的问题
2. 一个点已被标号,它的标号是否会改变
(vv1,2 7) 5 3 3 10 (0, M) vs
92
v1 8 2 (vs, 7)
(v2, 2)
v4
93
5
1
vt
11
(vv13, 6)
如果调整数量增大就改变
vs f (v2 , v4 ) f (v1, v3) f (v2 , v3) 3 21 4
v2 33
1 1 51
v1
43 11
22
v4
53
3
0
vt
12
v3
6.4.1 基本概念与基本定理
6.4.1 基本概念与基本定理
6.4.2 标号法(Ford-Fulkerson算法)
算法思想: 首先得到一条可行流。
1 01
11
5 12
v1 2 2 (vs, 4)
(v2, 1)
v4
3
534 (v4, 1)
0
vt
12
v3 (-v2, 1)
6.4.2 标号法(Ford-Fulkerson算法)
第二步:再标号过程
v2 33
44
(0, M) vs
1 0
11
52
v1
22
(vs, 3)
v4
54
3
0
vt
12
v3
6.4.3 最小截集的获得
算法出现的问题
2. 一个点已被标号,它的标号是否会改变
(vv1,2 7) 8 3 3 10 (0, M) vs
92
v1 8 2 (vs, 7)
(v2, 5)
v4
93
5
1
vt
11
(vv13, 6)
如果调整数量不能增大就不改变
算法出现的问题
3. 对已检查的邻点不再进行标号过程
(vv1,2 7) 5 3 3 10 (0, M) vs
V1 {vs , v1} V1 {v2 , v3, v4, vt}
v2
44
33
(0, M) vs
1 0
11
52
(vvs,1 3) 2 2
v4
54
3
0
vt
12
v3
算法出现的问题
1. 哪个未检查但标号的点先被检查的问题
(0, M) vs
(-vv12, 1) 4 3 33
2 2
22
52
v1 4 4 (vs, 4)
第三步:调整过程
(-vv12, 1) 4 3 33
(0, M) vs
1 1
11
51
v1 2 2 (vs, 4)
(v2, 1)
v4
53
3 0
vt (v4, 1)
12
v3 (-v2, 1)
6.4.2 标号法(Ford-Fulkerson算法)
第三步:调整过程
(-vv12, 1) 4 43
33
(0, M) vs
第二步:寻找增广链——标号过程
(0, M) vs
(-v1, 1)
v2
43
33
1 1
11
51
v1 2 2 (vs, 4)
(v2, 1)
v4
53
3 0
vt (v4, 1)
12
v3 (-v2, 1)
6.4.2 标号法(Ford-Fulkerson算法)
第三步:调整过程
6.4.2 标号法(Ford-Fulkerson算法)
相关文档
最新文档