(57)【特許請求の範囲】
【請求項１】
離散事象プロセスである生産・物流プロセスにおける生産・物流スケジュールを作成する生産・物流スケジュール作成方法であって、
前記生産・物流プロセスの初期状態と目標状態との組み合わせについて、所定の期間Ｎにおいて、前記生産・物流プロセスを表現するモデルについて拘束条件を有する状態方程式、及び最終状態と目標状態との関係を含む評価関数で表される最適制御問題を解き、初期状態と、最終状態と、該初期状態から該最終状態までの状態遷移を実現する最適な制御入力との組み合わせである生産・物流方策の集合であるデータベースを作成するステップと、
与えられた初期状態及び目標状態に基づいて、前記データベースから生産・物流方策を探索して、生産・物流スケジュールを作成するステップとを有することを特徴とする生産・物流スケジュール作成方法。
【請求項２】
前記生産・物流スケジュールを作成するステップでは、
前記与えられた初期状態を初期状態とする生産・物流方策を前記データベースから探索し、前記探索した生産・物流方策の最終状態が前記与えられた目標状態と一致すれば、前記探索した生産・物流方策を生産・物流スケジュールとし、
前記探索した生産・物流方策の最終状態が前記与えられた目標状態と一致しない場合、前記探索した生産・物流方策の最終状態を新しい初期状態とし、そこから始まる生産・物流方策を前記データベースから探索することを、最終状態が前記与えられた目標状態と一致するまで繰り返し、これにより探索した複数の生産・物流方策を時間的に連続させて生産・物流スケジュールとすることを特徴とする請求項１に記載の生産・物流スケジュール作成方法。
【請求項３】
前記データベースを作成するステップでは、
前記所定の期間Ｎにおいて前記最適制御問題を解き、前記データベースを第１のデータベースとして作成するステップと、
１から（Ｎ−１）までの複数の期間それぞれで、最終状態と目標状態との関係を含まない評価関数を用いるとともに、最終状態が拘束集合を満たす条件で最適制御問題を解き、生産・物流方策の集合である複数の第２のデータベースを作成するステップとを有することを特徴とする請求項１に記載の生産・物流スケジュール作成方法。
【請求項４】
前記生産・物流スケジュールを作成するステップでは、
前記第２のデータベースに、前記与えられた初期状態が存在するか否かを１から（Ｎ−１）までの期間について順番に確認し、いずれかの前記第２のデータベースに存在すれば、該第２のデータベースに記述された生産・物流方策を生産・物流スケジュールとし、
前記第２のデータベースのいずれにも、前記与えられた初期状態が存在しない場合、前記与えられた初期状態を初期状態とする生産・物流方策を前記第１のデータベースから探索し、前記第１のデータベースから探索した生産・物流方策の最終状態が前記与えられた目標状態と一致すれば、前記第１のデータベースから探索した生産・物流方策を生産・物流スケジュールとし、
前記第１のデータベースから探索した生産・物流方策の最終状態が前記与えられた目標状態と一致しない場合、前記第１のデータベースから探索した生産・物流方策の最終状態を新しい初期状態とする第１のステップと、
前記第２のデータベースに、前記新しい初期状態が存在するか否かを１から（Ｎ−１）までの期間について順番に確認し、いずれかの前記第２のデータベースに存在すれば、該第２のデータベースに記述された生産・物流方策を、それまでに前記第１のデータベースから探索した生産・物流方策に時間的に連続させて生産・物流スケジュールとし、
前記第２のデータベースのいずれにも、前記新しい初期状態が存在しない場合、前記新しい初期状態を初期状態とする生産・物流方策を前記第１のデータベースから探索し、前記第１のデータベースから探索した生産・物流方策の最終状態が前記与えられた目標状態と一致すれば、今回前記第１のデータベースから探索した生産・物流方策を、それまでに前記第１のデータベースから探索した生産・物流方策に時間的に連続させて生産・物流スケジュールとし、
今回前記第１のデータベースから探索した生産・物流方策の最終状態が前記与えられた目標状態と一致しない場合、今回前記第１のデータベースから探索した生産・物流方策の最終状態を新たに前記新しい初期状態として、当該第２のステップを繰り返す第２のステップとを有することを特徴とする請求項３に記載の生産・物流スケジュール作成方法。
【請求項５】
前記生産・物流スケジュールを作成するステップは、前記データベースからの生産・物流方策の探索と、前記生産・物流プロセスを模擬するシミュレータによるシミュレーションとを連動させて、前記シミュレータによるシミュレーションの結果を用いて生産・物流スケジュールを作成することを特徴とする請求項１に記載の生産・物流スケジュール作成方法。
【請求項６】
前記生産・物流スケジュールを作成するステップは、
予め設定した方策探索期間に基づいて、前記与えられた初期状態を初期状態とする生産・物流方策を前記データベースから探索する第１ステップと、
前記第１ステップで探索した生産・物流方策を前記シミュレータに与えて、予め設定したシミュレーション期間に基づいてシミュレーションを実行する第２ステップと、
前記第２ステップでのシミュレーションの結果のうち予め設定した確定期間の結果を生産・物流スケジュールとして確定する第３ステップと、
前記第３ステップで前記確定期間内で前記シミュレーションにより得た状態が、前記与えられた目標状態に一致するか否かを確認して、一致しなければ、前記確定期間の終了時点の直後を新たな立案開始時点として設定するとともに、前記確定期間の終了時点でシミュレーションにより得た最終状態を新たな初期状態とし、一致すれば、前記確定期間内で前記与えられた目標状態に一致するまでのシミュレーションの結果を生産・物流スケジュールとして確定し、それまでに確定したものとされた一連の生産・物流スケジュールを時間的に連続させて生産・物流スケジュールを完成させる第４ステップとを有し、
前記第４ステップで前記新たな初期状態が与えられると、前記第１ステップでは、前記方策探索期間に基づいて、前記データベースから前記新たな初期状態を初期状態とする生産・物流方策を探索し、前記第２ステップ以降の処理を繰り返すことを特徴とする請求項５に記載の生産・物流スケジュール作成方法。
【請求項７】
前記第１ステップでは、
前記与えられた初期状態を初期状態とする生産・物流方策を前記データベースから探索し、前記探索した生産・物流方策の最終状態が前記与えられた目標状態と一致するか、前記方策探索期間の最終時点に達するかすれば前記探索を終了し、
前記探索した生産・物流方策の最終状態が前記与えられた目標状態と一致せず、前記方策探索期間の最終時点に達しない場合、前記探索した生産・物流方策の最終状態を新しい初期状態とし、そこから始まる生産・物流方策を前記データベースから探索することを、最終状態が前記与えられた目標状態と一致するか、前記方策探索期間の最終時点に達するかするまで繰り返し、これにより探索した生産・物流方策を時間的に連続させることを特徴とする請求項６に記載の生産・物流スケジュール作成方法。
【請求項８】
前記データベースを作成するステップでは、
前記所定の期間Ｎにおいて前記最適制御問題を解き、前記データベースを第１のデータベースとして作成するステップと、
１から（Ｎ−１）までの複数の期間それぞれで、最終状態と目標状態との関係を含まない評価関数を用いるとともに、最終状態が拘束集合を満たす条件で最適制御問題を解き、生産・物流方策の集合である複数の第２のデータベースを作成するステップとを有し、
前記第１ステップでは、
前記第２のデータベースに、前記与えられた初期状態が存在するか否かを１から（Ｎ−１）までの期間について順番に確認し、いずれかの前記第２のデータベースに存在すれば探索を終了するステップＡと、
前記第２のデータベースのいずれにも、前記与えられた初期状態が存在しない場合、前記与えられた初期状態を初期状態とする生産・物流方策を前記第１のデータベースから探索し、前記第１のデータベースから探索した生産・物流方策の最終状態が前記与えられた目標状態と一致するか、前記方策探索期間の最終時点に達するかすれば探索を終了するステップＢと、
前記探索した生産・物流方策の最終状態が前記与えられた目標状態と一致せず、前記方策探索期間の最終時点に達しない場合、前記第１のデータベースから探索した生産・物流方策の最終状態を新しい初期状態とするステップＣと、
前記第２のデータベースに、前記新しい初期状態が存在するか否かを１から（Ｎ−１）までの期間について順番に確認し、いずれかの前記第２のデータベースに存在すれば、該第２のデータベースに記述された生産・物流方策を、それまでに前記第１のデータベースから探索した生産・物流方策に時間的に連続させるステップＤと、
前記第２のデータベースのいずれにも、前記新しい初期状態が存在しない場合、前記新しい初期状態を初期状態とする生産・物流方策を前記第１のデータベースから探索し、前記第１のデータベースから探索した生産・物流方策の最終状態が前記与えられた目標状態と一致するか、前記方策探索期間の最終時点に達するかすれば前記探索を終了し、今回前記第１のデータベースから探索した生産・物流方策を、それまでに前記第１のデータベースから探索した生産・物流方策に時間的に連続させる一方、前記与えられた目標状態と一致せず、前記方策探索期間の最終時点に達しない場合、前記ステップＣに戻るステップＥとを行うことを特徴とする請求項６に記載の生産・物流スケジュール作成方法。
【請求項９】
前記データベースを作成するステップでは、操業上又は設備上のうち少なくともいずれかの制約条件を課して初期状態を限定して前記データベースを作成することを特徴とする請求項１乃至８のいずれか１項に記載の生産・物流スケジュール作成方法。
【請求項１０】
前記制約条件を、前記モデルで各状態を表わす状態変数に含まれる所定の複数の変数の和が一定であるとする制約式、及び前記モデルで各状態を表わす状態変数に含まれる所定の変数が一定値であるとする制約式のうち少なくともいずれかで表現することを特徴とする請求項９に記載の生産・物流スケジュール作成方法。
【請求項１１】
離散事象プロセスである生産・物流プロセスにおける生産・物流スケジュールを作成する生産・物流スケジュール作成装置であって、
前記生産・物流プロセスの初期状態と目標状態との組み合わせについて、所定の期間において、前記生産・物流プロセスを表現するモデルについて拘束条件を有する状態方程式、及び最終状態と目標状態との関係を含む評価関数で表される最適制御問題を解くことにより作成された、初期状態と、最終状態と、該初期状態から該最終状態までの状態遷移を実現する最適な制御入力との組み合わせである生産・物流方策の集合であるデータベースを保持するデータベース保持手段と、
与えられた初期状態及び目標状態に基づいて、前記データベースから生産・物流方策を探索して、生産・物流スケジュールを作成する生産・物流スケジュール作成手段とを備えたことを特徴とする生産・物流スケジュール作成装置。
【請求項１２】
離散事象プロセスである生産・物流プロセスにおける生産・物流スケジュールを作成するためのプログラムであって、
前記生産・物流プロセスの初期状態と目標状態との組み合わせについて、所定の期間において、前記生産・物流プロセスを表現するモデルについて拘束条件を有する状態方程式、及び最終状態と目標状態との関係を含む評価関数で表される最適制御問題を解くことにより作成された、初期状態と、最終状態と、該初期状態から該最終状態までの状態遷移を実現する最適な制御入力との組み合わせである生産・物流方策の集合であるデータベースを保持するデータベース保持手段と、
与えられた初期状態及び目標状態に基づいて、前記データベースから生産・物流方策を探索して、生産・物流スケジュールを作成する生産・物流スケジュール作成手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、離散事象プロセスである生産・物流プロセスにおける生産・物流スケジュー
ルを作成する生産・物流スケジュール作成方法、装置及びプログラムに関する。
【背景技術】
【０００２】
生産・物流プロセスにおける生産・物流スケジュールを作成する手法として、例えば特
許文献１の「生産計画評価方法及びシステム」に開示されているように、コンピュータ上
に構築した工場を模したシミュレーション上で、実機器と同じインタフェースから取得し
た情報を使用して実機器の稼動を予測し、稼動予測に基づいて、実機器より速い速度で仮
想的な生産を行い、仮想的な生産の過程及び結果を用いて、精度の高い指標を提示するこ
とによって、生産計画の評価及び選択を可能にする手法がある。
【０００３】
また、例えば特許文献２の「物流計画作成装置」に開示されているように、線形計画法
、数理計画法等の最適性が保証される手法に基づいてスケジュールを作成する手法がある
。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３６６２１９号公報
【特許文献２】特開２０００−１７２７４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されているように、シミュレータを用いて生産・物流
スケジュールを作成する手法では、満足できる結果が得られるまでには、（１）条件を種
々に変えながらシミュレーションを行い、その結果の評価を何回も繰返し行う必要があっ
た。したがって、（２）大規模工場では生産・物流スケジュールを作成するのに多くの時
間がかかってしまう問題点があった。
【０００６】
また、特許文献２に開示されているように、線形計画法、数理計画法等のように、最適
性が保証される手法に基づいてスケジュールを作成する手法では、生産・物流スケジュー
ルを作成する規模が大きくなると、実用的な時間内に解くことが困難になってしまう問題
点があった。
【０００７】
本発明は上記のような点に鑑みてなされたものであり、実用的な時間内に、最適性が確
保された精度の高い生産・物流スケジュールを作成できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の生産・物流スケジュール作成方法は、離散事象プロセスである生産・物流プロセスにおける生産・物流スケジュールを作成する生産・物流スケジュール作成方法であって、前記生産・物流プロセスの初期状態と目標状態との組み合わせについて、所定の期間Ｎにおいて、前記生産・物流プロセスを表現するモデルについて拘束条件を有する状態方程式、及び最終状態と目標状態との関係を含む評価関数で表される最適制御問題を解き、初期状態と、最終状態と、該初期状態から該最終状態までの状態遷移を実現する最適な制御入力との組み合わせである生産・物流方策の集合であるデータベースを作成するステップと、与えられた初期状態及び目標状態に基づいて、前記データベースから生産・物流方策を探索して、生産・物流スケジュールを作成するステップとを有することを特徴とする。
【０００９】
本発明の生産・物流スケジュール作成方法の他の特徴とするところは、前記生産・物流スケジュールを作成するステップでは、
前記与えられた初期状態を初期状態とする生産・物流方策を前記データベースから探索し、前記探索した生産・物流方策の最終状態が前記与えられた目標状態と一致すれば、前記探索した生産・物流方策を生産・物流スケジュールとし、
前記探索した生産・物流方策の最終状態が前記与えられた目標状態と一致しない場合、前記探索した生産・物流方策の最終状態を新しい初期状態とし、そこから始まる生産・物流方策を前記データベースから探索することを、最終状態が前記与えられた目標状態と一致するまで繰り返し、これにより探索した複数の生産・物流方策を時間的に連続させて生産・物流スケジュールとする点にある。
本発明の生産・物流スケジュール作成方法の他の特徴とするところは、前記所定の期間Ｎにおいて前記最適制御問題を解き、前記データベースを第１のデータベースとして作成するステップと、
１から（Ｎ−１）までの複数の期間それぞれで、最終状態と目標状態との関係を含まない評価関数を用いるとともに、最終状態が拘束集合を満たす条件で最適制御問題を解き、生産・物流方策の集合である複数の第２のデータベースを作成するステップとを有する点にある。
この場合、前記生産・物流スケジュールを作成するステップでは、
前記第２のデータベースに、前記与えられた初期状態が存在するか否かを１から（Ｎ−１）までの期間について順番に確認し、いずれかの前記第２のデータベースに存在すれば、該第２のデータベースに記述された生産・物流方策を生産・物流スケジュールとし、
前記第２のデータベースのいずれにも、前記与えられた初期状態が存在しない場合、前記与えられた初期状態を初期状態とする生産・物流方策を前記第１のデータベースから探索し、前記第１のデータベースから探索した生産・物流方策の最終状態が前記与えられた目標状態と一致すれば、前記第１のデータベースから探索した生産・物流方策を生産・物流スケジュールとし、
前記第１のデータベースから探索した生産・物流方策の最終状態が前記与えられた目標状態と一致しない場合、前記第１のデータベースから探索した生産・物流方策の最終状態を新しい初期状態とする第１のステップと、
前記第２のデータベースに、前記新しい初期状態が存在するか否かを１から（Ｎ−１）までの期間について順番に確認し、いずれかの前記第２のデータベースに存在すれば、該第２のデータベースに記述された生産・物流方策を、それまでに前記第１のデータベースから探索した生産・物流方策に時間的に連続させて生産・物流スケジュールとし、
前記第２のデータベースのいずれにも、前記新しい初期状態が存在しない場合、前記新しい初期状態を初期状態とする生産・物流方策を前記第１のデータベースから探索し、前記第１のデータベースから探索した生産・物流方策の最終状態が前記与えられた目標状態と一致すれば、今回前記第１のデータベースから探索した生産・物流方策を、それまでに前記第１のデータベースから探索した生産・物流方策に時間的に連続させて生産・物流スケジュールとし、
今回前記第１のデータベースから探索した生産・物流方策の最終状態が前記与えられた目標状態と一致しない場合、今回前記第１のデータベースから探索した生産・物流方策の最終状態を新たに新しい初期状態として、当該第２のステップを繰り返す第２のステップとを有するようにしてもよい。
【００１０】
本発明の生産・物流スケジュール作成方法の他の特徴とするところは、前記生産・物流スケジュールを作成するステップは、前記データベースからの生産・物流方策の探索と、前記生産・物流プロセスを模擬するシミュレータによるシミュレーションとを連動させて、前記シミュレータによるシミュレーションの結果を用いて生産・物流スケジュールを作成する点にある。
この場合、前記生産・物流スケジュールを作成するステップは、
予め設定した方策探索期間に基づいて、前記与えられた初期状態を初期状態とする生産・物流方策を前記データベースから探索する第１ステップと、
前記第１ステップで探索した生産・物流方策を前記シミュレータに与えて、予め設定したシミュレーション期間に基づいてシミュレーションを実行する第２ステップと、
前記第２ステップでのシミュレーションの結果のうち予め設定した確定期間の結果を生産・物流スケジュールとして確定する第３ステップと、
前記第３ステップで前記確定期間内で前記シミュレーションにより得た状態が、前記与えられた目標状態に一致するか否かを確認して、一致しなければ、前記確定期間の終了時点の直後を新たな立案開始時点として設定するとともに、前記確定期間の終了時点でシミュレーションにより得た最終状態を新たな初期状態とし、一致すれば、前記確定期間内で前記与えられた目標状態に一致するまでのシミュレーションの結果を生産・物流スケジュールとして確定し、それまでに確定したものとされた一連の生産・物流スケジュールを時間的に連続させて生産・物流スケジュールを完成させる第４ステップとを有し、
前記第４ステップで前記新たな初期状態が与えられると、前記第１ステップでは、前記方策探索期間に基づいて、前記データベースから前記新たな初期状態を初期状態とする生産・物流方策を探索し、前記第２ステップ以降の処理を繰り返すようにしてもよい。
また、前記第１ステップでは、
前記与えられた初期状態を初期状態とする生産・物流方策を前記データベースから探索し、前記探索した生産・物流方策の最終状態が前記与えられた目標状態と一致するか、前記方策探索期間の最終時点に達するかすれば前記探索を終了し、
前記探索した生産・物流方策の最終状態が前記与えられた目標状態と一致せず、前記方策探索期間の最終時点に達しない場合、前記探索した生産・物流方策の最終状態を新しい初期状態とし、そこから始まる生産・物流方策を前記データベースから探索することを、最終状態が前記えられた目標状態と一致するか、前記方策探索期間の最終時点に達するかするまで繰り返し、これにより探索した生産・物流方策を時間的に連続させるようにしてもよい。
また、前記データベースを作成するステップでは、
前記所定の期間Ｎにおいて前記最適制御問題を解き、前記データベースを第１のデータベースとして作成するステップと、
１から（Ｎ−１）までの複数の期間それぞれで、最終状態と目標状態との関係を含まない評価関数を用いるとともに、最終状態が拘束集合を満たす条件で最適制御問題を解き、生産・物流方策の集合である複数の第２のデータベースを作成するステップとを有し、
前記第１ステップでは、
前記第２のデータベースに、前記与えられた初期状態が存在するか否かを１から（Ｎ−１）までの期間について順番に確認し、いずれかの前記第２のデータベースに存在すれば探索を終了するステップＡと、
前記第２のデータベースのいずれにも、前記与えられた初期状態が存在しない場合、前記与えられた初期状態を初期状態とする生産・物流方策を前記第１のデータベースから探索し、前記第１のデータベースから探索した生産・物流方策の最終状態が前記与えられた目標状態と一致するか、前記方策探索期間の最終時点に達するかすれば探索を終了するステップＢと、
前記探索した生産・物流方策の最終状態が前記与えられた目標状態と一致せず、前記方策探索期間の最終時点に達しない場合、前記第１のデータベースから探索した生産・物流方策の最終状態を新しい初期状態とするステップＣと、
前記第２のデータベースに、前記新しい初期状態が存在するか否かを１から（Ｎ−１）までの期間について順番に確認し、いずれかの前記第２のデータベースに存在すれば、該第２のデータベースに記述された生産・物流方策を、それまでに前記第１のデータベースから探索した生産・物流方策に時間的に連続させるステップＤと、
前記第２のデータベースのいずれにも、前記新しい初期状態が存在しない場合、前記新しい初期状態を初期状態とする生産・物流方策を前記第１のデータベースから探索し、前記第１のデータベースから探索した生産・物流方策の最終状態が前記与えられた目標状態と一致するか、前記方策探索期間の最終時点に達するかすれば前記探索を終了し、今回前記第１のデータベースから探索した生産・物流方策を、それまでに前記第１のデータベースから探索した生産・物流方策に時間的に連続させる一方、前記与えられた目標状態と一致せず、前記方策探索期間の最終時点に達しない場合、前記ステップＣに戻るステップＥとを行うようにしてもよい。
【００１１】
本発明の生産・物流スケジュール作成方法の他の特徴とするところは、前記データベー
スを作成するステップでは、操業上又は設備上のうち少なくともいずれかの制約条件を課
して初期状態を限定して前記データベースを作成する点にある。前記制約条件を、例えば
前記モデルで各状態を表わす状態変数に含まれる所定の複数の変数の和が一定であるとす
る制約式で表現したり、前記モデルで各状態を表わす状態変数に含まれる所定の変数が一
定値であるとする制約式で表現したりすればよい。
【００１２】
本発明の生産・物流スケジュール作成装置は、離散事象プロセスである生産・物流プロセスにおける生産・物流スケジュールを作成する生産・物流スケジュール作成装置であって、前記生産・物流プロセスの初期状態と目標状態との組み合わせについて、所定の期間において、前記生産・物流プロセスを表現するモデルについて拘束条件を有する状態方程式、及び最終状態と目標状態との関係を含む評価関数で表される最適制御問題を解くことにより作成された、初期状態と、最終状態と、該初期状態から該最終状態までの状態遷移を実現する最適な制御入力との組み合わせである生産・物流方策の集合であるデータベースを保持するデータベース保持手段と、与えられた初期状態及び目標状態に基づいて、前記データベースから生産・物流方策を探索して、生産・物流スケジュールを作成する生産・物流スケジュール作成手段とを備えたことを特徴とする。
【００１３】
本発明のプログラムは、離散事象プロセスである生産・物流プロセスにおける生産・物流スケジュールを作成するためのプログラムであって、前記生産・物流プロセスの初期状態と目標状態との組み合わせについて、所定の期間において、前記生産・物流プロセスを表現するモデルについて拘束条件を有する状態方程式、及び最終状態と目標状態との関係を含む評価関数で表される最適制御問題を解くことにより作成された、初期状態と、最終状態と、該初期状態から該最終状態までの状態遷移を実現する最適な制御入力との組み合わせである生産・物流方策の集合であるデータベースを保持するデータベース保持手段と、与えられた初期状態及び目標状態に基づいて、前記データベースから生産・物流方策を探索して、生産・物流スケジュールを作成する生産・物流スケジュール作成手段としてコンピュータを機能させる。
【発明の効果】
【００１４】
本発明によれば、生産・物流方策（初期状態と、最終状態と、該初期状態から該最終状
態までの状態遷移を実現する最適な制御入力との組み合わせ）の集合であるデータベース
を作成しておき、生産・物流スケジュールを作成するときはデータベースを探索すればよ
いので、実用的な時間内に、所望の初期状態及び目標状態となる生産・物流スケジュール
を作成することができる。しかも、データベースは、生産・物流プロセスを表現するモデ
ルについて拘束条件を有する状態方程式、及び評価関数で表される最適制御問題を解いて
得られたものであるので、最適性が確保された精度の高い生産・物流スケジュールを作成
することができる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態に係る生産・物流スケジュール作成装置の構成を示す図である。
【図２】生産・物流プロセスの一例であるクレーン物流プロセスを説明するための図である。
【図３】クレーン物流プロセスにおける状態を説明するための図である。
【図４】クレーン物流プロセスにおける状態遷移を説明するための図である。
【図５】クレーン物流プロセスとペトリネットグラフとの対応関係を説明するための図である。
【図６】ペトリネットグラフの状態遷移の例を示す図である。
【図７】データベースの例を示す図である。
【図８】データベースの考え方を説明するためのペトリネットグラフのモデル例を示す図である。
【図９】データベースの例を示す図である。
【図１０】生産・物流スケジュール作成の結果を示す図である。
【図１１】生産・物流スケジュール作成を実行するペトリネットグラフのモデル例を示す図である。
【図１２】データベースの例を示す図である。
【図１３】生産・物流スケジュール作成の結果を示す図である。
【図１４】第２の実施形態における生産・物流スケジュールの作成の流れを示す図である。
【図１５】第１のデータベースの作成を概念的に示す図である。
【図１６】第１のデータベースの作成を概念的に示す図である。
【図１７】クレーン物流プロセスにおける状態遷移を説明するための図である。
【図１８】データベースの例を示す図である。
【図１９】生産・物流スケジュール作成の結果を示す図である。
【図２０】作成される生産・物流スケジュールの期間を示す図である。
【図２１】第３の実施形態に係る生産・物流スケジュール作成装置の構成を示す図である。
【図２２】第３の実施形態に係る生産・物流スケジュール作成装置による生産・物流スケジュールの作成手順を示すフローチャートである。
【図２３】第３の実施形態に係る生産・物流スケジュール作成装置による生産・物流スケジュールの作成手順を説明するための図である。
【図２４】クレーン物流プロセスにおける状態遷移を説明するための図である。
【図２５】ペトリネットグラフにおける拘束条件を説明するための図である。
【図２６】最適制御問題（１）を解いてデータベース（ｘsetなし）を作成することを説明するための図である。
【図２７】最適制御問題（２）を解いてデータベース（ｘsetあり）を作成することを説明するための図である。
【図２８】データベース（ｘsetあり）の例を示す図である。
【図２９】データベース（ｘsetなし）の例を示す図である。
【図３０】データベースの探索と、ペトリネットグラフの状態との関係を示す図である。
【図３１】データベースの探索結果を示す図である。
【図３２】第５の実施形態において問題の状態空間に制約条件を課して初期状態を限定する手法の例を説明するための図である。
【図３３】データベースの例を示す図である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
＜第１の実施形態＞
図１に、第１の実施形態に係る生産・物流スケジュール作成装置１００の構成を示す。
本発明でいう生産・物流プロセスとは、物を生産したり、物を運搬したりするプロセス
をいい、離散事象プロセス（プロセスの状態が取りうる値が離散値で、状態が事象によっ
て離散的に遷移するプロセス）を対象とする。すなわち、本実施形態に係る生産・物流ス
ケジュール作成装置１００は、離散事象プロセスである生産・物流プロセスにおける生産
・物流スケジュールを作成する。ここで、生産・物流スケジュールとは、生産・物流プロ
セスの状態を、所与の初期状態から所望の目標状態まで遷移させるための、生産・物流プ
ロセスへの一連の物の生産や運搬の命令のシーケンスを指す。
【００１７】
図１において、１０１は入力部であり、ユーザが入力装置２００を介して入力した情報
を取り込む。入力部１０１は、例えば生産・物流プロセスを表現するペトリネット（Petr
i net）グラフ等のモデルを構築するための情報や、構築したモデルについて最適制御問
題を解くための情報を入力する。また、生産・物流スケジュールを作成するときには、生
産・物流プロセスにおけるユーザ所望の初期状態及び目標状態を入力する。なお、入力部
１０１としては、キーボードやマウス等で入力されるデータを取得する手段でもよいし、
ネットワーク上の機器からデータを入力する手段でもよい。
【００１８】
１０２は最適制御問題解析部であり、生産・物流プロセスを表現するペトリネットグラ
フ等のモデルについて拘束条件を有する状態方程式、及び評価関数で表される最適制御問
題を、生産・物流プロセスの初期状態と目標状態との組み合わせについて解く。そして、
初期状態と、最終状態と、該初期状態から該最終状態までの状態遷移を実現する最適な制
御入力との組み合わせの集合であるデータベースを作成する。
【００１９】
１０３はデータベース保持部であり、最適制御問題解析部１０２で作成したデータベー
スを保持する。
【００２０】
１０４は探索部であり、入力部１０１に与えられた初期状態及び目標状態に基づいて、
データベース保持部１０３で保持するデータベースから生産・物流方策を探索する。
【００２１】
１０５は生産・物流スケジュール作成部であり、探索部１０４で探索した生産・物流方
策に基づいて、入力部１０１に与えられた初期状態及び目標状態を満たす生産・物流スケ
ジュールを作成する。
【００２２】
１０６は出力部であり、生産・物流スケジュール作成部１０５で作成した生産・物流ス
ケジュールを出力する。生産・物流スケジュールの出力としては、例えば表示装置３００
に表示等する。
【００２３】
なお、図１では一つの装置として図示したが、複数の装置が協働して生産・物流スケジ
ュール作成装置１００として機能する形態であってもかまわない。例えば最適制御問題解
析部１０２やデータベース保持部１０３を別の装置として構成し、この別の装置上のデー
タベース保持部１０３に探索部１０４がアクセスするような構成でもよい。
【００２４】
［生産・物流プロセスの例］
生産・物流プロセスでは、その状態や入力（制御入力、すなわち物の生産や運搬の命令
）等に拘束条件を有する場合が多い。その一例として、例えば図２に示すようなクレーン
物流プロセスでは、クレーンで運搬する材料は分割することができず、クレーン物流プロ
セスの状態に対応する材料の個数は０個、１個、２個、・・・のように整数値で扱う（状
態に関する拘束条件）。また、クレーンに材料を運搬させる命令を与えるスイッチはｏｎ
／ｏｆｆであり、クレーン物流プロセスの入力に対応するスイッチはｏｎになると入力の
値を１、ｏｆｆになると入力の値を０として扱う（入力に関する拘束条件）。このように
状態、入力の値が整数値のみ取るという拘束条件（整数制約）を有する。
【００２５】
以下、拘束条件（整数制約）を有するクレーン物流プロセスにおいて、材料を任意の離
散時刻に運搬するという事例を説明する。材料を加工・保管する場所に材料があり、クレ
ーンに材料を運搬させる命令を与えるスイッチがｏｎになると、クレーンで材料を運搬す
る。
クレーン物流プロセスは、以下のような拘束条件（整数制約）を有する。
（ａ）クレーン物流プロセスの状態に関する拘束条件（整数制約）
クレーンで運搬する材料は分割することができず、クレーン物流プロセスの状態に対応
する材料の個数は０個、１個、２個、・・・のように整数個で扱う。
（ｂ）クレーン物流プロセスの入力に関する拘束条件（整数制約）
クレーンに材料を運搬させる命令を与えるスイッチはｏｎ／ｏｆｆであり、クレーン物
流プロセスの入力に対応するスイッチはｏｎになると入力の値を１、ｏｆｆになると入力
の値を０として扱う。
【００２６】
［離散事象プロセス］
クレーン物流プロセスは離散事象プロセスである。
（ａ）プロセスの状態が取りうる値が離散値である。
クレーン物流プロセスでは、クレーンで運搬する材料の個数がプロセスの状態に対応す
る。クレーンで運搬する材料は分割することができず、０個、１個、２個、・・・のよう
に０以上の整数値、すなわち離散値となる。つまり、クレーン物流プロセスの状態は図３
（ａ）のようになり、図３（ｂ）のようにはならない。
（ｂ）プロセスの状態が事象によって離散的に遷移する。
クレーン物流プロセスでは、クレーンに材料を運搬する命令を与えるスイッチ（のｏｎ
／ｏｆｆ）が事象に対応する。スイッチがｏｎになると材料がある場所から別の場所に運
搬され、両場所で加工・保管される材料は整数個だけ増加／減少、すなわち離散的に遷移
する。例として、図４では左側の場所に加工・保管される材料数は２個→１個、右側の場
所に加工・保管される材料数は０個→１個に遷移する。
【００２７】
［ペトリネットグラフ］
次に、離散事象プロセスを簡便に表現するペトリネットグラフについて説明する。後述
するように、ペトリネットグラフは差分方程式で表現し直すことが可能なので、クレーン
物流プロセスを差分方程式で表現し直すことができる。
ペトリネットとは、離散事象プロセスをグラフ表現する方法である。グラフとは、ノー
ド（節）とそのノードを接続するアーク（枝）からなる図的モデルのことである。なお、
「ペトリネット」のことを「ペトリネットグラフ」と表現するが、意味的には両者とも同
義である。
ペトリネットグラフは、２種類のノード（プレース、トランジション）とアークによっ
てプロセスの構造を表し、トークンによってプロセスの状態を表す。そのプロセスの構造
は、プレースの有限集合Ｐ＝｛ｐi｝ni=1、トランジションの有限集合Ｔ＝｛ｔj｝mj=1、
及びｔjからｐiへのアークとｐiからｔjへのアークに対応する関係を示すＦとの３項組（
Ｐ，Ｔ，Ｆ）によって定義される。
２種類のノードとアーク、トークンの記号を表１に、これらの記号のクレーン物流プロ
セスとの対応を図５に示す。
【００２８】
【表１】
0006451278.tif 000002
【００２９】
ペトリネットグラフでは、アークはプレースとトランジションとを結合する有向枝であ
り、始点がプレースのときは終点がトランジションであり、始点がトランジションのとき
は終点がプレースである。すなわち、プレースからプレースヘ、或いはトランジションか
らトランジションヘのアークは存在しない。
ペトリネットグラフでは、プロセスの状態をトークンのプレース内の分布状況で示し、
プロセスの状態遷移はトークンの移動によって表される。トークンの移動はトランジショ
ンの発火によるが、トランジションの発火とトークンの移動は以下の規則に従う。
［規則１］トランジションｔjへの入力プレースｐiにおいて（入力プレースが複数個の
場合はすべての入力プレースにおいて）、ｐiからｔjへのアーク数以上のトークンがｐi
内に存在するとき、ｔjは発火可能である。
［規則２］トランジションの発火は瞬間的であり、異なる２個のトランジションが同時
に発火することはない。
［規則３］トランジションｔjの発火に伴い、入力プレースｐiから（複数個の場合はす
べての入力プレースから）、ｐiからｔjへのアーク数に等しいトークンを取り去る。
［規則４］トランジションｔjの発火に伴い、ｔjからの出力アーク数に等しいトークン
を生成し、出力プレースｐkに対して（出力プレースが複数個の場合はすべての出力プレ
ースに対して）、ｔjからｐkへのアーク数に等しいトークンを割り当てる。
図６に、ペトリネットグラフの状態遷移の例を示す。図６において、ｐ1〜ｐ3はプレー
スを、ｔ1〜ｔ3はトランジションをそれぞれ示す。図６（ａ）では、発火可能なトランジ
ションはｔ1のみであり、ｔ1が発火すると、トークンの分布は図６（ｂ）のようになる。
【００３０】
［ペトリネットグラフの状態方程式］
上述したように、プロセスの状態はペトリネットグラフのトークンの分布により表現さ
れる。ペトリネットグラフにおいて、トランジションの発火によりトークンの分布が変化
する様子は差分方程式（状態方程式）で表現することができる。
【００３１】
（接続行列）
プロセスは、プレースとトランジション及びそれらの結合関係によって表現される。プ
レースとトランジションの結合関係に対応する接続行列は、トランジションの入力行列と
トランジションの出力行列によって表現することができる。
【００３２】
トランジションの入力行列Ｂ-は、トランジションヘの入力アークを表したものである
。例えば、図６（ａ）のグラフの各トランジションの入力アーク数は表２のようであるか
ら、トランジションの入力行列Ｂ-は式（１）のように表現される。
【００３３】
【表２】
0006451278.tif 000003
【００３４】
【数１】
0006451278.tif 000004
【００３５】
トランジションの出力行列Ｂ+は、トランジションからの出力アークを表したものであ
る。例えば、図６（ａ）のグラフの各トランジションの出力アーク数は表３のようである
から、トランジションの出力行列Ｂ+は式（２）のように表現される。
【００３６】
【表３】
0006451278.tif 000005
【００３７】
【数２】
0006451278.tif 000006
【００３８】
式（１）のｊ列は、トランジションｔjの発火により各プレースから減るトークン数を
表し、式（２）のｊ列はトランジションｔjが発火したときに各プレースに加わるトーク
ン数を表す。つまり、両者の差はｔjの発火による各プレースのトークン数の増減を表し
ており、接続行列Ｂはそれを表すものである。
接続行列Ｂはトランジションの出力行列Ｂ+とトランジションの入力行列Ｂ-の差（Ｂ＝
Ｂ+−Ｂ-）のように表現される。
例えば、図６（ａ）における接続行列Ｂ、すなわち各トランジションの発火によるトー
クン数の増減は式（３）のように表現される。
【００３９】
【数３】
0006451278.tif 000007
【００４０】
（状態ベクトル）
プロセスの状態に対応する状態ベクトルは、各プレース内のトークン数を表すものであ
り、状態ベクトルの各要素は各プレースに対応する。
離散時刻ｋ（ｋ＝｛０、１、２、・・・｝）におけるプレースｐi内のトークン数をｘi
(ｋ)∈｛０、１、２、・・・｝で表すと、状態ベクトルｘ(ｋ)は式（４）のように表現さ
れる。例えば、図６（ａ）において状態ベクトルｘ(ｋ)は式（５）のように表現される。
【００４１】
【数４】
0006451278.tif 000008
【００４２】
（発火ベクトル）
プロセスの事象に対応する発火ベクトルは、どのトランジションが発火したかを表すも
のであり、発火ベクトルの各要素は各トランジションに対応し、その値は発火のとき１、
非発火のとき０をとる。
離散時刻ｋ（ｋ＝｛０、１、２、・・・｝）におけるトランジションｔjの発火状況を
ｕj(ｋ)∈｛０、１｝で表すと、発火ベクトルｕ(ｋ)は式（６）のように表現される。例
えば、図６（ａ）においてトランジションｔ1が発火すると、発火ベクトルｕ(ｋ)は式（
７）のように表現される。
【００４３】
【数５】
0006451278.tif 000009
【００４４】
（状態方程式）
ペトリネットグラフにおいて、離散時刻ｋ（ｋ＝｛０、１、２、・・・｝）におけるプ
ロセスの状態は状態ベクトルｘ(ｋ)で、発火状況は発火ベクトルｕ(ｋ)で表現されるので
、離散時刻ｋでの発火によるトークン数の増減はＢｕ(ｋ)と表現される。よって、ペトリ
ネットグラフでの離散時刻ｋ＋１におけるプロセスの状態ｘ(ｋ＋１)は式（８）の差分方
程式で表現される。式（８）がペトリネットグラフの状態方程式である。
【００４５】
【数６】
0006451278.tif 000010
【００４６】
図６（ａ）でトランジションｔ1が発火することにより図６（ｂ）のようになる場合、
状態方程式は式（９）のように表される。
【００４７】
【数７】
0006451278.tif 000011
【００４８】
また、ペトリネットグラフの状態方程式（式（８））は、状態ｘ(ｋ)、入力ｕ(ｋ)に式
（１０）、式（１１）のような拘束条件（整数制約）を有する。ここで、ｘi(ｋ)は離散
時刻ｋにおける状態ベクトルｘ(ｋ)の第ｉ要素、ｕj(ｋ)は離散時刻ｋにおける発火ベク
トルｕ(ｋ)の第ｊ要素である。また、式（１０）は各プレースのトークンの数は０以上の
整数個であること、式（１１）は各トランジションは発火のとき１、非発火のとき０であ
ることを意味する。
【００４９】
【数８】
0006451278.tif 000012
【００５０】
以上により、ペトリネットグラフを、拘束条件（整数制約）を有する状態方程式で表現
することができた。これは、クレーン物流プロセスを、拘束条件（整数制約）を有する状
態方程式で表現することができることを意味する。これにより、評価関数を適切に設定す
ることにより、クレーン物流プロセスにおける最適なスケジュールの計算を実行すること
ができる。
【００５１】
［最適制御問題］
あるプロセスについて何らかの最適制御問題を解くことで、その最適制御問題における
評価関数を最小にするような解、すなわち離散時刻における入力を求めることができる。
ここでは、ＬＴＩシステム（linear time-invariant）について拘束付有限時間最適制
御（ＣＦＴＯＣ）問題を解くことを考える。ＬＴＩシステムのＣＦＴＯＣ問題は、一般的
には式（１２ａ）〜式（１２ｅ）のように表現される。
【００５２】
【数９】
0006451278.tif 000013
【００５３】
ここで、Ｎは予測ホライズンであり、有限時間（区間）［ｋ0，ｋ0＋Ｎ］を表しており
、初期状態ｘ(ｋ0)＝ｘk0を与えて離散時刻ｋ（ｋ∈｛ｋ0、ｋ0＋１、・・・、ｋ0＋Ｎ−
１｝）の最適な入力ｕ(ｋ｜ｘk0)を求めるということを意味する。ＪN(ｘk0)は評価関数
であり、線形（ｌ∈｛１，∞｝）又は２次系（ｌ＝２）である。Ｑ、Ｒ、Ｑfは状態と入
力に対して各自で定義する重み行列である。||Ｑｘ(ｋ)||l、||Ｒｕ(ｋ)||l、||Ｑｘ(ｋ0
＋Ｎ)||lはノルムである。ノルムとは、線形ベクトル空間Ｖの要素であるｎ次元ベクトル
ｖ、ｗ∈Ｖ（式（１３）、式（１４））と、スカラーαに対して以下の条件を満たすもの
であり、||ｖ||と表す。
（ａ）すべてのｖ∈Ｖに対して||ｖ||≧０（等号は||ｖ||＝０のときに限り成立）
（ｂ）すべてのｖ∈Ｖとすべてのαに対して||αｖ||＝|α| ||ｖ||
（ｃ）すべてのｖ、ｗ∈Ｖに対して||ｖ＋ｗ||≦||ｖ||＋||ｗ||
【００５４】
【数１０】
0006451278.tif 000014
【００５５】
線形ベクトル空間の主なノルムには１ノルム（ｌ＝１）、２ノルム（ｌ＝２）、無限ノ
ルム（ｌ＝∞）の３種類がある（式（１５）〜式（１７）を参照）。
【００５６】
【数１１】
0006451278.tif 000015
【００５７】
ＣＦＴＯＣ問題（式（１２ａ）〜式（１２ｅ））を解く目的は、有限時間（区間）［ｋ
0，ｋ0＋Ｎ］において、初期状態ｘ(ｋ0)＝ｘk0を与え、重み行列Ｑ、Ｒ、Ｑfを上手く調
節することで、評価関数ＪN(ｘk0)を最小にするような解、すなわち初期状態ｘ(ｋ0)＝ｘ
k0の関数である最適な入力Ｕ(ｘk0)＝［ｕT(ｋ0｜ｘk0)、ｕT(ｋ0＋１｜ｘk0)、・・・、
ｕT(ｋ0＋Ｎ−１｜ｘk0)］Tを求めることである。なお、ＣＦＴＯＣ問題を解く手法につ
いては公知であり、例えばＭＡＴＬＡＢのＭＰＴ（Multi-Parametric Toolbox）等を用い
ることにより解法可能であるので、ここではその説明は省略する。
クレーン物流プロセスのスケジュール作成では、式（１８ａ）〜式（１８ｅ）のような
最適制御問題解く。ここで、ｘrefは最終状態ｘ(ｋ0＋Ｎ)に対する目標状態である。
【００５８】
【数１２】
0006451278.tif 000016
【００５９】
有限時間（区間）［ｋ0，ｋ0＋Ｎ］において、初期状態ｘ(ｋ0)＝ｘk0を与え、重み行
列Ｑ、Ｒ、Ｑfを上手く調節して最適制御問題（式（１８ａ）〜式（１８ｅ））を解くこ
とで、最終状態ｘ(ｋ0＋Ｎ)を目標状態ｘrefに近づけるような最適な入力Ｕ(ｘk0)＝［ｕ
T(ｋ0｜ｘk0)、ｕT(ｋ0＋１｜ｘk0)、・・・、ｕT(ｋ0＋Ｎ−１｜ｘk0)］Tを求めたい。
【００６０】
［生産・物流スケジュール作成］
（データベースの作成）
最適制御問題（式（１８ａ）〜式（１８ｅ））を解くにあたり、予測ホライズンＮが小
さい場合は、実用的な計算時間内でスケジュール作成を実行できる。しかし、予測ホライ
ズンＮが大きい場合、例えばＮ＝１０程度では、初期状態と最終状態との可能な組み合わ
せの数が非常に多くなり、実用的な時間内での求解ができなくなることが多い。
そこで、予測ホライズンＮが小さい最適制御問題（式（１８ａ）〜式（１８ｅ））を解
くことで、初期状態ｘ(ｋ0)＝ｘk0と、最終状態ｘ(ｋ0＋Ｎ)と、初期状態ｘ(ｋ0)＝ｘk0
から最終状態ｘ(ｋ0＋Ｎ)までの状態遷移を実現する最適な制御入力との組み合わせの集
合であるデータベースを作成し、与えられた初期状態ｘ(０)と目標状態ｘrefを満たす状
態遷移を実現する最適な制御入力をデータベースにより求めることを考える。ここで、初
期状態と、最終状態と、該初期状態から該最終状態までの状態遷移を実現する最適な制御
入力との１つの組み合わせを生産・物流方策と呼ぶことにする。したがって、上記データ
ベースは、予測ホライズンＮと目標状態を与えた場合の、様々な初期状態に対応する生産
・物流方策の集合の形となる。
【００６１】
スケジュール作成のアルゴリズムを以下に示す。
１．予測ホライズンＮを小さくして最適制御問題（式（１８ａ）〜式（１８ｅ））を解
く。具体的には、十分に小さい適当なＮを選択して最適制御問題を解き、データベースを
作成するオフライン計算を、順次Ｎを大きくして繰り返し、実用的な計算時間の範囲でな
るべく大きいＮに決定する。
２．図７に示すように、生産・物流方策（初期状態ｘ(ｋ0)＝ｘk0と、最終状態ｘ(ｋ0
＋Ｎ)と、初期状態ｘ(ｋ0)＝ｘk0から最終状態ｘ(ｋ0＋Ｎ)までの状態遷移を実現する最
適な制御入力との組み合わせ）の集合であるデータベースが作成される。図７の１行が１
組の生産・物流方策を示す。
３．データベースにより最終状態ｘ(ｋ0＋Ｎ)を求める。
４．最終状態ｘ(ｋ0＋Ｎ)が目標状態ｘrefと一致するか否かを調べる。最終状態ｘ(ｋ0
＋Ｎ)が目標状態ｘrefと一致すれば、データベースの探索を終了する。最終状態ｘ(ｋ0＋
Ｎ)が目標状態ｘrefと一致しなければ、最終状態ｘ(ｋ0＋Ｎ)を新しい初期状態ｘk0+Nと
して、データベースにより新しい最終状態ｘ(ｋ0＋２Ｎ)を求める。
５．最終状態が目標状態ｘrefと一致するまで繰り返す。
【００６２】
図８に、データベースの考え方を説明するためのペトリネットグラフのモデル例を示す
。図８のペトリネットグラフの状態方程式は式（１９）のようになる。また、拘束条件（
整数制約）は式（２０）、式（２１）のようになる。
【００６３】
【数１３】
0006451278.tif 000017
【００６４】
図８のペトリネットグラフについて、式（２２ａ）〜式（２２ｅ）のような最適制御問
題を解くとする。
【００６５】
【数１４】
0006451278.tif 000018
【００６６】
目標状態ｘrefは図８に示すようにｘref＝［０  ４］（以下、[ａ  ｂ]の表記はａが上
に、ｂが下に記述されているものとする。同様に、[ａ  ｂ  ｃ]の表記はａが上に、ｂが
中に、ｃが下に記述されているものとする）とし、重み行列Ｑ、Ｒ、Ｑfは式（２３）〜
式（２５）のように調節したとする。重み行列Ｑ、Ｑfは、現実の工場や工程での原料や
製品が工場や工程の入側から出側に流れるように、入側の状態Ｘ1から出側の状態Ｘ2へト
ークンが動くように、入側の状態Ｘ1を出側の状態Ｘ2よりも大きく設定した。重み行列Ｒ
については、入側の状態Ｘ1から出側の状態Ｘ2へトークンが動くように、入側の状態Ｘ1
よりも小さく設定した。
【００６７】
【数１５】
0006451278.tif 000019
【００６８】
以上のようにして最適制御問題を解くと、図９に示すようなデータベースが作成される
。このデータベースは、初期状態ｘ(ｋ0)＝ｘk0と、最終状態ｘ(ｋ0＋２)と、初期状態ｘ
(ｋ0)＝ｘk0から最終状態ｘ(ｋ0＋２)までの状態遷移を実現する最適な制御入力との組み
合わせである生産・物流方策の集合である。
データベースより、図８で与えられた初期状態ｘ0＝［４  ０］に対応する最終状態ｘ(
２)＝［２  ２］とわかる。この最終状態ｘ（２）は図８で与えられた目標状態ｘrefと一
致しないので、この最終状態ｘ(２)を新しい初期状態ｘ(２)＝［２  ２］とする。
データベースより、新しい初期状態ｘ(２)＝ｘ2＝［２  ２］に対応する最終状態ｘ(４
)＝［０  ４］とわかる。この最終状態ｘ（４）は図８で与えられた目標状態ｘrefと一致
するので、スケジュール作成を終了する。
【００６９】
図１０に、生産・物流スケジュール作成の結果を示す。図１０（ａ）における横軸は離
散時刻を、縦軸は状態プレースｐ１、ｐ２の状態ｘ１、ｘ２を示す。また、図１０（ｂ）
における横軸は離散時刻を、縦軸は発火ベクトルｕ(ｋ)を示す。
図１０（ａ）を見ると、離散時刻ｋ＝０で初期状態ｘ(０)＝ｘ0＝［４  ０］、離散時
刻ｋ＝４で初期状態ｘ(４)＝［０  ４］であることがわかる。これより、図８で与えられ
た初期状態ｘ(０)＝［４  ０］、目標状態ｘref＝［０  ４］を満たすように状態ｘ(ｋ)
が遷移したことがわかる。
【００７０】
［スケジュール作成の内容と結果］
図１１に、生産・物流スケジュール作成を実行するペトリネットグラフのモデル例を示
す。図１１のペトリネットグラフの状態方程式は式（２６）のようになる。また、拘束条
件（整数制約）は式（２７）、式（２８）のようになる。
【００７１】
【数１６】
0006451278.tif 000020
【００７２】
図１１のペトリネットグラフについて、式（２９ａ）〜式（２９ｅ）のような最適制御
問題を解く。
【００７３】
【数１７】
0006451278.tif 000021
【００７４】
目標状態ｘrefは図１１に示すようにｘref＝［０  ０  ２］とし、重み行列Ｑ、Ｒ、Ｑ
fは式（３０）〜式（３２）のように調節した。具体的な調節の手順としては、重み行列
Ｑ、Ｑfは、現実の工場や工程での原料や製品が工場や工程の入側から出側に流れるよう
に、入側の状態Ｘ1から出側の状態Ｘ3へトークンが動くように、入側の状態Ｘ1を中間の
状態Ｘ2よりも大きく、中間の状態Ｘ2は出側の状態Ｘ3よりも大きく設定した。重み行列
Ｒについては、入側の状態Ｘ1から出側の状態Ｘ3へトークンが動くように、入側の状態Ｘ
1や中間の状態Ｘ2よりも小さく設定した。
【００７５】
【数１８】
0006451278.tif 000022
【００７６】
図１２に、最適制御問題（式（２９ａ）〜式（２９ｅ））を解くことで得られたデータ
ベースを示す。
データベースより、図１１で与えられた初期状態ｘ(０)＝ｘ0＝［２  ０  ０］に対応
する最終状態はｘ(２)＝［０  １  １］とわかる。この最終状態は図１１で与えられた目
標状態ｘrefと一致しないので、この最終状態ｘ(２)を新しい初期状態ｘ(２)を新しい初
期状態ｘ(２)＝［０  １  １］とする。
データベースより、新しい初期状態ｘ(２)＝ｘ2＝［０  １  １］に対応する最終状態
はｘ(４)＝［０  ０  ２］とわかる。この最終状態ｘ(４)は図１１で与えられた目標状態
ｘrefと一致するので、スケジュール作成を終了する。
【００７７】
図１３に、生産・物流スケジュール作成の結果を示す。図１３（ａ）を見ると、離散時
刻ｋ＝０で初期状態ｘ(０)＝ｘ0＝［２  ０  ０］、離散時刻ｋ＝３でｘ(３)＝［０  ０
２］であることがわかる。これにより、図１１で与えられた初期状態ｘ(０)＝ｘ0＝［
２  ０  ０］、目標状態ｘref＝［０  ０  ２］を満たすように状態ｘ(ｋ)が遷移したこ
とがわかる。
【００７８】
以上、簡単な例を参照して、本発明を適用した生産・物流スケジュール作成の基本的な
概念を説明した。
図１に説明を戻して、データベースの作成から、生産・物流スケジュールの作成までの
流れを説明する。
［データベースの作成］
対象とする生産・物流プロセスが確定すると、ユーザは、生産・物流スケジュール作成
装置１００において、その生産・物流プロセスを表現するペトリネットグラフを構築する
。そして、入力部１０１を介してペトリネットグラフについて最適制御問題を解くための
情報、例えば予測ホライズンＮ、評価関数ＪN(ｘk0)、重み行列Ｑ、Ｒ、Ｑfを設定する。
最適制御問題解析部１０２では、ペトリネットについて拘束条件を有する状態方程式、
及び評価関数で表される最適制御問題を、該対象とする生産・物流プロセスの初期状態と
最終状態との組み合わせについて解き、生産・物流方策（初期状態と、最終状態と、該初
期状態から該最終状態までの状態遷移を実現する最適な制御入力との組み合わせ）の集合
であるデータベースを作成する。この場合に、生産・物流プロセスにおいて考えられる全
ての初期状態、目標状態に対応する生産・物流方策を網羅的に計算し、データベースを作
成しておく。最適制御問題解析部１０２で作成したデータベースは、データベース保持部
１０３により保持される。
【００７９】
［生産・物流スケジュールの作成］
生産・物流スケジュールを作成するときには、ユーザは、入力部１０１を介して生産・
物流プロセスにおける所望の初期状態及び目標状態を入力する。
探索部１０４では、入力として与えられた初期状態を初期状態とする生産・物流方策を
データベースから探索する。
その結果、探索した生産・物流方策の最終状態が、入力として与えられた目標状態と一
致すれば、生産・物流スケジュール作成部１０５では、探索部１０４で探索した生産・物
流方策を生産・物流スケジュールとする。すなわち、作成される生産・物流スケジュール
の期間は、予測ホライズンＮと一致するものとなる。
また、探索部１０４は、探索した生産・物流方策の最終状態が、入力として与えられた
目標状態と一致しない場合、その生産・物流方策の最終状態を初期状態とし、そこから始
まる生産・物流方策をデータベースから探索することを、最終状態が、入力として与えら
れた目標状態と一致するまで繰り返す。生産・物流スケジュール作成部１０５では、探索
部１０４で探索した複数の生産・物流方策を時間的に連続させて生産・物流スケジュール
とする。すなわち、作成される生産・物流スケジュールの期間は、予測ホライズンＮの整
数倍の長さとなる。
【００８０】
以上のように、生産・物流方策（初期状態と、最終状態と、該初期状態から該最終状態
までの状態遷移を実現する最適な制御入力との組み合わせ）の集合であるデータベースを
作成しておき、生産・物流スケジュールを作成するときはデータベースを探索すればよい
ので、実用的な時間内に、所望の初期状態及び目標状態となる生産・物流スケジュールを
作成することができる。しかも、データベースは、生産・物流プロセスを表現するペトリ
ネットグラフ等のモデルについて拘束条件を有する状態方程式、及び評価関数で表される
最適制御問題を解いて得られたものであるので、最適性が確保された精度の高い生産・物
流スケジュールを作成することができる。
なお、データベースは予め作成されるとしたが、データベース作成時の漏れや、最適制
御問題を解くための情報の変更等があった場合等には、追加作成してもよいことは言うま
でもない。
【００８１】
＜第２の実施形態＞
次に、第２の実施形態を説明する。なお、生産・物流スケジュール作成装置の構成は第
１の実施形態で説明したものと同様であり、以下では、第１の実施形態との相違点を中心
に説明する。
［データベースの作成］
第２の実施形態では、最適制御問題解析部１０２において、２種類のデータベースを作
成する。すなわち、第１の実施形態と同様、予測ホライズンＮで、最終状態と目標状態と
の関係を含む評価関数を用いて最適制御問題（最適制御問題（１））を解き、生産・物流
方策（初期状態と、最終状態と、該初期状態から該最終状態までの状態遷移を実現する最
適な制御入力との組み合わせ）の集合である第１のデータベースを作成する。また、１か
ら（Ｎ−１）期間それぞれで、最終状態と目標状態との関係を含まない評価関数を用いる
とともに、最終状態が拘束集合を満たす条件で最適制御問題（最適制御問題（２））を解
き、生産・物流方策（初期状態と、最終状態と、該初期状態から該最終状態までの状態遷
移を実現する最適な制御入力との組み合わせ）の集合である複数の第２のデータベースを
作成する。
【００８２】
図１５に示すように、第１のデータベースを作成するときは、予測ホライズンＮ＝Ｎf
（Ｎfは各自で設定した予測ホライズン）で、例えば式（３３ａ）〜式（３３ｆ）のよう
な最適制御問題（１）を解く。
【００８３】
【数１９】
0006451278.tif 000023
【００８４】
図１６に示すように、第２のデータベースを作成するときは、予測ホライズンＮ＝１、
２、・・・、Ｎf−１で、例えば式（３４ａ）〜式（３４ｇ）のような最適制御問題（２
）を解く。第２のデータベースは、Ｎf−１個作成されることになる。
【００８５】
【数２０】
0006451278.tif 000024
【００８６】
ここで、第１のデータベースを作成するための最適制御問題（１）では、最終状態ｘ(
ｋ0＋Ｎ)と目標状態ｘrefとの関係が評価関数（式（３３ａ））に含まれており、最終状
態ｘ(ｋ0＋Ｎ)を目標状態ｘrefに近づけるような入力Ｕ(ｘk0)を求めるものとなっている
。
それに対して、第２のデータベースを作成するための最適制御問題（２）では、最終状
態ｘ(ｋ0＋Ｎ)と目標状態ｘrefとの関係が評価関数（式（３４ａ））に含まれておらず、
最終状態ｘ(ｋ0＋Ｎ)が拘束集合ｘsetを満たす条件（式（３４ｃ））で入力Ｕ(ｘk0)を求
めるものとなっている。最終状態ｘ(ｋ0＋Ｎ)が拘束集合ｘsetを満たす条件としては、例
えば最終状態ｘ(ｋ0＋Ｎ)が目標状態ｘrefと一致するとの条件を設定してもよいし、より
一般的には、目標状態ｘrefの周りにある小さな範囲を設定しその範囲内に最終状態ｘ(ｋ
0＋Ｎ)が入れば一致したとしてもよい。
なお、第１のデータベースをデータベース（ｘsetなし）、第２のデータベースをデー
タベース（ｘsetあり）とも称する。
【００８７】
［生産・物流スケジュールの作成］
図１４に、第２の実施形態における生産・物流スケジュールの作成の流れを示す。
生産・物流スケジュールを作成するときには、ユーザは、入力部１０１を介して生産・
物流プロセスにおける所望の初期状態及び目標状態を入力する。
探索部１０４では、予測ホライズンＮ＝１のデータベース（ｘsetあり）に初期状態ｘ(
ｋ0)＝ｘk0が存在するか否かを確認する（ステップＳ１）。データベース（ｘsetあり）
では、最終状態ｘ(ｋ0＋Ｎ)が拘束集合ｘsetを満たすので、初期状態ｘ(ｋ0)＝ｘk0が存
在するか否かを確認するだけでよい。予測ホライズンＮ＝１のデータベース（ｘsetあり
）に初期状態ｘ(ｋ0)＝ｘk0が存在すれば、本アルゴリズムを終了するとともに、生産・
物流スケジュール作成部１０５では、予測ホライズンＮ＝１のデータベース（ｘsetあり
）に記述された生産・物流方策を生産・物流スケジュールとする。
【００８８】
予測ホライズンＮ＝１のデータベース（ｘsetあり）に初期状態ｘ(ｋ0)＝ｘk0が存在し
ない場合、以下同様に、予測ホライズンＮ＝２、・・・、Ｎf−１の順番で、各データベ
ース（ｘsetあり）に初期状態ｘ(ｋ0)＝ｘk0が存在するか否かを確認する（ステップＳ２
〜Ｓ（Ｎf−１））。いずれかのデータベース（ｘsetあり）に初期状態ｘ(ｋ0)＝ｘk0が
存在すれば、その時点で本アルゴリズムを終了するとともに、生産・物流スケジュール作
成部１０５では、初期状態ｘ(ｋ0)＝ｘk0が存在したデータベース（ｘsetあり）に記述さ
れた生産・物流方策を生産・物流スケジュールとする。
【００８９】
予測ホライズンＮ＝Ｎf−１のデータベース（ｘsetあり）に初期状態ｘ(ｋ0)＝ｘk0が
存在しない場合（すなわち、Ｎf−１個のデータベース（ｘsetあり）のいずれにも初期状
態ｘ(ｋ0)＝ｘk0が存在しない場合）、初期状態ｘ(ｋ0)＝ｘk0の生産・物流方策をデータ
ベース（ｘsetなし）から探索し、探索した生産・物流方策の最終状態が、入力として与
えられた目標状態ｘrefと一致するか否かを確認する（ステップＳ１００）。探索した生
産・物流方策の最終状態が、入力として与えられた目標状態ｘrefと一致すれば、本アル
ゴリズムを終了するとともに、生産・物流スケジュール作成部１０５では、データベース
（ｘsetなし）から探索した生産・物流方策を生産・物流スケジュールとする。
【００９０】
データベース（ｘsetなし）から探索した生産・物流方策の最終状態が、入力として与
えられた目標状態ｘrefと一致しない場合、最終時刻ｋ0＋Ｎfを新しい初期時刻ｋ0←ｋ0
＋Ｎf、最終状態ｘ(ｋ0＋Ｎf)を新しい初期状態ｘk0←ｘ(ｋ0＋Ｎf)として（ステップＳ
１０１）、ステップＳ１に戻り、以下の処理を繰り返す。
すなわち、予測ホライズンＮ＝１〜Ｎf−１のデータベース（ｘsetあり）に、新しい初
期状態が存在するか否かを順番に確認する（ステップＳ１〜Ｓ（Ｎf−１））。その結果
、いずれかのデータベース（ｘsetあり）に存在すれば、該データベース（ｘsetあり）に
記述された生産・物流方策を、それまでにデータベース（ｘsetなし）から探索した生産
・物流方策に時間的に連続させて生産・物流スケジュールとする。
予測ホライズンＮ＝１〜Ｎf−１のデータベース（ｘsetあり）のいずれにも、新しい初
期状態が存在しない場合、新しい初期状態の生産・物流方策をデータベース（ｘsetなし
）から探索し（ステップＳ１０１）、探索した生産・物流方策の最終状態が、入力として
与えられた目標状態ｘrefと一致するか否かを確認する。その結果、探索した生産・物流
方策の最終状態が、入力として与えられた目標状態ｘrefと一致すれば、今回データベー
ス（ｘsetなし）から探索した生産・物流方策を、それまでにデータベース（ｘsetなし）
から探索した生産・物流方策に時間的に連続させて生産・物流スケジュールとする。
【００９１】
第２の実施形態について、図１７に示すペトリネットグラフを例にして説明する。初期
状態、予測ホライズン、重み行列、最終状態への拘束条件、入力への拘束条件は下記のと
おりである。
【００９２】
【表４】
0006451278.tif 000025
【００９３】
以下のような最適制御問題（１）を解く。この最適制御問題（１）では、最終状態ｘ(
ｋ0＋Ｎf)について拘束条件ｘsetは存在しないが、評価関数に||Ｑｆ(ｘ(ｋ0＋Ｎf)−ｘr
ef)||1が存在する。予測ホライズンはＮ＝３（＝Ｎf）の場合を解く。図１８（ｃ）に、
Ｎ＝３のデータベース（ｘsetなし）を示す。
【００９４】
【数２１】
0006451278.tif 000026
【００９５】
また、以下のような最適制御問題（２）を解く。この最適制御問題（２）では、最終状
態ｘ(ｋ0＋Ｎf)について拘束条件ｘsetが存在するが、評価関数に||Ｑｆ(ｘ(ｋ0＋Ｎf)−
ｘref)||1は存在しない。予測ホライズンはＮ＝１、２のそれぞれの場合を解く。図１８
（ａ）、（ｂ）に、Ｎ＝１、２のデータベース（ｘsetあり）を示す。
【００９６】
【数２２】
0006451278.tif 000027
【００９７】
図１８（ａ）、（ｂ）に示す予測ホライズンＮ＝１、２のデータベース（ｘsetあり）
に、初期状態ｘ(０)＝ｘ0＝［４  ０  ０］は存在しない（ステップＳ１、２）。
そこで、次に図１８（ｃ）に示すデータベース（ｘsetなし）から、初期状態ｘ(０)＝
ｘ0＝［４  ０  ０］の生産・物流方策を探索する（ステップＳ１００）。その結果、最
終状態ｘ(３)＝［１  １  ２］が得られるが（図１８（ｃ）の★印を参照）、目標状態ｘ
ref＝［０  ０  ４］と一致しない。
そこで、次に最終状態ｘ(３)＝［１  １  ２］を新しい初期状態として（ステップＳ１
０１）、再度、図１８（ａ）、（ｂ）に示す予測ホライズンＮ＝１、２のデータベース（
ｘsetあり）を探索すると（ステップＳ１、２）、その初期状態は、予測ホライズンＮ＝
１のデータベース（ｘsetあり）に存在しないが、予測ホライズンＮ＝２のデータベース
（ｘsetあり）に存在し、対応する最終状態はｘ(５)＝［０  ０  ４］＝ｘrefであること
がわかる（図１８（ｂ）の★印を参照）。
【００９８】
この場合、作成される生産・物流スケジュールは、図１８（ｃ）の★印の生産・物流方
策と、図１８（ｂ）の★印の生産・物流方策とを時間的に連続させたものとなる。
【００９９】
図１９に、生産・物流スケジュール結果を示す。図１９（ａ）を見ると、離散時刻ｋ＝
０で初期状態ｘ(０)＝ｘ0＝［４  ０  ０］から、ｘ(１)＝［３  １  ０］、ｘ(２)＝［
２  １  １］、ｘ(３)＝［１  １  ２］、ｘ(４)＝［０  １  ３］という生産・物流方策
を経て、離散時刻ｋ＝５でｘ(５)＝［０  ０  ４］となることがわかる。
【０１００】
次に、図２０を参照して、第２の実施形態での効果を説明する。
第１の実施形態で生産・物流スケジュールを作成する場合、換言すれば第２の実施形態
でいうデータベース（ｘsetなし）だけを利用して生産・物流スケジュールを作成する場
合、図２０（ａ）に示すように、作成される生産・物流スケジュールの期間は予測ホライ
ズンＮ（＝Ｎf）の整数倍の長さとなる。
この場合に、実は、時点ｎで、予測ホライズンＮ＝Ｎfのデータベースに記述されてい
ない、ある生産・物流方策があれば、目標状態に到達していた可能性もある。
第２の実施形態では、予測ホライズンＮ＝Ｎfのデータベースと、予測ホライズンＮ＝
１〜Ｎf−１のデータベースとを組み合わせることにより、図２０（ｂ）に示すように、
作成される生産・物流スケジュールの期間を予測ホライズンＮの整数倍以外の長さとする
ことが可能になる。したがって、期間を短くした生産・物流スケジュールを作成できる場
合もある。
【０１０１】
（第３の実施形態）
図２１に、第３の実施形態に係る生産・物流スケジュール作成装置１００の構成を示す
。
第３の実施形態では、データベースの作成は第１の実施形態と同じであるが、データベ
ースからの生産・物流方策の探索と、生産・物流プロセスを模擬するシミュレータによる
シミュレーションとを連動させて、シミュレータによるシミュレーションの結果を用いて
生産・物流スケジュールを作成するようにしている。
以下では、第１の実施形態に係る生産・物流スケジュール作成装置と同様の構成要素に
は同一の符号を付して説明する。
【０１０２】
図２１において、１０１は入力部であり、ユーザが入力装置２００を介して入力した情
報を取り込む。入力部１０１は、例えば生産・物流プロセスを表現するペトリネット（Pe
tri net）グラフ等のモデルを構築するための情報や、構築したモデルについて最適制御
問題を解くための情報を入力する。また、生産・物流スケジュールを作成するときには、
生産・物流プロセスにおけるユーザ所望の初期状態及び目標状態、スケジュール作成期間
、方策探索期間、シミュレーション期間、確定期間を入力する。なお、入力部１０１とし
ては、キーボードやマウス等で入力されるデータを取得する手段でもよいし、ネットワー
ク上の機器からデータを入力する手段でもよい。
【０１０３】
１０２は最適制御問題解析部であり、生産・物流プロセスを表現するペトリネットグラ
フ等のモデルについて拘束条件を有する状態方程式、及び評価関数で表される最適制御問
題を、生産・物流プロセスの初期状態と目標状態との組み合わせについて解く。そして、
初期状態と、最終状態と、該初期状態から該最終状態までの状態遷移を実現する最適な制
御入力との組み合わせの集合であるデータベースを作成する。
【０１０４】
１０３はデータベース保持部であり、最適制御問題解析部１０２で作成したデータベー
スを保持する。
【０１０５】
１０４は探索部であり、入力部１０１に与えられた初期状態や、後述するシミュレーシ
ョン部１０７から与えられる新たな初期状態、及び入力部１０１に与えられた目標状態に
基づいて、データベース保持部１０３で保持するデータベースから生産・物流方策を探索
する。
【０１０６】
１０７はシミュレーション部であり、生産・物流プロセスを精度良く模したシミュレー
タ、すなわち生産・物流スケジュールを作成するのに考慮すべき生産・物流状態、制約を
全て記載したシミュレータ１０７ａを含む。シミュレータ１０７ａはペトリネットグラフ
等のモデルで構成され、事象（シミュレータのイベント）毎に物を動かす離散系として構
成される。シミュレーション部１０７は、探索部１０４で探索した方策探索期間の生産・
物流方策と、シミュレーション期間とに基づいてシミュレーションを実行する。
ここで、実操業を模擬するため、シミュレータ１０７ａにはペトリネット形式で記述で
きない制約をプログラムの形で組み込む。例えば後述する図２に示すようなクレーン物流
プロセスでは、（１）クレーン毎の移動にかかる時間の違いや、運搬する物による移動時
間の違い、（２）日々進歩する操業方案の小さな効率化、例えば設備更新による運搬する
物による移動時間の短縮、運搬する物の統合や分割による操業方案の変化によるクレーン
移動時間の短縮、等、数分程度の時間のずれがあり、これらをシミュレータ１０７ａにプ
ログラムとして組み込む。このように、正確にシミュレーションすることで、実操業に求
められる細かな制約まで考慮した高精度の生産・物流スケジュールの立案が可能となる。
また、（３）毎日発生する非定常な操業トラブル等による短い設備休止は再スケジュール
作成前にシミュレータ１０７ａのパラメータを変更することで対応可能となる。また、（
２）日々進歩する操業方案の小さな効率化は、その都度生産・物流方策の計算を実施せず
、操業方案がまとまったところでまとめて計算しデータベースを更新することが可能とな
る。
【０１０７】
１０５は生産・物流スケジュール作成部であり、シミュレーション部１０７による確定
期間でのシミュレーションの結果を用いて、生産・物流スケジュールを作成する。
【０１０８】
１０６は出力部であり、生産・物流スケジュール作成部１０５で作成した生産・物流ス
ケジュールを出力する。生産・物流スケジュールの出力としては、例えば表示装置３００
に表示等する。
【０１０９】
なお、図１では一つの装置として図示したが、複数の装置が協働して生産・物流スケジ
ュール作成装置１００として機能する形態であってもかまわない。例えば最適制御問題解
析部１０２やデータベース保持部１０３を別の装置として構成し、この別の装置上のデー
タベース保持部１０３に探索部１０４がアクセスするような構成でもよい。
【０１１０】
次に、データベースの作成から、生産・物流スケジュールの作成までの流れを説明する
。
［データベースの作成］
対象とする生産・物流プロセスが確定すると、ユーザは、生産・物流スケジュール作成
装置１００において、その生産・物流プロセスを表現するペトリネットグラフを構築する
。そして、入力部１０１を介してペトリネットグラフについて最適制御問題を解くための
情報、例えば予測ホライズンＮ、評価関数ＪN(ｘk0)、重み行列Ｑ、Ｒ、Ｑfを設定する。
最適制御問題解析部１０２では、ペトリネットについて拘束条件を有する状態方程式、
及び評価関数で表される最適制御問題を、該対象とする生産・物流プロセスの初期状態と
最終状態との組み合わせについて解き、生産・物流方策（初期状態と、最終状態と、該初
期状態から該最終状態までの状態遷移を実現する最適な制御入力との組み合わせ）の集合
であるデータベースを作成する。この場合に、生産・物流プロセスにおいて考えられる全
ての初期状態、目標状態に対応する生産・物流方策を網羅的に計算し、データベースを作
成しておく。最適制御問題解析部１０２で作成したデータベースは、データベース保持部
１０３により保持される。
【０１１１】
［生産・物流スケジュールの作成］
図２２に、生産・物流スケジュールの作成手順を示す。
生産・物流スケジュールを作成するときには、ユーザは、入力部１０１を介して生産・
物流プロセスにおける所望の初期状態及び目標状態、スケジュール作成期間、方策探索期
間、シミュレーション期間、確定期間を入力する（ステップＳ１１）。スケジュール作成
期間としては、過去の実績等から、初期状態から目標状態に状態遷移するのにどの程度の
期間を要するか予測し、それより大きい期間を与える。すなわち、スケジュール作成期間
は、計算終了時間のＭＡＸを決めるためと、遠い将来までの計算を行わないために設定し
ている。
【０１１２】
探索部１０４では、入力部１０１に与えられた初期状態を初期状態とする生産・物流方
策をデータベースから探索する（ステップＳ１２）。この場合に、目標状態に達しなくて
も、方策探索期間の最終時点に達したら、データベースの探索を打ち切って探索を終了す
る。なお、データベースの探索を打ち切らずに、スケジュール作成期間に達するまで探索
を進めるという選択もあるが、これは方策探索期間を長い期間、例えばスケジュール作成
時間と同じとする場合に相当する。
このように、入力として与えられた初期状態を初期状態とする生産・物流方策をデータ
ベースから探索し、該探索した生産・物流方策の最終状態が目標状態と一致するか、方策
探索期間の最終時点に達するかすれば探索を終了する。該探索した生産・物流方策の最終
状態が目標状態と一致せず、方策探索期間の最終時点に達しない場合、該探索した生産・
物流方策の最終状態を新しい初期状態とし、そこから始まる生産・物流方策をデータベー
スから探索することを、最終状態が目標状態と一致するか、方策探索期間の最終時点に達
するかするまで繰り返し、これにより探索した生産・物流方策を時間的に連続させる。
探索部１０４は、上記のようにしてデータベースから探索した生産・物流方策をシミュ
レーション部１０７に与える。図２２のフローチャートの１回目のループであれば、生産
・物流方策には、入力部１０１に与えられた初期状態と、探索を打ち切った時点での最終
状態と、該初期状態から該最終状態までの状態遷移を実現する最適な制御入力とが含まれ
る。そして、次回以降のループであれば、生産・物流方策には、シミュレーション部１０
７から与えられる初期状態と、探索を打ち切った時点での最終状態と、該初期状態から該
最終状態までの状態遷移を実現する最適な制御入力とが含まれる。
【０１１３】
シミュレーション部１０７は、探索部１０４で探索した生産・物流方策と、シミュレー
ション期間とに基づいてシミュレーションを実行する（ステップＳ１３）。一つのイベン
トの所要時間が必ずしもシミュレーション期間のちょうど最終時点になるとは限らないが
、イベント毎にシミュレーションを進めて、少なくともシミュレーション期間をカバーす
るようにシミュレーションを実行する。このとき、一つ一つのイベント毎に、シミュレー
ションによる状態遷移と、生産・物流方策による状態遷移とを比較して、両者にずれが生
じた場合には、ずれが生じたイベントの一つ前のイベントでシミュレーションを終了する
。
【０１１４】
そして、シミュレーション部１０７は、確定期間でのシミュレーションの結果を生産・
物流スケジュールとして確定し、生産・物流スケジュール作成部１０５に与える（ステッ
プＳ１４）。
【０１１５】
また、シミュレーション部１０７は、確定期間内でシミュレーションにより得た状態が
、入力部１０１に与えられた目標状態に一致するか否かを確認する（ステップＳ１５）。
この結果、目標状態に一致しなければ、確定期間の終了時点の直後を新たな立案開始時点
として設定するとともに、確定期間の終了時点でシミュレーションにより得た最終状態を
探索部１０４に新たな初期状態として与え（ステップＳ１６）、ステップＳ１２以降の処
理を繰り返す。それに対して、目標状態に一致すれば、確定期間内で目標状態に一致する
までのシミュレーションの結果を生産・物流スケジュールとして確定し、生産・物流スケ
ジュール作成部１０５に与えるとともに、生産・物流スケジュール作成部１０５に終了で
あることを伝える。
生産・物流スケジュール作成部１０５は、シミュレーション部１０７から終了であるこ
とが伝えられると、それまでに確定したものとしてシミュレーション部１０７から与えら
れた一連の生産・物流スケジュールを時間的に連続させて生産・物流スケジュールを完成
させる（ステップＳ１７）。
【０１１６】
具体例を、図２３を参照しながら説明する。なお、本例は、シミュレーション期間と確
定期間とが同じ期間であるとした例である。
図２３に示すように、スケジュール作成期間は４日間と設定され、１日目は、方策探索
期間が２４時間、確定期間及びシミュレーション期間が最初の８時間と設定されている。
２日目以降は、方策探索期間が４８時間、確定期間及びシミュレーション期間が最初の２
４時間と設定されている。作成した生産・物流スケジュールの内で確定期間に入らなかっ
た部分については、確定せずに破棄する。
【０１１７】
第１ループで、探索部１０４は、１日目の０時〜２４時の方策探索期間について、入力
部１０１に与えられた初期状態を初期状態とする生産・物流方策をデータベースから探索
する。そして、シミュレーション部１０７は、探索部１０４で探索した生産・物流方策と
、シミュレーション期間とに基づいてシミュレーションを実行し、最初の８時間分（１日
目の０時〜８時）のシミュレーションの結果を生産・物流スケジュールＡとして確定する
。
【０１１８】
次に、第２ループでは、第１ループでの確定期間の直後の日時を新たな立案開始日時と
して設定して生産・物流スケジュールを立案する。この例の場合は、第１ループで１日目
の８時まで確定したので、第２ループでは立案開始日を１日目の８時に更新する。
第２ループで、探索部１０４は、１日目の８時〜２日目の８時の方策探索期間について
、第１ループの確定期間の終了時点でシミュレーションにより得た最終状態を初期状態と
する生産・物流方策をデータベースから探索する。そして、シミュレーション部１０７は
、探索部１０４で探索した生産・物流方策と、シミュレーション期間とに基づいてシミュ
レーションを実行し、最初の８時間分（１日目の８時〜１６時）のシミュレーションの結
果を生産・物流スケジュールＢとして確定する。
【０１１９】
次に、第３ループでは、第２ループでの確定期間の直後の日時を新たな立案開始日時と
して設定して生産・物流スケジュールを立案する。この例の場合は、第２ループで１日目
の１６時まで確定したので、第３ループでは立案開始日を１日目の１６時に更新する。
第３ループで、探索部１０４は、１日目の１６時〜２日目の１６時の方策探索期間につ
いて、第２ループの確定期間の終了時点でシミュレーションにより得た最終状態を初期状
態とする生産・物流方策をデータベースから探索する。そして、シミュレーション部１０
７は、探索部１０４で探索した生産・物流方策と、シミュレーション期間とに基づいてシ
ミュレーションを実行し、最初の８時間分（１日目の１６時〜２日目の０時）のシミュレ
ーションの結果を生産・物流スケジュールＣとして確定する。
【０１２０】
次に、第４ループでは、第３ループでの確定期間の直後の日時を新たな立案開始日時と
して設定して生産・物流スケジュールを立案する。この例の場合は、第３ループで２日目
の０時まで確定したので、第４ループでは立案開始日を２日目の０時に更新する。
２日目以降は、方策探索期間が４８時間、確定期間及びシミュレーション期間が最初の
２４時間と設定されている。第４ループで、探索部１０４は、２日目の０時〜４日目の０
時の方策探索期間について、第３ループの確定期間の終了時点でシミュレーションにより
得た最終状態を初期状態とする生産・物流方策をデータベースから探索する。そして、シ
ミュレーション部１０７は、探索部１０４で探索した生産・物流方策と、シミュレーショ
ン期間とに基づいてシミュレーションを実行し、最初の２４時間分（２日目の０時〜３日
目の０時）のシミュレーションの結果を生産・物流スケジュールＤとして確定する。
【０１２１】
次に、第５ループでは、第４ループでの確定期間の直後の日時を新たな立案開始日時と
して設定して生産・物流スケジュールを立案する。この例の場合は、第４ループで３日目
の０時まで確定したので、第５ループでは立案開始日を３日目の０時に更新する。
第５ループで、探索部１０４は、３日目の０時〜４日目の２４時の方策探索期間につい
て、第４ループの確定期間の終了時点でシミュレーションにより得た最終状態を初期状態
とする生産・物流方策をデータベースから探索する。そして、シミュレーション部１０７
は、探索部１０４で探索した生産・物流方策と、シミュレーション期間とに基づいてシミ
ュレーションを実行し、最初の２４時間分（３日目の０時〜４日目の０時）のシミュレー
ションの結果を生産・物流スケジュールＥとして確定する。
【０１２２】
次に、第６ループでは、第５ループでの確定期間の直後の日時を新たな立案開始日時と
して設定して生産・物流スケジュールを立案する。この例の場合は、第５ループで４日目
の０時まで確定したので、第６ループでは立案開始日を４日目の０時に更新する。
第６ループでは、４日目の０時から４日目の２４時までの２４時間を方策探索期間とし
て、第５ループの確定期間の終了時点でシミュレーションにより得た最終状態を初期状態
とする生産・物流方策をデータベースから探索する。そして、シミュレーション部１０７
は、探索部１０４で探索した生産・物流方策と、シミュレーション期間とに基づいてシミ
ュレーションを実行するが、この場合、２４時間について生産・物流スケジュールＦとし
て確定するようにしている。
本具体例では、第６ループが終了した時点で４日分の生産・物流スケジュールが全て作
成されるので、処理を終了する。また、生産・物流計スケジュールの確定は、生産・物流
指示を必要とする事象が発生する毎に行ってもよい。
【０１２３】
以上のように、生産・物流方策（初期状態と、最終状態と、該初期状態から該最終状態
までの状態遷移を実現する最適な制御入力との組み合わせ）の集合であるデータベースを
作成しておき、データベースからの生産・物流方策の探索と、シミュレータ１０７ａによ
るシミュレーションとを連動させて、シミュレーションの結果を用いて生産・物流スケジ
ュールを作成するようにしている。このとき、初期状態を移動させながらスケジュール作
成範囲を分割するようにしているので、計算負荷が大きなスケジュールを計算する場合に
おいても実用時間内で計算することが可能となる。したがって、計算要素が莫大な大規模
工場の生産・物流スケジュールを作成する場合においても、実用時間でスケジュールを作
成することができる。特に、データベースの探索とシミュレーションとを連動させて分割
処理を行っているので、各々の事象において多少のずれが生じた場合でも、事象毎に微調
整を行うことが可能となり、最適な生産・物流スケジュールを実用時間内で作成すること
ができるようになる。
このようにデータベースからの生産・物流方策の探索と、シミュレータ１０７ａによる
シミュレーションとを連動させて、シミュレーションの結果を用いて生産・物流スケジュ
ールを作成するようにしたので、（１）計算の繰り返しをしないでスケジュールを作成す
ることができる。また、（２）データベースから探索することで計算時間を短縮すること
ができるとともに、（３）大規模問題を解くことが可能になる。
【０１２４】
また、シミュレータ１０７ａには、考慮すべき生産・物流状態、制約を全て記載するこ
とができるので、１回のシミュレーションを行って作成された作成された生産・物流スケ
ジュールは現実に実行可能となることが保証される。これにより、（４）スケジュール精
度を高くすることができるとともに、（５）実行可能性を検証が取れているスケジュール
を作成することができる。
【０１２５】
例えば、図２３に示した例のような場合に、スケジュール作成期間の１日目は生産・物
流方策の計算を１時間単位とし、２日目以降は２時間単位とする等、シミュレータ１０７
ａによるシミュレーションでは、スケジュール作成期間を通して分単位でシミュレーショ
ンを行うことが可能であり、生産・物流方策の計算間隔の違いに影響されることなく計画
精度を一定に保つことができる。このような記載の細かな、しかし現場へ適応するために
は必要不可欠な制約を全てペトリネットグラフ等のモデルとして記述することはモデル作
成やモデル改造メンテナンスの意味でも膨大な時間が掛かるし、生産・物流方策の計算を
オフライン化し計画作成時間を短縮化しているとは言え、膨大な規模のモデルを用いて計
算を行うことは非効率である。
【０１２６】
なお、データベースは予め作成されるとしたが、データベース作成時の漏れや、最適制
御問題を解くための情報の変更等があった場合等には、追加作成してもよいことは言うま
でもない。
【０１２７】
第３の実施形態での効果を説明する。第１の実施形態、及び第２の実施形態では、生産
・物流スケジュールに反映させるべき制約や条件は、全てデータベースを作成する際に実
施する最適化計算に用いる数式に記述する必要がある。換言すると、数式で記述できない
制約や条件が存在する場合には、それらに起因する誤差が生じるため、得られた生産・物
流スケジュールが、厳密な意味で実行可能で無い場合が生じる虞があり、生産・物流スケ
ジュールの精度に対する要求が厳しい場合には問題になる場合がある。第３の実施形態に
よれば、生産・物流方策（初期状態と、最終状態と、該初期状態から該最終状態までの状
態遷移を実現する最適な制御入力との組み合わせ）の集合であるデータベースを作成して
おき、データベースからの生産・物流方策の探索と、詳細な制約や条件まで反映させて生
産・物流プロセスを模擬するシミュレータによるシミュレーションとを連動させて、シミ
ュレータによるシミュレーションの結果を用いて生産・物流スケジュールを作成するよう
にしたので、シミュレーションを繰り返し行うことなく最適なシミュレーションの結果を
得ることができるようにして、スケジュール作成対象の生産・物流プロセスで実際に使用
可能であることが保証された生産・物流スケジュールを高速に、且つ高精度に作成するこ
とができる。
【０１２８】
＜第４の実施形態＞
次に、第４の実施形態を説明する。なお、生産・物流スケジュール作成装置の構成は第
３の実施形態で説明したものと同様であり、以下では、第３の実施形態との相違点を中心
に説明する。
［データベースの作成］
第４の実施形態では、最適制御問題解析部１０２において、２種類のデータベースを作
成する。すなわち、第３の実施形態と同様、予測ホライズンＮで、最終状態と目標状態と
の関係を含む評価関数を用いて最適制御問題（最適制御問題（１））を解き、生産・物流
方策（初期状態と、最終状態と、該初期状態から該最終状態までの状態遷移を実現する最
適な制御入力との組み合わせ）の集合である第１のデータベースを作成する。また、１か
ら（Ｎ−１）期間それぞれで、最終状態と目標状態との関係を含まない評価関数を用いる
とともに、最終状態が拘束集合を満たす条件で最適制御問題（最適制御問題（２））を解
き、生産・物流方策（初期状態と、最終状態と、該初期状態から該最終状態までの状態遷
移を実現する最適な制御入力との組み合わせ）の集合である複数の第２のデータベースを
作成する。
【０１２９】
図１５に示したように、第１のデータベースを作成するときは、予測ホライズンＮ＝Ｎ
f（Ｎfは各自で設定した予測ホライズン）で、例えば式（３３ａ）〜式（３３ｆ）のよう
な最適制御問題（１）を解く。
【０１３０】
図１６に示したように、第２のデータベースを作成するときは、予測ホライズンＮ＝１
、２、・・・、Ｎf−１で、例えば式（３４ａ）〜式（３４ｇ）のような最適制御問題（
２）を解く。第２のデータベースは、Ｎf−１個作成されることになる。
【０１３１】
ここで、第１のデータベースを作成するための最適制御問題（１）では、最終状態ｘ(
ｋ0＋Ｎ)と目標状態ｘrefとの関係が評価関数（式（３３ａ））に含まれており、最終状
態ｘ(ｋ0＋Ｎ)を目標状態ｘrefに近づけるような入力Ｕ(ｘk0)を求めるものとなっている
。
それに対して、第２のデータベースを作成するための最適制御問題（２）では、最終状
態ｘ(ｋ0＋Ｎ)と目標状態ｘrefとの関係が評価関数（式（３４ａ））に含まれておらず、
最終状態ｘ(ｋ0＋Ｎ)が拘束集合ｘsetを満たす条件（式（３４ｃ））で入力Ｕ(ｘk0)を求
めるものとなっている。最終状態ｘ(ｋ0＋Ｎ)が拘束集合ｘsetを満たす条件としては、例
えば最終状態ｘ(ｋ0＋Ｎ)が目標状態ｘrefと一致するとの条件を設定してもよいし、より
一般的には、目標状態ｘrefの周りにある小さな範囲を設定しその範囲内に最終状態ｘ(ｋ
0＋Ｎ)が入れば一致したとしてもよい。
なお、第１のデータベースをデータベース（ｘsetなし）、第２のデータベースをデー
タベース（ｘsetあり）とも称する。
【０１３２】
［生産・物流スケジュールの作成］
図１４に、第４の実施形態における生産・物流スケジュールの作成の流れを示す。ここ
では、基本的な概念の理解のために、データベースを探索することでスケジュール作成す
るアルゴリズムを説明し、シミュレーション部１０７を連動させる仕組みについては後述
する。
生産・物流スケジュールを作成するときには、ユーザは、生産・物流プロセスにおける
所望の初期状態及び目標状態を入力する。
予測ホライズンＮ＝１のデータベース（ｘsetあり）に初期状態ｘ(ｋ0)＝ｘk0が存在す
るか否かを確認する（ステップＳ１）。データベース（ｘsetあり）では、最終状態ｘ(ｋ
0＋Ｎ)が拘束集合ｘsetを満たすので、初期状態ｘ(ｋ0)＝ｘk0が存在するか否かを確認す
るだけでよい。予測ホライズンＮ＝１のデータベース（ｘsetあり）に初期状態ｘ(ｋ0)＝
ｘk0が存在すれば、本アルゴリズムを終了するとともに、予測ホライズンＮ＝１のデータ
ベース（ｘsetあり）に記述された生産・物流方策を生産・物流スケジュールとする。
【０１３３】
予測ホライズンＮ＝１のデータベース（ｘsetあり）に初期状態ｘ(ｋ0)＝ｘk0が存在し
ない場合、以下同様に、予測ホライズンＮ＝２、・・・、Ｎf−１の順番で、各データベ
ース（ｘsetあり）に初期状態ｘ(ｋ0)＝ｘk0が存在するか否かを確認する（ステップＳ２
〜Ｓ（Ｎf−１））。いずれかのデータベース（ｘsetあり）に初期状態ｘ(ｋ0)＝ｘk0が
存在すれば、その時点で本アルゴリズムを終了するとともに、初期状態ｘ(ｋ0)＝ｘk0が
存在したデータベース（ｘsetあり）に記述された生産・物流方策を生産・物流スケジュ
ールとする。
【０１３４】
予測ホライズンＮ＝Ｎf−１のデータベース（ｘsetあり）に初期状態ｘ(ｋ0)＝ｘk0が
存在しない場合（すなわち、Ｎf−１個のデータベース（ｘsetあり）のいずれにも初期状
態ｘ(ｋ0)＝ｘk0が存在しない場合）、初期状態ｘ(ｋ0)＝ｘk0の生産・物流方策をデータ
ベース（ｘsetなし）から探索し、探索した生産・物流方策の最終状態が、入力として与
えられた目標状態ｘrefと一致するか否かを確認する（ステップＳ１００）。探索した生
産・物流方策の最終状態が、入力として与えられた目標状態ｘrefと一致すれば、本アル
ゴリズムを終了するとともに、データベース（ｘsetなし）から探索した生産・物流方策
を生産・物流スケジュールとする。
【０１３５】
データベース（ｘsetなし）から探索した生産・物流方策の最終状態が、入力として与
えられた目標状態ｘrefと一致しない場合、最終時刻ｋ0＋Ｎfを新しい初期時刻ｋ0←ｋ0
＋Ｎf、最終状態ｘ(ｋ0＋Ｎf)を新しい初期状態ｘk0←ｘ(ｋ0＋Ｎf)として（ステップＳ
１０１）、ステップＳ１に戻り、以下の処理を繰り返す。
すなわち、予測ホライズンＮ＝１〜Ｎf−１のデータベース（ｘsetあり）に、新しい初
期状態が存在するか否かを順番に確認する（ステップＳ１〜Ｓ（Ｎf−１））。その結果
、いずれかのデータベース（ｘsetあり）に存在すれば、該データベース（ｘsetあり）に
記述された生産・物流方策を、それまでにデータベース（ｘsetなし）から探索した生産
・物流方策に時間的に連続させて生産・物流スケジュールとする。
予測ホライズンＮ＝１〜Ｎf−１のデータベース（ｘsetあり）のいずれにも、新しい初
期状態が存在しない場合、新しい初期状態の生産・物流方策をデータベース（ｘsetなし
）から探索し（ステップＳ１０１）、探索した生産・物流方策の最終状態が、入力として
与えられた目標状態ｘrefと一致するか否かを確認する。その結果、探索した生産・物流
方策の最終状態が、入力として与えられた目標状態ｘrefと一致すれば、今回データベー
ス（ｘsetなし）から探索した生産・物流方策を、それまでにデータベース（ｘsetなし）
から探索した生産・物流方策に時間的に連続させて生産・物流スケジュールとする。
【０１３６】
第４の実施形態について、図２４に示すペトリネットグラフを例にして説明する。
ここで、図２５（ａ）に示すように、プレースｐ2にはトークンが１個しか存在できな
い。また、図２５（ｂ）に示すように、トランジションｔ1とトランジションｔ2は同時に
発火することができない。また、図２５（ｃ）に示すように、トランジションｔ1とトラ
ンジションｔ3は同時に発火することができない。また、図２５（ｄ）に示すように、ト
ランジションｔ2とトランジションｔ5は同時に発火することができない。これらの拘束条
件は、式（３５ａ）〜式（３５ｄ）で表される。
【０１３７】
【数２３】
0006451278.tif 000028
【０１３８】
また、状態方程式、拘束条件（整数制約）、拘束条件（非負制約）はそれぞれ式（３６
）〜式（３８）で表される。
【０１３９】
【数２４】
0006451278.tif 000029
【０１４０】
式（３９ａ）〜式（３９ｆ）のような最適制御問題（１）を解く。この最適制御問題（
１）では、最終状態ｘ(ｋ0＋Ｎ｜ｘk0)について拘束条件ｘsetは存在しないが、評価関数
に||Ｑｆ(ｘ(ｋ0＋Ｎf)−ｘref)||1が存在する。図２６に示すように、予測ホライズンＮ
＝３の場合を解いて、データベース（ｘsetなし）を作成する。初期状態、目標状態、重
み行列、最終状態への拘束条件は表４のとおりである。
【０１４１】
【数２５】
0006451278.tif 000030
【０１４２】
【表５】
0006451278.tif 000031
【０１４３】
また、式（４０ａ）〜式（４０ｇ）のような最適制御問題（２）を解く。この最適制御
問題（２）では、最終状態ｘ(ｋ0＋Ｎ｜ｘk0)について拘束条件ｘsetが存在するが、評価
関数に||Ｑｆ(ｘ(ｋ0＋Ｎ｜ｘk0)−ｘref)||1は存在しない。図２７（ａ）、（ｂ）に示
すように、Ｎ＝１、２の場合を解いて、データベース（ｘsetあり）を作成する。
【０１４４】
【数２６】
0006451278.tif 000032
【０１４５】
図２８（ａ）、（ｂ）に示すように、予測ホライズンＮ＝１、２のデータベース（ｘse
tあり）に、初期状態ｘ(０)＝ｘ0＝［４  ０  ０  ０  ０］Tは存在しない（ステップＳ
１、２）。
したがって、次に図２９（ａ）に示すように、データベース（ｘsetなし）から、初期
状態ｘ(０)＝ｘ0＝［４  ０  ０  ０  ０］の生産・物流方策を探索する（ステップＳ１
００）。その結果、最終状態ｘ(３｜ｘ0)＝［１  １  １  ０  １］Tが得られるが、目標
状態ｘref＝［０  ０  ０  ０  ４］Tと一致しない。
図３０（ａ）に、ここまでのデータベースの探索と、ペトリネットグラフの状態との関
係を示す。
【０１４６】
そこで、最終時刻ｋ0＋Ｎを新しい初期時刻（ｋ0←ｋ0＋Ｎ）に更新して、最終状態ｘ(
ｋ0＋Ｎ｜ｘk0)を新しい初期状態（ｘk0←ｘ(ｋ0＋Ｎ｜ｘk0)）に更新する。すなわち最
終状態ｘ(３｜ｘ0)＝［１  １  １  ０  １］Tを新しい初期状態として（ステップＳ１０
１）、図２８（ａ）、（ｂ）に示すように、再度、予測ホライズンＮ＝１、２のデータベ
ース（ｘsetあり）を探索すると（ステップＳ１、２）、その初期状態は存在しない。
したがって、次に図２９（ｂ）に示すように、データベース（ｘsetなし）から、初期
状態ｘ(３)＝ｘ3＝［１  １  １  ０  １］Tの生産・物流方策を探索する（ステップＳ１
００）。その結果、目標状態ｘrefに一致する最終状態ｘ(６｜ｘ3)＝［０  ０  ０  ０  
４］Tが得られる。
図３０（ｂ）に、ここまでのデータベースの探索と、ペトリネットグラフの状態との関
係を示す。
【０１４７】
この場合、シミュレーション部１０７に与えられる生産・物流方策は、図２９（ａ）の
生産・物流方策と、図２９（ｂ）の生産・物流方策とを時間的に連続させたものとなる。
【０１４８】
図３１に、データベースの探索結果を示す。図３１（ａ）を見ると、離散時刻ｋ＝０で
初期状態ｘ(０)＝ｘ0＝［４  ０  ０  ０  ０］Tから、ｘ(１)＝［３  １  ０  ０  ０］
T、ｘ(２)＝［２  ０  １  ０  １］T、ｘ(３)＝［１  １  １  ０  １］T、ｘ(４)＝［
０  ０  １  １  ２］T、ｘ(５)＝［０  ０  ０  １  ３］Tという生産・物流方策を経て
、離散時刻ｋ＝５でｘ(５)＝［０  ０  ０  ０  ４］Tとなることがわかる。
【０１４９】
また、図３１からわかるように、既述したペトリネットグラフにおける拘束条件、すな
わちプレースｐ2にはトークンが１個しか存在できない、トランジションｔ1とトランジシ
ョンｔ2は同時に発火することができない、トランジションｔ1とトランジションｔ3は同
時に発火することができない、トランジションｔ2とトランジションｔ5は同時に発火する
ことができないという拘束条件が満たされている。
【０１５０】
第４の実施形態では、シミュレーション部１０７に与える生産・物流方策を次のように
して求める。
データベース（ｘsetあり）に、入力として与えられた初期状態が存在するか否かを１
から（Ｎ−１）（Ｎは予測ホライズン）について順番に確認し、いずれかのデータベース
（ｘsetあり）に存在すれば探索を終了する（ステップＡ）。
ステップＡにおいてデータベース（ｘsetあり）のいずれにも初期状態が存在しない場
合、該初期状態を初期状態とする生産・物流方策をデータベース（ｘsetなし）から探索
し、該探索した生産・物流方策の最終状態が目標状態と一致するか、方策探索期間の最終
時点に達するかすれば探索を終了する（ステップＢ）。
ステップＢにおいて探索した生産・物流方策の最終状態が目標状態と一致せず、方策探
索期間の最終時点に達しない場合、該探索した生産・物流方策の最終状態を新しい初期状
態とする（ステップＣ）。
データベース（ｘsetあり）に、新しい初期状態が存在するか否かを１から（Ｎ−１）
について順番に確認し、いずれかのデータベース（ｘsetあり）に存在すれば探索を終了
する。この場合、データベース（ｘsetあり）に記述された生産・物流方策を、それまで
にデータベース（ｘsetなし）から探索した生産・物流方策に時間的に連続させる（ステ
ップＤ）。
ステップＤにおいてデータベース（ｘsetあり）のいずれにも新しい初期状態が存在し
ない場合、新しい初期状態を初期状態とする生産・物流方策をデータベース（ｘsetなし
）から探索し、該探索した生産・物流方策の最終状態が目標状態と一致するか、方策探索
期間の最終時点に達するかすれば探索を終了する。この場合、今回データベース（ｘset
なし）から探索した生産・物流方策を、それまでにデータベース（ｘsetなし）から探索
した生産・物流方策に時間的に連続させる。一方、目標状態と一致せず、方策探索期間の
最終時点に達しない場合、ステップＣに戻る（ステップＥ）。
【０１５１】
次に、図２０を参照して、第４の実施形態での効果を説明する。
第３の実施形態で生産・物流スケジュールを作成する場合、換言すれば第４の実施形態
でいうデータベース（ｘsetなし）だけを利用して生産・物流スケジュールを作成する場
合、図２０（ａ）に示すように、作成される生産・物流スケジュールの期間は予測ホライ
ズンＮ（＝Ｎf）の整数倍の長さとなる。
この場合に、実は、時点ｎで、予測ホライズンＮ＝Ｎfのデータベースに記述されてい
ない、ある生産・物流方策があれば、目標状態に到達していた可能性もある。
第４の実施形態では、予測ホライズンＮ＝Ｎfのデータベースと、予測ホライズンＮ＝
１〜Ｎf−１のデータベースとを組み合わせることにより、図２０（ｂ）に示すように、
作成される生産・物流スケジュールの期間を予測ホライズンＮの整数倍以外の長さとする
ことが可能になる。したがって、期間を短くした生産・物流スケジュールを作成できる場
合もある。
【０１５２】
＜第５の実施形態＞
実機規模の問題を対象とすると、各状態を表わす状態変数が格段に増加し、データベー
スの計算に使用する初期状態は状態変数の掛け算で増加することは容易に想定できる。
第１〜第４の実施形態では、オフラインでのデータベースを作成する計算量を決定する
初期状態は、この問題の有限集合である状態空間の全状態を想定している。予め予想され
る設備、操業等の変動を許容するよう定式化をしておけば、状態空間の全状態を初期状態
とすることで、予め予想された設備、操業等の変動を吸収してスケジュールを作成するこ
とができる。そして、スケジュール作成の対象となる設備、操業等が変化しないか、又は
予め予想された設備、操業等の変動であれば、オフライン計算は１回のみ行えば良いので
、第１〜第４の実施形態でも実機適用の上で差し支えは無いし、設備や操業変動に強い。
しかしながら、例えばスケジュール作成の対象となる設備、操業等が短期間ではあるがそ
れまでの想定以上に変更される場合や長期に渡り頻繁に変更を繰り返す場合、また、試験
的に設備や操業を変更する場合等、オフライン計算を何度も行う必要がある場合や、新た
な設備や操業の下で、至急にスケジュール作成を行う必要がある場合等は、問題の状態空
間に何らかの制限を加えて、初期状態を限定しオフラインでのデータベースを作成する計
算量を削減することが必要となることが試験操業や実操業では発生する場合もある。
そこで、第５の実施形態では、問題の状態空間に制約条件を課して初期状態を限定し、
オフラインでの計算量を削減することを提案する。
【０１５３】
簡単な具体例を示す。建屋を３つの領域に分け、建屋の各領域のクレーンの機数を状態
変数（ｘ1、ｘ2、ｘ3）とする。各変数ｘ1、ｘ2、ｘ3は０〜Ｘの非負整数値を取るとする
と、状態空間は図３２（ａ）に示すような３次元空間中の格子点の集合となる。
ここで、例えばクレーン機数は一定（例えばＸ台）という制約条件（クレーン機数一定
制約）を適用すると、状態変数（ｘ1、ｘ2、ｘ3）の合計がＸとなる制約式で表現するこ
とができ、状態空間は図３２（ｂ）に示すように（Ｘ、０、０）、（０、Ｘ、０）、（０
、０、Ｘ）の３点を通る平面上の格子点の集合に限定される。
また、例えば建屋の第３領域にはクレーンが１機のみしか侵入できないという制約条件
（建屋制約）を適用すると、ｘ3＝１となる制約式で表現することができる。クレーン機
数一定制約の制約式ｘ1＋ｘ2＋ｘ3＝Ｘと建屋制約の制約式ｘ3＝１の交わる直線上の格子
点の集合に限定される。
実問題では、操業上、及び、クレーンや建屋等の設備上、有限の数の制約が数多く存在
し、制約式は状態変数の単純な関係式として表現できることを利用し、初期状態の数を大
幅に減らすことができる。
【０１５４】
第１の実施形態で説明したが、図８に、データベースの考え方を説明するためのペトリ
ネットグラフのモデル例を示す。図８のペトリネットグラフの状態方程式は式（１９）の
ようになる。また、拘束条件（整数制約）は式（２０）、式（２１）のようになる。この
モデルについて最適制御問題を解くと、図３３に示すようなデータベースが作成される。
なお、図３３は図９に示したデータベースと同じものである。このデータベースは、初期
状態ｘ(ｋ0)＝ｘk0と、最終状態ｘ(ｋ0＋２)と、初期状態ｘ(ｋ0)＝ｘk0から最終状態ｘ(
ｋ0＋２)までの状態遷移を実現する最適な制御入力との組み合わせである生産・物流方策
の集合である。
ここで、制約条件として、状態の合計が４であるとする制約式Ｘ1＋Ｘ2＝４を追加する
と、図３３において丸で囲んだ部分のみを要素とする５分１の大きさのデータベースが作
成されることになる。
データベースより、図８で与えられた初期状態ｘ0＝［４  ０］に対応する最終状態ｘ(
２)＝［２  ２］とわかる。この最終状態ｘ（２）は図８で与えられた目標状態ｘrefと一
致しないので、この最終状態ｘ(２)を新しい初期状態ｘ(２)＝［２  ２］とする。
データベースより、新しい初期状態ｘ(２)＝ｘ2＝［２  ２］に対応する最終状態ｘ(４
)＝［０  ４］とわかる。この最終状態ｘ（４）は図８で与えられた目標状態ｘrefと一致
するので、スケジュール作成を終了する。
【０１５５】
以上のように、第１の実施形態について、状態空間に制約条件を課して初期状態を限定
し、オフラインの計算量を削減することができる。また、データベースの規模も削減する
ことができ、オンラインでのデータベースの探索時間の削減にもつながる。同様に第２、
第３、第４の実施形態についても、それぞれの状態空間に制約条件を課して初期状態を限
定し、オフラインの計算量を削減することができる。また、データベースの規模も削減す
ることができ、オンラインでのデータベースの探索時間の削減を行うことが可能である。
【０１５６】
以上、本発明を種々の実施形態と共に説明したが、本発明はこれらの実施形態にのみ限
定されるものではなく、本発明の範囲内で変更等が可能である。例えば上記実施形態では
、生産・物流プロセスをペトリネットグラフで表現する例を説明したが、離散事象プロセ
スを表現できるモデルであれば特に限定されるものではない。
【０１５７】
本発明を適用した生産・物流スケジュール作成装置は、例えばＣＰＵ、ＲＯＭ、ＲＡＭ
等を備えたコンピュータ装置により実現される。
また、本発明は、本発明の生産・物流スケジュール作成装置としての機能を実現するソ
フトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装
置に供給し、そのシステム或いは装置のコンピュータがプログラムを読み出して実行する
ことによっても実現可能である。
【符号の説明】
【０１５８】
１００：生産・物流スケジュール作成装置、１０１：入力部、１０２：最適制御問題解
析部、１０３：データベース保持部、１０４：探索部、１０５：生産・物流スケジュール
作成部、１０６：出力部、１０７：シミュレーション部、１０７ａ：シミュレータ
【図１】
0006451278.tif 000033
【図２】
0006451278.tif 000034
【図３】
0006451278.tif 000035
【図４】
0006451278.tif 000036
【図５】
0006451278.tif 000037
【図６】
0006451278.tif 000038
【図７】
0006451278.tif 000039
【図８】
0006451278.tif 000040
【図９】
0006451278.tif 000041
【図１０】
0006451278.tif 000042
【図１１】
0006451278.tif 000043
【図１２】
0006451278.tif 000044
【図１３】
0006451278.tif 000045
【図１４】
0006451278.tif 000046
【図１５】
0006451278.tif 000047
【図１６】
0006451278.tif 000048
【図１７】
0006451278.tif 000049
【図１８】
0006451278.tif 000050
【図１９】
0006451278.tif 000051
【図２０】
0006451278.tif 000052
【図２１】
0006451278.tif 000053
【図２２】
0006451278.tif 000054
【図２３】
0006451278.tif 000055
【図２４】
0006451278.tif 000056
【図２５】
0006451278.tif 000057
【図２６】
0006451278.tif 000058
【図２７】
0006451278.tif 000059
【図２８】
0006451278.tif 000060
【図２９】
0006451278.tif 000061
【図３０】
0006451278.tif 000062
【図３１】
0006451278.tif 000063
【図３２】
0006451278.tif 000064
【図３３】
0006451278.tif 000065