(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023080580
(43)【公開日】2023-06-09
(54)【発明の名称】プロセスモデル構築システム、プロセスモデル構築方法
(51)【国際特許分類】
G05B 23/02 20060101AFI20230602BHJP
【FI】
G05B23/02 G
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021194005
(22)【出願日】2021-11-30
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】石飛 太一
(72)【発明者】
【氏名】望月 義則
(72)【発明者】
【氏名】馬場 英敏
(72)【発明者】
【氏名】丹藤 順志
【テーマコード(参考)】
3C223
【Fターム(参考)】
3C223AA01
3C223BA01
3C223BB01
3C223CC01
3C223EA01
3C223FF02
3C223FF12
3C223FF17
3C223FF22
3C223FF23
3C223FF25
3C223FF26
3C223FF42
3C223GG01
3C223HH03
3C223HH08
(57)【要約】
【課題】制御対象が複数の特性を有する場合でも、従来に比べて構築負荷や運用負荷がかからないプロセスモデルを構築する。
【解決手段】コンピュータにより、制御対象の特性をモデル化したプロセスモデルを構築するプロセスモデル構築システムであって、制御対象の特性に応じた稼働実績を示す過去操業実績データから特性を取得する第1の処理部と、過去操業実績データに含まれる特性についての制御対象のプロセスの実績値と、所定の理論式で構築されたプロセスモデルにより推定される制御対象のプロセスの推定値とが所定の条件を満たすような、プロセスモデルを補正するための特性パラメータを、特性ごとに算出する第2の処理部と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータにより、制御対象の特性をモデル化したプロセスモデルを構築するプロセスモデル構築システムであって、
前記制御対象の特性に応じた稼働実績を示す過去操業実績データから前記特性を取得する第1の処理部と、
前記過去操業実績データに含まれる前記特性についての前記制御対象のプロセスの実績値と、所定の理論式で構築された前記プロセスモデルにより推定される前記制御対象のプロセスの推定値とが所定の条件を満たすような、前記プロセスモデルを補正するための特性パラメータを、前記特性ごとに算出する第2の処理部と、
を有することを特徴とするプロセスモデル構築システム。
【請求項2】
前記プロセスモデル構築システムに入力される、前記制御対象の特性と当該特性に含まれる特性種類とを示す特性情報と同じ特性の前記特性パラメータを用いて補正したプロセスモデルを作成し、作成した当該プロセスモデルを用いて、前記制御対象のプロセスの挙動をシミュレーションする第3の処理部、
を有することを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項3】
所定のアルゴリズムと、前記制御対象から得られる前記制御対象についての制御量のフィードバック結果とを用いて、前記制御対象への入力値を計算し、前記制御対象に対する所望の運転条件と一致する入力値を見出す最適化計算を行う第4の処理部、
を有することを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項4】
前記制御対象の特性と当該特性に影響を与える要素とを対応付けた特性情報を説明変数、前記特性の制御対象のプロセスモデルを補正する前記特性パラメータを目的変数とした機械学習により、前記特性についての前記特性パラメータを推定する特性パラメータモデルを構築する第5の処理部を有し、
前記第3の処理部は、前記特性パラメータモデルに前記特性情報を入力して得られた前記特性パラメータの推定値を用いて補正した前記プロセスモデルを用いて、前記制御対象のプロセスの挙動をシミュレーションする、
ことを特徴とする請求項2に記載のプロセスモデル構築システム。
【請求項5】
前記プロセスモデル構築システムは、1または複数の特性に応じた前記プロセスモデルの前記特性パラメータが格納されたモデル同定情報を有し、
前記第2の処理部は、前記特性パラメータで補正した前記プロセスモデルと、補正前のプロセスモデルを構築したときに用いた前記過去操業実績データに含まれる実績値とを対応付けたモデル同定データを作成し、作成した当該モデル同定データに含まれる前記特性パラメータで補正した前記プロセスモデルと前記実績値とのペアに対して同定を実行するモデル同定処理を行い、
前記モデル同定処理において、前記モデル同定情報に定められた前記特性パラメータを、所定のアルゴリズムに基づいて選択し、選択した前記特性パラメータで前記プロセスモデルを補正する、
ことを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項6】
前記第2の処理部は、前記特性ごとに算出した前記特性パラメータに基づく統計値を算出し、当該統計値に基づく統計特性パラメータを用いて、前記所定の理論式で構築された前記プロセスモデルを補正する、
ことを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項7】
前記第2の処理部は、前記特性パラメータで補正した前記プロセスモデルと、補正前のプロセスモデルを構築したときに用いた前記過去操業実績データに含まれる実績値とを対応付けたモデル同定データを作成し、作成した当該モデル同定データに含まれる前記特性パラメータで補正した前記プロセスモデルと前記実績値とのペアに対して同定を実行するモデル同定処理を行い、
前記第1の処理部は、前記プロセスモデルのパラメータの初期値として、前記モデル同定処理により得られた前記特性パラメータにより補正されたプロセスモデルのパラメータを設定する、
ことを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項8】
前記プロセスモデル構築システムは、前記特性パラメータの入力を受け付ける入力部を有し、
前記第2の処理部は、前記特性パラメータのうちの少なくとも一部のパラメータを、前記入力部から入力されたパラメータに設定し、設定した当該パラメータ以外のパラメータについて、前記算出を行う、
ことを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項9】
前記第3の処理部は、前記シミュレーションの結果と、前記制御対象の制御結果との差分が所定の閾値を超えた場合、前記差分が小さくなるように前記プロセスモデルの前記特性パラメータを補正し、前記シミュレーションを再実行する、
ことを特徴とする請求項2に記載のプロセスモデル構築システム。
【請求項10】
コンピュータにより、制御対象の特性をモデル化したプロセスモデルを構築するプロセスモデル構築システムであって、
前記制御対象の特性に応じた稼働実績を示す過去操業実績データから前記特性を取得する第1の処理部と、
前記過去操業実績データに含まれる前記特性についての前記制御対象のプロセスの実績値と、所定の機械学習で構築された前記プロセスモデルにより推定される前記制御対象の推定値との差分に基づいて、前記プロセスモデルを補正した特性モデルを、前記特性ごとに算出する第2の処理部と、
を有することを特徴とするプロセスモデル構築システム。
【請求項11】
制御対象の特性に応じた稼働実績を示す過去操業実績データと、当該過去操業実績データから取得される前記制御対象の特性をモデル化するためのプロセスモデルとを含む入力情報と、
前記稼働実績と前記プロセスモデルにより推定される前記制御対象の推定値とが所定の条件を満たすように、前記制御対象の特性ごとに算出された、前記プロセスモデルを補正するための特性パラメータを含む出力情報とを、処理前後の状態としてコンピュータの画面に表示する、
ことを特徴とするプロセスモデル構築システム。
【請求項12】
前記第3の処理部は、前記特性情報と、シミュレーションを行うための所望の運転条件を定めたシミュレーション入力情報とを含む入力情報と、前記特性情報と同じ特性の前記特性パラメータを用いて補正したプロセスモデルを作成し、作成した当該プロセスモデルに前記シミュレーション入力情報を入力して前記シミュレーションの実行により得られた前記シミュレーションの結果を含む出力情報とを、処理前後の状態として前記コンピュータの画面に表示する、
ことを特徴とする請求項2に記載のプロセスモデル構築システム。
【請求項13】
前記第4の処理部は、前記制御対象に対する所望の運転条件と、前記制御対象の特性と当該特性に含まれる特性種類とを示す特性情報とを含む入力情報と、前記特性情報と同じ特性の前記特性パラメータを用いて補正したプロセスモデルにより前記制御対象のプロセスの挙動をシミュレーションした結果とが一致する前記制御対象への入力値を含む出力情報とを、処理前後の状態として前記コンピュータの画面に表示する、
ことを特徴とする請求項3に記載のプロセスモデル構築システム。
【請求項14】
前記第1の処理部は、前記過去操業実績データから、前記制御対象の特性を示す、第1の機器および第1の品種を取得し、
前記第2の処理部は、前記第1の機器および前記第1の品種についての前記制御対象のプロセスの実績値と前記制御対象のプロセスの推定値とが所定の条件を満たすような前記特性パラメータを、前記第1の機器および前記第1の品種ごとに算出し、少なくとも、算出した当該特性パラメータに基づいて、前記第1の機器にて前記第1の品種を生成する際の前記プロセスモデルを補正する、
ことを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項15】
コンピュータにより、制御対象の特性をモデル化したプロセスモデルを構築するプロセスモデル構築方法であって、
前記制御対象の特性に応じた稼働実績を示す過去操業実績データから前記特性を取得し、
前記過去操業実績データに含まれる前記特性についての前記制御対象のプロセスの実績値と、所定の理論式で構築された前記プロセスモデルにより推定される前記制御対象のプロセスの推定値とが所定の条件を満たすような、前記プロセスモデルを補正するための特性パラメータを、前記特性ごとに算出する、
ことを特徴とするプロセスモデル構築方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プロセスモデル構築システム、プロセスモデル構築方法に関する。
【背景技術】
【0002】
プロセス運転の現場においては、過去の運転実績などから最適な運転条件はわかっているものの、その運転条件を再現するための運転方法はわからないという場面がある。これは、例えば、バルブ等の制御機器をはじめとする制御対象内で発生する反応熱、劣化した制御機器の特性、入力として得られない外部環境状態などの様々な外乱が運転毎に異なることにより、同じ運転条件を達成するための運転方法が、毎回異なるためである。
【0003】
これに対する既存技術としてMPC(Model Predictive Control)がある。MPCは、制御対象の特性をモデル化することで、制御対象の操作量に対する制御量の予測を可能とし、これを以て所望の制御波形を満たす操作量を逆算可能とするものである。このような既存技術として、例えば、特許文献1がある。特許文献1では、バッチプロセスをシミュレートするために、第1原理モデルが用いられ、この第1原理モデルは、バッチプロセスを制御するために、多重入力/多重出力制御ルーチンを構成するのに用いられ得る。第1原理モデルは、実際のバッチプロセスの動作の間に測定することができず、または測定されないバッチ変数の推定値を発生することができる。このような変数の例としては、バッチプロセスの構成成分(例えば、生成速度、細胞成長速度等)の変化速度であってもよい。第1原理モデルおよびその構成された多重入力/多重出力制御ルーチンは、バッチプロセスの制御を容易にするために用いられ得る、と記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記特許文献1では、バッチプロセス中に存在する測定困難な要素を第一原理モデルで推定する機構(ソフトセンサ)を追加することで、第一原理モデルの推定値に基づいた適切な運転方法の解明し、推定値を制御対象としてバッチサイクルの短縮や収率向上を行う運転を実現している。しかしながら、異なる特性の制御対象を制御するためには、異なる第一原理モデルを人手により構築する必要があるため、多品種生産の現場では現実的な適用は困難である。例えば、制御対象が製造する品種の特性、制御対象となる制御機器の特性の組み合わせが複数ある場合、そのそれぞれの組み合わせについてプロセスモデルを構築する必要がある。特に、バッチプロセスなどの多品種生産の現場においては、品種および機器等の組み合わせが多く、構築すべきプロセスモデルの数が膨大となる。膨大な数のプロセスモデルは構築自体が困難であり、また構築後の保守が煩雑になるなど、運用面での負荷が多くかかってしまう。このため、制御対象が複数の特性を有する場合でも、従来に比べて構築負荷や運用負荷がかからないプロセスモデルを構築する技術が求められている。
【0006】
本発明の一側面は、制御対象が複数の特性を有する場合でも、従来に比べて構築負荷や運用負荷がかからないプロセスモデルを構築する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明にかかるプロセスモデル構築システムは、コンピュータにより、制御対象の特性をモデル化したプロセスモデルを構築するプロセスモデル構築システムであって、前記制御対象の特性に応じた稼働実績を示す過去操業実績データから前記特性を取得する第1の処理部と、前記過去操業実績データに含まれる前記特性についての前記制御対象のプロセスの実績値と、所定の理論式で構築された前記プロセスモデルにより推定される前記制御対象のプロセスの推定値とが所定の条件を満たすような、前記プロセスモデルを補正するための特性パラメータを、前記特性ごとに算出する第2の処理部と、を有することを特徴とするプロセスモデル構築システムとして構成される。
【発明の効果】
【0008】
本発明の一態様によれば、制御対象が複数の特性を有する場合でも、従来に比べて構築負荷や運用負荷がかからないプロセスモデルを構築することができる。
【図面の簡単な説明】
【0009】
【
図1】実施例1におけるプロセスモデル構築システムの構成の一例を示す図である。
【
図4】プロセスモデルの一例およびプロセスモデルと特性との関係の一例を示す図である。
【
図7】実施例1においてモデル構築部が行うモデル構築処理の処理手順を示すフローチャートの一例を示す図である。
【
図8A】
図7に示したS706で行われる特性パラメータ算出処理の処理手順を示すフローチャートの一例を示す図である。
【
図8B】
図7に示したS706で行われる特性パラメータ算出処理の処理手順を示すフローチャートの一例を示す図である。
【
図9A】
図8A、8Bに示した特性パラメータ算出処理においてモデル同定データ群に記録されたプロセスモデルのモデル同定処理の処理手順を示すフローチャートの一例を示す図である。
【
図9B】
図8A、8Bに示した特性パラメータ算出処理においてモデル同定データ群に記録されたプロセスモデルのモデル同定処理の処理手順を示すフローチャートの一例を示す図である。
【
図10】実施例1においてシミュレーション部が行うシミュレーション処理の処理手順を示すフローチャートの一例を示す図である。
【
図11】実施例2におけるプロセスモデル構築システムの構成の一例を示す図である。
【
図12A】実施例3におけるプロセスモデル構築システムの構成の一例を示す図である。
【
図13A】実施例4におけるプロセスモデル構築システムの構成の一例を示す図である。
【
図14】実施例5におけるプロセスモデル構築システムの構成の一例を示す図である。
【
図15】実施例5においてシミュレーション部が行うシミュレーション処理の処理手順を示すフローチャートの一例を示す図である。
【
図16】実施例6におけるプロセスモデル構築システムの構成の一例を示す図である。
【
図17】実施例6においてモデル構築部が行うモデル構築処理の処理手順を示すフローチャートの一例を示す図である。
【
図18A】
図17に示したS1706で行われる特性モデル算出処理の処理手順を示すフローチャートの一例を示す図である。
【
図18B】
図17に示したS1706で行われる特性モデル算出処理の処理手順を示すフローチャートの一例を示す図である。
【
図19】モデル構築部がモデル構築処理の実行時に、プロセスモデル構築システムを構成するコンピュータのディスプレイに表示する画面(モデル構築画面)の一例を示す図である。
【
図20】シミュレーション部がシミュレーション処理の実行時に、プロセスモデル構築システムを構成するコンピュータのディスプレイに表示する画面(シミュレーション実行画面)の一例を示す図である。
【
図21】制御機器入力計算部が最適運転条件を満たす制御対象の操業方法を逆算する際に、プロセスモデル構築システムを構成するコンピュータのディスプレイに表示する画面(フィードバック実行画面)の一例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施形態を説明する。以下の記載および図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。
【0011】
図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。
【0012】
以下の説明では、「データベース」、「テーブル」、「リスト」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「XXテーブル」、「XXリスト」等を「XX情報」と呼ぶことがある。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いた場合、これらについてはお互いに置換が可能である。
【0013】
同一あるいは同様な機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0014】
また、以下の説明では、プログラムを実行して行う処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)および/またはインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主体がプロセッサとされてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であれば良く、特定の処理を行う専用回路(例えばFPGA(Field-Programmable Gate Array)やASIC(Application Specific Integrated Circuit))を含んでいてもよい。
【0015】
プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【実施例0016】
以下、本実施例にかかるプロセスモデル構築システム、プロセスモデル構築方法の一実施例の構成について説明する。
【0017】
図1は、実施例1におけるプロセスモデル構築システムの構成の一例を示す図である。
図1に示すように、本実施例にかかるプロセスモデル構築システム1000は、モデル構築部1001と、シミュレーション部1002と、特性パラメータ群1003と、プロセスモデル1004とを有する。
【0018】
プロセスモデル構築システム1000は、理論式で構築したプロセスモデルのパラメータを、制御対象の過去操業実績データに基づいて、プロセスモデルの特性に応じて設定することで、特性の組み合わせが多い制御対象に適したプロセスモデルを構築するシステムである。これにより、特性の組み合わせのそれぞれについてプロセスモデルを作ることなく、少数のプロセスモデルを用いたプロセスシミュレーションが可能となる。制御対象とは、プロセス運転を行う制御機器など、本システムが制御する対象である。以下では、制御対象として、プラントで用いられるリアクタ等の機器を前提として説明するが、プロセス運転を行うプラント以外の様々な機器や装置に適用してよい。また、制御対象の特性として、機器の種類や、制御対象が製造する製造物の品種を前提に説明するが、制御対象の特性をあらわすこれら以外の情報を特性として定めてよい。
【0019】
特性とは、制御対象がプロセス運転を行って製造する製造物の品種や、当該プロセス運転を行う機器など、プロセスモデルの挙動に影響を与える要素である。特性種類とは、例えば、ある種類の特性に含まれる要素の種類をあらわす。特性の組み合わせとは、例えば、複数種類の特性の組み合わせをあらわす。
【0020】
モデル構築部1001は、過去操業実績データ101と準備済みのプロセスモデル1004とに基づいて、プロセス運転を行う制御対象を制御するためのプロセスモデルのパラメータを補正する特性パラメータ(後述)を計算し、計算した当該特性パラメータを、特性パラメータ群1003に格納する。
【0021】
シミュレーション部1002は、入力された特性情報102に基づいて、プロセスモデル1004のパラメータを特性パラメータ群1003に格納された補正パラメータで補正する。シミュレーション部1002は、シミュレーション入力情報103に基づいて、制御対象が行うプロセスの挙動をシミュレーションし、その結果をシミュレーション結果104に格納する。シミュレーション入力情報103は、シミュレーションを行う方法や条件(例えば、ユーザ所望の運転条件)などを定めた情報であり、例えば、制御対象に設定した時刻ごとの設定値をあらわす参照値がある。
【0022】
特性パラメータ群1003には、1または複数の特性パラメータが格納される。特性パラメータ群1003は、制御対象の特性を示すプロセスモデルを補正するための補正パラメータの集合を格納するテーブルである。ここでは、制御対象の特性として、制御対象が製造する製造物の品種を示す特性パラメータ、制御対象となる機器を示す特性パラメータ、の2つの特性パラメータが、特性パラメータ群1003に格納されている場合を例示する。上述の通り、特性パラメータの数や種類については、本システムが適用される環境に応じて適宜定めてよい。
【0023】
プロセスモデル1004は、制御対象の特性をモデル化したものであり、所定の理論式で構築されたモデルである。プロセスモデル1004は、様々な数式により表現することができるが、以下では、一例として、y=ax2+bx+cで表されるモデルを用いて説明する。この場合、a、b、cがモデルのパラメータであり、xがモデルの入力値、yがモデルの出力値となる。プロセスモデル構築システム1000の具体的な機能については、フローチャート等を用いて後述する。また、本例では、プロセスモデル1004が数理モデルに関する1つの論理式により表される場合を例示するが、複数の論理式から構成されていてもよく、さらには、これらの1または複数の論理式への入力や論理式からの出力が複数となってもよい。
【0024】
図1に示したプロセスモデル構築システム1000は、例えば、
図2(コンピュータ概略図)に示すような、CPU1601と、メモリ1602と、HDD(Hard Disk Drive)等の外部記憶装置1603と、CD(Compact Disk)やUSBメモリ等の可搬性を有する記憶媒体1608に対して情報を読み書きする読書装置1607と、スキャナ、キーボード、マウスといった入力装置1606と、ディスプレイ等の出力装置1605と、通信ネットワークに接続するためのNIC(Network Interface Card)等の通信装置1604と、これらを連結するシステムバス等の内部通信線(システムバスという)1609と、を備えた一般的なコンピュータ1600により実現できる。
【0025】
プロセスモデル構築システム1000に記憶され、あるいは処理に用いられる様々なデータ(例えば、特性パラメータ群1003、プロセスモデル1004)は、CPU1601がメモリ1602または外部記憶装置1603から読み出して利用することにより実現可能である。また、各システムや装置が有する各機能部(例えば、モデル構築部1001、シミュレーション部1020)は、CPU1601が外部記憶装置1603に記憶されている所定のプログラムをメモリ1602にロードして実行することにより実現可能である。
【0026】
上述した所定のプログラムは、読書装置1607を介して記憶媒体1608から、あるいは、通信装置1604を介してネットワークから、外部記憶装置1603に記憶(ダウンロード)され、それから、メモリ1602上にロードされて、CPU1601により実行されるようにしてもよい。また、読書装置1607を介して、記憶媒体1608から、あるいは通信装置1604を介してネットワークから、メモリ1602上に直接ロードされ、CPU1601により実行されるようにしてもよい。
【0027】
以下では、プロセスモデル構築システム1000が、ある1つのコンピュータにより構成される場合を例示するが、これらの機能の全部または一部が、クラウドのような1または複数のコンピュータに分散して設けられ、ネットワークを介して互いに通信することにより同様の機能を実現してもよい。プロセスモデル構築システム1000を構成する各部が行う具体的な処理については、フローチャートを用いて後述する。
【0028】
図3は、過去操業実績データ101の一例を示す図である。過去操業実績データ101は、プロセス運転を行う制御対象から得られた過去の稼動実績を示すデータであり、モデル構築部1001に入力される。
図3に示すように、過去操業実績データ101は、データを識別するためのデータIDと、特性を示す品種および機器と、操業実績データとが対応付けて記憶されている。操業実績データは、例えば、プラントを構成する制御対象の操業および計測情報であり、例えば、参照値、操作量、制御量を含む時系列データなどが格納されている。参照値は、制御対象(例えば、リアクタ)に設定した時刻ごとの設定値(この例では、温度の設定値)を示す情報である。操作量は、制御量による制御を実現するための、参照値に基づいて制御対象となる機器が計算した制御対象の運転方法を示す情報である。この例では、制御対象であるリアクタの壁面に温水が流れていると仮定し、温水を流すバルブの開閉度を変えることで温度を変化させている場合を想定して説明している。制御量は、制御対象が実際に行う制御の運転条件であり、例えば、制御対象であるリアクタ内の実際の温度を示す情報である。
【0029】
図3では、例えば、データID「0」で識別される過去操業実績データは、品種「イ」、機器「A」であらわされる特性の制御対象についての操業実績データ301を含んでいる。参照値、操作量、制御量は、それぞれ、参照値α0[℃]:[20,20,50,50,…,20]、操作量β0[%]:[15,18,80,70,…,0]、制御量γ0[℃]:[15,18,37,40,…,30]として、所定の間隔ごと(例えば、1分ごと)の値が時系列に記憶されている。例えば、品種「イ」の製造物を製造する機器「A」の参照値α0には、1分ごとに、20℃,20℃,50℃,50℃,…,20℃といった、温度の値が記憶されている。
【0030】
図4は、プロセスモデル1004の一例およびプロセスモデルと特性との関係の一例を示す図である。プロセスモデルは、上述のとおり所定の理論式で構築したモデルであらわされる。
図4では、y=ax
2+bx+cにより表されるモデルをプロセスモデルとして例示している。この例では、プロセスモデルのパラメータa、b、cの初期値が、それぞれ、2、1、0として与えられている。また、後述する処理により、プロセスモデルのパラメータの補正量が、品種については、それぞれ、+0.2、+0、+0として算出され、機器については、それぞれ、+0、-0.1、+0として算出されたことを示している。その結果、補正後のプロセスモデルのパラメータa、b、cが、それぞれ、1.2、-0.1、0として算出されたことを示している。
【0031】
図5は、特性パラメータ群1003の一例を示す図である。特性パラメータ群1003には、特性に応じた特性パラメータが格納されている。この例では、特性ごと、特性種類ごとに特性パラメータが格納されている。
図5に示すように、特性パラメータ群1003には、制御対象の特性の種類(この例では品種)と、当該特性を示すプロセスモデルのパラメータに対する補正パラメータである特性パラメータとが対応付けて記憶されている。
図5では、例えば、品種「イ」で示されるプロセスモデルのパラメータを補正するための特性パラメータが、それぞれ、a:1.2,b:-0.1,c:0として記憶されていることがわかる。
【0032】
図5では、品種について特性パラメータが記憶されたテーブルを例示したが、当該テーブルは、特性の数だけ特性パラメータ群1003に格納されている。また、
図5では、プロセスモデルがy=ax
2+bx+cで表されるモデルである前提のため、パラメータが、a、b、cの3つにより構成される前提で説明した。しかし、上述の通り、プロセスモデルが他の表現で表される場合には、当該表現の形式に応じた数の特性パラメータが記憶される。
【0033】
図6は、特性情報102の一例を示す図である。特性情報102は、制御対象の特性と、当該特性に含まれる特性種類を示す情報である。特性情報102は、シミュレーション部1020がシミュレーションを実行する際に入力される。
図6に示すように、特性情報102は、特性(例えば、品種、機器など)と、各特性に含まれる特性種類(イ、ロ、A、Bなど)とが対応付けて記憶されている。
図6では、例えば、品種についてはイ、ロなどが特性種類として定められていることを示している。
【0034】
図7は、実施例1においてモデル構築部1001が行うモデル構築処理の処理手順を示すフローチャートの一例を示す図である。当該処理は、ユーザからの処理開始の指示や操作があった場合に行われる。モデル構築処理は、過去操業実績データ101に基づいて特性パラメータを算出するための処理であり、主に、特性パラメータ算出の準備を行うための処理である。
【0035】
S701において、モデル構築部1001は、プロセスモデル1004と過去操業実績データ101とを取得する(S701)。
【0036】
S702において、モデル構築部1001は、任意に設定された、プロセスモデルの初期値を用いてプロセスモデルPを作成する(S702)。例えば、モデル構築部1001は、y=ax2+bx+cで表されるプロセスモデルのパラメータに、初期値a=2、b=1、c=0を設定したプロセスモデルPを作成する。
【0037】
S703において、モデル構築部1001は、過去操業実績データ101から特性リストLを取得する(S703)。例えば、モデル構築部1001は、過去操業実績データ101に定められた品種と機器とを対応付けたリスト[品種,機器]を、特性リストLとして取得する。
【0038】
S704において、モデル構築部1001は、S703で取得した特性リストLから、特性lを非復元抽出し、特性lの特性種類リストKを取得する(S704)。例えば、モデル構築部1001は、上述した特性リストLから、l=品種を取得し、品種についての特性種類リストK=[イ,ロ]を取得する。
【0039】
S705において、モデル構築部1001は、S704で取得した特性種類リストKから、特性種類kを非復元抽出する(S705)。例えば、モデル構築部1001は、上述した特性種類リストK=[イ,ロ]から、特性種類k=イを取得する。
【0040】
S706において、モデル構築部1001は、S705で取得した特性種類kの特性パラメータを算出し、特性パラメータ群1003に格納する(S706)。例えば、モデル構築部1001は、品種イについて、特性パラメータを算出する。具体的な特性パラメータの算出方法については、
図8A、8Bを用いて後述する。
【0041】
S707において、モデル構築部1001は、特性種類リストKが空集合であるか否かを判定する(S707)。例えば、モデル構築部1001が品種の特性種類イについて特性パラメータを算出している場合は、特性種類リストK=[ロ]が存在するため空集合でないと判定し(S707;No)、S705に戻る。そして、モデル構築部1001は、特性種類リストK=[ロ]について、S705、S706を実行する。このときは、特性種類リストK=[イ,ロ]のそれぞれについて処理が実行されている。したがって、モデル構築部1001は、特性種類リストKが空集合であると判定し(S707;Yes)、S708に進む。
【0042】
S708において、モデル構築部1001は、特性リストLが空集合であるか否かを判定する(S708)。例えば、モデル構築部1001が特性リストL=[品種]を処理している場合は、特性リストL=[機器]が存在するため空集合でないと判定し(S708;No)、S704に戻る。そして、モデル構築部1001は、l=[機器]について、S704、S705、S706を実行する。このときは、特性リストL=[品種,機器]のそれぞれについて処理が実行されている。したがって、モデル構築部1001は、特性リストLが空集合であると判定し(S708;Yes)、処理を終了する。
【0043】
図8A、8Bは、
図7に示したS706で行われる特性パラメータ算出処理の処理手順を示すフローチャートの一例を示す図である。特性パラメータ算出処理は、特性パラメータを算出するための処理である。以下、
図3に示した過去操業実績データ101を用いて具体的に説明する。
図8A、8Bを用いた説明では、上述した2種類の特性種類を含む2つの特性の制御対象を例に説明するため、ループ1~ループ4の順に具体的に説明する。
【0044】
ループ1では、特性リストL=[機器]、特性種類リストK=[ロ]について未処理であり、特性l=品種、特性種類k=イが処理される場合について説明する。
【0045】
S801において、モデル構築部1001は、過去操業実績データ101の中から、特性l=特性種類kの部分データDを抽出する(S801)。例えば、モデル構築部1001は、過去操業実績データ101の中から、品種がイのデータを抽出し、データID(#)が0、1で構成される部分データDを作成する。このとき、
図3に示した過去操業実績データ101のうち、データID(#)が、それぞれ0、1で識別されるレコード「0、イ、A、[α0,β0,γ0…]」、「1、イ、B、[α1,β1,γ1…]」が、部分データDとして抽出される。
【0046】
S802において、モデル構築部1001は、ループ変数i=0を設定する(S802)。
【0047】
S803において、モデル構築部1001は、モデル同定データ群の空リストMを作成する(S803)。例えば、モデル構築部1001は、モデル同定データ群M=[]を作成する。モデル同定データ群は、特性や特性種類ごとの過去操業実績データ101に応じて補正されるプロセスモデルの特性パラメータを同定するためのデータの集合である。モデル同定データ群については、
図9A、9Bを用いて後述する。
【0048】
S804において、モデル構築部1001は、部分データDのi番目のデータD[i]を選択する(S804)。ここでは、i=0のため、モデル構築部1001は、部分データDから、データID(#)が0のレコード「0、イ、A、[α0,β0,γ0…]」を選択する。
【0049】
S805において、モデル構築部1001は、データD[i]について特性種類kの特性l以外の特性パラメータが算出済みであるか否かを判定する(S805)。現時点では、品種以外の特性、つまり特性が機器の特性パラメータは算出済みではない。したがって、モデル構築部1001は、データD[i]について特性種類kの特性l以外の特性パラメータが算出済みでないと判定し(S805;No)、S809に進む。
【0050】
S806において、モデル構築部1001は、各算出済み特性パラメータを用いて、プロセスモデルPを補正したプロセスモデルmを作成する(S806)。ここでは、上述の通りS805の判定がNoであるため、モデル構築部1001は、当該処理をスキップする。
【0051】
S807において、[プロセスモデルm,データd[i]]を、モデル同定データ群Mに追加する(S807)。ここでは、上述の通りS805の判定がNoであるため、モデル構築部1001は、当該処理をスキップする。
【0052】
S808において、モデル構築部1001は、i=i+1を実行する(S808)。
【0053】
S809において、モデル構築部1001は、i>=データDの数であるか否かを判定する(S809)。ここでは、i=1となり、データDの数は2であるため、モデル構築部1001は、i>=データの数でないと判定し(S809;No)、S804に戻る。以降、モデル構築部1001は、S807、S808の処理をスキップする。次のループでは、i=2,i>=2となるため、モデル構築部1001は、i>=データの数であると判定し(S809;Yes)、S810に進む。
【0054】
S810において、モデル構築部1001は、モデル同定データ群Mのリストが空であるか否かを判定する(S810)。ここでは、モデル構築部1001は、モデル同定データ群Mのリストがまだ空であると判定し(S810;Yes)、S811に進む。
【0055】
S811において、モデル構築部1001は、モデル同定データ群Mに、[プロセスモデルP,データD]を追加する(S811)。例えば、モデル構築部1001は、S702で作成した、初期値を用いたプロセスモデルPに、S804~S809までのループで選択した、レコード「0、イ、A、[α0,β0,γ0…]」および「1、イ、B、[α1,β1,γ1…]」のそれぞれを対応づけたモデル同定データ群M=[[プロセスモデルP,データD]]を作成する。
【0056】
S812において、モデル構築部1001は、モデル同定データ群Mの各モデルとデータのペアに対し、目的関数を最小化する補正パラメータCを算出する(S812)。例えば、モデル構築部1001は、それぞれのデータDの実測制御量γ0、γ1とプロセスモデルPの推定制御量との差が最小となるようなプロセスモデルPの補正パラメータCを算出する。補正パラメータCは、例えば、C={a:+1,b=-1,c=+3}といったような、
図4に示したプロセスモデル1004のパラメータa、b、cを補正するためのパラメータである。
【0057】
S813において、モデル構築部1001は、S812で算出した補正パラメータを、特性l,特性種類kの特性パラメータとして格納する(S813)。例えば、モデル構築部1001は、特性「品種」の特性種類「イ」についての特性パラメータ={a:+1,b=-1,c=+3}を記録する。ここまでの処理が終了すると、S705に戻り、同じ特性「品種」について異なる特性種類「ロ」について、特性パラメータを算出し、特性パラメータ群1003に格納する処理を行う(S706、
図8A,8B)。
【0058】
続くループ2では、特性リストL=[機器]、特性種類リストK=[]について未処理であり、特性l=品種、特性種類k=ロが処理される場合について説明する。
【0059】
S801において、モデル構築部1001は、過去操業実績データ101の中から、特性l=特性種類kのデータDを抽出する(S801)。例えば、モデル構築部1001は、過去操業実績データ101の中から、品種がロのデータを抽出し、データID(#)が2で構成される部分データDを作成する。このとき、
図3に示した過去操業実績データ101のうち、データID(#)が2で識別されるレコード「2、ロ、B、[α2,β2,γ2…]」が、部分データDとして抽出される。このとき、モデル構築部1001は、データID(#)については、部分データDのレコードを識別するため、IDを振りなおしてレコード「0、ロ、B、[α2,β2,γ2…]」として部分データDを作成する。
【0060】
S802、S803では、モデル構築部1001は、品種イの場合と同様に、ループ変数i=0を設定し、モデル同定データ群の空リストMを作成する。
【0061】
S804では、モデル構築部1001は、部分データDのi番目のデータD[i]を選択する(S804)。ここでは、i=0のため、モデル構築部1001は、部分データDから、データID(#)が0のレコード「0、ロ、B、[α2,β2,γ2…]」を選択する。
【0062】
S805において、モデル構築部1001は、データD[i]について特性種類kの特性l以外についての特性パラメータが算出済みであるか否かを判定する(S805)。ここでは、品種イの場合と同様、現時点で品種以外の特性、つまり特性が機器の特性パラメータは算出済みではないため、S809に進む。
【0063】
S806、S807では、品種イの場合と同様、上述の通りS805の判定がNoであるため、モデル構築部1001は、当該処理をスキップする。
【0064】
S808において、モデル構築部1001は、i=i+1を実行する(S808)。
【0065】
S809において、モデル構築部1001は、i>=データDの数であるか否かを判定する(S809)。ここでは、i=1となり、データDの数は1であるため、モデル構築部1001は、i>=データの数であると判定し(S809;Yes)、S810に進む。
【0066】
S810において、モデル構築部1001は、モデル同定データ群Mのリストが空であるか否かを判定する(S810)。ここでは、モデル構築部1001は、モデル同定データ群Mのリストがまだ空であると判定し(S810;Yes)、S811に進む。
【0067】
S811において、モデル構築部1001は、モデル同定データ群Mに、[プロセスモデルP,データD]を追加する(S811)。例えば、モデル構築部1001は、S702で作成した、初期値を用いたプロセスモデルPに、S804~S809までのループで選択した、レコード「0、ロ、B、[α2,β2,γ2…]」を対応づけたモデル同定データ群M=[[プロセスモデルP,データD]]を作成する。
【0068】
S812において、モデル構築部1001は、モデル同定データ群Mの各モデルとデータのペアに対し、目的関数を最小化する補正パラメータCを算出する(S812)。例えば、モデル構築部1001は、データDの実測制御量γ2とプロセスモデルPの推定制御量との差が最小となるようなプロセスモデルPの補正パラメータCを算出する。補正パラメータCは、例えば、C={a:+2,b=+1,c=+10}といったような、
図4に示したプロセスモデル1004のパラメータa、b、cを補正するためのパラメータである。
【0069】
S813において、モデル構築部1001は、S812で算出した補正パラメータを、特性l,特性種類kの特性パラメータとして格納する。(S813)。例えば、モデル構築部1001は、特性「品種」の特性種類「ロ」についての特性パラメータ={a:+2,b=+1,c=+10}を記録する。ここまでの処理が終了すると、S704に戻り、異なる特性「機器」の特性種類「A」について、特性パラメータを算出し、特性パラメータ群1003に格納する処理を行う(S706、
図8A,8B)。
【0070】
続くループ3では、特性リストL=[]、特性種類リストK=[B]について未処理であり、特性l=機器、特性種類k=Aが処理される場合について説明する。
【0071】
S801において、モデル構築部1001は、過去操業実績データ101の中から、特性l=特性種類kのデータDを抽出する(S801)。例えば、モデル構築部1001は、過去操業実績データ101の中から、機器がAのデータを抽出し、データID(#)が0で構成される部分データDを作成する。このとき、
図3に示した過去操業実績データ101のうち、データID(#)が0で識別されるレコード「0、イ、A、[α0,β0,γ0…]」が、部分データDとして抽出される。
【0072】
S802、S803では、モデル構築部1001は、品種イ、ロの場合と同様に、ループ変数i=0を設定し、モデル同定データ群の空リストMを作成する。
【0073】
S804では、モデル構築部1001は、部分データDのi番目のデータD[i]を選択する(S804)。ここでは、i=0のため、モデル構築部1001は、部分データDから、データID(#)が0のレコード「0、イ、A、[α0,β0,γ0…]」を選択する。
【0074】
S805において、モデル構築部1001は、データD[i]について特性種類kの特性l以外についての特性パラメータが算出済みであるか否かを判定する(S805)。ここでは、機器以外の特性、つまり特性が品種の特性パラメータが算出済みであるため、S806に進む。
【0075】
S806において、モデル構築部1001は、各算出済み特性パラメータを用いて、プロセスモデルPを補正したプロセスモデルmを作成する(S806)。例えば、モデル構築部1001は、ループ1のS813で格納した、特性が品種、特性種類がイの特性パラメータを用いてプロセスモデルPを補正し、プロセスモデルmを作成する。
【0076】
S807において、モデル構築部1001は、モデル同定データ群Mに、[プロセスモデルm,データd[i]]を追加する(S807)。例えば、モデル構築部1001は、S806で作成したプロセスモデルmに、S804で選択した、レコード「0、イ、A、[α0,β0,γ0…]」を対応付けたモデル同定データ群M=[[プロセスモデルm,データd[0](#0)]]を作成する。当該S807の処理により、算出済みの特性パラメータで補正したプロセスモデルmが、今回処理しているデータD[i](レコード「0、イ、A、[α0,β0,γ0…]」)に対応付けて、モデル同定データ群Mのリストに追加される。
【0077】
S808において、モデル構築部1001は、i=i+1を実行する(S808)。
【0078】
S809において、モデル構築部1001は、i>=データDの数であるか否かを判定する(S809)。ここでは、i=1となり、データDの数は1であるため、モデル構築部1001は、i>=データの数であると判定し(S809;Yes)、S810に進む。
【0079】
S810において、モデル構築部1001は、モデル同定データ群Mのリストが空であるか否かを判定する(S810)。ここでは、モデル構築部1001は、S807においてプロセスモデルmについてのモデル同定データを作成し、当該モデル同定データがモデル同定データ群Mのリストに追加している。したがって、モデル構築部1001は、モデル同定データ群Mのリストは空ではないと判定し(S810;No)、S812に進む。
【0080】
S811では、モデル構築部1001は、上述の通りS810の判定がNoであるため、モデル構築部1001は、当該処理をスキップする。
【0081】
S812において、モデル構築部1001は、モデル同定データ群Mの各モデルとデータのペアに対し、目的関数を最小化する補正パラメータCを算出する(S812)。例えば、モデル構築部1001は、データd[0]の実測制御量γ0とプロセスモデルmの推定制御量の差が最小となるようなプロセスモデルmの補正パラメータCを算出する。補正パラメータCは、例えば、C={a:-1,b=+1,c=+1}といったような、
図4に示したプロセスモデル1004のパラメータa、b、cを補正するためのパラメータである。
【0082】
S813において、モデル構築部1001は、S812で算出した補正パラメータを、特性l,特性種類kの特性パラメータとして格納する(S813)。例えば、モデル構築部1001は、特性「機器」の特性種類「A」についての特性パラメータ={a:-1,b=+1,c=+1}を記録する。ここまでの処理が終了すると、S704に戻り、同じ特性「機器」について異なる特性種類「B」について、特性パラメータを算出し、特性パラメータ群1003に格納する処理を行う(S706、
図8A,8B)。
【0083】
続くループ4では、特性リストL=[]、特性種類リストK=[]について未処理であり、特性l=機器、特性種類k=Bが処理される場合について説明する。
【0084】
S801において、モデル構築部1001は、過去操業実績データ101の中から、特性l=特性種類kのデータDを抽出する(S801)。例えば、モデル構築部1001は、過去操業実績データ101の中から、機器がBのデータを抽出し、データID(#)が1、2で構成される部分データDを作成する。このとき、
図3に示した過去操業実績データ101のうち、データID(#)が1、2で識別されるレコード「1、イ、B、[α1,β1,γ1…]」、「2、ロ、B、[α2,β2,γ2…]」が、部分データDとして抽出される。このとき、モデル構築部1001は、データID(#)については、部分データDのレコードを識別するため、IDを振りなおしてレコード「0、イ、B、[α1,β1,γ1…]」、「1、ロ、B、[α2,β2,γ2…]」として部分データDを作成する。
【0085】
S802、S803では、モデル構築部1001は、品種イ、ロ、機器Aの場合と同様に、ループ変数i=0を設定し、モデル同定データ群の空リストMを作成する。
【0086】
S804では、モデル構築部1001は、部分データDのi番目のデータD[i]を選択する(S804)。ここでは、i=0のため、モデル構築部1001は、部分データDから、データID(#)が0のレコード「0、イ、B、[α1,β1,γ1…]」を選択する。
【0087】
S805において、モデル構築部1001は、データD[i]について特性種類kの特性l以外についての特性パラメータが算出済みであるか否かを判定する(S805)。ここでは、機器以外の特性、つまり特性が品種の特性パラメータが算出済みであるため、S806に進む。
【0088】
S806において、モデル構築部1001は、各算出済み特性パラメータを用いて、プロセスモデルPを補正したプロセスモデルmを作成する(S806)。例えば、モデル構築部1001は、ループ1のS813で格納した、特性が品種、特性種類がイの特性パラメータを用いてプロセスモデルPを補正し、プロセスモデルmを作成する。
【0089】
S807において、モデル構築部1001は、モデル同定データ群Mに、[プロセスモデルm,データd[i]]を追加する(S807)。例えば、モデル構築部1001は、S806で作成したプロセスモデルmに、S804で選択した、レコード「0、イ、B、[α1,β1,γ1…]」を対応付けたモデル同定データ群M=[[プロセスモデルm,データd[0](#0)]]を作成する。当該S807の処理により、算出済みの特性パラメータで補正したプロセスモデルmが、今回処理しているデータD[i](レコード「0、イ、B、[α1,β1,γ1…]」)に対応付けてモデル同定データ群Mのリストに追加される。
【0090】
S808において、モデル構築部1001は、i=i+1を実行する(S808)。
【0091】
S809において、モデル構築部1001は、i>=データDの数であるか否かを判定する(S809)。ここでは、i=1となり、データDの数は2であるため、モデル構築部1001は、i>=データの数でないと判定し(S809;No)、S804に戻る。以降、モデル構築部1001は、S806、S807の処理をスキップする。次のループでは、i=2、i>=2となるため、モデル構築部1001は、i>=データの数であると判定し(S809;Yes)、S810に進む。上記次のループを終了すると、モデル構築部1001は、S806で作成したプロセスモデルmに、上記次のループのS804で選択した、レコード「2、ロ、B、[α2,β2,γ2…]」を対応付けたモデル同定データ群M=[[プロセスモデルm,データd[1](#1)]]を作成する。最終的に、モデル同定データ群M[[プロセスモデルm(イ),データd[0](#0)]]、[[プロセスモデルm(ロ),データd[1](#1)]]が作成される。
【0092】
S810において、モデル構築部1001は、モデル同定データ群Mのリストが空であるか否かを判定する(S810)。ここでは、モデル構築部1001は、S807においてプロセスモデルmについてのモデル同定データを作成し、当該モデル同定データがモデル同定データ群Mのリストに追加している。したがって、モデル構築部1001は、モデル同定データ群Mのリストは空ではないと判定し(S810;No)、S812に進む。
【0093】
S811では、モデル構築部1001は、上述の通りS810の判定がNoであるため、モデル構築部1001は、当該処理をスキップする。
【0094】
S812において、モデル構築部1001は、モデル同定データ群Mの各モデルとデータのペアに対し、目的関数を最小化する補正パラメータCを算出する(S812)。例えば、モデル構築部1001は、データd[0]の実測制御量γ1とプロセスモデルm(イ)の推定制御量の差と、同じくデータd[1]の実測制御量γ2とプロセスモデルm(ロ)の推定制御量の差が最小となるようなプロセスモデルmの補正パラメータCを算出する。補正パラメータCは、例えば、C={a:+0,b=+0,c=+1}といったような、
図4に示したプロセスモデル1004のパラメータa、b、cを補正するためのパラメータである。
【0095】
S813において、モデル構築部1001は、S812で算出した補正パラメータを、特性l,特性種類kの特性パラメータとして格納する。(S813)。例えば、モデル構築部1001は、特性「機器」の特性種類「B」についての特性パラメータ={a:+0,b=+0,c=+1}を記録する。ここまでの処理が終了すると、すべての特性およびすべての特性種類について、
図8A、8Bに示した特性パラメータ算出処理が行われたこととなる。したがって、
図7に示したモデル構築処理のS707に進む。
【0096】
S707では、すでに特性種類リストK=[イ,ロ]のそれぞれについて処理が実行されているため、モデル構築部1001は、特性種類リストKが空集合であると判定し(S707;Yes)、S708に進む。
【0097】
S708では、すでに特性リストL=[品種,機器]のそれぞれについて処理が実行されているため、モデル構築部1001は、特性リストLが空集合であると判定し(S708;Yes)、処理を終了する。
【0098】
図9A、9Bは、
図8A、8Bに示した特性パラメータ算出処理においてモデル同定データ群に記録されたプロセスモデルのモデル同定処理の処理手順を示すフローチャートの一例を示す図である。当該処理は、特性パラメータ算出処理から呼び出された場合に行われる。例えば、特性パラメータ算出処理のS812の処理内で呼び出される。モデル同定処理は、特性パラメータ算出処理においてモデル同定データ群に記録されたプロセスモデルとデータのペアに対して同定を実行するための処理である。
【0099】
図8A、8Bにおいて説明したように、モデル同定データ群Mには、プロセスモデルとデータとが対応付けられたペアのデータ(例えば、[プロセスモデルP,データD]、[プロセスモデルm,データd[i]])が複数格納されている。この例では、モデル同定データ群Mには、[[プロセスモデルm(イ),データd[0](#0)]]、[[プロセスモデルm(ロ),データd[1](#1)]]が格納されている。モデル同定データ群Mは、算出済みの各特性についての特性パラメータで補正したプロセスモデルと、補正前のプロセスモデルを構築したときに用いた過去操業実績データ101に含まれる制御対象の特性についての実績値とを対応付けたデータである。データD、データd[i]は、過去操業実績データ101の部分データであり、これまで説明したように、参照値α、操作量β、制御量γの各実績値が記録されている。
【0100】
以下に示す処理では、各データのペアについて、モデル構築部1001は、まず、プロセスモデルを特性パラメータで補正する。次に、モデル構築部1001は、当該補正を行ったプロセスモデルに対応するデータ(例えば、制御量)と、当該プロセスモデルの出力推定値(例えば、参照値/操作量を入力して得られた制御量の推定値)との差分を、任意の目的関数を用いて算出する。任意の目的関数としては、例えば、RMSE(Root Mean Squared Error)を用いることができる。
【0101】
そして、モデル構築部1001は、最終的に、各データのペアごとに、プロセスモデルと各実績値との差分を算出し、各データのペアごとに算出した当該差分の平均値を算出する。モデル構築部1001は、算出した平均値が十分に小さいなど、所定の基準を満たす場合には当該処理を終了し、最終的な特性パラメータとして返却する。一方、上記任意の基準を満たさない場合には、特性パラメータの決定からやり直す。以下、フローチャートに沿って具体的に説明する。
【0102】
S901において、モデル構築部1001は、S812において算出された特性パラメータの候補および特性パラメータを任意の最適化アルゴリズムに基づいて選択する(S901)。
【0103】
S902において、モデル構築部1001は、ループ変数j=0を設定する(S902)。
【0104】
S903において、モデル構築部1001は、目的関数の結果を格納する空リストVを作成する(S903)。例えば、モデル構築部1001は、目的関数結果リストV=[]を作成する。
【0105】
S904において、モデル構築部1001は、モデル同定データ群Mに記録されたj番目のリストM[j]より、プロセスモデルm,データdを取得する(S904)。
【0106】
S905において、モデル構築部1001は、S904で取得したプロセスモデルmを、S901で選択した特性パラメータで補正し、プロセスモデルm’を取得する(S905)。
【0107】
S906において、モデル構築部1001は、S905で補正したプロセスモデルm’と、S904で取得したプロセスモデルmに対応するデータdを用いて、任意の目的関数の値vを算出し、当該値vを目的関数結果リストVに追加する(S906)。
【0108】
S907において、モデル構築部1001は、j=j+1を実行する(S907)。
【0109】
S908において、モデル構築部1001は、モデル同定データ群Mの長さ>=jであるか否かを判定する(S908)。すなわち、モデル構築部1001は、jがモデル同定データ群Mとして格納されているレコードの数に達したか否かを判定する。
【0110】
モデル構築部1001は、jがモデル同定データ群Mとして格納されているレコードの数に達していないと判定した場合(S908;No)、S904に戻り、以降の処理を繰り返す。一方、モデル構築部1001は、jがモデル同定データ群Mとして格納されているレコードの数に達したと判定した場合(S908;Yes)、S909に進む。
【0111】
S909において、モデル構築部1001は、S906において目的関数結果リストVに記録された、任意の目的関数の値vの平均値aを算出し、所定の基準と比較するなどして、算出した平均値aを評価する(S909)。
【0112】
S910において、モデル構築部1001は、算出した平均値aが所定の基準を満たすか否かを判定する(S910)。モデル構築部1001は、算出した平均値aが所定の基準を満たさないと判定した場合(S910;No)、S901に戻り、特性パラメータを選択し直す。
【0113】
S911において、モデル構築部1001は、算出した平均値aが所定の基準を満たすと判定した場合(S910;Yes)、S901で選択した特性パラメータを最終的な特性パラメータであると判断して出力する(S911)。
【0114】
以上説明したように、
図7~9Bまでの処理が終了すると、理論式で構築したプロセスモデルのパラメータを、過去操業実績データに基づいて特性ごとに補正した新たなプロセスモデルを構築することができ、特性の組み合わせごとにプロセスモデルを作成することなく、制御対象の動特性を表現することができる。したがって、特性の組み合わせが膨大となるような制御対象に対しても、少数のプロセスモデルを用いて、プロセスシミュレーションを行うことができるようになる。
【0115】
図10は、実施例1においてシミュレーション部1002が行うシミュレーション処理の処理手順を示すフローチャートの一例を示す図である。当該処理は、ユーザからの処理開始の指示や操作があった場合に行われる。シミュレーション処理は、モデル構築部1001が行ったモデル構築処理において構築されたプロセスモデルを用いてプロセスシミュレーションを行う処理である。
【0116】
S1001において、シミュレーション部1002は、
図7~9Bで格納された特性パラメータ群1003から、入力された特性情報102に一致する特性パラメータを取得する(S1001)。
【0117】
S1002において、シミュレーション部1002は、取得した特性パラメータを用いてプロセスモデルPを補正し、プロセスモデルP’を作成する(S1002)。
【0118】
S1003において、シミュレーション部1002は、S1002で作成したプロセスモデルP’にシミュレーション入力情報103を入力し、プロセスモデルP’による制御対象のプロセスシミュレーションを実行する(S1003)。
【0119】
S1004において、シミュレーション部1002は、上記プロセスシミュレーションを実行した結果を返却する(S1004)。
【0120】
このように、本実施例では、コンピュータにより、制御対象の特性をモデル化したプロセスモデルを構築するプロセスモデル構築システムにおいて、上記制御対象の特性に応じた稼働実績を示す過去操業実績データ(例えば、過去操業実績データ101)から上記特性(例えば、品種や機器など)を取得する第1の処理部(例えば、モデル構築部1001、
図7)と、上記過去操業実績データに含まれる上記特性についての上記制御対象のプロセスの実績値(例えば、制御対象の制御量)と、所定の理論式(例えば、
図4に示した理論式)で構築された上記プロセスモデルにより推定される上記制御対象のプロセスの推定値とが所定の条件(例えば、実測制御量とプロセスモデルの推定制御量との差が最小となるという条件)を満たすような、上記プロセスモデルを補正するための特性パラメータ(例えば、
図5に示した特性パラメータ群1003に格納された特性パラメータ)を、上記特性ごとに算出する第2の処理部(例えば、モデル構築部1001、
図8)と、を有する。これにより、制御対象が複数の特性を有する場合でも、従来に比べて構築負荷や運用負荷がかからないプロセスモデルを構築することができ、また、プロセスシミュレーションを行うために構築するプロセスモデルの数を抑えることができる。
【0121】
また、上記プロセスモデル構築システムに入力される、上記制御対象の特性と当該特性に含まれる特性種類とを示す特性情報(例えば、特性情報102)と同じ特性の上記特性パラメータを用いて補正したプロセスモデルを作成し、作成した当該プロセスモデルを用いて、上記制御対象のプロセスの挙動をシミュレーションする第3の処理部(例えば、シミュレーション部1002)を有する。これにより、特性や特性種類の組み合わせが膨大となるような制御対象に対しても、上記モデル構築部1001により構築された少数のプロセスモデルを用いて、プロセスシミュレーションを行うことができる。
【0122】
以上、実施例1について具体的に説明したが、本システムが使用される環境に応じて、適宜以下のような変形も可能である。
【0123】
例えば、モデル構築部1001は、プロセスモデルのパラメータを様々な方法で補正してもよい。
【0124】
上述した実施例では、モデル構築部1001は、理論式で構築したプロセスモデルのパラメータを補正するための特性パラメータを、過去操業実績データに基づいて、制御対象の特性ごとに算出した。しかし、モデル構築部1001が、算出した特性パラメータに基づく統計値を算出し、当該統計値に基づく統計特性パラメータを用いて、上記理論式で構築したプロセスモデルのパラメータを補正してもよい。上記統計値としては、例えば、モデル構築部1001が、特性パラメータ群1003に格納されている特性パラメータを重み付き線形和で補正する、特性パラメータを重み付き乗算で補正する、プロセスモデルの初期パラメータに対する補正倍率で補正する、などの処理により得られた統計値がある。上記重みづけや補正倍率については、あらかじめユーザが定めておけばよい。
【0125】
このように、上記第2の処理部(例えば、モデル構築部1001、
図8)は、上記特性ごとに算出した上記特性パラメータに基づく統計値を算出し、当該統計値に基づく統計特性パラメータを用いて、上記所定の理論式で構築された上記プロセスモデルを補正する。これにより、ユーザがあらかじめ指定した、上述した各方法で補正した特性パラメータを用いて、プロセスモデルのパラメータを補正することができる。
【0126】
また、プロセスモデルのパラメータの初期値を、過去操業実績データから同定して求めてもよい。
【0127】
上述した実施例では、プロセスモデルのパラメータの初期値は、あらかじめ与えられるものとして説明した。しかし、例えば、モデル構築部1001が、過去操業実績データから同定された、
図9A、9Bに示したモデル同定処理により得られた特性パラメータにより補正されたプロセスモデルのパラメータを、初期値として設定してもよい。
【0128】
このように、上記第2の処理部(例えば、モデル構築部1001、
図8)は、上記特性パラメータで補正した上記プロセスモデルと、補正前のプロセスモデルを構築したときに用いた上記過去操業実績データに含まれる実績値とを対応付けたモデル同定データを作成し、作成した当該モデル同定データに含まれる上記特性パラメータで補正した上記プロセスモデルと上記実績値とのペアに対して同定を実行するモデル同定処理(例えば、
図9A、9Bに示したモデル同定処理)を行い、上記第1の処理部は、上記プロセスモデルのパラメータの初期値として、上記モデル同定処理により得られた上記特性パラメータにより補正されたプロセスモデルのパラメータを設定する。これにより、あらかじめユーザが指定しなくても、過去操業実績データに基づいて、自動的にプロセスモデルのパラメータの初期値を設定することができる。
【0129】
また、特性パラメータをユーザが手動で指定してもよい。
【0130】
上述した実施例では、モデル構築部1001は、理論式で構築したプロセスモデルのパラメータを補正するための特性パラメータを、過去操業実績データに基づいて、制御対象の特性ごとに算出した。しかし、モデル構築部1001が、ユーザから指定された特性パラメータを特性パラメータ群に保存してもよい。あるいは、モデル構築部1001は、算出した特性パラメータの一部(例えば、特性パラメータ={a:+0,b=+0,c=+1}のうちの{a:+0,b=+0})と、ユーザから指定された特性パラメータ(例えば、特性パラメータ={a:+0,b=+0,c=+1}のうちの{c=+1})とを、特性パラメータ群に保存してもよい。
【0131】
このように、プロセスモデル構築システム1000が、上記特性パラメータの入力を受け付ける入力部(例えば、入力装置1606)を有し、上記第2の処理部(例えば、モデル構築部1001、
図8)は、上記特性パラメータのうちの少なくとも一部のパラメータを、上記入力部から入力されたパラメータに設定し、設定した当該パラメータ以外のパラメータについて、上記算出を行う。これにより、ユーザの意図を反映した特性パラメータを直接的に格納することができる。
【0132】
上述したように、本システムは、プロセス運転を行う様々なプラントに適用することができる。この場合、上記第1の処理部(例えば、モデル構築部1001、
図7)において、上記過去操業実績データから、上記制御対象の特性(例えば、リアクタの特性)を示す、第1の機器および第1の品種を取得し、上記第2の処理部(例えば、モデル構築部1001、
図8)は、上記第1の機器および上記第1の品種についての上記制御対象のプロセスの実績値(例えば、リアクタの制御量)と上記制御対象のプロセスの推定値とが所定の条件(例えば、リアクタについての実測制御量とプロセスモデルの推定制御量との差が最小となるという条件)を満たすような上記特性パラメータを、上記第一の機器および上記第一の品種ごとに算出し、少なくとも、算出した当該特性パラメータに基づいて、上記第1の機器にて上記第1の品種を生成する際の上記プロセスモデルを補正する。これにより、プロセス運転を行う様々なプラントにおいて、従来に比べて構築負荷や運用負荷がかからないプロセスモデルを構築することができ、また、プロセスシミュレーションを行うために構築するプロセスモデルの数を抑えることができるようになる。
実施例2では、シミュレーション部1002によるシミュレーションの結果を用いて、最適運転条件を満たす制御対象の操業方法を逆算し、その結果を制御対象にフィードバックする場合について説明する。
このように、本実施例では、所定のアルゴリズム(例えば、任意の最適化アルゴリズム)と、上記制御対象から得られる上記制御対象についての制御量のフィードバック結果とを用いて、上記制御対象への入力値(例えば、操作量、参照値、制御量の時系列データ(またはこれらの一部または全部を組み合わせたデータセット))を計算し、上記制御対象に対する所望の運転条件(例えば、運転条件データ106)と一致する入力値を見出す最適化計算を行う第4の処理部(例えば、制御機器入力計算部2001)を有する。すなわち、制御機器入力計算部2001が、所望の運転条件を満たす制御対象の入力値を、制御対象から得られるフィードバック結果に基づいて、都度、再計算するので、現時点での制御対象に最適な運転条件を満たす入力値を計算することができる。したがって、実施例1と同様に特性の種類や特性の組み合わせが多い場合でも、最適運転条件を満たす操作量を逆算することができる。