最適化手法第 9 回 (3):最大流問題 岡本吉央...

83
. . 最適化手法 第 9 ネットワーク最適化 (3):最大流問題 岡本 吉央 [email protected] 2013 6 14 最終更新:2013 6 13 14:16 岡本 吉央 (電通大) 最適化手法 (9) 2013 6 14 1 / 66

Upload: others

Post on 18-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

.

......

最適化手法 第 9回ネットワーク最適化 (3):最大流問題

岡本 吉央[email protected]

2013年 6月 14日

最終更新:2013年 6月 13日 14:16

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 1 / 66

Page 2: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

概要

今日の概要

.今日の目標..

......

▶ 最大流問題の定義と解法を理解する▶ 最大流問題を線形計画問題として定式化できるようになる▶ 最大流問題を増加道法によって解けるようになる

2つの重要な定理:最大流最小カット定理,整数流定理

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 2 / 66

Page 3: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

目次

..1 最大流問題とは?

..2 最大流問題と線形計画法

..3 カット容量による上界

..4 増加道法

..5 今日のまとめと今後の予告

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 3 / 66

Page 4: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

最大流問題とは?

.最大流問題とは?..

......

入力▶ 有向グラフ G = (V ,E ),各辺 e ∈ E の容量,2頂点 s, t ∈ V

(辺の容量は非負実数)

s a b

c d t

2

22

1 3

3

4

31

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 4 / 66

Page 5: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

最大流問題とは?

.最大流問題とは?..

......

出力▶ s から t へ至る流れで,その流量が最大のもの

(s から t への最大流)

s a b

c d t

2

22

1 3

3

4

31

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 5 / 66

Page 6: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

流れとは?:直感 (1)

s a b

c d t

2

22

1 3

3

4

31

s

c d t

a b

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 6 / 66

Page 7: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

流れとは?:直感 (2)

s a b

c d t

2

22

1 3

3

4

31

s

c d t

a b

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 7 / 66

Page 8: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

流れとは?:直感 (3)

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

s

c d t

a b

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 8 / 66

Page 9: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

流れとは?

.s から t への流れ (flow) とは?..

......

▶ s から湧き出る総量 = t へ流れ込む総量 (流れの流量とよぶ)

▶ s, t 以外の頂点 v において, (流量保存制約)

v から流れ出る総量 = v へ流れ入る総量▶ 各辺 eにおいて, (容量制約)

0 ≤ eを流れる量 ≤ eの容量

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 9 / 66

Page 10: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

これは流れか? (1)

.s から t への流れ (flow) とは?..

......

▶ s から湧き出る総量 = t へ流れ込む総量▶ s, t 以外の頂点 v において,

v から流れ出る総量 = v へ流れ入る総量▶ 各辺 eにおいて,

0 ≤ eを流れる量 ≤ eの容量

s a b

c d t

2

22

1 3

3

4

31

2 2

01

1

1

0

3

2 流れではない

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 10 / 66

Page 11: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

これは流れか? (1)

.s から t への流れ (flow) とは?..

......

▶ s から湧き出る総量 = t へ流れ込む総量▶ s, t 以外の頂点 v において,

v から流れ出る総量 = v へ流れ入る総量▶ 各辺 eにおいて,

0 ≤ eを流れる量 ≤ eの容量

s a b

c d t

2

22

1 3

3

4

31

2 2

01

1

1

0

3

2 流れではない

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 10 / 66

Page 12: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

これは流れか? (2)

.s から t への流れ (flow) とは?..

......

▶ s から湧き出る総量 = t へ流れ込む総量▶ s, t 以外の頂点 v において,

v から流れ出る総量 = v へ流れ入る総量▶ 各辺 eにおいて,

0 ≤ eを流れる量 ≤ eの容量

s a b

c d t

2

22

1 3

3

4

31

3 2

12

1

1

1

3

3 流れではない

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 11 / 66

Page 13: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

これは流れか? (2)

.s から t への流れ (flow) とは?..

......

▶ s から湧き出る総量 = t へ流れ込む総量▶ s, t 以外の頂点 v において,

