(57)【特許請求の範囲】
【請求項１】
生産プロセスフローを作成し、線形計画法（ＬＰ；Linear  Programming  ）を用いて生産計画を求める生産計画プログラムにおいて、
コンピュータを、
生産プロセスにおいて原材料から製品が生成されるまでに使用または生成されるものを要素として、前記要素を処理する処理工程を表すボックスと、前記ボックスを接続して前記処理工程を経由する前記要素の流れを表す連結線とによって前記生産プロセスを表した生産プロセスフローを記述するプロセスフローデータと、前記処理工程で行われる処理及び処理の条件やコストを記述した処理データを前記ボックスの入力側連結線が示す要素及び前記ボックスの出力側連結線が示す要素に対応付けたボックス関連データと、を記憶する記憶手段から、前記プロセスフローデータ及び前記ボックス関連データを読み出し、前記プロセスフローデータを解析して前記連結線の起点のボックス及び終点のボックスを特定し、前記起点のボックス及び前記終点のボックスを前記連結線が示す要素に対応付けた変換データを生成して前記記憶手段に格納し、前記生産プロセスフローの全ボックスについて、前記処理データを用いて前記ボックスの処理を該ボックスに接続する前記入力側連結線及び前記出力側連結線の示す要素量を決定変数として、前記入力側連結線の要素に対応する決定変数と前記出力側連結線の要素に対応する決定変数との関係及びコストを関係式として表し、生成した関係式群及び前記変換データを前記生産プロセスフローのＬＰモデルとするＬＰモデル作成手段、
前記線形計画法を用いて前記関係式群の最適化計算を行って、前記関係式に基づく利益を最大とする前記決定変数の値を算出して、前記連結線が示す要素の最適解とする最適化計算手段、
前記生産プロセスの製品ごとに、前記変換データを検索して前記製品を示す要素を含む連結線が、前記出力側連結線として接続するボックスを検出して対象ボックスとするとともに前記製品に対応する最適解を必要量とし、前記対象ボックスに接続する前記入力側連結線を抽出し、前記ボックスの前記ボックス関連データに基づいて、該ボックスで前記必要量を生成するために使用する前記入力側連結線が示す要素の使用量を算出するとともに、前記入力側連結線に対応する前記変換データに基づいて前記ボックスの前処理を行う次ボックスを取得し、前記入力側連結線が示す要素の使用量を前記必要量、前記次ボックスを前記対象ボックスとして前記対象ボックスに接続する前記入力側連結線の抽出からの処理を繰り返し、前記次ボックスが原料購入となるまで前記生産プロセスフローを逆展開するフロー逆展開手段、
として機能させることを特徴とする生産計画プログラム。
【請求項２】
前記フロー逆展開手段は、
前記生産プロセスフローにおいて製品販売を示すボックスを検索対象として前記プロセスデータを検索し、前記変換データを検索して抽出した前記ボックスを前記終点ボックスに設定する前記変換データを抽出し、
抽出した前記変換データに設定されている前記起点のボックスを前記対象ボックスと特定する、
ことを特徴とする請求項１記載の生産計画プログラム。
【請求項３】
前記フロー逆展開手段は、
前記生産プロセスフローを前記製品から逆展開する際に、前記対象ボックスごとに、前記必要量を前記対象ボックスにおける引当値、前記必要量に対応する要素を引当要素とし、前記変換データを検索して前記対象ボックスを前記終点のボックスに設定している前記変換データを抽出し、
抽出した前記変換データに基づき、前記変換データに対応する前記要素を前記引当値によって引当られる被引当要素として前記要素の最適解から引当可能な引当基礎値を算出し、
前記対象ボックスの前記処理データに基づく前記関係式を逆算して前記引当基礎値から前記引当要素へ引当られる被引当値を算出して前記使用量とする、
ことを特徴とする請求項１記載の生産計画プログラム。
【請求項４】
前記フロー逆展開手段は、
前記次ボックスが原料購入を示すボックスであったときは、前記次ボックスと前記対象ボックスとを接続する前記対象ボックスの前記入力側連結線の示す要素が原材料であると判断し、該対象ボックスについて算出された前記入力側連結線が示す要素の使用量を前記製品が使用する前記原材料の使用量とする、
ことを特徴とする請求項１記載の生産計画プログラム。
【請求項５】
前記フロー逆展開手段において前記変換データに基づいて前記製品に対応する前記ボックスから前記原料購入を示すボックスまでに辿った前記連結線が示す要素のうち、前記製品及び前記原材料を除いた要素を中間製品とし、前記フロー逆展開手段によって算出された前記要素の使用量を前記中間製品の使用量として、
前記製品が生成されるまでの間に前記原材料から生成した前記中間製品と中間要素の使用量、及び前記原材料と前記原材料の使用量を前記製品から逆順に並べてマテリアルバランス構成図を生成する、
ことを特徴とする請求項１記載の生産計画プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は生産計画プログラムに関し、特に生産プロセスフローを作成し、線形計画法（；Linear  Programming  以下、ＬＰとする）を用いて生産プロセスフローを最適化する生産計画を求める生産計画プログラムに関する。
【背景技術】
【０００２】
従来、一または複数種類の原材料から所定の製品を生成する、たとえば、石油・化学系などのプロセス産業では、原料購入から製品販売までの生産プロセスの計画立案にＬＰを利用してきた。ＬＰとは、金額の評価にて「ものの流れ」のバランスを最適に決定することができる数理最適化技術であり、ＬＰを利用した生産計画立案では、原料調達から生産、製品販売までの一連の流れを一つの生産プロセスフローで表現し、「金額」の評価が最も高くなるようにそのフロー上の「もの」の流れを決定する。
【０００３】
ＬＰを用いた生産計画の立案を支援する計画最適化システムでは、ユーザによるＧＵＩ（Graphical User Interface）を用いた生産プロセスフローの作成、フロー上の処理手段に関する情報を設定するテーブルデータの入力をサポートし、作成された生産プロセスフローとテーブルデータから最適化計算処理を行って計算結果をユーザに提示する。
【０００４】
生産プロセスフローの作成では、生産プロセスの中で処理が行われる時点を表すボックスを組み合わせ、連結線で結ぶことによって、生産プロセスを表現する。図１５は、化学プロセスにおける生産プロセスフローの一例を示した図である。
【０００５】
各ボックスは化学プロセスの生産プロセスにおける処理手段を表しており、ボックスＡ（９０１）は原料購入、ボックスＢ（９０２）は分解装置、ボックスＣ（９０３）は混合、ボックスＤ（９０４）は組立装置およびボックスＥ（９０５）は製品販売を表す。また、連結線はものの流れを表しており、ボックスＡ（９０１）とボックスＢ（９０２）を接続する連結線９０６は、原料１の流れを示し、ボックスＢ（９０２）から出力される連結線９０７、９０８、９０９は、それぞれ中間製品１、２、３の流れを示す。そして、ボックスごとに展開されるテーブルデータに値を入力し、ユーザによる設定が終了する。
【０００６】
次の最適化計算処理では、モデリングシステムが、ボックスの入力と出力の関係式を作成し、全てのボックスの関係式をまとめ、ＬＰモデルを作成する。図１６は、従来のＬＰモデル作成方法を示した図である。
【０００７】
ＬＰモデル生成では、各ボックスへの入力がどのように変化して出力となるかといった関係を定式化する。たとえば、ボックスＢ（９０２）について入力Ｘｉｎ（原料１）と、出力Ｘｏｕｔ１（中間製品１）、Ｘｏｕｔ２（中間製品２）およびＸｏｕｔ３（中間製品３）の関係を定式化した関係式９１１を得る。同様に、次のボックスＣ（９０３）について、入力Ｙｉｎ１（中間製品１）およびＹｉｎ２（中間製品２）と、Ｙｏｕｔ１（製品１）、Ｙｏｕｔ２（製品２）およびＹｏｕｔ３（製品３）の関係を定式化する。さらに、処理の連続性を表現するため、入力と他のボックス出力との関係を示すＹｉｎ１＝Ｘｏｕｔ１およびＹｉｎ２＝Ｘｏｕｔ２を加え、関係式９１２を得る。このように算出された各処理手段における関係式をまとめ、ＬＰモデルが作成される。
【０００８】
そして、作成されたＬＰモデルに基づき、利益を最大とする最適解を算出し、ユーザに計算結果を提示する。
実際の生産プロセスの計画立案では、モデルの作成と修正および最適化計算を繰り返すシミュレーションが行われ、計画の最適化が図られる。しかしながら、シミュレーションでは、モデルを少しでも変更すると、膨大な時間を要する最適化計算を再び行わなければならないという問題点があった。そこで、本願発明者は、最適化計算結果に対して任意の値を変更して他値への影響を求めるようなシミュレーションを行う場合、当初の生産計画モデルを変更することなくシミュレーションを行うことが可能な生産計画システムを提案している（たとえば、特許文献１参照）。
【特許文献１】特開２０００−２５４８９３号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、従来のＬＰを利用した生産計画では、最適化計算で生成される計画データ（ＬＰモデル、ＬＰ最適化計算結果）から製品別の生産過程を分解することが難しいという問題点があった。
【００１０】
生産計画が作成されると、生産計画に基づき、様々な意思決定が行われる。たとえば、販売価格の決定や損益シミュレーションに使用する製品別計画原価は、生産プロセスフローより算出される製品別原料使用量、製品別装置運転量、製品別用役使用量などに基づき計算する。これらの製品別の各種要素の値は、製品ごとに描かれる生産工程をたどり、ＬＰ最適化計算結果から逆算しながら求める。たとえば、図１５に示した生産プロセスフローにおいて、製品１に含まれる原料１の原料使用量は、ボックスＣ（９０３）の「混合」における製品１に含まれる中間製品１と中間製品２の量を算出し、次にボックスＢ（９０２）の「分解装置」における中間製品１と中間製品２に含まれる原料１の量を算出し、これらを合算することにより算出される。製品別装置運転量、製品別用役使用量などの算出についても同様であり、製品が生成されるまでの工程を逆にたどって算出する。
【００１１】
しかしながら、ＬＰモデルを用いた最適化計算では、プロセス全体に要する原料の使用量などが算出されるが、製品別の原料使用量や、中間製品の使用量などのプロセス情報は生成されない。そこで、最適化計算に使用されたＬＰモデルを利用して製品別の生成プロセス情報を算出することが望ましいが、図１６に示すように、ＬＰ式データは、ボックスの入力と出力の関係式の集合であり、ボックス間の関係を表していないため、生産プロセスフローを逆にたどることは難しいという問題がある。たとえば、関係式９１２によって表されるボックスＣ（９０３）の前ボックスはボックスＢ（９０２）であるが、関係式９１２から前ボックスに関する情報を得ることはできない。関係式９１２のＹｉｎ１＝Ｘｏｕｔ１からＸｏｕｔ１を出力に持つボックスを検索することは不可能ではないが、ボックスが膨大な数となる実際のプロセスにおいてこのような処理を行うことは現実的ではない。
【００１２】
したがって、従来、このように生産プロセスフローを逆にたどり、ＬＰ最適化計算結果から製品別のプロセス情報を逆算する逆展開処理は人手に任されており、人手によって製品ごとに逆生産工程を描き、逆算しながら製品別原料使用量など所望の値を求めていた。このため、算出に膨大な時間と費用が必要となっていた。さらに、逆算するためには、各製品がどのような工程を持ち、どのような関係で処理が行われているのかについての知識など、長年の経験と専門知識が必要であり、算出できる人員が限られてしまったという問題もある。
【００１３】
また、プロセス産業のように、製品ごとの生産プロセスが固定的ではない場合、環境の変化に応じて最適な生産プロセスフローが随時設定され、ボックスの入力と出力の関係式も変化し、結果として製品別の生成プロセス情報も変化する。しかしながら、生産プロセスフローの逆展開を人手に任せていたのでは、環境の変化に応じて瞬時に製品別の生成プロセス情報を算出することは難しかった。
【００１４】
本発明はこのような点に鑑みてなされたものであり、生産プロセスフローの逆展開が可能な生産計画最適化のための生産計画プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明では上記課題を解決するために、図１に示すような処理をコンピュータに実行させるための生産計画プログラムが提供される。本発明にかかる生産計画プログラムは、コンピュータをＬＰモデル作成手段１１、最適化計算手段１２およびフロー逆展開手段１３として機能させることにより、以下の処理を実行させることができる。ＬＰモデル作成手段１１は、生産プロセスにおいて原材料から製品が生成されるまでに使用または生成されるものを要素として、要素を処理する処理工程を表すボックスと、ボックスを接続して処理工程を経由する要素の流れを表す連結線とによって生産プロセスを表した生産プロセスフローを記述するプロセスフローデータと、処理工程で行われる処理及び処理の条件やコストを記述した処理データをボックスの入力側連結線が示す要素及びボックスの出力側連結線が示す要素に対応付けたボックス関連データと、を記憶する記憶手段から、プロセスフローデータ及びボックス関連データを読み出し、プロセスフローデータを解析して連結線の起点のボックス及び終点のボックスを特定し、起点のボックス及び終点のボックスを連結線が示す要素に対応付けた変換データを生成して記憶手段に格納し、生産プロセスフローの全ボックスについて、処理データを用いてボックスの処理を該ボックスに接続する入力側連結線及び出力側連結線の示す要素量を決定変数として、入力側連結線の要素に対応する決定変数と出力側連結線の要素に対応する決定変数との関係及びコストを関係式として表し、生成した関係式群及び変換データを生産プロセスフローのＬＰモデルとする。最適化計算手段１２は、線形計画法を用いて関係式群の最適化計算を行って、関係式に基づく利益を最大とする決定変数の値を算出して、連結線が示す要素の最適解とする。フロー逆展開手段１３は、生産プロセスの製品ごとに、変換データを検索して製品を示す要素を含む連結線が、出力側連結線として接続するボックスを検出して対象ボックスとするとともに製品に対応する最適解を必要量とし、対象ボックスに接続する入力側連結線を抽出し、ボックスのボックス関連データに基づいて、該ボックスで必要量を生成するために使用する入力側連結線が示す要素の使用量を算出するとともに、入力側連結線に対応する変換データに基づいてボックスの前処理を行う次ボックスを取得し、入力側連結線が示す要素の使用量を必要量、次ボックスを対象ボックスとして対象ボックスに接続する入力側連結線の抽出からの処理を繰り返し、次ボックスが原料購入となるまで生産プロセスフローを逆展開する。
【発明の効果】
【００１７】
本発明の生産計画プログラムにより実行される生産計画の最適化処理では、生産プロセスフロー上の要素の流れを変数とする変換データをＬＰモデルの情報と同時に持つことができるので、変換データを参照すれば、任意の製品の生成プロセスフローを逆にたどるとともに、ＬＰ解データから逆算することによって製品別の生産過程を分解し、製品の生成プロセスフローにおける所望の要素の量を算出することができる。すなわち、変換データに基づいて生産プロセスフローを製品別に逆展開し、製品別の中間製品使用量や原料使用量など、製品別の生成プロセス情報を自動的に算出することができるという利点がある。
【００１８】
さらに、このように計画データに基づき製品別原料使用量などの生成プロセス情報を自動算出できることから、計画の変更に際しても、変更後の生成プロセス情報をすぐに取得し、各種意思決定に利用することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、実施の形態に適用される発明の概念図である。
【００２０】
本発明に係る生産計画プログラムは、コンピュータに接続する記憶手段に、プロセスフローデータファイル２１、テーブルデータファイル２２、ＬＰモデルファイル２３、変換データファイル２４、ＬＰ解ファイル２５およびフロー逆展開ファイル２６を記憶しておき、コンピュータをＬＰモデル作成手段１１、最適化計算手段１２およびフロー逆展開手段１３として機能させることにより、ユーザに生産計画の最適化環境を提供する。
【００２１】
ＬＰモデル作成手段１１は、対象の生産プロセスを、生産プロセス工程を表した生産プロセスフローを記述するプロセスフローデータをプロセスフローデータファイル２１から読み出すとともに、ボックス関連データがテーブル形式で格納されるテーブルデータファイル２２から、対象生産プロセスフローのボックス関連データを読み出し、変換データとＬＰモデルを作成する。生産プロセスフローは、生産プロセスにおける処理工程と、処理工程を経由する各種要素の流れ（ものの流れ）によって生産プロセスを表している。ユーザに提供する生産プロセスフローの表示画面では、処理工程はボックス、要素の流れはボックスを連結する連結線で表すので、以下、処理工程をボックス、要素の流れを連結線とよぶ。変換データは、生産プロセスフロー上の各種要素の流れ変数とするデータであって、作成後、変換データファイル２４に格納する。ＬＰモデルは、変換データとテーブルデータを用いてＬＰ形式に基づいて生成される式データの集合体であり、作成後、ＬＰモデルファイル２３に格納する。
【００２２】
最適化計算手段１２は、対象の生産プロセスフローについてＬＰモデル作成手段１１によって作成されたＬＰモデルに基づき数理最適化計算を行ってＬＰ解データを算出し、ＬＰ解ファイル２５に格納する。このとき、必要に応じて、プロセスフローデータファイル２１やテーブルデータファイル２２の該当箇所に最適化計算結果を反映する。
【００２３】
フロー逆展開手段１３は、製品がどの装置を通り中間製品をどれだけ使用しているか、また、その中間製品がどの原料をどれだけ使用しているかなどを、変換データファイル２４の関連する変換データ、ＬＰ解ファイル２５の対象製品のＬＰ解データおよびテーブルデータファイル２２の関連処理データを参照して算出する。すなわち、変換データに基づいて、生産プロセスフローを製品から原料まで逆順にたどり、製品別の生成プロセスフローを作成する。これとともに、ＬＰ解データとテーブルデータに基づき、製品別の生成プロセスフローの連結線における必要量（マテリアルバランス）を逆計算することによって製品別に各種生成プロセス量を算出する。たとえば、中間製品使用量、原料使用量、在庫使用量、装置使用量、用役使用量などを算出することができる。算出結果は、フロー逆展開ファイル２６へ格納する。以下、このように、生産プロセスフローを逆展開し、ＬＰ解データから逆算して製品別の各種使用量を算出する処理をマテリアルバランス（以下、マテバラとする）展開と言う。
【００２４】
次に、記憶手段に格納されるファイルについて説明する。
プロセスフローデータファイル２１は、生産プロセスにおける処理手段を示すボックスと、ボックスを連結しボックス間の各種要素の流れを示す連結線とによって生産プロセスを表現した生産プロセスフローを記述するデータで、ボックス情報と連結線情報を有する。ボックス情報として、ボックスごとに定義される生産プロセスフロー内でのユニークな名称と、その属性（用意された処理属性の中から選択）に関する情報を持つ。また、連結線情報として、連結線によって表される要素の名称と、接続元ボックス名と、接続先ボックス名に関する情報を持つ。連結線情報によって、「接続元ボックス名」から「接続先ボックス名」に向かう「要素の名称」の流れが定義される。
【００２５】
テーブルデータファイル２２は、ボックスおいて実行される処理に関連する処理データを含むボックス関連データをテーブル形式で格納する。テーブルは、一般的な表処理ソフトウェアの仕様に基づき、たとえば、表に関するシート情報と、表の項目に関するセル情報とによって設定されるデータを管理する。ボックスごとに別シートを用意し、シートごとにボックスへ入力するボックス入力線（入力側連結線）を列、ボックス出力線（出力側連結線）を行とするマトリックスを形成する。テーブルデータファイル２２には、そのシート情報とセル情報が設定される。また、テーブルに設定されるデータ（たとえば、分解装置における収率や購入コスト、販売価格など）は、シート情報、セル情報を設定し、マッピング可能にする。
【００２６】
ＬＰモデルファイル２３には、変換データファイル２４とテーブルデータファイル２２とに基づいて作成されるＬＰモデルに関するデータが格納される。ＬＰモデルは、ＬＰ形式に基づいた式データとして作成される。
【００２７】
変換データファイル２４は、ボックスを連結する連結線を示した変換データを格納する。変換データは、連結線ごとに、「接続元ボックス名−（要素の）名称−接続先ボックス名」を含む変数として作成される。
【００２８】
ＬＰ解ファイル２５は、ＬＰモデルに基づく最適化計算によって求められた最適化計算結果（ＬＰ解データ）を格納する。
フロー逆展開ファイル２６は、変換データから逆展開して生成した製品別の生成プロセスフローと、最適化結果データから算出された、そのプロセス内の連結線におけるマテバラに関するデータを格納する。以下、フロー逆展開ファイルをマテバラ展開ファイルとも表記する。
【００２９】
上記の構成による生産計画の最適化処理およびマテバラ展開処理について説明する。図２は、生産計画の最適化処理におけるデータの流れを示した図である。図で、実線は最適化計算処理におけるデータの流れを示しており、破線はマテバラ展開処理におけるデータの流れを示している。
【００３０】
プロセスフローデータファイル２１およびテーブルデータファイル２２には、予めユーザが作成した生産プロセスフローを記述するためのプロセスフローデータ（構成データ）２１ａと、生産プロセスフロー上のボックスごとに作成されるテーブルデータ２２ａが格納されている。プロセスフローデータ２１ａは、全ボックスについて、その名称（ＮＡＭＥ（Ｂ）と表す）と属性が設定され、全ての連結線について、どのボックスを接続元としているか（ＦＲＯＭと表す）、どのボックスを接続先としているか（ＴＯと表す）および名称（ＮＡＭＥ（Ｌ）とする）が設定されている。一方、テーブルデータ２２ａには、入力情報の必要なボックスに対して、セル情報、シート情報および処理情報が設定されている。データシートは、ボックスの属性によって形式が決定し、たとえば、原料購入、製品販売、分解装置、組立装置、混合などがそれぞれ固有の形式のデータシートを持つ。また、ボックスの属性によっては、データシート自体を持たないものもある。たとえば、分岐などは設定データを持たないため、データシートがない。
【００３１】
ＬＰモデル作成手段１１では、プロセスフローデータ２１ａとテーブルデータ２２ａから変換データ２４ａとＬＰモデルデータ２３ａを作成する。変換データ２４ａは、決定変数であるものの流れを、ＦＲＯＭ＿ＮＡＭＥ（Ｌ）＿ＴＯという形式で表す。ＬＰモデルデータ２３ａは、変換データ２４ａとテーブルデータ２２ａの処理データからＬＰ形式の式データとして作成する。具体例を挙げて説明する。図３は、ＬＰモデルの作成を示した図である。生産プロセスフローは、図１５と同じである。
【００３２】
ボックスＢ（３１）に関する変換データとして、プロセスフローデータから、入力側の連結線を表すＦＲＯＭ（＝ボックスＡ）、ＴＯ（＝ボックスＣ）、ＮＡＭＥ（Ｌ）（＝Ｘ）の変換データＡ＿Ｘ＿Ｂ（３２ａ）と、同様に出力側の連結線を表すＢ＿Ｙ１＿Ｃ（３２ｂ）、Ｂ＿Ｙ２＿Ｃ（３２ｃ）およびＢ＿Ｙ３＿Ｄ（３２ｄ）が設定される。また、ボックスＣ（３４）に関する変換データとして、出力側の連結線を表すＣ＿Ｚ１＿Ｅ（３５ａ）、Ｃ＿Ｚ２＿Ｅ（３５ｂ）およびＣ＿Ｚ３＿Ｅ（３５ｃ）が設定される。なお、入力側は、ボックスＢ（３１）の出力側と同じになる。
【００３３】
ＬＰモデル作成では、ボックスＢ（３１）について、変換データ３２ａ、３２ｂ、３２ｃ、３２ｄと分解装置の処理データ（Ｙ１：Ｙ２：Ｙ３＝３Ａ：５Ａ：２Ａ）を定式化し、ＬＰモデルデータ（Ｂ＿Ｙ１＿Ｃ＝０．３Ａ＿Ｘ＿Ｂ，  Ｂ＿Ｙ２＿Ｃ＝０．５Ａ＿Ｘ＿Ｂ，  Ｂ＿Ｙ３＿Ｄ＝０．２Ａ＿Ｘ＿Ｂ）３３を作成する。同様に、ボックスＣ（３４）について、ＬＰモデルデータ（Ｃ＿Ｚ１＿Ｅ＝０．４Ｂ＿Ｙ１＿Ｃ＋０．２Ｂ＿Ｙ２＿Ｃ，  Ｃ＿Ｚ２＿Ｅ＝０．２Ｂ＿Ｙ１＿Ｃ＋０．３Ｂ＿Ｙ２＿Ｃ，  Ｃ＿Ｚ３＿Ｅ＝０．２Ｂ＿Ｙ１＿Ｃ＋０．５Ｂ＿Ｙ２＿Ｃ）を作成する。
【００３４】
このようにして作成されたＬＰモデルデータは、図１６のＬＰモデルデータと比べて、式データの中に「ものの流れ」が含まれており、工程を逆にたどることができることがわかる。
【００３５】
図２に戻って説明する。
最適化計算手段１２では、ＬＰモデル作成手段１１で作成されたＬＰモデルデータに基づき最適化計算を行って、ＬＰ解データ２５ａを算出する。ＬＰ解データは、目的関数値と各決定変数の値を持つ。最適化計算結果を生産プロセスフローおよびテーブルデータに反映させて提示することによって、ユーザに最適解を知らせる。
【００３６】
フロー逆展開手段１３では、全ての製品のマテバラ展開処理を行う。マテバラ展開処理では、変換データ２４ａに基づきプロセスフローデータ２１ａを製品から逆展開して、製品別の生成プロセスフローを作成する。そして、ＬＰ解データ２５ａに基づき、テーブルデータ２２ａを参照して、製品別の生成プロセスフローにおける連結線の所定の要素の量を算出する。たとえば、図３の例で、製品Ｚ１に含まれる原料Ｘの原料使用量を求める場合で説明する。変換データ（Ｃ＿Ｚ１＿Ｅ、Ｂ＿Ｙ１＿Ｃ、Ｂ＿Ｙ２＿Ｃ、Ａ＿Ｘ＿Ｂ）に基づき、製品Ｚ１については、原料、ボックスＢ（３１）、ボックスＣ（３４）、製品という生成プロセスフローが得られる。この生成プロセスフローに基づき、ＬＰ解データを用いて逆算すれば、製品Ｚ１に関する原料Ｘの原料使用量を算出することができる。同様の手順で、最終製品別の生成プロセス情報、中間製品使用量、在庫使用量、装置使用量、用役使用量を算出することができる。
【００３７】
このように、ＬＰモデル作成時に、ものの流れを変数とする変換データをＬＰモデル情報と同時に持つことにより、変換データに基づき、製品別に製品から原料までの工程を逆にたどって製品別の生成プロセスフローを作成することができる。また、製品別の生成プロセスフローに基づき最適化計算によって得られたＬＰ解データから逆算して中間製品使用量、原料使用量、などの製品別の生成プロセス情報を算出することが可能となる。
【００３８】
このようにして算出された製品別の生成プロセス情報を用いて、たとえば、製品別計画原価を自動で算出することが可能となり、容易かつ、専門知識を持たない場合であっても製品計画原価を求めることができるようになる。さらに、自動で行うことができることから、環境の変化にも容易に対応し、製品別計画原価などを正確に把握することが可能となる。
【００３９】
以下、実施の形態を、プロセス産業の生産計画を最適化する計画最適化システムに適用した場合を例に図面を参照して詳細に説明する。図４は、実施の形態の計画最適化システムの構成例を示した図である。
【００４０】
実施の形態の計画最適化システムは、生産プロセスフローを作成し、ＬＰを用いた最適化計算を行って、生産計画の最適化を支援する計画最適化装置１００に、最適化計算処理を行う数理計画ソルバー１５０、ユーザ２００に計算結果を提示するモニタ１０８およびユーザ２００によるデータ設定や指示などの入力を受け付ける入力装置１０９が内部バスまたはネットワークを介して接続する。また、ネットワークを介して損益シミュレータや、各部門の担当者の端末装置と接続することもできる。
【００４１】
計画最適化装置１００は、ＧＵＩ処理部１１０、計画最適化計算処理部１２０、記憶装置１３０およびマテバラ展開処理部１４０を有する。
ＧＵＩ処理部１１０は、ＧＵＩ機能を用いてモニタ１０８および入力装置１０９を制御する。ユーザ２００は、ＧＵＩ処理部１１０の制御によってモニタ１０８に表示されるＧＵＩに従って生産プロセスフローおよびテーブルデータの作成と設定を行う。設定データは入力装置１０９を介してＧＵＩ処理部１１０へ入力され、ＧＵＩ処理部１１０は、設定データを表示画面に反映するとともに、プロセスフローデータとテーブルデータを作成し、記憶装置１３０へ格納する。
【００４２】
計画最適化計算処理部１２０は、ＧＵＩ処理部１１０を介して設定された生産プロセスフローおよびテーブルデータに基づき、生産プロセスフローに関する変換データおよびＬＰモデルデータを作成し、最適化計算を行ってＬＰ最適解を算出する。なお、最適化計算は、数理計画ソルバー１５０に依頼し、最適化計算結果は、ＧＵＩ処理部１１０を介してユーザ２００に通知する。
【００４３】
記憶装置１３０は、ＧＵＩ処理部１１０、計画最適化計算処理部１２０およびマテバラ展開処理部１４０からアクセス可能な記憶手段であり、プロセスフローデータファイル、テーブルデータファイル、ＬＰモデルファイル、変換データファイル、ＬＰ解ファイル、マテバラ展開ファイルなどが格納される。
【００４４】
マテバラ展開処理部１４０は、変換データ、テーブルデータおよびＬＰ解データに基づき製品別のマテバラ展開を行って、原料使用量、在庫使用量、装置使用量、用役使用量などのマテバラ展開データを生成する。マテバラ展開データは、ＧＵＩ処理部１１０を介してユーザ２００に通知する。算出されたマテバラ展開データは、たとえば、製品計画原価算出などに用いることができる。
【００４５】
数理計画ソルバー１５０は、ＬＰモデルデータに基づき、最適化計算を行う。
ここで、計画最適化装置１００のハードウェア構成について説明する。図５は、本実施の形態の計画最適化装置のハードウェア構成例を示すブロック図である。
【００４６】
計画最適化装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、通信インタフェース１０６が接続されている。
【００４７】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションのプログラムが格納される。グラフィック処理装置１０４には、モニタ１０８が接続されており、ＣＰＵ１０１からの命令に従って画像をモニタ１０８の画面に表示させる。入力インタフェース１０５には、キーボード１０９ａやマウス１０９ｂが接続されており、キーボード１０９ａやマウス１０９ｂから送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。通信インタフェース１０６は、ネットワークに接続されており、ネットワークを介して端末装置との間でデータの送受信を行う。
【００４８】
このようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、計画最適化計算処理部１２０とマテバラ展開処理部１４０の処理について、詳細に説明する。
【００４９】
（１）計画最適化計算処理
まず、計画最適化計算処理部１２０の処理について説明する。図６は、本実施の形態のＬＰ計算処理手順を示したフローチャートである。図では、ＧＵＩ処理部１１０による生産プロセスフローとテーブルデータ作成処理からの手順を示している。
【００５０】
［ステップＳ１１］  開始指示によって、初期設定プログラムを起動し、データ入力環境を準備する。モニタ１０８には、生産プロセスフローの作成画面が表示され、ユーザ２００の設定情報の入力待ち状態になる。
【００５１】
［ステップＳ１２］  ユーザ２００によって生産プロセスフローのボックスと連結線（以下、ラインとする）の設定情報が入力されると、これに基づき、モニタ１０８に設定情報に基づく生産プロセスフローを表示し、プロセスフローデータを作成する。プロセスフローデータは、プロセスフローデータファイル１３１に格納する。
【００５２】
［ステップＳ１３］  ユーザ２００によってボックスが指示されると、このボックスの属性に応じてデータシートを作成する。データシートは、ボックスの属性（原料購入、製品販売、分解装置、組立装置、混合）ごとに形式が決められており、これをモニタ１０８に表示し、ユーザ２００の設定情報を待つ。なお、テーブルのセルには、ボックス名称ＮＡＭＥ（Ｂ）、入力線ＦＲＯＭ＿ＮＡＭＥ（Ｌ）、出力線ＮＡＭＥ（Ｌ）＿ＴＯを用いたアドレスを付加する。
【００５３】
［ステップＳ１４］  ユーザ２００によって各データシートのテーブルにデータが設定されると、これをモニタ１０８に表示するとともに、テーブルデータを作成し、テーブルデータファイル１３２に設定する。
【００５４】
以上の処理手順が実行されることにより、プロセスフローデータファイル１３１とテーブルデータファイル１３２が設定される。続いて、これらを用いた最適化計算が開始される。
【００５５】
［ステップＳ１５］  ステップＳ１２で作成されたプロセスフローデータに基づき、全てのボックスに対して変換データの元となるＦＲＯＭ＿ＮＡＭＥ（Ｌ）＿ＴＯ情報を作成し、かつ対応するボックスのデータシート内の該当する処理データ（数値）を取り出して、ＬＰ式の元となる情報を作成する。
【００５６】
［ステップＳ１６］  ステップＳ１５によって作成されたＬＰ式の元となる情報を用いて、ＦＲＯＭ＿ＮＡＭＥ（Ｌ）＿ＴＯに対応するＬＰ式用の内部変数を生成し、変換データを作成し、変換データファイル１３３に設定するとともに、内部変数によるＬＰ式データを作成し、ＬＰモデルファイル１３４に設定する。
【００５７】
［ステップＳ１７］  数理計画ソルバー１５０を呼び出し、最適化計算を行う。最適化計算結果として、ＬＰ解ファイル１３５が設定される。
［ステップＳ１８］  ステップＳ１６で設定された変換データファイル１３３と、ステップＳ１７で作成されたＬＰ解ファイル１３５を用いて、ステップＳ１２でモニタ１０８に表示された生産プロセスフロー上に、最適計算結果を表示させる。同時に、該当するボックスのデータシート内に最適化計算結果を表示させる。
【００５８】
以上の処理手順が実行されることにより、ＬＰ最適化計算が行われ、結果がユーザに提供される。
ここで、具体例を挙げて計画最適化計算処理について説明する。図７は、２種類の原料を混合する生産プロセスの生産プロセスフローを示した図である。
【００５９】
この生産プロセスの生産プロセスフローは、２種類の原料（コーヒーと牛乳）を混ぜ合わせて２種類の製品レギュラーとカフェオレを製造する工程を示しており、原料購入（コーヒーエキス）４１、原料購入（牛乳）４２、混合装置４５、製品（レギュラー）４７および製品（カフェオレ）４９のボックスと、原料購入（コーヒーエキス）４１と混合装置４５を接続するコーヒー４３、原料購入（牛乳）４２と混合装置４５を接続する牛乳４４、混合装置４５と製品（レギュラー）４７を接続するレギュラー４６および混合装置４５と製品（カフェオレ）４９を接続するカフェオレ４８のラインによって表現されている。
【００６０】
このような生産プロセスフローが作成されると、生産プロセスフローのボックス情報、ライン情報から、ボックスの属性に応じたテーブルシートが自動作成される。
図８は、２種類の原料を混合するボックスのテーブルシートを示した図である。図は、混合装置４５のテーブルシート例を示している。
【００６１】
生産プロセスフローのボックス属性（組立装置）から、混合装置用のテーブル５０が自動作成され、ライン情報からテーブルの行に出力側にレギュラー５１ａとカフェオレ５１ｂが設定され、テーブルの列に入力側のコーヒー５２と牛乳５３が自動設定される。この状態から、ユーザが処理データ、たとえば、混合のバランス情報５４として、レギュラーは、コーヒーと牛乳が０．９と０．１、カフェオレは、コーヒーと牛乳が０．６と０．４の割合で混合されることを設定する。また、必要であれば、下限５５や上限５６なども設定する。ここでは、カフェオレの下限５５として、１５０が設定され、カフェオレは最低でも１５０は生産しなければならないことが設定されている。また、用役５７として、原料であるコーヒーエキスと牛乳それぞれのコスト４円と６円が設定され、牛乳は購入上限５８として、最高でも１００しか買うことができないことが設定されている。さらに、図の例では、ＬＰ最適解（コーヒー解、牛乳解）もテーブルに設定できるようにテーブルが作成されている。
【００６２】
このように設定が終了し、ＬＰ計算処理が開始されると、全てのボックスに対し、ＦＲＯＭ＿ＮＡＭＥ（Ｌ）＿ＴＯ情報が作成され、かつ対応するボックスのテーブル内の該当する処理データと併せて、ＬＰ式の元となる情報を作成する。たとえば、原料購入４１であれば、
ＮＡＭＥ：コーヒーエキス
属性：原料購入
出力：コーヒーエキス＿コーヒー＿混合装置
コスト：４
といった情報が作成される。
【００６３】
同様に、混合装置４５であれば、
ＮＡＭＥ：混合装置
属性：組立装置
出力：混合装置＿レギュラー＿レギュラー＿製品（レギュラー），
混合装置＿カフェオレ＿製品（カフェオレ）
入力１：コーヒーエキス＿コーヒー＿混合装置＿１，０．９，０．６
入力２：牛乳＿牛乳＿混合装置０．１，０．４
入力上限：なし、１００
入力下限：なし、なし
出力上限：なし、なし
出力下限：なし、１５０
という情報が作成される。
【００６４】
続いて、抽出された情報に基づき、ＬＰ式用の内部変数を生成して変数データファイルとＬＰ式ファイルを作成する。
この例では、変換データとして、内部変数Ｘ１、Ｘ２、Ｘ３およびＸ４をそれぞれ、ライン（レギュラー）４８、ライン（カフェオレ）４６、ライン（コーヒー）４３、ライン（牛乳）４４に対応させ、
Ｘ１，混合装置＿レギュラー＿レギュラー
Ｘ２，混合装置＿カフェオレ＿製品（カフェオレ）
Ｘ３，原料購入（コーヒーエキス）＿コーヒー＿混合装置
Ｘ４，原料購入（牛乳）＿牛乳＿混合装置                      ・・・（１）
と作成する。
【００６５】
ＬＰモデルは、これらの内部変数とテーブルデータ５１の処理データを用いて、
Ｍａｘｉｍｉｚｅ
１００Ｘ１＋１２０Ｘ２−６Ｘ４−４Ｘ３
Ｓｕｂｊｅｃｔ  Ｔｏ
ｓ１：０．９Ｘ１  ＋０．６Ｘ２  −Ｘ３  ＝  ０
ｓ２：０．１Ｘ１  ＋０．４Ｘ２  −Ｘ４  ＝  ０
Ｂｏｕｎｄｓ
１５０＜＝Ｘ２
Ｘ４＜＝１００
Ｅｎｄ                                                        ・・・（２）
と作成される。
【００６６】
このようなＬＰモデルに基づき最適化演算が行われ、ＬＰ解データが設定される。この場合、ＬＰ解データとして、Ｘ１＝４００．００、Ｘ２＝１５０．００、Ｘ３＝４５０．００、Ｘ４＝１００．００が算出される。
【００６７】
算出されたＬＰ解データを図７に示した生産プロセスフローのラインに重ねて表示する。図９は、２種類の原料を混合する生産プロセスの生産プロセスフローに最適化計算結果を付加した表示例を示した図である。
【００６８】
最適化計算結果により得られたＬＰ解データは、対応するライン上に表示される。図の例では、レギュラー４６のＬＰ解（Ｘ１＝４００．００）、カフェオレ４８のＬＰ解（Ｘ２＝１５０．００）、コーヒー４３のＬＰ解（Ｘ３＝４５０．００）および牛乳４４のＬＰ解（Ｘ４＝１００．００）が表示されている。
【００６９】
（２）マテバラ展開処理
次に、マテバラ展開処理部１４０の処理について説明する。図１０は、本実施の形態のマテバラ展開処理手順を示したフローチャートである。
【００７０】
マテバラ展開指示により、処理が開始される。
［ステップＳ２１］  対象生産プロセスフローの製品ボックスに入力される要素、すなわち、変換データファイル内のＦＲＯＭ＿ＮＡＭＥ（Ｌ）＿ＴＯを検索し、ＴＯに製品販売ボックスの名称を持つ入力要素を検索する。そして、全ての入力要素に対し、順に以下の処理を行う。
【００７１】
［ステップＳ２２］  ステップＳ２１によって検索された入力要素のうちの１つを生産プロセスフローの逆展開を行うための引当要素とし、ＬＰ解データよりその引当値を設定する。
【００７２】
［ステップＳ２３］  変換データファイル１３３から引当要素に対応する変換データ（引当要素をＮＡＭＥ（Ｌ）とし、ＴＯに現ボックスが設定される変換データ）を読み出し、変換データＦＲＯＭ＿ＮＡＭＥ（Ｌ）＿ＴＯより、ＦＲＯＭに設定される次のボックスの名称を取得する。ＦＲＯＭに設定されるボックスは、生産プロセスフローの前工程を示すボックスであり、逆展開時には、次のボックスになる。
【００７３】
［ステップＳ２４］  ステップＳ２３で取得した次のボックスの名称に基づき、プロセスフローデータを検索し、その属性情報を取得する。
［ステップＳ２５］  ボックスの属性に応じて処理を分岐させる。ボックスの属性が分解装置、組立装置、混合など、データシートを持つ属性である場合には、処理をステップＳ２６へ進める。ボックスの属性が分岐など、データシートを持たない属性である場合には、処理をステップＳ２７へ進める。ボックスの属性が原料購入である場合には、処理をステップＳ２８へ進める。
【００７４】
［ステップＳ２６］  ボックスの属性がデータシートを持つ（データシート有）の場合のマテバラ演算処理を行い、当該ボックスに関するマテバラ展開データを算出し、マテバラ展開ファイルに設定する。そして、ステップＳ２３に戻り、引当要素に関する逆展開時の次のボックスを検索する手順からの処理を行う。
【００７５】
［ステップＳ２７］  ボックスの属性がデータシートを持たない（データシート無）の場合のマテバラ演算処理を行い、当該ボックスに関するマテバラ展開データを算出し、マテバラ展開ファイルに設定する。そして、ステップＳ２３に戻り、引当要素に関する逆展開時の次のボックスを検索する手順からの処理を行う。
【００７６】
［ステップＳ２８］  ボックスの属性が原料購入である場合、このボックスが逆展開における最終のボックスであるので、この引当要素に関するマテバラ展開終了と判断する。そして、他の製品ボックス入力要素があるかどうかを判定する。ある場合には、ステップＳ２２に戻って、まだマテバラ展開が行われていない引当要素のマテバラ展開を行う。ない場合には、マテバラ展開を終了する。
【００７７】
以上の処理手順が実行されることにより、製品ボックスの入力要素ごと（製品別）に、次ボックスが「原料購入」に到達するまで、変換データに基づいてステップＳ２３からステップＳ２７までの処理が繰り返され、生産プロセスフローが逆展開される。同時に、ステップＳ２６およびステップＳ２７のマテバラ演算処理によって、ボックスごとにマテバラ計算が行われ、製品を構成する中間製品の必要量が算出される。
【００７８】
ここで、ステップＳ２６およびステップＳ２７のマテバラ演算について説明する。
図１１は、本実施の形態のデータシート有のマテバラ演算処理の処理手順を示したフローチャートである。
【００７９】
［ステップＳ２６１］  前処理で指定されたボックス（引当要素に関する逆展開における次のボックス）の名称に基づき、ボックスに入力される全ての入力要素を検索する。すなわち、変換データファイルを検索し、ＦＲＯＭ＿ＮＡＭＥ（Ｌ）＿ＴＯにおいて、ＴＯに指定されたボックス名称が設定される入力要素を検索する。そして、全ての入力要素に対し、順に以下の処理を行う。
【００８０】
［ステップＳ２６２］  ステップＳ２６１によって検索された入力要素のうちの１つを引当要素によって引き当てられる被引当要素とし、ＬＰ解データよりその引当基礎値を設定する。
【００８１】
［ステップＳ２６３］  当該ボックスのデータシートより、要素に対する処理データを取得する。
［ステップＳ２６４］  被引当要素に関するマテバラ計算処理を行う。すなわち、引当要素の引当値、ステップＳ２６２で設定された引当基礎値およびステップＳ２６３で読み出した処理データを用いて、被引当要素の被引当値を算出する。算出結果は、マテバラ展開データに設定する。
【００８２】
［ステップＳ２６５］  ステップＳ２６２で設定された被引当要素を次回逆展開における引当要素、ステップＳ２６４で算出した被引当要素の被引当値を引当要素の引当値に設定する。
【００８３】
［ステップＳ２６６］  他のボックス入力要素があるかどうかを調べる。ある場合には、ステップＳ２６２に戻って、マテバラ演算が行われていない次のボックス入力要素のマテバラ演算処理を行う。ない場合には、このボックスに関するマテバラ演算を終了する。
【００８４】
図１２は、本実施の形態のデータシート無のマテバラ演算処理の処理手順を示したフローチャートである。
［ステップＳ２７１］  前処理で指定されたボックスの名称に基づき、ボックスに入力される全ての入力要素を検索する。すなわち、変換データファイルを検索し、ＦＲＯＭ＿ＮＡＭＥ（Ｌ）＿ＴＯにおいて、ＴＯに指定されたボックス名称が設定される入力要素を検索する。そして、全ての入力要素に対し、順に以下の処理を行う。
【００８５】
［ステップＳ２７２］  ステップＳ２７１によって検索された入力要素のうちの１つを引当要素によって引き当てられる被引当要素とし、ＬＰ解データよりその引当基礎値を設定する。
【００８６】
［ステップＳ２７３］  被引当要素に関するマテバラ計算処理を行う。すなわち、引当要素の引当値と、ステップＳ２７２で設定された引当基礎値を用いて、被引当要素の被引当値を算出する。算出結果は、マテバラ展開データに設定する。
【００８７】
［ステップＳ２７４］  ステップＳ２７２で設定された被引当要素を次回逆展開における引当要素、ステップＳ２７３で算出した被引当要素の被引当値を引当要素の引当値に設定する。
【００８８】
［ステップＳ２７５］  他のボックス入力要素があるかどうかを調べる。ある場合には、ステップＳ２７２に戻って、次のボックス入力要素のマテバラ演算処理を行う。ない場合には、このボックスに関するマテバラ演算を終了する。
【００８９】
以上の処理手順が実行されることにより、マテバラ展開によって検索されたボックスに対するマテバラ計算が行われ、製品を構成する被引当要素の量が算出される。
さらに、マテバラ展開によって、原料から製品までの工程途中で生成され、製品を構成する中間製品の必要量から中間製品を構成する中間製品原料の必要量を求めることができる。
【００９０】
ここで、具体例を挙げて計画最適化計算処理について説明する。
図９に示した２種類の原料（コーヒーと牛乳）を混合する生産プロセスフローの最適化計算結果表示では、それぞれの原料の総使用量と、生成される製品の量は表示される。しかしながら、各製品別の原料使用量は算出されない。そこで、マテバラ展開を行って、製品別の生成プロセスフローを作成し、ＬＰ解データから逆算すれば、レギュラーとカフェオレのそれぞれの原料使用量を算出することができる。
【００９１】
たとえば、製品（カフェオレ）４９からマテバラ展開を行うと、前のブロックは混合装置４５が検索される。混合装置４５から出力されるカフェオレ（４８）の必要量は、１５０．００であることから、混合装置４５に入力するコーヒー４３と牛乳４４の総使用量１５０．００が算出される。混合装置４５のカフェオレの混合割合は、テーブル５０を参照するとコーヒー０．６に対し牛乳０．４であることから、原料使用量は、コーヒー９０．００、牛乳６０．００であることが算出される。レギュラーについても同様に算出することができる。
【００９２】
この例は簡単なので、混合装置４５のテーブル５０から容易に算出することができるが、モデルが大きくなると算出することは困難である。
以下、実際の適用例に近い生産プロセスフローの例で説明する。
【００９３】
図１３は、石油精製の生産プロセスフローの一例を示した図である。説明に関係するブロックおよびラインにのみ番号を付し、説明を行う。
原材料ブロックである原油２０１と、製品ブロックである製品２０７と、装置ブロックであるＴＯＰ２０２、ＰＬＡＴ２０６と、分岐ブロックであるＴＯＰＮＢ２０３、ＴＯＰＳＷ２０４、ＴＯＰＬＰＧ２０５がラインによって接続されている。なお、図のラインの名称の前の数値は、ＬＰ解データである。
【００９４】
各ラインの変換データは、それぞれ、ライン２１０が「Ｘ１＝原油＿ＣＲ１＿ＴＯＰ、原油＿ＣＲ２＿ＴＯＰ、原油＿ＣＲ３＿ＴＯＰ」になる。同様に、ライン２１１は「Ｘ２＝ＴＯＰ＿ＳＷ＿ＴＯＰＳＷ」、ライン２１２は「Ｘ３＝ＴＯＰ＿ＴＮＡＰ_ＴＯＰＮＢ」、ライン２１３は「Ｘ４＝ＴＯＰＳＷ＿ＳＮ_ＴＯＰＮＢ」、ライン２１４は「Ｘ５＝ＴＯＰＮＢ＿ＰＮＡＰ＿ＰＬＡＴ」、ライン２１５は「Ｘ６＝ＴＯＰ＿ＴＬＰＧ＿ＴＯＰＬＰＧ」、ライン２１６は「Ｘ７＝ＰＬＡＴ＿ＰＬＰＧ＿ＴＯＰＬＰＧ」、ライン２１７は「Ｘ８＝ＴＯＰＬＰＧ_ＬＰＧ＿製品」、ライン２１８は「Ｘ９＝ＴＯＰＮＢ＿ＮＡＰ＿製品」、ライン２１９は「Ｘ１０＝ＭＩＸＧ_ＧＡＳＯ＿製品」、ライン２２０は「Ｘ１１＝ＵＮＩＦ＿ＫＥＲＯ＿製品」、ライン２２１は「Ｘ１２＝ＢＬＦ＿ＦＵＥＬ＿製品」と表記される。
【００９５】
この生産プロセスフローについて、製品別に原料使用量を算出する場合について説明する。
まず、製品２０７の入力要素を検索する。変換データのＴＯが製品の変換データを検索すると、「Ｘ１＝ＴＯＰＬＰＧ＿ＬＰＧ＿製品」、「Ｘ２＝ＴＯＰＮＢ＿ＮＡＰ＿製品」、「Ｘ３＝ＭＩＸＧ＿ＧＡＳＯ＿製品」、「Ｘ４＝ＵＮＩＦ＿ＫＥＲＯ＿製品」、「Ｘ５＝ＢＬＦ＿ＦＵＥＬ＿製品」が検索される。すなわち、入力要素として製品ＬＰＧ、ＮＡＰ、ＧＡＳＯ、ＫＥＲＯおよびＦＵＥＬがある。
【００９６】
以下、製品ＬＰＧに関するマテバラ展開を行うとして説明する。
入力要素（Ｘ１＝ＴＯＰＬＰＧ＿ＬＰＧ＝製品）を生産プロセスフローの逆展開を行う引当要素とし、ＬＰ解データ（Ｘ１＝３４．６１）よりその引当値を設定すると、引当要素とその値は、
ＴＯＰＬＰＧ＿ＬＰＧ＿製品＝３４．６１                          ・・・（３）
となる。
【００９７】
次に、引当要素から逆展開における次のボックス（変換データのＦＲＯＭ）の名称「ＴＯＰ＿ＬＰＧ」を取得し、プロセスフローデータより属性情報（分岐）を取得する。属性が分岐であるので、ボックス「ＴＯＰＬＰＧ」はデータシートを持たない。
【００９８】
続いて、ボックス「ＴＯＰＬＰＧ」２０５の入力要素を検索する。ＴＯに設定する変換データを検索すると、「Ｘ６＝ＴＯＰ＿ＴＬＰＧ＿ＴＯＰＬＰＧ」、「Ｘ７＝ＰＬＡＴ＿ＰＬＰＧ＿ＴＯＰＬＰＧ」が抽出される。抽出された、「ＴＯＰ＿ＴＬＰＧ＿ＴＯＰＬＰＧ」および「ＰＬＡＴ＿ＰＬＰＧ＿ＴＯＰＬＰＧ」が被引当要素になり、そのＬＰ解データが被引当基礎値になる。ここでは、被引当要素「ＴＯＰ＿ＴＬＰＧ＿ＴＯＰＬＰＧ」について被引当基礎値として、ＴＯＰ＿ＴＬＰＧ＿ＴＯＰＬＰＧ＝２３．８４が得られる。ＴＯＰＬＰＧでは、被引当値は、被引当基礎値と同じになることから、被引当値は、ＴＯＰ＿ＴＬＰＧ＿ＴＯＰＬＰＧ＝２３．８４になる。
【００９９】
以降、ＴＯＰ＿ＴＬＰＧ＿ＴＯＰＬＰＧを引当要素、２３．８４を引当値として次ブロックを検索し、同様の処理を行う。
以上の処理を繰り返すことによって、最終の製品ＬＰＧが生成されるまでに生成される中間製品の必要量と、原料から中間製品を経て製品ＬＰＧまでの生成プロセスフローを得ることができる。また、生成プロセスフローのラインを生産プロセスフロー上にハイライト表示することにより、所定の製品が生成されるまでのプロセスが容易にわかるようになる。さらに、このとき、中間製品の必要量などを表示することにより、ユーザに詳細な生成プロセス情報を提供することができる。
【０１００】
このように変換データに基づき、中間製品をたどりマテバラ展開を行うと、製品ＬＰＧのマテバラ構成図が作成できる。マテバラ構成図を用いて、さらに中間製品における原料の必要量を算出することができる。
【０１０１】
図１４は、本実施の形態のマテバラ構成図の一例を示した図である。なお、図で（）内の数値はＬＰ計算結果、＜＞はＬＰ計算時のテーブルデータ（収率）を示す。
変換データを逆にたどっていくことにより、製品ＬＰＧの生成プロセスにおいて生成される中間製品が逆展開される。
【０１０２】
ＴＯＰ装置を例にとってみると、ＴＬＰＧは、原料Ｃ１、Ｃ２、Ｃ３がＴＯＰ装置を経由してできる。ＴＯＰ装置におけるＴＬＰＧの収率は、０．０３、０．０２、０（Ｃ１、Ｃ２、Ｃ３）であり、ＴＯＰ装置への入力量は、５８３．７、３１６．３、１００（Ｃ１、Ｃ２、Ｃ３）になる。
【０１０３】
ここで、ＴＯＰ装置で生成されたＴＬＰＧは、全てが製品ＬＰＧになるので、ＴＬＰＧ２３．８４を生成するために使用したＣＲ１、ＣＲ２、ＣＲ３の使用量ＣＲ１’、ＣＲ２’、ＣＲ３’は、
ＣＲ１’＝５８３．７＊０．０３  ＝  １７．５１
ＣＲ２’＝３１６．３＊０．０２  ＝  ６．３３
ＣＲ３’＝１００＊０  ＝  ０
になる。
【０１０４】
一方、ＴＯＰ装置におけるＴＮＡＰの収率は、０．１９、０．２５、０．１３（Ｃ１、Ｃ２、Ｃ３）であり、ＴＯＰ装置への入力量は、５８３．７、３１６．３、１００（Ｃ１、Ｃ２、Ｃ３）になる。
【０１０５】
ここで、ＴＯＰ装置で生成されたＴＮＡＰは、一部が製品ＬＰＧになるので、ＴＮＡＰ１０．４２を生成するために使用したＣＲ１、ＣＲ２、ＣＲ３の使用量ＣＲ１’、ＣＲ２’、ＣＲ３’は、
ＣＲ１’＝（５８３．７＊０．１９）＊１０．４２／(５８３．７*０．１９＋３１６＊０．２５＋１００＊０．１３)  ＝  ５．８９
ＣＲ２’＝（３１６．３＊０．２５）＊１０．４２／(５８３．７*０．１９＋３１６＊０．２５＋１００＊０．１３)  ＝  ４．０５
ＣＲ３’＝（１００＊０．１３）＊１０．４２／(５８３．７*０．１９＋３１６＊０．２５＋１００＊０．１３)  ＝  ５．８９
になる。
【０１０６】
このように、マテバラ計算は、構成図とそれぞれ経由する装置の収率データを用いてＬＰ計算結果である製品の生成量から、製品を構成する中間製品の必要量を求め、そこで求められた中間製品の必要量から、中間製品を構成する中間製品・原料の必要量を求めるといった、再帰的な計算を繰り返すことによって行われる。
【０１０７】
上記の説明では、プロセス産業への適用例を示したが、本発明の適用はプロセス産業に限定されない。たとえば、加工系の生産計画最適化にも適用することができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、計画最適化装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１０８】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１０９】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１１０】
（付記１）  生産プロセスフローを作成し、線形計画法を用いて前記生産プロセスフローを最適化する生産計画を求める生産計画プログラムにおいて、
コンピュータを、
生産プロセスにおける各種要素を処理する処理工程と、前記処理工程を経由する前記各種要素の流れとによって前記生産プロセスを表した生産プロセスフローを記述するプロセスフローデータと、前記処理工程で行われる処理に関連する処理データとを用いて、前記生産プロセスフロー上の前記要素の流れを変数とする変換データとともに前記生産プロセスフローのＬＰモデルを作成するＬＰモデル作成手段、
前記ＬＰモデルに基づいて最適化計算を行ってＬＰ解データを算出する最適化計算手段、
前記生産プロセスフローにおける所定の要素の流れを前記変換データに基づいて製品から逆展開して製品別の生成プロセスフローを作成するとともに、前記ＬＰ解データから逆算して前記所定の要素の量を算出するフロー逆展開手段、
として機能させることを特徴とする生産計画プログラム。
【０１１１】
（付記２）  前記ＬＰモデル作成手段において、
前記変換データとして、前記プロセスフローデータに基づき、全ての前記要素の流れを、該要素の流れの起点となる処理工程の識別情報、前記要素の流れの識別情報および該要素の流れの終点となる処理工程の識別情報を持つ変数に変換して生成する、
処理を実行させることを特徴とする付記１記載の生産計画プログラム。
【０１１２】
（付記３）  前記ＬＰモデル作成手段において、
前記変換データと前記処理データとを用いてＬＰ形式に基づく式データを生成し、前記要素の流れを変数に含むＬＰモデルを作成する、
処理を実行させることを特徴とする付記１記載の生産計画プログラム。
【０１１３】
（付記４）  前記フロー逆展開手段において、
最終段の製品を示す前記処理工程を検索対象の処理工程とし、
前記検索対象の処理工程を終点側に設定する前記変換データを検索し、
検索された前記変換データから逆展開における次処理工程を特定し、
特定された前記次処理工程を前記検索対象の処理工程として前記変換データの検索からの処理を前記次処理工程が検索されなくなるまで繰り返す、
処理を実行させることを特徴とする付記１記載の生産計画プログラム。
【０１１４】
（付記５）  前記フロー逆展開手段において、
前記生産プロセスフローを前記製品から逆展開する際に、前記処理工程ごとに、前記処理工程の出力要素の必要量を生成するために必要な前記処理工程の入力要素の量を順次逆算することにより、前記製品を構成するために必要な前記処理工程の入力要素の必要量を算出する、
処理を実行させることを特徴とする付記１記載の生産計画プログラム。
【０１１５】
（付記６）  前記フロー逆展開手段において、
前記製品別の生成プロセスフローに基づき、前記処理工程ごとに算出される前記処理工程の入力要素の必要量に含まれる原料の量を算出する、
処理を実行させることを特徴とする付記１記載の生産計画プログラム。
【０１１６】
（付記７）  前記コンピュータを、
前記処理工程をブロック、および前記要素の流れを前記ブロックを連結する連結線として、前記生産プロセスフローの表示画面を作成するＧＵＩ処理手段、
として機能させることを特徴とする付記１記載の生産計画プログラム。
【０１１７】
（付記８）  前記ＧＵＩ処理手段において、
前記フロー逆展開手段によって作成された前記任意の製品に関する前記製品別の生成プロセスフローに基づき、前記製品別の生成プロセスフローに含まれる前記要素の流れに対応する前記生産プロセスフロー表示画面上の前記連結線をハイライト表示する、
処理を実行させることを特徴とする付記７記載の生産計画プログラム。
【０１１８】
（付記９）  前記ＧＵＩ処理手段において、
前記フロー逆展開手段によって前記ＬＰ解データから逆算された前記製品別の生成プロセスフローの前記処理工程ごとの前記入力要素の必要量を、前記生産プロセスフローの表示画面上に重ねて表示する、
処理を実行させることを特徴とする付記８記載の生産計画プログラム。
【０１１９】
（付記１０）  生産プロセスフローを作成し、線形計画法を用いて前記生産プロセスフローを最適化する生産計画を求める生産計画方法において、
ＬＰモデル作成手段が、生産プロセスにおける各種要素を処理する処理工程と、前記処理工程を経由する前記各種要素の流れとによって前記生産プロセスを表した生産プロセスフローを記述するプロセスフローデータと、前記処理工程で行われる処理に関連する処理データとを用いて、前記生産プロセスフロー上の前記要素の流れを変数とする変換データとともに前記生産プロセスフローのＬＰモデルを作成し、
最適化計算手段が、前記ＬＰモデルに基づいて最適化計算を行ってＬＰ解データを算出し、
フロー逆展開手段が、前記生産プロセスフローにおける所定の要素の流れを前記変換データに基づいて製品から逆展開して製品別の生成プロセスフローを作成するとともに、前記ＬＰ解データから逆算して前記所定の要素の量を算出する、
手順を有することを特徴とする生産計画方法。
【０１２０】
（付記１１）  生産プロセスフローを作成し、線形計画法を用いて前記生産プロセスフローを最適化する生産計画を求める生産計画装置において、
生産プロセスにおける各種要素を処理する処理工程と、前記処理工程を経由する前記各種要素の流れとによって前記生産プロセスを表した生産プロセスフローを記述するプロセスフローデータと、前記処理工程で行われる処理に関連する処理データとを用いて、前記生産プロセスフロー上の前記要素の流れを変数とする変換データとともに前記生産プロセスフローのＬＰモデルを作成するＬＰモデル作成手段と、
前記ＬＰモデルに基づいて最適化計算を行ってＬＰ解データを算出する最適化計算手段と、
前記生産プロセスフローにおける所定の要素の流れを前記変換データに基づいて製品から逆展開して製品別の生成プロセスフローを作成するとともに、前記ＬＰ解データから逆算して前記所定の要素の量を算出するマテリアルバランス展開手段と、
を有することを特徴とする生産計画装置。
【図面の簡単な説明】
【０１２１】
【図１】実施の形態に適用される発明の概念図である。
【図２】生産計画の最適化処理におけるデータの流れを示した図である。
【図３】ＬＰモデルの作成を示した図である。
【図４】実施の形態の計画最適化システムの構成例を示した図である。
【図５】本実施の形態の計画最適化装置のハードウェア構成例を示すブロック図である。
【図６】本実施の形態のＬＰ計算処理手順を示したフローチャートである。
【図７】２種類の原料を混合する生産プロセスの生産プロセスフローを示した図である。
【図８】２種類の原料を混合するボックスのテーブルシートを示した図である。
【図９】２種類の原料を混合する生産プロセスの生産プロセスフローに最適化計算結果を付加した表示例を示した図である。
【図１０】本実施の形態のマテバラ展開処理手順を示したフローチャートである。
【図１１】本実施の形態のデータシート有のマテバラ演算処理の処理手順を示したフローチャートである。
【図１２】本実施の形態のデータシート無のマテバラ演算処理の処理手順を示したフローチャートである。
【図１３】石油精製の生産プロセスフローの一例を示した図である。
【図１４】本実施の形態のマテバラ構成図の一例を示した図である。
【図１５】化学プロセスにおける生産プロセスフローの一例を示した図である。
【図１６】従来のＬＰモデル作成方法を示した図である。
【符号の説明】
【０１２２】
１１  ＬＰモデル作成手段
１２  最適化計算手段
１３  フロー逆展開手段
２１  プロセスフローデータファイル
２２  テーブルデータファイル
２３  ＬＰモデルファイル
２４  変換データファイル
２５  ＬＰ解ファイル
２６  フロー逆展開ファイル
【図１】
0004845488.tif 000002
【図２】
0004845488.tif 000003
【図３】
0004845488.tif 000004
【図４】
0004845488.tif 000005
【図５】
0004845488.tif 000006
【図６】
0004845488.tif 000007
【図７】
0004845488.tif 000008
【図８】
0004845488.tif 000009
【図９】
0004845488.tif 000010
【図１０】
0004845488.tif 000011
【図１１】
0004845488.tif 000012
【図１２】
0004845488.tif 000013
【図１３】
0004845488.tif 000014
【図１４】
0004845488.tif 000015
【図１５】
0004845488.tif 000016
【図１６】
0004845488.tif 000017