(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-28
(45)【発行日】2024-09-05
(54)【発明の名称】プロセスモデル構築システム、プロセスモデル構築方法
(51)【国際特許分類】
G05B 23/02 20060101AFI20240829BHJP
【FI】
G05B23/02 G
(21)【出願番号】P 2023179955
(22)【出願日】2023-10-19
(62)【分割の表示】P 2021194005の分割
【原出願日】2021-11-30
【審査請求日】2023-10-19
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】石飛 太一
(72)【発明者】
【氏名】望月 義則
(72)【発明者】
【氏名】馬場 英敏
(72)【発明者】
【氏名】丹藤 順志
【審査官】田中 友章
(56)【参考文献】
【文献】特開2001-209405(JP,A)
【文献】国際公開第2018/138880(WO,A1)
【文献】特開2017-215832(JP,A)
【文献】特開平11-312003(JP,A)
【文献】特開2006-72637(JP,A)
【文献】特開2014-206870(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
G05B 13/04
(57)【特許請求の範囲】
【請求項1】
コンピュータにより、プロセス運転を行うプラントのプロセスシミュレーションを行うためのプロセスモデルを構築するプロセスモデル構築システムであって、
制御対象に関するプロセスモデルと、前記プロセスモデルの挙動に影響を与える要素である前記制御対象の特性の種類毎に算出される前記プロセスモデルを補正するための情報である特性パラメータと、前記特性についての前記特性パラメータを推定する特性パラメータモデルと、を格納する記憶部と、
前記特性パラメータモデルから得られた前記特性パラメータの推定値を用いて前記プロセスモデルを補正する処理部と、を備える、
ことを特徴とするプロセスモデル構築システム。
【請求項2】
前記プロセスモデルは、所定の理論式で構築されるモデル、または、前記制御対象から得られた過去の稼動実績を示すデータである過去操業実績データに基づいて所定の機械学習で構築されるモデルである、
ことを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項3】
前記特性パラメータモデルは、前記制御対象の特性と当該特性に影響を与える要素とを対応付けた特性情報を説明変数とし、前記特性の制御対象のプロセスモデルを補正する前記特性パラメータを目的変数として構築されるものであり、
前記処理部は、前記特性パラメータモデルに前記特性情報を入力して得られた前記特性パラメータの推定値を用いて前記プロセスモデルを補正する、
ことを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項4】
前記特性には、前記制御対象の機器が含まれており、
前記特性パラメータモデルは、前記制御対象の機器の種類に対して前記特性パラメータを出力可能な特性パラメータモデルが含まれており、
前記処理部は、前記制御対象の機器の種類に対する前記特性パラメータに基づいて前記プロセスモデルを補正する、
ことを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項5】
前記特性には、前記制御対象の品種が含まれており、
前記特性パラメータモデルには、前記制御対象が製造する製造物の品種の種類に対して前記特性パラメータを出力可能な特性パラメータモデルが含まれており、
前記処理部は、前記制御対象が製造する製造物の品種の種類に対する前記特性パラメータに基づいて前記プロセスモデルを補正する、
ことを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項6】
前記特性には、少なくとも、前記制御対象の機器と、制御対象がプロセス運転を行って製造する製造物の品種と、が含まれており、
前記特性パラメータモデルには、少なくとも前記制御対象の機器の種類に対して前記特性パラメータを出力可能な特性パラメータモデルと、前記制御対象がプロセス運転を行って製造する製造物の品種に対して前記特性パラメータを出力可能な特性パラメータモデルと、がそれぞれ含まれ、
前記処理部は、少なくとも前記制御対象の機器の種類に対する前記特性パラメータ及び前記制御対象が製造する製造物の品種の種類に対する前記特性パラメータに基づいて前記プロセスモデルを補正する、
ことを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項7】
前記特性は、複数の異なる種類があり、
前記処理部は、複数種類の前記特性の組み合わせに関連する前記特性パラメータに基づいて、前記プロセスモデルを補正する、
ことを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項8】
前記記憶部は、前記制御対象の特性と当該特性に含まれる特性種類とを示す特性情報を記憶し、
前記処理部は、前記特性パラメータモデル及び前記プロセスモデル構築システムに入力される前記特性情報に基づいて前記特性パラメータを推定し、推定した前記特性パラメータによって補正した前記プロセスモデルに基づいてシミュレーションを実行する、
ことを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項9】
前記処理部は、所定のアルゴリズムと、前記制御対象から得られる前記制御対象についての制御量のフィードバック結果とを用いて、前記制御対象への入力値を計算し、前記制御対象に対する所望の運転条件と一致する入力値を見出す最適化計算を行う、
ことを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項10】
前記処理部は、前記特性情報と、前記シミュレーションを行うための所望の運転条件を定めたシミュレーション入力情報とを含む入力情報と、前記シミュレーションの実行により得られた前記シミュレーションの結果を含む出力情報とを、処理前後の状態として前記コンピュータの画面に表示する、
ことを特徴とする請求項8に記載のプロセスモデル構築システム。
【請求項11】
前記処理部は、前記制御対象に対する所望の運転条件と前記特性情報とを含む入力情報と、前記所望の運転条件と前記シミュレーションの結果とが一致する入力の時系列データである前記制御対象の入力値とを含む出力情報とを、処理前後の状態として前記コンピュータの画面に表示する、
ことを特徴とする請求項
8に記載のプロセスモデル構築システム。
【請求項12】
前記処理部は、前記シミュレーションの結果と、前記制御対象の制御結果との差分が所定の閾値を超えた場合、前記差分が小さくなるように前記プロセスモデルの前記特性パラメータを補正し、前記シミュレーションを再実行する、
ことを特徴とする請求項8に記載のプロセスモデル構築システム。
【請求項13】
さらに、前記特性パラメータの入力を受け付ける入力部を備え、
前記処理部は、前記特性パラメータのうちの少なくとも一部のパラメータを、前記入力部から入力されたパラメータに設定し、設定した当該パラメータ以外のパラメータについて、前記推定を行う、
ことを特徴とする請求項1に記載のプロセスモデル構築システム。
【請求項14】
コンピュータにより、プロセス運転を行うプラントのプロセスシミュレーションを行うためのプロセスモデルを構築するプロセスモデル構築方法であって、
制御対象に関するプロセスモデルと、前記プロセスモデルの挙動に影響を与える要素である前記制御対象の特性の種類毎に算出される前記プロセスモデルを補正するための情報である特性パラメータと、前記特性についての前記特性パラメータを推定する特性パラメータモデルと、を格納するステップと、
前記特性パラメータモデルから得られた前記特性パラメータの推定値を用いて前記プロセスモデル補正するステップと、を備える、
ことを特徴とするプロセスモデル構築方法。
【発明の詳細な説明】
【技術分野】
【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以上のプログラムとして実現されてもよい。
【実施例1】
【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】
【0133】
実施例2では、シミュレーション部1002によるシミュレーションの結果を用いて、最適運転条件を満たす制御対象の操業方法を逆算し、その結果を制御対象にフィードバックする場合について説明する。
【0134】
図11は、実施例2におけるプロセスモデル構築システムの構成の一例を示す図である。
図11に示すように、本実施例にかかるプロセスモデル構築システム2000は、実施例1におけるプロセスモデル構築システム1000の構成に加え、さらに、制御機器入力計算部2001を有している。また、プロセスモデル構築システム2000は、ユーザにより指定された、制御対象に対する所望の運転条件データ106の入力を受け付ける。
図11に示したプロセスモデル構築システム2000は、実施例1の場合と同様、例えば、
図2(コンピュータ概略図)に示すような、ハードウェアとしては一般的なコンピュータ1600により実現できる。以下では、実施例1におけるプロセスモデル構築システム1000と同一の構成要素には同一の符号を付して、その説明を省略している。
【0135】
制御機器入力計算部2001は、与えられた制御対象に対する所望の運転条件データ106を満たすための制御対象105への入力値を逆算して求める処理部である。制御機器入力計算部2001は、任意の最適化アルゴリズムを用いて、制御対象105への入力値を試行錯誤して計算し、上記所望の運転条件と一致する入力値を見出す最適化計算を行う。例えば、制御機器入力計算部2001は、制御対象105から得られる制御量のフィードバック結果を用いて、逐次、上記最適化計算を再実行し、制御対象105の稼働状況に合わせて最適な入力値を計算する。制御対象105への入力値としては、操作量、参照値、制御量の時系列データ(またはこれらの一部または全部を組み合わせたデータセット)が挙げられる。また、所望の運転条件データ106としては、例えば、
図3に示した過去操業実績データ101の操業実績データ301のなかからユーザにより選択された、模範となる操業実績データが挙げられる。
【0136】
このように、本実施例では、所定のアルゴリズム(例えば、任意の最適化アルゴリズム)と、上記制御対象から得られる上記制御対象についての制御量のフィードバック結果とを用いて、上記制御対象への入力値(例えば、操作量、参照値、制御量の時系列データ(またはこれらの一部または全部を組み合わせたデータセット))を計算し、上記制御対象に対する所望の運転条件(例えば、運転条件データ106)と一致する入力値を見出す最適化計算を行う第4の処理部(例えば、制御機器入力計算部2001)を有する。すなわち、制御機器入力計算部2001が、所望の運転条件を満たす制御対象の入力値を、制御対象から得られるフィードバック結果に基づいて、都度、再計算するので、現時点での制御対象に最適な運転条件を満たす入力値を計算することができる。したがって、実施例1と同様に特性の種類や特性の組み合わせが多い場合でも、最適運転条件を満たす操作量を逆算することができる。
【実施例3】
【0137】
実施例3では、未知の特性(例えば、品種や機器)に対しても特性パラメータを推定し、プロセスシミュレーションを実施する場合について説明する。
【0138】
図12Aは、実施例3におけるプロセスモデル構築システムの構成の一例を示す図である。
図12Aに示すように、本実施例にかかるプロセスモデル構築システム3000は、実施例1におけるプロセスモデル構築システム1000の構成に加え、さらに、特性パラメータモデル構築部3001と、実施例1、実施例2とは異なるシミュレーション部3002と、特性パラメータモデル3003とを有している。また、プロセスモデル構築システム3000は、特性追加情報107の入力を受け付ける。
図12Aに示したプロセスモデル構築システム3000は、実施例1、実施例2の場合と同様、例えば、
図2(コンピュータ概略図)に示すような、ハードウェアとしては一般的なコンピュータ1600により実現できる。以下では、実施例1、実施例2におけるプロセスモデル構築システム1000、プロセスモデル構築システム2000と同一の構成要素には同一の符号を付して、その説明を省略している。
【0139】
特性パラメータモデル構築部3001は、特性パラメータ群1003と特性追加情報107とを用いて、特性追加情報107から特性パラメータを推定する機械学習モデルを構築する処理部である。例えば、特性パラメータモデル構築部3001は、ある特性(例えば、制御対象が製造する品種)について、当該特性に影響を与える要素(例えば、原材料の比率)がわかっている場合、その品種と原材料の比率とを特性追加情報107として取得する。特性パラメータモデル構築部3001は、取得した特性追加情報107を説明変数、特性パラメータを目的変数として、任意の機械学習等の手法を用いて、パラメータ推定器となる特性パラメータモデルを構築する。これにより、未知の特性種類に対しても特性パラメータを推定し、プロセスモデルの動特性を推定することができる。
【0140】
特性追加情報107は、上述した特性パラメータモデルを構築したり、未知の特性の特性パラメータを推定する場合に参照するデータである。
【0141】
図12Bは、特性追加情報107の一例を示す図である。
図12Bに示すように、特性追加情報107は、未知の特性(例えば、制御対象が製造する未知の品種)と、当該特性に対応する特徴情報(例えば、制御対象が製造する品種の原材料)とが対応付けて記憶されている。
図12Bでは、例えば、制御対象が製造する品種イの原材料の内訳となる比率は、原材料1が30%、…原材料kが20%であることを示している。ここでは、品種の原材料について例示したが、機材の設定値など、特性の特徴をあらわす様々な情報を特性追加情報として定めてよい。
【0142】
シミュレーション部3002は、特性情報102の特性に一致する特性パラメータでプロセスモデルを補正する際、未知の特性の種類(過去操業実績のない品種など)に対して、特性追加情報107と上述した特性パラメータモデルとを用いて特性パラメータを推定する。例えば、シミュレーション部3002は、
図10に示したS1001において、特性追加情報107を用いて構築された上記特性パラメータモデルに、入力された特性情報102を入力し、当該特性情報102に一致する特性パラメータの推定値を取得する。さらに、S1002において、シミュレーション部3002は、取得した特性パラメータの推定値を用いて、プロセスモデルを補正し、以降、S1003、S1004と同様にシミュレーションを行う。
【0143】
このように、本実施例では、上記制御対象の特性(例えば、制御対象が製造する未知の品種)と当該特性に影響を与える要素(例えば、制御対象が製造する品種の原材料などの特徴情報)とを対応付けた特性情報(例えば、特性追加情報107)を説明変数、上記特性の制御対象のプロセスモデルを補正する上記特性パラメータを目的変数とした機械学習により、上記特性についての上記特性パラメータを推定する特性パラメータモデルを構築する第5の処理部(例えば、特性パラメータモデル構築部3001)を有し、上記第3の処理部(例えば、シミュレーション部3002)は、上記特性パラメータモデルに上記特性情報を入力して得られた上記特性パラメータの推定値を用いて補正した上記プロセスモデルを用いて、上記制御対象のプロセスの挙動をシミュレーションする。すなわち、特性パラメータモデル構築部3001が、特性追加情報107(例えば、特性が品種である場合、その品種の原材料比率など)と特性パラメータ群1003を用いて特性パラメータモデルを構築し、シミュレーション部3002が、構築された特性パラメータモデルに特性情報102を入力して得た特性パラメータの推定値を用いて、プロセスモデルを補正し、シミュレーション部3002が補正されたプロセスモデルを用いてシミュレーションを行う。したがって、未知の品種や機器に対しても特性パラメータを推定し、プロセスシミュレーションを実施することができる。すなわち、未知の特性の種類、または特性の組み合わせに対しても動特性を推定し、プロセスシミュレーションを行うことができるようになる。
【実施例4】
【0144】
実施例4では、過去操業実績データの数が少ない制御対象においては、特性や特性種類の組み合わせが少なくなり、特定の組み合わせでは特性パラメータに矛盾が生じる場合がある。以下では、特性パラメータに矛盾が発生した場合、その矛盾を解消する方法について説明する。
【0145】
図13Aは、実施例4におけるプロセスモデル構築システムの構成の一例を示す図である。
図13Aに示すように、本実施例にかかるプロセスモデル構築システム4000は、実施例1におけるプロセスモデル構築システム1000の構成に加え、さらに、モデル同定情報4001を有し、実施例1~3とは異なるモデル構築部4002を有している。
図13Aに示したプロセスモデル構築システム4000は、実施例1~3の場合と同様、例えば、
図2(コンピュータ概略図)に示すような、ハードウェアとしては一般的なコンピュータ1600により実現できる。以下では、実施例1~3におけるプロセスモデル構築システム1000、プロセスモデル構築システム2000、プロセスモデル構築システム3000と同一の構成要素には同一の符号を付して、その説明を省略している。
【0146】
モデル同定情報4001は、モデル構築部4002が、
図9A、9Bに示したようなモデル同定を行う際に参照する情報であり、特性や特性種類ごとの過去操業実績データ101に応じて補正されるプロセスモデルの特性モデルを同定するためのデータの集合である。実施例1では、
図5に示した特性パラメータ群1003として、プロセスモデルの全パラメータを対象に特性パラメータを算出したが、本実施例では、特性あるいは特性種類に対応したプロセスモデルのパラメータのみを、当該特性あるいは当該特性種類の対象となる特性パラメータとして格納しておく。
【0147】
図13Bは、モデル同定情報4001の一例を示す図である。
図13Bに示すように、モデル同定情報4001には、1または複数の、特性あるいは特性種類に応じたプロセスモデルの特性パラメータが格納されている。
図13Bでは、
図13Bでは、例えば、品種イについての特性パラメータである補正パラメータ{a:+1.2,b=-0.1}と、品種ロについての特性パラメータである補正パラメータ{c=0}とが、各特性種類の種類に対応付けて記憶されている。ここでは、特性パラメータを構成するパラメータa、b、cのうち、品種イについての特性パラメータがa、bに対応付けられ、品種ロについての特性パラメータがcに対応付けられて記憶されている。
【0148】
続いて、本実施例におけるモデル同定処理について説明するが、実施例4では、S901に対応するステップのみ実施例1で示したモデル同定処理(
図9A、9B)と異なるため、フローチャートについては省略し、S901と異なる部分について説明する。
【0149】
モデル構築部4002は、
図9A、9Bに示したモデル同定処理のS901において、S813において格納された特性パラメータのうち、モデル同定情報4001で定められた特性や特性種類に応じた特性パラメータを、任意の最適化アルゴリズムに基づいて選択する。上記特性や特性種類に応じた特性パラメータは、モデル同定情報4001を参照して選択することができる。モデル同定情報4001は、S813において格納された特性パラメータを参照してユーザがあらかじめ設定してよい。
【0150】
モデル構築部4002は、上述のように特性や特性種類に応じて定められた特性パラメータを選択すると、S902以降の処理を実行する。このとき、モデル構築部4002は、S905において、S904で取得したプロセスモデルmに、上述した実施例4におけるS901に対応するステップで選択した特性や特性種類に応じた特性パラメータで補正したプロセスモデルm’を取得する。
【0151】
このように、本実施例では、プロセスモデル構築システム4000が、1または複数の特性に応じた上記プロセスモデルの上記特性パラメータが格納されたモデル同定情報(例えば、モデル同定情報4001)を有し、上記第2の処理部(例えば、モデル構築部4002)は、上記特性ごとに算出した上記特性パラメータで補正した上記プロセスモデルと、補正前のプロセスモデルを構築したときに用いた過去操業実績データ101に含まれる実績値とを対応付けたモデル同定データを作成し、作成した当該モデル同定データに含まれる上記特性パラメータで補正した上記プロセスモデルと上記実績値とのペアに対して同定を実行するモデル同定処理(例えば、
図9A、Bに示したモデル同定処理)を実行し、当該モデル同定処理において、上記モデル同定情報に定められた上記特性パラメータを、所定のアルゴリズム(例えば、任意の最適化アルゴリズム)に基づいて選択し、選択した上記特性パラメータで上記プロセスモデルを補正する。
【0152】
すなわち、本実施例では、実施例1の構成に加え、モデル同定情報4001に定められた特性や特性種類に応じた特性パラメータを用いて、当該特性パラメータに対応するプロセスモデルのパラメータのみを補正する。これにより、特性や特性種類の組み合わせデータが少なく、特定の組み合わせでは特性パラメータに矛盾が生じる場合でも、高い精度でプロセスモデルの出力値を得ることができ、プロセスモデルの予測誤差増加を抑制することができる。
【0153】
上述した例では、特性や特性種類に応じた特性パラメータをモデル同定情報4001として定めることとした。しかし、モデル構築部4002が、S906においてモデル同定時に算出する目的関数の値vの目標値を設定しておき、例えば、上記目的関数にパーセント誤差を採用し、品種特性のモデル同定時にはパーセント誤差N%まで同定し、機器特性モデル同定時にはパーセント誤差0%を目標に同定する設定を行ってもよい。これにより、モデル同定情報4001を定めることなく、上記同様、高い精度でプロセスモデルの出力値を得ることができる。
【実施例5】
【0154】
実施例5では、シミュレーションを実行し、実際のプロセスの挙動とプロセスモデルの挙動とのずれが生じた場合に、プロセスモデルを補正する方法について説明する。
【0155】
図14は、実施例5におけるプロセスモデル構築システムの構成の一例を示す図である。
図14に示すように、本実施例にかかるプロセスモデル構築システム5000は、実施例1におけるプロセスモデル構築システム1000の構成に対して、実施例1~4とは異なるシミュレーション部5001を有している。また、プロセスモデル構築システム5000は、制御対象1401から得られる制御量のフィードバック結果が入力される。
【0156】
図14に示したプロセスモデル構築システム5000は、実施例1~4の場合と同様、例えば、
図2(コンピュータ概略図)に示すような、ハードウェアとしては一般的なコンピュータ1600により実現できる。以下では、実施例1~4におけるプロセスモデル構築システム1000、プロセスモデル構築システム2000、プロセスモデル構築システム3000、プロセスモデル構築システム4000と同一の構成要素には同一の符号を付して、その説明を省略している。
【0157】
シミュレーション部5001は、シミュレーションの結果と制御対象1401の制御結果(例えば、制御対象1401から得られる制御量)とを比較し、その差分が一時的(例えば、10秒間)または累積(例えば、1か月)で一定値以上となったか否かを判定する。シミュレーション部5001は、上記差分が一時的または累積で一定値以上となったと判定した場合、シミュレーションの結果を補正して再計算し、その結果をシミュレーション結果104に保存する。シミュレーションの結果を補正する方法としては、例えば、シミュレーション部5001が、制御対象1401の制御結果とシミュレーションの結果との差分が最小になるプロセスモデルのパラメータを同定する、またはそのような条件を満たす特性パラメータを特性パラメータ群から再選択する方法がある。
【0158】
図15は、実施例5においてシミュレーション部5001が行うシミュレーション処理の処理手順を示すフローチャートの一例を示す図である。当該処理は、ユーザからの処理開始の指示や操作があった場合に行われる。シミュレーション処理は、実施例1の場合と同様、モデル構築部1001が行ったモデル構築処理において構築されたプロセスモデルを用いてプロセスシミュレーションを行う処理である。
【0159】
S1501、S1502の各処理は、
図10に示したS1001、S1002と同様であるため、S1503以降について説明する。
【0160】
S1503において、シミュレーション部5001は、S1502で作成したプロセスモデルP’にシミュレーション入力情報103を入力し、プロセスモデルP’による制御対象のシミュレーションを実行し、実行したシミュレーションの結果Sを取得する(S1503)。
【0161】
S1504において、シミュレーション部5001は、制御対象1401から実測値列Tを取得する(S1504)。実測値列Tは、例えば、実測制御量γ0、γ1、γ2などのような、操業実績データに含まれる時系列のデータである。
【0162】
S1505において、シミュレーション部5001は、シミュレーションの結果Sと実測値列Tとの差が所定の閾値となる任意の基準以上であるか否かを判定する(S1505)。S1505において、シミュレーション部5001は、シミュレーションの結果Sと実測値列Tとの差が所定の閾値となる任意の基準以上でないと判定した場合(S1505;No)、S1507に進む。一方、S1505において、シミュレーション部5001は、シミュレーションの結果Sと実測値列Tとの差が所定の閾値となる任意の基準以上であると判定した場合(S1505;Yes)、S1506に進む。
【0163】
S1506において、シミュレーション部5001は、プロセスモデルによる制御対象1401のシミュレーションの結果と、制御対象1401の実測値列Tとの差が最小となるように、S1502で用いたプロセスモデルの特性パラメータを補正し、再度シミュレーションを実行する(S1506)。
【0164】
S1507において、シミュレーション部5001は、シミュレーションの結果、あるいは再度実行したシミュレーションの結果を返却する(S1507)。
【0165】
このように、本実施例では、上記第3の処理部(例えば、シミュレーション部5001)は、上記シミュレーションの結果と、上記制御対象の制御結果との差分が所定の閾値を超えた場合、上記差分が小さくなるように上記プロセスモデルの上記特性パラメータを補正し、上記シミュレーションを再実行する。
【0166】
すなわち、シミュレーション部5001が、プロセスシミュレーションの結果と、制御対象が出力する実制御量との差分を確認し、当該差分が一定量を超えた場合に、それまでのシミュレーションの結果と実制御量との波形が近くなるように、プロセスモデルの特性パラメータを補正する。これにより、特性や特性種類の組み合わせが膨大となるような制御対象に対しても、少数のプロセスモデルを用いて、プロセスシミュレーションを行うことができるとともに、ある一定期間のシミュレーション実行後、制御対象の実測値とずれが生じた場合、制御対象から取得した実測値に基づいて、プロセスモデルの特性パラメータを再同定することができる。
【0167】
上述した例では、シミュレーション部5001が、プロセスモデルによる制御対象1401のシミュレーションの結果と、制御対象1401の実測値列Tとの差が最小となるように特性パラメータを補正して最適化したが、ユーザが特性パラメータ群から選択した任意の特性パラメータを補正することで、再度シミュレーションを実行してもよい。
【実施例6】
【0168】
実施例6では、プロセスモデルや特性パラメータに機械学習モデルを用いる場合について説明する。
【0169】
図16は、実施例6におけるプロセスモデル構築システムの構成の一例を示す図である。
図16に示すように、本実施例にかかるプロセスモデル構築システム6000は、実施例1におけるプロセスモデル構築システム1000の構成に対して、実施例1~5とは異なるモデル構築部6001およびシミュレーション部6002を有し、特性パラメータ群1003にかえて、特性モデル群6003を有している。
【0170】
図16に示したプロセスモデル構築システム6000は、実施例1~5の場合と同様、例えば、
図2(コンピュータ概略図)に示すような、ハードウェアとしては一般的なコンピュータ1600により実現できる。以下では、実施例1~5におけるプロセスモデル構築システム1000、プロセスモデル構築システム2000、プロセスモデル構築システム3000、プロセスモデル構築システム4000、プロセスモデル構築システム5000と同一の構成要素には同一の符号を付して、その説明を省略している。
【0171】
モデル構築部6001は、過去操業実績データ101に基づいて、プロセスモデル1004および特性モデル群6003を、機械学習を用いて構築する処理部である。
【0172】
シミュレーション部6002は、入力された特性情報102およびシミュレーション入力情報103に基づき、プロセスモデル1004および特性モデル群6003を呼び出し、シミュレーションを実行する処理部である。特性モデル群6003は、機械学習で構築したプロセスモデルと過去操業実績データとの差分に基づいて特性ごとに構築される特性モデルの集合である。
【0173】
図17は、実施例6においてモデル構築部6001が行うモデル構築処理の処理手順を示すフローチャートの一例を示す図である。当該処理は、ユーザからの処理開始の指示や操作があった場合に行われる。モデル構築処理は、過去操業実績データ101に基づいて特性モデルを算出するための処理であり、主に、特性モデル構築の準備を行うための処理である。以下では、プロセスモデルは過去操業実績データ101の平均値データであるとして説明する。
【0174】
S1701において、モデル構築部6001は、プロセスモデル1004と過去操業実績データ101とを取得する(S1701)。
【0175】
S1702において、モデル構築部6001は、過去操業実績データ101の平均値からプロセスモデルPを構築する(S1702)。例えば、モデル構築部6001は、過去操業実績データ101として蓄積されている操業実績データに含まれる時系列データである参照値、操作量、制御量の平均値を算出し、算出したこれらの平均値データをプロセスモデルPとして作成する。当該プロセスモデルPは、
図18A、18Bを用いて後述する機械学習モデルを構築するための初期の機械学習モデルである。
【0176】
S1703では、モデル構築部6001は、実施例1の場合と同様、過去操業実績データ101から特性リストLを取得する。
【0177】
S1704では、モデル構築部6001は、実施例1の場合と同様、S1703で取得した特性リストLから、特性lを非復元抽出し、特性lの特性種類リストKを取得する(S1703、S1704)。
【0178】
S1705では、モデル構築部6001は、実施例1の場合と同様、S1704で取得した特性種類リストKから、特性種類kを非復元抽出する(S1705)。
【0179】
S1706において、モデル構築部6001は、S1705で取得した特性種類kの特性モデルを算出し、特性モデル群6003に格納する(S1706)。例えば、モデル構築部6001は、品種イについて、特性モデルを算出する。具体的な特性モデルの算出方法については、
図18A、18Bを用いて後述する。
【0180】
S1707において、モデル構築部6001は、特性種類リストKが空集合であるか否かを判定する(S1707)。例えば、モデル構築部6001が品種の特性種類イについて特性モデルを算出している場合は、特性種類リストK=[ロ]が存在するため空集合でないと判定し(S1707;No)、S1705に戻る。そして、モデル構築部6001は、特性種類リストK=[ロ]について、S1705、S1706を実行する。このときは、実施例1の場合と同様、特性種類リストK=[イ,ロ]のそれぞれについて処理が実行されている。したがって、モデル構築部6001は、特性種類リストKが空集合であると判定し(S1707;Yes)、S1708に進む。
【0181】
S1708において、モデル構築部6001は、特性リストLが空集合であるか否かを判定する(S1708)。例えば、モデル構築部6001が特性リストL=[品種]を処理している場合は、特性リストL=[機器]が存在するため空集合でないと判定し(S1708;No)、S1704に戻る。そして、モデル構築部6001は、l=[機器]について、S1704、S1705、S1706を実行する。このときは、実施例1の場合と同様、特性リストL=[品種,機器]のそれぞれについて処理が実行されている。したがって、モデル構築部6001は、特性リストLが空集合であると判定し(1S708;Yes)、処理を終了する。
【0182】
図18A、18Bは、
図17に示したS1706で行われる特性モデル算出処理の処理手順を示すフローチャートの一例を示す図である。特性モデル算出処理は、特性モデルを構築するための処理である。
【0183】
特性モデル算出処理では、モデル構築部6001は、過去操業実績データ101から構築する特性モデルの特性と特性種類が一致するデータDを抽出する。以下説明するように、データD、データd[i]は、実施例1の場合と同様、過去操業実績データ101の部分データであり、これまで説明したように、参照値α、操作量β、制御量γの各実績値が記録されている。
【0184】
モデル構築部6001は、他の特性の特性モデルを構築していなければ、データDとプロセスモデルPの出力推定値(例えば、参照値/操作量を入力して得られた制御量の推定値)との差分データを作成し、これを目的変数とする機械学習モデルを構築する。任意の目的関数としては、例えば、RMSEを用いることができる。過去操業実績データ101に含まれる操業実績データが制御量の時系列データであれば、プロセスモデルPは制御量の平均時系列データとなっている。モデル構築部6001は、データDの各制御量の時系列データと平均時系列データとの差分データdを作成し、当該データdの集合に対して時系列予測モデルを構築する。説明変数については、制御対象から実制御量を取得することとして、最初の窓枠分のデータを与えることとしてもよいし、データDを拡張し1窓枠分のダミーデータを挿入してもよい。または過去操業実績データ101に追加の情報を用意してもよい。
【0185】
一方、モデル構築部6001は、他の特性モデルを構築済みであれば、各データDとプロセスモデルPとの差分を計算する際に、構築済みモデルの出力を減算し、当該データDを用いて特性モデルを構築し、構築した特性モデルを特性モデル群6003に格納する。
【0186】
以下、
図3に示した過去操業実績データ101を用いて具体的に説明する。
図18A、18Bを用いた説明では、実施例1の場合と同様、2種類の特性種類を含む2つの特性の制御対象を例に説明するため、ループ1~ループ4の順に具体的に説明する。上述したように、プロセスモデルは、過去操業実績データ101すべてを用いて同定したモデル、または各時間における制御量の平均値で構築された制御量の平均値の時系列データである前提で説明する。
【0187】
ループ1では、特性リストL=[機器]、特性種類リストK=[ロ]について未処理であり、特性l=品種、特性種類k=イが処理される場合について説明する。
【0188】
S1801において、モデル構築部6001は、実施例1の場合と同様、過去操業実績データ101の中から、特性l=特性種類kの部分データDを抽出する(S801)。例えば、
図3に示した過去操業実績データ101のうち、データID(#)が、それぞれ0、1で識別されるレコード「0、イ、A、[α0,β0,γ0…]」、「1、イ、B、[α1,β1,γ1…]」が、部分データDとして抽出される。
【0189】
S1802、S1803では、モデル構築部6001は、実施例1の場合と同様、ループ変数i=0を設定し、モデル同定データ群の空リストMを作成する(S1802、S1803)。モデル同定データ群については、
図9A、9Bに示したモデル同定処理と同様の処理を行う。
【0190】
S1804において、モデル構築部6001は、実施例1の場合と同様、部分データDのi番目のデータD[i]を選択する(S1804)。ここでは、i=0のため、モデル構築部1001は、部分データDから、データID(#)が0のレコード「0、イ、A、[α0,β0,γ0…]」を選択する。
【0191】
S1805において、モデル構築部6001は、データD[i]について特性種類kの特性l以外の特性モデルが構築済みであるか否かを判定する(S1805)。現時点では、モデル構築部1001は、データD[i]について特性種類kの特性l以外の特性モデルが構築済みでないと判定し(S1805;No)、S1809に進む。
【0192】
S1806において、モデル構築部6001は、プロセスモデルPの出力に各構築済み特性モデルの出力を加えた値とデータd[i]の差分データgを作成する(S1806)。ここでは、上述の通りS1805の判定がNoであるため、モデル構築部6001は、当該処理をスキップする。
【0193】
S1807において、モデル同定データ群に差分データgを追加する(S1807)。ここでは、上述の通りS805の判定がNoであるため、モデル構築部6001は、当該処理をスキップする。
【0194】
S1808において、モデル構築部6001は、i=i+1を実行する(S1808)。
【0195】
S1809において、モデル構築部6001は、i>=データDの数であるか否かを判定する(S1809)。ここでは、i=1となり、データDの数は2であるため、モデル構築部6001は、i>=データの数でないと判定し(S1809;No)、S1804に戻る。以降、モデル構築部1001は、S807、S808の処理をスキップする。次のループでは、i=2,i>=2となるため、実施例1の場合と同様、モデル構築部6001は、i>=データの数であると判定し(S1809;Yes)、S1810に進む。
【0196】
S1810において、モデル構築部6001は、モデル同定データ群Mのリストが空であるか否かを判定する(S1810)。ここでは、モデル構築部6001は、モデル同定データ群Mのリストがまだ空であると判定し(S1810;Yes)、S1811に進む。
【0197】
S1811において、モデル構築部6001は、モデル同定データ群MにプロセスモデルPの出力とデータDの制御量の差分データgを追加する(S1811)。例えば、モデル構築部6001は、S1702で作成した、初期値を用いたプロセスモデルPの出力値と、S1804~S1809までのループで選択した、レコード「0、イ、A、[α0,β0,γ0…]」および「1、イ、B、[α1,β1,γ1…]」のそれぞれとの差分であるモデル同定データ群M=[データg]を作成する。
【0198】
S1812において、モデル構築部6001は、モデル同定データ群のデータ集合に対し、機械学習を用いて回帰モデルsを構築する(S1812)。例えば、モデル構築部6001は、データDの参照値/操作量を説明変数、データDの制御量を目的変数として回帰モデルsを構築する。
【0199】
S1813において、モデル構築部6001は、S1812で算出した回帰モデルsを、特性l,特性種類kの特性モデルとして格納する(S1813)。例えば、モデル構築部6001は、特性「品種」の特性種類「イ」についての特性モデルを記録する。ここまでの処理が終了すると、S1705に戻り、同じ特性「品種」について異なる特性種類「ロ」について、特性モデルを構築し、特性モデル群6003に格納する処理を行う(S1706、
図18A,18B)。
【0200】
続くループ2では、特性リストL=[機器]、特性種類リストK=[]について未処理であり、特性l=品種、特性種類k=ロが処理される場合について説明する。
【0201】
S1801において、モデル構築部6001は、過去操業実績データ101の中から、特性l=特性種類kのデータDを抽出する(S1801)。例えば、モデル構築部6001は、過去操業実績データ101の中から、品種がロのデータを抽出し、データID(#)が2で構成される部分データDを作成する。このとき、
図3に示した過去操業実績データ101のうち、データID(#)が2で識別されるレコード「2、ロ、B、[α2,β2,γ2…]」が、部分データDとして抽出される。このとき、モデル構築部1001は、実施例1の場合と同様、IDを振りなおしてレコード「0、ロ、B、[α2,β2,γ2…]」として部分データDを作成する。
【0202】
S1802、S1803では、モデル構築部6001は、品種イの場合と同様に、ループ変数i=0を設定し、モデル同定データ群の空リストMを作成する。
【0203】
S1804では、モデル構築部6001は、部分データDのi番目のデータD[i]を選択する(S1804)。ここでは、i=0のため、モデル構築部1001は、部分データDから、データID(#)が0のレコード「0、ロ、B、[α2,β2,γ2…]」を選択する。
【0204】
S1805において、モデル構築部6001は、データD[i]について特性種類kの特性l以外についての特性モデルが構築済みであるか否かを判定する(S1805)。ここでは、品種イの場合と同様、現時点で品種以外の特性、つまり特性が機器の特性モデルが構築済みではないため、S1809に進む。
【0205】
S1806、S1807では、品種イの場合と同様、上述の通りS1805の判定がNoであるため、モデル構築部6001は、当該処理をスキップする。
【0206】
S1808において、モデル構築部6001は、i=i+1を実行する(S1808)。
【0207】
S1809において、モデル構築部6001は、i>=データDの数であるか否かを判定する(S1809)。ここでは、i=1となり、データDの数は1であるため、モデル構築部6001は、i>=データの数であると判定し(S1809;Yes)、S1810に進む。
【0208】
S1810において、モデル構築部1001は、モデル同定データ群Mのリストが空であるか否かを判定する(S1810)。ここでは、モデル構築部6001は、モデル同定データ群Mのリストがまだ空であると判定し(S1810;Yes)、S1811に進む。
【0209】
S1811において、モデル構築部1001は、モデル同定データ群MにプロセスモデルPの出力値とデータDの制御量の差分データgを追加する(S1811)。例えば、モデル構築部6001は、S1702で作成した、初期値を用いたプロセスモデルPの出力値と、S1804~S1809までのループで選択した、レコード「0、ロ、B、[α2,β2,γ2…]」のそれぞれとの差分であるモデル同定データ群M=[データg]を作成する。
【0210】
S1812において、モデル構築部6001は、モデル同定データ群Mのデータ集合に対し機械学習を用いて回帰モデルsを構築する(S1812)。例えば、モデル構築部6001は、データDの参照値/操作量を説明変数、データDの制御量を目的変数として回帰モデルsを構築する。
【0211】
S1813において、モデル構築部6001は、S1812で算出した回帰モデルsを、特性l,特性種類kの特性モデルとして格納する(S1813)。例えば、モデル構築部1001は、特性「品種」の特性種類「ロ」についての特性モデルを記録する。ここまでの処理が終了すると、S1704に戻り、異なる特性「機器」の特性種類「A」について、特性モデルを構築し、特性モデル群6003に格納する処理を行う(S1706、
図18A,18B)。
【0212】
続くループ3では、特性リストL=[]、特性種類リストK=[B]について未処理であり、特性l=機器、特性種類k=Aが処理される場合について説明する。
【0213】
S1801において、モデル構築部6001は、過去操業実績データ101の中から、特性l=特性種類kのデータDを抽出する(S1801)。例えば、モデル構築部6001は、過去操業実績データ101の中から、機器がAのデータを抽出し、データID(#)が0で構成される部分データDを作成する。このとき、
図3に示した過去操業実績データ101のうち、データID(#)が0で識別されるレコード「0、イ、A、[α0,β0,γ0…]」が、部分データDとして抽出される。
【0214】
S1802、S1803では、モデル構築部6001は、品種イ、ロの場合と同様に、ループ変数i=0を設定し、モデル同定データ群の空リストMを作成する。
【0215】
S1804では、モデル構築部6001は、部分データDのi番目のデータD[i]を選択する(S1804)。ここでは、i=0のため、モデル構築部6001は、部分データDから、データID(#)が0のレコード「0、イ、A、[α0,β0,γ0…]」を選択する。
【0216】
S1805において、モデル構築部6001は、データD[i]について特性種類kの特性l以外についての特性モデルが構築済みであるか否かを判定する(S1805)。ここでは、機器以外の特性、つまり特性が品種の特性モデルが構築済みであるため、S1806に進む。
【0217】
S1806において、モデル構築部6001は、プロセスモデルPの出力に各構築済み特性モデルの出力を加えた値とデータd[i]の差分データgを作成する(S1806)。例えば、モデル構築部6001は、ループ1のS1813で格納した、特性が品種、特性種類がイの特性モデルの出力とプロセスモデルPの出力とを加えたものと、データd[i]の制御量との差分を新たな差分データgとして作成する。
【0218】
S1807において、モデル構築部6001は、モデル同定データ群Mに、上記差分データgを追加する(S1807)。例えば、モデル構築部6001は、モデル同定データ群M=[g]とする。当該S1807の処理により、構築済みの特性モデルとデータd[i]との差分である新たな差分データgが、今回処理しているデータD[i](レコード「0、イ、A、[α0,β0,γ0…]」)に対応付けてモデル同定データ群Mのリストに追加される。
【0219】
S1808において、モデル構築部6001は、i=i+1を実行する(S1808)。
【0220】
S1809において、モデル構築部6001は、i>=データDの数であるか否かを判定する(S1809)。ここでは、i=1となり、データDの数は1であるため、モデル構築部6001は、i>=データの数であると判定し(S1809;Yes)、S1810に進む。
【0221】
S1810において、モデル構築部6001は、モデル同定データ群Mのリストが空であるか否かを判定する(S1810)。ここでは、モデル構築部6001は、S1807において上記新たな差分データgをモデル同定データ群Mのリストに追加している。したがって、モデル構築部6001は、モデル同定データ群Mのリストは空ではないと判定し(S1810;No)、S1812に進む。
【0222】
S1811では、上述の通りS1810の判定がNoであるため、モデル構築部6001は、当該処理をスキップする。
【0223】
S1812において、モデル構築部6001は、モデル同定データ群のデータ集合に対し、機械学習を用いて回帰モデルsを構築する(S1812)。例えば、モデル構築部6001は、上記新たな差分データgの参照値/操作量を説明変数、上記新たな差分データgの制御量を目的変数として回帰モデルsを構築する。
【0224】
S1813において、モデル構築部6001は、S1812で算出した回帰モデルsを、特性l,特性種類kの特性モデルとして格納する(S1813)。例えば、モデル構築部1001は、特性「機器」の特性種類「A」についての特性モデルを記録する。ここまでの処理が終了すると、S1704に戻り、同じ特性「機器」について異なる特性種類「B」について、特性モデルを構築し、特性モデル群6003に格納する処理を行う(S1706、
図18A,18B)。
【0225】
続くループ4では、特性リストL=[]、特性種類リストK=[]について未処理であり、特性l=機器、特性種類k=Bが処理される場合について説明する。
【0226】
S1801において、モデル構築部6001は、過去操業実績データ101の中から、特性l=特性種類kのデータDを抽出する(S1801)。例えば、モデル構築部6001は、過去操業実績データ101の中から、機器がBのデータを抽出し、データID(#)が1、2で構成される部分データDを作成する。このとき、
図3に示した過去操業実績データ101のうち、データID(#)が1、2で識別されるレコード「1、イ、B、[α1,β1,γ1…]」、「2、ロ、B、[α2,β2,γ2…]」が、部分データDとして抽出される。このとき、モデル構築部6001は、実施例1の場合と同様、IDを振りなおしてレコード「0、イ、B、[α1,β1,γ1…]」、「1、ロ、B、[α2,β2,γ2…]」として部分データDを作成する。
【0227】
S1802、S1803では、モデル構築部6001は、品種イ、ロ、機器Aの場合と同様に、ループ変数i=0を設定し、モデル同定データ群の空リストMを作成する。
【0228】
S1804では、モデル構築部6001は、部分データDのi番目のデータD[i]を選択する(S1804)。ここでは、i=0のため、モデル構築部1001は、部分データDから、データID(#)が0のレコード「0、イ、B、[α1,β1,γ1…]」を選択する。
【0229】
S1805において、モデル構築部6001は、データD[i]について特性種類kの特性l以外についての特性モデルが構築済みであるか否かを判定する(S1805)。ここでは、機器以外の特性、つまり特性が品種の特性モデルが構築済みであるため、S1806に進む。
【0230】
S1806において、モデル構築部6001は、プロセスモデルPの出力に各構築済み特性モデルの出力を加えた値とデータd[i]の差分データgを作成する(S1806)。例えば、モデル構築部6001は、ループ1のS1813で格納した、特性が品種、特性種類がイの特性モデルの出力とプロセスモデルPの出力とを加えたものと、データd[0]の制御量との差分を新たな差分データgとして作成する。
【0231】
S1807において、モデル構築部6001は、モデル同定データ群Mに、データgを追加する(S1807)。例えば、モデル構築部6001は、モデル同定データ群M=[g(イ)]とする。当該S1807の処理により、構築済みの特性モデルとデータd[0]との差分である新たな差分データgが、今回処理しているデータD[0](レコード「0、イ、B、[α1,β1,γ1…]」)に対応付けてモデル同定データ群Mのリストに追加される。
【0232】
S1808において、モデル構築部6001は、i=i+1を実行する(S1808)。
【0233】
S1809において、モデル構築部6001は、i>=データDの数であるか否かを判定する(S1809)。ここでは、i=1となり、データDの数は2であるため、モデル構築部1001は、i>=データの数でないと判定し(S1809;No)、S1804に戻る。以降、モデル構築部6001は、S1807、S1808の処理をスキップする。次のループでは、i=2、i>=2となるため、モデル構築部6001は、i>=データの数であると判定し(S1809;Yes)、S1810に進む。上記次のループを終了すると、モデル構築部6001は、S1806で作成したプロセスモデルPの出力に品種ロの特性モデルの出力を加えたものと、データd[1]の制御量の差分をデータgとして作成する。最終的に、モデル同定データ群M=[g(イ),g(ロ)]が作成される。
【0234】
S1810において、モデル構築部6001は、モデル同定データ群Mのリストが空であるか否かを判定する(S1810)。ここでは、モデル構築部6001は、S1807において上記新たな差分データg(イ)をモデル同定データ群Mのリストに追加している。したがって、モデル構築部6001は、モデル同定データ群Mのリストは空ではないと判定し(S1810;No)、S1812に進む。
【0235】
S1811では、上述の通りS1810の判定がNoであるため、モデル構築部6001は、当該処理をスキップする。
【0236】
S1812において、モデル構築部6001は、モデル同定データ群のデータ集合に対し機械学習を用いてモデルsを構築する(S1812)。例えば、モデル構築部6001は、上記新たな差分データg(イ)、g(ロ)の参照値/操作量を説明変数、上記新たな差分データg(イ)、g(ロ)の制御量を目的変数として回帰モデルsを構築する。
【0237】
S1813において、モデル構築部6001は、S1812で算出した回帰モデルsを、特性l,特性種類kの特性モデルとして格納する(S1813)。例えば、モデル構築部1001は、特性「機器」の特性種類「B」についての特性モデルを記録する。ここまでの処理が終了すると、すべての特性およびすべての特性種類について、
図18A、18Bに示した特性モデル構築処理が行われたこととなる。したがって、
図17に示したモデル構築処理のS1707に進む。
【0238】
S1707では、すでに特性種類リストK=[イ,ロ]のそれぞれについて処理が実行されているため、モデル構築部6001は、特性種類リストKが空集合であると判定し(S1707;Yes)、S1708に進む。
【0239】
S1708では、すでに特性リストL=[品種,機器]のそれぞれについて処理が実行されているため、モデル構築部6001は、特性リストLが空集合であると判定し(S1708;Yes)、処理を終了する。
【0240】
以上説明したように、本実施例では、コンピュータにより、制御対象の特性をモデル化したプロセスモデルを構築するプロセスモデル構築システムにおいて、上記制御対象の特性に応じた稼働実績を示す過去操業実績データ(例えば、過去操業実績データ101)から上記特性(例えば、品種や機器など)を取得する第1の処理部(例えば、モデル構築部6001、
図17)と、上記過去操業実績データに含まれる上記特性についての上記制御対象のプロセスの実績値(例えば、制御対象の制御量)と、所定の機械学習(例えば、線形回帰などの任意の機械学習)で構築された上記プロセスモデルにより推定される上記制御対象の推定値との差分に基づいて、上記プロセスモデルを補正した特性モデル(例えば、回帰モデルs)を、上記特性ごとに算出する第2の処理部(例えば、モデル構築部6001、
図18)と、を有する。すなわち、機械学習で構築したプロセスモデルと、当該プロセスモデルと過去操業実績データとの差分に基づいて特性ごとの特性モデルを構築し、機械学習で構築したプロセスモデルの計算結果を、構築した特性モデルの計算結果で補正する。したがって、実施例1の場合と同様、制御対象が複数の特性を有する場合でも、従来に比べて構築負荷や運用負荷がかからないプロセスモデルを構築することができ、また、プロセスシミュレーションを行うために構築するプロセスモデルの数を抑えることができる。さらに、実施例1の場合と同様、特性や特性種類の組み合わせが膨大となるような制御対象に対しても、上記モデル構築部6001により構築された少数のプロセスモデルを用いて、プロセスシミュレーションを行うことができるようになる。
【0241】
なお、本例では、プロセスモデル全体を機械学習モデルに置き換える場合について説明したが、プロセスモデルの一部数式を機械学習モデルに置き換える構成としてもよい。また、本例では、差分データについては、制御量を対象とした例を示したが、これに限らず、その他の計測値や、計測値から類推できる値を対象としてもよい。さらに、本例では、機器や品種モデルを構築する際の訓練データに差分データを用意する場合について説明したが、これにかえて、実施例4に示したような1または複数の、特性あるいは特性種類(例えば、機器や品種)ごとに適切な訓練データ(対応する計測値をユーザが指定したもの等)を用意してもよい。
【実施例7】
【0242】
実施例7では、実施例1に示したモデル構築処理における入出力インタフェースについて説明する。すでに説明したように、モデル構築処理では、モデル構築部1001は、入力データとして、過去操業実績データ101を受け取り、プロセスモデル1004、プロセスモデル1004のパラメータの初期値を読み出す。そして、モデル構築部1001は、モデル構築処理において、各特性についての特性パラメータを出力する。
【0243】
図19は、モデル構築部1001がモデル構築処理の実行時に、プロセスモデル構築システム1000を構成するコンピュータのディスプレイ(例えば、
図2に示したコンピュータ1600の出力装置1605)に表示する画面(モデル構築画面)の一例を示す図である。
【0244】
図19に示すように、モデル構築部1001は、モデル構築処理への入力データである、入力される過去操業実績データ101と、プロセスモデル1004と、プロセスモデルのパラメータの初期値とを含むモデル構築画面W1901を表示する。ユーザは、当該モデル構築画面においてこれらの入力データを確認し、画面上の図示しない実行ボタンを押下するなどして、モデル構築処理の実行を指示する。
【0245】
また、
図19に示すように、モデル構築部1001は、モデル構築処理の出力データである、特性パラメータ群1003を含むモデル構築画面W1902を表示する。ユーザは、当該モデル構築画面において当該出力データを確認し、各特性や特性種類ごとの特性パラメータを確認する。
【0246】
このように、本実施例では、制御対象の特性(例えば、品種や機器など)に応じた稼働実績を示す過去操業実績データ(例えば、過去操業実績データ101)と、当該過去操業実績データから取得される上記制御対象の特性をモデル化するためのプロセスセスモデル(例えば、
図4に示した理論式であらわされるプロセスモデル)とを含む入力情報と、上記稼働実績と上記プロセスモデルにより推定される上記制御対象の推定値とが所定の条件(例えば、実測制御量とプロセスモデルの推定制御量との差が最小となるという条件)を満たすように、上記制御対象の特性ごとに算出された、上記プロセスモデルを補正するための特性パラメータ(例えば、
図5に示した特性パラメータ群1003に格納された特性パラメータ)を含む出力情報とを、処理前後の状態としてコンピュータの画面に表示するモデル構築部(例えば、モデル構築部1001)を有する。すなわち、上記モデル構築部が、モデル構築処理を行う際に、上述したモデル構築画面を表示する。したがって、ユーザは、入力したプロセスモデルに対して、各特性や特性種類ごとに計算された特性パラメータの値を、一見して把握することができる。
【0247】
なお、本実施例では、ユーザにより上記入力データを受け付ける場合、あるいは出力データをユーザに提示する際に、インタフェースとして画面を用いる場合を例示した。しかし、このような画面に限らず、入力装置1606としてマイクやスピーカのような音声入出力装置を有する場合には、当該装置を通じた音声により上記入力データを受け付けたり、あるいは上記出力データを提示する等、ユーザが認識可能な他の態様のインタフェースを用いてもよい。
【実施例8】
【0248】
実施例8では、実施例1に示したシミュレーション処理における入出力インタフェースについて説明する。すでに説明したように、シミュレーション処理では、シミュレーション部1002は、入力データとして、特性情報102として品種や機器などの特性、これらに含まれる特性種類を受け取る。また、所望の運転条件であるシミュレーション入力情報103として、制御対象の操作量の時系列データを受け取る。そして、シミュレーション部1002は、例えば、シミュレーション処理において、シミュレーションの結果として、制御量の時系列データを出力する。
【0249】
図20は、シミュレーション部1002がシミュレーション処理の実行時に、プロセスモデル構築システム1000を構成するコンピュータのディスプレイ(例えば、
図2に示したコンピュータ1600の出力装置1605)に表示する画面(シミュレーション実行画面)の一例を示す図である。
【0250】
図20に示すように、シミュレーション部1002は、シミュレーション処理への入力データであるシミュレーション入力情報103と、特性情報102とを含むシミュレーション実行画面W2001を表示する。ユーザは、当該シミュレーション実行画面においてこれらの入力データを確認し、画面上の図示しない実行ボタンを押下するなどして、シミュレーション処理の実行を指示する。
【0251】
また、
図20に示すように、シミュレーション部1002は、シミュレーション処理の出力データである、シミュレーションの結果を含むモデル構築画面W2002を表示する。ユーザは、当該シミュレーション実行画面において当該出力データを確認し、制御量の時系列の変化など、シミュレーションの結果を確認する。
【0252】
このように、本実施例では、上記第3の処理部(例えば、シミュレーション部1002)が、上記特性情報(例えば、特性情報102)と、シミュレーションを行うための所望の運転条件を定めたシミュレーション入力情報(例えば、シミュレーション入力情報103)とを含む入力情報と、上記特性情報と同じ特性の上記特性パラメータを用いて補正したプロセスモデルを作成し、作成した当該プロセスモデルに上記シミュレーション入力情報を入力して上記シミュレーションの実行により得られた上記シミュレーションの結果(例えば、制御量の時系列データ)を含む出力情報と、を処理前後の状態として上記コンピュータの画面に表示する。すなわち、シミュレーション部1002が、シミュレーション処理を行う際に、上述したシミュレーション実行画面を表示する。したがって、ユーザは、入力した特性情報から得られる特性パラメータにより補正されたプロセスモデルを用いたシミュレーションの実行結果を、一見して把握することができる。本例では、制御対象の操作量の時系列データを与えることとしたが、参照値を与えてもよい。
【0253】
なお、本実施例では、ユーザにより上記入力データを受け付ける場合、あるいは出力データをユーザに提示する際に、インタフェースとして画面を用いる場合を例示した。しかし、実施利例7の場合と同様、ユーザが認識可能な他の態様のインタフェースを用いてもよい。
【実施例9】
【0254】
実施例9では、実施例2に示した最適運転条件を満たす制御対象の操業方法(例えば、操作量)を逆算し、その結果を制御対象にフィードバックする場合における入出力インタフェースについて説明する。すでに説明したように、実施例2では、制御機器入力計算部2001は、入力データとして、制御対象に対する所望の運転条件データ106と、特性情報102として品種や機器などの制御対象の特性、これらに含まれる特性種類とを受け取る。制御機器入力計算部2001は、例えば、所望の運転条件データ106である最適運転条件とシミュレーション部1002が実行したシミュレーションの結果とが一致する入力(この例では操作量)を計算し、当該操作量の時系列データを制御対象の入力値として出力する。
【0255】
図21は、制御機器入力計算部2001が最適運転条件を満たす制御対象の操業方法を逆算する際に、プロセスモデル構築システム1000を構成するコンピュータのディスプレイ(例えば、
図2に示したコンピュータ1600の出力装置1605)に表示する画面(フィードバック実行画面)の一例を示す図である。
【0256】
図21に示すように、制御機器入力計算部2001は、上記フィードバックを行う場合の入力データである所望の運転条件データ106と、特性情報102とを含むフィードバック実行画面W2101を表示する。ユーザは、当該フィードバック実行画面においてこれらの入力データを確認し、画面上の図示しない実行ボタンを押下するなどして、最適運転条件を満たす制御対象の操業方法の逆算を指示する。
【0257】
また、
図21に示すように、制御機器入力計算部2001は、上記逆算の出力データである、フィードバック結果を含むフィードバック実行画面W2102を表示する。ユーザは、当該フィードバック実行画面において当該出力データを確認し、操作量の時系列の変化など、フィードバック結果を確認する。
【0258】
このように、本実施例では、上記第4の処理部(例えば、制御機器入力計算部2001)は、上記制御対象に対する所望の運転条件(例えば、運転条件データ106)と、上記制御対象の特性と当該特性に含まれる特性種類とを示す特性情報(例えば、特性情報102)とを含む入力情報と、上記特性情報と同じ特性の上記特性パラメータを用いて補正したプロセスモデルにより上記制御対象のプロセスの挙動をシミュレーションした結果とが一致する上記制御対象への入力値(例えば、操作量の時系列データ)を含む出力情報とを、処理前後の状態として上記コンピュータの画面に表示する。
【0259】
すなわち、制御機器入力計算部2001が、最適運転条件を満たす制御対象の操業方法を逆算し、その結果を制御対象にフィードバックする際に、上述したフィードバック実行画面を表示する。したがって、ユーザは、現時点での制御対象に最適な運転条件を満たす制御対象への入力値による制御のフィードバック結果を、一見して把握することができる。
【0260】
なお、本実施例では、ユーザにより上記入力データを受け付ける場合、あるいは出力データをユーザに提示する際に、インタフェースとして画面を用いる場合を例示した。しかし、実施利例7、実施例8の場合と同様、ユーザが認識可能な他の態様のインタフェースを用いてもよい。本例では操作量を逆算する場合について説明したが、参照値を逆算する場合についても同様に適用してよい。
【0261】
本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化したり、上記実施の形態に開示されている複数の構成要素を適宜組み合わせて実施することができる。
【符号の説明】
【0262】
1000~6000 プロセスモデル構築システム
1001 モデル構築部
1002 シミュレーション部
1003 特性パラメータ群
1004 プロセスモデル
2001 制御機器入力計算部
3001 特性パラメータモデル構築部
3002 シミュレーション部
4001 モデル同定情報
4002 モデル構築部
6001 モデル構築部
6002 シミュレーション部