第八章 图与网络分析

100
第第第 第第第第第第 第第第第第 第第第第第第

Upload: hung

Post on 16-Mar-2016

100 views

Category:

Documents


14 download

DESCRIPTION

第八章 图与网络分析. 最短路问题 最短路的应用. 第一讲: 最短路问题. 最短路问题是网络理论中应用最广泛的问题之一。许多优 化问题都可以使用这个模型,如设备更新、管道的铺设、 线路的安排、厂区的布局等。. 最短路问题的一般提法是:设 为连通图,图中 各边 有权 ( 表示 , 之间没有边) , 为图中任意两点,求一条道路 ,使它是从 到 的所有路中总权最小的路。即:. 最小。. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第八章 图与网络分析

第八章 图与网络分析 最短路问题 最短路的应用

Page 2: 第八章 图与网络分析

第一讲: 最短路问题最短路问题是网络理论中应用最广泛的问题之一。许多优化问题都可以使用这个模型,如设备更新、管道的铺设、线路的安排、厂区的布局等。最短路问题的一般提法是:设 为连通图,图中各边 有权 ( 表示 , 之间没有边) ,

为图中任意两点,求一条道路 ,使它是从 到 的所有路中总权最小的路。即:

),( EVG

),( ji vv ijl ijl iv

,svjv

tv sv

tv

),(

)(ji vvijlL

最小。

Page 3: 第八章 图与网络分析

最短路算法中 1959 年由 (狄克斯特洛)提出的算法被公认为是目前最好的方法,我们称之为 算法。下面通过例子来说明此法的基本思想。

Dijkstra

Dijkstra

条件:所有的权数 0ijl

思路:逐步探寻。

1v

2v

3v 5v 7v

8v

6v4v

4

6

7 61

51

9

5

54

4

7

Page 4: 第八章 图与网络分析

1v

2v

3v 5v 7v

8v

6v4v

4

67 6

1

51

9

5

54

4

7

下求 到 的最短路: 1v 8v

1 )从 出发,向 走。首先,从 到 的距离为0 ,给

标号( 0 )。画第一个弧。(表明已 标号,或已走出 )

1v 8v 1v 1v 1v

1v 1v

)0(

从 出发,只有两条路可走 ,其距离为1v ),,( 21 vv ),( 31 vv2 ),412 l .613 l

Page 5: 第八章 图与网络分析

1v

2v

3v 5v 7v

8v

6v4v

4

67 6

1

51

9

5

54

4

7)0(

可能最短路为4}6,4min{},min{},min{ 13121312 llkk

),( 21 vv

2v

)4(

① 给 划成粗线。③ 划第二个弧。② 给 标号( 4 )。

①②

Page 6: 第八章 图与网络分析

1v

2v

3v 5v 7v

8v

6v4v

4

67 6

1

51

9

5

54

4

7)0(

)4(

表明走出 后走向 的最短路目前看是 ,最优距离是 4 。

1v 8v ),( 21 vv

现已考察完毕第二个圈内的路,或者说,已完成 的标号。

,1v 2v

①②

Page 7: 第八章 图与网络分析

1v

2v

3v 5v 7v

8v

6v4v

4

67 6

1

51

9

5

54

4

7)0(

)4(

3 )接着往下考察,有三条路可走: ),,( 42 vv),,( 31 vv ).,( 52 vv

可选择的最短路为6}44,54,6min{},,min{},,min{ 2512241213252413 dldllkkk

),( 31 vv

3v

)6(

① 给 划成粗线。③ 划第 3 个弧。② 给 标号( 6 )。

①②

Page 8: 第八章 图与网络分析

1v

2v

3v 5v 7v

8v

6v

4

67 6

1

51

9

5

54

4

7)0(

)4(

)6(

4 )接着往下考察,有四条路可走: ),,( 42 vv ).,( 52 vv

可选择的最短路为8}13,10,8,9min{},,,min{ 35342524 kkkk

5v

4v

),,( 43 vv ).,( 53 vv

),( 52 vv

)8(

① 给 划成粗线。③ 划第 4 个弧。② 给 标号( 8 )。

①②

③ ④

Page 9: 第八章 图与网络分析

1v

2v

3v 5v 7v

8v

6v

4

67 6

1

51

9

5

54

4

7)0(

)4(

)6(

5 )接着往下考察,有四条路可走: ),,( 42 vv

可选择的最短路为9}14,13,10,9min{},,,min{ 57563424 kkkk

4v

),,( 43 vv),,( 65 vv

),( 42 vv

)8(

).,( 75 vv

4v )9(

① 给 划成粗线。③ 划第 5 个弧。② 给 标号( 9 )。

①②

③ ④ ⑤

Page 10: 第八章 图与网络分析

1v

2v

3v 5v 7v

8v

6v4

67 6

1

51

9

5

54

4

7)0(

)4(

)6(

6 )接着往下考察,有四条路可走: ),,( 64 vv

可选择的最短路为13}14,13,16,18min{},,,min{ 57564746 kkkk

6v

),,( 74 vv),,( 65 vv

),( 65 vv

)8(

).,( 75 vv

4v )9( )13(

① 给 划成粗线。③ 划第 6 个弧。② 给 标号( 13 )。

①②

③ ④ ⑤ ⑥

Page 11: 第八章 图与网络分析

1v

2v

3v 5v 7v

8v

6v4

67 6

1

51

9

5

54

4

7)0(

)4(

)6(

7 )接着往下考察,有四条路可走: 可选择的最短路为