v から流れ出る総量 = v へ流れ入る総量▶ 各辺 eにおいて,

0 ≤ eを流れる量 ≤ eの容量

s a b

c d t

2

22

1 3

3

4

31

3 2

12

1

1

1

3

3 流れではない

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 11 / 66

Page 14: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

これは流れか? (3)

.s から t への流れ (flow) とは?..

......

▶ s から湧き出る総量 = t へ流れ込む総量▶ s, t 以外の頂点 v において,

v から流れ出る総量 = v へ流れ入る総量▶ 各辺 eにおいて,

0 ≤ eを流れる量 ≤ eの容量

s a b

c d t

2

22

1 3

3

4

31

1 2

−11

1

1

1

3

0 流れではない

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 12 / 66

Page 15: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

これは流れか? (3)

.s から t への流れ (flow) とは?..

......

▶ s から湧き出る総量 = t へ流れ込む総量▶ s, t 以外の頂点 v において,

v から流れ出る総量 = v へ流れ入る総量▶ 各辺 eにおいて,

0 ≤ eを流れる量 ≤ eの容量

s a b

c d t

2

22

1 3

3

4

31

1 2

−11

1

1

1

3

0 流れではない

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 12 / 66

Page 16: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

これは流れか? (4)

.s から t への流れ (flow) とは?..

......

▶ s から湧き出る総量 = t へ流れ込む総量▶ s, t 以外の頂点 v において,

v から流れ出る総量 = v へ流れ入る総量▶ 各辺 eにおいて,

0 ≤ eを流れる量 ≤ eの容量

s a b

c d t

2

22

1 3

3

4

31

0 0

00

0

0

0

0

0 流れである

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 13 / 66

Page 17: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

これは流れか? (4)

.s から t への流れ (flow) とは?..

......

▶ s から湧き出る総量 = t へ流れ込む総量▶ s, t 以外の頂点 v において,

v から流れ出る総量 = v へ流れ入る総量▶ 各辺 eにおいて,

0 ≤ eを流れる量 ≤ eの容量

s a b

c d t

2

22

1 3

3

4

31

0 0

00

0

0

0

0

0 流れである

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 13 / 66

Page 18: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

最大流問題が出てくる場面:配送問題

▶ 有向グラフは 道路ネットワーク をモデル化▶ s は 部品工場 をモデル化▶ t は 組立工場 をモデル化▶ 辺の容量は 道幅 をモデル化

最大流問題 = できるだけ多くの部品を組み立て工場に運ぶには?

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

他の応用は後の講義で岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 14 / 66

Page 19: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題とは?

最大流問題の解き方

.解き方 1:線形計画問題として定式化........例えば,単体法を用いて解く

.解き方 2:最大流問題独自のアルゴリズムを利用........例えば,増加道法を用いて解く

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 15 / 66

Page 20: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

目次

..1 最大流問題とは?

..2 最大流問題と線形計画法

..3 カット容量による上界

..4 増加道法

..5 今日のまとめと今後の予告

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 16 / 66

Page 21: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

最大流問題の解き方

.解き方 1:線形計画問題として定式化........例えば,単体法を用いて解く

s a b

c d t

2

22

1 3

3

4

31

.今からやること........この有向グラフに対する最大流問題を線形計画問題として定式化

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 17 / 66

Page 22: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

最適化モデル作成のポイント — 第 2回の講義から

.最適化モデル作成のポイント:基礎..

......

次を明確にする▶ 変数は何か? 何を変数は表すのか?▶ 目的関数は何か? 何を最適化するのか?▶ 制約は何か? 何を制約は表すのか?

.最適化モデル作成のポイント:基礎の次..

......

次を心がける▶ 「非線形よりも線形」を目指す▶ 「整数計画よりも 01整数計画」を目指す▶ 「big-Mは使わない」を目指す

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 18 / 66

Page 23: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

最大流問題:変数.決定すべきこと:どの辺にどれだけ流すか (量)..

......

▶ 各辺 ei ∈ {e1, e2, e3, e4, e5, e6, e7, e8, e9}に対して

