11
. . . . 最適化手法 第 13 ネットワーク最適化 (6):最小費用流問題 岡本 吉央 [email protected] 2013 7 12 1 / 82 . 概要 今日の概要 . 今日の目標 . . . 最小費用流問題の定義と解法を理解する 最小費用流問題を線形計画問題として定式化できるようになる 最小費用流問題を逐次最短路法によって解けるようになる 最小費用流問題の最適性をポテンシャルによって証明できる 重要な概念:最適性規準,整数流定理 2013 7 12 2 / 82 . 最小費用流問題とは? 目次 . . 1 最小費用流問題とは? . . 2 最小費用流問題と線形計画法 . . 3 逐次最短路法 (流量が小さい場合) . . 4 逐次最短路法 (流量が大きい場合):準備 . . 5 :ポテンシャルによる解法 . . 6 . . 7 2013 7 12 3 / 82 . 最小費用流問題とは? 最小費用流問題とは? . 最小費用流問題とは? . . . 入力 有向グラフ G =(V , E ),各辺 e E 容量費用2 頂点 s , t V s から t への流量 b (辺容量は非負実数,辺費用は負かもしれない実数,流量は非負実数) a b (4, 6) 4 (2, 2) (7, 2) 各辺に「2013 7 12 4 / 82 . 最小費用流問題とは? 最小費用流問題とは? . 最小費用流問題とは? . . . 出力 s から t へ至る流れで,その流量が b であり, 費用和が最小のもの 費用の測り方は? (次ページ) 4 a b (4, 6) 2) (7, 1 2013 7 12 5 / 82 . 最小費用流問題とは? 流れの費用とは? . 流れの費用とは? . . . 各辺に対して, その辺を流れる量 × その辺の費用 を計算して,すべて足したもの 4 a b (4, 6) ) (7, 1 2013 7 12 6 / 82 . 最小費用流問題とは? 流れの費用:計算例 4 s a b c d t (4, 6) (2, 2) (7, 4) (2, 1) (1, 6) (6, 2) (3, 2) (7, 2) (2, 7) 4 2 2 1 2 1 1 0 2 2 この流れの費用 = 2 × 2 + 2 × 4 + 1 × 1 + 1 × 6 + 1 × 6 + 2 × 2 + 0 × 2 + 2 × 2 + 2 × 7 =4+8+1+6+6+4+0+4+14 = 47 岡本 吉央 (電通大) 最適化手法 (13) 2013 7 12 7 / 82 . 最小費用流問題とは? 流れの費用:計算例 2 4 s a b c d t (4, 6) (2, 2) (7, 4) (2, 1) (1, 6) (6, 2) (3, 2) (7, 2) (2, 7) 4 2 2 1 3 1 0 3 0 4 この流れの費用 = 2 × 2 + 2 × 4 + 1 × 1 + 1 × 6 + 0 × 6 + 3 × 2 + 3 × 2 + 4 × 2 + 0 × 7 =4+8+1+6+0+6+6+8+0 = 39 (これは最小費用流) 岡本 吉央 (電通大) 最適化手法 (13) 2013 7 12 8 / 82

最適化手法 第 13回 ネットワーク最適化 (6):最小費用流問題dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/handout13.pdf · 最適化手法第13回 ネットワーク最適化(6):最小費用流問題

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 最適化手法 第 13回 ネットワーク最適化 (6):最小費用流問題dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/handout13.pdf · 最適化手法第13回 ネットワーク最適化(6):最小費用流問題

.

.

.

......

最適化手法 第 13回ネットワーク最適化 (6):最小費用流問題

岡本 吉央[email protected]

2013年 7月 12日

最終更新:2013年 7月 13日 23:52

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 1 / 82 .

概要

今日の概要

.今日の目標..

......

▶ 最小費用流問題の定義と解法を理解する▶ 最小費用流問題を線形計画問題として定式化できるようになる▶ 最小費用流問題を逐次最短路法によって解けるようになる▶ 最小費用流問題の最適性をポテンシャルによって証明できる

重要な概念:最適性規準,整数流定理

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 2 / 82

.

最小費用流問題とは?

目次

..1 最小費用流問題とは?

..2 最小費用流問題と線形計画法

..3 逐次最短路法 (流量が小さい場合)

..4 逐次最短路法 (流量が大きい場合):準備

..5 逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

..6 流れからポテンシャルを作る:最適性規準

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

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 3 / 82 .

最小費用流問題とは?

最小費用流問題とは?

.最小費用流問題とは?..

......

入力▶ 有向グラフ G = (V ,E ),各辺 e ∈ E の容量と費用,

2頂点 s, t ∈ V,s から t への流量 b(辺容量は非負実数,辺費用は負かもしれない実数,流量は非負実数)

s

a b

c d

t

(4, 6)

4

4

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

各辺に「(容量, 費用)」が書いてあり,b = 4

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 4 / 82

.

最小費用流問題とは?

最小費用流問題とは?

.最小費用流問題とは?..

......

出力▶ s から t へ至る流れで,その流量が bであり,費用和が最小のもの ⇝ 費用の測り方は? (次ページ)

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

2

1

2

1

10 2

2

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 5 / 82 .

最小費用流問題とは?

流れの費用とは?

.流れの費用とは?..

......

各辺に対して,▶ その辺を流れる量 × その辺の費用を計算して,すべて足したもの

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

2

1

2

1

10 2

2

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 6 / 82

.

最小費用流問題とは?

流れの費用:計算例

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

2

1

2

1

10 2

2

この流れの費用 = 2 × 2 + 2 × 4 + 1 × 1 + 1 × 6 + 1 × 6 +

この流れの費用 =

2 × 2 + 0 × 2 + 2 × 2 + 2 × 7

この流れの費用

= 4 + 8 + 1 + 6 + 6 + 4 + 0 + 4 + 14

この流れの費用

= 47

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 7 / 82 .

最小費用流問題とは?

流れの費用:計算例 2

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

2

1

3

1

03 0

4

この流れの費用 = 2 × 2 + 2 × 4 + 1 × 1 + 1 × 6 + 0 × 6 +

この流れの費用 =

3 × 2 + 3 × 2 + 4 × 2 + 0 × 7

この流れの費用

= 4 + 8 + 1 + 6 + 0 + 6 + 6 + 8 + 0

この流れの費用

= 39 (これは最小費用流)

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 8 / 82

Page 2: 最適化手法 第 13回 ネットワーク最適化 (6):最小費用流問題dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/handout13.pdf · 最適化手法第13回 ネットワーク最適化(6):最小費用流問題

.

.

最小費用流問題とは?

最小費用流問題が出てくる場面:配送問題

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

最小費用流問題 = できるだけ費用をかけずに部品を運ぶには?

s

a b

c d

t

(4, 6)

4

4

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)(3,2)