14}14,18,14,16min{},,,min{ 68675747 kkkk

8v

),,( 76 vv

),,( 75 vv

)8(

),,( 75 vv

4v )9( )13(

).,( 86 vv

)14(

),,( 74 vv

),( 86 vv

,7v

)14(

① 同时给 划成粗线。② 分别给 标号( 14 )。

Page 12: 第八章 图与网络分析

最后,从 逆寻粗线到 ,得最短路:

1v

2v

3v 5v 7v

8v

6v4

67 6

1

51

9

5

54

4

7)0(

)4(

)6( )8(

4v )9( )13(

)14(

)14(

8v 1v

86521 vvvvv

长度为 14 。

Page 13: 第八章 图与网络分析

第二讲:最短路问题的两个应用最短路问题在图论应用中处于很重要的地位,下面举两个实 际应用的例子。例 12/P264 设备更新问题某工厂使用一台设备,每年年初工厂要作出决定:继续使 用,购买新的?如果继续使用旧的,要负维修费;若要购买 一套新的,要负购买费。试确定一个 5 年计划,使总支出最小若已知设备在各年的购买费,及不同机器役龄时的残值与维修费,如表 8-2 所示 .

Page 14: 第八章 图与网络分析

项目 第 1年 第 2年 第 3年 第 4年 第 5年购买费 11 12 13 14 14机器役龄 0-1 1-2 2-3 3-4 4-5维修费 5 6 8 11 18残值 4 3 2 1 0

表 8-2

解:把这个问题化为最短路问题。用点 表示第 i 年初购进一台新设备,虚设一个点 ,表示第5 年底。

6viv

边 表示第 i 年购进的设备一直使用到第 j 年初(即第 j-1

年底)。),( ji vv

Page 15: 第八章 图与网络分析

边 上的数字表示第 i 年初购进设备,一直使用到第 j 年初所需支付的购买费、维修的全部费用(可由表 8-2 计算得到)。

),( ji vv

1v 2v 3v 4v 5v 6v131219

2840

59

1515

2029

4122

2130

14

这样设备更新问题就变为:求从 到 的最短路问题 .1v 6v

Page 16: 第八章 图与网络分析

项目 第 1年 第 2年 第 3年 第 4年 第 5年购买费 11 12 13 14 14机器役龄 0-1 1-2 2-3 3-4 4-5维修费 5 6 8 11 18残值 4 3 2 1 0

表 8-2

1v 2v 3v 4v 5v 6v131219

2840

59

1515

2029

4122

2130

14

Page 17: 第八章 图与网络分析

)12(2v 3v 4v 5v 6v131219

2840

59

1515

2029

4122

2130

14

⑴ 1v )0(

⑵ 12}59,40,28,19,,12min{},,,,min{ 1615141312 kkkkk

1v )0(

),( 21 vv 给 划成彩线。

19}4112,2912,2012,1312,59,40,28,19min{},,,,,,,min{ 2625242316151413

kkkkkkkk⑶

Page 18: 第八章 图与网络分析

)12(2v )19(3v )28(4v 5v 6v131219

2840

59

1515

20 2941

22

2130

14

①1v )0(

),( 31 vv 给 划成彩线。28}49,40,33,53,41,32,59,40,28min{},,,,,,,,min{ 363534262524161514

kkkkkkkkk⑷

),( 41 vv 给 划成彩线。

Page 19: 第八章 图与网络分析

15 16 25 26 35 36 45 46min{ , , , , , , , }min{40,59,41,43,40,49,43,50} 40k k k k k k k k

)12(2v )19(3v )28(4v )40(5v 6v131219

2840

59

1515

20 2941

22

2130

14

①1v )0(

② ③ ④

),( 51 vv 给 、 划成彩线。

3 5( , )v v

Page 20: 第八章 图与网络分析

)12(2v )19(3v )28(4v )40(5v 6v131219

2840

59

1515

20 2941

22

2130

14

①1v )0(

② ③ ④ ⑤

49}55,50,49,53,59min{},,,,min{ 5646362616

kkkkk⑹

),( 63 vv 给 划成彩线。计算结果:最短路631 vvv

Page 21: 第八章 图与网络分析

)12(2v )19(3v )28(4v )40(5v 6v1319

2840

59

1515

20 2941

22

2130

14

①1v )0(

② ③ ④ ⑤

12

最短路路长为 49 。即:在第一年、第三年初各购买一台新设备为最优决策。这时 5 年的总费用为 49 。

Page 22: 第八章 图与网络分析

例 13 ( 选址问题 P265 ) 已知某地区的交通网络如图 8-37 所示,其中点代表居民小区,边代表公路,边权为小区间公路距离,问区中心医院应建在哪个小区,可使离医院最远的小区居民就诊时所走的路程最近?

1v 6v

3v

2v

4v

5v

7v30 15

2030

15

20 25

60

18

解 求中心的问题。解决方法:先求出 到其它各点的最短路长如

iv

jd

1 1 2 3 7 3 7( ) max{ , , , } max{0,30, , }D v d d d d d d

再求

Page 23: 第八章 图与网络分析

)}(,),(),(min{ 721 vDvDvD

即为所求。

1v )18(6v2v7v

30 15

2030

15

20 25 18

5v60

)0(4v比如求 )( 4vD

⑴ 4v )0(

⑵ 18}18,30,20min{},,min{ 464543 kkk

),( 64 vv 给 划成彩线。

3v

Page 24: 第八章 图与网络分析

1v )18(6v2v7v

30 15

2030

15

20 25 18

5v60

)0(4v)20(3v

20}33,33,43,30,20min{},,,,min{ 6762634543 kkkkk⑶

),( 34 vv 给 划成彩线。给 标号 20 。3v

Page 25: 第八章 图与网络分析

1v )18(6v)33(2v7v

30 15

2030

15

20 25 18

)30(5v60

)0(4v)20(3v

30}33,33,40,80,30min{},,,,min{ 6762323545 kkkkk⑷

),( 54 vv给 划成彩线。给 标号 30 。5v

Page 26: 第八章 图与网络分析

1v )18(6v)33(2v30 15

2030

15

20 25 18

)30(5v60

)0(4v)20(3v

33}33,33,40min{},,min{ 676232 kkk⑸

),,( 26 vv分别给 划成彩线。分别给 标号 33 。72 ,vv

)33(7v

),( 76 vv

Page 27: 第八章 图与网络分析

)60(1v )18(6v

1v

30 15

2030

15

20 25 18

)30(5v60

)0(4v)20(3v

63}63min{}min{ 21 k⑹

给 划成彩线。给 标号 63 。

),( 12 vv

)33(7v)33(2v

其它计算结果见下表:

Page 28: 第八章 图与网络分析

小区号0 30 50 63 93 45 60 93

30 0 20 33 63 15 30 63

50 20 0 20 50 25 40 50

63 33 20 0 30 18 33 63

93 63 50 30 0 48 63 93

45 15 25 18 48 0 15 48

60 30 40 33 63 15 0 63

表 8.1

1v1v

3v

3v2v

2v

4v

4v

5v

5v6v

6v 7v

7v

)( ivD

由于 最小,所以医院应建在 ,此时离医院最远的小区 距离为 48 。

48)( 6 vD 6v

5v

Page 29: 第八章 图与网络分析

三 . Floyd (佛洛伊德)算法这里介绍得 Floyd ( 1962 年)可直接求出网络中任意两点间的最短路。令网络中的权矩阵为 ,)( nnijdD 其中

ijij

ld

当其他

Evv ji ),(

算法基本步骤为:⑴ 输入权矩阵 .)0( DD

Page 30: 第八章 图与网络分析

1v

2v

2

10

5v3v

4v

DD )0(

例 14/P266

2

5 2

2

31

64

4

8

044240628203221005

21501v1v

2v3v4v5v

3v2v 4v 5v

⑵ 计算 nnkij

k dD )( )()( nk ,,2,1

其中 },min{ )1()1()1()( kkj

kik

kij

kij dddd

例如: 6}15,10{},min{ )0(13

)0(21

)0(23

)1(23 dddd

Page 31: 第八章 图与网络分析

)1(D

0442403728203227605

2150

413412

214213

1v1v

2v3v4v5v

3v2v 4v 5v

},min{ )0(1

)0(1

)0()1(jiijij dddd

中不带角标的元素表示从 到 的距离(直接有边),带角标的元素表示借 为中间点时的最短路长。

iv jv

1v

)1(D

)0(D

044240628203221005

21501v1v

2v3v4v5v

3v2v 4v 5v

ik kj ikjd d d

Page 32: 第八章 图与网络分析

)2(D

},min{ )1(2

)1(2

)1()2(jiijij dddd

2v,1v

1v1v

2v3v4v5v

3v2v 4v 5v

0442740372

5203227605

72150

521

413412

325

214213

125

中不带角标的元素表示从 到 的距离(直接有边),带角标的元素表示借 为中间点时的最短路长。

iv jv)2(D

)1(D

0442403728203227605

2150

413412

214213

1v1v

2v3v4v5v

3v2v 4v 5v

在放开 的基础上,再放开1v 2v

Page 33: 第八章 图与网络分析

)3(D

1v1v

2v3v4v5v

3v2v 4v 5v

0442640362

5203227605

62140

531

4134132

325

214213

1325132

},min{ )2(3

)2(3

)2()3(jiijij dddd

)2(D

1v1v

2v3v4v5v

3v2v 4v 5v

0442740372

5203227605

72150

521

413412

325

214213

125

注意到:},min{ )2(

35)2(

13)2(

15)3(

15 dddd

132532513 6}51,7min{

在放开 点的基础上,再放开 考察最短路。 ,1v 2v 3v

Page 34: 第八章 图与网络分析

)3(D

1v1v

2v3v4v5v

3v2v 4v 5v

0442640362

5203227605

62140

531

4134132

325

214213

1325132

},min{ )2(3

)2(3

)2()3(jiijij dddd

)2(D

1v1v

2v3v4v5v

3v2v 4v 5v

0442740372

5203227605

72150

521

413412

325

214213

125

注意到:},min{ )2(

32)2(

43)2(

42)3(

42 dddd

413232413412 6}33,7min{

Page 35: 第八章 图与网络分析

)3(D2v3v4v5v

0442640362

5203227605

62140

531

4134132

325

214213

1325132

1v 3v2v 4v 5v

)4(D

1v1v

2v3v4v5v

3v2v 4v 5v

0442640362

5203227605

62140

531

4134132

325

214213

1325132},min{ )3(4

)3(4

)3()4(jiijij dddd

说明所有点经过 并没有缩短路程。

1v

4v

)3()4( DD

Page 36: 第八章 图与网络分析

)4(D

1v

2v3v4v5v

0442640362

5203227605

62140

531

4134132

325

214213

1325132

1v 3v2v 4v 5v

)5(D

1v1v

2v3v4v5v

3v2v 4v 5v

0442640362

5203226605

62140

531

4134132

325

254213

1325132},min{ )4(4

)4(4

)4()5(jiijij dddd

只有一个新增元素},min{ )4(

54)4(

25)4(

24)5(

24 dddd

2545425214 6}42,7min{

Page 37: 第八章 图与网络分析

1v

2v

2

10

5v3v

4v

)5(D2

5 2

2

31

64

4

81v1v

2v3v4v5v

3v2v 4v 5v

0442640362

5203226605

62140

531

4134132

325

254213

1325132

表示任意两点间的最短路长及其路径。 )5(D

Page 38: 第八章 图与网络分析

第二讲 最大流问题最大流问题是一类应用极为广泛的问题,例如在交通运输网络中有人流、车流、货物流、供水系统中有水流,金融系统中有现金流,通信系统中有信息流,等等。一. 有关概念:例:下图是输油管道网, 为起点, 为终点, , , , 为中转站,边上的数字表示该管道的最大输油能 力(也称容量),记为 ,问应如何安排各管道输油量,才能使从到的总输油量最大?

1v 3v2v

,4v ,5vsv tv

6v

ijc

Page 39: 第八章 图与网络分析

1v

3v

2v

4v

5vsv tv

6v2

23

3 3

4

5

5

5 34

① 分别称 为发点、收点。其余的点称为中间点。 ,sv tv

② 每一个边上都给定一个容量的网络称为容量网络,记),,( CEVG

③ 的每一个边上都给定一个实际流量 的网络称为给定了网络一个流。G ijf

Page 40: 第八章 图与网络分析

1v

3v

2v

4v

5vsv tv

6v

)5,5(

)2,3(

)2,4(

)2,5(

)2,4(

)4,5(

)3,3()3,3(

)0,3(

)2,2(

)2,2(

④容量限制 条件: 对每一边上都有 ijij cf 0

⑤平衡条件: a) 中间点: 流入量 =流出量。 b) 发收点: 发出流量 =汇入流量。

