Upload
desma
View
96
Download
0
Embed Size (px)
DESCRIPTION
ジョブショップスケジューリング問題に対する 遺伝的アルゴリズムの交叉の検討. A Discussion on Crossover of Genetic Algorithm for Job-shop Scheduling Problem. 同志社大学大学院工学研究科知識工学専攻 博士前期課程 2003年度 724番. 森 隆史. はじめに. スケジューリング問題. 交通機関の時刻表の決定 病院の看護士勤務順の決定 工場での生産スケジュールの決定. 最適なスケジュールの生成 は非常に重要. スケジューリング問題の1つ. ジョブショップスケジューリング問題 - PowerPoint PPT Presentation
Citation preview
ジョブショップスケジューリング問題に対する遺伝的アルゴリズムの交叉の検討
同志社大学大学院工学研究科知識工学専攻博士前期課程 2003 年度 724 番
A Discussion on Crossover of Genetic Algorithmfor Job-shop Scheduling Problem
森 隆史
はじめに
スケジューリング問題
• 交通機関の時刻表の決定• 病院の看護士勤務順の決定• 工場での生産スケジュールの決定
最適なスケジュールの生成は非常に重要
スケジューリング問題の 1 つ
ジョブショップスケジューリング問題( Job-shop Scheduling Problem : JSP )
ジョブショップスケジューリング問題( JSP )
一定数の仕事を一定数の機械で処理する時の最適なスケジュールを求める
• 各仕事が機械を使う順序(技術的順序)
• 各仕事が各作業を各機械上で処理する時間
<問題による制約>
全体の処理にかかる時間( makespan )の最小化
JSP の最適化
JSP には技術的順序などの制約条件があるJSP の最適化は非常に困難
JSP に特化した手法でなければ,簡単に制約を外れてしまう
高性能で汎用性の高い最適化手法遺伝的アルゴリズム( Genetic Algorithm : GA )
による最適化
• 個体の表現方法• 遺伝的オペレータ
< GA で考慮する点>
遺伝的アルゴリズム( GA )
• 生物の進化を模倣した最適化手法• 多点探索• 選択,交叉,突然変異を繰り返し適用し 個体を進化させ,最適化を行う
交叉 : 個体情報の交換手段
適切な交叉の設定が重要
GA は多点探索であり,個体(解)間の情報交換を行うことで最適化を行う
JSP の最適化の際に適切な交叉手法について検討
<研究目的>
交叉
一般的な交叉手法を用いると制約条件を満たせない可能性が高い
制約を満たすことができる交叉手法• Inter-machine Job-based Crossover
( Inter-machine JOX ) [ 小野 ,1998]
JSP に有効である交叉手法
• Deterministic Multi-step Crossover Fusion( dMSXF ) [Ikeda,2002]
JSP に有効な MSXF を元に提案された手法温度パラメータの設定が必要ない
Deterministic Multi-step Crossover Fusion
Step 2親 1 の周りに子個体を生成生成される個体は全て親 2 に近づく
Step 3生成された個体の中でもっとも良い個体を選択
Deterministic Multi-step Crossover Fusion
Step 2親 1 の周りに子個体を生成生成される個体は全て親 2 に近づく
Step 3生成された個体の中でもっとも良い個体を選択
Deterministic Multi-step Crossover Fusion
Step 4もっとも良い個体に関して同じ操作を繰り返す
Step 5生成された個体の中で最も良い個体を選択
• 親個体の周りに個体を生成する方法(近傍)• 他方の親へ近づいているかの判定方法(距離)
個体間の距離
dMSXF における個体生成一方の親個体から他方の親個体に近づくよう個体を生成する
個体間の距離を図る必要がある
<距離の測定方法>• 各機械上である仕事の 次の仕事が違う場合 距離を 1 増加させる
• 各機械上である順番で 処理される仕事が異なるとき 距離を 1 増加させる
Inter-machine JOX と dMSXF の比較
<比較手法>
交叉に以下の 2 つを適用した GA のモデル ・ Inter-machine JOX ・ dMSXF
<対象問題>
abz9 ( 20 仕事 15 機械問題)ft20 ( 20 仕事 5 機械問題)
• Inter-machine JOX と dMSXF の解探索性能の違い• 解探索性能が異なるとき,その原因
以下の 2 点について検討を行う
実験パラメータ
パラメータ 値個体数 600
エリート個体数 5
交叉率 1.0
突然変異率 0.1
選択手法 トーナメント選択(トーナメントサイズ: 2 )
最大評価計算回数 8.0e+6
試行回数 100
解探索性能の違い
Inter-machine JOX の方が良好な解探索性能を示した
Inter-machine JOX と dMSXF の探索方法の違いが原因
• 探索途中での個体の多様性
• 1回の交叉による個体の変化量
<検討事項>
多様性が失われると交叉が意味を成さない
局所的探索か大域的探索か
個体の多様性
dMSXF : 1回の交叉で個体を大量に生成し,最も良い個体を子個体とする
選択圧が非常に高い可能性がある
選択圧が高いと母集団内の個体に多様性が無くなる
個体の多様性が失われると交叉が無意味になってしまう
(同じ親個体から新しい個体は生成されないため)
両交叉手法の多様性の変化について検討する
個体の多様性の変化
<検討手法>
交叉に以下の 2 つを適用した GA のモデル• Inter-machine JOX• dMSXF
<対象問題>
abz9 ( 20 仕事 15 機械問題)ft20 ( 20 仕事 5 機械問題)
個体の多様性の変化について検討を行う
個体の多様性の変化とその影響
dMSXF
• 探索序盤に多様性は急激に低下する• 探索終盤でもある程度多様性が維持される• 多様性が失われる前にある程度良好な解を発見できる
Inter-machine JOX
• 探索序盤は Inter-machine JOX よりも多様性は大きい• 探索終盤は多様性は失われる• 多様性が失われる前にある程度良好な解を発見できない
最終的に発見された解は, Inter-machine JOX の方が良好
良好な解が発見できるまで十分な個体の多様性が必要
両手法ともに個体に多様性がある間は良好な探索
交叉による個体の変化量
dMSXF では親個体間に大量の個体を生成し,局所探索を行う
複数ステップ個体生成を続けるため,最終的な子個体は大きく変化している可能性がある
Inter-machine JOX と dMSXF の間に個体の変化量の違いがある場合
一方は局所的探索,もう一方は大域的探索
探索する空間の広さが大きく異なる
交叉による個体の変化量の検討
<検討手法>
交叉に以下の 2 つを適用した GA のモデル• Inter-machine JOX• dMSXF
<対象問題>
abz9 ( 20 仕事 15 機械問題)ft20 ( 20 仕事 5 機械問題)
交叉による個体の変化量について検討を行う
交叉による個体の変化量とその影響
Inter-machine JOX の方が個体が大きく変化
変化量の差は非常に大きい
Inter-machine JOX は大域的探索dMSXF は局所的探索
解探索性能は Inter-machine JOX の方が良好
局所的探索ではなく大域的な探索が重要
まとめ
• 解探索性能は Inter-machine JOX が dMSXF よりも良好• 個体の多様性が維持されている間は良好な探索が可能• 交叉による個体の変化が小さいと 個体の多様性が失われるまでに良好な解を発見できない
JSP に対して有効な交叉設定の指針
• 十分な個体の多様性の維持• 局所的探索よりも大域的探索
JSP を GA で最適化する際の交叉設定の指針について検討JSP に有効な Inter-machine JOXJSP に対して有効性が検討されていない dMSXF
Multi-step Crossover Fusion
Multi-step Crossover Fusion ( MSXF ) [ 山田 .1997]
Step 1親個体となる 2 個体を選択
Step 2親 1 の周りに複数個の個体を生成する
Step 3生成された個体群を親 2 との距離が小さいものから順に並び替える
Step 4この順序に基づいたランキングルーレット選択により 1 個体を選択
Step 5選択された個体が親個体よりも良好なら受理し,
T
Vexpそうでなければ, の確率で受理する
Step 6選択された個体が受理されれば,その個体に関して処理を繰り返すそうでなければ,親個体に同じ処理を繰り返す
距離の測定方法
<処理する作業が異なる順序>M1 の 1 番目, M1 の 2 番目, M1 の 3 番目, M2 の 1 番目,M1 の 2 番目, M3 の 1 番目, M3 の 2 番目, M3 の 3 番目
・・・ 8 個
距離の測定方法
<処理する作業が異なる順序>M1 の 1 番目, M1 の 2 番目, M1 の 3 番目, M2 の 1 番目,M1 の 2 番目, M3 の 1 番目, M3 の 2 番目, M3 の 3 番目
・・・ 8 個<次に処理する作業が異なる仕事>
距離の測定方法
<処理する作業が異なる順序>M1 の 1 番目, M1 の 2 番目, M1 の 3 番目, M2 の 1 番目,M1 の 2 番目, M3 の 1 番目, M3 の 2 番目, M3 の 3 番目
・・・ 8 個<次に処理する作業が異なる仕事>
M1 の J1
距離の測定方法
<処理する作業が異なる順序>M1 の 1 番目, M1 の 2 番目, M1 の 3 番目, M2 の 1 番目,M1 の 2 番目, M3 の 1 番目, M3 の 2 番目, M3 の 3 番目
・・・ 8 個<次に処理する作業が異なる仕事>
M1 の J1 , M1 の J2 , M2 の J2 , M2 の J3 , M3 の J1 , M3 の J3
・・・ 6 個
距離 = 8 + 6 = 14
Minimal Generation Gap
Minimal Generation Gap ( MGG )[佐藤ら ,1996]
多様性の維持に優れる形質遺伝に優れる
(形質遺伝:親個体の良好な性質を 子個体に受け継ぐこと)
{
Step1 母集団からランダムに 2 個体を選出Step2 同じ親個体から複数の子個体を生成Step3 親個体と子個体の中から
良好な 2 個体を母集団に戻す
分散遺伝的アルゴリズム
分散遺伝的アルゴリズム( DGA )[ Tanese,1989]
単一母集団 GA
DGA
母集団を複数のサブ母集団に分割する各サブ母集団間で移住を行う部分解を組み合わせて探索を行う
Inter-machine JOX と dMSXF の比較
<比較手法>
交叉に以下の 2 つを適用した GA のモデル ・ Inter-machine JOX ・ dMSXF
<対象問題>
abz9 ( 20 仕事 15 機械問題)ft20 ( 20 仕事 5 機械問題)
orb01 ( 10 仕事 10 機械問題)ft10 ( 10 仕事 10 機械問題)
親個体間外へ個体生成
<比較手法>
交叉に以下の 4 つを適用した GA のモデル• Inter-machine JOX• dMSXF• OPdMSXF• EdMSXF
<対象問題>
abz9 ( 20 仕事 15 機械問題)ft20 ( 20 仕事 5 機械問題)
• 親個体間外にのみ子個体を生成する( OPdMSXF )• 0.5 の確率で親個体間に子個体を生成する それ以外の場合は外に子個体を生成する( EdMSXF )
dMSXF を以下のように変更する
親個体間外へ個体生成による影響
個体間外に個体を生成する手法OPdMSXF , EdMSXF
• dMSXF との間に大きな差はない• Inter-machine JOX に劣る
<解探索性能>
個体を個体間外に生成することがInter-machine JOX に劣る原因ではない
個体の多様性の変化
<検討手法>
交叉に以下の 2 つを適用した GA のモデル• Inter-machine JOX• dMSXF
<対象問題>
個体の多様性の変化について検討を行う
abz9 ( 20 仕事 15 機械問題)ft20 ( 20 仕事 5 機械問題)
orb01 ( 10 仕事 10 機械問題)ft10 ( 10 仕事 10 機械問題)
個体の多様性( orb01 )
Inter-machine JOX dMSXF
Inter-machine JOX : 探索序盤で良好な解を発見
dMSXF : 良好な解を発見する前に多様性が無くなる
交叉による個体の変化量の検討
<検討手法>
交叉に以下の 2 つを適用した GA のモデル• Inter-machine JOX• dMSXF
<対象問題>
交叉による個体の変化量について検討を行う
abz9 ( 20 仕事 15 機械問題)ft20 ( 20 仕事 5 機械問題)
orb01 ( 10 仕事 10 機械問題)ft10 ( 10 仕事 10 機械問題)
大きく変化する dMSXF
<比較手法>
交叉に以下の 2 つを適用した GA のモデル ・ Inter-machine JOX ・ dMSXF ・ dMSXF(JOX)
<対象問題>
abz9 ( 20 仕事 15 機械問題)ft20 ( 20 仕事 5 機械問題)
大域的探索ができるように変更した dMSXF近傍の変わりに Inter-machine JOX を適用( dMSXF(JOX) )
orb01 ( 10 仕事 10 機械問題)ft10 ( 10 仕事 10 機械問題)
距離の測定方法による解探索性能の違い
<比較手法>
交叉に以下の 2 つを適用した GA のモデル ・ Inter-machine JOX ・ dMSXF ・ dMSXF(I2)
<対象問題>
abz9 ( 20 仕事 15 機械問題)ft20 ( 20 仕事 5 機械問題)
距離測定に I2 距離を用いる dMSXF ( dMSXF(I2) )
orb01 ( 10 仕事 10 機械問題)ft10 ( 10 仕事 10 機械問題)
ジョブショップスケジューリング問題( JSP )
一定数の仕事を一定数の機械で処理する
• 各仕事が機械を使う順序(技術的順序)• 各仕事が各作業を各機械上で処理する時間
以下のようなことが問題によって決められている
全体の処理にかかる時間( makespan )の最小化
ジョブショップスケジューリング問題( JSP )
一定数の仕事を一定数の機械で処理する
• 各仕事が機械を使う順序(技術的順序)• 各仕事が各作業を各機械上で処理する時間
以下のようなことが問題によって決められている
全体の処理にかかる時間( makespan )の最小化
個体間の距離
dMSXF における個体生成一方の親個体から他方の親個体に近づくよう個体を生成する
個体間の距離を図る必要がある
<距離の測定方法>• 各機械上である仕事の 次の仕事が違う場合 距離を 1 増加させる
• 各機械上である仕事を 処理する順序が異なるとき 距離を 1 増加させる
解探索性能の違い
Inter-machine JOX の方が良好な解探索性能を示した
Inter-machine JOX と dMSXF の探索方法の違いが原因
• 個体間外への個体生成の有無
• 探索途中での個体の多様性
• 1回の交叉による個体の変化量
< 2 つの交叉の違い>
多様性が失われると交叉が意味を成さない
局所的探索か大域的探索か
Inter-machine JOX では個体間外にも個体が生成される
実験結果のまとめ
<用いた交叉手法> • Inter-machine JOX• dMSXF
解探索性能は Inter-machine JOX が dMSXF よりも良好<原因として考えられること>
• 個体間外への個体生成の有無
• 個体の多様性の変化
• 交叉による個体の変化量
個体間外へ個体を生成するように dMSXF を変更し検討したが,解探索性能に変化はなかった
dMSXF は多様性が失われるまでに良好な解を発見できない多様性が大きいときは良好な探索が可能
dMSXF では個体の変化が小さく,局所的探索しかできない
まとめ
• 個体間外への個体生成による解探索性能の改善は見られない• 個体の多様性が維持されている間は良好な探索が可能• 交叉による個体の変化が小さいと 個体の多様性が失われるまでに良好な解を発見できない
JSP に対して有効な交叉設定の指針
• 十分な個体の多様性の維持• 局所的探索よりも大域的探索
JSP を GA で最適化する際の交叉設定の指針について検討JSP に有効な Inter-machine JOXJSP に対して有効性が検討されていない dMSXF
解探索性能は Inter-machine JOX が dMSXF よりも良好
研究目的
JSP を GA で最適化する場合について検討
GA における最適化では適切な遺伝的オペレータの設定が重要
適切な交叉手法を決定するための指針について検討
個体の情報交換を行う交叉は非常に重要
適切な交叉を設定するのは困難
Inter-machine Job-based Crossover
Step 11 つ以上の仕事を選択(ランダム)
Step 2選択した仕事についての遺伝子を継承
Step 3残りの仕事を順序を守るように継承
親 1 から子 1 へ,親 2 から子 2 へ
親 1 から子 2 へ,親 2 から子 1 へ
“Step 1” で選択された仕事は必ず技術的順序が守られる“Step 3” で継承される仕事も各仕事内で順序は変わらない
交叉によって技術的順序が崩されることはない