运筹学课件4.7 最小费用流问题

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

剩余网络已不存在最短路
v1
-4
4
2 -2
-1
vs
-1
vt
-2
6
3
v2
v3
-3
已获最小费用最大流
最小费用最大流 若规定网络流为7,则第二次调整量应为 2,而不是3。见图。 最小费用与网络流的关系是凸的,即随 着流的增加,单位流的费用在增加。请 见下页的图。
50 40 30 20 10
费 用
流量f
v1
(5,5,2)
vs(
1 0, (
4) , 0
(5 ,5,
( 0,6 ,2)
1)
T (vt ) [v3 ,1,7] P
P(vs ) [0, ,0]
8, 8, 1)
vt
( 3 ) 2 , ,4
T (v2 ) [v1 ,5,2] P
v2
(3,10,3)
T (v3 ) [v1 ,6,6] [v2 ,5,5] P
P(vs ) [0, ,0]
0, 8, 1)
vt
( 0 ) 2 , ,4
T (v2 ) [vs ,8,1] P
v2
(0,10,3)
2)
v3
T (v3 ) [v2 ,8,4]
第二次迭代
T (v1 ) [vs ,10,4] P
v1
(5,5,2)
vs(
1 0, (
4) , 0
(5 ,5,
第五节 最小费用流问题
什么是最小费用流问题? 求解最小费用流的赋权图法 求解最小费用流的复合标号法
一、什么是最小费用流
给定网络N=(V,A,c,b)和经过网络的流量v,求流 在网络上的最佳分布,使总费用最小。
min b( f )
( i , j ) A
b
js
ij
f ij
( s , j ) A
(5 ,5 ,1 )
vs
( 5, 8 ,1 )
vt
) 2 , ,4 0 (
(0,10,3)
( ,6) 0,2
v2
v3
第二次剩余网络最短路
v1
-1
D=6
4
vs
-1
-2
vt
2
6
1
3
v2
v3
第二次调整网络流
v1
(5,5,2)
0 ( ) 4 , ,10
(5 ,5 ,1 )
,6) 0,2 (
vs
( 8,8 ,1)
如何求最小费用增广链?
生成最小费用可行流的剩余网络:



将饱和弧反向 将非饱和非零流弧加一反向弧 零流弧不变 所有正向弧的权为该弧的费用,反向弧的权 为该弧费用的相反数
剩余网络又叫长度网络,本教材叫做赋 权图。 最小费用增广链对应剩余网络的最短路
最小费用流的实例
v1
0,
vi v j
vt
) 2 , 4 , 3 (
(3,10,3)
v2
v3
第三次剩余网络的最短路
v1
4
-1
D=7
vs
-1
-2
vt
2
6
3
v2
-3
v3
第三次调整网络流
v1
1 ( ) 4 , ,10
(5 ,5 ,1 )
vs
( 8,8 ,1)
(4,5,2)
vt
) 2 , ,4 4 (
(4,10,3)
( ,6) 0,2
v2
v3
1 2 3 4 5 6 7 8 9 10
三、求解最小费用流的复合标号法
将求最短路的标号法和求最大流的标号 法相结合,即在求增广链的标号后加上 一个距离标号,成为一组三标号,距离 标号应采用修正标号法。并采用T标号和 P标号的记法。
三、求解最小费用流的复合标号法
(1)类似于求解最大流的标号法 每一个顶点的标号包括三个部分: 第一个标号表明流的源头,称为流标号,它表 示该标号是从前面哪一个顶点过来的; 第二标号表明到该顶点为止的增广链可能增加 流量的大小,称为增量限制标号; 第三个标号是沿此增广链到该顶点的总费用, 称为费用标号。
三、求解最小费用流的复合标号法
(2)类似于求解最短路的标号法 每一个顶点有两种标号: T标号,用T(v)表示; P标号,用P(v)表示。 由T标号变成P标号的原则也同求最短 路一样,要比较T标号中第三个标号(即 费用标号)的大小。
三、求解最小费用流的复合标号法
(3)进行第一次迭代时,网络中各弧的流量 为零。 假定网络中各弧的费用均为正值,则求 最短路可以采用Dijkstra标号法。 此后的迭代中,由于构成增广链的弧可 能是负费用值,因此要采用Ford算法。
下面以前例为例来说明符合标号的应用。
第一次迭代
v1
vi v j
(0 ,5,
( , 0,6
( f ij ,cij ,bij )
T (v1 ) [vs ,10,4] [v2 ,5,3] P
4) , 0
(0,5,2)
vs(
1 0, (
1)
T (vt ) [v1 ,5,4] P
T (v j ) [vi , j , S j ]
j min[i , cij fij ]
T (v j ) [vi , j , S j ]
j min[i , f ji ]
S j Si Wij
S j Si Wij
Wij W ji
三、求解最小费用流的复合标号法
习题
第一版:

P.267,习题7、8。 P.286,习题10、11。
第二版:

1)百度文库
T (vt ) [v3 ,3,6] P
,2) 0 ,6 (
5, 8, 1)
vt
( ) 2 , 0,4
P(vs ) [0, ,0]
T (v2 ) [vs ,3,1] P
v2
(0,10,3)
v3 T (v3 ) [v2 ,3,4] =P
第三次迭代
T (v1 ) [vs ,10,4] P
(0 ,5 , 1)
( f ij ,cij ,bij )
(0,5,2)
1
0,
4)

vs (

6) 2, 0,
0, 8,
vt
) 2 , 4 , 0 (
1)
(0,10,3)
v2
v3
第一次剩余网络最短路
v1
1
D=4
4
vs
1
2
vt
2
6
3
v2
v3
第一次调整网络流
v1
(5,5,2)
0, ( , 0 1 4)
f
sj

( j , s ) A
f
v( f ) v ( f ) 0, i s, t
( t , j ) A
f
tj
( j ,t ) A
f
jt
( i , j ) A
f
ij
( j ,i ) A
f
ji
0 f ij Cij
二、求解最小费用流的赋权图法
增广链费用,最小费用增广链。 对于最小费用可行流,沿最小费用增广链 调整流,可使流增加,并保持流费用最小。 给定初始最小费用可行流,求最小费用增 广链,若存在,则沿该增广链调整网络流, 直到达到给定的网络流或不存在增广链为 止,后一种情况为最小费用最大流。 若给定网络流超过最大流,则不可能实现。
v3
最后结果
v1
(4,5,2)
) 4 , 0 1 , 1 (
vi v j
(5 ,5 ,1 )
( f ij ,cij ,bij )

vs(
, 0,6 2)
8, 8, 1)
vt
( ) 2 , 4,4
v2
(4,10,3)
v3
提示思考
最短路问题、最大流问题可以看作最小 费用流的特殊情况,请分析如何将最小 费用流问题化成最短路问题和最大流问 题? 运输问题和指派问题可以用最小费用流 问题建模,请将它们化为最小费用流问 题。
三、求解最小费用流的复合标号法
修正如下: 标号过程中,永久标号和临时标号一样 是可以改变的。对任一顶点而言,它有 可能反复变成T标号和P标号,顶点每次 变成P标号,标号过程都要从该顶点重新 开始。 所有顶点变为P标号,算法停止。
三、求解最小费用流的复合标号法
P(vs ) [0, ,0]
正向弧是非饱和弧: 反向弧是非零流弧:
相关文档
最新文档