JP2010198339A - スケジュール作成方法、スケジュール作成装置及びコンピュータプログラム - Google Patents

スケジュール作成方法、スケジュール作成装置及びコンピュータプログラム Download PDF

Info

Publication number
JP2010198339A
JP2010198339A JP2009042643A JP2009042643A JP2010198339A JP 2010198339 A JP2010198339 A JP 2010198339A JP 2009042643 A JP2009042643 A JP 2009042643A JP 2009042643 A JP2009042643 A JP 2009042643A JP 2010198339 A JP2010198339 A JP 2010198339A
Authority
JP
Japan
Prior art keywords
matrix
max
theorem
input
plus
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
JP2009042643A
Other languages
English (en)
Inventor
Hiroyuki Goshima
洋行 五島
Koki Takahashi
弘毅 高橋
Suminori Kasahara
統徳 笠原
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.)
Nagaoka University of Technology NUC
Original Assignee
Nagaoka University of Technology NUC
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 Nagaoka University of Technology NUC filed Critical Nagaoka University of Technology NUC
Priority to JP2009042643A priority Critical patent/JP2010198339A/ja
Publication of JP2010198339A publication Critical patent/JP2010198339A/ja
Pending legal-status Critical Current

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]

Landscapes

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

Abstract

【課題】より少ないメモリ消費で、与えられたシステムをMPLシステムとして表現できる形式に対してクリティカルチェーン法を適用可能とし、処理時間の不確定性が高い場合にも納期遅れを出さず、かつ納期短縮を図り得るスケジュール作成方法、スケジュール作成装置及びコンピュータプログラムを提供する。
【解決手段】例えばシステムの稼動中にクリティカルチェーン法を適用して計画期間の短縮を図る場合でも、max-plus代数上で線形なMPL形式を導出するための行列A ,F,B,C ,Fを利用して、当該クリティカルチェーン法を適用した際に用いるPB及びFBの位置及び値を簡単に取得することができる。従って、より少ないメモリ消費で、与えられたシステムをMPLシステムとして表現できる形式に対してクリティカルチェーン法を適用可能とし、処理時間の不確定性が高い場合にも納期遅れを出さず、かつ納期短縮を図り得る。
【選択図】図2

Description

