JP4987275B2 - 生産スケジューリング装置及び生産スケジューリング方法、並びにプログラム - Google Patents

生産スケジューリング装置及び生産スケジューリング方法、並びにプログラム Download PDF

Info

Publication number
JP4987275B2
JP4987275B2 JP2005290624A JP2005290624A JP4987275B2 JP 4987275 B2 JP4987275 B2 JP 4987275B2 JP 2005290624 A JP2005290624 A JP 2005290624A JP 2005290624 A JP2005290624 A JP 2005290624A JP 4987275 B2 JP4987275 B2 JP 4987275B2
Authority
JP
Japan
Prior art keywords
processing order
jobs
job
processing
schedule
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.)
Expired - Fee Related
Application number
JP2005290624A
Other languages
English (en)
Other versions
JP2007102435A (ja
Inventor
喜久 大塚
都 西野
豊裕 梅田
哲也 高橋
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.)
Kobe Steel Ltd
Original Assignee
Kobe Steel Ltd
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 Kobe Steel Ltd filed Critical Kobe Steel Ltd
Priority to JP2005290624A priority Critical patent/JP4987275B2/ja
Publication of JP2007102435A publication Critical patent/JP2007102435A/ja
Application granted granted Critical
Publication of JP4987275B2 publication Critical patent/JP4987275B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

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

Description