xi ∈ R

という変数を設定する▶ 解釈:辺 ei の上を流れる量が xi である▶ 変数の数 = 9 (辺の数)

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 19 / 66

Page 24: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

最大流問題:目的関数

.最適化するもの:流量..

......

▶ 目的は最大化 x1 + x2 + x3

▶ 解釈:流量

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 20 / 66

Page 25: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

最大流問題:制約 (1)

.制約 (1):容量制約..

......

▶ 0 ≤ x1 ≤ 2

▶ 0 ≤ x2 ≤ 2

▶ 0 ≤ x3 ≤ 2

▶ 0 ≤ x4 ≤ 1

▶ 0 ≤ x5 ≤ 3

▶ 0 ≤ x6 ≤ 4

▶ 0 ≤ x7 ≤ 1

▶ 0 ≤ x8 ≤ 3

▶ 0 ≤ x9 ≤ 3

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 21 / 66

Page 26: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

最大流問題:制約 (2)

.制約 (2):流量制約..

......

▶ x1 = x5 + x6 (頂点 aに関して)

▶ x6 + x7 = x9 (頂点 bに関して)

▶ x3 = x4 (頂点 c に関して)

▶ x2 + x4 + x5 = x7 + x8 (頂点 d に関して)

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 22 / 66

Page 27: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

最大流問題:線形計画モデルの完成.最大流問題に対する線形計画問題としての定式化..

......

最大化x

x1 + x2 + x3

条 件 x1 = x5 + x6, x6 + x7 = x9,x3 = x4, x2 + x4 + x5 = x7 + x8,0 ≤ x1 ≤ 2, 0 ≤ x2 ≤ 2, 0 ≤ x3 ≤ 2, 0 ≤ x4 ≤ 1, 0 ≤ x5 ≤ 3,0 ≤ x6 ≤ 4, 0 ≤ x7 ≤ 1, 0 ≤ x8 ≤ 3, 0 ≤ x9 ≤ 3,x1, x2, x3, x4, x5, x6, x7, x8, x9 ∈ R

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 23 / 66

Page 28: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

本当にこれでいいのか?

.s から t への流れ (flow) とは? (再掲)..

......

▶ s から湧き出る総量 = t へ流れ込む総量▶ s, t 以外の頂点 v において,

v から流れ出る総量 = v へ流れ入る総量▶ 各辺 eにおいて,

0 ≤ eを流れる量 ≤ eの容量

.問題点?........一番上の等式を制約として記述していない気がする

.回答........記述しなくても問題ない (∵ その等式が他の制約から導かれるから)

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 24 / 66

Page 29: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

一番上の等式を制約として記述しなくてもよいことの説明

.最大流問題に対する線形計画問題としての定式化 (再掲)..

......

最大化x

x1 + x2 + x3

条 件 x1 = x5 + x6, x6 + x7 = x9,x3 = x4, x2 + x4 + x5 = x7 + x8,0 ≤ x1 ≤ 2, 0 ≤ x2 ≤ 2, 0 ≤ x3 ≤ 2, 0 ≤ x4 ≤ 1, 0 ≤ x5 ≤ 3,0 ≤ x6 ≤ 4, 0 ≤ x7 ≤ 1, 0 ≤ x8 ≤ 3, 0 ≤ x9 ≤ 3,x1, x2, x3, x4, x5, x6, x7, x8, x9 ∈ R

(x1, . . . , x9)がこの問題の許容解であるとき,

x1 + x2 + x3︸ ︷︷ ︸s から湧き出る総量

= x5 + x6 + x2 + x4 = x6 + x7 + x8 = x9 + x8︸ ︷︷ ︸t へ流れ込む総量

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 25 / 66

Page 30: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

一番上の等式を制約として記述しなくてもよいことの説明

.最大流問題に対する線形計画問題としての定式化 (再掲)..

......

最大化x

x1 + x2 + x3

