大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 ·...

50
大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 大阪工業大学 工学部 電気電子システム工学科 重弘 裕二 増田 達也

Upload: others

Post on 21-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

大規模組合せ最適化問題に対する複数の近傍を用いた探索手法

大阪工業大学 工学部

電気電子システム工学科

重弘 裕二  増田 達也

Page 2: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

背景

● 組合せ最適化問題● 設計、スケジューリング、割り当て、...● NP 困難(厳密に最適な解を求めるのは難しい)

● 最適化手法● 近傍操作に基づく解探索

– 従来手法● 局所探索法、Simulated Annealing、Tabu 探索法、...

– 提案手法(確率論的観点(!?)から...)● その他

– 遺伝的アルゴリズム、...

Page 3: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

背景

● 組合せ最適化問題● 設計、スケジューリング、割り当て、...● NP 困難(厳密に最適な解を求めるのは難しい)

● 最適化手法● 近傍操作に基づく解探索

– 従来手法● 局所探索法、Simulated Annealing、Tabu 探索法、...

– 提案手法(確率論的観点(!?)から...)● その他

– 遺伝的アルゴリズム、...

Page 4: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

組合せ最適化問題

● (例)巡回セールスマン問題● 都市の位置が与えられたとき、

都市

Page 5: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

組合せ最適化問題

● (例)巡回セールスマン問題● 都市の位置が与えられたとき、全ての都市を通る巡回

都市 巡回路

Page 6: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

組合せ最適化問題

● (例)巡回セールスマン問題● 都市の位置が与えられたとき、全ての都市を通る巡回

路の中で、

都市 巡回路

Page 7: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

組合せ最適化問題

● (例)巡回セールスマン問題● 都市の位置が与えられたとき、全ての都市を通る巡回

路の中で、なるべく長さの短いものを求めたい

都市 巡回路

求めたい

Page 8: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

組合せ最適化問題

● (例)巡回セールスマン問題● 都市の位置が与えられたとき、全ての都市を通る巡回

路の中で、なるべく長さの短いものを求めたい● 解:巡回路

都市 巡回路

求めたい

Page 9: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

組合せ最適化問題

● (例)巡回セールスマン問題● 都市の位置が与えられたとき、全ての都市を通る巡回

路の中で、なるべく長さの短いものを求めたい● 解:巡回路● 評価値:巡回路の長さ

都市 巡回路

評価値:小 評価値:大求めたい

Page 10: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作

● 定められた手続きに従って解の一部を変更

Page 11: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作

● 定められた手続きに従って解の一部を変更● (例)ランダムに 2 つの都市を選んで

Page 12: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作

● 定められた手続きに従って解の一部を変更● (例)ランダムに 2 つの都市を選んで入れ替える

近傍操作

Page 13: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作

● 定められた手続きに従って解の一部を変更● (例)ランダムに 2 つの都市を選んで入れ替える

近傍操作

Page 14: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作

● 定められた手続きに従って解の一部を変更● (例)ランダムに 2 つの都市を選んで入れ替える

● 近傍解:近傍操作により得られた解

近傍操作

近傍解 近傍解

Page 15: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作

● 定められた手続きに従って解の一部を変更● (例)ランダムに 2 つの都市を選んで入れ替える

● 近傍解:近傍操作により得られた解● 評価値の差が小さい解を生成可能

近傍操作

(ランダムに生成した解)

近傍解 近傍解

Page 16: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作に基づく解探索

● 限られた手続きを用いて評価値の小さな解を探索

Page 17: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作に基づく解探索

● 限られた手続きを用いて評価値の小さな解を探索● ランダムな解を生成

Page 18: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作に基づく解探索

● 限られた手続きを用いて評価値の小さな解を探索● ランダムな解を生成● 解を評価(評価値を求める)

色が明るいほど評価値が小さいことを表す

Page 19: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作に基づく解探索