(7, 2)

(2,7)

他の応用は後の講義で岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 9 / 82 .

最小費用流問題とは?

最小費用流問題の解き方

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

.解き方 2:最小費用流問題独自のアルゴリズムを利用........例えば,逐次最短路法を用いて解く

s

a b

c d

t

(4, 6)

4

4

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 10 / 82

.

最小費用流問題と線形計画法

目次

..1 最小費用流問題とは?

..2 最小費用流問題と線形計画法

..3 逐次最短路法 (流量が小さい場合)

..4 逐次最短路法 (流量が大きい場合):準備

..5 逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

..6 流れからポテンシャルを作る:最適性規準

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

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 11 / 82 .

最小費用流問題と線形計画法

最小費用流問題の解き方

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

s

a b

c d

t

(4, 6)

4

4

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

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

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 12 / 82

.

最小費用流問題と線形計画法

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

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

......

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

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

......

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

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 13 / 82 .

最小費用流問題と線形計画法

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

......

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

xi ∈ R

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

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

e1e2

e3e4

e5e6

e7

e8

e9

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 14 / 82

.

最小費用流問題と線形計画法

最小費用流問題:目的関数

.最適化するもの:費用..

......

▶ 目的は

最小化 2x1 + 4x2 + x3 + 6x4 + 6x5 + 2x6 + 2x7 + 2x8 + 7x9

▶ 解釈:流れの費用

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

e1e2

e3e4

e5e6

e7

e8

e9

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 15 / 82 .

最小費用流問題と線形計画法

最小費用流問題:制約 (1)

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

......

▶ 0 ≤ x1 ≤ 2

▶ 0 ≤ x2 ≤ 7

▶ 0 ≤ x3 ≤ 2

▶ 0 ≤ x4 ≤ 4

▶ 0 ≤ x5 ≤ 1

▶ 0 ≤ x6 ≤ 6

▶ 0 ≤ x7 ≤ 3

▶ 0 ≤ x8 ≤ 7

▶ 0 ≤ x9 ≤ 2

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

e1e2

e3e4

e5e6

e7

e8

e9

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 16 / 82

Page 3: 最適化手法 第 13回 ネットワーク最適化 (6):最小費用流問題dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/handout13.pdf · 最適化手法第13回 ネットワーク最適化(6):最小費用流問題

.

.

最小費用流問題と線形計画法

最小費用流問題:制約 (2)

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

......

▶ x1 = x3 + x4 (頂点 aに関して)

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

▶ x2 + x3 = x5 + x6 (頂点 c に関して)

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

▶ 4 = x1 + x2 (頂点 s に関して)

▶ x8 + x9 = 4 (頂点 t に関して)

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

e1e2

e3e4

e5e6

e7

e8

e9

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 17 / 82 .

最小費用流問題と線形計画法

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

......

最小化x

