(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024157147
(43)【公開日】2024-11-07
(54)【発明の名称】プラント応答推定装置、プラント応答推定方法、及びプログラム
(51)【国際特許分類】
G05B 23/02 20060101AFI20241030BHJP
【FI】
G05B23/02 T
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023071309
(22)【出願日】2023-04-25
(11)【特許番号】
(45)【特許公報発行日】2024-02-06
(71)【出願人】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】丹下 吉雄
【テーマコード(参考)】
3C223
【Fターム(参考)】
3C223AA02
3C223AA05
3C223BA01
3C223CC01
3C223EB01
3C223FF05
3C223FF22
3C223FF26
3C223FF42
3C223GG01
3C223HH03
3C223HH08
3C223HH29
(57)【要約】
【課題】操業中のプラントの運転データから応答モデルを精度良く推定する技術を提供すること。
【解決手段】本開示の一態様によるプラント応答推定装置は、制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成部と、前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別部と、前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新部と、を有する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成部と、
前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別部と、
前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新部と、
を有するプラント応答推定装置。
【請求項2】
前記学習データ選別部は、
前記状態ベクトルの現在値と前回値との差のノルムを計算し、
前記ノルムが所定の閾値以上である場合、前記状態ベクトルを学習データとすると判定し、
前記ノルムが前記閾値未満である場合、前記状態ベクトルを学習データとしないと判定する、請求項1に記載のプラント応答推定装置。
【請求項3】
前記学習データ選別部は、
前記状態ベクトルの分散と、所定の係数とを用いて、前記閾値を計算する、請求項2に記載のプラント応答推定装置。
【請求項4】
前記学習データ選別部は、
前記状態ベクトルの現在値と前記パラメータとを用いて、前記制御対象プラントの制御量の推定値を計算し、
前記制御量の推定値と前記制御量の現在値との誤差を表す予測誤差を計算し、
前記予測誤差が所定の閾値以上である場合、前記状態ベクトルを学習データとすると判定し、
前記予測誤差が前記閾値未満である場合、前記状態ベクトルを学習データとしないと判定する、請求項1に記載のプラント応答推定装置。
【請求項5】
前記学習データ選別部は、
前記制御量の分散と、所定の係数とを用いて、前記閾値を計算する、請求項4に記載のプラント応答推定装置。
【請求項6】
前記パラメータ更新部は、
所定の調整係数を伴う逐次最小2乗法により前記パラメータの推定値を計算し、
前記調整係数は前記パラメータの推定値の計算と共分散行列を推定する際の更新量の調整とに用いられる、請求項1乃至5の何れか一項に記載のプラント応答推定装置。
【請求項7】
前記パラメータ更新部は、
1より大きい値が設定された前記調整係数を用いる、請求項6に記載のプラント応答推定装置。
【請求項8】
制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成手順と、
前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別手順と、
前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新手順と、
をコンピュータが実行するプラント応答推定方法。
【請求項9】
制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成手順と、
前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別手順と、
前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新手順と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プラント応答推定装置、プラント応答推定方法、及びプログラムに関する。
【背景技術】
【0002】
制御対象の制御量を目標値に追従させることを目的とする制御方式として、モデル予測制御が知られている。また、モデル予測制御で用いられる線形予測モデルのパラメータを推定する手法として、逐次最小2乗法(RLS法:Recursive Least Squares法)等が知られている。例えば、特許文献1には、操業中のプラントの運転データを用いて、RLS法によりプラント応答モデルのパラメータを推定する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、プラント応答モデルのパラメータ更新に用いられる学習データとして、例えば、定常状態における一定値しか含まれない運転データが用いられ、不適切なモデルパラメータが推定されてしまうことがある。一定値や1つの周波数成分しか含まれない運転データ等は、プラントのダイナミクスの情報が欠落しており、学習データとしては不適切だが、操業中に十分生じ得る。このような不適切な運転データでの学習では、プラント応答モデルのパラメータの推定値が真値と乖離してしまう場合がある。
【0005】
本開示は、上記の点に鑑みてなされたもので、操業中のプラントの運転データから応答モデルを精度良く推定する技術を提供する。
【課題を解決するための手段】
【0006】
本開示の一態様によるプラント応答推定装置は、制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成部と、前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別部と、前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新部と、を有する。
【発明の効果】
【0007】
操業中のプラントの運転データから応答モデルを精度良く推定する技術が提供される。
【図面の簡単な説明】
【0008】
【
図1】第一の実施形態に係るプラント応答推定装置のハードウェア構成の一例を示す図である。
【
図2】第一の実施形態に係るプラント応答推定装置の機能構成の一例を示す図である。
【
図3】バッファ部の動作の一例を説明するための図である。
【
図4】第一の実施形態に係る学習データ選別処理の一例を説明するためのフローチャートである。
【
図5】第一の実施形態に係る拡大モデルパラメータ推定処理の一例を説明するためのフローチャートである。
【
図6】パラメータ変換部の動作の一例を説明するための図である。
【
図7】ステップ応答計算部の動作の一例を説明するための図である。
【
図8】第一の実施形態に係るステップ応答計算処理の一例を説明するためのフローチャートである。
【
図9】状態ベクトル更新の一例を説明するための図である。
【
図10】第二の実施形態に係る学習データ選別処理の一例を説明するためのフローチャートである。
【
図11】第三の実施形態に係る学習データ選別処理の一例を説明するためのフローチャートである。
【
図12】第四の実施形態に係る学習データ選別処理の一例を説明するためのフローチャートである。
【
図13】実施例における対象プラントのステップ応答を示す図である。
【
図14】学習データ選別部を用いない場合のモデルパラメータ推定結果及び制御結果を示す図(その1)である。
【
図15】学習データ選別部を用いない場合のモデルパラメータ推定結果及び制御結果を示す図(その2)である。
【
図16】学習データ選別部を用いた場合のモデルパラメータ推定結果及び制御結果を示す図(その1)である。
【
図17】学習データ選別部を用いた場合のモデルパラメータ推定結果及び制御結果を示す図(その2)である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について説明する。以下の各実施形態では、操業中のプラントの運転データからプラント応答モデルを精度良く推定することができるプラント応答推定装置10について説明する。なお、操業中とはプラントが正常に稼働し、通常の運転を行っている状態のことであり、例えば、オンライン中、運転中、運用中等と呼ばれてもよい。また、プラントとは1以上の機械、機器、装置等で構成される産業設備のことであり、プラント応答モデルを用いたモデル予測制御によって制御される制御対象である。プラントの具体例としては、例えば、石油化学プラント、食品プラント、鉄鋼プラント、発電プラント等といったものが挙げられるが、これらは一例であって、これらに限られるものではない。また、一般に、これらのプラントの制御システムでは、プラントの制御量、操作量、外乱量といった入出力データが運転データとして扱われる。
【0010】
ここで、プラントの運転条件等によっては、例えば、定常状態が継続したり、運転データの値が上限値や下限値に偏ってしまったりすることがある。このため、定常状態における運転データや上限値・下限値に偏った運転データを学習データとして用いてプラント応答モデルのパラメータを更新した場合、それらの運転データによってパラメータが収束し、その結果、パラメータの推定値が真値と乖離してしまうことがある。このように、定常状態における運転データや上限値・下限値に偏った運転データ等は、プラント応答モデルの学習データとしては適切でない運転データであるといえる。なお、学習データとは、プラント応答モデルのパラメータ更新に用いられるデータのことである。
【0011】
そこで、以下の各実施形態では、定常状態における運転データや上限値・下限値に偏った運転データ等といった適切でない運転データは学習データとしては用いずに、それ以外の運転データを学習データとして用いてプラント応答モデルのパラメータを更新する場合について説明する。これにより、以下の各実施形態に係るプラント応答推定装置10では、精度の良いプラント応答モデルを推定することが可能となる。
【0012】
[第一の実施形態]
まず、第一の実施形態について説明する。
【0013】
<プラント応答推定装置10のハードウェア構成例>
第一の実施形態に係るプラント応答推定装置10のハードウェア構成例を
図1に示す。
図1に示すように、第一の実施形態に係るプラント応答推定装置10は、入力装置11と、表示装置12と、外部I/F13と、通信I/F14と、プロセッサ15と、メモリ装置16とを有する。これらの各ハードウェアは、それぞれがバス17を介して通信可能に接続される。
【0014】
入力装置11は、例えば、キーボード、マウス、タッチパネル、各種物理ボタン等である。表示装置12は、例えば、ディスプレイ、表示パネル等である。なお、プラント応答推定装置10は、例えば、入力装置11及び表示装置12のうちの少なくとも一方を有していなくてもよい。
【0015】
外部I/F13は、記録媒体13a等の外部装置とのインタフェースである。記録媒体13aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
【0016】
通信I/F14は、プラント応答推定装置10を通信ネットワークに接続するためのインタフェースである。プロセッサ15は、例えば、CPU(Central Processing Unit)等の各種演算装置である。メモリ装置16は、例えば、SSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。
【0017】
なお、
図1に示すハードウェア構成は一例であって、プラント応答推定装置10は、他のハードウェア構成であってもよい。例えば、プラント応答推定装置10は、複数のプロセッサ15や複数のメモリ装置16を有していてもよいし、図示したハードウェア以外の種々のハードウェアを有していてもよい。
【0018】
<プラント応答推定装置10の機能構成例>
第一の実施形態に係るプラント応答推定装置10の機能構成例を
図2に示す。
図2に示すように、第一の実施形態に係るプラント応答推定装置10は、モデルパラメータ推定部101と、ステップ応答計算部102とを有する。これら各部は、例えば、プラント応答推定装置10にインストールされた1以上のプログラムが、プロセッサ15等に実行させる処理により実現される。
【0019】
モデルパラメータ推定部101は、サンプリング周期Δ毎に、制御対象のプラント(又はその運転状態を計測するセンサ等の機器)から運転データの観測値(制御量y、操作量u及び外乱v)を受信し、そのサンプリング周期Δに応じて、プラント応答モデルのモデルパラメータを推定する。なお、運転データは、例えば、計測データや観測データ等と呼ばれてもよい。
【0020】
ここで、時刻をtとすれば制御量y、操作量u及び外乱vはそれぞれy(t)、u(t)及びv(t)と表され、各サンプリング時刻tk(kはサンプリング時刻を表すインデックスであり、定周期でインクリメントされる。)に関してtk+1-tk=Δが成り立つ。なお、kは0以上の整数を取り得るものとし、またサンプリング時刻tkはt1から開始するものとする。以下では、特に断らない限り、各サンプリング時刻tkをそのインデックスkと同一視し、y(k)、u(k)及びv(k)とも表すことにする。
【0021】
また、以下では、プラント応答モデルは、パラメータθを持つプラント応答関数Sθ(t)で表されるものとして、パラメータθをモデルパラメータということにする。プラント応答モデルとしては様々なプラント応答関数Sθで表現されるモデルを採用することが可能であるが、以下では、主に、ARMAXモデルといった多項式モデルを想定する。プラント応答モデルがARMAXモデルである場合、モデルパラメータθはARMAXモデルの係数となる。なお、プラント応答モデルとしてARMAXモデル以外の様々なモデルが採用可能であることは言うまでもない。
【0022】
更に、以下では、ARMAXモデルで表されたプラント応答モデルに対して、制御対象プラントの定常状態を表すオフセット項(定数項)を追加したモデルを拡大プラント応答モデルと呼ぶことにする。
【0023】
ステップ応答計算部102は、モデルパラメータ推定部101によって推定されたモデルパラメータ(以下、モデルパラメータ推定値ともいう。)θを用いて、与えられた時刻tにおけるプラントのステップ応答の推定値(以下、ステップ応答推定値ともいう。)Sθ(t)を計算する。なお、ステップ応答とは、操作量としてステップ信号がプラントに印加されたときの制御量のことである。
【0024】
ただし、ステップ応答計算部102はモデルパラメータ推定値θの利用方法の1つであって、本実施形態に係るプラント応答推定装置10は、モデルパラメータ推定部101のみを有する構成であってもよい。また、本実施形態に係るプラント応答推定装置10は、ステップ応答以外のプラント応答を計算する機能部を有する構成であってもよい。例えば、インパルス応答を計算する「インパルス応答計算部」を有する構成であってもよいし、ランプ応答を計算する「ランプ応答計算部」を有する構成であってもよい。これら以外にも、その他、本実施形態の主旨を逸脱しない範囲で様々な利用方法に対して適用可能である。
【0025】
ここで、モデルパラメータ推定部101には、バッファ部111と、状態ベクトル変換部112と、学習データ選別部113と、逐次推定計算部114と、パラメータ変換部115とが含まれる。
【0026】
バッファ部111は、或る所定の期間における制御量y(k)、操作量u(k)及び外乱v(k)をメモリ装置16に蓄積(バッファ)する。状態ベクトル変換部112は、メモリ装置16にバッファされている制御量y(k)、操作量u(k)及び外乱v(k)の再サンプリングを行って、それら再サンプリングされた制御量y(k)、操作量u(k)及び外乱v(k)が含まれる状態ベクトルξ(k)を作成する。学習データ選別部113は、状態ベクトルξ(k)を用いて、再サンプリングされた制御量y(k)、操作量u(k)及び外乱v(k)を学習データとして用いるか否かを判定し、学習データとして用いる場合は更新フラグをON、学習データとして用いない場合は更新フラグをOFFとする。逐次推定計算部114は、更新フラグがONである場合、状態ベクトルξ(k)を用いて、拡大プラント応答モデルのモデルパラメータである拡大モデルパラメータを推定する。パラメータ変換部115は、拡大モデルパラメータの推定値をモデルパラメータ推定値θに変換する。なお、状態ベクトルとは制御の分野で用いられる用語であり、制御対象やそれを含む系(システム)の状態を表すベクトルである。
【0027】
<バッファ部111の動作>
サンプリング時刻tkにおける制御量バッファをY(k)、操作量バッファをU(k)、外乱バッファをV(k)として、これらの各バッファは以下のベクトルで表されるものとする。
【0028】
【数1】
すなわち、制御量バッファY(k)にはk-B
1からkまでの制御量y、操作量バッファU(k)にはk-B
2からkまでの操作量u、外乱バッファV(k)にはk-B
3からkまでの外乱vがそれぞれ格納されているものとする。ここで、B
1、B
2及びB
3はそれぞれ0以上の整数であり、制御量バッファ、操作量バッファ及び外乱バッファの大きさを決めるパラメータである。これらのB
1、B
2及びB
3はメモリ装置16のサイズ等に応じて、適宜、その値が決定される。
【0029】
このとき、バッファ部111は、制御量y(k)、操作量u(k)及び外乱v(k)を受信すると、
図3に示すように、制御量y(k)と制御量バッファY(k-1)から制御量バッファY(k)、操作量u(k)と操作量バッファU(k-1)から操作量バッファU(k)、外乱v(k)と外乱バッファV(k-1)から外乱バッファV(k)にそれぞれ更新する。
【0030】
具体的には、バッファ部111は、制御量バッファY(k-1)に格納されているy(k-B1-1)を削除した上で、新たに観測された制御量y(k)を格納することで、y(k-B1)からy(k)までの制御量が格納された制御量バッファY(k)に更新する。同様に、バッファ部111は、操作量バッファU(k-1)に格納されている操作量u(k-B2-1)を削除した上で、新たに観測された操作量u(k)を格納することで、u(k-B2)からu(k)までの操作量が格納された操作量バッファU(k)に更新する。同様に、バッファ部111は、外乱バッファV(k-1)に格納されている外乱v(k-B3-1)を削除した上で、新たに観測された外乱v(k)を格納することで、v(k-B3)からv(k)までの外乱が格納された外乱バッファV(k)に更新する。
【0031】
なお、制御量バッファY(0)、操作量バッファU(0)、外乱バッファV(0)は適切に初期化(例えば、すべて0等に初期化)されているものとする。また、上記では外乱vがある場合を想定して説明したが、外乱vがない場合は外乱バッファV(k)がなくてもよい。
【0032】
<状態ベクトル変換部112の動作>
再サンプリング周期をDとする。このとき、状態ベクトル変換部112は、制御量バッファY(k)、操作量バッファU(k)及び外乱バッファV(k)が更新されると、これらの各バッファY(k)、U(k)及びV(k)から再サンプリング周期Dで再サンプリングを行って、以下の再サンプリング制御量ベクトルYD(k)、再サンプリング操作量ベクトルUD(k)及び再サンプリング外乱ベクトルVD(k)をそれぞれ作成する。
【0033】
【数2】
ここで、N、M及びLはプラント応答モデルに応じて決定されるパラメータ(具体的には、NはARMAXモデルの制御量yに関する項の係数の数、Mは操作量uに関する項の係数の数、Lは外乱vに関する項の係数の数)である。また、再サンプリング制御量ベクトルY
D(k)ではARMAXモデルにならい、現在のサンプリング時刻を表す要素y(k)がスキップされる(つまり、y(k)は再サンプリングされない。)。
【0034】
なお、一般に、N、M及びLの値は大きい方が多様な表現が可能で、プラント応答の高精度な予測が期待できるが、モデルパラメータθの推定のために多くの計算資源やメモリ量が必要となる。
【0035】
そして、状態ベクトル変換部112は、再サンプリング制御量ベクトルYD(k)、再サンプリング操作量ベクトルUD(k)及び再サンプリング外乱ベクトルVD(k)から以下により状態ベクトルξ(k)を作成する。
【0036】
【数3】
すなわち、状態ベクトルξ(k)とは、Y
D(k)、U
D(k)及びV
D(k)の要素に対して、オフセット項を表す要素として「1」を追加したベクトルである。ここで、オフセット項とは、上述したように、ARMAXモデルで定常状態を表す項として出現する定数項のことである。これにより、再サンプリング制御量ベクトルY
D(k)、再サンプリング操作量ベクトルU
D(k)及び再サンプリング外乱ベクトルV
D(k)が状態ベクトルξ(k)に変換されたことになる。この状態ベクトルξ(k)は「拡大状態ベクトル」等と呼ばれてもよい。
【0037】
なお、状態ベクトルξ(0)は適切な値に初期化(例えば、零ベクトル等に初期化)されているものとする。また、上記では外乱vがある場合を想定して説明したが、外乱vがない場合は再サンプリング外乱ベクトルVD(k)がなくてもよい。
【0038】
<学習データ選別部113の動作>
学習データ選別部113は、状態ベクトルξ(k)が作成されると、この状態ベクトルξ(k)を用いて、再サンプリング制御量ベクトルYD(k)、再サンプリング操作量ベクトルUD(k)及び再サンプリング外乱ベクトルVD(k)を学習データとして用いるか否かを判定した上で、その判定結果に応じて更新フラグをON又はOFFにする。これにより、学習データとして用いる運転データ(の観測値)が選別される。
【0039】
以下、或るkに関して学習データとして用いる運転データを選別する処理(第一の実施形態に係る学習データ選別処理)について、
図4を参照しながら説明する。ただし、k=0である場合は更新フラグ=ONとして処理を終了する。
【0040】
ステップS101:まず、学習データ選別部113は、状態ベクトルξ(k)と1時刻前の状態ベクトルξ(k-1)との差のノルムd(k)を計算する。すなわち、学習データ選別部113は、d(k)=||ξ(k)-ξ(k-1)||pを計算する。ここで、pは、p=1、p=2又はp=∞のいずれかであり、||・||1はL1ノルム、||・||2はL2ノルム、||・||∞はL∞ノルムをそれぞれ表す。以下、d(k)をベクトル差ノルムともいう。
【0041】
ステップS102:次に、学習データ選別部113は、ベクトル差ノルムd(k)が予め設定された閾値γ以上であるか否かを判定する。
【0042】
d(k)≧γであると判定した場合(ステップS102でYES)、学習データ選別部113は、ステップS103に進む。一方で、d(k)≧γであると判定しなかった場合(ステップS102でNO)、学習データ選別部113は、ステップS104に進む。
【0043】
ステップS103:学習データ選別部113は、更新フラグをONにする。ここで、更新フラグとは、再サンプリング操作量ベクトルUD(k)及び再サンプリング外乱ベクトルVD(k)を学習データとして用いるか否かを表すフラグのことである。更新フラグがONである場合、再サンプリング操作量ベクトルUD(k)及び再サンプリング外乱ベクトルVD(k)が学習データとして用いられて拡大モデルパラメータの更新が行われる。一方で、更新フラグがOFFである場合、再サンプリング操作量ベクトルUD(k)及び再サンプリング外乱ベクトルVD(k)は学習データとして用いられず、拡大モデルパラメータの更新は行われない。
【0044】
ステップS104:学習データ選別部113は、更新フラグをOFFにする。
【0045】
<逐次推定計算部114の動作>
以下では、拡大モデルパラメータをθeと表す。逐次推定計算部114は、学習データ選別部113によって更新フラグがON又はOFFに設定されると、状態ベクトルξ(k)を用いて、拡大モデルパラメータθeの値を推定する。すなわち、逐次推定計算部114は、サンプリング時刻tk毎に、逐次的に拡大モデルパラメータθeの値を推定する。
【0046】
以下、或るkに関して拡大モデルパラメータθ
eの値を推定する処理(第一の実施形態に係る拡大モデルパラメータ推定処理)について、
図5を参照しながら説明する。なお、以下では、サンプリング時刻t
kにおける拡大モデルパラメータθ
eの推定値をθ
e(k)と表す。
【0047】
ステップS201:まず、逐次推定計算部114は、更新フラグがONであるか否かを判定する。
【0048】
更新フラグがONであると判定した場合(ステップS201でYES)、逐次推定計算部114は、ステップS202に進む。一方で、更新フラグがONであると判定しなかった場合(ステップS201でNO)、逐次推定計算部114は、拡大モデルパラメータ推定処理を終了する。すなわち、更新フラグがOFFである場合、逐次推定計算部114は、拡大モデルパラメータθeの値を推定及び更新せずに処理を終了する。
【0049】
ステップS202:逐次推定計算部114は、拡大モデルパラメータθeと共分散行列Pとを初期化するか否かを判定する。ここで、初期化すると判定される場合としては、例えば、初回計算時(つまり、k=1のとき)、ユーザ等により初期化指示が行われたとき等が挙げられる。
【0050】
拡大モデルパラメータθeと共分散行列Pとを初期化すると判定した場合(ステップS202でYES)、逐次推定計算部114は、ステップS203に進む。一方で、拡大モデルパラメータθeと共分散行列Pとを初期化すると判定しなかった場合(ステップS202でNO)、逐次推定計算部114は、ステップS204に進む。
【0051】
ステップS203:逐次推定計算部114は、サンプリング時刻tkのインデックスkをk=1に初期化すると共に、θe(0)=θ0及びP(0)=Iと初期化する。ここで、θ0は予め設定された拡大モデルパラメータの初期値、Iは予め設定された任意の行列(例えば、単位行列等)である。
【0052】
ステップS204:逐次推定計算部114は、拡大モデルパラメータ推定値θe(k-1)と状態ベクトルξ(k)と制御量y(k)とを用いて、予測誤差ε(k)を計算する。予測誤差ε(k)は、例えば、ε(k)=y(k)-ξ(k)Τθe(k-1)により計算される。なお、Τは転置を表す。
【0053】
ステップS205:逐次推定計算部114は、共分散行列P(k-1)を以下により更新して共分散行列P(k)を得る。
【0054】
【数4】
ここで、λ>0は調整係数であり、予め設定された値である。調整係数λはその値に応じて以下の2つの使い方をすることができる。
【0055】
1つ目は、0<λ≦1とすることにより、過去の運転データを忘却するための忘却係数として用いることができる。λが0に近いほど急激に過去の運転データの影響が減少し、1に近いほど過去の運転データの影響が保持される。
【0056】
2つ目は、λ>1とすることにより、パラメータ更新を加速させるための係数として用いることができる。λの値が大きいほどパラメータの収束を加速させることができる。
【0057】
ステップS206:そして、逐次推定計算部114は、拡大モデルパラメータ推定値θe(k-1)を以下により更新して拡大モデルパラメータ推定値θe(k)を得る。
【0058】
【数5】
これにより、サンプリング時刻t
kにおける拡大モデルパラメータ推定値θ
e(k)が得られる。
【0059】
<パラメータ変換部115の動作>
拡大モデルパラメータ推定値θe(k)を以下で表す。
【0060】
【数6】
ここで、θ
Y(k)はサンプリング時刻t
kにおけるARMAXモデルの制御量yに関する項の係数を要素とするN次元ベクトル、θ
U(k)は操作量uに関する項の係数を要素とするM次元ベクトル、θ
V(k)は外乱vに関する項の係数を要素とするL次元ベクトル、θ
C(k)はオフセット項を表すスカラー値である。
【0061】
このとき、パラメータ変換部115は、拡大モデルパラメータ推定値θ
e(k)が得られると、
図6に示すように、θ
C(k)を除いたベクトルに変換することで、モデルパラメータ推定値θ(k)を得る。これにより、以下のモデルパラメータ推定値が得られる。
【0062】
【数7】
このように、制御対象プラントのステップ応答を推定する際には、拡大モデルパラメータ推定値θ
e(k)からθ
C(k)を除くことで、モデルパラメータ推定値θ(k)が得られる。この理由については、例えば、特許文献1等を参照されたい。
【0063】
<ステップ応答計算部102の動作>
以下、ステップ応答の推定に用いられるモデルパラメータ推定値(つまり、プラント応答関数Sθに設定されるモデルパラメータ推定値)θ=θ(k)のことを「モデルパラメータ設定値θ」ともいう。また、以下では、簡単のため、ステップ信号として単位ステップ信号を想定する。
【0064】
ステップ応答計算部102は、
図7に示すように、モデルパラメータ設定値θと時刻tとが与えられると、初期時刻0から時間t経過後の時刻tにおける単位ステップ応答S
θ(t)を計算する。なお、単位ステップ応答とは、操作量uとして単位ステップ信号を印加した場合における応答(つまり、制御対象プラントのプラント応答モデルの出力)のことである。
【0065】
或る時刻tと或るモデルパラメータ設定値θとが与えられたときに、ステップ応答S
θ(t)を計算する処理(第一の実施形態に係るステップ応答計算処理)について、
図8を参照しながら説明する。なお、以下では、インデックスk'における状態ベクトルφ(k')を以下で表すものとする。
【0066】
【数8】
なお、インデックスk'は、サンプリング時刻t
kのインデックスkと同じ値を取り得る変数であるが、本処理の中でのみ利用され、インデックスkとは独立に値が更新されることに留意されたい。
【0067】
ステップS301:ステップ応答計算部102は、本処理の中でのみ利用する時刻を表すインデックスをτとして、τ=0、k'=0と初期化すると共に、状態ベクトルφ(0)を以下のように初期化する。
【0068】
【数9】
すなわち、u(0)のみ1、それ以外の要素は0と状態ベクトルφ(0)を初期化する。
【0069】
ステップS302:ステップ応答計算部102は、y(k')=φ(k')Τθにより制御量予測値y(k')を計算する。
【0070】
ステップS303:ステップ応答計算部102は、制御量予測値y(k')を用いて、状態ベクトルφ(k')を、次のインデックスk'+1における状態ベクトルφ(k'+1)に更新する。このとき、ステップ応答計算部102は、
図9に示すように、状態ベクトルφ(k'+1)のy(k')には上記のステップS302で計算した制御量予測値y(k')を設定し、y(k'-N+1)~y(k'-1)には状態ベクトルφ(k')と同じ値を設定する。また、状態ベクトルφ(k'+1)のu(k'+1)には1を設定し、u(k'-M+1)~u(k')には状態ベクトルφ(k')と同じ値を設定する。更に、状態ベクトルφ(k'+1)のv(k'+1)には0を設定し、v(k'-L+1)~v(k')には状態ベクトルφ(k')と同じ値を設定する。
【0071】
ステップS304:ステップ応答計算部102は、時刻τをτ+Δに更新すると共に、インデックスk'をk'+1に更新する。
【0072】
ステップS305:ステップ応答計算部102は、τ≧tであるか否かを判定する。そして、τ≧tであると判定されなかった場合(ステップS305でNO)、ステップ応答計算部102は、ステップS302に戻る。これにより、τ≧tとなるまで、ステップS302~ステップS304が繰り返し実行される。
【0073】
一方で、τ≧tであると判定された場合(ステップS305でYES)、ステップ応答計算部102は、ステップ応答計算処理を終了する。これにより、最終的に計算された制御量予測値y(k')が単位ステップ応答Sθ(t)として得られる(つまり、Sθ(t)=y(k)が、プラント応答モデルの単位ステップ応答として得られる。)。
【0074】
[第二の実施形態]
次に、第二の実施形態について説明する。第二の実施形態では、学習データ選別処理が第一の実施形態と異なる。なお、第二の実施形態で特に言及しない事項については、第一の実施形態と同様としてよい。
【0075】
そこで、以下、或るkに関して学習データとして用いる運転データを選別する処理(第二の実施形態に係る学習データ選別処理)について、
図10を参照しながら説明する。ただし、k=0である場合は更新フラグ=ONとして処理を終了する。
【0076】
ステップS401:まず、学習データ選別部113は、
図4のステップS101と同様に、状態ベクトルξ(k)と1時刻前の状態ベクトルξ(k-1)との差のノルムd(k)=||ξ(k)-ξ(k-1)||
pをベクトル差ノルムとして計算する。
【0077】
ステップS402:次に、学習データ選別部113は、状態ベクトルξ(k)を用いて、閾値γ(k)を計算する。すなわち、学習データ選別部113は、以下により閾値γ(k)を計算する。
【0078】
【数10】
ここで、E
ξ(k)は状態ベクトルξ(1),・・・,ξ(k)の平均値、V
ξ(k)は状態ベクトルξ(1),・・・,ξ(k)の分散、γ(k)は状態ベクトルξ(1),・・・,ξ(k)の標準偏差のα倍を表す。また、αは調整係数であり、予め設定された値である。
【0079】
ステップS403:次に、学習データ選別部113は、ベクトル差ノルムd(k)が閾値γ(k)以上であるか否かを判定する。
【0080】
d(k)≧γ(k)であると判定した場合(ステップS403でYES)、学習データ選別部113は、ステップS404に進む。一方で、d(k)≧γ(k)であると判定しなかった場合(ステップS403でNO)、学習データ選別部113は、ステップS405に進む。
【0081】
ステップS404:学習データ選別部113は、
図4のステップS103と同様に、更新フラグをONにする。
【0082】
ステップS405:学習データ選別部113は、
図4のステップS104と同様に、更新フラグをOFFにする。
【0083】
[第三の実施形態]
次に、第三の実施形態について説明する。第三の実施形態では、学習データ選別処理が第一の実施形態と異なる。また、閾値γ(k)の計算方法が第二の実施形態と異なる。なお、第三の実施形態で特に言及しない事項については、第一の実施形態と同様としてよい。
【0084】
そこで、以下、或るkに関して学習データとして用いる運転データを選別する処理(第三の実施形態に係る学習データ選別処理)について、
図11を参照しながら説明する。ただし、k=0である場合は更新フラグ=ONとして処理を終了する。
【0085】
ステップS501:まず、学習データ選別部113は、k=1であるか否かを判定する。
【0086】
k=1であると判定した場合(ステップS501でYES)、学習データ選別部113は、ステップS502に進む。一方で、k=1であると判定しなかった場合(ステップS501でNO)、学習データ選別部113は、ステップS503に進む。
【0087】
ステップS502:学習データ選別部113は、Eξ(0)=0、Sξ(0)=0と初期化する。ここで、Eξ(0)は状態ベクトルのノルムの平均値の初期値、Sξ(0)は状態ベクトルのノルムの2乗の平均値の初期値である。
【0088】
ステップS503:学習データ選別部113は、
図4のステップS101と同様に、状態ベクトルξ(k)と状態ベクトルξ(k-1)との差のノルムd(k)=||ξ(k)-ξ(k-1)||
pをベクトル差ノルムとして計算する。
【0089】
ステップS504:次に、学習データ選別部113は、状態ベクトルξ(k)を用いて、閾値γ(k)を計算する。すなわち、学習データ選別部113は、以下により閾値γ(k)を計算する。
【0090】
【数11】
ここで、E
ξ(k)は状態ベクトルξ(1),・・・,ξ(k)のノルムの平均値、S
ξ(k)は状態ベクトルξ(1),・・・,ξ(k)のノルムの2乗の平均値、V
ξ(k)は状態ベクトルξ(1),・・・,ξ(k)のノルムの分散、γ(k)は状態ベクトルξ(1),・・・,ξ(k)のノルムの標準偏差のα倍を表す。また、αは調整係数であり、予め設定された値である。
【0091】
ステップS505:次に、学習データ選別部113は、ベクトル差ノルムd(k)が閾値γ(k)以上であるか否かを判定する。
【0092】
d(k)≧γ(k)であると判定した場合(ステップS505でYES)、学習データ選別部113は、ステップS506に進む。一方で、d(k)≧γ(k)であると判定しなかった場合(ステップS505でNO)、学習データ選別部113は、ステップS507に進む。
【0093】
ステップS506:学習データ選別部113は、
図4のステップS103と同様に、更新フラグをONにする。
【0094】
ステップS507:学習データ選別部113は、
図4のステップS104と同様に、更新フラグをOFFにする。
【0095】
[第四の実施形態]
次に、第四の実施形態について説明する。第四の実施形態では、学習データ選別処理が第一の実施形態~第三の実施形態と異なる。なお、第四の実施形態で特に言及しない事項については、第一の実施形態と同様としてよい。
【0096】
そこで、以下、或るkに関して学習データとして用いる運転データを選別する処理(第四の実施形態に係る学習データ選別処理)について、
図12を参照しながら説明する。ただし、k=0である場合は更新フラグ=ONとして処理を終了する。
【0097】
ステップS601:まず、学習データ選別部113は、k=1であるか否かを判定する。
【0098】
k=1であると判定した場合(ステップS601でYES)、学習データ選別部113は、ステップS602に進む。一方で、k=1であると判定しなかった場合(ステップS601でNO)、学習データ選別部113は、ステップS603に進む。
【0099】
ステップS602:学習データ選別部113は、Ey(0)=0、Sy(0)=0と初期化する。ここで、Ey(0)は制御量の平均値の初期値、Sy(0)は制御量の2乗の平均値の初期値である。
【0100】
ステップS603:学習データ選別部113は、状態ベクトルξ(k)を用いて、予測誤差(の絶対値)d(k)を計算する。予測誤差d(k)は、
図5のステップS204と同様に、d(k)=|y(k)-ξ(k)
Τθ
e(k-1)|により計算される。
【0101】
ステップS604:次に、学習データ選別部113は、制御量y(k)を用いて、閾値γ(k)を計算する。すなわち、学習データ選別部113は、以下により閾値γ(k)を計算する。
【0102】
【数12】
ここで、E
y(k)は制御量y(1),・・・,y(k)の平均値、S
y(k)は制御量y(1),・・・,y(k)の2乗の平均値、V
y(k)は制御量y(1),・・・,y(k)の分散、γ(k)は制御量y(1),・・・,y(k)の標準偏差のα倍を表す。また、αは調整係数であり、予め設定された値である。
【0103】
ステップS605:次に、学習データ選別部113は、予測誤差d(k)が閾値γ(k)以上であるか否かを判定する。
【0104】
d(k)≧γ(k)であると判定した場合(ステップS605でYES)、学習データ選別部113は、ステップS606に進む。一方で、d(k)≧γ(k)であると判定しなかった場合(ステップS605でNO)、学習データ選別部113は、ステップS607に進む。
【0105】
ステップS606:学習データ選別部113は、
図4のステップS103と同様に、更新フラグをONにする。
【0106】
ステップS607:学習データ選別部113は、
図4のステップS104と同様に、更新フラグをOFFにする。
【0107】
[実施例]
以下、第一の実施形態に係るプラント応答推定装置10の実施例について説明する。
【0108】
本実施例では、制御対象のプラントの拡大プラント応答モデルは次式で表されるものとする。
【0109】
y(k)=a1y(k-1)+a2y(k-2)+b0u(k)+b1u(k-1)+b2u(k-2)+c0
すなわち、制御量yに関しては2次元、操作量uに関しては3次元の要素を有するものとする。なお、本実施例では外乱vがないものとする。
【0110】
このとき、状態ベクトルξ(k)及び拡大モデルパラメータθe(k)は以下で表される。
【0111】
【数13】
また、制御量yの推定値はy
est(k)=ξ(k)
Τθ
e(k-1)で表される。
【0112】
更に、本実施例では、学習データ選別部113がベクトル差ノルムd(k)を計算するときのノルムとしてはL1ノルムを用いると共に閾値はγ=0.1とした。また、本実施例における制御対象プラントのステップ応答としては、
図13に示すステップ応答を想定する。
【0113】
以上の設定の下で、学習データ選別部113を用いない場合と学習データ選別部113を用いた場合とを比較した。
【0114】
図14は、学習データ選別部113を用いない場合で調整係数をλ=0.999としたときのモデルパラメータ推定結果及び制御結果である。また、
図15は、学習データ選別部113を用いない場合で調整係数をλ=1.1としたときのモデルパラメータ推定結果及び制御結果である。
【0115】
図14及び
図15はいずれも時刻0から1000までは制御量yと操作量uが一定であるため、モデルパラメータも時刻0付近で初期値から変動した後、時刻1000まで一定となっている。
【0116】
時刻1000以降に関しては、
図14では、モデルパラメータは変化し、時刻4000付近まで変化がみられる。一方で、
図15では、モデルパラメータは変化していない。これは、調整係数λが大きい場合、共分散行列の更新が早まり、ゼロ付近になるためである。
【0117】
制御応答に関しては、
図14では、モデルパラメータが変化したことにより、制御量が目標値に追従できている。一方で、
図15では、モデルパラメータが初期に推定した値から変化していないため、モデルが正しく推定されておらず、制御量が目標値に追従できずに応答が不安定になっている。
【0118】
図16は、学習データ選別部113を用いた場合で調整係数をλ=0.999としたときのモデルパラメータ推定結果及び制御結果である。また、
図17は、学習データ選別部113を用いた場合で調整係数をλ=1.1としたときのモデルパラメータ推定結果及び制御結果である。
【0119】
図16及び
図17はいずれも時刻0から1000までは制御量yと操作量uが一定であるため、モデルパラメータも時刻0付近で初期値から変動した後、時刻1000まで一定となっている。
【0120】
時刻1000以降に関しては、
図16では、モデルパラメータは変化し、時刻1500付近で収束している。一方で、
図17では、
図15と異なり、モデルパラメータは変化し、時刻1200付近で収束している。これは、学習データ選別部113の働きによって時刻0~1000までの定常状態の運転データが更新に用いられないため共分散行列が定常状態でもゼロに収束せず、また時刻1000付近で制御量yと操作量uが変化した運転データは更新に用いられるためパラメータ更新が加速され真値に近くなり、収束が早まったためである。
【0121】
制御応答に関しては、
図16及び
図17のいずれもモデルパラメータが比較的正しく推定されているため、制御量が目標値に追従できている。
【0122】
よって、調整係数λを1より大きくしてモデルパラメータの収束を早めた際に、学習データ選別部113の働きにより、定常状態における運転データでパラメータが収束してしまう事態を回避できているといえる。
【0123】
以上のように、学習データ選別部113により、例えば、定常状態が継続するだけ等といった運転データに十分な情報が含まれない場合にはパラメータ更新が停止され、制御量yや操作量uが変化する場合にはパラメータ更新が行われる。これにより、例えば、定常状態で真値とは遠い局所的な値にパラメータが不用意に収束してしまう事態を回避しつつ、学習データを選別しない場合よりも真値に近い値に素早く収束する、という利点が生じている。
【0124】
なお、上記の各実施形態では、主に、プラント応答モデルのパラメータを推定する場合について説明したが、これに限られず、例えば、上記の各実施形態に係るプラント応答推定装置10は、当該パラメータを設定したプラント応答モデルにより制御対象プラントを実際に制御する制御装置として機能してもよい。このとき、上記の各実施形態に係るプラント応答推定装置10は、モデル予測制御等といった既知の制御手法を用いて、当該パラメータを設定したプラント応答モデルにより制御対象プラントを制御すればよい。このように、上記の各実施形態に係るプラント応答推定装置10は、例えば、モデル予測制御等といった既知の制御手法と組み合わせることにより、制御の追従性と応答の安定化にも寄与することができる。
【0125】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0126】
10 プラント応答推定装置
11 入力装置
12 表示装置
13 外部I/F
13a 記録媒体
14 通信I/F
15 プロセッサ
16 メモリ装置
17 バス
101 モデルパラメータ推定部
102 ステップ応答計算部
111 バッファ部
112 状態ベクトル変換部
113 学習データ選別部
114 逐次推定計算部
115 パラメータ変換部
【手続補正書】
【提出日】2023-07-06
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成部と、
前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別部と、
前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新部と、
を有し、
前記状態ベクトル作成部による状態ベクトルの作成と前記学習データ選別部による学習データとするか否かの判定と前記パラメータ更新部による前記パラメータの更新は、前記運転データのサンプリング周期毎に逐次的に実行され、
前記学習データ選別部は、
前記状態ベクトルの現在値と前回値との差のノルムを計算し、
前記状態ベクトル作成部によって現在までに作成されたすべての前記状態ベクトルの標準偏差と、0以上の値を取る所定の係数との積を閾値として計算し、
前記ノルムが前記閾値以上である場合、定常状態でないことを表す前記状態ベクトルを学習データとすると判定し、
前記ノルムが前記閾値未満である場合、定常状態であることを表す前記状態ベクトルを学習データとしないと判定する、プラント応答推定装置。
【請求項2】
制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成部と、
前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別部と、
前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新部と、
を有し、
前記状態ベクトル作成部による状態ベクトルの作成と前記学習データ選別部による学習データとするか否かの判定と前記パラメータ更新部による前記パラメータの更新は、前記運転データのサンプリング周期毎に逐次的に実行され、
前記学習データ選別部は、
前記状態ベクトルの現在値と前記パラメータとを用いて、前記制御対象プラントの制御量の推定値を計算し、
前記制御量の推定値と前記制御量の現在値との誤差を表す予測誤差を計算し、
前記状態ベクトル作成部によって現在までに作成されたすべての前記状態ベクトルの標準偏差と0以上の値を取る所定の係数との積を計算した値、又は、現在までのすべての前記制御量の標準偏差と0以上の値を取る所定の係数との積を計算した値、又は、所定の定数、のいずれかを閾値として、前記予測誤差が前記閾値以上である場合、定常状態でないことを表す前記状態ベクトルを学習データとすると判定し、
前記予測誤差が前記閾値未満である場合、定常状態であることを表す前記状態ベクトルを学習データとしないと判定する、プラント応答推定装置。
【請求項3】
前記パラメータ更新部は、
所定の調整係数を伴う逐次最小2乗法により前記パラメータの推定値を計算し、
前記調整係数は前記パラメータの推定値の計算と共分散行列を推定する際の更新量の調整とに用いられる、請求項1又は2に記載のプラント応答推定装置。
【請求項4】
前記パラメータ更新部は、
1より大きい値が設定された前記調整係数を用いる、請求項3に記載のプラント応答推定装置。
【請求項5】
制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成手順と、
前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別手順と、
前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新手順と、
をコンピュータが実行し、
前記状態ベクトル作成手順による状態ベクトルの作成と前記学習データ選別手順による学習データとするか否かの判定と前記パラメータ更新手順による前記パラメータの更新は、前記運転データのサンプリング周期毎に逐次的に実行され、
前記学習データ選別手順は、
前記状態ベクトルの現在値と前回値との差のノルムを計算し、
前記状態ベクトル作成手順によって現在までに作成されたすべての前記状態ベクトルの標準偏差と、0以上の値を取る所定の係数との積を閾値として計算し、
前記ノルムが前記閾値以上である場合、定常状態でないことを表す前記状態ベクトルを学習データとすると判定し、
前記ノルムが前記閾値未満である場合、定常状態であることを表す前記状態ベクトルを学習データとしないと判定する、プラント応答推定方法。
【請求項6】
制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成手順と、
前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別手順と、
前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新手順と、
をコンピュータが実行し、
前記状態ベクトル作成手順による状態ベクトルの作成と前記学習データ選別手順による学習データとするか否かの判定と前記パラメータ更新手順による前記パラメータの更新は、前記運転データのサンプリング周期毎に逐次的に実行され、
前記学習データ選別手順は、
前記状態ベクトルの現在値と前記パラメータとを用いて、前記制御対象プラントの制御量の推定値を計算し、
前記制御量の推定値と前記制御量の現在値との誤差を表す予測誤差を計算し、
前記状態ベクトル作成部によって現在までに作成されたすべての前記状態ベクトルの標準偏差と0以上の値を取る所定の係数との積を計算した値、又は、現在までのすべての前記制御量の標準偏差と0以上の値を取る所定の係数との積を計算した値、又は、所定の定数、のいずれかを閾値として、前記予測誤差が前記閾値以上である場合、定常状態でないことを表す前記状態ベクトルを学習データとすると判定し、
前記予測誤差が前記閾値未満である場合、定常状態であることを表す前記状態ベクトルを学習データとしないと判定する、プラント応答推定方法。
【請求項7】
制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成手順と、
前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別手順と、
前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新手順と、
をコンピュータに実行させ、
前記状態ベクトル作成手順による状態ベクトルの作成と前記学習データ選別手順による学習データとするか否かの判定と前記パラメータ更新手順による前記パラメータの更新は、前記運転データのサンプリング周期毎に逐次的に実行され、
前記学習データ選別手順は、
前記状態ベクトルの現在値と前回値との差のノルムを計算し、
前記状態ベクトル作成手順によって現在までに作成されたすべての前記状態ベクトルの標準偏差と、0以上の値を取る所定の係数との積を閾値として計算し、
前記ノルムが前記閾値以上である場合、定常状態でないことを表す前記状態ベクトルを学習データとすると判定し、
前記ノルムが前記閾値未満である場合、定常状態であることを表す前記状態ベクトルを学習データとしないと判定する、プログラム。
【請求項8】
制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成手順と、
前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別手順と、
前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新手順と、
をコンピュータに実行させ、
前記状態ベクトル作成手順による状態ベクトルの作成と前記学習データ選別手順による学習データとするか否かの判定と前記パラメータ更新手順による前記パラメータの更新は、前記運転データのサンプリング周期毎に逐次的に実行され、
前記学習データ選別手順は、
前記状態ベクトルの現在値と前記パラメータとを用いて、前記制御対象プラントの制御量の推定値を計算し、
前記制御量の推定値と前記制御量の現在値との誤差を表す予測誤差を計算し、
前記状態ベクトル作成部によって現在までに作成されたすべての前記状態ベクトルの標準偏差と0以上の値を取る所定の係数との積を計算した値、又は、現在までのすべての前記制御量の標準偏差と0以上の値を取る所定の係数との積を計算した値、又は、所定の定数、のいずれかを閾値として、前記予測誤差が前記閾値以上である場合、定常状態でないことを表す前記状態ベクトルを学習データとすると判定し、
前記予測誤差が前記閾値未満である場合、定常状態であることを表す前記状態ベクトルを学習データとしないと判定する、プログラム。
【手続補正書】
【提出日】2023-10-04
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成部と、
前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別部と、
前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新部と、
を有し、
前記学習データ選別部は、
前記状態ベクトルの現在値と前回値との差のノルムを計算し、
前記状態ベクトル作成部によって現在までに作成されたすべての前記状態ベクトルの標準偏差と、0より大きい値を取る所定の係数との積を閾値として計算し、
前記ノルムが前記閾値以上である場合、前記運転データが定常状態、上限値及び下限値のいずれでもないことにより、前記状態ベクトルを学習データとすると判定し、
前記ノルムが前記閾値未満である場合、前記運転データが定常状態、上限値又は下限値のいずれかであることにより、前記状態ベクトルを学習データとしないと判定し、
前記パラメータ更新部は、
前記学習データとすると判定された前記状態ベクトルを用いて、逐次最小2乗法により共分散行列と前記パラメータの推定値とを、前記学習データとすると判定される毎に逐次的に更新し、
前記状態ベクトル作成部による前記状態ベクトルの作成と、前記学習データ選別部による前記閾値の計算及び前記学習データとするか否かの判定と、前記パラメータ更新部による前記パラメータの更新とは、前記運転データのサンプリング周期毎に逐次的に実行される、プラント応答推定装置。
【請求項2】
制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成部と、
前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別部と、
前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新部と、
を有し、
前記学習データ選別部は、
前記状態ベクトルの現在値と前記パラメータとを用いて、前記制御対象プラントの制御量の推定値を計算し、
前記制御量の推定値と前記制御量の現在値との誤差を表す予測誤差を計算し、
前記状態ベクトル作成部によって現在までに作成されたすべての前記状態ベクトルの標準偏差と0より大きい値を取る所定の係数との積、又は、現在までのすべての前記制御量の標準偏差と0より大きい値を取る所定の係数との積を、閾値として計算し、
前記予測誤差が前記閾値以上である場合、前記運転データが定常状態、上限値及び下限値のいずれでもないことにより、前記状態ベクトルを学習データとすると判定し、
前記予測誤差が前記閾値未満である場合、前記運転データが定常状態、上限値又は下限値のいずれかであることにより、前記状態ベクトルを学習データとしないと判定し、
前記パラメータ更新部は、
前記学習データとすると判定された前記状態ベクトルを用いて、逐次最小2乗法により共分散行列と前記パラメータの推定値とを、前記学習データとすると判定される毎に逐次的に更新し、
前記状態ベクトル作成部による前記状態ベクトルの作成と、前記学習データ選別部による前記閾値の計算及び前記学習データとするか否かの判定と、前記パラメータ更新部による前記パラメータの更新とは、前記運転データのサンプリング周期毎に逐次的に実行される、プラント応答推定装置。
【請求項3】
制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成手順と、
前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別手順と、
前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新手順と、
をコンピュータが実行し、
前記学習データ選別手順は、
前記状態ベクトルの現在値と前回値との差のノルムを計算し、
前記状態ベクトル作成手順によって現在までに作成されたすべての前記状態ベクトルの標準偏差と、0より大きい値を取る所定の係数との積を閾値として計算し、
前記ノルムが前記閾値以上である場合、前記運転データが定常状態、上限値及び下限値のいずれでもないことにより、前記状態ベクトルを学習データとすると判定し、
前記ノルムが前記閾値未満である場合、前記運転データが定常状態、上限値又は下限値のいずれかであることにより、前記状態ベクトルを学習データとしないと判定し、
前記パラメータ更新手順は、
前記学習データとすると判定された前記状態ベクトルを用いて、逐次最小2乗法により共分散行列と前記パラメータの推定値とを、前記学習データとすると判定される毎に逐次的に更新し、
前記状態ベクトル作成手順による前記状態ベクトルの作成と、前記学習データ選別手順による前記閾値の計算及び前記学習データとするか否かの判定と、前記パラメータ更新手順による前記パラメータの更新とは、前記運転データのサンプリング周期毎に逐次的に実行される、プラント応答推定方法。
【請求項4】
制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成手順と、
前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別手順と、
前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新手順と、
をコンピュータが実行し、
前記学習データ選別手順は、
前記状態ベクトルの現在値と前記パラメータとを用いて、前記制御対象プラントの制御量の推定値を計算し、
前記制御量の推定値と前記制御量の現在値との誤差を表す予測誤差を計算し、
前記状態ベクトル作成手順によって現在までに作成されたすべての前記状態ベクトルの標準偏差と0より大きい値を取る所定の係数との積、又は、現在までのすべての前記制御量の標準偏差と0より大きい値を取る所定の係数との積を、閾値として計算し、
前記予測誤差が前記閾値以上である場合、前記運転データが定常状態、上限値及び下限値のいずれでもないことにより、前記状態ベクトルを学習データとすると判定し、
前記予測誤差が前記閾値未満である場合、前記運転データが定常状態、上限値又は下限値のいずれかであることにより、前記状態ベクトルを学習データとしないと判定し、
前記パラメータ更新手順は、
前記学習データとすると判定された前記状態ベクトルを用いて、逐次最小2乗法により共分散行列と前記パラメータの推定値とを、前記学習データとすると判定される毎に逐次的に更新し、
前記状態ベクトル作成手順による前記状態ベクトルの作成と、前記学習データ選別手順による前記閾値の計算及び前記学習データとするか否かの判定と、前記パラメータ更新手順による前記パラメータの更新とは、前記運転データのサンプリング周期毎に逐次的に実行される、プラント応答推定方法。
【請求項5】
制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成手順と、
前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別手順と、
前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新手順と、
をコンピュータに実行させ、
前記学習データ選別手順は、
前記状態ベクトルの現在値と前回値との差のノルムを計算し、
前記状態ベクトル作成手順によって現在までに作成されたすべての前記状態ベクトルの標準偏差と、0より大きい値を取る所定の係数との積を閾値として計算し、
前記ノルムが前記閾値以上である場合、前記運転データが定常状態、上限値及び下限値のいずれでもないことにより、前記状態ベクトルを学習データとすると判定し、
前記ノルムが前記閾値未満である場合、前記運転データが定常状態、上限値又は下限値のいずれかであることにより、前記状態ベクトルを学習データとしないと判定し、
前記パラメータ更新手順は、
前記学習データとすると判定された前記状態ベクトルを用いて、逐次最小2乗法により共分散行列と前記パラメータの推定値とを、前記学習データとすると判定される毎に逐次的に更新し、
前記状態ベクトル作成手順による前記状態ベクトルの作成と、前記学習データ選別手順による前記閾値の計算及び前記学習データとするか否かの判定と、前記パラメータ更新手順による前記パラメータの更新とは、前記運転データのサンプリング周期毎に逐次的に実行される、プログラム。
【請求項6】
制御対象プラントの運転データに基づいて、前記制御対象プラントの状態を表す状態ベクトルを作成する状態ベクトル作成手順と、
前記状態ベクトルを用いて、前記状態ベクトルを学習データとするか否かを判定する学習データ選別手順と、
前記状態ベクトルを学習データとすると判定された場合、前記状態ベクトルを学習データとして用いて、前記制御対象プラントの応答モデルを表す関数のパラメータを更新するパラメータ更新手順と、
をコンピュータに実行させ、
前記学習データ選別手順は、
前記状態ベクトルの現在値と前記パラメータとを用いて、前記制御対象プラントの制御量の推定値を計算し、
前記制御量の推定値と前記制御量の現在値との誤差を表す予測誤差を計算し、
前記状態ベクトル作成手順によって現在までに作成されたすべての前記状態ベクトルの標準偏差と0より大きい値を取る所定の係数との積、又は、現在までのすべての前記制御量の標準偏差と0より大きい値を取る所定の係数との積を、閾値として計算し、
前記予測誤差が前記閾値以上である場合、前記運転データが定常状態、上限値及び下限値のいずれでもないことにより、前記状態ベクトルを学習データとすると判定し、
前記予測誤差が前記閾値未満である場合、前記運転データが定常状態、上限値又は下限値のいずれかであることにより、前記状態ベクトルを学習データとしないと判定し、
前記パラメータ更新手順は、
前記学習データとすると判定された前記状態ベクトルを用いて、逐次最小2乗法により共分散行列と前記パラメータの推定値とを、前記学習データとすると判定される毎に逐次的に更新し、
前記状態ベクトル作成手順による前記状態ベクトルの作成と、前記学習データ選別手順による前記閾値の計算及び前記学習データとするか否かの判定と、前記パラメータ更新手順による前記パラメータの更新とは、前記運転データのサンプリング周期毎に逐次的に実行される、プログラム。