● 限られた手続きを用いて評価値の小さな解を探索● ランダムな解を生成● 解を評価(評価値を求める)

– 評価回数が計算量の指標

色が明るいほど評価値が小さいことを表す

Page 20: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作に基づく解探索

● 限られた手続きを用いて評価値の小さな解を探索● ランダムな解を生成● 解を評価(評価値を求める)

– 評価回数が計算量の指標● 近傍解を生成

色が明るいほど評価値が小さいことを表す

近傍操作で生成可能

Page 21: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作に基づく解探索

● 限られた手続きを用いて評価値の小さな解を探索● ランダムな解を生成● 解を評価(評価値を求める)

– 評価回数が計算量の指標● 近傍解を生成

色が明るいほど評価値が小さいことを表す

近傍操作で生成可能

Page 22: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

従来手法

● 限られた評価回数で、より評価値の小さな解を● 局所探索法

● わかりやすい。これで十分な場合は問題ないが...● メタヒューリスティックス(発見的解法)

● Simulated Annealing、Tabu 探索法、...● アルゴリズムはそれで良いのか? なぜ!?● パラメータはそれで良いのか? なぜ!?

– 冷却スケジュール、タブリスト等

● もちろん、有用性は重要だけど...

● もっと数理的にきちんと(?)考えるべきでは!!

Page 23: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

提案手法

● 近傍解改善量● 近傍解(近傍操作)により評価値が改善される量

● 近傍操作を再定義● 単位近傍操作の反復

● 最良解改善量● 暫定最良解の評価値が改善される量

– 暫定最良解:解探索の過程において、その時点で最も良い解

● 探索手順● まずは局所探索法の枠組みの中で

Page 24: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

提案手法

● 近傍解改善量● 近傍解(近傍操作)により評価値が改善される量

● 近傍操作を再定義● 単位近傍操作の反復

● 最良解改善量● 暫定最良解の評価値が改善される量

– 暫定最良解:解探索の過程において、その時点で最も良い解

● 探索手順● まずは局所探索法の枠組みの中で

Page 25: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍解改善量

● 元の解と

評価値

Page 26: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍解改善量

● 元の解と近傍解の評価値の差

近傍解改善量

評価値

近傍解

Page 27: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍解改善量

● 元の解と近傍解の評価値の差

近傍解改善量

評価値

近傍解

Page 28: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍解改善量

● 元の解と近傍解の評価値の差

● (仮定)正規分布 /

近傍解改善量

評価値

近傍解

確率分布

Page 29: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍解改善量

● 元の解と近傍解の評価値の差

● (仮定)正規分布 /

近傍解改善量

評価値

近傍解

近傍解

確率分布

Page 30: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍解改善量

● 元の解と近傍解の評価値の差

● (仮定)正規分布 / 平均と標準偏差が一定

近傍解改善量

評価値

近傍解

同じ形の正規分布

近傍解

確率分布

Page 31: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作を再定義

● 「単位近傍操作の反復」

近傍解

Page 32: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作を再定義

● 「単位近傍操作の反復」を近傍操作と再定義

再定義された近傍操作で生成可能

近傍解

近傍解

近傍解

近傍解

Page 33: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作を再定義

● 「単位近傍操作の反復」を近傍操作と再定義

再定義された近傍操作で生成可能

確率分布

推定

評価値

近傍解

近傍解

近傍解

近傍解

Page 34: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

近傍操作を再定義

● 「単位近傍操作の反復」を近傍操作と再定義● 近傍解の評価値の確率分布を推定

推定

再定義された近傍操作で生成可能

確率分布

推定

推定

推定

評価値

近傍解

近傍解

近傍解

近傍解

Page 35: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

最良解改善量

● 近傍操作前後の暫定最良解の評価値の差

評価値

暫定最良解

Page 36: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

最良解改善量

● 近傍操作前後の暫定最良解の評価値の差● 暫定最良解より良い近傍解 → 暫定最良解の更新