本発明は、資源に割り付けるスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング装置及び生産スケジューリング方法、並びにプログラムに関する。
通常、一つの製品は複数の工程を経て製造される。ここで、各製品の各工程での処理をジョブと言う。即ち、一つの製品は複数のジョブを実施することにより、製品として完成する。そして、これらの製品群を製造する工場では、通常は複数の資源(設備や人)を有している。従って、工場では複数のジョブが複数の資源で同時に処理されている場合が多い。この工場において、各資源で処理するジョブの順序を決めてスケジュールを作成する生産スケジューリングを最適なものとするには、スケジュール対象とする期間におけるスケジュール対象のジョブ全体における最適性を考慮すること、即ち、全ての資源や工程を含めた工場全体の最適性を考慮することが好ましい。しかし、工場全体の最適性を考慮した生産スケジューリングを作成するには、その組合せの数が膨大なものとなるため、多くの場合は実現できていない。
このため、従来から、各工程(資源)で適切となる生産スケジューリングを行い、必要に応じて、前後の工程(資源)のを調整する技術が開発されている。また、近年は、ボトルネックとなる工程(資源)に着目して、この工程の最適スケジューリングを行い、その他の工程のスケジュールはボトルネック工程の生産スケジューリング結果を展開する技術も注目されている。
例えば、特許文献1には、ディスパッチングルールに基づいて生産スケジューリングを行う技術が開示されている。具体的には、下記の手順に従い、生産スケジューリングを行う。尚、図11にディスパッチングルールに基づく並び順制御の一例を示す。
1.資源に対してディスパッチングルールを設定する。
2.ディスパッチングルールに対応する複数のディスパッチングキーを指定する。
3.未割付けのジョブがなくなるまで下記の手順を繰り返す。
3−1.資源へのジョブの割付けにおいて、割付可能なジョブの各々に対してディスパッチングキーの値と重みの値を用いて評価値を求める。
3−2.評価値の最も高い候補のジョブを割付ける。
また、特許文献2には、メタヒューリスティクスに基づいて生産スケジューリング行う技術が開示されている。具体的には、下記の手順に従い、生産スケジューリングを行う。尚、図12にGA(遺伝的アルゴリズム)法における構成例を、図13に図12の個体に対応するスケジュールを示す。
1.スケジュール対象の問題を、オーダ数を長さとする染色体と複数種類の遺伝子によりモデル化する。
2.モデル化された問題に対する解となる個体を作成することにより、個体集団を作成する。
3.下記の操作を繰り返す。
3−1.各個体を評価しつつ評価結果に基づいて個体を選択する。
3−2.選択された個体間で考査を行う。
特開2002−373013号公報 特開平8−235254号公報
ここで、従来の生産スケジューリング技術では、単一工程(資源)での最適な生産スケジューリングを行うことが求められているが、通常は単一工程でもその工程の組合せの数は膨大であり、適切なスケジュールを短時間で作成することが困難である。
例えば、特許文献1に示すようなディスパッチングルールに基づく生産スケジューリングの技術において、資源が複数の場合を想定しているが、資源数を1としてジョブを当該資源のジョブだけに限定すれば、当該資源における処理順を決定する生産スケジューリングの技術となる。そして、資源数を1としてジョブを当該資源のジョブだけに限定した場合、一つのジョブを割付ける際に、割付け候補のジョブに対する評価点のみで割付けるジョブを決めている。従って、計算時間は早く、また、個々のジョブに対して判断すれば、比較的適切なスケジュールとなる。しかしながら、当該ジョブを割付けた後の処理順については考慮しないために、最終的には適切なスケジュール結果が得られない場合も多い。また、個々のジョブを割付けるためのルールや評価式が設定できるが、処理順に対する評価(即ち、生産スケジューリングの結果に対する評価)を設定することはできない。
また、特許文献2に示すようなメタヒューリスティクスに基づく生産スケジューリングの技術において、資源が複数の場合を想定しているが、資源数を1としてジョブを当該資源のジョブだけに限定すれば、当該資源における処理順を決定する生産スケジューリングの技術となる。そして、資源数を1としてジョブを当該資源のジョブだけに限定した場合、遺伝的アルゴリズムを用い、解の候補である個体の集団に対して遺伝操作を加えることを繰り返して、より良い解を探索する。しかしながら、この検索は確率的な検索であるために、遺伝操作の処理を膨大な回数繰り返すのが通常であり、且つ、遺伝操作の処理を膨大な回数繰り返したとしても適切な組合せが探索できる保証はない。
本発明は、上記問題点に鑑みてなされたものであり、適切なスケジュールを短時間で作成することができる生産スケジューリング装置及び生産スケジューリング方法、並びにプログラムを提供するものである。
課題を解決するための手段及び効果
上記課題を解決するために、本発明に係る生産スケジューリング装置は、記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング装置であって、前記記憶装置は、入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報を記憶し、前記演算装置は、所定のスケジュール目的に基づいて、割り付け優先度を決定する割り付け優先度決定機能と、前記割り付け優先度に基づいて、予め設定した操業上の制約である操業制約を満たす前記ジョブの処理順の初期解を生成して、処理順初期解として前記記憶装置に記憶させる処理順初期解作成機能と、前記ジョブの全ての処理順を決定する処理順決定機能と、を備え、前記処理順決定機能は、前記処理順初期解のジョブの処理順の先頭から、処理順が未決定のジョブを予め設定した個数獲得し、部分計画対象ジョブとして前記記憶装置に記憶させる部分計画対象ジョブ獲得機能と、前記部分計画対象ジョブの処理順に対して、所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価機能と、前記部分計画対象ジョブの全ての順列の中で、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たす全ての処理順に対して前記処理順評価機能で評価値を計算し、前記全ての処理順の中から前記評価値が最適となる前記部分計画対象ジョブの処理順を選択する部分計画最適計算機能と、前記部分計画最適計算機能で選択された前記部分計画対象ジョブの処理順の初めから1つまたは複数のジョブを、当該処理順として決定する部分計画処理順決定機能と、を備え、前記ジョブの全ての処理順が決定するまで、前記部分計画対象ジョブ獲得機能、前記処理順評価機能、前記部分計画最適計算機能、及び、前記部分計画処理順決定機能の処理を繰り返すことを特徴とする。
本発明に係る生産スケジューリング方法は、記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング方法であって、前記演算装置により実行される処理が、入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップと、所定のスケジュール目的に基づいて、割り付け優先度を決定する割り付け優先度決定ステップと、前記割り付け優先度に基づいて、予め設定した操業上の制約である操業制約を満たす前記ジョブの処理順の初期解を生成して、処理順初期解として前記記憶装置に記憶させる処理順初期解作成ステップと、前記ジョブの全ての処理順を決定する処理順決定ステップと、を備え、前記処理順決定ステップは、前記処理順初期解のジョブの処理順の先頭から、処理順が未決定のジョブを予め設定した個数獲得し、部分計画対象ジョブとして前記記憶装置に記憶させる部分計画対象ジョブ獲得ステップと、前記部分計画対象ジョブの処理順に対して、所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価ステップと、前記部分計画対象ジョブの全ての順列の中で、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たす全ての処理順に対して前記処理順評価ステップで評価値を計算し、前記全ての処理順の中から前記評価値が最適となる前記部分計画対象ジョブの処理順を選択する部分計画最適計算ステップと、前記部分計画最適計算ステップで選択された前記部分計画対象ジョブの処理順の初めから1つまたは複数のジョブを、当該処理順として決定する部分計画処理順決定ステップと、を備え、前記ジョブの全ての処理順が決定するまで、前記部分計画対象ジョブ獲得ステップ、前記処理順評価ステップ、前記部分計画最適計算ステップ、及び、前記部分計画処理順決定ステップの処理を繰り返すことを特徴とする。
本発明に係るプログラムは、記憶装置と演算装置と入力装置を有するコンピュータにおいて、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成するプログラムであって、記憶装置にインストールして、演算装置により読み出して実行される処理が、入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップ、所定のスケジュール目的に基づいて、割り付け優先度を決定する割り付け優先度決定ステップ、前記割り付け優先度に基づいて、予め設定した操業上の制約である操業制約を満たす前記ジョブの処理順の初期解を生成して、処理順初期解として前記記憶装置に記憶させる処理順初期解作成ステップ、前記ジョブの全ての処理順を決定する処理順決定ステップ、を備え、前記処理順決定ステップは、前記処理順初期解のジョブの処理順の先頭から、処理順が未決定のジョブを予め設定した個数獲得し、部分計画対象ジョブとして前記記憶装置に記憶させる部分計画対象ジョブ獲得ステップ、前記部分計画対象ジョブの処理順に対して、所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価ステップ、前記部分計画対象ジョブの全ての順列の中で、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たす全ての処理順に対して前記処理順評価ステップで評価値を計算し、前記全ての処理順の中から前記評価値が最適となる前記部分計画対象ジョブの処理順を選択する部分計画最適計算ステップ、前記部分計画最適計算ステップで選択された前記部分計画対象ジョブの処理順の初めから1つまたは複数のジョブを、当該処理順として決定する部分計画処理順決定ステップ、を備え、前記ジョブの全ての処理順が決定するまで、前記部分計画対象ジョブ獲得ステップ、前記処理順評価ステップ、前記部分計画最適計算ステップ、及び、前記部分計画処理順決定ステップの処理を繰り返すことを特徴とする。
これによると、コンピュータにおいて、スケジュール対象の全てのジョブの最適な処理順を求めず、割り付け優先度に基づいて生成された予め設定した操業上の制約である操業制約を満たすジョブの処理順の初期解を元に取り出した部分計画対象ジョブの全ての順列の中で、操業制約及び予め設定した処理順に対する制約である処理順制約を満たす全ての処理順に基づいて最適な処理順を求めていることから、ジョブの数を少なくしてその順列の数を減らして、部分計画対象ジョブの全ての順列を評価することが容易にできる。また、部分計画対象ジョブに対する最適な処理順の中から、最初の1又は複数のジョブの処理順のみ決定していることから、当該処理順の後半の処理順を決定することによる部分計画対象ジョブ以外のジョブに対して及ぼす影響を避けることができる。そして、初期解を元に取り出した部分計画対象ジョブに対して最適な処理順を求め、部分計画対象ジョブに対する最適な処理順の中から、最初の1又は複数のジョブの処理順のみ決定する操作を繰り返して、スケジュール対象のジョブの処理順を順次求め、適切なスケジュールを短時間で作成することができる。
ここで、本発明に係る生産スケジューリング装置は、予め設定した終了条件を満たすまで、前記記憶装置に記憶されている前記処理順初期解に替えて、前記処理順決定手段で決定した前記ジョブの処理順を前記処理順初期解として記憶させ、前記記憶装置に記憶される前記処理順初期解を再設定する処理順初期解再設定機能、を更に備え、前記処理順初期解再設定機能設定した前記処理順初期解に基づいて、再度、前記処理順決定機能において前記ジョブの全ての処理順を決定して良い。
本発明に係る生産スケジューリング方法は、予め設定した終了条件を満たすまで、前記記憶装置に記憶されている前記処理順初期解に替えて、前記処理順決定手段で決定した前記ジョブの処理順を前記処理順初期解として記憶させ、前記記憶装置に記憶される前記処理順初期解を再設定する処理順初期解再設定ステップ、を更に備え、前記処理順初期解再設定ステップで設定した前記処理順初期解に基づいて、再度、前記処理順決定ステップにおいて前記ジョブの全ての処理順を決定して良い。
本発明に係るプログラムは、予め設定した終了条件を満たすまで、前記記憶装置に記憶されている前記処理順初期解に替えて、前記処理順決定手段で決定した前記ジョブの処理順を前記処理順初期解として記憶させ、前記記憶装置に記憶される前記処理順初期解を再設定する処理順初期解再設定ステップ、を更に備え、前記処理順初期解再設定ステップで設定した前記処理順初期解に基づいて、再度、前記処理順決定ステップにおいて前記ジョブの全ての処理順を決定して良い。
これにより、初期解を元に取り出した部分計画対象ジョブに対して最適な処理順を求め、部分計画対象ジョブに対する最適な処理順の中から、最初の1又は複数のジョブの処理順のみ決定する操作を、予め設定した終了条件を満たすまで繰り返して、順次求めたスケジュール対象のジョブの処理順を初期解にして、再度、スケジュール対象のジョブの処理順を順次決定する。従って、初期解に依存することなく、スケジュール対象のジョブの処理順を順次求め、より適切なスケジュールを短時間で作成することができる。
また、本発明に係る生産スケジューリング装置は、記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング装置であって、前記記憶装置は、入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報を記憶し、前記演算装置は、複数存在する所定のスケジュール目的に基づいて、前記所定のスケジュール目的の数に対応した割り付け優先度を決定する割り付け優先度決定機能と、前記複数存在する所定のスケジュール目的に対応した前記割り付け優先度に基づいて、予め設定した操業上の制約である操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、前記ジョブの内の処理順が未決定の未決定ジョブの処理順を計算する、前記所定のスケジュール目的の数に対応した複数の処理順計算機能と、前記複数存在する所定のスケジュール目的のそれぞれに対応する複数の前記未決定ジョブの処理順に対して、前記複数存在する所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価機能と、前記複数存在する所定のスケジュール目的のそれぞれに対応する複数の前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順の始めのジョブを次順のジョブとして決定する処理順決定機能と、を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算機能、前記処理順評価機能、及び、前記処理順決定機能の処理を繰り返すことを特徴とする。
本発明に係る生産スケジューリング方法は、記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング方法であって、前記演算装置により実行される処理が、入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップと、複数存在する所定のスケジュール目的に基づいて、前記所定のスケジュール目的の数に対応した割り付け優先度を決定する割り付け優先度決定ステップと、前記複数存在する所定のスケジュール目的に対応した前記割り付け優先度に基づいて、予め設定した操業上の制約である操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、前記ジョブの内の処理順が未決定の未決定ジョブの処理順を計算する、前記所定のスケジュール目的の数に対応した複数の処理順計算ステップと、前記複数存在する所定のスケジュール目的それぞれに対応する複数の前記未決定ジョブの処理順に基づいて、前記複数存在するスケジュール目的に基づいて予め設定した評価値を計算する処理順評価ステップと、前記複数存在する所定のスケジュール目的のそれぞれに対応する複数の前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順の始めのジョブを次順のジョブとして決定する処理順決定ステップと、を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算ステップ、前記処理順評価ステップ、及び、前記処理順決定ステップの処理を繰り返すことを特徴とする。
本発明に係るプログラムは、記憶装置と演算装置と入力装置を有するコンピュータにおいて、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成するプログラムであって、記憶装置にインストールして、演算装置により読み出して実行される処理が、入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップ、複数存在する所定のスケジュール目的に基づいて、前記所定のスケジュール目的の数に対応した割り付け優先度を決定する割り付け優先度決定ステップ、前記複数存在する所定のスケジュール目的に対応した前記割り付け優先度に基づいて、予め設定した操業上の制約である操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、前記ジョブの内の処理順が未決定の未決定ジョブの処理順を計算する、前記所定のスケジュール目的の数に対応した複数の処理順計算ステップ、前記複数存在する所定のスケジュール目的それぞれに対応する複数の前記未決定ジョブの処理順に基づいて、前記複数存在する所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価ステップ、前記複数存在する所定のスケジュール目的のそれぞれに対応する複数の前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順の始めのジョブを次順のジョブとして決定する処理順決定ステップ、を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算ステップ、前記処理順評価ステップ、及び、前記処理順決定ステップの処理を繰り返すことを特徴とする。
これによると、コンピュータにおいて、複数存在する所定のスケジュール目的による割り付け優先度に基づき、予め設定した操業上の制約である操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、複数存在する所定のスケジュール目的に対応した未決定ジョブの処理順を求め、複数存在する所定のスケジュール目的それぞれに対応した処理順全体の評価値を基に、複数存在する所定のスケジュール目的のそれぞれに対応する複数の未決定ジョブの処理順の中から、最も評価値の良かった未決定ジョブの処理順の最初のジョブを次順のジョブとして決定している。また、処理順を1ジョブずつ決定するのは従来技術であるディスパッチングルールに基づく生産スケジューリングの技術と同様であるが、処理順を1ジョブずつ決定するのに際してディスパッチングルールに基づく生産スケジューリングの技術では個々のジョブに対するミクロな観点での評価値を用いるのに対し、処理順を1ジョブずつ決定するのに際して本発明では全ジョブの処理順に対するマクロな観点での評価値を用いている。従って、処理順を1ジョブずつ決定するのに際して全ジョブの処理順に対するマクロな観点での評価値を用い、ジョブの全ての処理順を決定するために(スケジュール目的の数)×(スケジュール対象のジョブの数)だけの処理を行うことで、複数のスケジュール目的を考慮して従来からの生産スケジューリングのノウハウを活用しつつ、適切なスケジュールを短時間で作成することができる。
また、本発明に係る生産スケジューリング装置は、記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング装置であって、前記記憶装置は、入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報を記憶し、前記演算装置は、所定のスケジュール目的に基づいて、割り付け優先度を決定する割り付け優先度決定機能と、前記ジョブの内の処理順が未決定の未決定ジョブで予め設定した操業上の制約である操業制約を満たす全てのジョブをひとつずつ選択して次順のジョブとして仮設定し、前記割り付け優先度に基づき、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、残りの未決定ジョブの処理順を計算する処理順計算機能と、前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順に対して、所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価機能と、前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順における前記仮設定したジョブを次順のジョブとして決定する処理順決定機能と、を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算機能、前記処理順評価機能、及び、前記処理順決定機能の処理を繰り返すことを特徴とする。
本発明に係る生産スケジューリング方法は、記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング方法であって、前記演算装置により実行される処理が、入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップと、所定のスケジュール目的に基づいて、割り付け優先度を決定する割り付け優先度決定ステップと、前記ジョブの内の処理順が未決定の未決定ジョブで予め設定した操業上の制約である操業制約を満たす全てのジョブをひとつずつ選択して次順のジョブとして仮設定し、前記割り付け優先度に基づき、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、残りの未決定ジョブの処理順を計算する処理順計算ステップと、前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順に対して、所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価機能と、前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順における前記仮設定したジョブを次順のジョブとして決定する処理順決定ステップと、を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算ステップ、前記処理順評価ステップ、及び、前記処理順決定ステップの処理を繰り返すことを特徴とする。
本発明に係るプログラムは、記憶装置と演算装置と入力装置を有するコンピュータにおいて、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成するプログラムであって、記憶装置にインストールして、演算装置により読み出して実行される処理が、入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップ、所定のスケジュール目的に基づいて、割り付け優先度を決定する割り付け優先度決定ステップ、前記ジョブの内の処理順が未決定の未決定ジョブで予め設定した操業上の制約である操業制約を満たす全てのジョブをひとつずつ選択して次順のジョブとして仮設定し、前記割り付け優先度に基づき、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、残りの未決定ジョブの処理順を計算する処理順計算ステップ、前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順に対して、所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価機能と、前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順における前記仮設定したジョブを次順のジョブとして決定する処理順決定ステップ、を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算ステップ、前記処理順評価ステップ、及び、前記処理順決定ステップの処理を繰り返すことを特徴とする。
これによると、コンピュータにおいて、未決定ジョブの内で操業制約を満たす全てのジョブを次順のジョブとして仮設定し、所定のスケジュール目的による割り付け優先度に基づき、予め設定した操業上の制約である操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、残りの未決定ジョブの処理順を求め、仮設定したそれぞれのジョブに対応した処理順全体の評価値を基に、仮設定した操業制約を満たす全てのジョブに対応する未決定ジョブの処理順の中から、最も評価値の良かった処理順の仮設定したジョブを次順のジョブとして決定している。また、処理順を1ジョブずつ決定するのは従来技術であるディスパッチングルールに基づく生産スケジューリングの技術と同様であるが、処理順を1ジョブずつ決定するのに際してディスパッチングルールに基づく生産スケジューリングの技術では個々のジョブに対するミクロな観点での評価値を用いるのに対し、処理順を1ジョブずつ決定するのに際して本発明では全ジョブの処理順に対するマクロな観点での評価値を用いている。従って、処理順を1ジョブずつ決定するのに際して全ジョブの処理順に対するマクロな観点での評価値を用い、ジョブの全ての処理順を決定するために(未決定ジョブの内で操業制約を満たすジョブの数の平均)×(スケジュール対象のジョブの数)だけの処理を行うことで、ジョブを漏れなく検討対象としてより適切なスケジュールを短時間で作成することができる。
また、本発明に係る生産スケジューリング装置は、記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング装置であって、前記記憶装置は、入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報を記憶し、前記演算装置は、複数存在する所定のスケジュール目的に基づいて、前記所定のスケジュール目的の数に対応する割り付け優先度を決定する割り付け優先度決定機能と、前記ジョブの内の処理順が未決定の未決定ジョブで予め設定した操業上の制約である操業制約を満たす全てのジョブをひとつずつ選択して次順のジョブとして仮設定し、前記複数存在する所定のスケジュール目的に対応した前記割り付け優先度に基づき、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、残りの未決定ジョブの処理順を計算する、前記所定のスケジュール目的の数に対応した複数の処理順計算機能と、前記複数存在する所定のスケジュール目的のそれぞれに関する前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順に対して、前記複数存在する所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価機能と、前記複数存在する所定のスケジュール目的のそれぞれに関する前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順における前記仮設定したジョブを次順のジョブとして決定する処理順決定機能と、を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算機能、前記処理順評価機能、及び、前記処理順決定機能の処理を繰り返すことを特徴とする。
本発明に係る生産スケジューリング方法は、記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング方法であって、前記演算装置により実行される処理が、入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップと、複数存在する所定のスケジュール目的に基づいて、前記所定のスケジュール目的の数に対応する割り付け優先度を決定する割り付け優先度決定ステップと、前記ジョブの内の処理順が未決定の未決定ジョブで予め設定した操業上の制約である操業制約を満たす全てのジョブをひとつずつ選択して次順のジョブとして仮設定し、前記複数存在する所定のスケジュール目的に対応した前記割り付け優先度に基づき、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、残りの未決定ジョブの処理順を計算する、前記所定のスケジュール目的の数に対応した複数の処理順計算ステップと、前記複数存在する所定のスケジュール目的のそれぞれに関する前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順に対して、前記複数存在する所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価ステップと、前記複数存在する所定のスケジュール目的のそれぞれに関する前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順における前記仮設定したジョブを次順のジョブとして決定する処理順決定ステップと、を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算ステップ、前記処理順評価ステップ、及び、前記処理順決定ステップの処理を繰り返すことを特徴とする。
本発明に係るプログラムは、記憶装置と演算装置と入力装置を有するコンピュータにおいて、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成するプログラムであって、記憶装置にインストールして、演算装置により読み出して実行される処理が、入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップ、複数存在する所定のスケジュール目的に基づいて、前記所定のスケジュール目的の数に対応する割り付け優先度を決定する割り付け優先度決定ステップ、前記ジョブの内の処理順が未決定の未決定ジョブで予め設定した操業上の制約である操業制約を満たす全てのジョブをひとつずつ選択して次順のジョブとして仮設定し、前記複数存在する所定のスケジュール目的に対応した前記割り付け優先度に基づき、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、残りの未決定ジョブの処理順を計算する、前記所定のスケジュール目的の数に対応した複数の処理順計算ステップ、前記複数存在する所定のスケジュール目的のそれぞれに関する前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順に対して、前記複数存在する所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価ステップ、前記複数存在する所定のスケジュール目的のそれぞれに関する前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順における前記仮設定したジョブを次順のジョブとして決定する処理順決定ステップ、を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算ステップ、前記処理順評価ステップ、及び、前記処理順決定ステップの処理を繰り返すことを特徴とする。
これによると、コンピュータにおいて、未決定ジョブの内で操業制約を満たす全てのジョブを次順のジョブとして仮設定し、複数存在する所定のスケジュール目的による割り付け優先度に基づき、予め設定した操業上の制約である操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、複数存在する所定のスケジュール目的に対応した残りの未決定ジョブの処理順を求め、仮設定したそれぞれのジョブの複数存在する所定のスケジュール目的のそれぞれに対応した処理順全体の評価値を基に、複数存在する所定のスケジュール目的のそれぞれに関する仮設定した操業制約を満たす全てのジョブに対応する未決定ジョブの処理順の中から、最も評価値の良かった処理順の仮設定したジョブを次順のジョブとして決定している。また、処理順を1ジョブずつ決定するのは従来技術であるディスパッチングルールに基づく生産スケジューリングの技術と同様であるが、処理順を1ジョブずつ決定するのに際してディスパッチングルールに基づく生産スケジューリングの技術では個々のジョブに対するミクロな観点での評価値を用いるのに対し、処理順を1ジョブずつ決定するのに際して本発明では全ジョブの処理順に対するマクロな観点での評価値を用いている。従って、処理順を1ジョブずつ決定するのに際して全ジョブの処理順に対するマクロな観点での評価値を用い、ジョブの全ての処理順を決定するために(未決定ジョブの内で操業制約を満たすジョブの数の平均)×(スケジュール目的の数)×(スケジュール対象のジョブの数)だけの処理を行うことで、複数のスケジュール目的を考慮して従来からの生産スケジューリングのノウハウを活用しつつ、未決定ジョブを漏れなく検討対象として更に適切なスケジュールを短時間で作成することができる。
尚、本発明に係るプログラムは、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disk)などのリムーバブル型記録媒体やハードディスクなどの固定型記録媒体に記録して配布可能である他、有線又は無線の電気通信手段によってインターネットなどの通信ネットワークを介して配布可能である。
以下、図面を参照しつつ、本発明である生産スケジューリング装置及び生産スケジューリング方法、並びにプログラムを実施するための最良の形態について、具体的な一例に即して説明する。
まず、本実施形態において、対象工程は図1に示すように1工程であり、資源は図1に示す1つの設備であり、ジョブを順次処理していく。図1は、本実施形態における対象工程を示す図である。
また、ジョブ種は表1に示すように1、2、3の3種類であり、ジョブ種により処理時間が異なる。
Figure 0004987275
そして、表2に示すように、同じジョブ種のジョブが連続する場合は段取り替え時間が不要であるが、異なるジョブ種のジョブに切り替える場合は、前後のジョブ種に応じた段取り替え時間を要する。尚、表2において、「ジョブ種1」が前工程のジョブ種であり、「ジョブ種2」が後工程のジョブ種である。
Figure 0004987275
また、表3に示すように、スケジュール対象とするジョブはJ個のジョブ(ジョブ番号j=1〜Jであり、表3の例ではJ=30)であり、それぞれ納期が設定されている。
Figure 0004987275
また、本実施形態においては、処理順が既に決定しているジョブ(表3以外のジョブ)の中の最終ジョブ(ジョブ番号j=0)のジョブ種は1で、時刻0に終了する。
[第一の実施形態]
第一の実施形態に係る生産スケジューリング装置及び生産スケジューリング方法、並びにプログラムについて、説明する。まず、第一の実施形態に係る生産スケジューリング装置について、図2に基づいて説明する。図2は、第一の実施形態に係る生産スケジューリング装置のブロック図である。
図1に示すように、生産スケジューリング装置1は、記憶装置10と、演算装置20と、インターフェース装置30とから構成される。そして、記憶装置10は、ジョブ情報11と、処理順初期解12と、部分計画対象ジョブ13と、スケジュール結果14とを記憶する。また、演算装置20は、割り付け優先度決定機能21、処理順初期解作成機能22、処理順決定機能23の処理を行う。更に、処理順決定機能23は、部分計画対象ジョブ獲得機能24、部分計画最適計算機能25、処理順評価機能26、部分計画処理順決定機能27の処理を行う。
ジョブ情報11は、図示しない入力装置により入力されたジョブ種、段取り替え時間、スケジュール対象とするジョブを記憶する。本実施形態においては、表1に示すジョブ種、表2に示す段取り替え時間、表3に示すスケジュール対象とするジョブを記憶する。
割り付け優先度決定機能21は、所定のスケジュール目的に基づいて、割り付け優先度を決定するためのものである。本実施形態においては、「納期の迫っている(早い)ジョブほど早く処理する。」という納期優先のスケジュール目的に基づいて、割り付け優先度を決定する。即ち、納期の早いジョブほど割り付け優先度が高く決定される。
処理順初期解作成機能22は、割り付け優先度決定機能21で決定した割り付け優先度に基づいて、操業制約を考慮しつつ、ジョブ情報11として記憶装置10に記憶されているジョブの処理順の初期解を生成するためのものである。ここで、操業制約とは操業上の制約のことである。また、ジョブの処理順の初期解を生成するにあたっては従来技術を用いる。そして、処理順初期解作成機能22で生成された初期解は、処理順初期解12として記憶装置10に記憶される。尚、本実施形態において、納期優先のスケジュール目的に基づいた割り付け優先度により生成された初期解を、表4に示す。
Figure 0004987275
処理順決定機能23は、記憶装置10に記憶された処理順初期解12を元にして、処理順初期解12の先頭の処理順から、全てのジョブの処理順が決定するまで、部分計画対象ジョブ獲得機能24、部分計画最適計算機能25、処理順評価機能26、部分計画処理順決定機能27の処理を繰り返して、ジョブの処理順を決定していくためのものである。これらの機能24〜27について、以下で詳細に説明する。
部分計画対象ジョブ獲得機能24は、記憶装置10に記憶された処理順初期解12のジョブの処理順の先頭から、処理順が未決定のジョブを予め設定した個数獲得し、部分計画対象ジョブとする。本実施形態では、部分計画対象ジョブの獲得個数は7個と設定した。そして、部分計画対象ジョブ獲得機能24で獲得した部分計画対象ジョブは、部分計画対象ジョブ13として記憶装置10に記憶される。
部分計画最適計算機能25は、記憶装置10に記憶された部分計画対象ジョブ13に対し、後述する処理順評価機能26で計算した評価値が最適となる処理順を計算するためのものである。即ち、部分計画対象ジョブ13の全ての順列の中で、操業制約及び処理順制約を満足する全ての処理順に対して、処理順評価機能26で評価値を計算し、その評価値が最も良い処理順として計算する。ここで、処理順制約とは処理順に対する制約のことであり、本実施形態では、「同種類のジョブは、納期の早いジョブを先に処理する。」という処理順制約がある。
処理順評価機能26は、部分計画対象ジョブ13の処理順に対して、スケジュール目的に基づいて設定した評価値を計算するためのものである。本実施形態では、ジョブjの評価値Ejは下記の通りとし、数1に示す評価式に基づいて、部分計画対象ジョブ13に対する評価値Eを計算する。
・納期遅れをした場合 Ej=終了予定時刻−納期
・納期より早く終了する場合 Ej=(終了予定時刻−納期)×0.01
尚、評価値Eは、納期優先のスケジュール目的により設定された納期遅れペナルティを表しており、値が小さいほうが好ましい。尚、数1において、Bは部分計画対象ジョブの集合を表しており、定式のΣは部分計画対象ジョブに対する評価値を表す。
Figure 0004987275
部分計画処理順決定機能27は、部分計画最適計算機能25で計算した評価値が最適となる部分計画対象ジョブ13の処理順の初めから1つまたは複数のジョブを次順から処理するジョブとして決定するためのものである。そして、処理順が決定したジョブは、スケジュール結果14として記憶装置10に記憶される。本実施形態においては、部分計画最適計算機能25で計算した評価値が最適となる部分計画対象ジョブ13の処理順の最初のジョブを次順で処理するジョブとして決定する。
インターフェース装置30は、記憶装置10に記憶されたスケジュール結果14を、スケジュール結果出力インターフェース(スケジュール結果出力I/F)31を介して、プリンタ32又はディスプレイ33等の出力装置に表示するためのものである。本実施形態において、最終的に記憶装置10に記憶されたスケジュール結果14を表5に示す。
Figure 0004987275
表5に示すように、表4に示す初期解と比較して、納期遅れとなるジョブがなく、また、全ジョブの評価値の和も大きく改善していることがわかる。
次に、第一の実施形態に係る生産スケジューリング方法の処理の手順について、図3に基づいて、説明する。図3は、第一の実施形態に係る生産スケジューリング方法の処理の手順について説明したフローチャートである。
尚、以下で説明する第一の実施形態に係る生産スケジューリング方法の処理は、コンピュータにおいても同様に、プログラムとしてCPUにより読み出して実行することができる。また、このプログラムは、CD−ROMやDVDなどのリムーバブルな記憶媒体に記録しておくことにより、様々なコンピュータの記憶装置にインストールすることが可能である。
図3に示すように、まず、マスタデータ(ジョブ種毎の処理時間、段取り替え時間)及びスケジュール対象のジョブを読み込み、スケジュール対象のジョブの処理順を未決定とする(ステップS1、S2:ジョブ情報記憶ステップ)。本実施形態においては、表1に示すジョブ種、表2に示す段取り替え時間、表3に示すスケジュール対象とするジョブを記憶する。
そして、所定の割り付け優先度に基づいて、操業制約を考慮しつつ、スケジュール対象のジョブの処理順の初期解を生成する(ステップS3:処理順初期解作成ステップ)。ここで、操業制約とは操業上の制約のことである。また、ジョブの処理順の初期解を生成するにあたっては従来技術を用いる。本実施形態では、「納期の迫っている(早い)ジョブほど早く処理する。」という納期優先のスケジュール目的に基づいて、割り付け優先度を決定される。即ち、納期の早いジョブほど割り付け優先度が高い。尚、本実施形態において、納期優先のスケジュール目的に基づいた割り付け優先度により生成された初期解は、表4に示すとおりである。
処理順w=1と設定し(ステップS4)、先頭の処理順(w=1)から、全てのジョブの処理順が決定するまで、下記のステップS5〜S9(処理順決定ステップ)の処理を繰り返してジョブの処理順を決定していく。
ジョブの処理順の先頭から、処理順が未決定のジョブを予め設定した個数獲得し、部分計画対象ジョブとする(ステップS5:部分計画対象ジョブ獲得ステップ)。尚、本実施形態においては、部分計画対象ジョブの獲得個数を7個と設定した。
次に、部分計画対象ジョブに対し、スケジュール目的に基づいて設定した評価値が最適となる処理順を計算する(ステップS6:処理順評価ステップ、部分計画最適計算ステップ)。即ち、部分計画対象ジョブの全ての順列の中で、操業制約及び処理順制約を満足する全ての処理順に対して評価値を計算し、その評価値が最も良い処理順として計算する。ここで、処理順制約とは処理順に対する制約のことであり、本実施形態では、「同種類のジョブは、納期の早いジョブを先に処理する。」という処理順制約がある。また、本実施形態では、ジョブjの評価値Ejは下記の通りとし、数1に示す評価式に基づいて、部分計画対象ジョブに対する評価値Eを計算する。
・納期遅れをした場合 Ej=終了予定時刻−納期
・納期より早く終了する場合 Ej=(終了予定時刻−納期)×0.01
尚、評価値Eは、納期優先のスケジュール目的により設定された納期遅れペナルティを表しており、値が小さいほうが好ましい。尚、数1において、Bは部分計画対象ジョブの集合を表しており、定式のΣは部分計画対象ジョブに対する評価値を表す。
そして、ステップS6で得られた評価値が最適となる処理順の初めから1つまたは複数のジョブをw番目から処理するジョブとして決定する(ステップS7:部分計画処理順決定ステップ)。本実施形態では、ステップS6で得られた評価値が最適となる処理順の最初のジョブをw番目に処理するジョブとして決定する。
次に、全ジョブの処理順を決定したかどうかを判断する(ステップS8)。
全ジョブの処理順を決定していない場合は(ステップS8:NO)、ステップS7で処理順が決定したジョブの個数分だけ処理順を更新する(ステップS9)。本実施形態においては、ステップS7で処理順が決定したジョブの個数が1つであるので、処理順w=w+1として、処理順を更新する。
一方、全ジョブの処理順を決定した場合は(ステップS8:YES)、処理順決定ステップの処理を終了して、決定された全ジョブの処理順であるスケジュール結果を出力し(ステップS10)、生産スケジューリング方法の処理を終了する。本実施形態において、ステップS10で出力されたスケジュール結果は表5に示す通りである。表5に示すように、表4に示す初期解と比較して、納期遅れとなるジョブがなく、また、全ジョブの評価値の和も大きく改善していることがわかる。
このように、第一の実施形態に係る生産スケジューリング方法及び生産スケジューリング装置、並びにプログラムによれば、スケジュール対象の全てのジョブの最適な処理順を求めず、初期解を元に取り出した部分計画対象ジョブに対して最適な処理順を求めていることから、ジョブの数を少なくしてその順列の数を減らして、部分計画対象ジョブの全ての順列を評価することが容易にできる。例えば、5ジョブの順列は120通りしかないが、30ジョブの順列は1032通り以上ある。従って、30ジョブの全ての順列を評価することは困難であるが、5ジョブの全ての順列を評価することは容易である。即ち、部分計画対象ジョブはスケジュール対象のジョブに対して少数であるので、その順列の数は全ジョブの順列の数に比べて格段に少なく、少ない計算処理量で良好なスケジュール結果を得ることができる。また、部分計画対象ジョブに対する最適な処理順の中から、最初の1又は複数のジョブの処理順のみ決定していることから、当該処理順の後半の処理順を決定することによる部分計画対象ジョブ以外のジョブに対して及ぼす影響を避けることができる。そして、初期解を元に取り出した部分計画対象ジョブに対して最適な処理順を求め、部分計画対象ジョブに対する最適な処理順の中から、最初の1又は複数のジョブの処理順のみ決定する操作を繰り返して、スケジュール対象のジョブの処理順を順次求め、適切なスケジュールを短時間で作成することができる。
ここで、上述の第一の実施形態に係る生産スケジューリング方法及び生産スケジューリング装置、並びにプログラムにおいては、「納期が迫っている(早い)ジョブほど早く処理する」という納期優先のスケジュール目的により決定した割り付け優先度に基づいて、操業制約を考慮しつつ、従来技術によりスケジュール対象のジョブの処理順の初期解を生成しているが、それに限らない。例えば、「段取り替え時間を最少とするジョブを選択する」という生産性優先のスケジュール目的により決定した割り付け優先度に基づいて、操業制約を考慮しつつ、従来技術によりスケジュール対象のジョブの処理順の初期解を生成してもよい。かかる生産性優先のスケジュール目的により決定した割り付け優先度に基づいて生成したスケジュール対象のジョブの処理順の初期解を表6に示す。
Figure 0004987275
そして、表6に示す初期解に基づいて第一の実施形態に係る生産スケジューリング方法及び生産スケジューリング装置、並びにプログラムを適用した結果を表7に示す。
Figure 0004987275
表7に示すように、各ジョブの評価値の和は、表6に示す初期解に比べて改善しているものの、表5に示すスケジュール結果と比較してかなり悪い結果となっていることがわかる。即ち、第一の実施形態に係る生産スケジューリング方法及び生産スケジューリング装置、並びにプログラムは、初期解に依存していることがわかる。第一の実施形態に係る生産スケジューリング方法及び生産スケジューリング装置、並びにプログラムの変形例として、次に説明する第二の実施形態に係る生産スケジューリング方法及び生産スケジューリング装置、並びにプログラムは、初期解に依存するという問題に対応するものである。
[第二の実施形態]
ここで、第一の実施形態に係る生産スケジューリング方法及び生産スケジューリング装置、並びにプログラムの変形例である、第二の実施形態に係る生産スケジューリング方法及び生産スケジューリング装置、並びにプログラムについて、説明する。まず、第二の実施形態に係る生産スケジューリング装置について、図4に基づいて説明する。図4は、第二の実施形態に係る生産スケジューリング装置のブロック図である。
図4に示すように、第二の実施形態に係る生産スケジューリング装置40では、図2に示す第一の実施形態に係る生産スケジューリング装置1と比較して、演算装置20が処理順初期解再設定機能28を更に備えている。
処理順初期解再設定機能28は、終了条件を満たすまで、記憶装置10に記憶されている処理順初期解12に替えて、処理順決定機能23で決定された全てのジョブの処理順を処理順初期解12として記憶させ、記憶装置10に記憶される処理順初期解12を再設定するためのものである。そして、再設定された処理順初期解12に基づいて、再度、処理順決定機能23において、全てのジョブの処理順を決定する。終了条件は、例えば、繰り返し回数を設定しても良いし、各ジョブの評価値の和が改善しなくなるまで繰り返すように設定しても良い。尚、本実施形態においては、終了条件として、繰り返し回数を3回に設定した。本実施形態において、最終的に記憶装置10に記憶されたスケジュール結果14を表8に示す。
Figure 0004987275
表8に示すように、表8に示すスケジュール結果は、表5に示す第一の実施形態のスケジュール結果と一致しており、初期値の影響が排除されていることがわかる。
次に、第二の実施形態に係る生産スケジューリング方法の処理の手順について、図5に基づいて説明する。図5は、第二の実施形態に係る生産スケジューリング方法の処理の手順について説明したフローチャートである。
尚、以下で説明する第二の実施形態に係る生産スケジューリング方法の処理は、コンピュータにおいても同様に、プログラムとしてCPUにより読み出して実行することができる。また、このプログラムは、CD−ROMやDVDなどのリムーバブルな記憶媒体に記録しておくことにより、様々なコンピュータの記憶装置にインストールすることが可能である。
図5に示すように、第二の実施形態に係る生産スケジューリング方法の処理の手順では、図3に示す第一の実施形態に係る生産スケジューリング方法の処理の手順と比較して、スケジュール結果を出力する(ステップS10)前に、終了条件を満足するまで、処理順初期解を再設定する(ステップS11、S12:処理順初期解再設定ステップ)処理を更に備えている。終了条件は、例えば、繰り返し回数を設定しても良いし、各ジョブの評価値の和が改善しなくなるまで繰り返すように設定しても良い。尚、本実施形態においては、終了条件として、繰り返し回数を3回に設定した。
具体的には、終了条件を満足していない場合(ステップS11:NO)には、ステップS8を経て決定された全てのジョブの処理順を処理順初期解として再設定し(ステップS12)、ステップS4に戻り、再度、処理順決定ステップの処理(ステップS4〜S8)により全てのジョブの処理順を決定する。
一方、終了条件を満足する場合(ステップS11:YES)には、決定された全てのジョブの処理順であるスケジュール結果を出力する(ステップS10)。本実施形態において、ステップS10で出力されるスケジュール結果は表8に示した通りである。表8に示すように、表8に示すスケジュール結果は、表5に示す第一の実施形態のスケジュール結果と一致しており、初期値の影響が排除されていることがわかる。
以上のように、第二の実施形態に係る生産スケジューリング方法及び生産スケジューリング装置、並びにプログラムによれば、初期解を元に取り出した部分計画対象ジョブに対して最適な処理順を求め、部分計画対象ジョブに対する最適な処理順の中から、最初の1又は複数のジョブの処理順のみ決定する操作を繰り返して、順次求めたスケジュール対象のジョブの処理順を初期解にして、再度、スケジュール対象のジョブの処理順を順次決定する。従って、初期解に依存することなく、スケジュール対象のジョブの処理順を順次求め、第一の実施形態に比べて、より適切なスケジュールを短時間で作成することができる。
[第三の実施形態]
次に、第三の実施形態に係る生産スケジューリング装置及び生産スケジューリング方法、並びにプログラムについて、説明する。まず、第三の実施形態に係る生産スケジューリング装置について、図6に基づいて説明する。図6は、第三の実施形態に係る生産スケジューリング装置のブロック図である。
図6に示すように、生産スケジューリング装置101は、記憶装置110と、演算装置120と、インターフェース装置130とから構成される。そして、記憶装置110は、ジョブ情報111と、処理順シミュレーション結果112と、スケジュール結果113とを記憶する。また、演算装置120は、割り付け優先度決定機能121、処理順シミュレータ(処理順計算手段)122、処理順評価機能123、処理順決定機能124の処理を行う。
ジョブ情報111は、図示しない入力装置により入力されたジョブ種、段取り替え時間、スケジュール対象とするジョブを記憶する。本実施形態においては、表1に示すジョブ種、表2に示す段取り替え時間、表3に示すスケジュール対象とするジョブを記憶する。
割り付け優先度決定機能121は、スケジュール目的に基づいて、割り付け優先度を決定するためのものである。尚、割り付け優先度決定機能121は、後述する処理順シミュレータ122と一対で処理されるものであり、スケジュール目的の数に対応した数の割り付け優先度決定機能121及び処理順シミュレータ122が存在する。本実施形態においては、「納期遅れ最少」と「生産性最大」の2種類のスケジュール目的が存在し、それぞれ2個の割り付け優先度決定機能121及び処理順シミュレータ122が存在する。そして、「納期遅れ最少」をスケジュール目的とする割り付け優先度決定機能121は、納期の最も迫っているジョブの優先度を高くする。「生産性最大」をスケジュール目的とする割り付け優先度決定機能121は、段取り替え時間最少のジョブの優先度を高くする。
処理順シミュレータ122は、割り付け優先度決定機能121で決定した割り付け優先度に基づいて、操業制約及び処理順制約を考慮しつつ、ジョブ情報111として記憶装置110に記憶されているジョブの内の処理順が未決定のジョブ(以下、「未決定ジョブ」と略する。)の処理順をシミュレーションするためのものである。そして、処理順シミュレータ122でシミュレーションされた未決定ジョブの処理順は、処理順シミュレーション結果112として記憶装置110に記憶される。ここで、操業制約とは操業上の制約のことである。また、処理順制約とは処理順に対する制約のことであり、本実施形態では、「同種類のジョブは、納期の早いジョブを先に処理する。」という処理順制約がある。尚、参考までに、本実施形態において「納期遅れ最少」のスケジュール目的とする割り付け優先度決定機能121で決定した割り付け優先度に基づいた処理順シミュレータ122を用いた全ジョブの処理順のシミュレーション結果を表9に示す。また、「生産性最大」のスケジュール目的とする割り付け優先度決定機能121で決定した割り付け優先度に基づいた処理順シミュレータ122を用いた全ジョブの処理順のシミュレーション結果を表10に示す。
Figure 0004987275
Figure 0004987275
尚、表9、10に示すように、シミュレーション結果としては、表9に示す評価値合計は686.70、表10に示す評価値合計は991.11であるので、評価値が小さい表9のほうが好ましい結果となっている。尚、表9、表10に示すシミュレーション結果は、それぞれ、表4、表6に示す従来技術による結果に対応している。
処理順評価機能123は、記憶装置110に記憶されたスケジュール目的の数に対応する数の処理順シミュレーション結果112に基づいて、全ジョブの処理順を評価するためのものである。本実施形態では、ジョブjの評価値Ejは下記の通りとし、数2に示す評価式に基づいて、全ジョブの処理順に対する評価値Eを計算する。
・納期遅れをした場合 Ej=終了予定時刻−納期
・納期より早く終了する場合 Ej=(終了予定時刻−納期)×0.01
尚、評価値Eは、納期遅れ最少のスケジュール目的により設定された納期遅れペナルティを表しており、値が小さいほうが好ましい。
Figure 0004987275
処理順決定機能124は、処理順評価機能123で算出した評価値に基づいて、最適な評価値が得られる未決定ジョブの処理順の先頭のジョブを次順の処理順として決定するためのものである。そして、処理順が決定したジョブは、スケジュール結果113として記憶装置110に記憶される。
そして、未決定ジョブがなくなり、全てのジョブの処理順が決定するまで、演算装置120において、上述した割り付け優先度決定機能121、処理順シミュレータ122、処理順評価機能123、処理順決定機能124の処理を行う。
インターフェース装置130は、記憶装置110に記憶されたスケジュール結果113、スケジュール結果出力インターフェース(スケジュール結果出力I/F)131を介して、プリンタ132又はディスプレイ133等の出力装置に表示するためのものである。本実施形態において、最終的に記憶装置110に記憶されたスケジュール結果113を表11に示す。
Figure 0004987275
表11に示すように、表9、表10に示す結果と比較して、全ジョブの評価値の和が改善していることがわかる。
次に、第三の実施形態に係る生産スケジューリング方法の処理の手順について、図7に基づいて、説明する。図7は、第三の実施形態に係る生産スケジューリング方法の処理の手順について説明したフローチャートである。
尚、以下で説明する第三の実施形態に係る生産スケジューリング方法の処理は、コンピュータにおいても同様に、プログラムとしてCPUにより読み出して実行することができる。また、このプログラムは、CD−ROMやDVDなどのリムーバブルな記憶媒体に記録しておくことにより、様々なコンピュータの記憶装置にインストールすることが可能である。
図7に示すように、まず、ジョブ情報(ジョブ種毎の処理時間、段取り替え時間)及びスケジュール対象のジョブを読み込み、スケジュール対象のジョブの処理順を未決定とする(ステップS101、S102:ジョブ情報記憶ステップ)。本実施形態においては、表1に示すジョブ種、表2に示す段取り替え時間、表3に示すスケジュール対象とするジョブを記憶する。
処理順w=1と設定し(ステップS103)、先頭の処理順(w=1)から、全てのジョブの処理順が決定するまで、下記のステップS104〜S115の処理を繰り返して1つずつジョブの処理順を決定していく。
まず、シミュレータ番号s=1とする(ステップS104)とともに、暫定評価値Et=∞と設定する(ステップS105)。尚、複数のスケジュール目的に対応する複数の処理順シミュレータに予めシミュレータ番号を登録しておく。尚、処理順シミュレータは、所定のスケジュール目的に基づいて決定された割り付け優先度に基づいて、操業制約及び処理順制約を考慮しつつ、ジョブの処理順をシミュレーションするシミュレータである。ここで、操業制約とは操業上の制約のことである。また、処理順制約とは処理順に対する制約のことであり、本実施形態では、「同種類のジョブは、納期の早いジョブを先に処理する。」という処理順制約がある。また、本実施形態では、「納期遅れ最少」と「生産性最大」の2種類のスケジュール目的が存在し、2個の処理順シミュレータが存在する。そして、「納期遅れ最少」をスケジュール目的とする処理順シミュレータは、納期の最も迫っているジョブの優先度を高くしてジョブの処理順をシミュレーションする。「生産性最大」をスケジュール目的とする処理順シミュレータは、段取り替え時間最少のジョブの優先度を高くしてジョブの処理順をシミュレーションする。
そして、シミュレータ番号sの処理順シミュレータにて、未決定ジョブの処理順w〜Jをシミュレーションする(ステップS106:処理順計算ステップ)。尚、参考までに、本実施形態において、w=1の場合に、「納期遅れ最少」のスケジュール目的とする処理順シミュレータによる未決定ジョブの処理順のシミュレーション結果は表9に示す通りである。また、「生産性最大」のスケジュール目的とする処理順シミュレータによる未決定ジョブの処理順のシミュレーション結果は表10に示す通りである。尚、表9、10に示すように、シミュレーション結果としては、表9に示す評価値合計は686.70、表10に示す評価値合計は991.11であるので、評価値が小さい表9のほうが好ましい結果となっている。尚、表9、表10に示すシミュレーション結果は、それぞれ、表4、表6に示す従来技術による結果に対応している。
シミュレーション結果による全ジョブの処理順(0〜J)評価値を求め、Esとする(ステップS107:処理順評価ステップ)。本実施形態では、ジョブjの評価値Ejは下記の通りとし、数3に示す評価式に基づいて、全ジョブの処理順に対する評価値Esを計算する。
・納期遅れをした場合 Ej=終了予定時刻−納期
・納期より早く終了する場合 Ej=(終了予定時刻−納期)×0.01
尚、評価値Esは、納期遅れ最少のスケジュール目的により設定された納期遅れペナルティを表しており、値が小さいほうが好ましい。
Figure 0004987275
次に、EsとEtを比較し、Es<Etかどうか判断する(ステップS108)。
Es<Etである場合(ステップS108:YES)、処理順シミュレータにて処理順wとされたジョブのジョブ番号を記憶する(ステップS109)。尚、既にジョブ番号が登録されている場合は、既に登録されたジョブ番号に替えて、処理順シミュレータにて処理順wとされたジョブのジョブ番号を記憶する。そして、Et=Esとし(ステップS110)、ステップS111に進む。一方、Es<Etでない場合(ステップS108:NO)、ステップS111に進む。
そして、複数ある処理順シミュレータの全てで評価したかどうかを判断する(ステップS111)。
複数ある処理順シミュレータの全てで評価していない場合(ステップS111:NO)、処理順シミュレータのシミュレータ番号sを更新して(s=s+1)(ステップS112)、ステップS106に戻り、上述の処理を行う。一方、複数ある処理順シミュレータの全てで評価した場合(ステップS111:YES)、記憶された処理順wのジョブを処理順wのジョブとして決定する(ステップS113:処理順決定ステップ)。
次に、スケジュール対象の全ジョブの処理順が決定したかどうかを判断する(ステップS114)。
全ジョブの処理順が決定していない場合は(ステップS114:NO)、処理順wを更新して(w=w+1)(ステップS115)、ステップS104に戻り、上述の処理を行う。一方、全ジョブの処理順が決定した場合は(ステップS114:YES)、スケジュール結果を出力して(ステップS116)、生産スケジューリング方法の処理を終了する。本実施形態において出力されたスケジュール結果は表11に示す通りである。表11に示すように、表9、表10に示す結果と比較して、全ジョブの評価値の和が改善していることがわかる。
以上のように、第三の実施形態に係る生産スケジューリング方法及び生産スケジューリング装置、並びにプログラムによれば、複数のスケジュール目的による割付優先度に基づき、操業制約を考慮しつつ複数のスケジュール目的に対応した未決定ジョブの処理順を求め、それぞれのスケジュール目的に対応した処理順全体の評価値を基に、最も評価値の良かった未決定ジョブの処理順の最初のジョブを次順のジョブとして決定している。従って、処理順を1ジョブずつ決定するのに際して全ジョブの処理順に対するマクロな観点での評価値を用い、ジョブの全ての処理順を決定するために(スケジュール目的の数)×(スケジュール対象のジョブの数)だけの処理を行うことで、複数のスケジュール目的を考慮して従来からの生産スケジューリングのノウハウを活用しつつ、適切なスケジュールを短時間で作成することができる。例えば、スケジュール対象のジョブの数J=20、スケジュール目的の数S=5とすると、1ジョブずつ決定するのに行うシミュレーション回数はJ×S=100回である。一方、メタヒューリスティクスに基づく生産スケジューリングの技術では、ジョブ数J=20と同程度の規模の問題で、個体数N=40、世代数G=1000であるので、シミュレーション回数はN×G=40000の数倍程度(個体数40は各世代で淘汰により生き残った個体の数であり、シミュレーションは淘汰されて死滅した個体(通常、生存個体よりも多い)に対しても必要であるため)必要である。従って、本実施形態の処理の高速性が明らかである。
[第四の実施形態]
次に、第四の実施形態に係る生産スケジューリング装置及び生産スケジューリング方法、並びにプログラムについて、説明する。まず、第四の実施形態に係る生産スケジューリング装置について、図8に基づいて説明する。図8は、第四、第五の実施形態に係る生産スケジューリング装置のブロック図である。
図8に示すように、生産スケジューリング装置201は、記憶装置210と、演算装置220と、インターフェース装置230とから構成される。そして、記憶装置210は、ジョブ情報211と、処理順シミュレーション結果212と、スケジュール結果213とを記憶する。また、演算装置220は、ジョブ仮設定機能221、割り付け優先度決定機能222、処理順シミュレータ(処理順計算手段)223、処理順評価機能224、処理順決定機能225の処理を行う。
ジョブ情報211は、図示しない入力装置により入力されたジョブ種、段取り替え時間、スケジュール対象とするジョブを記憶する。本実施形態においては、表1に示すジョブ種、表2に示す段取り替え時間、表3に示すスケジュール対象とするジョブを記憶する。
ジョブ仮設定機能221は、ジョブ情報211として記憶装置210に記憶されているジョブの内の処理順が未決定のジョブ(以下、「未決定ジョブ」と略する。)の内、操業制約を満たす全てのジョブ(以下、「仮設定ジョブ」と略する。)を選択し、それぞれ、次順のジョブとして仮設定するためのものである。ここで、操業制約とは操業上の制約のことである。
割り付け優先度決定機能222は、所定のスケジュール目的に基づいて、割り付け優先度を決定するためのものである。本実施形態においては、「納期遅れ最少」又は「生産性最大」のスケジュール目的を設定する。ここで、「納期遅れ最少」をスケジュール目的とする場合、割り付け優先度決定機能222は、納期の最も迫っているジョブの優先度を高くする。「生産性最大」をスケジュール目的とする場合、割り付け優先度決定機能222は、段取り替え時間最少のジョブの優先度を高くする。
処理順シミュレータ223は、割り付け優先度決定機能222で決定した割り付け優先度に基づいて、操業制約及び処理順制約を考慮しつつ、仮設定ジョブ以外の残りの未決定ジョブの処理順をシミュレーションするためのものである。そして、仮設定ジョブ及び処理順シミュレータ223でシミュレーションされた仮設定ジョブ以外の残りの未決定ジョブの処理順は、処理順シミュレーション結果212として記憶装置210に記憶される。ここで、処理順制約とは処理順に対する制約のことであり、本実施形態では、「同種類のジョブは、納期の早いジョブを先に処理する。」という処理順制約がある。
処理順評価機能224は、記憶装置210に記憶された仮設定ジョブの数に対応する数の処理順シミュレーション結果212に基づいて、全ジョブの処理順を評価するためのものである。本実施形態では、ジョブjの評価値Ejは下記の通りとし、上述の数2に示す評価式に基づいて、全ジョブの処理順に対する評価値Eを計算する。
・納期遅れをした場合 Ej=終了予定時刻−納期
・納期より早く終了する場合 Ej=(終了予定時刻−納期)×0.01
尚、評価値Eは、納期遅れ最少のスケジュール目的により設定された納期遅れペナルティを表しており、値が小さいほうが好ましい。
処理順決定機能225は、処理順評価機能224で算出した評価値に基づいて、最適な評価値が得られる処理順の仮設定ジョブを次順の処理順として決定するためのものである。そして、処理順が決定したジョブは、スケジュール結果213として記憶装置210に記憶される。
そして、未決定ジョブがなくなり、全てのジョブの処理順が決定するまで、演算装置220において、上述したジョブ仮設定機能221、割り付け優先度決定機能222、処理順シミュレータ223、処理順評価機能224、処理順決定機能225の処理を行う。
インターフェース装置230は、記憶装置210に記憶されたスケジュール結果213を、スケジュール結果出力インターフェース(スケジュール結果出力I/F)231を介して、プリンタ232又はディスプレイ233等の出力装置に表示するためのものである。本実施形態において、割り付け優先度決定機能222において「納期遅れ最少」をスケジュール目的とした場合に、最終的に記憶装置210に記憶されたスケジュール結果213を表12に示す。また、割り付け優先度決定機能222において「生産量最大」をスケジュール目的とした場合に、最終的に記憶装置210に記憶されたスケジュール結果213を表13に示す。
Figure 0004987275
Figure 0004987275
表12は、第三の実施形態における表11に示す結果と比較して、全ジョブの評価値の和が改善していることがわかる。
次に、第四の実施形態に係る生産スケジューリング方法の処理の手順について、図9に基づいて、説明する。図9は、第四の実施形態に係る生産スケジューリング方法の処理の手順について説明したフローチャートである。
尚、以下で説明する第四の実施形態に係る生産スケジューリング方法の処理は、コンピュータにおいても同様に、プログラムとしてCPUにより読み出して実行することができる。また、このプログラムは、CD−ROMやDVDなどのリムーバブルな記憶媒体に記録しておくことにより、様々なコンピュータの記憶装置にインストールすることが可能である。
図9に示すように、まず、ジョブ情報(ジョブ種毎の処理時間、段取り替え時間)及びスケジュール対象のジョブを読み込み、スケジュール対象のジョブの処理順を未決定とする(ステップS201、S202:ジョブ情報記憶ステップ)。本実施形態においては、表1に示すジョブ種、表2に示す段取り替え時間、表3に示すスケジュール対象とするジョブを記憶する。
処理順w=1と設定し(ステップS203)、先頭の処理順(w=1)から、全てのジョブの処理順が決定するまで、下記のステップS204〜S216の処理を繰り返して1つずつジョブの処理順を決定していく。
まず、暫定評価値Et=∞と設定する(ステップS204)。
そして、未決定ジョブの中から操業制約を満たす全ジョブ(以下、「仮設定ジョブ」と略する。)を選択し、この最初の仮設定ジョブを獲得する(ステップS205)。ここで、操業制約とは操業上の制約のことである。
次に、獲得した仮設定ジョブを処理順wに仮設定する(ステップS206)。そして、処理順シミュレータにて、獲得した仮設定ジョブ以外の残りの未決定ジョブの処理順w+1〜Jをシミュレーションする(ステップS207:処理順計算ステップ)。尚、処理順シミュレータは、所定のスケジュール目的に基づいて決定された割り付け優先度に基づいて、操業制約及び処理順制約を考慮しつつ、ジョブの処理順をシミュレーションするシミュレータである。ここで、処理順制約とは処理順に対する制約のことであり、本実施形態では、「同種類のジョブは、納期の早いジョブを先に処理する。」という処理順制約がある。また、本実施形態では、「納期遅れ最少」又は「生産性最大」のスケジュール目的を設定する。「納期遅れ最少」をスケジュール目的とする場合は、納期の最も迫っているジョブの優先度を高くしてジョブの処理順をシミュレーションする。「生産性最大」をスケジュール目的とする場合は、段取り替え時間最少のジョブの優先度を高くしてジョブの処理順をシミュレーションする。
シミュレーション結果による全ジョブの処理順(0〜J)評価値を求め、Esとする(ステップS208:処理順評価ステップ)。本実施形態では、ジョブjの評価値Ejは下記の通りとし、上述の数3に示す評価式に基づいて、全ジョブの処理順に対する評価値Eを計算する。
・納期遅れをした場合 Ej=終了予定時刻−納期
・納期より早く終了する場合 Ej=(終了予定時刻−納期)×0.01
尚、評価値Esは、納期遅れ最少のスケジュール目的により設定された納期遅れペナルティを表しており、値が小さいほうが好ましい。
次に、EsとEtを比較し、Es<Etかどうか判断する(ステップS209)。
Es<Etである場合(ステップS209:YES)、処理順wとして仮設定した仮設定ジョブのジョブ番号を記憶する(ステップS210)。尚、既にジョブ番号が登録されている場合は、既に登録されたジョブ番号に替えて、処理順wとして仮設定した仮設定ジョブのジョブ番号を記憶する。そして、Et=Esとし(ステップS211)、ステップS212に進む。一方、Es<Etでない場合(ステップS209:NO)、ステップS212に進む。
そして、操業制約を満たす全ジョブ(即ち、全ての仮設定ジョブ)を評価したかどうかを判断する(ステップS212)。
操業制約を満たす全ジョブ(即ち、全ての仮設定ジョブ)を評価していない場合(ステップS212:NO)、操業制約を満たす次のジョブ(即ち、次の仮設定ジョブ)を獲得し(ステップS213)、ステップS206に戻り、上述の処理を行う。一方、操業制約を満たす全ジョブ(即ち、全ての仮設定ジョブ)を評価した場合(ステップS212:YES)、記憶された処理順wのジョブを処理順wのジョブとして決定する(ステップS214:処理順決定ステップ)。
次に、スケジュール対象の全ジョブの処理順が決定したかどうかを判断する(ステップS215)。
全ジョブの処理順が決定していない場合は(ステップS215:NO)、処理順wを更新して(w=w+1)(ステップS216)、ステップS204に戻り、上述の処理を行う。一方、全ジョブの処理順が決定した場合は(ステップS215:YES)、スケジュール結果を出力して(ステップS217)、生産スケジューリング方法の処理を終了する。本実施形態において、処理順シミュレータにおいて「納期遅れ最少」をスケジュール目的とした場合のスケジュール結果を表12に、処理順シミュレータにおいて「生産量最大」をスケジュール目的とした場合のスケジュール結果を表13に示す。表12は、第三の実施形態における表11に示す結果と比較して、全ジョブの評価値の和が改善していることがわかる。
以上のように、第四の実施形態に係る生産スケジューリング方法及び生産スケジューリング装置、並びにプログラムによれば、未決定ジョブの内で操業制約を満たす全てのジョブを次順のジョブとして仮設定し、所定のスケジュール目的による割付優先度に基づき、操業制約を考慮しつつ残りの未決定ジョブの処理順を求め、仮設定したそれぞれのジョブに対応した処理順全体の評価値を基に、最も評価値の良かった処理順の仮設定したジョブを次順のジョブとして決定している。従って、処理順を1ジョブずつ決定するのに際して全ジョブの処理順に対するマクロな観点での評価値を用い、ジョブの全ての処理順を決定するために(未決定ジョブの内で操業制約を満たすジョブの数の平均)×(スケジュール対象のジョブの数)だけの処理を行うことで、(未決定ジョブの内で操業制約を満たすジョブの数の平均)が通常(スケジュール目的の数)よりも大きく、第三の実施形態に比べて処理量が増えるが、ジョブを漏れなく検討対象としてより適切なスケジュールを短時間で作成することができる。例えば、スケジュール対象のジョブの数J=20、操業制約を満たすジョブ数の平均K=10とすると、1ジョブずつ決定するのに行うシミュレーション回数はJ×K=200回である。一方、メタヒューリスティクスに基づく生産スケジューリングの技術では、ジョブ数J=20と同程度の規模の問題で、個体数N=40、世代数G=1000であるので、シミュレーション回数はN×G=40000の数倍程度(個体数40は各世代で淘汰により生き残った個体の数であり、シミュレーションは淘汰されて死滅した個体(通常、生存個体よりも多い)に対しても必要であるため)必要である。従って、本実施形態の処理の高速性が明らかである。
[第五の実施形態]
次に、第五の実施形態に係る生産スケジューリング装置及び生産スケジューリング方法、並びにプログラムについて、説明する。まず、第五の実施形態に係る生産スケジューリング装置について、図8に基づいて説明する。図8は、第四、第五の実施形態に係る生産スケジューリング装置のブロック図である。
図8に示すように、生産スケジューリング装置201は、記憶装置210と、演算装置220と、インターフェース装置230とから構成される。そして、記憶装置210は、ジョブ情報211と、処理順シミュレーション結果212と、スケジュール結果213とを記憶する。また、演算装置220は、ジョブ仮設定機能221、割り付け優先度決定機能222、処理順シミュレータ(処理順計算手段)223、処理順評価機能224、処理順決定機能225の処理を行う。
ジョブ情報211は、図示しない入力装置により入力されたジョブ種、段取り替え時間、スケジュール対象とするジョブを記憶する。本実施形態においては、表1に示すジョブ種、表2に示す段取り替え時間、表3に示すスケジュール対象とするジョブを記憶する。
ジョブ仮設定機能221は、ジョブ情報211として記憶装置210に記憶されているジョブの内の処理順が未決定のジョブ(以下、「未決定ジョブ」と略する。)の内、操業制約を満たす全てのジョブ(以下、「仮設定ジョブ」と略する。)を選択し、それぞれ、次順のジョブとして仮設定するためのものである。ここで、操業制約とは操業上の制約のことである。
割り付け優先度決定機能222は、スケジュール目的に基づいて、割り付け優先度を決定するためのものである。尚、割り付け優先度決定機能222は、後述する処理順シミュレータ223と一対で処理されるものであり、スケジュール目的の数に対応した数の割り付け優先度決定機能222及び処理順シミュレータ223が存在する。本実施形態においては、「納期遅れ最少」と「生産性最大」の2種類のスケジュール目的が存在し、それぞれ2個の割り付け優先度決定機能222及び処理順シミュレータ223が存在する。そして、「納期遅れ最少」をスケジュール目的とする割り付け優先度決定機能222は、納期の最も迫っているジョブの優先度を高くする。「生産性最大」をスケジュール目的とする割り付け優先度決定機能222は、段取り替え時間最少のジョブの優先度を高くする。
処理順シミュレータ223は、割り付け優先度決定機能222で決定した割り付け優先度に基づいて、操業制約及び処理順制約を考慮しつつ、仮設定ジョブ以外の残りの未決定ジョブの処理順をシミュレーションするためのものである。そして、仮設定ジョブ及び処理順シミュレータ223でシミュレーションされた仮設定ジョブ以外の残りの未決定ジョブの処理順は、処理順シミュレーション結果212として記憶装置210に記憶される。ここで、処理順制約とは処理順に対する制約のことであり、本実施形態では、「同種類のジョブは、納期の早いジョブを先に処理する。」という処理順制約がある。
処理順評価機能224は、記憶装置210に記憶された仮設定ジョブの数×処理順シミュレータの数に対応する数の処理順シミュレーション結果212に基づいて、全ジョブの処理順を評価するためのものである。本実施形態では、ジョブjの評価値Ejは下記の通りとし、上述の数2に示す評価式に基づいて、全ジョブの処理順に対する評価値Eを計算する。
・納期遅れをした場合 Ej=終了予定時刻−納期
・納期より早く終了する場合 Ej=(終了予定時刻−納期)×0.01
尚、評価値Eは、納期遅れ最少のスケジュール目的により設定された納期遅れペナルティを表しており、値が小さいほうが好ましい。
処理順決定機能225は、処理順評価機能224で算出した評価値に基づいて、最適な評価値が得られる処理順の仮設定ジョブを次順の処理順として決定するためのものである。そして、処理順が決定したジョブは、スケジュール結果213として記憶装置210に記憶される。
そして、未決定ジョブがなくなり、全てのジョブの処理順が決定するまで、演算装置220において、上述したジョブ仮設定機能221、割り付け優先度決定機能222、処理順シミュレータ223、処理順評価機能224、処理順決定機能225の処理を行う。
インターフェース装置230は、記憶装置210に記憶されたスケジュール結果213を、スケジュール結果出力インターフェース(スケジュール結果出力I/F)231を介して、プリンタ232又はディスプレイ233等の出力装置に表示するためのものである。本実施形態において、最終的に記憶装置210に記憶されたスケジュール結果213を表14に示す。
Figure 0004987275
表14に示すように、第三の実施形態における表11及び第四の実施形態における表12,13に示す結果と比較して、全ジョブの評価値の和がかなり改善していることがわかる。
次に、第五の実施形態に係る生産スケジューリング方法の処理の手順について、図10に基づいて、説明する。図10は、第五の実施形態に係る生産スケジューリング方法の処理の手順について説明したフローチャートである。
尚、以下で説明する第五の実施形態に係る生産スケジューリング方法の処理は、コンピュータにおいても同様に、プログラムとしてCPUにより読み出して実行することができる。また、このプログラムは、CD−ROMやDVDなどのリムーバブルな記憶媒体に記録しておくことにより、様々なコンピュータの記憶装置にインストールすることが可能である。
図10に示すように、まず、ジョブ情報(ジョブ種毎の処理時間、段取り替え時間)及びスケジュール対象のジョブを読み込み、スケジュール対象のジョブの処理順を未決定とする(ステップS301、S302:ジョブ情報記憶ステップ)。本実施形態においては、表1に示すジョブ種、表2に示す段取り替え時間、表3に示すスケジュール対象とするジョブを記憶する。
処理順w=1と設定し(ステップS303)、先頭の処理順(w=1)から、全てのジョブの処理順が決定するまで、下記のステップS304〜S319の処理を繰り返して1つずつジョブの処理順を決定していく。
まず、シミュレータ番号s=1とする(ステップS304)とともに、暫定評価値Et=∞と設定する(ステップS305)。尚、複数のスケジュール目的に対応する複数の処理順シミュレータに予めシミュレータ番号を登録しておく。尚、処理順シミュレータは、所定のスケジュール目的に基づいて決定された割り付け優先度に基づいて、操業制約及び処理順制約を考慮しつつ、ジョブの処理順をシミュレーションするシミュレータである。ここで、操業制約とは操業上の制約のことである。また、処理順制約とは処理順に対する制約のことであり、本実施形態では、「同種類のジョブは、納期の早いジョブを先に処理する。」という処理順制約がある。また、本実施形態では、「納期遅れ最少」と「生産性最大」の2種類のスケジュール目的が存在し、2個の処理順シミュレータが存在する。そして、「納期遅れ最少」をスケジュール目的とする処理順シミュレータは、納期の最も迫っているジョブの優先度を高くしてジョブの処理順をシミュレーションする。「生産性最大」をスケジュール目的とする処理順シミュレータは、段取り替え時間最少のジョブの優先度を高くしてジョブの処理順をシミュレーションする。
そして、未決定ジョブの中から操業制約を満たす全ジョブ(以下、「仮設定ジョブ」と略する。)を選択し、この最初の仮設定ジョブを獲得する(ステップS306)。
次に、獲得した仮設定ジョブを処理順wに仮設定する(ステップS307)。そして、処理順シミュレータsにて、獲得した仮設定ジョブ以外の残りの未決定ジョブの処理順w+1〜Jをシミュレーションする(ステップS308:処理順計算ステップ)。
シミュレーション結果による全ジョブの処理順(0〜J)評価値を求め、Esとする(ステップS309:処理順評価ステップ)。本実施形態では、ジョブjの評価値Ejは下記の通りとし、上述の数3に示す評価式に基づいて、全ジョブの処理順に対する評価値Esを計算する。
・納期遅れをした場合 Ej=終了予定時刻−納期
・納期より早く終了する場合 Ej=(終了予定時刻−納期)×0.01
尚、評価値Esは、納期遅れ最少のスケジュール目的により設定された納期遅れペナルティを表しており、値が小さいほうが好ましい。
次に、EsとEtを比較し、Es<Etかどうか判断する(ステップS310)。
Es<Etである場合(ステップS310:YES)、処理順wとして仮設定した仮設定ジョブのジョブ番号を記憶する(ステップS311)。尚、既にジョブ番号が登録されている場合は、既に登録されたジョブ番号に替えて、処理順wとして仮設定した仮設定ジョブのジョブ番号を記憶する。そして、Et=Esとし(ステップS312)、ステップS313に進む。一方、Es<Etでない場合(ステップS310:NO)、ステップS313に進む。
そして、複数ある処理順シミュレータの全てで評価したかどうかを判断する(ステップS313)。
複数ある処理順シミュレータの全てで評価していない場合(ステップS313:NO)、処理順シミュレータのシミュレータ番号sを更新して(s=s+1)(ステップS314)、ステップS308に戻り、上述の処理を行う。一方、複数ある処理順シミュレータの全てで評価した場合(ステップS313:YES)、操業制約を満たす全ジョブ(即ち、全ての仮設定ジョブ)を評価したかどうかを判断する(ステップS315)。
操業制約を満たす全ジョブ(即ち、全ての仮設定ジョブ)を評価していない場合(ステップS315:NO)、操業制約を満たす次のジョブ(即ち、次の仮設定ジョブ)を獲得し(ステップS316)、ステップS307に戻り、上述の処理を行う。一方、操業制約を満たす全ジョブ(即ち、全ての仮設定ジョブ)を評価した場合(ステップS315:YES)、記憶された処理順wのジョブを処理順wのジョブとして決定する(ステップS317:処理順決定ステップ)。
次に、スケジュール対象の全ジョブの処理順が決定したかどうかを判断する(ステップS318)。
全ジョブの処理順が決定していない場合は(ステップS318:NO)、処理順wを更新して(w=w+1)(ステップS319)、ステップS304に戻り、上述の処理を行う。一方、全ジョブの処理順が決定した場合は(ステップS318:YES)、スケジュール結果を出力して(ステップS320)、生産スケジューリング方法の処理を終了する。本実施形態においてのスケジュール結果を表14に示す。表14に示すように、第三の実施形態における表11及び第四の実施形態における表12,13に示す結果と比較して、全ジョブの評価値の和がかなり改善していることがわかる。
以上のように、第五の実施形態に係る生産スケジューリング方法及び生産スケジューリング装置、並びにプログラムによれば、未決定ジョブの内で操業制約を満たす全てのジョブを次順のジョブとして仮設定し、複数のスケジュール目的による割付優先度に基づき、操業制約を考慮しつつ複数のスケジュール目的に対応した残りの未決定ジョブの処理順を求め、仮設定したそれぞれのジョブのそれぞれのスケジュール目的に対応した処理順全体の評価値を基に、最も評価値の良かった処理順の仮設定したジョブを次順のジョブとして決定している。従って、処理順を1ジョブずつ決定するのに際して全ジョブの処理順に対するマクロな観点での評価値を用い、ジョブの全ての処理順を決定するために(未決定ジョブの内で操業制約を満たすジョブの数の平均)×(スケジュール目的の数)×(スケジュール対象のジョブの数)だけの処理を行うことで、第三の実施形態及び第四の実施形態よりも処理量が増えるが、複数のスケジュール目的を考慮して従来からの生産スケジューリングのノウハウを活用しつつ、未決定ジョブを漏れなく検討対象として更に適切なスケジュールを短時間で作成することができる。例えば、スケジュール対象のジョブの数J=20、スケジュール目的の数S=5、操業制約を満たすジョブ数の平均K=10とすると、1ジョブずつ決定するのに行うシミュレーション回数はJ×S×K=1000回である。一方、メタヒューリスティクスに基づく生産スケジューリングの技術では、ジョブ数J=20と同程度の規模の問題で、個体数N=40、世代数G=1000であるので、シミュレーション回数はN×G=40000の数倍程度(個体数40は各世代で淘汰により生き残った個体の数であり、シミュレーションは淘汰されて死滅した個体(通常、生存個体よりも多い)に対しても必要であるため)必要である。従って、本実施形態の処理の高速性が明らかである。
以上、本発明の好適な実施の形態について説明したが、本発明は、前記実施の形態に限定されるものではなく、特許請求の範囲に記載した限りにおいてさまざまな変更が可能なものである。
本実施形態における対象工程を示す図である。 第一の実施形態に係る生産スケジューリング装置のブロック図である。 第一の実施形態に係る生産スケジューリング方法の処理の手順について説明したフローチャートである。 第二の実施形態に係る生産スケジューリング装置のブロック図である。 第二の実施形態に係る生産スケジューリング方法の処理の手順について説明したフローチャートである。 第三の実施形態に係る生産スケジューリング装置のブロック図である。 第三の実施形態に係る生産スケジューリング方法の処理の手順について説明したフローチャートである。 第四の実施形態に係る生産スケジューリング装置のブロック図である。 第四の実施形態に係る生産スケジューリング方法の処理の手順について説明したフローチャートである。 第五の実施形態に係る生産スケジューリング方法の処理の手順について説明したフローチャートである。 ディスパッチングルールに基づく並び順制御の一例を示す図である。 GA(遺伝的アルゴリズム)法における構成例示す図である。 図12の個体に対応するスケジュールを示す図である。
符号の説明
1 生産スケジューリング装置
11 ジョブ情報(ジョブ情報記憶手段)
22 処理順初期解作成機能
23 処理順決定機能
24 部分計画対象ジョブ獲得機能
25 部分計画最適計算機能
26 処理順評価機能
27 部分計画処理順決定機能
28 処理順初期解再設定機能
40 生産スケジューリング装置
101 生産スケジューリング装置
111 ジョブ情報(ジョブ情報記憶手段)
122 処理順シミュレータ(処理順計算手段)
123 処理順評価機能
124 処理順決定機能
201 生産スケジューリング装置
211 ジョブ情報(ジョブ情報記憶手段)
221 ジョブ仮設定機能
222 割り付け優先度決定機能
223 処理順シミュレータ(処理順計算手段)
224 処理順評価機能
225 処理順決定機能
S1、S2 ジョブ情報記憶ステップ
S3 処理順初期解作成ステップ
S5〜S9 処理順決定ステップ
S5 部分計画対象ジョブ獲得ステップ
S6 部分計画最適計算ステップ、処理順評価ステップ
S7 部分計画処理順決定ステップ
S11、S12 処理順初期解再設定ステップ
S101、S102 ジョブ情報記憶ステップ
S106 処理順計算ステップ
S107 処理順評価ステップ
S113 処理順決定ステップ
S201、S202 ジョブ情報記憶ステップ
S207 処理順計算ステップ
S208 処理順評価ステップ
S214 処理順決定ステップ

