ジョブの納期の異なるフローショップスケジューリング問題 · 83...
TRANSCRIPT
81
<要約>
本研究で扱うフローショップスケジューリング問題は、ジョブ開始前の段取替時間を含み各ジョブ
の納期が異なる場合を想定する。この問題を解決するためにはジョブのロット分割が有効であるが、
それによって最適スケジュールを求めるための計算回数はジョブの数や分割数の増加に伴い膨大なも
のとなり、厳密解を求めることはできない。本研究では、この問題の近似解法として三つの発見的手
法(焼きなまし法、タブー探索法、遺伝的アルゴリズム)を適用する。それぞれの手法におけるシ
ミュレーションの結果を比較することで、本問題に対する各発見的手法の特徴を明らかにし、よりよ
い問題解決の糸口を探ることを目的とする。
1.はじめに
近年、消費者ニーズの多様化や急速なグローバル化の進展に伴い、製造業においては製品(あるい
は部品)の開発・生産期間の短縮化及び多品種少量化の傾向が強まっている。そのため、需要予測が
大変困難となっており、生産者側はスピードと感度に富んだ生産システムの構築が要求されている。
そのような中でスケジューリングは非常に重要である。作業順序のわずかな違いがその後の作業計画
に大きな影響を及ぼし、総加工完了時間の延長や納期の遅れが発生することで、機会損失や信用損失
の生じる恐れがあるためである。
生産スケジュールで規定の期間に生産の対象となる製品(あるいは部品)と数量が定められている
と、それを実際に生産加工する際に、いつ、どの生産設備で、どのような作業を行うのかという個々
の要素作業実施のための具体的で詳細な時間日程が必要となる。機械加工のように、配備されている
ジョブの納期の異なるフローショップスケジューリング問題
Flow Shop Scheduling Problems under Different Due Date Constraints of the Jobs
岩 瀬 弘 和 *
Hirokazu IWASE
* Hirokazu IWASE 共通領域部(Department of General Studies)
081-102研究紀要17-岩瀬氏.indd 81 10.2.22 9:54:58 AM
82
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 17 号(2010)
個々の機械が独立状態にあり、各機械で要素作業が加工される場合のオペレーション・スケジューリ
ングには各ジョブにおける機械の処理順序の条件の違いによってフローショップスケジューリング[1]
[2]やジョブショップスケジューリング[3][4]などがあり、様々なモデルや解法が提案されている。フ
ローショップスケジューリングは複数の機械で処理されるジョブの順序が全て同一である流れ作業型
のスケジューリングである。フローショップスケジューリング問題では全体の作業完了時間を最短に
することを目的とするのが一般的であるが、そのほとんどにおいて全ジョブの納期は同一であること
を前提としていることが多い。
本研究では、フローショップスケジューリング問題においてジョブ開始前の段取替時間を含み各
ジョブの納期が異なる場合を想定する。これに対してはジョブのロット分割が有効であるとの報告
があり[5]、近似最適解を求めるために発見的手法の一つである遺伝的アルゴリズムが利用されている
が、ここでは他の発見的手法(焼きなまし法[6]とタブー探索[7])も適用する。これら三つの手法にお
けるシミュレーションの結果を比較することで、本問題に対する各発見的手法の特徴を明らかにし、
よりよい問題解決の糸口を探ることを目的とする。
2.スケジューリング問題
2.1 スケジューリング問題の種類
「スケジューリング問題」とは、いくつかの仕事や活動(ジョブ)をある制約条件のもとで実行し
なければならないとき、実行可能なスケジュールあるいは最適なスケジュールを求める問題である。
生産システムにおけるスケジューリングにはオペレーション・スケジューリングがある。これは機械
加工のように、配備されている個々の機械が独立状態にあり、各機械で要素作業が加工される場合で
ある。基本的にオペレーション・スケジューリングは、m台の異なる機械からなる工場でn個の異な
る製品(ジョブ)を加工する問題について、製品製作の仕事を時間軸上に割り付ける。オペレーショ
ン・スケジューリングには、次の3種類がある。
⑴ 単一機械スケジューリング: 機械加工職場、装置工場や計算機センターなどのように、全体
を一つとみなしてよい場合の単一機械(または工程)の日程計画。
⑵ フローショップスケジューリング: ジョブが機械にかかる処理順序が全て同一である機能的
レイアウトでなされる流れ作業型の日程計画。
⑶ ジョブショップスケジューリング: 機械にかかる処理順序がジョブによって異なる機種別レ
イアウトにおける日程計画。
本研究では、この中のフローショップスケジューリングを取り扱う。
2.2 フローショップスケジューリング問題
フローショップスケジューリング問題は、仕事(ジョブ)数n、機械台数mであり、順列計画に帰
するものである。この流れ作業の日程計画では、総加工完了時間(メイクスパン)が評価の重要な尺
度である。以下では、全ての機械においてジョブの処理順序が同じであることを前提とする。
最も簡単な機械台数2台の場合を考える。この厳密解法としてジョンソンの方法[8]がある。アルゴ
081-102研究紀要17-岩瀬氏.indd 82 10.2.22 9:54:58 AM
83
ジョブの納期の異なるフローショップスケジューリング問題
リズムは以下の通りである。
⑴ 順序づけられていないジョブのリストから、作業時間の最小のものを探す。それが二つ以上あ
れば、任意の一つを選ぶ。
⑵ それが第1機械(第2機械)に関与していれば、そのジョブをジョブ順序の始め(終わり)に割
り当て、このジョブをリストから取り除く。
⑶ リストが空でなければ、⑴へ戻る。リストが空になった時点で終了し、得られたジョブ順序が
最適解である。
機械台数が3台以上になると、厳密解法は今のところ存在しない。そのため、実用的な解を求める
目的で発見的手法がよく利用される。その代表的なものとして、焼きなまし法[6]、タブー探索法[7]、
遺伝的アルゴリズム[8]がある。これらは様々な組合せ最適化問題に適用されており、その有効性が報
告されている。本研究でもこの三つの手法をフローショップスケジューリング問題に適用する。
2.3 納期の異なるフローショップスケジューリング問題
通常のフローショップスケジューリング問題では、全てのジョブにおいて納期が同一であるという
前提で問題を最適化するのが一般的である。コストを考慮しない場合、メイクスパンを最小化するこ
とが問題の最適解を求めることと同義になる。一方、ジョブごとに納期が異なる場合、納期厳守を前
提とすれば、全体のメイクスパンが長くなっても各ジョブが納期内に処理されるようスケジュールを
立て、その中でもメイクスパンが最短のものが最適解となる。ジョブをどのような順序で処理しても
納期遅れが発生してしまう場合、各ジョブが複数サイズのロットで構成されていれば、ジョブ内の
ロットサイズを分割することにより全体のメイクスパンを短縮したり、全てのジョブの納期遅れを解
消したりするようにスケジューリングすることが可能となる。ある機械で加工する際、あるジョブか
ら別のジョブに変更するときに段取替時間が必要となる場合は、ジョブのロット分割の数が増えれば
段取替時間の総和も増加し、また、段取替ごとに総コストが掛かる場合はコストも増加するなどのデ
メリットもある。
ジョブのロット分割による効果の例を以下に示す。表1のような生産時間及び納期のデータに対し
てメイクスパンが最小となるスケジュールは図1のようになり、メイクスパンは360となる(図中の黒
塗り部分は段取替時間)。この場合、ジョブJ2に納期遅れが生じる。それに対して、ジョブのロット
を2分割にした場合のスケジュールは図2のようになり(Jik:ジョブJiのロットを2分割したうちのk番
目のジョブ)、メイクスパンが352へ短縮されるだけでなく、全てのジョブが納期内に完了する。以
上のことから、ジョブのロット分割による効果が認められる。一方、分割数を多くすると、ジョブを
配置するスケジュールの組合せが膨大になり、全ての組合せにおけるメイクスパンを算出することが
不可能になる。
081-102研究紀要17-岩瀬氏.indd 83 10.2.22 9:54:58 AM
84
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 17 号(2010)
表1 納期のあるスケジューリング問題における生産時間(ジョブ数4、機械数3の場合)
図1 表1のデータに対するメイクスパン最小化スケジュール
図2 表1のデータに対してジョブのロットを2分割した場合のスケジュール
3.組合せ最適化手法
3.1 個体の表現方法
ここで扱うフローショップスケジューリング問題では、全ての機械Mi(i = 1,…, m; mは機械台数)
において処理するジョブの順序は同一であるとする。そのため、求める解の表現は処理順となるジョ
ブ番号となる。例えば、ジョブ数n =10の場合、その解の一つとして次のものが挙げられる。
081-102研究紀要17-岩瀬氏.indd 84 10.2.22 9:54:59 AM
85
ジョブの納期の異なるフローショップスケジューリング問題
{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
当然であるが、ジョブの個数が多くなるにつれて解空間は大きくなり、n =10では10!≒3.6×107、n =15では15!≒1.3×1013とその数は爆発的に増大する。
そこで本研究では、フローショップスケジューリング問題に対して代表的な三つの発見的手法(焼
きなまし法、タブー探索法、遺伝的アルゴリズム)を適用する。ここでは、スケジューリングの順序
を表す解として共通の表現を用いる。
先述の通り、求める解はn個の仕事(ジョブ)の順列であるが、各仕事はx等分割するから、解の中
には同じジョブ番号のものがx個存在する。例えば、n =5、x =4の場合、解の一つとして次のものが
挙げられる。
{ 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5 }
この場合の解の組合せは(5×4)!/(5!)4≒1.2×1011となる。
3.2 局所近傍への遷移方法
フローショップスケジューリング問題を発見的手法により求める場合、ある解のすぐ近くに存在
する「局所近傍」への遷移方法は非常に重要である。発見的に最適解へと近づけるためには、最適
解のすぐ近くの解は最適解の評価値に近い評価値をもつ必要があるからである。例えば、最適解 {1,
2, 3, 4, 5} の評価値が最適値1であり、最大値をとるとする。別の解 {1, 2, 3, 5, 4} の評価値が0.9、また
別の解 {5, 1, 2, 3, 4} の評価値が0.99、さらに別の解 {4, 5, 1, 2, 3} の評価値が0.98であるとすると、最適
解 {1, 2, 3, 4, 5} の4と5の入れ替え操作1回よりも、最後尾の5を先頭に移動して他を右方向にシフト
する操作のほうが局所近傍への遷移操作として適していることが分かる。フローショップ型やジョブ
ショップ型のスケジューリング問題においては、このシフト操作により局所近傍を求める方法が他の
方法と比べて優れているとの研究報告がある[10][11]。本研究でもこのシフト操作による方法を利用す
る。
具体的なアルゴリズムを以下に示す。まず、1以上n以下の整数乱数r1、r2を求める。ただし、nは
ジョブの数であり、r1≠r2とする。もし、r1 < r2ならば、解P = {p1, p2,…, pr1−1, pr1, pr1+1, …, pr2−1,
pr2, pr2+1, …, pn} に基づき新たな解Pnew= {p1, p2,…, pr1−1, pr2, pr1, pr1+1, …, pr2−1, pr2+1, …, pn } を求める
(図3左)。一方、r1 > r2ならば、解Pに基づき新たな解Pnew= {p1, p2,…, pr2−1, pr2+1, …, pr1−1, pr1, pr2,
pr1+1, …, pn }を求める(図3右)。これにより50%ずつの確率で右方向シフトと左方向シフトの操作に
なる局所近傍解が得られる。
図3 局所近傍の求め方
081-102研究紀要17-岩瀬氏.indd 85 10.2.22 9:54:59 AM
86
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 17 号(2010)
焼きなまし法とタブー探索法は、この局所近傍への遷移を利用して探索を進めるアルゴリズムであ
る。本研究では、解の局所近傍を求める方法は焼きなまし法とタブー探索法で上記の方法による共通
のアルゴリズムを用いる。
3.3 焼きなまし法(SA)
焼きなまし法(Simulated Annealing)(以下、SAと記す)は、汎用的な適応性のある発見的手法
であり、非決定的アルゴリズムのクラスに属する[6]。この手法は、これまでに科学と工学のさまざま
な分野における、数多くの組合せ最適化問題に適用されている。
SAの特徴の一つとして、評価値が改善される解を採択することに加えて、ある制限のもとで評価
値が悪化する解も選択することが挙げられる。初期段階では、よくない解を採択する確率を大きく
し、探索処理が進むに従って、より悪化度の小さい解だけが採択されるようになり、最終的によい解
だけが採択されるアルゴリズムとなっている。これを計算機シミュレーションにて実現するために、
温度を制御しつつ徐々に低下させていくアルゴリズムをとっている。高い温度においては、より柔軟
に近傍が生成され、数多くの山登り遷移が採択される。温度パラメータはアルゴリズムが進むに従っ
て次第に低下する。温度が低下すると数少ない山登り遷移しか採択されなくなる。絶対零度ではSA
は欲張りアルゴリズムに等しくなり、評価値がよくなる遷移だけを採択するようになる。この手法
は、効率的で頑健であること、初期構成によらずよい解が得られやすいこと、プログラミングも比較
的容易であること、などの特長がある。
SAのアルゴリズムを図4に示す。ただし、Tは温度、Mは次のパラメータ更新までの時間、PとFitnessはそれぞれ現在の解とその適応度、T0は温度の初期値、M0はMの初期値、PbestとFitnessbestはそ
れぞれ得られた解の中での最良解とその適応度である。またxxは以下の構造体XXの変数である。
まず、各パラメータや変数を初期化する。解Pの初期値は乱数により発生させる。この解Pのメイ
クスパンを算出し、この解を現時点での最良解Pbestとして扱う。次に、図5に示すメトロポリス法を
LOOP回実行する。SAでは、このメトロポリス法がアルゴリズムの核となる。メトロポリス法の処
理後、パラメータTをα倍、Mをβ倍して更新する。
メトロポリス法のアルゴリズムは以下の操作をM回繰り返す。まず、現在の解Pに基づいて局所近
構造体XX
int machine; // 機械番号(整数値)
int order; // 加工順序(整数値)
double time1; // 段取替時間(実数値)
double time2; // 加工時間(実数値)
double time3; // 段取替時間+加工時間(実数値)
double limit; // 納期時間(実数値)
int bunkatu; // ジョブの等分割数(整数値)
081-102研究紀要17-岩瀬氏.indd 86 10.2.22 9:54:59 AM
87
ジョブの納期の異なるフローショップスケジューリング問題
似解P'を求める。この中に含まれる解の個数をPOP個とする。次にP'の全てのメイクスパンを算出
し、その中で最も優れた解をP'bestとする。⊿Makespan =(P'best のメイクスパン)−(Pのメイクスパ
ン)を算出する。もし⊿Makespan < 0ならば、P'best の値をP に設定し、さらに最良解が得られてい
れば、P'best の値をPbest に設定する。もし⊿Makespan ≧ 0ならば、RANDOMを0以上1以下の実数乱数
としてr = RANDOM −exp(⊿Makespan/T)を求め、さらにr < 0 ならばP'best の値をPに設定する。
以上がメトロポリスのアルゴリズムである。
図4 SAのアルゴリズム
081-102研究紀要17-岩瀬氏.indd 87 10.2.22 9:55:00 AM
88
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 17 号(2010)
図5 SAにおけるメトロポリス法
3.4 タブー探索法(TS)
タブー探索法(Tabu Search)(以下、TSと記す)は、組合せ最適化問題を解くための汎用的な
繰り返し発見的手法として、フレッド・グローバー[8]によって提案された。
TSは局所的探索手法を一般化したものである。各ステップにおいて、現在の解の局所的近傍を探
索し、その近傍内の最良解を選択して、新しい解とする。新しい解が従来の解と比べて改善されなく
ても、近傍における最良解から次の解の探索を続ける。処理がループすることを避けるために、最近
チェックした解に関する情報を「タブーリスト」に書き込み、タブー解への遷移を禁止する。解に関
するタブー状況は「願望水準」が満たされたときに書き換える。願望水準の一例は、選択した解の評
081-102研究紀要17-岩瀬氏.indd 88 10.2.22 9:55:00 AM
89
ジョブの納期の異なるフローショップスケジューリング問題
価値がそれまでに選択した最良解よりもよくなっていることである。このことは、ループによって解
が事実上、元に戻るのではなく、今までにチェックしていない新しい解に遷移することを示す。
図6 TSのアルゴリズム
TSのアルゴリズムを図6に示す。ただし、tsはタブーリストの変数、PとFitnessはそれぞれ現在の解
とその適応度、PbestとFitnessbestはそれぞれ得られた解の中での最良解とその適応度である。またxxは
構造体XXの変数である。この構造体は、SAで利用するものと同一である。まず、各パラメータや変
数を初期化する。解Pの初期値は乱数により発生させる。この解Pのメイクスパンを算出し、この解
を現時点での最良解Pbestとして扱う。
次に、以下の操作をLOOP回繰り返す。まず、現在の解Pに基づいて局所近似解P' を求めると同時
にタブーリストを更新する。この中に含まれる解の個数をPOP個とする。次にP'の全てのメイクス
081-102研究紀要17-岩瀬氏.indd 89 10.2.22 9:55:01 AM
90
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 17 号(2010)
パンを算出し、その中で最も優れた解をP'bestとする。もし、P'bestがタブーリストに含まれていれば、P'bestの値をP に設定し、タブーリストを更新する。もし、P'bestがタブーリストに含まれていなけれ
ば、P'bestが最良解かどうかを調べ(願望水準)、最良解ならばP'bestの値をP に設定し、タブーリスト
を更新する。
以上の操作をLOOP回繰り返し、最終的な最良解Pbestを(近似)最適解として扱う。
3.5 遺伝的アルゴリズム(GA)
遺伝的アルゴリズム(Genetic Algorithms)(以下、GAと記す)は、ダーウィンの理論にヒント
を得た、適用分野を限定しない探索アルゴリズムである。自然の進化過程を模倣しており、最適解を
目指して効率的かつ系統的に解空間を探索する。有利な特徴を持つ個体は、より長く生き延びること
が可能で、子孫にもその特徴を伝えることを仮定した自然淘汰の理論に基づいている。
GAは記号列としてコード化した個体(解)の集団(集合)を操作する。記号列は解空間の点を表
し、現世代のいくつかの個体を交叉させたり突然変異を起こさせたりすることで次世代の新しい子孫
(解)の集合を生成する。このとき、個体集合の中でもよりよい(適応度の高い)個体が生き残るよ
うに操作される。
遺伝的アルゴリズムは対象となる問題によって様々な交叉方法や突然変異方法が提案されている
が、本研究では簡単なアルゴリズムである「1点交叉」と「2点入れ替え突然変異」を利用する。
GAのアルゴリズムを図7に示す。ただし、PとFitnessはそれぞれ現在の解とその適応度、PbestとFitnessbestはそれぞれ得られた解の中での最良解とその適応度である。またxxは構造体XXの変数であ
る。この構造体は、SAで利用するものと同一である。まず、各パラメータや変数を初期化する。解
Pの初期値は乱数により発生させる。この解Pのメイクスパンを算出し、解Pを現時点での最良解Pbest
として扱う。次に、以下の操作をLOOP回繰り返す。
始めに交叉率c(0 < c ≦ 1)に基づき1点交叉を行う。例えば、交叉させる二つの親個体P1, P2がP1={1, 5, 4, 2, 3}、P2={4, 1, 5, 3, 2}であるとき、乱数により発生させた交叉位置r = 3とすると、その位
置より後の遺伝子を一方の遺伝子と置き換え、二つの子個体C1={1, 5, 4, 3, 2}、C2={4, 1, 5, 2, 3}を新た
に作ることができる。しかし、この操作において交叉位置より前に含まれる遺伝子と後に含まれる遺
伝子の構成要素がそれぞれ異なる場合は、致死遺伝子(解に成り得ない遺伝子)が発生する。それを
防ぐために、交叉前の親個体を「順序表現」の形へ変換する。これはGrefenstetteら[12]が巡回セール
スマン問題をGAで解く際に提案した手法である。この方法では、次に処理するジョブが残りのジョ
ブのリストの中で何番目に相当するかの番号を遺伝子とするものである。例えば、P1={1, 5, 4, 2, 3}、P2={4, 1, 3, 5, 2}の場合、それぞれの順序表現はP'1={1, 4, 3, 1, 1}、P'2={4, 1, 2, 2, 1}となり、交叉位置r =
3の1点交叉後に発生する子個体はC'1={1, 4, 3, 2, 1}、C'2={4, 1, 2, 1, 1}となる。これを元の表現に戻す
と、C1={1, 5, 4, 3, 2}、C2={4, 1, 3, 2, 5}となり、致死遺伝子の発生を防ぐことができる。しかし、分割
数xが2以上のときは同じ番号のジョブが複数存在するため、1点交叉の前に「遺伝子変換」操作を行
う必要がある。例えば、分割数x=2において、親個体P1={1, 1, 2, 2, 3, 3, 4, 4}をP''1={1, 2, 3, 4, 5, 6, 7, 8}
と変換し、その後、得られた子個体がC''1={1, 3, 5, 7, 2, 4, 6, 8}であれば、C1={1, 2, 3, 4, 1, 2, 3, 4}のよう
に逆変換して元に戻す。
081-102研究紀要17-岩瀬氏.indd 90 10.2.22 9:55:01 AM
91
ジョブの納期の異なるフローショップスケジューリング問題
図7 GAのアルゴリズム
交叉後は突然変異率m(0 < m ≦ 1)に基づき、2点入れ替えの突然変異を実行する。これは各個
体内の二つの異なる遺伝子の位置を入れ替えるものである。例えば、C1={1, 5, 4, 3, 2}の場合、乱数に
より発生させた二つの入れ替え位置を2と4とすると、突然変異後の個体はC1={1, 3, 4, 5, 2}となる。
上記の操作により発生させた新たな個体群(親個体のうち交叉、突然変異のいずれも行われなかっ
た個体はそのままの遺伝子で残る)に対して、全ての個体のメイクスパンを算出する。これまでの最
良解よりもすぐれた解が発生していれば、その解を最良解Pbestとして扱う。
発生させた新たな個体群のうち、次世代に残す個体を選択する方法として「ルーレット戦略」を用
いる。これは、適応度に比例した確率で子孫を残すモデルである。
以上の操作をLOOP回繰り返し、最終的な最良解Pbestを(近似)最適解として扱う。
081-102研究紀要17-岩瀬氏.indd 91 10.2.22 9:55:01 AM
92
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 17 号(2010)
4.数値実験
本研究では、金指らの研究結果[5]と比較するため、彼らの論文で使われている段取替時間・加工時
間・納期のデータを利用する。それらを表2と表3に示す。
本章では、これらのデータに対してSA、TS、GAの三つの手法を用いて納期遅れ時間を解消また
は最小化しメイクスパンを最小化するフローショップスケジューリング問題を解き、各手法の特徴と
相違について考察する。
三つの手法における共通の評価値として適応度Fitnessを利用する。これは次式で定義する。Fitness =κ/(MS+γTD)…………………………………………………………………(1)
ここでMSはメイクスパン、TDは納期遅れ時間である。また、γは納期遅れに対するペナルティ、κ
はスケーリング係数である。
金指らの研究と同様、表2の原問題1および表3の原問題2に対してジョブの分割数がそれぞれ「分
割なし」、「2等分」、「4等分」の3実験ずつ実施した。
(実験1) 原問題1を分割なしで解く
(実験2) 原問題1の各ジョブを2等分して解く
(実験3) 原問題1の各ジョブを4等分して解く
(実験4) 原問題2を分割なしで解く
(実験5) 原問題2の各ジョブを2等分して解く
(実験6) 原問題2の各ジョブを4等分して解く
表2 原問題1の生産情報
081-102研究紀要17-岩瀬氏.indd 92 10.2.22 9:55:02 AM
93
ジョブの納期の異なるフローショップスケジューリング問題
表3 原問題2の生産情報
4.1 SAの適用結果
実験1から実験6の全ての実験におけるSAの局所近傍集団の個体数POPは10、パラメータ更新まで
の時間Mは10に固定し、繰り返し数LOOPは、「分割なし」の場合LOOP = 200(探索世代数=LOOP
×POP=2000)、「2等分」の場合LOOP = 1000(探索世代数10000)、「4等分」の場合LOOP =
2000(探索世代数20000)とした。各実験に対して、それぞれ100回のシミュレーションを行った。
まず、解の収束状況を知るために、各探索世代数に対する適応度を算出した。これを図8に示す
(横軸は探索世代数、縦軸は適応度)。ただし、適応度の値は最適解においてFitness=1となるよう
に基準化しており、また図8のグラフは100回のシミュレーションの平均値である。
081-102研究紀要17-岩瀬氏.indd 93 10.2.22 9:55:02 AM
94
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 17 号(2010)
図8 各実験に対してSAを適用した場合の探索世代数と適応度の関係(最適値を1に変換))
実験1と実験4においては、適応度が0.4付近から始めのうちは緩やかに増加するが、その後急激に
増加し、探索世代数600付近でほぼ収束しており、適応度が0.98と非常に高い値となっている。実験
2においては、適応度が0.2付近から出発し、急激な増加のあと緩やかな増加に変わり、探索世代数
1000以降でほぼ収束している。実験3については実験2とほぼ同様の結果となっている。実験5におい
ては、始めの緩やかな増加のあと急激に値が増加し、探索世代数1000以降でほぼ収束している。しか
し、実験1から実験4までと異なり、平均適応度は余り高い値をとらず、0.87程度に留まっている。実
験6については、始めの緩やかな増加から急激な増加に変化する傾向は他の実験結果と同様であり、
081-102研究紀要17-岩瀬氏.indd 94 10.2.22 9:55:03 AM
95
ジョブの納期の異なるフローショップスケジューリング問題
また、探索世代数2000以降でほぼ収束しているが、平均適応度は0.4程度と非常に低い値で収束して
いる。
この結果により、ある世代数までは適応度が上昇し続け、それを超えるとほぼ一定値に収束するこ
とが確認できる。特に実験5と実験6からは世代数を大きくとっても、ある一定値からはそれ以上は上
昇することなく、局所解に陥っている可能性が見て取れる。
各実験の100回のシミュレーションにおいて得られたメイクスパン(MS)の最適値(最短のものが
最適解)と納期遅れ時間(TD)の最適値(最小のものが最適解)及びそのときの最適適応度(式(1)
にて算出)、さらには、100回のシミュレーション中に最適解が得られた回数及びその世代数の平均
値を表4に示す。
原問題1の実験1に関しては、ジョブのロット分割を行っていないため、最適解においても納期遅
れ時間が生じていることが分かる。実験1から実験3は同じ生産情報(加工時間・段取替時間)を利用
しているが、ロット分割の数を2や4に増やすことによって、納期遅れ時間が無くなるとともにメイク
スパンも408から376さらには368へと短くなっていることが分かる。原問題2に関しても、ロット分
割によってメイクスパンが408から397さらには394へと短くなっている。以上のことから、ロット分
割による効果が認められる。
表4 SAによる100回のシミュレーションの結果
4.2 TSの適用結果
実験1から実験6の全ての実験におけるTSの局所近傍集団の個体数POPは10、繰り返し数LOOP
は、「分割なし」の場合は探索世代数LOOP = 2000、「2等分」の場合LOOP = 10000、「4等分」
の場合LOOP = 20000とした。これは、SAの探索世代数と一致させるためである。各実験に対し
て、それぞれ100回のシミュレーションを行った。
081-102研究紀要17-岩瀬氏.indd 95 10.2.22 9:55:03 AM
96
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 17 号(2010)
図9 各実験に対してTSを適用した場合の探索世代数と適応度の関係(最適値を1に変換))
まず、解の収束状況を知るために、各探索世代数に対する適応度を算出した。これを図9に示す。
適応度の値は最適解においてFitness=1となるように基準化している。また、図9のグラフは100回の
シミュレーションの平均値である。また、各実験の100回のシミュレーションにおいて得られたメイ
クスパン(MS)の最適値と納期遅れ時間(TD)の最適値、及びそのときの最適適応度、さらには、
100回のシミュレーション中に最適解が得られた回数及びその世代数の平均値を表5に示す。表内の括
弧の数字は、SAにより得られた最適解よりも劣る解であることを意味している。
実験1と実験4においては、始めから急激に増加し、探索世代数800付近でほぼ収束しており、適応
081-102研究紀要17-岩瀬氏.indd 96 10.2.22 9:55:03 AM
97
ジョブの納期の異なるフローショップスケジューリング問題
度が0.9996とほぼ最適値となっている。また、表4と表5における実験1と実験4の結果から、SAより
もTSのほうが最適解を得られる確率が明らかに高いことが分かる。実験2においても、始めから急激
に増加し、探索世代数2000ではすでに高い値をとっているが、それ以降もわずかな上昇を続け探索世
代数5500以降で適応度が0.99以上と非常に高い値で収束している。表4と表5における実験2の結果よ
り、最適解の得られた回数についてはTSよりもSAのほうが多く優れているが、適応度の収束値に関
しては、SAは0.990、TSは0.993とわずかであるがTSのほうが優れている。実験3についても同じよう
な増加傾向であるが、適応度の収束値が明らかに異なる。SAとTSを比較すると、適応度の収束値に
関してはSAが0.984、TSは0.957であり、また得られた最適解に関しても表4と表5より明らかにSAの
ほうがTSよりも優れている。実験5については、他の実験と異なり適応度の増加が緩やかであり、探
索世代数LOOP=10000では収束していない。SAとTSを比較すると、最適解の得られた回数について
はTSよりもSAのほうが多く優れているが、適応度の収束値に関してはSAが0.865、TSが0.924であり
TSのほうが優れている。実験6については、始めの緩やかな増加のあと適応度が非常に低い値に収束
している。SAとTSを比較すると、適応度の収束値に関してはSAが0.391、TSは0.227であり、また得
られた最適解に関しても表4と5より明らかにSAのほうがTSよりも優れている。
以上の結果より、実験1、4のように探索空間の範囲が狭い問題の場合は、適応度の収束値、最適解
の得られる確率ともにSAよりもTSのほうが優れている。また、実験2、5のような探索空間の範囲が
比較的狭い問題の場合には、適応度の収束値に関してはTSのほうがSAよりも優れているものの、最
適解が得られる確率はSAのほうがTSよりも高くなる傾向がある。一方、実験3、6のような探索空間
の範囲が比較的広い問題の場合には、SAのほうがTSよりも優良な解が得られやすくなる。
表5 TSによる100回のシミュレーションの結果
4.3 GAの適用結果
実験1から実験6の全ての実験におけるGAの繰り返し数LOOPは、「分割なし」の場合は探索世代
数LOOP = 2000、「2等分」の場合LOOP = 10000、「4等分」の場合LOOP = 20000とした。これ
は、SAやTSの探索世代数と一致させるためである。また、1世代あたりの個体数POPについては、
探索領域の広さに応じて実験ごとに変化させた。各実験に対して、それぞれ100回のシミュレーショ
ンを行った
081-102研究紀要17-岩瀬氏.indd 97 10.2.22 9:55:04 AM
98
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 17 号(2010)
図10 各実験に対してGAを適用した場合の探索世代数と適応度の関係(最適値を1に変換))
まず、解の収束状況を知るために、各探索世代数に対する適応度を算出した。これを図10に示す。
適応度の値は最適解においてFitness=1となるように基準化している。また、図10のグラフは100回の
シミュレーションの平均値である。また、各実験における個体数POP、探索世代数LOOP、100回の
シミュレーションにおいて得られたメイクスパン(MS)の最適値と納期遅れ時間(TD)の最適値、
及びそのときの最適適応度、さらには、100回のシミュレーション中に最適解が得られた回数及びそ
の世代数の平均値を表6に示す。表内の括弧の数字は、SAにより得られた最適解よりも劣る解である
ことを意味している。
081-102研究紀要17-岩瀬氏.indd 98 10.2.22 9:55:04 AM
99
ジョブの納期の異なるフローショップスケジューリング問題
実験1と実験4においては、個体数POP=10, 20, 30, 40, 50の5通りのシミュレーションを行った。い
ずれも100回のシミュレーションにおいて最適解(最適適応度=19.69)は得られたものの、個体数
POP=10では最適解が得られにくい(10~20%の確率である)ことが表6から分かる。この個体数は
SAとTSのシミュレーションにおける発生個体数と同じである。つまり、同数の個体数と探索世代
数での結果からは、GAはSAやTSよりも劣ることが明らかである。そこで探索世代数はLOOP=2000
に固定し、個体数を増やした場合のシミュレーション結果をみると、POP=50において探索世代
数LOOP=1000付近で0.999とほぼ最適解に収束しており、表6よりLOOP=2000までにほぼ完全に最
適解が得られることが確認できる。実験2については、個体数POP=20, 30, 40, 50, 100の5通りのシ
ミュレーションを行った。SAやTSの2倍の個体数POP=20では最適解は得られず、LOOP=10000
における最終的な適応度も0.884に留まっている(SAは0.990、TSは0.993)。また、最適解につい
ても100回のシミュレーションの中では得られていない。個体数POP=100に設定して漸く適応度が
0.990、最適解の得られた回数は6回に達する(SAは25回、TSは10回)。実験3については、個体数
POP=100, 200の2通りのシミュレーションを行った。SAやTSの10倍の個体数POP=100では最適解は
得られず、LOOP=20000の最終的な適応度も0.284と非常に低い値に留まっている(SAは0.984、TS
は0.957)。また、最適解についても100回のシミュレーションの中では得られていない。個体数が20
倍のPOP=200でも最適解は得られず、最終的な適応度も0.837であり、最適解も100回のシミュレー
ションの中では得られていない。実験5については、個体数POP=20, 30, 40, 50, 100の5通りのシミュ
レーションを行った。POP=20では最適解は得られず、LOOP=10000の最終的な適応度も0.229と非
常に低い値に留まっている(SAは0.865、TSは0.924)。また、最適解についても100回のシミュレー
ションの中では得られていない。個体数POP=100に設定して漸く適応度が0.674まで上昇し、最適解
の得られた回数は18回に達する(SAは57回、TSは12回)。実験6については、個体数POP=100, 200
の2通りのシミュレーションを行った。SAやTSの10倍の個体数POP=100では最適解は得られず、
LOOP=20000の最終的な適応度も0.054と非常に低い値に留まっている(SAは0.391、TSは0.227)。
また、最適解についても100回のシミュレーションの中では得られていない。個体数が20倍の
POP=200でも最適解は得られず、最終的な適応度も0.069であり、最適解も100回のシミュレーション
の中では得られていない。
本問題に対して、GAを適用する場合には、個体数POPを多く取るだけでなく、探索世代数LOOP
も相当に大きな値に設定することが必要である。以上の結果から、少なくとも本問題に対しては、
GAよりもSAやTSを用いるほうが適切であること推察される。
081-102研究紀要17-岩瀬氏.indd 99 10.2.22 9:55:04 AM
100
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 17 号(2010)
表6 GAによる100回のシミュレーションの結果
5. おわりに
本研究では、フローショップスケジューリング問題の中でもジョブ開始前の段取替時間を含みジョ
ブごとに納期の異なる問題に対してジョブのロット分割を考慮し、三つの発見的手法(焼きなまし
法(SA)、タブー探索法(TS)、遺伝的アルゴリズム(GA))を適用し解析を行った。いずれの
手法においてもロット分割を行うことで納期遅れを解消したスケジュールの構築が可能となった。ま
た、今回行った6つの実験から、探索空間の大きさが小規模の問題の場合にはTSのほうがSAよりも
優れていることが確認された。また、探索空間の大きさが中規模の問題の場合には、適応度の収束値
081-102研究紀要17-岩瀬氏.indd 100 10.2.22 9:55:05 AM
101
ジョブの納期の異なるフローショップスケジューリング問題
に関してはTSのほうがSAよりも優れているものの、最適解が得られる確率はSAのほうがTSよりも
高くなる傾向が認められた。一方、探索空間の大きさが比較的大規模の問題の場合には、SAのほう
がTSよりも優良な解が得られやすい傾向が確認された。すなわち、平均的によい解を求める場合に
はTSも優れているが、最適解を求めることに重点を置く場合には、複数回のシミュレーションの実
行を条件としてSAが有力であるといえる。
本研究で扱った問題に対しては、GAはSAやTSと比べてやや劣る結果となったが、GA特有の交叉
や突然変異、選択・淘汰の操作を工夫することで計算回数を大幅に削減できる可能性も十分にあり、
今後の研究課題である。さらに、SAやTS、GAのそれぞれの特徴を踏まえてSA+TSやSA+GAなど
のハイブリッド探索法の適用も検討課題である。
参考文献
[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]S. Nahar, S. Sahni, and E. Shragowitz: “Simulated annealing and combinatorial optimization”,
International Journal of Computer-Aided VLSI Design, Vol.1, No.1, pp.1?23, 1989.
[7]F. Glover: “Tabu search ? Part I”, ORSA Journal on Computing, Vol.1, No.3, pp.190-206, 1989.
[8]S.M. Johnson: “Optimal two- and three-stage production schedules with setup times included”,
Naval Research Logistics Quarterly, Vol.1, No.1, pp.61-68, 1954.
[9]J. H. Holland: “Adaptation in natural and artificial systems: An introductory analysis with
applications to biology, control, and artificial intelligence”, The University of Michigan Press,
1975.
[10]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.
[11]村田忠彦,石渕久生,田中英夫: “遺伝的アルゴリズムによるフローショップ・スケジューリン
081-102研究紀要17-岩瀬氏.indd 101 10.2.22 9:55:05 AM
102
東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 17 号(2010)
グと多目的最適化問題への応用”,計測自動制御学会論文集,Vol.31,No.5,pp.583-590,1995.
[12]J. Grefenstette, R. Gopal, B. Rosmatia, and V. Gucht: “Genetic algorithms for the traveling
salesman problem”, Proceedings of the 1st International Conference on Genetic Algorithms
and Their Applications, John J. Grefenstette (Editor), 1985.
081-102研究紀要17-岩瀬氏.indd 102 10.2.22 9:55:05 AM