(57)【要約】【課題】計算資源が限られた機器でも、制約付きの多変数制御を正確かつ高速に実現する。【解決手段】複数の制御量を目標値に追従させる多変数制御に用いられる制御方法であって、制御対象における操作量を表す変数と前記制御量を表す変数との関係を表すモデル式と、前記操作量を表す変数の上限及び下限を表す上下限制約と、前記目標値と前記制御量との差を評価するための評価関数とが入力されると、前記評価関数が最適性条件を満たすように、前記目標値を表す変数と前記操作量を表す変数とが満たすべき関係を表す関係論理式を予め生成する生成手順と、前記目標値が入力される度に、該目標値と前記関係論理式とに基づいて、前記複数の制御量を前記目標値に追従させるための前記操作量を算出する算出手順と、をコンピュータが実行することを特徴とする。【選択図】図３
2019152998.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御量を目標値に追従させる多変数制御に用いられる制御方法であって、
制御対象における操作量を表す変数と前記制御量を表す変数との関係を表すモデル式と、前記操作量を表す変数の上限及び下限を表す上下限制約と、前記目標値と前記制御量との差を評価するための評価関数とが入力されると、前記評価関数が最適性条件を満たすように、前記目標値を表す変数と前記操作量を表す変数とが満たすべき関係を表す関係論理式を予め生成する生成手順と、
前記目標値が入力される度に、該目標値と前記関係論理式とに基づいて、前記複数の制御量を前記目標値に追従させるための前記操作量を算出する算出手順と、
をコンピュータが実行することを特徴とする制御方法。
【請求項２】
前記生成手順は、
前記モデル式と、前記上下限制約と、前記評価関数と、ラグランジュ乗数とからラグランジュ関数を生成し、
前記ラグランジュ関数が前記最適性条件を満たす条件式を生成し、
前記条件式のラグランジュ乗数に対して存在記号を付与して一階述語論理式を生成し、前記一階述語論理式に限定記号消去法を適用して、前記目標値を表す変数によって構成される空間を複数の領域に分割する分割論理式と、分割した各領域に対して、最適な前記操作量を計算する操作量決定関数とによって構成される前記関係論理式とを生成する、ことを特徴とする請求項１に記載の制御方法。
【請求項３】
前記算出手順は、
前記分割論理式によって分割される複数の領域のうち、前記目標値が含まれる領域を探索し、探索された領域に対応する操作量決定関数に前記目標値を代入することで、前記操作量を算出する、ことを特徴とする請求項２に記載の制御方法。
【請求項４】
前記生成手順は、
前記モデル式と、前記上下限制約と、前記評価関数と、ラグランジュ乗数と、前記制御量の単位時間の変化率制約とからラグランジュ関数を生成し、
前記ラグランジュ関数が前記最適性条件を満たす条件式を生成し、
前記条件式のラグランジュ乗数に対して存在記号を付与して、一階述語論理式を生成し、
前記一階述語論理式に限定記号消去法を適用して、前記目標値を表す変数と前記制御量の現在値を表す変数とによって構成される空間を複数の領域に分割する分割論理式と、分割した各領域に対して、最適な前記操作量を計算する操作量決定関数とによって構成される前記関係論理式を生成し、
前記算出手順は、
前記分割論理式によって分割される複数の領域のうち、前記目標値と前記制御量の現在値とが含まれる領域を探索し、探索された領域に対応する操作量決定関数に前記目標値と前記制御量の現在値とを代入して、前記操作量を算出する、
ことを特徴とする請求項１に記載の制御方法。
【請求項５】
前記生成手順は、
前記モデル式と、前記上下限制約と、前記評価関数と、ラグランジュ乗数と、前記操作量の単位時間の変化率制約とからラグランジュ関数を生成し、
前記ラグランジュ関数が前記最適性条件を満たす条件式を生成し、
前記条件式のラグランジュ乗数に対して存在記号を付与して、一階述語論理式を生成し、
前記一階述語論理式に限定記号消去法を適用して、前記目標値を表す変数と前記操作量の現在値を表す変数とによって構成される空間を複数の領域に分割する分割論理式と、分割した各領域に対して、最適な前記操作量を計算する操作量決定関数によって構成される前記関係論理式とを生成し、
前記算出手順は、
前記分割論理式によって分割される複数の領域のうち、前記目標値と前記操作量の現在値とが含まれる領域を探索し、探索された領域に対応する操作量決定関数に前記目標値と
前記操作量の現在値とを代入して、前記操作量を算出する、
ことを特徴とする請求項１に記載の制御方法。
【請求項６】
前記算出手順は、
前記探索する領域の優先度が格納されたキャッシュを参照して、前記優先度に応じて、前記分割論理式によって分割される複数の領域のうち、前記目標値が含まれる領域を探索する、ことを特徴とする請求項３乃至５の何れか一項に記載の制御方法。
【請求項７】
前記目標値が含まれる領域が探索された場合、該探索された領域の優先度が高くなるように前記キャッシュを更新する更新手順、を前記コンピュータが実行することを特徴とする請求項６に記載の制御方法。
【請求項８】
前記算出手順により算出された操作量と前記モデル式とを用いて計算された制御量と、前記目標値とから所定の評価値を算出し、該算出した評価値を可視化する可視化手順、を前記コンピュータが実行することを特徴とする請求項１乃至７の何れか一項に記載の制御方法。
【請求項９】
前記関係論理式と、前記モデル式とから最適制御を実施した場合に、偏差が所定の値となる領域に対応する一階述語論理式を生成し、前記偏差が所定の値となる領域に対応する一階述語論理式に限定記号消去法を適用することで、偏差が所定の値となる領域を表す制御可能論理式を生成し、生成した制御能論理式を可視化する可視化手順、を前記コンピュータが実行することを特徴とする請求項１乃至７の何れか一項に記載の制御方法。
【請求項１０】
前記算出手順により算出された操作量又は該操作量と前記モデル式とを用いて計算された制御量のいずれか一方を、前記コンピュータと接続される他の装置に出力する出力手順、を前記コンピュータが実行することを特徴とする請求項１乃至９の何れか一項に記載の制御方法。
【請求項１１】
前記モデル式は、操作量の実績値と、該操作量の実績値に対応する制御量の実績値とを用いて回帰分析により生成される、ことを特徴とする請求項１乃至１０の何れか一項に記載の制御方法。
【請求項１２】
複数の制御量を目標値に追従させる多変数制御を行う制御装置であって、
制御対象における操作量を表す変数と前記制御量を表す変数との関係を表すモデル式と、前記操作量を表す変数の上限及び下限を表す上下限制約と、前記目標値と前記制御量との差を評価するための評価関数とが入力されると、前記評価関数が最適性条件を満たすように、前記目標値を表す変数と前記操作量を表す変数とが満たすべき関係を表す関係論理式を予め生成する生成手段と、
前記目標値が入力される度に、該目標値と前記関係論理式とに基づいて、前記複数の制御量を前記目標値に追従させるための前記操作量を算出する算出手段と、
を有することを特徴とする制御装置。
【請求項１３】
複数の制御量を目標値に追従させる多変数制御を行うコンピュータが、
制御対象における操作量を表す変数と前記制御量を表す変数との関係を表すモデル式と、前記操作量を表す変数の上限及び下限を表す上下限制約と、前記目標値と前記制御量との差を評価するための評価関数とが入力されると、前記評価関数が最適性条件を満たすように、前記目標値を表す変数と前記操作量を表す変数とが満たすべき関係を表す関係論理式を予め生成する生成手順、
前記目標値が入力される度に、該目標値と前記関係論理式とに基づいて、前記複数の制御量を前記目標値に追従させるための前記操作量を算出する算出手順、
を実行することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御方法、制御装置及びプログラムに関する。
【背景技術】
【０００２】
複雑な制約条件を有する多変数システムを最適に制御する方法として、モデル予測制御（ＭＰＣ：Model Predictive Control）と呼ばれる手法が知られている。モデル予測制御では、サンプリング周期毎に、プロセスの状態量の現在値を用いて、将来の特定の期間における最適制御問題を解くことで、最適な入力を計算する。モデル予測制御では、この状態量の観測と、最適制御問題を解くための最適化計算とをオンラインで繰り返し実行することで最適制御を実現する（例えば、特許文献１）。
【０００３】
一方で、モデル予測制御を拡張した技術として、マルチパラメトリック計画法が知られている。マルチパラメトリック計画法では、オフラインで最適制御問題を解析して、状態量に対する最適な入力を得るための状態フィードバック則を求める。その結果、マルチパラメトリック計画法では、オンラインでの最適化計算が不要になり、最適制御を高速に実現することができる（例えば、特許文献２乃至８、非特許文献１及び２）。
【０００４】
また、システム制御や回路解析等の問題を一階述語論理式で表現することや、一階述語論理式を解くことでシステムの最適化を図る手法が従来から知られている（例えば、非特許文献３）。
【０００５】
具体的には、全称記号（∀）や存在記号（∃）で表される限定記号と、多変数の多項式の等式や不等式を積（∧）や和（∨）で表される論理記号とを用いて結合した論理式を組み合わせ、一階述語論理式を得る。論理式に現れる変数のうち、限定記号で束縛される変数を束縛変数と呼び、限定記号で束縛されない変数を自由変数と呼ぶ。一階述語論理式のうち、束縛変数を消去して、自由変数が満たすべき論理式を導くことで、最適化を図る。なお、一階述語論理式のうち、束縛変数を消去して、自由変数が満たすべき論理式を導く方法は限定記号消去法と呼ばれる。
【０００６】
また、限定記号消去法を用いて、制御系設計や制御系解析を行う手法が知られている（例えば、特許文献９）。この手法によれば、制御系解析・設計装置は、入力された制御の問題に対して、線形行列不等式（ＬＭＩ：Linear Matrix Inequality）又は双線形行列不等式（ＢＭＩ：Bilinear Matrix Inequality）として定式化する。そして、ＬＭＩ又はＢＭＩとして定式化された設計仕様等の制約を、不等式を論理和で繋げた形の制約に変形して、制御系を一階述語論理式に変換し、限定記号で束縛される変数を消去した式から制御系を解析する。
【０００７】
更に、プラントのエネルギーを解析する技術についても、一階述語論理式を生成し、この一階述語論理式を解くことにより解析を行う手法が知られている（例えば、非特許文献４）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４―２００３１号公報
【特許文献２】特開２０１０−１２８８９号公報
【特許文献３】特開２０１０−１２８９０号公報
【特許文献４】特開２０１０−１３９９０号公報
【特許文献５】特開２０１３−１０１４７２号公報
【特許文献６】特開２０１３−１３４７４１号公報
【特許文献７】国際公開第２０１１／１３６１６０号
【特許文献８】国際公開第２０１３／０７７００７号
【特許文献９】特開平１１−３２８２３９号公報
【非特許文献】
【０００９】
【非特許文献１】Alberto Bemporad, Manfred Morari, Vivek Dua, Efstratios N. Pistikopoulos "The explicit linear quadratic regulator for constrained systems" Automatica, Vol.38, pp.3-20
【非特許文献２】井村順一、東俊一、増淵泉、「ハイブリッドシステムの制御」、コロナ社、２０１４年、ｐｐ．１４２−１５４
【非特許文献３】穴井宏和，横山和弘，「ＱＥの計算アルゴリズムとその応用  数式処理による最適化」，東京大学出版会，２０１１年，ｐｐ．２１４−２２１
【非特許文献４】丹下吉雄，桐生智志，松井哲郎，福山良和，「数式処理技術を利用した需給バランス最適化問題の可視化」，計測自動制御学会制御部門大会  １３ｔｈ  ＲＯＭＢＵＮＮＯ．８Ｃ２−５
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ここで、例えば特許文献１に開示されているモデル予測制御では、数理計画法を用いて最適制御問題を解くことで最適制御を実現している。このため、最適解の探索に多くの計算時間が必要であると共に、最適制御問題を解くために多くの計算資源も必要であった。このため、例えば、計算資源が限られたエッジデバイスでは最適制御問題を解くことが困難な場合があると共に、制御周期が短い制御対象の制御が困難になる場合があった。また、例えば、最適制御問題の解が無いために最適な入力を計算することができないような場合を事前に判別することができなかった。なお、エッジデバイスとしては、例えば、組み込み型の計算機器やＰＬＣ（Programmable Logic Controller）等の制御装置等が挙げられる。
【００１１】
一方で、例えば特許文献２乃至８や非特許文献１及び２に開示されているマルチパラメトリック計画法では、状態空間モデルで目標値が固定されてしまう。また、予測区間が長くなると状態変数の領域分割が複雑化してしまい、計算資源が限られたエッジデバイスでは実現が困難な場合があった。
【００１２】
更に、マルチパラメトリック計画法では、オフラインで最適制御問題を解析して状態フィードバック則を生成する際に、最適化計算を行っている。このため、数値誤差や最適化の精度によっては、正確な最適制御則（最適な状態フィードバック則）を生成することができない場合がある。すなわち、最適化計算によって実行可能解が無いと判断された状態量の領域では、状態フィードバック則を生成することができなかった。
【００１３】
本発明の一実施形態は、上記の点に鑑みてなされたもので、計算資源が限られた機器でも、制約付きの多変数制御を正確かつ高速に実現することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明の一実施形態では、複数の制御量を目標値に追従させる多変数制御に用いられる制御方法であって、制御対象における操作量を表す変数と前記制御量を表す変数との関係を表すモデル式と、前記操作量を表す変数の上限及び下限を表す上下限制約と、前記目標値と前記制御量との差を評価するための評価関数とが入力されると、前記評価関数が最適性条件を満たすように、前記目標値を表す変数と前記操作量を表す変数とが満たすべき関係を表す関係論理式を予め生成する生成手順と、前記目標値が入力される度に、該目標値と前記関係論理式とに基づいて、前記複数の制御量を前記目標値に追従させるための前記操作量を算出する算出手順と、をコンピュータが実行することを特徴とする。
【発明の効果】
【００１５】
計算資源が限られた機器でも、制約付きの多変数制御を正確かつ高速に実現することができる。
【図面の簡単な説明】
【００１６】
【図１】第一の実施形態に係る最適制御装置の構成の一例を示す図である。
【図２】第一の実施形態に係る最適制御装置のハードウェア構成の一例を示す図である。
【図３】第一の実施形態に係る最適制御処理部の機能構成の一例を示す図である。
【図４】第一の実施形態に係る関係論理式の生成処理の一例を示すフローチャートである。
【図５】関係論理式が表す領域分割の一例を示す図である。
【図６】第一の実施形態に係る最適操作量の算出処理の一例を示すフローチャートである。
【図７】最適制御処理部の適用例の一例を示す図である。
【図８】第二の実施形態に係る最適制御処理部の機能構成の一例を示す図である。
【図９】キャッシュの一例を示す図である。
【図１０】第二の実施形態に係る最適操作量の算出処理の一例を示すフローチャートである。
【図１１】第二の実施形態に係る最適操作量の算出処理の他の例を示すフローチャートである。
【図１２】第三の実施形態に係る最適制御処理部の機能構成の一例を示す図である。
【図１３】第三の実施形態に係る可視化処理の一例を示すフローチャートである。
【図１４】評価値の集合を可視化した場合の一例を示す図である。
【図１５】第三の実施形態に係る可視化処理の他の例を示すフローチャートである。
【図１６】偏差が０になる領域を可視化した場合の一例を示す図である。
【図１７】第四の実施形態に係る最適制御処理部の機能構成の一例を示す図である。
【図１８】第四の実施形態に係る関係論理式の生成処理の一例を示すフローチャートである。
【図１９】実施例１におけるヒートポンプモデルを示す図である。
【図２０】実施例１における関係論理式が表す領域分割を示す図である。
【図２１】１０００個の目標値のプロット結果の一例を示す図である。
【図２２】従来技術との計算時間の比較例を示す図である。
【図２３】実施例２における制御量及び操作量の時間変化を示す図である。
【図２４】実施例２における各時刻の領域分割の一例を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。以降では、複数の制御量を目標値に追従させる多変数制御において、操作対象に対する最適な操作量を高速に計算する最適制御装置１０について説明する。なお、最適制御装置１０は、計算資源が限られたエッジデバイス（例えば、組み込み型の計算機器やＰＬＣ等の制御装置等）である。ただし、本実施形態に係る最適制御装置１０は、エッジデバイス以外にも、例えば、十分な計算資源を有する各種機器又は装置であっても良い。
【００１８】
また、以降では、制御対象となるシステムにおける操作量を表す変数をＭＶ１，・・・，ＭＶＭ、制御量を表す変数をＰＶ１，・・・，ＰＶＮ、制御量の目標値を表す変数をＳＶ１，・・・，ＳＶＮと表す。なお、Ｍ及びＮは制御対象となるシステムの構成によって決定される定数である。
【００１９】
［第一の実施形態］
＜最適制御装置１０の構成＞
まず、本実施形態に係る最適制御装置１０の構成について、図１を参照しながら説明する。図１は、第一の実施形態に係る最適制御装置１０の構成の一例を示す図である。
【００２０】
図１に示すように、本実施形態に係る最適制御装置１０は、最適制御処理部１００を有する。本実施形態に係る最適制御装置１０は、最適制御処理部１００によって、複数の制御量を目標値に追従させる多変数制御において、操作対象に対する最適な操作量を算出する。このとき、本実施形態に係る最適制御装置１０は、オフラインにおいて、目標値に対して最適な操作量が満たすべき関係を表す関係論理式を生成する。すなわち、本実施形態に係る最適制御装置１０は、オンラインの実行前に、関係論理式を予め生成しておく。
【００２１】
そして、本実施形態に係る最適制御装置１０は、オンラインにおいて、予め生成された関係論理式により、複数の制御量を目標値に追従させるための最適な操作量を算出する。これにより、本実施形態に係る最適制御装置１０では、エッジデバイス等の計算資源が限られた機器又は装置であっても、正確かつ高速な制御を実現することができるようになる。
【００２２】
なお、最適制御処理部１００は、本実施形態に係る最適制御装置１０にインストールされた１以上のプログラムが、後述するＣＰＵ（Central Processing Unit）１７に実行させる処理によって実現される。
【００２３】
＜最適制御装置１０のハードウェア構成＞
次に、本実施形態に係る最適制御装置１０のハードウェア構成について、図２を参照しながら説明する。図２は、第一の実施形態に係る最適制御装置１０のハードウェア構成の一例を示す図である。
【００２４】
図２に示すように、本実施形態に係る最適制御装置１０は、入力装置１１と、表示装置１２と、外部Ｉ／Ｆ１３と、通信Ｉ／Ｆ１４と、ＲＯＭ（Read Only Memory）１５と、ＲＡＭ（Random Access Memory）１６と、ＣＰＵ１７と、補助記憶装置１８とを有する。これら各ハードウェアは、バス１９により相互に通信可能に接続されている。
【００２５】
入力装置１１は、例えば各種ボタンやタッチパネル、キーボード、マウス等であり、最適制御装置１０に各種の操作を入力するのに用いられる。表示装置１２は、例えばディスプレイ等であり、最適制御装置１０による各種の処理結果を表示する。なお、最適制御装置１０は、入力装置１１及び表示装置１２の少なくとも一方を有していなくても良い。
【００２６】
外部Ｉ／Ｆ１３は、外部装置とのインタフェースである。外部装置には、記録媒体１３ａ等がある。最適制御装置１０は、外部Ｉ／Ｆ１３を介して、記録媒体１３ａの読み取りや書き込みを行うことができる。記録媒体１３ａには、例えば、ＳＤメモリカード(SD memory card）やＵＳＢメモリ、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）等がある。なお、最適制御処理部１００を実現する１以上のプログラムは、記録媒体１３ａに格納されていても良い。
【００２７】
通信Ｉ／Ｆ１４は、最適制御装置１０が他の装置とデータ通信を行うためのインタフェースである。なお、最適制御処理部１００を実現する１以上のプログラムは、通信Ｉ／Ｆ１４を介して、所定のサーバ等から取得（ダウンロード）されても良い。
【００２８】
ＲＯＭ１５は、電源を切ってもデータを保持することができる不揮発性の半導体メモリである。ＲＡＭ１６は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＣＰＵ１７は、例えば補助記憶装置１８やＲＯＭ１５からプログラムやデータをＲＡＭ１６に読み出して、各種処理を実行する演算装置である。
【００２９】
補助記憶装置１８は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等であり、プログラムやデータを格納している不揮発性のメモリである。補助記憶装置１８に格納されているプログラムやデータには、例えば、最適制御処理部１００を実現する１以上のプログラムや基本ソフトウェアであるＯＳ（Operating System）、ＯＳ上で動作する各種アプリケーションプログラム等がある。
【００３０】
本実施形態に係る最適制御装置１０は、図２に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図２では、最適制御装置１０が１台のコンピュータで実現される場合のハードウェア構成例を示したが、最適制御装置１０は複数台のコンピュータで実現されていても良い。
【００３１】
＜最適制御処理部１００の機能構成＞
次に、本実施形態に係る最適制御処理部１００の機能構成について、図３を参照しながら説明する。図３は、第一の実施形態に係る最適制御処理部１００の機能構成の一例を示す図である。
【００３２】
図３に示すように、本実施形態に係る最適制御処理部１００は、オフライン処理部１１０と、オンライン処理部１２０とを有する。なお、本実施形態では、オフライン処理部１１０とオンライン処理部１２０との両方を１台の最適制御装置１０が有する場合について説明するが、これに限られない。オフライン処理部１１０とオンライン処理部１２０とをそれぞれ異なる装置が有していても良い。特に、例えば、十分な計算資源を有する各種機器又は装置がオフライン処理部１１０を有する一方で、計算資源が限られたエッジデバイス等がオンライン処理部１２０を有していても良い。
【００３３】
オフライン処理部１１０は、オフラインにおいて、モデル式１１００と、上下限制約１２００と、評価関数１３００とを入力して、関係論理式１４００を算出する。
【００３４】
モデル式１１００とは、制御対象となるシステムにおける操作量と制御量との関係を表すモデルである。モデル式１１００は、操作量を表す変数ＭＶ１，・・・，ＭＶＭと、制御量を表す変数ＰＶｎとの関係を表す関数をｆｎとすれば、ＰＶｎ：＝ｆｎ（ＭＶ１，・・・，ＭＶＭ），（ｎ＝１，・・・，Ｎ）で表される。
【００３５】
なお、モデル式１１００は、例えば、実際の操作量に対する制御量の実績値を用いて回帰分析等によって作成することができる。ｆｎは線形に限られず、区分線形等であっても良い。
【００３６】
また、上下限制約１２００とは、制御対象となるシステムにおける各操作量の上限と下限とを表す制約である。上下限制約１２００は、各操作量の上限をＨＭＶ１，・・・，ＨＭＶＭ、各操作量の下限をＬＭＶ１，・・・，ＬＭＶＭとすれば、ＬＭＶｍ≦ＭＶｍ≦ＨＭＶｍ，（ｍ＝１，・・・，Ｍ）で表される。
【００３７】
また、評価関数１３００とは、目標値と制御量との差を評価するための関数である。評価関数１３００は、目標値を表す変数ＳＶ１，・・・，ＳＶＮと、制御量を表す変数ＰＶ１，・・・，ＰＶＮとの差を評価するための関数をＥとすれば、以下の数１で表される。
【００３８】
【数１】
2019152998.tif 000003
また、関係論理式１４００は、モデル式１１００と上下限制約１２００と評価関数１３００とに基づく最適性条件（ＫＫＴ（Karush-Kuhn-Tucker ）条件）を満たす場合において、目標値を表す変数ＳＶ１，・・・，ＳＶＮに対して操作量を表す変数ＭＶ１，・・・，ＭＶＭが満たすべき関係を表す論理式である。関係論理式１４００は、目標値を表す変数ＳＶ１，・・・，ＳＶＮを各軸とするＮ次元空間をＫ個の領域Ｒｋ（ｋ＝１．・・・，Ｋ）に分割する論理式で表される。なお、分割数Ｋは、限定記号消去法を行うことによって決定される定数である。
【００３９】
ここで、オフライン処理部１１０には、一階述語論理式生成部１１１と、限定記号消去部１１２とが含まれる。一階述語論理式生成部１１１は、モデル式１１００と上下限制約１２００と評価関数１３００とから一階述語論理式ψを生成する。限定記号消去部１１２は、限定記号消去法により、一階述語論理式生成部１１１により生成された一階述語論理式ψから関係論理式１４００を生成する。
【００４０】
オンライン処理部１２０は、オンラインにおいて、関係論理式１４００と、目標値１５００とを入力して、最適操作量１６００を算出する。
【００４１】
目標値１５００は、制御量を表す変数ＰＶ１，・・・，ＰＶＮの目標値ｐ１，・・・，ｐＮである。
【００４２】
最適操作量１６００とは、制御量を目標値に追従させるための最適な操作量ｓ１，・・・，ｓＭである。
【００４３】
ここで、オンライン処理部１２０には、領域判定部１２１と、操作量算出部１２２とが含まれる。領域判定部１２１は、目標値ｐ１，・・・，ｐＮが、領域Ｒｋ（ｋ＝１，・・・，Ｋ）のうちのいずれの領域に含まれるかを判定する。操作量算出部１２２は、領域判定部１２１による判定結果に応じて、目標値ｐ１，・・・，ｐＮが含まれる領域Ｒｋに対応する関数により最適な操作量ｓ１，・・・，ｓＭを算出する。
【００４４】
＜関係論理式の生成処理＞
以降では、関係論理式１４００を生成する処理について、図４を参照しながら説明する。図４は、第一の実施形態に係る関係論理式１４００の生成処理の一例を示すフローチャートである。なお、図４に示す処理は、例えば、後述する最適操作量の算出処理の前に、オフラインで予め実行される。
【００４５】
まず、オフライン処理部１１０の一階述語論理式生成部１１１は、モデル式１１００と上下限制約１２００と評価関数１３００とを入力して、一階述語論理式ψを生成する（ステップＳ１０１）。
【００４６】
ここで、一階述語論理式生成部１１１は、次のようにして一階述語論理式ψを生成する。すなわち、まず、一階述語論理式生成部１１１は、上下限制約１２００を右辺が０になるように整理、つまり、ＬＭＶｍ−ＭＶｍ≦０，ＭＶｍ−ＨＭＶｍ≦０とする。次に、一階述語論理式生成部１１１は、ＬＭＶｍ−ＭＶｍ及びＭＶｍ−ＨＭＶｍにそれぞれラグランジュ乗数（λ１ｍ，λ２ｍ）を乗じた式を、評価関数Ｅに加えることで、以下のラグランジュ関数Ｌを生成する。
【００４７】
【数２】
2019152998.tif 000004
次に、一階述語論理式生成部１１１は、ｍ＝１，・・・，Ｍに対して、最適性条件（ＫＫＴ条件）を満たすように以下の条件式を生成する。言い換えれば、一階述語論理式生成部１１１は、制約の数Ｍだけ、最適性条件（ＫＫＴ条件）を満たすように以下の条件式を生成する。
【００４８】
【数３】
2019152998.tif 000005
次に、一階述語論理式生成部１１１は、上記で生成した全ての条件式ψ１ｍ，ψ２ｍ，ψ３ｍ及びψ４ｍを論理積で結合した以下の条件式ψ５を生成する。
【００４９】
【数４】
2019152998.tif 000006
そして、一階述語論理式生成部１１１は、条件式ψ５に対して、ラグランジュ乗数（λ１ｍ，λ２ｍ）に存在記号（∃）を付与して、以下の一階述語論理式ψを生成する。
【００５０】
【数５】
2019152998.tif 000007
これにより、一階述語論理式生成部１１１により一階述語論理式ψが生成される。
【００５１】
次に、オフライン処理部１１０の限定記号消去部１１２は、限定記号消去法により、一階述語論理式ψから関係論理式１４００を生成する（ステップＳ１０２）。ここで、関係論理式１４００をφと表せば、限定記号消去部１１２は、限定記号消去法によりラグランジュ乗数を消去することで、以下の関係論理式φを生成する。なお、限定記号消去法については、例えば非特許文献３を参照されたい。
【００５２】
【数６】
2019152998.tif 000008
ここで、領域Ｒｋ（ｋ＝１，・・・，Ｋ）は分割論理式φＲｋ（ＳＶ１，・・・，ＳＶＮ）が真（Ｔｒｕｅ）となる領域を示している。すなわち、上記の関係論理式φは、ＳＶ１，・・・，ＳＶＮを各軸とするＮ次元空間をＫ個の領域Ｒｋ（ｋ＝１．・・・，Ｋ）に分割している。
【００５３】
また、
【００５４】
【数７】
2019152998.tif 000009
は目標値ｐ１，・・・，ｐＮが領域Ｒｋの内部にある場合（すなわち、目標値ｐ１，・・・，ｐＮが領域Ｒｋに含まれる場合）における最適な操作量を算出する操作量決定関数を表している。この式は、一階述語論理式ψに対して限定記号消去法を行うことによって決定される。
【００５５】
このように、関係論理式φは、目標値を表す変数ＳＶ１，・・・，ＳＶＮを各軸とする空間を分割する分割論理式φＲｋ（ＳＶ１，・・・，ＳＶＮ）と、目標値ｐ１，・・・，ｐＮが領域Ｒｋに含まれる場合における最適な操作量を算出する操作量決定関数の論理積の論理和で表される。
【００５６】
これにより、限定記号消去部１１２により関係論理式φが生成される。ここで、上述したように、関係論理式φは、ＳＶ１，・・・，ＳＶＮを各軸とするＮ次元空間をＫ個の領域Ｒｋ（ｋ＝１．・・・，Ｋ）に分割している。そこで、一例として、Ｋ＝５の場合において、或る軸ＳＶｎとＳＶｎ＋１とで構成される平面上の領域Ｒ１〜Ｒ５を図５に示す。図５は、関係論理式が表す領域分割の一例を示す図である。図５に示すように、各領域Ｒ１〜Ｒ５は、ＳＶ１，・・・，ＳＶＮを各軸とするＮ次元空間を分割する領域で表される。
【００５７】
＜最適操作量の算出処理＞
以降では、関係論理式１４００を用いて、目標値ｐ１，・・・，ｐＮに対する最適な操作量ｓ１，・・・，ｓＭを算出する処理について、図６を参照しながら説明する。図６は、第一の実施形態に係る最適操作量の算出処理の一例を示すフローチャートである。なお、図６に示す処理は、例えば、制御対象であるシステムの制御周期毎に、オンラインで実行される。
【００５８】
まず、オンライン処理部１２０は、領域Ｒｋを特定するためのｋ（このｋを「領域番号」とも表す。）を１に初期化する（ステップＳ２０１）。
【００５９】
次に、オンライン処理部１２０の領域判定部１２１は、関係論理式１４００と目標値１５００とを入力して、分割論理式φＲｋ（ｐ１，・・・，ｐＮ）＝Ｔｒｕｅであるか否かを判定する（ステップＳ２０２）。なお、オンライン処理部１２０に入力される目標値１５００は、例えば、制御周期毎にその値が異なっていても良い。
【００６０】
すなわち、領域判定部１２１は、関係論理式φに含まれる分割論理式φＲｋ（ＳＶ１，・・・，ＳＶＮ）に対して目標値ｐ１・・・，ｐＮを代入して、φＲｋ（ｐ１，・・・，ｐＮ）＝Ｔｒｕｅであるか否かを判定する。言い換えれば、領域判定部１２１は、目標値ｐ１・・・，ｐＮが領域Ｒｋに含まれるか否かを判定する。
【００６１】
ステップＳ２０２において、φＲｋ（ｐ１，・・・，ｐＮ）＝Ｔｒｕｅでないと判定された場合（すなわち、目標値ｐ１，・・・，ｐＮが領域Ｒｋに含まれない場合）、オンライン処理部１２０は、領域番号ｋに１を加算する（ステップＳ２０３）。そして、オンライン処理部１２０は、ステップＳ２０２の処理に戻る。これにより、或る領域番号ｋに対してφＲｋ（ｐ１，・・・，ｐＮ）＝Ｔｒｕｅとなるまで、上記のステップＳ２０２が繰り返し実行される。
【００６２】
ステップＳ２０２において、φＲｋ（ｐ１，・・・，ｐＮ）＝Ｔｒｕｅであると判定された場合（すなわち、目標値ｐ１，・・・，ｐＮが領域Ｒｋに含まれる場合）、オンライン処理部１２０の操作量算出部１２２は、目標値ｐ１，・・・，ｐＮが含まれる領域Ｒｋに対応する操作量決定関数により最適な操作量ｓ１，・・・，ｓＭを算出する（ステップＳ２０４）。
【００６３】
すなわち、操作量算出部１２２は、各ｍ＝１，・・・，Ｍに対して、以下の操作量決定関数により最適な操作量ｓ１，・・・，ｓＭを算出する。
【００６４】
【数８】
2019152998.tif 000010
これにより、操作量算出部１２２により、制御対象のシステムの制御量を目標値ｐ１，・・・，ｐＮに追従させるための最適な操作量ｓ１，・・・，ｓＭが算出される。
【００６５】
以上のように、本実施形態に係る最適制御装置１０は、オフラインで予め関係論理式φを生成した上で、オンラインで目標値に対する最適な操作量を算出する。このように、オフラインで予め関係論理式φを生成することで、本実施形態に係る最適制御装置１０は、例えば計算資源が限られている場合であっても、オンラインで高速に最適な操作量を算出することができる。
【００６６】
また、本実施形態に係る最適制御装置１０は、限定記号消去法により関係論理式φを生成する。これにより、本実施形態に係る最適制御装置１０では、数値誤差の無い正確な最適制御則（すなわち、関係論理式φ）を生成することができる。
【００６７】
なお、図４に示す関係論理式の生成処理は、モデル式１１００、上下限制約１２００及び評価関数１３００の少なくとも１つが変更されない限りは、図６に示す最適操作量の算出処理の前に１度実行されれば良い。
【００６８】
＜最適制御処理部１００の適用例＞
ここで、本実施形態に係る最適制御処理部１００の適用例について、図７（ａ）及び図７（ｂ）を参照しながら説明する。図７は、最適制御処理部１００の適用例の一例を示す図である。
【００６９】
図７（ａ）では、上位のコントローラＣ１１が最適制御処理部１００を有する。上位のコントローラＣ１１は、最適制御処理部１００により目標値（ＳＶ１及びＳＶ２）から最適操作量（ＭＶ１及びＭＶ２）を算出し、下位のコントローラＣ１２及びＣ１３に出力する。そして、下位のコントローラＣ１２及びＣ１３は、最適操作量（ＭＶ１及びＭＶ２）を目標値（ＳＶ´１及びＳＶ´２）として受け取り制御を行う。このように、上位のコントローラＣ１１は下位のコントローラＣ１２及びＣ１３に対して最適操作量を渡し、下位のコントローラＣ１２及びＣ１３は最適操作量を目標値として制御を行っても良い。
【００７０】
図７（ｂ）では、上位のコントローラＣ１１は、最適制御処理部１００により目標値（ＳＶ１及びＳＶ２）から最適操作量（ＭＶ１及びＭＶ２）を算出し、この最適操作量からモデル式１１００により算出される制御量（ＰＶ１及びＰＶ２）を下位のコントローラＣ１２及びＣ１３に出力する。そして、下位のコントローラＣ１２及びＣ１３は、制御量（ＰＶ１及びＰＶ２）を目標値（ＳＶ´１及びＳＶ´２）として受け取り制御を行う。このように、上位のコントローラＣ１１は下位のコントローラＣ１２及びＣ１３に対して最適操作量に対する制御量を渡し、下位のコントローラＣ１２及びＣ１３はこの制御量を目標値として制御を行っても良い。
【００７１】
［第二の実施形態］
次に、第二の実施形態について説明する。第一の実施形態では、図６に示す最適操作量の算出処理において、領域Ｒ１〜領域ＲＫのうち、目標値ｐ１，・・・ｐＮが含まれる領域をｋ＝１から順番に探索した。このため、標値ｐ１，・・・ｐＮが含まれる領域の探索に時間を要する場合があった。そこで、第二の実施形態では、目標値ｐ１，・・・ｐＮが含まれる領域の探索を優先度に基づいて行う場合について説明する。
【００７２】
なお、第二の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同一の構成要素については、その説明を省略又は簡略化する。
【００７３】
＜最適制御処理部１００の機能構成＞
まず、本実施形態に係る最適制御処理部１００の機能構成について、図８を参照しながら説明する。図８は、第二の実施形態に係る最適制御処理部１００の機能構成の一例を示す図である。
【００７４】
図８に示すように、本実施形態に係る最適制御処理部１００のオンライン処理部１２０には、更に、キャッシュ機構部１２３が含まれる。本実施形態に係るオンライン処理部１２０は、優先度Ｙの昇順に、この優先度Ｙに対応する領域番号ｋが示す領域Ｒｋに目標値ｐ１，・・・，ｐＮが含まれるか否かを判定する。このとき、キャッシュ機構部１２３は、キャッシュ１７００を参照して、優先度Ｙを領域番号ｋに変換する。
【００７５】
ここで、キャッシュ１７００について、図９を参照しながら説明する。図９は、キャッシュ１７００の一例を示す図である。
【００７６】
図９に示すように、キャッシュ１７００には、優先度Ｙと領域番号ｋとが対応付けられている。例えば、優先度Ｙ＝１と領域番号ｋ＝５とが対応付けられている。同様に、優先度Ｙ＝２と領域番号ｋ＝４とが対応付けられている。優先度Ｙ＝３以降の場合も同様である。これより、本実施形態に係るオンライン処理部１２０は、優先度Ｙに応じて、領域番号ｋ＝５、４、１、３、２の順に、該当の領域番号ｋが示す領域Ｒｋに目標値ｐ１，・・・，ｐＮが含まれるか否かを判定することができる。
【００７７】
＜最適操作量の算出処理＞
以降では、本実施形態に係る最適操作量の算出処理について、図１０を参照しながら説明する。図１０は、第二の実施形態に係る最適操作量の算出処理の一例を示すフローチャートである。なお、図１０のステップＳ２０２及びステップＳ２０４は、図６と同様であるため、その説明を省略する。
【００７８】
まず、オンライン処理部１２０は、優先度Ｙを１に初期化する（ステップＳ３０１）。次に、オンライン処理部１２０のキャッシュ機構部１２３は、キャッシュ１７００を参照して、優先度Ｙを領域番号ｋに変換する（ステップＳ３０２）。すなわち、キャッシュ機構部１２３は、キャッシュ１７００を参照して、優先度Ｙを、当該優先度Ｙに対応付けられている領域番号ｋに変換する。これにより、ステップＳ２０２で、当該領域番号ｋを用いて、φＲｋ（ｐ１，・・・，ｐＮ）＝Ｔｒｕｅであるか否かが判定される。なお、ｋ：＝ｃａｃｈｅ［Ｙ］は、キャッシュ１７００を参照して、優先度Ｙを領域番号ｋに変換する関数である。
【００７９】
ステップＳ２０２において、φＲｋ（ｐ１，・・・，ｐＮ）＝Ｔｒｕｅでないと判定された場合、オンライン処理部１２０は、優先度Ｙに１を加算する（ステップＳ３０３）。そして、オンライン処理部１２０は、ステップＳ３０２の処理に戻る。これにより、優先度Ｙの昇順に、或る領域番号ｋに対してφＲｋ（ｐ１，・・・，ｐＮ）＝Ｔｒｕｅとなるまで、上記のステップＳ２０２が繰り返し実行される。
【００８０】
このように、本実施形態に係る最適制御装置１０では、優先度が高い順に、目標値ｐ１，・・・，ｐＮが含まれる領域Ｒｋを探索する。これにより、キャッシュ１７００を適切に作成することで、目標値ｐ１，・・・，ｐＮが含まれる領域Ｒｋの探索に要する時間を削減することができる。
【００８１】
＜最適操作量の算出処理の他の例＞
以降では、本実施形態に係る最適操作量の算出処理の他の例について、図１１を参照しながら説明する。図１１は、第二の実施形態に係る最適操作量の算出処理の他の例を示すフローチャートである。なお、図１１のステップＳ３０１〜ステップＳ３０３及びステップＳ２０４は、図１０と同様であるため、その説明を省略する。
【００８２】
ステップＳ２０２において、φＲｋ（ｐ１，・・・，ｐＮ）＝Ｔｒｕｅであると判定された場合、キャッシュ機構部１２３は、この領域番号ｋの優先度が高くなるようにキャッシュ１７００を更新する（ステップＳ３０４）。
【００８３】
例えば、キャッシュ機構部１２３は、この領域番号ｋに対応付けられている優先度Ｙを１に更新すると共に、他の領域番号ｋに対応付けられている優先度Ｙから１を減ずる。こにより、ステップＳ２０２でφＲｋ（ｐ１，・・・，ｐＮ）＝Ｔｒｕｅと判定された領域番号ｋの優先度Ｙを最も高くすることができる。
【００８４】
ただし、これに限られず、キャッシュ機構部１２３は、例えば、ステップＳ２０２でφＲｋ（ｐ１，・・・，ｐＮ）＝Ｔｒｕｅと判定された領域番号ｋの優先度Ｙを１つ高くする等しても良い。
【００８５】
このように、本実施形態に係る最適制御装置１０は、領域判定部１２１の判定結果に応じて、キャッシュ１７００を更新しても良い。これにより、目標値ｐ１，・・・，ｐＮが含まれると判定された領域Ｒｋの領域番号ｋに対応する優先度Ｙを動的に高くすることができる。したがって、目標値ｐ１，・・・，ｐＮが含まれる領域Ｒｋの探索に要する時間の更なる削減が期待できる。
【００８６】
［第三の実施形態］
次に、第三の実施形態について説明する。第三の実施形態では、例えば、制御周期ｉ毎の目標値（すなわち、目標値の集合）が入力される場合に、目標値の集合と、最適な操作量から算出される制御量の集合との偏差等の評価値を算出し、算出した評価値の集合を可視化する場合について説明する。これにより、例えば、最適制御装置１０のユーザ等は、最適な操作量の操作を操作対象に行った場合における制御量と、目標値との偏差等を確認することができるようになる。
【００８７】
なお、第三の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同一の構成要素については、その説明を省略又は簡略化する。
【００８８】
＜最適制御処理部１００の機能構成＞
まず、本実施形態に係る最適制御処理部１００の機能構成について、図１２を参照しながら説明する。図１２は、第三の実施形態に係る最適制御処理部１００の機能構成の一例を示す図である。
【００８９】
図１２に示すように、本実施形態に係る最適制御処理部１００のオンライン処理部１２０は、オンラインにおいて、関係論理式１４００と、目標値の集合１８００とを入力して、最適操作量の集合１９００を算出する。
【００９０】
目標値の集合１８００は、例えば制御周期ｉ毎の目標値の集合であり、ｎ＝１，・・・，Ｎ、ｉ＝１，・・・，Ｉとして、
【００９１】
【数９】
2019152998.tif 000011
で表される。
【００９２】
最適操作量の集合１９００は、例えば制御周期ｉ毎の最適な操作量の集合であり、ｍ＝１，・・・，Ｍ、ｉ＝１，・・・，Ｉとして、
【００９３】
【数１０】
2019152998.tif 000012
で表される。
【００９４】
また、図１２に示す本実施形態に係る最適制御処理部１００は、可視化処理部１３０を有する。可視化処理部１３０は、最適な操作量から算出される制御量と、目標値との偏差等の評価値を算出し、算出した評価値を可視化する。
【００９５】
ここで、可視化処理部１３０には、制御量算出部１３１と、評価値算出部１３２と、可視化部１３３とが含まれる。制御量算出部１３１は、モデル式１１００により、最適操作量の集合１９００から制御量の集合を算出する。制御量の集合は、ｎ＝１，・・・，Ｎ、ｉ＝１，・・・，Ｉとして、モデル式１１００により、
【００９６】
【数１１】
2019152998.tif 000013
で算出される。
【００９７】
評価値算出部１３２は、制御量算出部１３１により算出された制御量の集合と、目標値の集合１８００とに基づいて、評価値の集合を算出する。可視化部１３３は、評価値算出部１３２により算出された評価値の集合を可視化する。
【００９８】
＜可視化処理＞
以降では、評価値の集合を算出した上で、この評価値の集合を可視化する処理について、図１３を参照しながら説明する。図１３は、第三の実施形態に係る可視化処理の一例を示すフローチャートである。
【００９９】
まず、オンライン処理部１２０は、目標値の集合１８００を入力して、最適操作量の集合１９００を算出する（ステップＳ４０１）。オンライン処理部１２０は、例えば制御周期ｉ毎に、図６に示す最適操作量の算出処理を繰り返し実行することで、最適操作量の集合１９００を算出する。
【０１００】
次に、可視化処理部１３０の制御量算出部１３１は、モデル式１１００により、最適操作量の集合１９００から制御量の集合を算出する（ステップＳ４０２）。すなわち、制御量算出部１３１は、上記の数１１に示す式により制御量の集合を算出する。
【０１０１】
次に、可視化処理部１３０の評価値算出部１３２は、評価値の集合を算出する（ステップＳ４０３）。
【０１０２】
ここで、評価値としては、例えば、（１）目標値と、最適操作量に対応する制御量との偏差、（２）平均二乗誤差（ＲＭＳＥ：Root Mean Square Error）、（３）評価関数Ｅの関数値が用いることができる。
【０１０３】
（１）目標値と、最適操作量に対応する制御量との偏差
評価値として偏差を用いる場合、評価値算出部１３２は、ｎ＝１，・・・，Ｎ、ｉ＝１，・・・，Ｉに対して、以下の式により偏差ｅｒｒｎｉを算出する。
【０１０４】
【数１２】
2019152998.tif 000014
これにより、評価値の集合として、偏差ｅｒｒｎｉの集合が得られる。
【０１０５】
（２）平均二乗誤差（ＲＭＳＥ）
評価値として平均二乗誤差を用いる場合、評価値算出部１３２は、ｉ＝１．・・・，Ｉに対して、以下の式によりＲＭＳＥｉを算出する。
【０１０６】
【数１３】
2019152998.tif 000015
これにより、評価値の集合として、平均二乗誤差ＲＭＳＥｉの集合が得られる。
【０１０７】
（３）評価関数Ｅの関数値
評価値として評価関数Ｅの関数値を用いる場合、評価値算出部１３２は、ｉ＝１．・・・，Ｉに対して、以下の式によりＥｉを算出する。
【０１０８】
【数１４】
2019152998.tif 000016
これにより、評価値の集合として、評価関数値の集合Ｅｉが得られる。
【０１０９】
次に、可視化処理部１３０の可視化部１３３は、評価値算出部１３２により算出された評価値の集合を可視化する（ステップＳ４０４）。
【０１１０】
ここで、評価値の集合を可視化した場合の一例を図１４に示す。図１４（ａ）は、ＳＶ１とＳＶ２とで構成される平面上の偏差ｅｒｒ１を可視化したグラフである。図１４（ｂ）は、ＳＶ１とＳＶ２とで構成される平面上の平均二乗誤差ＲＭＳＥを可視化したグラフである。図１４（ｃ）は、ＳＶ１とＳＶ２とで構成される平面上の評価関数値Ｅを可視化したグラフである。
【０１１１】
このように、評価値の集合が可視化されることで、本実施形態に係る最適制御装置１０のユーザ等は、目標値と、最適操作量に対応する制御量との偏差、平均二乗誤差又は評価関数値を確認することができる。これにより、ユーザ等は、例えば、ｉ毎の目標値に対して、最適制御を行った場合にどの程度目標値から乖離するかを特定することができる。また、本実施形態での可視化処理は、制御実施前のオフラインにおいて、想定される目標値の集合に対して実施することも可能である。このため、可視化によって、解の有無や制御偏差が生じる状況を、制御を行う前に事前に把握することが可能となる。
【０１１２】
＜可視化処理の他の例＞
以降では、可視化処理の他の例として、最適な制御を行った場合（すなわち、最適な操作量の操作を行った場合）に、評価値が所定の値となる領域を可視化する処理について、図１５を参照しながら説明する。図１５は、第三の実施形態に係る可視化処理の他の例を示すフローチャートである。以降では、一例として、評価値が偏差であるものとする。なお、図１５に示す可視化処理は、例えば、オフラインで実行される。
【０１１３】
まず、オフライン処理部１１０の一階述語論理式生成部１１１は、モデル式１１００と、関係論理式１４００とから、偏差が所定の値となる領域に対応する一階述語論理式ψ´を生成する（ステップＳ５０１）。以降では、一例として、偏差が０となる領域に対応する一階述語論理式を生成する場合について説明する。
【０１１４】
この場合、一階述語論理式生成部１１１は、以下の数１５に示す一階述語論理式ψ´を生成する。
【０１１５】
【数１５】
2019152998.tif 000017
なお、例えば、偏差がａとなる領域に対応する一階述語論理式ψ´を生成する場合は、以下の数１６を生成すれば良い。
【０１１６】
【数１６】
2019152998.tif 000018
また、例えば、偏差がａ以上かつｂ以下となる領域に対応する一階述語論理式ψ´を生成する場合は、以下の数１７を生成すれば良い。
【０１１７】
【数１７】
2019152998.tif 000019
次に、オフライン処理部１１０の限定記号消去部１１２は、限定記号消去法により、一階述語論理式ψ´から制御可能論理式φ´（ＳＶ１，・・・，ＳＶＮ）を生成する（ステップＳ５０２）。
【０１１８】
次に、可視化処理部１３０は、限定記号消去部１１２により生成された制御可能論理式φ´（ＳＶ１，・・・，ＳＶＮ）を可視化する（ステップＳ５０３）。すなわち、可視化処理部１３０は、制御可能論理式φ´（ＳＶ１，・・・，ＳＶＮ）がＴｒｕｅとなる領域を描画することで、この制御可能論理式φ´（ＳＶ１，・・・，ＳＶＮ）を可視化する。
【０１１９】
ここで、偏差が０になる領域を可視化した場合の一例を図１６に示す。図１６では、ＳＶ１とＳＶ２とで構成される平面上で偏差が０となる領域（すなわち、φ´（ＳＶ１，・・・，ＳＶＮ）＝Ｔｒｕｅとなる領域）が可視化されている。
【０１２０】
これにより、本実施形態に係る最適制御装置１０のユーザ等は、偏差が所定の値（例えば、偏差が０）となる目標値の領域を確認することができる。これにより、ユーザ等は、例えば、適切な目標値を設定することができるようになる。
【０１２１】
［第四の実施形態］
次に、第四の実施形態について説明する。第四の実施形態では、制御量の変化に変化率制約がある場合について説明する。変化率制約がある場合、変化率制約を満たす必要があり、変化率制約を満たさないような制御量（ＰＶｎ）の変化（例えば、急激な温度上昇や急激な温度低下等）は行うことができない。
【０１２２】
そこで、第四の実施形態では、制御対象のシステムに変化率制約がある場合に、変化率制約を満たした最適な操作量を算出する場合について説明する。ただし、第四の実施形態は、制御量の変化に制約がある場合だけでなく、操作量に変化率制約がある場合や操作量と制御量との両方に変化率制約がある場合にも適用可能である。
【０１２３】
なお、第四の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同一の構成要素については、その説明を省略又は簡略化する。
【０１２４】
＜最適制御処理部１００の機能構成＞
まず、本実施形態に係る最適制御処理部１００の機能構成について、図１７を参照しながら説明する。図１７は、第四の実施形態に係る最適制御処理部１００の機能構成の一例を示す図である。
【０１２５】
図１７に示すように、本実施形態に係る最適制御処理部１００のオフライン処理部１１０は、オフラインにおいて、モデル式１１００と、上下限制約１２００と、評価関数１３００と、変化率制約２０００とを入力して、関係論理式１４００を算出する。
【０１２６】
変化率制約２０００とは、制御対象となるシステムにおける制御量（ＰＶｎ）や操作量（ＭＶｍ）を変化させる場合に、単位時間あたりに変化可能な制御量又は操作量を示す制約条件である。変化率制約２０００は、現在の制御量をＰｎ０、制御量Ｐｎに対する変化率の上限をδｎｕ、制御量Ｐｎに対する変化率の下限をδｎｌとすれば、ｎ＝１，・・・，Ｎに対して、以下の数１８で表される。
【０１２７】
【数１８】
2019152998.tif 000020
本実施形態に係るオフライン処理部１１０の一階述語論理式生成部１１１は、モデル式１１００と上下限制約１２００と評価関数１３００と変化率制約２０００とから一階述語論理式ψを生成する。これにより、変化率制約２０００も考慮した一階述語論理式ψが生成される。そして、限定記号消去部１１２は、限定記号消去法により、変化率制約２０００も考慮した一階述語論理式ψから関係論理式１４００を生成する。
【０１２８】
＜関係論理式の生成処理＞
以降では、変化率制約２０００も考慮した一階述語論理式ψから関係論理式１４００を生成する処理について、図１８を参照しながら説明する。図１８は、第四の実施形態に係る関係論理式１４００の生成処理の一例を示すフローチャートである。なお、図１８に示す処理は、例えば、最適操作量の算出処理の前に、オフラインで予め実行される。
【０１２９】
まず、オフライン処理部１１０の一階述語論理式生成部１１１は、モデル式１１００と上下限制約１２００と評価関数１３００と変化率制約２０００とを入力して、一階述語論理式ψを生成する（ステップＳ６０１）。
【０１３０】
ここで、一階述語論理式生成部１１１は、次のようにして一階述語論理式ψを生成する。すなわち、まず、一階述語論理式生成部１１１は、上下限制約１２００を右辺が０になるように整理、つまり、ＬＭＶｍ−ＭＶｍ≦０，ＭＶｍ−ＨＭＶｍ≦０とすると共に、変化率制約２０００を右辺が０となるように整理、つまり、ＰＶｎ０−δｎｌ−ＰＶｎ≦０、ＰＶｎ−ＰＶｎ０−δｎｕ≦０とする。次に、一階述語論理式生成部１１１は、ＬＭＶｍ−ＭＶｍ及びＭＶｍ−ＨＭＶｍにそれぞれラグランジュ乗数（λ１ｍ，λ２ｍ）を乗じた式と、ＰＶｎ０−δｎｌ−ＰＶｎ及びＰＶｎ−ＰＶｎ０−δｎｕにそれぞれラグランジュ乗数（λ３ｎ，λ４ｎ）を乗じた式とを、評価関数Ｅに加えることで、以下のラグランジュ関数Ｌを生成する。
【０１３１】
【数１９】
2019152998.tif 000021
次に、一階述語論理式生成部１１１は、ｍ＝１，・・・，Ｍ、ｎ＝１，・・・，Ｎに対して、最適性条件（ＫＫＴ条件）を満たすように以下の条件式を生成する。言い換えれば、一階述語論理式生成部１１１は、制約の数（ｍ＝１，・・・，Ｍ、ｎ＝１，・・・，Ｎ）だけ、最適性条件（ＫＫＴ条件）を満たすように以下の条件式を生成する。
【０１３２】
【数２０】
2019152998.tif 000022
次に、一階述語論理式生成部１１１は、上記で生成した条件式ψ１ｍ，ψ２ｍ，ψ３ｍ及びψ４ｍを論理積で結合した以下の条件式ψ５と、上記で生成した条件式ψ６ｎ，ψ７ｎ及びψ８ｎを論理積で結合した以下の条件式ψ９とを生成する。
【０１３３】
【数２１】
2019152998.tif 000023
そして、一階述語論理式生成部１１１は、条件式ψ５と条件式ψ９とを論理積で結合した論理式ψ５∧ψ９に対して、ラグランジュ乗数（λ１ｍ，λ２ｍ，λ３ｎ，λ４ｎ）に存在記号（∃）を付与して、以下の一階述語論理式ψを生成する。
【０１３４】
【数２２】
2019152998.tif 000024
これにより、一階述語論理式生成部１１１により一階述語論理式ψが生成される。
【０１３５】
次に、オフライン処理部１１０の限定記号消去部１１２は、限定記号消去法により、一階述語論理式ψから関係論理式１４００を生成する（ステップＳ６０２）。ここで、関係論理式１４００をφと表せば、限定記号消去部１１２は、限定記号消去法によりラグランジュ乗数を消去することで、以下の関係論理式φを生成する。
【０１３６】
【数２３】
2019152998.tif 000025
これにより、変化率制約２０００を考慮した一階述語論理式ψから関係論理式φが生成される。
【０１３７】
ここで、ｎ＝１，・・・，Ｎに対してＰＶｎ０は制御量の現在値を表す変数であり、領域Ｒｋ（ｋ＝１，・・・，Ｋ）は分割論理式φＲｋ（ＳＶ１，・・・，ＳＶＮ，ＰＶ１０，・・・，ＰＶＮ０）が真（Ｔｒｕｅ）となる領域を示している。すなわち、上記の関係論理式φは、ＳＶ１，・・・，ＳＶＮ，ＰＶ１０，・・・，ＰＶＮ０を各軸とする２Ｎ次元空間をＫ個の領域Ｒｋ（ｋ＝１．・・・，Ｋ）に分割している。
【０１３８】
また、操作量決定関数ｇｍＲｋは、目標値ｐ１，・・・，ｐＮと制御量の現在値ｑ１，・・・，ｑＮとが領域Ｒｋの内部にある場合（すなわち、目標値ｐ１，・・・，ｐＮと制御量の現在値ｑ１，・・・，ｑＮとが領域Ｒｋに含まれる場合）における最適な操作量を算出する操作量決定関数を表している。この式は、変化率制約を考慮した一階述語論理式ψに対して限定記号消去法を行うことによって決定される。
【０１３９】
このように、関係論理式φは、目標値を表す変数ＳＶ１，・・・，ＳＶＮと制御量の現在値を表す変数ＰＶ１０，・・・，ＰＶＮ０とを各軸とする空間を分割する分割論理式φＲｋ（ＳＶ１，・・・，ＳＶＮ，ＰＶ１０，・・・，ＰＶＮ０）と、目標値ｐ１，・・・，ｐＮと制御量の現在値ｑ１，・・・，ｑＮとが領域Ｒｋに含まれる場合における最適な操作量を算出する操作量決定関数ｇｍＲｋ（ＳＶ１，・・・，ＳＶＮ，ＰＶ１０，・・・，ＰＶＮ０）の論理積の論理和で表される。これにより、限定記号消去部１１２により関係論理式φが生成される。
【０１４０】
＜最適操作量の算出処理＞
オンライン処理部１２０の領域判定部１２１は、分割論理式に目標値ｐ１，・・・，ｐＮと、制御量の現在値ｑ１，・・・，ｑＮとを入力して、分割論理式φＲｋ（ｐ１，・・・，ｐＮ，ｑ１，・・・，ｑＮ）＝Ｔｒｕｅであるか否かを判定する。なお、オンライン処理部１２０に入力される目標値１５００と現在値２１００は、例えば、制御周期毎にその値が異なっていても良い。
【０１４１】
オンライン処理部１２０の領域判定部１２１において、分割論理式φＲｋ（ｐ１，・・・，ｐＮ，ｑ１，・・・，ｑＮ）＝Ｔｒｕｅと判定された場合、オンライン処理部１２０の操作量算出部１２２は、目標値ｐ１，・・・，ｐＮと、制御量の現在値ｑ１，・・・，ｑＮとが含まれる領域Ｒｋに対応する操作量決定関数に目標値ｐ１，・・・，ｐＮと現在値ｑ１，・・・，ｑＮとを代入して、最適な操作量ｓ１，・・・，ｓＭを算出する
これにより、最適操作量の算出処理において、変化率制約２０００を考慮した最適な操作量を算出することができる。なお、最適操作量の算出処理については第一の実施形態と同様であるため、その説明を省略する。
【０１４２】
なお、変化率制約２０００を考慮した結果、最適な操作量で操作対象を操作したとしても１回の操作で制御量が目標値まで達しない場合がある。このような場合、例えば制御周期毎に、最適な操作量の算出と、操作対象への操作とを繰り返すことで、変化率制約２０００を満たしたまま、制御量を目標値に到達させることができる。
【０１４３】
［実施例１］
以降では、本実施形態に係る最適制御装置１０の実施例１について説明する。実施例１では、制御対象のシステムとして、図１９に示すヒートポンプモデルを制御する場合について説明する。図１９に示すヒートポンプモデルでは、圧縮機２００と、膨張弁３００と、凝縮器４００と、蒸発器５００とが含まれる。圧縮機２００の操作量（ＭＶ１：圧縮機モータ回転率）を大きくすると、凝縮器４００の制御量（ＰＶ１：凝縮温度）が高温になり、蒸発器５００の制御量（ＰＶ２：蒸発温度）が低温になる。一方で、膨張弁３００の操作量（ＭＶ２：膨脹弁開度）を大きくすると、凝縮器４００の制御量（ＰＶ１：凝縮温度）が低温になり、蒸発器５００の制御量（ＰＶ２：蒸発温度）が高温になる。実施例１では、圧縮機２００の操作量と、膨張弁３００の操作量と、凝縮器４００の制御量と、蒸発器５００の制御量とは、以下の関係にモデル化されているものとする。
【０１４４】
【数２４】
2019152998.tif 000026
このとき、圧縮機２００の操作量と膨張弁３００の操作量とを調整し、凝縮器４００の制御量と蒸発器５００の制御量とを目標値（ＳＶ１及びＳＶ２）にする制御を行うものとする。
【０１４５】
また、圧縮機２００の操作量と膨張弁３００の操作量とには、それぞれ、１８００≦ＭＶ１≦３４００、５００≦ＭＶ２≦７００の上下限制約があり、目標値と制御量との誤差を評価する評価関数Ｅは以下であるものとする。
【０１４６】
【数２５】
2019152998.tif 000027
このとき、図４のステップＳ１０１において、一階述語論理式生成部１１１により、以下のラグランジュ関数Ｌが生成される。
【０１４７】
【数２６】
2019152998.tif 000028
次に、一階述語論理式生成部１１１により、最適性条件を満たす条件式ψ１１，ψ１２，ψ２１，ψ２２，ψ３１，ψ３２，ψ４１，ψ４２が生成される。そして、条件式ψ１１，ψ１２，ψ２１，ψ２２，ψ３１，ψ３２，ψ４１，ψ４２が論理積で結合されたψ５が生成され、ラグランジュ乗数に存在記号が付与されることで、一階述語論理式ψ：＝∃λ１１∃λ１２∃λ２１∃λ２２（ψ５）が生成される。
【０１４８】
その後、図４のステップＳ１０２において、限定記号消去部１１２により、限定記号消去法によって上記の一階述語論理式ψから関係論理式φが生成される。ここで、実施例１における関係論理式φの分割論理式φＲｋが表す領域分割を図２０に示す。図２０では、領域Ｒ１〜Ｒ７を含む複数の領域に分割された場合を示している。図２０に示す各領域に対して、最適な操作量を算出するための操作量決定関数ｇｍＲｋが決定される。
【０１４９】
次に、最適な操作量を決定する場合について説明する。一例として、目標値をｐ１＝６３、ｐ２＝０とする。この場合、図６のステップＳ２０２において、領域判定部１２１により、目標値（ｐ１，ｐ２）は領域Ｒ７に含まれると判定される。したがって、操作量算出部１２２により、以下の式により最適な操作量が算出される。
【０１５０】
【数２７】
2019152998.tif 000029
上記の数２７に示す操作量決定関数のＳＶ１及びＳＶ２に対して、目標値（ｐ１＝６３，ｐ２＝０）を代入することで、以下の最適な操作量ｓ１及びｓ２が算出される。
【０１５１】
【数２８】
2019152998.tif 000030
なお、逆に、操作量ＭＶ１及びＭＶ２がそれぞれ（５６９５０００４）／２５８７７及び（４５１２９７３３）／７７６３１である場合、制御量ＰＶ１及びＰＶ２はそれぞれ６３及び０となり、目標値と一致する。
【０１５２】
ここで、実施例１において、或る１０００個の目標値を用いて、最適制御装置１０により最適な制御量（すなわち、最適な操作量）を計算した場合における１０００個の目標値ＳＶ１及びＳＶ２をプロットしたプロット結果を図２１に示す。また、このときの従来技術との比較例を図２２に示す。図２１に示すように、これらのプロット結果は、或る特定の領域内に集中していることがわかる。このため、例えば、キャッシュ機構部１２３を用いた場合、優先度が上位の領域にヒットしやすくなり、高速化が期待できる。また、図２２に示す例では、従来技術として内点法を用いた最適化関数（Mathematica）により最適な操作量を算出した場合と、本実施形態に係る最適制御装置１０により最適な操作量を算出した場合とを示している。図２２に示すように、従来技術では０．０２２１２２［ｓｅｃ］であるのに対して、本実施形態に係る最適制御装置１０では０．０００２５５［ｓｅｃ］であり、計算時間が約１／８７に短縮されていることがわかる。このように、本実施形態に係る最適制御装置１０によれば、従来技術と比較して、制御量を目標値に追従させるための最適な操作量を高速に算出することができる。
【０１５３】
なお、本実施形態に係る最適制御装置１０がキャッシュ機構部１２３を有する場合は、０．０００２０３［ｓｅｃ］であり、更に１．２６倍高速であった。
【０１５４】
［実施例２］
以降では、本実施形態に係る最適制御装置１０の実施例２について説明する。実施例２では、実施例１のヒートポンプモデルの制御量に変化率制約がある場合について説明する。この変化率制約は以下であるものとする。
【０１５５】
【数２９】
2019152998.tif 000031
この変化率制約は、具体的には、制御量（ＰＶ１及びＰＶ２）が１制御周期で１℃しか変化しないものとした制約条件である。なお、ＰＶ１０及びＰＶ２０は、それぞれ制御時点でのＰＶ１及びＰＶ２の値を表す。
【０１５６】
このとき、図４のステップＳ１０１において、一階述語論理式生成部１１１により、以下のラグランジュ関数Ｌが生成される。
【０１５７】
【数３０】
2019152998.tif 000032
次に、一階述語論理式生成部１１１により、最適性条件を満たすように条件式ψ１１，ψ１２，ψ２１，ψ２２，ψ３１，ψ３２，ψ４１，ψ４２，ψ５，ψ６１，ψ６２，ψ７１，ψ７２，ψ８１，ψ８２，ψ９が生成される。そして、ψ５とψ９とを論理積で結合したψ５∧ψ９に対して、ラグランジュ乗数（λ１１，λ１２，λ２１，λ２２，λ３１，λ３２，λ４１，λ４２）に存在記号が付与されることで、一階述語論理式ψ：＝∃λ１１∃λ１２∃λ２１∃λ２２∃λ３１∃λ３２∃λ４１∃λ４２（ψ５∧ψ９）が生成される。
【０１５８】
その後、図４のステップＳ１０２において、限定記号消去部１１２により、限定記号消去法によって上記の一階述語論理式ψから関係論理式φが生成される。これにより、最適な操作量の算出処理において、変化率制約を満たす最適な操作量が算出される。
【０１５９】
ここで、制御周期毎に、最適な操作量の算出処理を繰り返し実行して、制御量を制御した場合の時間変化を図２３に示す。図２３（ａ）はＰＶ１の時間変化、図２３（ｂ）はＰＶ２の時間変化、図２３（ｃ）はＭＶ１の時間変化、図２３（ｄ）はＭＶ２の時間変化を示している。図２３（ａ）〜図２３（ｄ）に示されるように、変化率条件（制御量の変化が１℃以内）を満たしつつ、制御量が目標値に近付くように各時刻での操作量が算出されている。
【０１６０】
また、制御周期ｔ毎に、本実施形態に係る最適制御装置１０による最適制御を繰り返し実行した場合に、制御周期ｔ毎に関係論理式φの分割論理式φＲｋを可視化した場合を図２４に示す。図２４に示す例では、各制御周期ｔでの制御量の現在値を観測し、その観測値が代入された分割論理式φＲｋを可視化した場合を示している。ｔ＝１〜ｔ＝４では、例えば、領域Ｒ１が大きく変化しているのがわかる。一方で、ｔ＝５〜ｔ＝７では、領域Ｒ１が殆ど変化していない。これは、図２３（ａ）及び図２３（ｂ）に示されているように、ｔ＝５〜ｔ＝７では、ＰＶ１及びＰＶ２が目標値ｐ１及びｐ２に近付いていくためである。
【０１６１】
＜まとめ＞
以上のように、本実施形態に係る最適制御装置１０は、複数の制御量を目標値に追従させる多変数制御において、オフラインで関係論理式を生成した上で、オンラインで当該関係論理式と目標値とから最適な操作量を算出する。これにより、本実施形態に係る最適制御装置１０は、例えばエッジデバイス等の計算資源が比較的少ない機器でも多変数制御を行うことができるようになる。
【０１６２】
また、本実施形態に係る最適制御装置１０は、関係論理式の生成の際に、限定記号消去を用いて関係論理式を生成する。これにより、本実施形態に係る最適制御装置１０では、数値誤差の無い正確な最適制御則（すなわち、関係論理式φ）を生成することができる。
【０１６３】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１６４】
１０        最適制御装置
１００      最適制御処理部
１１０      オフライン処理部
１１１      一階述語論理式生成部
１１２      限定記号消去部
１２０      オンライン処理部
１２１      領域判定部
１２２      操作量算出部
【図１】
2019152998.tif 000033
【図２】
2019152998.tif 000034
【図３】
2019152998.tif 000035
【図４】
2019152998.tif 000036
【図５】
2019152998.tif 000037
【図６】
2019152998.tif 000038
【図７】
2019152998.tif 000039
【図８】
2019152998.tif 000040
【図９】
2019152998.tif 000041
【図１０】
2019152998.tif 000042
【図１１】
2019152998.tif 000043
【図１２】
2019152998.tif 000044
【図１３】
2019152998.tif 000045
【図１４】
2019152998.tif 000046
【図１５】
2019152998.tif 000047
【図１６】
2019152998.tif 000048
【図１７】
2019152998.tif 000049
【図１８】
2019152998.tif 000050
【図１９】
2019152998.tif 000051
【図２０】
2019152998.tif 000052
【図２１】
2019152998.tif 000053
【図２２】
2019152998.tif 000054
【図２３】
2019152998.tif 000055
【図２４】
2019152998.tif 000056