納期の異なるフローショップ・スケジューリング問題への 遺伝 ... ·...
TRANSCRIPT
147
納期の異なるフローショップ・スケジューリング問題への遺伝的局所探索法の適用
A Genetic Local Search Algorithm for Flow Shop Scheduling Problemsunder Different Completion Date Constraints
岩 瀬 弘 和 *
Hirokazu IWASE
* Hirokazu IWASE 共通領域部(Department of General Studies)
<要約>
本研究で扱うフローショップ・スケジューリング問題は、ジョブの開始前において段取替時間を含
み、かつ、各ジョブの納期が異なる場合を想定する。この問題を解決するためにはジョブのロット分
割が有効である。しかし、最適スケジュールを求めるための計算回数はジョブの数や分割数の増加に
伴い膨大なものとなり、厳密解を求めることはできない。そこで本研究では、この問題に対する近
似解法として遺伝的局所探索法(Genetic Local Search: GLS)を適用する。GLSは遺伝的アルゴリズ
ム(Genetic Algorithms: GA)と局所探索法(Local Search: LS)を組み合わせたアルゴリズムであ
る。GLSと他の発見的探索法(タブー探索法(Tabu Search: TS))との比較を行い、フローショッ
プ・スケジューリング問題に対する解法としてGLSが有効であることを示す。
1.はじめに
スケジューリング問題とは、いくつかの仕事や活動(ジョブ)をある制約条件のもとで実行しなけ
ればならないとき、実行可能なスケジュールあるいは最適なスケジュールを求める問題である。生産
システムにおけるスケジューリングにはオペレーション・スケジューリングがある。これは機械加工
のように、配備されている個々の機械が独立状態にあり、各機械で要素作業が加工される場合であ
る。基本的にオペレーション・スケジューリングは、m台の異なる機械からなる工場でn個の異なる
製品を加工する問題について、製品製作の仕事を時間軸上に割り付ける。
148
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 21 号(2014)
機械加工のように、配備されている個々の機械が独立状態にあり、各機械で要素作業が加工される
場合のオペレーション・スケジューリングには各ジョブにおける機械の処理順序の条件の違いによっ
てフローショップ・スケジューリング[1][2]やジョブショップ・スケジューリング[3][4]などがあり、様々
なモデルや解法が提案されている。フローショップ・スケジューリングは複数の機械で処理される
ジョブの順序が全て同一である流れ作業型のスケジューリングである。フローショップ・スケジュー
リング問題では全体の作業完了時間を最短にすることを目的とするのが一般的であるが、そのほとん
どにおいて全ジョブの納期は同一であることを前提としていることが多い。
本研究では、フローショップ・スケジューリング問題においてジョブ開始前の段取替時間を含
み各ジョブの納期が異なる場合を想定する。これに対してはジョブのロット分割が有効であると
の報告があり[5]、近似最適解を求めるために発見的手法の一つである遺伝的アルゴリズム(Genetic
Algorithms: GA)が利用されている。GAの特徴は、複数の解による確率的多点探索、及び交叉や突
然変異といった操作による新たな解の大域的な生成である。しかし、GAは大域的探索能力が優れて
いる一方で、局所的探索能力が欠如していることも知られている。この弱点を補った新たな探索方
法として、GAと局所探索法(Local Search: LS)を組み合わせた遺伝的局所探索法(Genetic Local
Search: GLS)が開発されており[6][7]、多くの組合せ最適化問題においてその有効性が確認されてい
る。
そこで本研究では、納期の異なるフローショップ・スケジューリングに対してロット分割を行い、
その解法としてGLSを適用する。代表的な発見的探索法の一つであるタブー探索法[8](Tabu Search:
TS)を適用した場合と比較して、本問題に対するGLSの有効性を示す。
2.納期の異なるフローショップ・スケジューリング問題
通常のフローショップ・スケジューリング問題では、全てのジョブにおいて納期が同一であるとい
う前提で問題を最適化するのが一般的である。コストを考慮しない場合、メイクスパン(総加工完了
時間)を最小化することが問題の最適解を求めることと同義になる。一方、ジョブごとに納期が異な
る場合、納期厳守を前提とすれば、全体のメイクスパンが長くなっても各ジョブが納期内に処理され
るようスケジュールを立て、その中でもメイクスパンが最短のものが最適解となる。ジョブをどのよ
うな順序で処理しても納期遅れが発生してしまう場合、各ジョブが複数サイズのロットで構成され
ていれば、ジョブ内のロットサイズを分割することにより全体のメイクスパンを短縮したり、全ての
ジョブの納期遅れを解消したりするようにスケジューリングすることが可能となる。ある機械で加工
する際、あるジョブから別のジョブに変更するときに段取替時間が必要となる場合は、ジョブのロッ
ト分割の数が増えれば段取替時間の総和も増加し、また、段取替ごとに総コストが掛かる場合はコス
トも増加するなどのデメリットもある。
本研究で扱う生産情報データ(加工時間Pij ,段取替時間Sij ,納期Di:1≦i ≦10,1≦j ≦3)を表1
に示す。これは金指らの研究[5]において用いられているデータである。また、ロット分割については
4等分のみを対象とする。
149
納期の異なるフローショップ・スケジューリング問題への遺伝的局所探索法の適用
表1 生産情報データ(加工時間・段取替時間・納期)
ジョブ加工時間Pij 段取替時間Sij 納期DiM1 M2 M3 M1 M2 M3
J1 20 10 30 10 9 10 190J2 10 48 12 6 10 5 210J3 16 4 24 7 5 9 230J4 38 12 20 12 7 9 240J5 36 6 12 7 5 7 260J6 16 50 34 5 17 11 270J7 20 24 20 2 13 7 300J8 10 10 26 4 5 8 320J9 20 38 30 8 8 10 360J10 28 20 30 11 8 16 410
本論文では、解の評価値として適応度Fを利用する。これは次式により定義する。
F =κ/( MS+γTD ) ……………………………………………………………………………… (1)
ただし、MSはメイクスパン、TDは納期遅れ時間である。また、γは納期遅れに対するペナル
ティ、κはスケーリング係数である。本研究ではγ=10と設定した。表1のデータにおけるメイクス
パンの最適値MSBEST =394、納期遅れ時間の最適値TDBEST =0であるが、適応度Fの最適値FBEST=1
とするためにκ=394に設定した。
3.組合せ最適化手法
3.1 局所近傍への遷移
組合せ最適化問題を発見的手法により求める場合、ある解のすぐ近くに存在する「局所近傍」への
遷移方法は非常に重要である。発見的に最適解へと近づけるためには、最適解のすぐ近くの解は最適
解の評価値に近い評価値をもつ必要があるからである。フローショップ型やジョブショップ型のスケ
ジューリング問題においては、このシフト操作により局所近傍を求める方法が他の方法と比べて優れ
ているとの研究報告がある[9][10]。本研究でもこのシフト操作による方法を利用する。
具体的なアルゴリズムを以下に示す。
[手順1]:1 以上 n 以下の整数乱数 r1、r2 を求める。( n:ジョブの数、r1 ≠ r2)
[手順2] :r1 < r2 ならば、解 P = {p1, p2,…, pr1 - 1, pr1, pr1 + 1, …, pr2 - 1, pr2, pr2 + 1, …, p n} に基づき新
たな解Pnew= {p1, p2,…, pr1-1, pr2, pr1, pr1+1, …, pr2-1, pr2+1, …, p n } を求める。(右方向シフト)
r1 > r2 ならば、解 P に基づき新たな解 Pnew= {p1, p2,…, pr2 - 1, pr2 + 1, …, pr1 - 1, pr1, pr2, pr1 + 1, …,
p n } を求める。(左方向シフト)
これにより50%ずつの確率で右方向シフトと左方向シフトの操作になる局所近傍解が得られる。
150
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 21 号(2014)
3.2 タブー探索法(TS)
タブー探索法[8](Tabu Search: TS)は局所的探索手法を一般化したものであり、フレッド・グ
ローバーによって提案された。各ステップにおいて現在の解の局所近傍を探索し、その近傍内の最良
解を選択して新しい解とする。新しい解が従来の解と比べて改善されない場合においても、近傍にお
ける最良解から次の解の探索を続ける。処理がループすることを避けるために最近チェックした解に
関する情報をタブーリストに書き込み、タブー解への遷移を禁止する。解に関するタブー状況は願望
水準が満たされたときに書き換える。願望水準の一例として、「これまでに選択した最良解よりも新
たに選択した解の評価値がよくなっていること」などがある。これは、ループによって解が元に戻る
のではなく、今までにチェックしていない新しい解に遷移することを示している。
TSの具体的なアルゴリズムを以下に示す。
[手順1]:タブーリスト ts を初期化する。繰り返し回数 Loop=0 とする。
[手順2]:個体 P の初期値をランダムに割り当て、その適応度 F を算出する。
[手順3]:個体 P を現時点での最良解 PBetter とし、F を最良適応度 FBetter として設定する。
[手順4]:Loop ← Loop+1 とする。
[手順5]:個体 P の局所近傍である個体群 P’ を求め(P’ の数は Pop 個とする)、ts を更新する。
[手順6]:個体群 P’ のそれぞれの適応度 F’ を算出し、その中で最も優れた解を P’Better とする。
[手順7]�:もし、P’Better がタブーリスト ts にない場合には P’Better の値を P に設定し、ts を更新する。
もし、P’Better がタブーリスト ts にある場合には P’Better が最良解かどうかを調べ(願望水準)、
最良解ならば P’Better の値を P に設定し、ts を更新する。
[手順8]:「Loop =最大繰り返し回数」ならば終了し、そうでなければ手順 4に戻る。
3.3 遺伝的局所探索法(GLS)
遺伝的局所探索法(Genetic Local Search: GLS)は、遺伝的アルゴリズム(Genetic Algorithms:
GA)と局所探索法(Local Search: LS)を組合せた探索手法であり、多くの組合せ最適化問題に適用
されその有効性が報告されている。GAは、自然の進化過程を模倣しており、最適解を目指して効率
的かつ系統的に解空間を探索する。有利な特徴を持つ個体は、より長く生き延びることが可能で、子
孫にもその特徴を伝えることを仮定した自然淘汰の理論に基づいている。LSは与えられた解を簡単
な操作によって改善する手続きを反復する方法であり、対象となる問題に特化した探索方法が使わ
れることが多い。本研究では、局所解を求める個体に対して近傍数であるN個の局所近傍解を発生さ
せ、その中の最良解を局所最適解とする、最も簡易な方法を用いる。
GLSの具体的なアルゴリズムを以下に示す。
[手順1]:繰り返し回数 Loop=0 とする。
[手順2]:個体群 P の初期値をランダムに割り当て、それらの適応度 F を算出する。
[手順3]:個体群 P の中で最も優れた解を PBetter とし、その F を最良適応度 FBetter として設定する。
[手順4]:Loop ← Loop+1 とする。
151
納期の異なるフローショップ・スケジューリング問題への遺伝的局所探索法の適用
[手順5]�:個体群 P に対して交叉率 c に基づき「1 点交叉」を行い、新たに得られた個体群 Pc の適
応度 Fc を算出する。
[手順6]:個体群 Pc に対して、それぞれの局所最適解 PcL を求め、適応度 FcL を算出する。
[手順7]�:個体群 PcL に対して突然変異率 m に基づき「2 点入れ替え突然変異」を行い、新たに得ら
れた個体群 Pm の適応度 Fm を算出する。
[手順8]:個体群 Pm に対して、それぞれの局所最適解 PmL を求め、適応度 FmL を算出する。
[手順9]:個体群 PmL の中に、最良解 PBetter よりも優れた解があれば、それを PBetter とする。
[手順10]�:個体群 PmL に対して「ルーレット戦略による選択・淘汰」を行い、新たに得られた個体群
を P とする。
[手順11]:「Loop =最大繰り返し回数」ならば終了し、そうでなければ手順 4に戻る。
4.数値実験
本研究では、メイクスパンと納期遅れ時間を最小化することを目的とするフローショップ・スケ
ジューリング問題に対して、TS及びGLSの二つの手法を適用した。分析対象としては、表1の段取替
時間・加工時間・納期のデータを用いた。
4.1 TSの適用結果
TSにおけるタブーリストのサイズを5に固定し、繰り返し回数(世代数)Loopの最大値を100000
とした。各世代の個体数Pop=10, 20, 30, ・・・, 100の10条件に対してそれぞれ100回のシミュレー
ションを行った。繰り返し回数の最大値(最大世代数)は100000であるが、10000から100000までの
10000刻みの各世代までにおいて最適解(適応度F=1.0の解)が得られた回数を表2に示す。
シミュレーションの結果、Pop=10の条件においては、最大世代数(Loop=100000)に達しても最
適解は1回も得られなかった。Pop≧20の条件においては、世代数Loopが大きくなるにつれて最適解
の得られる回数も増えている。最大世代数(Loop=100000)において、最適解の得られた回数が最も
多い条件はPop=30であり、ほぼ100%の割合で最適解が得られていることが分かる。
また、Pop=30における探索世代数と適応度の関係を図1に示す。この図から、TSによる繰り返し
探索によって最適解へ収束していく様子が見て取れる。探索世代数が5000までにおいて急速に適応度
が上昇し、その後、最適適応度F=1.0へ緩やかに近づいている。
152
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 21 号(2014)
表2 TSによる100回のシミュレーションのうち最適解の得られた回数
Loop Pop=10
Pop=20
Pop=30
Pop=40
Pop=50
Pop=60
Pop=70
Pop=80
Pop=90
Pop=100
10000 0 5 37 26 21 12 8 7 3 220000 0 10 64 45 31 12 12 8 4 330000 0 15 77 58 39 16 14 10 4 340000 0 23 87 64 45 19 16 11 4 350000 0 34 96 70 46 21 17 11 6 360000 0 37 97 75 49 24 18 11 8 470000 0 39 97 79 52 26 18 14 8 580000 0 44 97 84 59 28 21 14 9 590000 0 47 98 85 60 28 23 16 9 6100000 0 54 99 89 62 31 23 16 9 8
図1 TSを適用した場合の探索世代数(横軸)と適応度(縦軸)の関係(Pop=30)
以上の結果から、TSにおいては、各世代の個体数Popは多いほどよい(最適解が得られやすい)
というわけではなく、適切な個体数(今回の数値実験ではPop=30)の設定が必要であることが明ら
かとなった。ただし、その場合においても95%以上の確率で最適解を得るためには、50000以上とい
う長期の探索世代数が必要となる。
153
納期の異なるフローショップ・スケジューリング問題への遺伝的局所探索法の適用
4.2 GLSの適用結果
GLSにおける繰り返し回数(世代数)Loopの最大値を20000とした。各世代の個体数Pop=10, 20,
30, ・・・, 100の10条件、局所探索における近傍数N=10, 20, 30の3条件、計10×3=30条件に対してそ
れぞれ100回のシミュレーションを行った。各条件における探索世代数と適応度の関係を図2から図4
に示す。
N=10, 20, 30のいずれの近傍数においても個体数Popが増えるにつれて適応度Fの収束値が高くなっ
ていくことが分かる。N=10においては、Pop=10では適応度Fの収束値は0.2程度であるが、Pop=50
では0.7以上、Pop≧60では最適解のF=1.0に近づいている。また、N=20においては、Pop=10では適
応度Fは0.4程度であるが、Pop=20では0.8以上、Pop≧40では最適解のF=1.0に近づいており、Pop
数が増加するにつれて短期間の探索世代数でF=1.0に収束している。さらに、N=30においては、
Pop=10では適応度Fは0.8程度であるものの、Pop≧20では最適解のF=1.0に近づいており、Pop≧30
ではN=20の場合よりもさらに短期間の探索世代数でF=1.0に収束している。
100回のシミュレーションの中で、N=20においてはPop=50, 60, 80の条件で99回、Pop=70, 90の条
件で98回、最適解を得ることができた。また、N=30においてはPop=30, 40, 60, 70, 80, 100の条件で
100回全て、Pop=90の条件で99回、Pop=50の条件で98回、最適解を得ることができた。
N=30における探索世代数と最適解の得られた累積個数との関係を図5に示す。Pop=10では100回
のシミュレーションのうち1回しか最適解が得られなかったが、Pop≧30では、ほぼ全てにおいて探
索世代数の増加に伴い最適解の得られる回数が増加していく様子を見て取れる(縦軸の100に達して
いる箇所は100回のシミュレーション全てにおいて最適解が得られた探索世代数である)。図5では
Pop=30の条件が最も早く100回のシミュレーション全てにおいて最適解を得ていることが分かる。一
方で、グラフの立ち上がり部分(探索世代数の初期段階)の特徴から、Pop数が増加するにつれて早
めに最適解が得られやすくなる傾向も見て取れる。
以上のことから、短期間の探索世代数で(近似)最適解を得るためにはPop数を多く設定する必要
があるが、ある程度の探索世代数を設定(例えば本実験のように最大探索世代数を200000に設定)し
た場合には、より適切なPop数(本例ではPop=30)が存在する可能性も認められる。
154
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 21 号(2014)
図2 GLSを適用した場合の探索世代数(横軸)と適応度(縦軸)の関係(N=10の場合)
155
納期の異なるフローショップ・スケジューリング問題への遺伝的局所探索法の適用
図3 GLSを適用した場合の探索世代数(横軸)と適応度(縦軸)の関係(N=20の場合)
156
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 21 号(2014)
図4 GLSを適用した場合の探索世代数(横軸)と適応度(縦軸)の関係(N=30の場合)
157
納期の異なるフローショップ・スケジューリング問題への遺伝的局所探索法の適用
図5 各探索世代で得られた最適解の累積個数(100回のシミュレーション:N=30の場合)
158
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 21 号(2014)
5.おわりに
本研究では、フローショップ・スケジューリング問題の中でもジョブ開始前の段取替時間を含み
ジョブごとに納期の異なる問題に対してジョブのロット分割を考慮し、遺伝的局所探索法(GLS)及
びタブー探索法(TS)を適用して解析を行った。TSに関しては、適切な個体数(今回の数値実験で
はPop=30)が存在することが明らかとなった。ただし、その場合においても高確率で最適解を得る
ためには、長期間の探索世代数を必要とする。それに対して、GLSに関しては、TSよりも短期間の
探索世代数で非常に高確率で最適解を得られる結果となった。特に、局所探索の近傍数N=30におい
てはPop=30の条件で100%最適解が得られ、本問題におけるGLSの有効性が示された。
本研究においては、解析対象のデータが1種類のみであったため、他のデータにおいても同様の結
果が得られるかを検証していく必要がある。また、GLSのアルゴリズムに関しても、特に局所探索の
部分は非常に簡易な方法を用いたが、工夫によっては個体数Popや近傍数N、最大探索世代数などを
さらに減らして計算時間を削減できる可能性もあるため、今後の検討課題としたい。
参考文献
[1] M.F. Tasgetiren, Y.C. Liang, M. Sevkli, and G. Gencyilmaz: “A particle swarm optimization algorithm for makespan and total flowtime minimization in the permutation flowshop sequencing problem”, European Journal of Operational Research, Vol.177, No.3, pp.1930-1947, 2007.
[2] O. Uysal and S. Bulkan: “Comparison of genetic algorithm and particle swarm optimization for bicriteria permutation flowshop scheduling problem”, International Journal of Computational Intelligence Research, Vol.4, No.2, pp.159-175, 2008.
[3] K.L. Huang and C.J. Liao: “Ant colony optimization combined with taboo search for the job shop scheduling problem”, Computers & Operations Research, Vol.35, pp.1030-1046, 2008.
[4] R.M. Aiex, S. Binato, M.G.C. Resende: “Parallel GRASP with path-relinking for job shop scheduling”, Parallel Computing, Vol.29, pp.393-430, 2003.
[5] 金指正和,三谷崇:“ジョブの分割を考慮したフローショップ・スケジューリング問題の解法”,日本経営工学会論文誌,Vol.53,No.3,pp.491-499,2002.
[6] Antoon Kolen, Erwin Pesch: “Genetic local search in combinatorial optimization”, Discrete Applied Mathematics, Vol.48, Issue 3, pp.273—284, 1994.
[7] Andrzej Jaszkiewicz: “Genetic local search for multi-objective combinatorial optimization”, European Journal of Operational Research, Vol.137, pp.50—71, 2002.
[8] F. Glover: “Tabu search – Part I”, ORSA Journal on Computing, Vol.1, No.3, pp.190-206, 1989.[9] T. Murata and H. Ishibuchi: “Performance evaluation of genetic algorithms for flowshop scheduling
problems”, Proceedings of 1st IEEE International Conference on Evolutionary Computation, pp.812-817, 1994.
[10] 村田忠彦,石渕久生,田中英夫: “遺伝的アルゴリズムによるフローショップ・スケジューリングと多目的最適化問題への応用”,計測自動制御学会論文集,Vol.31,No.5,pp.583-590,1995.