JPH07282144A - ジョブショップスケジューリング装置 - Google Patents

ジョブショップスケジューリング装置

Info

Publication number
JPH07282144A
JPH07282144A JP7344594A JP7344594A JPH07282144A JP H07282144 A JPH07282144 A JP H07282144A JP 7344594 A JP7344594 A JP 7344594A JP 7344594 A JP7344594 A JP 7344594A JP H07282144 A JPH07282144 A JP H07282144A
Authority
JP
Japan
Prior art keywords
work
individual
individuals
time
processing
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
Application number
JP7344594A
Other languages
English (en)
Inventor
Takeshi Yamada
武士 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP7344594A priority Critical patent/JPH07282144A/ja
Publication of JPH07282144A publication Critical patent/JPH07282144A/ja
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Control By Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • General Factory Administration (AREA)

Abstract

(57)【要約】 【目的】 複雑な制約を持ち総作業時間を最小とするよ
うな大規模なジョブショップスケジューリング問題の準
最適解を、組み合せ爆発を起こすことなく高速に求める
ことができるジョブショップスケジューリング装置を提
供する。 【構成】 入力部1から問題データおよびパラメータが
入力されると、初期個体集団生成部2がP個のランダム
な個体を生成し、生成された初期個体集団はメモリ7に
格納される。交叉処理部5がメモリ7上の個体集団から
高い評価値に応じて2つの個体を選択し、このペアをス
ケジュール計算部4に入力として与え、スケジュール計
算部4から出力として新しい個体を受け取る。個体集団
更新部6が評価値をもとに個体集団の更新を行い、その
結果新しい個体集団を得て、メモリ7に格納する。個体
集団更新部6による個体集団の更新の結果、終了条件を
満たしているか否かをチェックし、満たしていたなら
ば、メモリ7上の個体集団を出力して全ての処理を終了
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、工場等のファクトリー
オートメーションにおいて作業終了までの時間をなるべ
く短くすることにより全作業の効率化を図ることを可能
にするジョブショップスケジューリング問題を解決する
ジョブショップスケジューリング装置に関する。
【0002】
【従来の技術】問題の準最適解を求める方法に、遺伝的
アルゴリズムと呼ばれる方法がある。この遺伝的アルゴ
リズムについては、例えば文献「Genetic Algorithms i
n Search,Optimization and Machine Learning」(Davi
d E.Goldberg,Addison Wesley)(文献1)に詳述され
ている。また、遺伝的アルゴリズムの改良版である定常
状態モデル(steady state model)と呼ばれるものが文
献「Proc.3rd Int.Conf.on Genetic Algorithms and th
eir Applications,The Genitor Algorithm and Selecti
on Pressure:Why Rank-Based Allocation of Reproduct
ive Trials is Best」(Darrell Whitely,Morgan Kaufm
an)において詳述されている(文献2)。
【0003】定常状態モデル遺伝的アルゴリズムの概要
を以下に説明する。
【0004】遺伝的アルゴリズムでは、入力値としてL
次元ベクトルV=(V1 ,V2 ,・・・,VL )の集合
Pが与えられる。Pの各元は与えられた問題の解を表現
している。Pの元の個数をpとする。各元を個体、Pを
個体集団と呼ぶ。遺伝的アルゴリズムは以下の手続きを
1サイクルとする繰り返し処理である。
【0005】1.Pをランダムに生成した個体の集合と
して構成する。これを初期個体集団と呼ぶ。
【0006】2.Pの各元の解の良さを、与えられた評
価尺度にしたがって評価し、その結果を評価値として表
す。
【0007】3.P中より評価値の良い個体が選ばれや
すいようにランダムに2個体を選択し、この2個体をも
とに新たに個体を生成する。この操作を「交叉」と呼
ぶ。前記文献1には、ペアにした個体どうしのベクトル
の一部を互いに交換することによって新しい個体を得る
交叉方法(単純交叉法と仮に名付ける)が詳細に説明さ
れている。本発明で扱うジョブショップスケジューリン
グ問題のように複雑な制約を持つ問題の場合は単純交叉
法は適用できない。
【0008】4.前項3において生成された個体を低い
確率で少し変更する。この操作を「突然変異」と呼ぶ。
突然変異は、例えば各個体のベクトルの成分からランダ
ムに2つ選んでその成分どうしを互いに交換するという
方法が知られている(単純突然変異法と仮に名付け
る)。本発明で扱うジョブショップスケジューリング問
題のように複雑な制約を持つ問題の場合は単純突然変異
法は適用できない。
【0009】5.前項4において生成された新たな個体
の解としての良さを、与えられた評価尺度にしたがって
評価し、個体集団中の最も悪い個体の評価値と比較す
る。もし比較の結果新たな個体の評価値の方が優れてい
る場合は個体集団中の最も悪い個体と入れ換える。そう
でない場合は何もしない。
【0010】前項3〜5の処理を繰り返すことによっ
て、個体集団Pの各個体は与えられた問題の準最適解に
達する。
【0011】次に、ジョブショップスケジューリング問
題について説明する。
【0012】ジョブショップスケジューリング問題と
は、N個の仕事をM台の機械で加工する問題である。こ
のとき、 1.各仕事を分担して加工する機械の割り当ての順番
(技術的順序)、 2.各仕事の各機械上での加工時間 の2つがあらかじめ与えられている。また、 1.機械は故障しない、 2.各機械は同時に2つ以上の仕事を処理できない、 3.作業の中断はない などの条件をつける。
【0013】この条件のもとで、全仕事を加工し終わる
までの総所要時間を最小にする解を求める。これがジョ
ブショップスケジューリング問題の最適解を求めること
である。
【0014】ジョブショップスケジューリング問題解決
法の従来方法としては、 Giffler &Thompson のアクテ
ィブスケジューリングの生成法(以下、GT法と略す)
と呼ばれる方法が知られており、例えば文献「スケジュ
ーリング問題」(鍋島一郎著、森北出版株式会社)に詳
述されている。以下、その概要を説明する。
【0015】今、仕事と機械にそれぞれ1,・・・,N
および1,・・・,Mまでの番号がついているとする。
各仕事は、順序づけられた複数の作業から構成される。
仕事と機械の割当順番である技術的順序の組を作業と呼
ぶ。すなわち、作業(i,j)とは、番号がiである仕
事をj番目に処理する機械上での作業を示す。ここで、
作業(i,j)と実際に割り当てられた機械の番号と加
工時間とは別に対応づけられているとする。なお、作業
の最早完了時刻とは、技術的順番の制約を満たしなが
ら、その作業を最優先で処理した場合の完了時刻のこと
とする。ここで、時刻とは、最初の作業を開始した時刻
を基準とした相対時間である。
【0016】GT法は次のような一連の処理である。
【0017】1.Cut:未スケジュールの作業のう
ち、技術的順序(j)が最も早い作業全体をはじめ次の
ように定義する。
【0018】
【数1】Cut={(1,1),(2,1),・・・,
(N,1)} 2.Cutの各要素に対し、最早完了時刻(EC)を求
める。ECの初期値は
【数2】 EC(i,j)=(i,j)(∈Cut)の加工時間 で与えられる。
【0019】3.Cutの元のうち、最も最早完了時刻
の早い作業(i0 ,j0 )を求める。
【0020】
【数3】EC(i0 ,j0 )= min{EC(i,j)|
(i,j)∈Cut} 4.Cutの元のうち、作業(i0 ,j0 )と同一機械
上で処理され、加工時間帯が重複するもの全体Gc を求
める。このGc をコンフリクト集合と呼ぶことにする。
【0021】5.Gc の中から任意の1つ作業を選び、
作業(ic ,jc )とする。
【0022】6.作業(ic ,jc )を時刻EC
(ic ,jc )までに加工するというスケジュールと確
定する。このようにして途中までスケジュールされたも
のを部分スケジュールと呼ぶ。
【0023】7.Cutの元から作業(ic ,jc )を
取り除き、代わりに技術的順序が作業(ic ,jc )の
次である作業(ic ,jc +1)を加え、Cutを更新
する。但し、(ic ,jc )が技術的順序の最後の作業
である場合は何も加えない。
【0024】8.Cutの元に対し、作業(ic
c )と同一機械上で加工される作業(i,j)につい
てEC+ を次のように定義する。
【0025】
【数4】EC+ (i,j)= max{EC(i,j),E
C(ic ,jc )+((ic ,jc )の加工時間)} 9.作業(ic ,jc +1)についてはEC+ をつぎの
ように定義する。
【0026】但し、MLC=作業(ic ,jc +1)を
処理する機械がスケジュール済みの最後の作業を終えた
時刻とする。
【0027】
【数5】EC+ (作業(ic ,jc +1)= max{ML
C,EC(作業(ic ,jc )+(作業(ic ,jc
の加工時間)} 10.EC=EC+ として、前項3へ戻る。
【0028】前項3〜10を作業の数だけ繰り返すこと
によって一つのスケジュールが得られる。これがアクテ
ィブスケジュールと呼ばれるものである。ここで5のG
c において全ての組み合せを考えることによって全ての
アクティブスケジュールが得られるが、その数は膨大で
ある。
【0029】最後にスケジュールにおける最長経路につ
いて説明する。最長経路とはスケジュール中最もボトル
ネックとなる作業の集合である。最長経路は次のような
簡単なラベル付けアルゴリズムを用いて計算できる。
【0030】1.その作業の作業終了時刻が総作業時間
に一致するものを最長経路上にあるとしてラベルを付け
る。
【0031】2.ラベル付けされた作業の、同一機械上
の直前の作業、もしくは技術的順序上直前の作業の処理
終了時刻がこのラベル付けされた作業の処理開始時刻と
等しい場合、該当する作業にラベルを付ける。
【0032】3.上記2を直前の作業が存在しなくなる
まで繰り返す。
【0033】以上の処理によってラベル付けされた作業
が最長経路上の作業である。
【0034】
【発明が解決しようとする課題】GT法などのジョブシ
ョップスケジューリング問題解決法の従来の方法では、
分枝限定法などによる解法が研究されているが、大規模
な問題に対しては組み合せ爆発を起こすため、最適解、
もしくは最適解に近い良質な解を有効な時間内に求める
ことができないという問題がある。
【0035】また、組み合せ爆発を起こさない方法とし
て遺伝的アルゴリズムがあるが、本発明で扱うジョブシ
ョップスケジューリング問題を単純に適用できないとい
う問題がある。
【0036】本発明は、上記に鑑みてなされたもので、
その目的とするところは、上記問題を解決して、複雑な
制約を持ち総作業時間を最小とするような大規模なジョ
ブショップスケジューリング問題の準最適解を、組み合
せ爆発を起こすことなく高速に求めることができるジョ
ブショップスケジューリング装置を提供することにあ
る。
【0037】
【課題を解決するための手段】上記目的を達成するた
め、本発明のジョブショップスケジューリング装置は、
複数の機械上で所定の順序で所定の加工時間をかけて処
理されるべき複数の作業から構成される仕事が複数個与
えられたとき、全仕事の作業時間の総和が最小に近くな
るように作業の処理順序を決定するジョブショップスケ
ジューリング装置において、各仕事に関して、作業を実
施する機械と作業終了時刻の組を作業順に並べたリスト
を内部状態に持つ個体を解として表現し、各仕事中の各
作業の処理順序である技術的順序、該作業を処理する機
械、該機械上での該作業の加工時間を予め与え、前記技
術的順序が最も早い作業の集合cを求め、集合c中の作
業に対して、作業の完了時刻の初期値として該作業の加
工時間を設定し、最も完了時刻が早い作業を求め、該作
業と同一機械上で処理され、かつ加工時間帯が重複する
作業の集合をコンフリクト集合として求め、該集合中の
任意の作業aを選んでスケジュール化し、集合cから作
業aを取り除き、代わりにもしあれば該作業の技術的順
序が次の作業bを加え、作業bを処理する機械上でスケ
ジュール済みの最後の作業の完了時刻と、作業aの完了
時刻tの大きい方に、作業bの加工時間を加えたものを
作業bの完了時刻とし、もし集合c中で作業aと同一の
機械上で処理される作業の完了時刻が完了時刻tと該作
業の加工時間との和t’より早い場合は該作業完了時刻
をt’に変更し、未スケジュールの作業がなくなるまで
上記の処理を繰り返すという Giffler & Thompson によ
るアクティブスケジュール生成法により有限数の初期個
体集団を作成する初期個体集団生成部と、0から1の間
の値を有する突然変異率を予め定め、個体の総作業時間
を評価値として定め、該評価値の高いものから前記初期
個体集団の中から2つの個体X,Yを選択し、一方の個
体Xに対して、作業の完了時間が総作業時間に一致する
作業に至る経路である最長経路上にある作業を特定する
第1のステップと、前記コンフリクト集合を求め、0か
ら1の間の乱数を発生させ、該乱数値が前記突然変異率
より小さい場合は、該コンフリクト集合の中から任意の
1個を選択して、次の処理対象とし、それ以外の場合
は、個体Xの最長経路上にある作業の個数が該コンフリ
クト集合中の作業数の半数以上を占めたら、個体Yを選
択し、半数に達しなかったら個体Xを選択し、該コンフ
リクト集合中の作業の中で、選択した個体中での処理順
序が最も早い作業を次の処理対象とする第2のステップ
とを備え、第1のステップを実行後、第2のステップを
スケジュール化が完了するまで繰り返し、完成した該ス
ケジュールを内部状態に持つ新規個体を最終解の候補と
して作成する交叉処理部と、前記新規個体の評価値を測
定し、前記初期個体集団中の最低の評価値を持つ個体の
評価値と比較し、前者の評価値が後者の評価値より優れ
ていれば、後者と前者を入れ替えて前記初期個体集団を
更新する個体集団更新部と、予め定めた繰り返し回数に
達するか前記初期個体集団中の個体が全て同一の個体に
なったという終了条件を予め定め、該終了条件が満足さ
れない場合は、前記スケジュール計算部と前記個体集団
更新部の処理を繰り返す制御部とを有することを要旨と
する。
【0038】
【作用】本発明のジョブショップスケジューリング装置
では、遺伝的アルゴリズムと同様に、解である個体を各
作業の処理終了時刻の組からなるベクトルで表す。初期
個体集団はGT法によりランダムに生成した個体の集合
として構成する。そして、個体集団から評価値に応じて
2つの個体を選択し、この2個体をスケジュール計算部
へ入力し、スケジュール計算部からの出力として新たな
スケジュールをもった個体を得る。この過程により以下
のように、遺伝的アルゴリズムの交叉処理が実現され、
総作業時間を最小とするジョブショップスケジューリン
グ問題への遺伝的アルゴリズムの適用が可能になる。
【0039】スケジュール計算部での処理は次のようで
ある。但し、スケジュール計算部への入力となる2つの
個体をX,Yとする。
【0040】1.個体Xに対して、該個体X上の最長経
路と、最長経路上の作業を特定する。
【0041】2.GT法に基づきコンフリクト集合を生
成する。
【0042】3.次にコンフリクト集合から次に処理す
る作業を以下のようにして選ぶ。
【0043】(a)0〜1の乱数を発生させ、この乱数
が予め定められたパラメータである突然変異比より小さ
ければ、次に処理する作業はコンフリクト集合から任意
に1つ選ぶ。
【0044】(b)そうでない時は、コンフリクト集合
中の作業のうち個体Xの最長経路上にある作業の個数を
数える。この個数がコンフリクト集合中の作業の個数の
半数以上である場合は個体Yを、そうでない場合は個体
Xを選ぶ。個体Xが選ばれたとすると、コンフリクト集
合の作業のうちで個体Xでの対応する成分を調べ、作業
終了時刻が一番早いものを求める。これを次に処理する
作業とする。個体Yが選ばれた場合も同様にする。
【0045】4.これをスケジュールが完了するまで繰
り返す。
【0046】なお、上記スケジュール計算部の処理にお
ける3(a)は、突然変異に相当し、3(b)は交叉処
理に相当する。
【0047】また、個体Xの最長経路は個体X中最もボ
トルネックとなる作業の集合である。なぜなら、もし最
長経路上の作業の処理順序が現在のものと違っていれ
ば、現在の最長経路は存在せず、スケジュールはより短
い総作業時間を持つ可能性があるからである。上記3
(b)で個体Xの最長経路上にある作業の個数がコンフ
リクト集合中半数以上の場合に個体Yにより作業を選択
する理由は、個体Xの最長経路と関係のある部分はでき
るだけ個体Yより遺伝させ、そうでない部分は個体Xよ
り遺伝させることによって、新しい個体は個体Xとは異
なる最長経路を持つことになり、個体Xより優秀な個体
が生成される可能性を高めるからである。交叉の結果優
秀な個体が生成され易くなることによって、個体集団中
の優秀な個体の割合が増加し、それらが再び交叉時の親
として選択されるため、更に優秀な個体が生成され続け
ることになる。その結果高速に準最適解を求めることが
可能になる。
【0048】
【実施例】以下、図面を用いて本発明の実施例を説明す
る。
【0049】図1は、本発明の一実施例に係わるジョブ
ショップスケジューリング装置の構成を示すブロック図
である。図1において、1は問題データおよび遺伝的ア
ルゴリズムのパラメータを入力する入力部、2は初期個
体集団を構成するランダムスケジュールを生成する初期
個体集団生成部、3はスケジュールの最長経路と最長経
路上の作業を計算する最長経路計算部、4は基礎になる
2つのスケジュールから新たなスケジュールを生成する
スケジュール計算部、5は個体集団から高い評価値に応
じてランダムに2つの個体を選択し、スケジュール計算
部4へ入力し、スケジュール計算部4から新たなスケジ
ュールを新たな個体として受け取る交叉処理部、6は交
叉処理部5で生成された新たな個体と個体集団中もっと
も評価値の悪い個体との評価値を比較し、新たな個体の
評価値の方が優れている場合は個体を入れ換える個体集
団更新部、7は問題データ、遺伝的アルゴリズムのパラ
メータ、および処理途中や最終結果の個体集団を格納す
るメモリ、8はこれら各部の動作を制御する制御部であ
る。ここで、問題データとは、仕事毎に割り当てるべき
機械とその加工時間を割り当て順に規定したものであ
る。
【0050】次に、図2に示すフローチャートを参照し
て、図1に示すジョブショップスケジューリング装置の
全体的な処理について説明する。なお、図2において、
実線は処理の流れを示し、点線はサブルーチンを示して
いる。
【0051】まず、入力部1に問題データである、仕事
(数はN)、機械(数はM)、各作業の技術的順序、加
工時間、また遺伝的アルゴリズムのパラメータである個
体数P、突然変異率Mr、全処理の終了条件が入力さ
れ、メモリ7に格納される(ステップ11)。全処理の
終了条件は、「一連の処理の繰り返し回数がLoop回に達
するか、個体集団中の個体が全て同一の個体になったら
終了する」という形で与えられる。
【0052】次に、初期個体集団生成部2がP個のラン
ダムな個体(ランダムスケジュールを持つ個体)を生成
する(ステップ12)。これは、初期個体集団生成部2
が後述するスケジュール計算部4をサブルーチンとして
呼び、スケジュール計算部4が生成したスケジュール
と、それぞれの評価値を受け取ることで行う。このと
き、初期個体集団生成部2はスケジュール計算部4に入
力として、何も値の入っていない空のスケジュールの個
体の対を与える。生成された初期個体集団はメモリ7に
格納される。
【0053】それから、交叉処理部5がメモリ7上の個
体集団から高い評価値に応じて2つの個体を選択し、こ
のペアをスケジュール計算部4に入力として与え、スケ
ジュール計算部4から出力として新しい個体を受け取る
(ステップ13)。
【0054】個体集団更新部6が評価値をもとに個体集
団の更新を行い、その結果新しい個体集団を得て、メモ
リ7に格納する(ステップ14)。
【0055】そして、個体集団更新部6による個体集団
の更新の結果、終了条件を満たしているか否かをチェッ
クし(ステップ15)、満たしていたならば、メモリ7
上の個体集団を出力して全ての処理を終了する。
【0056】一方、終了条件を満足しない場合(ステッ
プ15でNO)、ステップ13に戻り、再び交叉処理部
5の処理を行う。
【0057】図3は、スケジュール計算部4の処理を示
すフローチャートである。同図に示す入力スケジュール
格納部27、最長経路格納部28、コンフリクト集合格
納部29および部分スケジュール格納部30はメモリ7
上に設けられるものである。なお、図3において、実線
は処理の流れを示し、点線はデータの流れを示す。
【0058】図3に示すスケジュール計算部4の処理に
おいては、まずスケジュール計算部4は、初期個体集団
生成部2、交叉処理部5から2つの個体(スケジュー
ル)を入力として受け取る(ステップ21)。この2つ
の個体をここではmom,dadとする。入力された個
体(スケジュール)は入力スケジュール格納部27に格
納する。次に、GT法により、コンフリクト集合を求
め、コンフリクト集合格納部29に格納する(ステップ
23)。また、最長経路計算部3がmomに対する最長
経路と、最長経路上の作業を計算し、最長経路格納部2
8に格納する(ステップ22)。
【0059】次に、図4に示したフローチャートに従
い、このコンフリクト集合の中から次に処理する作業を
以下のように選ぶ(ステップ24)。
【0060】図4の次作業選出処理において、momか
つdadがなにも値の入っていない空であるか否かをチ
ェックし(ステップ41)、空である場合は、次に処理
する作業は(初期個体集団作成時)コンフリクト集合の
中から任意に選ぶ(ステップ45)。
【0061】ステップ41のチェックの結果、mom,
dadが空でない場合は、0〜1の乱数を発生させ、そ
れをrとし、r<Mrであるか否かをチェックする(ス
テップ43)。r<Mrの場合は、ステップ45に進
み、次に処理する作業はコンフリクト集合の中から任意
に選ぶ。
【0062】ステップ43のチェックにおいて、r<M
rでない場合には、コンフリクト集合中の作業の内mo
mの最長経路上にある作業の個数を数え、この個数がコ
ンフリクト集合中の作業の個数の半数以上の場合は、p
ar=dad、そうでない場合はpar=momとする
(ステップ47)。コンフリクト集合の全作業中対応す
るparでの作業の作業終了時刻が最も早いものを求
め、その作業を次に処理する作業とする(ステップ4
9)。
【0063】上述した処理で選ばれた作業の処理終了時
刻を部分スケジュール格納部30に格納する。
【0064】上記ステップ23,24の処理をスケジュ
ールが完了するまで繰り返す(ステップ25)。スケジ
ュールが完了すると(ステップ25でYES)、このス
ケジュールと、総作業時間としてスケジュールの成分の
最大値を出力する(ステップ26)。
【0065】最長経路計算部3は従来の技術で説明した
ラベル付けアルゴリズムを用いて最長経路を計算する
(ステップ22)。
【0066】以下、実施例の動作を具体例について説明
する。
【0067】ここでは、一例として、図5に示すような
仕事数6、機械数6のジョブショップスケジューリング
問題を考える。
【0068】1.まず、図5の問題データと、遺伝的ア
ルゴリズムのパラメータである個体集団のサイズ(ここ
では100とする)、突然変異率(ここでは0.1とす
る)を入力部1から入力する。
【0069】2.次に、初期個体集団生成部2がランダ
ムな個体(ランダムスケジュール)100個体を生成す
る。この生成された100個体のうち、例として2個体
のデータ構造を図6に示す。この2個体をmom,da
dとすると、図6の例の場合、mom,dadの総作業
時間である評価値はそれぞれ71,78である。
【0070】3.それから、交叉処理部5が個体集団の
中から高い評価値に応じてランダムに2個体を選択す
る。ここでは、図6の2個体mom,dadがペアにな
ったとする。交叉処理部5はスケジュール計算部4にm
om,dadを入力として渡す。その結果、スケジュー
ル計算部4のスケジューリング処理を開始する。
【0071】スケジュール計算部4では、まず、図7の
ように、出力となる新スケジュールを格納するベクトル
配列kidと、未スケジュールの作業のうち、直ちに処
理可能な作業を格納する配列cutを初期化する。初め
は全くスケジュールされていないためkidは空(即
ち、部分スケジュールは空)、cutは各仕事に関する
技術的順序が最初である作業が格納されている。cut
において各作業は(i,j)で表され、仕事iをj番目
に処理する機械上での作業を表す。また、添字の中は最
早完了時刻、*はその作業が最長経路上にあることを示
す。図7の配列cutは、図5の1列目を示している。
【0072】(a)まず、コンフリクト集合confを
求める。すなわち、図7でcut中、最早完了時刻が最
も早いものは、(1,1)1 であって、これと同一機械
(この例では機械3)で加工され、加工時間帯が重複す
る作業全体が図7に示すconfである。
【0073】(b)次に処理する作業は以下のように選
ぶ。まず、(mom,dad)が空であるかどうかをチ
ェックする。(mom,dad)に何も値が格納されて
いない場合、すなわち空のときは、単にconfの中か
ら任意に一つ選ぶ。図7の例では(mom,dad)は
空でないので、次のようにする。
【0074】(c)0<r<1なる乱数rを発生させ
る。rの値が予め定めた突然変異率(ここでは0.1)
より小さければconfから任意に作業を1つ選び、最
早終了時刻通りにスケジュールする。(このとき突然変
異が起こった。) (d)ここでは、r>0.1とする。その場合は処理す
る作業を決定するため、confの作業中最長経路上に
あるものの個数を数え、それに基づきmom,dadの
一方を選ぶ。この場合、個数は0であり、confの作
業全体の半数に達していないのでmomを選ぶ。
【0075】(e)confの作業のそれぞれに対し、
momにおいて処理終了時刻が最小となる作業を求め
る。図7では(1,1)1 が該当する。そこで(1,
1)1 をkidにおいて最早終了時刻どおりにスケジュ
ールする。この結果、部分スケジュール、cut,co
nfは図8のようになる。
【0076】ここで、スケジュール作業がある程度進ん
で、今、9番目の作業をスケジュールしているとする。
図9に現在の部分スケジュールの状況と、配列cut,
confの状態を示す。
【0077】(a)まずコンフリクト集合confを求
める。図9でcut中、最早完了時刻が最も早いもの
は、(6,3)15であって、これと同一機械(この例で
は機械6)で加工され、加工時間帯が重複する作業全体
が図9に示すconfである。
【0078】(b)0<r<1なる乱数rを発生させ
る。rの値があらかじめ定めた突然変異率(ここでは
0.1)より小さければ、confから任意に作業を一
つ選び、最早終了時刻どおりにスケジュールする。(こ
の時突然変異が起こった。) (c)ここでもr>0.1とする。次に処理する作業を
決定するため、confの作業中最長経路上にあるもの
の個数を数え、それに基づきmom,dadの一方を選
ぶ。この場合最長経路上にある作業の個数は全体の半数
に達するので、dadを選択する。
【0079】(d)confの作業のそれぞれに対し、
dadにおいて処理終了時刻が最小となる作業を求め
る。図9では(3,3)18が該当する。そこで(3,
3)18をkidにおいて最早終了時刻どおりにスケジュ
ールする。この結果、部分スケジュール、cut,co
nfは図10のようになる。
【0080】4.以上の処理を全作業が終了するまで繰
り返して、最終的に得られたスケジュールが図11のk
idである。
【0081】mom,dadの評価値がそれぞれ71,
78であるのに対して、kidの評価値である総作業時
間は66である。ちなみにmomとkidの間の作業処
理順序の違いに着目した距離(経路の違い)は7、da
dとkidの間の距離は19であり、kidはスケジュ
ール全体としてmomに近いといえる。しかしながら、
momの最長経路上の作業の処理順序にのみ着目した距
離ではmom−kid間が4、dad−kid間が2で
あり、逆転している。(ちなみにmom−dad間は
4。)この小規模の問題では、あまり顕著な傾向は現れ
ないが、全体としてはmomに近く、momの最長経路
上の作業に関してはdadに近いスケジュールが得られ
ていることがわかる。
【0082】個体集団更新部6はkidの評価値66を
もとに個体集団の更新を行う。個体集団更新部6は個体
集団中最も評価値の低い個体を検索し、その個体の評価
値とkidの評価値を比較する。比較の結果、kidの
評価値の方が良い場合は評価値の低い個体の代わりにk
idをメモリ7に格納する。そうでない場合は、何もし
ない。処理は再び交叉処理部5へ進む。
【0083】以上の処理全体を予め決めておいた繰り返
し回数に達するか、個体集団全体が全て同じ個体になる
まで繰り返す。図12に最終的に得られる解を例として
示す。
【0084】
【発明の効果】以上説明したように、本発明によれば、
基礎になる2つのスケジュールから新たなスケジュール
を生成する手段を、まずコンフリクト集合を生成し、一
方の親の最長経路と、最長経路上の作業を求め、このコ
ンフリクト集合の作業のうち最長経路上にあるものの割
合が半数に達しない場合、最長経路計算に用いた親を選
択し、そうでない場合、もう一方の親を選択するという
ようにコンフリクト集合から次に処理する作業を選択す
る。そして、コンフリクト集合の各作業のうち、選択さ
れた個体で最も早く処理されている作業と対応する作業
を選ぶという方法をとり、これをスケジュールが完成す
るまで繰り返すというように定める。上記スケジュール
生成手段が遺伝的アルゴリズムの交叉処理を実現する。
以上により、ジョブショップスケジューリング問題への
遺伝的アルゴリズムの適用を可能にし、これによって大
規模な問題の良質な解を高速に求めることが可能であ
る。
【図面の簡単な説明】
【図1】本発明の一実施例に係わるジョブショップスケ
ジューリング装置の構成を示すブロック図である。
【図2】図1に示すジョブショップスケジューリング装
置の全体的な処理を示すフローチャートである。
【図3】図1のジョブショップスケジューリング装置に
使用されているスケジュール計算部の処理を示すフロー
チャートである。
【図4】コンフリクト集合の中から次に処理する作業を
選択する処理を示すフローチャートである。
【図5】ジョブショップスケジューリング問題のデータ
を示す図である。
【図6】個体のデータ構造を示す図である。
【図7】部分スケジュールおよびcutの初期化を示す
図である。
【図8】1番目の作業スケジュール後のcut,con
fを示す図である。
【図9】9番目の作業スケジュール中のcut,con
fを示す図である。
【図10】9番目の作業スケジュール後のcut,co
nfを示す図である。
【図11】交叉の結果得られたスケジュールを示す図で
ある。
【図12】最終的に得られた解を示す図である。
【符号の説明】
1 入力部 2 初期個体集団生成部 3 最長経路計算部 4 スケジュール計算部 5 交叉処理部 6 個体集団更新部 7 メモリ 8 制御部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数の機械上で所定の順序で所定の加工
    時間をかけて処理されるべき複数の作業から構成される
    仕事が複数個与えられたとき、全仕事の作業時間の総和
    が最小に近くなるように作業の処理順序を決定するジョ
    ブショップスケジューリング装置において、 各仕事に関して、作業を実施する機械と作業終了時刻の
    組を作業順に並べたリストを内部状態に持つ個体を解と
    して表現し、各仕事中の各作業の処理順序である技術的
    順序、該作業を処理する機械、該機械上での該作業の加
    工時間を予め与え、前記技術的順序が最も早い作業の集
    合cを求め、集合c中の作業に対して、作業の完了時刻
    の初期値として該作業の加工時間を設定し、最も完了時
    刻が早い作業を求め、該作業と同一機械上で処理され、
    かつ加工時間帯が重複する作業の集合をコンフリクト集
    合として求め、該集合中の任意の作業aを選んでスケジ
    ュール化し、集合cから作業aを取り除き、代わりにも
    しあれば該作業の技術的順序が次の作業bを加え、作業
    bを処理する機械上でスケジュール済みの最後の作業の
    完了時刻と、作業aの完了時刻tの大きい方に、作業b
    の加工時間を加えたものを作業bの完了時刻とし、もし
    集合c中で作業aと同一の機械上で処理される作業の完
    了時刻が完了時刻tと該作業の加工時間との和t’より
    早い場合は該作業完了時刻をt’に変更し、未スケジュ
    ールの作業がなくなるまで上記の処理を繰り返すという
    Giffler & Thompson によるアクティブスケジュール生
    成法により有限数の初期個体集団を作成する初期個体集
    団生成部と、 0から1の間の値を有する突然変異率を予め定め、個体
    の総作業時間を評価値として定め、該評価値の高いもの
    から前記初期個体集団の中から2つの個体X,Yを選択
    し、一方の個体Xに対して、作業の完了時間が総作業時
    間に一致する作業に至る経路である最長経路上にある作
    業を特定する第1のステップと、前記コンフリクト集合
    を求め、0から1の間の乱数を発生させ、該乱数値が前
    記突然変異率より小さい場合は、該コンフリクト集合の
    中から任意の1個を選択して、次の処理対象とし、それ
    以外の場合は、個体Xの最長経路上にある作業の個数が
    該コンフリクト集合中の作業数の半数以上を占めたら、
    個体Yを選択し、半数に達しなかったら個体Xを選択
    し、該コンフリクト集合中の作業の中で、選択した個体
    中での処理順序が最も早い作業を次の処理対象とする第
    2のステップとを備え、第1のステップを実行後、第2
    のステップをスケジュール化が完了するまで繰り返し、
    完成した該スケジュールを内部状態に持つ新規個体を最
    終解の候補として作成する交叉処理部と、 前記新規個体の評価値を測定し、前記初期個体集団中の
    最低の評価値を持つ個体の評価値と比較し、前者の評価
    値が後者の評価値より優れていれば、後者と前者を入れ
    替えて前記初期個体集団を更新する個体集団更新部と、 予め定めた繰り返し回数に達するか前記初期個体集団中
    の個体が全て同一の個体になったという終了条件を予め
    定め、該終了条件が満足されない場合は、前記スケジュ
    ール計算部と前記個体集団更新部の処理を繰り返す制御
    部とを有することを特徴とするジョブショップスケジュ
    ーリング装置。
JP7344594A 1994-04-12 1994-04-12 ジョブショップスケジューリング装置 Pending JPH07282144A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7344594A JPH07282144A (ja) 1994-04-12 1994-04-12 ジョブショップスケジューリング装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7344594A JPH07282144A (ja) 1994-04-12 1994-04-12 ジョブショップスケジューリング装置

Publications (1)

Publication Number Publication Date
JPH07282144A true JPH07282144A (ja) 1995-10-27

Family

ID=13518440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7344594A Pending JPH07282144A (ja) 1994-04-12 1994-04-12 ジョブショップスケジューリング装置

Country Status (1)

Country Link
JP (1) JPH07282144A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000038092A1 (en) * 1998-12-18 2000-06-29 Impresse Corporation Methods for creating aggregate plans useful in manufacturing environments
WO2001071440A1 (de) * 2000-03-21 2001-09-27 Abb Research Ltd. System und verfahren zur ermittlung der optimalen betriebsgeschwindigkeit einer produktionsmaschine
US8099311B2 (en) * 2007-02-23 2012-01-17 CrowdEngineering, Inc. System and method for routing tasks to a user in a workforce
CN107392515A (zh) * 2017-06-01 2017-11-24 经纬软信科技无锡有限公司 基于遗传算法的粗细联输送系统库存管理与线路优化方法
CN114819420A (zh) * 2022-06-29 2022-07-29 弥费实业(上海)有限公司 基于冲突消解的天车运输路径规划方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000038092A1 (en) * 1998-12-18 2000-06-29 Impresse Corporation Methods for creating aggregate plans useful in manufacturing environments
WO2001071440A1 (de) * 2000-03-21 2001-09-27 Abb Research Ltd. System und verfahren zur ermittlung der optimalen betriebsgeschwindigkeit einer produktionsmaschine
US6701209B2 (en) 2000-03-21 2004-03-02 Abb Research Ltd System and method for ascertaining the optimum operating speed of a production machine
US8099311B2 (en) * 2007-02-23 2012-01-17 CrowdEngineering, Inc. System and method for routing tasks to a user in a workforce
CN107392515A (zh) * 2017-06-01 2017-11-24 经纬软信科技无锡有限公司 基于遗传算法的粗细联输送系统库存管理与线路优化方法
CN114819420A (zh) * 2022-06-29 2022-07-29 弥费实业(上海)有限公司 基于冲突消解的天车运输路径规划方法

Similar Documents

Publication Publication Date Title
Shahvari et al. Hybrid flow shop batching and scheduling with a bi-criteria objective
MXPA97002050A (en) Filter system of priority row and metodode operac
İnkaya et al. Coordinated scheduling of the transfer lots in an assembly-type supply chain: a genetic algorithm approach
Li et al. Type II assembly line balancing problem with multi-operators
WO2023111526A1 (en) Optimisation-based scheduling method and system for a plurality of manufacturing machines
Uludağ et al. A hybrid multi-population framework for dynamic environments combining online and offline learning
JPH07282144A (ja) ジョブショップスケジューリング装置
Ben-Arieh et al. Knowledge based routing and sequencing for discrete part production
Grobler-Debska et al. Idea of switching algebraic-logical models in flow-shop scheduling problem with defects
Mousavi et al. An efficient bi-objective heuristic for scheduling of hybrid flow shops
Fung et al. A multi-stage methodology for virtual cell formation oriented agile manufacturing
Kim et al. An iterative approach to system setup problems in flexible manufacturing systems
JPH09282359A (ja) ジョブショップスケジューリング装置
JPH05225203A (ja) ジョブショップスケジューリング問題解決方式
Goli et al. A new mathematical model for production and delivery scheduling problem with common cycle in a supply chain with open-shop system
JPH08315028A (ja) ジョブショップスケジューリング方法及び装置
Keung et al. An intelligent hierarchical workstation control model for FMS
Hennet A common cycle approach to lot-scheduling in multistage manufacturing systems
Oleśków-Szłapka et al. An optimization approach for scheduling and lot sizing problems in electromechanical industry using GA-based method
Keddari et al. A Makespan Minimization Hybrid Algorithm for Flexible Job Shop System Scheduling
JPH04342059A (ja) 組み合わせ最適化装置
Bazizi et al. Stochastic Analysis of the (s, Q) Continuous Review Inventory System with Retrial Demands
Nakade et al. A near-optimal policy and its comparison with base stock and Kanban policies in a two-stage production and inventory system with advance demand information
US6795814B1 (en) System and method for CMOS integration
Nordin et al. Improved disjunctive programming approach with Tabu search algorithm in shop scheduling problem