2x1 + 4x2 + x3 + 6x4 + 6x5 + 2x6 + 2x7 + 2x8 + 7x9

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

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)(2,

1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

e1e2

e3e4

e5e6

e7

e8

e9

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 18 / 82

.

逐次最短路法 (流量が小さい場合)

目次

..1 最小費用流問題とは?

..2 最小費用流問題と線形計画法

..3 逐次最短路法 (流量が小さい場合)

..4 逐次最短路法 (流量が大きい場合):準備

..5 逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

..6 流れからポテンシャルを作る:最適性規準

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

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 19 / 82 .

逐次最短路法 (流量が小さい場合)

最小費用流問題の解き方

.解き方 2:最小費用流問題独自のアルゴリズムを利用........例えば,逐次最短路法を用いて解く

s

a b

c d

t

(4, 6)

4

4

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

逐次最短路法は最短路繰り返し法,最短路反復法とも呼ばれる

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 20 / 82

.

逐次最短路法 (流量が小さい場合)

例として,流量が小さい場合を考える

この問題を逐次最短路法で解いてみる

1

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

1

.基本的アイディア..

......

費用を最小化したいので,費用の小さい経路に沿って流せばよい⇝ 最短路問題を解いて経路を見つければよい

(辺の長さ = 辺の費用)

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 21 / 82 .

逐次最短路法 (流量が小さい場合)

ステップ 1:費用を長さと見なしたグラフを作る

1

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

1

1

s

a b

c d

t

6

2

4

1

6

2

2

2

7

1

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 22 / 82

.

逐次最短路法 (流量が小さい場合)

ステップ 2:s を始点,t を終点とする最短路を見つける

1

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

1

1

s

a b

c d

t

6

2

4

1

6

2

2

2

7

1

例えば,Dijkstra法を用いて見つける岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 23 / 82 .

逐次最短路法 (流量が小さい場合)

ステップ 3:見つけた最短路に沿って流す

1

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

1

11

11

1

1

s

a b

c d

t

6

2

4

1

6

2

2

2

7

1

流量が小さいので,容量制約は満たされる岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 24 / 82

Page 4: 最適化手法 第 13回 ネットワーク最適化 (6):最小費用流問題dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/handout13.pdf · 最適化手法第13回 ネットワーク最適化(6):最小費用流問題

.

.

逐次最短路法 (流量が小さい場合)

これで解けた!

1

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

1

1

0

1

1

0

01 0

1

得られた最小費用流

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 25 / 82 .

逐次最短路法 (流量が大きい場合):準備

目次

..1 最小費用流問題とは?

..2 最小費用流問題と線形計画法

..3 逐次最短路法 (流量が小さい場合)

..4 逐次最短路法 (流量が大きい場合):準備

..5 逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

..6 流れからポテンシャルを作る:最適性規準

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

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 26 / 82

.

逐次最短路法 (流量が大きい場合):準備

次に,流量が大きい場合を考える

この問題を逐次最短路法で解いてみる

s

a b

c d

t

(4, 6)

4

4

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

.基本的アイディア........先ほどと同じ考えに従ってみる

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 27 / 82 .

逐次最短路法 (流量が大きい場合):準備

ステップ 1:費用を長さと見なしたグラフを作る

s

a b

c d

t

(4, 6)

4

4

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

s

a b

c d

t

6

2

4

1

6

2

2

2

7

4

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 28 / 82

.

逐次最短路法 (流量が大きい場合):準備

ステップ 2:s を始点,t を終点とする最短路を見つける

s

a b

c d

t

(4, 6)

4

4

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

s

a b

c d

t

6

2

4

1

6

2

2

2

7

4

例えば,Dijkstra法を用いて見つける岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 29 / 82 .

逐次最短路法 (流量が大きい場合):準備

ステップ 3:見つけた最短路に沿って流す

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

22

22

2

4

s

a b

c d

t

6

2

4

1

6

2

2

2

7

4

流量が大きいので,すべて流すことはできない岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 30 / 82

.

逐次最短路法 (流量が大きい場合):準備

まだ解けていない

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

0

2

2

0

02 0

2

本来の流量は 4でないといけないが,まだ流量は 2だけ.もっと流すためにどうするか?........補助ネットワークを作る (最大流問題のときと同じように)

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 31 / 82 .

逐次最短路法 (流量が大きい場合):準備

ステップ 0:補助ネットワークを作る

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

0

2

2

0

02 0

2

s

a b

c d

t

(4, 6)

(2,−2

)

(7, 4)

(2,−1)

(1, 6)

(4, 2)

(1,2)

(5, 2)

(2,7)(2,−2)

(2,−2)

(2, −2)

2

2

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 32 / 82

Page 5: 最適化手法 第 13回 ネットワーク最適化 (6):最小費用流問題dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/handout13.pdf · 最適化手法第13回 ネットワーク最適化(6):最小費用流問題

.

.

逐次最短路法 (流量が大きい場合):準備

ステップ 1:補助ネットワークから,費用を長さと見なしたグラフを作る

s

a b

c d

t

(4, 6)

(2,−2

)

(7, 4)

(2,−1)

(1, 6)

(4, 2)

(1,2)

(5, 2)

(2,7)(2,−2)

(2,−2)

(2, −2)

2

2

s

a b

c d

t

6

−2

4

−1

6

22

2

7−2

−2

−2

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 33 / 82 .

逐次最短路法 (流量が大きい場合):準備

ステップ 2:s を始点,t を終点とする最短路を見つける

s

a b

c d

t

6

−2

4

−1

6

2

2

2

7−2

−2

−2

問題点:辺長に負の数が出てくるので,Dijkstra法が適用できない.問題点の回避法........「ポテンシャル」を用いて,長さを修正する

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 34 / 82

.

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

目次

..1 最小費用流問題とは?

..2 最小費用流問題と線形計画法

..3 逐次最短路法 (流量が小さい場合)

..4 逐次最短路法 (流量が大きい場合):準備

..5 逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

..6 流れからポテンシャルを作る:最適性規準

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

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 35 / 82 .

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ポテンシャルによる方法

各頂点に「ポテンシャル」と呼ばれる実数を持たせる

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 36 / 82

.

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 0:ポテンシャルの初期化

すべての頂点のポテンシャルを 0で初期化する

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

0

0 0

0

00

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 37 / 82 .

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 1:費用を長さと見なしたグラフを作る

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

0

0 0

0

00

4

s

a b

c d

t

6

2

4

1

6

2

2

2

7

4

0

0

0 0

0

0

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 38 / 82

.

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 2:s から他の頂点への最短路を見つける

4

s

a b

c d

t

6

2

4

1

6

2

2

2

7

4

0

0

0 0

0

0

4

s

a b

c d

t

6

2

4

1

6

2

2

2

7

4

0

2

3 5

7

90

0

0 0

0

0

例えば,Dijkstra法を用いて見つける岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 39 / 82 .

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 3:見つけた最短路に沿って流す

4

s

a b

c d

t

6

2

4

1

6

2

2

2

7

4

0

2

3 5

7

90

0

0 0

0

0

4

s

a b

c d

t

4

0 22

22

2

0

0 0

0

0

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

0

2

3 5

7

9

流量が大きいので,すべて流すことはできない岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 40 / 82

Page 6: 最適化手法 第 13回 ネットワーク最適化 (6):最小費用流問題dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/handout13.pdf · 最適化手法第13回 ネットワーク最適化(6):最小費用流問題

.

.

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 4:ポテンシャルの更新

4

s

a b

c d

t

4

0 22

22

2

0

0 0

0

0

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

0

2

3 5

7

9

4

s

a b

c d

t

4

0 22

22

2

−2

−3 −5

−7

−9

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)(3,2)

