(57)【要約】【課題】外乱の影響を考慮した応答予測を修正してより緩やかに変化する応答予測として制御変数を求めるようにしても、操作変数の変化量が増大するなどの制御負荷の増大が抑制できるようにする。【解決手段】相対制約修正部１０６は、応答予測生成部１０２が予測した将来応答と、第１の応答予測修正部１０３が出力した第１の修正将来応答との、少なくともいずれか一方に基づいて、応答予測生成部１０２が予測した将来応答を修正した第２の修正将来応答と、制約条件設定部１０５に設定（記憶）されている上限値および下限値を修正した修正上限値および修正下限値とを算出して出力する。制約修正部１６１が、修正上限値および修正下限値を算出して出力し、第２の応答予測修正部１６２が、第２の修正将来応答を算出して出力する。【選択図】  図１
2014096091.tif 000002
【特許請求の範囲】
【請求項１】
制御対象が制御に用いた操作変数，前記制御対象が出力する制御変数，および外乱情報を収集するデータ収集部と、
前記データ収集部が収集した制御変数，操作変数，および外乱情報を含むデータに基づいて前記制御対象が将来出力する制御変数を予測して将来応答として出力する応答予測生成部と、
前記応答予測生成部が出力した将来応答の時系列変化における外乱の影響をなだらかな変化に修正した修正将来応答を生成する応答予測修正部と、
前記制御対象が将来出力する望ましい値の時系列からなる制御変数の目標値軌道を生成して出力する目標値軌道生成部と、
前記制御対象が将来出力する制御変数の上限値および下限値を記憶する制約条件記憶部と、
前記応答予測修正部より出力された修正将来応答が前記目標値軌道に近づくように前記制御対象が将来用いる操作変数を算出して前記制御対象に出力する操作変数演算部と
を備え、
前記将来応答と前記上限値および前記下限値との関係に対応した状態の許容範囲で、前記修正将来応答が前記目標値軌道に近づくようにすることを特徴とするモデル予測制御装置。
【請求項２】
請求項１記載のモデル予測制御装置において、
前記応答予測生成部が予測した将来応答と、前記応答予測修正部が出力した第１の修正将来応答との少なくともいずれか一方に基づいて、前記応答予測生成部が予測した将来応答を修正した第２の修正将来応答と、前記制約条件記憶部に設定されている上限値および下限値を修正した修正上限値および修正下限値とを算出して出力する相対制約修正部を備え、
前記相対制約修正部は、第２の修正将来応答と修正上限値および修正下限値との関係が、将来応答と上限値および下限値との関係に対応する状態となるように、第２の修正将来応答、修正上限値および修正下限値を算出することを特徴とするモデル予測制御装置。
【請求項３】
請求項１記載のモデル予測制御装置において、
前記応答予測生成部が予測した将来応答に基づいて、前記制約条件記憶部に設定されている上限値および下限値を修正した修正上限値および修正下限値とを算出して出力する相対制約修正部を備え、
前記相対制約修正部は、前記応答予測生成部より出力された将来応答と前記制約条件記憶部に設定されている上限値および下限値を修正した修正上限値および修正下限値との関係が、前記将来応答と上限値および下限値と対応するように、修正上限値および修正下限値を算出することを特徴とするモデル予測制御装置。
【請求項４】
請求項１記載のモデル予測制御装置において、
前記応答予測生成部が予測した将来応答に基づいて、前記応答予測生成部が予測した将来応答と、前記制約条件記憶部に設定されている上限値および下限値を修正した修正上限値および修正下限値とを算出して出力する相対制約修正部を備え、
前記相対制約修正部は、前記応答予測生成部より出力された将来応答と前記制約条件記憶部に設定されている上限値および下限値を修正した修正上限値および修正下限値との関係が、修正前の将来応答と上限値および下限値と対応するように、修正上限値および修正下限値を算出することを特徴とするモデル予測制御装置。
【請求項５】
請求項１記載のモデル予測制御装置において、
前記応答予測生成部が予測した将来応答に基づいて、前記応答予測生成部が予測した将来応答を修正した第２の修正将来応答と、前記制約条件記憶部に設定されている上限値および下限値とを出力する相対制約修正部を備え、
前記相対制約修正部は、第２の修正将来応答と上限値および下限値との関係が、将来応答と上限値および下限値との関係に対応する状態となるように、第２の修正将来応答を算出することを特徴とするモデル予測制御装置。
【請求項６】
請求項１〜５のいずれか１項に記載のモデル予測制御装置において、
前記操作変数演算部が、前記制御対象が将来用いる操作変数を算出するときに用いる前記許容範囲を、前記将来応答と前記上限値および前記下限値との関係による許容範囲より変更する緩和幅は、調整可能とされていることを特徴とするモデル予測制御装置。
【請求項７】
請求項６記載のモデル予測制御装置において、
前記緩和幅は、前記制御対象が将来用いる操作変数を算出する区間で調整可能とされていることを特徴とするモデル予測制御装置。
【請求項８】
請求項６または７記載のモデル予測制御装置において、
前記緩和幅は、前記制御対象の特性に基づいて調整することを特徴とするモデル予測装置。
【請求項９】
請求項８記載のモデル予測制御装置において、
前記制御対象の特性は制御対象のステップ応答であることを特徴とするモデル予測制御装置。
【請求項１０】
制御対象が制御に用いた操作変数，前記制御対象が出力する制御変数，および外乱情報を収集するデータ収集ステップと、
前記データ収集ステップで収集した制御変数，操作変数，および外乱情報を含むデータに基づいて前記制御対象が将来出力する制御変数を予測して将来応答として出力する応答予測生成ステップと、
前記応答予測生成ステップで出力した将来応答の時系列変化における外乱の影響をなだらかな変化に修正した修正将来応答を生成する応答予測修正ステップと、
前記制御対象が将来出力する望ましい値の時系列からなる制御変数の目標値軌道を生成して出力する目標値軌道生成ステップと、
前記制御対象が将来出力する制御変数の上限値および下限値を記憶する制約条件記憶ステップと、
前記応答予測修正ステップで出力された修正将来応答が前記目標値軌道に近づくように前記制御対象が将来用いる操作変数を算出して前記制御対象に出力する操作変数演算ステップと
を備え、
前記将来応答と前記上限値および前記下限値との関係に対応した状態の許容範囲で、前記修正将来応答が前記目標値軌道に近づくようにすることを特徴とするモデル予測制御方法。
【請求項１１】
請求項１０記載のモデル予測制御方法において、
前記応答予測生成ステップで予測された将来応答と、前記応答予測修正ステップで出力された第１の修正将来応答との少なくともいずれか一方に基づいて、前記応答予測生成ステップで予測された将来応答を修正した第２の修正将来応答と、前記制約条件記憶ステップで記憶された上限値および下限値を修正した修正上限値および修正下限値とを算出して出力する相対制約修正ステップを備え、
前記相対制約修正ステップでは、第２の修正将来応答と修正上限値および修正下限値との関係が、将来応答と上限値および下限値との関係に対応する状態となるように、第２の修正将来応答、修正上限値および修正下限値を算出することを特徴とするモデル予測制御方法。
【請求項１２】
請求項１０記載のモデル予測制御方法において、
前記応答予測生成ステップで予測された将来応答に基づいて、前記制約条件記憶ステップで記憶された上限値および下限値を修正した修正上限値および修正下限値とを算出して出力する相対制約修正ステップを備え、
前記相対制約修正ステップでは、前記応答予測生成ステップで出力された将来応答と前記制約条件記憶ステップで記憶された上限値および下限値を修正した修正上限値および修正下限値との関係が、前記将来応答と上限値および下限値と対応するように、修正上限値および修正下限値を算出することを特徴とするモデル予測制御方法。
【請求項１３】
請求項１０記載のモデル予測制御方法において、
前記応答予測生成ステップで予測された将来応答に基づいて、前記応答予測生成ステップで予測された将来応答と、前記制約条件記憶ステップで記憶された上限値および下限値を修正した修正上限値および修正下限値とを算出して出力する相対制約修正ステップを備え、
前記相対制約修正ステップでは、前記応答予測生成ステップで出力された将来応答と前記制約条件記憶ステップで記憶された上限値および下限値を修正した修正上限値および修正下限値との関係が、修正前の将来応答と上限値および下限値と対応するように、修正上限値および修正下限値を算出することを特徴とするモデル予測制御方法。
【請求項１４】
請求項１０記載のモデル予測制御方法において、
前記応答予測生成ステップで予測された将来応答に基づいて、前記応答予測生成ステップで予測された将来応答を修正した第２の修正将来応答と、前記制約条件記憶ステップで設定された上限値および下限値とを出力する相対制約修正ステップを備え、
前記相対制約修正ステップでは、第２の修正将来応答と上限値および下限値との関係が、将来応答と上限値および下限値との関係に対応する状態となるように、第２の修正将来応答を算出することを特徴とするモデル予測制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデルを用いて制御対象を制御するモデル予測制御装置および方法に関する。
【背景技術】
【０００２】
モデル予測制御は、モデルを用いて制御変数の将来の応答を予測し、予測した応答が参照軌道や目標値に漸近するような操作変数を算出する制御方法である。モデル予測制御は、制御変数および操作変数に対する制約（上下限値）を直接扱えることが大きな特徴であり、プロセス産業など、変数の制約を考慮した制御が必要な制御対象で利用されている（非特許文献１，２参照）。
【０００３】
以下、１入力１出力のプロセスを制御対象とした場合を例にして、図７を用いてモデル予測制御について説明する。図７は、モデル予測制御を行うシステムの構成例を示す構成図である。このシステムは、制御対象プロセス７０１，データ収集部７０２，応答予測生成部７０３，目標値軌道生成部７０４，制約条件設定部７０５，操作変数演算部７０６を備える。以下では、制御対象プロセス７０１が出力する制御変数の時系列をｙ（ｋ）で表し、制御対象プロセス７０１に対して出力される（制御対象プロセス７０１が入力する）操作変数の時系列をｕ（ｋ）で表す。
【０００４】
データ収集部７０２は、制御対象プロセス７０１の制御変数および操作変数などのデータを収集する。また、データ収集部７０２は、外乱変数などのデータを収集する。
【０００５】
応答予測生成部７０３は、データ収集部７０２が収集したデータおよび過去に収集されたデータに基づいて、制御対象プロセス７０１の将来の応答を予測する。応答予測生成部７０３が予測して出力する将来応答は、例えば、「ｙｆ（ｋ＋１），ｙｆ（ｋ＋２），・・・，ｙｆ（ｋ＋Ｈｐ）」のような時系列データとなる。なお、区間［ｋ＋１，ｋ＋Ｈｐ］は、将来の応答を予測・評価する対象となる区間であり、予測ホライズンと呼ばれる。ｋ＋Ｈｐは、予測ホライズンの終端点となる。予測ホライズンの区間の始点は、「ｋ＋１」以外にすることも多いが、ここでは、簡単のため、始点は「ｋ＋１」に統一する。
【０００６】
目標値軌道生成部７０４は、制御変数の予測ホライズンにおける望ましい値の系列（目標値軌道）を生成する。例えば、目標値軌道生成部７０４は、目標値軌道として「ｙｒ（ｋ＋１），ｙｒ（ｋ＋２），・・・，ｙｒ（ｋ＋Ｈｐ）」を生成する。
【０００７】
モデル予測制御の特徴は、変数の制約を直接考慮できるところにある。この変数の制約が、制約条件設定部７０５により設定される。ここでは、操作変数の上限をｕＨ（ｋ），操作変数の下限をｕＬ（ｋ），制御変数の上限をｙＨ（ｋ），制御変数の下限をｙＬ（ｋ），操作変数の変化量の上限をΔｕＨ（ｋ），操作変数の変化量の下限をΔｕＬ（ｋ）と表す。また、ここでは、制約が、時刻ｋに依存する場合も考慮した表現をしているが、時刻によらず、一定の値としてもかまわない。なお、これらの制約（上下限値）は、ユーザが決めた値、もしくは、ユーザの操作に基づいて生成された値が制約条件設定部７０５に予め設定されている。また、例えば、ユーザが上下限を狭めるような制約を決定した場合、この制約をこのまま制約条件設定部７０５に設定するのではなく、現在の上下限値から徐々に新しい上下限に近づくように設定するなど、ユーザにより決定された値を、フィルタ等で加工してから設定してもよい。
【０００８】
操作変数演算部７０６は、以下の目的に沿って、制御対象プロセス７０１に今後与える操作変数の時系列を算出する。
【０００９】
・操作変数，操作変数の変化量，制御変数が、与えられた上限および下限の外に逸脱しない。
・制御変数の応答は、与えられた目標値軌道に可能な範囲で近づける。
・操作変数の変化量は、可能な範囲で小さくする。
【００１０】
これらの目的に沿って、最適な操作変数の変化量「Δｕ（ｋ），Δｕ（ｋ＋１），・・・，Δｕ（ｋ＋Ｈｃ）」を求める問題を、二次計画法として定式化する。Δｕ（ｋ）は、ｕ（ｋ）の後退差分であり、「Δｕ（ｋ）＝ｕ（ｋ）−ｕ（ｋ−１）」で定義する。Δｕ（ｋ）の系列が求まれば、１周期前の制御の操作変数ｕ（ｋ−１）に、求められたΔｕ（ｋ）を加算することで、ｕ（ｋ）の系列が求まる。
【００１１】
なお、Δｕ（ｋ）の系列を求める区間［ｋ，ｋ＋Ｈｃ］を制御ホライズンと呼ぶ。制御ホライズンの終端ｋ＋Ｈｃは、予測ホライズンの終端ｋ＋Ｈｐより手前にする必要がある。
【００１２】
このようにして定式化された問題は、以下の式（１）に示されるものとなる。
【００１３】
【数１】
2014096091.tif 000003
【００１４】
ただし、「Δｙ（ｋ＋１），Δｙ（ｋ＋２），・・・，Δｙ（ｋ＋Ｈｐ）」は、「Δｕ（ｋ＋１），Δｕ（ｋ＋２），・・・，Δｕ（ｋ＋Ｈｃ）」を制御対象プロセス７０１に入力したときに、制御対象プロセス７０１の応答が変化する量である。また、ｑ（ｉ）およびｒ（ｉ）は、評価関数の重み係数である。
【００１５】
最終的には、得られた時系列のうち、最初の値（ｕ（ｋ））が、制御対象プロセス７０１へと出力される。
【００１６】
この演算により、制御変数を目標値に追従させ、また、外乱によって目標値から外れた制御変数を目標値に戻すといった制御を、自動的に行うことが可能となる。また、ここでは簡単のため、１入力１出力系で説明したが、多入力多出力系に拡張することも可能である。
【００１７】
ここで、外乱が制御対象に与える影響を抑制することは、制御の目的の１つとして重要である。モデル予測制御において外乱を抑制する方法はいくつかあるが、この中の１つに、収集されたデータから外乱による制御変数応答の変化量を予測し、予測した変化の影響を抑制するような操作変数を算出する方法がある（非特許文献１参照）。
【００１８】
非特許文献１の方法は、外乱を入力とし、制御変数を出力としたモデルを用意すれば、通常のモデル予測制御のアルゴリズムへ容易に組み込むことができる。この方法では、図８に示すように、外乱の影響を考慮した応答予測（ａ）と目標値（ｂ）との差を解消し、目標値に一致するような操作変数を算出し、算出した操作変数で制御を行う。なお、図８の（ｃ）は、外乱がない場合の応答予測である。
【００１９】
非特許文献１の方法を前述したシステムの例に適用する場合と前述した例との違いは、応答予測生成部７０３が予測する「ｙｆ（ｋ＋１），ｙｆ（ｋ＋２），・・・，ｙｆ（ｋ＋Ｈｐ）」が、外乱の影響が考慮されているものになるかどうかの違いである。更に、モデルの精度が高ければ、外乱が制御変数の応答に与える影響を正確に予測でき、外乱の影響をモデル予測制御によって除去できるので、外乱抑制性能も比較的良好となる。
【００２０】
しかしながら、予測された外乱の影響を完全に除去するような制御系を構成することが、最善とは限らない。あえて、外乱の影響を完全に除去せずに制御することがある。例えば、特許文献１では、プロセスの出力とモデルによる予測値との差を、このまま測定不可外乱の推定値とせず、外乱フィルタを通して処理し、処理した結果を用いた応答予測を操作変数演算部への入力としている。
【００２１】
例えば、プロセスの出力とモデルによる予測値との差が、測定不可外乱の真値であり、この値が将来にわたって継続するのであれば、上述した外乱フィルタは必要ない。しかしながら、現実には、正確な外乱情報を得ることは困難なため、フィルタにより外乱推定値を平滑化する特許文献１の方法が、よい制御性能を示すことが多い。
【００２２】
モデルを用いて外乱の影響を予測する構成の場合も同様のことが言える。精度が低いモデルを用いている場合に、外乱の影響を完全に除去しようとすると、外乱抑制性能はむしろ劣化し、制御対象に悪影響を及ぼす。また、モデルの精度が高い場合でも、操作変数が外乱を完全に抑制するように振る舞うことが好まれない場合がある。これは、外乱を完全に抑制する状態の操作変数の時系列は、制御周期毎の変化量が非常に大きくなることがあり、制御対象に負荷をかけることがあるためである。
【００２３】
このため、外乱の影響が多少残っても、操作変数がゆっくりと徐々に値を変化させるように振る舞う方が望まれることも少なくない。また、操作変数の振る舞いが穏やかであると、モデルの精度が低い場合でも、制御性能劣化や制御対象への悪影響が小さく済むという利点もある。
【００２４】
操作変数の振る舞いを穏やかにする方法の１つとして、外乱による制御変数応答の変化量を予測する際、モデルの応答をそのまま使うのではなく、フィルタなどにより応答予測の変化をなまして修正（外乱の影響をなだらかな変化に修正）して使う方法がある。この方法で得られる応答予測は、元の予測の速い動きを抑制し、または無視したものとなる。この方法では、実際に制御変数に表れる外乱の影響よりもゆっくりと変化する応答を仮定する。このように修正した上で、モデル予測制御の計算において、修正された応答予測に基づいて操作変数を求めるようにすれば、応答予測と目標値軌道との差異が元の差異よりも小さく、かつ、応答予測が滑らかなものとなるため、外乱抑制のための操作変数の振る舞いも比較的穏やかなものとなる。
【００２５】
以下、１入力１出力のプロセスを制御対象とした場合を例にして、図９を用いて応答予測の変化を修正して用いるモデル予測制御について説明する。図９は、応答予測の変化を修正してモデル予測制御を行うシステムの構成例を示す構成図である。このシステムは、制御対象プロセス７０１，データ収集部７０２，応答予測生成部７０３，目標値軌道生成部７０４，制約条件設定部７０５，操作変数演算部７０６，および応答予測修正部７０７を備える。このシステムでは、前述したモデル予測制御のシステムにおいて、新たに、応答予測生成部７０３と操作変数演算部７０６との間に、応答予測修正部７０７を備えている。
【００２６】
このシステムでは、応答予測生成部７０３が生成した応答予測ｙｆを応答予測修正部７０７で修正し、修正した結果ｙｆ*を操作変数演算部７０６に渡すことで、操作変数の振る舞いを穏やかにするようにしている。応答予測修正部７０７では、応答予測生成部７０３が生成した将来応答の予測を、フィルタにかけるなどにより元の予測よりも滑らかにかつ変化の小さいものにしている。この方法では、図１０に示すように、外乱の影響を考慮した応答予測（ａ）より上述したように修正した修正応答予測（ａ’）を生成する。そして、修正応答予測（ａ’）と目標値（ｂ）との差を解消し、目標値（ｂ）に一致するような操作変数を算出し、算出した操作変数で制御を行う。
【先行技術文献】
【特許文献】
【００２７】
【特許文献１】特開平０５−２６５５１４号公報
【非特許文献】
【００２８】
【非特許文献１】Jan M. Msciejowski, 足立修一・菅野政明訳、「モデル予測制御−制約の下での最適制御−」、東京電機大学出版局、２００５年。
【非特許文献２】S.Joe Qin, Thomas A. Badgwell, "A survey of industial model predictive control technology", Control Engineering Practice, vol.11, pp.733-764, 2003.
【発明の概要】
【発明が解決しようとする課題】
【００２９】
しかしながら、上述したように外乱の影響を考慮した応答予測を修正し、制御変数の応答予測をより緩やかに変化するように求めた場合、操作変数の変化量が増大して制御性能を劣化させてしまう場合が発生し、操作変数の振る舞いを穏やかにするという目的が達成できない場合があった。特に、制御変数の上限および下限の制約の幅を狭くしている場合、上述した問題が発生しやすい。
【００３０】
本発明は、以上のような問題点を解消するためになされたものであり、外乱の影響を考慮した応答予測を修正してより緩やかに変化する応答予測として制御変数を求めるようにしても、操作変数の変化量が増大するなどの制御性能の劣化が抑制できるようにすることを目的とする。
【課題を解決するための手段】
【００３１】
本発明に係るモデル予測制御装置は、制御対象が制御に用いた操作変数，制御対象が出力する制御変数，および外乱情報を収集するデータ収集部と、データ収集部が収集した制御変数，操作変数，および外乱情報を含むデータに基づいて制御対象が将来出力する制御変数を予測して将来応答として出力する応答予測生成部と、応答予測生成部が出力した将来応答の時系列変化における外乱の影響をなだらかな変化に修正した修正将来応答を生成する応答予測修正部と、制御対象が将来出力する望ましい値の時系列からなる制御変数の目標値軌道を生成して出力する目標値軌道生成部と、制御対象が将来出力する制御変数の上限値および下限値を記憶する制約条件記憶部と、応答予測修正部より出力された修正将来応答が目標値軌道に近づくように制御対象が将来用いる操作変数を算出して制御対象に出力する操作変数演算部とを備え、将来応答と上限値および下限値との関係に対応した状態の許容範囲で、修正将来応答が目標値軌道に近づくようにする。
【００３２】
上記モデル予測制御装置において、応答予測生成部が予測した将来応答と、応答予測修正部が出力した第１の修正将来応答との少なくともいずれか一方に基づいて、応答予測生成部が予測した将来応答を修正した第２の修正将来応答と、制約条件記憶部に設定されている上限値および下限値を修正した修正上限値および修正下限値とを算出して出力する相対制約修正部を備え、相対制約修正部は、第２の修正将来応答と修正上限値および修正下限値との関係が、将来応答と上限値および下限値との関係に対応する状態となるように、第２の修正将来応答、修正上限値および修正下限値を算出するようにすればよい。
【００３３】
上記モデル予測制御装置において、応答予測生成部が予測した将来応答に基づいて、制約条件記憶部に設定されている上限値および下限値を修正した修正上限値および修正下限値とを算出して出力する相対制約修正部を備え、相対制約修正部は、応答予測生成部より出力された将来応答と制約条件記憶部に設定されている上限値および下限値を修正した修正上限値および修正下限値との関係が、将来応答と上限値および下限値と対応するように、修正上限値および修正下限値を算出するようにしてもよい。
【００３４】
上記モデル予測制御装置において、応答予測生成部が予測した将来応答に基づいて、応答予測生成部が予測した将来応答と、制約条件記憶部に設定されている上限値および下限値を修正した修正上限値および修正下限値とを算出して出力する相対制約修正部を備え、相対制約修正部は、応答予測生成部より出力された将来応答と制約条件記憶部に設定されている上限値および下限値を修正した修正上限値および修正下限値との関係が、修正前の将来応答と上限値および下限値と対応するように、修正上限値および修正下限値を算出するようにしてもよい。
【００３５】
上記モデル予測制御装置において、応答予測生成部が予測した将来応答に基づいて、応答予測生成部が予測した将来応答を修正した第２の修正将来応答と、制約条件記憶部に設定されている上限値および下限値とを出力する相対制約修正部を備え、相対制約修正部は、第２の修正将来応答と上限値および下限値との関係が、将来応答と上限値および下限値との関係に対応する状態となるように、第２の修正将来応答を算出するようにしてもよい。
【００３６】
上記モデル予測制御装置において、操作変数演算部が、制御対象が将来用いる操作変数を算出するときに用いる許容範囲を、将来応答と上限値および下限値との関係による許容範囲より変更する緩和幅は、調整可能としてもよい。例えば、緩和幅は、制御対象が将来用いる操作変数を算出する区間で調整可能とすればよい。また、緩和幅は、制御対象の特性に基づいて調整してもよい。また、制御対象の特性は制御対象のステップ応答である
【００３７】
また、本発明に係るモデル予測制御装置方法は、制御対象が制御に用いた操作変数，制御対象が出力する制御変数，および外乱情報を収集するデータ収集ステップと、データ収集ステップで収集した制御変数，操作変数，および外乱情報を含むデータに基づいて制御対象が将来出力する制御変数を予測して将来応答として出力する応答予測生成ステップと、応答予測生成ステップで出力した将来応答の時系列変化における外乱の影響をなだらかな変化に修正した修正将来応答を生成する応答予測修正ステップと、制御対象が将来出力する望ましい値の時系列からなる制御変数の目標値軌道を生成して出力する目標値軌道生成ステップと、制御対象が将来出力する制御変数の上限値および下限値を記憶する制約条件記憶ステップと、応答予測修正ステップで出力された修正将来応答が目標値軌道に近づくように制御対象が将来用いる操作変数を算出して制御対象に出力する操作変数演算ステップとを備え、将来応答と上限値および下限値との関係に対応した状態の許容範囲で、修正将来応答が目標値軌道に近づくようにする。
【００３８】
上記モデル予測制御方法において、応答予測生成ステップで予測された将来応答と、応答予測修正ステップで出力された第１の修正将来応答との少なくともいずれか一方に基づいて、応答予測生成ステップで予測された将来応答を修正した第２の修正将来応答と、制約条件記憶ステップで記憶された上限値および下限値を修正した修正上限値および修正下限値とを算出して出力する相対制約修正ステップを備え、相対制約修正ステップでは、第２の修正将来応答と修正上限値および修正下限値との関係が、将来応答と上限値および下限値との関係に対応する状態となるように、第２の修正将来応答、修正上限値および修正下限値を算出するようにすればよい。
【００３９】
上記モデル予測制御方法において、応答予測生成ステップで予測された将来応答に基づいて、制約条件記憶ステップで記憶された上限値および下限値を修正した修正上限値および修正下限値とを算出して出力する相対制約修正ステップを備え、相対制約修正ステップでは、応答予測生成ステップで出力された将来応答と制約条件記憶ステップで記憶された上限値および下限値を修正した修正上限値および修正下限値との関係が、将来応答と上限値および下限値と対応するように、修正上限値および修正下限値を算出するようにしてもよい。
【００４０】
上記モデル予測制御方法において、応答予測生成ステップで予測された将来応答に基づいて、応答予測生成ステップで予測された将来応答と、制約条件記憶ステップで記憶された上限値および下限値を修正した修正上限値および修正下限値とを算出して出力する相対制約修正ステップを備え、相対制約修正ステップでは、応答予測生成ステップで出力された将来応答と制約条件記憶ステップで記憶された上限値および下限値を修正した修正上限値および修正下限値との関係が、修正前の将来応答と上限値および下限値と対応するように、修正上限値および修正下限値を算出するようにしてもよい。
【００４１】
上記モデル予測制御方法において、応答予測生成ステップで予測された将来応答に基づいて、応答予測生成ステップで予測された将来応答を修正した第２の修正将来応答と、制約条件記憶ステップで設定された上限値および下限値とを出力する相対制約修正ステップを備え、相対制約修正ステップでは、第２の修正将来応答と上限値および下限値との関係が、将来応答と上限値および下限値との関係に対応する状態となるように、第２の修正将来応答を算出するようにしてもよい。
【発明の効果】
【００４２】
以上説明したことにより、本発明によれば、外乱の影響を考慮した応答予測を修正してより緩やかに変化する応答予測として制御変数を求めるようにしても、操作変数の変化量が増大するなどの制御性能の劣化が抑制できるようになるという優れた効果が得られる。
【図面の簡単な説明】
【００４３】
【図１】図１は、時系列に変化する将来応答（ａ），修正将来応答（ａ’），目標値軌道（ｂ），下限（ｄ）の状態を例示する説明図である。
【図２】図２は、本発明の実施の形態１におけるモデル予測制御装置１００の構成を示す構成図である。
【図３】図３は、本発明の実施の形態１におけるモデル予測制御装置の動作（モデル予測制御方法）を説明するフローチャートである。
【図４】図４は、本発明の実施の形態２におけるモデル予測制御装置２００の構成を示す構成図である。
【図５】図５は、本発明の実施の形態３におけるモデル予測制御装置３００の構成を示す構成図である。
【図６】図６は、本発明の実施の形態４におけるモデル予測制御装置４００の構成を示す構成図である。
【図７】図７は、モデル予測制御を行うシステムの構成例を示す構成図である。
【図８】図８は、時系列に変化する将来応答（ａ），目標値軌道（ｂ），外乱がない場合の応答予測（ｃ）の状態を例示する説明図である。
【図９】図９は、モデル予測制御を行うシステムの構成例を示す構成図である。
【図１０】図１０は、時系列に変化する将来応答（ａ），修正将来応答（ａ’），目標値軌道（ｂ），外乱がない場合の応答予測（ｃ）の状態を例示する説明図である。
【発明を実施するための形態】
【００４４】
［原理］
はじめに、操作変数の変化量が増大するなどの制御性能の劣化が抑制できる効果が得られる本発明の原理について説明する。
【００４５】
背景技術の欄で説明したように、モデル予測制御では、制御変数に２つのことが要求される。１つは、応答を目標値軌道に可能な範囲で近づけることであり、２つは、設定されている上限値，下限値の制約から外れないようにすることである。従来の技術では、応答予測を修正することで、応答を目標値（目標値軌道）に近づける作用が抑制されるように制御則を修正したものと捉えることができる。
【００４６】
発明者は、応答予測と、応答（将来応答）に課せられた制約との関係が、応答を修正することでどのように変化するかを研究した。この研究の結果、応答を目標値に近づける作用を抑制するように応答を修正することで、制御対象が将来用いる操作変数の算出過程において、応答が上限値，下限値の制約を守るための動きが変化し、この変化の結果、操作変数の動きが過剰になる場合を明らかにした。
【００４７】
図１には、将来応答（ａ），修正将来応答（ａ’），目標値軌道（ｂ），下限（ｄ）を示している。外乱の影響も含めてモデルなどを用いて忠実に予測した将来応答（ａ）は、予測が正確であり、かつ操作変数の値を変更しなければ、実際の制御変数値が取るであろう値の変化を示している。修正将来応答（ａ’）は、操作変数の動きを押さえるため、意図的に改変している。また、目標値軌道（ｂ）は、制御変数を可能な範囲で近づかせる対象である。また、下限（ｄ）は、制御変数の下限であり、操作変数の算出過程で得られる制御変数が、この値より小さくならないようにする。
【００４８】
図１において、将来応答（ａ）と下限（ｄ）との差Δ１と、修正将来応答（ａ’）と下限（ｄ）との差Δ２とを比較すると、差Δ２の方が小さい。これは、制御対象が将来用いる操作変数の算出過程において、操作変数の動きを抑制することを狙ったためである。
【００４９】
ところで、制御対象が将来用いる操作変数の算出においては、制御変数の制約も影響する。図１において、算出の過程において、操作変数の値を変化させれば、将来応答（ａ）は変化する。ただし、この変化は、無制限に許容されるわけではなく、上限値・下限値の制約の範囲内であることが重要となる。例えば、図１において、下限（ｄ）を下回るような将来応答が算出される結果は許容されない。言い換えると、制御変数の応答は、下限（ｄ）まで変動することが許容される。この許容される範囲が広ければ、制御変数に限らず、操作変数の動きについても許容される範囲が広くなり、操作変数の算出が容易になる。
【００５０】
しかしながら、制御対象が将来用いる操作変数の算出に修正将来応答（ａ’）を用いる場合、上述した許容される範囲が変化する。図１に示す事例の場合、下限への許容範囲を示す差Δ１が、差Δ２へと小さくなる。一方で、上限への許容範囲（不図示）は、将来応答（ａ）の場合より広くなる。
【００５１】
この結果、制御対象が将来用いる操作変数の算出において、操作変数の動きとして許容される範囲が変化する。特に、制御変数を下限（ｄ）に近づけるような挙動は、本来許容されるべき範囲より狭くなる。このため、操作変数の変化量が過剰になる場合がある。特に、設定されている上限・下限の幅（差）が小さい場合、修正将来応答（ａ’）を用いる場合でも上限値および下限値をそのまま用いると、本来許容されて然るべき範囲と、応答を修正したことにより変化した範囲との相対的な差異が大きくなるため、制御性能の劣化が顕著になる場合が発生する。
【００５２】
上述した問題を解消するためには、修正したことによる将来応答（修正将来応答）の上限値・下限値による許容範囲が小さくなるのを抑制すればよい。このために、例えば実施の形態１では、図２を用いて以下に説明するように、制約修正部１０６を新たに設け、第１の応答予測修正部１０３が将来応答を修正すると、許容範囲が小さくなる方の上下限値を修正し、本来の許容範囲と同等な許容範囲を確保する。このようにすることで、実際よりも小さくなった許容範囲に基づいたために不適切な操作変数を算出するような状況が抑制できる。
【００５３】
以下、本発明の実施の形態について図を参照して説明する。
【００５４】
［実施の形態１］
はじめに、本発明の実施の形態１について説明する。図２は、本発明の実施の形態１におけるモデル予測制御装置１００の構成を示す構成図である。このモデル予測制御装置１００は、データ収集部１０１，応答予測生成部１０２，第１の応答予測修正部１０３，目標値軌道生成部１０４，制約条件設定部（制約条件記憶部）１０５，相対制約修正部１０６，および操作変数演算部１０７を備える。また、相対制約修正部１０６は、制約条件を修正する制約修正部１６１、および応答予測を修正する第２の応答予測修正部１６２を備える。
【００５５】
データ収集部１０１は、制御対象プロセス１２０が制御に用いた操作変数，制御対象プロセス１２０が出力する制御変数，および外乱情報を収集する。
【００５６】
応答予測生成部１０２は、データ収集部１０１が収集した制御変数，操作変数，および外乱情報を含むデータに基づいて制御対象プロセス１２０が将来出力する制御変数を予測して将来応答として出力する。例えば、制御対象プロセス１２０が出力する制御変数の時系列をｙ（ｋ）とすると、応答予測生成部１０２は、例えば、「ｙｆ（ｋ＋１），ｙｆ（ｋ＋２），・・・，ｙｆ（ｋ＋Ｈｐ）」のような時系列データを将来応答として出力する。
【００５７】
第１の応答予測修正部１０３は、応答予測生成部１０２が出力した将来応答の時系列変化における外乱の影響をなだらかな変化に修正した修正将来応答を生成する。例えば、第１の応答予測修正部１０３は、「ｙ*ｆ（ｋ＋１），ｙ*ｆ（ｋ＋２），・・・，ｙ*ｆ（ｋ＋Ｈｐ）」のような時系列データを修正将来応答として出力する。
【００５８】
目標値軌道生成部１０４は、制御対象プロセス１２０が将来出力する望ましい値の時系列からなる制御変数の目標値軌道を生成して出力する。例えば、目標値軌道生成部１０４は、目標値軌道として例えば、「ｙｒ（ｋ＋１），ｙｒ（ｋ＋２），・・・，ｙｒ（ｋ＋Ｈｐ）」を生成する。
【００５９】
制約条件設定部１０５は、制御対象プロセス１２０が将来出力する（将来出力するものとして算出される）制御変数ｙ（ｋ）の上限値および下限値を記憶する。例えば、制御変数の上限をｙＨ（ｋ），制御変数の下限をｙＬ（ｋ）と表すと、制約条件設定部１０５には、「ｙ（ｋ＋ｉ）≧ｙＬ（ｋ＋ｉ）」および「ｙ（ｋ＋ｉ）≦ｙＨ（ｋ＋ｉ）」が設定されて記憶されている。なお、制約条件設定部１０５には、操作変数の上限値，下限値、操作変数の変化量の上限値，下限値なども設定・記憶されている。
【００６０】
上述したデータ収集部１０１，応答予測生成部１０２，目標値軌道生成部１０４，制約条件設定部１０５は、従来技術の場合と同様である。また、第１の応答予測修正部１０３は、従来技術の応答予測修正部と同様である。
【００６１】
相対制約修正部１０６は、応答予測生成部１０２が予測した将来応答と、第１の応答予測修正部１０３が出力した第１の修正将来応答との、少なくともいずれか一方に基づいて、応答予測生成部１０２が予測した将来応答を修正した第２の修正将来応答と、制約条件設定部１０５に設定（記憶）されている上限値および下限値を修正した修正上限値および修正下限値とを算出して出力する。制約修正部１６１が、修正上限値および修正下限値を算出して出力し、第２の応答予測修正部１６２が、第２の修正将来応答を算出して出力する。相対制約修正部１０６は、第２の修正将来応答と修正上限値および修正下限値との関係が、将来応答と上限値および下限値との関係に対応する状態となるように、第２の修正将来応答、修正上限値および修正下限値を算出する。
【００６２】
以下、相対制約修正部１０６の演算、すなわち、第２の修正将来応答と修正上限値および修正下限値との関係が、将来応答と上限値および下限値との関係に対応する状態となるような、第２の修正将来応答、修正上限値および修正下限値を算出する方法について、具体的に述べる。
【００６３】
例として、原理の説明で用いた図１をもとに説明する。この例は、将来応答を修正することで、第１の修正将来応答と下限値との差が、修正前の将来応答と下限値との差よりも小さくなった例である。すなわち、第１の修正将来応答をｙ*ｆ（ｋ）とすると、以下の式（２）のような関係になっている。
【００６４】
【数２】
2014096091.tif 000004
【００６５】
相対制約修正部１０６は，第２の修正将来応答と修正下限値との差が、少なくとも第１の修正将来応答と下限値との差よりは大きくなるように、将来応答と下限値を修正する。ここで、問題となっているのは第２の修正将来応答と修正下限値との差、すなわち、相対的な関係である。この差が第１の修正将来応答と下限値との差よりも大きくなるのであれば、将来応答と下限値のいずれか一方を修正するのでも、両方を修正するのでも良い。この演算を行う部分を相対制約修正部としたのは、上述したように、将来応答と上下限値の相対的な関係を修正することが目的だからである。
【００６６】
相対制約修正部１０６の演算は，少なくとも、第２の修正将来応答と修正下限値との差が第１の修正将来応答と下限値との差よりは大きくなるようにする必要があるので、第２の修正将来応答をｙ#ｆ（ｋ），修正下限値をｙ#Ｌ（ｋ）で表すと、最低限、以下の式（３）を満たすようにする必要がある。
【００６７】
【数３】
2014096091.tif 000005
【００６８】
一般には、第２の修正将来応答と修正下限値との差は、修正前の将来応答と下限値との差と同一にするよう対応させることが好ましいので、以下の式（４）を満たすように修正するのが望ましい実施形態となる。
【００６９】
【数４】
2014096091.tif 000006
【００７０】
もちろん、式（３）を満たす限りであれば、式（４）の左辺を右辺よりも大きくし、また、小さくしても構わない。ただし、式（４）の左辺を小さくすると、本発明の効果は低下する。また、式（４）の左辺を大きくすることは、制御変数に対して本来の下限よりも更に緩い制約を設定することになるので、制御変数の制約維持という観点では性能劣化になる可能性がある。
【００７１】
ここまで、図１を用いて将来応答と下限値を修正する例で説明したが、この逆の場合、すなわち、上限値と第１の修正将来応答との差が、上限値と修正前の将来応答との差よりも小さくなった場合についても、将来応答と上限値を同様に修正することで対応できる。また、この修正は上限、下限のうち、第１の修正将来応答との差が修正前の将来応答との差より小さくなった方だけ行えばよい。第１の修正将来応答との差が修正前の将来応答との差よりも大きくなった方については、同様に修正することで、制御変数が制約を維持するという観点では性能が向上する可能性があるが、修正を行わなくても構わない。
【００７２】
操作変数演算部１０７は、制御変数の変化量が相対制約修正部１０６より出力される第２の修正将来応答、修正上限値および修正下限値によって決まる範囲となる条件で、第１の応答予測修正部１０３より出力された修正将来応答が目標値軌道に近づくように制御対象プロセス１２０が将来用いる操作変数を算出して制御対象プロセス１２０に出力する。例えば、操作変数演算部１０７は、以下の目的に沿って、制御対象プロセス１２０に今後与える操作変数の時系列を算出する。
【００７３】
・操作変数，操作変数の変化量，制御変数が、与えられた上限および下限の外に逸脱しない。
・制御変数の応答は、与えられた目標値軌道に可能な範囲で近づける。
・操作変数の変化量は、可能な範囲で小さくする。
【００７４】
制御対象プロセス１２０に対して出力される（制御対象プロセス１２０が入力する）操作変数の時系列をｕ（ｋ）とすると、上述した目的に沿って、操作変数演算部１０７は、最適な操作変数の変化量「Δｕ（ｋ），Δｕ（ｋ＋１），・・・，Δｕ（ｋ＋Ｈｃ）」を求める問題を、二次計画法として以下の式（５）に示すように定式化する。
【００７５】
【数５】
2014096091.tif 000007
【００７６】
Δｕ（ｋ）は、ｕ（ｋ）の後退差分であり、「Δｕ（ｋ）＝ｕ（ｋ）−ｕ（ｋ−１）」で定義する。Δｕ（ｋ）の系列が求まれば、１周期前の制御の操作変数ｕ（ｋ−１）に、求められたΔｕ（ｋ）を加算することで、ｕ（ｋ）の系列が求まる。
【００７７】
ところで、式（５）の最後の式を変形すると、以下の式（６）のようになる。この式（６）が示すように、修正下限値と第２の修正将来応答、修正上限値と第２の修正将来応答の差は、それぞれ制御変数の変化量に対する上下限値となる。すなわち、相対制約修正部での操作は制御変数の変化量に対する上下限値を修正していることと等価である。
【００７８】
【数６】
2014096091.tif 000008
【００７９】
次に、本発明の実施の形態１におけるモデル予測制御装置の動作（モデル予測制御方法）について、図３のフローチャートを用いて説明する。
【００８０】
まず、ステップＳ１０１で、制御対象プロセス１２０が将来出力する（将来出力するものとして算出される）制御変数の上限値および下限値を制約条件設定部１０５に設定する。これにより、制約条件設定部１０５が、制御対象プロセス１２０が将来出力する制御変数の上限値および下限値を記憶する（制約条件設定ステップ）。次に、ステップＳ１０２で、目標値軌道生成部１０４が、制御対象プロセス１２０が将来出力する望ましい値の時系列からなる制御変数の目標値軌道を生成して出力する（目標値軌道生成ステップ）。
【００８１】
次に、ステップＳ１０３で、データ収集部１０１が、制御対象プロセス１２０が制御に用いた操作変数，制御対象プロセス１２０が出力する制御変数，および外乱情報を収集する（データ収集ステップ）。次いで、ステップＳ１０４で、応答予測生成部１０２が、データ収集部１０１が収集した制御変数，操作変数，および外乱情報を含むデータに基づいて制御対象プロセス１２０が将来出力する制御変数を予測して将来応答として出力する（応答予測生成ステップ）。
【００８２】
次に、ステップＳ１０５で、応答予測生成部１０２が出力した将来応答の時系列変化における外乱の影響をなだらかな変化に修正した第１の修正将来応答を生成する（応答予測修正ステップ）。次に、ステップＳ１０６で、相対制約修正部１０６が、応答予測生成部１０２が出力した将来応答と第１の応答予測修正部１０３が出力した第１の修正将来応答の少なくとも一方に基づいて、応答予測生成部１０２から出力された将来応答を修正した第２の修正将来応答と、制約条件設定部１０５に設定されている上限値および下限値を修正した修正上限値および修正下限値とを算出して出力する（相対制約修正ステップ）。このとき、相対制約修正部１０６は、第２の修正将来応答と修正上限値および修正下限値との関係が、将来応答と上限値および下限値との関係に対応する状態となるように、修正上限値および修正下限値を算出する。
【００８３】
次に、ステップＳ１０７で、操作変数演算部１０７が、第１の応答予測修正部１０３より出力された修正将来応答が目標値軌道に近づくように制御対象プロセス１２０が将来用いる操作変数を算出する（操作変数演算ステップ）。制御変数が相対制約修正部１０６より出力された第２の修正将来応答，修正上限値および修正下限値の範囲となる条件で、上記算出を行う。この後、ステップＳ１０８で、操作変数演算部１０７が、算出した操作変数を制御対象プロセス１２０に対して出力する。
【００８４】
このように、実施の形態１によれば、応答予測生成部１０２が出力した将来応答と第１の応答予測修正部１０３が出力した第１の修正将来応答の修正量に基づいて、第２の修正将来応答と修正上限値および修正下限値との関係が、修正する前の将来応答と上限値および下限値との関係に対応する状態とした。この結果、外乱の影響を考慮した応答予測を修正し、制御変数の応答予測をより緩やかに変化するように求めても、操作変数の変化量が増大するなどの制御性能の劣化が抑制できるようになる。
【００８５】
なお、モデル予測制御装置は、例えば、ＣＰＵと主記憶装置と外部記憶装置とネットワーク接続装置となどを備えたコンピュータ機器であり、主記憶装置に展開されたプログラムによりＣＰＵが動作することで、上述した各機能が実現される。また、各機能は、複数のコンピュータ機器に分散させるようにしてもよい。
【００８６】
［実施の形態２］
次に、本発明の実施の形態２について図４を用いて説明する。図４は、本発明の実施の形態２におけるモデル予測制御装置２００の構成を示す構成図である。モデル予測制御装置２００は、データ収集部１０１，応答予測生成部１０２，第１の応答予測修正部１０３，目標値軌道生成部１０４，制約条件設定部１０５，および操作変数演算部１０７を備える。また、モデル予測制御装置２００は、相対制約修正部２０６を備え、相対制約修正部２０６は、制約条件を修正する制約修正部２６１を備える。
【００８７】
実施の形態２では、前述した実施の形態１とは、相対制約修正部２０６が異なる。相対制約修正部２０６では、制約修正部２６１が上下限制約のみを修正し、前述した実施の形態１における第２の修正将来応答として第１の修正将来応答をそのまま出力する。このように、実施の形態２では、第１の修正将来応答と第２の修正将来応答とが同一であり、以下では、単に修正将来応答と記す。また、実施の形態２では、前述した実施の形態１とは相対制約修正部２０６，制約修正部２６１が異なるので、これらについて詳細に説明し、他の構成については説明を省略する。
【００８８】
相対制約修正部２０６（制約修正部２６１）は、修正将来応答と修正上限値および修正下限値との関係が、修正前の将来応答と上限値および下限値と対応するように、修正上限値および修正下限値を算出する。また、実施の形態１と同様に、修正将来応答と修正上限値および修正下限値との差は、少なくとも、修正将来応答と上限値および下限値の差より大きくなるようにする必要がある。
【００８９】
例えば、制約修正部２６１は、「ｙ*ｆ（ｋ＋ｉ）＋Δｙ（ｋ＋ｉ）≧ｙＬ（ｋ＋ｉ）」を「ｙ*ｆ（ｋ＋ｉ）＋Δｙ（ｋ＋ｉ）≧ｙＬ（ｋ＋ｉ）−α（ｉ）ｍａｘ｛０，ｙｆ（ｋ＋ｉ）−ｙ*ｆ（ｋ＋１）｝」と修正する。この結果、修正下限値はｙＬ（ｋ＋ｉ）−α（ｉ）ｍａｘ｛０，ｙｆ（ｋ＋ｉ）−ｙ*ｆ（ｋ＋ｉ）｝となる。
【００９０】
また、制約修正部２６１は、「ｙ*ｆ（ｋ＋ｉ）＋Δｙ（ｋ＋ｉ）≦ｙＨ（ｋ＋ｉ）」を、「ｙ*ｆ（ｋ＋ｉ）＋Δｙ（ｋ＋ｉ）≦ｙＨ（ｋ＋ｉ）＋β（ｉ）ｍａｘ｛０，ｙ*ｆ（ｋ＋ｉ）−ｙｆ（ｋ＋１）｝」と修正する。この結果、修正下限値は、ｙＨ（ｋ＋ｉ）＋β（ｉ）ｍａｘ｛０，ｙ*ｆ（ｋ＋ｉ）−ｙｆ（ｋ＋ｉ）｝となる。なお、ｍａｘ｛ａ，ｂ｝は、ａとｂの最大値（大きい方の値）を取る操作であり、α（ｉ），β（ｉ）は、α（ｉ）＞０，β（ｉ）＞０を満たすものとする。なお、操作変数に対する制約の修正は必要がない。
【００９１】
上述したように修正する場合、α（ｉ）およびβ（ｉ）は、共に正であり、ｍａｘ｛｝の中は必ず０以上になるので、修正上限値または修正下限値のいずれかと修正将来応答との差が、修正しない場合に比較して必ず広くなる。また、ｙｆ（ｋ＋ｉ）＞ｙ*ｆ（ｋ＋ｉ）であれば下限が広がり、ｙｆ（ｋ＋ｉ）＜ｙ*ｆ（ｋ＋ｉ）であれば上限が広がるので、将来応答を修正したことによって許容範囲が狭くなった側を広げることになる。なお、許容範囲が狭くなった側と反対側，言い換えると許容範囲が広くなった側の制約を同様に広げることも可能であるが、この操作はしなくてもよい。
【００９２】
次に、α（ｉ）およびβ（ｉ）について説明する。α（ｉ）およびβ（ｉ）の値は、０にすると、緩和の効果が全くないので、必ず正の値にする必要がある。修正していない将来応答と上限値および下限値との差（本来の許容範囲）を確保するのであれば、α（ｉ）およびβ（ｉ）を共に１に設定すればよい。これが標準的な設定値である。α（ｉ）およびβ（ｉ）を０から１の間の値にすると、設定した値に応じて緩和の効果が得られるが、１に設定した場合よりも効果が小さくなる。
【００９３】
なお、α（ｉ）およびβ（ｉ）を１以上に設定することも可能である。これは、本来の許容範囲よりも広い許容範囲を設定することになるため、一時的に制御変数が上限値・下限値の制約を外れることを許容することになる。このような設定については、制御対象が将来用いる操作変数の算出過程における操作変数の動きを抑制する効果が期待できるが、一方で、制御変数の過渡応答を劣化させる恐れもあるので、注意が必要である。
【００９４】
α（ｉ）およびβ（ｉ）は、ｉに依存しない定数であってもよく、また、ｉに依存して変化させてもよい。例えば、ｉ＝１では値を大きくし、ｉが大きくなるにつれて徐々に値を０に近づけるようにしてもよい。このようにすることで、直近では許容範囲を広く取った上で、将来は徐々に許容範囲を狭くしていくといった設定が可能となる。また、α（ｉ）およびβ（ｉ）は、固定値でもよく、可調整パラメータとしてもよい。
【００９５】
また、α（ｉ）およびβ（ｉ）は、制御対象の特性によって変化させるようにしてもよい。例えば、観測可能な外乱から制御変数までのステップ応答に大きなオーバーシュートやアンダーシュートが含まれているような場合は、許容範囲が狭くなったことによる影響を、より受けやすくなる可能性がある。このような場合に該当することが制御対象の特性から予想される場合は、α（ｉ）およびβ（ｉ）を標準的な値（１）より大きくすることで、本発明による効果をより確実に得られるようになるものと考えられる。
【００９６】
次に、操作変数演算部１０７の動作についてより詳細に説明する。操作変数演算部１０７の動作は、制約修正部２６１により修正された修正上限値および修正下限値を用いる以外は、従来技術と同様であり、例えば、以下の式（７）に示す定式化した問題を用いる。
【００９７】
【数７】
2014096091.tif 000009
【００９８】
上述した問題を解くと、最適な操作変数変化量の時系列である「Δｕ（ｋ＋１），Δｕ（ｋ＋２），・・・，Δｕ（ｋ＋Ｈｃ）」が得られる。１制御周期前の操作変数値ｕ（ｋ−１）にΔｕ（ｋ）を足した「ｕ（ｋ−１）＋Δｕ（ｋ）」が、現制御周期の操作変数値として制御対象プロセス１２０に出力される。この動作は、一般的なモデル予測制御と同様である。
【００９９】
これらのことをまとめると、本発明は、データ収集部１０１と、応答予測生成部１０２と、第１の応答予測修正部１０３と、目標値軌道生成部１０４と、制約条件設定部１０５と、操作変数演算部１０７とによるモデル予測制御において、将来応答と上限値および下限値との関係に対応した状態の許容範囲で、修正将来応答が目標値軌道に近づくようにするところに特徴がある。
【０１００】
［実施の形態３］
次に、本発明の実施の形態３について図５を用いて説明する。図５は、本発明の実施の形態３におけるモデル予測制御装置３００の構成を示す構成図である。モデル予測制御装置３００は、データ収集部１０１，応答予測生成部１０２，第１の応答予測修正部１０３，目標値軌道生成部１０４，制約条件設定部１０５，および操作変数演算部１０７を備える。また、モデル予測制御装置３００は、相対制約修正部３０６を備え、相対制約修正部３０６は、制約条件を修正する制約修正部３６１を備える。
【０１０１】
実施の形態３では、相対制約修正部３０６（制約修正部３６１）における動作が、実施の形態２の相対制約修正部２０６と異なる。実施の形態３では、制約修正部３６１が、将来応答（第２の修正将来応答）と修正上限値および修正下限値との関係が、修正前の将来応答と上限値および下限値と対応するように、修正上限値および修正下限値を算出する。前述した実施の形態２との差異は、第２の修正将来応答として、修正前の将来応答をそのまま出力することである。他の構成は、前述した実施の形態と同様である。
【０１０２】
例えば、制約修正部３６１は、下限値ｙＬ（ｋ＋ｉ）をｙＬ（ｋ＋ｉ）−α（ｉ）ｍａｘ｛０，ｙｆ（ｋ＋ｉ）−ｙ*ｆ（ｋ＋ｉ）｝に修正する。また、制約修正部３６１は、上限値ｙＨ（ｋ＋ｉ）を、ｙＨ（ｋ＋ｉ）＋β（ｉ）ｍａｘ｛０，ｙ*ｆ（ｋ＋ｉ）−ｙｆ（ｋ＋１）｝に修正する。なお、α（ｉ），β（ｉ）の許容範囲が実施の形態２と異なることに注意を要する。α（ｉ），β（ｉ）はα（ｉ）＞−１，β（ｉ）＞−１を満たす必要がある。α（ｉ），β（ｉ）が−１の場合が、従来技術（相対制約修正部３０６が無い状態）に相当する。
【０１０３】
実施の形態３では、第２の修正将来応答と、制約修正部３６１で修正された制約は、操作変数演算部１０７に渡され、以下の式（８）で示される定式化により操作変数が算出される。
【０１０４】
【数８】
2014096091.tif 000010
【０１０５】
実施形態３の特別な例として、α（ｉ），β（ｉ）が０の場合がある。この場合は、第２の修正将来応答と修正上限値および修正下限値との関係が、自動的に将来応答と上限値および下限値との関係に一致する。また、第１の修正将来応答の値によって修正上限値、修正下限値が変わらないため、相対制約修正部３０６に送信する必要がない。この方法は相対制約修正部３０６の演算が単純になるという長所がある。ただし、α（ｉ），β（ｉ）が固定となるため、制御の振舞いを細かく調整することはできなくなる。
【０１０６】
［実施の形態４］
次に、本発明の実施の形態４について図６を用いて説明する。図６は、本発明の実施の形態４におけるモデル予測制御装置４００の構成を示す構成図である。モデル予測制御装置４００は、データ収集部１０１，応答予測生成部１０２，第１の応答予測修正部１０３，目標値軌道生成部１０４，制約条件設定部１０５，および操作変数演算部１０７を備える。また、モデル予測制御装置４００は、相対制約修正部４０６を備え、相対制約修正部４０６は、応答予測を修正する第２の応答予測修正部４６２を備える。
【０１０７】
実施の形態４では、相対制約修正部４０６が、修正上限値および修正下限値として、上限値および下限値をそのまま出力する。以下、相対制約修正部４０６の演算について説明する。
【０１０８】
実施の形態２で示した上下限値修正の式は、右辺から左辺に移項すると、計算上はそれぞれ、「ｙ*ｆ（ｋ＋ｉ）＋α（ｉ）ｍａｘ｛０，ｙｆ（ｋ＋ｉ）−ｙ*ｆ（ｋ＋１）｝＋Δｙ（ｋ＋ｉ）≧ｙＬ（ｋ＋ｉ）」および「ｙ*ｆ（ｋ＋ｉ）−β（ｉ）ｍａｘ｛０，ｙ*ｆ（ｋ＋ｉ）−ｙｆ（ｋ＋ｉ）｝＋Δｙ（ｋ＋ｉ）≦ｙＨ（ｋ＋ｉ）」となる。これは、上限値および下限値を修正するのではなく、将来応答（第１修正将来応答）のみを修正したものと解釈できる。従って、例えば、操作変数演算部１０７において、修正将来応答と上限値および下限値との関係が、将来応答と上限値および下限値との関係に対応する状態に修正した修正将来応答を用いて操作変数を算出するようにしてもよい。
【０１０９】
すなわち、第２の修正将来応答として、ｙｆ（ｋ＋ｉ）＞ｙ*ｆ（ｋ＋ｉ）となるｉについてはｙ*ｆ（ｋ＋ｉ）＋α（ｉ）｛ｙｆ（ｋ＋ｉ）−ｙ*ｆ（ｋ＋１）｝を、ｙｆ（ｋ＋ｉ）＜ｙ*ｆ（ｋ＋１）となるｉについてはｙ*ｆ（ｋ＋ｉ）−β（ｉ）｛ｙ*ｆ（ｋ＋ｉ）−ｙｆ（ｋ＋ｉ）｝を出力する。ｙｆ（ｋ＋ｉ）とｙ*ｆ（ｋ＋ｉ）が同じとなるｉについては、ｙ*ｆ（ｋ＋ｉ）をそのまま出力する。
【０１１０】
なお、実施形態４の場合は、修正将来応答と上下限値の間隔を広げた方と反対側については、第２の修正将来応答と上下限値の間隔が狭くなることになる。これは、上下限値を修正しないことによる。場合によってはこのことが制御性能劣化の要因となりうるので、注意を要する。
【０１１１】
この結果、本発明によれば、外乱の影響を考慮した応答予測を修正し、制御変数の応答予測をより緩やかに変化するように求めても、操作変数の変化量が増大するなどの制御性能の劣化が抑制できるようになる。
【０１１２】
なお、本発明は以上に説明した実施の形態に限定されるものではなく、本発明の技術的思想内で、当分野において通常の知識を有する者により、多くの変形および組み合わせが実施可能であることは明白である。例えば、上述した実施の形態では、１入力１出力系を例に説明したが、これに限るものではなく、制約修正部の処理（演算）を制御変数毎に行うようにすれば、本発明を多入力多出力系に適用することができる。
【符号の説明】
【０１１３】
１０１…データ収集部、１０２…応答予測生成部、１０３…第１の応答予測修正部、１０４…目標値軌道生成部、１０５…制約条件設定部、１０６…相対制約修正部、１０７…操作変数演算部、１２０…制御対象プロセス、１６１…制約修正部、１６２…第２の応答予測修正部。
【図１】
2014096091.tif 000011
【図２】
2014096091.tif 000012
【図３】
2014096091.tif 000013
【図４】
2014096091.tif 000014
【図５】
2014096091.tif 000015
【図６】
2014096091.tif 000016
【図７】
2014096091.tif 000017
【図８】
2014096091.tif 000018
【図９】
2014096091.tif 000019
【図１０】
2014096091.tif 000020