(57)【特許請求の範囲】
【請求項１】
一つの原材料から複数種類の生成物の生成または複数種類の原材料から一つの生成物の生成または複数種類の原材料から複数種類の生成物の生成を伴う、生産の計画を行う生産計画システムにおいて、
第一の制約条件を元に、第一の生産計画を行う第一の生産計画手段と、
前記第一の生産計画手段で求めた生産計画における原材料と生産物の量的関係比を算出する関係比算出手段と、
前記第一の生産計画手段で求めた生産計画の原材料または生成物の量の修正を入力する修正入力手段と、
前記修正入力手段で入力された量および前記量的関係比により生産計画を行う第二の生産計画手段と
を備えたことを特徴とする生産計画システム。
【請求項２】
一つの原材料から複数種類の生成物の生成または複数種類の原材料から一つの生成物の生成または複数種類の原材料から複数種類の生成物の生成を伴う、生産の計画を行う生産計画システムにおいて、
予め計画が立てられた生産計画における原材料と生産物の量的関係比を算出する関係比算出手段と、
前記予め立てられた生産計画の原材料または生成物の量の修正を入力する修正入力手段と、
前記修正入力手段で入力された量および前記量的関係比により生産計画を行う生産計画手段と、
を備えたことを特徴とする生産計画システム。
【請求項３】
前記関係比算出手段は、原材料に中間生産物および製品の量的関係比を求めることを特徴とする請求項１または２記載の生産計画システム。
【請求項４】
前記第二の生産計画手段は、修正入力手段で入力された原材料または生成物の量に基づく評価関数を用いて生産計画を行うことを特徴とする請求項１または２記載の生産計画システム。
【請求項５】
一つの原材料から複数種類の生成物の生成または複数種類の原材料から一つの生成物の生成または複数種類の原材料から複数種類の生成物の生成を伴う、生産の計画を行う生産計画プログラムを格納したコンピュータ読み取り可能な記録媒体であって、
予め計画が立てられた生産計画における原材料と生産物の量的関係比を算出する関係比算出手段と、
前記予め立てられた生産計画の原材料または生成物の量の修正を入力する修正入力手段と、
前記修正入力手段で入力された量および前記量的関係比により生産計画を行う生産計画手段とを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数理計画法システムの最適化計算の結果に対して分析を行う装置に関するものである。詳しくは、石油・化学系の連続系プラントの生産計画、運転計画などを数理計画問題として解く場合に利用できる数理計画システムの最適化計算の結果に対して、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｓｅ）を使用した事後分析装置に関するものである。
【０００２】
一般的に、最適化計算で得られた生産計画について、ある変数の値を変更した場合に、どのような計画になるのかを検証してみたいことはしばしばある。例えば、製品Ａを１００単位生産する計画が立案されたが、製品Ａを１５０単位に増加して生産した場合、他の製品、原料などにどのような影響を与えるかをシミュレーションしてみたい場合がある。
【０００３】
ＧＵＩを使用したモデリングシステムを使用して生産計画を立案する場合、モデリングシステムは、生産計画モデルを生成する。この生産計画モデルを数理計画法システムへの入力データとし、数理計画法システムにおいて最適化計算を実行し生産計画を立案する。計画立案段階でさまざまな試行錯誤をすることが常であるが、この場合には、生産計画モデルを修正し、再度最適化計算を行う。上下限値の変更、固定制約の追加など、試行錯誤の内容が非常に小規模である場合にも同様に、数理計画法システムを実行して、生産計画モデルに対して再度最適化計算を行っているのが現状である。
【０００４】
【従来の技術】
最初に、種々の計画立案などに使用される最適解を求めるための処理について説明する。
【０００５】
図８は、従来の技術によるシステムの構成図である。
図８に示すシステムは、モデリングシステム１、変数マップファイル２、モデルデータファイル３、マスタファイル４、解情報ファイル５、修正情報ファイル６、数理計画法システム７およびディスプレイ装置１１から構成される。
【０００６】
モデリングシステム１は、数値データおよびプロセスフローから数理計画問題のモデルデータ（生産計画モデル）を生成する。一般的には、与えられたデータを数理計画モデルに正確に表現でき、最初のモデル構築に使用された以外の新しいデータにも追随する汎用能力を有するものとする。
【０００７】
図８の例では、変数マップファイル２、モデルデータファイル３および修正情報ファイル６を生成する。さらに、モデリングシステム１は、数理計画法システム７が計算した最適化計算結果をディスプレイ装置１１を介してユーザに提示する。
【０００８】
変数マップファイル２は、モデリングシステム１が生成したモデルデータの変数名と、その変数名が実際のプロセスフロー上で何に相当するのかを表すパス名の対応情報が格納されるファイルである。
【０００９】
図９は、変数マップファイルの例を示す。変数マップファイルは、モデリングシステム１が自動的に命名した変数名と、変数名が実際のプロセスフロー上の何に相当するのかを表すパス名から構成される。
【００１０】
図９において、“Ｒ”で始まる変数名は行変数名を、また、“Ｃ”で始まる変数名は列変数名を表す。例えば、図９の（＊）で示す行は、モデリングシステムが１命名した変数“Ｃ０００００２９”がプロセスフロー（詳細は、後述する）上の装置Ｐｒｏｃｅｓｓ１からの出力要素ｃの第１期のデータを表す変数名であることを意味している。
【００１１】
モデルデータファイル３には、モデリングシステム１が生成したモデルデータが格納される。このモデルデータは、数理計画法システム７への入力データとなる。
【００１２】
図１０に、モデルデータファイルの例を示す。モデルデータファイルには、モデリングシステム１が生成した変数名使って数理計画法システム７への入力データ形式（ＭＰＳ形式）で格納される。
【００１３】
マスタファイル４には、モデルデータファイル３のモデルデータ情報が内部形式で格納される。
解情報ファイル５には、最適化計算において、最適解が求められた場合だけでなく、実行不可能解や無限解が求められた場合にも、その解を得た時点での解情報が出力される。
【００１４】
図１１に、解情報ファイルの例を示す。
修正情報ファイル６には、マスタファイル４上のモデルデータ情報の修正を指示する情報が格納される。
【００１５】
図１２に、修正情報ファイルの例を示す。
数理計画法システム７は、数理計画法に基づき、与えられた問題（モデルデータ）に対して最適化計算を行う。
【００１６】
数理計画法とは、オペレーションズ・リサーチ分野の代表的な手法であり、数学的に表現された制約条件のもとで、目的とする関数の値を最小または最大にする数学的な技法である。数理計画法には、線形計画法、混合整数計画法などが含まれる。目的とする関数の値を最大または最小にする過程のことを最適化計算という。
【００１７】
ディスプレイ装置１１は、ユーザが数理計画法システム７における最適化計算の経過や結果を取得するための種々の表示情報を表示する。
図１３に、従来の技術によるディスプレイ表示例を示す。図１３で示しているのは、モデリングシステム１において、ユーザが装置構成や処理フローを設定するためのプロセスフロー１１０、および、値設定テーブル１２０である。
【００１８】
プロセスフロー１１０には、ユーザが意図している生産計画の内容に基づいて、ポインティングデバイスを用いて、各要素を処理する装置を表すボックス（図１３の例では、Ｐｒｏｃｅｓｓ１およびＰｒｏｃｅｓｓ２）や、各種要素の流れを示すライン（図１３の例では、ａ，  ｂ，  …，  ｆ）を作図入力する。
【００１９】
装置を表すボックスには、入力要素が出力要素の一次方程式で表される定率分岐処理、出力要素が入力要素の一次方程式で表される定率所要処理、入力要素と出力要素の関係が一次方程式または一次不等式で表される混合処理などが存在する。
【００２０】
また、プロセスフロー１１０には、数理計画法システム７の最適化計算の結果求められた解を表示することもできる。
図１３のプロセスフローは、二つの原料ａおよびｂから二つの製品ｅおよびｆを生産する連続系プラントの処理の流れを描いたものである。この連続系プラントには二つの定率分岐装置Ｐｒｏｃｅｓｓ１およびＰｒｏｃｅｓｓ２が存在し、装置Ｐｒｏｃｅｓｓ１で処理された中間生産物ｃおよびｄが装置Ｐｒｏｃｅｓｓ２の入力になっている。
【００２１】
値設定テーブル１２０は、プロセスフロー１１０における各装置やプロセスフロー全体の入出力量の上下限値設定、種々の条件値設定など、最適化計算に必要となる数値データを設定するためのテーブルである。また、値設定テーブル１２０には、数理計画法システム７の最適化計算の結果求められた解を表示することもできる。
【００２２】
図１４に、従来の技術による値設定テーブルの例を示す。
図１４（ａ）は、プロセスフロー全体としての入力要素（原料）に対する数値情報の表示例を、また、図１４（ｂ）は、プロセスフロー全体としての出力要素（製品）に対する数値情報の表示例を表している。利益欄、上限値欄および下限値欄にはユーザ入力値を、またアクティビティ欄には数理計画法システム７の最適化計算により求められた解を表示する。同様に、各装置ごとに入出力要素に対する装置情報を値設定テーブルに設定できる。
【００２３】
図１４（ｃ）は、装置の処理を定める値設定テーブルの例として、定率分岐処理を行う装置Ｐｒｏｃｅｓｓ１の処理情報の表示例を表している。
図１４（ｃ−１）は、ユーザの入力例である。例えば、装置Ｐｒｏｃｅｓｓ１に入力要素（原料）ａが１単位入ってきた場合、装置Ｐｒｏｃｅｓｓ１からの出力要素（中間生産物）ｃに０．３３、出力要素（中間生産物）ｄに０．６７の割合で使われることを設定している。
【００２４】
図１４（ｃ−２）は、最適化計算結果の表示例である。例えば、（＊）で示す部分では、ユーザが設定した比率だけでなく、表示モードを切り替えることで最適化計算の結果求められた処理量を同画面上に表示している。また、装置の処理情報は、処理の内容に応じた値設定テーブルを利用して設定する。
【００２５】
次に、図８における動作について説明する。
図１５は、従来の技術によるフローチャートである。
ステップ１０１：ユーザが、モデリングシステム１を使用して、希望する処理のプロセスフロー１１０をディスプレイ装置１１上に作成する。
【００２６】
ステップ１０２：次に、ユーザは、モデリングシステム１を利用して、値設定テーブル１１０に条件値を入力する。条件値とは、例えば、原料ならば最低ｎ単位の入荷が必要である、工場生産時点における歩留り率は平均ｎ％以下でなければならないなど、数理計画法システム７が計算する際に用いる条件のことである。この条件値は、各装置ごと、各ラインごとおよびプロセスフロー全体のデータとして設定することが可能である。
【００２７】
ステップ１０３：ここで、モデリングシステム１が、既存の最適化計算結果を利用した修正実行が可能であると判断した場合には、ステップ１０８に移行し、修正実行が不可能であると判断した場合には、ステップ１０４に移行する。修正実行が可能であるためには、生産計画立案対象のモデルデータ情報が存在しており、かつ、生産計画モデルの構造保持面の理由からプロセスフロー１１０に修正が加えられていないことが不可欠である。
【００２８】
ステップ１０４：モデリングシステム１は、モデルデータを生成し、当該モデルデータに順次に変数名を付与し、当該変数名がプロセスフロー１１０上のどの部分に相当するかを示すパス名と組にして変数マップファイル２に格納する。
【００２９】
ステップ１０５：モデリングシステム１は、変数マップ情報をもとにモデルデータ（生産計画モデル）を生成し、数理計画法システムの入力ファイルであるモデルデータファイル３に格納する。
【００３０】
ステップ１０６：数理計画法システム７は、モデルデータファイル３からモデルデータを入力し、生産計画モデルを内部形式データに変換してマスタファイル４に格納する。
【００３１】
ステップ１０７：数理計画法システム７は、マスタファイル４を利用して、生産計画モデルに対する最適化計算を実行する。
ステップ１０８：モデリングシステム１は、ユーザが修正した内容を修正情報ファイル６に格納する。
【００３２】
ステップ１０９：数理計画法システム７は、マスタファイル４および修正情報ファイル６を利用して、生産計画モデルに対する最適化計算を実行する。
ステップ１１０：数理計画法システム７は、最適化計算により求めた解を解情報ファイル５に出力する。
【００３３】
ステップ１１１：モデリングシステム１は、解情報ファイル５を参照して解析し、数理計画法システム７の最適化計算結果を読み込み、ディスプレイ装置１１のプロセスフロー１１０および値設定テーブル１２０上に表示する。
【００３４】
ステップ１１２：ここで、数理計画法システム７の最適化計算の結果立案された生産計画に対して、ユーザが生産計画モデルの修正や検討を行ってみたいと考える場合にはステップ１０１に移行する。最適化計算の結果作成された生産計画にユーザが満足し、生産計画モデルの修正や検討が必要ないのであれば処理を終了する。
【００３５】
このように、モデルの作成および修正と最適化計算を繰り返すという処理（シミュレーション）を行うことにより、ユーザは生産計画を立案する。
【００３６】
【発明が解決しようとする問題】
従来の方法でも、最適化計算結果に対する分析（事後分析）として、シミュレーションを行うことは可能である。しかしながら、生産計画モデルに対して小規模な変更を加えただけでも、再度最適化計算を行う必要があり、時間のかかる処理になる。再度最適化計算を行う場合に、小規模な変更であったとしても最初の最適化計算と同等の時間がかかるという問題点については、修正情報ファイルを使うことにより軽減されたが、生産計画モデルをユーザが修正したことが原因で、当初の生産計画モデルを変えてしまうという問題点が残る。
【００３７】
本発明では、最適化計算結果に対して、任意の値を変更して他値への影響を求めるようなシミュレーション（事後分析）を行う場合、当初の生産計画モデルを変更することがなくなる。本発明は、数値情報の変更といった小規模なシミュレーションをより効率よく行うための仕組みを、事後分析システムとしてユーザに提供することを目的としている。
【００３８】
【問題を解決するための手段】
本発明は、生産計画モデルに対する数理計画法システムの最適化計算の結果得られた各種要素（生産計画においては、原料、中間生産物、製品）の量的関係を事後分析モデルとして活用する。このことにより、連続系プラントの生産計画を立案するうえでユーザが現実的に制御できる要素、すなわち原料に対する変数で、すべての中間生産物および製品に対応する量を簡潔に表現することが可能になる。
【００３９】
さらに、本発明は、前記量的関係を満たす変数の無数の組み合わせの中から、最良の組み合わせを特定するために評価関数を導入する。
さらに、本発明は、前記量的関係および前記評価関数に、ユーザの修正情報を制約条件として加え、事後分析モデルを作成する。この事後分析モデルを数理計画問題として解くことにより、シミュレーションを行う。
【００４０】
さらに、本発明は、事後分析システムにおけるシミュレーションにおいて、ユーザが満足する結果を得られた場合にだけ、シミュレーション内容を生産計画モデルに反映することが可能になる。
【００４１】
本発明では、ユーザが入力したプロセスフローと数値データをもとにモデリングシステムが作成したモデルデータを用いて、数理計画法システムが最適化計算した結果に対して、任意の変数の値を変更して他変数の値の変化を見るようなシミュレーションを行うことが、以下のように可能になる。なお、本発明を実現する装置を、ここでは事後分析システムと呼ぶ。
【００４２】
まず、事後分析システムが、変数マップファイルおよびモデルデータファイルを利用して生産計画モデルの量的関係を表したマテリアルバランス行列を生成する。また、事後分析システムが、最適化計算結果を利用して評価関数を生成する。さらに、ユーザが設定したシミュレーション内容を制約条件として追加して、シミュレーションを実行する。
【００４３】
本発明により、モデリングシステムを使用してユーザが入力したプロセスフローおよび数値データを修正することなく、したがって、変数マップファイルおよびモデルデータファイルを再生成することなく、生産計画モデルで得られた量的関係を維持したまま、制約の追加、上下限値の変更といった小規模のシミュレーションを行うことが可能になる。また、ユーザが設定したシミュレーション内容を自動的に生産計画に反映することも可能になる。
【００４４】
【実施例】
以下、図面と共に、本発明の実施例を詳細に説明する。
図１は、本発明の一実施例の事後分析処理装置の構成図である。図１中、図８と同一構成部分には同一符号を付し、その説明を省略する。
【００４５】
事後分析システム８は、数理計画法システム７の最適化計算の結果得られた生産計画に対して、小規模なシミュレーションを効率よく行うための仕組みをユーザに提供する。詳細については後述する。
【００４６】
ディスプレイ装置１１は、ユーザが数理計画法システム７における最適化計算の経過や結果を取得するための種々の表示情報を表示する。また、ユーザが事後分析システム８におけるシミュレーション内容の設定や結果を取得するための種々の表示情報を表示する。
【００４７】
図２は、本発明の一実施例のディスプレイ表示例である。
図２では、モデリングシステム１のウィンドウであるプロセスフロー１１０および値設定テーブル１２０、また、事後分析システム８のウィンドウである事後分析ウィンドウ１３０の表示例を示している。図２中、図８と同一構成部分には同一符号を付し、その説明を省略する。
【００４８】
事後分析ウィンドウ１３０は、数理計画法システム７の最適化計算結果を各種要素ごとに表示することができる。また、シミュレーション内容の設定およびシミュレーション結果の表示が可能である。
【００４９】
図３に、本発明の一実施例の事後分析ウィンドウの例を示す。事後分析ウィンドウ１３０は、事後分析テーブル１３１、シミュレーション実行ボタン１３２および生産計画への反映ボタン１３３から構成される。
【００５０】
事後分析テーブル１３１について説明する。
図３（ａ）には、プロセスフロー上の各種要素名が表示される。
図３（ｂ）には、各種要素の種別が表示される。図３（ａ）および（ｂ）の情報は、変数マップファイル２から取得することが可能である。例えば、図９において、（＊＊）で示す行は、モデリングシステム１が命名した変数“Ｃ００００００５”がプロセスフロー全体への入力要素（原料）ａに対応していることを表している。このことから、要素名“ａ”および種別“原料”という情報を取得できる。
【００５１】
図３（ｃ）および（ｄ）には、モデリングシステム１の値設定テーブルからユーザが入力した生産計画モデルの制約条件として利用された各種要素ごとの上下限値が表示される。
【００５２】
図３（ｅ）には、生産計画モデルに対する最適化計算結果が表示される。図３（ｃ）、（ｄ）および（ｅ）の情報は、解情報ファイル５から取得することが可能である。例えば、図１１において、（＊）で示す行は、図９の変数マップファイルの例中（＊＊）で示す行の情報から、プロセスフロー全体への入力要素である原料ａに対応する変数“Ｃ００００００５”の解情報を示しており、最適化計算結果の値は“６．００００００”、下限値は“４．００００００”、上限値は“６．００００００”であることを表している。
【００５３】
図３（ｆ）には、シミュレーションの種別を設定する。該当する各種要素の値に対して、最適化計算結果値で固定する、固定値を設定する、上下限値を外す、上限値で固定する、下限値で固定する、制約式を設定するなどのシミュレーション種別をプルダウンメニューなどから設定する。
【００５４】
図３（ｇ）には、図３（ｆ）で固定値を設定するシミュレーションを選択した場合において、固定値に装置を設定したいときに、その値を入力する。
図３（ｈ）には、図３（ｆ）で固定値を設定するシミュレーションを選択した場合において、固定値を比率で設定したいときに、その比率を入力する。
【００５５】
図３（ｉ）には、シミュレーションの実行結果が表示される。
図３（ｊ）には、シミュレーションの実行結果の、生産計画モデルの最適化計算結果に対する比率が表示される。
【００５６】
シミュレーション実行ボタン１３２は、シミュレーションを起動する。シミュレーション実行ボタン１３２がクリックされると、事後分析システムは図３（ｆ）、（ｇ）および（ｈ）においてユーザが設定した内容をもとに事後分析モデルを生成する。
【００５７】
生産計画への反映ボタン１３３は、ユーザのシミュレーション内容を生産計画に反映する処理を起動する。生産計画への反映ボタン１３３がクリックされると、事後分析システムは図３（ｆ）、（ｇ）および（ｈ）においてユーザが設定した内容を修正情報として処理するため、ステップ２０１に移行する。
【００５８】
図３の例では、原料ｂの値は最適化計算で得られた値で固定し、中間生産物ｃの値は最適化計算で得られた値より２単位増やして６に、また、原料ｂおよび中間生産物ｃ以外の要素については生産計画モデルにおける上下限値の設定を無視した場合の、生産シミュレーションを設定している。シミュレーションの実行結果を見ると、例えば原料ａについて見てみると、図３（ｆ）、（ｇ）および（ｈ）欄の設定内容で生産した場合、最適化計算結果の２．０２倍の量が必要になることが分かる。
【００５９】
図４および図５に、本発明の一実施例の事後分析装置の処理のフローチャートを示す。
ステップ２０１〜ステップ２１１：図１５のステップ１０１からステップ１１１と同一であるため、ここでは説明を省略する。
【００６０】
ステップ２１２：ここで、数理計画法システム７の最適化計算結果立案された生産計画に対して、ユーザが試行錯誤してみたいと考える場合にはステップ２１３に移行する。最適化計算の結果作成された生産計画にユーザが満足し、生産計画モデルの修正や試行錯誤が必要ないのであれば処理を終了する。
【００６１】
ステップ２１３：ここで、生産計画モデルを修正せずに試行錯誤したい場合にはステップ２１４に移行する。ユーザが生産計画モデルを修正して試行錯誤したい場合にはステップ２０１に移行する。
【００６２】
ステップ２１４：事後分析システム８が、モデリングシステム１が生成した変数マップファイル２を参照し、各種要素間の量的関係（マテリアルバランス）を表す式を抜き出す。
【００６３】
ステップ２１５：事後分析システム８が、モデリングシステム１が生成したモデルデータファイル３を参照し、ステップ２１４で抜き出した式に含まれる変数名とその係数を抜き出す。
【００６４】
ステップ２１６：事後分析システム８が、ステップ２１５で抜き出した変数名とその係数を利用して係数テーブルを作成する。
ステップ２１７：事後分析システム８が、ステップ２１６で作成した係数テーブルを使用して、生産計画モデルの量的関係行列を作成する。
【００６５】
ステップ２１８：事後分析システム８が、解情報ファイル５を参照し、最適化計算の結果求められた値を事後分析ウィンドウ１３０の事後分析テーブル１３１に表示する。
【００６６】
ステップ２１９：ユーザが、ディスプレイ装置１１に表示されている事後分析ウィンドウ１３０の事後分析テーブル１３１を使用して、シミュレーション内容を設定する。
【００６７】
ステップ２２０：ユーザが、事後分析ウィンドウ１３０のシミュレーション実行ボタン１３２をクリックする。これにより、シミュレーションが起動される。
ステップ２２１：事後分析システム８が、ステップ２１７で作成した量的関係行列と、生産計画モデルの最適化計算結果を利用して作成した評価関数と、ステップ２１９で設定された試行錯誤の内容から、事後分析モデルを生成する。
【００６８】
ステップ２２２：事後分析システム８が、事後分析モデルに対してシミュレーションを行い、結果を事後分析テーブル１３１に表示する。
ステップ２２３：ここで、事後分析システム８のシミュレーション結果を、生産計画モデルに反映し、数理計画法システム７による最適化計算により再度生産計画を立案したい場合には、ステップ２２４に移行する。シミュレーション結果を生産計画モデルに反映しない場合には、ステップ２１２に移行する。
【００６９】
ステップ２２４：ユーザが、事後分析ウィンドウ１３０の生産計画への反映ボタン１３３をクリックする。これにより、ステップ２０１に移行し、シミュレーション内容の生産計画モデルへの反映処理が起動される。
【００７０】
次に、上記フローチャートのステップ２１４からステップ２２１で行われる事後分析モデル作成処理について、詳細に説明する。
数理計画法システムの最適化計算結果に対して、ある原料の値を最適化計算結果の１．１倍にした場合に各製品にどのような影響を与えるか、ある製品の値を最適化計算結果よりも１００単位増やした場合に各原料にどのような影響を与えるか、といったシミュレーションを行いたい場合がある。このように、数理計画法システムの最適化計算結果に対して、任意の変数値を変更して他変数に与える影響を求めるような事後分析を行う場合、変更した条件を満たす変数値の組み合わせは無数に存在する。無数に存在する変数値の組み合わせの中から、最良の組み合わせを特定できれば、シミュレーション結果も一つに特定することが可能になる。
【００７１】
本発明では、前記シミュレーションを行うために、生産計画モデルに対する最適化計算時の量的関係（マテリアルバランス）を崩さない範囲で、変数値の組み合わせを特定するために評価関数を導入して事後分析モデルを生成し、数理計画問題として解を求める。
【００７２】
ステップ２１４では、モデリングシステム１が生成した変数マップファイル２から、装置の量的関係を表す式を抜き出す。
以下、図１３のプロセスフロー１１０および図１４の値設定テーブルを例に説明していく。生産計画の立案対象となるプロセスフローの例は、図１３に示すものとする。また、プロセスフロー全体の入出力限界、各装置の処理能力などに関する数値データの例は、図１４に示すものとする。図９下線部から、装置Ｐｒｏｃｅｓｓ１およびＰｒｏｃｅｓｓ２の定率分岐処理を表す式は、“Ｒ０００００３０”、“Ｒ０００００３１”、“Ｒ０００００３４”および“Ｒ０００００３５”である。ここで、“Ｒ０００００３０”は装置Ｐｒｏｃｅｓｓ１における中間生産物ｃへの分岐を表す式であり、“Ｒ０００００３１”は装置Ｐｒｏｃｅｓｓ１における中間生産物ｄへの分岐を表す式である。また、“Ｒ０００００３４”は装置Ｐｒｏｃｅｓｓ２における製品ｅへの分岐を表す式であり、“Ｒ０００００３５”は装置Ｐｒｏｃｅｓｓ２における製品ｆへの分岐を表す式である。
【００７３】
ステップ２１５では、モデルデータファイル３から量的関係式の変数名と係数を抜き出す。ステップ２１４で説明した量的関係式の変数名および係数を抜き出してみる。図１０の例中の下線部より、以下の量的関係式を得る。
【００７４】
Ｒ０００００３０：  ０．３３×Ｃ０００００２７＋０  ．２５×Ｃ０００００２８＝Ｃ０００００２９
Ｒ０００００３１：  ０．６７×Ｃ０００００２７＋０．７５×Ｃ０００００２８＝Ｃ０００００３０
Ｒ０００００３４：  ０．７５×Ｃ０００００３３＋０．６０×Ｃ０００００３４＝Ｃ０００００３５
Ｒ０００００３５：  ０．２５×Ｃ０００００３３＋０．４０×Ｃ０００００３４＝Ｃ０００００３６
ここで、図９より“Ｃ０００００２７”は装置Ｐｒｏｃｅｓｓ１への入力要素ａ、“Ｃ０００００２８”は装置Ｐｒｏｃｅｓｓ１への入力要素ｂ、“Ｃ０００００２９”は装置Ｐｒｏｃ  ｅｓｓ１からの出力要素ｃ、“Ｃ０００００３０”は装置Ｐｒｏｃｅｓｓ１からの出力要素ｄを表す変数である。また、“Ｃ０００００３３”は  装置Ｐｒｏｃｅｓｓ２への入力要素ｃ、“Ｃ０００００３４”は装置Ｐｒｏｃｅｓｓ２への入力要素ｄ、“Ｃ０００００３５”は装置Ｐｒｏｃｅｓｓ２からの出力要素ｅ、“Ｃ０００００３６”は装置Ｐｒｏｃｅｓｓ２からの出力要素ｆを表す変数である。前記量的関係式は“Ｃ”で始まる内部表現の変数名で表されているが、実際のプロセスフロー上にの要素名に置き換えて表現すると以下のように表され、この式から変数名および係数を得ることができる。
【００７５】
ｃ＝  ０．３３×ａ＋０．２５×ｂ
ｄ＝  ０．６７×ａ＋０．７５×ｂ
ｅ＝  ０．７５×ｃ＋０．６０×ｄ
ｆ＝  ０．２５×ｃ＋０．４０×ｄ
次に、係数テーブルを作成するステップ２１６について説明する。ステップ２１５で得た変数名および係数を利用して作成した本発明の一実施例の係数テーブルを、図６に示す。例えば１、２行目は、中間生産物ｃが原料ａの０．３３と原料ｂの０．２５を使用することを表している。
【００７６】
次に、量的関係行列を作成するステップ２１７について説明する。ステップ２１６で得た係数テーブルの内容をグラフ表現すると図７のようになる。例えば、製品ｅについて考えた場合、原料ａの流れるルートはａ→ｃ→ｅとａ→ｄ→ｅの二つが考えられる。この二つルートに従って係数テーブルをもとに、製品ｅが使用する原料ａの量を算出すると、以下のように（１３／２０）ａとなる。
【００７７】
0003631915.tif 000002
同様に、製品ｅが使用する原料ｂの量は（５１／８０）ｂである。また、製品ｆについて同様に求めると、製品ｆが使用する原料ａおよびｂの量は、（７／２０）ａおよび（２９／８０）ｂである。これらの量的関係を行列の形式にまとめると、以下のようになる。
【００７８】
【数１】
0003631915.tif 000003
【００７９】
この係数行列を本発明による量的関係（マテリアルバランス）行列と呼ぶ。
量的関係行列では、すべての中間生産物およびすべての製品に対応する量を、原料に対応する変数として表すことにより、生産計画モデルに対する最適化計算の結果得られた各種要素間の関係比を保つことが可能である。各種要素の量的関係はモデルデータファイル３からも得ることができるが、モデルデータファイル３がモデリングシステム１によって自動生成されることが原因で、一般的に非常に疎な量的関係行列となっている。
【００８０】
しかしながら、本発明による量的関係行列は、モデルデータファイルに含まれる量的関係を各種要素（原料、中間生産物、製品）にだけ着目しまとめたものであり、モデリングシステムの量的関係行列よりも密に表現できるため、各種要素の関係を迅速に獲得することが可能になる。また、本発明による量的関係行列を事後分析モデルに含めることにより、生産計画モデルに対する最適化計算の結果えられた各種要素間の関係比を保ちながら、事後分析を行うことが可能になる。
【００８１】
次に、ステップ２２１について説明する。ステップ２１７で生成された量的関係行列では、量的な関係を表す比率だけの情報しか存在しないため、この関係を満足する原料ａおよびｂの組み合わせは無数に存在してしまう。例えば
ｃ＝ａ／３＋ｂ／４の量的関係を満たす原料ａおよびｂの組み合わせは、（ａ，ｂ）＝（３，２０），（６，１６），（９，１２），（２．４，２０．８）．．．など無数に存在する。こちらの組み合わせの中から、最良の組み合わせを特定するため、本発明では以下の評価関数を事後分析モデルに導入する。
【００８２】
【数２】
0003631915.tif 000004
【００８３】
この評価関数は、生産計画モデルに対して数理計画法システムが求めた最適化計算結果との誤差が一番少ない組み合わせを求めることができる。例えば、生産計画モデルに対する数理計画法システム７の最適化計算の結果、原料ａの使用量が６、原料ｂの使用量が８と求められた場合、前記評価関数は以下のように表すことができる。
【００８４】
ｆ（ｘ，ｙ）＝｜ａ−６｜＋｜ｂ−８｜→ｍｉｎ
事後分析モデルを作成するためには、さらに、ステップ２１９においてユーザが設定したシミュレーション内容を制約条件として追加する。例えば、図１０中（ｆ）、（ｇ）および（ｈ）にユーザが設定した内容は、ｂ  ＝  ８および  ｃ  ＝  ６という制約条件として事後分析モデルに追加される。
【００８５】
前記で引用した例についてまとめると、前記の手順により、事後分析モデルは以下のように作成される。この事後分析モデルを数理計画問題として解くことにより、事後分析モデルのシミュレーションを行う。
【００８６】
【数３】
0003631915.tif 000005
【００８７】
前記の事後分析モデルの作成方法を数学的に一般的に説明すると、以下のようになる。
まず、すべての変数を、人間が独立にコントロールできる独立変数ｘ∈Ｒｎと、それ以外の変量ｙ∈Ｒｍに分類する。生産計画の場合、独立変数は原料、それ以外の変量は中間生成物および製品とする。
【００８８】
次に、生産計画モデルの最適化結果をもとに、すべての変量ｙを独立変数ｘの線形関数として表す。
【００８９】
【数４】
0003631915.tif 000006
【００９０】
次に、ある変量ｙｉの値をｙｉ＾に変更したい場合について、以下の最適化問題を事後分析モデルとして解き、ｘ＾およびｙ＾を求めシミュレーションの結果とする。
【００９１】
【数５】
0003631915.tif 000007
【００９２】
このように評価関数ｆ（ｘ＾，ｙ＾）を導入することにより、ｘ＾の組み合わせを特定することが可能になる。また、事後分析モデルについて解が存在するためには、
【００９３】
【数６】
0003631915.tif 000008
【００９４】
で表される制約条件の数（ユーザがシミュレーション設定できる要素の数）が独立変数の個数以下であることが不可欠である。
事後分析システム８のシミュレーション結果を、生産計画モデルに反映し、数理計画法システム７で最適化計算することにより再度生産計画を立案したい場合について説明する。この場合、ステップ２２４からステップ２０１に移行する。その後、事後分析システム８におけるシミュレーションの範囲が数値データの修正にとどまる場合には、生産計画モデルの式に修正がないため、ステップ２０３において、修正実行が可能であると判定される。
【００９５】
ステップ２０８において、事後分析システム８が修正情報ファイル６を生成する。例えば、図３中（ｇ）および（ｈ）の数値データの修正は、図１２に例として示すような修正情報として生成される。図９の変数マップファイルの例中（＊）で示す行から“Ｃ０００００２９”が装置Ｐｒｏｃｅｓｓ１からの出力要素である中間生成物ｃに対応していることが分かるが、図１１の例の下線部では“Ｃ０００００２９”の上下限値を“６．０”に修正している。
【００９６】
ステップ２０９において、数理計画法システム７が、生産計画モデルに対する最適化計算を行ったときに使用したマスタファイル４、およびステップ２０８で生成した修正情報ファイル６を利用して、生産計画モデルの最適化計算を行う。
【００９７】
本発明を利用することにより、定式化に影響を及ぼさないような小規模な変更にとどまるシミュレーションを行う場合には、生産計画モデルを再作成することが不要になる。また、行った事後分析の中で生産計画に反映したい結果が出た場合には、事後分析の内容を直に生産計画モデルに反映できるため、生産計画モデルの再作成に関するユーザのデータ入力の手間を簡略化することが可能になる。
【００９８】
【発明の効果】
従来の技術では、求められた生産計画に対してシミュレーションを行う場合、シミュレーション内容に関係なく、立案した生産計画モデルを修正し、計画を立て直す必要があった。
【００９９】
本発明の方法を用いると、生産計画モデルに対する最適化計算の結果求められた各種要素の量的関係比を維持したまま、最適化計算結果に対するシミュレーションを行うことが可能になる。
【０１００】
また、本発明の方法を用いると、生産計画モデルの最適化計算結果に近似するような評価関数を事後分析モデルに適用するため、生産計画モデルの最適化計算結果に近いシミュレーション結果を得ることができるようになる。
【０１０１】
また、本発明の方法を用いると、事後分析モデルに対するシミュレーション結果を、そのまま生産計画モデルの修正情報として利用できるようになる。
【図面の簡単な説明】
【図１】本発明の一実施例の事後分析処理装置の構成図である。
【図２】本発明の一実施例のディスプレイ表示例である。
【図３】本発明の一実施例の事後分析ウィンドウの例である。
【図４】本発明の一実施例の事後分析処理装置のフローチャート（続く）である。
【図５】本発明の一実施例の事後分析処理装置のフローチャート（続き）である。
【図６】本発明の一実施例の係数テーブルである。
【図７】本発明の一実施例のグラフ表現である。
【図８】従来の技術による構成図である。
【図９】変数マップファイルの例である。
【図１０】モデルデータファイルの例である。
【図１１】解情報ファイルの例である。
【図１２】修正情報ファイルの例である。
【図１３】従来の技術によるディスプレイ表示例である。
【図１４】従来の技術による値設定テーブルの例である。
【図１５】従来の技術によるフローチャートである。
【符号の説明】
１：モデリングシステム
２：変数マップファイル
３：モデルデータファイル
４：マスタファイル
５：解情報ファイル
６：修正情報ファイル
７：数理計画法システム
８：事後分析システム
１１：ディスプレイ装置
１１０：プロセスフロー
１２０：値設定テーブル
１３０：事後分析ウィンドウ
１３１：事後分析テーブル
１３２：シミュレーション実行ボタン
【図１】
0003631915.tif 000009
【図２】
0003631915.tif 000010
【図３】
0003631915.tif 000011
【図４】
0003631915.tif 000012
【図５】
0003631915.tif 000013
【図６】
0003631915.tif 000014
【図７】
0003631915.tif 000015
【図８】
0003631915.tif 000016
【図９】
0003631915.tif 000017
【図１０】
0003631915.tif 000018
【図１１】
0003631915.tif 000019
【図１２】
0003631915.tif 000020
【図１３】
0003631915.tif 000021
【図１４】
0003631915.tif 000022
【図１５】
0003631915.tif 000023