(7, 2)

(2,7)

0

2

3 5

7

9

新しいポテンシャル = 古いポテンシャル − 計算した最短路長岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 41 / 82 .

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

途中経過

0

−2

−3 −5

−7

−9

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

0

2

2

0

02 0

2

このステップを繰り返す▶ ただし,次の段階では「補助ネットワーク」と「修正補助ネットワーク」を作る

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 42 / 82

.

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 0:補助ネットワークを作る

0

−2

−3 −5

−7

−9

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

0

2

2

0

02 0

2

0

−2

−3 −5

−7

−9s

a b

c d

t

(4, 6)

(2,−2

)

(7, 4)

(2,−1)

(1, 6)

(4, 2)

(1,2)

(5, 2)

(2,7)(2,−2)

(2,−2)

(2, −2)

2

2

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 43 / 82 .

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 0’:修正補助ネットワークを作る

0

−2

−3 −5

−7

−9s

a b

c d

t

(4, 6)

(2,−2

)

(7, 4)

(2,−1)

(1, 6)

(4, 2)

(1,2)

(5, 2)

(2,7)(2,−2)

(2,−2)

(2, −2)

2

2

0

−2

−3 −5

−7

−9s

a b

c d

t

(4, 1)

(2,0)

(7, 1)

(2,0)

(1, 2)

(4, 0)

(1,0)

(5, 0)

(2,3)(2,0)

(2,0)

(2, 0)

2

2

修正後費用 = 修正前費用 − 始点ポテンシャル + 終点ポテンシャル岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 44 / 82

.

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

修正補助ネットワークの性質

0

−2

−3 −5

−7

−9s

a b

c d

t

(4, 1)

(2,0)

(7, 1)

(2,0)

(1, 2)

(4, 0)

(1,0)

(5, 0)

(2,3)(2,0)

(2,0)

(2, 0)

2

2

どの辺の費用も必ず非負になる▶ つまり,ステップ 2で Dijkstra法が使えるようになる

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 45 / 82 .

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 1:費用を長さと見なしたグラフを作る

0

−2

−3 −5

−7

−9s

a b

c d

t

(4, 1)

(2,0)

(7, 1)

(2,0)

(1, 2)

(4, 0)

(1,0)

(5, 0)

(2,3)(2,0)

(2,0)

(2, 0)

2

2

0

−2

−3 −5

−7

−9s

a b

c d

t

1

0

1

0

2

0

0

0

30

0 0

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 46 / 82

.

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 2:s から他の頂点への最短路を見つける

0

−2

−3 −5

−7

−9s

a b

c d

t

1

0

1

0

2

0

0

0

30

0 0

0

−2

−3 −5

−7

−9s

a b

c d

t

1

0

1

0

2

0

0

0

30

0 0

0

1

1 1

1

1

例えば,Dijkstra法を用いて見つける岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 47 / 82 .

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

修正補助ネットワークの性質

s から t へ至る任意の道に対して

修正補助ネットワークにおける距離

=補助ネットワークにおける距離

+ t のポテンシャル

0

−2

−3 −5

−7

−9s

a b

c d

t

1

0

1

0

2

0

0

0

30

0 0

0

1

1 1

1

1

1 + 0 + 0 + 0 = (4− 0 + (−3)) + (2− (−3) + (−5)) +

(2− (−5) + (−7)) + (2− (−7) + (−9))

= 4 + 2 + 2 + 2 + (−9)

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 48 / 82

Page 7: 最適化手法 第 13回 ネットワーク最適化 (6):最小費用流問題dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/handout13.pdf · 最適化手法第13回 ネットワーク最適化(6):最小費用流問題

.

.

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 3:見つけた最短路に沿って流す

0

−2

−3 −5

−7

−9s

a b

c d

t

1

0

1

0

2

0

0

0

30

0 0

0

1

1 1

1

1

0

−2

−3 −5

−7

−9s

a b

c d

t

(4, 1)

(2,0)

(7, 1)

(2,0)

(1, 2)

(4, 0)(1,0)

(5, 0)

(2,3)(2,0)

(2,0)

(2, 0)

2

2