条 件 x1 = x5 + x6, x6 + x7 = x9,x3 = x4, x2 + x4 + x5 = x7 + x8,0 ≤ x1 ≤ 2, 0 ≤ x2 ≤ 2, 0 ≤ x3 ≤ 2, 0 ≤ x4 ≤ 1, 0 ≤ x5 ≤ 3,0 ≤ x6 ≤ 4, 0 ≤ x7 ≤ 1, 0 ≤ x8 ≤ 3, 0 ≤ x9 ≤ 3,x1, x2, x3, x4, x5, x6, x7, x8, x9 ∈ R

(x1, . . . , x9)がこの問題の許容解であるとき,

x1 + x2 + x3︸ ︷︷ ︸s から湧き出る総量

= x5 + x6 + x2 + x4 = x6 + x7 + x8 = x9 + x8︸ ︷︷ ︸t へ流れ込む総量

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 25 / 66

Page 31: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

一番上の等式を制約として記述しなくてもよいことの説明

.最大流問題に対する線形計画問題としての定式化 (再掲)..

......

最大化x

x1 + x2 + x3

条 件 x1 = x5 + x6, x6 + x7 = x9,x3 = x4, x2 + x4 + x5 = x7 + x8,0 ≤ x1 ≤ 2, 0 ≤ x2 ≤ 2, 0 ≤ x3 ≤ 2, 0 ≤ x4 ≤ 1, 0 ≤ x5 ≤ 3,0 ≤ x6 ≤ 4, 0 ≤ x7 ≤ 1, 0 ≤ x8 ≤ 3, 0 ≤ x9 ≤ 3,x1, x2, x3, x4, x5, x6, x7, x8, x9 ∈ R

(x1, . . . , x9)がこの問題の許容解であるとき,

x1 + x2 + x3︸ ︷︷ ︸s から湧き出る総量

= x5 + x6 + x2 + x4 = x6 + x7 + x8 = x9 + x8︸ ︷︷ ︸t へ流れ込む総量

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 25 / 66

Page 32: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

一番上の等式を制約として記述しなくてもよいことの説明

.最大流問題に対する線形計画問題としての定式化 (再掲)..

......

最大化x

x1 + x2 + x3

条 件 x1 = x5 + x6, x6 + x7 = x9,x3 = x4, x2 + x4 + x5 = x7 + x8,0 ≤ x1 ≤ 2, 0 ≤ x2 ≤ 2, 0 ≤ x3 ≤ 2, 0 ≤ x4 ≤ 1, 0 ≤ x5 ≤ 3,0 ≤ x6 ≤ 4, 0 ≤ x7 ≤ 1, 0 ≤ x8 ≤ 3, 0 ≤ x9 ≤ 3,x1, x2, x3, x4, x5, x6, x7, x8, x9 ∈ R

(x1, . . . , x9)がこの問題の許容解であるとき,

x1 + x2 + x3︸ ︷︷ ︸s から湧き出る総量

= x5 + x6 + x2 + x4 = x6 + x7 + x8 = x9 + x8︸ ︷︷ ︸t へ流れ込む総量

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 25 / 66

Page 33: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

一番上の等式を制約として記述しなくてもよいことの説明

.最大流問題に対する線形計画問題としての定式化 (再掲)..

......

最大化x

x1 + x2 + x3

条 件 x1 = x5 + x6, x6 + x7 = x9,x3 = x4, x2 + x4 + x5 = x7 + x8,0 ≤ x1 ≤ 2, 0 ≤ x2 ≤ 2, 0 ≤ x3 ≤ 2, 0 ≤ x4 ≤ 1, 0 ≤ x5 ≤ 3,0 ≤ x6 ≤ 4, 0 ≤ x7 ≤ 1, 0 ≤ x8 ≤ 3, 0 ≤ x9 ≤ 3,x1, x2, x3, x4, x5, x6, x7, x8, x9 ∈ R

(x1, . . . , x9)がこの問題の許容解であるとき,

x1 + x2 + x3︸ ︷︷ ︸s から湧き出る総量

= x5 + x6 + x2 + x4 = x6 + x7 + x8 = x9 + x8︸ ︷︷ ︸t へ流れ込む総量

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 25 / 66

