20
4.5 節節節 1 節節節節節節節節節節節節節節 節節節 節節節節節節節節節 節節節節節 節節 節節 節節節節節節節節節節節節節 節節節節節節節節節節 :()1: 節節節節 節節 節節節節節節節節節節節節節節節節節節節 ,. Text. 節節節節節節節節節節節節節 4.5 節 節 節節節 pp. 132-141

ネットワーク理論講義補助資料

Embed Size (px)

DESCRIPTION

ネットワーク理論講義補助資料. Text. 組合せ最適化とアルゴリズム 4.5 節 主・双対法 pp. 132-141. 副読本:組合せ最適化短編集(朝倉書店)第1章:マッチング問題に対する主・双対法のお話がある. ここでは,主・双対法を点被覆問題を例として解説する.. 点の上に警備員(1人1万円)を配置して,すべての 道(グラフでは枝)をなるべく安く見張ろう!. 問題. 点の被覆( cover ). 警備員が点3にたつと点線の道の見張りができる(枝が被覆される).. グラフによる問題の記述. 無向グラフ G=(V,E) - PowerPoint PPT Presentation

Citation preview

Page 1: ネットワーク理論講義補助資料

4.5節 主・双対法 1

ネットワーク理論講義補助資料

副読本:組合せ最適化短編集(朝倉書店)第1章:マッチング問題に対する主・双対法のお話がある.

ここでは,主・双対法を点被覆問題を例として解説する.

Text.組合せ最適化とアルゴリズム4.5 節 主・双対法pp. 132-141

Page 2: ネットワーク理論講義補助資料

4.5節 主・双対法 2

問題

32

4

15

6

ク レ オ パ ト ラ

ニ ュ ー ト ン

ゴ ッ ホ

モ ナ リ ザ

ラ ス プ ー チ ン

シ ェ イ ク ス ピ ア

ベ ー ト ー ベ ン

点の上に警備員(1人1万円)を配置して,すべての道(グラフでは枝)をなるべく安く見張ろう!

Page 3: ネットワーク理論講義補助資料

4.5節 主・双対法 3

点の被覆( cover )

32

4

1

6

5

警備員が点3にたつと点線の道の見張りができる(枝が被覆される).

Page 4: ネットワーク理論講義補助資料

4.5節 主・双対法 4

グラフによる問題の記述 無向グラフ G=(V,E) 点上の重み関数 w (警備員の雇用費):

以下では簡単のため wv=1 (万円)とする. 目的:点の部分集合 S ですべての枝 E

を被覆するものの中で, S 内の点の重みの合計を最小にするものを求める.

NP- 困難 -> 近似解法を設計しよう!

Page 5: ネットワーク理論講義補助資料

4.5節 主・双対法 5

整数計画としての定式化と線形計画緩和問題 (変数) xv :点 v 上に警備員を配置す

る 1 ,しない 0

Vvx

Evwxx

x

v

wv

Vvv

            

        条件

   最小化

1,0

1

Vvxv    0

整数計画問題

線形計画問題に緩和

Page 6: ネットワーク理論講義補助資料

4.5節 主・双対法 6

双対問題の導出( Lagrange 緩和を用いる方法)(1)

Vvx

Evwxx

x

v

wv

Vvv

              

        条件

   最小化

0

1