本発明は、複数の工程を経て作業を行なう作業プロセスのスケジュール作成方法、スケジュール作成装置及びコンピュータプログラムに関する。
生産システムの工程管理や、プロジェクトの進捗管理など、複数の工程が存在する作業プロセスに対して管理を行なう場合、例えば、ある工程が終了しないと次の工程に移れない、又は複数の工程で同時並行して作業が可能であるなど、様々な制約条件が課されている。そのため、こうしたシステムやプロジェクトの管理(マネジメント)には、納期遅れを出さす、かつできるだけ低コストで実行することが求められる。また、複数存在する工程の中で、どこが作業効率の最も悪い工程箇所であるボトルネックであるのかを常に把握し、納期遅れが生じないように、これらの工程の進捗状況には、常に注意を払うことが必要である。
従来、この種のシステムやプロジェクトのスケジュール管理としては、ガントチャートがしばしば用いられ、また重要な経路の把握には、アローダイアグラムを用いて解析することが多い。前者のガントチャートによる方法は、各工程がいつ実行されるのかが明確に記述されるため、人員や設備の計画やタスクの進捗状況把握に適している。しかし、工程の実行順序に関する制約関係は明示されないため、一つの工程の遅れが後続の工程や終了時刻にどのような影響を与えるのかを把握するのが難しいという欠点がある。
他方、アローダイアグラムによる方法は、タスクの実行順序を明確に記述するため、ボトルネック工程を把握することが容易にできる利点がある。その反面、どの資源をいつ使うのかの把握が難しく、資源割当や進捗管理といった用途には向いていない。また、同一資源を共有しながら複数のプロジェクトを同時並行で実施したり、同一の製品を繰り返し生産したりするような場合の解析には向いていない。
同一資源を繰り返し用いるようなシステムの記述と解析方法の一つに、時間付きペトリネット(TPN)を用いる方法も提案されている。この方法では、トランジションの発火時刻を、工程の開始時刻や終了時刻とすると共に、プレース内でのトークンの保有時間を工程の実行時間とし、制御プレースによって資源の非競合(no-concurrency)を表現している。全てのプレースの上流と下流にトランジションが一つずつあるようなペトリネットのサブクラスは、TEG(Timed Event Graph)と呼ばれており、TEGの振る舞いは、後述するmax-plus代数を用いて表現できることが知られている。
max-plus代数は、別名(max,+)代数とも呼ばれており、離散事象システムのモデリング,解析,制御のための代表的なアプローチとして研究が進められている。離散事象システムの典型的な事象生起条件は、(1)複数の離散現象の同期(synchronization)。すなわち、全て生起することが別な離散現象の生起条件となる。(2)事象生起後、一定時間が経過した後に別の事象が生起する。以上の2つの条件が挙げられるが、max-plus代数では、(1)の条件を事象生起時刻のmax演算で記述し、(2)の条件を事象生起時刻と経過時間の+演算で記述することができる。
max-plus代数の一番大きな特徴は、前記max演算を加算,+演算を乗算と定義することで、本来は非線形演算となるmax演算に、ある種の線形特性を持たせることができる点にある。そのため、通常の(+,×)代数系で成立する交換則や分配則が、スカラーや行列の演算において成立するなど、興味深い性質を持つ。また、前記TEGの挙動は、MPL(max-plus線形)形式と呼ばれるmax-plus代数系での線形方程式を用いて表現できることが知られており、これは現代制御理論におけるシステムの状態空間表現に類似した形式となっている。このため、内部モデル制御やモデル予測制御など、現代制御理論における研究成果を応用する試みも行われている。
そこで、この種のスケジュール作成方法やスケジュール作成装置に用いられるmax-plus代数について、より具体的に説明する。max-plus代数とは、或るクラスの離散事象システムの記述に適した代数系であり、ここでは実数体をRと表し、D=R∪{±∞}において、加算及び乗算の二つの演算式を次のように定義する。
Figure 2010198339
なお、上記加算や乗算の演算子は、通常の代数系での演算子と区別するために、「+」や「×」のシンボルを丸印で囲んで表現するが、乗算については混乱のない限り演算子の表記を省略する(すなわち後者の式をxyと表記する)。これらの演算子の間には、通常の代数系と同様に、交換法則,結合法則,分配法則が成り立ち、式の変形など通常の代数系と同様の計算を行なうことができる。また、演算の優先順位は、加算よりも乗算が高いとする。加算及び乗算の単位元を、それぞれε(=−∞)及びe(=0)と定義すると、任意のx∈Dに対して、次の式が成り立つ。
Figure 2010198339
さらに、上記数1や数2の式以外に、次の2つの演算子(∧,\)も次のように定義する。
Figure 2010198339
ここで、上記max関数は、括弧内で最大の値を算出することを意味し、min関数は、括弧内で最小の値を算出することを意味する。また、べき乗演算子は、次のように記述される。
Figure 2010198339
複数の数に対する演算子は、m≦nのときに、次のように記述される。
Figure 2010198339
Figure 2010198339
Figure 2010198339
なお、m>nの場合は、何も演算を行なわず、前後の演算に対する単位元に成るものとする。
max-plus代数では、Dの元を要素に持つ行列に対しても、同様の演算子を用いて定義することができる。ここでは、m行n列の行列X(X∈Dm×n)に対し、Xは行列Xの転置行列を表し、[X]ijはi行j列の要素を表わすものとする。また、m行n列の行列X,Y(X,Y∈Dm×n)において、全てのi及びjに対して(但し、1≦i≦m,1≦j≦n)、[X]ij≦[Y]ijが成立するときに、X≦Yと表す。このとき、X,Y∈Dm×nに対して、次の式に示す演算式を定義する。
Figure 2010198339
Figure 2010198339
また、m行l列の行列Xと、l行p列の行列Y(X∈Dm×l,Y∈Dl×p)に対して、次の式に示す演算式を定義する。
Figure 2010198339
Figure 2010198339
さらに、加算の単位元はεmnと表記し、これはεmn∈Dm×nにおいて、全ての要素がεであることを意味する。また乗算の単位元はeと表記し、これはe∈Dm×mにおいて、対角要素のみeで、それ以外の非対称要素は全てεであることを意味する。以上の定義により、max-plus代数において、線形性を有する行列演算が可能となる。そして、こうしたmax-plus代数を用いることで、作業プロセス内で順に行われる作業の順番(以下、イベントカウンタと言う)を独立変数とし、作業プロセス内で作業が行われる時刻をイベントカウンタの関数として記述することで、工程管理や進捗管理におけるスケジュールを作成することができる。
次に、上記max-plus代数を用いたMPLシステムについて説明する。MPLシステムとは、そのシステムの振る舞いがmax-plus代数上で線形な形式で表現することができるシステムのことで、次の式に示すような現代制御理論の状態空間表現に類似した形式で表される。
Figure 2010198339
Figure 2010198339
上式におけるイベントカウンタkは、初期状態からの事象の発生回数を表す。また、x(k)∈D,u(k)∈D,y(k)∈Dはそれぞれ、状態変数,制御入力,制御出力であり、k回目の事象が起こる時刻を表す。なお、n,p,qはそれぞれの変数の持つ次元である。さらに、A∈Dn×n,B∈Dn×p,C∈Dq×nはそれぞれ、システム行列,入力行列,出力行列である。
ここで、図6に示すような作業プロセスとしての生産プロセスが、MPLシステムによりどのようにしてモデリングされるのかを具体的に説明する。図6は、複数の工程からなる生産システムにおける加工順序の一例を示した模式図であって、ここでは入力から工程(1)に材料(部品)を投入して加工し、その加工が終了した後に、工程(2)と工程(3)で同時並行的に材料の加工を行なう。続く工程(4)では、工程(2)と工程(3)の両方から加工済部品を受け取って加工を行ない、この工程(4)の加工が完了すると、製品として完成し出力される。
この生産システムに対して、工程(1)〜(4)の各加工時間を、それぞれd,d,d,dとする。また、k番目のバッチ加工に関して、工程(1)に投入される材料の投入時刻をu(k)とし、工程(1)〜(4)におけるそれぞれの加工開始時刻を、x(k),x(k),x(k),x(k)とし、全ての加工が終了した製品の完成時刻をy(k)として定義する。つまり、u(k)及びy(k)は、各々システムに対する制御入力と制御出力に相当し、x(k)〜x(k)は、システム内部の状態変数に相当する。
さらに、図中に示した生産システムの各工程(1)〜(4)には、次のような制約条件が課せられているものとする。
・1つの材料は、全ての工程(1)〜(4)を1回だけ通過する。
・各工程(1)〜(4)の設備が稼動中のときには、その加工が終了するまで、次の加工を開始できない。
・先行工程を有する工程(2)〜(4)は、それらの先行工程の加工が終了しないと、加工を開始できない。
・入力のある工程(1)は、当該番号の材料を受け取らないと加工を開始できない。
・各工程(1)〜(4)の設備が空、即ち稼動していない状態で、先行工程や入力から材料を受け取ると、直ちに加工を開始する。
以上の制約条件より、工程(1)が(k)番目の材料の加工を開始する時刻x(k)は、k番目の材料が投入された時刻u(k)と、工程(1)でk−1番目の材料の加工が終了した時刻x(k−1)+dの遅い方に定められる。工程(2)が(k)番目の材料の加工を開始する時刻x(k)は、工程(2)でk−1番目の材料の加工が終了した時刻x(k−1)+dと、工程(1)からk番目の加工済材料を受け取った時刻x(k)+dの遅い方に定められ、同様に、工程(3)がk番目の材料の加工を開始する時刻x(k)は、工程(3)でk−1番目の材料の加工が終了した時刻x(k−1)+dと、工程(1)からk番目の加工済材料を受け取った時刻x(k)+dの遅い方に定められる。また、工程(4)がk番目の材料の加工を開始する時刻x(k)は、工程(2)からk番目の加工済材料を受け取った時刻x(k)+dと、工程(3)からk番目の加工済材料を受け取った時刻x(k)+dと、工程(4)でk−1番目の材料の加工が終了した時刻x(k−1)+dの遅い方に定められる。さらに、k番目の加工済材料が製品として完了する時刻y(k)は、工程(4)でk番目の材料の加工が終了した時刻x(k)+dに一致する。これらをmax-plus代数により表現すると、前述した遅い方の時刻の算出はmax演算子で記述することができるので、以下に示す各数式のようになる。
Figure 2010198339
Figure 2010198339
Figure 2010198339
Figure 2010198339
Figure 2010198339
上記数14を数15及び数16に代入し、これらを数17に代入すると、数14〜数18は前記数12や数13で表され、MPLシステムの形式で記述することができる。但し、ここでの数12や数13におけるシステム行列Aや、入力行列B、出力行列Cは、次の式のようになる。
Figure 2010198339
数12や数13の式は、作業プロセスでの作業開始時刻及び終了時刻に関する一般的な表現となっており、これらの数式をさらに変形すると、未来の製品完了時刻y(k+1)を、現在の内部状態x(k)と、未来の材料の投入時刻u(k+1)とにより計算することが可能になる。従って、生産システムの内部状態x(k)が定まっており、未来の製品完了時刻y(k+1)として、生産システムにおける納期である望ましい出力R(k+1)を定めたとき、納期遅れを出すことがない適切な入力u(k+1)を求めることができる。また、イベントカウンタがk+2以降の場合は、イベントカウンタを一つずつ増やして再計算することにより、生産システムに適切な投入時刻を求めることが可能となり、最終的に作業プロセスのスケジュールを作成することができる。
こうしたMPLシステムを利用した生産システムのモデリングは、例えば特許文献1や特許文献2などにも開示され、作業プロセスのスケジュールを作成する方法として広く採用されているが、例えば先行制約を有するプロジェクトのスケジューリング問題にも同様に適用することができ、その場合の各工程はタスクに相当する。但し、本発明では、こうしたタスクを含めたものを工程として定義する。
特開2004−240853号公報 特開2005−339178号公報
上述したような作業プロセスのスケジュールを作成するためには、作業プロセスをモデル化して、上記数15〜数17にあるような右辺にx(k)を含む式から、数12のような右辺にx(k)が現れない形式に変形を行って、MPLシステムに適合する作業プロセスの状態を表現した式に作成変換し、線形計画法などを用いた数値計算を行なう必要がある。しかし、従来のこうした方法では、作業プロセスの状態を表現する数12や数13の式を手作業で作成していたため、複雑な作業プロセスに対して適用することが困難であるという問題があった。また、こうした点を考慮して、特許文献1では、作業プロセスのスケジュールを作成する一連の手順をコンピュータで処理する手法を提案しているが、メモリ消費が大きく処理システムが膨大なものとなり、計算が非効率で改善が求められていた。
また、従来の工程管理では、個々の工程が計画通り確実に終了することを前提にしているため、作業計画に遅れが生じないように各工程において予め余裕(安全時間)を持たせた加工時間が設定されている。そして、こうした余裕ある加工時間が設定されている場合には、作業着手を先延ばしする誘引にもなり、また所定の工程において早期に作業が完了しても、スケジュール上の終了日まで次工程に引き渡さない虞もあり、結局はスケジュール全体に遅れが生じる虞があるという問題があった。
本発明は上記の問題点に鑑みなされたもので、より少ないメモリ消費で、与えられたシステムをMPLシステムとして表現できる形式に対してクリティカルチェーン法を適用可能とし、処理時間の不確定性が高い場合にも納期遅れを出さず、かつ納期短縮を図り得るスケジュール作成方法、スケジュール作成装置及びコンピュータプログラムを提供することにある。
本発明は、一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成方法において、
前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、次の数20〜数23で定義されたシステム構造を表現する行列A ,F,B,C (但し、[X]ijは行列Xにおけるi行j列の要素である。kはk番目の前記処理対象の工程処理であることを表す。)と、
Figure 2010198339
Figure 2010198339
Figure 2010198339
Figure 2010198339
前記行列Fを基に前記max-plus代数の定理を利用した次の数24から算出された行列F(但し、Fにおいて全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算であることを表す)と、
Figure 2010198339
を用い、前記max-plus代数の定理を利用した所定の演算処理を実行することで、前記各工程の実行時間を短縮したことによる遅れを防止するための猶予時間であるプロジェクトバッファの設置位置を決定すると共に、前記プロジェクトバッファの値を算出するプロジェクトバッファ算出ステップと、
前記離散事象システムにおける前記入力から前記出力までの複数の経路のうち、前記入力から前記出力までに要する時間が最長となる経路をクリティカルパスとし、それ以外の経路を非クリティカルパスとして次の数25でシステム構造を表現する行列υ,w´(但し、[X]iは行列Xにおけるi行の要素である)を算出し、該行列υ,w´と前記行列Fとを用い、前記max-plus代数の定理を利用した所定の演算処理を実行することで、前記非クリティカルパス上の工程による遅れを防止するための猶予時間であるフィーデングバッファの設置位置を決定すると共に、前記フィーデングバッファの値を算出するフィーデングバッファ算出ステップと、
Figure 2010198339
を実行するスケジュール作成方法である。
この場合、前記プロジェクトバッファ算出ステップは、
行列A ,F,B,C ,Fを用いて算出された、前記各工程で前記処理対処の処理を最も早く終了させたときの出力での最早終了時刻y(k)を、前記演算部が取得し、
前記最早終了時刻y(k)を用い、前記max-plus代数の定理を利用した次の数26に基づき前記プロジェクトバッファの値を前記演算部で算出する
Figure 2010198339
(PBは前記プロジェクトバッファを表し、qは任意の数字。丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)ことが好ましい。
また、前記最早終了時刻y(k)は、前記行列C と最早開始時刻x(k)とを用いて、前記演算部によって次の数27により算出され、
Figure 2010198339
前記最早開始時刻x(k)は、k番目の前記処理対象の工程処理に関して、各工程での処理開始時刻をx(k−1)とし、入力時刻をu(k)としたときに、前記行列A ,B,及びF と、前記処理開始時刻x(k−1)及び前記入力時刻u(k)とを利用し、前記演算部によって次の数28に基づき算出される。
Figure 2010198339
また、前記プロジェクトバッファ算出ステップは、前記行列Cの各要素のうち、前記実行時間d(k)となった要素に対応した前記工程jを決定し、該工程jの次工程が前記プロジェクトバッファの設置位置であると、前記演算部によって決定する。
また、前記フィーデングバッファ算出ステップは、
前記行列υ,w´,Fを用い、前記max-plus代数の定理を利用した次の数29に基づき行列Fβαを前記演算部で算出する第1のステップと、
Figure 2010198339
(diagは対角行列を表し、Tは転置行列を表し、丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
前記行列w´と前記行列Fβαとに基づいて、前記max-plus代数の定理を利用した次の数30により行列υ´を前記演算部で算出する第2のステップと、
Figure 2010198339
を実行することが好ましい。
また、前記第2のステップの後に、前記行列υと前記行列Fとを用い前記max-plus代数の定理を利用した次の数31により行列Fββを算出し、前記行列υ´と前記行列Fββとを用い前記max-plus代数の定理を利用した次の数32に基づいて行列pを前記演算部で算出する第3のステップと、
Figure 2010198339
Figure 2010198339
前記行列pの要素を次の数33の定義に従ってεとeとに置き換えた行列pと、前記行列Fββとから前記max-plus代数の定理を利用した次の数34を基に行列F ββを算出し、前記行列F ββを基に前記max-plus代数の定理を利用した次の数35から行列F〜* ββ(但し、F ββ において全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算を表す)を前記演算部で算出する第4のステップと、
Figure 2010198339
Figure 2010198339
Figure 2010198339
前記行列υ´と前記行列F〜* ββと前記行列υとを基に前記max-plus代数の定理を利用した次の数36により前記フィーデングバッファの値を抽出した行列FBを、前記演算部で算出する第5のステップと
Figure 2010198339
を実行することが好ましい。
また、前記各工程の実行時間を1/qに短縮した短縮実行時間を前記演算部で算出する実行時間短縮ステップを備え、前記入力パラメータに前記プロジェクトバッファの値と前記フィーデングバッファの値とを追加し、かつ前記短縮実行時間を用いて、前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記行列A ,F,B,C の各要素をそれぞれ前記演算部で決定し、該行列Fを用いて前記行列Fを前記演算部で算出することが好ましい。
また、本発明は、一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成方法において、
前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、次の数37〜数40で定義されたシステム構造を表現する行列A ,F,B,C (但し、[X]ijは行列Xにおけるi行j列の要素である)と、
Figure 2010198339
Figure 2010198339
Figure 2010198339
Figure 2010198339
前記max-plus代数の定理を利用して前記行列Fを基に算出された次の数41の行列F(但し、Fにおいて全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算であることを表す)と、
Figure 2010198339
を用いて算出された、前記各工程で前記処理対処の処理を最も早く終了させたときの出力での最早終了時刻y(k)を、前記演算部が取得する第1のステップと、
前記最早終了時刻y(k)を用い、前記max-plus代数の定理を利用した次の数42に基づきプロジェクトバッファの値を前記演算部で算出する第2のステップと、
Figure 2010198339
(PBはプロジェクトバッファを表し、qは任意の数字。丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
を実行するスケジュール作成方法である。
また、前記最早終了時刻y(k)は、前記行列C と最早開始時刻x(k)とを用いて、前記演算部によって次の数43により算出され、
Figure 2010198339
前記最早開始時刻x(k)は、k番目の前記処理対象の工程処理に関して、各工程での処理開始時刻をx(k−1)とし、入力時刻をu(k)としたときに、前記行列A ,B,及びF と、前記処理開始時刻x(k−1)及び入力時刻u(k)とを利用し、前記演算部によって次の数44に基づき算出される。
Figure 2010198339
また、本発明は、一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成方法において、
前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程jにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて次の数45で定義されたシステム構造を表現する行列C (但し、[X]ijは行列Xにおけるi行j列の要素である)の各要素を前記演算部で決定する第1のステップと、
Figure 2010198339
前記行列Cの各要素のうち、前記実行時間d(k)となった要素に対応した工程jを決定し、前記工程jの次工程がプロジェクトバッファの設置位置であると、前記演算部によって決定する第2のステップとを実行するスケジュール作成方法である。
また、本発明は、一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成方法において、
前記離散事象システムにおける前記入力から前記出力までの複数の経路のうち、前記入力から前記出力までに要する時間が最長となる経路をクリティカルパスとし、それ以外の経路を非クリティカルパスとして次の数46でシステム構造を表現する行列υ,w´(但し、[X]iは行列Xにおけるi行の要素である)と、
Figure 2010198339
前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、次の数47で定義されたシステム構造を表現する行列F(但し、[X]ijは行列Xにおけるi行j列の要素である)と、
Figure 2010198339
を前記演算部が取得する第1のステップと、
前記行列υ,w´,Fを用い、前記max-plus代数の定理を利用した次の数48に基づき行列Fβαを前記演算部で算出する第2のステップと、
Figure 2010198339
(diagは対角行列を表し、Tは転置行列を表し、丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
前記行列w´と前記行列Fβαとに基づいて、前記max-plus代数の定理を利用した次の数49により行列υ´を前記演算部で算出する第3のステップと
Figure 2010198339
を実行するスケジュール作成方法である。
また、前記行列υと前記行列Fとを基に前記max-plus代数の定理を利用した次の数50により行列Fββを算出し、前記行列υ´と該行列Fββとから前記max-plus代数の定理を利用した次の数51に基づいて行列pを前記演算部で算出する第4のステップと、
Figure 2010198339
Figure 2010198339
前記行列pの要素を次の数52の定義に従ってεとeとに置き換えた行列pと、前記行列Fββとから前記max-plus代数の定理を利用した次の数53を基に行列F ββを算出し、前記max-plus代数の定理を利用して前記行列F ββを基に次の数54の行列F〜* ββ(但し、F ββ において全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算を表す)を前記演算部で算出する第5のステップと、
Figure 2010198339
Figure 2010198339
Figure 2010198339
前記行列υ´と前記行列F〜* ββと前記行列υとを基に前記max-plus代数の定理を利用して次の数55によりフィーデングバッファの値を抽出した行列FBを、前記演算部で算出する第6のステップと
Figure 2010198339
を実行するスケジュール作成方法である。
そして、本発明によるこれらスケジュール作成方法については、これらスケジュール作成方法をコンピュータに実行させるためのコンピュータプログラムを当該コンピュータに対して読み込ませることにより、当該コンピュータとコンピュータプログラムとの協働した演算処理を実行させることで、スケジュール作成装置を構築させることができる。
すなわち、本発明によるスケジュール作成装置は、一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成装置において、
前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、次の数56〜数59で定義されたシステム構造を表現する行列A ,F,B,C (但し、[X]ijは行列Xにおけるi行j列の要素である。kはk番目の前記処理対象の工程処理であることを表す。)と、
Figure 2010198339
Figure 2010198339
Figure 2010198339
Figure 2010198339
前記max-plus代数の定理を利用して前記行列Fを基に算出された次の数60の行列F(但し、Fにおいて全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算であることを表す)と、
Figure 2010198339
を用い、前記max-plus代数の定理を利用した所定の演算処理を実行することで、前記各工程の実行時間を短縮したことによる遅れを防止するための猶予時間であるプロジェクトバッファの設置位置を決定すると共に、前記プロジェクトバッファの値を算出し、
前記離散事象システムにおける前記入力から前記出力までの複数の経路のうち、前記入力から前記出力までに要する時間が最長となる経路をクリティカルパスとし、それ以外の経路を非クリティカルパスとして次の数61でシステム構造を表現する行列υ,w´(但し、[X]iは行列Xにおけるi行の要素である)を算出し、該行列υ,w´と前記行列Fとを用い、前記max-plus代数の定理を利用した所定の演算処理を実行することで、前記非クリティカルパス上の工程による遅れを防止するための猶予時間であるフィーデングバッファの設置位置を決定すると共に、前記フィーデングバッファの値を算出するように、前記演算部を構成した
Figure 2010198339
ことを特徴とするスケジュール作成装置である。
また、前記演算部は、
行列A ,F,B,C ,Fを用いて算出された、前記各工程で前記処理対処の処理を最も早く終了させたときの出力での最早終了時刻y(k)を取得し、
前記最早終了時刻y(k)を用い、前記max-plus代数の定理を利用した次の数62に基づきプロジェクトバッファの値を算出する。
Figure 2010198339
また、前記演算部は、
k番目の前記処理対象の工程処理に関して、各工程での処理開始時刻をx(k−1)とし、入力時刻をu(k)としたときに、前記行列A ,B,及びF と、前記処理開始時刻x(k−1)及び前記入力時刻u(k)とを利用し、次の数63に基づき最早開始時刻x(k)を算出し、
Figure 2010198339
前記行列C と前記最早開始時刻x(k)とを用いて次の数64により前記最早終了時刻y(k)を算出する。
Figure 2010198339
また、前記演算部は、
前記行列Cの各要素のうち、前記実行時間d(k)となった要素に対応した前記工程jを決定し、該工程jの次工程が前記プロジェクトバッファの設置位置であると決定することが好ましい。
また、前記演算部は、
前記行列υ,w´,Fを用い、前記max-plus代数の定理を利用した次の数65に基づき行列Fβαを算出し、
Figure 2010198339
(diagは対角行列を表し、Tは転置行列を表し、丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
前記行列w´と前記行列Fβαとに基づいて、前記max-plus代数の定理を利用した次の数66により行列υ´を算出する
Figure 2010198339
ような構成としている。
また、前記演算部は、
前記行列υと前記行列Fとを基に前記max-plus代数の定理を利用した次の数67により行列Fββを算出し、前記行列υ´と前記行列Fββとから前記max-plus代数の定理を利用した次の数68に基づいて行列pを算出し、
Figure 2010198339
Figure 2010198339
前記行列pの要素を次の数69の定義に従ってεとeとに置き換えた行列pと、前記行列Fββとから前記max-plus代数の定理を利用した次の数70を基に行列F ββを算出し、前記行列F ββを基に前記max-plus代数の定理を利用した次の数71から行列F〜* ββ(但し、F ββ において全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算を表す)を算出し、
Figure 2010198339
Figure 2010198339
Figure 2010198339
前記行列υ´と前記行列F〜* ββと前記行列υとを基に前記max-plus代数の定理を利用した次の数72により前記フィーデングバッファの値を抽出した行列FBを算出する
Figure 2010198339
ことを特徴とする。
また、前記演算部は、
前記各工程の実行時間を1/qに短縮した短縮実行時間を算出し、前記入力パラメータに前記プロジェクトバッファの値と前記フィーデングバッファの値とを追加し、かつ前記短縮実行時間を用いて、前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記行列A ,F,B,C の各要素をそれぞれ決定し、該行列Fを用いて前記行列Fを算出することが好ましい。
また、本発明のスケジュール作成装置は、一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成装置において、
前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、次の数73〜数76で定義されたシステム構造を表現する行列A ,F,B,C (但し、[X]ijは行列Xにおけるi行j列の要素である)と、
Figure 2010198339
Figure 2010198339
Figure 2010198339
Figure 2010198339
前記max-plus代数の定理を利用して前記行列Fを基に算出された次の数77の行列F(但し、Fにおいて全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算であることを表す)と、
Figure 2010198339
を用いて算出された、前記各工程で前記処理対処の処理を最も早く終了させたときの出力での最早終了時刻yを、前記演算部が取得し、
前記最早終了時刻y(k)を用い、前記max-plus代数の定理を利用した次の数78に基づきプロジェクトバッファの値を算出するように、前記演算部を構成した
Figure 2010198339
(PBはプロジェクトバッファを表し、qは任意の数字であり、丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)スケジュール作成装置である。
また、前記演算部は、
k番目の前記処理対象の工程処理に関して、各工程での処理開始時刻をx(k−1)とし、入力時刻をu(k)としたときに、前記行列A ,B,及びF と、前記処理開始時刻x(k−1)及び入力時刻u(k)とを利用し、次の数79に基づき最早開始時刻x(k)を算出し、
Figure 2010198339
前記行列C と前記最早開始時刻x(k)とを用いて次の数80により前記最早終了時刻y(k)を算出する
Figure 2010198339
ことが好ましい。
また、本発明スケジュール作成装置は、一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成装置において、
前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程jにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて次の数81で定義されたシステム構造を表現する行列C (但し、[X]ijは行列Xにおけるi行j列の要素である)の各要素を前記演算部で決定し、
Figure 2010198339
前記行列Cの各要素のうち、前記実行時間d(k)となった要素に対応した工程jの次工程が、プロジェクトバッファの設置位置であると決定するように、前記演算部を構成したスケジュール作成装置である。
また、本発明のスケジュール作成装置は、一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成装置において、
前記離散事象システムにおける前記入力から前記出力までの複数の経路のうち、前記入力から前記出力までに要する時間が最長となる経路をクリティカルパスとし、それ以外の経路を非クリティカルパスとして次の数82でシステム構造を表現する行列υ,w´(但し、[X]iは行列Xにおけるi行の要素である)と、
Figure 2010198339
前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、次の数83で定義されたシステム構造を表現する行列F(但し、[X]ijは行列Xにおけるi行j列の要素である)と、
Figure 2010198339
を前記演算部が取得し、
前記行列υ,w´,Fを用い、前記max-plus代数の定理を利用した次の数84に基づき行列Fβαを算出し、
Figure 2010198339
(diagは対角行列を表し、Tは転置行列を表し、丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
前記行列w´と前記行列Fβαとに基づいて、前記max-plus代数の定理を利用した次の数85により行列υ´を算出し、
Figure 2010198339
ことを特徴とするスケジュール作成装置である。
また、このスケジュール作成装置は、前記行列υと前記行列Fとを基に前記max-plus代数の定理を利用した次の数86により行列Fββを算出して、前記行列υ´と該行列Fββとから前記max-plus代数の定理を利用した次の数87に基づいて行列pを算出し、
Figure 2010198339
Figure 2010198339
前記行列pの要素を次の数88の定義に従ってεとeとに置き換えた行列pと、前記行列Fββとから前記max-plus代数の定理を利用した次の数89を基に行列F ββを算出して、前記max-plus代数の定理を利用して前記行列F ββを基に次の数90の行列F〜* ββ(但し、F ββ において全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算を表す)を算出し、
Figure 2010198339
Figure 2010198339
Figure 2010198339
前記行列υ´と前記行列F〜* ββと前記行列υとを基に前記max-plus代数の定理を利用して次の数91によりフィーデングバッファの値を抽出した行列FBを算出するように、前記演算部を構成した。
Figure 2010198339
請求項1の方法,請求項13の装置,及び請求項25のコンピュータプログラムによれば、例えばシステムにクリティカルチェーン法を適用して計画期間の短縮を図る場合でも、max-plus代数上で線形なMPL形式を導出するための行列A ,F,B,C ,Fを利用して、当該クリティカルチェーン法を適用した際に用いるプロジェクトバッファ及びフィーデングバッファのそれぞれの位置及び値を簡単に取得することができる。従って、より少ないメモリ消費で、与えられたシステムをMPLシステムとして表現できる形式に対してクリティカルチェーン法を適用可能とし、処理時間の不確定性が高い場合にも納期遅れを出さず、かつ納期短縮を図り得る。
請求項2,8の方法,請求項14,20の装置,及び請求項26,32のコンピュータプログラムによれば、先に算出した行列A ,F,B,C ,Fを利用して、プロジェクトバッファの値を簡単に算出することができる。
請求項3,9の方法,請求項15,21の装置,及び請求項27,33のコンピュータプログラムによれば、プロジェクトバッファの値を算出する際に用いられる前記最早開始時刻x(k)と前記最早終了時刻y(k)とを、先に算出した行列A ,F,B,C ,Fを利用して簡単に算出することができる。
請求項4,10の方法,請求項16,22の装置,及び請求項28,34のコンピュータプログラムによれば、先に算出した行列C を利用して、プロジェクトバッファの位置を簡単に決定することができる。
請求項5,11の方法,請求項17,23の装置,及び請求項29,35のコンピュータプログラムによれば、先に算出した前記行列υ,w´,Fを利用して、フィーデングバッファの位置を簡単に決定することができる。
請求項6,12の方法,請求項18,24の装置,及び請求項30,36のコンピュータプログラムによれば、先に算出した前記行列υ,υ´,Fを利用して、フィーデングバッファの値を簡単に決定することができる。
請求項7の方法,請求項19の装置,及び請求項31のコンピュータプログラムによれば、プロジェクトバッファとフィーデングバッファとを追加した状態で、行列A ,F,B,C ,の各要素を決定し、さらにここで決定した行列Fから行列Fを算出して、max-plus代数上で線形なMPL形式を導出するための行列A ,F,B,C を簡単に取得することができる。
生産システムにおける加工順序の一例を示した模式図である。 生産システムに対してクリティカルチェーン法を適用してPB及びFBを追加したときの加工順序の一例を示した模式図である。 本発明におけるスケジュール作成装置の内部構成を示すブロック図である。 同上、スケジュール作成装置による処理手順を示すフローチャートである。 同上、スケジュール作成装置による再スケジュール作成処理手順を示すフローチャートである。 従来における生産システムにおける加工順序の説明に供する模式図である。
以下、添付図面に基づいて、本発明における好適な実施例を詳細に説明する。
(1)本発明の概要
本発明は、本願発明者による先願(特開2007−334855号公報)において既に提案されているmax-plus代数を用いたMPLシステムに、クリティカルチェーン法を適用可能とした点に特徴を有する。クリティカルチェーン法とは、制約理論の下、各工程における加工時間の遅延を予め念頭においた上で、プロジェクト所要時間を短縮し、かつ納期遅れを減らすためのスケジューリング方法である。ここで、制約理論とは、ボトルネックが生産性を決定する工程とみなし、他の工程とバランスを図りながらボトルネックを改善し、全体の生産性を向上させる理論である。このような制約理論の下では、個々の工程の最適化を目指すのではなく、クリティカルパス(後述する)などを制約条件にして、計画全体としての最適化を目指す。
ここで、クリティカルパスとは、生産システムにおいて入力から出力に向けて工程を結んだ複数の経路のうち、入力から出力までに要する時間が最長で、かつ遅れが許されない経路をいう。図1は、複数の工程からなる生産システムにおける加工順序の一例を示した模式図であり、この生産システムST1を一例として、クリティカルパスについて以下説明する。先ず始めにこの生産システムST1について説明すると、当該生産システムST1は、例えば入力から出力までの間に複数の工程(1)〜(7)が設けられており、入力から工程(1)に材料(部品又はジョブともいう)を投入して加工し、その加工が終了した後に、工程(2)と工程(3)で同時並行的に材料の加工を行なう。工程(2)は、工程(1)から受け取った加工済みの材料にさらに加工を行い、これを工程(4)及び工程(5)にそれぞれ投入する。また、このとき工程(3)は、工程(1)から受け取った加工済みの材料にさらに加工を行い、これを工程(4)、工程(5)及び工程(6)にそれぞれ投入する。
工程(4)は、工程(2)及び工程(3)の両方からそれぞれ加工済の材料を受け取ると、これら加工済の材料をさらに加工して工程(7)に投入する。工程(5)は、工程(2)及び工程(3)の両方からそれぞれ加工済の材料を受け取ると、これら加工済の材料をさらに加工して工程(7)に投入する。工程(6)は、工程(3)から加工済の材料を受け取ると、この加工済の材料をさらに加工して工程(7)に投入する。工程(7)は、工程(4)、工程(5)及び工程(6)全てから加工済の材料を受け取ると、これらを加工して、製品として完成させて出力する。
そして、この生産システムST1においては、例えば工程(1)の加工時間dが3、工程(2)の加工時間dが6、工程(3)の加工時間dが3、工程(4)の加工時間dが12、工程(5)の加工時間dが3、工程(6)の加工時間dが3、及び工程(7)の加工時間dが6にそれぞれ設定されている。因みに、本発明による生産システムST1における各工程(1)〜(7)には、次のような制約条件が課せられているものとする。
・1つの材料は、全ての工程(1)〜(7)を1回だけ通過する。
・各工程(1)〜(7)の設備が稼動中のときには、その加工が終了するまで、次の加工を開始できない。
・先行工程を有する工程(2)〜(7)は、それらの先行工程の加工が終了しないと、加工を開始できない。
・入力のある工程(1)は、入力があるまで(材料を受け取るまで)加工を開始できない。
・各工程(1)〜(7)の設備が空、即ち稼動していない状態で、先行工程や入力から材料を受け取ると、直ちに加工を開始する。
このような生産システムST1では、入力から出力までの間において、工程(1),(2),(4)及び(7)を経由する経路の全加工時間が27となり、例えば工程(1),(2),(5)及び(7)を経由する経路や、工程(1),(3),(5)及び(7)を経由する経路など他の経路において要する全加工時間に比べて最長となることから、工程(1),(2),(4)及び(7)を経由する経路がクリティカルパスとなる。
ここで、このような生産システムST1においては、各工程(1)〜(7)の加工時間d〜dを見積る際に、不確実性を考慮して、一般的に、約90%以上の確率で工程作業を確実に完了できると推測される加工時間(HP:Highly Possible)を見積り、このように余裕時間を含ませたHPを各工程(1)〜(7)の加工時間d〜dとすることで、入力から出力までの作業計画全体が遅れないように図られている。
これに対してクリティカルチェーン法では、各工程(1)〜(7)において見積られる加工時間d〜dとして、約50%程度の確率で工程作業を完了できると推測される加工時間(ABP:Aggressive But Possible)を用いる。ABPは、経験的にHPの1/3まで短縮可能であるとされており、次の数92のように表されることが多く、この場合、HPに含まれる余裕時間は次の数93で表すことができる。
Figure 2010198339
Figure 2010198339
クリティカルチェーン法では、このように各工程(1)〜(7)の加工時間d〜dをABPに基づいて見積り、各工程(1)〜(7)における加工時間d〜dを短縮させる。そして、このクリティカルチェーン法では、入力から出力までの経路の所定位置に、猶予時間としてプロジェクトバッファ(以下、これを単にPBと呼ぶ)とフィーデングバッファ(以下、これを単にFBと呼ぶ)とを設けることで、各工程(1)〜(7)の不確実性によって、仮に所定の工程にて加工時間が長くなっても、計画全体の遅延を防止し得るようになされている。
図2においてST2は、図1の生産システムST1に対してクリティカルチェーン法を適用し、生産システムST1を新たに構築し直した生産システムを示すものである。ここで、PBとは、生産システムST2上の各工程(1)〜(7)で遅延が生じることで、計画全体に遅延が生じることを防止するための猶予時間であり、クリティカルパス上の最終工程(7)と出力との間に設置される。また、FB,FB,FB(以下、これらをまとめて単にFBとする)は、クリティカルパスに合流するクリティカルパス以外の経路(以下、これを非クリティカルパスと呼ぶ)上の各工程(3),(5),(6)で遅延が生じることで、計画全体に遅延が生じることを防止するための猶予時間であり、非クリティカルパスとクリティカルパスとの合流点に設置される。
本発明では、後述するスケジュール作成装置によって、工程間の制約条件や加工時間をmax-plus代数を用いたMPLシステムで表現し、各工程の最早開始時刻や最遅開始時刻(後述する)、クリティカルパスとなる経路などを求め、当該MPLシステムを利用してクリティカルチェーン法で用いるPBの位置及び値と、FBの位置及び値とを決定することができる(後述する)。
そして、本発明では、各工程の加工時間をABPに短縮し、かつPB、FBを追加した生産システムST2について、再び工程間の制約条件や加工時間をmax-plus代数を用いたMPLシステムで表現し、計画全体として短縮化を図った各工程の最早開始時刻や最遅開始時刻などを算出することが可能になる。
(2)本発明によるスケジュール作成装置の構成
図3は、本発明におけるスケジュール作成装置1の内部構成を示すブロック図である。スケジュール作成装置1は、パーソナルコンピュータ又はサーバ装置などの汎用コンピュータを用いて構成されている。スケジュール作成装置1は、演算を行なうCPU(演算部)11と、演算に伴って発生する一時的な情報などを記憶するRAM(記憶部)12と、CD−ROMドライブ等の外部記憶装置13と、ハードディスク等の内部記憶装置14とを備えている。スケジュール作成装置1全体を統括的に制御するCPU11は、CD−ROM等の記録媒体2から本発明のコンピュータプログラム20を外部記憶装置13にて読み取り、読み取ったコンピュータプログラム20を内部記憶装置14に記憶させる。コンピュータプログラム20は必要に応じて内部記憶装置14からRAM12へロードされ、ロードされたコンピュータプログラム20に基づいてCPU11はスケジュール作成装置1に必要な処理を実行する。
スケジュール作成装置1は、キーボード等のオペレータの操作により情報が入力される装置,又は図示しない外部の装置からスケジュール作成のために必要な情報が入力される装置からなる入力装置15を備えている。また、スケジュール装置1は、CRTディスプレイ等の表示装置,プリンタ装置,又は作成したスケジュールを図示しない外部の装置へ出力する装置からなる出力装置16を備えている。
なお、本発明のコンピュータプログラム20は、スケジュール作成装置1に接続された図示しない外部のサーバ装置からスケジュール作成装置1へロードされて内部記憶装置14に記憶される形態であってもよい。
本発明のスケジュール作成装置1が行なう処理の目的は、作業プロセスの最適なスケジュールを作成することであり、より具体的には、オペレータが入力装置15から入力した各種入力パラメータに基づいて、前述したMPLシステムに適合する作業プロセスの状態を表現した式(数12及び数13)を、スケジュール作成装置1に作成させるMPL形式作成手順をコンピュータプログラムに含んでいる。
また、このコンピュータプログラム20には、前記MPL形式作成手順の途中で導入された行列を利用して、システムの全工程における最早開始時刻及び最早終了時刻と、最遅開始時刻及び最遅入力時刻と、PBの位置及び値と、FBの位置及び値とをスケジュール作成装置1に決定させるスケジュール作成手順を含んでいる。さらに、このコンピュータプログラム20には、クリティカルチェーン法を適用することで、前記スケジュール作成手順で決定した最早開始時刻及び最早終了時刻と、最遅開始時刻及び最遅入力時刻とが、どのように変化するのかをスケジュール作成装置1に決定させる再スケジュール作成手順を含んでいる。
そして、このようなコンピュータプログラム20を記憶した記憶媒体2を外部記憶手段13に装着すると、スケジュール作成装置1のCPU11は当該コンピュータプログラム20をRAM12に自動的にロードし、内蔵する上記各手順を処理実行する。つまりスケジュール作成装置1のCPU11は、ソフトウェア上の機能として、オペレータが入力装置15から入力した各種パラメータに基づいて、MPLシステムに適合する作業プロセスの状態を表現した式(数12及び数13)を作成するMPL形式作成手段31と、前記MPL形式作成手順の途中で導入された行列を利用して、システムの全工程における最早開始時刻及び最早終了時刻と、最遅開始時刻及び最遅入力時刻と、PB及びFBとを決定するスケジュール作成手段32と、クリティカルチェーン法を適用することで、前記スケジュール作成手順で決定した最早開始時刻及び最早終了時刻と、最遅開始時刻及び最遅入力時刻とが、どのように変化するのかを決定する再スケジュール作成手段33と、を備えている。
(2−1)max-plus代数を用いたMPLシステムについて
先ず始めに、スケジュール作成装置1は、スケジュールを作成しようとする作業プロセスについて、システム構造を表現するために、工程間の先行順序を表した先行制約関係情報と各工程の実行時間とからなる入力パラメータをオペレータにより入力装置15を介して入力させる。具体的には、生産システムを構成する工程に対して、各工程の工程名と、各工程の加工時間(実行時間)となるHP値と、先行制約関係情報とがパラメータとして入力装置15を介して入力される。また、スケジュール作成装置1には、先行制約関係情報として、先行工程となる工程の番号と、入力を持つ工程の入力時間と、出力の有無を示す出力工程とが、オペレータによって入力装置15を介して入力される
MPL形式作成手段31は、スケジュールを作成しようとする作業プロセスにおいて、k番目の材料(ジョブ)について、各工程i(但し、iは1以上の自然数で、1≦i≦n、nはシステムの全工程数を表す)の加工時間をd(k)(≧0)とし、初期状態x(0)=εn1としたときに、システム構造を表現するために、入力された前記入力パラメータから、次の行列A ,F,B,及びC の各要素を算出し決定する(但し、例えば[A ijは行列A におけるi行j列での要素を表し、1≦[i,j]≦n)。因みに、これら行列A ,F,B,及びC や、これらを利用した後述する最早開始時刻、最遅開始時刻などに関しては、本願発明者による先願(特開2007−334855号公報)において既に提案されていることから、ここでは各行列や式の証明などについては詳しくは説明せず、その概略についてのみ説明する。
Figure 2010198339
Figure 2010198339
Figure 2010198339
Figure 2010198339
行列A は、工程数をnとしたときに、n次の正方行列で表され、その対角要素が各工程iの加工時間d(k)となり、それ以外の要素がεとなる。行列Fもn次の正方行列で表され、工程iが先行工程jを有するi行j列の要素が、先行工程jの加工時間d(k)となり、それ以外の要素がεとなる。行列Bは、工程数に等しい行と、入力数に等しい列で表わされ、工程iが入力jを有する場合は、i行j列の要素がeとなり、それ以外の要素はεとなる。さらに行列C は、出力数に等しい行と、工程数に等しい列で表わされ、工程jが入力iを有する場合は、i行j列の要素が工程jの加工時間d(k)となり、それ以外の要素はεとなる。
スケジュール作成手段32は、このように表現された行列A ,F,B,及びC を利用して、全ての工程について最早開始時刻及び最遅開始時刻を算出すると共に、この算出した最遅開始時刻から最早開始時刻を減算することで、全ての工程におけるトータルフロートの算出とクリティカルパスの抽出を行なうものである。なお、これ以降の説明では、全工程の最早開始時刻をxとし、全工程の最遅開始時刻をxとして表記すると共に、簡略化のために、必要に応じてイベントカウンタ(k),kの記述(k番目の材料(ジョブ)に対する加工を行っていることを示す記述)を省略する。
ここでスケジュール作成手段32が算出する最早開始時刻xは、その工程が最も早く加工を開始できる時刻として定義される。工程i(1≦i≦n)の最早開始時刻x(k)は、次の式のように表わせる。
Figure 2010198339
ここで、生産システムの初期状態として、加工開始時刻をx(k)とし、外部から入力される投入時刻をu(k)とする。但し、この数98における行列F は、次の式に従って、MPL形式作成手段31により算出される。MPL形式作成手段31は、全ての要素がεになるまで、行列Fの累乗(F ,F …)を逐次的に計算する。すなわち、次の式中にあるl(1<l<n)は、システムの先行制約条件に依存するものであり、全ての要素がεになるまで、行列Fの累乗が逐次的に計算される。なお、eはn行n列のeの対角行列を示す。また、ここでF 等の計算については、一般的な行列の乗算の定義には従わずに、上述した数1の定義に従って算出されるものである。
Figure 2010198339
また、このときの加工終了時刻、すなわち最早終了時刻は、次の式で与えられる。
Figure 2010198339
つまり、スケジュール作成手段32は、前記MPL形式作成手段31で算出されてRAM12に記憶された行列A ,B,F を用いることで、数98により全ての工程iにおける最早開始時刻x(k)を簡単に算出でき、またこの最早開始時刻x(k)と、MPL形式作成手段31で算出されてRAM12に記憶された行列C とを用いることで、数100によりシステムの最早終了時刻y(k)を簡単に算出できる。
次に、スケジュール作成手段32が算出する最遅開始時刻xについて説明すると、当該最遅開始時刻x(k)とは、ある工程において、最早開始時刻x(k)で加工を行なった場合と同一の出力時刻を実現することが可能な、最も遅い加工開始時刻として定義される。工程i(1≦i≦n)の最遅開始時刻x(k)は、次の式のように表わせる。なお、y(k)は出力時刻(作業終了時刻)を示す。
Figure 2010198339
つまり、スケジュール作成手段32は、前記MPL形式作成手段31で算出されてRAM12に記憶された行列A ,C ,F と、先にスケジュール作成手段32により算出されてRAM12に記憶された最早開始時刻x(k)及び出力時刻y(k)とを用いることで、数101により全ての工程iにおける最遅開始時刻x(k)を簡単に算出できる。
さらに、最遅開始時刻x(k)に対応する最も遅い入力時刻である最遅入力時刻u(k)は、次の式のように計算できる。
Figure 2010198339
スケジュール作成手段32は、前記数98や数101に基づいて算出してRAM12に記憶された最早開始時刻x(k)と最遅開始時刻x(k)とを用いて、トータルフロートがゼロとなる経路を抽出することができる。トータルフロートとは、当該工程が持つ余裕時間の総合計で定義され、後続工程が出力時刻に影響を及ぼさない範囲で最も遅く加工を開始する場合の最遅開始時刻x(k)と、当該工程が最も早く加工を開始した場合の最早開始時刻x(k)との差で表わすことができる。従って、工程i(1≦i≦n)のトータルフロートw(k)は、最遅開始時刻x(k)から最早開始時刻x(k)を減算した次の式のように表わせる。
Figure 2010198339
ここでクリティカルパスは、トータルフロートw(k)が0になる工程の集合として与えられ、この条件を満たす工程の集合αについて数式で表わすと次のようになる。
Figure 2010198339
つまり、スケジュール作成手段32は、先に算出した最早開始時刻x(k)と最遅開始時刻x(k)とを用いて、数103や数104により全ての工程iにおけるトータルフロートw(k)を簡単に抽出できると共に、入力から出力までの全工程のうち、どの工程がクリティカルパスとなっているのかを簡単に抽出できる。
(2−2)PBの位置及び値について
かかる構成に加えてスケジュール作成手段32は、生産システムにおけるPBの位置を決定し得ると共に、PBの値を算出し得るようになされている。ここでPBは、生産システムの各工程で遅延が生じることで、最終的に計画全体が遅延することを防止するための猶予時間であることから、クリティカルパス上の最終工程と出力との間に設置される。従って、PBの位置は、最終工程を特定できる数97に示す行列C から決定することができる。行列[C ]ijの第(i,n)要素が有限値を持つ場合には、クリティカルパス上の工程は外部出力を持つ工程nの後方にPBを設置する。つまり、スケジュール作成手段32は、MPL形式作成手段31で算出されてRAM12に記憶された行列C を用いることで、PBの位置を簡単に特定できる。
また、PBの値は、最早終了時刻y(k)の1/3の時間と定義され、次の式により算出することができる。これはABPが上述の数92に示したように、統計的にHPの1/3まで短縮可能であるとされていることによる。
Figure 2010198339
つまり、スケジュール作成手段32は、MPL形式作成手段31で算出されてRAM12に記憶された最早終了時刻y(k)を用いることで、PBの値を簡単に算出できる。
(2−3)FBの位置及び値について
かかる構成に加えてスケジュール作成手段32は、生産システムにおいてFBの位置を決定し、各FBの位置における値を算出し得るようになされている。ここでFBは、非クリティカルパスからクリティカルパスへ合流する工程の集合による遅延によって、計画全体が遅延することを防止するための猶予時間であることから、非クリティカルパスからクリティカルパスに合流する合流点に設置される。このFBの位置は以下のようにして決定される。
(2−3−1)FBの位置
先ず始めに、スケジュール作成手段32は、次の式に示すように、クリティカルパス上にある工程iの要素をeとして表し、非クリティカルパス上にある工程iの要素をεと表した行列[w´]を求める。また、スケジュール作成手段32は、行列[w´]とは逆に非クリティカルパス上にある工程iの要素をeと表し、クリティカルパス上にある工程iの要素をεと表した行列[υ]を求める。なお、以下、クリティカルパス上にある工程iの集合をαとし、非クリティカルパス上にある工程iの集合をβとして表す。
Figure 2010198339
ここで行列[w´]は、上述したトータルフロートw(k)が0になる要素をeと表し、0でない他の要素をεと表すことにより求められる。また、行列[υ]は、前記行列[w]において決定されたe及びεの各要素を、逆のε及びeの要素に変換することにより求められる。
ところで行列Fについては、次の式に示すように、クリティカルパス上の工程間での遷移を表す行列Fααと、クリティカルパス上の工程から非クリティカルパス上の工程への遷移を表す行列Fαβと、非クリティカルパス上の工程からクリティカルパス上の工程への遷移を表す行列Fβαと、非クリティカルパス上の工程間での遷移を表す行列Fββとに分解することができる。
Figure 2010198339
ここで行列Fαα,Fαβ,Fβα,Fββは、それぞれ次の式により算出することができる。なお、次の式中におけるdiagとは対角行列を意味する。
Figure 2010198339
Figure 2010198339
Figure 2010198339
Figure 2010198339
ここで、非クリティカルパス上の工程の集合βのうち、次の工程がクリティカルパス上の工程となる工程については、上述した数110により算出した行列Fβαと、上述した数106により算出した行列w´とに基づいて、次の式に示す行列υ´によって表すことができる。なお、この式におけるk´は1≦k´≦nであり、lは1≦l≦nである。
Figure 2010198339
ここで上述した数112における行列F βαは、次の式のような性質を満たす(Tは転置行列を示す)。
Figure 2010198339
そして、上述した数112は、l∈αと、k´∈αの条件を満たすとき、次の数114のように表すことができ、またl∈αと、k´∈βの条件を満たすとき、次の数115のように表すことができ、さらにl∈βの条件を満たすとき、同じく次の数114のように表すことができる。なお、ここでd´は、非クリティカルパス上の工程の集合βのうち、次の工程がクリティカルパス上の工程となる工程k´の加工時間を示すものである。
Figure 2010198339
Figure 2010198339
そして、これら数112〜数115を要約すると、行列υ´は次の式のように表すことができる。なお、次の式では、非クリティカルパス上の工程の集合βのうち、次の工程がクリティカルパス上の工程となる工程k´の集合をγとして表している(すなわちγ⊆β)。
Figure 2010198339
つまり、スケジュール作成手段32は、前記数110に基づいて算出した行列Fβαと、前記数106に基づいて算出した行列w´とを用いて、前記数116から行列υ´を算出することにより、非クリティカルパス上の工程のうち、次の工程がクリティカルパス上の工程となる工程k´を特定し得るようになされている。また、スケジュール作成手段32は、非クリティカルパス上の工程の集合βのうち、次の工程がクリティカルパス上の工程となる工程k´の加工時間d´のみを抽出し得るようになされている。
(2−3−2)FBの値
次に、スケジュール作成手段32は、各FBの値を算出し得るようになされている。ここでFBの値は、クリティカルパスと非クリティカルパスとの分岐点から、当該非クリティカルパスとクリティカルパスとの合流点までにある非クリティカルパス上における全工程の加工時間の合計となり、次の式により算出することができる。
Figure 2010198339
ここで、行列υは前記数106により算出したものであり、diag(υ´)の行列υ´は前記数116により算出したものである。また数117のうち行列F〜* ββは次の式のように表せる。
Figure 2010198339
上の式中にある行列F ββは次の式のように表せる。この行列F ββは、数111において、非クリティカルパス上の工程からFBを介在して非クリティカルパス上の工程へと遷移する経路において、FB前までの経路を削除したときの非クリティカルパス上の工程間の遷移を表す行列である(例えば図2において工程(3),(5)の経路にうち、クリティカルパスへ遷移する工程(3)を削除した工程(5)を示す)。
Figure 2010198339
但し、ここでのpは、数111の行列Fββと、数116の行列υ´とを用いて次のように表される。なお、このpは、前の工程にFBを持つ非クリティカルパス上の工程の集合を表している。
Figure 2010198339
ここで上述した数119における演算子♯は数121のように定義される。従って、行列pは、各工程の実際の加工時間を含んだ行列pの要素を単にεとeとにより表すものである。
Figure 2010198339
つまり、スケジュール作成手段32は、RAM12に記憶された数111で表される行列Fββと、数116で表される行列υ´とを用いて数120及び数121に基づきdiag(p)を算出した後、数119及び数118を基に行列F〜* ββを算出する。これによりスケジュール作成手段32は、算出したdiag(υ´)と行列F〜* ββと行列υとに基づいて数117により行列FBを算出することができる。この行列FBは、ε以外の有限値の要素が各FBの位置での値となる。
(3)生産システムにおけるPB及びFBの具体的な一例
次に、上述したPB及びFBの位置を決定し、PB及びFBの値を算出するまでの一連の処理について、図1に示すような生産システムST1と、図4に示すフローチャートとを用いて具体的に説明する。実際上、スケジュール作成装置1のCPU11は、ルーチンRT1の開始ステップから入ってステップSP1に移る。ステップSP1においてCPU11は、生産システムST1の構造を表現するための入力パラメータを、入力装置15を介して取得し、次のステップSP2及びステップSP7に移る。
この実施の形態の場合では、生産システムST1の構造を表現するために、下記の表1に示すような入力リストに沿って入力パラメータが入力され、内部記憶装置14に記憶させる。例えば、入力リストには、生産システムST1を構成する各工程(1)〜(7)を識別するための工程名が入力される工程名欄と、各工程(1)〜(7)毎に設定された作業時間d〜dが入力されるHP値欄と、先行の工程(2)〜(6)の有無が工程番号により入力される先行工程欄と、入力のある工程(1)の材料受け取り時間が入力される入力時間欄と、最終の工程(7)から材料が出力されることを示す出力工程欄とが設けられている。また、入力リストでは、入力から出力に向けて順番に各工程に工程番号が付されており、工程名欄、HP値欄、先行工程欄、入力時間欄及び出力工程欄が、工程番号毎に対応付けられている。スケジュール作成装置1は、入力リストの各欄にこれらパラメータが入力されることにより、図1に示すような生産システムST1の構造が表現されるようになされている。
Figure 2010198339
ステップSP2においてMPL形式作成手段31は、入力された入力パラメータに基づいて各工程(1)〜(7)の加工時間d〜dを示す行列A k−1と、先行工程の有無を示す行列Fと、入力を持つ工程(1)を示す行列Bと、出力を持つ工程(7)を示す行列Cとを決定し、次のステップSP3へ移る。ここで、具体的に行列A k−1は、生産システムST1が工程(1)〜(7)によって構成されていることから、工程番号1〜7の順に7行7列(1≦i≦7、1≦j≦7)の正方行列で表される対角行列(diagonal matrix)となり、その対角要素に各工程(1)〜(7)の加工時間d〜dが割り当てられ、それ以外の要素にεが割り当てられる。なお、次式の行列A k−1については、k−1番目の材料に関して着目して作成されていることを示す添え字k−1が表記されているが、図4や他の行列F,B,Cなどについてkは省略する。
Figure 2010198339
また、MPL形式作成手段31は、入力リストの先行工程欄及びHP値欄と、前記数95とに基づいて先行工程の有無を示す行列Fを次の式のように決定する。すなわち、行列Fは、生産システムST1が工程(1)〜(7)によって構成されていることから、工程番号1〜7の順に7行7列で表され、工程数に対応した行が設けられ、列に各工程(1)〜(7)の先行工程の加工時間d〜dが表される。例えば、行列Fの2行目は、工程番号2である工程(2)の先行工程の情報が示されており、先行工程である工程(1)の加工時間3が2行1列に示され、それ以外の要素にεが示される。
Figure 2010198339
また、MPL形式作成手段31は、入力リストの入力時間欄と前記数96とに基づいて行列Bを次の式のように決定する。行列Bは、工程数に等しい行と、入力数に等しい列で表わされる。従って、図1に示す生産システムST1では、工程番号1の工程(1)のみが入力を持つことから、工程番号1に対応する1行目が、入力を有することを示すeとなり、それ以外がεとなる。
Figure 2010198339
さらに、MPL形式作成手段31は、入力リストの出力工程欄等と前記数97とに基づいて行列Cを次の式のように決定する。行列Cは、出力数に等しい行と、工程数に等しい列で表わされる。従って、図1に示す生産システムST1では、工程番号7の工程(7)のみが出力を持つことから、工程番号7に対応する7行目のみが当該工程番号7の加工時間6となり、それ以外がεとなる。
Figure 2010198339
続いてMPL形式作成手段31は、全ての要素がεになるまで、前記行列Fの累乗(F,F…)を逐次的に計算する。この生産システムST1の例では、結局、行列Fは次の式のように計算される。
Figure 2010198339
ステップSP3においてスケジュール作成手段32は、ステップSP2において決定した行列A k−1,F,B,C,Fを用いて、前記数98及び数100に基づき全工程(1)〜(7)の最早開始時刻x(k)と最早終了時刻y(k)とを算出し、次のステップSP4に移る。ここで、この実施の形態の場合、スケジュール作成手段32は、生産システムST1の初期状態として、加工開始時間をx(k)=ε71とし、外部入力の時刻をu(k)=0とすると、最早開始時刻xと最早終了時刻yとを次の式から算出することができる。
Figure 2010198339
スケジュール作成手段32は、これら算出した最早開始時刻xと、最早終了時刻yと、入力リストのHP値とを基に次の表2のような出力リストを作成し得るようになされている。スケジュール作成手段32は、各工程(1)〜(7)毎に付した工程番号1〜7に対して最早開始時刻xと最早終了時刻yとを対応付けた出力リストを、出力装置16に出力させることが可能である。
Figure 2010198339
ステップSP4においてスケジュール作成手段32は、前述の数101及び数102をそれぞれ用いて、全工程(1)〜(7)の最遅開始時刻x及び最遅入力時刻uをそれぞれ次の式のように算出し、次のステップSP5に移る。
Figure 2010198339
この場合、工程(1)〜(7)の最遅開始時刻xは、それぞれ0,3,6,9,18,18,21であり、入力の最遅入力時刻uは0である。
ステップSP5においてスケジュール作成手段は、数103を用いて、全工程(1)〜(7)のトータルフロートwを次の式のように算出して、当該トータルフロートwに基づいてクリティカルパスを特定し、次のステップSP6に移る。なお、ここではイベントカウンタ(k)については省略している。
Figure 2010198339
この場合、工程(1)〜(7)のトータルフロートwは、それぞれ0,0,3,0,9,12,0であり、このことから工程(3),(5),(6)は、それぞれ余裕時間があることが分かる。スケジュール生成手段32は、前記数129で得た結果から、トータルフロートwが0である工程、即ち遅れ時間が許されない工程(1),(2),(4),(7)を、クリティカルパス上の工程の集合{1,2,4,7}として抽出することができる。
ステップSP6においてスケジュール作成手段32は、PB及びFBの位置を決定すると共に、PB及びFBの値を算出し、次のステップSP7に移る。実際上、スケジュール作成手段32は、前記数125の行列Cによって工程(7)が最終工程であると判別し、図2に示すように、当該工程(7)の後ろがPBを設置する位置であると決定する。また、スケジュール作成手段32は、前記数105を基にPBの値dPB(図2)として「9」を算出する。さらに、スケジュール作成手段32は、前記数106に基づいて次の式のように行列υ及び行列w´を決定する。
Figure 2010198339
次いで、スケジュール作成手段32は、前記数110及び数113に基づいて行列F βαを算出して、これら行列w´,F βαを用いて前記数116から行列υ´を次の式のように算出する。
Figure 2010198339
この行列υ´は、有限値となった要素に対応した工程(3),(5),(6)が、非クリティカルパス上にあり、かつ次の工程がクリティカルパス上の工程となる集合γであることを意味している。よって、スケジュール作成手段32は、行列υ´の有限値となった要素に基づいて、図2に示すように、工程(3),(5),(6)の後がFB,FB,FBの設置位置であると決定する。
次いで、スケジュール作成手段32は、FB,FB,FBの値を算出するために、前記数111を基に行列Fββを算出した後、この行列Fββと前記数131の行列υ´とを用いて、前記数120から行列pを算出する。次いでスケジュール作成手段32は、前記数121の定義に従って行列pをdiag(p)に変換し、diag(p)と、前記行列Fββとを用いて前記数119及び数118から行列F〜* ββを算出して、前記数117に基づいて次の式のような行列FBを算出する。
Figure 2010198339
かくして、スケジュール作成手段32は、前記数132で得た結果から、行列FBの有限値に基づいてFB,FB,FBの値dFB3,dFB5,dFB6(図2)として「1」を抽出することができる。このようにしてスケジュール作成手段32は、PBの位置及び値dPBと、FBの位置及び値dFB3,dFB5,dFB6とをそれぞれ算出すると、次のサブルーチンSRT2へ移る。
このとき、ステップSP2〜ステップSP6と並行して実行されるステップSP7において、再スケジュール作成手段33は、各工程の加工時間が1/3まで短縮可能であるとのクリティカルチェーン法の理論に基づいて、各工程(1)〜(7)の加工時間d〜dをそれぞれ1/3としたABPを前記数92に基づいて算出し、次のサブルーチンSRT2に移る。
サブルーチンSRT2において、再スケジュール作成手段33は、後述する再スケジュール作成処理を実行することにより、表1の入力リストと表2の出力リストとを更新し、ABPや、PB、FBに基づいて計画全体を短縮化させた新たなスケジュールを作成し、次のステップSP8に移り、上述した処理を終了する。
(4)再スケジュール作成処理
次に、再スケジュール作成処理について、図2における生産システムST2を一例とし、図5に示すフローチャートを用いて以下説明する。再スケジュール作成手段33は、ルーチンRT2の開始ステップから入ってステップSP11に移る。ステップSP11において再スケジュール作成手段33は、次の表3に示すように、表1に示した入力リストのうち各工程(1)〜(7)のHP値をABPの値に更新して、次のステップSP12に移る。
Figure 2010198339
ステップSP12において再スケジュール作成手段33は、PBの追加のために新たに工程番号8の欄を入力リストに追加すると共に、当該工程番号8の欄における工程名欄、HP値欄、先行工程欄、入力時間欄及び出力工程欄にそれぞれPBに関する各種情報を追加して当該入力リストを更新し、次のステップSP13に移る。すなわち、再スケジュール作成手段33は、表3に示すように、工程番号8の欄に対して、工程名欄を「PB」とし、PBの値dPBである「9」をHP値欄に追加し、PBの先行工程となる工程(7)を示す工程番号7を先行工程欄に追加する。また、再スケジュール作成手段33は、PBを追加する前に最終工程であった工程(7)の出力工程欄を、最終工程でないことを示す「N」に変更すると共に、PBの工程番号8の欄における出力工程欄に「Y」を表記し、PBが最終工程であることを表す。なお、このPBは、入力を持たないため、入力時間欄に入力を持たないことを示す「−」が付される。
ステップSP13において再スケジュール作成手段33は、FB,FB,FBの追加のために新たに工程番号9、10及び11の欄を入力リストに追加すると共に、当該工程番号9、10及び11の各欄において工程名欄、HP値欄、先行工程欄、入力時間欄及び出力工程欄にそれぞれFB,FB,FBに関する各種情報を追加する等して当該入力リストを更新し、次のステップSP14に移る。
すなわち、再スケジュール作成手段33は、工程番号9の欄に対して、工程名欄を「FB」とし、FBの値dFB3である「1」をHP値欄に追加し、FBの先行工程となる工程(3)を示す工程番号3を先行工程欄に追加する。また、再スケジュール作成手段33は、工程番号10の欄に対して、工程名欄を「FB」とし、FBの値dFB5である「1」をHP値欄に追加し、FBの先行工程となる工程(5)を示す工程番号5を先行工程欄に追加する。さらに、再スケジュール作成手段33は、工程番号11の欄に対して、工程名欄を「FB」とし、FBの値dFB6である「1」をHP値欄に追加し、FBの先行工程となる工程(6)を示す工程番号6を先行工程欄に追加する。なお、FB,FB,FBについては、入力を持たないため、入力時間欄に「−」が付され、また最終工程でないため、出力工程欄に最終工程でないことを示す「N」が付される。
また、再スケジュール作成手段33は、FB,FB,FBを追加したことにより、工程(4)〜(7)の先行工程が変更することから、PB,FB,FB,FBの先行工程欄の情報に基づき、工程(4)〜(7)の先行工程欄を修正する。例えば工程(4)では、更新前において先行工程欄に工程(2),(3)の工程番号2,3が表記されているが、FBが追加されることにより、先行工程が工程(2),FBとなり、当該工程(2),FBを示す工程番号2,9に先行工程欄を変更する。
このようにして再スケジュール作成手段33は、表3に示すように、工程(1)〜(7)の各先行工程欄について、PB,FB,FB,FBの先行工程欄に表記された工程番号7,3,5,6を先行工程としている工程(4)〜(7)の各先行工程欄を、先行工程となるPB,FB、FB又はFBの工程番号8,9,10,11に変更する。
これに加えて再スケジュール作成手段33は、PB,FB,FB,FBを追加した全工程に対して、先行工程欄を基に入力から出力までの経路に沿って改めて工程番号を順番に付してゆき、工程番号を更新する。この実施の形態の場合、工程番号1,2,3については、先行工程が変更されないことから、更新後においても工程番号1´,2´,3´となる。なお、更新後の新たな工程番号については「´」を付して表す。工程番号4〜7は、先行工程が変更されることから、新たな工程番号が付される。このうち工程番号4〜6では、先行工程欄に追加されたFBの工程番号9を優先し、当該工程番号9に対して工程番号4´が新たに付される。これにより工程(4),(5),(6)は工程番号が5´,6´,7´となる。
また、工程(7)の先行工程欄には、工程番号10,11が表記されていることから、当該工程番号10,11のFB,FBが工程(7)よりも優先されて工程番号が付される。ここでFBは、先行工程欄が工程番号5であることから、FBにおける先行工程欄の工程番号6よりも先であることから、FBを優先して新たに工程番号8´を付し、次いでFBに工程番号9´を付す。最後に、PBの先行工程である工程(7)に対して工程番号10´を付すと共に、PBに対して工程番号11´を付す。
このようにして再スケジュール作成手段33は、表3に示すように、工程(1)〜(7)、PB、FB、FB及びFBに対して入力から出力に沿った順番で工程番号1´〜11´を新たに付し直すようになされている。なお、各先行工程欄についても新たな工程番号1´〜11´に変更され得る。
ステップSP14において再スケジュール作成手段33は、表3に示す更新された入力リストにおける新たに付された工程番号1´〜11´を基に、ステップSP2と同様にして行列Ack−1 ,F,B ,C を決定すると共に、行列F を算出し、次のステップSP15に移る。なお、行列Ack−1 ,F,B ,C ,F において付されている添え字cは、PB,FB,FB,FBを新たに追加したことにより更新された入力リスト(表3)を用いて、行列Ak−1 ,F,B,C,Fの各要素が決定されたことを示すものである。
この実施の形態の場合、行列Ack−1 ,F,B ,C ,F は、新たに付された工程番号1´〜11´の順番に要素が決定されることにより次の式のようになる。
Figure 2010198339
Figure 2010198339
Figure 2010198339
Figure 2010198339
例えば、行列Ack−1 では、新たに付された工程番号1´〜11´を基に、工程(1)〜(3)、FB、工程(4)〜(6)、FB、FB、工程(7)及びPBの順に各加工時間の配列が決定される。また行列Fは、新たに付された工程番号1´〜11´を基に、工程(1)〜(3)、FB、工程(4)〜(6)、FB、FB、工程(7)及びPBの順に先行工程の有無を示す11行11列の行列となる。例えば、行列Fの11行目には、工程番号11´であるPBの先行工程の情報が示され、先行工程となる工程番号10´(工程(7))のABPの加工時間2が11行10列の要素となり、それ以外の要素がεとなる。また、行列B ,C についても、新たに付された工程番号1´〜11´を基に、工程(1)〜(3)、FB、工程(4)〜(6)、FB、FB、工程(7)及びPBの順番に決定される。行列F は、行列Fを利用して前記数99から算出される。
ステップSP15において再スケジュール作成手段33は、ステップSP14において決定した行列Ack−1 ,F,B ,C ,F を用いて、前記数98及び数100に基づき全工程の最早開始時刻xcEと最早終了時刻ycEとをそれぞれ次の式のように算出し、次のステップSP16に移る。
Figure 2010198339
そして、再スケジュール作成手段33は、これら最早開始時刻xcEと、最早終了時刻ycEと、更新した入力リスト(表3)のHP値(ABP)とを基に次の表4のような出力リストを新たに作成し得るようになされている。これにより再スケジュール作成手段33は、工程番号1´〜11´に対し最早開始時刻xcEと最早終了時刻ycEとを対応付けた出力リストを、出力装置16に出力させることが可能となる。
Figure 2010198339
かくして最早開始時刻xcEは、従来のスケジューリング法における最早開始時刻xの1/3の時間に短縮させることができると共に、最早終了時刻ycEは、従来のスケジューリング法における最早終了時刻yの2/3の時間に短縮できる。つまり、このスケジュール作成装置1では、数94〜数97及び数99で定義された行列A,F,B,C,Fの各要素を、ABPやPB、FBを用いて再び決定し、その結果得られた行列A ,F,B ,C ,F からMPLシステムの形式に基づく数12の行列A,Bを算出できるように、前記MPL形式作成手段31を構成すれば、数12及び数13にて記述されるMPL形式での状態空間表現を取得することができる。そして、この数12及び数13を利用して、生産システムの各工程の加工時間を短縮させつつ、計画全体としての遅れを防止したスケジュール作成を行なうことが可能になる。
次に、ステップSP16において再スケジュール作成手段33は、前述数101及び数102を用いて、全工程iの最遅開始時刻xcL及び最遅入力時刻ucLをそれぞれ次の式のように算出し、次のステップSP16に移り、上述した処理を終了する。
Figure 2010198339
この場合、工程番号1´〜11´の工程(1)〜(3)、FB、工程(4)〜(6)、FB、FB、工程(7)及びPBの各最遅開始時刻xcLは、それぞれ0,1,1,2,3,5,5,6,6,7,9であり、入力の最遅入力時刻ucLは0である。これにより再スケジュール作成手段33は、数103を用いて、新たに全工程のトータルフロートwを次の式のように算出して、当該トータルフロートwに基づいてボトルネック工程やクリティカルパスの抽出を行うことができる。
Figure 2010198339
この場合、工程(1)〜(3)、FB、工程(4)〜(6)、FB、FB、工程(7)及びPBのトータルフロートwは、それぞれ0,0,0,0,0,2,2,2,2,0,0であり、工程(1)〜(3),FB,工程(4),工程(7),PBは、それぞれ余裕時間があることが分かる。再スケジュール生成手段33は、数139で得た結果から、トータルフロートwが0である工程、即ち遅れ時間が許されない工程(1),(2),(4),(7),PBと、工程(1),(3),FB,(4),(7),PBを、クリティカルパス上の工程の集合{1,2,4,7,PB}及び{1,3,FB,4,7,PB}として、またボトルネック工程として抽出することができる。
このように、本実施例における再スケジュール作成手段33は、各工程の加工時間が1/3に短縮され、新たにPB、FBを追加されたのを受けて、数137に基づいて、更新後の最早開始時刻xcEを算出する。そして、数137及び数138に基づいて、更新後の最早終了時刻ycE及び最遅開始時刻xcLを各々算出し、さらに数139に基づいて、ボトルネック工程やクリティカルパスの抽出を行なうようにしている。これによって、例えばシステムの稼動中にクリティカルチェーン法を適用して計画期間の短縮を図る場合でも、システムの各工程i毎に最早開始時刻xcEや最早終了時刻ycE、最遅開始時刻xcLの算出と、それにより得られる更新後のボトルネック工程やクリティカルパスを適確に抽出することができる。
(5)動作及び効果
以上のように本実施例では、一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を数12及び数13の式で表現するために、前記処理対象(材料、部品、ジョブ)を受け渡す前記各工程iの実行順序を表した先行制約関係情報と、前記各工程iにおける実行時間dとからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部(CPU11)が変換するスケジュール作成装置1において、前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、前記数94〜数97で定義されたシステム構造を表現する行列A ,F,B,C (但し、[X]ijは行列Xにおけるi行j列の要素である。kはk番目の前記処理対象の工程処理であることを表す。)と、前記数99の行列Fとを用い、前記max-plus代数の定理を利用した所定の演算処理を実行することで、前記各工程の実行時間を短縮したことによる遅れを防止するための猶予時間であるPBの位置を決定すると共に、前記PBの値を算出する。
また、スケジュール作成装置1では、前記離散事象システムにおける前記入力から前記出力までの複数の経路のうち、前記入力から前記出力までに要する時間が最長となる経路をクリティカルパスとし、それ以外の経路を非クリティカルパスとして前記数106でシステム構造を表現する行列υ,w´(但し、[X]iは行列Xにおけるi行の要素である)を算出し、該行列υ,w´と前記行列Fとを用い、前記max-plus代数の定理を利用した所定の演算処理を実行することで、前記非クリティカルパス上の工程による遅れを防止するための猶予時間であるFBの位置を決定すると共に、前記FBの値を算出するように、スケジュール作成手段32を構成した。
このようなスケジュール作成装置1,スケジュール作成方法,及びコンピュータプログラム20では、例えばシステムの稼動中にクリティカルチェーン法を適用して計画期間の短縮を図る場合でも、max-plus代数上で線形なMPL形式を導出するための行列A ,F,B,C ,Fを利用して、当該クリティカルチェーン法を適用した際に用いるPB及びFBの位置及び値を簡単に取得することができる。従って、与えられたシステムをMPLシステムとして、より少ないメモリ消費で表現できる形式に対してクリティカルチェーン法を適用可能とし、処理時間の不確定性が高い場合にも納期遅れを出さず、かつ納期短縮を図り得るスケジュール作成方法、スケジュール作成装置1及びコンピュータプログラムを提供することが可能となる。
また、スケジュール作成装置1では、前記行列A ,B,及びF と、前記処理開始時刻x(k−1)及び前記入力時刻u(k)とを利用し、前記数98に基づき最早開始時刻x(k)を算出し、前記行列C と前記最早開始時刻x(k)とを用いて次の数100により前記最早終了時刻y(k)を算出する演算部としてのスケジュール作成手段32を備えている。
こうすれば、スケジュール作成装置1では、行列A ,F,B,C ,Fを用いて算出された、前記各工程で前記処理対処の処理を最も早く終了させたときの出力での最早終了時刻y(k)を利用して、前記max-plus代数の定理を利用した前記数105に基づきPBの値を、演算部としてのスケジュール作成手段32により簡単に取得することができる。
また、スケジュール作成装置1では、前記行列Cの各要素のうち、前記実行時間d(k)となった要素に対応した前記工程jを基に、該工程jの次工程がPBの設置位置であると容易に決定することができる。
また、スケジュール作成装置1では、前記行列υ,w´,Fを用い、前記max-plus代数の定理を利用した前記数110に基づき行列Fβαを算出し、前記行列w´と前記行列Fβαとに基づいて、前記max-plus代数の定理を利用した前記数112により行列υ´を算出し、前記行列υと前記行列Fとを基に前記max-plus代数の定理を利用した前記数111と前記数120に基づいて行列pを算出する演算部としてのスケジュール作成手段32を備えている。
このスケジュール作成手段32は、続いて、前記行列pの要素を前記数121の定義に従ってεとeとに置き換えた行列pと、前記行列Fββとから前記max-plus代数の定理を利用した前記数119を基に行列F ββを算出し、前記行列F ββを基に前記max-plus代数の定理を利用した前記数118から行列F〜* ββを算出し、前記行列υ´と前記行列F〜* ββと前記行列υとを基に前記max-plus代数の定理を利用した次の数117によりFBの値を抽出した行列FBを算出する。
こうすればスケジュール作成装置1では、例えばシステムの稼動中にクリティカルチェーン法を適用して計画期間の短縮を図る場合でも、max-plus代数上で線形なMPL形式を導出するための行列A ,F,B,C ,Fを利用して、当該クリティカルチェーン法を適用する際に用いるFBの値を簡単に取得することができる。
また、スケジュール作成装置1では、各工程の実行時間を1/3に短縮した短縮実行時間を算出し、入力パラメータにPBの値とFBの値とを追加し、かつ各工程の短縮実行時間を用いて、行列A ,F,B,C ,の各要素を決定し、さらにここで決定した行列Fから行列Fを算出することにで、クリティカルチェーン法を適用しつつ、max-plus代数上で線形なMPL形式を導出するための行列A ,F,B,C を簡単に取得することができる。
なお、本発明は上記実施例に限定されるものではなく、本発明の要旨の範囲において種々の変形実施が可能である。例えば、実施例中では、複数の工程からなる生産システムを例として採用したが、タスクに順序制約を有するプロジェクト管理などを含むあらゆるシステムや、プロジェクトスケジューリング問題や、物流システムの配送計画問題などにも、そのまま適用が可能である。また、入力や出力が複数箇所存在するような、いわゆるMIMO(Multiple Input Multiple Output)型構造を有するシステムへの適用も可能であり、従来知られているPERT(Program Evaluation and Review Technique)による方法よりも、適用範囲が広いことを意味する。
また、上述した実施の形態においては、クリティカルチェーン法におけるABPは統計的にHPの1/3まで短縮可能であることから、各工程の実行時間を1/3に短縮した短縮実行時間を適用し、かつ前記数105と前記数117の式中においても、それぞれ1/3の数字を用いるようにした場合について述べたが、本発明はこれに限らず、この他種々の数字を適用してもよい。この場合、前記各工程の実行時間を1/q(qは任意の数字)に短縮した短縮実行時間を適用した場合には、前記数105と前記数117はそれぞれ次の数140のように表すことができる。
Figure 2010198339
1 スケジュール作成装置(コンピュータ)
11 CPU(演算部)
12 RAM(記憶部)
16 入力装置(取込部)
20 コンピュータプログラム

Claims (36)

  1. 一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成方法において、
    前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、次の数141〜数144で定義されたシステム構造を表現する行列A ,F,B,C (但し、[X]ijは行列Xにおけるi行j列の要素である。kはk番目の前記処理対象の工程処理であることを表す。)と、
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    前記行列Fを基に前記max-plus代数の定理を利用した次の数145から算出された行列F(但し、Fにおいて全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算であることを表す)と、
    Figure 2010198339
    を用い、前記max-plus代数の定理を利用した所定の演算処理を実行することで、前記各工程の実行時間を短縮したことによる遅れを防止するための猶予時間であるプロジェクトバッファの設置位置を決定すると共に、前記プロジェクトバッファの値を算出するプロジェクトバッファ算出ステップと、
    前記離散事象システムにおける前記入力から前記出力までの複数の経路のうち、前記入力から前記出力までに要する時間が最長となる経路をクリティカルパスとし、それ以外の経路を非クリティカルパスとして次の数146でシステム構造を表現する行列υ,w´(但し、[X]iは行列Xにおけるi行の要素である)を算出し、該行列υ,w´と前記行列Fとを用い、前記max-plus代数の定理を利用した所定の演算処理を実行することで、前記非クリティカルパス上の工程による遅れを防止するための猶予時間であるフィーデングバッファの設置位置を決定すると共に、前記フィーデングバッファの値を算出するフィーデングバッファ算出ステップと、
    Figure 2010198339
    を実行することを特徴とするスケジュール作成方法。
  2. 前記プロジェクトバッファ算出ステップは、
    行列A ,F,B,C ,Fを用いて算出された、前記各工程で前記処理対処の処理を最も早く終了させたときの出力での最早終了時刻y(k)を、前記演算部が取得し、
    前記最早終了時刻y(k)を用い、前記max-plus代数の定理を利用した次の数147に基づき前記プロジェクトバッファの値を前記演算部で算出する
    Figure 2010198339
    (PBは前記プロジェクトバッファを表し、qは任意の数字。丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
    ことを特徴とする請求項1記載のスケジュール作成方法。
  3. 前記最早終了時刻y(k)は、前記行列C と最早開始時刻x(k)とを用いて、前記演算部によって次の数148により算出され、
    Figure 2010198339
    前記最早開始時刻x(k)は、k番目の前記処理対象の工程処理に関して、各工程での処理開始時刻をx(k−1)とし、入力時刻をu(k)としたときに、前記行列A ,B,及びF と、前記処理開始時刻x(k−1)及び前記入力時刻u(k)とを利用し、前記演算部によって次の数149に基づき算出される
    Figure 2010198339
    ことを特徴とする請求項2記載のスケジュール作成方法。
  4. 前記プロジェクトバッファ算出ステップは、
    前記行列Cの各要素のうち、前記実行時間d(k)となった要素に対応した前記工程jを決定し、該工程jの次工程が前記プロジェクトバッファの設置位置であると、前記演算部によって決定する
    ことを特徴とする請求項1〜3うちいずれか1項記載のスケジュール作成方法。
  5. 前記フィーデングバッファ算出ステップは、
    前記行列υ,w´,Fを用い、前記max-plus代数の定理を利用した次の数150に基づき行列Fβαを前記演算部で算出する第1のステップと、
    Figure 2010198339
    (diagは対角行列を表し、Tは転置行列を表し、丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
    前記行列w´と前記行列Fβαとに基づいて、前記max-plus代数の定理を利用した次の数151により行列υ´を前記演算部で算出する第2のステップと
    Figure 2010198339
    を実行することを特徴とする請求項1〜4のうちいずれか1項記載のスケジュール作成方法。
  6. 前記第2のステップの後に、
    前記行列υと前記行列Fとを用い前記max-plus代数の定理を利用した次の数152により行列Fββを算出し、前記行列υ´と前記行列Fββとを用い前記max-plus代数の定理を利用した次の数153に基づいて行列pを前記演算部で算出する第3のステップと、
    Figure 2010198339
    Figure 2010198339
    前記行列pの要素を次の数154の定義に従ってεとeとに置き換えた行列pと、前記行列Fββとから前記max-plus代数の定理を利用した次の数155を基に行列F ββを算出し、前記行列F ββを基に前記max-plus代数の定理を利用した次の数156から行列F〜* ββ(但し、F ββ において全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算を表す)を前記演算部で算出する第4のステップと、
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    前記行列υ´と前記行列F〜* ββと前記行列υとを基に前記max-plus代数の定理を利用した次の数157により前記フィーデングバッファの値を抽出した行列FBを、前記演算部で算出する第5のステップと
    Figure 2010198339
    (qは任意の数字)
    を実行することを特徴とする請求項5記載のスケジュール作成方法。
  7. 前記各工程の実行時間を1/qに短縮した短縮実行時間を前記演算部で算出する実行時間短縮ステップを備え、
    前記入力パラメータに前記プロジェクトバッファの値と前記フィーデングバッファの値とを追加し、かつ前記短縮実行時間を用いて、前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記行列A ,F,B,C の各要素をそれぞれ前記演算部で決定し、該行列Fを用いて前記行列Fを前記演算部で算出することを特徴とする請求項6記載のスケジュール作成方法。
  8. 一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成方法において、
    前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、次の数158〜数161で定義されたシステム構造を表現する行列A ,F,B,C (但し、[X]ijは行列Xにおけるi行j列の要素である)と、
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    前記max-plus代数の定理を利用して前記行列Fを基に算出された次の数162の行列F(但し、Fにおいて全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算であることを表す)と、
    Figure 2010198339
    を用いて算出された、前記各工程で前記処理対処の処理を最も早く終了させたときの出力での最早終了時刻y(k)を、前記演算部が取得する第1のステップと、
    前記最早終了時刻y(k)を用い、前記max-plus代数の定理を利用した次の数163に基づきプロジェクトバッファの値を前記演算部で算出する第2のステップと、
    Figure 2010198339
    (PBはプロジェクトバッファを表し、qは任意の数字。丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
    を実行することを特徴とするスケジュール作成方法。
  9. 前記最早終了時刻y(k)は、前記行列C と最早開始時刻x(k)とを用いて、前記演算部によって次の数164により算出され、
    Figure 2010198339
    前記最早開始時刻x(k)は、k番目の前記処理対象の工程処理に関して、各工程での処理開始時刻をx(k−1)とし、入力時刻をu(k)としたときに、前記行列A ,B,及びF と、前記処理開始時刻x(k−1)及び入力時刻u(k)とを利用し、前記演算部によって次の数165に基づき算出される
    Figure 2010198339
    ことを特徴とする請求項8記載のスケジュール作成方法。
  10. 一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成方法において、
    前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程jにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて次の数166で定義されたシステム構造を表現する行列C (但し、[X]ijは行列Xにおけるi行j列の要素である)の各要素を前記演算部で決定する第1のステップと、
    Figure 2010198339
    前記行列Cの各要素のうち、前記実行時間d(k)となった要素に対応した工程jを決定し、前記工程jの次工程がプロジェクトバッファの設置位置であると、前記演算部によって決定する第2のステップとを実行することを特徴とするスケジュール作成方法。
  11. 一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成方法において、
    前記離散事象システムにおける前記入力から前記出力までの複数の経路のうち、前記入力から前記出力までに要する時間が最長となる経路をクリティカルパスとし、それ以外の経路を非クリティカルパスとして次の数167でシステム構造を表現する行列υ,w´(但し、[X]iは行列Xにおけるi行の要素である)と、
    Figure 2010198339
    前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、次の数168で定義されたシステム構造を表現する行列F(但し、[X]ijは行列Xにおけるi行j列の要素である)と、
    Figure 2010198339
    を前記演算部が取得する第1のステップと、
    前記行列υ,w´,Fを用い、前記max-plus代数の定理を利用した次の数169に基づき行列Fβαを、前記演算部で算出する第2のステップと、
    Figure 2010198339
    (diagは対角行列を表し、Tは転置行列を表し、丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
    前記行列w´と前記行列Fβαとに基づいて、前記max-plus代数の定理を利用した次の数170により行列υ´を前記演算部で算出する第3のステップと
    Figure 2010198339
    を実行することを特徴とするスケジュール作成方法。
  12. 前記第3のステップの後に、
    前記行列υと前記行列Fとを基に前記max-plus代数の定理を利用した次の数171により行列Fββを算出し、前記行列υ´と該行列Fββとから前記max-plus代数の定理を利用した次の数172に基づいて行列pを、前記演算部で算出する第4のステップと、
    Figure 2010198339
    Figure 2010198339
    前記行列pの要素を次の数173の定義に従ってεとeとに置き換えた行列pと、前記行列Fββとから前記max-plus代数の定理を利用した次の数174を基に行列F ββを算出し、前記max-plus代数の定理を利用して前記行列F ββを基に次の数175の行列F〜* ββ(但し、F ββ において全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算を表す)を前記演算部で算出する第5のステップと、
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    前記行列υ´と前記行列F〜* ββと前記行列υとを基に前記max-plus代数の定理を利用して次の数176によりフィーデングバッファの値を抽出した行列FBを、前記演算部で算出する第6のステップと
    Figure 2010198339
    (qは任意の数字)
    を実行することを特徴とする請求項11記載のスケジュール作成方法。
  13. 一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成装置において、
    前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、次の数177〜数180で定義されたシステム構造を表現する行列A ,F,B,C (但し、[X]ijは行列Xにおけるi行j列の要素である。kはk番目の前記処理対象の工程処理であることを表す。)と、
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    前記max-plus代数の定理を利用して前記行列Fを基に算出された次の数181の行列F(但し、Fにおいて全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算であることを表す)と、
    Figure 2010198339
    を用い、前記max-plus代数の定理を利用した所定の演算処理を実行することで、前記各工程の実行時間を短縮したことによる遅れを防止するための猶予時間であるプロジェクトバッファの設置位置を決定すると共に、前記プロジェクトバッファの値を算出し、
    前記離散事象システムにおける前記入力から前記出力までの複数の経路のうち、前記入力から前記出力までに要する時間が最長となる経路をクリティカルパスとし、それ以外の経路を非クリティカルパスとして次の数182でシステム構造を表現する行列υ,w´(但し、[X]iは行列Xにおけるi行の要素である)を算出し、該行列υ,w´と前記行列Fとを用い、前記max-plus代数の定理を利用した所定の演算処理を実行することで、前記非クリティカルパス上の工程による遅れを防止するための猶予時間であるフィーデングバッファの設置位置を決定すると共に、前記フィーデングバッファの値を算出するように、前記演算部を構成した
    Figure 2010198339
    ことを特徴とするスケジュール作成装置。
  14. 前記演算部は、
    行列A ,F,B,C ,Fを用いて算出された、前記各工程で前記処理対処の処理を最も早く終了させたときの出力での最早終了時刻y(k)を取得し、
    前記最早終了時刻y(k)を用い、前記max-plus代数の定理を利用した次の数183に基づきプロジェクトバッファの値を算出する
    Figure 2010198339
    (PBはプロジェクトバッファを表し、qは任意の数字。丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
    ことを特徴とする請求項13記載のスケジュール作成装置。
  15. 前記演算部は、
    k番目の前記処理対象の工程処理に関して、各工程での処理開始時刻をx(k−1)とし、入力時刻をu(k)としたときに、前記行列A ,B,及びF と、前記処理開始時刻x(k−1)及び前記入力時刻u(k)とを利用し、次の数184に基づき最早開始時刻x(k)を算出し、
    Figure 2010198339
    前記行列C と前記最早開始時刻x(k)とを用いて次の数185により前記最早終了時刻y(k)を算出する
    Figure 2010198339
    ことを特徴とする請求項14記載のスケジュール作成装置。
  16. 前記演算部は、
    前記行列Cの各要素のうち、前記実行時間d(k)となった要素に対応した前記工程jを決定し、該工程jの次工程が前記プロジェクトバッファの設置位置であると決定する
    ことを特徴とする請求項13〜15うちいずれか1項記載のスケジュール作成装置。
  17. 前記演算部は、
    前記行列υ,w´,Fを用い、前記max-plus代数の定理を利用した次の数186に基づき行列Fβαを算出し、
    Figure 2010198339
    (diagは対角行列を表し、Tは転置行列を表し、丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
    前記行列w´と前記行列Fβαとに基づいて、前記max-plus代数の定理を利用した次の数187により行列υ´を算出する
    Figure 2010198339
    ことを特徴とする請求項13〜16のうちいずれか1項記載のスケジュール作成装置。
  18. 前記演算部は、
    前記行列υと前記行列Fとを基に前記max-plus代数の定理を利用した次の数188により行列Fββを算出し、前記行列υ´と前記行列Fββとから前記max-plus代数の定理を利用した次の数189に基づいて行列pを算出し、
    Figure 2010198339
    Figure 2010198339
    前記行列pの要素を次の数190の定義に従ってεとeとに置き換えた行列pと、前記行列Fββとから前記max-plus代数の定理を利用した次の数191を基に行列F ββを算出し、前記行列F ββを基に前記max-plus代数の定理を利用した次の数192から行列F〜* ββ(但し、F ββ において全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算を表す)を算出し、
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    前記行列υ´と前記行列F〜* ββと前記行列υとを基に前記max-plus代数の定理を利用した次の数193により前記フィーデングバッファの値を抽出した行列FBを算出する
    Figure 2010198339
    (qは任意の数字)
    ことを特徴とする請求項17記載のスケジュール作成装置。
  19. 前記演算部は、
    前記各工程の実行時間を1/qに短縮した短縮実行時間を算出し、
    前記入力パラメータに前記プロジェクトバッファの値と前記フィーデングバッファの値とを追加し、かつ前記短縮実行時間を用いて、前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記行列A ,F,B,C の各要素をそれぞれ決定し、該行列Fを用いて前記行列Fを算出する
    ことを特徴とする請求項18記載のスケジュール作成装置。
  20. 一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成装置において、
    前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、次の数194〜数197で定義されたシステム構造を表現する行列A ,F,B,C (但し、[X]ijは行列Xにおけるi行j列の要素である)と、
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    前記max-plus代数の定理を利用して前記行列Fを基に算出された次の数198の行列F(但し、Fにおいて全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算であることを表す)と、
    Figure 2010198339
    を用いて算出された、前記各工程で前記処理対処の処理を最も早く終了させたときの出力での最早終了時刻yを、前記演算部が取得し、
    前記最早終了時刻y(k)を用い、前記max-plus代数の定理を利用した次の数199に基づきプロジェクトバッファの値を算出するように、前記演算部を構成した
    Figure 2010198339
    (PBはプロジェクトバッファを表し、qは任意の数字。丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
    ことを特徴とするスケジュール作成装置。
  21. 前記演算部は、
    k番目の前記処理対象の工程処理に関して、各工程での処理開始時刻をx(k−1)とし、入力時刻をu(k)としたときに、前記行列A ,B,及びF と、前記処理開始時刻x(k−1)及び入力時刻u(k)とを利用し、次の数200に基づき最早開始時刻x(k)を算出し、
    Figure 2010198339
    前記行列C と前記最早開始時刻x(k)とを用いて次の数201により前記最早終了時刻y(k)を算出する
    Figure 2010198339
    ことを特徴とする請求項20記載のスケジュール作成装置。
  22. 一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成装置において、
    前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程jにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて次の数202で定義されたシステム構造を表現する行列C (但し、[X]ijは行列Xにおけるi行j列の要素である)の各要素を前記演算部で決定し、
    Figure 2010198339
    前記行列Cの各要素のうち、前記実行時間d(k)となった要素に対応した工程jの次工程が、プロジェクトバッファの設置位置であると決定するように、前記演算部を構成したことを特徴とするスケジュール作成装置。
  23. 一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータを、max-plus代数上で線形なMPL形式に演算部が変換するスケジュール作成装置において、
    前記離散事象システムにおける前記入力から前記出力までの複数の経路のうち、前記入力から前記出力までに要する時間が最長となる経路をクリティカルパスとし、それ以外の経路を非クリティカルパスとして次の数203でシステム構造を表現する行列υ,w´(但し、[X]iは行列Xにおけるi行の要素である)と、
    Figure 2010198339
    前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、次の数204で定義されたシステム構造を表現する行列F(但し、[X]ijは行列Xにおけるi行j列の要素である)と、
    Figure 2010198339
    を前記演算部が取得し、
    前記行列υ,w´,Fを用い、前記max-plus代数の定理を利用した次の数205に基づき行列Fβαを算出し、
    Figure 2010198339
    (diagは対角行列を表し、Tは転置行列を表し、丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
    前記行列w´と前記行列Fβαとに基づいて、前記max-plus代数の定理を利用した次の数206により行列υ´を算出するように、前記演算部を構成した
    Figure 2010198339
    ことを特徴とするスケジュール作成装置。
  24. 前記演算部は、
    前記行列υと前記行列Fとを基に前記max-plus代数の定理を利用した次の数207により行列Fββを算出して、前記行列υ´と該行列Fββとから前記max-plus代数の定理を利用した次の数208に基づいて行列pを算出し、
    Figure 2010198339
    Figure 2010198339
    前記行列pの要素を次の数209の定義に従ってεとeとに置き換えた行列pと、前記行列Fββとから前記max-plus代数の定理を利用した次の数210を基に行列F ββを算出して、前記max-plus代数の定理を利用して前記行列F ββを基に次の数211の行列F〜* ββ(但し、F ββ において全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算を表す)を算出し、
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    前記行列υ´と前記行列F〜* ββと前記行列υとを基に前記max-plus代数の定理を利用して次の数212によりフィーデングバッファの値を抽出した行列FBを算出する
    Figure 2010198339
    (qは任意の数字)
    ことを特徴とする請求項23記載のスケジュール作成装置。
  25. 一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータに基づいて、max-plus代数上で線形なMPL形式に変換できるようにコンピュータに演算を行なわせるコンピュータプログラムにおいて、
    前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、次の数213〜数216で定義されたシステム構造を表現する行列A ,F,B,C (但し、[X]ijは行列Xにおけるi行j列の要素である。kはk番目の前記処理対象の工程処理であることを表す。)と、
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    前記max-plus代数の定理を利用して前記行列Fを基に算出された次の数217の行列F(但し、Fにおいて全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算であることを表す)と、
    Figure 2010198339
    を用い、前記max-plus代数の定理を利用した所定の演算処理を実行することで、前記各工程の実行時間を短縮したことによる遅れを防止するための猶予時間であるプロジェクトバッファの設置位置を決定すると共に、前記プロジェクトバッファの値を算出するプロジェクトバッファ算出ステップと、
    前記離散事象システムにおける前記入力から前記出力までの複数の経路のうち、前記入力から前記出力までに要する時間が最長となる経路をクリティカルパスとし、それ以外の経路を非クリティカルパスとして次の数218でシステム構造を表現する行列υ,w´(但し、[X]iは行列Xにおけるi行の要素である)を算出し、該行列υ,w´と前記行列Fとを用い、前記max-plus代数の定理を利用した所定の演算処理を実行することで、前記非クリティカルパス上の工程による遅れを防止するための猶予時間であるフィーデングバッファの設置位置を決定すると共に、前記フィーデングバッファの値を算出するフィーデングバッファ算出ステップと、
    Figure 2010198339
    を前記コンピュータに実行させることを特徴とするコンピュータプログラム。
  26. 前記プロジェクトバッファ算出ステップは、前記コンピュータに、
    行列A ,F,B,C ,Fを用いて算出された、前記各工程で前記処理対処の処理を最も早く終了させたときの出力での最早終了時刻y(k)を取得させ、
    前記最早終了時刻y(k)を用い、前記max-plus代数の定理を利用した次の数219に基づきプロジェクトバッファの値を算出させる
    Figure 2010198339
    (PBは前記プロジェクトバッファを表し、qは任意の数字。丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
    ことを特徴とする請求項25記載のコンピュータプログラム。
  27. 前記コンピュータに、
    k番目の前記処理対象の工程処理に関して、各工程での処理開始時刻をx(k−1)とし、入力時刻をu(k)としたときに、前記行列A ,B,及びF と、前記処理開始時刻x(k−1)及び前記入力時刻u(k)とを利用し、次の数220に基づき最早開始時刻x(k)を算出させ、
    Figure 2010198339
    前記行列C と前記最早開始時刻x(k)とを用いて次の数221により前記最早終了時刻y(k)を算出させる
    Figure 2010198339
    ことを特徴とする請求項26記載のコンピュータプログラム。
  28. 前記プロジェクトバッファ算出ステップでは、
    前記行列Cの各要素のうち、前記実行時間d(k)となった要素に対応した前記工程jを決定し、該工程jの次工程が前記プロジェクトバッファの設置位置であると、前記コンピュータに決定させる
    ことを特徴とする請求項25〜27うちいずれか1項記載のコンピュータプログラム。
  29. 前記フィーデングバッファ算出ステップでは、
    前記行列υ,w´,Fを用い、前記max-plus代数の定理を利用した次の数222に基づき行列Fβαを算出する第1のステップと、
    Figure 2010198339
    (diagは対角行列を表し、Tは転置行列を表し、丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
    前記行列w´と前記行列Fβαとに基づいて、前記max-plus代数の定理を利用した次の数223により行列υ´を算出する第2のステップと、
    Figure 2010198339
    を前記コンピュータに実行させることを特徴とする請求項25〜28のうちいずれか1項記載のコンピュータプログラム。
  30. 前記第2のステップの後に、
    前記行列υと前記行列Fとを基に前記max-plus代数の定理を利用した次の数224により行列Fββを算出し、前記行列υ´と前記行列Fββとから前記max-plus代数の定理を利用した次の数225に基づいて行列pを算出する第3のステップと、
    Figure 2010198339
    Figure 2010198339
    前記行列pの要素を次の数226の定義に従ってεとeとに置き換えた行列pと、前記行列Fββとから前記max-plus代数の定理を利用した次の数227を基に行列F ββを算出し、前記行列F ββを基に前記max-plus代数の定理を利用した次の数228から行列F〜* ββ(但し、F ββ において全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算を表す)を算出する第4のステップと、
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    前記行列υ´と前記行列F〜* ββと前記行列υとを基に前記max-plus代数の定理を利用した次の数229により前記フィーデングバッファの値を抽出した行列FBを算出する第5のステップと
    Figure 2010198339
    (qは任意の数字)
    を前記コンピュータに実行させることを特徴とする請求項29記載のコンピュータプログラム。
  31. 前記コンピュータに、
    前記各工程の実行時間を1/qに短縮した短縮実行時間を算出させ、
    前記プロジェクトバッファ及び前記フィーデングバッファを追加し、かつ前記短縮実行時間を用いて、前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記行列A ,F,B,C の各要素をそれぞれ決定させ、該行列Fを用いて前記行列Fを算出させることを特徴とする請求項30記載のコンピュータプログラム。
  32. 一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータに基づいて、max-plus代数上で線形なMPL形式に変換できるようにコンピュータに演算を行なわせるコンピュータプログラムにおいて、
    前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、次の数230〜数233で定義されたシステム構造を表現する行列A ,F,B,C (但し、[X]ijは行列Xにおけるi行j列の要素である)と、
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    前記max-plus代数の定理を利用して前記行列Fを基に算出された次の数234の行列F(但し、Fにおいて全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算であることを表す)と、
    Figure 2010198339
    を用いて算出された、前記各工程で前記処理対処の処理を最も早く終了させたときの出力での最早終了時刻yを、前記コンピュータに取得させ、
    前記最早終了時刻yを用い、前記max-plus代数の定理を利用した次の数235に基づきプロジェクトバッファの値を前記コンピュータに算出させる
    Figure 2010198339
    (PBはプロジェクトバッファを表し、qは任意の数字。丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
    ことを特徴とするコンピュータプログラム。
  33. 前記コンピュータに、
    k番目の前記処理対象の工程処理に関して、各工程での処理開始時刻をx(k−1)とし、入力時刻をu(k)としたときに、前記行列A ,B,及びF と、前記処理開始時刻x(k−1)及び入力時刻u(k)とを利用して次の数236に基づき最早開始時刻x(k)を算出させ、
    Figure 2010198339
    前記行列C と前記最早開始時刻x(k)とを用いて次の数237により前記最早終了時刻y(k)を算出させる
    Figure 2010198339
    ことを特徴とする請求項32記載のコンピュータプログラム。
  34. 一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータに基づいて、max-plus代数上で線形なMPL形式に変換できるようにコンピュータに演算を行なわせるコンピュータプログラムにおいて、
    前記max-plus代数上で線形なMPL形式を導出できるようにするために、前記各工程jにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて次の数238で定義されたシステム構造を表現する行列C (但し、[X]ijは行列Xにおけるi行j列の要素である)の各要素を決定する第1のステップと、
    Figure 2010198339
    前記行列Cの各要素のうち、前記実行時間d(k)となった要素に対応した工程jの次工程が、プロジェクトバッファの設置位置であると決定する第2のステップとを前記コンピュータに実行させることを特徴とするコンピュータプログラム。
  35. 一乃至複数の入力,一乃至複数の出力,及び複数の工程を組み合わせてなり、前記入力に投入した処理対象を前記複数の工程で処理してゆき、その処理結果を出力に送り出す離散事象システムの状態を表現するために、前記処理対象を受け渡す前記各工程の実行順序を表した先行制約関係情報と、前記各工程における実行時間とからなる入力パラメータに基づいて、max-plus代数上で線形なMPL形式に変換できるようにコンピュータに演算を行なわせるコンピュータプログラムにおいて、
    前記離散事象システムにおける前記入力から前記出力までの複数の経路のうち、前記入力から前記出力までに要する時間が最長となる経路をクリティカルパスとし、それ以外の経路を非クリティカルパスとして次の数239でシステム構造を表現する行列υ,w´(但し、[X]iは行列Xにおけるi行の要素である)と、
    Figure 2010198339
    前記各工程iにおける実行時間をd(k)としたときに、前記入力パラメータに基づいて各要素をそれぞれ決定した、次の数240で定義されたシステム構造を表現する行列F(但し、[X]ijは行列Xにおけるi行j列の要素である)と、
    Figure 2010198339
    を取得する第1のステップと、
    前記行列υ,w´,Fを用い、前記max-plus代数の定理を利用した次の数241に基づき行列Fβαを算出する第2のステップと、
    Figure 2010198339
    (diagは対角行列を表し、Tは転置行列を表し、丸で囲んだ×は前記max-plus代数で定理される乗算であることを表す)
    前記第1のステップで取得した前記行列w´と、前記第2のステップで取得した前記行列Fβαとに基づいて、前記max-plus代数の定理を利用した次の数242により行列υ´を算出する第3のステップと
    Figure 2010198339
    をコンピュータに実行させることを特徴とするコンピュータプログラム。
  36. 前記第3のステップの後に、
    前記行列υと前記行列Fとを基に前記max-plus代数の定理を利用した次の数243により行列Fββを算出し、前記第3のステップで算出した行列υ´と、該行列Fββとから前記max-plus代数の定理を利用した次の数244に基づいて行列pを算出する第4のステップと、
    Figure 2010198339
    Figure 2010198339
    前記第4のステップで算出した前記行列pの要素を次の数245の定義に従ってεとeとに置き換えた行列pと、前記行列Fββとから前記max-plus代数の定理を利用した次の数246を基に行列F ββを算出し、前記max-plus代数の定理を利用して前記行列F ββを基に次の数247の行列F〜* ββ(但し、F ββ において全ての要素がεになり、またnは工程数である。eは対角要素のみeで、それ以外の非対角要素が全てεであるn行n列の行列である。丸で囲んだ+は前記max-plus代数で定理される加算を表す)を算出する第5のステップと、
    Figure 2010198339
    Figure 2010198339
    Figure 2010198339
    前記行列υ´と前記行列F〜* ββと行列υとを基に前記max-plus代数の定理を利用して次の数248によりフィーデングバッファの値を抽出した行列FBを算出する第6のステップと
    Figure 2010198339
    (qは任意の数字)
    をコンピュータに実行させることを特徴とする請求項35記載のコンピュータプログラム。
JP2009042643A 2009-02-25 2009-02-25 スケジュール作成方法、スケジュール作成装置及びコンピュータプログラム Pending JP2010198339A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009042643A JP2010198339A (ja) 2009-02-25 2009-02-25 スケジュール作成方法、スケジュール作成装置及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009042643A JP2010198339A (ja) 2009-02-25 2009-02-25 スケジュール作成方法、スケジュール作成装置及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2010198339A true JP2010198339A (ja) 2010-09-09

Family

ID=42822998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009042643A Pending JP2010198339A (ja) 2009-02-25 2009-02-25 スケジュール作成方法、スケジュール作成装置及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2010198339A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104732355A (zh) * 2015-04-07 2015-06-24 哈尔滨理工大学 设备空闲时间段调整的设备驱动综合调度方法
CN109902895A (zh) * 2017-12-08 2019-06-18 英业达科技有限公司 产品生产的测试生产排程系统及其方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140607A (ja) * 2005-11-14 2007-06-07 Noriaki Aoki 医療マネジメント支援装置、医療マネジメント支援方法、及び医療マネジメント支援プログラム、並びに医療マネジメント支援システム
JP2007334855A (ja) * 2006-05-17 2007-12-27 Nagaoka Univ Of Technology スケジュール作成方法,スケジュール作成装置,及びコンピュータプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140607A (ja) * 2005-11-14 2007-06-07 Noriaki Aoki 医療マネジメント支援装置、医療マネジメント支援方法、及び医療マネジメント支援プログラム、並びに医療マネジメント支援システム
JP2007334855A (ja) * 2006-05-17 2007-12-27 Nagaoka Univ Of Technology スケジュール作成方法,スケジュール作成装置,及びコンピュータプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104732355A (zh) * 2015-04-07 2015-06-24 哈尔滨理工大学 设备空闲时间段调整的设备驱动综合调度方法
CN104732355B (zh) * 2015-04-07 2018-12-21 哈尔滨理工大学 设备空闲时间段调整的设备驱动综合调度方法
CN109902895A (zh) * 2017-12-08 2019-06-18 英业达科技有限公司 产品生产的测试生产排程系统及其方法

Similar Documents

Publication Publication Date Title
Bektur et al. A mathematical model and heuristic algorithms for an unrelated parallel machine scheduling problem with sequence-dependent setup times, machine eligibility restrictions and a common server
Imran et al. Cell formation in a cellular manufacturing system using simulation integrated hybrid genetic algorithm
Nikakhtar et al. Application of lean construction principles to reduce construction process waste using computer simulation: a case study
Hossain et al. Overlapping design and construction activities and an optimization approach to minimize rework
JP4690893B2 (ja) 生産・物流スケジュール作成装置及び方法、生産・物流プロセス制御装置及び方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体
Jiang et al. A prediction-based online soft scheduling algorithm for the real-world steelmaking-continuous casting production
Aqil et al. Two efficient nature inspired meta-heuristics solving blocking hybrid flow shop manufacturing problem
Qian et al. Fast algorithms for scheduling with learning effects and time-dependent processing times on a single machine
Wang et al. Meta-heuristics for unrelated parallel machines scheduling with random rework to minimize expected total weighted tardiness
Ju et al. System development for establishing shipyard mid-term production plans using backward process-centric simulation
da Silva et al. Online single machine scheduling with setup times depending on the jobs sequence
Liu et al. Construction rescheduling based on a manufacturing rescheduling framework
Taheri Amiri et al. Optimization of Time, Cost, and Quality in Critical Chain Method Using Simulated Annealing (RESEARCH NOTE)
Rosłon et al. Construction projects’ indicators improvement using selected metaheuristic algorithms
CN106897199A (zh) 一种基于大数据处理框架共有特征的批作业执行时间预测方法
JP2010198339A (ja) スケジュール作成方法、スケジュール作成装置及びコンピュータプログラム
Tamrakar Analysis and improvement by the application of network analysis (Pert/Cpm)
Mousavipour et al. A job shop scheduling problem with sequence-dependent setup times considering position-based learning effects and availability constraints
JP2007334855A (ja) スケジュール作成方法,スケジュール作成装置,及びコンピュータプログラム
Salhab et al. Schedule compression and emerging waste in construction: an assessment of overlapping activities
CN113592288B (zh) 一种基于非等同并行机模型的下料计划排程方法
Wahab et al. Production improvement in an aircraft manufacturing company using value stream mapping approach
Morin et al. Periodically aggregated resource-constrained project scheduling problem
Bosenko et al. Development of an automated system to improve the efficiency of the oil pipeline construction management
Balachandran et al. Computational workflow management for conceptual design of complex systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120217

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130806