(57)【要約】【課題】  実時間で最適な解を得る生産・物流スケジュール作成装置を提供する。【解決手段】  生産・物流プロセスの物流状態と物流制約を表現した離散系生産・物流シミュレータ３１０と、上記生産・物流プロセスの立案開始時刻から設定した期間（計画作成期間）分を対象として、物流スケジュール作成に係わる情報を取り込んで作成した状態方程式と物流制約式を用いた数式モデル３２１を保持する数式モデル保持装置３２０と、上記数式モデル３２１に対し所定の評価関数を用いて最適化計算を行って上記生産・物流シミュレータ３１０に対する物流指示を算出する最適化計算装置３３０とを設け、上記最適化計算装置３３０によって得られた物流指示を上記生産・物流シミュレータ３１０に与え、１回のシミュレーションを行うだけで最適な物流スケジュールが得られるようにする。【選択図】  図１
2006072851.tif 000002
【特許請求の範囲】
【請求項１】
生産・物流プロセスの物流状態と物流制約を表現した生産・物流プロセスを模擬する離散系の生産・物流シミュレータと、
上記生産・物流プロセスの物流状態と物流制約とを数式で表現した数式モデルであって、
上記生産・物流プロセスの立案開始時刻から予め設定した期間（計画作成期間）分を対象として、着目している物流のスケジュールを作成するのに係わる情報を取り込んで作成された状態方程式と物流制約式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルに対して、所定の評価関数を用いて最適化計算処理を行って上記生産・物流シミュレータに対する物流指示を算出する最適化計算装置とを有する生産・物流スケジュール作成装置であって、
上記最適化計算処理により現時点から予め設定した期間（指示算出期間）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（シミュレーション期間）分だけシミュレーションを実行して予め設定した期間（計画確定期間）分だけ物流計画を確定し、上記確定期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を繰り返すことにより得られたシミュレーション結果から上記生産・物流プロセスにおける生産・物流スケジュールを作成することを特徴とする生産・物流スケジュール作成装置。
【請求項２】
上記離散系の生産・物流シミュレータはペトリネットモデルを用いて構築するものであり、上記状態方程式はペトリネットモデルの状態方程式であることを特徴とする請求項１に記載の生産・物流スケジュール作成装置。
【請求項３】
上記離散系の生産・物流シミュレータはペトリネットモデルを用いて構築するものであり、上記状態方程式は処理時間に比例したきざみ時間遅れに従って表される接続行列と遷移行列とを用いた状態方程式であることを特徴とする請求項１に記載の生産・物流スケジュール作成装置。
【請求項４】
上記離散系の生産・物流シミュレータはペトリネットモデルを用いて構築するものであり、上記物流制約式は上記ペトリネットモデル中の移動操作端の発火可能性およびアーク方向について表した条件式を含む物流制約式であることを特徴とする請求項１〜３の何れか１項に記載の生産・物流スケジュール作成装置。
【請求項５】
上記立案開始時刻から予め設定した期間は、あらかじめ設定された対象期間分であることを特徴とする請求項１に記載の生産・物流スケジュール作成装置。
【請求項６】
上記立案開始時刻から予め設定した期間は、ある生産・物流事象発生の時刻から所定の区切られた範囲で設定された期間であることを特徴とする請求項１に記載の生産・物流スケジュール作成装置。
【請求項７】
上記着目している物流のスケジュールを作成するのに係わる情報を取り込んで作成された状態方程式と物流制約式を用いた数式モデルは、製品、移動体、設備の処理に伴う作業群の関係、制約に対して構築されることを特徴とする請求項１〜６の何れか１項に記載の生産・物流スケジュール作成装置。
【請求項８】
上記着目している物流のスケジュールを作成するのに係わる情報を取り込んで作成された状態方程式と物流制約式を用いた数式モデルは、上記検出した現在の物流状態及び物流制約で成る数式モデルであることを特徴とする請求項１〜６の何れか１項に記載の生産・物流スケジュール作成装置。
【請求項９】
上記最適化計算装置は、あらかじめ設定した評価関数を用いて最適化計算処理を行うことを特徴とする請求項１〜８の何れか１項に記載の生産・物流スケジュール作成装置。
【請求項１０】
上記最適化計算装置は、あらかじめ設定した線形の評価関数を用いて最適化計算処理を行うことを特徴とする請求項９に記載の生産・物流スケジュール作成装置。
【請求項１１】
上記最適化計算装置は、最適化或いは準最適化問題として上記数式モデルを解くことを特徴とする請求項１〜８の何れか１項に記載の生産・物流スケジュール作成装置。
【請求項１２】
上記最適化計算装置は、上記設定した指示算出期間内で少なくとも最適な発生事象及びその発生時刻を求めて上記数式モデルを最適化することを特徴とする請求項１〜８の何れか１項に記載の生産・物流スケジュール作成装置。
【請求項１３】
上記数式モデルの解に基づいて、上記製品、移動体、設備の処理に伴う作業群の関係、制約の全部或いは一部動作・状況をシミュレートする生産・物流シミュレーション処理と、
上記生産・物流シミュレーション処理により求めた生産・物流計画の内で計画をあらかじめ設定した確定期間分だけ採用して確定する生産・物流計画確定処理とを行って、上記予め設定した期間（計画確定期間）分だけ物流計画を確定することを特徴とする請求項１〜１２の何れか１項に記載の生産・物流スケジュール作成装置。
【請求項１４】
上記生産・物流シミュレータがシミュレーションを進めて、上記予め設定した期間（計画確定期間）分だけ物流計画を確定することを特徴とする請求項１〜１２の何れか１項に記載の生産・物流スケジュール作成装置。
【請求項１５】
上記事象の発生事象から将来の予測範囲を区切って最適化計算を行い、その結果を上記シミュレータに供給して事象発生時刻を進める処理を事象発生毎に繰り返し行い、この繰り返し演算の結果から上記予測範囲毎に求めた一連の事象発生順及びその事象発生時刻を生産・物流スケジュール作成として決定することを特徴とする請求項１〜１４の何れか１項に記載の生産・物流スケジュール作成装置。
【請求項１６】
上記生産・物流計画確定処理により確定した生産・物流計画の確定期間が経過した直後の日時を新たな立案開始日時として設定し、上記生産・物流計画確定処理により既に確定した生産・物流計画に基づき構築した新たな状態方程式と物流制約式を用いた数式モデルに基づいて解を求める最適化計算処理と、
上記最適化計算処理により求めた数式モデルに対する解に基づいて製造プロセス・搬送の動作・状況をシミュレートする生産・物流シミュレート処理と、
上記生産・物流シミュレート処理により求めた生産・物流計画のうち、あらかじめ設定した確定期間分の生産・物流計画だけを採用して生産・物流計画を確定する生産・物流計画確定処理とにより、上記新たな立案開始日時から新たな確定期間分の生産・物流計画を確定する一連の処理を、順次設定する新たな立案開始日時についてそれぞれ行うことを特徴とする請求項１２に記載の生産・物流スケジュール作成装置。
【請求項１７】
生産・物流プロセスの物流状態と物流制約を表現した生産・物流プロセスを模擬する離散系の生産・物流シミュレータと、
上記生産・物流プロセスの物流状態と物流制約とを数式で表現した数式モデルであって、上記生産・物流プロセスの立案開始時刻から予め設定した期間（計画作成期間）分を対象として、着目している物流のスケジュールを作成するのに係わる情報を取り込んで作成された状態方程式と物流制約式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルに対して、所定の評価関数を用いて最適化計算処理を行って上記生産・物流シミュレータに対する物流指示を算出する最適化計算装置とを有する生産・物流プロセス制御装置であって、
上記最適化計算処理により現時点から予め設定した期間（指示算出期間）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（シミュレーション期間）分だけシミュレーションを実行して予め設定した期間（計画確定期間）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を繰り返すことにより得られたシミュレーション結果に基づいて生産・物流プロセスの物流制御を行うことを特徴とする生産・物流プロセス制御装置。
【請求項１８】
生産・物流プロセスの物流状態と物流制約を表現した生産・物流プロセスを模擬する離散系の生産・物流シミュレータと、
上記生産・物流プロセスの物流状態と物流制約とを数式で表現した数式モデルであって、上記生産・物流プロセスの立案開始時刻から予め設定した期間（計画作成期間）分を対象として、着目している物流のスケジュールを作成するのに係わる情報を取り込んで作成された状態方程式と物流制約式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルに対して所定の評価関数を用いて最適化計算処理を行って上記生産・物流シミュレータに対する物流指示を算出する最適化計算装置とを有する生産・物流スケジュール作成装置により生産・物流スケジュールを作成する方法であって、
上記最適化計算処理により現時点から予め設定した期間（指示算出期間）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（シミュレーション期間）分だけシミュレーションを実行して予め設定した期間（計画確定期間）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を繰り返すことにより得られたシミュレーション結果から上記生産・物流プロセスにおける生産・物流スケジュールを作成することを特徴とする生産・物流スケジュール作成方法。
【請求項１９】
生産・物流プロセスの物流状態と物流制約を表現した生産・物流プロセスを模擬する離散系の生産・物流シミュレータと、
上記生産・物流プロセスの物流状態と物流制約とを数式で表現した数式モデルであって、上記生産・物流プロセスの立案開始時刻から予め設定した期間（計画作成期間）分を対象として、着目している物流のスケジュールを作成するのに係わる情報を取り込んで作成された状態方程式と物流制約式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルに対して、所定の評価関数を用いて最適化計算処理を行って上記生産・物流シミュレータに対する物流指示を算出する最適化計算装置とを有する生産・物流プロセス制御装置を用いた生産・物流プロセス制御方法であって、
上記最適化計算処理により現時点から予め設定した期間（指示算出期間）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（シミュレーション期間）分だけシミュレーションを実行して予め設定した期間（計画確定期間）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を繰り返すことにより得られたシミュレーション結果に基づいて生産・物流プロセスの物流制御を行うことを特徴とする生産・物流プロセス制御方法。
【請求項２０】
上記請求項１８に記載の生産・物流スケジュール作成方法または上記請求項１９に記載の生産・物流プロセス制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項２１】
上記請求項２０に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は生産・物流スケジュール作成装置、生産・物流スケジュール作成方法、生産・物流プロセス制御装置、生産・物流プロセス制御方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体に関し、特に、操作者の熟練度に依存することのなく対象システムのスケジュールを作成するために用いて好適なものである。
【背景技術】
【０００２】
従来、見込み生産を行わない受注生産の形態では、受注した品目を製造オーダーに分割し、納期遵守率や設備稼働率、中間在庫量、コストなどの観点を考慮して生産・物流スケジュールを作成している。上記生産・物流スケジュールを作成する手法として、技術的に大別すると２つの手法が用いられている。
【０００３】
すなわち、第１の手法としては、例えば、特許文献１の「生産計画評価方法およびシステム」に開示されているように、コンピュータ上に構築した工場を模したシミュレーション上で、実機器と同じインタフェースから取得した情報を使用して実機器の稼動を予測し、稼動予測に基づいて、実機器より速い速度で仮想的な生産を行い、仮想的な生産の過程および結果を用いて、精度の高い指標を提示することによって、生産計画の評価および選択を可能にする手法である。
【０００４】
また、第２の手法としては、特許文献２の「物流計画作成装置」にて開示されているように、線形計画法、数理計画法などのように、最適性が保証される手法に基づいてスケジュールを作成する手法である。
【０００５】
【特許文献１】特開２００２−３６６２１９号公報
【特許文献２】特開２０００−１７２７４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記特許文献１に記載の「生産計画評価方法およびシステム」に開示されているように、シミュレータを用いて生産・物流スケジュールを作成する手法は、満足できる結果が得られるまでには、（１）条件を種々に変えながらシミュレーションを行い、その結果の評価を何回も繰返し行う必要があった。したがって、（２）大規模工場では生産・物流スケジュールを作成するのに多くの時間がかかってしまう問題点があった。また、（３）高精度な生産・物流スケジュールを得るためには、シミュレーション・ルールを細かく設定しなければならない問題点があった。
【０００７】
また、上記特許文献２の「物流計画作成装置」にて開示されているように、線形計画法、数理計画法などのように、最適性が保証される手法に基づいてスケジュールを作成する手法の場合には、（１）生産・物流スケジュールを作成する規模が大きくなると、実用的な時間内に解くことが困難になってしまう問題点があった。また、（２）数式で記述できない制約や条件に起因する誤差が生じるため、得られた生産・物流スケジュールが実行可能であるかどうかは保証されていなかった。また、（３）数式を用いて、連続した工程や製品等の流れを含んだ物流構造を正確に記述することや物流制約と物流構造を同時に定式化することは、熟練した技術者でも膨大な時間がかかり、大規模な問題においては困難を極める場合が多かった。
【０００８】
本発明は上述の問題点にかんがみ、シミュレーションを繰り返し行うことなく最適な生産・物流スケジュールを作成することができるようにして、生産・物流スケジュール作成対象の生産・物流プロセスで実際に使用可能であることが保証された生産・物流スケジュールを高速に、且つ高精度に作成できるようにすることを第１の目的とする。
また、異なる複数の工程または搬送経路で複数の製品を処理または複数の移動体で搬送し、且つ各製品が異なる複数工程経路または搬送経路を選択可能な製造プロセス、搬送において、任意の時間精度を必要とする生産・物流計画或いは物流制御を、高速に或いは立案者の求める精度で詳細に、立案者の意図に沿って柔軟に最適化でき、且つそのままで実操業に適用できるようにすることを第２の目的とする。
また、連続した工程や製品等の流れを含んだ物流構造を正確に容易に記述し、物流制約と物流構造を同時に定式化することを、非熟練技術者でも短時間で実現し、大規模な問題においても定式化の困難性を意識することの無く、生産・物流計画或いは物流制御を、高速に或いは立案者の求める精度で詳細に、最適化できることを第３の目的とする。
【課題を解決するための手段】
【０００９】
本発明の生産・物流スケジュール作成装置は、生産・物流プロセスの物流状態と物流制約を表現した生産・物流プロセスを模擬する離散系の生産・物流シミュレータと、
上記生産・物流プロセスの物流状態と物流制約とを数式で表現した数式モデルであって、上記生産・物流プロセスの立案開始時刻から予め設定した期間（計画作成期間）分を対象として、着目している物流のスケジュールを作成するのに係わる情報を取り込んで作成された状態方程式と物流制約式を用いた数式モデルを保持する数式モデル保持装置と、上記数式モデルに対して所定の評価関数を用いて最適化計算処理を行って上記生産・物流シミュレータに対する物流指示を算出する最適化計算装置とを有する生産・物流スケジュール作成装置であって、
上記最適化計算処理により現時点から予め設定した期間（指示算出期間）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（シミュレーション期間）分だけシミュレーションを実行して予め設定した期間（計画確定期間）分だけ物流計画を確定し、上記確定期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を繰り返すことにより得られたシミュレーション結果から上記生産・物流プロセスにおける生産・物流スケジュールを作成することを特徴としている。
【００１０】
本発明の生産・物流プロセス制御装置は、生産・物流プロセスの物流状態と物流制約を表現した生産・物流プロセスを模擬する離散系の生産・物流シミュレータと、
上記生産・物流プロセスの物流状態と物流制約とを数式で表現した数式モデルであって、上記生産・物流プロセスの立案開始時刻から予め設定した期間（計画作成期間）分を対象として、着目している物流のスケジュールを作成するのに係わる情報を取り込んで作成された状態方程式と物流制約式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルに対して所定の評価関数を用いて最適化計算処理を行って上記生産・物流シミュレータに対する物流指示を算出する最適化計算装置とを有する生産・物流プロセス制御装置であって、
上記最適化計算処理により現時点から予め設定した期間（指示算出期間）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（シミュレーション期間）分だけシミュレーションを実行して予め設定した期間（計画確定期間）分だけ物流計画を確定し、上記確定期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を繰り返すことにより得られたシミュレーション結果に基づいて生産・物流プロセスの物流制御を行うことを特徴としている。
【００１１】
本発明の生産・物流スケジュール作成方法は、生産・物流プロセスの物流状態と物流制約を表現した生産・物流プロセスを模擬する離散系の生産・物流シミュレータと、
上記生産・物流プロセスの物流状態と物流制約とを数式で表現した数式モデルであって、上記生産・物流プロセスの立案開始時刻から予め設定した期間（計画作成期間）分を対象として、着目している物流のスケジュールを作成するのに係わる情報を取り込んで作成された状態方程式と物流制約式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルに対して所定の評価関数を用いて最適化計算処理を行って上記生産・物流シミュレータに対する物流指示を算出する最適化計算装置とを有する生産・物流スケジュール作成装置により生産・物流スケジュールを作成する方法であって、
上記最適化計算処理により現時点から予め設定した期間（指示算出期間）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（シミュレーション期間）分だけシミュレーションを実行して予め設定した期間（計画確定期間）分だけ物流計画を確定し、上記確定期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を繰り返すことにより得られたシミュレーション結果から上記生産・物流プロセスにおける生産・物流スケジュールを作成することを特徴としている。
【００１２】
本発明の生産・物流プロセス制御方法は、生産・物流プロセスの物流状態と物流制約を表現した生産・物流プロセスを模擬する離散系の生産・物流シミュレータと、
上記生産・物流プロセスの物流状態と物流制約とを数式で表現した数式モデルであって、上記生産・物流プロセスの立案開始時刻から予め設定した期間（計画作成期間）分を対象として、着目している物流のスケジュールを作成するのに係わる情報を取り込んで作成された状態方程式と物流制約式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルに対して所定の評価関数を用いて最適化計算処理を行って上記生産・物流シミュレータに対する物流指示を算出する最適化計算装置とを有する生産・物流プロセス制御装置を用いた生産・物流プロセス制御方法であって、
上記最適化計算処理により現時点から予め設定した期間（指示算出期間）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（シミュレーション期間）分だけシミュレーションを実行して予め設定した期間（計画確定期間）分だけ物流計画を確定し、上記確定期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を繰り返すことにより得られたシミュレーション結果に基づいて生産・物流プロセスの物流制御を行うことを特徴としている。
【００１３】
本発明のコンピュータプログラムは、上記に記載の生産・物流スケジュール作成方法をコンピュータに実行させることを特徴としている。
また、本発明のその他の特徴とするところは、上記に記載の生産・物流プロセス制御方法をコンピュータに実行させることを特徴としている。
【００１４】
本発明の記録媒体は、上記に記載のコンピュータプログラムを記録したことを特徴としている。
【発明の効果】
【００１５】
本発明によれば、詳細シミュレーションを実行中に物流指示が必要な事象が発生するたびにシミュレータからシミュレーション現時点での物流状態及び物流制約の情報を検出し、上記検出した検出情報と予め定めた評価指標を元に最適化手法によって最適物流指示を計算し、上記計算結果に基づいて以後の詳細シミュレーションを進め、次に物流指示が必要な事象が発生した時点で最適物流指示を再度計算することを繰り返し行うようにしたので、詳細シミュレーション自体は一度行うだけで最適物流指示を得ることができる。
また、離散系のシミュレータと、数式モデルと、最適化装置とを連動させて最適物流指示を計算し、上記計算結果のシミュレーションを行って生産・物流スケジュールを作成するようにしたので、物流制約条件が複雑であっても実行可能な生産・物流スケジュールを作成することができる。また、所望の評価指標を最良にする生産・物流スケジュールを作成することができるとともに、計算時間を短縮して実用的な時間内に生産・物流スケジュールを作成することができる。これらにより、最適性と実行可能性の両方を確保できる。また、対象とする生産・物流プロセスの状態に応じた生産・物流スケジュールを作成する際の手間及び時間を大幅に削減することができる。さらに、生産・物流スケジュールを作成する対象の規模が大きい場合においても、正確な生産・物流生産・物流スケジュールを高速に、且つ高精度に作成することが可能となる。
また、本発明の他の特徴によれば、詳細シミュレーション自体は一度行うだけで最適な物流制御を行うことができる。
また、連続した工程や製品等の流れを含んだ物流構造を正確に容易に記述し、物流制約と物流構造を同時に定式化することを非熟練技術者でも短時間で実現し、大規模な問題においても定式化の困難性を意識することの無く、生産・物流計画或いは物流制御を、高速に或いは立案者の求める精度で詳細に最適化することが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、図１〜図６１０を参照しながら本発明の生産・物流スケジュール作成装置、生産・物流スケジュール作成方法、生産・物流プロセス制御装置、生産・物流プロセス制御方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体の実施の形態を説明する。
【００１７】
図１は、本発明の第１の実施形態を示し、生産・物流スケジュール作成装置の一例を説明するブロック図である。図１に示したように、本実施の形態の生産・物流スケジュール作成装置３００は、物流シミュレータ３１０、状態方程式と物流制約式を用いた数式モデル３２１（以下、数式モデルとする）、最適化計算装置３３０等によって構成されている。
【００１８】
上記物流シミュレータ３１０は、工場を模擬した大型のシミュレータであり、事象（シミュレータのイベント）毎に物を動かす離散系として構成されている。本実施の形態においては、ペトリネットを用いて上記物流シミュレータ３１０を構成し、数式モデル３２１を出力するように構成している。
【００１９】
また、上記物流シミュレータ３１０に対応させて数式モデル３２１が構成されている。本実施の形態においては、製造プロセス・搬送における製品受入計画、製品出荷計画、在庫計画、設備使用計画、設備修理計画、設備能力、設備現況、工程現況、設備現況、在庫現況、設備稼働・故障現況、及び操業者からの操業前提条件の全て或いは一部を表す入力データに基づいて、上記生産・物流計画の立案開始日時からあらかじめ設定された対象期間分を対象として、あらかじめ設定した精度に基づいて、製品、移動体、設備の処理に伴う作業群の関係、制約に対して、数式モデル数式モデル３２１を構築するようにしている。
【００２０】
上記状態方程式と物流制約式を用いた数式モデル３２１は、半導体記憶手段等により構成される数式モデル保持装置３２０によって保持されている。そして、上記数式数式モデルモデル３２１と最適化計算装置３３０によって最適化計算を行い、上記物流シミュレータ３１０に対する物流指示を算出するようにしている。上記最適化計算装置３３０によって行なわれる最適化計算は評価関数Ｓを用いて行われる。
【００２１】
したがって、本実施の形態の生産・物流スケジュール作成装置によれば、従来のように予め決められたルールに基づいて物流指示が行なわれるのではなく、上記最適化計算装置３３０により行なわれた最適計算の結果に基づいた物流指示を上記物流シミュレータ３１０に出力することができる。これにより、そのときの事象に応じた最適な物流指示を確実に行うことが可能となる。
【００２２】
また、新たな事象が発生すると、時刻管理部（図示していない）により事象が１つ進められ、物流シミュレータ３１０から状態方程式と物流制約式を用いた数式モデル３２１及び最適化計算装置３３０に対して計算を行うようにする計算指示が出力される。上記計算指示が上記物流シミュレータ３１０から与えられると、上記最適化計算装置３３０が数式数式モデルモデル３２１及び評価関数Ｓを用いて最適化計算を実行する。上述のように、上記物流シミュレータ３１０と上記最適化計算装置３３０とを事象毎に連動させた詳細シミュレーションを一度実行することで、最適な生産・物流スケジュールを作成することができる。
【００２３】
すなわち、本実施の形態において行なわれるシミュレーションは、従来のような所定のルールに基づくシミュレーションではなく、最適計算を行った結果に基づいてシミュレーションを行うようにしているので、１回のシミュレーションを行うだけで理論的な最適解を確実に得ることが可能となり、従来のようにシミュレーション結果を評価してシミュレーションを何回も繰り返し行う必要がなく、シミュレーション結果３５０を迅速に、且つ高精度に作成することができる。したがって、スケジュールを作成する対象が大規模であっても実用時間内に作成することが十分に可能である。上述のようにして得られたシミュレーション結果３５０をスケジュールとして出力する。
【００２４】
また、上記物流シミュレータ３１０の規模が非常に大きい場合、或いは制約条件が非常に多くて複雑な場合でも、上記物流シミュレータ３１０に記載された物流状態、数式のうち、スケジュール作成に影響が大きい重要な部分のみを上記数式モデル数式モデル３２１に取り込むようにすることで、上記物流シミュレータ３１０の規模を適切な範囲にして、実用的な時間内で最適化計算を行うようにすることができる。
【００２５】
上記物流シミュレータ３１０は、考慮すべき物流状態、物流制約を全て記載することができるので、１回のシミュレーションを行って作成されたスケジュールは現実に実行可能となることが保証される。
【００２６】
上述したように、本実施の形態においては、物流シミュレータ３１０と、数式モデル数式モデル３２１と、最適化計算装置３３０とを連動させて物流スケジュールを作成するようにしたので、（１）シミュレーションの繰り返しをしないでスケジュールを作成することができる。また、（２）スケジュール作成に影響が大きい重要な部分のみを上記数式数式モデルモデル３２１に取り込むようにすることで計算時間を短縮することができるとともに、（３）連続した工程や製品等の流れを含んだ物流構造を正確に容易に記述し、物流制約と物流構造を同時に定式化することを非熟練技術者でも短時間で実現することができるようになる。（４）大規模な問題においても定式化の困難性を意識することの無く、生産・物流計画或いは物流制御を、高速に或いは立案者の求める精度で詳細に最適化することが可能となる。
【００２７】
また、物流指示が必要な事象が発生するたびに上記物流シミュレータ３１０の物流状態及び物流制約の情報を検出し、上記検出した検出情報と予め定めた評価指標を元に、上記最適化計算装置３３０により最適化手法によって最適物流指示を計算し、上記計算結果に基づいて上記物流シミュレータ３１０で詳細シミュレーションを行ってスケジュールを作成するので、（５）スケジュール精度を高くすることができるとともに、（６）実行可能性の検証が取れているスケジュールを作成することができる。
【００２８】
また、数式モデル数式モデル３２１を導入したので、スケジュール作成に影響が大きい重要な部分に変更が生じた場合でも迅速に対処することが可能となり、メンテナンス性の高いスケジュール作成装置を構築できる。
【００２９】
そして、上記数式モデル数式モデル３２１を、記生産・物流プロセスの立案開始時刻から予め設定した期間（計画作成期間）分を対象として、着目している物流のスケジュールを作成するのに係わる情報を取り込んで作成し、上記作成した数式モデル数式モデル３２１を上記最適化計算装置３３０に与えて、上記最適化計算処理により現時点から予め設定した期間分（指示算出期間）について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（シミュレーション期間）分だけシミュレーションを実行して予め設定した期間分（計画確定期間）だけ物流計画を確定する。
【００３０】
次に、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案する、という処理を繰り返すことにより得られたシミュレーション結果３５０から生産・物流プロセスにおける生産・物流スケジュールを作成するようにしている。  
【００３１】
以下に、第１の実施形態の具体例を、図２を参照しながら説明する。なお、本例は、シミュレーション期間と確定期間が同じ期間であるとした例である。
図２に示したように、計画作成期間の１日目は作成した生産・物流計画の最初の８時間分を確定し、２日目以降は生産・物流計画の最初の１日分を確定する。作成した生産・物流計画の内で上記確定期間に入らなかった部分については、その計画は確定せずに破棄する。
【００３２】
すなわち、第１ループでは１日目の０時〜２４時の対象期間について数式モデル数式モデル３２１をもとに上記最適化計算装置３３０で求解を行う。そして、最適化計算処理により得られた求解結果を元に物流シミュレータ３１０によるシミュレーションを行い、最初の８時間について第１の物流計画の期間Ａを確定する。
【００３３】
次に、第２ループでは、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案する。この例の場合は、第１の物流計画の期間Ａとして、１日目の８時まで確定したので、当初１日目の０時であった立案開始日を、第２ループでは１日目の８時に更新する。
【００３４】
第２ループにおいても第１ループと同様に、１日目の８時〜２日目の８時までの２４時間を対象期間として数式モデル数式モデル３２１をもとに上記最適化計算装置３３０で求解を行う。そして、最適化計算処理により得られた求解結果を元に物流シミュレータ３１０によるシミュレーションを行い、最初の８時間について、この場合は１日目の８時〜１６時について、第２の物流計画の期間Ｂを確定する。
【００３５】
次に、第３ループにおいても、上記確定した第２の物流計画の期間Ｂの直後の日時を新たな立案開始日時として設定して物流計画を立案する。この場合は、１日目の１６時まで確定したので、第２ループにおいては１日目の８時であった立案開始日を、第３ループでは１日目の１６時に更新し、その後の２４時間を対象期間として状態方程式と物流制約式を用いた数式モデル３２１をもとに上記最適化計算装置３３０で求解を行う。
【００３６】
そして、最適化計算処理により得られた求解結果を元に物流シミュレータ３１０によるシミュレーションを行い、最初の８時間について物流計画を確定する。この場合は、１日目の１６時〜２４時について第３の物流計画の期間Ｃとして確定する。この結果、次の第４ループでは、立案開始日が２日目の０時となる。
【００３７】
第４ループでは、数式モデル数式モデル３２１をもとに上記最適化計算装置３３０で求解を行う対象期間を、２日目の０時〜４日目の０時までの４８時間としている。上記４８時間について行った求解の結果を物流シミュレータ３１０によるシミュレーションを行い、この第４ループにおいては最初の２４時間について物流計画を確定するようにしている。この場合、２日目の０時から２日目の２４時（３日目の０時）までの期間を第４の物流計画の期間Ｄとして確定する。  
【００３８】
次に、第５ループにおいては、上記確定した期間の直後の日時である、３日目の０時を新たな立案開始日時として設定して、４日目の２４時までの４８時間を対象期間として状態方程式と物流制約式を用いた数式モデル３２１をもとに上記最適化計算装置３３０で求解を行う。そして、上記４８時間について行った求解の結果を元にして、物流シミュレータ３１０によるシミュレーションを行う。この第５ループにおいても、求解を行った４８時間のうち、最初の２４時間について物流計画を確定するようにしている。この場合、２日目の０時から３日目の２４時（４日目の０時）までについて第５の物流計画の期間Ｅを確定する。
【００３９】
次に、第６ループにおいては、４日目の０時から４日目の２４時までの２４時間を対象期間として状態方程式と物流制約式を用いた数式モデル３２１による求解を行う。この場合、対象期間の全てである２４時間について第６の物流計画の期間Ｆとして確定するようにしている。本具体例では、第６ループが終了した時点で４日分の生産・物流計画が全て作成されるので、処理を終了する。また、物流計画の確定は、物流指示を必要とする事象が発生する毎に行ってもよい。
【００４０】
上述したように、この第１の実施の形態においては、初期値を移動させながら計算範囲を分割するようにしているので、計算負荷が大きなスケジュールを計算する場合においても実用時間内で計算することが可能となる。したがって、計算要素が莫大な大規模工場の生産・物流スケジュールを作成する場合においても実用時間でスケジュールを作成することができる。特に、本実施の形態においては、最適化計算装置３３０と物流シミュレータ３１０とを連動させて分割処理を行っているので、各々の事象において多少のずれが生じた場合でも、事象毎に微調整を行うことが可能となり、最適なスケジュールを実用時間内で作成することができるようになる。
【００４１】
これにより、上記物流シミュレータ３１０の規模が非常に大きい場合、或いは制約条件が非常に多くて複雑な場合でも、上記物流シミュレータ３１０に記載された物流状態、数式のうち、スケジュール作成に影響が大きい重要な部分のみを上記数式数式モデルモデル３２１に取り込むようにすることで、上記状態方程式と物流制約式を用いた数式モデル３２１の規模を適切な範囲にして、実用的な時間内で最適化計算を行うようにすることができる。
【００４２】
上記物流シミュレータ３１０は、考慮すべき物流状態、物流制約を全て記載することができるので、１回のシミュレーションを行って作成された作成されたスケジュールは現実に実行可能となることが保証される。
【００４３】
上述したように、本実施の形態においては、物流シミュレータ３１０と、数式モデル数式モデル３２１と、最適化計算装置３３０とを連動させて物流スケジュールを作成するようにしたので、（１）計算の繰り返しをしないでスケジュールを作成することができる。また、（２）スケジュール作成に影響が大きい重要な部分のみを上記数式数式モデルモデル３２１に取り込むようにすることで計算時間を短縮することができるとともに、（３）連続した工程や製品等の流れを含んだ物流構造を正確に容易に記述し、物流制約と物流構造を同時に定式化することを非熟練技術者でも短時間で実現することができるようになる。（４）大規模な問題においても定式化の困難性を意識することの無く、生産・物流計画或いは物流制御を、高速に或いは立案者の求める精度で詳細に最適化することが可能となる。
【００４４】
また、物流指示が必要な事象が発生するたびに上記物流シミュレータ３１０の物流状態及び物流制約の情報を検出し、上記検出した検出情報と予め定めた評価指標を元に、上記最適化計算装置３３０により最適化手法によって最適物流指示を計算し、上記計算結果に基づいて上記物流シミュレータ３１０で詳細シミュレーションを行ってスケジュールを作成するので、（５）スケジュール精度を高くすることができるとともに、（６）実行可能性を検証が取れているスケジュールを作成することができる。
【００４５】
また、数式数式モデルモデル３２１を導入したので、スケジュール作成に影響が大きい重要な部分に変更が生じた場合でも迅速に対処することが可能となり、メンテナンス性が高いスケジュール作成装置を構築できる。
【００４６】
（第２の実施の形態）
次に、本発明の第２の実施の形態について図面を参照しながら説明する。
図３は、製造プロセスのペトリネットモデルとして、処理時間に比例した数のプレースで各工程を表したペトリネットモデルを構築し、各工程でのきざみ時間遅れを表す遷移行列Ａと接続関係を表した接続行列Ｂ（＝Ｂ+ −Ｂ- ）を算出するための処理手順の例を示すフローチャートである。
【００４７】
すなわち、まず、最初に離散きざみ時間ΔＴを入力し（ステップＳ１）、次に全ての処理工程と処理時間Ｔp とを入力する（ステップＳ２）。そして、処理工程ごとに処理時間Ｔp をきざみ時間ΔＴで除して整数化することにより上記各処理工程のプレース数ｎp を求め（ステップＳ３、Ｓ４）、そのプレース数ｎp に従って、全処理工程のプレースを連結してペトリネットモデルを構築し、各工程でのきざみ時間遅れを表す遷移行列Ａとその接続関係を表す接続行列Ｂ（＝Ｂ+ −Ｂ- ）を算出する（ステップＳ５）。
【００４８】
なお、上記ステップＳ１で入力する離散きざみ時間ΔＴは、各製品種各工程処理時間の最大公約数をもって定義するのが最も効率的であるが、目的とする制御精度を勘案して適宜設定すればよい。
【００４９】
図４は、異なる単一の工程で単一の製品を処理して製造するプロセスの単純なモデルを示す。図４に示すように、単一の製品は工程１で処理される。ここで扱う複数の製品は、単一品種であることを想定しており、工程１で処理される。
【００５０】
例えば、工程１では、原料がバッファ１に蓄えられた後、装置１において上記原料に対して所定の処理が行われ、製造された製品が製品置場に置かれる。なお、矢印は製品の流れを示し、矢印に付した数字は製品の搬送可能容量を示す（常に１個とする）。
【００５１】
ここで、工程１内の装置１での処理時間は２単位時間であり（単位時間は離散きざみ時間ΔＴのことであり、例えば５分に設定される）、装置１における製品の容量は１個である。なお、バッファおよび製品置場には製品の容量制限はない。
【００５２】
このような物流モデルにおいて、全ての製品を設定された目標時間までに製造するための最適なスケジュールを作る問題を考える。そのための第１段階として、上記数式モデルに基づくペトリネットモデルを構築する。
【００５３】
図５は、図４に示した製造プロセスに本第２の実施の形態を適用した場合に得られるペトリネットモデルを示したものである。なお、説明の便宜上、図５のペトリネットモデルでは、装置１の処理時間に比例した数のプレースで表しているが、実際にはこの図４に示すように、ペトリネットモデルは装置１の工程を処理時間を離散きざみ時間ΔＴで除して得られるきざみ時間遅れを有する１個のプレースで表している。
【００５４】
このペトリネットモデルでは、プレースp1（工程１の入側バッファ）からトランジションt1を介して原料が投入され、それぞれ装置１の処理を経て、トランジションt2を経由して製品置場のプレースp4 に搬出される。なお、図５において、プレースｐ2とｐ3との間にはトランジションであることを表す符号ｔが付けられていない。これは、上述したように、実際のペトリネットモデルではきざみ時間遅れを有する１個のプレースにより表現され、トランジションの操作とは関係なく処理が行われるからである。
【００５５】
すなわち、製品の移動は、トランジションの操作によって行われるのではなく、操作の有無に関係なく順次移動されていく。このような製品の移動は、遷移行列Ａによって表される。
【００５６】
一方、トランジションの発火は、接続行列Ｂ（＝Ｂ+ −Ｂ- ）により表される。このうち、行列Ｂ+ は、トランジションの発火によって製品すなわちトークンがプレースへと入力されることにより、当該プレースにおけるトークンの数が増えることを表す。一方、行列Ｂ− は、トランジションの発火によってトークンがプレースから出力されることにより、当該プレースにおけるトークンの数が減ることを表す。
【００５７】
製品の移動に際して、１つのトランジションに対して１つあるいは複数のプレースからアーク（矢印）が入力している場合には、それらのプレースの全てに製品すなわちトークンが存在していないとトランジションの操作ができない。これをトランジションの発火則と言う。また、１つのトランジションから複数のプレースにアークが出力している場合には、それらのプレースの全てにトークンが出力される。
【００５８】
なお、アークとは、トランジションからプレース、あるいはプレースからトランジションへトークンが移動する方向を示すものであり、その数は移動するトークンの数を示している（上述のように、図５の例の場合は移動するトークンの数は何れも１個である）。また、トランジションを操作することを、トランジションを発火させると言う。このように、製造プロセスのペトリネットモデルを構築する。
【００５９】
離散化したある時刻k において各プレースに存在するトークンの数を示す状態ベクトルすなわち状態量をｘ(k) で表し、各トランジション発火の有無を"１"および"０"で表現した操作ベクトルをｕ(k) で表すとすると、次の時刻k+1 における状態ベクトルｘ(k+1) は、以下に示す状態方程式(1)
ｘ(k+1) ＝Ａ・ｘ(k) ＋Ｂ・ｕ(k) ，(k=0,1…,N-1)   ……(1)
で表すことができる。ここで、図５に示したペトリネットモデルの場合、遷移行列Ａは、次の式(2)のように表される。また、ｘ（０）、ｕ（０）の具体例は、後述する。
【００６０】
【数１】
2006072851.tif 000003
【００６１】
また、ここで、図５に示したペトリネットモデルの場合、接続行列Ｂを分解した２つの行列Ｂ+ ，Ｂ- は、次の式(3),(4) のように表される。
【００６２】
【数２】
2006072851.tif 000004
【００６３】
このように、処理時間に比例した数のプレースを持つペトリネットモデルを用い、各工程での、きざみ時間遅れを表した遷移行列Ａと接続関係を表した接続行列Ｂ（＝Ｂ+ −Ｂ- ）で各工程を表すことにより、離散時刻k が１進むたびに複数のプレースをトークンが移動していくことを表現できる。
【００６４】
また、本第２の実施の形態では、上述の状態方程式(1) の他に、以下に述べる各条件式を導入している。すなわち、あるトランジションに入力されている上流のプレースにトークンが存在していれば当該トランジションを発火できるが、存在していないと発火できないというトランジションの発火則から、操作ベクトルｕ(k) が実行可能な条件（最も基本的な物流制約式の１つである）を、次の式(5) で表す。
ｘ(k) -Ｂ- ・ｕ(k) ≧０，(k=0,1…,N-1)   ……(5)
【００６５】
すなわち、状態ベクトルｘ(k) によって表される現在の工程内製品仕掛状態から、行列Ｂ- に基づくトランジションの発火によってトークンがプレースから取り出されたときに、そのプレースの状態量が負の値にならないことが条件とされる（発火前に当該プレース中にトークンが存在していなければ状態量は"０"であるから、行列Ｂ- に基づきトランジションを発火させると、状態量は必ず負の値に変化するが、そのような発火は禁止される）。また、状態ベクトルｘ(k)や操作ベクトルｕ(k)に対して、上記と同様のその他の線形不等式制約も数式モデルの中に導入することができる。
【００６６】
また、操作ベクトルｕ(k) の各要素が満たすべき条件（最も基本的な物流制約式の１つである）を次の式(6) で表す。
ｕ(k) j ∈｛０，１｝，(k=0,1…,N-1)   ……(6)
ただし、ｊは操作ベクトルｕ(k) の第ｊ要素を表す。
また、操作ベクトルｕ(k)は、０，１のみに限らず、０または正の整数を取るように定義するようにしても良い。
ここでは、図５に示したように、ペトリネットモデルを構成する各プレースと各トランジションはアーク（矢印）によって接続され、トークンの移動する方向は矢印で定められるが、操作ベクトルｕ(k) の要素に"−１"を入れると（数式上では可能）、矢印の方向とは逆の方向に発火させるというモデルに合わない動きとなってしまう。そのため、矢印の方向を表す条件式として、操作ベクトルｕ(k) の各要素は"０"か"１"の値しかとらないという式(6) を使用する。
【００６７】
このように、本第２の実施の形態においては、実際に発火可能なトランジションや矢印の方向は状態方程式(1) だけでは表すことができないので、これらを表すための条件式（最も基本的な物流制約式である）として上述の式(5) および式(6) を用いる。
また、本第２の実施の形態では、評価関数Ｊとして次の式(7) を考える。なお、評価ベクトルｑ(k),ｒ(k) の右肩にあるＴは、転置ベクトルであることを表す。
【００６８】
【数３】
2006072851.tif 000005
【００６９】
なお、上述のｑ，ｒは、それぞれプレース数の次元およびトランジション数の次元を有する列ベクトルで、それぞれ制御の過渡特性とトランジション操作の入力エネルギーとを評価関数として表すためのものであり、制御目的に応じて適宜設定すればよい。例えば、過渡特性を重視する場合は、大きな数値をもつ評価ベクトルｑを設定すればよい。また、操作に要する入力エネルギーを小さく抑えたい場合は、大きな数値をもつ評価ベクトルｒを設定すればよい。
【００７０】
この式(7) に示すように、本第２の実施の形態では、工程内製品仕掛状態の目標である目標状態量ｘr なる概念を用いている。このような目標状態量ｘr を導入することで、各プレースの目標値を自由に設定することができる。本第２の実施の形態では、各プレースの目標値を０以外にも設定できるようにしたので、外乱が入ったときに目標値を一定にするように働く（従来は各プレース内のトークン数を常に０個にするように働く）レギュレータとしての扱いに加えて、変動する目標値に追従するサーボ系としての扱いを新たに実現することが可能となる。また、目標値を大きく設定することにより、目標値の大きいプレースで優先的に処理を行うようにする優先処理を実現することも可能となる。以下に解くべき数式の一例 (8) を示す。
【００７１】
【数４】
2006072851.tif 000006
【００７２】
図６は、本第２の実施の形態によるスケジュール作成結果の例を示す図である。なお、ここでは、計画立案の最終時刻をN=4とし、初期状態量ｘ(0) 、目標状態量ｘr (k) 、評価ベクトルｑ(k) ，ｒ(k) は以下の通りとする。
ｘ(0)   ＝[1 0 0 0 ] T
ｘr (k) ＝[0 0 0 1 ] T ,(k=4)
ｑ(k) ＝[4 6 8 10 ] T ,(k=1,…,N)
ｒ(k) ＝[1 1] T ,(k=0,…,N-1)
ただし、右肩のＴは転置ベクトルであることを表す。
【００７３】
ここで、上述の初期状態量ｘ(0) は、投入プレースp1に１個の原料すなわちトークンが置かれていることを表している。また、目標状態量ｘr (k) は、製品置場のプレースp4 に１個のトークンを移動させることを目標としていることを表している。また、評価ベクトルｑ(k) は、プレースに対する重みを昇順"４""６""８""１０"とする。なお、もう１つの評価ベクトルｒ(k) は全てのトランジションt1、t2 に対して同じ重み"１"を設定している。
【００７４】
本第２の実施の形態では、まず、初期状態ベクトル（例えば、毎日の始業時における各工程の製品仕掛状態）をｘ(0) とし、製造プロセスへ投入予定の全製品をトークンとして投入プレース（図５の例ではプレースp1）に配置する。
【００７５】
そして、離散時刻k=0、1、2、3に対して、１例として示した数式（８）を用いて、操作ベクトルｕ(0)、ｕ(1)、ｕ(2)、ｕ(3)を計算する。操作ベクトルｕ(0)を用いて、物流シミュレータ3１0によりシミュレーションを行い、そのシミュレーションの結果から離散時刻k=0に対して、操作ベクトルｕ(0)と状態ベクトルｘ(1)を確定する。例えば、トランジションt1、およびｔ2に対応する操作量がそれぞれｕ(0)1＝0、ｕ(1)1＝1、ｕ(2)1＝0、ｕ(3)1＝0およびｕ(0)2＝0、ｕ(1)2＝0、ｕ(2)2＝0、ｕ(3)2＝1であったとする。ここで、添え字はトランジション番号である。ｋ=0では、各トランジションt1およびt2に対応する操作量はそれぞれ、ｕ(0)1＝0およびｕ(0)2＝0となるので、t1およびt2のトランジションは両方発火しない。
【００７６】
続いて、確定したｘ(１)＝[1  0  0  0]を次回計算の初期状態とし、離散時刻k=1、2、3に対して操作ベクトルｕ(1)、ｕ(2)、ｕ(3)を再度計算する。この操作ベクトルを用いて、物流シミュレータ3１0によりシミュレーションを行い、そのシミュレーションの結果から離散時刻k=１に対して操作ベクトルｕ(１)と状態ベクトルｘ(２)を確定する。例えば、トランジションt1およびｔ2に対応する操作量がそれぞれｕ(1)1＝1、ｕ(2)1＝0、ｕ(3)1＝0およびｕ(1)2＝0、ｕ(2)2＝0、ｕ(3)2＝1ｕ(1)であったとすると、k=1での操作量はそれぞれ、ｕ(1)1＝1およびｕ(1)2＝0となるので、トランジションt1を発火するがトランジションt2は発火しない。このとき、１個のトークンがプレースp1からプレースp2に移動し、プレースp1のトークンは0個になる。
【００７７】
続いて、確定したｘ(２)＝[0  1  0  0]を次回計算の初期状態とし、離散時刻k=2、3に対して操作ベクトルｕ(2)、ｕ(3)を再度計算する。この操作ベクトルを用いて、物流シミュレータ3１0によりシミュレーションを行い、そのシミュレーションの結果から離散時刻k=2に対して操作ベクトルｕ(２)と状態ベクトルｘ(３)を確定する。例えば、トランジションt1およびｔ2に対応する操作量がそれぞれｕ(2)1＝0、ｕ(3)1＝0およびｕ(2)2＝0、ｕ(3)2＝1であったとすると、k=2では、各トランジションt1およびt2に対応する操作量はそれぞれ、ｕ(2)1＝0およびｕ(2)2＝0となるので、t1およびt2のトランジションは発火しない。しかし、ステップ２では、上記ステップ１でプレースp2に移動されたトークンが、トランジションの発火の有無に関係なく遷移行列Ａの作用によってプレースp3へと移動する。
【００７８】
続いて、確定したｘ(３)＝[0  0  1  0]を次回計算の初期状態とし、離散時刻k=3に対して操作ベクトルｕ(3)を再度計算する。この操作ベクトルを用いて、物流シミュレーション３１０を行い、そのシミュレーションの結果から離散時刻k=3に対して操作ベクトルｕ(３)と状態ベクトルｘ(４)を確定する。例えば、トランジションt1およびｔ2に対応する操作量がそれぞれｕ(3)1＝0およびｕ(3)2＝1であったとすると、k=3では、プレースp3にトークンが存在しているので、これらのトークンは、トランジションt2, の発火によってそれぞれプレースp4に移動する。各トランジションt1およびt2 に対応する操作量（はそれぞれ、ｕ(3)1＝0、ｕ(3)2＝1となる。このようにk=3まで最適化とシミュレーションの連動処理が行われ、目標値通りのｘ(４)＝[0  0  0  １]が 確定される。
【００７９】
先に述べたように、この場合、目標ステップに目標状態に達するように全製品を処理することができる。図６の例は、装置１で製品を処理し、目標ステップに目標状態に達する最適スケジュールの作成を実現しているものである。
【００８０】
図６において、横軸の１〜４の数字は、図５に示した各プレースの番号を示す。また、縦軸の０〜４の数字は、処理時間ステップを示す。
図６のステップ０は初期状態を示し、この状態では原料置場の投入プレースp1に１個のトークンが置かれる。この初期状態において単体で発火可能なトランジションはt1 である。
【００８１】
以上述べたように、本第２の実施の形態の方法では、製造プロセスのペトリネットモデルと最適制御理論や数理計画法とを組み合わせることによりスケジュール作成が可能となる。その際、大規模で複雑なプロセスをモデル化して人の経験あるいは判断を一つ一つプログラム化する従来法に比べ、生産・物流スケジュールシステムの構築を格段に容易に行うことができる。
【００８２】
また、本第２の実施の形態では、状態方程式(1) の他に、ペトリネットモデルの各トランジションt1、t2 が実際に発火可能な条件式(4) と、ペトリネットモデル中の矢印の方向を表す条件式(5) とを導入し、これらの条件（最も基本的な物流制約式である）のもとで最適解を求めるようにしたので、すぐ上流のプレース内にトークンがなく本来は発火できないトランジションが発火可能であると誤って計算されたり、マイナスの値の操作量に基づきトランジションが発火してペトリネットモデルの矢印の方向とは逆の方向にトークンが流れてしまうといった不都合を防止することができる。
【００８３】
（第３の実施の形態）
次に、本発明の第３の実施の形態について図面を参照しながら説明する。
上述した第２の実施の形態と同様に、図７は、異なる複数の工程で複数の製品を処理して製造するプロセスのモデルを示す図である。図７に示すように、複数の製品は全工程で処理される。すなわち、輸送１〜３、処理１〜３、装入１及び２等で処理される。また、この例では処理の途中に置場２を設けた例を示している。ここで扱う複数の製品は、単一品種であることを想定している。
【００８４】
例えば、図７では、原料が置場１に蓄えられた後、輸送１において上記原料に対して輸送の処理が行われ、輸送された製品が処理１に置かれる。なお、矢印は製品の流れを示し、矢印に付した数字は製品の搬送可能容量を示す（常に１個とする）。
【００８５】
ここで、輸送１での処理時間は３単位時間であり（単位時間は離散きざみ時間ΔＴのことであり、例えば５分に設定される）、輸送１における製品の容量は１個である。なお、置場１、置場３には製品の容量制限はない。
【００８６】
このような物流モデルにおいて、全ての製品を設定された目標時刻までに製造するための最適なスケジュールを作る問題を考える。そのための第１段階として、上記物流モデルに基づくペトリネットモデルを構築する。
【００８７】
上述した第２の実施の形態と同様に、図８は、図７に示した製造プロセスに本第３の実施の形態を適用した場合に得られるペトリネットモデルを示したものである。なお、説明の便宜上、ペトリネットモデルでは、例えば輸送１では、処理時間に比例した数のプレースで表しているが、実際にはこの図８に示すように、ペトリネットモデルは輸送１の工程を処理時間を離散きざみ時間ΔＴで除して得られるきざみ時間遅れを有する１個のプレースで表している。
【００８８】
図９は、本第３の実施の形態によるスケジュール作成結果の例を示す図である。なお、ここでは、計画立案の最終時刻をN=１７０とし、初期状態量ｘ(0) 、目標状態量ｘr (k) 、評価ベクトルｑ(k) ，ｒ(k) は以下の通りとする。
ｘ(0)   ＝[4 0 ……  0 0 ] T
ｘr (k) ＝[0 0  ……  0 1 ] T ,(k=0〜81)
＝[0 0  ……  0 2 ] T ,(k=82〜93)
＝[0 0  ……  0 3 ] T ,(k=94〜145)
＝[0 0  ……  0 4 ] T ,(k=145〜160)
ｑ(k) ＝[1 2 4 6 8 10 12 14 16 18 1000] T ,(k=1,…,N)
ｒ(k)   ＝[1  … 1] T ,(k=0,…,N-1)
ただし、右肩のＴは転置ベクトルであることを表す。
【００８９】
図９の例は、全工程で製品を処理し、処理時間をより短くする最適スケジュールの作成を実現しているものである。第１回目の計算で、ｋ＝０から９３までを計算し、ｋ＝０から１２までを確定し、第２回目の計算で、ｋ＝１２から１４５までを計算し、ｋ＝１３から２４までを確定し、第３回目の計算で、ｋ＝２４から１５６までを計算し、ｋ＝２５から７５までを確定し、第４回目の計算で、ｋ＝７５から１７０までを計算し、ｋ＝７５から１５６までを確定した。
【００９０】
また、図９において、横軸の数字は、ステップ数を示す。また、縦軸は、各工程を示す。
【００９１】
以上述べたように、本第３の実施の形態では、大規模な製造プロセスのペトリネットモデルと最適制御理論や数理計画法とを組み合わせることによりスケジュール作成が可能となる。その際、大規模で複雑なプロセスをモデル化して人の経験あるいは判断を一つ一つプログラム化する従来法に比べ、生産・物流スケジュールシステムの構築を格段に容易に行うことができる。
【００９２】
また、本第３の実施の形態では、状態方程式(1) の他に、ペトリネットモデルの各トランジションt1、t2 が実際に発火可能な条件式(4) と、ペトリネットモデル中の矢印の方向を表す条件式(5) とを導入し、これらの条件（最も基本的な物流制約式である）のもとで最適解を求めるようにしたので、すぐ上流のプレース内にトークンがなく本来は発火できないトランジションが発火可能であると誤って計算されたり、マイナスの値の操作量に基づきトランジションが発火してペトリネットモデルの矢印の方向とは逆の方向にトークンが流れてしまうといった不都合を防止することができる。
【００９３】
図１０は、上述した生産・物流スケジュール作成装置を作成可能なコンピュータシステムの一例を示すブロック図である。
図６において、１２００はコンピュータＰＣである。ＰＣ１２００は、ＣＰＵ１２０１を備え、ＲＯＭ１２０２またはハードディスク（ＨＤ）１２１１に記憶された、あるいはフレキシブルディスクドライブ（ＦＤ）１２１２より供給されるデバイス制御ソフトウェアを実行し、システムバス１２０４に接続される各デバイスを総括的に制御する。
【００９４】
上記ＰＣ１２００のＣＰＵ１２０１，ＲＯＭ１２０２またはハードディスク（ＨＤ）１２１１に記憶されたプログラムにより、本実施の形態の各機能手段が構成される。
【００９５】
１２０３はＲＡＭで、ＣＰＵ１２０１の主メモリ、ワークエリア等として機能する。１２０５はキーボードコントローラ（ＫＢＣ）であり、キーボード（ＫＢ）１２０９から入力される信号をシステム本体内に入力する制御を行う。１２０６は表示コントローラ（ＣＲＴＣ）であり、表示装置（ＣＲＴ）１２１０上の表示制御を行う。１２０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム（起動プログラム：パソコンのハードやソフトの実行（動作）を開始するプログラム）、複数のアプリケーション、編集ファイル、ユーザファイルそしてネットワーク管理プログラム等を記憶するハードディスク（ＨＤ）１２１１、及びフレキシブルディスク（ＦＤ）１２１２とのアクセスを制御する。
【００９６】
１２０８はネットワークインタフェースカード（ＮＩＣ）で、ＬＡＮ１２２０を介して、ネットワークプリンタ、他のネットワーク機器、あるいは他のＰＣと双方向のデータのやり取りを行う。
【００９７】
なお、本発明は複数の機器から構成されるシステムに適用しても、一つの機器からなる装置に適用してもよい。
【００９８】
また、本発明の目的は前述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００９９】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１００】
プログラムコードを供給するための記憶媒体としては、例えばフレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１０１】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１０２】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１０３】
【図１】本発明の第１の実施の形態を示し、生産・物流スケジュール作成装置の概略構成を説明するブロック図である。
【図２】本発明を適用した具体例を示し、生産・物流計画作成手順を説明する図である。
【図３】本発明の第２の実施形態を示し、遷移行列Aと接続行列Bを算出するための処理手順の例を示すフローチャートである。
【図４】本発明の第２の実施の形態の異なる複数の工程で複数の製品を処理して製造するプロセスの簡単なモデルを示す図である。
【図５】本発明の第２の実施の形態の図４に示した製造プロセスのペトリネットモデルを示す図である。
【図６】本発明の第２の実施の形態のスケジュール作成結果を示す図である。
【図７】本発明の第３の実施の形態の異なる複数の工程で複数の製品を処理して製造するプロセスの簡単なモデルを示す図である。
【図８】本発明の第３の実施の形態の図７に示した製造プロセスのペトリネットモデルを示す図である。
【図９】本発明の第３の実施の形態のスケジュール作成結果を示す図である。
【図１０】本発明の生産・物流スケジュール作成装置を構成可能なコンピュータシステムの一例を示すブロック図である。
【符号の説明】
【０１０４】
３１０  物流シミュレータ
３２０  数式モデル保持装置
３２１  状態方程式と物流制約式を用いた数式モデル
３３０  最適化計算装置
３５０  シミュレーション結果
Ｓ  評価関数
【図１】
2006072851.tif 000007
【図２】
2006072851.tif 000008
【図３】
2006072851.tif 000009
【図４】
2006072851.tif 000010
【図５】
2006072851.tif 000011
【図６】
2006072851.tif 000012
【図７】
2006072851.tif 000013
【図８】
2006072851.tif 000014
【図９】
2006072851.tif 000015
【図１０】
2006072851.tif 000016