若 ,称边 是饱和边。ijij cf ),( ijij fc

Page 41: 第八章 图与网络分析

⑥ 可增广链:是指从 到 有一条链,此链上有 ≤ 的现象出现。(非饱和链)

sv tv ijf ijc

这种流称为可行流。上图就是一个可行流。使流量达到最大的流称为最大流 。

二. 求解最大流:

a)先给标号 (∆, +∞ ),其中∆意思是流入的结点,现没有,纯属一个符号。 +∞ 表示的流出量。因它上面没有结点来控制它,故设为 +∞.

1 ) 寻找可增广链:sv

Page 42: 第八章 图与网络分析

b) 接着检查与相邻接的点 , , 。 已饱和,流量不可再增。再检查 ,可调整量为 4-2=2 ,可提供量 +∞ ,取调整量

1v

3v

2v

4v

5vsv tv

6v

)5,5(

)2,3(

)2,4(

)2,5(

)2,4(

)4,5(

)3,3()3,3(

)0,3(

)2,2(

)2,2(

),(

1v 2v 3v 1v

2v

2},24min{2

v

Page 43: 第八章 图与网络分析

给 标号 ,其中 表示 的所调整量2 来自 ,且为正向流(向前流) 。

1v

3v

2v

4v

5vsv tv

6v

)5,5(

)2,3(

)2,4(

)2,5(

)2,4(

)4,5(

)3,3()3,3(

)0,3(

)2,2(

)2,2(

)2,( sv

),(

sv 2v sv

同理,给 标号 3v )1,( sv

c)下对已标号点(可望调整点)接着向下检查。 已饱和。再检查与 相邻接且未标号的点