評価値

暫定最良解

近傍解

最良解改善量

Page 37: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

最良解改善量

● 近傍操作前後の暫定最良解の評価値の差● 暫定最良解より良い近傍解 → 暫定最良解の更新● 最良解改善量の期待値

– 近傍操作により、どの程度良い解が見つかるのか?

最良解改善量のグラフ

評価値

暫定最良解

近傍解

最良解改善量

Page 38: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

最良解改善量

● 近傍操作前後の暫定最良解の評価値の差● 暫定最良解より良い近傍解 → 暫定最良解の更新● 最良解改善量の期待値

– 近傍操作により、どの程度良い解が見つかるのか?– 確率分布から計算可能

最良解改善量のグラフ

評価値

暫定最良解

近傍解

確率分布

最良解改善量

Page 39: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

探索手順

● まずは局所探索法の枠組みの中で● 「暫定最良解に近傍操作を行い評価する」ことを反復

● 近傍操作を再定義● 最良解改善量の期待値が最大となる近傍操作を選択

● 近傍解の評価値の確率分布を推定● 探索中に得られる近傍解改善量の値を収集● 単位近傍操作の近傍解改善量の平均と分散を推定

Page 40: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

局所探索法の枠組みの中で

● 暫定最良解 s に近傍操作を行い評価

s' を評価

s ← s, s' の良い方

s ← ランダムな解

s を評価

s' ← s の近傍解

Page 41: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

局所探索法の枠組みの中で

● 暫定最良解 s に近傍操作を行い評価

s' を評価

s ← s, s' の良い方

s ← ランダムな解

s を評価

s' ← s の近傍解近傍操作を選択 最良解改善量の

期待値最大

Page 42: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

局所探索法の枠組みの中で

● 暫定最良解 s に近傍操作を行い評価

s' を評価

s ← s, s' の良い方

s ← ランダムな解

s を評価

s' ← s の近傍解近傍操作を選択

統計量を推定 単位近傍操作の近傍解改善量の平均と分散

最良解改善量の期待値最大

Page 43: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

局所探索法の枠組みの中で

● 暫定最良解 s に近傍操作を行い評価

s' を評価

s ← s, s' の良い方

s ← ランダムな解

s を評価

s' ← s の近傍解

観測値を積算

近傍操作を選択

統計量を推定 単位近傍操作の近傍解改善量の平均と分散

最良解改善量の期待値最大

Page 44: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

局所探索法の枠組みの中で

● 暫定最良解 s に近傍操作を行い評価

s' を評価

s ← s, s' の良い方

s ← ランダムな解

s を評価

s' ← s の近傍解

観測値を積算

近傍操作を選択

統計量を推定

近傍操作の回数と近傍解改善量

単位近傍操作の近傍解改善量の平均と分散

最良解改善量の期待値最大

Page 45: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

計算機実験

● 局所探索法と提案手法を実装● Haskell, GNU Scientific Library

● 巡回セールスマン問題に適用● ランダムな座標の10,000都市

● 単位近傍操作:2都市の入れ替え

● 近傍操作– (局所探索法)

単位近傍操作を1,2,4,8,16,32.64回反復…(※)

– (提案手法)最良解改善量の期待値が最大のものを(※)から選択

Page 46: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

実験結果

● 局所探索法(単位近傍操作(1回反復))

Page 47: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

実験結果

● 局所探索法(単位近傍操作1,2回反復)

Page 48: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

実験結果

● 単位近傍操作の反復回数に対し規則的な特徴

Page 49: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

実験結果

● 提案手法は局所探索法よりも良い解に速く到達

Page 50: 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法 · 2017-08-23 · 大規模組合せ最適化問題に対する 複数の近傍を用いた探索手法

まとめ

● 近傍解改善量の確率分布を仮定・推定● 最良解改善量の期待値を計算● 局所探索法に複数の近傍操作を

● 適切な近傍操作を選択