28
温温温温温温温温温温温温温温温温温温 温温温温温温温温温温温温温温温温温温 温温温温温温温温温温温温温温温 温温温温温温温温温温温温温温温 同同同同同同同同 同同同同同同同同同同同同同 同同同同 同同同同 同同同同

温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

Embed Size (px)

DESCRIPTION

温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化. 同志社大学大学院 知的システムデザイン研究室. 三 木 光 範. 廣 安 知 之. ○ 吉 田 武 史. 最適化問題とは. 目的関数の最小化 ( 最大化 ). ・連続最適化問題. ・組み合わせ最適化問題. LSI 配置問題. トラス構造物. スケジュー リング問題. タンパク質 の構造解析. 探索空間の拡大により実用的な計算コストで解くことが困難. 研究背景. 最適化問題の複雑化 ヒューリスティック探索. 遺伝的アルゴリズム (GA). 生物の進化を模倣. - PowerPoint PPT Presentation

Citation preview

Page 1: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

温度並列シミュレーテッドアニーリング温度並列シミュレーテッドアニーリングにおける温度範囲の自律的最適化における温度範囲の自律的最適化

同志社大学大学院 知的システムデザイン研究室

三 木 光 範廣 安 知 之

○ 吉 田 武 史

Page 2: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

最適化問題とは最適化問題とは目的関数の最小化 ( 最大化 )

・連続最適化問題 ・組み合わせ最適化問題

探索空間の拡大により実用的な計算コストで解くことが困難

LSI 配置問題

タンパク質の構造解析

スケジューリング問題

トラス構造物

Page 3: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

研究背景研究背景

• 最適化問題の複雑化• ヒューリスティック探索

良好な解を短時間で求めることが重要良好な解を短時間で求めることが重要

生物の進化を模倣– 遺伝的アルゴリズム (GA)

– ニューラルネットワーク

– シミュレーテッドアニーリングシミュレーテッドアニーリング (SA)(SA)

金属の焼き鈍しを模倣

ボルツマンマシン

Page 4: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

シミュレーテッドアニーリングシミュレーテッドアニーリング

SASA アルゴリズム アルゴリズム

1. 1. 生 成 処 理生 成 処 理2. 2. 受 理 判 定受 理 判 定

3. 3. クーリングクーリング

1

( 改悪方向 )exp( )- ΔE

温 度温 度ΔE=Enext - Enow

焼き鈍し焼き鈍し : : 金属をゆっくり冷却し,良質な結晶を生金属をゆっくり冷却し,良質な結晶を生成成

解の動きと温度パラメータが密接に関係解の動きと温度パラメータが密接に関係

受理確率 P( 改良方向 )

Page 5: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

シミュレーテッドアニーリングシミュレーテッドアニーリング

SASA アルゴリズム アルゴリズム

1. 1. 生 成 処 理生 成 処 理2. 2. 受 理 判 定受 理 判 定

3. 3. クーリングクーリング

1

( 改悪方向 )exp( )- ΔE

温 度温 度ΔE=Enext - Enow

焼き鈍し焼き鈍し : : 金属をゆっくり冷却し,良質な結晶を生金属をゆっくり冷却し,良質な結晶を生成成

解の動きと温度パラメータが密接に関係解の動きと温度パラメータが密接に関係

受理確率 P( 改良方向 )

高 温

低 温

Page 6: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

温 度 パ ラ メ ー タ温 度 パ ラ メ ー タ

- SA- SA 実行中の温度の推移 実行中の温度の推移 : : 温度スケジュール温度スケジュール

Tem

pera

ture

Time

最高温度最高温度

最低温度最低温度

クーリング率クーリング率

クーリング周期クーリング周期

・パラメータチューニング・パラメータチューニング の必要性 の必要性

・膨大な計算量・膨大な計算量

高温から低温へ緩慢に冷却

- - 温度スケジュールと解の品質が大きく関係温度スケジュールと解の品質が大きく関係

SASAS A S A の 並 列 化の 並 列 化S A S A の 並 列 化の 並 列 化

Page 7: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

温 度 並 列 温 度 並 列 S AS A

並列並列 SA : SA : SASA を並列実行し,計算時間を短縮を並列実行し,計算時間を短縮

• 独立型並列独立型並列 SASA• 同期型並列同期型並列 SASA• 非同期型並列非同期型並列 SASA

解交換による解精度向上解交換による解精度向上 温度スケジュールは全プロセス同じ温度スケジュールは全プロセス同じ

温度並列温度並列 SA(Temperature Parallel SA : TPSA)SA(Temperature Parallel SA : TPSA)

×× 適切な初期温度設定が困難適切な初期温度設定が困難

• 温度スケジュールの自動化温度スケジュールの自動化• 並列処理との高い親和性並列処理との高い親和性

HighTemp

LowTemp

×× 高温プロセスの効果高温プロセスの効果

Page 8: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

研 究 目 的研 究 目 的

温 度 並 列 温 度 並 列 S AS A(TP(TP S A S A ))

重要な温度領域重要な温度領域

解探索過程で解探索過程で温度範囲を変更温度範囲を変更High

Temp

LowTemp

自律的に探索する温度領域が自律的に探索する温度領域が変化するメカニズム変化するメカニズム++

適応的適応的 TPSA(Adaptive TPSA : ATPSA)TPSA(Adaptive TPSA : ATPSA)

Page 9: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

対 象 問 題対 象 問 題

巡回セールスマン問題巡回セールスマン問題

• 代表的な組み合わせ代表的な組み合わせ 最適化問題 最適化問題• 全ての都市を巡回す全ての都市を巡回す

る最短の経路を発見る最短の経路を発見

Traveling Salesman Problem : TSPTraveling Salesman Problem : TSP

ch150ch150 gil262gil262 kroA100kroA100 pr152pr152eil51eil51

6528 2378 21282 73682426

Page 10: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

温度による解の動きの比較温度による解の動きの比較Tem

pera

ture

Time

一定温度で解探索を行い,一定温度で解探索を行い,温度と解の関係を検証温度と解の関係を検証

一定温度一定温度 SASA の実験結果の実験結果 (kroA100) (kroA100)

SASASASA

SASASASA

SASASASASASASASASASASASASASASASA

重要な温度領域重要な温度領域

それぞれの温度での解の動きを検証それぞれの温度での解の動きを検証それぞれの温度での解の動きを検証それぞれの温度での解の動きを検証

Page 11: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

温度による解の動きの比較温度による解の動きの比較

温度によって解の動きが大きく異なる温度によって解の動きが大きく異なる

拡 大

高温度高温度

低温度

重要な温度重要な温度

低温度

重要な温度重要な温度

重要な温度領域では他の温度と比べ良好な範囲で解が動く重要な温度領域では他の温度と比べ良好な範囲で解が動く

Page 12: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

評 価 値評 価 値

解の動きから重要な温度領域を探索するためには解の動きから重要な温度領域を探索するためには

基準値基準値

基準となる値と解の基準となる値と解の差が大きい温度ほど差が大きい温度ほど重要な温度領域に近い重要な温度領域に近い

差の大きさを示す値差の大きさを示す値としてとして評価値評価値を導入を導入

Page 13: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

評 価 値評 価 値

評価値:評価値:大大

評 価 値評 価 値::解の動きを評価する値解の動きを評価する値

評価値 = Σ(基準値 - 解 )

基 準 値基 準 値:解探索中にこの値を下回ることで評価値が加算:解探索中にこの値を下回ることで評価値が加算

良好な範囲で解が動く良好な範囲で解が動く

重要な温度領域重要な温度領域をを発見できる発見できる

Page 14: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

適 応 的 適 応 的 T P S AT P S A

同 期

解探索 + 評価値計算

• 探索温度範囲の設定

• 次の周期の基準値決定

• 解 交 換

Page 15: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

適 応 的 適 応 的 T P S AT P S A

同 期

解探索 + 評価値計算

評価値

温度

重要な温度領域重要な温度領域

前周期の温度範囲

次周期の温度範囲

Page 16: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

適 応 的 適 応 的 T P S AT P S A

同 期

解探索 + 評価値計算

• 探索温度範囲の設定

• 次の周期の基準値決定

• 解 交 換

Page 17: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

適 応 的 適 応 的 T P S AT P S A

同 期

解探索 + 評価値計算

• 探索温度範囲の設定

• 次の周期の基準値決定

• 解 交 換

重要な温度領域

Page 18: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

実 験 概 要実 験 概 要

初期最高温度

初期最低温度

最大改悪を 50%の確率で受理する温度

総アニーリング数

解交換周期

適応的 TPSA(ATPSA) と TPSA の性能比較実験

試 行 回 数

最小改悪を解交換周期で 1回は受理する温度

解交換周期 × 160

都市数 × 20

20

Page 19: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

実 験 結 果実 験 結 果

TPSATPSA における温度推移における温度推移 (kroA100) (kroA100)

・重要な温度領域で解探索・重要な温度領域で解探索 するプロセスが少ない するプロセスが少ない

・高温部のみで解交換を・高温部のみで解交換を 行い,温度プロセスに 行い,温度プロセスに よって解の品質が大き よって解の品質が大き く異なる く異なる

Page 20: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

実 験 結 果実 験 結 果

ATPSAATPSA における温度推移における温度推移 (kroA100) (kroA100)

・重要な温度領域に・重要な温度領域に 多くのプロセスが集中 多くのプロセスが集中

・解交換が頻繁に行われ,・解交換が頻繁に行われ, 全プロセスが良好な解 全プロセスが良好な解 を持つ を持つ

Page 21: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

実 験 結 果実 験 結 果 解探索能力 解探索能力

適応的 TPSA

最適解発見率 最適解発見率

TPSA

Page 22: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

結 論結 論

• 解の動きを評価する評価値の導入解の動きを評価する評価値の導入• 重要温度領域に各プロセスの温度が集中重要温度領域に各プロセスの温度が集中

自律的に重要な温度領域を探索する自律的に重要な温度領域を探索する適応的適応的 TPSATPSA の提案の提案

従来の従来の TPSATPSA から解探索能力を向上することができたから解探索能力を向上することができた

SASA における温度パラメータの検討における温度パラメータの検討

SASA の並列化の並列化

解探索を効率的に行える重要な温度の存在解探索を効率的に行える重要な温度の存在

温度スケジュールを自動化する温度並列温度スケジュールを自動化する温度並列 SA(TPSA)SA(TPSA)

Page 23: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化
Page 24: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

重 要 温 度 領 域重 要 温 度 領 域Tem

pera

ture

Time

重 要 温 度 領 域重 要 温 度 領 域一定温度で解探索することで一定温度で解探索することで良好な解が得られる温度領域良好な解が得られる温度領域

・対象問題によって大きさが・対象問題によって大きさが 異なる 異なる

・重要温度領域を決定するた・重要温度領域を決定するた めに膨大な予備実験が必要 めに膨大な予備実験が必要

重要温度領域重要温度領域

Page 25: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

重要温度領域の特徴重要温度領域の特徴

高温度高温度高温度高温度

重要温度領域重要温度領域重要温度領域重要温度領域

低温度低温度低温度低温度

一定温度一定温度 SASA

Tem

pera

ture

Time

逐次逐次 SASA

Tem

pera

ture

Time

高温から高温から低温へ低温へ

高温度高温度高温度高温度

重要温度領域重要温度領域重要温度領域重要温度領域

低温度低温度低温度低温度

一定温度で一定温度でアニーリングアニーリング

・良好な範囲で解が動く・良好な範囲で解が動く

・低温と比較して・低温と比較して 解の動きが激しい 解の動きが激しい

重要温度領域の特徴重要温度領域の特徴

Page 26: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

適 応 的 適 応 的 T P S AT P S A

SolutionSolution EvaluationEvaluation

初期解と初期温度を

各プロセスに設定

解探索 + 評価値計算

Page 27: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

適 応 的 適 応 的 T P S AT P S A

MasterMaster Master に各プロセスの評価値と温度を集める

SlaveSlave

TT11TT11

TT22TT22

TT33TT33

TT44

TT44

TT55

TT55

評価値

温度

評価値から次の周期の評価値から次の周期の探索温度範囲を決定する探索温度範囲を決定する

重要温度領域重要温度領域

Page 28: 温度並列シミュレーテッドアニーリング における温度範囲の自律的最適化

適 応 的 適 応 的 T P S AT P S A

MasterMaster

Master 上で各プロセスの温度を決定

SlaveSlave

TT11TT11

TT22TT22

TT33TT33

TT55TT55

評価値

温度

TT44TT44

Slave にそれぞれに割り当てた温度を送信