Upload
hamilton-moore
View
20
Download
1
Embed Size (px)
DESCRIPTION
ネットワーク理論講義補助資料. Text. 組合せ最適化とアルゴリズム 4.5 節 主・双対法 pp. 132-141. 副読本:組合せ最適化短編集(朝倉書店)第1章:マッチング問題に対する主・双対法のお話がある. ここでは,主・双対法を点被覆問題を例として解説する.. 点の上に警備員(1人1万円)を配置して,すべての 道(グラフでは枝)をなるべく安く見張ろう!. 問題. 点の被覆( cover ). 警備員が点3にたつと点線の道の見張りができる(枝が被覆される).. グラフによる問題の記述. 無向グラフ G=(V,E) - PowerPoint PPT Presentation
Citation preview
4.5節 主・双対法 1
ネットワーク理論講義補助資料
副読本:組合せ最適化短編集(朝倉書店)第1章:マッチング問題に対する主・双対法のお話がある.
ここでは,主・双対法を点被覆問題を例として解説する.
Text.組合せ最適化とアルゴリズム4.5 節 主・双対法pp. 132-141
4.5節 主・双対法 2
問題
32
4
15
6
ク レ オ パ ト ラ
ニ ュ ー ト ン
ゴ ッ ホ
モ ナ リ ザ
ラ ス プ ー チ ン
シ ェ イ ク ス ピ ア
ベ ー ト ー ベ ン
点の上に警備員(1人1万円)を配置して,すべての道(グラフでは枝)をなるべく安く見張ろう!
4.5節 主・双対法 3
点の被覆( cover )
32
4
1
6
5
警備員が点3にたつと点線の道の見張りができる(枝が被覆される).
4.5節 主・双対法 4
グラフによる問題の記述 無向グラフ G=(V,E) 点上の重み関数 w (警備員の雇用費):
以下では簡単のため wv=1 (万円)とする. 目的:点の部分集合 S ですべての枝 E
を被覆するものの中で, S 内の点の重みの合計を最小にするものを求める.
NP- 困難 -> 近似解法を設計しよう!
4.5節 主・双対法 5
整数計画としての定式化と線形計画緩和問題 (変数) xv :点 v 上に警備員を配置す
る 1 ,しない 0
Vvx
Evwxx
x
v
wv
Vvv
条件
最小化
1,0
1
Vvxv 0
整数計画問題
線形計画問題に緩和
4.5節 主・双対法 6
双対問題の導出( Lagrange 緩和を用いる方法)(1)
Vvx
Evwxx
x
v
wv
Vvv
条件
最小化
0
1
Vvwxx wv )0(1
実行可能解なら必ず 0 以下
非負の Lagrange 乗数 yvw を乗じて目的関数に加える!
4.5節 主・双対法 7
双対問題の導出( Lagrange 緩和を用いる方法)(2)
Vvx
Evwxx
yxxx
v
wv
Evwvwwv
Vvv
条件
最小化
0
1
)1(
緩和(式を外す)と実行可能領域が広がるので,目的関数値は良くなる!
0以下の値
下界になる!
4.5節 主・双対法 8
双対問題の導出( Lagrange 緩和を用いる方法)(3)
Vvx
yxy
v
Evwvwv
Vv vee
条件
最小化
0
1)(
下界が-∞にならないためには, x の係数がすべて 0 以上!欲しいのは最良(最も大きな)下界 -> 目的関数を最大化!
目的関数を x について整理 点 v に接続している枝の集合
4.5節 主・双対法 9
双対問題の導出( Lagrange 緩和を用いる方法)(4)
Eey
Vvy
y
e
vee
Evwvw
条件
最大化
0
1)(
相補性条件を導こう!(忘れた人はテキスト p.47 参照)
双対問題のできあがり!
双対変数の解釈:枝(道) e に置いておく警備員へのご褒美 ye
4.5節 主・双対法 10
相補性条件(主と双対の関係式)
最適な x,y においては,必ず 0 になる!
(最適解においては)双対定理より主問題と双対問題の最適値は一致!
Evw
vwwvVv
v yxxx )1(
Evwvwv
Vv vee yxy
)(
1
Lagrange 緩和による導出の途中の式
10)(
ve
ev yx
> 10 wve xxy
4.5節 主・双対法 11
相補性条件の解釈主相補性条件
10)(
ve
ev yx
>
10 wve xxy
双対相補性条件
点 v に警備員が立つ -> 住民は合計1万円を支払う
道(枝)の住民がお金を支払う -> 道の両端のいずれかに警備員が立つ
上の2条件を満たしていれば(主も双対も)最適!主・双対法のアイディア: 主相補性条件は常に満たしたまま,双対問題の目的関数値を改善(大きくする).(双対相補性条件は満たさない可能性あり!)
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
4.5節 主・双対法 13
主・双対法のスナップショット(1)
32
4
1
6
5
枝 (2,3) を選択.点 2 もしくは3に警備員が立つまでご褒美( y23 )を増やす.1万円を配置.
4.5節 主・双対法 14
主・双対法のスナップショット(2)
32
4
1
6
5
枝 (2,3) に1万円のご褒美があるので点2にも警備員が公募してくる!
4.5節 主・双対法 15
主・双対法のスナップショット(3)
32
4
1
6
5
警備されていない枝 (5,6) の住民が道 (5,6) 上に1万円配置.Y56=1 と設定.点 5 上に警備員が配置される.
4.5節 主・双対法 16
主・双対法のスナップショット(4)
32
4
1
6
5
点 6 にも警備員が公募してくる.すべての枝が被覆されたので終了.答え(主・双対法による近似解)は4人.
双対問題の実行可能解 y23 =y56=1 より,下界は 2 .よって 2倍以下の保証をもつ!
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の警備員をクビにする!
4.5節 主・双対法 18
逆削除ステップ付き一様増加
32
4
1
6
514
14
14
14
14
14
14
14
すべての枝が Violated ;点 3 に警備員が立つまで一様に y を増加.
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だけ増やす.
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 .