S301、S302 ジョブ情報記憶ステップ
S308 処理順計算ステップ
S309 処理順評価ステップ
S317 処理順決定ステップ

Claims (15)

  1. 記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング装置であって、
    前記記憶装置は、
    入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報を記憶し、
    前記演算装置は、
    所定のスケジュール目的に基づいて、割り付け優先度を決定する割り付け優先度決定機能と、
    前記割り付け優先度に基づいて、予め設定した操業上の制約である操業制約を満たす前記ジョブの処理順の初期解を生成して、処理順初期解として前記記憶装置に記憶させる処理順初期解作成機能と、
    前記ジョブの全ての処理順を決定する処理順決定機能と、を備え、
    前記処理順決定機能は、
    前記処理順初期解のジョブの処理順の先頭から、処理順が未決定のジョブを予め設定した個数獲得し、部分計画対象ジョブとして前記記憶装置に記憶させる部分計画対象ジョブ獲得機能と、
    前記部分計画対象ジョブの処理順に対して、所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価機能と、
    前記部分計画対象ジョブの全ての順列の中で、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たす全ての処理順に対して前記処理順評価機能で評価値を計算し、前記全ての処理順の中から前記評価値が最適となる前記部分計画対象ジョブの処理順を選択する部分計画最適計算機能と、
    前記部分計画最適計算機能で選択された前記部分計画対象ジョブの処理順の初めから1つまたは複数のジョブを、当該処理順として決定する部分計画処理順決定機能と、を備え、
    前記ジョブの全ての処理順が決定するまで、前記部分計画対象ジョブ獲得機能、前記処理順評価機能、前記部分計画最適計算機能、及び、前記部分計画処理順決定機能の処理を繰り返すことを特徴とする生産スケジューリング装置。
  2. 予め設定した終了条件を満たすまで、前記記憶装置に記憶されている前記処理順初期解に替えて、前記処理順決定手段で決定した前記ジョブの処理順を前記処理順初期解として記憶させ、前記記憶装置に記憶される前記処理順初期解を再設定する処理順初期解再設定機能、を更に備え、
    前記処理順初期解再設定機能で再設定した前記処理順初期解に基づいて、再度、前記処理順決定機能において前記ジョブの全ての処理順を決定することを特徴とする請求項1に記載の生産スケジューリング装置。
  3. 記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング装置であって、
    前記記憶装置は、
    入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報を記憶し、
    前記演算装置は、
    複数存在する所定のスケジュール目的に基づいて、前記所定のスケジュール目的の数に対応した割り付け優先度を決定する割り付け優先度決定機能と、
    前記複数存在する所定のスケジュール目的に対応した前記割り付け優先度に基づいて、予め設定した操業上の制約である操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、前記ジョブの内の処理順が未決定の未決定ジョブの処理順を計算する、前記所定のスケジュール目的の数に対応した複数の処理順計算機能と、
    前記複数存在する所定のスケジュール目的のそれぞれに対応する複数の前記未決定ジョブの処理順に対して、前記複数存在する所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価機能と、
    前記複数存在する所定のスケジュール目的のそれぞれに対応する複数の前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順の始めのジョブを次順のジョブとして決定する処理順決定機能と、
    を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算機能、前記処理順評価機能、及び、前記処理順決定機能の処理を繰り返すことを特徴とする生産スケジューリング装置。
  4. 記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング装置であって、
    前記記憶装置は、
    入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報を記憶し、
    前記演算装置は、
    所定のスケジュール目的に基づいて、割り付け優先度を決定する割り付け優先度決定機能と、
    前記ジョブの内の処理順が未決定の未決定ジョブで予め設定した操業上の制約である操業制約を満たす全てのジョブをひとつずつ選択して次順のジョブとして仮設定し、前記割り付け優先度に基づき、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、残りの未決定ジョブの処理順を計算する処理順計算機能と、
    前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順に対して、所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価機能と、
    前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順における前記仮設定したジョブを次順のジョブとして決定する処理順決定機能と、
    を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算機能、前記処理順評価機能、及び、前記処理順決定機能の処理を繰り返すことを特徴とする生産スケジューリング装置。
  5. 記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング装置であって、
    前記記憶装置は、
    入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報を記憶し、
    前記演算装置は、
    複数存在する所定のスケジュール目的に基づいて、前記所定のスケジュール目的の数に対応する割り付け優先度を決定する割り付け優先度決定機能と、
    前記ジョブの内の処理順が未決定の未決定ジョブで予め設定した操業上の制約である操業制約を満たす全てのジョブをひとつずつ選択して次順のジョブとして仮設定し、前記複数存在する所定のスケジュール目的に対応した前記割り付け優先度に基づき、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、残りの未決定ジョブの処理順を計算する、前記所定のスケジュール目的の数に対応した複数の処理順計算機能と、
    前記複数存在する所定のスケジュール目的のそれぞれに関する前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順に対して、前記複数存在する所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価機能と、
    前記複数存在する所定のスケジュール目的のそれぞれに関する前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順における前記仮設定したジョブを次順のジョブとして決定する処理順決定機能と、
    を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算機能、前記処理順評価機能、及び、前記処理順決定機能の処理を繰り返すことを特徴とする生産スケジューリング装置。
  6. 記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング方法であって、
    前記演算装置により実行される処理が、
    入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップと、
    所定のスケジュール目的に基づいて、割り付け優先度を決定する割り付け優先度決定ステップと、
    前記割り付け優先度に基づいて、予め設定した操業上の制約である操業制約を満たす前記ジョブの処理順の初期解を生成して、処理順初期解として前記記憶装置に記憶させる処理順初期解作成ステップと、
    前記ジョブの全ての処理順を決定する処理順決定ステップと、を備え、
    前記処理順決定ステップは、
    前記処理順初期解のジョブの処理順の先頭から、処理順が未決定のジョブを予め設定した個数獲得し、部分計画対象ジョブとして前記記憶装置に記憶させる部分計画対象ジョブ獲得ステップと、
    前記部分計画対象ジョブの処理順に対して、所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価ステップと、
    前記部分計画対象ジョブの全ての順列の中で、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たす全ての処理順に対して前記処理順評価ステップで評価値を計算し、前記全ての処理順の中から前記評価値が最適となる前記部分計画対象ジョブの処理順を選択する部分計画最適計算ステップと、
    前記部分計画最適計算ステップで選択された前記部分計画対象ジョブの処理順の初めから1つまたは複数のジョブを、当該処理順として決定する部分計画処理順決定ステップと、を備え、
    前記ジョブの全ての処理順が決定するまで、前記部分計画対象ジョブ獲得ステップ、前記処理順評価ステップ、前記部分計画最適計算ステップ、及び、前記部分計画処理順決定ステップの処理を繰り返すことを特徴とする生産スケジューリング方法。
  7. 予め設定した終了条件を満たすまで、前記記憶装置に記憶されている前記処理順初期解に替えて、前記処理順決定手段で決定した前記ジョブの処理順を前記処理順初期解として記憶させ、前記記憶装置に記憶される前記処理順初期解を再設定する処理順初期解再設定ステップ、を更に備え、
    前記処理順初期解再設定ステップで再設定した前記処理順初期解に基づいて、再度、前記処理順決定ステップにおいて前記ジョブの全ての処理順を決定することを特徴とする請求項6に記載の生産スケジューリング方法。
  8. 記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング方法であって、
    前記演算装置により実行される処理が、
    入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップと、
    複数存在する所定のスケジュール目的に基づいて、前記所定のスケジュール目的の数に対応した割り付け優先度を決定する割り付け優先度決定ステップと、
    前記複数存在する所定のスケジュール目的に対応した前記割り付け優先度に基づいて、予め設定した操業上の制約である操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、前記ジョブの内の処理順が未決定の未決定ジョブの処理順を計算する、前記所定のスケジュール目的の数に対応した複数の処理順計算ステップと、
    前記複数存在する所定のスケジュール目的それぞれに対応する複数の前記未決定ジョブの処理順に基づいて、前記複数存在するスケジュール目的に基づいて予め設定した評価値を計算する処理順評価ステップと、
    前記複数存在する所定のスケジュール目的のそれぞれに対応する複数の前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順の始めのジョブを次順のジョブとして決定する処理順決定ステップと、
    を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算ステップ、前記処理順評価ステップ、及び、前記処理順決定ステップの処理を繰り返すことを特徴とする生産スケジューリング方法。
  9. 記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング方法であって、
    前記演算装置により実行される処理が、
    入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップと、
    所定のスケジュール目的に基づいて、割り付け優先度を決定する割り付け優先度決定ステップと、
    前記ジョブの内の処理順が未決定の未決定ジョブで予め設定した操業上の制約である操業制約を満たす全てのジョブをひとつずつ選択して次順のジョブとして仮設定し、前記割り付け優先度に基づき、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、残りの未決定ジョブの処理順を計算する処理順計算ステップと、
    前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順に対して、所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価機能と、
    前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順における前記仮設定したジョブを次順のジョブとして決定する処理順決定ステップと、
    を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算ステップ、前記処理順評価ステップ、及び、前記処理順決定ステップの処理を繰り返すことを特徴とする生産スケジューリング方法。
  10. 記憶装置と演算装置と入力装置を有するコンピュータにより、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成する生産スケジューリング方法であって、
    前記演算装置により実行される処理が、
    入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップと、
    複数存在する所定のスケジュール目的に基づいて、前記所定のスケジュール目的の数に対応する割り付け優先度を決定する割り付け優先度決定ステップと、
    前記ジョブの内の処理順が未決定の未決定ジョブで予め設定した操業上の制約である操業制約を満たす全てのジョブをひとつずつ選択して次順のジョブとして仮設定し、前記複数存在する所定のスケジュール目的に対応した前記割り付け優先度に基づき、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、残りの未決定ジョブの処理順を計算する、前記所定のスケジュール目的の数に対応した複数の処理順計算ステップと、
    前記複数存在する所定のスケジュール目的のそれぞれに関する前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順に対して、前記複数存在する所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価ステップと、
    前記複数存在する所定のスケジュール目的のそれぞれに関する前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順における前記仮設定したジョブを次順のジョブとして決定する処理順決定ステップと、
    を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算ステップ、前記処理順評価ステップ、及び、前記処理順決定ステップの処理を繰り返すことを特徴とする生産スケジューリング方法。
  11. 記憶装置と演算装置と入力装置を有するコンピュータにおいて、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成するプログラムであって、
    記憶装置にインストールして、演算装置により読み出して実行される処理が、
    入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップ、
    所定のスケジュール目的に基づいて、割り付け優先度を決定する割り付け優先度決定ステップ、
    前記割り付け優先度に基づいて、予め設定した操業上の制約である操業制約を満たす前記ジョブの処理順の初期解を生成して、処理順初期解として前記記憶装置に記憶させる処理順初期解作成ステップ、
    前記ジョブの全ての処理順を決定する処理順決定ステップ、を備え、
    前記処理順決定ステップは、
    前記処理順初期解のジョブの処理順の先頭から、処理順が未決定のジョブを予め設定した個数獲得し、部分計画対象ジョブとして前記記憶装置に記憶させる部分計画対象ジョブ獲得ステップ、
    前記部分計画対象ジョブの処理順に対して、所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価ステップ、
    前記部分計画対象ジョブの全ての順列の中で、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たす全ての処理順に対して前記処理順評価ステップで評価値を計算し、前記全ての処理順の中から前記評価値が最適となる前記部分計画対象ジョブの処理順を選択する部分計画最適計算ステップ、
    前記部分計画最適計算ステップで選択された前記部分計画対象ジョブの処理順の初めから1つまたは複数のジョブを、当該処理順として決定する部分計画処理順決定ステップ、
    を備え、
    前記ジョブの全ての処理順が決定するまで、前記部分計画対象ジョブ獲得ステップ、前記処理順評価ステップ、前記部分計画最適計算ステップ、及び、前記部分計画処理順決定ステップの処理を繰り返すことを特徴とするプログラム。
  12. 予め設定した終了条件を満たすまで、前記記憶装置に記憶されている前記処理順初期解に替えて、前記処理順決定手段で決定した前記ジョブの処理順を前記処理順初期解として記憶させ、前記記憶装置に記憶される前記処理順初期解を再設定する処理順初期解再設定ステップ、を更に備え、
    前記処理順初期解再設定ステップで再設定した前記処理順初期解に基づいて、再度、前記処理順決定ステップにおいて前記ジョブの全ての処理順を決定することを特徴とする請求項11に記載のプログラム。
  13. 記憶装置と演算装置と入力装置を有するコンピュータにおいて、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成するプログラムであって、
    記憶装置にインストールして、演算装置により読み出して実行される処理が、
    入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップ、
    複数存在する所定のスケジュール目的に基づいて、前記所定のスケジュール目的の数に対応した割り付け優先度を決定する割り付け優先度決定ステップ、
    前記複数存在する所定のスケジュール目的に対応した前記割り付け優先度に基づいて、予め設定した操業上の制約である操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、前記ジョブの内の処理順が未決定の未決定ジョブの処理順を計算する、前記所定のスケジュール目的の数に対応した複数の処理順計算ステップ、
    前記複数存在する所定のスケジュール目的それぞれに対応する複数の前記未決定ジョブの処理順に基づいて、前記複数存在する所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価ステップ、
    前記複数存在する所定のスケジュール目的のそれぞれに対応する複数の前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順の始めのジョブを次順のジョブとして決定する処理順決定ステップ、
    を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算ステップ、前記処理順評価ステップ、及び、前記処理順決定ステップの処理を繰り返すことを特徴とするプログラム。
  14. 記憶装置と演算装置と入力装置を有するコンピュータにおいて、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成するプログラムであって、
    記憶装置にインストールして、演算装置により読み出して実行される処理が、
    入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップ、
    所定のスケジュール目的に基づいて、割り付け優先度を決定する割り付け優先度決定ステップ、
    前記ジョブの内の処理順が未決定の未決定ジョブで予め設定した操業上の制約である操業制約を満たす全てのジョブをひとつずつ選択して次順のジョブとして仮設定し、前記割り付け優先度に基づき、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、残りの未決定ジョブの処理順を計算する処理順計算ステップ、
    前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順に対して、所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価機能と、
    前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順における前記仮設定したジョブを次順のジョブとして決定する処理順決定ステップ、
    を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算ステップ、前記処理順評価ステップ、及び、前記処理順決定ステップの処理を繰り返すことを特徴とするプログラム。
  15. 記憶装置と演算装置と入力装置を有するコンピュータにおいて、複数のジョブを順次処理していく単一工程でのスケジュール対象の複数のジョブの処理順を決定してスケジュールを作成するプログラムであって、
    記憶装置にインストールして、演算装置により読み出して実行される処理が、
    入力装置により入力された、スケジュール対象の複数のジョブ及びその特性を登録するジョブ情報記憶ステップ、
    複数存在する所定のスケジュール目的に基づいて、前記所定のスケジュール目的の数に対応する割り付け優先度を決定する割り付け優先度決定ステップ、
    前記ジョブの内の処理順が未決定の未決定ジョブで予め設定した操業上の制約である操業制約を満たす全てのジョブをひとつずつ選択して次順のジョブとして仮設定し、前記複数存在する所定のスケジュール目的に対応した前記割り付け優先度に基づき、前記操業制約及び予め設定した処理順に対する制約である処理順制約を満たすように、残りの未決定ジョブの処理順を計算する、前記所定のスケジュール目的の数に対応した複数の処理順計算ステップ、
    前記複数存在する所定のスケジュール目的のそれぞれに関する前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順に対して、前記複数存在する所定のスケジュール目的に基づいて予め設定した評価値を計算する処理順評価ステップ、
    前記複数存在する所定のスケジュール目的のそれぞれに関する前記仮設定した前記操業制約を満たす全てのジョブに対応する前記未決定ジョブの処理順の中から、前記評価値が最適となる前記未決定ジョブの処理順における前記仮設定したジョブを次順のジョブとして決定する処理順決定ステップ、
    を備え、前記ジョブの全ての処理順が決定するまで、前記処理順計算ステップ、前記処理順評価ステップ、及び、前記処理順決定ステップの処理を繰り返すことを特徴とするプログラム。