Page 34: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

この等式に対する別の視点

s と t を「分ける」部分で流れる総量

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

x1 + x2 + x3︸ ︷︷ ︸s から湧き出る総量

= x5 + x6 + x2 + x4 = x6 + x7 + x8 = x9 + x8︸ ︷︷ ︸t へ流れ込む総量

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 26 / 66

Page 35: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

この等式に対する別の視点

s と t を「分ける」部分で流れる総量

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

x1 + x2 + x3︸ ︷︷ ︸s から湧き出る総量

= x5 + x6 + x2 + x4 = x6 + x7 + x8 = x9 + x8︸ ︷︷ ︸t へ流れ込む総量

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 26 / 66

Page 36: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

この等式に対する別の視点

s と t を「分ける」部分で流れる総量

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

x1 + x2 + x3︸ ︷︷ ︸s から湧き出る総量

= x5 + x6 + x2 + x4 = x6 + x7 + x8 = x9 + x8︸ ︷︷ ︸t へ流れ込む総量

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 26 / 66

Page 37: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

この等式に対する別の視点

s と t を「分ける」部分で流れる総量

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

x1 + x2 + x3︸ ︷︷ ︸s から湧き出る総量

= x5 + x6 + x2 + x4 = x6 + x7 + x8 = x9 + x8︸ ︷︷ ︸t へ流れ込む総量

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 26 / 66

Page 38: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

最大流問題と線形計画法

この等式に対する別の視点

s と t を「分ける」部分で流れる総量

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

x1 + x2 + x3︸ ︷︷ ︸s から湧き出る総量

= x5 + x6 + x2 + x4 = x6 + x7 + x8 = x9 + x8︸ ︷︷ ︸t へ流れ込む総量

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 26 / 66

Page 39: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

目次

..1 最大流問題とは?

..2 最大流問題と線形計画法

..3 カット容量による上界

..4 増加道法

..5 今日のまとめと今後の予告

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 27 / 66

Page 40: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

最大流問題の解き方

.解き方 2:最大流問題独自のアルゴリズムを利用........例えば,増加道法を用いて解く

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

.今からやること........そのための準備として「カット」を導入する

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 28 / 66

Page 41: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

カット容量による上界:例

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

▶ s から t への流量は e6, e7, e8の容量和以下である▶ つまり,最大流量 ≤ 4 + 1 + 3 = 8

value

0 8

optimal value somewhere in this region

objective

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 29 / 66

Page 42: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

カット容量による上界:もう少し形式的に (1)

▶ カットとは,s を含み,t を含まない,頂点部分集合▶ カットの容量とは,そこから出ていく辺の容量の和

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

{s, a, c , d}はカットで,その容量は 8

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 30 / 66

Page 43: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

カット容量による上界:もう少し形式的に (2)

▶ カットとは,s を含み,t を含まない,頂点部分集合▶ カットの容量とは,そこから出ていく辺の容量の和

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

{s, a, b}はカットで,その容量は 10注意:e7の容量はカットの容量に含めない

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 31 / 66

Page 44: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

カット容量による上界:もう少し形式的に (3)

▶ カットとは,s を含み,t を含まない,頂点部分集合▶ カットの容量とは,そこから出ていく辺の容量の和

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

{s, a, b, c , d}はカットで,その容量は 6注意:e7の容量はカットの容量に含めない

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 32 / 66

Page 45: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

カット容量による上界の更新

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

▶ s から t への流量はこのカットの容量以下である▶ つまり,最大流量 ≤ 6

value

0 8

optimal value somewhere in this region

objective

質問:もっと容量の小さいカットはあるか?岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 33 / 66

Page 46: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

カット容量による上界の更新

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

▶ s から t への流量はこのカットの容量以下である▶ つまり,最大流量 ≤ 6

value

0 6

optimal value somewhere in this region

objective

質問:もっと容量の小さいカットはあるか?岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 33 / 66

Page 47: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

カット容量による上界の更新 (2)

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