1

1

1

1

0

1

1 1

1

1

流量が大きいので,すべて流すことはできない岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 49 / 82 .

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 4:ポテンシャルの更新

0

−2

−3 −5

−7

−9s

a b

c d

t

(4, 1)

(2,0)

(7, 1)

(2,0)

(1, 2)

(4, 0)

(1,0)

(5, 0)

(2,3)(2,0)

(2,0)

(2, 0)

2

2

1

1

1

1

0

1

1 1

1

1

0

−3

−4 −6

−8

−10s

a b

c d

t

(4, 1)

(2,0)

(7, 1)

(2,0)

(1, 2)

(4, 0)

(1,0)

(5, 0)

(2,3)(2,0)

(2,0)

(2, 0)

2

2

1

1

1

1

0

1

1 1

1

1

新しいポテンシャル = 古いポテンシャル − 計算した最短路長岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 50 / 82

.

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

途中経過

0

−3

−4 −6

−8

−10

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

1

2

3

0

03 0

3

このステップを繰り返す

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 51 / 82 .

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 0:補助ネットワークを作る

0

−3

−4 −6

−8

−10

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

1

2

3

0

03 0

3

0

−3

−4 −6

−8

−10

1

s

a b

c d

t

(4, 6)

(2,−2

)

(6, 4)

(2,−1)

(1, 6)

(3, 2)

(3,−2)

(4, 2)

(2,7)

1

(1, −4)(3, −2)

(3, −2)

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 52 / 82

.

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 0’:修正補助ネットワークを作る

0

−3

−4 −6

−8

−10

1

s

a b

c d

t

(4, 6)

(2,−2

)

(6, 4)

(2,−1)

(1, 6)

(3, 2)

(3,−2)

(4, 2)

(2,7)

1

(1, −4)(3, −2)

(3, −2)

0

−3

−4 −6

−8

−10

1

s

a b

c d

t

(4, 1)

(2,1)

(6, 0)

(2,0)

(1, 2)

(3, 0)

(3,0)

(4, 0)

(2,3)

1

(1, 0)(3, 0)

(3, 0)

修正後費用 = 修正前費用 − 始点ポテンシャル + 終点ポテンシャル岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 53 / 82 .

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 1:費用を長さと見なしたグラフを作る

0

−3

−4 −6

−8

−10

1

s

a b

c d

t

(4, 1)

(2,1)

(6, 0)

(2,0)

(1, 2)

(3, 0)

(3,0)

(4, 0)

(2,3)

1

(1, 0)(3, 0)

(3, 0)

0

−3

−4 −6

−8

−10s

a b

c d

t

1

1

0

0

2

0

0

0

3

0

0

0

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 54 / 82

.

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 2:s から他の頂点への最短路を見つける

0

−3

−4 −6

−8

−10s

a b

c d

t

1

1

0

0

2

0

0

0

3

0

0

0

0

−3

−4 −6

−8

−10s

a b

c d

t

1

1

0

0

2

0

0

0

3

0

0

0

0

0

0 0

1

1

例えば,Dijkstra法を用いて見つける岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 55 / 82 .

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 3:見つけた最短路に沿って流す

0

−3

−4 −6

−8

−10s

a b

c d

t

1

1

0

0

2

0

0

0

3

0

0

0

0

0

0 0

1

1

0

−3

−4 −6

−8

−10

1

s

a b

c d

t

(4, 1)

(2,1)

(6, 0)

(2,0)

(1, 2)

(3, 0)

(3,0)

(4, 0)

(2,3)

1

(1, 0)(3, 0)

(3, 0)

0

0

0 0

1

1

1

1

1 1

流量が小さいので,すべて流せる!岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 56 / 82

Page 8: 最適化手法 第 13回 ネットワーク最適化 (6):最小費用流問題dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/handout13.pdf · 最適化手法第13回 ネットワーク最適化(6):最小費用流問題

.

.

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

ステップ 4:ポテンシャルの更新

0

−3

−4 −6

−8

−10

1

s

a b

c d

t

(4, 1)

(2,1)

(6, 0)

(2,0)

(1, 2)

(3, 0)

(3,0)

(4, 0)

(2,3)

1

(1, 0)(3, 0)

(3, 0)

0

0

0 0

1

1

1

1

1 1

0

−3

−4 −6

−9

−11

1

s

a b

c d

t

(4, 1)

(2,1)

(6, 0)

(2,0)

(1, 2)

(3, 0)(3,0)

(4, 0)

(2,3)

1

(1, 0)(3, 0)

(3, 0)

0

0

0 0

1

1

1

1

1 1

新しいポテンシャル = 古いポテンシャル − 計算した最短路長岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 57 / 82 .

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

最終結果

0

−3

−4 −6

−9

−11

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

2

1

3

1

03 0

4

これが最小費用流 (つまり最適解) であり,この流れの費用 = 2 × 2 + 2 × 4 + 1 × 1 + 1 × 6 + 0 × 6 +

この流れの費用 =

3 × 2 + 3 × 2 + 4 × 2 + 0 × 7

この流れの費用

= 4 + 8 + 1 + 6 + 0 + 6 + 6 + 8 + 0

この流れの費用

= 39

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 58 / 82

.

逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

整数流定理

0

−3

−4 −6

−9

−11

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

2

1

3

1

03 0

4

