Power Point - 知的システムデザイン研究室

Download Report

Transcript Power Point - 知的システムデザイン研究室

TPSAにおける重要温度領域探索と並列化効率
同志社大学
知的システムデザイン研究室
三木 光範
吉田 武史
廣安 知之
○伏見 俊彦
最適化問題とは?
目的関数の最小化(最大化)
連続最適化問題
組み合わせ最適化問題
LSI配置問題
トラス構造物
タンパク質
の構造解析
スケジュー
リング問題
探索空間の拡大により実用的な計算コストで解くことが困難
研究背景
最適化問題の複雑化
良好な解を短時間で
求めることが重要
ヒューリスティック探索
遺伝的アルゴリズム(GA)
生物の進化を模倣
ニューラルネットワーク
ボルツマンマシン
シミュレーテッドアニーリング(SA)
金属の焼き鈍しを模倣
シミュレーテッドアニーリング
焼き鈍し : 金属を溶融状態から緩慢に冷却し,良質な結晶を生成
SAアルゴリズム
1.生成処理
2.受理判定
⊿E ≦ 0
1
受理確率:P
- ΔE
温度
(
)
⊿E=Enext - Enow
exp
⊿E > 0
3.クーリング
解の動きと温度パラメータが密接に関係
シミュレーテッドアニーリング
焼き鈍し : 金属を溶融状態から緩慢に冷却し,良質な結晶を生成
SAアルゴリズム
高温
1.生成処理
2.受理判定
⊿E ≦ 0
1
受理確率:P
- ΔE
温度
(
)
⊿E=Enext - Enow
exp
⊿E > 0
低温
3.クーリング
解の動きと温度パラメータが密接に関係
温度パラメータ
SA実行中の温度の推移:温度スケジュール
温度スケジュールと解の品質が大きく関係
適切な温度スケジュール
が容易でない
Temperature
最高温度
クーリング率
高温から低温へ
緩慢に冷却
クーリング周期
膨大な計算量
最低温度
SA
Time
SAの並列化
並列SA と 温度並列SA
並列 SA : SAを並列実行し,計算時間を短縮
独立型並列SA
• 同期型並列SA
• 非同期型並列SA
•
解交換による解精度向上
温度スケジュールの問題は残る
温度並列 SA(Temperature Parallel SA : TPSA)
High
Temp
Low
Temp
○
○
×
×
温度スケジュールの自動化
並列処理との高い親和性
適切な初期温度設定が困難
高温プロセスの効果
P=
1
ΔT・ΔE<0
exp( ΔT・ΔE )
T・T’
otherwise
研究目的
解探索過程で
温度範囲を変更
High
Temp
Low
Temp
有効な温度領域に
温度並列SA
+
(TPSA)
探索温度領域が自律的に
変化するメカニズム
適応的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
温度数
32
1プロセッサが担当する温度数は 温度数/プロセッサ数
実験結果
TPSAにおける温度推移(kroA100)
重要な温度領域で解探索
するプロセスが少ない
高温部のみで解交換を行
い,温度プロセスによって
解の品質が大きく異なる
重要な温度領域
実験結果
ATPSAにおける温度推移(kroA100)
重要な温度領域に多くの
プロセスが集中
解交換が頻繁に行われ,
全プロセスが良好な解を持つ
重要な温度領域
実験結果
解探索能力
最適解発見率
適応的TPSA
TPSA
ATPSAの並列化効率
問題規模に比例して並列化効率は向上する
通信時間による影響
同期時による待ち時間
speedup =
1CPU time
n CPU time
1プロセッサが担当する温度数は
温度数/プロセッサ数
a280
pr1002
Speedup
eil51
Number of processors
Number of processors
Number of processors
ATPSAの並列化効率
Communication time
/Total time
問題規模が小さいと通信時間が占める割合が大きい
計算量が少ない問題では並列化が生かされていない
Problems
結論
SAにおける温度パラメータの検討
解探索を効率的に行える重要温度の存在
自律的に重要な温度領域を探索する適応的TPSAの提案
解の動きを評価する評価値の導入
重要温度領域に各プロセスの温度が集中
従来のTPSAから解探索能力を向上することができた
適応的TPSAの並列化効率の検証
大規模な問題では高い並列処理との親和性
温度並列SAについて
High
Temp
解の品質より確率的に解を
他のプロセスと交換する
Low
Temp
P=
1
ΔT・ΔE<0
ΔT・ΔE
otherwise
exp(
)
T・T’
ΔE = E – E’
ΔT = T – T’
重要温度領域
Temperature
重要温度領域
一定温度で解探索することで
良好な解が得られる温度領域
重要温度領域
・対象問題によって大きさが
異なる
・重要温度領域を決定するた
めに膨大な予備実験が必要
Time
逐次SA
高温から
低温へ
Time
重要温度領域の特徴
・良好な範囲で解が動く
高温度
・低温と比較して
解の動きが激しい
重要温度領域
低温度
Temperature
Temperature
重要温度領域の特徴
一定温度SA
一定温度で
アニーリング
Tim
e
高温度
低温度
重要温度領域
適応的TPSA
解探索+評価値計算
初期解と
初期温度を
各プロセスに設定
Solution
Evaluation
適応的TPSA
評価値
Master
Masterに各プロセスの
評価値と温度を集める
重要温度領域
温度
Slave
評価値から次の周期の
探索温度範囲を決定する
評価値
適応的TPSA
温度
Slave
Master上で
各プロセスの
温度を決定
Master
Slaveにそれぞれ
に割り当てた温度を送信
ATPSAの並列化効率
ATPSAを並列で実行(32プロセス)
pr1002
speedup
speedup
eil51
number of processor
number of processor
問題規模が小さいと並列化効率が悪い
研究目的