▶ s から t への流量はこのカットの容量以下である▶ つまり,最大流量 ≤ 5

value

0 6

optimal value somewhere in this region

objective

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 34 / 66

Page 48: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

カット容量による上界の更新 (2)

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

▶ s から t への流量はこのカットの容量以下である▶ つまり,最大流量 ≤ 5

value

0 5

optimal value somewhere in this region

objective

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 34 / 66

Page 49: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

流れによる下界の更新 (1)

s a b

c d t

2

22

1 3

3

4

31

1 0

11

1

1

1

1

2

▶ これは流れであり,その流量は 3▶ つまり,最大流量 ≥ 3

value

0 5

optimal value somewhere in this region

objective

質問:もっと流量の大きな流れはあるか?岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 35 / 66

Page 50: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

流れによる下界の更新 (1)

s a b

c d t

2

22

1 3

3

4

31

1 0

11

1

1

1

1

2

▶ これは流れであり,その流量は 3▶ つまり,最大流量 ≥ 3

value

0 5

optimal value somewhere in this region

objective

3

質問:もっと流量の大きな流れはあるか?岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 35 / 66

Page 51: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

流れによる下界の更新 (2)

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

▶ これは流れであり,その流量は 5▶ つまり,最大流量 ≥ 5

value

0 5

optimal value somewhere in this region

objective

3

つまり,この流れは最大流であり,最大流量は 5である!岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 36 / 66

Page 52: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

流れによる下界の更新 (2)

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

▶ これは流れであり,その流量は 5▶ つまり,最大流量 ≥ 5

value

0 5

optimal value somewhere in this region

objective

つまり,この流れは最大流であり,最大流量は 5である!岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 36 / 66

Page 53: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

最大流と最小カット

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

最大流量 ≥ 5

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

最大流量 ≤ 5

.したがって..

......

▶ 左の図にある流れは最大流であり,その流量は 5

▶ 右の図にあるカットは最小カットであり,その容量は 5

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 37 / 66

Page 54: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

最大流最小カット定理

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

最大流量 ≥ 5

s a b

c d t

2

22

1 3

3

4

31

e1

e2e3

e4

e5

e6

e7

e8

e9

最大流量 ≤ 5

.最大流最小カット定理 (Ford, Fulkerson ’56)..

......

最大流問題において,必ず

最大流量 = 最小カット容量

が成立する

つまり,この例のような「幸運」は必ず起こる!岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 38 / 66

Page 55: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

カット容量による上界

Lester R. Ford, Jr. と Delbert R. Fulkerson

L. R. Ford, Jr.フォード(1927–)

D. R. Fulkersonファルカーソン(1924–1976)

http://optientselma.blogspot.jp/2012/09/biografia-lrford-y-dr-fulkerson.html

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 39 / 66

Page 56: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

目次

..1 最大流問題とは?

..2 最大流問題と線形計画法

..3 カット容量による上界

..4 増加道法

..5 今日のまとめと今後の予告

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 40 / 66

Page 57: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

最大流問題の解き方.解き方 2:最大流問題独自のアルゴリズムを利用........例えば,増加道法を用いて解く

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

.今からやること..

......

増加道法を説明する▶ 重要概念:補助ネットワーク,増加道▶ 最大流最小カットの定理も用いる

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 41 / 66

Page 58: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法:基本アイディア

s

c d t

a b

▶ 事実:「流れ」は「道に沿った流れ」に分解できる▶ 方針:「道に沿った流れ」を次々と見つけていく

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 42 / 66

Page 59: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法:基本アイディア

c t

a bs

d

▶ 事実:「流れ」は「道に沿った流れ」に分解できる▶ 方針:「道に沿った流れ」を次々と見つけていく

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 42 / 66

Page 60: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (1)

任意の流れから始める (例えば,どの辺の上にも 0だけ流れるもの)

s a b

c d t

2

22

1 3

3

4

31

0 0

00

0

0

0

0

0

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 43 / 66

Page 61: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (1):補助ネットワークの作成

補助ネットワークを作る

s a b

c d t

2

22

1 3

3

4

31

0 0