辺の容量がすべて整数,流量が整数の場合▶ 補助ネットワークの容量も整数▶ ∴ 各辺上の流れ増加量も整数▶ ∴ 逐次最短路法が停止したとき,整数流が得られる

.整数流定理..

......

辺の容量がすべて整数で,流量も整数であるとき,どの辺上の流れも整数であるような最小費用流が存在

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 59 / 82 .

流れからポテンシャルを作る:最適性規準

目次

..1 最小費用流問題とは?

..2 最小費用流問題と線形計画法

..3 逐次最短路法 (流量が小さい場合)

..4 逐次最短路法 (流量が大きい場合):準備

..5 逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

..6 流れからポテンシャルを作る:最適性規準

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

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 60 / 82

.

流れからポテンシャルを作る:最適性規準

流れからポテンシャルを作る

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

2

1

3

1

03 0

4

0

−3

−4 −6

−9

−11

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

2

1

3

1

03 0

4

流れが与えられたとき,そこからポテンシャルを作るには?岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 61 / 82 .

流れからポテンシャルを作る:最適性規準

流れからポテンシャルを作る (1)

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

2

1

3

1

03 0

4

頂点 s, a, b, c , d , t のポテンシャルをそれぞれ

ps , pa, pb, pc , pd , pt

とする (ただし,ps = 0)

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 62 / 82

.

流れからポテンシャルを作る:最適性規準

流れからポテンシャルを作る (2)

補助ネットワークを作ってみる

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

2

1

3

1

03 0

4

4

s

a b

c d

t

(3, 6)

(2,−2

)

(5, 4)

(1,1) (1

, 6)

(3, 2)

(3,−2)

(3, 2)

(2,7)

4

(2, −4)

(1,−1)

(1, −6)

(3, −2)

(4, −2)

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 63 / 82 .

流れからポテンシャルを作る:最適性規準

流れからポテンシャルを作る (3)

修正前費用 − 始点ポテンシャル + 終点ポテンシャル ≥ 0なので

4

s

a b

c d

t

(3, 6)

(2,−2

)

(5, 4)

(1,1) (1

, 6)

(3, 2)

(3,−2)

(3, 2)

(2,7)

4

(2, −4)

(1,−1)

(1, −6)

(3, −2)

(4, −2)

−2− pa + ps ≥ 0

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 64 / 82

Page 9: 最適化手法 第 13回 ネットワーク最適化 (6):最小費用流問題dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/handout13.pdf · 最適化手法第13回 ネットワーク最適化(6):最小費用流問題

.

.

流れからポテンシャルを作る:最適性規準

流れからポテンシャルを作る (4)

すべての辺に対して同様に式を立てる

4

s

a b

c d

t

(3, 6)

(2,−2

)

(5, 4)

(1,1) (1

, 6)

(3, 2)

(3,−2)

(3, 2)

(2,7)

4

(2, −4)

(1,−1)

(1, −6)

(3, −2)

(4, −2)

▶ −2− pa + ps ≥ 0

▶ 4− ps + pc ≥ 0

▶ −4− pc + ps ≥ 0

▶ 1− pa + pc ≥ 0

▶ −1− pc + pa ≥ 0

▶ 6− pa + pb ≥ 0

▶ −6− pb + pa ≥ 0

▶ 6− pc + pb ≥ 0

▶ 2− pc + pd ≥ 0

▶ −2− pd + pc ≥ 0

▶ −2− pb + pd ≥ 0

▶ 2− pb + pt ≥ 0

▶ −2− pt + pb ≥ 0

▶ 7− pd + pt ≥ 0

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 65 / 82 .

流れからポテンシャルを作る:最適性規準

流れからポテンシャルを作る:頑張って解く (1)

ps = 0, pa =

−3

, pb =

−9

, pc =

−4

, pd =

−6

, pt =

−11

▶ −2− pa + ps ≥ 0

▶ 4− ps + pc ≥ 0

▶ −4− pc + ps ≥ 0

▶ 1− pa + pc ≥ 0

▶ −1− pc + pa ≥ 0

▶ 6− pa + pb ≥ 0

▶ −6− pb + pa ≥ 0

▶ 6− pc + pb ≥ 0

▶ 2− pc + pd ≥ 0

▶ −2− pd + pc ≥ 0

▶ −2− pb + pd ≥ 0

▶ 2− pb + pt ≥ 0

▶ −2− pt + pb ≥ 0

▶ 7− pd + pt ≥ 0

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 66 / 82

.

流れからポテンシャルを作る:最適性規準

流れからポテンシャルを作る:頑張って解く (2)

ps = 0, pa =

−3

, pb =

−9

, pc =

−4

, pd =

−6

, pt =

−11

▶ −2− pa ≥ 0

▶ 4 + pc ≥ 0

▶ −4− pc ≥ 0

▶ 1− pa + pc ≥ 0

▶ −1− pc + pa ≥ 0

▶ 6− pa + pb ≥ 0

▶ −6− pb + pa ≥ 0

▶ 6− pc + pb ≥ 0

▶ 2− pc + pd ≥ 0

▶ −2− pd + pc ≥ 0

▶ −2− pb + pd ≥ 0

▶ 2− pb + pt ≥ 0

▶ −2− pt + pb ≥ 0

▶ 7− pd + pt ≥ 0

この 2式より,pc = −4

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 67 / 82 .

流れからポテンシャルを作る:最適性規準

流れからポテンシャルを作る:頑張って解く (3)