6v

2v ,5v 6v

2v

)2,( sv

)1,( sv

Page 44: 第八章 图与网络分析

调整量为

1v

3v

2v

4v

5vsv tv

6v

)5,5(

)2,3(

)2,4(

)2,5(

)2,4(

)4,5(

)3,3()3,3(

)0,3(

)2,2(

)2,2(

),(

)2,( sv

)1,( sv

2}2,03min{5

v

给 标号为 5v

)2,( 2v

)2,( 2v

d) 检查与 相邻接且未标号的点 , 。而 对 来讲是流入,现欲增加流出量,应压缩 的流入量,只要的流入量

5v 1v tv 1v 5v

1v

Page 45: 第八章 图与网络分析

1v

3v

2v

4v

5vsv tv

6v

)5,5(

)2,3(

)2,4(

)2,5(

)2,4(

)4,5(

)3,3()3,3(

)0,3(

)2,2(

)2,2(

),(

)2,( sv

)1,( sv

)2,( 2v

,015 f 可令调整量为2}2,3min{

1v

给 标号为)2,( 5v1v

)2,( 5v

表示可控量,反方向流量。

Page 46: 第八章 图与网络分析

1v

3v

2v

4v

5vsv tv

6v

)5,5(

)2,3(

)2,4(

)2,5(

)2,4(

)4,5(

)3,3()3,3(

)0,3(

)2,2(

)2,2(

),(

)2,( sv

)1,( sv

)2,( 2v

)2,( 5v

f) 下面检查与 相邻接且未标号的点 ,同理,调整量: 1v 4v

2}2,25min{4

v

给 标号为 ).2,( 1v4v

)2,( 1v

g) 最后,给 标号 tv

)2,( 4v

).2,( 4v

Page 47: 第八章 图与网络分析

1v

3v

2v

4v

5vsv tv

6v

)5,5(

)2,3(

)2,4(

)2,5(

)2,4(

)4,5(

)3,3()3,3(

)0,3(

)2,2(

)2,2(

),(

)2,( sv

)1,( sv

)2,( 2v

)2,( 5v )2,( 1v

)2,( 4v

2 )调整流量:从 到 所画出的彩线即为可增广链。沿该可增广链,从 倒推,标“+”号的在实际流量上加上该调整量,标“-”符号的在实际流量上减去该调整量。完成调整过程。

sv tv

tv

Page 48: 第八章 图与网络分析

1v

3v

2v

4v

5vsv tv