00

0

0

0

0

0

s a b

c d t

2

22

1 3

3

4

31

この場合は,始めのグラフと同じ(次から変わるので,定義はそこで説明)

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 44 / 66

Page 62: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (1):増加道の発見

補助ネットワークにおいて,s を始点,t を終点とする道を見つける

s a b

c d t

2

22

1 3

3

4

31

0 0

00

0

0

0

0

0

s a b

c d t

2

22

1 3

3

4

31

このような道を増加道 (ぞうかどう) と呼ぶ

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 45 / 66

Page 63: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (1):流れの増加

道に沿って,できる限り流れを増加させる

s a b

c d t

2

22

1 3

3

4

31

0 0

00

0

0

0

0

0

s a b

c d t

2

22

1 3

3

4

31

2

2

2

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 46 / 66

Page 64: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (2)

現在得られている流れ

s a b

c d t

2

22

1 3

3

4

31

2 0

20

0

0

0

0

2

先ほどの手順を繰り返す▶ 補助ネットワークの作成▶ 増加道の発見▶ 流れの増加

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 47 / 66

Page 65: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (2):補助ネットワークの作成

補助ネットワークを作る

s a b

c d t

2

22

1 3

3

4

31

2 0

20

0

0

0

0

2

s a b

c d t

2

22

1 2

1

4

31

2

1

.補助ネットワークとは?..

......

▶ 頂点集合はもとの有向グラフと同じ▶ 2頂点間に辺がある ⇔ その辺を通して流せる (逆向き辺に注意)

▶ 辺の容量 = 流せる最大量

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 48 / 66

Page 66: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (2):増加道の発見

補助ネットワークにおいて,s を始点,t を終点とする道を見つける

s a b

c d t

2

22

1 3

3

4

31

2 0

20

0

0

0

0

2

s a b

c d t

2

22

1 2

1

4

31

2

1

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 49 / 66

Page 67: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (2):流れの増加

道に沿って,できる限り流れを増加させる

s a b

c d t

2

22

1 3

3

4

31

2 0

20

0

0

0

0

2

s a b

c d t

2

22

1 2

1

4

31

2

1

2

2

2

2

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 50 / 66

Page 68: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (3)

現在得られている流れ

s a b

c d t

2

22

1 3

3

4

31

2 2

02

0

0

0

2

2

先ほどの手順を繰り返す▶ 補助ネットワークの作成▶ 増加道の発見▶ 流れの増加

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 51 / 66

Page 69: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (3):補助ネットワークの作成

補助ネットワークを作る

s a b

c d t

2

22

1 3

3

4

31

2 2

02

0

0

0

2

2

s a b

c d t

2

22

1 2

3

2

11

1

2

2

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 52 / 66

Page 70: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (3):増加道の発見

補助ネットワークにおいて,s を始点,t を終点とする道を見つける

s a b

c d t

2

22

1 3

3

4

31

2 2

02

0

0

0

2

2

s a b

c d t

2

22

1 2

3

2

11

1

2

2

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 53 / 66

Page 71: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (3):流れの増加

道に沿って,できる限り流れを増加させる

s a b

c d t

2

22

1 3

3

4

31

2 2

02

0

0

0

2

2

s a b

c d t

2

22

1 2

3

2

11

1

2

2

1

1

1

1

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 54 / 66

Page 72: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (4)

現在得られている流れ

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

先ほどの手順を繰り返す▶ 補助ネットワークの作成▶ 増加道の発見▶ 流れの増加

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 55 / 66

Page 73: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (4):補助ネットワークの作成

補助ネットワークを作る

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

s a b

c d t

2

12

1 2

3

2

31

1

2

1

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 56 / 66

Page 74: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (4):増加道の発見

補助ネットワークにおいて,s を始点,t を終点とする道を見つける

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

s a b

c d t

2

12

1 2

3

2

31

1

2

1

しかし,見つからない! (存在しない) ⇝ アルゴリズムは次の段階へ

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 57 / 66

Page 75: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (4):到達可能頂点の探索