ps = 0, pa =

−3

, pb =

−9

, pc = −4, pd =

−6

, pt =

−11

▶ −2− pa ≥ 0

▶ 4 + pc ≥ 0

▶ −4− pc ≥ 0

▶ 1− pa + pc ≥ 0

▶ −1− pc + pa ≥ 0

▶ 6− pa + pb ≥ 0

▶ −6− pb + pa ≥ 0

▶ 6− pc + pb ≥ 0

▶ 2− pc + pd ≥ 0

▶ −2− pd + pc ≥ 0

▶ −2− pb + pd ≥ 0

▶ 2− pb + pt ≥ 0

▶ −2− pt + pb ≥ 0

▶ 7− pd + pt ≥ 0

この 2式より,pa = 1 + pc = −3

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 68 / 82

.

流れからポテンシャルを作る:最適性規準

流れからポテンシャルを作る:頑張って解く (4)

ps = 0, pa = −3, pb =

−9

, pc = −4, pd =

−6

, pt =

−11

▶ −2− pa ≥ 0

▶ 4 + pc ≥ 0

▶ −4− pc ≥ 0

▶ 1− pa + pc ≥ 0

▶ −1− pc + pa ≥ 0

▶ 6− pa + pb ≥ 0

▶ −6− pb + pa ≥ 0

▶ 6− pc + pb ≥ 0

▶ 2− pc + pd ≥ 0

▶ −2− pd + pc ≥ 0

▶ −2− pb + pd ≥ 0

▶ 2− pb + pt ≥ 0

▶ −2− pt + pb ≥ 0

▶ 7− pd + pt ≥ 0

この 2式より,pb = −6 + pa = −9

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 69 / 82 .

流れからポテンシャルを作る:最適性規準

流れからポテンシャルを作る:頑張って解く (5)

ps = 0, pa = −3, pb = −9, pc = −4, pd =

−6

, pt =

−11

▶ −2− pa ≥ 0

▶ 4 + pc ≥ 0

▶ −4− pc ≥ 0

▶ 1− pa + pc ≥ 0

▶ −1− pc + pa ≥ 0

▶ 6− pa + pb ≥ 0

▶ −6− pb + pa ≥ 0

▶ 6− pc + pb ≥ 0

▶ 2− pc + pd ≥ 0

▶ −2− pd + pc ≥ 0

▶ −2− pb + pd ≥ 0

▶ 2− pb + pt ≥ 0

▶ −2− pt + pb ≥ 0

▶ 7− pd + pt ≥ 0

この 2式より,pd = −2 + pc = −6

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 70 / 82

.

流れからポテンシャルを作る:最適性規準

流れからポテンシャルを作る:頑張って解く (6)

ps = 0, pa = −3, pb = −9, pc = −4, pd = −6, pt =

−11

▶ −2− pa ≥ 0

▶ 4 + pc ≥ 0

▶ −4− pc ≥ 0

▶ 1− pa + pc ≥ 0

▶ −1− pc + pa ≥ 0

▶ 6− pa + pb ≥ 0

▶ −6− pb + pa ≥ 0

▶ 6− pc + pb ≥ 0

▶ 2− pc + pd ≥ 0

▶ −2− pd + pc ≥ 0

▶ −2− pb + pd ≥ 0

▶ 2− pb + pt ≥ 0

▶ −2− pt + pb ≥ 0

▶ 7− pd + pt ≥ 0

この 2式より,pt = −2 + pb = −11

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 71 / 82 .

流れからポテンシャルを作る:最適性規準

流れからポテンシャルを作る:頑張って解く (7)

ps = 0, pa = −3, pb = −9, pc = −4, pd = −6, pt = −11

▶ −2− pa ≥ 0

▶ 4 + pc ≥ 0

▶ −4− pc ≥ 0

▶ 1− pa + pc ≥ 0

▶ −1− pc + pa ≥ 0

▶ 6− pa + pb ≥ 0

▶ −6− pb + pa ≥ 0

▶ 6− pc + pb ≥ 0

▶ 2− pc + pd ≥ 0

▶ −2− pd + pc ≥ 0

▶ −2− pb + pd ≥ 0

▶ 2− pb + pt ≥ 0

▶ −2− pt + pb ≥ 0

▶ 7− pd + pt ≥ 0

計算された pa, pb, pc , pd , pt は残りの式も全て満たす.したがって........これらはポテンシャルである

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 72 / 82

Page 10: 最適化手法 第 13回 ネットワーク最適化 (6):最小費用流問題dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/handout13.pdf · 最適化手法第13回 ネットワーク最適化(6):最小費用流問題

.

.

流れからポテンシャルを作る:最適性規準

別の例でやってみる (1)

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

2

1

2

1

10 2

2

頂点 s, a, b, c , d , t のポテンシャルをそれぞれ

ps , pa, pb, pc , pd , pt

とする (ただし,ps = 0)

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 73 / 82 .

流れからポテンシャルを作る:最適性規準

別の例でやってみる (2)

補助ネットワークを作ってみる

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

2

1

2

1

10 2

2

4

s

a b

c d

t

(3, 6)

(2,−2

)

(5, 4)(1,

1)

(1, −6)

(4, 2)

(3,2)

(5, 2)

(2,−7

)

4

(2, −4)(1,−

1)

(1, −6)

(2, −2)

(2, −2)

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 74 / 82