6v

)5,5(

)2,3(

)2,4(

)2,5(

)2,4(

)4,5(

)3,3()3,3(

)0,3(

)2,2(

)2,2(

),(

)2,( sv

)1,( sv

)2,( 2v

)2,( 5v )2,( 1v

)2,( 4v

1v

3v

2v

4v

5vsv tv

6v

)5,5(

)2,3(

)4,4(

)4,5(

)4,4(

)4,5(

)3,3()1,3(

)2,3(

)2,2(

)2,2(

),(

)2,( sv

)1,( sv

)2,( 2v

)2,( 5v )2,( 1v

)2,( 4v

Page 49: 第八章 图与网络分析

1v

3v

2v

4v

5vsv tv

6v

)5,5(

)2,3(

)4,4(

)4,5(

)4,4(

)4,5(

)3,3()1,3(

)2,3(

)2,2(

)2,2(

),(

)1,( sv

重新开始标号,寻找可增广链。当标到 时,与 , 相邻接的点 , , 都不满足标号条件,标号无法继续,且没有完成标号。此时最大流量即为所求。

)1,( sv sv 3v

1v 2v 6v tv

Page 50: 第八章 图与网络分析

第三讲:最大流问题的应用1. 最大匹配问题⑴ 二部图(也叫二分图)图 G= (V, E), 若 V=X Y∪ 且 X∩Y=ф ,使得 E 中每一条边的两个端点必有一个属于 X ,另一个属于 Y ,则称 G为二部图。记 G= ( X , Y , E ),或 G= ( X , E ,Y )。 1v

2v

3v

4v

5v

6v

},,{ 321 vvvX

},,{ 654 vvvY

Page 51: 第八章 图与网络分析

2.匹配:对给定的二部图 G = ( X , Y , E ),若有 M⊆E ,且M 中任意两条边都没有公共端点,则称 M 为 G 的一个匹配(也称对集)。

1v

2v

3v

4v

5v

6v

既满足:一个人只多做一件工作,每件工作只多由一人来做。即为工作集与工人集之间的一个匹配。

1v

2v

3v

4v

5v

6v

Page 52: 第八章 图与网络分析

3.最大匹配问题: 表示 G 中所有的匹配集,即

={M | M 为 G 的匹配集}|M| 表示 M 的边数,若存在 M0 使对任意的 M∈ ,有

|||| 0 MM

则称 M0 是 G 的最大匹配。注: G 中最大匹配方案可能不唯一。

Page 53: 第八章 图与网络分析

2 。多端网络问题:例 16/P-274 设有 5 位待业者, 5项工作,他们各自能胜任工作的情况如图 8-47 所示,要求设计一个就业方案,使尽量多的人能就业。

1x

2x

3x

4x

5x

1y

2y

3y

4y

5y

其中 51 ,, xx

表示工人。51 ,, yy 表示工作。

Page 54: 第八章 图与网络分析

1x

2x

3x

4x

5x

1y

2y

3y

4y

5y

二部图中最大匹配问题,可以转化为最大流问题求解。在二部图中增加两个新点 分别作为发点,收点。并用有向边把它们与原二部图中顶点相连,令全部边上的容量均为 1 。当网络流达到最大时,如果 上的流量为 1 ,就让 作 工作,此即为最大匹配方案。

svtv

,sv tv

),( ji yx

ix jy

Page 55: 第八章 图与网络分析

1x

2x

3x

4x

5x

1y

2y

3y

4y

5y

sv tv),(

)1,( sv

)0,1()0,1(

)0,1(

)0,1(

)0,1(

)0,1(

)0,1(

)1,( 1x

)1,( 1y

第一次标号。 调整

)0,1(

)0,1( )0,1(

)0,1(

)0,1(

)0,1(

)0,1()0,1(

)0,1( )0,1(

)0,1()0,1(

)0,1(

Page 56: 第八章 图与网络分析

1x

2x

3x

4x

5x

1y

2y

3y

4y

5y

sv tv),(

)0,1(

)0,1(

)0,1(

)0,1(

)1,1(

)1,( 4y

)1,1()1,1(

第二次标号。

)1,( sv

)1,( 2x

)0,1(

)0,1()0,1(

)0,1()0,1(

)0,1(

再调整。

Page 57: 第八章 图与网络分析

1x

2x

3x

4x

5x

1y

2y

3y

4y

5y

sv tv),(

)0,1(

)0,1(

)0,1(

)1,1(

)1,( 4y

)1,1()1,1()1,1(

)1,1(

)1,1(

第三次标号。

)0,1(

)0,1(

)0,1(

)0,1(

Page 58: 第八章 图与网络分析

1x

2x

3x

4x

5x

1y

2y

3y

4y

5y

sv tv),(

)0,1(

)0,1(

)0,1(

)1,1(

)1,( 5y

)1,1()1,1()1,1(

)1,1(

)1,1(

)1,( sv)0,1(

)0,1( )0,1(

)1,( 3x

调整。

Page 59: 第八章 图与网络分析

1x

2x

3x

4x

5x

1y

2y

3y

4y

5y

sv tv),( )0,1(

)0,1(

)1,1(

)1,1()1,1()1,1(

)1,1(

)1,1()0,1()1,1(

)1,1()1,1(

第四次标号。)0,1(

)0,1()0,1(

Page 60: 第八章 图与网络分析

1x

2x

3x

4x

5x

1y

2y

3y

4y

5y

sv tv),( )0,1(

)0,1(

)1,1(

)1,( 2y

)1,1()1,1()1,1(

)1,1(

)1,1()0,1()1,1(

)1,1()1,1(

)1,( sv)0,1(

)1,( 4x

)1,( 5y

)1,( 3x

)1,( 4y)0,1(

)1,( 2x)1,( 1y

)1,( 4x)0,1(

调整

Page 61: 第八章 图与网络分析

1x

2x

3x

4x

5x

1y

2y

3y

4y

5y

sv tv),( )0,1(

)1,1(

)1,1()1,1()1,1(

)1,1()1,1(

)1,1(

)0,1(

)1,1(

)1,1()0,1(

)1,1()0,1(

)1,1(

)1,1(

)0,1()0,1(

第五次标号。

Page 62: 第八章 图与网络分析

1x

2x

3x

4x

5x

1y

2y

3y

4y

5y

sv tv),( )0,1(

)1,1(

)1,( 2y

)1,1()1,1()1,1(

)1,1()1,1(

)1,1(

)0,1(

)1,1(

)1,1()0,1(

)1,1()0,1(

)1,1(

)1,1(

)1,( sv

)0,1(

)1,( 2x

)0,1(5( ,1)x

)1,( 5y

Page 63: 第八章 图与网络分析

1x

2x

3x

4x

5x

1y

2y

3y

4y

5y

sv tv),( )0,1(

)1,1(

)1,( 2y

)1,1()1,1()1,1(

)1,1()1,1(

)1,1(

)0,1(

)1,1(

)1,1()0,1(

)1,1()0,1(

)1,1(

)1,1(

)1,( sv

)0,1(

)1,( 2x

)1,( 5x

)1,( 4y

)0,1(5( ,1)x

标号过程已无法再继续。流量为 1 的化彩线。

Page 64: 第八章 图与网络分析

1x

2x

3x

4x

5x

1y

2y

3y

4y

5y

sv tv),( )0,1(

)1,1(

)1,( 2y

)1,1()1,1()1,1(

)1,1()1,1(

)1,1(

)0,1(

)1,1(

)1,1()0,1(

)1,1()0,1(

)1,1(

)1,1(

)1,( sv

)0,1(

)1,( 2x

)1,( 5x

)1,( 4y

)0,1()1,( 3x

)1,( 5y

工人 ,1x ,2x ,3x 4x 分别作 ,2y ,1y ,4y 5y

故最多安排四个人工作。

Page 65: 第八章 图与网络分析

应用 2

习题 8.21/P-282 :现有 5批货物,每批只需一条船装运,要由 , 所在地域运往 , , 地域。至于货物从 , 运向 , , 三点何处都一样,每批货物出发日期如表 1 ,航船行所需天数如表 2 。船只空载和重载时航行时间相同。要求制定一个计划,在半个月内用最少的船只把 5批货物运过去。

1x 2x 1y 2y 3y

1x 2x 1y 2y 3y

地点5 10 /

/ 12 1 ,8

地点2 3 2

1 1 2

1x

2x

1y 2y 3y

1x2x

1y 2y 3y

表 1 (出发日期) 表 2 (航行天数)

Page 66: 第八章 图与网络分析

解:设 , 分别表示每项运输任务的出发日期及到达的日期( i=1 , 2 , 3 , 4 , 5 )则由表 1和表2 知:

ia ib

任务 路线① 5 7

② 10 13

③ 12 13④ 1 3

⑤ 8 10

11 yx

21 yx 22 yx

32 yx

32 yx

ia ib

地点2 3 2

1 1 21x2x

1y 2y 3y表 2 (航行天数)

地点5 10 /

/ 12 1 ,8

1x

2x

1y 2y 3y表 1 (出发日期)

Page 67: 第八章 图与网络分析

任务 路线① 5 7

② 10 13

③ 12 13

④ 1 3

⑤ 8 10

11 yx

21 yx 22 yx

32 yx

32 yx

ia ib

要想用较少的船只在 1~ 15天内完成任务,关键是自上一任务到达的时间加上返回的时间能否赶上下一个任务出发的时间。若能,则一只船就能完成两批货物的运输任务。以下试运行:

Page 68: 第八章 图与网络分析

1x

2x

1y

2y

3y

任务 路线① 5 7

② 10 13

③ 12 13

④ 1 3

⑤ 8 10

11 yx

21 yx 22 yx

32 yx

32 yx

ia ib

①5号

①7号

8号回 ⑤10号

地点2 3 2

1 1 21x2x

1y 2y 3y表 8-6 (航行天数)

⑤8号12号回

③13号

③14号回

Page 69: 第八章 图与网络分析

1x

2x

2y

3y

任务 路线① 5 7

② 10 13

③ 12 13

④ 1 3

⑤ 8 10

11 yx

21 yx 22 yx

32 yx

32 yx

ia ib

②10号

④3号

地点2 3 2

1 1 21x2x

1y 2y 3y表 8-6 (航行天数)

④1号

②13号④5号回共两只船在 13号以前就把 5批货物全部运了出去。是否最优?一只船可行否?如何解决?

Page 70: 第八章 图与网络分析

作一个二部图,点集{ X}和{ Y}都表示这 5项任务,两点间有连线的条件是第 i 件任务完成后可赶上作第 j 件任务。有连线即有匹配,连线越多(匹配数越大)一只船重复使用次数多,使用船只数就越少。最大的匹配就是用最少的船。 任务 路线

① 5 7

② 10 13

③ 12 13

④ 1 3

⑤ 8 10

11 yx

21 yx 22 yx

32 yx

32 yx

ia ib

Page 71: 第八章 图与网络分析

任务 路线① 5 7

② 10 13

③ 12 13

④ 1 3

⑤ 8 10

11 yx

21 yx 22 yx

32 yx

32 yx

ia ib 地点2 3 2

1 1 21x2x

1y 2y 3y表 8-6 (航行天数)

①②③④⑤

①②③④⑤

Page 72: 第八章 图与网络分析

sv tv

)1,1()1,1(

)1,1(

)1,1(

)0,1()0,1(

)1,1(

)0,1(

)0,1()1,1(

此表示共两只船可完成任务: Ⅰ:④→①→②Ⅱ:⑤→③ 解不唯一。

①②③④

①②③

④⑤

)1,1(

)1,1(

)1,1(

Page 73: 第八章 图与网络分析

第四讲:最小费用最大流

大家知道, 法求最短路只适应于权 ≥ 0 的情况,当网络中出现负权时,此法失效,如:

一。带负权的最短路问题:Dijkstra ijl

1v

2v

3v),(

3 2

2)2,( 1v

求 到 的最短路。1v 3v

Page 74: 第八章 图与网络分析

下面通过例子来说明带负权的网络的最短路求法:逐次逼近法:

5v

3v

2v

4v 7v

8v6v

3

4

2

51v

2

4 217

63 3

4

1.给标号 ( 0 )。画弧。1v

)0(

3}3,5,2min{},,min{ 141312 kkk

Page 75: 第八章 图与网络分析

5v

3v

2v

4v 7v

8v6v

3

4

2

51v

2

4 217

63 3

4

)0(

① 给 划成彩线。 ),,( 41 vv

③ 划第二个弧。② 给 标号( -3 )。 4v

)3(

Page 76: 第八章 图与网络分析

5v

3v

2v

4v 7v

8v6v

3

4

2

51v

2

4 217

63 3

4

)0(

① 给 划成彩线。 ),,( 34 vv

③ 划第三个弧。② 给 标号( 1 )。

)3(

1}1,5,2min{},,min{ 431312 kkk

)1(

3v

Page 77: 第八章 图与网络分析

5v

3v

2v

4v 7v

8v6v

3

4

2

51v

2

4 217

63 3

4

)0(

① 给 划成彩线。 ),,( 21 vv

③ 划第四个弧。② 给 标号( 2 )。

)3(

2}7,2min{},min{ 3612 kk

)1(

2v

④)2(

Page 78: 第八章 图与网络分析

5v

3v

2v

4v 7v

8v6v

3

4

2

51v

2

4 217

63 3

4

)0(

① 给 划成彩线。 ),,( 32 vv ④ 划第五个弧。② 给 再次标号( 0 )。

)3(

0}7,0,6min{},,min{ 362325 kkk

)1(

③ ④)2(

3v

)0(

③去掉 彩线。),,( 34 vv

Page 79: 第八章 图与网络分析

5v

3v

2v

4v 7v

8v6v

3

4

2

51v

2

4 217

63 3

4

)0(

① 分别给 划成彩线。 ),,( 52 vv

③ 划第六个弧。② 分别给 标号( 6 )。

)3(

6}6,6min{},min{ 3625 kk

③ ④)2(

,5v

)0(

),( 63 vv

6v

)6(

)6(

Page 80: 第八章 图与网络分析

5v

3v

2v

4v 7v

8v6v

3

4

2

51v

2

4 217

63 3

4

)0(

)3(

65 25min{ } min{6 3} 3 6k k

③ ④)2(

)0(

)6(

)6(

②给 划成彩线。6 5( , )v v

①重新给 标号( 3 )。 5v

③去掉 彩线。2 5( , )v v

(3)

Page 81: 第八章 图与网络分析

5v

3v

2v

4v 7v

8v6v

3

4

2

51v

2

4 217

63 3

4

)0(

)3(

② ③ ④)2(

)0(

(3)

)6(

)10(

① 给 划成彩线。 ),( 86 vv

③ 划第七个弧。② 给 标号( 10 )。 8v

68min{ } min{6 4} 10k

Page 82: 第八章 图与网络分析

5v

3v

2v

4v 7v

8v6v

3

4

2

51v

2

4 217

63 3

4

)0(

① 给 划成彩线。 ),( 78 vv

到达 已经无负权,路程不可能再减少。② 给 标号( 9 )。

)3(

9}9min{}min{ 87 k

③ ④)2(

)0(

)6(

)6(

)10(

7v

)9(

8v

Page 83: 第八章 图与网络分析

5v

3v

2v

4v 7v

8v6v

3

4

2

51v

2

4 217

63 3

4

)0(

)3(

② ③ ④)2(

)0(

)6(

)6(

)10(

)9(

最短路径为: 86321 vvvvv

距离: 10 。

Page 84: 第八章 图与网络分析

§5 最小费用流的问题前两节主要讲了两个问题:最短路问题和最大流问题。下面介绍网络中二者的结合问题:最小费用流的问题。问题的提出是这样的:在一个关于流的网络中,人们不仅需要流达到一定的数量,(甚至达到最大,即最大流)而且每一个流量要有一定的费用,流所走的路线不一样,单位费用不一样。同样数量的流量,可能走的路线不一样,总的费用不一样。从而在限定网络流的基础上,让流沿那些边走,能使总的费用最小(这里的最小费用问题又看成最短路问题)。

Page 85: 第八章 图与网络分析

特别的,当最大流不惟一时,在所有最大流中求一个流 f,使总费用最低。

流量的费用 ,记为

用规划语言可以这样描述:若给定容量网络G= ( V , E ,C )除给定每个边 Evv ji ),( 上的容量 Ccij 外,还给定

0ijd

G= ( V , E , C ,D )若给定 G 的一个可行流 , 在总的流量 }{ ijff vfW )(

(常数)下使

Page 86: 第八章 图与网络分析

)(min)(

fdvfW

ijEvvij fd

ji

),(

求最费用最大流的基本思想是:从零流 开始,以费用作为边的长度,用求最短路的方法,求出可增广链,调整流量,使其流量逐步达到要求的数量。

}{}0{)0(ijff

下通过例子来说明。例:在图 8-55 所示的网络中,求流量为 10 的最小费用流。边上括号内为 。),( ijij dc

Page 87: 第八章 图与网络分析

sv tv

1v

2v 3v

)4,10(

)1,8(

)1,7(

)3,10(

)2,5()2,4(

)6,2(

先假设此网络是空架子,即 0-流。然后,逐步调整流量到 10 ,在什么路线上增加流量?在费用最小的路线上调流量。为简单,把费用网络先拿出来。借费用最短路作为可行流的可增广链,从而在保证流量的同时,又保证费用最低。看下图:

)(a

Page 88: 第八章 图与网络分析

sv tv

1v

2v 3v

)4,10(

)1,8(

)1,7(

)3,10(

)2,5()2,4(

)6,2(

sv tv

1v

2v 3v

4

1

1

3

22

6

)()( )0(fLb

Page 89: 第八章 图与网络分析

sv tv

1v

2v 3v

4

1

1

3

22

6)0(

)1(

② )3(

)4(

)4(

sv tv

1v

2v 3v

4

1

1

3

22

6)0(

)1(

② )3(

)4(

)4(

Page 90: 第八章 图与网络分析

sv tv

1v

2v 3v

)0,10(

)0,8(

)0,7(

)0,10(

)0,5()0,4(

)0,2(

上图为 0流图,边上的括号内为 ),( ijij fc

在此可增广链上,取容量最小的值 min{ 8,5,7} =5, 调整量为 5 。调整后图为

Page 91: 第八章 图与网络分析

sv tv

1v

2v 3v

)0,10(

)5,8(

)5,7(

)0,10(

)5,5()0,4(

)0,2(

此时,网络流量为 =5 10≺ ,此流的费用为:

)1()( fc

)( )1(fW

20152515)( )1( fD

sv tv

1v

2v 3v

)4,10(

)1,8(

)1,7(

)3,10(

)2,5()2,4(

)6,2(

)(a

Page 92: 第八章 图与网络分析

返回到费用网络中,继续找最短路,进而继续调整。在下面流量的调整中,注意到图( c) 有些边的流量已饱和,只能降低,不能再升,如 。而有些边可降,可升。如 。下次调整为了表达上面的意思,我们在费用流网络中,可升、可降的边用两个箭头表示,如下图:

sv tv

1v

2v 3v

)0,10(

)5,8(

)5,7(

)0,10(

)5,5()0,4(

)0,2(

)1()( fc

),( 12 vv

),( 1 tvv

Page 93: 第八章 图与网络分析

sv tv

1v

2v 3v

4

1

1

3

22

6

1

1

下用逐次逼近法求 到 的费用最短路。 sv tv

①给 标号( 0 ),画第一个圈。

(0)

sv

②给 标号( 1 ),画第二个圈。 2v

(1)

① ②

Page 94: 第八章 图与网络分析

sv tv

1v

2v 3v

4

1

1

3

22

6

1

1

)()( )1(fLd

)0(

)1(

①②

③ 分别标 ( 4 )、 ( 4 ),画第三个弧。

1v 3v

)4(

)4(

④ 标号 ( 5 )。画第四个弧。经检查,已没有修改的必要。

tv

)5(

Page 95: 第八章 图与网络分析

sv tv

1v

2v 3v

)0,10(

)5,8(

)5,7(

)0,10(

)5,5()0,4(

)0,2(

显然,流的调整量为 2 。调整后为

sv tv

1v

2v 3v

)2,10(

)5,8(

)7,7(

)0,10(

)5,5()0,4(

)0,2(

Page 96: 第八章 图与网络分析

sv tv

1v

2v 3v

)2,10(

)5,8(

)7,7(

)0,10(

)5,5()0,4(

)0,2(

此时,网络流量为 =7 10≺ ,此流的费用为: )( )1(fW

3017251542)( )2( fD

sv tv

1v

2v 3v

)4,10(

)1,8(

)1,7(

)3,10(

)2,5()2,4(

)6,2(

)(a

)2()( fe

Page 97: 第八章 图与网络分析

在已用过的链上,可增可降的双箭头,只增不降的单箭头。

sv tv

1v

2v 3v

)2,10(

)5,8(

)7,7(

)0,10(

)5,5()0,4(

)0,2(

)2()( fe sv tv

2v 3v

4

1

3

22

6

1

1

)()( )2(fLf

)0(

)1(

4

1v

Page 98: 第八章 图与网络分析

sv tv

2v 3v

4

1

3

22

6

1

1

)0(

)1(

4

下用逐次逼近法求最短路(可增广链):

①1v②

)4(

)4( ③

)6(

sv tv

2v 3v

4

1

3

22

6

1

1

)0(

)1(

4

1v

)4(

)4(

)6(

Page 99: 第八章 图与网络分析

sv tv

1v

2v 3v

)2,10(

)5,8(

)7,7(

)0,10(

)5,5()0,4(

)0,2(

)2()( fe

显然,流的调整量为 3 。调整后为

sv tv

1v

2v 3v

)2,10(

)8,8(

)7,7(

)3,10(

)5,5()3,4(

)0,2(

Page 100: 第八章 图与网络分析

此时,网络流量为 =10 ,最小费用为: )( )3(fW

48231733251842)( )3( fD

sv tv

1v

2v 3v

)4,10(

)1,8(

)1,7(

)3,10(

)2,5()2,4(

)6,2(

)(a

)3()( fg

sv tv

1v

2v 3v

)2,10(

)8,8(

)7,7(

)3,10(

)5,5()3,4(

)0,2(