温度並列シミュレーテッドアニーリング における重要温度 三木 光範 (同志社大学) 廣安 知之 (同志社大学) ○ 窪田 耕明 (同志社大学大学院) 吉田 武史 (同志社大学) 研究背景 最適化問題 ヒューリスティック探索手法 シミュレーテッドアニーリング(SA) ,GA,etc. 高い計算負荷で並列化は必須 並列アルゴリズム 並列SA ,分散GA,etc. 温度並列SA(TPSA) SAの基本アルゴリズム SA:焼きなましのアナロジーを模倣 ・生成処理 ・受理判定 減少 エネルギーが ・温度のクーリング 小 の確率で受理 SAの欠点 大 Energy 増加 必ず受理 -(Enext-Ecurrent) exp Temperature ・計算時間がかかる ・温度設定が困難 局所解 最適解 温度並列SA(TPSA) T1 Temparature TPSA SA ・生成処理 ・受理判定 ・解交換 T2 T3 T4 T5 T6 Time 各プロセスに温度を割り当てる TPSAの利点 ・並列処理との親和性が高い ・温度スケジュールの自動化 温度パラメータの設定が重要 Temparature TPSA T1 T2 T3 T4 T5 T6 Time 重要温度 Temparature 一定温度でのアニーリングが有効 T1 T2 T3 T4 T5 T6 研究目的 無駄な探索 効率の良い探索 (重要温度) 局所解に収束 Time ・巡回セールスマン問題において重要温度の存在を確認する. ・重要温度の規則性を検証する. TPSAの適切な温度パラメータ設定が可能! 巡回セールスマン問題(TSP) eil51(51都市,最適解:426) 初期解 最適解 80 80 70 70 60 60 50 50 40 40 30 30 20 20 10 10 0 0 0 10 20 30 40 50 60 70 80 0 10 20 30 40 50 60 70 80 重要温度を確認する実験 解交換を行なわないTPSA 使用するパラメータ Temparature T1 T2 最高温度:1.0E+6 T3 最低温度:1.0E-2 T4 温度数:32 T5 T6 計算回数:160000回 Time 実験結果 経路長 eil51 (TSPLIB) 750 700 650 600 550 500 450 400 1.0E-02 1.0E-01 1.0E+00 1.0E+01 1.0E+02 1.0E+03 1.0E+04 1.0E+05 1.0E+06 温度 重要温度を確認できた 各問題での重要温度 問題 都市数 eil51 最適解 重要温度 426 2 kroA100 100 21282 50 pr152 152 73682 130 bier127 127 118282 180 76 108159 300 pr76 1.最適解に比例? 2.都市数に反比例? 最適解/都市数 = 51 重要温度は 平均経路長 重要温度は平均経路長と関係がある? 問題 eil51 平均経路長と重要温度 都市数 最適解 重要温度 51 426 2 kroA100 100 21282 50 pr152 152 73682 130 bier127 127 118282 180 76 108159 300 pr76 (pr76) (bier127) (pr152) (kroA100) (eil51) 1 傾き 4 の直線 平均経路長と重要温度 ・一般的なTSPでは 最適解と都市数(平均経路長)から 重要温度を導くことができる 1 重要温度 = ×(最適解/都市数) 4 特殊な問題ではどうか? テスト問題による検証 eil51を使用してテスト問題を作成 都市数を2倍にしたeil51 ・各都市に近接して都市を付加 (eil51-A) ・各都市の中間点に都市を付加 (eil51-B) 解交換を行なわないTPSAを適用 eil51-A 各都市に近接して都市を付加(102都市) eil51-B 最適解:426 80 70 60 50 40 30 20 10 0 0 10 20 30 40 50 60 70 80 eil51-B 各都市の中間点に都市を付加(102都市) eil51 最適解:426 80 80 70 70 60 60 50 50 40 40 30 30 20 20 10 10 0 0 0 10 20 30 40 50 60 70 eil51-C 最適解:426 80 0 10 20 30 40 50 60 70 80 実験結果 実験結果 ・eil51-A → 重要温度は変化しない. 重要温度は都市数に反比例していない? ・eil51-B → 重要温度の幅が広くなる. 重要温度は高くてもいい? 考察 1 1 最適解:8 都市数:8 平均経路長 = 1 実際の各経路長 = 最適解:8 都市数:8 平均経路長 = 1 実際の各経路長 ≠ 1 1 2.1 1.8 0.2 計算で求めた 平均経路長 計算で求めた 平均経路長 eil51の経路長分布 10 平均経路長=426÷51=8.4 頻度 (回 ) 8 6 4 2 0 0.1 2.1 4.1 6.1 8.1 10.1 12.1 各経路長 14.1 16.1 18.1 eil51-A(近接)の経路長分布 35 平均経路長=426÷102=4.2 30 頻度 (回 ) 25 20 15 10 5 0 0.1 2.1 4.1 6.1 8.1 10.1 12.1 14.1 16.1 18.1 各経路長 考察(eil51-A) 35 平均経路長=426÷102=4.2 30 頻度 (回 ) 25 20 温度に関係なく結ばれる経路長 15 10 5 0 0.1 2.1 4.1 6.1 8.1 10.1 12.1 14.1 16.1 18.1 各経路長 経路長にばらつきがあり 平均経路長と異なる 平均経路長から重要温度は 計算できない! eil51-B(中間点)の経路長分布 10 平均経路長=426÷102=4.2 頻度(回) 8 6 経路長にばらつきがなく 平均経路長と等しい 4 2 0 0.1 2.1 4.1 6.1 8.1 10.1 12.1 各経路長 14.1 16.1 18.1 考察(eil51-B) 各都市の中間点に都市を付加 80 70 60 50 問題が簡単になった (迷うような経路がない) 40 30 20 10 多少の温度差に影響を受けない 0 0 10 20 30 40 50 60 問題が簡単になる 70 80 局所探索で解が求まる (重要温度はなくなる) 考察 eil51-A 小さい経路長は考慮されない 特殊な問題 重要温度が変わらない eil51-B 問題が簡単になる 重要温度の幅が広くなる 平均経路長(最適解/都市数)が使えない 実際にどのような大きさの組み換えがあるのか? 経路長の組み換えによって生じる エネルギー(ΔE)が重要 結論 ・TSPにおいて重要温度がある ・特殊なTSPに関しては,組み換えで生じる エネルギー(ΔE)が重要 ・一般的なTSPにおいて,重要温度は 平均経路長(最適解/都市数)に依存している 1 重要温度 = ×(最適解/都市数) 4 TPSAの適切な温度パラメータを決める指針を示した. 補足資料 ばらつきによる重要温度の違い 問題が未知の場合は? 問題が未知の場合は? ・「局所解 ≒ 最適解」とする 局所解を用いることによる誤差で 重要温度は高温側にずれる 最高温度 重要温度は複数ある 1 1 生成されるΔEはほぼ同じ大きさ 1 1 2.1 生成されるΔEはばらばら (大きいΔEと小さいΔE) 1.8 複数の重要温度 0.2 シミュレーテッドアニーリング(SA) • 物理現象のモデル化 – 金属の焼きなまし(アニーリング)を計算機上で シミュレート 温度 高 温度 低 ゆっくり冷やす エネルギー 大 エネルギー 小 最適化に利用 kroA100 TSPLIB: http://www.informatik.uni-heidelberg.de/groups/comopt/software/TSPLIB95/index.html 最適解:21282 重要温度:50 2500 60000 2000 50000 経路長 1500 1000 30000 500 0 20000 1.0E-02 -500 -500 40000 500 1500 2500 3500 4500 1.0E+00 1.0E+02 1.0E+04 1.0E+06 温度 pr152 TSPLIB: http://www.informatik.uni-heidelberg.de/groups/comopt/software/TSPLIB95/index.html 最適解:73682 重要温度:130 12000 260000 10000 210000 経路長 8000 6000 160000 110000 4000 60000 2000 1.0E-02 1.0E+00 1.0E+02 温度 0 0 5000 10000 15000 20000 1.0E+04 1.0E+06 bier127 TSPLIB: http://www.informatik.uni-heidelberg.de/groups/comopt/software/TSPLIB95/index.html 最適解:118282 重要温度:180 25000 300000 20000 経路長 250000 15000 10000 200000 150000 5000 100000 1.0E-02 0 1.0E+00 1.0E+02 温度 0 5000 10000 15000 20000 1.0E+04 1.0E+06 pr76 TSPLIB: http://www.informatik.uni-heidelberg.de/groups/comopt/software/TSPLIB95/index.html 最適解:108159 重要温度:300 14000 250000 12000 経路長 10000 8000 6000 200000 150000 4000 100000 1.0E-02 2000 1.0E+00 1.0E+02 温度 0 0 5000 10000 15000 20000 1.0E+04 1.0E+06 eil51-A 最適解だけを変化 スケールを10000倍にしたeil51(51都市) eil51 最適解:426 80 8000 70 7000 60 6000 50 5000 40 4000 30 3000 20 2000 10 1000 0 0 0 10 20 30 40 50 60 70 80 eil51-A 最適解:4260000 0 1000 2000 3000 4000 5000 6000 7000 8000 近傍 80 0.1 60 14 40 12 20 10 8 0 0 6 20 40 60 4 2 0 0.1 1.5 2.8 4.2 5.5 6.9 8.3 9.6 11.0 12.4 13.7 15.1 16.5 17.8 19.2 80 80 0.2 60 14 40 12 20 10 8 0 0 6 20 40 60 4 2 0 0.1 1.5 2.8 4.2 5.5 6.9 8.3 9.6 11.0 12.4 13.7 15.1 16.5 17.8 19.2 80 80 0.3 60 14 40 12 20 10 8 0 6 0 20 40 60 4 2 0 0.1 1.5 2.8 4.2 5.5 6.9 8.3 9.6 11.0 12.4 13.7 15.1 16.5 17.8 19.2 80 80 0.4 60 14 40 12 20 10 8 0 0 6 20 40 60 4 2 0 0.1 1.5 2.8 4.2 5.5 6.9 8.3 9.6 11.0 12.4 13.7 15.1 16.5 17.8 19.2 80 QAP 実験結果 実験結果 ・eil51-A → 重要温度は10000倍になる. 重要温度は最適解に比例している. ・eil51-B → 重要温度は変化しない. 重要温度は都市数に反比例していない? テスト問題による検証 1.スケールだけを10000倍にしたeil51 (eil51-A) 重要温度が最適解に比例しているか検証 2.都市数だけを2倍にしたeil51 (eil51-B) 重要温度が都市数に反比例しているか検証 解交換を行なわないTPSAを適用 テスト問題による検証 1.重要温度が最適解に比例しているか検証 スケールだけを10000倍にしたeil51 (eil51-A) 2.重要温度が都市数に反比例しているか検証 都市数だけを2倍にしたeil51 ・各都市に近接して都市を付加 (eil51-B) ・各都市の中間点に都市を付加 (eil51-C) 解交換を行なわないTPSAを適用 実験結果 考察 経路長のばらつきが大きく,平均経路長と 経路長分布が大きく異なる問題(eil51-B) 計算で求めた平均経路長は使用できない ・経路長のばらつきが比較的小さい場合 最適解と都市数から 重要温度を導くことができる 1 重要温度 = ×(最適解/都市数) 4
© Copyright 2024 ExpyDoc