JPH09282359A - ジョブショップスケジューリング装置 - Google Patents
ジョブショップスケジューリング装置Info
- Publication number
- JPH09282359A JPH09282359A JP8086788A JP8678896A JPH09282359A JP H09282359 A JPH09282359 A JP H09282359A JP 8086788 A JP8086788 A JP 8086788A JP 8678896 A JP8678896 A JP 8678896A JP H09282359 A JPH09282359 A JP H09282359A
- Authority
- JP
- Japan
- Prior art keywords
- individual
- population
- schedule
- evaluation value
- individuals
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000011156 evaluation Methods 0.000 claims abstract description 44
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 abstract description 37
- 238000004880 explosion Methods 0.000 abstract description 4
- 239000007787 solid Substances 0.000 abstract 1
- 230000002068 genetic effect Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 11
- 238000007796 conventional method Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- General Factory Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
(57)【要約】
【課題】 複雑な制約を持ち、総作業時間を最小にする
ような大規模なジョブショップスケジューリング問題の
準最適解を遺伝的アルゴリズムを用いて組み合わせ爆発
を起こすことなく高速に求めることができるジョブショ
ップスケジューリング装置を提供する。 【解決手段】 遺伝的アルゴリズム中の個体集団から選
択された2個体(両親)に基づき新しい個体を生成する
交叉手続きにおいて一方の親のクリティカルブロック近
傍から評価値の優れた個体を確率的に選択し、しかもそ
の選択は他方の親と共通な性質を多く持つ個体ほど選ば
れやすくなるようにバイアスをかけることによって、局
所近傍探索と従来の交叉処理の利点をあわせ持つ新たな
交叉である局所探索交叉と呼ぶ交叉手続きをもつ新しい
遺伝的アルゴリズムを用いている。
ような大規模なジョブショップスケジューリング問題の
準最適解を遺伝的アルゴリズムを用いて組み合わせ爆発
を起こすことなく高速に求めることができるジョブショ
ップスケジューリング装置を提供する。 【解決手段】 遺伝的アルゴリズム中の個体集団から選
択された2個体(両親)に基づき新しい個体を生成する
交叉手続きにおいて一方の親のクリティカルブロック近
傍から評価値の優れた個体を確率的に選択し、しかもそ
の選択は他方の親と共通な性質を多く持つ個体ほど選ば
れやすくなるようにバイアスをかけることによって、局
所近傍探索と従来の交叉処理の利点をあわせ持つ新たな
交叉である局所探索交叉と呼ぶ交叉手続きをもつ新しい
遺伝的アルゴリズムを用いている。
Description
【0001】
【発明の属する技術分野】本発明は、工場等のファクト
リオートメーションにおいて作業終了までの時間をなる
べく短くすることにより、全作業の効率化を図ることを
可能にするジョブショップスケジューリング問題を解決
するジョブショップスケジューリング装置に関する。
リオートメーションにおいて作業終了までの時間をなる
べく短くすることにより、全作業の効率化を図ることを
可能にするジョブショップスケジューリング問題を解決
するジョブショップスケジューリング装置に関する。
【0002】
【従来の技術】組み合わせ最適化問題に対する近似的解
法として、遺伝的アルゴリズムと呼ばれる方法が知られ
ている。この遺伝的アルゴリズムについては、例えば文
献1:「遺伝的アルゴリズムの基礎」(伊庭斉志著・オ
ーム社)に詳述されている。また、遺伝的アルゴリズム
の改良版である定常状態モデル(steady state model)
と呼ばれるものが文献2:"Proc.3rd International Co
nference on Genetic Algorithms:The Genitor Algorit
hm and Selection Pressure"(D.Whitely,MorganKaufma
n)に詳述されている。
法として、遺伝的アルゴリズムと呼ばれる方法が知られ
ている。この遺伝的アルゴリズムについては、例えば文
献1:「遺伝的アルゴリズムの基礎」(伊庭斉志著・オ
ーム社)に詳述されている。また、遺伝的アルゴリズム
の改良版である定常状態モデル(steady state model)
と呼ばれるものが文献2:"Proc.3rd International Co
nference on Genetic Algorithms:The Genitor Algorit
hm and Selection Pressure"(D.Whitely,MorganKaufma
n)に詳述されている。
【0003】定常状態モデルに基づく遺伝的アルゴリズ
ムの概要について以下に説明する。
ムの概要について以下に説明する。
【0004】遺伝的アルゴリズムでは、入力値としてL
次元ベクトルV=(V1 ,V2 ,…,VL )の集合Pop
が与えられる。Popの各要素は与えられた問題の解を表
現している。Popのサイズ、すなわち要素の個数をPと
する。各要素を個体、Popを個体集団と呼ぶ。遺伝的ア
ルゴリズムは以下の手続きを1サイクルとする繰り返し
処理である。
次元ベクトルV=(V1 ,V2 ,…,VL )の集合Pop
が与えられる。Popの各要素は与えられた問題の解を表
現している。Popのサイズ、すなわち要素の個数をPと
する。各要素を個体、Popを個体集団と呼ぶ。遺伝的ア
ルゴリズムは以下の手続きを1サイクルとする繰り返し
処理である。
【0005】遺伝的アルゴリズムの手続き: (1)Popの初期値である初期個体集団をランダムに生
成した個体の集合として構成する。
成した個体の集合として構成する。
【0006】(2)Popの各要素の解としての優秀さを
与えられた評価尺度にしたがって評価し、その結果を評
価値とする。
与えられた評価尺度にしたがって評価し、その結果を評
価値とする。
【0007】(3)Pop中より評価値のよい個体ほど選
ばれやすくなるようにバイアスをかけてランダムに2個
体を選択し、この2個体を基に新たな個体を生成する。
この操作を「交叉」と呼ぶ。前記文献1には、ペアにし
た個体どうしのベクトルの一部を互いに交換することに
より新しい個体を得る交叉法(単純交叉法と仮に名付け
る)が詳細に説明されている。本発明で扱うジョブショ
ップスケジューリング問題のように複雑な制約を持つ問
題の場合は単純交叉法は適用できない。
ばれやすくなるようにバイアスをかけてランダムに2個
体を選択し、この2個体を基に新たな個体を生成する。
この操作を「交叉」と呼ぶ。前記文献1には、ペアにし
た個体どうしのベクトルの一部を互いに交換することに
より新しい個体を得る交叉法(単純交叉法と仮に名付け
る)が詳細に説明されている。本発明で扱うジョブショ
ップスケジューリング問題のように複雑な制約を持つ問
題の場合は単純交叉法は適用できない。
【0008】(4)前項(3)において生成された新た
な個体の解としての優秀さを与えられた評価尺度にした
がって評価し、個体集団中の最も評価の低い個体の評価
値とを比較する。もし比較の結果新たな個体の評価値の
方が優れている場合は個体集団中の最も劣った個体と入
れ換える。そうでない場合はなにもしない。
な個体の解としての優秀さを与えられた評価尺度にした
がって評価し、個体集団中の最も評価の低い個体の評価
値とを比較する。もし比較の結果新たな個体の評価値の
方が優れている場合は個体集団中の最も劣った個体と入
れ換える。そうでない場合はなにもしない。
【0009】(5)前項(2)から(4)までを繰り返
すことによって個体集団Popの各要素は与えられた問題
の準最適解に達する。
すことによって個体集団Popの各要素は与えられた問題
の準最適解に達する。
【0010】更に、上記遺伝的アルゴリズムと局所近傍
探索を組み合わせることができる。この場合、上記
(3)項で得られた個体に対して局所近傍探索を行い、
当該個体を局所近傍探索による探索の結果で置き換え
る。
探索を組み合わせることができる。この場合、上記
(3)項で得られた個体に対して局所近傍探索を行い、
当該個体を局所近傍探索による探索の結果で置き換え
る。
【0011】局所近傍探索について説明する。局所近傍
探索の例としては次のようなものが知られている。但
し、解xの評価値をV(x)とし、V(x)を最小化す
る問題を考える。
探索の例としては次のようなものが知られている。但
し、解xの評価値をV(x)とし、V(x)を最小化す
る問題を考える。
【0012】局所近傍探索アルゴリズムの手続き: (1)初期解x0 に対して、x=xbst =x0 とする。
【0013】(2)xの近傍からランダムに解を選び、
yとする。
yとする。
【0014】(3)もしV(y)<V(x)ならば、x
=yとする。そうでない場合には、確率exp(−V
(y)−V(x)/c)でx=yとする。すなわち、0
≦r<1である乱数rを生成し、r<exp(−V
(y)−V(x)/c)ならばx=yとする。但し、c
は正の定数である。
=yとする。そうでない場合には、確率exp(−V
(y)−V(x)/c)でx=yとする。すなわち、0
≦r<1である乱数rを生成し、r<exp(−V
(y)−V(x)/c)ならばx=yとする。但し、c
は正の定数である。
【0015】(4)x<xbst なら、xbst =x。
【0016】(5)前項(2)から(4)までをL1 回
繰り返す。但し、L1 は正の定数である。
繰り返す。但し、L1 は正の定数である。
【0017】(6)xbst を出力する。
【0018】次に、ジョブショップスケジューリング問
題について説明する。
題について説明する。
【0019】ジョブショップスケジューリング問題と
は、N個の仕事をM台の機械で加工する問題である。
は、N個の仕事をM台の機械で加工する問題である。
【0020】この時、 1.各仕事を分担して加工する機械の割当の順番(技術
的順序) 2.各仕事の各機械上での加工時間 の2つが予め与えられている。また、 1.機械は故障しない 2.各機械は同時に2つ以上の仕事を処理できない 3.作業の中断はない などの条件を設ける。
的順序) 2.各仕事の各機械上での加工時間 の2つが予め与えられている。また、 1.機械は故障しない 2.各機械は同時に2つ以上の仕事を処理できない 3.作業の中断はない などの条件を設ける。
【0021】これらの条件のもとで、全仕事を加工し終
わるまでの総所要時間を最小にする解、すなわち各機械
毎の仕事の処理順序を求める。これがジョブショップス
ケジューリング問題の最適解を求めることである。な
お、ジョブショップスケジューリング問題はスケジュー
ルと呼ばれる。
わるまでの総所要時間を最小にする解、すなわち各機械
毎の仕事の処理順序を求める。これがジョブショップス
ケジューリング問題の最適解を求めることである。な
お、ジョブショップスケジューリング問題はスケジュー
ルと呼ばれる。
【0022】総作業時間について説明する。各機械毎の
仕事の処理順序が与えられた時、対応するスケジュール
の評価値である総作業時間rは次のように計算される。
まず、r=0と初期化する。
仕事の処理順序が与えられた時、対応するスケジュール
の評価値である総作業時間rは次のように計算される。
まず、r=0と初期化する。
【0023】総作業時間の計算手続き: (1)未処理の作業のうち、技術的順序の先行する直前
の作業Ot 、および同一機械上で直前に処理される作業
Om がともに処理済みである作業を1つ選び、Oe とす
る。Ot ,Om の処理終了時刻の最大値をOe の処理開
始時刻となるようにOe を処理する。この時、Oe の処
理終了時刻をE(Oe )とし、r=max(r,E(O
e ))とする。
の作業Ot 、および同一機械上で直前に処理される作業
Om がともに処理済みである作業を1つ選び、Oe とす
る。Ot ,Om の処理終了時刻の最大値をOe の処理開
始時刻となるようにOe を処理する。この時、Oe の処
理終了時刻をE(Oe )とし、r=max(r,E(O
e ))とする。
【0024】(2)前項(1)の処理を未処理の作業が
存在する限り繰り返す。
存在する限り繰り返す。
【0025】上記手続き終了後、全ての作業が処理され
ていれば、スケジュールは実行可能であり、rが求まっ
た評価値、つまり総作業時間である。そうでない場合
は、スケジュールは実行可能ではない。
ていれば、スケジュールは実行可能であり、rが求まっ
た評価値、つまり総作業時間である。そうでない場合
は、スケジュールは実行可能ではない。
【0026】次に、スケジュールにおける最長経路につ
いて説明する。最長経路とは、スケジュール中最もボト
ルネックとなる作業の集合である。最長経路は次のよう
な簡単なラベル付けアルゴリズムを用いて計算される。
いて説明する。最長経路とは、スケジュール中最もボト
ルネックとなる作業の集合である。最長経路は次のよう
な簡単なラベル付けアルゴリズムを用いて計算される。
【0027】最長経路計算手順の手続き: (1)その作業の処理終了時間が総作業時間に一致する
ものを最長経路上にあるとしてラベルを付ける。
ものを最長経路上にあるとしてラベルを付ける。
【0028】(2)ラベル付けされた作業の、同一機械
上の直前の作業、もしくは技術的順序上直前の作業の処
理終了時刻がこのラベル付けされた作業の処理開始時刻
と等しい場合、該当する作業にラベルを付ける。
上の直前の作業、もしくは技術的順序上直前の作業の処
理終了時刻がこのラベル付けされた作業の処理開始時刻
と等しい場合、該当する作業にラベルを付ける。
【0029】(3)前項(2)を直前の作業が存在しな
くなるまで繰り返す。
くなるまで繰り返す。
【0030】次に、与えられた解、すなわちスケジュー
ルSの近傍N(S)について説明する。最長経路上、同
一機械上で処理される作業の部分列はクリティカルブロ
ックと呼ばれる。全てのクリティカルブロックについ
て、クリティカルブロック上のある作業を当該クリティ
カルブロックの先頭、あるいは最後に移動させることに
よって新たに得られるスケジュール全体からなる集合を
Sのクリティカルブロック近傍と呼び、N(S)で表
す。
ルSの近傍N(S)について説明する。最長経路上、同
一機械上で処理される作業の部分列はクリティカルブロ
ックと呼ばれる。全てのクリティカルブロックについ
て、クリティカルブロック上のある作業を当該クリティ
カルブロックの先頭、あるいは最後に移動させることに
よって新たに得られるスケジュール全体からなる集合を
Sのクリティカルブロック近傍と呼び、N(S)で表
す。
【0031】次に、GTアルゴリズム、すなわち本発明
の後述するスケジュールの初期値生成に用いられる Gif
fler and Thompson のアクティブスケジュール生成アル
ゴリズムであるGTアルゴリズムについて説明する。な
お、作業Oの最早開始時刻σ(O)および最早完了時刻
φ(O)とは、技術的順序の制約を満たしながら、その
作業を最優先で処理したと仮定した場合の開始時刻、完
了時刻のこととする。
の後述するスケジュールの初期値生成に用いられる Gif
fler and Thompson のアクティブスケジュール生成アル
ゴリズムであるGTアルゴリズムについて説明する。な
お、作業Oの最早開始時刻σ(O)および最早完了時刻
φ(O)とは、技術的順序の制約を満たしながら、その
作業を最優先で処理したと仮定した場合の開始時刻、完
了時刻のこととする。
【0032】GTアルゴリズムの手続き: (1)O*を未処理の作業のうちで最早完了時刻が最小
の作業とする。
の作業とする。
【0033】(2)Cをコンフリクト集合とする。ここ
で、Cは、O*およびO*と同一機械(Mi )上の作業
の中で、その処理がO*と重複する作業の集合である。
すなわち:C={OonMi |σ(O)≦φ(O*)} (3)C中より任意に作業を1つ選び、その最早開始、
完了時刻に従ってその作業を処理する。
で、Cは、O*およびO*と同一機械(Mi )上の作業
の中で、その処理がO*と重複する作業の集合である。
すなわち:C={OonMi |σ(O)≦φ(O*)} (3)C中より任意に作業を1つ選び、その最早開始、
完了時刻に従ってその作業を処理する。
【0034】以上の処理を全ての作業の処理が完了する
まで繰り返すことによってアクティブスケジュールが1
つ生成される。
まで繰り返すことによってアクティブスケジュールが1
つ生成される。
【0035】次に、スケジュール間の距離について説明
する。2スケジュールS,T間の距離は、各機械上の各
作業の作業順序の違いとして定義される。今、各機械M
k (1≦k≦m)上の任意の2作業Oi ,Oj に対し、
Oi ,Oj 間の向きがSとTで等しいとは、S上でOi
の処理がOj に先行すればT上でもOi の処理がOjに
先行し、逆にS上でOj の処理がOi に先行すればT上
でもOj の処理がOiに先行することをいう。そうでな
い場合、Oi ,Oj 間の向きがSとTで等しくないとい
う。
する。2スケジュールS,T間の距離は、各機械上の各
作業の作業順序の違いとして定義される。今、各機械M
k (1≦k≦m)上の任意の2作業Oi ,Oj に対し、
Oi ,Oj 間の向きがSとTで等しいとは、S上でOi
の処理がOj に先行すればT上でもOi の処理がOjに
先行し、逆にS上でOj の処理がOi に先行すればT上
でもOj の処理がOiに先行することをいう。そうでな
い場合、Oi ,Oj 間の向きがSとTで等しくないとい
う。
【0036】2スケジュールS,T間の距離d(S,
T)は、全ての機械上の全ての作業のペア中で、向きの
等しいものを全て数え上げることによって計算できる。
T)は、全ての機械上の全ての作業のペア中で、向きの
等しいものを全て数え上げることによって計算できる。
【0037】距離計算アルゴリズムの手続き: (1)d=0とする。
【0038】(2)全ての機械Mk (1≦k≦m)と、
Mk 上の全ての作業のペアOi ,Oj (1≦i≦j≦
n)に対してOi ,Oj の向きがSとTで等しければ、
d=d+1とする。
Mk 上の全ての作業のペアOi ,Oj (1≦i≦j≦
n)に対してOi ,Oj の向きがSとTで等しければ、
d=d+1とする。
【0039】(3)dを出力する。
【0040】このように得られたdに対し、d=(S,
T)である。
T)である。
【0041】
【発明が解決しようとする課題】ジョブショップスケジ
ューリング装置の従来の方法では、分枝限定法などによ
る解法を用いる装置が研究されているが、大規模な問題
に対しては組み合わせ爆発を起こすため、最適解もしく
は最適解に近い良質な解、つまり準最適解を有効な時間
内に求めることができないという問題点がある。この点
を解消するためには大規模な問題に対しても比較的組み
合わせ爆発を起こしにくい遺伝的アルゴリズムを用いる
ことが考えられる。
ューリング装置の従来の方法では、分枝限定法などによ
る解法を用いる装置が研究されているが、大規模な問題
に対しては組み合わせ爆発を起こすため、最適解もしく
は最適解に近い良質な解、つまり準最適解を有効な時間
内に求めることができないという問題点がある。この点
を解消するためには大規模な問題に対しても比較的組み
合わせ爆発を起こしにくい遺伝的アルゴリズムを用いる
ことが考えられる。
【0042】上述したように、遺伝的アルゴリズムで
は、主に交叉手続きによって親となる2つの個体から、
両者の性質を互いに受け継ぐような新しい個体を生成
し、この解をその優秀さに応じて個体集団に組み込むと
いうことを繰り返すことによって探索を進めている。と
ころが、解くべき問題が複雑な場合、例えばジョブショ
ップスケジューリング問題のような組み合わせ最適化問
題を解く場合、その問題に適した交叉手続きを定義する
のは非常に困難である。一方近年、遺伝的アルゴリズム
を単独で用いるのではなく、遺伝的アルゴリズムに局所
近傍探索を組み入れた解法がより優れていることが明ら
かになってきた。後者の場合、交叉によって得られた個
体を直接次の世代に用いるのではなく、その前にこの個
体を初期値とした局所近傍探索を行う。この場合、互い
に独立な複数の局所近傍探索によって得られた個体同士
を交叉手続きにより互いに優れた部分を交換し合い、情
報交換することによって、更に優れた解を生成する。
は、主に交叉手続きによって親となる2つの個体から、
両者の性質を互いに受け継ぐような新しい個体を生成
し、この解をその優秀さに応じて個体集団に組み込むと
いうことを繰り返すことによって探索を進めている。と
ころが、解くべき問題が複雑な場合、例えばジョブショ
ップスケジューリング問題のような組み合わせ最適化問
題を解く場合、その問題に適した交叉手続きを定義する
のは非常に困難である。一方近年、遺伝的アルゴリズム
を単独で用いるのではなく、遺伝的アルゴリズムに局所
近傍探索を組み入れた解法がより優れていることが明ら
かになってきた。後者の場合、交叉によって得られた個
体を直接次の世代に用いるのではなく、その前にこの個
体を初期値とした局所近傍探索を行う。この場合、互い
に独立な複数の局所近傍探索によって得られた個体同士
を交叉手続きにより互いに優れた部分を交換し合い、情
報交換することによって、更に優れた解を生成する。
【0043】従って、遺伝的アルゴリズムを用いて大規
模なジョブショップスケジューリングを行うためには、
問題が複雑になっても適用可能で、しかも局所近傍探索
の機能が組み込まれた新たな交叉手続きの考案が必要で
ある。
模なジョブショップスケジューリングを行うためには、
問題が複雑になっても適用可能で、しかも局所近傍探索
の機能が組み込まれた新たな交叉手続きの考案が必要で
ある。
【0044】本発明は、上記に鑑みてなされたもので、
その目的とするところは、複雑な制約を持ち、総作業時
間を最小にするような大規模なジョブショップスケジュ
ーリング問題の準最適解を遺伝的アルゴリズムを用いて
組み合わせ爆発を起こすことなく高速に求めることがで
きるジョブショップスケジューリング装置を提供するこ
とにある。
その目的とするところは、複雑な制約を持ち、総作業時
間を最小にするような大規模なジョブショップスケジュ
ーリング問題の準最適解を遺伝的アルゴリズムを用いて
組み合わせ爆発を起こすことなく高速に求めることがで
きるジョブショップスケジューリング装置を提供するこ
とにある。
【0045】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の本発明は、複数の機械上で、定めら
れた順序で、定められた時間をかけて処理される複数の
仕事が与えられた時、全仕事の作業時間の総和が最小に
近くなるように作業の処理順序を決定するジョブショッ
プスケジューリング装置において、各機械毎に、各機械
上で処理される仕事の処理順序を表す順列である仕事名
のリストによって解を表現し、有限個のランダムな解の
集合である初期個体集団を生成する初期個体集団生成部
と、初期個体集団あるいは処理途中の個体集団より評価
値の良い個体ほど選ばれやすくなるようにバイアスをか
けてランダムに2個体を選択する2個体選択部と、一方
のスケジュールに対してスケジュール上の作業の部分列
である最長経路を計算し、最長経路を同一機械で連続し
て処理される作業の集まりであるクリティカルブロック
毎に分割し、各クリティカルブロック上の各作業を当該
クリティカルブロックの先頭あるいは最後に移動させる
ことによって新たに得られるスケジュール全体からなる
集合であるクリティカルブロック近傍を計算し、クリテ
ィカルブロック近傍の各要素を他方の個体までの距離の
短さでソートし、距離が短い個体の順位が高くなるよう
に要素間に順位を付け、順位の高い要素が選ばれやすく
なるようにバイアスをかけてランダムに要素を1つ選択
し、その要素に対応するスケジュールを生成し、評価値
を計算し、もしその評価値が元のスケジュールの評価値
より良い場合は無条件にそのスケジュールを選択し、そ
うでない場合は評価値のよさに応じて確率的にそのスケ
ジュールを選択し、そのスケジュールが選択された場合
は元のスケジュールをそのスケジュールで置き換え、ク
リティカルブロック近傍を新たに計算し、再び他方の個
体までの距離の短さでソートし、選択されなかった場合
は対応する近傍の要素の順位を下げ、再び順位の高い要
素が選ばれやすくなるようにバイアスをかけてランダム
に要素を1つ選択するという操作を所定回数だけ繰り返
し、この過程で得られた最も評価値の高い個体を最終的
に出力する局所探索交叉計算部と、上記局所探索交叉計
算部で生成された解が初期個体集団あるいは処理途中の
個体集団中最低の評価値をもつ解よりも優れている場合
は、後者を前者で置き換えることによって個体集団を更
新する個体集団更新部と、予め定めた繰り返し回数に達
するか、上記初期個体集団あるいは処理途中の個体集団
中の全個体全て同一の個体になったという終了条件を定
め、その終了条件が満足されない場合は、上記最長経路
計算部から個体集団更新部までの各処理部の処理を繰り
返す制御部とを有することを要旨とする。
め、請求項1記載の本発明は、複数の機械上で、定めら
れた順序で、定められた時間をかけて処理される複数の
仕事が与えられた時、全仕事の作業時間の総和が最小に
近くなるように作業の処理順序を決定するジョブショッ
プスケジューリング装置において、各機械毎に、各機械
上で処理される仕事の処理順序を表す順列である仕事名
のリストによって解を表現し、有限個のランダムな解の
集合である初期個体集団を生成する初期個体集団生成部
と、初期個体集団あるいは処理途中の個体集団より評価
値の良い個体ほど選ばれやすくなるようにバイアスをか
けてランダムに2個体を選択する2個体選択部と、一方
のスケジュールに対してスケジュール上の作業の部分列
である最長経路を計算し、最長経路を同一機械で連続し
て処理される作業の集まりであるクリティカルブロック
毎に分割し、各クリティカルブロック上の各作業を当該
クリティカルブロックの先頭あるいは最後に移動させる
ことによって新たに得られるスケジュール全体からなる
集合であるクリティカルブロック近傍を計算し、クリテ
ィカルブロック近傍の各要素を他方の個体までの距離の
短さでソートし、距離が短い個体の順位が高くなるよう
に要素間に順位を付け、順位の高い要素が選ばれやすく
なるようにバイアスをかけてランダムに要素を1つ選択
し、その要素に対応するスケジュールを生成し、評価値
を計算し、もしその評価値が元のスケジュールの評価値
より良い場合は無条件にそのスケジュールを選択し、そ
うでない場合は評価値のよさに応じて確率的にそのスケ
ジュールを選択し、そのスケジュールが選択された場合
は元のスケジュールをそのスケジュールで置き換え、ク
リティカルブロック近傍を新たに計算し、再び他方の個
体までの距離の短さでソートし、選択されなかった場合
は対応する近傍の要素の順位を下げ、再び順位の高い要
素が選ばれやすくなるようにバイアスをかけてランダム
に要素を1つ選択するという操作を所定回数だけ繰り返
し、この過程で得られた最も評価値の高い個体を最終的
に出力する局所探索交叉計算部と、上記局所探索交叉計
算部で生成された解が初期個体集団あるいは処理途中の
個体集団中最低の評価値をもつ解よりも優れている場合
は、後者を前者で置き換えることによって個体集団を更
新する個体集団更新部と、予め定めた繰り返し回数に達
するか、上記初期個体集団あるいは処理途中の個体集団
中の全個体全て同一の個体になったという終了条件を定
め、その終了条件が満足されない場合は、上記最長経路
計算部から個体集団更新部までの各処理部の処理を繰り
返す制御部とを有することを要旨とする。
【0046】すなわち、請求項1記載の本発明は、遺伝
的アルゴリズムを用いてジョブショップスケジューリン
グを実行するジョブショップスケジューリング装置であ
って、遺伝的アルゴリズム中の、個体集団から選択され
た2個体(両親)に基づき新しい個体を生成する交叉手
続きにおいて、一方の親のクリティカルブロック近傍か
ら評価値の優れた個体を確率的に選択し、しかもその選
択は他方の親と共通な性質を多く持つ個体ほど選ばれや
すくなるようにバイアスをかけることによって、局所近
傍探索と従来の交叉処理の利点をあわせ持つ新たな交叉
である局所探索交叉と呼ぶ交叉手続きをもつ新しい遺伝
的アルゴリズムを用いている。
的アルゴリズムを用いてジョブショップスケジューリン
グを実行するジョブショップスケジューリング装置であ
って、遺伝的アルゴリズム中の、個体集団から選択され
た2個体(両親)に基づき新しい個体を生成する交叉手
続きにおいて、一方の親のクリティカルブロック近傍か
ら評価値の優れた個体を確率的に選択し、しかもその選
択は他方の親と共通な性質を多く持つ個体ほど選ばれや
すくなるようにバイアスをかけることによって、局所近
傍探索と従来の交叉処理の利点をあわせ持つ新たな交叉
である局所探索交叉と呼ぶ交叉手続きをもつ新しい遺伝
的アルゴリズムを用いている。
【0047】請求項1記載の本発明にあっては、解であ
るスケジュールは個体と呼ばれ、各個体は各機械上の仕
事列を表す2次元の配列を用いて表現される。装置内の
処理の手順としては、まず個体の集合である個体集団の
各個体のスケジュールの初期値がGT法と呼ばれるGT
アルゴリズムの手続きによって生成される。
るスケジュールは個体と呼ばれ、各個体は各機械上の仕
事列を表す2次元の配列を用いて表現される。装置内の
処理の手順としては、まず個体の集合である個体集団の
各個体のスケジュールの初期値がGT法と呼ばれるGT
アルゴリズムの手続きによって生成される。
【0048】
【発明の実施の形態】本発明の実施の形態について説明
する。
する。
【0049】初期個体集団中の各個体kを初期解とし
て、前記局所近傍探索アルゴリズムが実行される。得ら
れた結果でkを置き換える。
て、前記局所近傍探索アルゴリズムが実行される。得ら
れた結果でkを置き換える。
【0050】次に、初期個体集団、あるいは処理途中の
個体集団に対して、その中から総作業時間が短い個体ほ
ど高い確率で選ばれるようにバイアスをかけた確率にし
たがってランダムに2個体が選択され、この2個体をp
1 ,p2 とする。p1 ,p2に対して次に示す局所探索
交叉手続きが実行される。
個体集団に対して、その中から総作業時間が短い個体ほ
ど高い確率で選ばれるようにバイアスをかけた確率にし
たがってランダムに2個体が選択され、この2個体をp
1 ,p2 とする。p1 ,p2に対して次に示す局所探索
交叉手続きが実行される。
【0051】局所探索交叉手続き: (1)x=xbst =p1 とする。
【0052】(2)xの近傍N(x)の各要素yi に対
してyi とp2 との距離d(yi ,p2 )を計算する。
してyi とp2 との距離d(yi ,p2 )を計算する。
【0053】(3)各yi に対し、d(yi ,p2 )の
小さい要素が高い順位を持つようにyi をソートする。
小さい要素が高い順位を持つようにyi をソートする。
【0054】(4)yi が受理されるまで以下の処理を
繰り返し適用する。
繰り返し適用する。
【0055】(a)N(x)からyi をランダムに1つ
選ぶ。但し、その際、yi の順位が高いものを優先する
ようにバイアスをかける。
選ぶ。但し、その際、yi の順位が高いものを優先する
ようにバイアスをかける。
【0056】(b)もしV(yi )≦V(x)なら、確
率1でyi を受理する。そうでない場合は、受理確率P
(yi )=e-((V(yi)-V(x))/c) でyi を受理する。但
し、cは正の定数である。
率1でyi を受理する。そうでない場合は、受理確率P
(yi )=e-((V(yi)-V(x))/c) でyi を受理する。但
し、cは正の定数である。
【0057】(c)yi の順位を一番下まで下げる。
【0058】(5)x=yi とする。
【0059】(6)もしV(x)<V(xbst )ならx
bst =xとする。
bst =xとする。
【0060】(7)前項(2)から(6)までをL1 回
繰り返す。但し、L1 は正の定数である。
繰り返す。但し、L1 は正の定数である。
【0061】(8)xbst を出力する。
【0062】上述した局所探索交叉では、p1 を初期値
として、p2 との距離がなるべく小さくなる方向、すな
わちp2 と共通の性質をなるべく多く持つようになる方
向を優先的に局所近傍探索を進めていく。その結果、局
所探索交叉は前記局所近傍アルゴリズムと従来の交叉手
続きを融合させた手続きになっている。
として、p2 との距離がなるべく小さくなる方向、すな
わちp2 と共通の性質をなるべく多く持つようになる方
向を優先的に局所近傍探索を進めていく。その結果、局
所探索交叉は前記局所近傍アルゴリズムと従来の交叉手
続きを融合させた手続きになっている。
【0063】図3は、局所探索交叉手続きを示すフロー
チャートである。図3において、p1 ,p2 を入力し、
i=1とする(ステップS101)。それから、x=x
bst=p1 とする(ステップS102)。次に、xの近
傍N(x)の各要素yi に対してyi とp2 との距離d
(yi ,p2 )を計算する(ステップS103)。それ
から、各yi に対し、d(yi ,p2 )の小さい要素が
高い順位を持つようにyi をソートする(ステップS1
04)。
チャートである。図3において、p1 ,p2 を入力し、
i=1とする(ステップS101)。それから、x=x
bst=p1 とする(ステップS102)。次に、xの近
傍N(x)の各要素yi に対してyi とp2 との距離d
(yi ,p2 )を計算する(ステップS103)。それ
から、各yi に対し、d(yi ,p2 )の小さい要素が
高い順位を持つようにyi をソートする(ステップS1
04)。
【0064】そして、yi が受理されるまで以下の処理
を繰り返し適用する。N(x)からyi をランダムに1
つ選ぶ(ステップS105)。但し、その際、yi の順
位が高いものを優先するようにバイアスをかける。もし
V(yi )≦V(x)なら、確率1でyi を受理する
(ステップS106,S108)。そうでない場合は、
受理確率P(yi )=e-((V(yi)-V(x))/c) でyi を受
理する。但し、cは正の定数である。yi の順位を一番
下まで下げる(ステップS107,S110)。
を繰り返し適用する。N(x)からyi をランダムに1
つ選ぶ(ステップS105)。但し、その際、yi の順
位が高いものを優先するようにバイアスをかける。もし
V(yi )≦V(x)なら、確率1でyi を受理する
(ステップS106,S108)。そうでない場合は、
受理確率P(yi )=e-((V(yi)-V(x))/c) でyi を受
理する。但し、cは正の定数である。yi の順位を一番
下まで下げる(ステップS107,S110)。
【0065】それから、x=yi とする(ステップS1
08)。もしx<xbst ならxbst=xとする(ステッ
プS109)。ステップS103ないしS109までを
L1回繰り返す(ステップS111,S112)。但
し、L1 は正の定数である。そして、xbst を出力する
(ステップS113)。
08)。もしx<xbst ならxbst=xとする(ステッ
プS109)。ステップS103ないしS109までを
L1回繰り返す(ステップS111,S112)。但
し、L1 は正の定数である。そして、xbst を出力する
(ステップS113)。
【0066】上述した局所探索交叉手続きで得られた結
果をkとする。
果をkとする。
【0067】次に、個体集団の全個体中最も劣った個
体、すなわち最も長い総作業時間を持つ個体wとkを比
較し、kの総作業時間の方がwの総作業時間より短けれ
ばwを個体集団から消去し、代わりにkを個体集団へ登
録する。
体、すなわち最も長い総作業時間を持つ個体wとkを比
較し、kの総作業時間の方がwの総作業時間より短けれ
ばwを個体集団から消去し、代わりにkを個体集団へ登
録する。
【0068】以上の操作を適当な終了条件を満たすまで
繰り返す。終了条件は、例えば繰り返し回数が合計L
total 回に達するまでという形で与えられる。終了条件
を満たした場合、個体集団中最も優れた個体、すなわち
最も総作業時間の短い個体を解として出力し、全処理を
終了させる。
繰り返す。終了条件は、例えば繰り返し回数が合計L
total 回に達するまでという形で与えられる。終了条件
を満たした場合、個体集団中最も優れた個体、すなわち
最も総作業時間の短い個体を解として出力し、全処理を
終了させる。
【0069】以下、本発明の実施形態を説明する。
【0070】図1は、本発明の一実施形態に係るジョブ
ショップスケジューリング装置の構成を示すブロック図
である。同図において、1は問題データおよび遺伝的ア
ルゴリズムのパラメータを入力する入力部、2は遺伝的
アルゴリズムで用いる解、すなわち個体の集合である個
体集団の初期値を生成する初期個体集団生成部、3は初
期個体集団、あるいは処理途中の個体集団より優秀な個
体がより選ばれやすいようにバイアスをかけてランダム
に2個体を選択する2個体選択部、4は初期集団、ある
いは処理途中の個体集団から選択された2個体に対して
前記局所探索交叉を適用し、新たな個体を生成する局所
探索交叉処理部、5は局所探索交叉処理部4で得られた
個体を初期個体集団、あるいは処理途中の個体集団の最
も劣った要素と比較し、個体集団に組み入れる個体集団
更新部、6は問題データ、遺伝的アルゴリズムのパラメ
ータおよび処理途中や最終結果のスケジュールを格納す
るメモリ、7はこれら各部の動作を制御する制御部であ
る。
ショップスケジューリング装置の構成を示すブロック図
である。同図において、1は問題データおよび遺伝的ア
ルゴリズムのパラメータを入力する入力部、2は遺伝的
アルゴリズムで用いる解、すなわち個体の集合である個
体集団の初期値を生成する初期個体集団生成部、3は初
期個体集団、あるいは処理途中の個体集団より優秀な個
体がより選ばれやすいようにバイアスをかけてランダム
に2個体を選択する2個体選択部、4は初期集団、ある
いは処理途中の個体集団から選択された2個体に対して
前記局所探索交叉を適用し、新たな個体を生成する局所
探索交叉処理部、5は局所探索交叉処理部4で得られた
個体を初期個体集団、あるいは処理途中の個体集団の最
も劣った要素と比較し、個体集団に組み入れる個体集団
更新部、6は問題データ、遺伝的アルゴリズムのパラメ
ータおよび処理途中や最終結果のスケジュールを格納す
るメモリ、7はこれら各部の動作を制御する制御部であ
る。
【0071】次に、図2に示すフローチャートを参照し
て、図1に示す実施形態の作用を説明する。
て、図1に示す実施形態の作用を説明する。
【0072】まず、入力部1に問題データである仕事数
N、機械数M、各作業の技術的順序、処理時間、遺伝的
アルゴリズムのパラメータである個体集団のサイズP、
局所探索交叉の受理確率の定数c、最大適用回数L1 、
終了条件の最大繰り返し回数Ltotal が入力され、メモ
リ6に格納される(ステップS1)。全処理の終了条件
は、例えば「局所探索交叉の適用回数がLtotal を超え
るか、個体集団中の各個体の評価値の最大値と最小値が
一致するかした時終了」という形で与えられる。
N、機械数M、各作業の技術的順序、処理時間、遺伝的
アルゴリズムのパラメータである個体集団のサイズP、
局所探索交叉の受理確率の定数c、最大適用回数L1 、
終了条件の最大繰り返し回数Ltotal が入力され、メモ
リ6に格納される(ステップS1)。全処理の終了条件
は、例えば「局所探索交叉の適用回数がLtotal を超え
るか、個体集団中の各個体の評価値の最大値と最小値が
一致するかした時終了」という形で与えられる。
【0073】次に、初期個体集団生成部2がランダムな
解(ランダムスケジュール)を生成する(ステップS
2)。この生成された初期個体集団はメモリ6に格納さ
れる。
解(ランダムスケジュール)を生成する(ステップS
2)。この生成された初期個体集団はメモリ6に格納さ
れる。
【0074】次に、2個体選択部3がメモリ6上の初期
個体集団もしくは処理途中の個体集団より、各個体の評
価値が優秀なもの、すなわちスケジュールの総作業時間
がより短いものがより選ばれやすくなるようにバイアス
をかけてランダムに2個体を選択し、p1 ,p2 とする
(ステップS3)。
個体集団もしくは処理途中の個体集団より、各個体の評
価値が優秀なもの、すなわちスケジュールの総作業時間
がより短いものがより選ばれやすくなるようにバイアス
をかけてランダムに2個体を選択し、p1 ,p2 とする
(ステップS3)。
【0075】次に、局所探索交叉処理部4がp1 ,p2
に対して前記局所探索交叉手続きを行う。得られた個体
kはメモリ6上に格納される(ステップS4)。
に対して前記局所探索交叉手続きを行う。得られた個体
kはメモリ6上に格納される(ステップS4)。
【0076】次に、個体集団更新部5がメモリ6上の個
体kと初期個体集団あるいは処理途中の個体集団の最も
評価値の悪い個体とkを比較し、kのほうが優れている
場合はメモリ6上でその個体とkを入れ換える(ステッ
プS5)。
体kと初期個体集団あるいは処理途中の個体集団の最も
評価値の悪い個体とkを比較し、kのほうが優れている
場合はメモリ6上でその個体とkを入れ換える(ステッ
プS5)。
【0077】次に、制御部7が判定条件:「局所探索交
叉の適用回数がLtotal を超えるか、個体集団中の各個
体の評価値の最大値と最小値が一致する」という終了条
件を満足するか否かをチェックして終了を判定し(ステ
ップS6)、満足する場合は個体集団中最も優秀な個体
とその評価値である総作業時間を出力し、全処理を終了
する(ステップS7)。そうでない場合は、ステップS
3に戻る。
叉の適用回数がLtotal を超えるか、個体集団中の各個
体の評価値の最大値と最小値が一致する」という終了条
件を満足するか否かをチェックして終了を判定し(ステ
ップS6)、満足する場合は個体集団中最も優秀な個体
とその評価値である総作業時間を出力し、全処理を終了
する(ステップS7)。そうでない場合は、ステップS
3に戻る。
【0078】次に、本実施形態の具体例について説明す
る。ここでは図4に示すような仕事数6、機械数6のジ
ョブショップスケジューリング問題を考える。
る。ここでは図4に示すような仕事数6、機械数6のジ
ョブショップスケジューリング問題を考える。
【0079】まず、図4の問題データ、遺伝的アルゴリ
ズムのパラメータである個体集団サイズP、局所探索交
叉の受理確率の定数c、最大適用回数L1 、終了条件の
最大繰り返し回数Ltotal を入力部1から入力する。こ
の例では、P=10,c=10,L1 =10,Ltotal
=100とする。図4において、各行は対応する仕事を
処理する機械の技術的順序とその処理時間を表してい
る。例えば、第1行目は、仕事1がまず機械3で1単位
時間かけて処理され、次に機械1で3単位時間かけて処
理される等ということを表している。
ズムのパラメータである個体集団サイズP、局所探索交
叉の受理確率の定数c、最大適用回数L1 、終了条件の
最大繰り返し回数Ltotal を入力部1から入力する。こ
の例では、P=10,c=10,L1 =10,Ltotal
=100とする。図4において、各行は対応する仕事を
処理する機械の技術的順序とその処理時間を表してい
る。例えば、第1行目は、仕事1がまず機械3で1単位
時間かけて処理され、次に機械1で3単位時間かけて処
理される等ということを表している。
【0080】初期個体集団生成部2が前記GTアルゴリ
ズム手続きに従って個体集団サイズP個のランダムな解
(ランダムスケジュール)を生成する。従って、この場
合、合計10個のスケジュールが生成される。生成され
たスケジュールはメモリ6に格納される。メモリ6上
の、各スケジュールの評価値である総作業時間を図5に
まとめて示す。
ズム手続きに従って個体集団サイズP個のランダムな解
(ランダムスケジュール)を生成する。従って、この場
合、合計10個のスケジュールが生成される。生成され
たスケジュールはメモリ6に格納される。メモリ6上
の、各スケジュールの評価値である総作業時間を図5に
まとめて示す。
【0081】2個体選択部がメモリ6上の初期個体集団
より、各個体の評価値が優秀なもの、すなわちスケジュ
ールの総作業時間がより短いものがより選ばれやすくな
るようにバイアスをかけてランダムに2個体を選択す
る。この場合、図5中の第3番目の個体および第1番目
の個体が選択されたとする。これらをp1 ,p2 とす
る。図6および図7にメモリ6上のp1 ,p2 のデータ
構造を示す。各行は対応する機械上での各仕事の処理順
序である。ここでp1 ,p2 間の距離は18である。
より、各個体の評価値が優秀なもの、すなわちスケジュ
ールの総作業時間がより短いものがより選ばれやすくな
るようにバイアスをかけてランダムに2個体を選択す
る。この場合、図5中の第3番目の個体および第1番目
の個体が選択されたとする。これらをp1 ,p2 とす
る。図6および図7にメモリ6上のp1 ,p2 のデータ
構造を示す。各行は対応する機械上での各仕事の処理順
序である。ここでp1 ,p2 間の距離は18である。
【0082】局所探索交叉処理部4がp1 ,p2 に対し
て前記局所探索交叉処理を開始する。
て前記局所探索交叉処理を開始する。
【0083】まず、x=p1 ,xbst =xとし、それぞ
れをメモリ6上に格納する。xに対し、前記最長経路計
算手続きに従って最長経路が計算される。図6中の四角
で囲まれた作業が最長経路上の作業である。また、機械
5上の作業1,2,3,4,5,6および機械2上の作
業1,2,3,4,5はそれぞれ同一のクリティカルブ
ロックに属する。
れをメモリ6上に格納する。xに対し、前記最長経路計
算手続きに従って最長経路が計算される。図6中の四角
で囲まれた作業が最長経路上の作業である。また、機械
5上の作業1,2,3,4,5,6および機械2上の作
業1,2,3,4,5はそれぞれ同一のクリティカルブ
ロックに属する。
【0084】個体xに対してクリティカルブロック近傍
を計算する。従来の技術で説明したように、クリティカ
ルブロック近傍は、全てのクリティカルブロックについ
て、クリティカルブロック上のある作業を当該クリティ
カルブロックの先頭、あるいは最後に移動させることに
よって新たに得られるスケジュール全体からなる集合で
ある。従って、近傍の各要素は、クリティカルブロック
がある機械と、その上の移動すべき作業とその移動先に
よって表すことができる。そこで、これらの組をメモリ
6上に格納する。図8に格納されたxの近傍を示す。但
し、移動後のスケジュールが実行可能でないものは除い
てある。図中、各行は対応する機械とその上の移動すべ
き作業とその移動先を表している。例えば、1行目は、
機械5上の5番目の作業(図6よりそれは仕事3である
ことがわかる)を1番目に移動させることを表してい
る。
を計算する。従来の技術で説明したように、クリティカ
ルブロック近傍は、全てのクリティカルブロックについ
て、クリティカルブロック上のある作業を当該クリティ
カルブロックの先頭、あるいは最後に移動させることに
よって新たに得られるスケジュール全体からなる集合で
ある。従って、近傍の各要素は、クリティカルブロック
がある機械と、その上の移動すべき作業とその移動先に
よって表すことができる。そこで、これらの組をメモリ
6上に格納する。図8に格納されたxの近傍を示す。但
し、移動後のスケジュールが実行可能でないものは除い
てある。図中、各行は対応する機械とその上の移動すべ
き作業とその移動先を表している。例えば、1行目は、
機械5上の5番目の作業(図6よりそれは仕事3である
ことがわかる)を1番目に移動させることを表してい
る。
【0085】更に、移動した結果とp2 との距離を計算
する。計算結果を図8の「p2 との距離」欄に示す。
する。計算結果を図8の「p2 との距離」欄に示す。
【0086】更に、各近傍の要素をp2 との距離でソー
トし、距離の小さいものほど順位が高くなるようにす
る。図8は並べ替えた結果である。
トし、距離の小さいものほど順位が高くなるようにす
る。図8は並べ替えた結果である。
【0087】各近傍の要素中、順位が高いものの方が選
ばれやすくなるようにランダムに1つ要素を選択する。
例えば、図8の要素No.1が選択されたとする。この要
素の対応するスケジュールの総作業時間は104であ
る。この値はxの総作業時間である89より大きい。従
って、前記局所探索交叉の手続きの(4)項(b)によ
って、受理確率e-((104-89)/10)=e-1.5=0.22で
この要素を選択する。
ばれやすくなるようにランダムに1つ要素を選択する。
例えば、図8の要素No.1が選択されたとする。この要
素の対応するスケジュールの総作業時間は104であ
る。この値はxの総作業時間である89より大きい。従
って、前記局所探索交叉の手続きの(4)項(b)によ
って、受理確率e-((104-89)/10)=e-1.5=0.22で
この要素を選択する。
【0088】今、この要素が選択されなかったとする。
その場合、この要素の順位を下げ、図9のように一番下
に配置する。
その場合、この要素の順位を下げ、図9のように一番下
に配置する。
【0089】次に、再び各近傍の要素中、順位が高いも
のの方が選ばれやすくなるようにランダムに1つの要素
を選択する。要素No.4が選択されたとする。この要素
の対応するスケジュールの総作業時間は83である。こ
の値はp1 の総作業時間である89より小さい。従っ
て、無条件にこの要素が選択される。
のの方が選ばれやすくなるようにランダムに1つの要素
を選択する。要素No.4が選択されたとする。この要素
の対応するスケジュールの総作業時間は83である。こ
の値はp1 の総作業時間である89より小さい。従っ
て、無条件にこの要素が選択される。
【0090】選択された要素No.4の対応するスケジュ
ールを改めてxとする。また、この新たなxはメモリ6
上のスケジュールxbst の評価値よりも良いため、x
bst =xとし、メモリ6を更新する。
ールを改めてxとする。また、この新たなxはメモリ6
上のスケジュールxbst の評価値よりも良いため、x
bst =xとし、メモリ6を更新する。
【0091】新しいxに対して最長経路、クリティカル
ブロック近傍を計算し、上と同様の操作を繰り返す。
ブロック近傍を計算し、上と同様の操作を繰り返す。
【0092】以上の操作をL1 =10回繰り返す。この
結果得られた個体=スケジュールを図10に示す。得ら
れた個体の評価値である総作業時間は64である。
結果得られた個体=スケジュールを図10に示す。得ら
れた個体の評価値である総作業時間は64である。
【0093】次に、個体集団更新部5がメモリ6上の個
体kと、個体集団の最も評価値の悪い個体(図5より、
個体集団中10番目の個体、評価値144)とk(評価
値64)を比較する。kの方が優れているので、メモリ
6上でその10番目の個体とkとを入れ換える。図11
は入れ換え後のメモリ6上の個体集団を示している。但
し、評価値の順に番号を付け替えてある。
体kと、個体集団の最も評価値の悪い個体(図5より、
個体集団中10番目の個体、評価値144)とk(評価
値64)を比較する。kの方が優れているので、メモリ
6上でその10番目の個体とkとを入れ換える。図11
は入れ換え後のメモリ6上の個体集団を示している。但
し、評価値の順に番号を付け替えてある。
【0094】次に、制御部7が判定条件にしたがって終
了を判定する。判定条件は:「局所探索交叉の適用回数
がLtotal を超えるか、個体集団中の各個体の評価値の
最大値と最小値が一致する」であるが、現在の局所探索
交叉の適用回数は1であり、Ltotal =100より小さ
い。また、図11より、個体集団中の各個体の評価値の
最大値と最小値は異なる。従って、終了条件は満足せ
ず、2個体選択部3の処理(図2のステップS3)に戻
る。
了を判定する。判定条件は:「局所探索交叉の適用回数
がLtotal を超えるか、個体集団中の各個体の評価値の
最大値と最小値が一致する」であるが、現在の局所探索
交叉の適用回数は1であり、Ltotal =100より小さ
い。また、図11より、個体集団中の各個体の評価値の
最大値と最小値は異なる。従って、終了条件は満足せ
ず、2個体選択部3の処理(図2のステップS3)に戻
る。
【0095】以上の処理を図2のステップS6において
終了条件が満足されるまで繰り返す。この例ではL
total =100回繰り返した後終了した。図2のステッ
プS7に従って出力された個体集団中最も優秀な個体と
その評価値である総作業時間を図12に示す。初期個体
集団の各個体と比べると、総作業時間は、76(初期個
体集団中の最も優秀な個体の評価値)から55へと改善
されている。
終了条件が満足されるまで繰り返す。この例ではL
total =100回繰り返した後終了した。図2のステッ
プS7に従って出力された個体集団中最も優秀な個体と
その評価値である総作業時間を図12に示す。初期個体
集団の各個体と比べると、総作業時間は、76(初期個
体集団中の最も優秀な個体の評価値)から55へと改善
されている。
【0096】
【発明の効果】以上説明したように、本発明によれば、
遺伝的アルゴリズムを用いてジョブショップスケジュー
リングを実行するジョブショップスケジューリング装置
において、遺伝アルゴリズムの従来の交叉手続きとクリ
ティカルブロック近傍を用いた局所近傍探索とを融合し
た新たな交叉手続きである局所探索交叉を用いた。解の
最長経路はスケジュール上最もボトルネックとなる作業
の集合であり、特にクリティカルブロックの先頭もしく
は最後の作業を変更することなしにスケジュールを改善
することはできない。従って、クリティカルブロック近
傍を用いることは探索の効率化の点で非常に効果的であ
る。しかし、従来の方法では、この効率的な探索を遺伝
的アルゴリズムに取り入れることは難しかった。
遺伝的アルゴリズムを用いてジョブショップスケジュー
リングを実行するジョブショップスケジューリング装置
において、遺伝アルゴリズムの従来の交叉手続きとクリ
ティカルブロック近傍を用いた局所近傍探索とを融合し
た新たな交叉手続きである局所探索交叉を用いた。解の
最長経路はスケジュール上最もボトルネックとなる作業
の集合であり、特にクリティカルブロックの先頭もしく
は最後の作業を変更することなしにスケジュールを改善
することはできない。従って、クリティカルブロック近
傍を用いることは探索の効率化の点で非常に効果的であ
る。しかし、従来の方法では、この効率的な探索を遺伝
的アルゴリズムに取り入れることは難しかった。
【0097】本発明では、遺伝的アルゴリズムの交叉手
続きにこの局所探索手続きを直接取り入れた局所探索交
叉を考案することにより、複数の個体が途中段階で得ら
れた複数の比較的優れた解の組み換えを行い、情報を交
換しながら同時に局所探索によって更に優れた解を求め
ることができる。従って、上記ジョブショップスケジュ
ーリング装置の構築によって大規模な問題の良質な解を
高速に求めることが可能となる。
続きにこの局所探索手続きを直接取り入れた局所探索交
叉を考案することにより、複数の個体が途中段階で得ら
れた複数の比較的優れた解の組み換えを行い、情報を交
換しながら同時に局所探索によって更に優れた解を求め
ることができる。従って、上記ジョブショップスケジュ
ーリング装置の構築によって大規模な問題の良質な解を
高速に求めることが可能となる。
【図1】本発明の一実施形態に係るジョブショップスケ
ジューリング装置の構成を示すブロック図である。
ジューリング装置の構成を示すブロック図である。
【図2】図1に示す実施形態の作用を示すフローチャー
トである。
トである。
【図3】局所探索交叉手続きを示すフローチャートであ
る。
る。
【図4】仕事数6および機械数6のジョブショップスケ
ジューリング問題の例を示す図である。
ジューリング問題の例を示す図である。
【図5】初期個体集団中の各個体の評価値である総作業
時間を示す図である。
時間を示す図である。
【図6】個体x=p1 とその最長経路を示す図である。
【図7】個体p2 とその最長経路を示す図である。
【図8】メモリに格納されたx=p1 の近傍を示す図で
ある。
ある。
【図9】順位を入れ換えた後のx=p1 の近傍を示す図
である。
である。
【図10】局所探索交叉で得られた個体kを示す図であ
る。
る。
【図11】個体集団更新後の個体集団中の各個体の評価
値(総作業時間)を示す図である。
値(総作業時間)を示す図である。
【図12】最終的出力として得られた解である個体集団
中最も優秀な個体とその評価値である総作業時間を示す
図である。
中最も優秀な個体とその評価値である総作業時間を示す
図である。
1 入力部 2 初期個体集団生成部 3 2個体選択部 4 局所探索交叉処理部 5 個体集団更新部 6 メモリ 7 制御部
Claims (1)
- 【請求項1】 複数の機械上で、定められた順序で、定
められた時間をかけて処理される複数の仕事が与えられ
た時、全仕事の作業時間の総和が最小に近くなるように
作業の処理順序を決定するジョブショップスケジューリ
ング装置において、 各機械毎に、各機械上で処理される仕事の処理順序を表
す順列である仕事名のリストによって解を表現し、有限
個のランダムな解の集合である初期個体集団を生成する
初期個体集団生成部と、 初期個体集団あるいは処理途中の個体集団より評価値の
良い個体ほど選ばれやすくなるようにバイアスをかけて
ランダムに2個体を選択する2個体選択部と、 一方のスケジュールに対してスケジュール上の作業の部
分列である最長経路を計算し、最長経路を同一機械で連
続して処理される作業の集まりであるクリティカルブロ
ック毎に分割し、各クリティカルブロック上の各作業を
当該クリティカルブロックの先頭あるいは最後に移動さ
せることによって新たに得られるスケジュール全体から
なる集合であるクリティカルブロック近傍を計算し、ク
リティカルブロック近傍の各要素を他方の個体までの距
離の短さでソートし、距離が短い個体の順位が高くなる
ように要素間に順位を付け、順位の高い要素が選ばれや
すくなるようにバイアスをかけてランダムに要素を1つ
選択し、その要素に対応するスケジュールを生成し、評
価値を計算し、もしその評価値が元のスケジュールの評
価値より良い場合は無条件にそのスケジュールを選択
し、そうでない場合は評価値のよさに応じて確率的にそ
のスケジュールを選択し、そのスケジュールが選択され
た場合は元のスケジュールをそのスケジュールで置き換
え、クリティカルブロック近傍を新たに計算し、再び他
方の個体までの距離の短さでソートし、選択されなかっ
た場合は対応する近傍の要素の順位を下げ、再び順位の
高い要素が選ばれやすくなるようにバイアスをかけてラ
ンダムに要素を1つ選択するという操作を所定回数だけ
繰り返し、この過程で得られた最も評価値の高い個体を
最終的に出力する局所探索交叉計算部と、 上記局所探索交叉計算部で生成された解が初期個体集団
あるいは処理途中の個体集団中最低の評価値をもつ解よ
りも優れている場合は、後者を前者で置き換えることに
よって個体集団を更新する個体集団更新部と、 予め定めた繰り返し回数に達するか、上記初期個体集団
あるいは処理途中の個体集団中の全個体全て同一の個体
になったという終了条件を定め、その終了条件が満足さ
れない場合は、上記最長経路計算部から個体集団更新部
までの各処理部の処理を繰り返す制御部とを有すること
を特徴とするジョブショップスケジューリング装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8086788A JPH09282359A (ja) | 1996-04-09 | 1996-04-09 | ジョブショップスケジューリング装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8086788A JPH09282359A (ja) | 1996-04-09 | 1996-04-09 | ジョブショップスケジューリング装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09282359A true JPH09282359A (ja) | 1997-10-31 |
Family
ID=13896511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8086788A Pending JPH09282359A (ja) | 1996-04-09 | 1996-04-09 | ジョブショップスケジューリング装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09282359A (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007214551A (ja) * | 1999-06-23 | 2007-08-23 | Asml Us Inc | ウェーハ処理システムにおけるロボットの事前配置 |
WO2009084423A1 (ja) * | 2007-12-27 | 2009-07-09 | Hitachi, Ltd. | ボトルネック装置抽出方法およびボトルネック装置抽出支援装置 |
US8099311B2 (en) * | 2007-02-23 | 2012-01-17 | CrowdEngineering, Inc. | System and method for routing tasks to a user in a workforce |
CN109523109A (zh) * | 2018-09-27 | 2019-03-26 | 江汉大学 | 一种作业调度方法 |
CN109829535A (zh) * | 2018-12-30 | 2019-05-31 | 安徽师范大学 | 基于量子候鸟优化算法求解无等待流水调度问题的方法 |
CN109886589A (zh) * | 2019-02-28 | 2019-06-14 | 长安大学 | 一种基于改进鲸鱼优化算法求解低碳车间调度的方法 |
CN111007823A (zh) * | 2019-12-25 | 2020-04-14 | 北京理工大学 | 柔性作业车间动态调度方法及装置 |
CN112149910A (zh) * | 2020-09-28 | 2020-12-29 | 上海汽车集团股份有限公司 | 一种路径规划方法及装置 |
CN113515097A (zh) * | 2021-07-23 | 2021-10-19 | 合肥工业大学 | 一种基于深度强化学习的两目标单机批调度方法 |
US20220300321A1 (en) * | 2021-03-19 | 2022-09-22 | Regeneron Pharmaceuticals, Inc. | Data pipeline |
CN115719108A (zh) * | 2022-11-03 | 2023-02-28 | 吉林师范大学 | 资源对称型分布式车间综合调度方法 |
-
1996
- 1996-04-09 JP JP8086788A patent/JPH09282359A/ja active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007214551A (ja) * | 1999-06-23 | 2007-08-23 | Asml Us Inc | ウェーハ処理システムにおけるロボットの事前配置 |
US8099311B2 (en) * | 2007-02-23 | 2012-01-17 | CrowdEngineering, Inc. | System and method for routing tasks to a user in a workforce |
WO2009084423A1 (ja) * | 2007-12-27 | 2009-07-09 | Hitachi, Ltd. | ボトルネック装置抽出方法およびボトルネック装置抽出支援装置 |
JP2009157673A (ja) * | 2007-12-27 | 2009-07-16 | Hitachi Ltd | ボトルネック装置抽出方法およびボトルネック装置抽出支援装置 |
US8423168B2 (en) | 2007-12-27 | 2013-04-16 | Hitachi, Ltd. | Bottleneck device extracting method and bottleneck device extracting assistance device |
CN109523109B (zh) * | 2018-09-27 | 2022-12-06 | 江汉大学 | 一种作业调度方法 |
CN109523109A (zh) * | 2018-09-27 | 2019-03-26 | 江汉大学 | 一种作业调度方法 |
CN109829535A (zh) * | 2018-12-30 | 2019-05-31 | 安徽师范大学 | 基于量子候鸟优化算法求解无等待流水调度问题的方法 |
CN109829535B (zh) * | 2018-12-30 | 2023-04-07 | 安徽师范大学 | 基于量子候鸟优化算法求解无等待流水调度问题的方法 |
CN109886589A (zh) * | 2019-02-28 | 2019-06-14 | 长安大学 | 一种基于改进鲸鱼优化算法求解低碳车间调度的方法 |
CN109886589B (zh) * | 2019-02-28 | 2024-01-05 | 长安大学 | 一种基于改进鲸鱼优化算法求解低碳车间调度的方法 |
CN111007823A (zh) * | 2019-12-25 | 2020-04-14 | 北京理工大学 | 柔性作业车间动态调度方法及装置 |
CN111007823B (zh) * | 2019-12-25 | 2021-01-22 | 北京理工大学 | 柔性作业车间动态调度方法及装置 |
CN112149910A (zh) * | 2020-09-28 | 2020-12-29 | 上海汽车集团股份有限公司 | 一种路径规划方法及装置 |
US20220300321A1 (en) * | 2021-03-19 | 2022-09-22 | Regeneron Pharmaceuticals, Inc. | Data pipeline |
CN113515097A (zh) * | 2021-07-23 | 2021-10-19 | 合肥工业大学 | 一种基于深度强化学习的两目标单机批调度方法 |
CN115719108A (zh) * | 2022-11-03 | 2023-02-28 | 吉林师范大学 | 资源对称型分布式车间综合调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yamada et al. | Job shop scheduling | |
Yamada et al. | Genetic algorithms for job-shop scheduling problems | |
Andrade et al. | The multi-parent biased random-key genetic algorithm with implicit path-relinking and its real-world applications | |
Yamada et al. | Scheduling by genetic local search with multi-step crossover | |
Yamada et al. | Job-shop scheduling by simulated annealing combined with deterministic local search | |
Uzsoy et al. | Performance of decomposition procedures for job shop scheduling problems with bottleneck machines | |
US20070005522A1 (en) | Resource assignment optimization using direct encoding and genetic algorithms | |
JPH09282359A (ja) | ジョブショップスケジューリング装置 | |
Knjazew | OmeGA: A competent genetic algorithm for solving permutation and scheduling problems | |
Möbius et al. | Optimization by thermal cycling | |
Kashan et al. | Minimizing makespan on a single batch processing machine with non-identical job sizes: a hybrid genetic approach | |
Groves et al. | Genetic algorithms for drawing directed graphs | |
Ma et al. | A hybrid particle swarm optimization and simulated annealing algorithm for job-shop scheduling | |
Marzouki et al. | Decentralized Tabu searches in multi agent system for distributed and flexible job shop scheduling problem | |
JPH08315028A (ja) | ジョブショップスケジューリング方法及び装置 | |
JPH05225203A (ja) | ジョブショップスケジューリング問題解決方式 | |
Alcaraz et al. | A hybrid genetic algorithm based on intelligent encoding for project scheduling | |
US5568381A (en) | Combinatorial optimization system that extracts an undersirable relationship from a present solution | |
CN114707808A (zh) | 一种基于动态根节点工序集的逆序设备网络综合调度方法 | |
Kim et al. | Genetic reinforcement learning for scheduling heterogeneous machines | |
JPH07282144A (ja) | ジョブショップスケジューリング装置 | |
Lahrichi et al. | A min-max path approach for balancing robotic assembly lines with sequence-dependent setup times | |
CN115700647A (zh) | 一种基于禁忌搜索遗传算法的车间柔性作业调度方法 | |
Drugan | Stochastic pareto local search for many objective quadratic assignment problem instances | |
Balázs et al. | Hybrid bacterial iterated greedy heuristics for the permutation flow shop problem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |