生産計画プログラム
【課題】製品別計画原価の自動算出を可能にする。
【解決手段】LPモデル作成手段11は、プロセスフローデータファイル21とテーブルデータファイル22に格納されるデータに基づき、当該生産プロセスフローを各種要素の流れを変数とする変換データとLPモデルを作成し、変換データファイル24とLPモデルファイル23に格納する。続いて、最適化計算手段12は、LPモデルに基づき最適化計算を行ってLP解データを算出する。次に、フロー逆展開手段13は、生産プロセスフローにおける所定の要素の流れを変換データに基づいて製品から原料まで逆展開するとともに、LP解データから逆算して所定の要素の量を算出し、ユーザに提供する。
【解決手段】LPモデル作成手段11は、プロセスフローデータファイル21とテーブルデータファイル22に格納されるデータに基づき、当該生産プロセスフローを各種要素の流れを変数とする変換データとLPモデルを作成し、変換データファイル24とLPモデルファイル23に格納する。続いて、最適化計算手段12は、LPモデルに基づき最適化計算を行ってLP解データを算出する。次に、フロー逆展開手段13は、生産プロセスフローにおける所定の要素の流れを変換データに基づいて製品から原料まで逆展開するとともに、LP解データから逆算して所定の要素の量を算出し、ユーザに提供する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は生産計画プログラムに関し、特に生産プロセスフローを作成し、線形計画法(以下、LPとする)を用いて生産プロセスフローを最適化する生産計画を求める生産計画プログラムに関する。
【背景技術】
【0002】
従来、一または複数種類の原材料から所定の製品を生成する、たとえば、石油・化学系などのプロセス産業では、原料購入から製品販売までの生産プロセスの計画立案にLPを利用してきた。LPとは、金額の評価にて「ものの流れ」のバランスを最適に決定することができる数理最適化技術であり、LPを利用した生産計画立案では、原料調達から生産、製品販売までの一連の流れを一つの生産プロセスフローで表現し、「金額」の評価が最も高くなるようにそのフロー上の「もの」の流れを決定する。
【0003】
LPを用いた生産計画の立案を支援する計画最適化システムでは、ユーザによるGUI(Graphical User Interface)を用いた生産プロセスフローの作成、フロー上の処理手段に関する情報を設定するテーブルデータの入力をサポートし、作成された生産プロセスフローとテーブルデータから最適化計算処理を行って計算結果をユーザに提示する。
【0004】
生産プロセスフローの作成では、生産プロセスの中で処理が行われる時点を表すボックスを組み合わせ、連結線で結ぶことによって、生産プロセスを表現する。図15は、化学プロセスにおける生産プロセスフローの一例を示した図である。
【0005】
各ボックスは化学プロセスの生産プロセスにおける処理手段を表しており、ボックスA(901)は原料購入、ボックスB(902)は分解装置、ボックスC(903)は混合、ボックスD(904)は組立装置およびボックスE(905)は製品販売を表す。また、連結線はものの流れを表しており、ボックスA(901)とボックスB(902)を接続する連結線906は、原料1の流れを示し、ボックスB(902)から出力される連結線907、908、909は、それぞれ中間製品1、2、3の流れを示す。そして、ボックスごとに展開されるテーブルデータに値を入力し、ユーザによる設定が終了する。
【0006】
次の最適化計算処理では、モデリングシステムが、ボックスの入力と出力の関係式を作成し、全てのボックスの関係式をまとめ、LPモデルを作成する。図16は、従来のLPモデル作成方法を示した図である。
【0007】
LPモデル生成では、各ボックスへの入力がどのように変化して出力となるかといった関係を定式化する。たとえば、ボックスB(902)について入力Xin(原料1)と、出力Xout1(中間製品1)、Xout2(中間製品2)およびXout3(中間製品3)の関係を定式化した関係式911を得る。同様に、次のボックスC(903)について、入力Yin1(中間製品1)およびYin2(中間製品2)と、Yout1(製品1)、Yout2(製品2)およびYout3(製品3)の関係を定式化する。さらに、処理の連続性を表現するため、入力と他のボックス出力との関係を示すYin1=Xout1およびYin2=Xout2を加え、関係式912を得る。このように算出された各処理手段における関係式をまとめ、LPモデルが作成される。
【0008】
そして、作成されたLPモデルに基づき、利益を最大とする最適解を算出し、ユーザに計算結果を提示する。
実際の生産プロセスの計画立案では、モデルの作成と修正および最適化計算を繰り返すシミュレーションが行われ、計画の最適化が図られる。しかしながら、シミュレーションでは、モデルを少しでも変更すると、膨大な時間を要する最適化計算を再び行わなければならないという問題点があった。そこで、本願発明者は、最適化計算結果に対して任意の値を変更して他値への影響を求めるようなシミュレーションを行う場合、当初の生産計画モデルを変更することなくシミュレーションを行うことが可能な生産計画システムを提案している(たとえば、特許文献1参照)。
【特許文献1】特開2000−254893号公報(図1)
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかし、従来のLPを利用した生産計画では、最適化計算で生成される計画データ(LPモデル、LP最適化計算結果)から製品別の生産過程を分解することが難しいという問題点があった。
【0010】
生産計画が作成されると、生産計画に基づき、様々な意思決定が行われる。たとえば、販売価格の決定や損益シミュレーションに使用する製品別計画原価は、生産プロセスフローより算出される製品別原料使用量、製品別装置運転量、製品別用役使用量などに基づき計算する。これらの製品別の各種要素の値は、製品ごとに描かれる生産工程をたどり、LP最適化計算結果から逆算しながら求める。たとえば、図15に示した生産プロセスフローにおいて、製品1に含まれる原料1の原料使用量は、ボックスC(903)の「混合」における製品1に含まれる中間製品1と中間製品2の量を算出し、次にボックスB(902)の「分解装置」における中間製品1と中間製品2に含まれる原料1の量を算出し、これらを合算することにより算出される。製品別装置運転量、製品別用役使用量などの算出についても同様であり、製品が生成されるまでの工程を逆にたどって算出する。
【0011】
しかしながら、LPモデルを用いた最適化計算では、プロセス全体に要する原料の使用量などが算出されるが、製品別の原料使用量や、中間製品の使用量などのプロセス情報は生成されない。そこで、最適化計算に使用されたLPモデルを利用して製品別の生成プロセス情報を算出することが望ましいが、図16に示すように、LP式データは、ボックスの入力と出力の関係式の集合であり、ボックス間の関係を表していないため、生産プロセスフローを逆にたどることは難しいという問題がある。たとえば、関係式912によって表されるボックスC(903)の前ボックスはボックスB(902)であるが、関係式912から前ボックスに関する情報を得ることはできない。関係式912のYin1=Xout1からXout1を出力に持つボックスを検索することは不可能ではないが、ボックスが膨大な数となる実際のプロセスにおいてこのような処理を行うことは現実的ではない。
【0012】
したがって、従来、このように生産プロセスフローを逆にたどり、LP最適化計算結果から製品別のプロセス情報を逆算する逆展開処理は人手に任されており、人手によって製品ごとに逆生産工程を描き、逆算しながら製品別原料使用量など所望の値を求めていた。このため、算出に膨大な時間と費用が必要となっていた。さらに、逆算するためには、各製品がどのような工程を持ち、どのような関係で処理が行われているのかについての知識など、長年の経験と専門知識が必要であり、算出できる人員が限られてしまったという問題もある。
【0013】
また、プロセス産業のように、製品ごとの生産プロセスが固定的ではない場合、環境の変化に応じて最適な生産プロセスフローが随時設定され、ボックスの入力と出力の関係式も変化し、結果として製品別の生成プロセス情報も変化する。しかしながら、生産プロセスフローの逆展開を人手に任せていたのでは、環境の変化に応じて瞬時に製品別の生成プロセス情報を算出することは難しかった。
【0014】
本発明はこのような点に鑑みてなされたものであり、生産プロセスフローの逆展開が可能な生産計画最適化のための生産計画プログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明では上記課題を解決するために、図1に示すような処理をコンピュータに実行させるための生産計画プログラムが提供される。本発明にかかる生産計画プログラムは、コンピュータをLPモデル作成手段11、最適化計算手段12およびフロー逆展開手段13として機能させることにより、以下の処理を実行させることができる。LPモデル作成手段11は、生産プロセスにおける各種要素を処理する処理工程と、この処理工程を経由する各種要素の流れによって生産プロセスを表した生産プロセスフローを記述するプロセスフローデータと、処理工程で行われる処理に関連する処理データとを用いて、この生産プロセスフロー上の要素の流れを変数とする変換データと、この生産プロセスフローのLPモデルを作成する。次に、最適化計算手段12は、作成されたLPモデルに基づいて最適化計算を行ってLP解データを求める。そして、フロー逆展開手段13は、変換データに基づいて、生産プロセスフローにおける所定の要素の流れを製品から逆展開して製品別の生成プロセスフローを作成するとともに、LP解データから逆算して所定の要素の量を算出する。
【0016】
このような生産計画プログラムがコンピュータによって実行されると、コンピュータは、プロセスフローデータファイル21に格納される対象のプロセスフローデータ(処理工程と要素の流れで生産プロセスフローが記述される)と、テーブルデータファイル22に格納される対象生産プロセスフローの処理データに基づき、LPモデルの作成を行う。ここでは、当該生産プロセスフローを要素の流れを変数とする変換データを作成して変換データファイル24に格納し、当該生産プロセスフローのLPモデルを作成してLPモデルファイル23に格納する。続いて、LPモデルに基づき最適化計算を行ってLP解データを算出する。次に、変換データファイル24から対象の生産プロセスフローの変換データを読み出し、変換データに基づいて、生産プロセスフローにおける所定の要素の流れを製品から逆展開して製品別の生成プロセスフローを作成する。これとともに、製品別の生成プロセスフローにしたがって、LP解ファイル25から順次逆算することによって、製品別の生成プロセスフローにおける所定の要素の量を算出する。
【発明の効果】
【0017】
本発明の生産計画プログラムにより実行される生産計画の最適化処理では、生産プロセスフロー上の要素の流れを変数とする変換データをLPモデルの情報と同時に持つことができるので、変換データを参照すれば、任意の製品の生成プロセスフローを逆にたどるとともに、LP解データから逆算することによって製品別の生産過程を分解し、製品の生成プロセスフローにおける所望の要素の量を算出することができる。すなわち、変換データに基づいて生産プロセスフローを製品別に逆展開し、製品別の中間製品使用量や原料使用量など、製品別の生成プロセス情報を自動的に算出することができるという利点がある。
【0018】
さらに、このように計画データに基づき製品別原料使用量などの生成プロセス情報を自動算出できることから、計画の変更に際しても、変更後の生成プロセス情報をすぐに取得し、各種意思決定に利用することが可能となる。
【発明を実施するための最良の形態】
【0019】
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図1は、実施の形態に適用される発明の概念図である。
【0020】
本発明に係る生産計画プログラムは、コンピュータに接続する記憶手段に、プロセスフローデータファイル21、テーブルデータファイル22、LPモデルファイル23、変換データファイル24、LP解ファイル25およびフロー逆展開ファイル26を記憶しておき、コンピュータをLPモデル作成手段11、最適化計算手段12およびフロー逆展開手段13として機能させることにより、ユーザに生産計画の最適化環境を提供する。
【0021】
LPモデル作成手段11は、対象の生産プロセスを、生産プロセス工程を表した生産プロセスフローを記述するプロセスフローデータをプロセスフローデータファイル21から読み出すとともに、ボックス関連データがテーブル形式で格納されるテーブルデータファイル22から、対象生産プロセスフローのボックス関連データを読み出し、変換データとLPモデルを作成する。生産プロセスフローは、生産プロセスにおける処理工程と、処理工程を経由する各種要素の流れ(ものの流れ)によって生産プロセスを表している。ユーザに提供する生産プロセスフローの表示画面では、処理工程はボックス、要素の流れはボックスを連結する連結線で表すので、以下、処理工程をボックス、要素の流れを連結線とよぶ。変換データは、生産プロセスフロー上の各種要素の流れ変数とするデータであって、作成後、変換データファイル24に格納する。LPモデルは、変換データとテーブルデータを用いてLP形式に基づいて生成される式データの集合体であり、作成後、LPモデルファイル23に格納する。
【0022】
最適化計算手段12は、対象の生産プロセスフローについてLPモデル作成手段11によって作成されたLPモデルに基づき数理最適化計算を行ってLP解データを算出し、LP解ファイル25に格納する。このとき、必要に応じて、プロセスフローデータファイル21やテーブルデータファイル22の該当箇所に最適化計算結果を反映する。
【0023】
フロー逆展開手段13は、製品がどの装置を通り中間製品をどれだけ使用しているか、また、その中間製品がどの原料をどれだけ使用しているかなどを、変換データファイル24の関連する変換データ、LP解ファイル25の対象製品のLP解データおよびテーブルデータファイル22の関連処理データを参照して算出する。すなわち、変換データに基づいて、生産プロセスフローを製品から原料まで逆順にたどり、製品別の生成プロセスフローを作成する。これとともに、LP解データとテーブルデータに基づき、製品別の生成プロセスフローの連結線における必要量(マテリアルバランス)を逆計算することによって製品別に各種生成プロセス量を算出する。たとえば、中間製品使用量、原料使用量、在庫使用量、装置使用量、用役使用量などを算出することができる。算出結果は、フロー逆展開ファイル26へ格納する。以下、このように、生産プロセスフローを逆展開し、LP解データから逆算して製品別の各種使用量を算出する処理をマテリアルバランス(以下、マテバラとする)展開と言う。
【0024】
次に、記憶手段に格納されるファイルについて説明する。
プロセスフローデータファイル21は、生産プロセスにおける処理手段を示すボックスと、ボックスを連結しボックス間の各種要素の流れを示す連結線とによって生産プロセスを表現した生産プロセスフローを記述するデータで、ボックス情報と連結線情報を有する。ボックス情報として、ボックスごとに定義される生産プロセスフロー内でのユニークな名称と、その属性(用意された処理属性の中から選択)に関する情報を持つ。また、連結線情報として、連結線によって表される要素の名称と、接続元ボックス名と、接続先ボックス名に関する情報を持つ。連結線情報によって、「接続元ボックス名」から「接続先ボックス名」に向かう「要素の名称」の流れが定義される。
【0025】
テーブルデータファイル22は、ボックスおいて実行される処理に関連する処理データを含むボックス関連データをテーブル形式で格納する。テーブルは、一般的な表処理ソフトウェアの仕様に基づき、たとえば、表に関するシート情報と、表の項目に関するセル情報とによって設定されるデータを管理する。ボックスごとに別シートを用意し、シートごとにボックスへ入力するボックス入力線(入力側連結線)を列、ボックス出力線(出力側連結線)を行とするマトリックスを形成する。テーブルデータファイル22には、そのシート情報とセル情報が設定される。また、テーブルに設定されるデータ(たとえば、分解装置における収率や購入コスト、販売価格など)は、シート情報、セル情報を設定し、マッピング可能にする。
【0026】
LPモデルファイル23には、変換データファイル24とテーブルデータファイル22とに基づいて作成されるLPモデルに関するデータが格納される。LPモデルは、LP形式に基づいた式データとして作成される。
【0027】
変換データファイル24は、ボックスを連結する連結線を示した変換データを格納する。変換データは、連結線ごとに、「接続元ボックス名−(要素の)名称−接続先ボックス名」を含む変数として作成される。
【0028】
LP解ファイル25は、LPモデルに基づく最適化計算によって求められた最適化計算結果(LP解データ)を格納する。
フロー逆展開ファイル26は、変換データから逆展開して生成した製品別の生成プロセスフローと、最適化結果データから算出された、そのプロセス内の連結線におけるマテバラに関するデータを格納する。以下、フロー逆展開ファイルをマテバラ展開ファイルとも表記する。
【0029】
上記の構成による生産計画の最適化処理およびマテバラ展開処理について説明する。図2は、生産計画の最適化処理におけるデータの流れを示した図である。図で、実線は最適化計算処理におけるデータの流れを示しており、破線はマテバラ展開処理におけるデータの流れを示している。
【0030】
プロセスフローデータファイル21およびテーブルデータファイル22には、予めユーザが作成した生産プロセスフローを記述するためのプロセスフローデータ(構成データ)21aと、生産プロセスフロー上のボックスごとに作成されるテーブルデータ22aが格納されている。プロセスフローデータ21aは、全ボックスについて、その名称(NAME(B)と表す)と属性が設定され、全ての連結線について、どのボックスを接続元としているか(FROMと表す)、どのボックスを接続先としているか(TOと表す)および名称(NAME(L)とする)が設定されている。一方、テーブルデータ22aには、入力情報の必要なボックスに対して、セル情報、シート情報および処理情報が設定されている。データシートは、ボックスの属性によって形式が決定し、たとえば、原料購入、製品販売、分解装置、組立装置、混合などがそれぞれ固有の形式のデータシートを持つ。また、ボックスの属性によっては、データシート自体を持たないものもある。たとえば、分岐などは設定データを持たないため、データシートがない。
【0031】
LPモデル作成手段11では、プロセスフローデータ21aとテーブルデータ22aから変換データ24aとLPモデルデータ23aを作成する。変換データ24aは、決定変数であるものの流れを、FROM_NAME(L)_TOという形式で表す。LPモデルデータ23aは、変換データ24aとテーブルデータ22aの処理データからLP形式の式データとして作成する。具体例を挙げて説明する。図3は、LPモデルの作成を示した図である。生産プロセスフローは、図15と同じである。
【0032】
ボックスB(31)に関する変換データとして、プロセスフローデータから、入力側の連結線を表すFROM(=ボックスA)、TO(=ボックスC)、NAME(L)(=X)の変換データA_X_B(32a)と、同様に出力側の連結線を表すB_Y1_C(32b)、B_Y2_C(32c)およびB_Y3_D(32d)が設定される。また、ボックスC(34)に関する変換データとして、出力側の連結線を表すC_Z1_E(35a)、C_Z2_E(35b)およびC_Z3_E(35c)が設定される。なお、入力側は、ボックスB(31)の出力側と同じになる。
【0033】
LPモデル作成では、ボックスB(31)について、変換データ32a、32b、32c、32dと分解装置の処理データ(Y1:Y2:Y3=3A:5A:2A)を定式化し、LPモデルデータ(B_Y1_C=0.3A_X_B, B_Y2_C=0.5A_X_B, B_Y3_D=0.2A_X_B)33を作成する。同様に、ボックスC(34)について、LPモデルデータ(C_Z1_E=0.4B_Y1_C+0.2B_Y2_C, C_Z2_E=0.2B_Y1_C+0.3B_Y2_C, C_Z3_E=0.2B_Y1_C+0.5B_Y2_C)を作成する。
【0034】
このようにして作成されたLPモデルデータは、図16のLPモデルデータと比べて、式データの中に「ものの流れ」が含まれており、工程を逆にたどることができることがわかる。
【0035】
図2に戻って説明する。
最適化計算手段12では、LPモデル作成手段11で作成されたLPモデルデータに基づき最適化計算を行って、LP解データ25aを算出する。LP解データは、目的関数値と各決定変数の値を持つ。最適化計算結果を生産プロセスフローおよびテーブルデータに反映させて提示することによって、ユーザに最適解を知らせる。
【0036】
フロー逆展開手段13では、全ての製品のマテバラ展開処理を行う。マテバラ展開処理では、変換データ24aに基づきプロセスフローデータ21aを製品から逆展開して、製品別の生成プロセスフローを作成する。そして、LP解データ25aに基づき、テーブルデータ22aを参照して、製品別の生成プロセスフローにおける連結線の所定の要素の量を算出する。たとえば、図3の例で、製品Z1に含まれる原料Xの原料使用量を求める場合で説明する。変換データ(C_Z1_E、B_Y1_C、B_Y2_C、A_X_B)に基づき、製品Z1については、原料、ボックスB(31)、ボックスC(34)、製品という生成プロセスフローが得られる。この生成プロセスフローに基づき、LP解データを用いて逆算すれば、製品Z1に関する原料Xの原料使用量を算出することができる。同様の手順で、最終製品別の生成プロセス情報、中間製品使用量、在庫使用量、装置使用量、用役使用量を算出することができる。
【0037】
このように、LPモデル作成時に、ものの流れを変数とする変換データをLPモデル情報と同時に持つことにより、変換データに基づき、製品別に製品から原料までの工程を逆にたどって製品別の生成プロセスフローを作成することができる。また、製品別の生成プロセスフローに基づき最適化計算によって得られたLP解データから逆算して中間製品使用量、原料使用量、などの製品別の生成プロセス情報を算出することが可能となる。
【0038】
このようにして算出された製品別の生成プロセス情報を用いて、たとえば、製品別計画原価を自動で算出することが可能となり、容易かつ、専門知識を持たない場合であっても製品計画原価を求めることができるようになる。さらに、自動で行うことができることから、環境の変化にも容易に対応し、製品別計画原価などを正確に把握することが可能となる。
【0039】
以下、実施の形態を、プロセス産業の生産計画を最適化する計画最適化システムに適用した場合を例に図面を参照して詳細に説明する。図4は、実施の形態の計画最適化システムの構成例を示した図である。
【0040】
実施の形態の計画最適化システムは、生産プロセスフローを作成し、LPを用いた最適化計算を行って、生産計画の最適化を支援する計画最適化装置100に、最適化計算処理を行う数理計画ソルバー150、ユーザ200に計算結果を提示するモニタ108およびユーザ200によるデータ設定や指示などの入力を受け付ける入力装置109が内部バスまたはネットワークを介して接続する。また、ネットワークを介して損益シミュレータや、各部門の担当者の端末装置と接続することもできる。
【0041】
計画最適化装置100は、GUI処理部110、計画最適化計算処理部120、記憶装置130およびマテバラ展開処理部140を有する。
GUI処理部110は、GUI機能を用いてモニタ108および入力装置109を制御する。ユーザ200は、GUI処理部110の制御によってモニタ108に表示されるGUIに従って生産プロセスフローおよびテーブルデータの作成と設定を行う。設定データは入力装置109を介してGUI処理部110へ入力され、GUI処理部110は、設定データを表示画面に反映するとともに、プロセスフローデータとテーブルデータを作成し、記憶装置130へ格納する。
【0042】
計画最適化計算処理部120は、GUI処理部110を介して設定された生産プロセスフローおよびテーブルデータに基づき、生産プロセスフローに関する変換データおよびLPモデルデータを作成し、最適化計算を行ってLP最適解を算出する。なお、最適化計算は、数理計画ソルバー150に依頼し、最適化計算結果は、GUI処理部110を介してユーザ200に通知する。
【0043】
記憶装置130は、GUI処理部110、計画最適化計算処理部120およびマテバラ展開処理部140からアクセス可能な記憶手段であり、プロセスフローデータファイル、テーブルデータファイル、LPモデルファイル、変換データファイル、LP解ファイル、マテバラ展開ファイルなどが格納される。
【0044】
マテバラ展開処理部140は、変換データ、テーブルデータおよびLP解データに基づき製品別のマテバラ展開を行って、原料使用量、在庫使用量、装置使用量、用役使用量などのマテバラ展開データを生成する。マテバラ展開データは、GUI処理部110を介してユーザ200に通知する。算出されたマテバラ展開データは、たとえば、製品計画原価算出などに用いることができる。
【0045】
数理計画ソルバー150は、LPモデルデータに基づき、最適化計算を行う。
ここで、計画最適化装置100のハードウェア構成について説明する。図5は、本実施の形態の計画最適化装置のハードウェア構成例を示すブロック図である。
【0046】
計画最適化装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、通信インタフェース106が接続されている。
【0047】
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションのプログラムが格納される。グラフィック処理装置104には、モニタ108が接続されており、CPU101からの命令に従って画像をモニタ108の画面に表示させる。入力インタフェース105には、キーボード109aやマウス109bが接続されており、キーボード109aやマウス109bから送られてくる信号を、バス107を介してCPU101に送信する。通信インタフェース106は、ネットワークに接続されており、ネットワークを介して端末装置との間でデータの送受信を行う。
【0048】
このようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、計画最適化計算処理部120とマテバラ展開処理部140の処理について、詳細に説明する。
【0049】
(1)計画最適化計算処理
まず、計画最適化計算処理部120の処理について説明する。図6は、本実施の形態のLP計算処理手順を示したフローチャートである。図では、GUI処理部110による生産プロセスフローとテーブルデータ作成処理からの手順を示している。
【0050】
[ステップS11] 開始指示によって、初期設定プログラムを起動し、データ入力環境を準備する。モニタ108には、生産プロセスフローの作成画面が表示され、ユーザ200の設定情報の入力待ち状態になる。
【0051】
[ステップS12] ユーザ200によって生産プロセスフローのボックスと連結線(以下、ラインとする)の設定情報が入力されると、これに基づき、モニタ108に設定情報に基づく生産プロセスフローを表示し、プロセスフローデータを作成する。プロセスフローデータは、プロセスフローデータファイル131に格納する。
【0052】
[ステップS13] ユーザ200によってボックスが指示されると、このボックスの属性に応じてデータシートを作成する。データシートは、ボックスの属性(原料購入、製品販売、分解装置、組立装置、混合)ごとに形式が決められており、これをモニタ108に表示し、ユーザ200の設定情報を待つ。なお、テーブルのセルには、ボックス名称NAME(B)、入力線FROM_NAME(L)、出力線NAME(L)_TOを用いたアドレスを付加する。
【0053】
[ステップS14] ユーザ200によって各データシートのテーブルにデータが設定されると、これをモニタ108に表示するとともに、テーブルデータを作成し、テーブルデータファイル132に設定する。
【0054】
以上の処理手順が実行されることにより、プロセスフローデータファイル131とテーブルデータファイル132が設定される。続いて、これらを用いた最適化計算が開始される。
【0055】
[ステップS15] ステップS12で作成されたプロセスフローデータに基づき、全てのボックスに対して変換データの元となるFROM_NAME(L)_TO情報を作成し、かつ対応するボックスのデータシート内の該当する処理データ(数値)を取り出して、LP式の元となる情報を作成する。
【0056】
[ステップS16] ステップS15によって作成されたLP式の元となる情報を用いて、FROM_NAME(L)_TOに対応するLP式用の内部変数を生成し、変換データを作成し、変換データファイル133に設定するとともに、内部変数によるLP式データを作成し、LPモデルファイル134に設定する。
【0057】
[ステップS17] 数理計画ソルバー150を呼び出し、最適化計算を行う。最適化計算結果として、LP解ファイル135が設定される。
[ステップS18] ステップS16で設定された変換データファイル133と、ステップS17で作成されたLP解ファイル135を用いて、ステップS12でモニタ108に表示された生産プロセスフロー上に、最適計算結果を表示させる。同時に、該当するボックスのデータシート内に最適化計算結果を表示させる。
【0058】
以上の処理手順が実行されることにより、LP最適化計算が行われ、結果がユーザに提供される。
ここで、具体例を挙げて計画最適化計算処理について説明する。図7は、2種類の原料を混合する生産プロセスの生産プロセスフローを示した図である。
【0059】
この生産プロセスの生産プロセスフローは、2種類の原料(コーヒーと牛乳)を混ぜ合わせて2種類の製品レギュラーとカフェオレを製造する工程を示しており、原料購入(コーヒーエキス)41、原料購入(牛乳)42、混合装置45、製品(レギュラー)47および製品(カフェオレ)49のボックスと、原料購入(コーヒーエキス)41と混合装置45を接続するコーヒー43、原料購入(牛乳)42と混合装置45を接続する牛乳44、混合装置45と製品(レギュラー)47を接続するレギュラー46および混合装置45と製品(カフェオレ)49を接続するカフェオレ48のラインによって表現されている。
【0060】
このような生産プロセスフローが作成されると、生産プロセスフローのボックス情報、ライン情報から、ボックスの属性に応じたテーブルシートが自動作成される。
図8は、2種類の原料を混合するボックスのテーブルシートを示した図である。図は、混合装置45のテーブルシート例を示している。
【0061】
生産プロセスフローのボックス属性(組立装置)から、混合装置用のテーブル50が自動作成され、ライン情報からテーブルの行に出力側にレギュラー51aとカフェオレ51bが設定され、テーブルの列に入力側のコーヒー52と牛乳53が自動設定される。この状態から、ユーザが処理データ、たとえば、混合のバランス情報54として、レギュラーは、コーヒーと牛乳が0.9と0.1、カフェオレは、コーヒーと牛乳が0.6と0.4の割合で混合されることを設定する。また、必要であれば、下限55や上限56なども設定する。ここでは、カフェオレの下限55として、150が設定され、カフェオレは最低でも150は生産しなければならないことが設定されている。また、用役57として、原料であるコーヒーエキスと牛乳それぞれのコスト4円と6円が設定され、牛乳は購入上限58として、最高でも100しか買うことができないことが設定されている。さらに、図の例では、LP最適解(コーヒー解、牛乳解)もテーブルに設定できるようにテーブルが作成されている。
【0062】
このように設定が終了し、LP計算処理が開始されると、全てのボックスに対し、FROM_NAME(L)_TO情報が作成され、かつ対応するボックスのテーブル内の該当する処理データと併せて、LP式の元となる情報を作成する。たとえば、原料購入41であれば、
NAME:コーヒーエキス
属性:原料購入
出力:コーヒーエキス_コーヒー_混合装置
コスト:4
といった情報が作成される。
【0063】
同様に、混合装置45であれば、
NAME:混合装置
属性:組立装置
出力:混合装置_レギュラー_レギュラー_製品(レギュラー),
混合装置_カフェオレ_製品(カフェオレ)
入力1:コーヒーエキス_コーヒー_混合装置_1,0.9,0.6
入力2:牛乳_牛乳_混合装置0.1,0.4
入力上限:なし、100
入力下限:なし、なし
出力上限:なし、なし
出力下限:なし、150
という情報が作成される。
【0064】
続いて、抽出された情報に基づき、LP式用の内部変数を生成して変数データファイルとLP式ファイルを作成する。
この例では、変換データとして、内部変数X1、X2、X3およびX4をそれぞれ、ライン(レギュラー)48、ライン(カフェオレ)46、ライン(コーヒー)43、ライン(牛乳)44に対応させ、
X1,混合装置_レギュラー_レギュラー
X2,混合装置_カフェオレ_製品(カフェオレ)
X3,原料購入(コーヒーエキス)_コーヒー_混合装置
X4,原料購入(牛乳)_牛乳_混合装置 ・・・(1)
と作成する。
【0065】
LPモデルは、これらの内部変数とテーブルデータ51の処理データを用いて、
Maximize
100X1+120X2−6X4−4X3
Subject To
s1:0.9X1 +0.6X2 −X3 = 0
s2:0.1X1 +0.4X2 −X4 = 0
Bounds
150<=X2
X4<=100
End ・・・(2)
と作成される。
【0066】
このようなLPモデルに基づき最適化演算が行われ、LP解データが設定される。この場合、LP解データとして、X1=400.00、X2=150.00、X3=450.00、X4=100.00が算出される。
【0067】
算出されたLP解データを図7に示した生産プロセスフローのラインに重ねて表示する。図9は、2種類の原料を混合する生産プロセスの生産プロセスフローに最適化計算結果を付加した表示例を示した図である。
【0068】
最適化計算結果により得られたLP解データは、対応するライン上に表示される。図の例では、レギュラー46のLP解(X1=400.00)、カフェオレ48のLP解(X2=150.00)、コーヒー43のLP解(X3=450.00)および牛乳44のLP解(X4=100.00)が表示されている。
【0069】
(2)マテバラ展開処理
次に、マテバラ展開処理部140の処理について説明する。図10は、本実施の形態のマテバラ展開処理手順を示したフローチャートである。
【0070】
マテバラ展開指示により、処理が開始される。
[ステップS21] 対象生産プロセスフローの製品ボックスに入力される要素、すなわち、変換データファイル内のFROM_NAME(L)_TOを検索し、TOに製品販売ボックスの名称を持つ入力要素を検索する。そして、全ての入力要素に対し、順に以下の処理を行う。
【0071】
[ステップS22] ステップS21によって検索された入力要素のうちの1つを生産プロセスフローの逆展開を行うための引当要素とし、LP解データよりその引当値を設定する。
【0072】
[ステップS23] 変換データファイル133から引当要素に対応する変換データ(引当要素をNAME(L)とし、TOに現ボックスが設定される変換データ)を読み出し、変換データFROM_NAME(L)_TOより、FROMに設定される次のボックスの名称を取得する。FROMに設定されるボックスは、生産プロセスフローの前工程を示すボックスであり、逆展開時には、次のボックスになる。
【0073】
[ステップS24] ステップS23で取得した次のボックスの名称に基づき、プロセスフローデータを検索し、その属性情報を取得する。
[ステップS25] ボックスの属性に応じて処理を分岐させる。ボックスの属性が分解装置、組立装置、混合など、データシートを持つ属性である場合には、処理をステップS26へ進める。ボックスの属性が分岐など、データシートを持たない属性である場合には、処理をステップS27へ進める。ボックスの属性が原料購入である場合には、処理をステップS28へ進める。
【0074】
[ステップS26] ボックスの属性がデータシートを持つ(データシート有)の場合のマテバラ演算処理を行い、当該ボックスに関するマテバラ展開データを算出し、マテバラ展開ファイルに設定する。そして、ステップS23に戻り、引当要素に関する逆展開時の次のボックスを検索する手順からの処理を行う。
【0075】
[ステップS27] ボックスの属性がデータシートを持たない(データシート無)の場合のマテバラ演算処理を行い、当該ボックスに関するマテバラ展開データを算出し、マテバラ展開ファイルに設定する。そして、ステップS23に戻り、引当要素に関する逆展開時の次のボックスを検索する手順からの処理を行う。
【0076】
[ステップS28] ボックスの属性が原料購入である場合、このボックスが逆展開における最終のボックスであるので、この引当要素に関するマテバラ展開終了と判断する。そして、他の製品ボックス入力要素があるかどうかを判定する。ある場合には、ステップS22に戻って、まだマテバラ展開が行われていない引当要素のマテバラ展開を行う。ない場合には、マテバラ展開を終了する。
【0077】
以上の処理手順が実行されることにより、製品ボックスの入力要素ごと(製品別)に、次ボックスが「原料購入」に到達するまで、変換データに基づいてステップS23からステップS27までの処理が繰り返され、生産プロセスフローが逆展開される。同時に、ステップS26およびステップS27のマテバラ演算処理によって、ボックスごとにマテバラ計算が行われ、製品を構成する中間製品の必要量が算出される。
【0078】
ここで、ステップS26およびステップS27のマテバラ演算について説明する。
図11は、本実施の形態のデータシート有のマテバラ演算処理の処理手順を示したフローチャートである。
【0079】
[ステップS261] 前処理で指定されたボックス(引当要素に関する逆展開における次のボックス)の名称に基づき、ボックスに入力される全ての入力要素を検索する。すなわち、変換データファイルを検索し、FROM_NAME(L)_TOにおいて、TOに指定されたボックス名称が設定される入力要素を検索する。そして、全ての入力要素に対し、順に以下の処理を行う。
【0080】
[ステップS262] ステップS261によって検索された入力要素のうちの1つを引当要素によって引き当てられる被引当要素とし、LP解データよりその引当基礎値を設定する。
【0081】
[ステップS263] 当該ボックスのデータシートより、要素に対する処理データを取得する。
[ステップS264] 被引当要素に関するマテバラ計算処理を行う。すなわち、引当要素の引当値、ステップS262で設定された引当基礎値およびステップS263で読み出した処理データを用いて、被引当要素の被引当値を算出する。算出結果は、マテバラ展開データに設定する。
【0082】
[ステップS265] ステップS262で設定された被引当要素を次回逆展開における引当要素、ステップS264で算出した被引当要素の被引当値を引当要素の引当値に設定する。
【0083】
[ステップS266] 他のボックス入力要素があるかどうかを調べる。ある場合には、ステップS262に戻って、マテバラ演算が行われていない次のボックス入力要素のマテバラ演算処理を行う。ない場合には、このボックスに関するマテバラ演算を終了する。
【0084】
図12は、本実施の形態のデータシート無のマテバラ演算処理の処理手順を示したフローチャートである。
[ステップS271] 前処理で指定されたボックスの名称に基づき、ボックスに入力される全ての入力要素を検索する。すなわち、変換データファイルを検索し、FROM_NAME(L)_TOにおいて、TOに指定されたボックス名称が設定される入力要素を検索する。そして、全ての入力要素に対し、順に以下の処理を行う。
【0085】
[ステップS272] ステップS271によって検索された入力要素のうちの1つを引当要素によって引き当てられる被引当要素とし、LP解データよりその引当基礎値を設定する。
【0086】
[ステップS273] 被引当要素に関するマテバラ計算処理を行う。すなわち、引当要素の引当値と、ステップS272で設定された引当基礎値を用いて、被引当要素の被引当値を算出する。算出結果は、マテバラ展開データに設定する。
【0087】
[ステップS274] ステップS272で設定された被引当要素を次回逆展開における引当要素、ステップS273で算出した被引当要素の被引当値を引当要素の引当値に設定する。
【0088】
[ステップS275] 他のボックス入力要素があるかどうかを調べる。ある場合には、ステップS272に戻って、次のボックス入力要素のマテバラ演算処理を行う。ない場合には、このボックスに関するマテバラ演算を終了する。
【0089】
以上の処理手順が実行されることにより、マテバラ展開によって検索されたボックスに対するマテバラ計算が行われ、製品を構成する被引当要素の量が算出される。
さらに、マテバラ展開によって、原料から製品までの工程途中で生成され、製品を構成する中間製品の必要量から中間製品を構成する中間製品原料の必要量を求めることができる。
【0090】
ここで、具体例を挙げて計画最適化計算処理について説明する。
図9に示した2種類の原料(コーヒーと牛乳)を混合する生産プロセスフローの最適化計算結果表示では、それぞれの原料の総使用量と、生成される製品の量は表示される。しかしながら、各製品別の原料使用量は算出されない。そこで、マテバラ展開を行って、製品別の生成プロセスフローを作成し、LP解データから逆算すれば、レギュラーとカフェオレのそれぞれの原料使用量を算出することができる。
【0091】
たとえば、製品(カフェオレ)49からマテバラ展開を行うと、前のブロックは混合装置45が検索される。混合装置45から出力されるカフェオレ(48)の必要量は、150.00であることから、混合装置45に入力するコーヒー43と牛乳44の総使用量150.00が算出される。混合装置45のカフェオレの混合割合は、テーブル50を参照するとコーヒー0.6に対し牛乳0.4であることから、原料使用量は、コーヒー90.00、牛乳60.00であることが算出される。レギュラーについても同様に算出することができる。
【0092】
この例は簡単なので、混合装置45のテーブル50から容易に算出することができるが、モデルが大きくなると算出することは困難である。
以下、実際の適用例に近い生産プロセスフローの例で説明する。
【0093】
図13は、石油精製の生産プロセスフローの一例を示した図である。説明に関係するブロックおよびラインにのみ番号を付し、説明を行う。
原材料ブロックである原油201と、製品ブロックである製品207と、装置ブロックであるTOP202、PLAT206と、分岐ブロックであるTOPNB203、TOPSW204、TOPLPG205がラインによって接続されている。なお、図のラインの名称の前の数値は、LP解データである。
【0094】
各ラインの変換データは、それぞれ、ライン210が「X1=原油_CR1_TOP、原油_CR2_TOP、原油_CR3_TOP」になる。同様に、ライン211は「X2=TOP_SW_TOPSW」、ライン212は「X3=TOP_TNAP_TOPNB」、ライン213は「X4=TOPSW_SN_TOPNB」、ライン214は「X5=TOPNB_PNAP_PLAT」、ライン215は「X6=TOP_TLPG_TOPLPG」、ライン216は「X7=PLAT_PLPG_TOPLPG」、ライン217は「X8=TOPLPG_LPG_製品」、ライン218は「X9=TOPNB_NAP_製品」、ライン219は「X10=MIXG_GASO_製品」、ライン220は「X11=UNIF_KERO_製品」、ライン221は「X12=BLF_FUEL_製品」と表記される。
【0095】
この生産プロセスフローについて、製品別に原料使用量を算出する場合について説明する。
まず、製品207の入力要素を検索する。変換データのTOが製品の変換データを検索すると、「X1=TOPLPG_LPG_製品」、「X2=TOPNB_NAP_製品」、「X3=MIXG_GASO_製品」、「X4=UNIF_KERO_製品」、「X5=BLF_FUEL_製品」が検索される。すなわち、入力要素として製品LPG、NAP、GASO、KEROおよびFUELがある。
【0096】
以下、製品LPGに関するマテバラ展開を行うとして説明する。
入力要素(X1=TOPLPG_LPG=製品)を生産プロセスフローの逆展開を行う引当要素とし、LP解データ(X1=34.61)よりその引当値を設定すると、引当要素とその値は、
TOPLPG_LPG_製品=34.61 ・・・(3)
となる。
【0097】
次に、引当要素から逆展開における次のボックス(変換データのFROM)の名称「TOP_LPG」を取得し、プロセスフローデータより属性情報(分岐)を取得する。属性が分岐であるので、ボックス「TOPLPG」はデータシートを持たない。
【0098】
続いて、ボックス「TOPLPG」205の入力要素を検索する。TOに設定する変換データを検索すると、「X6=TOP_TLPG_TOPLPG」、「X7=PLAT_PLPG_TOPLPG」が抽出される。抽出された、「TOP_TLPG_TOPLPG」および「PLAT_PLPG_TOPLPG」が被引当要素になり、そのLP解データが被引当基礎値になる。ここでは、被引当要素「TOP_TLPG_TOPLPG」について被引当基礎値として、TOP_TLPG_TOPLPG=23.84が得られる。TOPLPGでは、被引当値は、被引当基礎値と同じになることから、被引当値は、TOP_TLPG_TOPLPG=23.84になる。
【0099】
以降、TOP_TLPG_TOPLPGを引当要素、23.84を引当値として次ブロックを検索し、同様の処理を行う。
以上の処理を繰り返すことによって、最終の製品LPGが生成されるまでに生成される中間製品の必要量と、原料から中間製品を経て製品LPGまでの生成プロセスフローを得ることができる。また、生成プロセスフローのラインを生産プロセスフロー上にハイライト表示することにより、所定の製品が生成されるまでのプロセスが容易にわかるようになる。さらに、このとき、中間製品の必要量などを表示することにより、ユーザに詳細な生成プロセス情報を提供することができる。
【0100】
このように変換データに基づき、中間製品をたどりマテバラ展開を行うと、製品LPGのマテバラ構成図が作成できる。マテバラ構成図を用いて、さらに中間製品における原料の必要量を算出することができる。
【0101】
図14は、本実施の形態のマテバラ構成図の一例を示した図である。なお、図で()内の数値はLP計算結果、<>はLP計算時のテーブルデータ(収率)を示す。
変換データを逆にたどっていくことにより、製品LPGの生成プロセスにおいて生成される中間製品が逆展開される。
【0102】
TOP装置を例にとってみると、TLPGは、原料C1、C2、C3がTOP装置を経由してできる。TOP装置におけるTLPGの収率は、0.03、0.02、0(C1、C2、C3)であり、TOP装置への入力量は、583.7、316.3、100(C1、C2、C3)になる。
【0103】
ここで、TOP装置で生成されたTLPGは、全てが製品LPGになるので、TLPG23.84を生成するために使用したCR1、CR2、CR3の使用量CR1’、CR2’、CR3’は、
CR1’=583.7*0.03 = 17.51
CR2’=316.3*0.02 = 6.33
CR3’=100*0 = 0
になる。
【0104】
一方、TOP装置におけるTNAPの収率は、0.19、0.25、0.13(C1、C2、C3)であり、TOP装置への入力量は、583.7、316.3、100(C1、C2、C3)になる。
【0105】
ここで、TOP装置で生成されたTNAPは、一部が製品LPGになるので、TNAP10.42を生成するために使用したCR1、CR2、CR3の使用量CR1’、CR2’、CR3’は、
CR1’=(583.7*0.19)*10.42/(583.7*0.19+316*0.25+100*0.13) = 5.89
CR2’=(316.3*0.25)*10.42/(583.7*0.19+316*0.25+100*0.13) = 4.05
CR3’=(100*0.13)*10.42/(583.7*0.19+316*0.25+100*0.13) = 5.89
になる。
【0106】
このように、マテバラ計算は、構成図とそれぞれ経由する装置の収率データを用いてLP計算結果である製品の生成量から、製品を構成する中間製品の必要量を求め、そこで求められた中間製品の必要量から、中間製品を構成する中間製品・原料の必要量を求めるといった、再帰的な計算を繰り返すことによって行われる。
【0107】
上記の説明では、プロセス産業への適用例を示したが、本発明の適用はプロセス産業に限定されない。たとえば、加工系の生産計画最適化にも適用することができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、計画最適化装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0108】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0109】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0110】
(付記1) 生産プロセスフローを作成し、線形計画法を用いて前記生産プロセスフローを最適化する生産計画を求める生産計画プログラムにおいて、
コンピュータを、
生産プロセスにおける各種要素を処理する処理工程と、前記処理工程を経由する前記各種要素の流れとによって前記生産プロセスを表した生産プロセスフローを記述するプロセスフローデータと、前記処理工程で行われる処理に関連する処理データとを用いて、前記生産プロセスフロー上の前記要素の流れを変数とする変換データとともに前記生産プロセスフローのLPモデルを作成するLPモデル作成手段、
前記LPモデルに基づいて最適化計算を行ってLP解データを算出する最適化計算手段、
前記生産プロセスフローにおける所定の要素の流れを前記変換データに基づいて製品から逆展開して製品別の生成プロセスフローを作成するとともに、前記LP解データから逆算して前記所定の要素の量を算出するフロー逆展開手段、
として機能させることを特徴とする生産計画プログラム。
【0111】
(付記2) 前記LPモデル作成手段において、
前記変換データとして、前記プロセスフローデータに基づき、全ての前記要素の流れを、該要素の流れの起点となる処理工程の識別情報、前記要素の流れの識別情報および該要素の流れの終点となる処理工程の識別情報を持つ変数に変換して生成する、
処理を実行させることを特徴とする付記1記載の生産計画プログラム。
【0112】
(付記3) 前記LPモデル作成手段において、
前記変換データと前記処理データとを用いてLP形式に基づく式データを生成し、前記要素の流れを変数に含むLPモデルを作成する、
処理を実行させることを特徴とする付記1記載の生産計画プログラム。
【0113】
(付記4) 前記フロー逆展開手段において、
最終段の製品を示す前記処理工程を検索対象の処理工程とし、
前記検索対象の処理工程を終点側に設定する前記変換データを検索し、
検索された前記変換データから逆展開における次処理工程を特定し、
特定された前記次処理工程を前記検索対象の処理工程として前記変換データの検索からの処理を前記次処理工程が検索されなくなるまで繰り返す、
処理を実行させることを特徴とする付記1記載の生産計画プログラム。
【0114】
(付記5) 前記フロー逆展開手段において、
前記生産プロセスフローを前記製品から逆展開する際に、前記処理工程ごとに、前記処理工程の出力要素の必要量を生成するために必要な前記処理工程の入力要素の量を順次逆算することにより、前記製品を構成するために必要な前記処理工程の入力要素の必要量を算出する、
処理を実行させることを特徴とする付記1記載の生産計画プログラム。
【0115】
(付記6) 前記フロー逆展開手段において、
前記製品別の生成プロセスフローに基づき、前記処理工程ごとに算出される前記処理工程の入力要素の必要量に含まれる原料の量を算出する、
処理を実行させることを特徴とする付記1記載の生産計画プログラム。
【0116】
(付記7) 前記コンピュータを、
前記処理工程をブロック、および前記要素の流れを前記ブロックを連結する連結線として、前記生産プロセスフローの表示画面を作成するGUI処理手段、
として機能させることを特徴とする付記1記載の生産計画プログラム。
【0117】
(付記8) 前記GUI処理手段において、
前記フロー逆展開手段によって作成された前記任意の製品に関する前記製品別の生成プロセスフローに基づき、前記製品別の生成プロセスフローに含まれる前記要素の流れに対応する前記生産プロセスフロー表示画面上の前記連結線をハイライト表示する、
処理を実行させることを特徴とする付記7記載の生産計画プログラム。
【0118】
(付記9) 前記GUI処理手段において、
前記フロー逆展開手段によって前記LP解データから逆算された前記製品別の生成プロセスフローの前記処理工程ごとの前記入力要素の必要量を、前記生産プロセスフローの表示画面上に重ねて表示する、
処理を実行させることを特徴とする付記8記載の生産計画プログラム。
【0119】
(付記10) 生産プロセスフローを作成し、線形計画法を用いて前記生産プロセスフローを最適化する生産計画を求める生産計画方法において、
LPモデル作成手段が、生産プロセスにおける各種要素を処理する処理工程と、前記処理工程を経由する前記各種要素の流れとによって前記生産プロセスを表した生産プロセスフローを記述するプロセスフローデータと、前記処理工程で行われる処理に関連する処理データとを用いて、前記生産プロセスフロー上の前記要素の流れを変数とする変換データとともに前記生産プロセスフローのLPモデルを作成し、
最適化計算手段が、前記LPモデルに基づいて最適化計算を行ってLP解データを算出し、
フロー逆展開手段が、前記生産プロセスフローにおける所定の要素の流れを前記変換データに基づいて製品から逆展開して製品別の生成プロセスフローを作成するとともに、前記LP解データから逆算して前記所定の要素の量を算出する、
手順を有することを特徴とする生産計画方法。
【0120】
(付記11) 生産プロセスフローを作成し、線形計画法を用いて前記生産プロセスフローを最適化する生産計画を求める生産計画装置において、
生産プロセスにおける各種要素を処理する処理工程と、前記処理工程を経由する前記各種要素の流れとによって前記生産プロセスを表した生産プロセスフローを記述するプロセスフローデータと、前記処理工程で行われる処理に関連する処理データとを用いて、前記生産プロセスフロー上の前記要素の流れを変数とする変換データとともに前記生産プロセスフローのLPモデルを作成するLPモデル作成手段と、
前記LPモデルに基づいて最適化計算を行ってLP解データを算出する最適化計算手段と、
前記生産プロセスフローにおける所定の要素の流れを前記変換データに基づいて製品から逆展開して製品別の生成プロセスフローを作成するとともに、前記LP解データから逆算して前記所定の要素の量を算出するマテリアルバランス展開手段と、
を有することを特徴とする生産計画装置。
【図面の簡単な説明】
【0121】
【図1】実施の形態に適用される発明の概念図である。
【図2】生産計画の最適化処理におけるデータの流れを示した図である。
【図3】LPモデルの作成を示した図である。
【図4】実施の形態の計画最適化システムの構成例を示した図である。
【図5】本実施の形態の計画最適化装置のハードウェア構成例を示すブロック図である。
【図6】本実施の形態のLP計算処理手順を示したフローチャートである。
【図7】2種類の原料を混合する生産プロセスの生産プロセスフローを示した図である。
【図8】2種類の原料を混合するボックスのテーブルシートを示した図である。
【図9】2種類の原料を混合する生産プロセスの生産プロセスフローに最適化計算結果を付加した表示例を示した図である。
【図10】本実施の形態のマテバラ展開処理手順を示したフローチャートである。
【図11】本実施の形態のデータシート有のマテバラ演算処理の処理手順を示したフローチャートである。
【図12】本実施の形態のデータシート無のマテバラ演算処理の処理手順を示したフローチャートである。
【図13】石油精製の生産プロセスフローの一例を示した図である。
【図14】本実施の形態のマテバラ構成図の一例を示した図である。
【図15】化学プロセスにおける生産プロセスフローの一例を示した図である。
【図16】従来のLPモデル作成方法を示した図である。
【符号の説明】
【0122】
11 LPモデル作成手段
12 最適化計算手段
13 フロー逆展開手段
21 プロセスフローデータファイル
22 テーブルデータファイル
23 LPモデルファイル
24 変換データファイル
25 LP解ファイル
26 フロー逆展開ファイル
【技術分野】
【0001】
本発明は生産計画プログラムに関し、特に生産プロセスフローを作成し、線形計画法(以下、LPとする)を用いて生産プロセスフローを最適化する生産計画を求める生産計画プログラムに関する。
【背景技術】
【0002】
従来、一または複数種類の原材料から所定の製品を生成する、たとえば、石油・化学系などのプロセス産業では、原料購入から製品販売までの生産プロセスの計画立案にLPを利用してきた。LPとは、金額の評価にて「ものの流れ」のバランスを最適に決定することができる数理最適化技術であり、LPを利用した生産計画立案では、原料調達から生産、製品販売までの一連の流れを一つの生産プロセスフローで表現し、「金額」の評価が最も高くなるようにそのフロー上の「もの」の流れを決定する。
【0003】
LPを用いた生産計画の立案を支援する計画最適化システムでは、ユーザによるGUI(Graphical User Interface)を用いた生産プロセスフローの作成、フロー上の処理手段に関する情報を設定するテーブルデータの入力をサポートし、作成された生産プロセスフローとテーブルデータから最適化計算処理を行って計算結果をユーザに提示する。
【0004】
生産プロセスフローの作成では、生産プロセスの中で処理が行われる時点を表すボックスを組み合わせ、連結線で結ぶことによって、生産プロセスを表現する。図15は、化学プロセスにおける生産プロセスフローの一例を示した図である。
【0005】
各ボックスは化学プロセスの生産プロセスにおける処理手段を表しており、ボックスA(901)は原料購入、ボックスB(902)は分解装置、ボックスC(903)は混合、ボックスD(904)は組立装置およびボックスE(905)は製品販売を表す。また、連結線はものの流れを表しており、ボックスA(901)とボックスB(902)を接続する連結線906は、原料1の流れを示し、ボックスB(902)から出力される連結線907、908、909は、それぞれ中間製品1、2、3の流れを示す。そして、ボックスごとに展開されるテーブルデータに値を入力し、ユーザによる設定が終了する。
【0006】
次の最適化計算処理では、モデリングシステムが、ボックスの入力と出力の関係式を作成し、全てのボックスの関係式をまとめ、LPモデルを作成する。図16は、従来のLPモデル作成方法を示した図である。
【0007】
LPモデル生成では、各ボックスへの入力がどのように変化して出力となるかといった関係を定式化する。たとえば、ボックスB(902)について入力Xin(原料1)と、出力Xout1(中間製品1)、Xout2(中間製品2)およびXout3(中間製品3)の関係を定式化した関係式911を得る。同様に、次のボックスC(903)について、入力Yin1(中間製品1)およびYin2(中間製品2)と、Yout1(製品1)、Yout2(製品2)およびYout3(製品3)の関係を定式化する。さらに、処理の連続性を表現するため、入力と他のボックス出力との関係を示すYin1=Xout1およびYin2=Xout2を加え、関係式912を得る。このように算出された各処理手段における関係式をまとめ、LPモデルが作成される。
【0008】
そして、作成されたLPモデルに基づき、利益を最大とする最適解を算出し、ユーザに計算結果を提示する。
実際の生産プロセスの計画立案では、モデルの作成と修正および最適化計算を繰り返すシミュレーションが行われ、計画の最適化が図られる。しかしながら、シミュレーションでは、モデルを少しでも変更すると、膨大な時間を要する最適化計算を再び行わなければならないという問題点があった。そこで、本願発明者は、最適化計算結果に対して任意の値を変更して他値への影響を求めるようなシミュレーションを行う場合、当初の生産計画モデルを変更することなくシミュレーションを行うことが可能な生産計画システムを提案している(たとえば、特許文献1参照)。
【特許文献1】特開2000−254893号公報(図1)
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかし、従来のLPを利用した生産計画では、最適化計算で生成される計画データ(LPモデル、LP最適化計算結果)から製品別の生産過程を分解することが難しいという問題点があった。
【0010】
生産計画が作成されると、生産計画に基づき、様々な意思決定が行われる。たとえば、販売価格の決定や損益シミュレーションに使用する製品別計画原価は、生産プロセスフローより算出される製品別原料使用量、製品別装置運転量、製品別用役使用量などに基づき計算する。これらの製品別の各種要素の値は、製品ごとに描かれる生産工程をたどり、LP最適化計算結果から逆算しながら求める。たとえば、図15に示した生産プロセスフローにおいて、製品1に含まれる原料1の原料使用量は、ボックスC(903)の「混合」における製品1に含まれる中間製品1と中間製品2の量を算出し、次にボックスB(902)の「分解装置」における中間製品1と中間製品2に含まれる原料1の量を算出し、これらを合算することにより算出される。製品別装置運転量、製品別用役使用量などの算出についても同様であり、製品が生成されるまでの工程を逆にたどって算出する。
【0011】
しかしながら、LPモデルを用いた最適化計算では、プロセス全体に要する原料の使用量などが算出されるが、製品別の原料使用量や、中間製品の使用量などのプロセス情報は生成されない。そこで、最適化計算に使用されたLPモデルを利用して製品別の生成プロセス情報を算出することが望ましいが、図16に示すように、LP式データは、ボックスの入力と出力の関係式の集合であり、ボックス間の関係を表していないため、生産プロセスフローを逆にたどることは難しいという問題がある。たとえば、関係式912によって表されるボックスC(903)の前ボックスはボックスB(902)であるが、関係式912から前ボックスに関する情報を得ることはできない。関係式912のYin1=Xout1からXout1を出力に持つボックスを検索することは不可能ではないが、ボックスが膨大な数となる実際のプロセスにおいてこのような処理を行うことは現実的ではない。
【0012】
したがって、従来、このように生産プロセスフローを逆にたどり、LP最適化計算結果から製品別のプロセス情報を逆算する逆展開処理は人手に任されており、人手によって製品ごとに逆生産工程を描き、逆算しながら製品別原料使用量など所望の値を求めていた。このため、算出に膨大な時間と費用が必要となっていた。さらに、逆算するためには、各製品がどのような工程を持ち、どのような関係で処理が行われているのかについての知識など、長年の経験と専門知識が必要であり、算出できる人員が限られてしまったという問題もある。
【0013】
また、プロセス産業のように、製品ごとの生産プロセスが固定的ではない場合、環境の変化に応じて最適な生産プロセスフローが随時設定され、ボックスの入力と出力の関係式も変化し、結果として製品別の生成プロセス情報も変化する。しかしながら、生産プロセスフローの逆展開を人手に任せていたのでは、環境の変化に応じて瞬時に製品別の生成プロセス情報を算出することは難しかった。
【0014】
本発明はこのような点に鑑みてなされたものであり、生産プロセスフローの逆展開が可能な生産計画最適化のための生産計画プログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明では上記課題を解決するために、図1に示すような処理をコンピュータに実行させるための生産計画プログラムが提供される。本発明にかかる生産計画プログラムは、コンピュータをLPモデル作成手段11、最適化計算手段12およびフロー逆展開手段13として機能させることにより、以下の処理を実行させることができる。LPモデル作成手段11は、生産プロセスにおける各種要素を処理する処理工程と、この処理工程を経由する各種要素の流れによって生産プロセスを表した生産プロセスフローを記述するプロセスフローデータと、処理工程で行われる処理に関連する処理データとを用いて、この生産プロセスフロー上の要素の流れを変数とする変換データと、この生産プロセスフローのLPモデルを作成する。次に、最適化計算手段12は、作成されたLPモデルに基づいて最適化計算を行ってLP解データを求める。そして、フロー逆展開手段13は、変換データに基づいて、生産プロセスフローにおける所定の要素の流れを製品から逆展開して製品別の生成プロセスフローを作成するとともに、LP解データから逆算して所定の要素の量を算出する。
【0016】
このような生産計画プログラムがコンピュータによって実行されると、コンピュータは、プロセスフローデータファイル21に格納される対象のプロセスフローデータ(処理工程と要素の流れで生産プロセスフローが記述される)と、テーブルデータファイル22に格納される対象生産プロセスフローの処理データに基づき、LPモデルの作成を行う。ここでは、当該生産プロセスフローを要素の流れを変数とする変換データを作成して変換データファイル24に格納し、当該生産プロセスフローのLPモデルを作成してLPモデルファイル23に格納する。続いて、LPモデルに基づき最適化計算を行ってLP解データを算出する。次に、変換データファイル24から対象の生産プロセスフローの変換データを読み出し、変換データに基づいて、生産プロセスフローにおける所定の要素の流れを製品から逆展開して製品別の生成プロセスフローを作成する。これとともに、製品別の生成プロセスフローにしたがって、LP解ファイル25から順次逆算することによって、製品別の生成プロセスフローにおける所定の要素の量を算出する。
【発明の効果】
【0017】
本発明の生産計画プログラムにより実行される生産計画の最適化処理では、生産プロセスフロー上の要素の流れを変数とする変換データをLPモデルの情報と同時に持つことができるので、変換データを参照すれば、任意の製品の生成プロセスフローを逆にたどるとともに、LP解データから逆算することによって製品別の生産過程を分解し、製品の生成プロセスフローにおける所望の要素の量を算出することができる。すなわち、変換データに基づいて生産プロセスフローを製品別に逆展開し、製品別の中間製品使用量や原料使用量など、製品別の生成プロセス情報を自動的に算出することができるという利点がある。
【0018】
さらに、このように計画データに基づき製品別原料使用量などの生成プロセス情報を自動算出できることから、計画の変更に際しても、変更後の生成プロセス情報をすぐに取得し、各種意思決定に利用することが可能となる。
【発明を実施するための最良の形態】
【0019】
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図1は、実施の形態に適用される発明の概念図である。
【0020】
本発明に係る生産計画プログラムは、コンピュータに接続する記憶手段に、プロセスフローデータファイル21、テーブルデータファイル22、LPモデルファイル23、変換データファイル24、LP解ファイル25およびフロー逆展開ファイル26を記憶しておき、コンピュータをLPモデル作成手段11、最適化計算手段12およびフロー逆展開手段13として機能させることにより、ユーザに生産計画の最適化環境を提供する。
【0021】
LPモデル作成手段11は、対象の生産プロセスを、生産プロセス工程を表した生産プロセスフローを記述するプロセスフローデータをプロセスフローデータファイル21から読み出すとともに、ボックス関連データがテーブル形式で格納されるテーブルデータファイル22から、対象生産プロセスフローのボックス関連データを読み出し、変換データとLPモデルを作成する。生産プロセスフローは、生産プロセスにおける処理工程と、処理工程を経由する各種要素の流れ(ものの流れ)によって生産プロセスを表している。ユーザに提供する生産プロセスフローの表示画面では、処理工程はボックス、要素の流れはボックスを連結する連結線で表すので、以下、処理工程をボックス、要素の流れを連結線とよぶ。変換データは、生産プロセスフロー上の各種要素の流れ変数とするデータであって、作成後、変換データファイル24に格納する。LPモデルは、変換データとテーブルデータを用いてLP形式に基づいて生成される式データの集合体であり、作成後、LPモデルファイル23に格納する。
【0022】
最適化計算手段12は、対象の生産プロセスフローについてLPモデル作成手段11によって作成されたLPモデルに基づき数理最適化計算を行ってLP解データを算出し、LP解ファイル25に格納する。このとき、必要に応じて、プロセスフローデータファイル21やテーブルデータファイル22の該当箇所に最適化計算結果を反映する。
【0023】
フロー逆展開手段13は、製品がどの装置を通り中間製品をどれだけ使用しているか、また、その中間製品がどの原料をどれだけ使用しているかなどを、変換データファイル24の関連する変換データ、LP解ファイル25の対象製品のLP解データおよびテーブルデータファイル22の関連処理データを参照して算出する。すなわち、変換データに基づいて、生産プロセスフローを製品から原料まで逆順にたどり、製品別の生成プロセスフローを作成する。これとともに、LP解データとテーブルデータに基づき、製品別の生成プロセスフローの連結線における必要量(マテリアルバランス)を逆計算することによって製品別に各種生成プロセス量を算出する。たとえば、中間製品使用量、原料使用量、在庫使用量、装置使用量、用役使用量などを算出することができる。算出結果は、フロー逆展開ファイル26へ格納する。以下、このように、生産プロセスフローを逆展開し、LP解データから逆算して製品別の各種使用量を算出する処理をマテリアルバランス(以下、マテバラとする)展開と言う。
【0024】
次に、記憶手段に格納されるファイルについて説明する。
プロセスフローデータファイル21は、生産プロセスにおける処理手段を示すボックスと、ボックスを連結しボックス間の各種要素の流れを示す連結線とによって生産プロセスを表現した生産プロセスフローを記述するデータで、ボックス情報と連結線情報を有する。ボックス情報として、ボックスごとに定義される生産プロセスフロー内でのユニークな名称と、その属性(用意された処理属性の中から選択)に関する情報を持つ。また、連結線情報として、連結線によって表される要素の名称と、接続元ボックス名と、接続先ボックス名に関する情報を持つ。連結線情報によって、「接続元ボックス名」から「接続先ボックス名」に向かう「要素の名称」の流れが定義される。
【0025】
テーブルデータファイル22は、ボックスおいて実行される処理に関連する処理データを含むボックス関連データをテーブル形式で格納する。テーブルは、一般的な表処理ソフトウェアの仕様に基づき、たとえば、表に関するシート情報と、表の項目に関するセル情報とによって設定されるデータを管理する。ボックスごとに別シートを用意し、シートごとにボックスへ入力するボックス入力線(入力側連結線)を列、ボックス出力線(出力側連結線)を行とするマトリックスを形成する。テーブルデータファイル22には、そのシート情報とセル情報が設定される。また、テーブルに設定されるデータ(たとえば、分解装置における収率や購入コスト、販売価格など)は、シート情報、セル情報を設定し、マッピング可能にする。
【0026】
LPモデルファイル23には、変換データファイル24とテーブルデータファイル22とに基づいて作成されるLPモデルに関するデータが格納される。LPモデルは、LP形式に基づいた式データとして作成される。
【0027】
変換データファイル24は、ボックスを連結する連結線を示した変換データを格納する。変換データは、連結線ごとに、「接続元ボックス名−(要素の)名称−接続先ボックス名」を含む変数として作成される。
【0028】
LP解ファイル25は、LPモデルに基づく最適化計算によって求められた最適化計算結果(LP解データ)を格納する。
フロー逆展開ファイル26は、変換データから逆展開して生成した製品別の生成プロセスフローと、最適化結果データから算出された、そのプロセス内の連結線におけるマテバラに関するデータを格納する。以下、フロー逆展開ファイルをマテバラ展開ファイルとも表記する。
【0029】
上記の構成による生産計画の最適化処理およびマテバラ展開処理について説明する。図2は、生産計画の最適化処理におけるデータの流れを示した図である。図で、実線は最適化計算処理におけるデータの流れを示しており、破線はマテバラ展開処理におけるデータの流れを示している。
【0030】
プロセスフローデータファイル21およびテーブルデータファイル22には、予めユーザが作成した生産プロセスフローを記述するためのプロセスフローデータ(構成データ)21aと、生産プロセスフロー上のボックスごとに作成されるテーブルデータ22aが格納されている。プロセスフローデータ21aは、全ボックスについて、その名称(NAME(B)と表す)と属性が設定され、全ての連結線について、どのボックスを接続元としているか(FROMと表す)、どのボックスを接続先としているか(TOと表す)および名称(NAME(L)とする)が設定されている。一方、テーブルデータ22aには、入力情報の必要なボックスに対して、セル情報、シート情報および処理情報が設定されている。データシートは、ボックスの属性によって形式が決定し、たとえば、原料購入、製品販売、分解装置、組立装置、混合などがそれぞれ固有の形式のデータシートを持つ。また、ボックスの属性によっては、データシート自体を持たないものもある。たとえば、分岐などは設定データを持たないため、データシートがない。
【0031】
LPモデル作成手段11では、プロセスフローデータ21aとテーブルデータ22aから変換データ24aとLPモデルデータ23aを作成する。変換データ24aは、決定変数であるものの流れを、FROM_NAME(L)_TOという形式で表す。LPモデルデータ23aは、変換データ24aとテーブルデータ22aの処理データからLP形式の式データとして作成する。具体例を挙げて説明する。図3は、LPモデルの作成を示した図である。生産プロセスフローは、図15と同じである。
【0032】
ボックスB(31)に関する変換データとして、プロセスフローデータから、入力側の連結線を表すFROM(=ボックスA)、TO(=ボックスC)、NAME(L)(=X)の変換データA_X_B(32a)と、同様に出力側の連結線を表すB_Y1_C(32b)、B_Y2_C(32c)およびB_Y3_D(32d)が設定される。また、ボックスC(34)に関する変換データとして、出力側の連結線を表すC_Z1_E(35a)、C_Z2_E(35b)およびC_Z3_E(35c)が設定される。なお、入力側は、ボックスB(31)の出力側と同じになる。
【0033】
LPモデル作成では、ボックスB(31)について、変換データ32a、32b、32c、32dと分解装置の処理データ(Y1:Y2:Y3=3A:5A:2A)を定式化し、LPモデルデータ(B_Y1_C=0.3A_X_B, B_Y2_C=0.5A_X_B, B_Y3_D=0.2A_X_B)33を作成する。同様に、ボックスC(34)について、LPモデルデータ(C_Z1_E=0.4B_Y1_C+0.2B_Y2_C, C_Z2_E=0.2B_Y1_C+0.3B_Y2_C, C_Z3_E=0.2B_Y1_C+0.5B_Y2_C)を作成する。
【0034】
このようにして作成されたLPモデルデータは、図16のLPモデルデータと比べて、式データの中に「ものの流れ」が含まれており、工程を逆にたどることができることがわかる。
【0035】
図2に戻って説明する。
最適化計算手段12では、LPモデル作成手段11で作成されたLPモデルデータに基づき最適化計算を行って、LP解データ25aを算出する。LP解データは、目的関数値と各決定変数の値を持つ。最適化計算結果を生産プロセスフローおよびテーブルデータに反映させて提示することによって、ユーザに最適解を知らせる。
【0036】
フロー逆展開手段13では、全ての製品のマテバラ展開処理を行う。マテバラ展開処理では、変換データ24aに基づきプロセスフローデータ21aを製品から逆展開して、製品別の生成プロセスフローを作成する。そして、LP解データ25aに基づき、テーブルデータ22aを参照して、製品別の生成プロセスフローにおける連結線の所定の要素の量を算出する。たとえば、図3の例で、製品Z1に含まれる原料Xの原料使用量を求める場合で説明する。変換データ(C_Z1_E、B_Y1_C、B_Y2_C、A_X_B)に基づき、製品Z1については、原料、ボックスB(31)、ボックスC(34)、製品という生成プロセスフローが得られる。この生成プロセスフローに基づき、LP解データを用いて逆算すれば、製品Z1に関する原料Xの原料使用量を算出することができる。同様の手順で、最終製品別の生成プロセス情報、中間製品使用量、在庫使用量、装置使用量、用役使用量を算出することができる。
【0037】
このように、LPモデル作成時に、ものの流れを変数とする変換データをLPモデル情報と同時に持つことにより、変換データに基づき、製品別に製品から原料までの工程を逆にたどって製品別の生成プロセスフローを作成することができる。また、製品別の生成プロセスフローに基づき最適化計算によって得られたLP解データから逆算して中間製品使用量、原料使用量、などの製品別の生成プロセス情報を算出することが可能となる。
【0038】
このようにして算出された製品別の生成プロセス情報を用いて、たとえば、製品別計画原価を自動で算出することが可能となり、容易かつ、専門知識を持たない場合であっても製品計画原価を求めることができるようになる。さらに、自動で行うことができることから、環境の変化にも容易に対応し、製品別計画原価などを正確に把握することが可能となる。
【0039】
以下、実施の形態を、プロセス産業の生産計画を最適化する計画最適化システムに適用した場合を例に図面を参照して詳細に説明する。図4は、実施の形態の計画最適化システムの構成例を示した図である。
【0040】
実施の形態の計画最適化システムは、生産プロセスフローを作成し、LPを用いた最適化計算を行って、生産計画の最適化を支援する計画最適化装置100に、最適化計算処理を行う数理計画ソルバー150、ユーザ200に計算結果を提示するモニタ108およびユーザ200によるデータ設定や指示などの入力を受け付ける入力装置109が内部バスまたはネットワークを介して接続する。また、ネットワークを介して損益シミュレータや、各部門の担当者の端末装置と接続することもできる。
【0041】
計画最適化装置100は、GUI処理部110、計画最適化計算処理部120、記憶装置130およびマテバラ展開処理部140を有する。
GUI処理部110は、GUI機能を用いてモニタ108および入力装置109を制御する。ユーザ200は、GUI処理部110の制御によってモニタ108に表示されるGUIに従って生産プロセスフローおよびテーブルデータの作成と設定を行う。設定データは入力装置109を介してGUI処理部110へ入力され、GUI処理部110は、設定データを表示画面に反映するとともに、プロセスフローデータとテーブルデータを作成し、記憶装置130へ格納する。
【0042】
計画最適化計算処理部120は、GUI処理部110を介して設定された生産プロセスフローおよびテーブルデータに基づき、生産プロセスフローに関する変換データおよびLPモデルデータを作成し、最適化計算を行ってLP最適解を算出する。なお、最適化計算は、数理計画ソルバー150に依頼し、最適化計算結果は、GUI処理部110を介してユーザ200に通知する。
【0043】
記憶装置130は、GUI処理部110、計画最適化計算処理部120およびマテバラ展開処理部140からアクセス可能な記憶手段であり、プロセスフローデータファイル、テーブルデータファイル、LPモデルファイル、変換データファイル、LP解ファイル、マテバラ展開ファイルなどが格納される。
【0044】
マテバラ展開処理部140は、変換データ、テーブルデータおよびLP解データに基づき製品別のマテバラ展開を行って、原料使用量、在庫使用量、装置使用量、用役使用量などのマテバラ展開データを生成する。マテバラ展開データは、GUI処理部110を介してユーザ200に通知する。算出されたマテバラ展開データは、たとえば、製品計画原価算出などに用いることができる。
【0045】
数理計画ソルバー150は、LPモデルデータに基づき、最適化計算を行う。
ここで、計画最適化装置100のハードウェア構成について説明する。図5は、本実施の形態の計画最適化装置のハードウェア構成例を示すブロック図である。
【0046】
計画最適化装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、通信インタフェース106が接続されている。
【0047】
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションのプログラムが格納される。グラフィック処理装置104には、モニタ108が接続されており、CPU101からの命令に従って画像をモニタ108の画面に表示させる。入力インタフェース105には、キーボード109aやマウス109bが接続されており、キーボード109aやマウス109bから送られてくる信号を、バス107を介してCPU101に送信する。通信インタフェース106は、ネットワークに接続されており、ネットワークを介して端末装置との間でデータの送受信を行う。
【0048】
このようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、計画最適化計算処理部120とマテバラ展開処理部140の処理について、詳細に説明する。
【0049】
(1)計画最適化計算処理
まず、計画最適化計算処理部120の処理について説明する。図6は、本実施の形態のLP計算処理手順を示したフローチャートである。図では、GUI処理部110による生産プロセスフローとテーブルデータ作成処理からの手順を示している。
【0050】
[ステップS11] 開始指示によって、初期設定プログラムを起動し、データ入力環境を準備する。モニタ108には、生産プロセスフローの作成画面が表示され、ユーザ200の設定情報の入力待ち状態になる。
【0051】
[ステップS12] ユーザ200によって生産プロセスフローのボックスと連結線(以下、ラインとする)の設定情報が入力されると、これに基づき、モニタ108に設定情報に基づく生産プロセスフローを表示し、プロセスフローデータを作成する。プロセスフローデータは、プロセスフローデータファイル131に格納する。
【0052】
[ステップS13] ユーザ200によってボックスが指示されると、このボックスの属性に応じてデータシートを作成する。データシートは、ボックスの属性(原料購入、製品販売、分解装置、組立装置、混合)ごとに形式が決められており、これをモニタ108に表示し、ユーザ200の設定情報を待つ。なお、テーブルのセルには、ボックス名称NAME(B)、入力線FROM_NAME(L)、出力線NAME(L)_TOを用いたアドレスを付加する。
【0053】
[ステップS14] ユーザ200によって各データシートのテーブルにデータが設定されると、これをモニタ108に表示するとともに、テーブルデータを作成し、テーブルデータファイル132に設定する。
【0054】
以上の処理手順が実行されることにより、プロセスフローデータファイル131とテーブルデータファイル132が設定される。続いて、これらを用いた最適化計算が開始される。
【0055】
[ステップS15] ステップS12で作成されたプロセスフローデータに基づき、全てのボックスに対して変換データの元となるFROM_NAME(L)_TO情報を作成し、かつ対応するボックスのデータシート内の該当する処理データ(数値)を取り出して、LP式の元となる情報を作成する。
【0056】
[ステップS16] ステップS15によって作成されたLP式の元となる情報を用いて、FROM_NAME(L)_TOに対応するLP式用の内部変数を生成し、変換データを作成し、変換データファイル133に設定するとともに、内部変数によるLP式データを作成し、LPモデルファイル134に設定する。
【0057】
[ステップS17] 数理計画ソルバー150を呼び出し、最適化計算を行う。最適化計算結果として、LP解ファイル135が設定される。
[ステップS18] ステップS16で設定された変換データファイル133と、ステップS17で作成されたLP解ファイル135を用いて、ステップS12でモニタ108に表示された生産プロセスフロー上に、最適計算結果を表示させる。同時に、該当するボックスのデータシート内に最適化計算結果を表示させる。
【0058】
以上の処理手順が実行されることにより、LP最適化計算が行われ、結果がユーザに提供される。
ここで、具体例を挙げて計画最適化計算処理について説明する。図7は、2種類の原料を混合する生産プロセスの生産プロセスフローを示した図である。
【0059】
この生産プロセスの生産プロセスフローは、2種類の原料(コーヒーと牛乳)を混ぜ合わせて2種類の製品レギュラーとカフェオレを製造する工程を示しており、原料購入(コーヒーエキス)41、原料購入(牛乳)42、混合装置45、製品(レギュラー)47および製品(カフェオレ)49のボックスと、原料購入(コーヒーエキス)41と混合装置45を接続するコーヒー43、原料購入(牛乳)42と混合装置45を接続する牛乳44、混合装置45と製品(レギュラー)47を接続するレギュラー46および混合装置45と製品(カフェオレ)49を接続するカフェオレ48のラインによって表現されている。
【0060】
このような生産プロセスフローが作成されると、生産プロセスフローのボックス情報、ライン情報から、ボックスの属性に応じたテーブルシートが自動作成される。
図8は、2種類の原料を混合するボックスのテーブルシートを示した図である。図は、混合装置45のテーブルシート例を示している。
【0061】
生産プロセスフローのボックス属性(組立装置)から、混合装置用のテーブル50が自動作成され、ライン情報からテーブルの行に出力側にレギュラー51aとカフェオレ51bが設定され、テーブルの列に入力側のコーヒー52と牛乳53が自動設定される。この状態から、ユーザが処理データ、たとえば、混合のバランス情報54として、レギュラーは、コーヒーと牛乳が0.9と0.1、カフェオレは、コーヒーと牛乳が0.6と0.4の割合で混合されることを設定する。また、必要であれば、下限55や上限56なども設定する。ここでは、カフェオレの下限55として、150が設定され、カフェオレは最低でも150は生産しなければならないことが設定されている。また、用役57として、原料であるコーヒーエキスと牛乳それぞれのコスト4円と6円が設定され、牛乳は購入上限58として、最高でも100しか買うことができないことが設定されている。さらに、図の例では、LP最適解(コーヒー解、牛乳解)もテーブルに設定できるようにテーブルが作成されている。
【0062】
このように設定が終了し、LP計算処理が開始されると、全てのボックスに対し、FROM_NAME(L)_TO情報が作成され、かつ対応するボックスのテーブル内の該当する処理データと併せて、LP式の元となる情報を作成する。たとえば、原料購入41であれば、
NAME:コーヒーエキス
属性:原料購入
出力:コーヒーエキス_コーヒー_混合装置
コスト:4
といった情報が作成される。
【0063】
同様に、混合装置45であれば、
NAME:混合装置
属性:組立装置
出力:混合装置_レギュラー_レギュラー_製品(レギュラー),
混合装置_カフェオレ_製品(カフェオレ)
入力1:コーヒーエキス_コーヒー_混合装置_1,0.9,0.6
入力2:牛乳_牛乳_混合装置0.1,0.4
入力上限:なし、100
入力下限:なし、なし
出力上限:なし、なし
出力下限:なし、150
という情報が作成される。
【0064】
続いて、抽出された情報に基づき、LP式用の内部変数を生成して変数データファイルとLP式ファイルを作成する。
この例では、変換データとして、内部変数X1、X2、X3およびX4をそれぞれ、ライン(レギュラー)48、ライン(カフェオレ)46、ライン(コーヒー)43、ライン(牛乳)44に対応させ、
X1,混合装置_レギュラー_レギュラー
X2,混合装置_カフェオレ_製品(カフェオレ)
X3,原料購入(コーヒーエキス)_コーヒー_混合装置
X4,原料購入(牛乳)_牛乳_混合装置 ・・・(1)
と作成する。
【0065】
LPモデルは、これらの内部変数とテーブルデータ51の処理データを用いて、
Maximize
100X1+120X2−6X4−4X3
Subject To
s1:0.9X1 +0.6X2 −X3 = 0
s2:0.1X1 +0.4X2 −X4 = 0
Bounds
150<=X2
X4<=100
End ・・・(2)
と作成される。
【0066】
このようなLPモデルに基づき最適化演算が行われ、LP解データが設定される。この場合、LP解データとして、X1=400.00、X2=150.00、X3=450.00、X4=100.00が算出される。
【0067】
算出されたLP解データを図7に示した生産プロセスフローのラインに重ねて表示する。図9は、2種類の原料を混合する生産プロセスの生産プロセスフローに最適化計算結果を付加した表示例を示した図である。
【0068】
最適化計算結果により得られたLP解データは、対応するライン上に表示される。図の例では、レギュラー46のLP解(X1=400.00)、カフェオレ48のLP解(X2=150.00)、コーヒー43のLP解(X3=450.00)および牛乳44のLP解(X4=100.00)が表示されている。
【0069】
(2)マテバラ展開処理
次に、マテバラ展開処理部140の処理について説明する。図10は、本実施の形態のマテバラ展開処理手順を示したフローチャートである。
【0070】
マテバラ展開指示により、処理が開始される。
[ステップS21] 対象生産プロセスフローの製品ボックスに入力される要素、すなわち、変換データファイル内のFROM_NAME(L)_TOを検索し、TOに製品販売ボックスの名称を持つ入力要素を検索する。そして、全ての入力要素に対し、順に以下の処理を行う。
【0071】
[ステップS22] ステップS21によって検索された入力要素のうちの1つを生産プロセスフローの逆展開を行うための引当要素とし、LP解データよりその引当値を設定する。
【0072】
[ステップS23] 変換データファイル133から引当要素に対応する変換データ(引当要素をNAME(L)とし、TOに現ボックスが設定される変換データ)を読み出し、変換データFROM_NAME(L)_TOより、FROMに設定される次のボックスの名称を取得する。FROMに設定されるボックスは、生産プロセスフローの前工程を示すボックスであり、逆展開時には、次のボックスになる。
【0073】
[ステップS24] ステップS23で取得した次のボックスの名称に基づき、プロセスフローデータを検索し、その属性情報を取得する。
[ステップS25] ボックスの属性に応じて処理を分岐させる。ボックスの属性が分解装置、組立装置、混合など、データシートを持つ属性である場合には、処理をステップS26へ進める。ボックスの属性が分岐など、データシートを持たない属性である場合には、処理をステップS27へ進める。ボックスの属性が原料購入である場合には、処理をステップS28へ進める。
【0074】
[ステップS26] ボックスの属性がデータシートを持つ(データシート有)の場合のマテバラ演算処理を行い、当該ボックスに関するマテバラ展開データを算出し、マテバラ展開ファイルに設定する。そして、ステップS23に戻り、引当要素に関する逆展開時の次のボックスを検索する手順からの処理を行う。
【0075】
[ステップS27] ボックスの属性がデータシートを持たない(データシート無)の場合のマテバラ演算処理を行い、当該ボックスに関するマテバラ展開データを算出し、マテバラ展開ファイルに設定する。そして、ステップS23に戻り、引当要素に関する逆展開時の次のボックスを検索する手順からの処理を行う。
【0076】
[ステップS28] ボックスの属性が原料購入である場合、このボックスが逆展開における最終のボックスであるので、この引当要素に関するマテバラ展開終了と判断する。そして、他の製品ボックス入力要素があるかどうかを判定する。ある場合には、ステップS22に戻って、まだマテバラ展開が行われていない引当要素のマテバラ展開を行う。ない場合には、マテバラ展開を終了する。
【0077】
以上の処理手順が実行されることにより、製品ボックスの入力要素ごと(製品別)に、次ボックスが「原料購入」に到達するまで、変換データに基づいてステップS23からステップS27までの処理が繰り返され、生産プロセスフローが逆展開される。同時に、ステップS26およびステップS27のマテバラ演算処理によって、ボックスごとにマテバラ計算が行われ、製品を構成する中間製品の必要量が算出される。
【0078】
ここで、ステップS26およびステップS27のマテバラ演算について説明する。
図11は、本実施の形態のデータシート有のマテバラ演算処理の処理手順を示したフローチャートである。
【0079】
[ステップS261] 前処理で指定されたボックス(引当要素に関する逆展開における次のボックス)の名称に基づき、ボックスに入力される全ての入力要素を検索する。すなわち、変換データファイルを検索し、FROM_NAME(L)_TOにおいて、TOに指定されたボックス名称が設定される入力要素を検索する。そして、全ての入力要素に対し、順に以下の処理を行う。
【0080】
[ステップS262] ステップS261によって検索された入力要素のうちの1つを引当要素によって引き当てられる被引当要素とし、LP解データよりその引当基礎値を設定する。
【0081】
[ステップS263] 当該ボックスのデータシートより、要素に対する処理データを取得する。
[ステップS264] 被引当要素に関するマテバラ計算処理を行う。すなわち、引当要素の引当値、ステップS262で設定された引当基礎値およびステップS263で読み出した処理データを用いて、被引当要素の被引当値を算出する。算出結果は、マテバラ展開データに設定する。
【0082】
[ステップS265] ステップS262で設定された被引当要素を次回逆展開における引当要素、ステップS264で算出した被引当要素の被引当値を引当要素の引当値に設定する。
【0083】
[ステップS266] 他のボックス入力要素があるかどうかを調べる。ある場合には、ステップS262に戻って、マテバラ演算が行われていない次のボックス入力要素のマテバラ演算処理を行う。ない場合には、このボックスに関するマテバラ演算を終了する。
【0084】
図12は、本実施の形態のデータシート無のマテバラ演算処理の処理手順を示したフローチャートである。
[ステップS271] 前処理で指定されたボックスの名称に基づき、ボックスに入力される全ての入力要素を検索する。すなわち、変換データファイルを検索し、FROM_NAME(L)_TOにおいて、TOに指定されたボックス名称が設定される入力要素を検索する。そして、全ての入力要素に対し、順に以下の処理を行う。
【0085】
[ステップS272] ステップS271によって検索された入力要素のうちの1つを引当要素によって引き当てられる被引当要素とし、LP解データよりその引当基礎値を設定する。
【0086】
[ステップS273] 被引当要素に関するマテバラ計算処理を行う。すなわち、引当要素の引当値と、ステップS272で設定された引当基礎値を用いて、被引当要素の被引当値を算出する。算出結果は、マテバラ展開データに設定する。
【0087】
[ステップS274] ステップS272で設定された被引当要素を次回逆展開における引当要素、ステップS273で算出した被引当要素の被引当値を引当要素の引当値に設定する。
【0088】
[ステップS275] 他のボックス入力要素があるかどうかを調べる。ある場合には、ステップS272に戻って、次のボックス入力要素のマテバラ演算処理を行う。ない場合には、このボックスに関するマテバラ演算を終了する。
【0089】
以上の処理手順が実行されることにより、マテバラ展開によって検索されたボックスに対するマテバラ計算が行われ、製品を構成する被引当要素の量が算出される。
さらに、マテバラ展開によって、原料から製品までの工程途中で生成され、製品を構成する中間製品の必要量から中間製品を構成する中間製品原料の必要量を求めることができる。
【0090】
ここで、具体例を挙げて計画最適化計算処理について説明する。
図9に示した2種類の原料(コーヒーと牛乳)を混合する生産プロセスフローの最適化計算結果表示では、それぞれの原料の総使用量と、生成される製品の量は表示される。しかしながら、各製品別の原料使用量は算出されない。そこで、マテバラ展開を行って、製品別の生成プロセスフローを作成し、LP解データから逆算すれば、レギュラーとカフェオレのそれぞれの原料使用量を算出することができる。
【0091】
たとえば、製品(カフェオレ)49からマテバラ展開を行うと、前のブロックは混合装置45が検索される。混合装置45から出力されるカフェオレ(48)の必要量は、150.00であることから、混合装置45に入力するコーヒー43と牛乳44の総使用量150.00が算出される。混合装置45のカフェオレの混合割合は、テーブル50を参照するとコーヒー0.6に対し牛乳0.4であることから、原料使用量は、コーヒー90.00、牛乳60.00であることが算出される。レギュラーについても同様に算出することができる。
【0092】
この例は簡単なので、混合装置45のテーブル50から容易に算出することができるが、モデルが大きくなると算出することは困難である。
以下、実際の適用例に近い生産プロセスフローの例で説明する。
【0093】
図13は、石油精製の生産プロセスフローの一例を示した図である。説明に関係するブロックおよびラインにのみ番号を付し、説明を行う。
原材料ブロックである原油201と、製品ブロックである製品207と、装置ブロックであるTOP202、PLAT206と、分岐ブロックであるTOPNB203、TOPSW204、TOPLPG205がラインによって接続されている。なお、図のラインの名称の前の数値は、LP解データである。
【0094】
各ラインの変換データは、それぞれ、ライン210が「X1=原油_CR1_TOP、原油_CR2_TOP、原油_CR3_TOP」になる。同様に、ライン211は「X2=TOP_SW_TOPSW」、ライン212は「X3=TOP_TNAP_TOPNB」、ライン213は「X4=TOPSW_SN_TOPNB」、ライン214は「X5=TOPNB_PNAP_PLAT」、ライン215は「X6=TOP_TLPG_TOPLPG」、ライン216は「X7=PLAT_PLPG_TOPLPG」、ライン217は「X8=TOPLPG_LPG_製品」、ライン218は「X9=TOPNB_NAP_製品」、ライン219は「X10=MIXG_GASO_製品」、ライン220は「X11=UNIF_KERO_製品」、ライン221は「X12=BLF_FUEL_製品」と表記される。
【0095】
この生産プロセスフローについて、製品別に原料使用量を算出する場合について説明する。
まず、製品207の入力要素を検索する。変換データのTOが製品の変換データを検索すると、「X1=TOPLPG_LPG_製品」、「X2=TOPNB_NAP_製品」、「X3=MIXG_GASO_製品」、「X4=UNIF_KERO_製品」、「X5=BLF_FUEL_製品」が検索される。すなわち、入力要素として製品LPG、NAP、GASO、KEROおよびFUELがある。
【0096】
以下、製品LPGに関するマテバラ展開を行うとして説明する。
入力要素(X1=TOPLPG_LPG=製品)を生産プロセスフローの逆展開を行う引当要素とし、LP解データ(X1=34.61)よりその引当値を設定すると、引当要素とその値は、
TOPLPG_LPG_製品=34.61 ・・・(3)
となる。
【0097】
次に、引当要素から逆展開における次のボックス(変換データのFROM)の名称「TOP_LPG」を取得し、プロセスフローデータより属性情報(分岐)を取得する。属性が分岐であるので、ボックス「TOPLPG」はデータシートを持たない。
【0098】
続いて、ボックス「TOPLPG」205の入力要素を検索する。TOに設定する変換データを検索すると、「X6=TOP_TLPG_TOPLPG」、「X7=PLAT_PLPG_TOPLPG」が抽出される。抽出された、「TOP_TLPG_TOPLPG」および「PLAT_PLPG_TOPLPG」が被引当要素になり、そのLP解データが被引当基礎値になる。ここでは、被引当要素「TOP_TLPG_TOPLPG」について被引当基礎値として、TOP_TLPG_TOPLPG=23.84が得られる。TOPLPGでは、被引当値は、被引当基礎値と同じになることから、被引当値は、TOP_TLPG_TOPLPG=23.84になる。
【0099】
以降、TOP_TLPG_TOPLPGを引当要素、23.84を引当値として次ブロックを検索し、同様の処理を行う。
以上の処理を繰り返すことによって、最終の製品LPGが生成されるまでに生成される中間製品の必要量と、原料から中間製品を経て製品LPGまでの生成プロセスフローを得ることができる。また、生成プロセスフローのラインを生産プロセスフロー上にハイライト表示することにより、所定の製品が生成されるまでのプロセスが容易にわかるようになる。さらに、このとき、中間製品の必要量などを表示することにより、ユーザに詳細な生成プロセス情報を提供することができる。
【0100】
このように変換データに基づき、中間製品をたどりマテバラ展開を行うと、製品LPGのマテバラ構成図が作成できる。マテバラ構成図を用いて、さらに中間製品における原料の必要量を算出することができる。
【0101】
図14は、本実施の形態のマテバラ構成図の一例を示した図である。なお、図で()内の数値はLP計算結果、<>はLP計算時のテーブルデータ(収率)を示す。
変換データを逆にたどっていくことにより、製品LPGの生成プロセスにおいて生成される中間製品が逆展開される。
【0102】
TOP装置を例にとってみると、TLPGは、原料C1、C2、C3がTOP装置を経由してできる。TOP装置におけるTLPGの収率は、0.03、0.02、0(C1、C2、C3)であり、TOP装置への入力量は、583.7、316.3、100(C1、C2、C3)になる。
【0103】
ここで、TOP装置で生成されたTLPGは、全てが製品LPGになるので、TLPG23.84を生成するために使用したCR1、CR2、CR3の使用量CR1’、CR2’、CR3’は、
CR1’=583.7*0.03 = 17.51
CR2’=316.3*0.02 = 6.33
CR3’=100*0 = 0
になる。
【0104】
一方、TOP装置におけるTNAPの収率は、0.19、0.25、0.13(C1、C2、C3)であり、TOP装置への入力量は、583.7、316.3、100(C1、C2、C3)になる。
【0105】
ここで、TOP装置で生成されたTNAPは、一部が製品LPGになるので、TNAP10.42を生成するために使用したCR1、CR2、CR3の使用量CR1’、CR2’、CR3’は、
CR1’=(583.7*0.19)*10.42/(583.7*0.19+316*0.25+100*0.13) = 5.89
CR2’=(316.3*0.25)*10.42/(583.7*0.19+316*0.25+100*0.13) = 4.05
CR3’=(100*0.13)*10.42/(583.7*0.19+316*0.25+100*0.13) = 5.89
になる。
【0106】
このように、マテバラ計算は、構成図とそれぞれ経由する装置の収率データを用いてLP計算結果である製品の生成量から、製品を構成する中間製品の必要量を求め、そこで求められた中間製品の必要量から、中間製品を構成する中間製品・原料の必要量を求めるといった、再帰的な計算を繰り返すことによって行われる。
【0107】
上記の説明では、プロセス産業への適用例を示したが、本発明の適用はプロセス産業に限定されない。たとえば、加工系の生産計画最適化にも適用することができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、計画最適化装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0108】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0109】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0110】
(付記1) 生産プロセスフローを作成し、線形計画法を用いて前記生産プロセスフローを最適化する生産計画を求める生産計画プログラムにおいて、
コンピュータを、
生産プロセスにおける各種要素を処理する処理工程と、前記処理工程を経由する前記各種要素の流れとによって前記生産プロセスを表した生産プロセスフローを記述するプロセスフローデータと、前記処理工程で行われる処理に関連する処理データとを用いて、前記生産プロセスフロー上の前記要素の流れを変数とする変換データとともに前記生産プロセスフローのLPモデルを作成するLPモデル作成手段、
前記LPモデルに基づいて最適化計算を行ってLP解データを算出する最適化計算手段、
前記生産プロセスフローにおける所定の要素の流れを前記変換データに基づいて製品から逆展開して製品別の生成プロセスフローを作成するとともに、前記LP解データから逆算して前記所定の要素の量を算出するフロー逆展開手段、
として機能させることを特徴とする生産計画プログラム。
【0111】
(付記2) 前記LPモデル作成手段において、
前記変換データとして、前記プロセスフローデータに基づき、全ての前記要素の流れを、該要素の流れの起点となる処理工程の識別情報、前記要素の流れの識別情報および該要素の流れの終点となる処理工程の識別情報を持つ変数に変換して生成する、
処理を実行させることを特徴とする付記1記載の生産計画プログラム。
【0112】
(付記3) 前記LPモデル作成手段において、
前記変換データと前記処理データとを用いてLP形式に基づく式データを生成し、前記要素の流れを変数に含むLPモデルを作成する、
処理を実行させることを特徴とする付記1記載の生産計画プログラム。
【0113】
(付記4) 前記フロー逆展開手段において、
最終段の製品を示す前記処理工程を検索対象の処理工程とし、
前記検索対象の処理工程を終点側に設定する前記変換データを検索し、
検索された前記変換データから逆展開における次処理工程を特定し、
特定された前記次処理工程を前記検索対象の処理工程として前記変換データの検索からの処理を前記次処理工程が検索されなくなるまで繰り返す、
処理を実行させることを特徴とする付記1記載の生産計画プログラム。
【0114】
(付記5) 前記フロー逆展開手段において、
前記生産プロセスフローを前記製品から逆展開する際に、前記処理工程ごとに、前記処理工程の出力要素の必要量を生成するために必要な前記処理工程の入力要素の量を順次逆算することにより、前記製品を構成するために必要な前記処理工程の入力要素の必要量を算出する、
処理を実行させることを特徴とする付記1記載の生産計画プログラム。
【0115】
(付記6) 前記フロー逆展開手段において、
前記製品別の生成プロセスフローに基づき、前記処理工程ごとに算出される前記処理工程の入力要素の必要量に含まれる原料の量を算出する、
処理を実行させることを特徴とする付記1記載の生産計画プログラム。
【0116】
(付記7) 前記コンピュータを、
前記処理工程をブロック、および前記要素の流れを前記ブロックを連結する連結線として、前記生産プロセスフローの表示画面を作成するGUI処理手段、
として機能させることを特徴とする付記1記載の生産計画プログラム。
【0117】
(付記8) 前記GUI処理手段において、
前記フロー逆展開手段によって作成された前記任意の製品に関する前記製品別の生成プロセスフローに基づき、前記製品別の生成プロセスフローに含まれる前記要素の流れに対応する前記生産プロセスフロー表示画面上の前記連結線をハイライト表示する、
処理を実行させることを特徴とする付記7記載の生産計画プログラム。
【0118】
(付記9) 前記GUI処理手段において、
前記フロー逆展開手段によって前記LP解データから逆算された前記製品別の生成プロセスフローの前記処理工程ごとの前記入力要素の必要量を、前記生産プロセスフローの表示画面上に重ねて表示する、
処理を実行させることを特徴とする付記8記載の生産計画プログラム。
【0119】
(付記10) 生産プロセスフローを作成し、線形計画法を用いて前記生産プロセスフローを最適化する生産計画を求める生産計画方法において、
LPモデル作成手段が、生産プロセスにおける各種要素を処理する処理工程と、前記処理工程を経由する前記各種要素の流れとによって前記生産プロセスを表した生産プロセスフローを記述するプロセスフローデータと、前記処理工程で行われる処理に関連する処理データとを用いて、前記生産プロセスフロー上の前記要素の流れを変数とする変換データとともに前記生産プロセスフローのLPモデルを作成し、
最適化計算手段が、前記LPモデルに基づいて最適化計算を行ってLP解データを算出し、
フロー逆展開手段が、前記生産プロセスフローにおける所定の要素の流れを前記変換データに基づいて製品から逆展開して製品別の生成プロセスフローを作成するとともに、前記LP解データから逆算して前記所定の要素の量を算出する、
手順を有することを特徴とする生産計画方法。
【0120】
(付記11) 生産プロセスフローを作成し、線形計画法を用いて前記生産プロセスフローを最適化する生産計画を求める生産計画装置において、
生産プロセスにおける各種要素を処理する処理工程と、前記処理工程を経由する前記各種要素の流れとによって前記生産プロセスを表した生産プロセスフローを記述するプロセスフローデータと、前記処理工程で行われる処理に関連する処理データとを用いて、前記生産プロセスフロー上の前記要素の流れを変数とする変換データとともに前記生産プロセスフローのLPモデルを作成するLPモデル作成手段と、
前記LPモデルに基づいて最適化計算を行ってLP解データを算出する最適化計算手段と、
前記生産プロセスフローにおける所定の要素の流れを前記変換データに基づいて製品から逆展開して製品別の生成プロセスフローを作成するとともに、前記LP解データから逆算して前記所定の要素の量を算出するマテリアルバランス展開手段と、
を有することを特徴とする生産計画装置。
【図面の簡単な説明】
【0121】
【図1】実施の形態に適用される発明の概念図である。
【図2】生産計画の最適化処理におけるデータの流れを示した図である。
【図3】LPモデルの作成を示した図である。
【図4】実施の形態の計画最適化システムの構成例を示した図である。
【図5】本実施の形態の計画最適化装置のハードウェア構成例を示すブロック図である。
【図6】本実施の形態のLP計算処理手順を示したフローチャートである。
【図7】2種類の原料を混合する生産プロセスの生産プロセスフローを示した図である。
【図8】2種類の原料を混合するボックスのテーブルシートを示した図である。
【図9】2種類の原料を混合する生産プロセスの生産プロセスフローに最適化計算結果を付加した表示例を示した図である。
【図10】本実施の形態のマテバラ展開処理手順を示したフローチャートである。
【図11】本実施の形態のデータシート有のマテバラ演算処理の処理手順を示したフローチャートである。
【図12】本実施の形態のデータシート無のマテバラ演算処理の処理手順を示したフローチャートである。
【図13】石油精製の生産プロセスフローの一例を示した図である。
【図14】本実施の形態のマテバラ構成図の一例を示した図である。
【図15】化学プロセスにおける生産プロセスフローの一例を示した図である。
【図16】従来のLPモデル作成方法を示した図である。
【符号の説明】
【0122】
11 LPモデル作成手段
12 最適化計算手段
13 フロー逆展開手段
21 プロセスフローデータファイル
22 テーブルデータファイル
23 LPモデルファイル
24 変換データファイル
25 LP解ファイル
26 フロー逆展開ファイル
【特許請求の範囲】
【請求項1】
生産プロセスフローを作成し、線形計画法(LP;Linear Programming)を用いて前記生産プロセスフローを最適化する生産計画を求める生産計画プログラムにおいて、
コンピュータを、
生産プロセスにおける各種要素を処理する処理工程と、前記処理工程を経由する前記各種要素の流れとによって前記生産プロセスを表した生産プロセスフローを記述するプロセスフローデータと、前記処理工程で行われる処理に関連する処理データとを用いて、前記生産プロセスフロー上の前記要素の流れを変数とする変換データとともに前記生産プロセスフローのLPモデルを作成するLPモデル作成手段、
前記LPモデルに基づいて最適化計算を行ってLP解データを算出する最適化計算手段、
前記生産プロセスフローにおける所定の要素の流れを前記変換データに基づいて製品から逆展開して製品別の生成プロセスフローを作成するとともに、前記LP解データから逆算して前記所定の要素の量を算出するフロー逆展開手段、
として機能させることを特徴とする生産計画プログラム。
【請求項2】
前記LPモデル作成手段において、
前記変換データとして、前記プロセスフローデータに基づき、全ての前記要素の流れを、該要素の流れの起点となる処理工程の識別情報、前記要素の流れの識別情報および該要素の流れの終点となる処理工程の識別情報を持つ変数に変換して生成する、
処理を実行させることを特徴とする請求項1記載の生産計画プログラム。
【請求項3】
前記フロー逆展開手段において、
最終段の製品を示す前記処理工程を検索対象の処理工程とし、
前記検索対象の処理工程を終点側に設定する前記変換データを検索し、
検索された前記変換データから逆展開における次処理工程を特定し、
特定された前記次処理工程を前記検索対象の処理工程として前記変換データの検索からの処理を前記次処理工程が検索されなくなるまで繰り返す、
処理を実行させることを特徴とする請求項1記載の生産計画プログラム。
【請求項4】
前記フロー逆展開手段において、
前記生産プロセスフローを前記製品から逆展開する際に、前記処理工程ごとに、前記処理工程の出力要素の必要量を生成するために必要な前記処理工程の入力要素の量を順次逆算することにより、前記製品を構成するために必要な前記処理工程の入力要素の必要量を算出する、
処理を実行させることを特徴とする請求項1記載の生産計画プログラム。
【請求項5】
前記フロー逆展開手段において、
前記製品別の生成プロセスフローに基づき、前記処理工程ごとに算出される前記処理工程の入力要素の必要量に含まれる原料の量を算出する、
処理を実行させることを特徴とする請求項1記載の生産計画プログラム。
【請求項1】
生産プロセスフローを作成し、線形計画法(LP;Linear Programming)を用いて前記生産プロセスフローを最適化する生産計画を求める生産計画プログラムにおいて、
コンピュータを、
生産プロセスにおける各種要素を処理する処理工程と、前記処理工程を経由する前記各種要素の流れとによって前記生産プロセスを表した生産プロセスフローを記述するプロセスフローデータと、前記処理工程で行われる処理に関連する処理データとを用いて、前記生産プロセスフロー上の前記要素の流れを変数とする変換データとともに前記生産プロセスフローのLPモデルを作成するLPモデル作成手段、
前記LPモデルに基づいて最適化計算を行ってLP解データを算出する最適化計算手段、
前記生産プロセスフローにおける所定の要素の流れを前記変換データに基づいて製品から逆展開して製品別の生成プロセスフローを作成するとともに、前記LP解データから逆算して前記所定の要素の量を算出するフロー逆展開手段、
として機能させることを特徴とする生産計画プログラム。
【請求項2】
前記LPモデル作成手段において、
前記変換データとして、前記プロセスフローデータに基づき、全ての前記要素の流れを、該要素の流れの起点となる処理工程の識別情報、前記要素の流れの識別情報および該要素の流れの終点となる処理工程の識別情報を持つ変数に変換して生成する、
処理を実行させることを特徴とする請求項1記載の生産計画プログラム。
【請求項3】
前記フロー逆展開手段において、
最終段の製品を示す前記処理工程を検索対象の処理工程とし、
前記検索対象の処理工程を終点側に設定する前記変換データを検索し、
検索された前記変換データから逆展開における次処理工程を特定し、
特定された前記次処理工程を前記検索対象の処理工程として前記変換データの検索からの処理を前記次処理工程が検索されなくなるまで繰り返す、
処理を実行させることを特徴とする請求項1記載の生産計画プログラム。
【請求項4】
前記フロー逆展開手段において、
前記生産プロセスフローを前記製品から逆展開する際に、前記処理工程ごとに、前記処理工程の出力要素の必要量を生成するために必要な前記処理工程の入力要素の量を順次逆算することにより、前記製品を構成するために必要な前記処理工程の入力要素の必要量を算出する、
処理を実行させることを特徴とする請求項1記載の生産計画プログラム。
【請求項5】
前記フロー逆展開手段において、
前記製品別の生成プロセスフローに基づき、前記処理工程ごとに算出される前記処理工程の入力要素の必要量に含まれる原料の量を算出する、
処理を実行させることを特徴とする請求項1記載の生産計画プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2007−141000(P2007−141000A)
【公開日】平成19年6月7日(2007.6.7)
【国際特許分類】
【出願番号】特願2005−334949(P2005−334949)
【出願日】平成17年11月18日(2005.11.18)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成19年6月7日(2007.6.7)
【国際特許分類】
【出願日】平成17年11月18日(2005.11.18)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]