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

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

费 50 用
40
30 20 10
流量f
1 2 3 4 5 6 7 8 9 10
三、求解最小费用流的复合标号法
将求最短路的标号法和求最大流的标号 法相结合,即在求增广链的标号后加上 一个距离标号,成为一组三标号,距离 标号应采用修正标号法。并采用T标号和 P标号的记法。
三、求解最小费用流的复合标号法
如何求最小费用增广链?
生成最小费用可行流的剩余网络:
将饱和弧反向 将非饱和非零流弧加一反向弧 零流弧不变 所有正向弧的权为该弧的费用,反向弧的权
为该弧费用的相反数
剩余网络又叫长度网络,本教材叫做赋 权图。 最小费用增广链对应剩余网络的最短路
最小费用流的实例
vi
v ( fij ,cij ,bij ) j
v2
-3
v3
第三次调整网络流
v1
(1,10,4)
(5,5,1)
(4,5,2)
(0,2,6)
vs
( 8,8,1)
(4,10,3)
v2
vt
(4,4,2)
v3
剩余网络已不存在最短路
v1
-4
-1
4
vs
2 -2
6
vt
-1
-2
3
v2
v3
-3
已获最小费用最大流
最小费用最大流 若规定网络流为7,则第二次调整量应为 2,而不是3。见图。 最小费用与网络流的关系是凸的,即随 着流的增加,单位流的费用在增加。请 见下页的图。
v1
Hale Waihona Puke Baidu
(0,10,4)
vs( 0, 8, 1)
(0,5,2)
(0,2,6)
(0,5,1)
vt
(0,4,2)
(0,10,3)
v2
v3
第一次剩余网络最短路
v1
4
D=4
1
vs
2
6
vt
1 2
3
v2
v3
第一次调整网络流
v1
(0,10,4)
(5,5,1)
(5,5,2)
(0,2,6)
vs
( 5,8,1)
vt
(0,4,2)
T (v j ) [vi , j , S j ]
j min[ i , cij fij ]
S j Si Wij
反向弧是非零流弧:
T (v j ) [vi , j , S j ]
j min[ i , f ji ]
S j Si Wij Wij W ji
三、求解最小费用流的复合标号法
三、求解最小费用流的复合标号法
修正如下: 标号过程中,永久标号和临时标号一样 是可以改变的。对任一顶点而言,它有 可能反复变成T标号和P标号,顶点每次 变成P标号,标号过程都要从该顶点重新 开始。 所有顶点变为P标号,算法停止。
三、求解最小费用流的复合标号法
P(vs ) [0, ,0]
正向弧是非饱和弧:
T (vt ) [v1,5,4] P
vt
T (v2) [vs ,8,1] P T (v3) [v2,8,4]
第二次迭代
T (v1) [vs ,10,4] P
v1
(0,10,4)
(5,5,1)
T (vt ) [v3,3,6] P
(5,5,2)
(0,6,2)
vs( 5,8,1)
P(vs ) [0,,0]
(0,10,3)
v2
T (v2 ) [vs ,3,1] P
vt
(0,4,2)
v3 T (v3) [v2 ,3,4] =P
第三次迭代
T(v1) [vs,10,4] P
v1
(0,10,4)
(5,5,1)
T (vt ) [v3,1,7] P
(5,5,2)
(0,6,2)
vs( 8,8,1)
P(vs ) [0,,0]
( s, j )A
( j ,s)A
ftj
f jt v( f )
(t , j )A
( j ,t )A
fij
f ji 0, i s, t
(i, j )A
( j ,i )A
0 fij Cij
二、求解最小费用流的赋权图法
增广链费用,最小费用增广链。 对于最小费用可行流,沿最小费用增广链 调整流,可使流增加,并保持流费用最小。 给定初始最小费用可行流,求最小费用增 广链,若存在,则沿该增广链调整网络流, 直到达到给定的网络流或不存在增广链为 止,后一种情况为最小费用最大流。 若给定网络流超过最大流,则不可能实现。
(3,10,3)
v2
T (v2 ) [v1,5,2] P
vt
(3,4,2)
v3
T (v3) [v1,6,6] [v2,5,5] P
最后结果
v1
vi
v ( fij ,cij ,bij ) j
(1,10,4)
(5,5,1)
(4,5,2)
(1)类似于求解最大流的标号法 每一个顶点的标号包括三个部分:
第一个标号表明流的源头,称为流标号,它表 示该标号是从前面哪一个顶点过来的; 第二标号表明到该顶点为止的增广链可能增加 流量的大小,称为增量限制标号; 第三个标号是沿此增广链到该顶点的总费用, 称为费用标号。
三、求解最小费用流的复合标号法
第五节 最小费用流问题
什么是最小费用流问题? 求解最小费用流的赋权图法 求解最小费用流的复合标号法
一、什么是最小费用流
给定网络N=(V,A,c,b)和经过网络的流量v,求流在 网络上的最佳分布,使总费用最小。
min b( f ) bij fij (i, j )A
fsj
f js v( f )
(0,10,3)
v2
v3
第二次剩余网络最短路
v1
4
D=6
-1
vs
-2
6
vt
1 -1
3
v2
2
v3
第二次调整网络流
v1
(0,10,4)
(5,5,1)
(5,5,2)
(0,2,6)
vs
( 8,8,1)
vt
(3,4,2)
(3,10,3)
v2
v3
第三次剩余网络的最短路
v1
4
D=7
-1
vs
-2
6
vt
-1
2
3
下面以前例为例来说明符合标号的应用。
第一次迭代
vi
v ( fij ,cij ,bij ) j
T (v1) v[1vs ,10,4] [v2,5,3] P
(0,10,4)
(0,5,1)
(0,5,2)
(0,6,2)
vs(
0,8,1)
P(vs ) [0,,0]
(0,10,3)
v2
(0,4,2)
v3
(2)类似于求解最短路的标号法 每一个顶点有两种标号:
T标号,用T(v)表示; P标号,用P(v)表示。
由T标号变成P标号的原则也同求最短 路一样,要比较T标号中第三个标号(即 费用标号)的大小。
三、求解最小费用流的复合标号法
(3)进行第一次迭代时,网络中各弧的流量 为零。 假定网络中各弧的费用均为正值,则求 最短路可以采用Dijkstra标号法。 此后的迭代中,由于构成增广链的弧可 能是负费用值,因此要采用Ford算法。
相关文档
最新文档