.

流れからポテンシャルを作る:最適性規準

別の例でやってみる (3)

修正前費用 − 始点ポテンシャル + 終点ポテンシャル ≥ 0なので

4

s

a b

c d

t

(3, 6)

(2,−2

)

(5, 4)

(1,1) (1

, 6)

(3, 2)

(3,−2)

(3, 2)

(2,7)

4

(2, −4)

(1,−1)

(1, −6)

(3, −2)

(4, −2)

▶ −2− pa + ps ≥ 0

▶ 4− ps + pc ≥ 0

▶ −4− pc + ps ≥ 0

▶ 1− pa + pc ≥ 0

▶ −1− pc + pa ≥ 0

▶ 6− pa + pb ≥ 0

▶ −6− pb + pa ≥ 0

▶ −6− pb + pc ≥ 0

▶ 2− pc + pd ≥ 0

▶ −2− pd + pc ≥ 0

▶ 2− pd + pb ≥ 0

▶ 2− pb + pt ≥ 0

▶ −2− pt + pb ≥ 0

▶ −7− pt + pd ≥ 0

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 75 / 82 .

流れからポテンシャルを作る:最適性規準

別の例でやってみる:頑張って解く (1)

ps = 0, pa = −3, pb = −9, pc = −4, pd = −6, pt = −11

▶ −2− pa + ps ≥ 0

▶ 4− ps + pc ≥ 0

▶ −4− pc + ps ≥ 0

▶ 1− pa + pc ≥ 0

▶ −1− pc + pa ≥ 0

▶ 6− pa + pb ≥ 0

▶ −6− pb + pa ≥ 0

▶ −6− pb + pc ≥ 0

▶ 2− pc + pd ≥ 0

▶ −2− pd + pc ≥ 0

▶ 2− pd + pb ≥ 0

▶ 2− pb + pt ≥ 0

▶ −2− pt + pb ≥ 0

▶ −7− pt + pd ≥ 0

等式関係となるところから,pa, pb, pc , pd , pt が決まる

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 76 / 82

.

流れからポテンシャルを作る:最適性規準

別の例でやってみる:頑張って解く (2)

ps = 0, pa = −3, pb = −9, pc = −4, pd = −6, pt = −11

▶ −2− pa + ps ≥ 0

▶ 4− ps + pc ≥ 0

▶ −4− pc + ps ≥ 0

▶ 1− pa + pc ≥ 0

▶ −1− pc + pa ≥ 0

▶ 6− pa + pb ≥ 0

▶ −6− pb + pa ≥ 0

▶ −6− pb + pc ≥ 0

▶ 2− pc + pd ≥ 0

▶ −2− pd + pc ≥ 0

▶ 2− pd + pb ≥ 0

▶ 2− pb + pt ≥ 0

▶ −2− pt + pb ≥ 0

▶ −7− pt + pd ≥ 0

しかし,−7− pt + pd = −2 < 0となり,満たされない式がある.したがって........ポテンシャルが存在しない

.定理:ポテンシャルによる最適性規準 (Ford, Fulkerson ’62)........ポテンシャルが存在しない ⇔ 最小費用流ではない

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 77 / 82 .

流れからポテンシャルを作る:最適性規準

ポテンシャルが存在しない流れ

4

s

a b

c d

t

(4, 6)

(2,2)

(7, 4)

(2,1)

(1, 6)

(6, 2)

(3,2)

(7, 2)

(2,7)

4

2

2

1

2

1

10 2

2

.定理:ポテンシャルによる最適性規準 (Ford, Fulkerson ’62)........ポテンシャルが存在しない ⇔ 最小費用流ではない

▶ つまり,この流れは最小費用流ではない▶ 一般に,ポテンシャルだけで最小費用流かどうかが分かる

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 78 / 82

.

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

目次

..1 最小費用流問題とは?

..2 最小費用流問題と線形計画法

..3 逐次最短路法 (流量が小さい場合)

..4 逐次最短路法 (流量が大きい場合):準備

..5 逐次最短路法 (流量が大きい場合):ポテンシャルによる解法

..6 流れからポテンシャルを作る:最適性規準

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

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 79 / 82 .

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

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

.今日の目標..

......

▶ 最小費用流問題の定義と解法を理解する▶ 最小費用流問題を線形計画問題として定式化できるようになる▶ 最小費用流問題を逐次最短路法によって解けるようになる▶ 最小費用流問題の最適性をポテンシャルによって証明できる

重要な概念:最適性規準,整数流定理

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

......

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

済 最大流問題の応用

済 最小費用流問題▶ 最小費用流問題の応用 ← 次回と次々回

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

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 80 / 82

Page 11: 最適化手法 第 13回 ネットワーク最適化 (6):最小費用流問題dopal.cs.uec.ac.jp/okamotoy/lect/2013/opt/handout13.pdf · 最適化手法第13回 ネットワーク最適化(6):最小費用流問題

.

.

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

期末試験

.日時........7月 31日 (水) 6限

.試験範囲..

......

ネットワーク最適化 (1)~(7)

▶ つまり,7月 26日の講義で扱う内容は試験で問われない

.注意..

......

▶ 60点満点で,4問出題する▶ A4用紙 1枚 (両面自筆書き込み) は持ち込み可

岡本 吉央 (電通大) 最適化手法 (13) 2013 年 7 月 12 日 81 / 82 .

. .

. .

. .