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

重要な温度領域 - 医療情報システム研究室