(57)【特許請求の範囲】
【請求項１】
各プラント構成機器に係る各変数毎に、シミュレーションにおいて拘束条件として扱われる固定値変数とするか、該シミュレーションによってその値が計算される非固定値変数とするかを任意に設定させると共に、前記固定値変数の値を任意に設定させる固定値設定手段と、
前記固定値設定手段によって設定された前記固定値変数を基点にして、前記各変数の計算順序を決定する計算順序決定手段と、
前記固定値設定手段によって設定された固定値変数の値を元に、前記計算順序決定手段で決定された計算順序に従って前記シミュレーションを実行することで、前記各非固定値変数の値を算出して出力する定常プラントシミュレータ手段と、
任意の２つの前記プラント構成機器間での任意の前記変数の接続関係を示す機器間接続情報を記憶する機器間接続情報記憶手段と、
前記各プラント構成機器内での計算実行条件を記憶する計算実行条件記憶手段とを有し、
前記計算順序決定手段は、
前記各固定値変数を確定変数としてその計算順序を決定する第１の処理を実行後、
最初は該第１の処理によって確定変数とされた各固定値変数を元に、その後は第３の処理によって新たな確定変数とされた非固定値変数を元に、前記機器間接続情報に基づいて、該確定変数に機器間接続されている前記非固定値変数を新たな確定変数としてその計算順序を決定する第２の処理を実行し、
該第２の処理によって新たな確定変数とされた非固定値変数に関して前記計算実行条件を満たす非固定値変数がある場合には、該非固定値変数を新たな確定変数としてその計算順序を決定する前記第３の処理を実行し、
全ての変数の計算順序が決定するまで前記第２の処理と第３の処理とを交互に繰り返し実行することを特徴とするプラント運用計画装置。
【請求項２】
前記各プラント構成機器内での計算実行条件には、該機器内の任意の入力／出力を決定する際の該機器内の他の２以上の入力／出力に係わるＡＮＤ／ＯＲ条件が含まれることを特徴とする請求項１記載のプラント運用計画装置。
【請求項３】
前記計算順序決定手段は、
前記第２又は第３の処理において新たな確定変数とした非固定値変数が、既に確定変数となっている場合には、エラーとすることを特徴とする請求項１または２記載のプラント運用計画装置。
【請求項４】
運転計画期間におけるプラントの各種需要量と各種供給量を予測して需給量予測値を生成する需給量予測手段を更に有し、
前記定常プラントシミュレータ手段で用いる前記固定値変数の値として、該需給量予測値も用いることを特徴とする請求項１〜３の何れかに記載のプラント運用計画装置。
【請求項５】
前記各変数は、前記プラント構成機器に関する入出力状態量であることを特徴とする請求項１〜４の何れかに記載のプラント運用計画装置。
【請求項６】
コンピュータを、
各プラント構成機器に係る各変数毎に、シミュレーションにおいて拘束条件として扱われる固定値変数とするか、該シミュレーションによってその値が計算される非固定値変数とするかを任意に設定させると共に、前記固定値変数の値を任意に設定させる固定値設定手段と、
任意の２つの前記プラント構成機器間での任意の前記変数の接続関係を示す機器間接続情報を記憶する機器間接続情報記憶手段と、
前記各プラント構成機器内での計算実行条件を記憶する計算実行条件記憶手段と、
前記固定値設定手段によって設定された前記固定値変数を基点にして、前記各変数の計算順序を決定する手段であって、前記各固定値変数を確定変数としてその計算順序を決定する第１の処理を実行後、最初は該第１の処理によって確定変数とされた各固定値変数を元に、その後は第３の処理によって新たな確定変数とされた非固定値変数を元に、前記機器間接続情報に基づいて、該確定変数に機器間接続されている前記非固定値変数を新たな確定変数としてその計算順序を決定する第２の処理を実行し、該第２の処理によって新たな確定変数とされた非固定値変数に関して前記計算実行条件を満たす非固定値変数がある場合には、該非固定値変数を新たな確定変数としてその計算順序を決定する前記第３の処理を実行し、全ての変数の計算順序が決定するまで前記第２の処理と第３の処理とを交互に繰り返し実行する計算順序決定手段と、
前記固定値設定手段によって設定された固定値変数の値を元に、前記計算順序決定手段で決定された計算順序に従って前記シミュレーションを実行することで、前記各非固定値変数の値を算出して出力する定常プラントシミュレータ手段、
として機能させる為のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電力、熱、蒸気、空気などのエネルギーを供給するプラントに係るプラント運用計画装置に関する。
【背景技術】
【０００２】
近年、プラントの運用は複雑化、大規模化しており、そのプラントの運転も時々刻々変動する操業条件を予測し、先を読んだプラント運用が求められるため、熟練したオペレータにとっても負荷の高い作業となっている。従って、オペレータによる任意の運転操作を行った際のプラントの運転状態をシミュレーションする技術は、プラントを最適な運転状態に維持するうえで非常に重要な技術として位置付けられている。しかし、これまでは任意ではなく決められたオペレータのプラントの運転操作に対してしか、プラントの運転状態をシミュレーションすることができなかった。
【０００３】
また、プラントを最適に運転するために、従来技術では、各プラント構成機器の特性上の制約や負荷種別毎の需給バランス等の制約条件、及びプラント運用費用や環境負荷量最小化、各プラント構成機器のメンテナンス費用最小化という問題に対し、定常プラントシミュレータと最適化技術とを組合せ、プラントの最適な運用状態を計算する、プラント最適運用システムが用いられている。
【０００４】
上記従来技術の定常プラントシミュレータや最適化技術に関して、例えば、特許文献１、２に記載の従来技術が存在する。
例えば特許文献１には、各負荷種別毎の各プラント構成機器の起動・停止状態や燃料注入量や機器制御量等を入力情報として、この入力情報を利用して各制御時間毎の各機器の入出力状態を計算する定常プラントシミュレータが開示されている。更に、この入力情報を生成して定常プラントシミュレータに入力する最適化部が開示されている。
【０００５】
また、特許文献２には、プラントの電力負荷、熱負荷等の各種負荷を予測して負荷予測値を生成する負荷予測手段１０と、負荷予測値を入力して入力情報（上記起動・停止状態や燃料注入量等）を生成する最適化手段２０と、この入力情報を利用して各制御時間毎の各機器の入出力状態を計算する定常プラントシミュレータ手段３０とが開示されている。
【０００６】
また、特許文献３にも、上記定常プラントシミュレータ等に関する開示がある。
あるいは、特許文献４には、予め記述された接続情報を基にして計算順序を決めることが出来るという技術が開示されている。
【０００７】
尚、本例の従来技術は上述した最適化を行う技術に限るものではない。主に定常プラントシミュレータに関するものとなる。定常プラントシミュレータは、様々なシミュレーション手法があってよいが、基本的に、シミュレーション対象となるプラント内の各種機器の入出力状態量等を変数とし、これら複数の変数のうちの一部の変数の値（入出力状態量等）を予め決めて設定し（固定値を設定し）、それ以外の変数の値がどの様になるのかをシミュレーションするものである。尚、固定値が設定された変数を固定値変数というものとする。
【０００８】
最も単純な例では、入力、出力が１つずつの１つの機器に関するものとなり、入力、出力の何れか一方の値を予め決めて設定し、それによって他方の値がどの様になるのかをシミュレーションするものである。勿論、入力−出力の関係式は、予め設定されており、この関係式と固定値とによりシミュレーションを行うことになる。但し、実際にはこの様な
単純な例にはならず、通常、シミュレーション対象は複数の機器が相互に接続されたプラントシステムであり、各機器は複数の入力又は出力を有する場合もあり、何らかの論理条件が課せられる場合もある（例えば、複数の入力全ての値が決まらないと、出力が算出できない等）。また、上記固定値変数も複数設定される場合が多い。
【０００９】
この為、オペレータ等は、所望の複数の固定値変数の設定を行った後、更に、この固定値変数の設定に応じた計算順序パターンを考えて設定する必要がある。もし、この計算順序パターンを間違えてしまうと、正常なシミュレーションが行えない可能性がある（上記の例でいうと、複数の入力全ての値が決まらない段階で、出力の計算を実行しようとする場合等）。
【特許文献１】特開２００４−１７１５４８号公報
【特許文献２】特開２００６−４８４７４号公報
【特許文献３】特開２００３−８４８０５号公報
【特許文献４】特開２００６−１３９７２９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記の通り、任意の運転操作に応じた定常プラントシミュレータを実現するためには、オペレータ等は、まず、所望の１以上の（特に複数の）固定値変数を設定し、設定した固定値変数の組合せに対応する計算順序パターンを予め決める必要がある為、複雑化及び大規模化したプラントではその組合せが非常に多くなり、固定値変数の組合せの追加・変更やプラント機器の改変が行われた時などは、その組合せと計算順序パターンの数の修正量が膨大となる。
【００１１】
本発明の課題は、プラントの運用状態をシミュレーションするシミュレータの計算順序を、オペレータの任意の設定に応じて自動的に決定でき、オペレータの作業負担を大幅に軽減できるプラント運用計画装置、プログラム等を提供することにある。
【課題を解決するための手段】
【００１２】
本発明のプラント運用計画装置は、各プラント構成機器に係る各変数毎に、シミュレーションにおいて拘束条件として扱われる固定値変数とするか、該シミュレーションによってその値が計算される非固定値変数とするかを任意に設定させると共に、前記固定値変数の値を任意に設定させる固定値設定手段と、前記固定値設定手段によって設定された前記固定値変数を基点にして、前記各変数の計算順序を決定する計算順序決定手段と、前記固定値設定手段によって設定された固定値変数の値を元に、前記計算順序決定手段で決定された計算順序に従って前記シミュレーションを実行することで、前記各非固定値変数の値を算出して出力する定常プラントシミュレータ手段とを有する。
【００１３】
上記プラント運用計画装置によれば、例えばオペレータ等が固定値設定手段において所望の固定値変数を設定するだけで、この設定内容に応じた定常プラントシミュレータ手段における計算順序を、計算順序決定手段が自動的に決定する。
【００１４】
上記プラント運用計画装置において、例えば、任意の２つのプラント構成機器間での任意の変数の接続関係を示す機器間接続情報を記憶する機器間接続情報記憶手段と、前記各プラント構成機器内での計算実行条件を記憶する計算実行条件記憶手段とを更に有し、前記計算順序決定手段は、前記各固定値変数を確定変数としてその計算順序を決定する第１の処理を実行後、最初は該第１の処理によって確定変数とされた各固定値変数を元に、その後は第３の処理によって新たな確定変数とされた非固定値変数を元に、前記機器間接続情報に基づいて、該確定変数に機器間接続されている前記非固定値変数を新たな確定変数としてその計算順序を決定する第２の処理を実行し、該第２の処理によって新たな確定変
数とされた非固定値変数に関して前記計算実行条件を満たす非固定値変数がある場合には、該非固定値変数を新たな確定変数としてその計算順序を決定する前記第３の処理を実行し、全ての変数の計算順序が決定するまで前記第２の処理と第３の処理とを交互に繰り返し実行する。
【００１５】
この様に、特に計算実行条件が未だ満たされない状態でシミュレーション計算が行われないように計算順序を決定できるので、適切な計算順序を決定できる。
また、上記プラント運用計画装置において、例えば、前記計算順序決定手段は、前記第２又は第３の処理において新たな確定変数とした非固定値変数が、既に確定変数となっている場合には、エラーとする。
【００１６】
オペレータ等による上記固定値変数とする変数の選択の仕方によっては、例えば計算順序の重複等が生じる場合もあり得るので、この様な場合にはエラーとして、再度、設定をし直すようにさせることができる。不適切な計算順序の為にシミュレーション計算が正常に行われなくなる事態を回避できる。
【００１７】
また、例えば、運転計画期間におけるプラントの各種需要量と各種供給量を予測して需給量予測値を生成する需給量予測手段を更に有し、前記定常プラントシミュレータ手段で用いる前記固定値変数の値として、該需給量予測値も用いるようにしてもよい。
【００１８】
この場合、需給量予測値に応じた各変数の値（例えば各プラント構成機器の入出力状態量等）を算出することができる。
【発明の効果】
【００１９】
本発明のプラント運用計画装置、プログラム等によれば、プラントの運用状態をシミュレーションするシミュレータの計算順序を、オペレータの任意の設定に応じて自動的に決定でき、オペレータの作業負担を大幅に軽減できる。また、この自動決定される計算順序は、シミュレーションが正常に実行できる順序とすることができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明の実施の形態について説明する。
図１（ａ）は、本例のプラント運用計画装置１０の構成図である。
本装置１０は、需給量予測部１１と、固定値設定部１２と、計算順序決定部１３と、定常プラントシミュレータ部１４とで構成されている。
【００２１】
なお、図１における需給量予測部１１、固定値設定部１２、計算順序決定部１３、定常プラントシミュレータ部１４は何れも、計算機（コンピュータ）において所定のソフトウェア（アプリケーションプログラム）をＣＰＵ等の演算プロセッサが実行することにより実現されるものである。
【００２２】
需給量予測部１１は、プラントの電力負荷、熱負荷、空気負荷、副生ガスおよび副生熱などの各種需給量を予測する。尚、需給量予測部１１は、例えば、上記特許文献２における負荷予測手段と略同様のものとしてもよいが、この例に限らず、既存の一般的な需要量／供給量の予測方法を適用したものであってよい（一例としては、例えば特開２００１−６５９５９号公報、特開平６−３２４７０８号公報等に記載の従来技術）。
【００２３】
固定値設定部１２は、各プラント構成機器の変数（入出力状態量等に係る変数）の中で、任意の変数を固定値あるいは非固定値としてオペレータ等に設定させる。
尚、以下、固定値として設定された変数を“固定値変数”、非固定値として設定された変数を“非固定値変数”と呼ぶものとする。
【００２４】
また、固定値設定部１２においては、更に、上記各“固定値変数”の値（入出力状態量等）を、オペレータ等に任意に設定させることもできる。設定された各“固定値変数”の値は、定常プラントシミュレータ部１４に渡され、後述するシミュレーション処理の際に用いられる。“固定値変数”の値は、このシミュレーション処理において拘束条件として扱われることになる。すなわち、基本的に、“固定値変数”の値は予め設定されるものであり、この“固定値変数”の値に応じてシミュレーション処理によって非固定値変数の値が計算されることになる。
【００２５】
あるいは、上記各“固定値変数”の値は、上記需給量予測部１１によって予測された値を用いるようにしてもよい。すなわち、需給量予測部１１は上記各種需給量の予測値を定常プラントシミュレータ部１４へ出力する。定常プラントシミュレータ部１４には上記“固定値変数／非固定値変数”の設定データも渡され、定常プラントシミュレータ部１４は、“固定値変数”とされた変数のなかに上記各種需給量に係る変数がある場合には、この変数の値として上記予測値を用いる。逆に言えば、“固定値変数”とされた変数のうち各種需給量に係る変数以外の変数に関しては、その値を固定値設定部１２においてオペレータ等が設定しておく必要がある。
【００２６】
計算順序決定部１３は、上記各“固定値変数／非固定値変数”の設定を基に、後述する定常プラントシミュレータ部１４で上記各“非固定値変数”の値（入出力状態量等）を計算する際の計算順序を、自律的に決定する。
【００２７】
計算順序決定部１３の処理は、詳しくは後述するが、概略的には以下の順序１〜順序３の処理ステップで処理実行するものである。
順序１では、固定値設定部１２による設定データを参照して各固定値変数を検索し、これを確定変数として計算順序を付ける。
【００２８】
順序２においては、上記各確定変数に機器間接続される変数を探し、これを新しい確定変数として計算順序を付ける。
順序３においては、上記新しい確定変数に接続され、かつ任意の論理条件(ＡＮＤ/ＯＲ等)を満たす機器内の変数を探し、これを新しい確定変数として計算順序を付ける。ただし、機器間および機器内で付けられる計算順序に重複があった場合はエラーとする。また、計算順序が付けられなかった未確定の変数があった場合もエラーとする。
【００２９】
順序２と順序３の処理は、全ての変数が確定変数となるか上記エラーとなり、終了するまで、交互に繰り返し実行される。
定常プラントシミュレータ部１４は、固定値設定部１２により設定された又は需給量予測部１１で予測された各固定値変数の値（入出力状態量等；例えば需給量予測部１１による予測値を用いる）に基づき、計算順序決定部１３により決定された計算順序で、従来通りのシミュレーション処理を行う。すなわち、例えば前記需給量予測部１１による各予測値を満足するように、入出力状態量等をシミュレーションにより決定していくものである。尚、上記変数の値としては、上記入出力状態量以外にも、例えば各機器の起動・停止状態等がある。
【００３０】
上記の様に、固定値設定部１２と計算順序決定部１３以外は、従来と同じ構成であってよく、特に詳細には説明しないものとする。以下、固定値設定部１２と計算順序決定部１３に関して、更に詳細に説明する。
【００３１】
尚、本例の固定値設定部１２、計算順序決定部１３は、上記従来の最適化手段を有するプラント運用計画装置にも適用可能であり、その構成例を図１（ｂ）に示す。図示の通り
、この構成では上記図１（ａ）に示す構成に最適化部１５が追加されている。最適化部１５は上記従来の最適化手段と略同様の機能を有するものとしてもよいし、他の既存の最適化処理機能を有するものであってもよい。
【００３２】
図２（ａ）に、上記固定値設定部１２による固定値設定画面の一例を示す。
図２（ａ）は、プラント運用計画装置１０のディスプレイに表示される固定値設定画面の一例である。
【００３３】
図示の固定値設定画面は、従来より存在するプラントシミュレーションモデルを表示して、この表示画面上でオペレータ等が任意の変数（図上、丸印で示す；図示表現上は“端子”であるとも言える）を、上記固定値変数として設定する操作を行うことになる。
【００３４】
ここで、この“変数”（端子）は、例えば図上矩形で図形表現されている各プラント構成機器における入力状態量や出力状態量等（上記の通り、まとめて、入出力状態量等と呼ぶ場合もある）に対応する変数である。固定値変数に関しては上記の通りシミュレーション前にその入出力状態量等が設定されることになり、非固定値変数に関しては定常プラントシミュレータ部１４によるシミュレーション実行によりその入出力状態量等が算出されることになる。
【００３５】
尚、図２（ａ）に示すプラントシミュレーションモデルでは、プラントを構成する機器（プラント構成機器）は図示の矩形で表され、各矩形における上記丸印が上記の通りそのプラント機器の入力又は出力に係る変数（入力変数又は出力変数）を意味する。そして、各矩形（各プラント構成機器）における図上左側の変数が入力変数、図上右側の変数が出力変数を意味する。
【００３６】
また、当該矩形表現される各機器毎に所定の計算式が予め用意されており、シミュレーション処理実行の際にはこの計算式を用いる。例えば単純な例として入力、出力が１つずつの機器であって出力ｙが入力ｘの２倍となる場合には、ｙ＝２ｘ、ｘ＝１／２ｙ等の計算式が用意されることになる。
【００３７】
また、図示の通り、丸印は“白丸”と“黒丸”とがあり、ここでは“黒丸”が固定値変数、“白丸”が非固定値変数を意味するものとする。
そして、図２（ａ）に示す設定画面例では、不図示の初期状態では全ての変数が非固定値変数（図示の“白丸”表示）となっており、オペレータ等がマウス操作等によって所望の変数（丸印表示位置）をクリック等して指定すると、この変数は固定値変数として指定されたものと判定され、この指定内容が記憶されると共に（後述する変数指定テーブル等に反映される）、その表示が図示の“黒丸”表示となる。よって、非固定値変数は、特に指定しなくても、固定値変数として指定されなかった変数が非固定値変数となる。
【００３８】
尚、図２（ａ）に示す1000、1001、・・・1005等の番号は、図示の矩形で示す各プラント構成機器のモデルに割り当てられる識別番号であり、例えば図２（ｂ）に示すように、識別番号1000は機器０、識別番号1001は機器１等と定義されている。これより、以下の説明では、この図２（ｂ）に示す例の定義に従って、例えば図２（ａ）に示す‘1003’のプラント構成機器は“機器３”と呼ぶものとする（他の機器も同様）。
【００３９】
また、図２（ａ）の各丸印（変数）の近くに示す０、１、２等の番号は、各変数に割り当てられる識別番号である。但し、図示の通り、同一機器に関して同じ番号（例えば０）が付された複数の変数が存在する。これは、番号が同じでも一方は入力の変数、他方が出力の変数だからである。これらは図上では同じ番号となっているが、当然、実際のデータでは両者は区別できるようになっており、本説明においては例えば番号が０の場合、入力
の変数の場合は入力０又は入力変数０、出力の変数の場合は出力０又は出力変数０等と記すものとする。
【００４０】
以上述べたことから、以下の説明では、各変数を特定する為に、例えば識別番号＝1003の機器の番号０の出力の変数を「機器３の出力０」等と記すものとする。
また、図２（ａ）において各変数（丸印）間を結ぶ直線は、機器間の接続関係を示すものであり、実際の内部データでは例えば図２（ｃ）に示すように定義されている。図２（ｃ）において、例えば「1001,0,1003,3」は、任意の２つの変数“1001，0”と“1003,3”とが機器間接続されることを定義している。そして、左側の変数“1001，0”は出力側、右側の“1003,3”は入力側を意味することになっている。よって、図２（ｃ）において、例えば「1001,0,1003,3」は、「機器１の出力変数０」と「機器３の入力変数３」とが接続されることが定義されているものである。
【００４１】
尚、図２（ｂ）、（ｃ）はプログラムコード中に上記機器間接続情報等が定義された状態を示すが、別途、例えばテーブル形式等で機器間接続情報等が記憶されていてもよい。逆に、後述する図２（ｄ）〜（ｆ）に示すテーブル形式の情報に相当する定義情報を、プログラムコード中に記述してあってもよい。どちらであっても、機器間接続情報等の各種情報が、予め定義・記憶されていることに代わりはない。
【００４２】
また、図２（ａ）において各矩形（プラント構成機器）内部に示す点線又は破線の矢印は、以下に説明するＡＮＤ／ＯＲ条件を意味する。
破線矢印は、各矢印の行き先の変数の入力／出力状態量の計算には、少なくとも何れか１つの矢印の根元の変数の入力／出力状態量が必要となることを意味している。例えば、識別番号＝1001の矩形（プラント構成機器）の内部に示す破線矢印は、入力０の変数から出力０と出力１の変数に向かう２本の破線矢印と、出力０から出力１へ向かう破線矢印と出力１から出力０へ向かう破線矢印とから成る。これは、「機器１の出力０」の出力状態量の計算には、少なくとも「機器１の出力１」の出力状態量又は「機器１の入力０」の入力状態量の何れか一方が必要であることを意味している（ＯＲ条件）。同様に、「機器１の出力１」の出力状態量の計算には、少なくとも「機器１の出力０」の出力状態量又は「機器１の入力０」の入力状態量の何れか一方が必要であることを意味している（ＯＲ条件）。
【００４３】
これは、内部データとしては、図２（ｄ）、（ｅ）に示すようになる。すなわち、図２（ｄ）に示すように「機器１の出力０」を決定する際のＡＮＤ／ＯＲ条件（論理条件）は、「機器１の入力０」、「機器１の出力１」のＯＲ条件として定義されている。同様に、図２（ｅ）に示すように「機器１の出力１」を決定する際のＡＮＤ／ＯＲ条件（論理条件）は、「機器１の入力０」、「機器１の出力０」のＯＲ条件として定義されている。
【００４４】
一方、点線矢印は、各矢印の行き先の変数の入力／出力状態量の計算には、この全ての矢印の根元の変数の入力／出力状態量が必要となることを意味している。例えば、識別番号＝1003の矩形（プラント構成機器；機器３）の内部に示す４つの点線矢印の行き先は全て入力０の端子であり、これら各点線矢印の根元はそれぞれ入力１、入力２、入力３、出力０の各変数となっている。
【００４５】
よって、「機器３の入力０」の変数の入力状態量の計算する為には、その前に機器３の入力１、入力２、入力３の各入力状態量と出力０の出力状態量とが必要になる。これは内部データとしては、図２（ｆ）に示すように、「機器３の入力０」に関するＡＮＤ／ＯＲ条件（論理条件）を、入力１、入力２、入力３及び出力０全ての入力／出力状態量のＡＮＤ条件として定義されている。
【００４６】
尚、図示の例では、「機器３の入力１」と「機器３の入力２」は固定値変数として設定されているので、その入力状態量は決まっている（上記の通り、オペレータ等が任意に設定してもよいし、負荷等の予測値を用いてもよい）。また、後述するように、全ての固定値変数の計算順序は最初の方になるので、その際に、各固定値変数の入出力状態量が取得される。
【００４７】
よって、後述する計算順序決定部の処理によって決定される非固定値変数の計算順序は、
「機器３の入力３」及び「機器３の出力０」の計算の後に「機器３の入力０」の計算を行うという順序となる必要があることになる。同様に、例えば「機器１の出力０」の入力状態量の計算順序は、少なくとも「機器１の入力０」又は「機器１の出力１」の何れか一方の後であることが必要である（機器１の変数は全て非固定値であるので）。このように、上記計算順序決定部１３は、この様なＡＮＤ／ＯＲ条件を満たすように計算順序を決定できるものであり、これが特徴の１つとなっている。
【００４８】
図３は、上記計算順序決定部の処理フローチャート図である。
この処理は、上記固定値設定部１２によって固定値変数／非固定値変数が設定された後に実行される。
【００４９】
尚、図３を参照する以下の説明においては、計算順序が確定した変数を確定変数と呼ぶものとする。
図３において、まず、上記固定値設定部１２による設定内容（後述する変数指定テーブル等）を参照することで“固定値変数”を探し出し、これを確定変数１とし、計算順序を決定する（ステップＳ１１）。尚、本処理は、最終的に全ての変数を確定変数とする（そして全ての変数の計算順序を決める）ものであるが、本ステップＳ１１で確定変数としたものと、後述するステップＳ１４やＳ１８で確定変数としたものとを区別する為に、上記の通り、ここでは本ステップＳ１１で決められた確定変数は確定変数１と呼ぶものとする。同様に、後述するステップＳ１８で決められた確定変数は確定変数３と呼ぶものとする。
【００５０】
尚、計算順序は、単純に、確定変数とした順に１番目、２番目というように決めるものである。そして、全ての固定値変数を確定変数として計算順序を決定したら（ステップＳ１２，ＹＥＳ）ステップＳ１４へ進む。
【００５１】
但し、この時点で全ての変数に計算順序が付いた場合には（ステップＳ１３，ＹＥＳ）、全ての変数が“固定値変数”として設定されていることを意味するので、オペレータの設定間違いと見做し、エラーメッセージを表示して本処理を強制終了する（ステップＳ２４）。
【００５２】
ステップＳ１４の処理では、この処理の前に確定変数を決める処理において新たに確定変数とされた変数を元に処理を行う。よって、最初は上記ステップＳ１１で決定された確定変数１を元に処理を行うが、その後は、後述するステップＳ１８の処理によって新たに決定された確定変数３を元に処理を行うことになる。
【００５３】
すなわち、ステップＳ１４の処理は、上記ステップＳ１１で決めた各確定変数１（各固定値変数）毎に、あるいは後述するステップＳ１８の処理で新たに決めた各確定変数３毎に、その確定変数に機器間接続される変数が存在するか否かをチェックし、存在する場合には、当該確定変数に機器間接続される変数を、新たな確定変数（上記の通りここでは確定変数２という）とし、その計算順序を決定する。
【００５４】
各変数の機器間接続は、例えば上記図２（ｃ）のような機器間接続情報として定義されているので、この機器間接続情報を参照することで、上記各“確定変数１又は３（以下、単に確定変数と記す）に機器間接続される変数”を判別することができ、これを新たな確定変数２とし、その計算順序を決定する。計算順序の決定方法は、例えば上記ステップＳ１１と同様に、単純に、確定変数とした順とする。例えば上記固定値変数が４つの場合、上記ステップＳ１１の処理により１番目〜４番目まで決定していることになるので、その後のステップＳ１４の処理で最初に確定変数とされた変数は５番目ということになる。
【００５５】
但し、上記“確定変数に機器間接続される変数”が既に確定変数となっている場合には（ステップＳ１５，ＹＥＳ）、計算順序の重複が生じたことになるので、上記ステップＳ２４の処理に移行し、エラー終了する。
【００５６】
全ての確定変数１又は新たな確定変数３について上記ステップＳ１４の処理を実行したら（ステップＳ１６，ＹＥＳ）、ステップＳ１８以降の処理に移る。但し、ステップＳ２１の判定をここでも行ってもよい。すなわち、全ての変数を確定変数とした（計算順序が決まった）場合には（ステップＳ１７，ＹＥＳ）本処理を終了する。
【００５７】
ステップＳ１８の処理では、各機器内で上記新たな確定変数２に接続されている変数を探す。この各機器内での接続とは、上記図２（ａ）で説明した点線矢印（ＡＮＤ条件）又は破線矢印（ＯＲ条件）による接続であり、本処理では上記図２（ｄ）〜（ｆ）等のＡＮＤ／ＯＲ条件テーブルを参照することになる。例えば上記新たな確定変数２となった変数が「機器１の出力０」であった場合には、図２（ｄ）のＡＮＤ／ＯＲ条件テーブルを参照することで、「機器１の入力０」と「機器１の出力１」が接続されていると判定できる。
【００５８】
そして、探し出した変数に関する例えば上記図２（ｄ）〜（ｆ）等で説明したような各機器内での計算実行条件（論理条件；ＡＮＤ／ＯＲ条件）をチェックし（参照し）、この計算実行条件を満たすか否かを判定し、条件を満たす場合には当該変数を新たな確定変数３とし、その計算順序を確定する。尚、計算順序の決定方法は上記ステップＳ１１等の場合と同様であってよい。例えば、それまでの処理で最後に確定された確定変数の計算順序が例えば‘９’番目であったなら、当該変数の計算順序は‘１０’番目となる。
【００５９】
但し、上記“確定変数２に接続されている変数”が既に確定変数となっている場合には（ステップＳ１９，ＹＥＳ）、計算順序の重複があることになるので、上記ステップＳ２４の処理を実行する。
【００６０】
上記新たな確定変数２全てについて上記ステップＳ１８，Ｓ１９の処理を実行したら（ステップＳ２０，ＹＥＳ）、上記ステップＳ１７と同様の処理を実行し（ステップＳ２１）、未だ計算順序が未決定の変数があれば（ステップＳ２１，ＮＯ）、ステップＳ１４の処理に戻り、再び上述した処理を繰り返す。
【００６１】
但し、今回の処理（特にステップＳ１８の処理）において、新たな確定変数が１つも決まらなかった場合には（ステップＳ２２，ＮＯ）、再びステップＳ１４に戻って処理を繰り返しても新たな確定変数が決まることはないので、エラーメッセージを出力して本処理は終了する（ステップＳ２３）。
【００６２】
尚、定常プラントシミュレータ部１４による計算処理では、“計算”といっているが、固定値変数は単に設定値を取得するだけであり、上記機器間接続された変数は、接続された変数と入力−出力の関係にあるので（出力＝入力）、これも接続された変数の値を取得するだけである。
【００６３】
以下、図４以降を参照して、上記図３の処理の具体例について説明する。すなわち、固定値変数の設定の仕方によって、正常に計算順序が決定される例や途中でエラーになる例を示す。
【００６４】
まず、第１の具体例は、正常に計算順序が決定される例である。
図４は、第１の具体例における変数指定テーブル２０の設定内容を示す図である。
更に、ここでは図２（ａ）に示したシミュレーションモデルを利用して、図４の設定に基づき図３の処理によって各変数が確定変数となり計算順序が決定される様子を視覚的に示して説明する為の図面として、図５（ａ）〜（ｆ）を用いるものとする。
【００６５】
これより、以下、図４及び図５（ａ）〜（ｆ）を参照して第１の具体例について説明する。
図４に示す変数指定テーブル２０は、当該第１の具体例における上記固定値設定部１２による設定内容が記憶されたものである。変数指定テーブル２０における変数指定２３には、各入出力状態量２４（上記変数に相当；以下、変数２４と記す場合もある）毎に、それが固定値変数か非固定値変数かを示す値が格納される。ここでは固定値変数の場合は‘１’、非固定値変数の場合は‘０’であるものとする。これより、図４に示す例では、「機器０の出力０」、「機器３の入力１」、「機器３の入力２」、及び「機器４の入力０」が、固定値変数として設定されていることになる。
【００６６】
図４の変数指定テーブル２０を参照して図３の処理を実行した場合、まず、ステップＳ１１の処理を４回繰り返すことになり、これによって上記固定値設定部１２により設定された４つの固定値変数が、確定変数１とされ計算順序が付けられることになる。
【００６７】
尚、図５（ａ）〜（ｆ）においては、図２（ａ）とは異なり、未だ確定変数となっていない変数は白丸で示し、確定変数となった変数は黒丸で示すものとする。本例では、まず、ステップＳ１１の処理により、図５（ａ）に示す４つの黒丸の変数（上記４つの固定値変数）が、確定変数となることになる。
【００６８】
また、図５（ａ）〜（ｆ）に示す「計１」、「計２」等が、決定された計算順序を意味し、「計１」は計算順序が１番目、「計２」は２番目を意味する。そして、ステップＳ１１の処理は、変数指定テーブル２０の各レコードを先頭レコードから順に処理対象としていくものであり、図５（ａ）に示す「計１」〜「計４」の順番は、単純にこの処理順によって決まるだけである。
【００６９】
続いて、ステップＳ１４の処理では、図２（ｃ）に示す機器間接続情報を参照すると、上記４つの確定変数１のうち、「機器０の出力０」には「機器１の入力０」が、「機器４の入力０」には「機器３の出力０」が、それぞれ接続されているので、これら２つの変数を新たな確定変数２とし、これも単純に処理順に計算順序を決定することで、図５（ｂ）に示すようになる。すなわち、「機器１の入力０」が「計５」、「機器３の出力０」が「計６」となる。
【００７０】
続くステップＳ１８の処理では、新たな確定変数２は上記「機器１の入力０」と「機器３の出力０」の２つであるので、まず「機器１の入力０」に関する処理では、図２（ｄ）〜（ｆ）に示すＡＮＤ／ＯＲ条件を参照すると、図２（ｄ）と図２（ｅ）より、「機器１の入力０」に接続されている変数は「機器１の出力０」と「機器１の出力１」であり、且つこれらのＯＲ条件は満たされているので（「機器１の入力０」が確定変数となっているので）、図５（ｃ）に示す通り「機器１の出力０」と「機器１の出力１」を新たな確定変数３とし、計算順序「計７」、「計８」が決定される。
【００７１】
一方、「機器３の出力０」に関しては、図２（ｆ）により、「機器３の出力０」に接続される「機器３の入力０」は、ＡＮＤ条件が未だ満たされていないので（「機器３の入力３」が未決定）、未だ確定変数にはならず、計算順序は付けられない。
【００７２】
そして、再びステップＳ１４の処理に戻ることになり、ここでの新たな確定変数３は上記「機器１の出力０」と「機器１の出力１」ということになるので、図２（ｃ）に示す機器間接続情報より、図５（ｄ）に示す通り、「機器１の出力０」に接続された「機器３の入力３」と、「機器１の出力１」に接続された「機器５の入力０」とが、新たな確定変数２となり、それぞれ計算順序「計９」、「計１０」が与えられる。
【００７３】
次のステップＳ１８の処理では、新たな確定変数２である「機器３の入力３」に接続された「機器３の入力０」は、今度は上記ＡＮＤ条件を満たしているので、図５（ｅ）に示すように、新たな確定変数３となり計算順序「計１１」が与えられる。
【００７４】
この時点で、図５（ｅ）に示すように、未だ確定変数となっていない変数が残っているので（「機器２の出力０」）、ステップＳ２１の判定はＮＯとなる。また、上記２度目のステップＳ１４、Ｓ１８の処理で新たな確定変数となった変数が存在するので（「機器３の入力３」、「機器５の入力０」、「機器３の入力０」）、ステップＳ２２の判定はＹＥＳとなり、ステップＳ１４の処理に戻る。
【００７５】
そして、新たな確定変数３（「機器３の入力０」）に機器間接続された変数である「機器２の出力０」が、図５（ｆ）に示すように、新たな確定変数２となり「計１２」が与えられる。
【００７６】
以上で、全ての変数が確定変数となりそれぞれ計算順序が決まったので、ステップＳ１７の判定はＹＥＳとなり、本処理は正常終了する。
次に、以下、固定値変数が図６に示すように設定された場合を例にして、上記図５と同様、計算順序を決定する処理が途中でエラーになる様子を図７（ａ）〜（ｃ）に示す（これを第２の具体例とする）。
【００７７】
図６に示す通り、第２の具体例では、「機器０の出力０」、「機器３の入力１」、「機器３の入力２」、「機器３の入力３」、及び「機器４の入力０」の５つの変数が、固定値変数として設定されたものとする。
【００７８】
これより、まず、ステップＳ１１の処理により図７（ａ）に示すようにこれら５つの変数を確定変数１としそれぞれ「計１」〜「計５」の計算順序が与えられる。
続いてステップＳ１４の処理では、上記５つの確定変数１のうち、「機器０の出力０」、「機器３の入力３」、及び「機器４の入力０」には、機器間接続されている変数が存在するので、図７（ｂ）に示す通り、これら３つの変数、すなわち「機器１の入力０」、「機器１の出力０」、「機器３の出力０」を、新たな確定変数２としそれぞれ「計６」〜「計８」の計算順序が与えられる。
【００７９】
ここで、第１の例とは異なり、この段階で「機器１の出力０」が確定変数となっている。
この為、続いてステップＳ１８の処理を行うと、新たな確定変数２である「機器１の入力０」に接続された「機器１の出力０」は、第１の具体例で説明したようにＯＲ条件が満たされているので新たな確定変数３となるが、上記の通り「機器１の出力０」は既に確定変数となっているので、ステップＳ１９の判定はＹＥＳとなり（そのイメージを図７（ｃ）に示す）、エラーメッセージを出力して計算順序決定処理を強制終了することになる。
【００８０】
次に、以下、固定値変数が図８に示すように設定された場合を例にして、上記図５等と同様、計算順序を決定する処理が途中でエラーになる様子を図９（ａ）〜（ｅ）に示す（これを第３の具体例とする）。
【００８１】
図８に示す通り、第３の具体例では、「機器０の出力０」、「機器３の入力１」、「機器３の入力２」の３つの変数が、固定値変数として設定されたものとする。
この場合、まず、ステップＳ１１の処理により図９（ａ）に示すようにこれら３つの変数を確定変数１としそれぞれ「計１」〜「計３」の計算順序が与えられる。
【００８２】
続くステップＳ１４の処理では、上記確定変数１とした３つの変数のうち、「機器０の出力０」には機器間接続されている変数（「機器１の入力０」）が存在するので、図９（ｂ）に示す通り、この「機器１の入力０」を新たな確定変数２とし計算順序「計４」が与えられる。
【００８３】
更にステップＳ１８の処理において、新たな確定変数２である「機器１の入力０」に接続されている２つの変数（「機器１の出力０」、「機器１の出力１」）は、第１の具体例で説明した通りＯＲ条件を満たしているので、図９（ｃ）に示す通り、これら２つの変数を新たな確定変数３としそれぞれ計算順序「計５」、「計６」が与えられる。
【００８４】
その後、再びステップＳ１４の処理に戻ると、上記新たな確定変数３である「機器１の出力０」、「機器１の出力１」には、それぞれ、「機器３の入力３」、「機器５の入力０」が機器間接続されているので、図９（ｄ）に示す通り、これら２つの変数を新たな確定変数２としそれぞれ計算順序「計７」、「計８」が与えられる。
【００８５】
続いてステップＳ１８の処理を行うと、今度は新たな確定変数３となる変数は１つも存在しないことになる（相変わらず「機器３の入力０」はそのＡＮＤ条件が満たされていない）。
【００８６】
この様に新たな確定変数３が得られなかった場合、今後、再度ステップＳ１４の処理に戻っても、未確定の変数を新たな確定変数とすることはできない。この様な状況の判定の為に上記ステップＳ２２の処理があり、本例では上記のことからステップＳ２２の判定がＮＯとなり、エラーメッセージを出力して処理を終了することになる。
【００８７】
定常プラントシミュレータ部１４は、上述した計算順序決定部１３の処理により決定された計算順序データと、固定値設定部１２において任意に設定された各固定値変数の値や需給量予測部１１により算出された需要量／供給量の予測結果等を入力して、これら入力データに基づいて、シミュレーションを行って、非固定値変数の値を算出する。そして、算出結果は、例えば図２（ａ）に示すような画面上で各端子（変数）の近傍等に表示される。オペレータは、この算出結果表示を見て、設定条件（固定値変数の設定やその値の設定等）を変更する等の操作を行うと、上記の通り自動的に設定内容に応じた計算順序が求められてシミュレーションが実行される。
【００８８】
この様に、計算結果が表示されること及びオペレータの設定作業の手間が大幅に軽減されることから、何度も設定内容を変えてシミュレーションを繰返すことができ、実運用に役立つ運用計画を作成することが出来るようになる。
【００８９】
以上説明したように、本例のプラント運用計画装置によれば、プラントの運用状態をシミュレーションするシミュレータの計算順序を、オペレータの任意の設定に応じて自動的に決定できる。従って、オペレータは、任意の設定に応じた計算順序を自分で考える必要はなくなり、オペレータの作業負担が大幅に軽減できる。また、この自動決定される計算
順序は、シミュレーションが正常に実行できる順序とすることができる。すなわち、計算順序が不適切な為に例えば上記計算実行条件が満たされない段階で計算を実行しようとすることで計算不能となってしまうような事態は生じない。
【００９０】
また、本手法は、従来の最適化部を有するプラント運用計画装置にも適用可能である。この場合、上記固定値設定部１２において、非固定値、固定値だけでなく更に、「固定値且つ最適化部処理対象」を指定できるようにすることもできる（特に図示しないが、例えば図２（ａ）に示す画面上で、オペレータが任意の変数を固定値変数として指定したら、更にこの固定値変数を最適化部処理対象とするか否かをオペレータに選択させる選択肢を表示すること等で実現できる）。従来の最適化部は、特定の固定値変数の値を決定する（最適化する）処理を行うものであったが、この最適化処理の対象とする固定値変数を、オペレータ等が任意に指定できるものである。
【００９１】
尚、この場合、変数指定テーブル２０の変数指定２３には、更に、最適化部処理対象とされた固定値変数であることを示す値（例えば、上記‘０’、‘１’に対して更に‘２’）が格納されることになり、この変数指定テーブル２０が最適化部１５に渡される。
【００９２】
また、この場合も、上記の通り、定常プラントシミュレータ部によるシミュレーション結果（上記最適化が行われた場合の結果等）を表示し、これを見てオペレータが設定内容を変更する、ということを繰り返し実行することができる。従来でも最適化部によって出力された計算結果の一部を修正することは可能であったが、本手法では、その修正に対する影響をシミュレーションによって事前に確認することが出来るようになる。すなわち、最適化部によって得られた計算結果の一部を修正し、その修正に対する影響を事前に確認しながら実運用に役立つ運用計画を作成することが出来るようになる。
【００９３】
図１０に、上記プラント運用計画装置１０を実現するパソコン等のコンピュータのハードウェア構成を示す。
図１０に示すコンピュータ５０は、ＣＰＵ５１、メモリ５２、入力部５３、出力部５４、記憶部５５、記録媒体駆動部５６、及びネットワーク接続部５７を有し、これらがバス５８に接続された構成となっている。
【００９４】
ＣＰＵ５１は、当該コンピュータ５０全体を制御する中央処理装置である。
メモリ５２は、任意の処理実行の際に、記憶部５５（あるいは可搬型記録媒体５９）に記憶されているプログラムあるいはデータを一時的に格納するＲＡＭ等のメモリである。ＣＰＵ５１は、メモリ５２に読み出したプログラム／データを用いて、各種処理を実行する。
【００９５】
出力部５４は、例えばディスプレイ等であり、入力部５３は、例えば、キーボード、マウス等である。オペレータ等は、このディスプレイ等に表示される上記図２（ａ）の画面上で、キーボード／マウス等を操作して上述した固定値変数／非固定値変数の設定を行うことになる。
【００９６】
ネットワーク接続部５７は、任意のネットワークに接続して、他の情報処理装置との通信（コマンド／データ送受信等）を行う為の構成である。
記憶部５５は、例えばハードディスク等であり、上述したプラント運用計画装置１０の処理機能（特に図３のフローチャートの処理）を、ＣＰＵ５１により実行させる為のアプリケーションプログラムが格納されている。また、この処理に必要な各種データ（図２（ｂ）〜（ｆ）に示すデータや変数指定テーブル２０等）も記憶部５５に格納されている。
【００９７】
ＣＰＵ５１は、上記記憶部５５に格納されている各種プログラム／データを読み出し・
実行することにより、上述したプラント運用計画装置１０の各種機能・処理を実現する。
あるいは、上記記憶部５５に格納される各種プログラム／データは、可搬型記録媒体５９に記憶されているものであってもよい。この場合、可搬型記録媒体５９に記憶されているプログラム／データは、記録媒体駆動部５６によって読み出される。可搬型記録媒体５９とは、例えば、ＦＤ（フレキシブル・ディスク）５９ａ、ＣＤ−ＲＯＭ５９ｂ、その他、ＤＶＤ、光磁気ディスク等である。
【００９８】
あるいは、また、上記プログラム／データは、ネットワーク接続部５７により接続しているネットワークを介して、他の装置内に記憶されているものをダウンロードするものであってもよい。あるいは、更に、インターネットを介して、外部の他の装置内に記憶されているものをダウンロードするものであってもよい。
【００９９】
また、本発明は、上記本発明の各種処理をコンピュータ上で実現するプログラムを記録した可搬型記憶媒体として構成できるだけでなく、当該プログラム自体として構成することもできる。
【０１００】
尚、上記の通り特許文献４には、予め記述された接続情報を基にして計算順序を決めることが出来るという従来技術が開示されている。しかしながら、この従来技術では、接続情報には入力と出力の方向が規定されており、このため、計算の順序は一意にしか決められず、計算を開始する部分も出力のみを持つ機器に限定される。また、ＡＮＤ／ＯＲ条件を満たすように計算順序を決定するようなことは出来ない。
【０１０１】
これに対し本手法では、接続情報の中に特に方向は規定されておらず、任意に設定された機器の変数を計算開始の部分にすることができ、また、そこから自律的に計算順序を決定することができる。また、ＡＮＤ／ＯＲ条件を満たすように計算順序を決定することができる。
【図面の簡単な説明】
【０１０２】
【図１】（ａ）、（ｂ）は、本例のプラント運用計画装置の構成図である。
【図２】（ａ）は固定値設定部による固定値設定画面の一例、（ｂ）〜（ｆ）は各種定義情報の一例である。
【図３】計算順序決定部の処理フローチャート図である。
【図４】第１の具体例における変数指定テーブルの設定内容を示す図である。
【図５】（ａ）〜（ｆ）は、第１の具体例で各変数が確定変数となり計算順序が決定される様子を示す図である。
【図６】第２の具体例における変数指定テーブルの設定内容を示す図である。
【図７】（ａ）〜（ｃ）は、第２の具体例で各変数が確定変数となり計算順序が決定される様子を示す図である。
【図８】第３の具体例における変数指定テーブルの設定内容を示す図である。
【図９】（ａ）〜（ｅ）は、第３の具体例で各変数が確定変数となり計算順序が決定される様子を示す図である。
【図１０】コンピュータ・ハードウェア構成図である。
【符号の説明】
【０１０３】
１０  プラント運用計画装置
１１  需給量予測部
１２  固定値設定部
１３  計算順序決定部
１４  定常プラントシミュレータ部
１５  最適化部
２０  変数指定テーブル
２１  機器Ｎｏ．
２２  機器名称
２３  変数指定
２４  各入出力状態量
５０  コンピュータ
５１  ＣＰＵ
５２  メモリ
５３  入力部
５４  出力部
５５  記憶部
５６  記録媒体駆動部
５７  ネットワーク接続部
５８  バス
５９  可搬型記録媒体
５９ａ  ＦＤ（フレキシブル・ディスク）
５９ｂ  ＣＤ−ＲＯＭ
【図１】
0005076785.tif 000002
【図２】
0005076785.tif 000003
【図３】
0005076785.tif 000004
【図４】
0005076785.tif 000005
【図５】
0005076785.tif 000006
【図６】
0005076785.tif 000007
【図７】
0005076785.tif 000008
【図８】
0005076785.tif 000009
【図９】
0005076785.tif 000010
【図１０】
0005076785.tif 000011