JP2005290624A 2005-10-04 2005-10-04 生産スケジューリング装置及び生産スケジューリング方法、並びにプログラム Expired - Fee Related JP4987275B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005290624A JP4987275B2 (ja) 2005-10-04 2005-10-04 生産スケジューリング装置及び生産スケジューリング方法、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005290624A JP4987275B2 (ja) 2005-10-04 2005-10-04 生産スケジューリング装置及び生産スケジューリング方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2007102435A JP2007102435A (ja) 2007-04-19
JP4987275B2 true JP4987275B2 (ja) 2012-07-25

Family

ID=38029330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005290624A Expired - Fee Related JP4987275B2 (ja) 2005-10-04 2005-10-04 生産スケジューリング装置及び生産スケジューリング方法、並びにプログラム

Country Status (1)

Country Link
JP (1) JP4987275B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5214773B2 (ja) * 2011-06-30 2013-06-19 楽天株式会社 くじ購入システム、くじ購入システムの制御方法、プログラム及び記録媒体
JP7386777B2 (ja) * 2020-10-27 2023-11-27 三菱電機株式会社 作業指示装置及び作業指示方法
IT202100009752A1 (it) * 2021-04-19 2022-10-19 Progress Lab S R L Sistema di ottimizzazione dei tempi di lavorazione in ambito manifatturiero
CN112987674B (zh) * 2021-04-27 2021-09-17 北京北方华创微电子装备有限公司 半导体加工设备的物料调度方法和装置
CN114755993B (zh) * 2022-06-13 2022-11-22 深圳市玄羽科技有限公司 应用于工业互联网的协同控制方法、系统及相关设备
CN115700639B (zh) * 2022-12-30 2023-04-07 东方合智数据科技(广东)有限责任公司 智能生产排程方法、装置、设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02130678A (ja) * 1988-11-11 1990-05-18 Nec Corp 製造計画作成装置
JPH05324665A (ja) * 1992-05-15 1993-12-07 Kobe Steel Ltd 処理順序計画生成方法
JPH0728890A (ja) * 1993-07-08 1995-01-31 Hitachi Ltd ジョブスケジューリング方法および装置
JP4255524B2 (ja) * 1997-09-26 2009-04-15 新日鉄ソリューションズ株式会社 スケジューリング方法、コンピュータ読み取り可能な記録媒体及びスケジューリング装置
JP2000003349A (ja) * 1998-06-16 2000-01-07 System Labo Murata:Kk 処理順序決定装置およびその方法
JP2000330966A (ja) * 1999-05-18 2000-11-30 Japan Tobacco Inc スケジューリング装置及びその方法とこのスケジューリングプログラムを格納する記録媒体
JP2003316411A (ja) * 2002-04-25 2003-11-07 Kobe Steel Ltd スケジューリング装置及びスケジューリング方法、並びにプログラム

