分散遺伝的アルゴリズムを用いた巡回セールスマン問題

分散遺伝的アルゴリズムを用いた
巡回セールスマン問題の解法
三木
廣安
○ 水田
吉田
光範(同志社大学工学部)
知之(同志社大学工学部)
伯典 (同志社大学 [学] )
純一 (同志社大学 [院] )
Intelligent Systems Design Laboratory
遺伝的アルゴリズム(Genetic
Algorithm:GA)
生物の進化を模倣した確率的なアルゴリズム
母集団の生成
遺伝的操作(選択,交叉,突然変異)
遺伝的操作を繰り返し
個体を成長させる
最適解を得る
最適解
Intelligent Systems Design Laboratory
処理の並列化
GAの処理は計算負荷が高い
並列化によって計算負荷を分散させ
処理速度を向上させる
並列化のモデル
・ 島モデルの分散GA
・ 近傍モデル
Intelligent Systems Design Laboratory
分散GA(DGA)の操作
母集団を複数の
サブ母集団に分割
各サブ母集団ごとに
遺伝的操作を行う
一定期間ごとに異なる
サブ母集団間で移住を行う
Intelligent Systems Design Laboratory
DGAの性能
DGAは単一母集団GA(SPGA)と比較して
連続最適化問題‥‥高品質の解が得られる
離散的最適化問題‥性能は明らかではない
・ 巡回セールスマン問題(TSP)における
DGAの性能を検証
・ 性能を向上させる新手法の提案
Intelligent Systems Design Laboratory
パラメータ
SPGAとDGAを比較
母集団サイズ
サブ母集団数
交叉法
交叉率
突然変異
突然変異率
移住間隔
移住率
対象問題
400
4, 16
枝交換交叉(EXX)
0.8
2-change法
0.4/L
5世代
0.5
51都市問題(eil51)
Intelligent Systems Design Laboratory
枝交換交叉(EXX)
2 つの親の持つ枝のうち1つを交換する交叉法[前川95]
親
1
枝交換
EXX
子
1
親
子
2
2
Intelligent Systems Design Laboratory
2-Change法
・ 任意の枝を1つ選び枝の終点を変更する
・ 変更した後の枝を元の枝よりも短くする
2-Change
Intelligent Systems Design Laboratory
TSPにおけるDGAの性能
SPGAとDGAを比較
母集団サイズ
サブ母集団数
交叉法
交叉率
突然変異
突然変異率
移住間隔
移住率
対象問題
400
4, 16
枝交換交叉(EXX)
0.8
2-change法
0.4/L
5世代
0.5
51都市問題(eil51)
Intelligent Systems Design Laboratory
SPGAとDGAの比較結果
DGAのほうがSPGAより
収束が速い
DGAでは探索後半に
改善がみられなくなる
10試行の結果では
SPGA, DGAともに
最適解は得られなかった
値は10試行の平均値
Intelligent Systems Design Laboratory
TSPでのDGAの問題点
・ 探索後半に解が改善されない
母集団全体の個体の差がなくなっている
交叉法の枝交換がうまく機能していない
通常の交叉によって最適解を得ることは困難
突然変異を用いて解を改善
Intelligent Systems Design Laboratory
最適解と局所解の比較
最適解: 距離428.8
局所解: 距離429.8
Intelligent Systems Design Laboratory
突然変異の効果
局所解
突然変異1回
突然変異2回
距離が長くなる 距離が短くなる
2ヶ所の突然変異が同時に起こらなければ
巡回路は改善されない
Intelligent Systems Design Laboratory
最適解と局所解の比較
TSPにおいては突然変異によって
局所解からの脱出を行うことができない
10ヶ所以上異なる
枝を突然変異により
作ることはできない
黒: 共通部分 赤: 最適解 青: 局所解
Intelligent Systems Design Laboratory
TSPでのDGAの問題点
・ 探索後半に解が改善されない
・ TSPにおいては突然変異によって
局所解からの脱出を行うことができない
SPGA, DGAでは
良好な結果を得ることは困難
Intelligent Systems Design Laboratory
新手法の提案
・ 探索後半に解が改善されない
一定世代まで移住を行わないDGA
isolated DGA(iDGA)
・ 突然変異で局所解から脱出できない
集中的に交叉のみを行う
集中多段交叉
Centralized Multiple Crossover(CMX)
Intelligent Systems Design Laboratory
iDGAの結果生成されたルート
51都市問題
サブ母集団数:8
800世代における
各サブ母集団の
エリートの様子
赤:最適解(4以上) 青:最適解(2,3個) 黒:局所解(4以上)
緑:最適解(1個)
Intelligent Systems Design Laboratory
iDGAの結果生成されたルート
51都市問題
サブ母集団数:8
800世代における各サブ
母集団のエリートの様子
すべてのエリートから
最適解が構成できる
赤:最適解 黒:局所解(4以上)
枝をうまく組み合わ
せると最適解を
得られる
Intelligent Systems Design Laboratory
提案手法の操作
エリートのみ
集める
母集団サイズまで
交叉により子を生成
サブ母集団
に分割
交叉のみを行う(CMX)
・・
・
移住なしDGA ・
・・ 母集団全体の
(iDGA)
選択を行わないため
エリートの持つ枝を
振り分けることが可能
多様性があがる
Intelligent Systems Design Laboratory
パラメータと対象問題
提案手法とDGAの性能を比較
母集団サイズ
サブ母集団数
交叉法
交叉率
突然変異
突然変異率
移住間隔
移住率
対象問題
800
32
枝交換交叉(EXX)
0.8
2-change法
0.4/L
5世代
0.5
51都市問題(eil51)
Intelligent Systems Design Laboratory
51都市問題への適用
800,900世代目で
CMX適用
提案手法はDGAと
比較して高い性能を
示す
CMXの適用回数が
多いほど性能が良い
最適解を得られた
値は10試行の平均値
Intelligent Systems Design Laboratory
提案手法におけるパラメータの影響
CMXを51都市問題に適用した結果
通常のDGAよりも性能が向上した
CMXでの多段交叉回数の影響
CMXを適用する世代数の影響
Intelligent Systems Design Laboratory
多段交叉回数の影響
1回の交叉では
DGAよりも劣る
10回以上の交叉
でDGAを上回る
多段交叉回数は
10回以上が適当
値は10試行の平均値
Intelligent Systems Design Laboratory
CMXまでの世代数
CMXの適用が早すぎると
性能はDGAよりも劣る
CMXの適用は
500世代以降が適当
CMXの適用が
十分に後ならば
性能が高い
値は10試行の平均値
Intelligent Systems Design Laboratory
CMXを複雑な問題に適用
母集団サイズ
サブ母集団数
交叉法
交叉率
突然変異
突然変異率
移住間隔
移住率
対象問題
800
32
枝交換交叉(EXX)
0.8
2-change法
0.4/L
5世代
0.5
100,150都市問題
Intelligent Systems Design Laboratory
100都市問題への適用
CMXの適用回数が
少ないとDGAより
性能が劣る
CMXの適用回数を
増やすと最適解を
得られた
値は10試行の平均値
Intelligent Systems Design Laboratory
150都市問題への適用
100都市問題と
同様の結果
適用回数を増やす
解の品質が向上する
用いたパラメータでは
最適解を得られなかった
値は10試行の平均値
Intelligent Systems Design Laboratory
CMXの複雑な問題への適用結果
DGAよりも高い性能を示した
課 題
適切なパラメータの設定
・ 適用回数を増やす必要がある
・ 複雑な問題に対しては
個体数, サブ母集団数を増やす
Intelligent Systems Design Laboratory
まとめ
結 論
・ TSPを通常のDGAで解くことは困難
・ 提案手法はDGAよりも良好な性能を示す
・ CMXを複数回行うことでさらに性能が向上
今後の課題
・ 適切なパラメータ設定
・ 他の離散的問題への提案手法の適用
Intelligent Systems Design Laboratory
Intelligent Systems Design Laboratory
その他の交叉法
EXX以外の交叉法
・ Partially Mapped Crossover (PMX) [Goldberg 85]
・ Cycle Crossover (CX) [Oliver 87]
・ Subtour Exchange Crossover (SXX) [山村 92]
・ Edge Assembly Crossover (EAX) [小林 97]
・ EAXの性能は非常に高い
・ 提案手法に取り入れる場合,
用いる交叉法により性能が異なる
Intelligent Systems Design Laboratory
提案手法の操作
母集団サイズまで
子を生成
エリートのみ
集める
交叉
・・
・
親個体も残す
交叉のみ複数回
集中して行う(CMX)
個体数を増やす
エリートの持つ枝の振り分け
Intelligent Systems Design Laboratory
提案手法のパラメータ
1. 最初のCMXを行うまでの世代数
2. CMXを行う回数
3. CMXを行う世代間隔
4. CMXにおける多段交叉回数
Intelligent Systems Design Laboratory
提案手法の操作(1)
エリートのみ
集める
母集団サイズまで
交叉により子を生成
移住なしDGA
・
母集団全体の
(iDGA) ・・
多様性があがる
Intelligent Systems Design Laboratory
提案手法の操作(2)
母集団サイズまで
子を生成
サブ母集団に
分割
iDGA
又は
交叉のみを行う
・・
(CMX)
・
通常の
DGA
選択を行わないため
エリートの持つ枝を
振り分けることが可能
Intelligent Systems Design Laboratory
2-Change法
Intelligent Systems Design Laboratory
枝交換交叉(EXX)
親1 { A B C D E F } ‥‥ { AB BC CD DE EF FA }
親2 { B F D A E C } ‥‥ { BF FD DA AE EC CB }
逆順
枝交換
{ AE ED DC CB EF FA }
{ AE BC CD DE EF FA }
{ BF FD DA AB BC CE }
{ BF FD DA AB EC CB }
枝交換
{ AE ED DC CB BF
FA }
{ EF FD DA AB BC
CE }
‥‥ { A E D C B F } 子1
‥‥ { E F D A B C } 子2
Intelligent Systems Design Laboratory