IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士電機株式会社の特許一覧

特開2023-183577運転支援装置、運転支援方法及びプログラム
<>
  • 特開-運転支援装置、運転支援方法及びプログラム 図1
  • 特開-運転支援装置、運転支援方法及びプログラム 図2
  • 特開-運転支援装置、運転支援方法及びプログラム 図3
  • 特開-運転支援装置、運転支援方法及びプログラム 図4
  • 特開-運転支援装置、運転支援方法及びプログラム 図5
  • 特開-運転支援装置、運転支援方法及びプログラム 図6
  • 特開-運転支援装置、運転支援方法及びプログラム 図7
  • 特開-運転支援装置、運転支援方法及びプログラム 図8
  • 特開-運転支援装置、運転支援方法及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023183577
(43)【公開日】2023-12-28
(54)【発明の名称】運転支援装置、運転支援方法及びプログラム
(51)【国際特許分類】
   G05B 13/02 20060101AFI20231221BHJP
   G05B 13/04 20060101ALI20231221BHJP
【FI】
G05B13/02 J
G05B13/04
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022097162
(22)【出願日】2022-06-16
(11)【特許番号】
(45)【特許公報発行日】2023-01-18
(71)【出願人】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】島崎 祐一
(72)【発明者】
【氏名】石橋 直人
(72)【発明者】
【氏名】川口 繭子
【テーマコード(参考)】
5H004
【Fターム(参考)】
5H004GB01
5H004GB15
5H004HA16
5H004HB01
5H004HB02
5H004HB03
5H004KC02
5H004KC08
5H004KC09
5H004KC33
(57)【要約】      (修正有)
【課題】操作量に関するシナリオの事前準備を不要とする技術を提供すること。
【解決手段】対象から収集した複数の実績データを用いて、対象の操作変数の値と前記対象の環境変数の値とを入力として対象の状態変数の値予測シミュレータを構築するシミュレータ構築部と、操作変数の値を用いて、対象で実現可能な操作変数の値を表す操作変数シナリオを作成する第1のシナリオ作成部と、シミュレータと、操作変数シナリオと、与えられた環境変数の所定値とを用いて、操作変数の値と記環境変数の所定値とをシミュレータに入力したときの状態変数の値を表す状態変数シナリオを作成する第2のシナリオ作成部と、環境変数の所定値と状態変数の目標値とが与えられたときに、操作変数シナリオと状態変数シナリオとを用いて、対象の状態変数の値を目標値に近付けるための操作変数の最適値を算出するように構成されている最適化部と、を有する。
【選択図】図4
【特許請求の範囲】
【請求項1】
対象から収集した複数の実績データを用いて、前記対象の操作変数の値と前記対象の環境変数の値とを入力として前記対象の状態変数の値を予測するシミュレータを構築するように構成されているシミュレータ構築部と、
前記実績データに含まれる操作変数の値を用いて、前記対象で実現可能な操作変数の値を表す操作変数シナリオを作成するように構成されている第1のシナリオ作成部と、
前記シミュレータと、前記操作変数シナリオと、与えられた環境変数の所定値とを用いて、前記操作変数の値と前記環境変数の所定値とを前記シミュレータに入力したときの状態変数の値を表す状態変数シナリオを作成するように構成されている第2のシナリオ作成部と、
前記環境変数の所定値と前記状態変数の目標値とが与えられたときに、前記操作変数シナリオと前記状態変数シナリオとを用いて、前記対象の状態変数の値を前記目標値に近付けるための前記操作変数の最適値を算出するように構成されている最適化部と、
を有する運転支援装置。
【請求項2】
前記最適化部は、
複数の前記状態変数シナリオのうち、前記目標値と最も近い前記状態変数シナリオを抽出し、抽出した前記状態変数シナリオに対応する前記操作変数シナリオが表す値を、前記操作変数の最適値として算出するように構成されている、請求項1に記載の運転支援装置。
【請求項3】
前記第1のシナリオ作成部は、
予め決められた値α〔%〕を用いて、前記実績データに含まれる操作変数の値に対して、該操作変数の値×α〔%〕を加えた値と、前記操作変数の値×(-α)〔%〕を加えた値とのそれぞれを、前記操作変数シナリオとして作成するように構成されている、請求項1又は2に記載の運転支援装置。
【請求項4】
前記第1のシナリオ作成部は、
複数の前記実績データにそれぞれ含まれる操作変数の値の分散共分散行列と平均ベクトルとを用いて、多次元正規分布に従う乱数を生成し、生成した前記乱数を前記操作変数シナリオとして作成するように構成されている、請求項1又は2に記載の運転支援装置。
【請求項5】
前記第1のシナリオ作成部は、
複数の前記実績データにそれぞれ含まれる操作変数の値と同一又は類似する分布を持つデータを生成する生成モデルを構築し、構築した前記生成モデルにより生成したデータを前記操作変数シナリオとして作成するように構成されている、請求項1又は2に記載の運転支援装置。
【請求項6】
対象から収集した複数の実績データを用いて、前記対象の操作変数の値と前記対象の環境変数の値とを入力として前記対象の状態変数の値を予測するシミュレータを構築するシミュレータ構築手順と、
前記実績データに含まれる操作変数の値を用いて、前記対象で実現可能な操作変数の値を表す操作変数シナリオを作成する第1のシナリオ作成手順と、
前記シミュレータと、前記操作変数シナリオと、与えられた環境変数の所定値とを用いて、前記操作変数の値と前記環境変数の所定値とを前記シミュレータに入力したときの状態変数の値を表す状態変数シナリオを作成する第2のシナリオ作成手順と、
前記環境変数の所定値と前記状態変数の目標値とが与えられたときに、前記操作変数シナリオと前記状態変数シナリオとを用いて、前記対象の状態変数の値を前記目標値に近付けるための前記操作変数の最適値を算出する最適化手順と、
をコンピュータが実行する運転支援方法。
【請求項7】
対象から収集した複数の実績データを用いて、前記対象の操作変数の値と前記対象の環境変数の値とを入力として前記対象の状態変数の値を予測するシミュレータを構築するシミュレータ構築手順と、
前記実績データに含まれる操作変数の値を用いて、前記対象で実現可能な操作変数の値を表す操作変数シナリオを作成する第1のシナリオ作成手順と、
前記シミュレータと、前記操作変数シナリオと、与えられた環境変数の所定値とを用いて、前記操作変数の値と前記環境変数の所定値とを前記シミュレータに入力したときの状態変数の値を表す状態変数シナリオを作成する第2のシナリオ作成手順と、
前記環境変数の所定値と前記状態変数の目標値とが与えられたときに、前記操作変数シナリオと前記状態変数シナリオとを用いて、前記対象の状態変数の値を前記目標値に近付けるための前記操作変数の最適値を算出する最適化手順と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、運転支援装置、運転支援方法及びプログラムに関する。
【背景技術】
【0002】
近年、産業分野では熟練オペレータの不足等を背景に、AI(Artificial Intelligence)や機械学習技術等を活用したプラント運転支援システムへのニーズが高まっている。一般に、発電プラント、鉄鋼プラント、化学プラント等といったプラントでは、その時の環境に応じて、オペレータが過去の知見から将来の製品品質に寄与する状態変数が目標値となるように最適な操作量を計画した上で、その操作量によりプラントを運転している。これに対して、予測技術によるシミュレータと最適化技術とを組み合わせたプラント運転支援システムが従来から提案されている。
【0003】
例えば、水処理プラントを対象に、水処理施設の物理特性に基づいた物理モデルをシミュレータとして最適化技術と組み合わせることで、運転目標を満たす複数の操作量を算出する技術が提案されている(例えば、特許文献1)。
【0004】
また、例えば、発電プラントを対象に、プラント仕様やユーザニーズに基づいた機械学習モデルをシミュレータとして最適化技術と組み合わせることで、運転目標を満たす操作条件を算出する技術が提案されている(例えば、特許文献2)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006-15180号公報
【特許文献2】国際公開第2019/208773号
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来では、操作量をシナリオとして準備する必要があった。これは、従来では、シナリオとして準備した操作量に対する状態変数値をシミュレータにより算出した上で、状態変数の目標値が与えられたときに、その目標値に対応する操作量を最適化技術によりシナリオの中から抽出しているためである。
【0007】
このため、例えば、プラントの運用者等は、各操作変数が取り得る値や操作変数間で実行可能な組み合わせ等を考慮して、操作量に関するシナリオを事前に準備する必要があった。
【0008】
本開示は、上記の点に鑑みてなされたもので、操作量に関するシナリオの事前準備を不要とする技術を提供する。
【課題を解決するための手段】
【0009】
本開示の一態様による運転支援装置は、対象から収集した複数の実績データを用いて、前記対象の操作変数の値と前記対象の環境変数の値とを入力として前記対象の状態変数の値を予測するシミュレータを構築するように構成されているシミュレータ構築部と、前記実績データに含まれる操作変数の値を用いて、前記対象で実現可能な操作変数の値を表す操作変数シナリオを作成するように構成されている第1のシナリオ作成部と、前記シミュレータと、前記操作変数シナリオと、与えられた環境変数の所定値とを用いて、前記操作変数の値と前記環境変数の所定値とを前記シミュレータに入力したときの状態変数の値を表す状態変数シナリオを作成するように構成されている第2のシナリオ作成部と、前記環境変数の所定値と前記状態変数の目標値とが与えられたときに、前記操作変数シナリオと前記状態変数シナリオとを用いて、前記対象の状態変数の値を前記目標値に近付けるための前記操作変数の最適値を算出するように構成されている最適化部と、を有する。
【発明の効果】
【0010】
操作量に関するシナリオの事前準備を不要とする技術が提供される。
【図面の簡単な説明】
【0011】
図1】本実施形態に係る運転支援装置のハードウェア構成の一例を示す図である。
図2】本実施形態に係る運転支援装置の機能構成の一例を示す図である。
図3】本実施形態に係るシナリオ作成処理の一例を示すフローチャートである。
図4】操作変数シナリオ作成の一例を説明するための図である。
図5】状態変数シナリオ作成の一例を説明するための図である。
図6】運転シナリオの一例を説明するための図である。
図7】操作変数シナリオの作成方法の一例を説明するための図(その1)である。
図8】操作変数シナリオの作成方法の一例を説明するための図(その2)である。
図9】本実施形態に係る最適操作量算出処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の一実施形態について説明する。以下の実施形態では、操作量に関するシナリオ(以下、操作変数シナリオともいう。)の事前準備を必要とせずに、状態変数値と操作量(操作変数値)とを少なくとも対応付けたシナリオ(以下、運転シナリオともいう。)を作成し、その運転シナリオにより対象の最適な運転を支援することができる運転支援装置10について説明する。ここで、本実施形態に係る運転支援装置10には、対象の運転シナリオを作成するシナリオ作成フェーズと、この運転シナリオと最適化技術により当該対象に対する最適な操作量を算出する運転支援フェーズとが存在する。
【0013】
なお、対象とは、運用者(又は、オペレータと呼ばれてもよい。)が操作する対象のことであり、例えば、プラント、設備、機器、装置等が挙げられる。対象には各種センサが設置されており、これらのセンサにより当該対象の状態や環境、当該対象に対する操作等が計測される。対象の状態を表す変数は「状態変数」、環境を表す変数は「環境変数」、操作を表す変数は「操作変数」と呼ばれる。また、以下では、状態変数、環境変数、操作変数をまとめて単に「変数」ともいう。
【0014】
状態変数の具体例としては、例えば、温度、圧力、流量等が挙げられる。環境変数の具体例としては、例えば、外気温、設備番号等が挙げられる。操作変数の具体例としては、例えば、空気弁や燃料バルブの開閉量等が挙げられる。なお、プラントを対象とした場合、これらの変数はプラントのプロセスを表すため、プロセス変数等とも呼ばれる。
【0015】
以下、操作変数の総数をIとして、各操作変数をx(1≦i≦I)と表す。同様に、状態変数の総数をJとして、各状態変数をy(1≦j≦J)と表す。同様に、環境変数の総数をKとして、各環境変数をz(1≦k≦K)と表す。また、操作変数x(1≦i≦I)をi番目の要素に持つI次元ベクトルをx=(x,・・・,x)と表す。同様に、状態変数y(1≦j≦J)をj番目の要素に持つJ次元ベクトルをy=(y,・・・,y)と表す。同様に、環境変数z(1≦k≦K)をk番目の要素に持つK次元ベクトルをz=(z,・・・,z)と表す。なお、x、y、zはいずれも横ベクトルであるものとしたが、縦ベクトルであってもよい。
【0016】
また、時刻tの操作変数値をx(t)、時刻tの状態変数値をy(t)、時刻tの環境変数値をz(t)と表す。また、x(t)=(x(t),・・・,x(t))、y(t)=(y(t),・・・,y(t))、z(t)=(z(t),・・・,z(t))と表す。なお、時刻tは時刻ステップとも呼ばれ、例えば、対象の制御周期をΔtとすれば、制御周期Δt毎にt←t+Δtと更新される時刻である。
【0017】
<運転支援装置10のハードウェア構成例>
本実施形態に係る運転支援装置10のハードウェア構成例を図1に示す。図1に示すように、本実施形態に係る運転支援装置10は、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、RAM(Random Access Memory)105と、ROM(Read Only Memory)106と、補助記憶装置107と、プロセッサ108とを有する。これらの各ハードウェアは、それぞれがバス109を介して通信可能に接続される。
【0018】
入力装置101は、例えば、キーボード、マウス、タッチパネル、物理ボタン等である。表示装置102は、例えば、ディスプレイ、表示パネル等である。なお、運転支援装置10は、例えば、入力装置101及び表示装置102のうちの少なくとも一方を有していなくてもよい。
【0019】
外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。記録媒体103aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
【0020】
通信I/F104は、運転支援装置10を通信ネットワークに接続するためのインタフェースである。RAM105は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM106は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置107は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性の記憶装置であり、プログラムやデータが格納される。プロセッサ108は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。
【0021】
なお、図1に示すハードウェア構成は一例であって、運転支援装置10は、他のハードウェア構成を有していてもよい。例えば、運転支援装置10は、複数の補助記憶装置107や複数のプロセッサ108を有していてもよいし、図示したハードウェア以外の種々のハードウェアを有していてもよい。
【0022】
<運転支援装置10の機能構成例>
本実施形態に係る運転支援装置10の機能構成例を図2に示す。図2に示すように、本実施形態に係る運転支援装置10は、入力部201と、シミュレータ構築部202と、シナリオ作成部203と、最適化部204と、出力部205とを有する。これら各部は、例えば、運転支援装置10にインストールされた1以上のプログラムが、プロセッサ108等に実行させる処理により実現される。また、本実施形態に係る運転支援装置10は、記憶部206を有する。記憶部206は、例えば、補助記憶装置107等により実現される。ただし、記憶部206は、例えば、運転支援装置10と通信ネットワークを介して接続されるデータベースサーバ等の記憶装置により実現されてもよい。
【0023】
入力部201は、シナリオ作成フェーズにおいて、シナリオ作成に用いる過去の運転データ(以下、実績データともいう。)を記憶部206から取得する。運転データとは、各時刻tの操作変数値と状態変数値と環境変数値で構成されるデータである。すなわち、或る時刻tの運転データは、例えば、(x(t),y(t),z(t))と表される。以下、シナリオ作成フェーズにおいて、実績データ集合D={(x(t),y(t),z(t))|t∈T}が記憶部206から取得されるものとする。ここで、Tはシナリオ作成に用いる実績データの時刻集合である。ただし、実績データ集合Dに含まれる各実績データは、対象の正常運転時の運転データや対象が適切に運転されているときの運転データ、模範的な運転がなされているときの運転データ等であるものとする。以下では、各x(t)を操作変数実績値、各y(t)を状態変数実績値、各z(t)を環境変数実績値とも呼ぶことにする。
【0024】
また、入力部201は、運転支援フェーズにおいて、現在時刻t=tの環境変数値と状態変数の目標値を記憶部206から取得する。すなわち、時刻tの状態変数の目標値をy'(t)=(y'(t),・・・,y'(t))とすれば、入力部201は、現在時刻t=tの環境変数値z(t)と状態変数の目標値y'(t)を記憶部206から取得する。
【0025】
シミュレータ構築部202は、シナリオ作成フェーズにおいて、入力部201によって取得された実績データ集合Dを用いて、対象のシミュレータを構築する。ここで、シミュレータとは、操作変数値と環境変数値とを入力として状態変数値を出力する関数で表現されるモデル(つまり、操作変数値と環境変数値から状態変数値を予測するモデル)のことである。具体的には、y=f(x,z)と表現されるモデルがシミュレータである。ただし、f=(f,・・・,f)である。f(1≦j≦J)として、例えば、物理モデル、統計モデル、機械学習モデル等を用いることができる。例えば、f(1≦j≦J)が統計モデル又は機械学習モデルである場合、回帰分析、SVR(Support Vector Regression)、ニューラルネットワーク等といったものを用いることができる。
【0026】
シナリオ作成部203は、シナリオ作成フェーズにおいて、入力部201によって取得された実績データ集合Dに含まれる操作変数実績値{x(t)|t∈T}と、シミュレータ構築部202によって構築されたシミュレータfとを用いて、運転シナリオを作成する。より具体的には、シナリオ作成部203は、操作変数実績値{x(t)|t∈T}から操作変数シナリオを作成した上で、これらの操作変数シナリオと任意の環境変数値とシミュレータfから状態変数に関するシナリオ(以下、状態変数シナリオともいう。)を作成する。そして、シナリオ作成部203は、操作変数シナリオと当該環境変数値と状態変数シナリオとを対応付けることで、運転シナリオを作成する。
【0027】
最適化部204は、運転支援フェーズにおいて、シナリオ作成部203によって作成された運転シナリオと、入力部201によって取得された現在時刻t=tの環境変数値及び状態変数の目標値とを用いて、対象の状態変数値を当該目標値に近付けるための最適な操作量を算出する。すなわち、最適化部204は、現在時刻t=tの環境変数値及び状態変数の目標値から最適な運転シナリオを抽出した上で、その最適な運転シナリオに含まれる操作変数値を最適な操作量として算出する。
【0028】
出力部205は、最適化部204によって算出された最適な操作量を予め決められた所定の出力先に出力する。このような出力先は、例えば、表示装置102であってもよいし、通信ネットワークを介して接続される端末(特に、オペレータが利用する端末)であってもよい。
【0029】
記憶部206は、シナリオ作成フェーズにおいて、実績データ集合Dと、状態変数シナリオの作成に用いられる環境変数値(又は、環境変数が取り得る値の範囲又は条件等を示す情報でもよい。)を少なくとも記憶する。実績データ集合Dに含まれる各実績データは、例えば、時刻t毎に通信ネットワークを介して対象から収集される。
【0030】
なお、記憶部206には、例えば、対象の稼働日/停止日、状態変数値の正常範囲/異常範囲等といった情報が含まれるデータ(以下、補助データともいう。)が更に記憶されていてもよい。これらの補助データは、例えば、入力装置101等を介してユーザにより入力されてもよいし、通信ネットワークを介してユーザ端末等から受信してもよい。
【0031】
また、記憶部206は、運転支援フェーズにおいて、対象から収集された現在時刻t=tの環境変数値z(t)と、対象の各時刻tの状態変数の目標値の集合{y'(t)}とを少なくとも記憶する。現在時刻t=tの環境変数値z(t)は、例えば、通信ネットワークを介して対象から取得される。なお、現在時刻t=tの状態変数値y(t)が更に取得され、記憶部206に記憶されてもよい。一方で、各時刻tの状態変数の目標値の集合は予め作成又は決定され、記憶部206に記憶される。
【0032】
<シナリオ作成処理>
以下、シナリオ作成フェーズで実行されるシナリオ作成処理について、図3を参照しながら説明する。なお、シナリオ作成処理は一般に対象のオフライン時に実行されるが、これに限られず、例えば、オフラインで一度実行した後、オンライン時にバックグラウンドで定期的に実行されてもよい。
【0033】
まず、入力部201は、シナリオ作成に用いる実績データ集合Dを記憶部206から取得する(ステップS101)。
【0034】
次に、シミュレータ構築部202は、上記のステップS101で取得された実績データ集合Dを用いて、対象のシミュレータfを構築する(ステップS102)。すなわち、シミュレータ構築部202は、各時刻t∈Tに対して、f(x(t),z(t))がy(t)を模擬(再現)するように、シミュレータfを構築する。
【0035】
なお、上記のステップS102でシミュレータfを構築する際に、例えば、補助データも用いてシミュレータfを構築してもよい。これにより、より高精度なシミュレータの構築が期待できる。
【0036】
そして、シナリオ作成部203は、上記のステップS101で取得された実績データ集合Dに含まれる操作変数実績値{x(t)|t∈T}と、上記のステップS102で構築されたシミュレータfとを用いて、運転シナリオを作成する(ステップS103)。シナリオ作成部203は、以下の手順1~手順3により運転シナリオを作成する。なお、以下では、N=|T|とする。また、一例として、I=2、J=1、K=2であることを想定する。
【0037】
手順1:シナリオ作成部203は、N個の操作変数実績値の分布と同一分布を持つS(ただし、S≧N)個の操作変数シナリオを作成する。これにより、例えば、図4に示すように、N個の操作変数実績値からS個の操作変数シナリオが作成される。ただし、S個の操作変数シナリオの分布とN個の操作変数実績値の分布とが完全に同一である必要はなく、或る程度の同一性又は類似性があればよい。例えば、分布間の類似度を評価することができる指標値(例えば、KLダイバージェンス等といった既知の指標値)を用いて、S個の操作変数シナリオの分布とN個の操作変数実績値の分布との類似度が所定の閾値以下であればよい。なお、操作変数シナリオの作成方法の具体例については後述する。
【0038】
以下、s(ただし、1≦s≦S)番目の操作変数シナリオをx(s)と書くことにする。なお、図4に示す例では、x(s)=(x (s),x (s))(s=1,・・・,S)である。
【0039】
手順2:シナリオ作成部203は、操作変数シナリオx(s)と予め決められた任意の環境変数値z=zとを入力として、シミュレータfにより状態変数シナリオy(s)を算出する。すなわち、シナリオ作成部203は、s=1,・・・,Sに対して、y(s)=f(x(s),z)により状態変数シナリオy(s)を算出する。これにより、例えば、図5に示すように、S個の状態変数シナリオy(s)と予め決められた任意の環境変数値z=zからS個の状態変数シナリオy(s)=y (s)が作成される。
【0040】
手順3:シナリオ作成部203は、操作変数シナリオx(s)と予め決められた任意の環境変数値z=zと状態変数シナリオy(s)とを対応付けることで、運転シナリオを作成する。すなわち、シナリオ作成部203は、s=1,・・・,Sに対して、運転シナリオ(x(s),z,y(s))を作成する。これにより、例えば、図6に示すように、S個の運転シナリオ(x(s),z,y(s))=(x (s),x (s),z,y (s))が作成される。
【0041】
以上により、運転シナリオ集合{(x(s),z,y(s))|s=1,・・・,S}が得られる。この運転シナリオ集合{(x(s),z,y(s))|s=1,・・・,S}は、例えば、記憶部206に記憶される。
【0042】
なお、対象が様々な環境変数値を取り得る場合、上記のステップS103の手順2~手順3では様々な環境変数値zが与えられる。例えば、対象がM個の環境変数値z,z,・・・,zを取り得る場合、各環境変数値z∈{z,z,・・・,z}に対して上記の手順2~手順3が実行される。これにより、例えば、M個の運転シナリオ集合{{(x(s),z,y(s))|s=1,・・・,S}|z∈{z,z,・・・,z}}が得られ、このM個の運転シナリオ集合が記憶部206に記憶される。
【0043】
また、各環境変数値z∈{z,z,・・・,z}に対して上記の手順1も実行し、各運転シナリオ集合に含まれる運転シナリオ数が異なり得るようにしてもよい。すなわち、環境変数値z=zが与えられるときは上記の手順1でS個の操作変数シナリオx(s)を作成し、上記の手順2~手順3でS個の運転シナリオが含まれる運転シナリオ集合を作成してもよい。これにより、例えば、M個の運転シナリオ集合{{(x(s),z,y(s))|s=1,・・・,S}|m=1,・・・,M}が得られ、このM個の運転シナリオ集合が記憶部206に記憶される。
【0044】
<操作変数シナリオの作成方法>
以下、上記のステップS103の手順1における操作変数シナリオの作成方法について説明する。以下では、一例として、3つの作成方法について説明するが、これらに限られるものではなく、N個の操作変数実績値から同一又は類似の分布を持つS個の操作変数シナリオを作成できるものであれば任意の方法を用いることができる。
【0045】
なお、以下では、N個の操作変数実績値を{x(n)|n=1,・・・,N}と書くことにする。
【0046】
・操作変数シナリオの作成方法その1
α〔%〕を予め決められた値とする。このとき、x(n)に対して±α〔%〕だけ加算したもの(つまり、x(n)+(x(n)×α)とx(n)-(x(n)×α))を計算する。そして、n=1,・・・,Nに対して、x(n)、x(n)+(x(n)×α)、x(n)-(x(n)×α))をそれぞれ操作変数シナリオとする。この作成方法では、例えば、図7に示すように、1つの操作変数実績値x(n)から2つの操作変数値が得られるため、S=N+2N=3Nとなる。これにより、N個の操作変数実績値x(n)の分布領域から乖離しない操作変数シナリオ(つまり、各操作変数が取り得る値や操作変数間で実行可能な組み合わせ等を考慮して、対象を実際に運転可能な操作変数値)を得ることができる。
【0047】
・操作変数シナリオの作成方法その2
操作変数実績値間の相関を考慮することが可能な多次元正規乱数を用いる。多次元正規乱数とは、多次元正規分布に従う乱数のことである。Σを操作変数実績値{x(n)|n=1,・・・,N}の分散共分散行列、μを操作変数実績値{x(n)|n=1,・・・,N}の平均ベクトル、Cを下三角行列、Rを標準正規乱数(標準正規分布に従う乱数)とする。このとき、以下により操作変数シナリオx(s)を生成する。
【0048】
(s)=C・R+μ
Σ=C・Cτ
ここで、τは行列の転置を表す。なお、Σ=C・CτとなるCは、Σは正定値である場合はコレスキー分解により求めることができる。
【0049】
この方法では、例えば、図8に示すように、任意のS個の操作変数シナリオx(s)(s=1,・・・,S)を生成することができる。これにより、上記の作成方法その1と同様に、N個の操作変数実績値x(n)の分布領域から乖離しない操作変数シナリオを得ることができる。
【0050】
・操作変数シナリオの作成方法その3
N個の操作変数実績値{x(n)|n=1,・・・,N}の分布に近い分布を持つデータを生成することが可能な生成モデルを用いる。すなわち、この生成モデルにより、任意のS個の操作変数シナリオx(s)(s=1,・・・,S)を生成する。このような生成モデルは、例えば、GAN(Generative Adversarial Network)等といった手法により構築することができる。これにより、上記の作成方法その2と同様に、N個の操作変数実績値x(n)の分布領域から乖離しない操作変数シナリオを得ることができる。
【0051】
<最適操作量算出処理>
以下、運転支援フェーズで実行される最適操作量算出処理について、図9を参照しながら説明する。なお、最適操作量算出処理は、例えば、制御周期Δt毎に繰り返し実行される。以下では、現在時刻t=tの環境変数値z(t)が対象から取得され、記憶部206に記憶されているものとする。また、以下では、M個の運転シナリオ集合{{(x(s),z,y(s))|s=1,・・・,S}|m=1,・・・,M}が記憶部206に記憶されているものとする。
【0052】
まず、入力部201は、現在時刻t=tの環境変数値z(t)と状態変数の目標値y'(t)を記憶部206から取得する(ステップS201)。
【0053】
次に、最適化部204は、上記のステップS201で取得された環境変数値z(t)及び目標値y'(t)を用いて、z=z(t)となる運転シナリオ集合{(x(s),z,y(s))|s=1,・・・,S}の中から最適な運転シナリオを抽出する(ステップS202)。ここで、最適な運転シナリオとは、状態変数の目標値y'(t)と近い状態変数シナリオy(s)が含まれる運転シナリオのことである。
【0054】
このため、最適化部204は、例えば、z=z(t)となる運転シナリオ集合{(x(s),z=z(t),y(s))|s=1,・・・,S}の中で、状態変数シナリオy(s)と目標値y'(t)との差の絶対値|y(s)-y'(t)|が最小となる運転シナリオ(x(s',z=z(t),y(s')を最適な運転シナリオとして抽出すればよい。なお、s'は、|y(s)-y'(t)|を最小化するs∈{1,・・・,S}を表す。
【0055】
ただし、これは一例であって、状態変数シナリオy(s)と目標値y'(t)との差の絶対値|y(s)-y'(t)|に限られるものではない。例えば、状態変数シナリオy(s)と目標値y'(t)との差の二乗(y(s)-y'(t))が最小となる運転シナリオ(x(s',z=z(t),y(s')を最適な運転シナリオとして抽出してもよい。なお、この場合、s'は、(y(s)-y'(t))を最小化するs∈{1,・・・,S}を表す。
【0056】
次に、最適化部204は、上記のステップS202で抽出された最適な運転シナリオ(x(s',z=z(t),y(s')に含まれる操作変数値x(s'を最適な操作量とする(ステップS203)。
【0057】
そして、出力部205は、上記のステップS203で得られた最適な操作量x(s'を予め決められた所定の出力先に出力する(ステップS204)。これにより、オペレータは、この最適な操作量(又は、この最適な操作量を参考に決定した操作量)によりプラント等の対象を運転することができる。
【0058】
<まとめ>
以上のように、本実施形態に係る運転支援装置10は、対象の実際の運転データ(実績データ)に含まれる操作実績値を利用して、それらの操作実績値の分布に近い分布を持つ操作変数シナリオを作成することができる。このため、本実施形態に係る運転支援装置10を用いることで、操作変数シナリオの事前準備を必要とせずに運転シナリオを作成することが可能となり、またその運転シナリオにより対象の最適な運転を支援することが可能となる。したがって、例えば、各操作変数が取り得る値や操作変数間で実行可能な組み合わせ等といった対象で実現可能な操作変数の値に関する知識を必要とせずに、プラント等の対象のオペレータ等は、当該対象の最適な運転を実現することが可能となる。
【0059】
なお、上記の実施形態では、最適操作量算出処理で算出された操作量をオペレータ等に提示したが、これに限られず、例えば、対象の運転を制御する制御装置に対して最適な操作量を出力してもよい。これにより、その操作量により対象を自動的に運転させることが可能となる。
【0060】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0061】
10 運転支援装置
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 通信I/F
105 RAM
106 ROM
107 補助記憶装置
108 プロセッサ
109 バス
201 入力部
202 シミュレータ構築部
203 シナリオ作成部
204 最適化部
205 出力部
206 記憶部
図1
図2
図3
図4
図5
図6
図7
図8
図9
【手続補正書】
【提出日】2022-10-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
対象から収集した複数の実績データを用いて、前記対象の操作変数の値と前記対象の環境変数の値とを入力として前記対象の状態変数の値を予測するシミュレータを構築するように構成されているシミュレータ構築部と、
前記実績データに含まれる操作変数の値を用いて、前記対象で実現可能な操作変数の値を表す操作変数シナリオを作成するように構成されている第1のシナリオ作成部と、
前記シミュレータと、前記操作変数シナリオと、与えられた環境変数の所定値とを用いて、前記操作変数の値と前記環境変数の所定値とを前記シミュレータに入力したときの状態変数の値を表す状態変数シナリオを作成するように構成されている第2のシナリオ作成部と、
前記環境変数の所定値と前記状態変数の目標値とが与えられたときに、前記操作変数シナリオと前記状態変数シナリオとを用いて、前記対象の状態変数の値を前記目標値に近付けるための前記操作変数の最適値を算出するように構成されている最適化部と、
を有し、
前記第1のシナリオ作成部は、
前記実績データに含まれる操作変数の値の分布と同一又は類似する分布を持つ操作変数シナリオを作成するように構成されている、運転支援装置。
【請求項2】
前記最適化部は、
複数の前記状態変数シナリオのうち、前記目標値と最も近い前記状態変数シナリオを抽出し、抽出した前記状態変数シナリオに対応する前記操作変数シナリオが表す値を、前記操作変数の最適値として算出するように構成されている、請求項1に記載の運転支援装置。
【請求項3】
前記第1のシナリオ作成部は、
予め決められた値α〔%〕を用いて、前記実績データに含まれる操作変数の値に対して、該操作変数の値×α〔%〕を加えた値と、前記操作変数の値×(-α)〔%〕を加えた値とのそれぞれを、前記操作変数シナリオとして作成するように構成されている、請求項1又は2に記載の運転支援装置。
【請求項4】
前記第1のシナリオ作成部は、
複数の前記実績データにそれぞれ含まれる操作変数の値の分散共分散行列と平均ベクトルとを用いて、多次元正規分布に従う乱数を生成し、生成した前記乱数を前記操作変数シナリオとして作成するように構成されている、請求項1又は2に記載の運転支援装置。
【請求項5】
前記第1のシナリオ作成部は、
複数の前記実績データにそれぞれ含まれる操作変数の値と同一又は類似する分布を持つデータを生成する生成モデルを構築し、構築した前記生成モデルにより生成したデータを前記操作変数シナリオとして作成するように構成されている、請求項1又は2に記載の運転支援装置。
【請求項6】
対象から収集した複数の実績データを用いて、前記対象の操作変数の値と前記対象の環境変数の値とを入力として前記対象の状態変数の値を予測するシミュレータを構築するシミュレータ構築手順と、
前記実績データに含まれる操作変数の値を用いて、前記対象で実現可能な操作変数の値を表す操作変数シナリオを作成する第1のシナリオ作成手順と、
前記シミュレータと、前記操作変数シナリオと、与えられた環境変数の所定値とを用いて、前記操作変数の値と前記環境変数の所定値とを前記シミュレータに入力したときの状態変数の値を表す状態変数シナリオを作成する第2のシナリオ作成手順と、
前記環境変数の所定値と前記状態変数の目標値とが与えられたときに、前記操作変数シナリオと前記状態変数シナリオとを用いて、前記対象の状態変数の値を前記目標値に近付けるための前記操作変数の最適値を算出する最適化手順と、
をコンピュータが実行し、
前記第1のシナリオ作成手順は、
前記実績データに含まれる操作変数の値の分布と同一又は類似する分布を持つ操作変数シナリオを作成する、運転支援方法。
【請求項7】
対象から収集した複数の実績データを用いて、前記対象の操作変数の値と前記対象の環境変数の値とを入力として前記対象の状態変数の値を予測するシミュレータを構築するシミュレータ構築手順と、
前記実績データに含まれる操作変数の値を用いて、前記対象で実現可能な操作変数の値を表す操作変数シナリオを作成する第1のシナリオ作成手順と、
前記シミュレータと、前記操作変数シナリオと、与えられた環境変数の所定値とを用いて、前記操作変数の値と前記環境変数の所定値とを前記シミュレータに入力したときの状態変数の値を表す状態変数シナリオを作成する第2のシナリオ作成手順と、
前記環境変数の所定値と前記状態変数の目標値とが与えられたときに、前記操作変数シナリオと前記状態変数シナリオとを用いて、前記対象の状態変数の値を前記目標値に近付けるための前記操作変数の最適値を算出する最適化手順と、
をコンピュータに実行させ
前記第1のシナリオ作成手順は、
前記実績データに含まれる操作変数の値の分布と同一又は類似する分布を持つ操作変数シナリオを作成する、プログラム。