Also Published As

Publication number Publication date
JP2007102435A (ja) 2007-04-19

Similar Documents

Publication Publication Date Title
McCormack et al. A simulation model to enable the optimization of ambulance fleet allocation and base station location for increased patient survival
JP4987275B2 (ja) 生産スケジューリング装置及び生産スケジューリング方法、並びにプログラム
Efremova et al. An ordered ranking multi-attributive model for decision-making systems with attributes of control systems software
JPWO2010064281A1 (ja) 生産計画作成システムおよび生産計画作成方法
Liang et al. Simulation-based optimization for surgery scheduling in operation theatre management using response surface method
Erden et al. Solving integrated process planning, dynamic scheduling, and due date assignment using metaheuristic algorithms
Behnamian et al. A scatter search algorithm with a novel solution representation for flexible open shop scheduling: a multi-objective optimization
JP2011048778A (ja) 生産スケジュール作成装置
CN114493376A (zh) 一种基于工单数据的任务调度管理方法及系统
JP2017122955A (ja) 生産計画立案支援システムおよび支援方法
JP6959975B2 (ja) 計算機システム及びリソースの配置の決定方法
CN110263136B (zh) 基于强化学习模型向用户推送对象的方法和装置
JP5063444B2 (ja) ライン生産管理支援方法および装置
JP4072102B2 (ja) プロジェクト事前評価方法、プロジェクト事前評価装置及びプログラム
Wong et al. A multi-objective decision-making approach to the journal submission problem
CN110717537A (zh) 训练用户分类模型、执行用户分类预测的方法及装置
Hosny et al. A mutation-based genetic algorithm for room and proctor assignment in examination scheduling
JPH11282909A (ja) 生産スケジューリング方法及びその装置
US20220129802A1 (en) Computer system and plan evaluation method
Cheng et al. An integrated modeling mechanism for optimizing the simulation model of the construction operation
Obimuyiwa et al. A genetic algorithm for flexible job shop scheduling problem with scarce cross trained setup operators
JP7311270B2 (ja) スケジューリングシステム、スケジュール生成装置、および選好値計算装置、プログラム、並びにこれらの方法
JP2000237937A (ja) 生産システムの設計支援方法
JP2004102357A (ja) 生産量算定方法,生産量算定装置,生産量算定システム,生産量算定プログラムおよび記録媒体
CN112990636B (zh) 计算机系统和日程安排系统的验证方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120424

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120425

R150 Certificate of patent or registration of utility model

Ref document number: 4987275

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees