Upload
trinhdiep
View
221
Download
0
Embed Size (px)
Citation preview
Particle Swarm Optimization を用いた組合せ最適化問題の解法
大阪工業大学
桂敬晃
重弘裕二
増田達也
背景
● 組合せ最適化問題– 応用例
● 携帯電話の周波数帯の割当、LSI の配置設計
● Particle Swarm Optimization (PSO) を組合せ最適化問題に適用
– PSO は連続値最適化問題に有効
– PSO は組合せ最適化問題にあまり適用されていない
– PSO を代表的な組合せ最適化問題である巡回セールスマン問題に適用
Particle Swarm Optimization
● 複数の Particle が協調して解 (実数値ベクトル) を探索
● 連続値最適化問題の解を効率良く探索
-10
-5
0
5
10 -10-5
0 5
10
4
5
6
7
8
PSO はこのような関数の最小となる解 (実数値ベクトル)を求めることができる
Griewangk関数
最小値
PSO の更新式
● 以下の式に基づいて解 (実数値ベクトル) を探索
● 効率良く探索するために、適切なパラメータを選択する必要がある
vik1=w⋅vi
k
c2⋅rand 2⋅gbestk−xik
x ik1=x i
kvik1
c1⋅rand 1⋅ pbest ik−xi
k
次に Particle i が移動する位置
w⋅vik
c1⋅rand 1⋅ pbest ik−xi
k
c2⋅rand 2⋅gbest k−xik
x ik1
速度ベクトル v ik1
解空間
k 回更新を行った後の Particle i の位置 x i
k
巡回セールスマン問題
● 各都市を 1 度づつ訪問する最短の巡回路を求める問題
● 通常、解は都市の順列や枝の集合で表現される
L1,2
C1
C2
C3
C4
L1,3
L1,4
L2,4
L2,3
L3,4
都市
枝
L1,2
C1
C2
C3
C4
L1,3
L2,4
L3,4L1,2
C1
C2
C3
C4
L1,4
L2,3
L3,4
C1
C2
C3
C4
L1,3
L1,4
L2,4
L2,3
巡回路
( C1 , C2 , C3 , C4 )
{ L1,2 , L1,4 , L2,3 , L3,4 }
( C1 , C2 , C4 , C3 )
{ L1,2 , L1,3 , L2,4 , L3,4 }
( C1 , C3 , C2 , C4 )
{ L1,3 , L1,4 , L2,3 , L2,4 }
都市の順列
枝の集合
巡回セールスマン問題に PSO を適用
● 連続値最適化問題の解 (実数値ベクトル) を巡回セールスマン問題の解 (巡回路) に対応づける
⇒対応づけることで PSO による巡回セールスマン 問題の解の探索を可能にする
● 多断片法で生成した解を初期解とする
⇒少ない探索回数でより良い解を求めることがで きる
実数値ベクトルと巡回路の対応づけ
● 実数値ベクトルと枝の順列の対応づけ– ベクトルの要素と枝を対応づけ
– 要素の大小関係による枝の整列
● 枝の順列と巡回路の対応づけ
実数値ベクトル
枝の順列
巡回路
対応づけ
PSO探索
対応づけ
ベクトルの要素と枝の対応づけ
● 実数値ベクトルの要素の数を枝の数と同じにする
● 実数値ベクトルの要素と枝を 1 対 1 で対応させる
実数値ベクトル
( 5.0 2.5 1.2 3.4 4.7 ), , , , , 0.1
都市の数 : 4枝の数 : 6
要素の大小関係による枝の整列
● 実数値ベクトルの要素を値の小さい順に並び替える
● 枝を対応する要素と同じ順番になるように並べる
( 5.0 2.5 1.2 3.4 4.7 )0.1, , , , , 0.1
0.1 1.2 2.5 3.4 4.7 5.0
枝の順列
実数値ベクトルと巡回路の対応づけ
● 実数値ベクトルと枝の順列の対応づけ– ベクトルの要素と枝を対応づけ
– 要素の大小関係による枝の整列
● 枝の順列と巡回路の対応づけ
実数値ベクトル
枝の順列
巡回路
対応づけ
PSO探索
対応づけ
枝の順列と巡回路の対応づけ
● 並べた順に枝を選択して巡回路を生成
0.1 1.2 2.5 3.4 4.7 5.0
部分巡回路ができるため、選ぶことができない
各都市に接続する枝の本数が2 を超えてしまうため、選ぶことができない
巡回路に対応する実数値ベクトルを PSO で探索
枝の順列
巡回セールスマン問題に PSO を適用
● 連続値最適化問題の解 (実数値ベクトル) を巡回セールスマン問題の解 (巡回路) に対応づける
⇒対応づけることで PSO による巡回セールスマン 問題の解の探索を可能にする
● 多断片法で生成した解を初期解とする
⇒少ない探索回数でより良い解を求めることがで きる
多断片法を用いた初期解
● 多断片法で生成した解を、1 つの Particle の初期解とする
– 多断片法 : 枝の長さの短い順に枝を次々と加えていく操作を、巡回路が完成するまで反復する手法
● 枝の長さを対応する実数値ベクトルの要素の初期値とする
⇒枝の長さが短いものから選ばれる
● 多断片法で生成した解の周辺を複数個の Particle が探索することになる
⇒少ない探索回数でより良い解を求めることがで きる
初期解生成の例
● 枝の長さが短いものから選ばれる
1.0
1.8
3.0
1.9
2.82.4
( 1.0 3.0 1.8 2.8 1.9 ), , , , , 2.4
1.0 3.01.8 2.81.9, , , , ,2.4
実数値ベクトルの各要素と枝を要素の値の小さい順に並び替え
実数値ベクトルの要素と枝の対応づけ
巡回路の生成
計算機実験
● ベンチマーク問題の att48, gr137 に適用
– 評価回数を 20,000、評価値を巡回路の総距離 (巡回路長) とする
– 提案手法におけるパラメータを変更した場合の探索性能の変化 (予備実験)
● c = c1 = c2 とし、w = 0.1, 0.2, …, 0.9 と c = 0.1, 0.2, …, 2.0 のそれぞれの組合せで実験
– 局所探索法 (LS)、シミュレーテッド・アニーリング法 (SA) と比較 (本実験)
● 提案手法は最も良い評価値を得られたパラメータを使用● LS と SA の近傍は枝交換近傍 (2-opt 近傍) を使用
att48 に対する予備実験の結果
● 特定のパラメータで解が改善されている
● w, cが両方とも大きい場合に良い解を発見している
0 .20 . 4
0 . 60. 8
1 . 01 . 2
1 .41. 6
1 . 82 .0 0 . 1
0 . 20. 3
0 . 40 .5
0 . 60. 7
0 . 80 .9
3 4 0 0 0. 0
3 4 5 0 0. 0
3 5 0 0 0. 0
3 5 5 0 0. 0
3 6 0 0 0. 0
3 6 5 0 0. 0
3 7 0 0 0. 0
3 7 5 0 0. 0
3 8 0 0 0. 0
cw
34000 34500 35000 35500 36000 36500 37000 37500 38000
c
w
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
w
w
cc
巡回
路長
巡回
路長
w, c が両方とも大きい場合、特に良い解を探索することができている良い解を求めることができる w, c の
組合せには偏りがある
att48 に対しては、w, c を大きくすることで良い解を探索することができる最も良い解を求めたパラメータは w = 0.7, c = 2.0
この部分では良い解を探索することができていない
この部分で良い解を探索することができている
att48 に対する本実験の結果
● 提案手法は他手法よりも少ない評価回数で良い解を探索していた
● 提案手法は探索が終了した時点で他手法よりも良い解を探索していた
0 5,000 10,000 15,000 20,00034,000
35,000
36,000
37,000
38,000
39,000
40,000
41,000
提案手法SALS
評価回数
巡回
路長
gr137 に対する予備実験の結果
● 良い解を得ることができるパラメータが att48 とは異なっていた
0 . 20 .4
0. 60 . 8
1 . 01 .2
1 . 41 .6
1 . 80 .1
0 . 20 .3
0 . 40 . 5
0. 60 . 7
0. 80 .974 0 . 0
75 0 . 0
76 0 . 0
77 0 . 0
78 0 . 0
79 0 . 0
80 0 . 0
81 0 . 0
82 0 . 0
83 0 . 0
84 0 . 0
85 0 . 0
c w
740
760
780
800
820
840
c
w
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
巡回
路長
巡回
路長
w
w
cc
問題によって有効なパラメータが異なる最も良い解を求めたパラメータは w = 0.5, c = 1.9
att48 では良い解を求めることができたこの部分で、良い解を求めることができていない
この部分で良い解を探索することができている
gr137 に対する本実験の結果
● att48 を対象とした場合と同様に、提案手法は他手法よりも少ない評価回数で良い解を探索し、探索が終了した時点で最も良い解を探索していた
0 5,000 10,000 15,000 20,000740
760
780
800
820
840
860
提案手法SALS
評価回数
巡回
路長
まとめ
● 連続値最適化問題の解と巡回セールスマン問題の解を対応づけることにより、PSO で巡回セールスマン問題を解くことを可能にした
● 少ない探索回数でより良い解を発見するため、多断片法で作成した解を 1 つの Particle の初期解とした
● 局所探索法やシミュレーテッド・アニーリング法より少ない探索回数で良い解を探索することができた