300 likes | 575 Views
温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化. 同志社大学大学院 知的システムデザイン研究室. 三 木 光 範. 廣 安 知 之. ○ 吉 田 武 史. 最適化問題とは. 目的関数の最小化 ( 最大化 ). ・連続最適化問題. ・組み合わせ最適化問題. LSI 配置問題. トラス構造物. スケジュー リング問題. タンパク質 の構造解析. 探索空間の拡大により実用的な計算コストで解くことが困難. 研究背景. 最適化問題の複雑化 ヒューリスティック探索. 遺伝的アルゴリズム (GA). 生物の進化を模倣.
E N D
温度並列シミュレーテッドアニーリングにおける温度範囲の自律的最適化温度並列シミュレーテッドアニーリングにおける温度範囲の自律的最適化 同志社大学大学院 知的システムデザイン研究室 三 木 光 範 廣 安 知 之 ○ 吉 田 武 史
最適化問題とは 目的関数の最小化(最大化) ・連続最適化問題 ・組み合わせ最適化問題 LSI配置問題 トラス構造物 スケジュー リング問題 タンパク質 の構造解析 探索空間の拡大により実用的な計算コストで解くことが困難
研究背景 • 最適化問題の複雑化 • ヒューリスティック探索 • 遺伝的アルゴリズム(GA) 生物の進化を模倣 • ニューラルネットワーク ボルツマンマシン • シミュレーテッドアニーリング(SA) 金属の焼き鈍しを模倣 良好な解を短時間で求めることが重要
シミュレーテッドアニーリング - ΔE 温 度 ( ) exp 焼き鈍し: 金属をゆっくり冷却し,良質な結晶を生成 SAアルゴリズム 1. 生 成 処 理 2. 受 理 判 定 1 (改良方向) 受理確率P (改悪方向) ΔE=Enext - Enow 3. クーリング 解の動きと温度パラメータが密接に関係
シミュレーテッドアニーリング 高 温 - ΔE 温 度 ( ) exp 低 温 焼き鈍し: 金属をゆっくり冷却し,良質な結晶を生成 SAアルゴリズム 1. 生 成 処 理 2. 受 理 判 定 1 (改良方向) 受理確率P (改悪方向) ΔE=Enext - Enow 3. クーリング 解の動きと温度パラメータが密接に関係
温 度 パ ラ メ ー タ 最高温度 クーリング率 クーリング周期 最低温度 - SA実行中の温度の推移 : 温度スケジュール - 温度スケジュールと解の品質が大きく関係 ・パラメータチューニング の必要性 高温から低温へ 緩慢に冷却 Temperature ・膨大な計算量 S A の 並 列 化 SA Time
温 度 並 列 S A 並列SA : SAを並列実行し,計算時間を短縮 • 解交換による解精度向上 • 温度スケジュールは全プロセス同じ • 独立型並列SA • 同期型並列SA • 非同期型並列SA 温度並列SA(Temperature Parallel SA : TPSA) High Temp • 温度スケジュールの自動化 • 並列処理との高い親和性 ×適切な初期温度設定が困難 ×高温プロセスの効果 Low Temp
研 究 目 的 解探索過程で 温度範囲を変更 High Temp Low Temp 重要な温度領域 温 度 並 列 S A (TPS A ) 自律的に探索する温度領域が 変化するメカニズム + 適応的TPSA(Adaptive TPSA : ATPSA)
対 象 問 題 巡回セールスマン問題 Traveling Salesman Problem : TSP • 代表的な組み合わせ 最適化問題 • 全ての都市を巡回する最短の経路を発見 ch150 eil51 gil262 kroA100 pr152 6528 426 2378 21282 73682
温度による解の動きの比較 それぞれの温度での解の動きを検証 一定温度SAの実験結果(kroA100) SA SA SA Temperature SA SA SA 重要な温度領域 Time 一定温度で解探索を行い, 温度と解の関係を検証
温度による解の動きの比較 高温度 低温度 低温度 重要な温度 重要な温度 温度によって解の動きが大きく異なる 拡 大 重要な温度領域では他の温度と比べ良好な範囲で解が動く
評 価 値 解の動きから重要な温度領域を探索するためには 基準となる値と解の 差が大きい温度ほど 重要な温度領域に近い 基準値 差の大きさを示す値 として評価値を導入
評 価 値 評 価 値:解の動きを評価する値 基 準 値:解探索中にこの値を下回ることで評価値が加算 評価値 = Σ(基準値 - 解) 評価値:大 良好な範囲で解が動く 重要な温度領域を 発見できる
適 応 的 T P S A 解探索 + 評価値計算 同 期 • 探索温度範囲の設定 • 次の周期の基準値決定 • 解 交 換
適 応 的 T P S A 解探索 + 評価値計算 重要な温度領域 同 期 評価値 温度 前周期の温度範囲 次周期の温度範囲
適 応 的 T P S A 解探索 + 評価値計算 同 期 • 探索温度範囲の設定 • 次の周期の基準値決定 • 解 交 換
適 応 的 T P S A 解探索 + 評価値計算 同 期 • 探索温度範囲の設定 • 次の周期の基準値決定 • 解 交 換 重要な温度領域
実 験 概 要 適応的TPSA(ATPSA)とTPSAの性能比較実験 初期最高温度 最大改悪を50%の確率で受理する温度 初期最低温度 最小改悪を解交換周期で1回は受理する温度 解交換周期 × 160 総アニーリング数 解交換周期 都市数 × 20 試 行 回 数 20
実 験 結 果 TPSAにおける温度推移(kroA100) ・重要な温度領域で解探索 するプロセスが少ない ・高温部のみで解交換を 行い,温度プロセスに よって解の品質が大き く異なる
実 験 結 果 ATPSAにおける温度推移(kroA100) ・重要な温度領域に 多くのプロセスが集中 ・解交換が頻繁に行われ, 全プロセスが良好な解 を持つ
実 験 結 果 解探索能力 最適解発見率 適応的TPSA TPSA
結 論 SAにおける温度パラメータの検討 解探索を効率的に行える重要な温度の存在 SAの並列化 温度スケジュールを自動化する温度並列SA(TPSA) 自律的に重要な温度領域を探索する適応的TPSAの提案 • 解の動きを評価する評価値の導入 • 重要温度領域に各プロセスの温度が集中 従来のTPSAから解探索能力を向上することができた
重 要 温 度 領 域 重要温度領域 重 要 温 度 領 域 一定温度で解探索することで 良好な解が得られる温度領域 Temperature ・対象問題によって大きさが 異なる ・重要温度領域を決定するた めに膨大な予備実験が必要 Time
重要温度領域の特徴 高温度 重要温度領域 低温度 重要温度領域の特徴 ・良好な範囲で解が動く ・低温と比較して 解の動きが激しい 逐次SA 一定温度SA 高温から 低温へ 一定温度で アニーリング Temperature Temperature Time Time 高温度 低温度 重要温度領域
適 応 的 T P S A 解探索+評価値計算 初期解と 初期温度を 各プロセスに設定 Evaluation Solution
適 応 的 T P S A Masterに各プロセスの 評価値と温度を集める Master T1 重要温度領域 T2 T3 評価値 T4 T5 温度 Slave 評価値から次の周期の 探索温度範囲を決定する
適 応 的 T P S A 評価値 Slave 温度 T1 T2 T3 Master上で 各プロセスの 温度を決定 T4 T5 Slaveにそれぞれ に割り当てた温度を送信 Master