Vvwxx wv    )0(1

実行可能解なら必ず 0 以下

非負の Lagrange 乗数 yvw を乗じて目的関数に加える!

Page 7: ネットワーク理論講義補助資料

4.5節 主・双対法 7

双対問題の導出( Lagrange 緩和を用いる方法)(2)

Vvx

Evwxx

yxxx

v

wv

Evwvwwv

Vvv

              

        条件

   最小化

0

1

)1(

緩和(式を外す)と実行可能領域が広がるので,目的関数値は良くなる!

0以下の値

下界になる!

Page 8: ネットワーク理論講義補助資料

4.5節 主・双対法 8

双対問題の導出( Lagrange 緩和を用いる方法)(3)

Vvx

yxy

v

Evwvwv

Vv vee

        条件

   最小化

0

1)(

下界が-∞にならないためには, x の係数がすべて 0 以上!欲しいのは最良(最も大きな)下界 -> 目的関数を最大化!

目的関数を x について整理 点 v に接続している枝の集合

Page 9: ネットワーク理論講義補助資料

4.5節 主・双対法 9

双対問題の導出( Lagrange 緩和を用いる方法)(4)

Eey

Vvy

y

e

vee

Evwvw

            

           条件

   最大化

0

1)(

相補性条件を導こう!(忘れた人はテキスト p.47 参照)

双対問題のできあがり!

双対変数の解釈:枝(道) e に置いておく警備員へのご褒美 ye

Page 10: ネットワーク理論講義補助資料

4.5節 主・双対法 10

相補性条件(主と双対の関係式)

最適な x,y においては,必ず 0 になる!

(最適解においては)双対定理より主問題と双対問題の最適値は一致!

Evw

vwwvVv

v yxxx )1( 

Evwvwv

Vv vee yxy

)(

1

 

Lagrange 緩和による導出の途中の式

10)(

ve

ev yx

 >    10 wve xxy

Page 11: ネットワーク理論講義補助資料

4.5節 主・双対法 11

相補性条件の解釈主相補性条件

10)(

ve

ev yx

 > 

   10 wve xxy

双対相補性条件

点 v に警備員が立つ -> 住民は合計1万円を支払う

道(枝)の住民がお金を支払う -> 道の両端のいずれかに警備員が立つ

上の2条件を満たしていれば(主も双対も)最適!主・双対法のアイディア: 主相補性条件は常に満たしたまま,双対問題の目的関数値を改善(大きくする).(双対相補性条件は満たさない可能性あり!)

Page 12: ネットワーク理論講義補助資料

4.5節 主・双対法 12

主・双対法(基本形)

1. 警備員なし( xv=0 ),ご褒美なし( ye=0) から出発(主相補性は必ず満たす!)

2. 被覆されていない枝 e=(v,w) を選択

3. 双対変数 yvw を

を満たすまで増やす(等号になった点を v とする).4. 点 v に警備員を立てて(立てても主相補性条件は常に

満たすことに注意), 2. へ

   または  11)()(

we

evee yy

   0 wv xx

Page 13: ネットワーク理論講義補助資料

4.5節 主・双対法 13

主・双対法のスナップショット(1)

32

4

1

6

5

枝 (2,3) を選択.点 2 もしくは3に警備員が立つまでご褒美( y23 )を増やす.1万円を配置.

Page 14: ネットワーク理論講義補助資料

4.5節 主・双対法 14

主・双対法のスナップショット(2)

32

4

1

6

5

枝 (2,3) に1万円のご褒美があるので点2にも警備員が公募してくる!

Page 15: ネットワーク理論講義補助資料

4.5節 主・双対法 15

主・双対法のスナップショット(3)

32

4

1

6

5

警備されていない枝 (5,6) の住民が道 (5,6) 上に1万円配置.Y56=1 と設定.点 5 上に警備員が配置される.

Page 16: ネットワーク理論講義補助資料

4.5節 主・双対法 16

主・双対法のスナップショット(4)

32

4

1

6

5

点 6 にも警備員が公募してくる.すべての枝が被覆されたので終了.答え(主・双対法による近似解)は4人.

双対問題の実行可能解 y23 =y56=1 より,下界は 2 .よって 2倍以下の保証をもつ!

Page 17: ネットワーク理論講義補助資料

4.5節 主・双対法 17

主・双対法(一様増加<公平にご褒美を払おう > , 逆削除ステップつき <無駄な警備員はクビにしよう!>)

1. 警備員なし( xv=0 ),ご褒美なし( ye=0) から出発2. 被覆されていない枝 e の集合 Violated を求める.3. Violated内の枝 e(=vw) の双対変数 ye を

を満たすまで一様に増やす(等号になった点を v とする).4. 点 v に警備員を立てて, 2. へ5. xv を1にした(警備員を立たせた)逆順に,除いても

実行可能(すべての枝が被覆されている)なら警備員を削除.

   または  11)()(

we

evee yy

->逆削除ステップ:基本形の例だと,点5の警備員をクビにする!

Page 18: ネットワーク理論講義補助資料

4.5節 主・双対法 18

逆削除ステップ付き一様増加

32

4

1

6

514

14

14

14

14

14

14

14

すべての枝が Violated ;点 3 に警備員が立つまで一様に y を増加.

Page 19: ネットワーク理論講義補助資料

4.5節 主・双対法 19

逆削除ステップ付き一様増加

32

4

1

6

538

38

38

38

14

14

14

14

枝 (1,2) ,枝 (2,4) ,枝 (4,6) ,枝 (5,8) が Violated ;点2に警備員が立つまで,Violated内の y を一様に 1/8だけ増やす.

Page 20: ネットワーク理論講義補助資料

4.5節 主・双対法 20

逆削除ステップ付き一様増加

5

3

6

2

4

138

38

12

12

14

14

14

14

枝 (4,6) ,枝 (5,6 )が Violated ;点 6 に警備員が立つまで,Violated内の y を一様に 1/8だけ増やす.近似解は 3 人.

下界( y の値の合計)は 2.75 .