補助ネットワークにおいて,s から到達可能な頂点をすべて見つける

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

s a b

c d t

2

12

1 2

3

2

31

1

2

1

⇝ これはカットである

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 58 / 66

Page 76: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法の動き (4):最小カットの発見

元の有向グラフにおいて,このカットの容量を見る

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

s a b

c d t

2

12

1 2

3

2

31

1

2

1

⇝ この容量は得られた流れの流量に等しい▶ つまり,最大流と最小カットが得られた! (アルゴリズム停止)

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 59 / 66

Page 77: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法から見た最大流最小カット定理

なぜ,このカットが最小カットなのか?

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

s a b

c d t

2

12

1 2

3

2

31

1

2

1

▶ 補助ネットワークにおいて,カットから出ていく辺は存在しない▶ カットから出ていく流れの総量 = 5 なので,最大流量 ≥ 5

▶ カットの容量 = 5 なので,最小カット容量 ≤ 5

▶ ∴ 5 ≤ 最大流量 ≤ 最小カット容量 ≤ 5

▶ ∴ 最大流量 = 最小カット容量 = 5

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 60 / 66

Page 78: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

整数流定理

増加道法で,流れを増加させるとき,その増加分は必ず整数だった

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

s a b

c d t

2

12

1 2

3

2

31

1

2

1

なぜか?▶ はじめの容量がすべて整数▶ ∴ はじめの増加分は必ず整数▶ ∴ 補助ネットワークの容量もすべて整数▶ ∴ 毎回,増加分は必ず整数

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 61 / 66

Page 79: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

整数流定理

増加道法で,流れを増加させるとき,その増加分は必ず整数だった

s a b

c d t

2

22

1 3

3

4

31

2 2

02

1

1

1

3

2

s a b

c d t

2

12

1 2

3

2

31

1

2

1

.整数流定理........容量がすべて整数 ⇒ どの辺に流れる量も整数である最大流が存在

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 62 / 66

Page 80: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

増加道法

増加道法に対する注意

.注意 1..

......

辺の容量に無理数が出てくるとき,▶ 増加道法が有限ステップで終了しないこともある▶ 増加道法の収束先が最大流ではないこともある▶ その 2つが同時に起こることもある

.注意 2..

......

増加道法における,増加道の選び方は工夫できる▶ 工夫しない (Ford-Fulkersonのアルゴリズム)

▶ 幅優先探索を用いる (Edmonds-Karpのアルゴリズム)

Edmonds-Karpのアルゴリズムは多項式時間アルゴリズムである(Ford-Fulkersonのアルゴリズムはそうではない)

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 63 / 66

Page 81: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

今日のまとめと今後の予告

目次

..1 最大流問題とは?

..2 最大流問題と線形計画法

..3 カット容量による上界

..4 増加道法

..5 今日のまとめと今後の予告

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 64 / 66

Page 82: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

今日のまとめと今後の予告

今日のまとめと今後の予告.今日の目標..

......

▶ 最大流問題の定義と解法を理解する▶ 最大流問題を線形計画問題として定式化できるようになる▶ 最大流問題を増加道法によって解けるようになる

2つの重要な定理:最大流最小カット定理,整数流定理

.今後の予告:ネットワークに関わる 3つの最適化問題..

......

済 最短路問題済 最大流問題

▶ 最大流問題の応用

▶ 最小費用流問題

注:ネットワークに関わる最適化問題は他にもたくさんある

復習テスト 2 は 6月 28日,場所は 5533教室(出題範囲は「分枝限定法」と「切除平面法」の講義と演習の内容)

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 65 / 66

Page 83: 最適化手法第 9 回 (3):最大流問題 岡本吉央 …dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/lect09.pdf最適化手法第9 回 ネットワーク最適化(3):最大流問題

今日のまとめと今後の予告

目次

..1 最大流問題とは?

..2 最大流問題と線形計画法

..3 カット容量による上界

..4 増加道法

..5 今日のまとめと今後の予告

岡本 吉央 (電通大) 最適化手法 (9) 2013 年 6 月 14 日 66 / 66