(57)【特許請求の範囲】
【請求項１】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、前記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有し、
上記生産・物流シミュレータの時刻管理部が、上記最適化計算装置によって得られた物流指示と、該物流指示を与える前の前記物流状態及び物流制約と、を上記生産・物流シミュレータに与えてシミュレーションを実行させて、該物流指示による変化後の状態である新たな物流状態と物流制約とを得るという処理と、該新たな物流状態に対して上記生産・物流シミュレータから上記最適化計算装置に対して最適化計算を行うようにする指示を出力するという処理とを予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から、上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにしたことを特徴とする生産・物流スケジュール作成装置。
【請求項２】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である状態方程式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有し、
上記最適化計算処理により、
物流状態である状態ベクトルに掛け合わせることによって物流指示である操作ベクトルとなる値であるフィードバックゲインを算出し、
次に、上記算出したフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出して上記生産・物流シミュレータに与えて、シミュレーションを進め、新たな状態ベクトルを得て、この新たな状態ベクトルをもとに新たな操作ベクトルを算出するという処理を、予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにしたことを特徴とする生産・物流スケジュール作成装置。
【請求項３】
上記離散系の生産・物流シミュレータはグラフモデルを用いてシミュレータを構築するものであり、上記状態方程式はグラフモデルの状態方程式であることを特徴とする請求項２に記載の生産・物流スケジュール作成装置。
【請求項４】
上記最適化計算処理によりフィードバックゲインを算出し、そのフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出する場合に、フィードバックゲインと工程内製品仕掛状態を表わす状態ベクトルとから、製品の移動操作端に対する操作ベクトルを求めたのち、各移動操作端に対して、上記求めた操作ベクトルの中で正値の大きい操作量が得られる製品順に各製品を移動可能な数だけ、即ち上記生産・物流シミュレータによるシミュレーション上の制約にかかるまで移動させるように操作することを特徴とする請求項３に記載の生産・物流スケジュール作成装置。
【請求項５】
上記離散系の生産・物流シミュレータはグラフモデルを用いてシミュレータを構築するものであり、上記状態方程式は処理時間に比例したきざみ時間遅れに従って表わされる接続行列と遷移行列とを用いた状態方程式であることを特徴とする請求項２に記載の生産・物流スケジュール作成装置。
【請求項６】
上記最適化計算処理によりフィードバックゲインを算出し、そのフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出する場合に、フィードバックゲインと工程内製品仕掛状態を表わす状態ベクトルとから、製品の移動操作端に対する操作ベクトルを求めたのち、各移動操作端に対して、上記求めた操作ベクトルの中で正値の大きい操作量が得られる製品順に各製品を移動可能な数だけ、即ち上記生産・物流シミュレータによるシミュレーション上の制約にかかるまで移動させるように操作することを特徴とする請求項５に記載の生産・物流スケジュール作成装置。
【請求項７】
上記離散系の生産・物流シミュレータはペトリネットモデルを用いてシミュレータを構築するものであり、上記状態方程式はペトリネットモデルの状態方程式であることを特徴とする請求項２に記載の生産・物流スケジュール作成装置。
【請求項８】
上記最適化計算処理によりフィードバックゲインを算出し、そのフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出する場合に、フィードバックゲインと工程内製品仕掛状態を表わす状態ベクトルとから、製品の移動操作端に対する操作ベクトルを求めたのち、各移動操作端に対して、上記求めた操作ベクトルの中で正値の大きい操作量が得られる製品順に各製品を移動可能な数だけ、即ち上記生産・物流シミュレータによるシミュレーション上の制約にかかるまで移動させるように操作することを特徴とする請求項７に記載の生産・物流スケジュール作成装置。
【請求項９】
上記離散系の生産・物流シミュレータはペトリネットモデルを用いてシミュレータを構築するものであり、上記状態方程式は処理時間に比例したきざみ時間遅れに従って表わされる接続行列と遷移行列とを用いた状態方程式であることを特徴とする請求項２に記載の生産・物流スケジュール作成装置。
【請求項１０】
上記最適化計算処理によりフィードバックゲインを算出し、そのフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出する場合に、フィードバックゲインと工程内製品仕掛状態を表わす状態ベクトルとから、製品の移動操作端に対する操作ベクトルを求めたのち、各移動操作端に対して、上記求めた操作ベクトルの中で正値の大きい操作量が得られる製品順に各製品を移動可能な数だけ、即ち上記生産・物流シミュレータによるシミュレーション上の制約にかかるまで移動させるように操作することを特徴とする請求項９に記載の生産・物流スケジュール作成装置。
【請求項１１】
上記最適化計算処理は線形二次制御を利用するものであり、所定の評価行列を用いて表わされる評価関数を最小とするように前記フィードバックゲインを算出することを特徴とする請求項２に記載の生産・物流スケジュール作成装置。
【請求項１２】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、上記生産・物流プロセスの立案開始時間から予め設定した期間（以下、「計画作成期間」という。）分を対象として、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有し、
上記最適化計算処理により現時点から予め設定した期間（以下、「指示算出期間」という。）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（以下、「シミュレーション期間」という。）分だけシミュレーションを実行して予め設定した期間（以下、「計画確定期間」という。）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を上記計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにしたことを特徴とする生産・物流スケジュール作成装置。
【請求項１３】
上記離散系の生産・物流シミュレータは、上記生産・物流プロセスを離散事象モデルで表したシミュレータであり、物流指示が必要な事象が発生したときに上記シミュレータから現在の物流状態及び物流制約を検出することを特徴とする請求項１２に記載の生産・物流スケジュール作成装置。
【請求項１４】
上記立案開始時間から予め設定した期間は、あらかじめ設定された対象期間分であることを特徴とする請求項１２に記載の生産・物流スケジュール作成装置。
【請求項１５】
上記立案開始時間から予め設定した期間は、将来の物流状態の予測範囲として、上記事象発生の時刻から所定の区切られた範囲で設定された期間であることを特徴とする請求項１３に記載の生産・物流スケジュール作成装置。
【請求項１６】
上記着目している物流のスケジュールを作成するのに係わる情報を取り込んで作成された数式モデルは、製品、移動体、設備の処理に伴う作業群の関係、制約に対して構築されることを特徴とする請求項１２に記載の生産・物流スケジュール作成装置。
【請求項１７】
上記着目している物流のスケジュールを作成するのに係わる情報を取り込んで作成された数式モデルは、上記検出した現在の物流状態及び物流制約で成る数式モデルであることを特徴とする請求項１３に記載の生産・物流スケジュール作成装置。
【請求項１８】
上記最適化計算装置は、あらかじめ設定した評価関数を用いて最適化計算処理を行うことを特徴とする請求項１２に記載の生産・物流スケジュール作成装置。
【請求項１９】
上記最適化計算装置は、あらかじめ設定した線形の評価関数を用いて最適化計算処理を行うことを特徴とする請求項１２に記載の生産・物流スケジュール作成装置。
【請求項２０】
上記最適化計算装置は、最適化或いは準最適化問題として上記生産・物流スケジュールを作成することを特徴とする請求項１２に記載の生産・物流スケジュール作成装置。
【請求項２１】
上記最適化計算装置は、上記設定した予測範囲内で少なくとも最適な発生事象及びその発生時刻を求めることを特徴とする請求項１２に記載の生産・物流スケジュール作成装置。
【請求項２２】
上記最適化計算装置の計算結果に基づいて、上記製品、移動体、設備の処理に伴う作業群の関係、制約の全部或いは一部動作・状況をシミュレートする生産・物流シミュレート処理と、
上記生産・物流シミュレート処理により求めた生産・物流計画の内で計画をあらかじめ設定した確定期間分だけ採用して確定する生産・物流計画確定処理とを行って上記計画確定期間分だけ物流計画を確定することを特徴とする請求項１２に記載の生産・物流スケジュール作成装置。
【請求項２３】
上記生産・物流シミュレータがシミュレーションを進めて、上記計画作成期間分だけ物流計画を確定することを特徴とする請求項１２に記載の生産・物流スケジュール作成装置。
【請求項２４】
上記事象の発生事象から将来の予測範囲を区切って最適化計算を行い、その結果を上記シミュレータに供給して事象発生時刻を進める処理を事象発生毎に繰り返し行い、この繰り返し演算の結果から上記予測範囲毎に求めた一連の事象発生順及びその事象発生時刻を生産・物流スケジュールとして決定することを特徴とする請求項１３に記載の生産・物流スケジュール作成装置。
【請求項２５】
上記生産・物流計画確定処理により確定した生産・物流計画の確定期間が経過した直後の日時を新たな立案開始日時として設定し、上記生産・物流計画確定処理により既に確定した生産・物流計画に基づき上記数式モデルを構築する処理により構築した新たな数式モデルに基づいて、数式モデルに対する解を求める数式モデル求解処理と、
上記数式モデル求解処理により求めた数式モデルに対する解に基づいて製造プロセス・搬送の動作・状況をシミュレートする生産・物流シミュレート処理と、
上記生産・物流シミュレート処理により求めた生産・物流計画のうち、あらかじめ設定した確定期間分の生産・物流計画だけを採用して生産・物流計画を確定する生産・物流計画確定処理とにより、上記新たな立案開始日時から新たな確定期間分の生産・物流計画を確定する一連の処理を、順次設定する新たな立案開始日時についてそれぞれ行うことを特徴とする請求項２２に記載の生産・物流スケジュール作成装置。
【請求項２６】
上記離散系の生産・物流シミュレータは、ペトリネットモデルを使用して構成されていることを特徴とする請求項１２に記載の生産・物流スケジュール作成装置。
【請求項２７】
上記最適化計算装置は、ＬＰ、即ち線形計画法を使用することを特徴とする請求項１２に記載の生産・物流スケジュール作成装置。
【請求項２８】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、前記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有する生産・物流スケジュール作成装置により生産・物流スケジュールを作成する方法であって、
上記生産・物流シミュレータの時刻管理部が、上記最適化計算装置によって得られた物流指示と、該物流指示を与える前の前記物流状態及び物流制約と、を上記生産・物流シミュレータに与えてシミュレーションを実行させて、該物流指示による変化後の状態である新たな物流状態と物流制約とを得るという処理と、該新たな物流状態に対して上記生産・物流シミュレータから上記最適化計算装置に対して最適化計算を行うようにする指示を出力するという処理とを予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から、上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにしたことを特徴とする生産・物流スケジュール作成方法。
【請求項２９】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である状態方程式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有する生産・物流スケジュール作成装置により生産・物流スケジュールを作成する方法であって、
上記最適化計算処理により、
物流状態である状態ベクトルに掛け合わせることによって物流指示である操作ベクトルとなる値であるフィードバックゲインを算出し、
次に、上記算出したフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出して上記生産・物流シミュレータに与えて、シミュレーションを進め、新たな状態ベクトルを得て、この新たな状態ベクトルをもとに新たな操作ベクトルを算出するという処理を、予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにしたことを特徴とする生産・物流スケジュール作成方法。
【請求項３０】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、上記生産・物流プロセスの立案開始時間から予め設定した期間（以下、「計画作成期間」という。）分を対象として、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有する生産・物流スケジュール作成装置により生産・物流スケジュールを作成する方法であって、
上記最適化計算処理により現時点から予め設定した期間（以下、「指示算出期間」という。）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（以下、「シミュレーション期間」という。）分だけシミュレーションを実行して予め設定した期間（以下、「計画確定期間」という。）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を上記計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにしたことを特徴とする生産・物流スケジュール作成方法。
【請求項３１】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、前記工程での処理の指示である物流指示を算出して出力する最適化計算装置としての機能をコンピュータに実現させ、
上記生産・物流シミュレータの時刻管理部が、上記最適化計算装置によって得られた物流指示と、該物流指示を与える前の前記物流状態及び物流制約と、を上記生産・物流シミュレータに与えてシミュレーションを実行させて、該物流指示による変化後の状態である新たな物流状態と物流制約とを得るという処理と、該新たな物流状態に対して上記生産・物流シミュレータから上記最適化計算装置に対して最適化計算を行うようにする指示を出力するという処理とを予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から、上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにしたことを特徴とするコンピュータプログラム。
【請求項３２】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、前記工程での処理の指示である物流指示を算出して出力する最適化計算装置としての機能をコンピュータに実現させ、
上記生産・物流シミュレータの時刻管理部が、上記最適化計算装置によって得られた物流指示と、該物流指示を与える前の前記物流状態及び物流制約と、を上記生産・物流シミュレータに与えてシミュレーションを実行させて、該物流指示による変化後の状態である新たな物流状態と物流制約とを得るという処理と、該新たな物流状態に対して上記生産・物流シミュレータから上記最適化計算装置に対して最適化計算を行うようにする指示を出力するという処理とを予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から、上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにしたコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項３３】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である状態方程式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置としての機能をコンピュータに実現させ、
上記最適化計算処理により、
物流状態である状態ベクトルに掛け合わせることによって物流指示である操作ベクトルとなる値であるフィードバックゲインを算出し、
次に、上記算出したフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出して上記生産・物流シミュレータに与えて、シミュレーションを進め、新たな状態ベクトルを得て、この新たな状態ベクトルをもとに新たな操作ベクトルを算出するという処理を、予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにしたことを特徴とするコンピュータプログラム。
【請求項３４】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である状態方程式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置としての機能をコンピュータに実現させ、
上記最適化計算処理により、
物流状態である状態ベクトルに掛け合わせることによって物流指示である操作ベクトルとなる値であるフィードバックゲインを算出し、
次に、上記算出したフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出して上記生産・物流シミュレータに与えて、シミュレーションを進め、新たな状態ベクトルを得て、この新たな状態ベクトルをもとに新たな操作ベクトルを算出するという処理を、予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにしたコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項３５】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、上記生産・物流プロセスの立案開始時間から予め設定した期間（以下、「計画作成期間」という。）分を対象として、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置としての機能をコンピュータに実現させ、
上記最適化計算処理により現時点から予め設定した期間（以下、「指示算出期間」という。）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（以下、「シミュレーション期間」という。）分だけシミュレーションを実行して予め設定した期間（以下、「計画確定期間」という。）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を上記計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにしたことを特徴とするコンピュータプログラム。
【請求項３６】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、上記生産・物流プロセスの立案開始時間から予め設定した期間（以下、「計画作成期間」という。）分を対象として、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置としての機能をコンピュータに実現させ、
上記最適化計算処理により現時点から予め設定した期間（以下、「指示算出期間」という。）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（以下、「シミュレーション期間」という。）分だけシミュレーションを実行して予め設定した期間（以下、「計画確定期間」という。）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を上記計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにしたコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項３７】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である状態方程式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有し、
上記最適化計算処理により、
物流状態である状態ベクトルに掛け合わせることによって物流指示である操作ベクトルとなる値であるフィードバックゲインを算出し、
次に、上記算出したフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出して上記生産・物流シミュレータに与えて、シミュレーションを進め、新たな状態ベクトルを得て、この新たな状態ベクトルをもとに新たな操作ベクトルを算出するという処理を、予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態に基づいて生産・物流プロセスの制御を行うことを特徴とする生産・物流プロセス制御装置。
【請求項３８】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、上記生産・物流プロセスの立案開始時間から予め設定した期間（以下、「計画作成期間」という。）分を対象として、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有し、
上記最適化計算処理により現時点から予め設定した期間（以下、「指示算出期間」という。）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（以下、「シミュレーション期間」という。）分だけシミュレーションを実行して予め設定した期間（以下、「計画確定期間」という。）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を上記計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態に基づいて生産・物流プロセスの物流制御を行うようにしたことを特徴とする生産・物流プロセス制御装置。
【請求項３９】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である状態方程式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有する生産・物流プロセス制御装置により生産・物流プロセスを制御する方法であって、
上記最適化計算処理により、
物流状態である状態ベクトルに掛け合わせることによって物流指示である操作ベクトルとなる値であるフィードバックゲインを算出し、
次に、上記算出したフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出して上記生産・物流シミュレータに与えて、シミュレーションを進め、新たな状態ベクトルを得て、この新たな状態ベクトルをもとに新たな操作ベクトルを算出するという処理を、予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態に基づいて生産・物流プロセスの制御を行うようにしたことを特徴とする生産・物流プロセス制御方法。
【請求項４０】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、上記生産・物流プロセスの立案開始時間から予め設定した期間（以下、「計画作成期間」という。）分を対象として、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有する生産・物流プロセス制御装置を用いた生産・物流プロセス制御方法であって、
上記最適化計算処理により現時点から予め設定した期間（以下、「指示算出期間」という。）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（以下、「シミュレーション期間」という。）分だけシミュレーションを実行して予め設定した期間（以下、「計画確定期間」という。）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を上記計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態に基づいて生産・物流プロセスの物流制御を行うようにしたことを特徴とする生産・物流プロセス制御方法。
【請求項４１】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である状態方程式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置としての機能をコンピュータに実現させ、
上記最適化計算処理により、
物流状態である状態ベクトルに掛け合わせることによって物流指示である操作ベクトルとなる値であるフィードバックゲインを算出し、
次に、上記算出したフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出して上記生産・物流シミュレータに与えて、シミュレーションを進め、新たな状態ベクトルを得て、この新たな状態ベクトルをもとに新たな操作ベクトルを算出するという処理を、予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態に基づいて生産・物流プロセスの制御を行うようにしたことを特徴とするコンピュータプログラム。
【請求項４２】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である状態方程式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置としての機能をコンピュータに実現させ、
上記最適化計算処理により、
物流状態である状態ベクトルに掛け合わせることによって物流指示である操作ベクトルとなる値であるフィードバックゲインを算出し、
次に、上記算出したフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出して上記生産・物流シミュレータに与えて、シミュレーションを進め、新たな状態ベクトルを得て、この新たな状態ベクトルをもとに新たな操作ベクトルを算出するという処理を、予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態に基づいて生産・物流プロセスの制御を行うようにしたコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項４３】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、上記生産・物流プロセスの立案開始時間から予め設定した期間（以下、「計画作成期間」という。）分を対象として、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置としての機能をコンピュータに実現させ、
上記最適化計算処理により現時点から予め設定した期間（以下、「指示算出期間」という。）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（以下、「シミュレーション期間」という。）分だけシミュレーションを実行して予め設定した期間（以下、「計画確定期間」という。）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を上記計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態に基づいて生産・物流プロセスの物流制御を行うようにしたことを特徴とするコンピュータプログラム。
【請求項４４】
生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、上記生産・物流プロセスの立案開始時間から予め設定した期間（以下、「計画作成期間」という。）分を対象として、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置としての機能をコンピュータに実現させ、
上記最適化計算処理により現時点から予め設定した期間（以下、「指示算出期間」という。）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（以下、「シミュレーション期間」という。）分だけシミュレーションを実行して予め設定した期間（以下、「計画確定期間」という。）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を上記計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態に基づいて生産・物流プロセスの物流制御を行うようにしたコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は生産・物流スケジュール作成装置及び方法、生産・物流プロセス制御装置及び方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体に関し、特に、操作者の熟練度に依存することなく対象システムのスケジュールを正確に作成するような場合に用いて好適なものである。
【背景技術】
【０００２】
従来、見込み生産を行わない受注生産の形態では、受注した品目を製造オーダーに分割し、納期遵守率や設備稼働率、中間在庫量、コスト等の観点を考慮して生産・物流スケジュールを作成している。上記生産・物流スケジュールを作成する手法として、技術的に大別すると２つの手法が用いられている。【０００３】
すなわち、第１の手法としては、例えば、特許文献１の「生産計画評価方法及びシステム」に開示されているように、コンピュータ上に構築した工場を模したシミュレーション上で、実機器と同じインタフェースから取得した情報を使用して実機器の稼動を予測し、稼動予測に基づいて、実機器より速い速度で仮想的な生産を行い、仮想的な生産の過程及び結果を用いて、精度の高い指標を提示することによって、生産計画の評価及び選択を可能にする手法である。【０００４】
また、第２の手法としては、特許文献２の「物流計画作成装置」にて開示されているように、線形計画法、数理計画法等のように、最適性が保証される手法に基づいてスケジュールを作成する手法である。【０００５】
特許文献１に記載の「生産計画評価方法及びシステム」に開示されているように、シミュレータを用いて生産・物流スケジュールを作成する手法は、満足できる結果が得られるまでには、（１）条件を種々に変えながらシミュレーションを行い、その結果の評価を何回も繰返し行う必要があった。したがって、（２）大規模工場では生産・物流スケジュールを作成するのに多くの時間がかかってしまう問題点があった。また、（３）高精度な生産・物流スケジュールを得るためには、シミュレーション・ルールを細かく設定しなければならない問題点があった。【０００６】
また、特許文献２の「物流計画作成装置」にて開示されているように、線形計画法、数理計画法等のように、最適性が保証される手法に基づいてスケジュールを作成する手法の場合には、（１）生産・物流スケジュールを作成する規模が大きくなると、実用的な時間内に解くことが困難になってしまう問題点があった。また、（２）数式で記述できない制約や条件に起因する誤差が生じるため、得られた生産・物流スケジュールが実行可能であるかどうかは保証されていなかった。【０００７】
本発明は上述の問題点にかんがみ、シミュレーションを繰り返し行うことなく最適な生産・物流シミュレーション結果を得ることができるようにして、スケジュール作成対象の生産・物流プロセスで実際に使用可能であることが保証された生産・物流スケジュールを高速に、且つ高精度に作成できるようにすることを目的とする。【０００８】
【特許文献１】特開２００２−３６６２１９号公報
【特許文献２】特開２０００−１７２７４５号公報
【発明の開示】
【０００９】
本発明による生産・物流スケジュール作成装置は、生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、前記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有し、
上記生産・物流シミュレータの時刻管理部が、上記最適化計算装置によって得られた物流指示と、該物流指示を与える前の前記物流状態及び物流制約と、を上記生産・物流シミュレータに与えてシミュレーションを実行させて、該物流指示による変化後の状態である新たな物流状態と物流制約とを得るという処理と、該新たな物流状態に対して上記生産・物流シミュレータから上記最適化計算装置に対して最適化計算を行うようにする指示を出力するという処理とを予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から、上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにした点に特徴を有する。
本発明による他の生産・物流スケジュール作成装置は、生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である状態方程式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有し、
上記最適化計算処理により、
物流状態である状態ベクトルに掛け合わせることによって物流指示である操作ベクトルとなる値であるフィードバックゲインを算出し、
次に、上記算出したフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出して上記生産・物流シミュレータに与えて、シミュレーションを進め、新たな状態ベクトルを得て、この新たな状態ベクトルをもとに新たな操作ベクトルを算出するという処理を、予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにした点に特徴を有する。
本発明による他の生産・物流スケジュール作成装置は、生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、上記生産・物流プロセスの立案開始時間から予め設定した期間（以下、「計画作成期間」という。）分を対象として、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有し、
上記最適化計算処理により現時点から予め設定した期間（以下、「指示算出期間」という。）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（以下、「シミュレーション期間」という。）分だけシミュレーションを実行して予め設定した期間（以下、「計画確定期間」という。）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を上記計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにした点に特徴を有する。
本発明による生産・物流スケジュール作成方法は、生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、前記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有する生産・物流スケジュール作成装置により生産・物流スケジュールを作成する方法であって、
上記生産・物流シミュレータの時刻管理部が、上記最適化計算装置によって得られた物流指示と、該物流指示を与える前の前記物流状態及び物流制約と、を上記生産・物流シミュレータに与えてシミュレーションを実行させて、該物流指示による変化後の状態である新たな物流状態と物流制約とを得るという処理と、該新たな物流状態に対して上記生産・物流シミュレータから上記最適化計算装置に対して最適化計算を行うようにする指示を出力するという処理とを予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から、上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにした点に特徴を有する。
本発明による他の生産・物流スケジュール作成方法は、生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である状態方程式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有する生産・物流スケジュール作成装置により生産・物流スケジュールを作成する方法であって、
上記最適化計算処理により、
物流状態である状態ベクトルに掛け合わせることによって物流指示である操作ベクトルとなる値であるフィードバックゲインを算出し、
次に、上記算出したフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出して上記生産・物流シミュレータに与えて、シミュレーションを進め、新たな状態ベクトルを得て、この新たな状態ベクトルをもとに新たな操作ベクトルを算出するという処理を、予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにした点に特徴を有する。
本発明による他の生産・物流スケジュール作成方法は、生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、上記生産・物流プロセスの立案開始時間から予め設定した期間（以下、「計画作成期間」という。）分を対象として、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有する生産・物流スケジュール作成装置により生産・物流スケジュールを作成する方法であって、
上記最適化計算処理により現時点から予め設定した期間（以下、「指示算出期間」という。）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（以下、「シミュレーション期間」という。）分だけシミュレーションを実行して予め設定した期間（以下、「計画確定期間」という。）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を上記計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにした点に特徴を有する。
本発明によるコンピュータプログラムは、生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、前記工程での処理の指示である物流指示を算出して出力する最適化計算装置としての機能をコンピュータに実現させ、
上記生産・物流シミュレータの時刻管理部が、上記最適化計算装置によって得られた物流指示と、該物流指示を与える前の前記物流状態及び物流制約と、を上記生産・物流シミュレータに与えてシミュレーションを実行させて、該物流指示による変化後の状態である新たな物流状態と物流制約とを得るという処理と、該新たな物流状態に対して上記生産・物流シミュレータから上記最適化計算装置に対して最適化計算を行うようにする指示を出力するという処理とを予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から、上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにした点に特徴を有する。
本発明による他のコンピュータプログラムは、生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である状態方程式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置としての機能をコンピュータに実現させ、
上記最適化計算処理により、
物流状態である状態ベクトルに掛け合わせることによって物流指示である操作ベクトルとなる値であるフィードバックゲインを算出し、
次に、上記算出したフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出して上記生産・物流シミュレータに与えて、シミュレーションを進め、新たな状態ベクトルを得て、この新たな状態ベクトルをもとに新たな操作ベクトルを算出するという処理を、予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにした点に特徴を有する。
本発明による他のコンピュータプログラムは、生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、上記生産・物流プロセスの立案開始時間から予め設定した期間（以下、「計画作成期間」という。）分を対象として、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置としての機能をコンピュータに実現させ、
上記最適化計算処理により現時点から予め設定した期間（以下、「指示算出期間」という。）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（以下、「シミュレーション期間」という。）分だけシミュレーションを実行して予め設定した期間（以下、「計画確定期間」という。）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を上記計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態から上記生産・物流プロセスにおける生産・物流スケジュールを作成するようにした点に特徴を有する。
本発明による生産・物流プロセス制御装置は、生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である状態方程式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有し、
上記最適化計算処理により、
物流状態である状態ベクトルに掛け合わせることによって物流指示である操作ベクトルとなる値であるフィードバックゲインを算出し、
次に、上記算出したフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出して上記生産・物流シミュレータに与えて、シミュレーションを進め、新たな状態ベクトルを得て、この新たな状態ベクトルをもとに新たな操作ベクトルを算出するという処理を、予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態に基づいて生産・物流プロセスの制御を行う点に特徴を有する。
本発明による他の生産・物流プロセス制御装置は、生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、上記生産・物流プロセスの立案開始時間から予め設定した期間（以下、「計画作成期間」という。）分を対象として、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有し、
上記最適化計算処理により現時点から予め設定した期間（以下、「指示算出期間」という。）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（以下、「シミュレーション期間」という。）分だけシミュレーションを実行して予め設定した期間（以下、「計画確定期間」という。）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を上記計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態に基づいて生産・物流プロセスの物流制御を行う点に特徴を有する。
本発明による生産・物流プロセス制御方法は、生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である状態方程式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有する生産・物流プロセス制御装置により生産・物流プロセスを制御する方法であって、
上記最適化計算処理により、
物流状態である状態ベクトルに掛け合わせることによって物流指示である操作ベクトルとなる値であるフィードバックゲインを算出し、
次に、上記算出したフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出して上記生産・物流シミュレータに与えて、シミュレーションを進め、新たな状態ベクトルを得て、この新たな状態ベクトルをもとに新たな操作ベクトルを算出するという処理を、予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態に基づいて生産・物流プロセスの制御を行うようにした点に特徴を有する。
本発明による他の生産・物流プロセス制御方法は、生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、上記生産・物流プロセスの立案開始時間から予め設定した期間（以下、「計画作成期間」という。）分を対象として、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置とを有する生産・物流プロセス制御装置を用いた生産・物流プロセス制御方法であって、
上記最適化計算処理により現時点から予め設定した期間（以下、「指示算出期間」という。）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（以下、「シミュレーション期間」という。）分だけシミュレーションを実行して予め設定した期間（以下、「計画確定期間」という。）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を上記計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態に基づいて生産・物流プロセスの物流制御を行うようにした点に特徴を有する。
本発明によるコンピュータプログラムは、生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である状態方程式を用いた数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置としての機能をコンピュータに実現させ、
上記最適化計算処理により、
物流状態である状態ベクトルに掛け合わせることによって物流指示である操作ベクトルとなる値であるフィードバックゲインを算出し、
次に、上記算出したフィードバックゲインと状態ベクトルとを用いて操作ベクトルを算出して上記生産・物流シミュレータに与えて、シミュレーションを進め、新たな状態ベクトルを得て、この新たな状態ベクトルをもとに新たな操作ベクトルを算出するという処理を、予め設定された計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態に基づいて生産・物流プロセスの制御を行うようにした点に特徴を有する。
本発明による他のコンピュータプログラムは、生産・物流プロセスの各工程での処理に関する状態である物流状態と物流制約とを表現した生産・物流プロセスを模擬する離散事象シミュレータであって、スケジュールを作成するのに考慮すべき物流状態、物流制約を全て記載した生産・物流シミュレータと、
上記生産・物流プロセスの、着目している物流のスケジュールを作成するのに係わる物流状態と物流制約とのうち、上記生産・物流プロセスの立案開始時間から予め設定した期間（以下、「計画作成期間」という。）分を対象として、スケジュール作成に影響が大きい重要な部分のみを数式で表現した数式モデルであって、物流状態の変化を制約する数式である数式モデルを保持する数式モデル保持装置と、
上記数式モデルと所定の評価関数とを入力して最適化計算処理を行って上記生産・物流シミュレータに対する、上記工程での処理の指示である物流指示を算出して出力する最適化計算装置としての機能をコンピュータに実現させ、
上記最適化計算処理により現時点から予め設定した期間（以下、「指示算出期間」という。）分について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（以下、「シミュレーション期間」という。）分だけシミュレーションを実行して予め設定した期間（以下、「計画確定期間」という。）分だけ物流計画を確定し、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案するという処理を上記計画作成期間だけ繰り返すことにより得られたシミュレーション結果、即ち該計画作成期間における一連の物流状態に基づいて生産・物流プロセスの物流制御を行うようにした点に特徴を有する。
本発明によるコンピュータ読み取り可能な記録媒体は、本発明によるコンピュータプログラムを記録した点に特徴を有する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の第１の実施形態を示し、生産・物流スケジュール作成装置の概略構成を説明するブロック図である。
【図２】図２は、本発明の第２の実施形態を示し、生産・物流スケジュール作成装置の概略構成を説明するブロック図である。
【図３】図３は、第２の実施形態における生産・物流スケジュール作成の処理手順を示すフローチャートである。
【図４】図４は、モデル構築の処理手順を示すフローチャートである。
【図５】図５は、制御則構築の処理手順を示すフローチャートである。
【図６】図６は、シミュレーションの処理手順を示すフローチャートである。
【図７】図７は、本発明の第３の実施形態を示し、生産・物流スケジュール作成装置の概略構成を説明するブロック図である。
【図８】図８は、本発明を適用した具体例を示し、生産・物流計画作成手順を説明する図である。
【図９】図９は、第４の実施形態における生産・物流スケジュール作成の処理手順を示すフローチャートである。
【図１０】図１０は、モデル構築の処理手順を示すフローチャートである。
【図１１】図１１は、制御則構築の処理手順を示すフローチャートである。
【図１２】図１２は、シミュレーションの処理手順を示すフローチャートである。
【図１３】図１３は、ペトリネットモデルの例を示す図である。
【図１４】図１４は、第５の実施形態における生産・物流スケジュール作成の処理手順を示すフローチャートである。
【図１５】図１５は、モデル構築の処理手順を示すフローチャートである。
【図１６】図１６は、制御則構築の処理手順を示すフローチャートである。
【図１７】図１７は、シミュレーションの処理手順を示すフローチャートである。
【図１８】図１８は、第６の実施形態における生産・物流スケジュール作成の処理手順を示すフローチャートである。
【図１９】図１９は、モデル構築の処理手順を示すフローチャートである。
【図２０】図２０は、制御則構築の処理手順を示すフローチャートである。
【図２１】図２１は、シミュレーションの処理手順を示すフローチャートである。
【図２２】図２２は、ペトリネットモデルの例を示す図である。
【図２３】図２３は、ペトリネットモデルの例を示す図である。
【図２４】図２４は、製品種No.1に対するペトリネットモデルの例を示す図である。
【図２５】図２５は、第８の実施の形態を示し、製造プロセスにおける生産・物流スケジュール作成装置の要部構成を示すブロック図である。
【図２６】図２６は、生産・物流スケジュール作成装置によって行われる動作（本実施の形態による生産・物流スケジュール作成方法）を説明するための図である。
【図２７】図２７は、生産・物流スケジュール作成装置の週間日別計画システム内での位置づけを示す図である。
【図２８】図２８は、物流モデルの定式化について説明する図である。
【図２９】図２９は、本発明の生産・物流スケジュール作成装置を構成可能なコンピュータシステムの一例を示すブロック図である。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら、本発明の生産・物流スケジュール作成装置、生産・物流スケジュール作成方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体の実施形態を説明する。【００１２】
（第１の実施形態）
図１は、本発明の第１の実施形態を示し、物流スケジュール作成装置の一例を説明するブロック図である。図１に示したように、本実施形態の物流スケジュール作成装置は、物流シミュレータ１００、最適化計算装置１２０等によって構成されている。【００１３】
上記物流シミュレータ１００は、工場を模擬した大型のシミュレータであり、事象（シミュレータのイベント）毎に物を動かす離散系として構成されている。本実施形態においては、ペトリネットを用いて上記物流シミュレータ１００を構成し、数式モデル１１０を出力するように構成している。【００１４】
また、上記物流シミュレータ１００に対応させて物流モデル（数式モデル）１１０が構成されている。本実施形態においては、生産・物流プロセスの物流状態及び物流制約の中から、作成する物流スケジュールに関連する要素を取り込んで上記数式モデル１１０を作成している。上記数式モデル１１０には、上記物流シミュレータ１００に記載された物流状態、物流制約の全てを盛り込んでも良いし、その一部だけを取り込んでも良い。【００１５】
上記数式モデル１１０は、半導体記憶手段等により構成される数式モデル保持手段（図示せず）によって保持されている。そして、上記数式モデル１１０と最適化計算装置１２０によって最適化計算を行い、上記物流シミュレータ１００に対する物流指示を算出するようにしている。上記最適化計算装置１２０によって行われる最適化計算は評価関数Ｓを用いて行われる。【００１６】
したがって、本実施形態の物流スケジュール作成装置によれば、従来のように予め決められたルールに基づいて物流指示が行われるのではなく、上記最適化計算装置１２０により行われた最適計算の結果に基づいた物流指示を上記物流シミュレータ１００に出力することができる。これにより、そのときの事象に応じた最適な物流指示を確実に行うことが可能となる。【００１７】
また、新たな事象が発生すると、時刻管理部１０１により事象が１つ進められ、物流シミュレータ１００から数式モデル１１０及び最適化計算装置１２０に対して計算を行うようにする計算指示が出力される。上記計算指示が上記物流シミュレータ１００から与えられると、上記最適化計算装置１２０が数式モデル１１０及び評価関数Ｓを用いて最適化計算を実行する。上述のように、上記物流シミュレータ１００と上記最適化計算装置１２０とを事象毎に連動させた詳細シミュレーションを一度実行することで、最適な生産・物流スケジュールを作成することができる。【００１８】
すなわち、本実施形態において行われるシミュレーションは、従来のような所定のルールに基づくシミュレーションではなく、最適計算を行った結果に基づいてシミュレーションを行うようにしているので、１回のシミュレーションを行うだけで理論的な最適解を確実に得ることが可能となり、従来のようにシミュレーション結果を評価してシミュレーションを何回も繰り返し行う必要がなく、シミュレーション結果を迅速に、且つ高精度に作成することができる。したがって、スケジュールを作成する対象が大規模であっても実用時間内に作成することが十分に可能である。上述のようにして得られたシミュレーション結果をスケジュールとして出力する。【００１９】
また、上記物流シミュレータ１００の規模が非常に大きい場合、或いは制約条件が非常に多くて複雑な場合でも、上記物流シミュレータ１００に記載された物流状態、数式のうち、スケジュール作成に影響が大きい重要な部分のみを上記数式モデル１１０に取り込むようにすることで、上記物流シミュレータ１００の規模を適切な範囲にして、実用的な時間内で最適化計算を行うようにすることができる。【００２０】
上記物流シミュレータ１００は、考慮すべき物流状態、物流制約を全て記載することができるので、１回のシミュレーションを行って作成されたスケジュールは現実に実行可能となることが保証される。【００２１】
上述したように、本実施形態においては、物流シミュレータ１００と、数式モデル１１０と、最適化計算装置１２０とを連動させて物流スケジュールを作成するようにしたので、（１）シミュレーションの繰り返しをしないでスケジュールを作成することができる。また、（２）スケジュール作成に影響が大きい重要な部分のみを上記数式モデル１１０に取り込むようにすることで計算時間を短縮することができるとともに、（３）大規模問題を解くことが可能になる。【００２２】
また、物流指示が必要な事象が発生するたびに上記物流シミュレータ１００の物流状態及び物流制約の情報を検出し、上記検出した検出情報と予め定めた評価指標を元に、上記最適化計算装置１２０により最適化手法によって最適物流指示を計算し、上記計算結果に基づいて上記物流シミュレータ１００で詳細シミュレーションを行ってスケジュールを作成するので、（４）スケジュール精度を高くすることができるとともに、（５）実行可能性の検証が取れているスケジュールを作成することができる。【００２３】
また、数式モデル１１０を導入したので、スケジュール作成に影響が大きい重要な部分に変更が生じた場合でも迅速に対処することが可能となり、メンテナンス性の高いスケジュール作成装置を構築できる。【００２４】
（第２の実施形態）
図２は、本発明の第２の実施形態を示し、物流スケジュール作成装置の一例を説明するブロック図である。図２に示したように、本実施形態の物流スケジュール作成装置は、物流シミュレータ２０１を備えたシミュレーション制御部２００、最適化計算装置２１２等によって構成されている。【００２５】
物流シミュレータ２０１は生産・物流プロセスの物流状態と物流制約を表現した生産・物流プロセスを模擬したシミュレータ、いわば工場を模擬した大型のシミュレータであり、本実施形態においては、ペトリネットを用いて、事象（シミュレータのイベント）毎に物を動かす離散系として構成されている。【００２６】
また、上記物流シミュレータ２０１に対応させて数学モデル（数式モデル）２１１が構成されている。本実施形態においては、生産・物流プロセスの物流状態及び物流制約の中から、作成する物流スケジュールに関連する要素を取り込んで、下式(イ)に示すような状態方程式を用いて上記数式モデル２１１が作成されている。上記数式モデル２１１は、半導体記憶手段等により構成される数式モデル保持手段（図示せず）によって保持されている。
Ｍ(k+1) ＝ａ・Ｍ(k) ＋ｂ・ｕ(k) ・・・(イ)
すなわち、離散化したある時間k において各プレースに存在するトークンの数を示す状態ベクトル、すなわち状態量をＭ(k) で表し、各トランジション発火の有無を"１"及び"０"で表現した操作ベクトルをｕ(k) で表わすと、次の時間k+1 における状態ベクトルＭ(k+1) は、遷移行列ａ、接続行列ｂを用いて上式(イ)で表すことができる。【００２７】
最適化計算装置２１２では、上記数式モデル２１１に対して最適化計算処理を行い、フィードバックゲインＫを算出するようにしている。上記最適化計算装置２１２によって行われる最適化計算は、下式(ロ)に示すような評価関数Ｓを用いて行われる。
Ｓ＝Σ｛Ｍ'ＱＭ＋ｕ'Ｒｕ｝ ・・・(ロ)
評価関数Ｓにおいて、Ｑ，Ｒは制御目的にあわせて設定された適当な行列であり、Ｍ'，ｕ'は、それぞれ状態ベクトルＭ、操作ベクトルｕの転置ベクトルである。そして、評価関数Ｓが最小となるように制御することを考えれば、
ｕ(k) ＝−Ｋ・Ｍ(k) ・・・(ハ)
とした状態フィードバック制御を行うフィードバックゲインＫを最適制御理論より求めることができる。【００２８】
シミュレーション制御部２００の最適制御方策部２０２では、最適化計算装置２１２で算出されるフィードバックゲインＫと物流状態（状態ベクトルＭ）とを用いて物流指示（操作ベクトルｕ）を算出して物流シミュレータ２０１に与えて、シミュレーションを進め、新たな物流状態を得て、この新たな物流状態をもとに新たな物流指示を算出するという処理を繰り返す。そして、これにより得られたシミュレーション結果２２０から生産・物流プロセスにおける物流スケジュールを作成する。【００２９】
以下に、第２の実施形態の具体例を、図３〜６を参照しながら説明する。
図３に示したように、第１に、生産・物流プロセスのペトリネットモデルとして、処理時間を入力したプレースで各工程を表したペトリネットモデルを製品種ごとに構築する。そして、構築したペトリネットモデルの各プレースの処理時間Ｔp に比例したきざみ時間遅れｎp に従って表される遷移行列ａと接続行列ｂとを算出し、これら２つの行列ａ，ｂを用いて状態方程式を作成する（ステップＳ３１）。【００３０】
第２に、上記ステップＳ３１で作成した状態方程式と、設定した評価関数Ｑ，Ｒとからフィードバックゲイン行列Ｋを製品種ごとに求める（ステップＳ３２）。【００３１】
第３に、この求めたフィードバックゲイン行列Ｋと工程内製品仕掛状態を表す状態ベクトルＭ(k)
とから、製品の移動操作端に対する操作ベクトルｕ(k) を製品種ごとに求めたのち、仮想的な生産・物流プロセス内の各移動操作端に対して、正値で大きい操作量が得られた製品順に移動可能な数だけ移動操作を順次行うという方法を用いて、所定期間の生産・物流プロセスのシミュレーションを実行する（ステップＳ３３）。【００３２】
図４は、図３に示したステップＳ３１の処理、すなわち、生産・物流プロセスのペトリネットモデルとして、処理時間を入力したプレースで各工程を表したペトリネットモデルを製品種ごとに構築し、製品種ごとに各工程でのきざみ時間遅れを表した遷移行列ａと接続行列ｂとを算出するための処理手順の例を示すフローチャートである。【００３３】
すなわち、まず最初に離散きざみ時間ΔＴを入力し（ステップＳ１０１）、次に製品種ごとに全ての処理工程と処理時間Ｔp とを入力する（ステップＳ１０２）。そして、処理工程ごとに処理時間Ｔp をきざみ時間ΔＴで除して整数化することにより上記各処理工程のきざみ時間遅れｎp を求め（ステップＳ１０３、Ｓ１０４）、そのきざみ時間遅れｎp に従って、全処理工程の製品種ごとの遷移行列ａと接続行列ｂとを算出する（ステップＳ１０５）。【００３４】
そして、全ての製品について遷移行列ａと接続行列ｂとを算出するまでステップＳ１０６からステップＳ１０２の処理に戻り、以上の処理を繰り返して行う。なお、離散きざみ時間ΔＴは、各製品種各工程処理時間の最大公約数をもって定義するのが最も効率的であるが、目的とする制御精度を勘案して適宜設定すればよい。【００３５】
図５は、図３に示したステップＳ３２の処理、すなわち、上記のようにして求めた遷移行列ａ及び接続行列ｂから成る状態方程式と設定した評価関数Ｑ，Ｒとからフィードバックゲイン行列Ｋを製品種ごとに求めるための処理手順の例を示すフローチャートである。【００３６】
すなわち、まず最初に、製品種ごとにペトリネットモデルの各プレースの処理時間Ｔp に比例したきざみ時間遅れｎp を表した遷移行列ａと接続行列ｂとを最適化計算装置２１２に入力するとともに（ステップＳ２０１）、評価関数を表す行列Ｑ，Ｒを入力する（ステップＳ２０２）。そして、上記入力した遷移行列ａ、接続行列ｂ及び評価行列Ｑ，Ｒからフィードバックゲイン行列Ｋを計算する（ステップＳ２０３）。この計算を全ての製品について完了するまでステップＳ２０４からステップＳ２０１の処理に戻り、以上の処理を繰り返して行う。なお、全製品についてペトリネットモデルの各プレースの処理時間Ｔp に比例したきざみ時間遅れｎp を表した遷移行列ａと接続行列ｂとをゲイン行列算出手段３４に入力し、全製品を一括で計算するようにしてもよい。【００３７】
図６は、図３に示したステップＳ３３の処理、すなわち、上述のようにして計算したフィードバックゲイン行列Ｋと工程内製品仕掛状態を表す状態ベクトルＭ(K) とから、製品の移動操作端に対する操作ベクトルｕ(K) を製品種ごとに求めたのち、仮想的な生産・物流プロセス内の各移動操作端に対して、正値で大きい操作量が得られた製品順に移動可能な数だけ移動操作を順次行うという方法を用いて、所定期間の生産・物流プロセスのシミュレーションを実行するための処理手順の例を示すフローチャートである。【００３８】
すなわち、ペトリネットモデルの初期状態における状態ベクトルＭ(0) を入力するとともに、投入予定の全製品を投入プレースに入力し、時間 kの値を０に初期化したのち（ステップＳ３０１）、現時点（時間：k ）における全製品種の状態ベクトルＭ(k) を入力する（ステップＳ３０２）。【００３９】
そして、上述の方法を用いて計算されたフィードバックゲイン行列Ｋと上記入力した状態ベクトルＭ(k) とをかけて製品種ごとに操作ベクトルｕ(k) を計算し（ステップＳ３０３）、次に移動操作端ごとに、正値で大きい操作量が得られた製品順に、移動可能な数だけ移動操作を実行する（ステップＳ３０４）。【００４０】
次に、時間を進めたのち（ステップＳ３０５）、各ステップのシミュレーションが終了したかどうかを判断し（ステップＳ３０６）、終了していないときはステップＳ３０２の処理に戻る。一方、終了したときは、その結果として投入プレースより搬出されたトークン順をもって生産スケジュールとする（ステップＳ３０７）。【００４１】
上述したように、この第２の実施形態においては、最適化計算を行った結果得られた指示と、その事象における状態とに基づいた最適制御を行うので、それぞれの事象毎に最適化計算を実行したシミュレーション結果に基づいてスケジュールを作成することができ、しかも、そのスケジュールは生産・物流プロセスの制約を表現したシミュレータによるシミュレーション結果であるから、実際に使用可能であることを確認することができる。【００４２】
これにより、上記物流シミュレータ２０１の規模が非常に大きい場合、或いは制約条件が非常に多くて複雑な場合でも、上記物流シミュレータ２０１に記載された物流状態、数式のうち、スケジュール作成に影響が大きい重要な部分のみを上記数式モデル２１１に取り込むようにすることで、上記物流シミュレータ２０１の規模を適切な範囲にして、実用的な時間内で最適化計算を行うようにすることができる。【００４３】
上記物流シミュレータ２０１は、考慮すべき物流状態、物流制約を全て記載することができるので、１回のシミュレーションを行って作成されたスケジュールは現実に実行可能となることが保証される。【００４４】
上述したように、本実施形態においては、物流シミュレータ２０１と、数式モデル２１１と、最適化計算装置２１２とを連動させて物流スケジュールを作成するようにしたので、（１）計算の繰り返しをしないでスケジュールを作成することができる。また、（２）スケジュール作成に影響が大きい重要な部分のみを上記数式モデル２１１に取り込むようにすることで計算時間を短縮することができるとともに、（３）大規模問題を解くことが可能になる。【００４５】
また、物流指示が必要な事象が発生するたびに上記物流シミュレータ２０１の物流状態及び物流制約の情報を検出し、上記検出した検出情報と予め定めた評価指標を元に、上記最適化計算装置２１２により最適化手法に最適物流指示を計算し、上記計算結果に基づいて上記物流シミュレータ２０１で詳細シミュレーションを行ってスケジュールを作成するので、（４）スケジュール精度を高くすることができるとともに、（５）実行可能性の検証が取れているスケジュールを作成することができる。【００４６】
また、数式モデル２１１を導入したので、スケジュール作成に影響が大きい重要な部分に変更が生じた場合でも迅速に対処することが可能となり、メンテナンス性が高いスケジュール作成装置を構築できる。【００４７】
さらに、シミュレーション制御部２００での処理はオンラインで、物流シミュレータ２０１に対応させて数学モデル（数式モデル）２１１の構築や最適化計算装置２１２での上記数式モデル２１１に対する最適化計算処理はオフラインで行うように分けることも可能であり、シミュレーション制御部２００での処理負荷を軽くして処理能力を高めることができる。【００４８】
（第３の実施形態）
図７は、本発明の物流スケジュール作成装置の第３の実施形態を説明するブロック図である。図７に示したように、本実施形態の物流スケジュール作成装置３００は、物流シミュレータ３１０、数式モデル保持装置３２０、最適化計算装置３３０等によって構成されている。【００４９】
上記物流シミュレータ３１０は、工場を模擬した大型のシミュレータであり、事象（シミュレータのイベント）毎に物を動かす離散系として構成されている。本実施形態においては、ペトリネットを用いて上記物流シミュレータ３１０を構成している。【００５０】
また、上記物流シミュレータ３１０に対応させて物流モデル（数式モデル）３２１が構成されて数式モデル保持装置３２０に保持されている。本実施形態においては、生産・物流プロセスの物流状態及び物流制約の中から、作成する物流スケジュールに関連する要素を取り込んで上記数式モデル３２１を作成している。【００５１】
本実施形態においては、製造プロセス・搬送における製品受入計画、製品出荷計画、在庫計画、設備使用計画、設備修理計画、設備能力、設備現況、工程現況、設備現況、在庫現況、設備稼働・故障現況、及び操業者からの操業前提条件の全て或いは一部を表わす入力データに基づいて、上記生産・物流計画の立案開始日時からあらかじめ設定された対象期間分を対象として、あらかじめ設定した精度に基づいて、製品、移動体、設備の処理に伴う作業群の関係、制約に対して数式モデル３２１を構築するようにしている。上記のように構築された数式モデル３２１は、半導体記憶手段等により構成される数式モデル保持装置３２０によって保持されている。【００５２】
上記数式モデル３２１と最適化計算装置３３０によって最適化計算を行うのであるが、本実施形態においては、上記数式モデル３２１に対して評価関数Ｓを用いて最適化計算処理を行って上記物流シミュレータ３１０に対する物流指示を算出するようにしている。【００５３】
そして、上記数式モデル３２１を、記生産・物流プロセスの立案開始時間から予め設定した期間（計画作成期間）分を対象として、着目している物流のスケジュールを作成するのに係わる情報を取り込んで作成し、上記作成した数式モデル３２１を上記最適化計算装置３３０に与えて、上記最適化計算処理により現時点から予め設定した期間分（指示算出期間）について物流指示を算出して上記生産・物流シミュレータに与えて、予め設定した期間（シミュレーション期間）分だけシミュレーションを実行して予め設定した期間分（計画確定期間）だけ物流計画を確定する。【００５４】
次に、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案する、という処理を繰り返すことにより得られたシミュレーション結果から生産・物流プロセスにおける生産・物流スケジュールを作成するようにしている。【００５５】
以下に、第３の実施形態の具体例を、図８を参照しながら説明する。なお、本例は、シミュレーション期間と確定期間が同じ期間であるとした例である。
図８に示したように、計画作成期間の１日目は作成した生産・物流計画の最初の８時間分を確定し、２日目以降は生産・物流計画の最初の１日分を確定する。作成した生産・物流計画の内で上記確定期間に入らなかった部分については、その計画は確定せずに破棄する。【００５６】
すなわち、第１ループでは１日目の０時〜２４時の対象期間について数式モデル３２１をもとに上記最適化計算装置３３０で求解を行う。そして、最適化計算処理により得られた求解結果を元に物流シミュレータ３１０によるシミュレーションを行い、最初の８時間について第１の物流計画の期間Ａを確定する。【００５７】
次に、第２ループでは、上記確定した期間の直後の日時を新たな立案開始日時として設定して物流計画を立案する。この例の場合は、第１の物流計画の期間Ａとして、１日目の８時まで確定したので、当初１日目の０時であった立案開始日を、第２ループでは１日目の８時に更新する。【００５８】
第２ループにおいても第１ループと同様に、１日目の８時〜２日目の８時までの２４時間を対象期間として数式モデル３２１をもとに上記最適化計算装置３３０で求解を行う。そして、最適化計算処理により得られた求解結果を元に物流シミュレータ３１０によるシミュレーションを行い、最初の８時間について、この場合は１日目の８時〜１６時について、第２の物流計画の期間Ｂを確定する。【００５９】
次に、第３ループにおいても、上記確定した第２の物流計画の期間Ｂの直後の日時を新たな立案開始日時として設定して物流計画を立案する。この場合は、１日目の１６時まで確定したので、第２ループにおいては１日目の８時であった立案開始日を、第３ループでは１日目の１６時に更新し、その後の２４時間を対象期間として数式モデル３２１をもとに上記最適化計算装置３３０で求解を行う。【００６０】
そして、最適化計算処理により得られた求解結果を元に物流シミュレータ３１０によるシミュレーションを行い、最初の８時間について物流計画を確定する。この場合は、１日目の１６時〜２４時について第３の物流計画の期間Ｃとして確定する。この結果、次の第４ループでは、立案開始日が２日目の０時となる。【００６１】
第４ループでは、数式モデル３２１をもとに上記最適化計算装置３３０で求解を行う対象期間を、２日目の０時〜４日目の０時までの４８時間としている。上記４８時間について行った求解の結果を物流シミュレータ３１０によるシミュレーションを行い、この第４ループにおいては最初の２４時間について物流計画を確定するようにしている。この場合、２日目の０時から２日目の２４時（３日目の０時）までの期間を第４の物流計画の期間Ｄとして確定する。【００６２】
次に、第５ループにおいては、上記確定した期間の直後の日時である、３日目の０時を新たな立案開始日時として設定して、４日目の２４時までの４８時間を対象期間として数式モデル３２１をもとに上記最適化計算装置３３０で求解を行う。そして、上記４８時間について行った求解の結果を元にして、物流シミュレータ３１０によるシミュレーションを行う。この第５ループにおいても、求解を行った４８時間のうち、最初の２４時間について物流計画を確定するようにしている。この場合、２日目の０時から３日目の２４時（４日目の０時）までについて第５の物流計画の期間Ｅを確定する。【００６３】
次に、第６ループにおいては、４日目の０時から４日目の２４時までの２４時間を対象期間として数式モデル３２１による求解を行う。この場合、対象期間の全てである２４時間について第６の物流計画の期間Ｆとして確定するようにしている。本具体例では、第６ループが終了した時点で４日分の生産・物流計画が全て作成されるので、処理を終了する。また、物流計画の確定は、物流指示を必要とする事象が発生する毎に行ってもよい。【００６４】
上述したように、この第３の実施形態においては、初期値を移動させながら計算範囲を分割するようにしているので、計算負荷が大きなスケジュールを計算する場合においても実用時間内で計算することが可能となる。したがって、計算要素が莫大な大規模工場の生産・物流スケジュールを作成する場合においても実用時間でスケジュールを作成することができる。特に、本実施形態においては、最適化計算装置３３０と物流シミュレータ３１０とを連動させて分割処理を行っているので、各々の事象において多少のずれが生じた場合でも、事象毎に微調整を行うことが可能となり、最適なスケジュールを実用時間内で作成することができるようになる。【００６５】
これにより、上記物流シミュレータ３１０の規模が非常に大きい場合、或いは制約条件が非常に多くて複雑な場合でも、上記物流シミュレータ３１０に記載された物流状態、数式のうち、スケジュール作成に影響が大きい重要な部分のみを上記数式モデル３２１に取り込むようにすることで、上記数式モデル３２１の規模を適切な範囲にして、実用的な時間内で最適化計算を行うようにすることができる。【００６６】
上記物流シミュレータ３１０は、考慮すべき物流状態、物流制約を全て記載することができるので、１回のシミュレーションを行って作成された作成されたスケジュールは現実に実行可能となることが保証される。【００６７】
上述したように、本実施形態においては、物流シミュレータ３１０と、数式モデル３２１と、最適化計算装置３３０とを連動させて物流スケジュールを作成するようにしたので、（１）計算の繰り返しをしないでスケジュールを作成することができる。また、（２）スケジュール作成に影響が大きい重要な部分のみを上記数式モデル３２１に取り込むようにすることで計算時間を短縮することができるとともに、（３）大規模問題を解くことが可能になる。【００６８】
また、物流指示が必要な事象が発生するたびに上記物流シミュレータ３１０の物流状態及び物流制約の情報を検出し、上記検出した検出情報と予め定めた評価指標を元に、上記最適化計算装置３３０により最適化手法によって最適物流指示を計算し、上記計算結果に基づいて上記物流シミュレータ３１０で詳細シミュレーションを行ってスケジュールを作成するので、（４）スケジュール精度を高くすることができるとともに、（５）実行可能性を検証が取れているスケジュールを作成することができる。【００６９】
また、数式モデル３２１を導入したので、スケジュール作成に影響が大きい重要な部分に変更が生じた場合でも迅速に対処することが可能となり、メンテナンス性が高いスケジュール作成装置を構築できる。【００７０】
以下に説明する第４の実施形態〜第６の実施形態は、上述した第２の実施形態に関連するものである。
（第４の実施形態）
図２に示したように、本実施形態の物流スケジュール作成装置も、物流シミュレータ２０１を備えたシミュレーション制御部２００、最適化計算装置２１２等によって構成されている。【００７１】
本実施形態では、物流シミュレータ２０１は生産・物流プロセスの物流状態と物流制約を表現した生産・物流プロセスを模擬したシミュレータ、いわば工場を模擬した大型のシミュレータであり、本実施形態においては、グラフモデルを用いてシミュレータを構築するもので、事象（シミュレータのイベント）毎に物を動かす離散系として構成されている。【００７２】
また、上記物流シミュレータ２０１に対応させて数学モデル（数式モデル）２１１が構成されている。本実施形態においては、生産・物流プロセスの物流状態及び物流制約の中から、作成する物流スケジュールに関連する要素を取り込んで、下式(ニ)に示すような状態方程式を用いて上記数式モデル２１１が作成されている。上記数式モデル２１１は、半導体記憶手段等により構成される数式モデル保持手段（図示せず）によって保持されている。
Ｍ(k+1) ＝Ｍ(k) ＋ｂ・ｕ(k) ・・・(ニ)
すなわち、離散化したある時刻k において各点に存在する要素の数を示す状態ベクトル、言い換えれば状態量をＭ(k) で表し、各線の発火の有無を"１"及び"０"で表現した操作ベクトルをｕ(k) で表わすと、次の時刻k+1 における状態ベクトルＭ(k+1) は、接続行列ｂを用いて上式(ニ)で表わすことができる。【００７３】
最適化計算装置２１２では、上記数式モデル２１１に対して最適化計算処理を行い、フィードバックゲインＫを算出するようにしている。上記最適化計算装置２によって行われる最適化計算は線形二次（ＬＱ）制御を利用するものであり、下式(ロ)に示すような評価関数Ｓを用いて行われる。
Ｓ＝Σ｛Ｍ'ＱＭ＋ｕ'Ｒｕ｝ ・・・(ロ)
評価関数Ｓにおいて、Ｑ，Ｒは制御目的にあわせて設定された適当な行列であり、Ｍ'，ｕ'は、それぞれ状態ベクトルＭ、操作ベクトルｕの転置ベクトルである。そして、評価関数Ｓが最小となるように制御することを考えれば、
ｕ(k) ＝−Ｋ・Ｍ(k) ・・・(ハ)
とした状態フィードバック制御を行うフィードバックゲインＫを最適制御理論より求めることができる。【００７４】
シミュレーション制御部２００の最適制御方策部２０２では、最適化計算装置２１２で算出されるフィードバックゲインＫと物流状態（状態ベクトルＭ）とを用いて物流指示（操作ベクトルｕ）を算出して物流シミュレータ２０１に与えて、シミュレーションを進め、新たな物流状態を得て、この新たな物流状態をもとに新たな物流指示を算出するという処理を繰り返す。そして、これにより得られたシミュレーション結果２２０から生産・物流プロセスにおける物流スケジュールを作成する。【００７５】
以下に、第４の実施形態の具体例を、図９〜１２を参照しながら説明する。図９に示したように、第１に、生産・物流プロセスのグラフモデルとして、処理時間Ｔp に比例した数の点で各工程を表わしたグラフモデルを製品種ごとに構築する（ステップＳ９１）。【００７６】
第２に、構築したグラフモデルの状態方程式と、設定した評価関数Ｑ，Ｒとからフィードバックゲイン行列Ｋを製品種ごとに求める（ステップＳ９２）。【００７７】
第３に、この求めたフィードバックゲイン行列Ｋと工程内製品仕掛状態を表す状態ベクトルＭ(k)
とから、製品の移動操作端に対する操作ベクトルｕ(k) を製品種ごとに求めたのち、仮想的な生産・物流プロセス内の各移動操作端に対して、正値で大きい操作量が得られた製品順に移動可能な数だけ移動操作を順次行うという方法を用いて、所定期間の生産・物流プロセスのシミュレーションを実行する（ステップＳ９３）。【００７８】
図１０は、図９に示したステップＳ９１の処理、すなわち、生産・物流プロセスのグラフモデルとして、処理時間を比例した数の点で各工程を表したグラフモデルを製品種ごとに構築するための処理手順の例を示すフローチャートである。【００７９】
すなわち、まず離散きざみ時間ΔＴを入力し（ステップＳ１００１）、次に製品種ごとに全ての処理工程と処理時間Ｔp とを入力する（ステップＳ１００２）。そして、処理工程ごとに処理時間Ｔp をきざみ時間ΔＴで除して整数化することにより上記各処理工程の点の数ｎp を求め（ステップＳ１００３、Ｓ１００４）、全処理工程の点を線で連結して製品種ごとのグラフモデルを構築する（ステップＳ１００５）。【００８０】
そして、全ての製品についてグラフモデルを構築するまでステップＳ１００６からステップＳ１００２の処理に戻り、以上の処理を繰り返して行う。なお、離散きざみ時間ΔＴは、各製品種各工程処理時間の最大公約数をもって定義するのが最も効率的であるが、目的とする制御精度を勘案して適宜設定すればよい。【００８１】
図１１は、図９に示したステップＳ９２の処理、すなわち、構築したグラフモデルの状態方程式と設定した評価関数とからフィードバックゲイン行列Ｋを製品種ごとに求めるための処理手順の例を示すフローチャートである。なお、全製品についてグラフモデルの接続行列ｂ作成し、それを最適化計算装置２に入力し、全製品を一括で計算するようにしてもよい。【００８２】
すなわち、まず製品種ごとにグラフモデルの状態方程式を記述する接続行列ｂを最適化計算装置２に入力するとともに（ステップＳ１１０１）、評価関数を表す行列Ｑ，Ｒを入力する（ステップＳ１１０２）。そして、上記入力した接続行列ｂ及び評価行列Ｑ，Ｒからフィードバックゲイン行列Ｋを計算する（ステップＳ１１０３）。この計算を全ての製品について完了するまでステップＳ１１０４からステップＳ１１０１の処理に戻り、以上の処理を繰り返して行う。【００８３】
図１２は、図９に示したステップＳ９３の処理、すなわち、上述のようにして計算したフィードバックゲイン行列Ｋと工程内製品仕掛状態を表す状態ベクトルＭ(K) とから、製品の移動操作端に対する操作ベクトルｕ(K) を製品種ごとに求めたのち、仮想的な生産・物流プロセス内の各移動操作端に対して、正値で大きい操作量が得られた製品順に移動可能な数だけ移動操作を順次行うという方法を用いて、所定期間の生産・物流プロセスのシミュレーションを実行するための処理手順の例を示すフローチャートである。【００８４】
すなわち、まずグラフモデルの初期状態における状態ベクトルＭ(0) を入力するとともに、投入予定の全製品（要素）を投入点に入力し、時刻 kの値を０に初期化したのち（ステップＳ１２０１）、現時点（時刻：k ）における全製品種の状態ベクトルＭ(k) を入力する（ステップＳ１２０２）。【００８５】
そして、上述の方法を用いて計算されたフィードバックゲイン行列Ｋと上記入力した状態ベクトルＭ(k) とをかけて製品種ごとに操作ベクトルｕ(k) を計算し（ステップＳ１２０３）、次に移動操作端ごとに、正値で大きい操作量が得られた製品順に、移動可能な数だけ移動操作を実行する（ステップＳ１２０４）。【００８６】
次に、時刻を進めたのち（ステップＳ１２０５）、各ステップのシミュレーションが終了したかどうかを判断し（ステップＳ１２０６）、終了していないときはステップＳ１２０２の処理に戻る。一方、終了したときは、そのシミュレーション結果をもって生産スケジュールとする（ステップＳ１２０７）。【００８７】
上述したように、本実施形態においては、最適化計算を行った結果得られた指示と、その事象における状態とに基づいた最適制御を行うので、それぞれの事象毎に最適化計算を実行したシミュレーション結果に基づいてスケジュールを作成することができ、しかも、そのスケジュールは生産・物流プロセスの制約を表現したシミュレータによるシミュレーション結果であるから、実際に使用可能であることを確認することができる。【００８８】
これにより、上記物流シミュレータ２０１の規模が非常に大きい場合、或いは制約条件が非常に多くて複雑な場合でも、上記物流シミュレータ２０１に記載された物流状態、数式のうち、スケジュール作成に影響が大きい重要な部分のみを上記数式モデル２１１に取り込むようにすることで、上記物流シミュレータ２０１の規模を適切な範囲にして、実用的な時間内で最適化計算を行うようにすることができる。【００８９】
上記物流シミュレータ２０１は、考慮すべき物流状態、物流制約を全て記載することができるので、１回のシミュレーションを行って作成されたスケジュールは現実に実行可能となることが保証される。【００９０】
上述したように、本実施形態においては、物流シミュレータ２０１と、数式モデル２１１と、最適化計算装置２１２とを連動させて物流スケジュールを作成するようにしたので、（１）計算の繰り返しをしないでスケジュールを作成することができる。また、（２）スケジュール作成に影響が大きい重要な部分のみを上記数式モデル２１１に取り込むようにすることで計算時間を短縮することができるとともに、（３）大規模問題を解くことが可能になる。【００９１】
また、物流指示が必要な事象が発生するたびに上記物流シミュレータ２０１の物流状態及び物流制約の情報を検出し、上記検出した検出情報と予め定めた評価指標を元に、上記最適化計算装置２１２により最適化手法に最適物流指示を計算し、上記計算結果に基づいて上記物流シミュレータ２０１で詳細シミュレーションを行ってスケジュールを作成するので、（４）スケジュール精度を高くすることができるとともに、（５）実行可能性の検証が取れているスケジュールを作成することができる。【００９２】
また、数式モデル２１１を導入したので、スケジュール作成に影響が大きい重要な部分に変更が生じた場合でも迅速に対処することが可能となり、メンテナンス性が高いスケジュール作成装置を構築できる。【００９３】
さらに、シミュレーション制御部２００での処理はオンラインで、物流シミュレータ２０１に対応させて数学モデル（数式モデル）２１１の構築や最適化計算装置２１２での上記数式モデル２１１に対する最適化計算処理はオフラインで行うように分けることも可能であり、シミュレーション制御部２００での処理負荷を軽くして処理能力を高めることができる。【００９４】
なお、本実施形態では、一般的なグラフ理論に基づく例を説明したが、ペトリネットモデルやその他のグラフモデルに本発明を適用することも可能である。ペトリネットモデルでは、上述したグラフモデルにおける点はプレースで表現され、線はトランジションで表現される。トランジションは、プレースからプレースへ製品すなわちトークンを移動させる移動操作端である。【００９５】
一般に、ペトリネットモデルでは、１つのトランジションに複数のプレースからアークが入力している場合には、それらのプレースの全てにトークンが存在していないとトランジションの操作ができない。これをトランジションの発火則と言う。また、１つのトランジションから複数のプレースにアークが出力している場合には、それらのプレースの全てにトークンが出力される。なお、アークとは、トランジションからプレース、或いはプレースからトランジションへトークンが移動する方向を示すものであり、その数は移動するトークンの数を示している。また、トランジションを操作することを、トランジションを発火させると言う。【００９６】
また、グラフモデルでは、各工程内における処理容量をソフトウェア上で制御していたが、ペトリネットモデルでは、各工程内に設けられている仮想プレースに初期設定された容量設定用仮想トークンの数により、各処理工程で同時に処理できる製品の数を制限している。【００９７】
このような特徴を有するペトリネットモデルに本発明を適用する場合も、一連の動作は上述したグラフモデルにおける動作と同様である。【００９８】
（第５の実施形態）
本実施形態の物流スケジュール作成装置も、図２に示したように、物流シミュレータ２０１を備えたシミュレーション制御部２００、最適化計算装置２１２等によって構成されている。【００９９】
本実施形態では、物流シミュレータ２０１は生産・物流プロセスの物流状態と物流制約を表現した生産・物流プロセスを模擬したシミュレータ、いわば工場を模擬した大型のシミュレータであり、本実施形態においては、ペトリネットモデルを用いてシミュレータを構築するもので、事象（シミュレータのイベント）毎に物を動かす離散系として構成されている。【０１００】
また、上記物流シミュレータ２０１に対応させて数学モデル（数式モデル）２１１が構成されている。本実施形態においては、生産・物流プロセスの物流状態及び物流制約の中から、作成する物流スケジュールに関連する要素を取り込んで、下式(ニ)に示すような状態方程式を用いて上記数式モデル２１１が作成されている。上記数式モデル２１１は、半導体記憶手段等により構成される数式モデル保持手段（図示せず）によって保持されている。
Ｍ(k+1) ＝Ｍ(k) ＋ｂ・ｕ(k) ・・・(ニ)
すなわち、離散化したある時刻k において各プレースでのトークンの有無を示す状態ベクトル、言い換えれば状態量をＭ(k) で表し、各トランジション発火の有無を"１"及び"０"で表現した操作ベクトルをｕ(k) で表わすと、次の時刻k+1 における状態ベクトルＭ(k+1) は、接続行列ｂを用いて上式(ニ)で表わすことができる。【０１０１】
ここで、図１３にペトリネットモデルの一例を示す。ペトリネットモデルは、プレース（○印）（図示例ではp1〜p6）、トランジション（｜印）（図示例ではt1〜t5）、アーク（→印）、トークン（・印）の４要素で表現される。この場合に、１つのトランジションに複数のプレースからアークが入力している場合には、それらのプレースの全てに製品すなわちトークンが存在していないとトランジションの操作ができない（トランジションの発火則）。また、１つのトランジションから複数のプレースにアークが出力している場合には、それらのプレースの全てにトークンが出力される。なお、アークとは、トランジションからプレース、或いは、プレースからトランジションへトークンが移動する方向を示すものであり、その数は移動するトークンの数を示している。また、トランジションを操作することを、トランジションを発火させると言う。【０１０２】
図１３に示すようにトランジションｔ１を発火させる場合を例にすると、離散化したある時刻k
において各プレースp1〜p6でのトークンt1〜t5の有無を示す状態ベクトル、言い換えれば状態量をＭ(k) で表し、各トランジション発火の有無を"１"及び"０"で表現した操作ベクトルをｕ(k) で表わすと、次の時刻k+1 における状態ベクトルＭ(k+1) は、接続行列ｂを用いて下式（１）で表わすことができる。【０１０３】
【数１】
0004690893.tif 000002
【０１０４】
最適化計算装置２１２では、上記数式モデル２１１に対して最適化計算処理を行い、フィードバックゲインＫを算出するようにしている。上記最適化計算装置２１２によって行われる最適化計算は線形二次（ＬＱ）制御を利用するものであり、下式(ロ)に示すような評価関数Ｓを用いて行われる。
Ｓ＝Σ｛Ｍ'ＱＭ＋ｕ'Ｒｕ｝ ・・・(ロ)
評価関数Ｓにおいて、Ｑ，Ｒは制御目的にあわせて設定された適当な行列であり、Ｍ'，ｕ'は、それぞれ状態ベクトルＭ、操作ベクトルｕの転置ベクトルである。そして、評価関数Ｓが最小となるように制御することを考えれば、
ｕ(k) ＝−Ｋ・Ｍ(k) ・・・(ハ)
とした状態フィードバック制御を行うフィードバックゲインＫを最適制御理論より求めることができる。【０１０５】
シミュレーション制御部２００の最適制御方策部２０２では、最適化計算装置２１２で算出されるフィードバックゲインＫと物流状態（状態ベクトルＭ）とを用いて物流指示（操作ベクトルｕ）を算出して物流シミュレータ２０１に与えて、シミュレーションを進め、新たな物流状態を得て、この新たな物流状態をもとに新たな物流指示を算出するという処理を繰り返す。そして、これにより得られたシミュレーション結果２２０から生産・物流プロセスにおける物流スケジュールを作成する。【０１０６】
以下に、第５の実施形態の具体例を、図１４〜１７を参照しながら説明する。図１４に示したように、第１に、生産・物流プロセスのペトリネットモデルとして、処理時間Ｔp に比例した数のプレースで各工程を表したペトリネットモデルを製品種ごとに構築する（ステップＳ１４０１）。【０１０７】
第２に、構築したペトリネットモデルの状態方程式と、設定した評価関数とからフィードバックゲイン行列Ｋを製品種ごとに求める（ステップＳ１４０２）。【０１０８】
第３に、この求めたフィードバックゲイン行列Ｋと工程内製品仕掛状態を表す状態ベクトルＭ(k)
とから、製品の移動操作端に対する操作ベクトルｕ(k) を製品種ごとに求めたのち、仮想的な生産・物流プロセス内の各移動操作端に対して、正値で大きい操作量が得られた製品順に移動可能な数だけ移動操作を順次行うという方法を用いて、所定期間の生産・物流プロセスのシミュレーションを実行する（ステップＳ１４０３）。【０１０９】
図１５は、図１４に示したステップＳ１４０１の処理、すなわち、生産・物流プロセスのペトリネットモデルとして、処理時間Ｔp に比例した数のプレースで各工程を表したペトリネットモデルを製品種ごとに構築するための処理手順の例を示すフローチャートである。【０１１０】
すなわち、まず離散きざみ時間ΔＴを入力し（ステップＳ１５０１）、次に製品種ごとに全ての処理工程と処理時間Ｔp とを入力する（ステップＳ１５０２）。そして、処理工程ごとに処理時間Ｔp をきざみ時間ΔＴで除して整数化することにより各処理工程のプレース数ｎp を求め（ステップＳ１５０３、Ｓ１５０４）、全処理工程のプレースを連結してペトリネットモデルを製品種ごとに構築する（ステップＳ１５０５）。【０１１１】
そして、全ての製品についてペトリネットモデルを構築するまでステップＳ１５０６からステップＳ１５０２の処理に戻り、以上の処理を繰り返して行う。なお、離散きざみ時間ΔＴは、各製品種各工程処理時間の最大公約数をもって定義するのが最も効率的であるが、目的とする制御精度を勘案して適宜設定すればよい。【０１１２】
図１６は、図１４に示したステップＳ１４０２の処理、すなわち、構築したペトリネットモデルの状態方程式と設定した評価関数とからフィードバックゲイン行列Ｋを製品種ごとに求めるための処理手順の例を示すフローチャートである。【０１１３】
すなわち、まず製品種ごとにペトリネットモデルの状態方程式を記述する接続行列ｂを最適化計算装置２に入力するとともに（ステップＳ１６０１）、評価関数を表す行列Ｑ，Ｒを入力する（ステップＳ１６０２）。そして、上記入力した接続行列ｂ及び評価行列Ｑ，Ｒからフィードバックゲイン行列Ｋを計算する（ステップＳ１６０３）。この計算を全ての製品について完了するまでステップＳ１６０４からステップＳ１６０１の処理に戻り、以上の処理を繰り返して行う。なお、全製品についてペトリネットモデルの接続行列ｂを最適化計算装置２１２に入力し、全製品を一括で計算するようにしてもよい。【０１１４】
図１７は、図１４に示したステップＳ１４０３の処理、すなわち、上述のようにして計算したフィードバックゲイン行列Ｋと工程内製品仕掛状態を表す状態ベクトルＭ(K) とから、製品の移動操作端に対する操作ベクトルｕ(K) を製品種ごとに求めたのち、仮想的な生産・物流プロセス内の各移動操作端に対して、正値で大きい操作量が得られた製品順に移動可能な数だけ移動操作を順次行うという方法を用いて、所定期間の生産・物流プロセスのシミュレーションを実行するための処理手順の例を示すフローチャートである。【０１１５】
すなわち、まずペトリネットモデルの初期状態における状態ベクトルＭ(0) を入力するとともに、投入予定の全製品を投入プレースに入力し、時刻kの値を０に初期化したのち（ステップＳ１７０１）、現時点（時刻：k ）における全製品種の状態ベクトルＭ(k) を入力する（ステップＳ１７０２）。【０１１６】
そして、上述の方法を用いて計算されたフィードバックゲイン行列Ｋと上記入力した状態ベクトルＭ(k) とをかけて製品種ごとに操作ベクトルｕ(k) を計算し（ステップＳ１７０３）、次に移動操作端ごとに、正値で大きい操作量が得られた製品順に、移動可能な数だけ移動操作を実行する（ステップＳ１７０４）。【０１１７】
次に、時刻を進めたのち（ステップＳ１７０５）、各ステップのシミュレーションが終了したかどうかを判断し（ステップＳ１７０６）、終了していないときはステップＳ１７０２の処理に戻る。一方、終了したときは、そのシミュレーション結果をもって生産スケジュールとする（ステップＳ１７０７）。【０１１８】
上述したように、本実施形態においては、上述した第４の実施形態の効果に加えて、工程内製品仕掛状態を表わす状態ベクトルを各プレースにおける製品の有無に従って表現するようにしたので、フィードバックゲイン行例と上記状態ベクトルから算出される操作ベクトルの各要素を、フォードバックゲイン行列の各要素の大きさをそのまま反映したものとすることができ、同じプレース内に存在する複数種類の製品のうち、ゲインがより大きいものを常に優先して処理するようにすることができ、その結果、各処理工程での総処理時間を最短にする最適なスケジュールを簡単に作成することができる。【０１１９】
また、状態ベクトルを表現する方法として、各プレースにおける製品の有無に従う手法と、各プレースに存在する製品の数に従う手法とのいずれかを選択できるようにすれば、各プレースにおける製品の有無に従って状態ベクトルを表現する場合には、上述のように総処理時間を最短にするスケジュールを簡単に作成することができる一方、各プレースに存在する製品の数に従って状態ベクトルを表現する場合には、１つのプレース内にある製品が溜まってしまうという不都合を防止しつつ総処理時間をある程度短くするスケジュールを簡単に作成することができる。【０１２０】
（第６の実施形態）
本実施形態の物流スケジュール作成装置も、図２に示したように、物流シミュレータ２０１を備えたシミュレーション制御部２００、最適化計算装置２１２等によって構成されている。【０１２１】
本実施形態では、物流シミュレータ２０１は生産・物流プロセスの物流状態と物流制約を表現した生産・物流プロセスを模擬したシミュレータ、いわば工場を模擬した大型のシミュレータであり、本実施形態においては、ペトリネットモデルを用いてシミュレータを構築するもので、事象（シミュレータのイベント）毎に物を動かす離散系として構成されている。【０１２２】
また、上記物流シミュレータ２０１に対応させて数学モデル（数式モデル）２１１が構成されている。本実施形態においては、生産・物流プロセスの物流状態及び物流制約の中から、作成する物流スケジュールに関連する要素を取り込んで、下式(イ)に示すような状態方程式を用いて上記数式モデル２１１が作成されている。上記数式モデル２１１は、半導体記憶手段等により構成される数式モデル保持手段（図示せず）によって保持されている。
Ｍ(k+1) ＝ａ・Ｍ(k) ＋ｂ・ｕ(k) ・・・(イ)
すなわち、離散化したある時刻k において各プレースに存在するトークンの数を示す状態ベクトル、言い換えれば状態量をＭ(k) で表し、各トランジション発火の有無を"１"及び"０"で表現した操作ベクトルをｕ(k) で表わすと、次の時刻k+1 における状態ベクトルＭ(k+1) は、遷移行列ａ、接続行列ｂを用いて上式(イ)で表わすことができる。【０１２３】
最適化計算装置２１２では、上記数式モデル２１１に対して最適化計算処理を行い、フィードバックゲインＫを算出するようにしている。上記最適化計算装置２１２によって行われる最適化計算は線形二次（ＬＱ）制御を利用するものであり、下式(ロ)に示すような評価関数Ｓを用いて行われる。
Ｓ＝Σ｛Ｍ'ＱＭ＋ｕ'Ｒｕ｝ ・・・(ロ)
評価関数Ｓにおいて、Ｑ，Ｒは制御目的にあわせて設定された適当な行列であり、Ｍ'，ｕ'は、それぞれ状態ベクトルＭ、操作ベクトルｕの転置ベクトルである。そして、評価関数Ｓが最小となるように制御することを考えれば、
ｕ(k) ＝−Ｋ・Ｍ(k) ・・・(ハ)
とした状態フィードバック制御を行うフィードバックゲインＫを最適制御理論より求めることができる。【０１２４】
シミュレーション制御部２００の最適制御方策部２０２では、最適化計算装置２１２で算出されるフィードバックゲインＫと物流状態（状態ベクトルＭ）とを用いて物流指示（操作ベクトルｕ）を算出して物流シミュレータ２０１に与えて、シミュレーションを進め、新たな物流状態を得て、この新たな物流状態をもとに新たな物流指示を算出するという処理を繰り返す。そして、これにより得られたシミュレーション結果２２０から生産・物流プロセスにおける物流スケジュールを作成する。【０１２５】
以下に、第６の実施形態の具体例を、図１８〜２１を参照しながら説明する。図１８に示したように、第１に、生産・物流プロセスのペトリネットモデルとして、処理時間Ｔpを入力したプレースで各工程を表したペトリネットモデルを製品種ごとに構築する。そして、構築したペトリネットモデルの各プレースの処理時間Ｔp に比例したきざみ時間遅れｎp に従って表される遷移行列ａと接続行列ｂとを算出し、これら２つの行列ａ，ｂを用いて状態方程式を作成する（ステップＳ１８０１）。【０１２６】
第２に、上記ステップＳ１８０１で作成した状態方程式と、設定した評価関数とからフィードバックゲイン行列Ｋを製品種ごとに求める（ステップＳ１８０２）。【０１２７】
第３に、この求めたフィードバックゲイン行列Ｋと工程内製品仕掛状態を表す状態ベクトルＭ(k)
とから、製品の移動操作端に対する操作ベクトルｕ(k) を製品種ごとに求めたのち、仮想的な生産・物流プロセス内の各移動操作端に対して、正値で大きい操作量が得られた製品順に移動可能な数だけ移動操作を順次行うという方法を用いて、所定期間の生産・物流プロセスのシミュレーションを実行する（ステップＳ１８０３）。【０１２８】
図１９は、図１８に示したステップＳ１８０１の処理、すなわち、生産・物流プロセスのペトリネットモデルとして、処理時間を入力したプレースで各工程を表したペトリネットモデルを製品種ごとに構築し、製品種ごとに各工程でのきざみ時間遅れを表した遷移行列ａと接続行列ｂとを算出するための処理手順の例を示すフローチャートである。【０１２９】
すなわち、まず離散きざみ時間ΔＴを入力し（ステップＳ１９０１）、次に製品種ごとに全ての処理工程と処理時間Ｔp とを入力する（ステップＳ１９０２）。そして、処理工程ごとに処理時間Ｔp をきざみ時間ΔＴで除して整数化することにより上記各処理工程のきざみ時間遅れｎp を求め（ステップＳ１９０３、Ｓ１９０４）、そのきざみ時間遅れｎp に従って、全処理工程の製品種ごとの遷移行列ａと接続行列ｂとを算出する（ステップＳ１９０５）。【０１３０】
そして、全ての製品について遷移行列ａと接続行列ｂとを算出するまでステップＳ１９０６からステップＳ１９０２の処理に戻り、以上の処理を繰り返して行う。なお、離散きざみ時間ΔＴは、各製品種各工程処理時間の最大公約数をもって定義するのが最も効率的であるが、目的とする制御精度を勘案して適宜設定すればよい。【０１３１】
図２０は、図１８に示したステップＳ１８０２の処理、すなわち、上記のようにして求めた遷移行列ａ及び接続行列ｂから成る状態方程式と設定した評価関数とからフィードバックゲイン行列Ｋを製品種ごとに求めるための処理手順の例を示すフローチャートである。【０１３２】
すなわち、まず製品種ごとにペトリネットモデルの各プレースの処理時間Ｔp に比例したきざみ時間遅れｎp を表した遷移行列ａと接続行列ｂとを最適化計算装置２１２に入力するとともに（ステップＳ２００１）、評価関数を表す行列Ｑ，Ｒを入力する（ステップＳ２００２）。そして、上記入力した遷移行列ａ、接続行列ｂ及び評価行列Ｑ，Ｒからフィードバックゲイン行列Ｋを計算する（ステップＳ２００３）。この計算を全ての製品について完了するまでステップＳ２００４からステップＳ２００１の処理に戻り、以上の処理を繰り返して行う。なお、全製品についてペトリネットモデルの各プレースの処理時間Ｔp に比例したきざみ時間遅れｎp を表した遷移行列ａと接続行列ｂとを最適化計算装置２１２に入力し、全製品を一括で計算するようにしてもよい。【０１３３】
図２１は、図１８に示したステップＳ１８０３の処理、すなわち、上述のようにして計算したフィードバックゲイン行列Ｋと工程内製品仕掛状態を表す状態ベクトルＭ(K) とから、製品の移動操作端に対する操作ベクトルｕ(K) を製品種ごとに求めたのち、仮想的な生産・物流プロセス内の各移動操作端に対して、正値で大きい操作量が得られた製品順に移動可能な数だけ移動操作を順次行うという方法を用いて、所定期間の生産・物流プロセスのシミュレーションを実行するための処理手順の例を示すフローチャートである。【０１３４】
すなわち、まずペトリネットモデルの初期状態における状態ベクトルＭ(0) を入力するとともに、投入予定の全製品を投入プレースに入力し、時刻 kの値を０に初期化したのち（ステップＳ２１０１）、現時点（時刻：k ）における全製品種の状態ベクトルＭ(k) を入力する（ステップＳ２１０２）。【０１３５】
そして、上述の方法を用いて計算されたフィードバックゲイン行列Ｋと上記入力した状態ベクトルＭ(k) とをかけて製品種ごとに操作ベクトルｕ(k) を計算し（ステップＳ２１０３）、次に移動操作端ごとに、正値で大きい操作量が得られた製品順に、移動可能な数だけ移動操作を実行する（ステップＳ２１０４）。【０１３６】
次に、時刻を進めたのち（ステップＳ２１０５）、各ステップのシミュレーションが終了したかどうかを判断し（ステップＳ２１０６）、終了していないときはステップＳ２１０２の処理に戻る。一方、終了したときは、そのシミュレーション結果をもって生産スケジュールとする（ステップＳ２１０７）。【０１３７】
次に、第６の実施形態の作用を以下に示す例に即して説明する。ここでは、異なる複数の工程で複数の製品を処理して製造するプロセスの例として、２種類の製品、すなわち製品Ａと製品Ｂとを４つの工程で処理して製造する場合を考え、各製品に対する各工程の処理時間が表１のように与えられているものとする。【０１３８】
【表１】
0004690893.tif 000003
【０１３９】
また、離散きざみ時間ΔＴを５分として両製品Ａ，Ｂを製造するプロセスのペトリネットモデルを示したものが、図２２である。上記した表１は、処理時間を離散きざみ時間ΔＴ（＝５分）で除して得られた各工程１、２、３、４のきざみ時間遅れを表している。この例では、製品Ａについては工程１、２、３、４がそれぞれ２、３、１、２のきざみ時間遅れを有し、製品Ｂについては工程１、２、３、４がそれぞれ２、２、０、２のきざみ時間遅れを有している。この例において製品Ａ，Ｂは、移動操作端T1（以降、移動操作端をトランジションとも称する）を経由して投入され、トランジションT6を経由して次工程或いは倉庫等へ搬出される。すなわち、製品ＡはプレースP1,P2,P3,P4 を通り、製品ＢはプレースP1,P2,P4を通る。【０１４０】
上述のように、離散化したある時刻k において各プレースに存在するトークンの数を示す状態ベクトル、言い換えれば状態量をＭ(k) で表し、各トランジション発火の有無を"１"及び"０"で表現した操作ベクトルをｕ(k) で表わすと、次の時刻k+1 における状態ベクトルＭ(k+1) は、遷移行列ａ、接続行列ｂを用いて上式(イ)で表わすことができる。状態方程式（イ）上の移動操作端（トランジション）と、実プロセスの移動操作端とは一致している。すなわち、操作ベクトルｕ(k) の信号は、実プロセスの操作信号である。【０１４１】
例えば、製品Ａに対してプレースP1,P2,P3,P4 に存在するトークンの数を並べたベクトルをＭ、トランジションT1,T2,T3,T5,T6の発火の有無を"１"及び"０"で表した操作ベクトルをｕとすれば、以下の式（２）、（３）で示される遷移行列ａと接続行列ｂとを用いて、ベクトルＭ(k) からベクトルＭ(k+1) への状態変化を表現することができる。【０１４２】
【数２】
0004690893.tif 000004
【０１４３】
ただし、上記式（２）において、列方向の１桁の番号はプレース番号を示し、行方向の２桁の番号のうち、左側の数字はプレース番号を示し、右側の数字は各プレースに存在する状態（きざみ時間遅れ）の番号を示している。また、上記式（３）において、列方向の１桁の番号はトランジション番号を示し、行方向の２桁の番号のうち、左側の数字はプレース番号を示し、右側の数字は各プレースに存在する状態（きざみ時間遅れ）の番号を示している。【０１４４】
上記遷移行列ａを表現するときの一般形を、次の式（４）に示す。この式（４）から明らかなように、ある工程に存在する状態数がｎのとき、その工程に関する部分の小行列は、式（４）中に示したようなｎ×ｎの正方行列で表される。そして、全工程の遷移を表した遷移行列ａは、上記各工程に関する小行列を行方向及び列方向の番号に対応した適当な位置に配置するとともに、その他の要素を全て"０"とすることによって表される。【０１４５】
【数３】
0004690893.tif 000005
【０１４６】
また、上記接続行列ｂを表現するときの一般形を、次の式（５）に示す。すなわち、ある工程に存在する状態数がｎのとき、その工程に関する部分の小行列は、式（５）に示すようなｎ×２の行列で表される。(1,1) 要素の数"１"は、該当するプレースにトークンが入力されることを示し、(n,2) 要素の数"−１"は、該当するプレースからトークンが出力されることを示している。そして、全工程に関する接続行列ｂは、上記各工程の小行列を行方向及び列方向の番号に対応した適当な位置に配置するとともに、その他の要素を全て"０"とすることによって表される。【０１４７】
【数４】
0004690893.tif 000006
【０１４８】
製品Ａについて上記式（２）、（３）で示される遷移行列ａと接続行列ｂとを用いてベクトルＭ(k) からベクトルＭ(k+1) への状態変化を表現したのと同様のことが製品Ｂについても表現できる。【０１４９】
このように、製品ごとに、処理時間を入力したプレースを持つペトリネットモデルを用い、製品ごとに各工程でのきざみ時間遅れを表した遷移行列ａと接続行列ｂとで各工程を表すことにより、離散時刻k が１進むたびに複数の離散きざみ時間を要するプレースでトークンが移動していくことを表現でき、その結果、離散時間系の最適制御理論を適用できる形にすることができる。【０１５０】
この場合、１つのプレースに複数単位の処理時間（離散きざみ時間）を割り当てるようにしてペトリネットモデルを構築し、遷移行列ａ及び接続行列ｂの２つの行列式だけで物流モデルを表現できるようにしているので、１つの離散きざみ時間ごとに１つのプレースを設けた制御用のペトリネットモデルを再構築しなくても済む。また、上記１つの離散きざみ時間ごとにプレースを設けたペトリネットモデルに比べて制御端の数を少なくすることができ、実際のプロセスに使いやすいモデルとすることができる。【０１５１】
これにより、制御の目的にあわせて適当な行列Ｑ，Ｒを設定して、評価関数（ロ）が最小になるように制御することを考えれば、上式（ハ）とした状態フィードバック制御を行うフィードバックゲイン行列Ｋを最適制御理論より求めることができる。フィードバックゲイン行列Ｋの計算法としては、例えば（安藤和昭、他編著「数値解析手法による制御系設計」計測自動制御学会発行、pp.126-130、平成５年初版第２刷）に記載されたいくつかの方法がある。【０１５２】
また、評価行列Ｑ，Ｒは、それぞれプレースの数及びトランジションの数の次元を有する正方行列で、それぞれ制御の過渡特性とトランジション操作の入力エネルギーとを評価関数として表すためのものであり、制御目的に応じて適宜設定すればよい。例えば、過渡特性を重視する場合は、大きな数値をもつ行列Ｑを設定すればよい。また、操作に要する入力エネルギーを小さく抑えたい場合は、大きな数値をもつ行列Ｒを設定すればよい。【０１５３】
次に、第６の一実施形態の具体例を、モデル構築、制御則構築、シミュレーション、実施結果例に分けて以下に説明する。
〔モデル構築〕
図２３は、複数工程よりなる製造プロセスのペトリネットモデルの一例を示したものであり、離散きざみ時間ΔＴは５分に設定してある。この製造プロセスは、工程１、２、３、４からなる前処理工程と工程５、６からなる後処理工程とから構成され、プレースP1（投入プレース）で示した前処理工程入側バッファと、プレースP6,P8 で示した後処理工程入側バッファと、プレースP10 で示した搬出用プレースとを具備している。【０１５４】
この製造プロセスでは、前処理工程１又は２で処理された製品は後処理工程５で処理され、また、前処理工程３又は４で処理された製品は後処理工程６で処理されるが、製品によっては前処理工程１〜４と後処理工程５〜６の複数の組合せのいずれかで処理し得るものがあるため、全体で１５の製品種類がある。次の表２は、それぞれの製品種がどの前処理工程と後処理工程との組合せで処理可能かを示したものである。【０１５５】
【表２】
0004690893.tif 000007
【０１５６】
図２３において、プレースP11,P12,P13,P14,P15,P16 は、それぞれ工程１〜６の処理容量を制限するための仮想プレースであり、これらの仮想プレースに初期設定された容量設定用仮想トークンの数により、各処理工程で同時に処理できる製品の数を制限している。例えば、工程１は、プレースP2から構成されるとともに、仮想プレースP11 に初期状態として１個の容量設定用仮想トークンが置かれることにより、この工程１での処理容量が１に設定されている。【０１５７】
すなわち、工程１に製品がなかった状態からトランジションT2を経由して製品が入力されるときに、仮想プレースP11 に置かれた容量設定用仮想トークンが同時に入力され、製品を表すトークンがプレースP1からプレースP2に移動する。その後、そのトークンがトランジションT3を経由してプレースP6に移動すると同時に容量設定用仮想トークンがプレースP11 に復帰して、再び工程１が待ち状態になる。【０１５８】
このように、複数のプレースで表される工程に対して仮想プレースを適宜利用することにより、各工程の処理容量を設定して製造プロセスのペトリネットモデルを構築することは周知の手法である。【０１５９】
なお、この図２３の例は、工程１から工程６までの仮想プレースP11,P12,P13,P14,P15,P16
の容量が全て１のプロセスである。また、製品入力用のプレースP1と製品出力用のプレースP10 は最大２００個の製品を収容可能で、プレースP6,P8 のバッファはともに最大２０個の製品を収容可能と設定してある。【０１６０】
図２４に実線で示された部分は、表２に記載した製品種No.1に対するペトリネットモデルを示したものである。同様に、全ての製品種に対してもペトリネットモデルを構築することにより、図１８のフローチャートに示したモデル構築が行われる。【０１６１】
〔制御則構築〕
引き続き製品種No.1を例にとり、フィードバックゲイン行列Ｋを求める過程を説明する。式（イ）の状態方程式における遷移行列ａは、図２４に示された製品種No.1のペトリネットモデルに対しては、次の式（６）で表現されるサイズ８×８の行列として求められる。ただし、式（６）において、列方向の番号はプレース番号を示し、行方向の番号のうち、下１桁以外の数字はプレース番号を示し、下１桁の数字は各プレースに存在する状態（きざみ時間遅れ）の番号を示している。【０１６２】
【数５】
0004690893.tif 000008
【０１６３】
また、式（イ）の状態方程式における接続行列ｂは、図２４に示された製品種No.1のペトリネットモデルに対しては、次の式（７）で表現されるサイズ８×６の行列として求められる。ただし、式（７）において、列方向の番号はトランジション番号を示し、行方向の番号のうち、下１桁以外の数字はプレース番号を示し、下１桁の数字は各プレースに存在する状態の番号を示している。【０１６４】
【数６】
0004690893.tif 000009
【０１６５】
また、式（ロ）で表される評価関数中における行列Ｑ，Ｒは、上述したように、それぞれ各工程のきざみ時間遅れ数及びトランジションの数の次元を有する正方行列であるから、それぞれペトリネットモデルの製品種ごとに設定される。【０１６６】
製品種No.1に対しては、この製造プロセスにおける標準的な値として、
Ｑ＝20×Ｉ(8) ・・・(8)
及び
Ｒ＝Ｉ(6) ・・・(9)
を設定した。ただし、式（８）、（９）においてＩ(n) はｎ次の単位行列である。【０１６７】
このようにして遷移行列ａ及び接続行列ｂと、評価関数を定義する行列Ｑ，Ｒとが定まれば、離散時間系における最適制御理論によりフィードバックゲイン行列Ｋを求めることができる。【０１６８】
すなわち、代数リッカチ方程式（１０）
P＝ATPA−ATPB(BTPB+R)-1BTPA+Q・・・(10)
を満足する解Pを求めれば、フィードバックゲイン行列Ｋは、
Ｋ＝−(BTPB+R)-1BTPA
・・・(11)
により計算することができる。ここで、(BTPB+R)-1は行列(BTPB+R)の逆行列である。なお、リッカチ方程式の解法は、上述した参考文献にも詳述されているように既知の方法が多々知られている。【０１６９】
このようにして計算した製品種No.1のペトリネットモデルに対するフィードバックゲイン行列Ｋは、次の式（１２）で与えられる。ただし、この式（１２）において、列方向の番号及び行方向の番号は、それぞれ式（７）における行方向の番号及び列方向の番号に対応するものである。【０１７０】
【数７】
0004690893.tif 000010
【０１７１】
同様にして全ての製品種に対してもフィードバックゲイン行列Ｋを計算することにより、図１１のフローチャートに示した制御則の構築が行われる。【０１７２】
〔シミュレーション〕
次に、シミュレーションについて、図２１に示したフローチャートに沿って説明する。まず、ペトリネットモデルの初期状態における状態ベクトルＭ(0) を入力するとともに、投入予定の全製品を投入プレースに入力し、時刻 kの値を０に初期化したのち（ステップＳ２１０１）、現時点（時刻：k ）における全製品種の状態ベクトルを入力し（ステップＳ２１０２）、新規投入製品を製品種ごとに入力して状態ベクトルに加えると、現時点における最終的な状態ベクトルＭ(k) が定まる。さらに、製品種ごとに、フィードバックゲイン行列Ｋと状態ベクトルＭ(k)
とをかければ、操作ベクトルｕ(k) が計算できる（ステップＳ２１０３）。【０１７３】
例えば、ある時刻k において製品種No.1のトークンがプレースP6のみに１個あり、さらに同品種の新規投入製品は無かったとすると、製品種No.1に対する最終的な状態ベクトルＭ(k) は、
Ｍ(k) ＝ [ 0 0 0 1
0 0 0 0 ]′ ・・・(13)
となる。ただし、式（１３）において記号′は転置ベクトルであることを表す。また、式（１３）の各要素は、それぞれ各プレースP1,P2,P6,P7,P10 の状態番号11,21,22,61,71,72,73,101に対応する製品種No.1のトークン数を表す。【０１７４】
次に、式（１２）で与えられたフィードバックゲイン行列Ｋと式（１３）の状態ベクトルＭ(k)
とを式（ハ）に従ってかければ、操作ベクトルｕ(k) は、
ｕ(k) ＝ [-0.249
-0.255 -0.3430 0.300 0.002 0.004 ]′ ・・・(14)
と求められる。ただし、式(14)の各要素は、それぞれトランジションT1,T2,T3,T10,T11,T14に対する操作量である。【０１７５】
同様にして全ての製品種に対しても操作ベクトルｕ(k) を求める。そして、移動操作端すなわちトランジションごとに、正値で大きい操作量が得られた製品順に、移動可能な数だけ移動操作を実行する（ステップＳ２１０４）。【０１７６】
例えば、時刻k において製品種No.1のトークンがプレースP6に１個あり、このとき同時に製品種No.8のトークンもプレースP6に１個あり、他の製品種のトークンはプレースP6にはなかったとする。この場合、トランジションT10 に関して製品種No.1のトークンに対する操作量は、式（１４）より0.300であった。一方、製品種No.8のトークンに対する操作量を同様にして計算する。製品種No.8の遷移行列aを式（１５）、接続行列ｂを（１６）、行列Ｑ、Ｒを（１７）、（１８）を示す。フィードバックゲイン行列Ｋは次の式（１９）のようになり、トランジションT10 の操作量は0.361となる。【０１７７】
【数８】
0004690893.tif 000011
【０１７８】
【数９】
0004690893.tif 000012
【０１７９】
Ｑ＝20×Ｉ(16) ・・・(17)
Ｒ＝Ｉ(10) ・・・(18)
ただし、式（17）、（18）においてＩ(n) はｎ次の単位行列である。【０１８０】
【数１０】
0004690893.tif 000013
【０１８１】
ここで、トランジションT10 は、移動操作すなわち発火によって１個のトークンをプレースP7に移動させることができるものであるとする。この場合、時刻k においては仮想プレースP15 に容量設定用仮想トークンが１個存在しているため、結局製品種No.８のトークンに対してのみトランジションT10 を発火させることが可能になる。また、製品種No.８のトークンは時刻k において他のプレースには存在していなかったから、操作量の正負に関わらずトランジションT10
以外のトランジションは発火できない。【０１８２】
したがって、製品種No.８に対する最終的な操作ベクトルｕ(k) は、
ｕ(k) ＝ [ 0 0 0 0
0 1 0 0 0 0 ]′・・・(20)
となり、トランジションT10 のみが発火する。その結果、製品種No.８に対する時刻k における状態ベクトルが
Ｍ(k) ＝ [ 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 ]′ ・・・(21)
から時刻k+1 における状態ベクトルへ
Ｍ(k+1) ＝ [ 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0 ]′ ・・・(22)
と更新される。【０１８３】
同様の計算を全製品種、全トランジションについて行えば、全製品種に対する時刻k+1 における状態ベクトルＭ(k+1) が計算されることになる。その後は、時間を進めたのち（ステップＳ２１０５）、各ステップのシミュレーションが終了したかどうかを判断し（ステップＳ２１０６）、終了していないときはステップＳ２１０２の処理に戻る。一方、終了したときは、そのシミュレーション結果をもって生産スケジュールとする（ステップＳ２１０７）。【０１８４】
上述したように、本実施形態においては、上述した第４の実施形態の効果に加えて、１つのプレースに複数のきざみ時間遅れを含むようにしてペトリネットモデルを構築し、遷移行列及び接続行列の２つの行列式だけで数式モデルを表現できるようにしたので、１つのきざみ時間遅れごとに１つのプレースを設けたペトリネットモデルを再構築しなくても済む。また、１つのきざみ時間遅れごとに１つのプレースを設けたペトリネットモデルに比べて制御端の数を少なくすることができ、実プロセスに使いやすいものとすることができる。【０１８５】
なお、本実施形態では、ペトリネットモデルを例に挙げて説明したが、その他のグラフモデル、例えば有向グラフや無向グラフに本発明を適用することも可能である。例えば有向グラフでは、上述したペトリネットモデルにおけるプレースは点で表現され、トランジションは矢印付きの線で表現される。矢印付きの線は、点から点へ製品すなわちトークンを移動させる移動操作端であり、移動路の役目をする。また、矢印は、線から点、或いは、点から線へトークンが移動する方向を示すものである。【０１８６】
また、ペトリネットモデルでは、各工程内に設けられている仮想プレースに初期設定された容量設定用仮想トークンの数により、各処理工程で同時に処理できる製品の数を制限していたが、通常のグラフモデルでは仮想プレースは存在せず、各工程内における処理容量をソフトウェア上で制御される。【０１８７】
このような特徴を有する通常のグラフモデルに本発明を適用する場合も、一連の動作は上述したペトリネットモデルにおける動作と同様であり、ここでは、その詳細な説明は省略する。【０１８８】
以下に説明する第７の実施形態は、上述した第３の実施形態に関連するものである。
（第７の実施形態）
図３に示したように、本実施形態の生産・物流スケジュール作成装置も、物流シミュレータ３００、数式モデル３２１、最適化計算装置３３０等によって構成されている。【０１８９】
以下に、第７の実施形態を、図２５〜２７を参照しながら説明する。
本実施形態の生産・物流スケジュール作成装置では、プロセスＡからプロセスＢまでの製造プロセスにおいて、与えられた投入順と工場物流制約の下で、プロセスＢ操業計画にマッチしたプロセスＡ操業計画の最適化問題を扱うものとする。ただし、これはあくまでも一例であり、本実施形態の生産・物流スケジュール作成装置は、下工程の方に課せられた多くの制約を守りつつ上工程での操業計画を作成する際には適用することが可能であり、また特に有効である。【０１９０】
ここでの操業計画では、まず第１に、工場全体のスループットを最大にすることを目的とする。第２に、途中工程での半製品滞留時間を最小にすることを目的とする。すなわち、プロセスＡより処理された半製品は、搬送機器等によりプロセスＢの所まで運ばれてきた後、現在中間バッファーに投入中の半製品が完全に終了するまで、置き場に予備的に置かれ、ここで待ち時間が生じる。この待ち時間が長くなると、半製品の温度低下が大きくなり製品の品質上問題が生じる。よって、このような温度低下を抑制するためにも、置場上での投入待ち時間を最小化する必要がある。【０１９１】
なお、プロセスＡより処理された半製品が搬送機器よってプロセスＢまで運ばれてくるのには時間がかかる。その際、製品の種類によっては、プロセスＡからプロセスＢまでの途中過程で、２次処理の処理が施される場合もある。【０１９２】
また、プロセスＢ内での各半製品の処理時間が各半製品毎に異なることもある。その一方で、上述したように、プロセスＢの入口にある中間バッファの中身が完全に途切れる前に次の半製品を投入必要がある。よって、プロセスＡの操業計画を作成する際には、各半製品毎に処理時間が異なること、及び各半製品の連続化や滞留時間の最小化の必要性等を考慮して、プロセスＡでの処理順だけでなく処理時刻まで正確に決定する必要がある。【０１９３】
図２５は、本実施形態による生産・物流スケジュール作成装置の概略的構成を示すブロック図、図２６は、本実施形態による生産・物流スケジュール作成装置によって行われる処理の概要を説明するための図、図２７は、計画システム内での本実施形態による処理計画作成装置の位置づけを示す図である。最初に、図２７を用いて本実施形態による生産・物流スケジュール作成装置の位置づけを説明する。【０１９４】
図２７に示すように、日毎操業計画を作成する際には、まず、投入順作成部３１で、あらかじめ設定された週間スケジュール３０をもとにして、各半製品のプロセスＢへの投入順を決定する、ここでは少なくとも、プロセスＡのどの装置で処理されたあと、半製品をプロセスＢのどの装置でどの順序で処理するかを決定する。【０１９５】
本実施形態の処理計画作成部３２は、投入順作成部３１により作成された投入順や様々な工場物流制約の下で、投入順作成部３１より与えられたプロセスＢの投入順の情報からプロセスＡでの操業計画、すなわち、プロセスＡでの処理順と処理時刻とを求める。【０１９６】
この処理計画作成部３２では、以下に詳しく述べるように、物流構造（工場内の設備配置やその接続関係、設備容量、半製品の通過ルート等）をグラフィカルにモデリングしたペトリネットによる離散事象シミュレータと、静的な計画問題の解法としてよく用いられるＬＰ（線形計画法）との従来にはない全く新たな組み合わせにより、いわゆるモデル予測制御の考え方に基づきプロセスＡでの処理順及び処理時刻の最適化を図る。【０１９７】
処理計画作成部３２で求められたプロセスＡでの操業計画（処理順及び処理時間の情報）は、表示部３３に与えられ、例えばガントチャートの形式で表示される。各種評価部３４では、求められた操業計画を様々な観点から評価し、満足のいく結果でなければ必要に応じて各半製品の投入順を修正する。そして、処理計画作成部３２でもう一度操業計画を作成し直す。【０１９８】
次に、上記処理計画作成部３２によって行われる処理の概要を、図２６を用いて説明する。なお、この図２６の例では、プロセスＡ１号機及び２号機、プロセスＢ１号機，２号機及び３号機を例にとっている。また、この図２６の例では、図２７の投入順作成部３１により、プロセスＡ１号機からプロセスＢ１号機に「Ａ，Ｂ，Ｃ，Ｄ，Ｅ」の英字で示す半製品をこの順番で処理すると共に、プロセスＢ２号機に「１，２，３，４，５」の数字で示す半製品をこの順番で処理し、プロセスＡ２号機からプロセスＢ３号機に「Ｏ，Ｐ，Ｑ，Ｒ，Ｓ」の英字で示す半製品をこの順番で処理することが決められている。【０１９９】
処理計画作成部３２は、このような投入順の下、モデル予測制御の考え方に基づき、処理時刻のシミュレーションの各判断時毎に（処理事象が発生する毎に）将来の物流状態である置場上での半製品の待ち時間や半製品処理速度の減速量を推定した上で、全体のスループットの最大化や待ち時間の最小化のために設定した所定の評価関数を最良にするプロセスＡの処理順と処理時刻とを決定する。このとき、将来の物流状態の推定範囲は、各プロセスＢの処理予定の１半製品分とする。【０２００】
すなわち、例えば図２６の上図のように、シミュレーション上の時刻ｔにおいて半製品Ｒの処理事象が発生したとする。この半製品Ｒは、プロセスＡ２号機で処理された後、搬送機器で運ばれ、時間ｔ１後に（この時間ｔｌの中には２次処理での処理時間も含まれているものとする）プロセスＢ３号機に到着する。そして、このプロセスＢ３号機内で時間ｔをかけて連続処理の処理が行われる。このような半製品Ｒの処理事象が発生したとき、まずステップＳ１で、将来の物流状態の予測範囲として各プロセスＢ毎に１半製品分を設定する。ここでは、プロセスＢ１号機に関して半製品Ｄ、プロセスＢ２号機に関して半製品５、プロセスＢ３号機に関して半製品Ｓを予測範囲として設定する。【０２０１】
次に、ステップＳ２では、設定した予測範囲内の各半製品（Ｄ，５，Ｓ）の処理完了希望時刻をそれぞれ算出するとともに、物流制約に基づく物流モデルを定式化する。ここで処理完了希望時刻とは、当該半製品をプロセスＡから何時に処理すれば前の半製品の処理完了時刻に当該半製品がプロセスＢにぴったり到着するかを示す時刻である。これは、既に処理された前の半製品の処理完了時刻から半製品の運搬時間（２次処理処理時間を含む）を減算することによって簡単に求められる。現在の予測範囲内の各半製品（Ｄ，５，Ｓ）の処理完了希望時刻は、図２６の上図中に×印で示してある。【０２０２】
このようにして、ある時刻ｔで処理事象が発生したときに、そこから各プロセスＢ毎に１半製品分の予測範囲を設定して物流モデルを構築したら、続くステップＳ３で、その構築した物流モデルと、あらかじめ設定した所定の評価関数とを用いて、予測範囲内の３つ半製品（Ｄ，５，Ｓ）を対象として処理時刻の最適化計算を行う。ここではこの最適化計算により、ステップＳ４で、半製品Ｄ→半製品５→半製品Ｓの順が最適であるとの結果が得られたとする。【０２０３】
そこで、次のステップＳ５では、ペトリネットのシミュレータに半製品Ｄ→半製品５→半製品Ｓの順で処理指示を出す。これに応じてシミュレータは、ステップＳ６で、半製品Ｄの処理時刻ｔ＋△ｔまでシミュレーションを進める。この状態が図２６の下図に示してある。このようにして再び処理事象が発生したので、ステップＳ７で、その半製品Ｄの処理事象発生時刻ｔ＋△ｔから各プロセスＢ毎に１半製品分を将来の物流状態の予測範囲として設定する。ここでは、プロセスＢ２号機及び３号機に関しては前回と同様であるが、処理事象の発生したプロセスＢ１号機に関しては半製品Ｅが新たに予測範囲として設定されている。【０２０４】
この新たに設定した予測範囲についても前回と同様に、物流モデルの構築及び最適化計算を行う。物流モデルの構築で半製品Ｅの希望処理時刻を求める際に、その直前の半製品Ｄについては既に処理されてシミュレーションが済んでいるので、半製品Ｄでの処理完了時刻はペトリネットのシミュレータから得ることができる。よって半製品Ｅの希望処理時刻は、この半製品Ｄの処理完了時刻から半製品Ｅの運搬時間を減算することによって求められる。【０２０５】
なお、ここでの最適化計算では、ステップＳ８に示すように、半製品Ｓ→半製品５→半製品Ｅの順が最適であるとの結果が得られたとする。この場合は、ペトリネットのシミュレータに半製品Ｓ→半製品５→半製品Ｅの順で処理指示を出すことによって、シミュレータにおけるシミュレーションを半製品Ｓの処理時刻まで進める。以下、同様にして、処理事象が発生する毎に、そこから将来の予測範囲を各プロセスＢの１半製品分で区切って部分的にシミュレーション（処理順及び処理時刻の最適化）を行う処理を繰り返していく。【０２０６】
なお、図２６の例では、全ての半製品が希望処理時刻どおりに処理されたシミュレーションの結果を示しているが、必ずしも希望処理時刻に処理される結果が得られるとは限らない。希望処理時刻よりも処理時刻が遅れると、プロセスＢ内での半製品の連続性が断たれるので、連続性を維持するために前の半製品の処理時間を長くする（処理速度を減速させる）必要がある。しかし、これは全体のスループットを低下させる方向に働くものである。【０２０７】
一方、希望処理時刻よりも処理時刻が早まると、全体のスループットを向上させることは可能であるが、置場上での半製品の滞留時間が長くなる方向に働き、待ち時間の間に半製品の温度低下を招いてしまう。そこで実際には、これらの全体のスループットや滞留時間の両方を考慮した評価関数を用い、最適化計算の結果得られる評価値が最良になる処理時刻を選ぶことにより、両者の最適なトレードオフを図っている。【０２０８】
次に、図２６に示したような処理を行う処理計画作成部３２の概略的な構成について、図２５を用いて説明する。図２５において、１１はペトリネットによる離散事象シミュレータであり、ペトリネットによるグラフィカルな物流構造モデルと、グラフィカルに表現できないルール記述とによって構成される。ここで、ルールの例としては、半製品を最も早く処理できる時刻の限界を示す処理最早時刻、半製品を最も遅く処理できる時刻の限界を示す処理最遅時刻、及び複数プロセスＡの干渉条件等がある。【０２０９】
以下に、数式モデルの具体例を説明する。上述したように、プロセスＢ内での各半製品の処理速度はある狭い範囲内でのみ変更が許されており、且つ置場上での待ち時間にも上下限があるため、これらをすべて満たすようにプロセスＡの処理終了最早、最遅時刻が各半製品毎に設定される。【０２１０】
また、プロセスＡの同一の号機で連続して処理するためには、少なくともプロセスＡの処理時間だけは間隔を確保する必要があり、プロセスＡの別の号機で処理するためには、プロセスＡへの原料装入用搬送機器能力等の制約から必要な時間間隔を確保する必要がある。そのため、同一の号機に関しては例えば４５分、別の号機に関しては例えば２０分の間隔をおかなければならないという条件が物流制約として課される。【０２１１】
１２は物流モデル構築部であり、上記シミュレータ１１に設定されている処理終了最早、最遅時刻及び物流制約の情報と、シミュレータ１１によってシミュレーションが行われた結果として与えられる現在の物流状況（過去に処理を開始したものがどの半製品で、その処理完了時刻がいつかという情報）とを組み合わせて、各プロセスＢ毎に１半製品分の将来予測範囲を設定してその範囲内の物流モデルを構築する。この物流モデルは、以下に説明するように数学モデルによる定式化によって行う。【０２１２】
ここで、物流モデルの定式化について説明する。上述したように、図２８は、物流モデルの定式化の概要を示す図である。図２８に示すように、シミュレーション上の時刻ｔにおいてある半製品のプロセスＡの処理終了事象が発生したときに、その時刻ｔから各プロセスＢ毎に１半製品分を将来の物流状態の予測範囲として設定し、シミュレータ１１より得られる現状の物流状態から、予測範囲内の各半製品のプロセスＡの処理終了希望時刻をそれぞれ算出する。シミュレータ１１より得られる前半製品の処理完了時刻をａ、予測している半製品のプロセスＡの処理終了からプロセスＢの処理開始までの時間をｂとすると、プロセスＡの処理終了希望時刻は、ｃ＝ａ−ｂなる演算により簡単に求まる。【０２１３】
次に、シミュレータ１１よりプロセスＡの処理終了最早、最遅時刻及びプロセスＢ物流制約の情報を取り込み、これを定式化する。図２８の例で、プロセスＢ１号機へのプロセスＡの処理終了時刻をC１，プロセスＢ２号機へのプロセスＡの処理終了時刻をC２，プロセスＢ３号機へのプロセスＡの処理終了時刻をC３とすると、プロセスＢの物流制約は、
｜ｃ１−ｃ２｜≧４５，｜ｃ２−ｃ３｜≧２０
と表され、プロセスＡの処理終了最早時刻及び最遅時刻の条件は、
ｃ１最早≦ｃ１≦ｃ１最遅
ｃ２最早≦ｃ２≦ｃ２最遅
ｃ３最早≦ｃ３≦ｃ３最遅
と表される。【０２１４】
さらに、これらの式を変形すると、物流モデルは、
Ａｘ≦Ｂ
Ｘｍｉｎ≦Ｘ≦Ｘｍａｘ
という簡単な線形式で表すことができる。なお、ｘは各プロセスＢのプロセスＡの処理終了時刻を行列表現したもの、Ａ，Ｂは所定の行列式、ｘｍｉｎ及びｘｍａｘはそれぞれ各プロセスＢへのプロセスＡの処理終了最早時刻及び最遅時刻を行列表現したものである。【０２１５】
図２９は、上述した各実施形態の生産・物流スケジュール作成装置を構成可能なコンピュータシステムの一例を示すブロック図である。同図において、１２００はコンピュータＰＣである。ＰＣ１２００は、ＣＰＵ１２０１を備え、ＲＯＭ１２０２又はハードディスク（ＨＤ）１２１１に記憶された、或いはフレキシブルディスクドライブ（ＦＤ）１２１２より供給されるデバイス制御ソフトウェアを実行し、システムバス１２０４に接続される各デバイスを総括的に制御する。【０２１６】
上記ＰＣ１２００のＣＰＵ１２０１、ＲＯＭ１２０２又はハードディスク（ＨＤ）１２１１に記憶されたプログラムにより、本実施形態の各機能手段が構成される。【０２１７】
１２０３はＲＡＭで、ＣＰＵ１２０１の主メモリ、ワークエリア等として機能する。１２０５はキーボードコントローラ（ＫＢＣ）であり、キーボード（ＫＢ）１２０９から入力される信号をシステム本体内に入力する制御を行う。１２０６は表示コントローラ（ＣＲＴＣ）であり、表示装置（ＣＲＴ）１２１０上の表示制御を行う。１２０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム（起動プログラム：パソコンのハードやソフトの実行（動作）を開始するプログラム）、複数のアプリケーション、編集ファイル、ユーザファイルそしてネットワーク管理プログラム等を記憶するハードディスク（ＨＤ）１２１１、及びフレキシブルディスク（ＦＤ）１２１２とのアクセスを制御する。【０２１８】
１２０８はネットワークインタフェースカード（ＮＩＣ）で、ＬＡＮ１２２０を介して、ネットワークプリンタ、他のネットワーク機器、或いは他のＰＣと双方向のデータのやり取りを行う。【０２１９】
なお、本発明は複数の機器から構成されるシステムに適用しても、一つの機器からなる装置に適用してもよい。【０２２０】
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。【０２２１】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。【０２２２】
プログラムコードを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。【０２２３】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。【０２２４】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。【０２２５】
以上述べた各実施形態では、シミュレーション結果から上記生産・物流プロセスにおける生産・物流スケジュールを作成する例を説明したが、シミュレーション結果に基づいて生産・物流プロセスの制御を行う場合にも本発明は適用される。
【産業上の利用可能性】
【０２２６】
本発明によれば、詳細シミュレーションを実行中に物流指示が必要な事象が発生するたびにシミュレータからシミュレーション現時点での物流状態及び物流制約の情報を検出し、上記検出した検出情報と予め定めた評価指標を元に最適化手法によって最適物流指示を計算し、上記計算結果に基づいて以後の詳細シミュレーションを進め、次に物流指示が必要な事象が発生した時点で最適物流指示を再度計算することを繰り返し行うようにしたので、詳細シミュレーション自体は一度行うだけで最適物流指示を得ることができる。また、シミュレータと、数式モデルと、最適化装置とを連動させて最適物流指示を計算し、上記計算結果のシミュレーションを行ってスケジュールを作成するようにしたので、物流制約条件が複雑であっても実行可能なスケジュールを作成することができる。また、所望の評価指標を最良にするスケジュールを作成することができるとともに、計算時間を短縮して実用的な時間内にスケジュールを作成することができる。これらにより、最適性と実行可能性の両方を確保できる。また、対象とする生産・物流プロセスの状態に応じたスケジュールを作成する際の手間及び時間を大幅に削減することができる。さらに、スケジュールを作成する対象の規模が大きい場合においても、正確な生産・物流スケジュールを高速に、且つ高精度に作成することが可能となる。
【図１】
0004690893.tif 000014
【図２】
0004690893.tif 000015
【図３】
0004690893.tif 000016
【図４】
0004690893.tif 000017
【図５】
0004690893.tif 000018
【図６】
0004690893.tif 000019
【図７】
0004690893.tif 000020
【図８】
0004690893.tif 000021
【図９】
0004690893.tif 000022
【図１０】
0004690893.tif 000023
【図１１】
0004690893.tif 000024
【図１２】
0004690893.tif 000025
【図１３】
0004690893.tif 000026
【図１４】
0004690893.tif 000027
【図１５】
0004690893.tif 000028
【図１６】
0004690893.tif 000029
【図１７】
0004690893.tif 000030
【図１８】
0004690893.tif 000031
【図１９】
0004690893.tif 000032
【図２０】
0004690893.tif 000033
【図２１】
0004690893.tif 000034
【図２２】
0004690893.tif 000035
【図２３】
0004690893.tif 000036
【図２４】
0004690893.tif 000037
【図２５】
0004690893.tif 000038
【図２６】
0004690893.tif 000039
【図２７】
0004690893.tif 000040
【図２８】
0004690893.tif 000041
【図２９】
0004690893.tif 000042