(57)【特許請求の範囲】
【請求項１】
目標値と制御対象からの制御量検出値とを入力し、少なくとも制御量制約を含む任意の制約を満たすことを条件とする制約付き最適化計算を行って、前記制御量検出値の目標値追従の為の操作量を算出して該操作量を前記制御対象へ出力するモデル予測制御装置であって、
前記制約付き最適化計算を行った結果、制約を満たす解が存在しなかった場合、前記制御量制約を任意の制約緩和量により緩和して、該緩和後の制御量制約により前記制約付き最適化計算を実行させる制約緩和手段と、
前記制御量制約の緩和中の状態であるか否かを判定し、緩和中である場合には、所定の制約復帰条件を満たすか否か判定し、該制約復帰条件を満たす場合には前記制約緩和量を減少させることで制御量制約を復帰させ、該復帰後の制御量制約により前記制約付き最適化計算を実行させる制約復帰手段とを有し、
前記制御対象からの制御量検出値が前記制約緩和量を減少させた制御量制約を満たす場合に、前記所定の制約復帰条件を満たすと判定することを特徴とするモデル予測制御装置。
【請求項２】
前記制約復帰手段は、前記緩和後の制御量制約を段階的に復帰させて元の制御量制約へ戻すことを特徴とする請求項１記載のモデル予測制御装置。
【請求項３】
前記緩和中の状態における制御量制約は、制約緩和レベルを用いた段階的状態として管理し、前記制御量制約の緩和の際には前記制約緩和レベルを上げ、前記復帰の際には前記制約緩和レベルを下げることを特徴とする請求項１または２記載のモデル予測制御装置。
【請求項４】
前記復帰の際、前記制約緩和レベルを複数レベル下げても前記制約復帰条件を満たす場合であっても、前記制約緩和レベルを一レベルのみ下げることを特徴とする請求項３記載のモデル予測制御装置。
【請求項５】
前記復帰の際、前記制約緩和レベルを前記制約復帰条件を満たす最小のレベルまで下げることを特徴とする請求項３記載のモデル予測制御装置。
【請求項６】
目標値と制御対象からの制御量検出値とを入力し、少なくとも制御量制約を含む任意の制約を満たすことを条件とする制約付き最適化計算を行って、前記制御量検出値の目標値追従の為の操作量を算出して該操作量を前記制御対象へ出力するモデル予測制御装置のコンピュータを、
前記制約付き最適化計算を行った結果、制約を満たす解が存在しなかった場合、前記制御量制約を任意の制約緩和量により緩和して、該緩和後の制御量制約により前記制約付き最適化計算を実行させる制約緩和手段と、
前記制御量制約の緩和中の状態であるか否かを判定し、緩和中である場合には、前記制御対象からの制御量検出値が前記制約緩和量を減少させた制御量制約を満たすか否かによって所定の制約復帰条件を満たすか否か判定し、該制約復帰条件を満たす場合には前記制約緩和量を減少させることで制御量制約を復帰させ、該復帰後の制御量制約により前記制約付き最適化計算を実行させる制約復帰手段、
として機能させる為のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御量の目標値追従を操作量や制御量に関する制約を考慮した上で実現する制約付きモデル予測制御方法および装置に関する。
【背景技術】
【０００２】
実制御対象にはアクチュエータの定格や飽和特性に起因する操作量制約や制御対象の可動範囲や障害物などに起因する制御量制約が存在する場合がほとんどである。モデル予測制御は、これらの制約を満たしながら、制御対象のモデルを用いて制御偏差と操作量変化量の未来値からなる目的関数を計算し、目的関数を最小化する意味で最適な操作量系列を制御周期毎に求めて制御をおこなうものであり、多くの応用例が報告されている。すなわち、モデル予測制御では制約付き最適化問題を繰り返し解く必要がある。
【０００３】
この最適化問題は通常、操作量変化量の系列に関する二次形式を、操作量変化量に関する線形不等式制約を満たす範囲で最適化する二次計画問題と呼ばれる最適化問題の求解に帰着し、解法として二次計画法が知られている。
【０００４】
しかし、制御対象に課せられた制約が厳しすぎたり、制御対象のモデル化誤差が大きい、外乱により制御が乱される、制御周期内に最適化問題が解けないといった理由により、操作量を決定できずに制御が破綻することがあり得る。
【０００５】
そこで、制約を満たす操作量（実行可能解）が存在しなかった場合に制約を緩和する方法（特許文献１，２）や、制約を緩和が許されるソフト制約として定式化する方法、制約が破られる時間を最小にする最小時間法（非特許文献１）等が知られている。
【特許文献１】特開平４−１５７０６号公報
【特許文献２】特開２００１−６７１０３号公報
【非特許文献１】システム/制御/情報、Vol．46、 No。11、 pp702-708 (2002)
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来の特許文献１等の方法では、制約を満足する最適操作量が得られなかった場合に、制約緩和の方法として、予測区間長を減らす、操作量に関する重み係数を変える、制御量の上下限値を緩める、制御量の目標値変化を緩やかにする等して、準最適解を求めることが提案されている。
【０００７】
しかし、ここでは、制約緩和については概略の方法が示されているのみで、制約の復帰については言及されていない。制約緩和が行われた後、次回の処理において、本来設定されている制約にまで制約をリセットして最適化を実施し直すとすれば、前回に制約緩和が必要だったことから、その時点においても制約が厳しすぎて制約の緩和が再度必要になる場合が多い。この場合、制約をリセットして制約付き最適化処理を行い、実行可能解無しとなることから、再び制約緩和を行ったうえで再度、制約付き最適化処理を行うことになる。これは、特に制約の逸脱が大きい状態で顕著であり、制約の緩和回数が増えて制約付き最適化処理の頻度が大きくなるので、多くの実行時間を要し、実行時間オーバを起こす可能性も高くなり危険である。特に制約付き最適化処理は、計算負荷が大きく、時間を要するため、制約付き最適化処理の頻度が大きくなることは望ましくない。
【０００８】
その一方で、制約緩和はあくまでも一時的な措置であり、制約緩和状態が長時間続くことは望ましくなく、出来るだけ早く本来の設定値に戻すことが望まれる。すなわち、本来の制約をできるだけ守るようにすることが望まれる。
【０００９】
本発明の課題は、制約の緩和が再度必要になることで制約付き最適化処理の頻度が大きくなり多くの実行時間を要するという事態が生じる可能性を低くできるモデル予測制御装置、プログラム等を提供することである。
【課題を解決するための手段】
【００１０】
本発明のモデル予測制御装置は、目標値と制御対象からの制御量検出値とを入力し、少なくとも制御量制約を含む任意の制約を満たすことを条件とする制約付き最適化計算を行って、前記制御量の目標値追従の為の操作量を算出して該操作量を前記制御対象へ出力するモデル予測制御装置であって、前記制約付き最適化計算を行った結果、制約を満たす解が存在しなかった場合、前記制御量制約を任意の制約緩和量により緩和して、該緩和後の制御量制約により前記制約付き最適化計算を実行させる制約緩和手段と、前記制御量制約の緩和中の状態であるか否かを判定し、緩和中である場合には、所定の制約復帰条件を満たすか否か判定し、該制約復帰条件を満たす場合には前記制約緩和量を減少させることで制御量制約を復帰させ、該復帰後の制御量制約により前記制約付き最適化計算を実行させる制約復帰手段とを有する。
【００１１】
所定の制約復帰条件を満たさない限り制御量制約の復帰を行わないようにすることで、制約付き最適化計算において解なしとなる可能性を低くし、以って、制約の緩和が再度必要になる可能性を低くできる。これより、計算負荷が大きい制約付き最適化処理の頻度が大きくなることを防止し、実行時間増大を防止できる。
【００１２】
また、例えば、前記制約復帰手段は、前記緩和後の制御量制約を段階的に復帰させて元の制御量制約へ戻すようにしてもよい。
所定の制約復帰条件を満たす場合でも、制御量制約を直ちに本来の設定値に戻すことなく、本来の設定値に向けて段階的に復帰させることで、制約の緩和が再度必要になる可能性を更に低くできる。
【００１３】
また、例えば、前記制約復帰条件は、前記制御対象からの制御量検出値が前記制約緩和量を減少させた制御量制約を満たすことである。
また、例えば、前記緩和中の状態における制御量制約は、制約緩和レベルを用いた段階的状態として管理し、前記制御量制約の緩和の際には前記制約緩和レベルを上げ、前記復帰の際には前記制約緩和レベルを下げる。
【００１４】
そして、例えば、前記復帰の際、前記制約緩和レベルを複数レベル下げても前記制約復帰条件を満たす場合であっても、前記制約緩和レベルを一レベルのみ下げるようにしてもよい。これにより制約の緩和が再度必要になる可能性を低くできる。
【００１５】
あるいは、例えば、前記復帰の際、前記制約緩和レベルを前記制約復帰条件を満たす最小のレベルまで下げるようにしてもよい。所定の制約復帰条件を満たすことを前提に、出来るだけレベルを下げることで、制御量制約緩和中の状態を出来るだけ早く解消することを図る。
【発明の効果】
【００１６】
本発明のモデル予測制御装置、プログラム等によれば、制約の緩和が再度必要になることで制約付き最適化処理の頻度が大きくなり多くの実行時間を要するという事態が生じる可能性を低くできる。更に、本来の制約をできるだけ守るようにできる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明の実施の形態について説明する。
図１に、本例のモデル予測制御装置の概略構成図を示す。
図１において、モデル予測制御装置はＭＰＣ１１であり、このＭＰＣ１１が制御対象１２を制御する。ＭＰＣ（モデル予測制御器）１１は、制御対象１２から出力される制御量ｙを入力し、不図示の上位装置からの目標値θ＊の指令に応じて、少なくとも制御量制約を含む任意の制約を満たすことを条件とする制約付き最適化計算（制約付き最適化問題の求解処理）を行って制御量ｙを目標値θ＊に追従させる為の操作量ｕを算出して、この操作量ｕを制御対象１２へ出力する。制御対象１２はこの操作量ｕに応じた動作を行い、制御量ｙが出力される。
【００１８】
尚、図１では、一例として、上記上位装置からの目標値θ＊の指令が温度指令（所定の目標温度θ＊の指令）であり、これにより制御量ｙが制御対象１２の温度検出値である例を示している。この場合、ＭＰＣ１１は、制御対象１２の温度（制御量ｙ）が目標温度θ＊となるように、制御対象１２を制御することになる。この制御（モデル予測制御）の為に、ＭＰＣ１１は、上述した制約付き最適化問題の求解処理を行って、上記操作量ｕを求める。この制約付き最適化問題の求解処理自体は、上述した二次計画法等の既存の手法を用いればよく、ここでは特に説明しない。尚、この例の場合、制御量ｙは制御対象１２内の温度センサによる温度検出値となる。これより、制御量ｙを制御量検出値ｙと呼ぶ場合もある。
【００１９】
本手法の特徴は、制約付き最適化計算に用いる“制約”の緩和／復帰に係るものであり、ここでは特に制御量制約の緩和／復帰に係るものである。
図２は、上記ＭＰＣ１１の処理フローチャート図である。これは、モデル予測制御全体の処理フローチャートを示している。
【００２０】
ＭＰＣ（モデル予測制御器）１１は、ＣＰＵ等の演算プロセッサ、メモリ等の記憶部を有しており（不図示）、メモリ等に予め記憶されている所定のアプリケーションプログラムを、ＣＰＵ等が実行することにより、図２のフローチャートの処理や、後述する図３、図４、図５等のフローチャートの処理を実現する。また、ＭＰＣ（モデル予測制御器）１１は、ディスプレイを備えて、後述する図６の画面をディスプレイ上に表示してもよい。
【００２１】
図２の処理では、まず、前処理としてパラメータ入力処理を行う（ステップＳ１１）。このパラメータ入力処理は、制御対象のモデルや予測区間長、制御区間長、目的関数の重みなど、モデル予測制御で用いる各種パラメータを設定・入力する処理である。これは、例えば、ユーザが任意に設定・入力するものである。
【００２２】
その後、所定の制御周期毎の処理として、図示のステップＳ１２〜Ｓ１９の処理を繰り返し実行する。これは、基本的な処理の流れとしては、まず、制御量ｙ・目標値θ＊を入力し（ステップＳ１２）、この入力データと制約に応じた制約付き最適化処理を行い（ステップＳ１５）、この最適化処理結果として実行可能解が得られた場合には（ステップＳ１６，ＮＯ）、この実行可能解（操作量変化量Δｕ）に基づいて操作量今回値演算処理（ｕ＝ｕ＋Δｕ）を実行して（ステップＳ１８）求めた操作量ｕを出力する（ステップＳ１９）。これらの基本的な処理自体は、従来技術と略同様であってよい。
【００２３】
更に、場合によっては、上記ステップＳ１５の制約付き最適化処理で用いる“制約”の緩和処理（ステップＳ１７）、あるいは復帰処理（ステップＳ１４）を実行する。すなわち、ステップＳ１５の制約付き最適化処理の結果、実行可能解が無かった場合（ステップＳ１６，ＹＥＳ）、ステップＳ１７の制約緩和処理を実行する。また、ステップＳ１５の処理の前に、現在、制約緩和中の状態であるか否かを判定し（ステップＳ１３）、制約緩和中である場合には（ステップＳ１３，ＹＥＳ）、ステップＳ１４の制約復帰処理を実行する。この制約緩和、制約復帰に係る処理が、本手法のメインの特徴であり、後に詳細に説明する。
【００２４】
尚、ステップＳ１３の処理に関しては、例えば、制約のデフォルト値（本来の設定値：後述するyomax、yomin等）は分かっているので、現在の制約値≠デフォルト値である場合には、制約緩和中であると判定する。
【００２５】
上記ステップＳ１２の制御量・目標値入力処理は、センサ等で検出される制御量ｙ、および上記上位装置等からの目標値を入力する処理である。尚、目標値は、基本的に、その目標値に対する制御が完了するまで（制御量ｙがほぼ目標値に達するまで）は、変化しないものと考えてよい。
【００２６】
また、ステップＳ１５の制約付き最適化処理は、二次計画法に代表される制約付きの最適化処理である。ステップＳ１８の操作量今回値演算処理は、最適化処理にて算出された操作量変化量Δuを前回の操作量ｕに加算することで、操作量ｕの今回値を計算する処理である。そして、この操作量ｕの今回値を上記の通り制御対象１２へ出力する。上述したように、これらの処理自体は、従来技術と略同様であってよい。
【００２７】
上記制約緩和処理（Ｓ１７）と制約復帰処理（Ｓ１４）は、“制約”（制約値）の管理に関する処理である。制約緩和処理は、上記の通り、制約付き最適化処理において実行可能解が存在しなかった場合に実施する。制約は、一般に、操作量に関する制約と制御量に関する制約がある。操作量に関する制約はハード制約であり緩和が許されない。その一方で制御量に関する制約は多少の逸脱は許される。
【００２８】
上記の通り、制約緩和の方法としては、例えば上記特許文献１記載の様々な方法があるが、ここでは制御量ｙの上下限値を緩めるものとする。すなわち、ここでは、緩和の対象とするのは制御量制約（その上限値、下限値）であり、制御量下限値（下限制約）をymin、制御量上限値（上限制約）をymaxとすると、制御量制約は、
ymin≦ｙ≦ymax
と表される。このとき、制約緩和処理は、上限制約の緩和量をΔymax1（≧0）、下限制約の緩和量をΔymin1（≧0）とすると、
ymax←ymax＋Δymax１
ymin←ymin−Δymin１
と表される。
【００２９】
制約復帰処理は、制約緩和処理とは逆で、緩和された制約を本来の設定値に向かって復帰させる為の処理であり、上限制約の復帰量をΔymax2（≧0）、下限制約の復帰量をΔymin2（≧0）とすると、
ymax←ymax−Δymax２
ymin←ymin＋Δymin２
と表される。
【００３０】
ここで、上限制約を例にすると、緩和処理でのΔymax1と復帰処理でのΔymax2とは同じ値としてもよいが、後述する段階的な復帰処理を行う場合には、異なる値とし且つ少なくともΔymax1＞Δymax2との条件を満たす必要がある。例えばΔymax1／２＝Δymax2とした場合には、２段階の復帰処理が行われるようになる。これは、Δyminについても同様である。
【００３１】
尚、制約緩和中の状態における現在の制御量制約は「本来の設定値±制約緩和量」と表すこともできる。この制約緩和量は、上記Δymax1等自体を意味するのではなく、トータルの意味となる。例えば、上限制約を例にして、制約緩和処理を１回、制約復帰処理を２回行ったとすると、「Δymax１−Δymax２−Δymax２」が上記制約緩和量を意味するものとなり、上限制約の場合は現在の制御量制約は「本来の設定値＋制約緩和量」と表わされる。
【００３２】
これより、制約緩和処理は制約緩和量を増加させる処理、制約復帰処理は制約緩和量を減少させる処理であるとも言える。
ステップＳ１４の制約復帰処理は、制約緩和中の状態、すなわち、現在の制御量制約が本来の設定値より緩和されている状態である場合に実行される。制約復帰処理では、基本的に、例えば図３に示すように、所定の制約復帰条件が満たされているか否かを判定し、満足されていれば上記復帰量を用いた制約復帰（新たな制御量制約の算出；当然、新たな制御量制約は、少なくとも、現在の制御量制約に比べて本来の設定値に近い値となる）が実行される。
【００３３】
制約復帰が実行された後に、復帰後の制御量制約を用いてステップＳ１５の制約付き最適化処理が実行され、実行可能解が存在するかどうか判断がおこなわれ、解である操作量変化量Δuが存在すれば、その解をもとに操作量ｕの今回値が求められ制御対象１２に出力される。
【００３４】
解が存在しなければ再度の制約緩和処理がおこなわれ、再度、制約付き最適化処理が実施される。制約付き最適化処理は計算負荷が大きく、時間を要するため、最適化処理の実施頻度を下げることが望ましい。
【００３５】
上記制約復帰条件の一例として、ここでは、実行可能解が得られる可能性をより高める制約復帰条件として、制御量検出値yが制約復帰を試みる狭められた制御量制約y’max（≦ymax）、y’min（≧ymin）を満足しているか否か（ymax、 yminは現在の制約状態を示す上下限制約値）、つまり、
y’min≦ｙ≦y’max      ・・・（１）式
が満足されているか否かを制約復帰条件とする。そして、この（１）式の条件が満足されていればその制御量制約y’max、y’minまで制約緩和量を復帰させる。すなわち、当該y’max、y’minを、新たな制御量制約ymax、yminとする。
【００３６】
尚、上記y’max、y’minの値は、後述する一例のように制約緩和レベルLrlxに基づいて決定してもよいが、この例に限るものではなく、任意の値を用いてよい（但し、当然、上記の通り、現在よりも制約を狭めた値とする必要はある）。
【００３７】
以下、制御量制約の緩和、復帰に係る緩和量、復帰量の決定の仕方の一例について説明する。
ここでの一例では、制御量制約を制約緩和単位量Δyrlx≧0と非負の整数値0、1、2、…をとる制約緩和レベルLrlx、及び制御量制約の本来の設定値（制約上限yomax、制約下限yomin）を用いて
ymax＝yomax＋Lrlx・Δyrlx
ymin＝yomin−Lrlx・Δyrlx      ・・・（２）式
のように表す。すると、制御量制約は制約緩和レベルLrlxという段階的状態によって一意に定まり、管理することができる。ここで、Lrlx＝０であれば、制御量制約は本来の設定値であることになる。例えばm、 nを正の整数として（基本的にはｍ≧ｎ）、
制約緩和処理時は、
Lrlx←Lrlx＋ｍ      ・・・（３）式
として制約緩和レベルを上げて制約を緩和させ、
制約緩和中の状態であれば、制約復帰処理時に、
Lrlx←Lrlx−ｎ    ・・・  （４）式
として制約緩和レベルを下げて制約を復帰させることができる。
【００３８】
但し、制約を復帰させるには、上記制約復帰条件が満たされている必要がある。例えば、上記（４）式により算出した新たな制約緩和レベルLrlxを用いて上記（２）式を演算して新たな制御量制約ymax、yminを求める。そして、これらymax、yminを上記（１）式における制御量制約y’max、y’minとして、制御量検出値yが（１）式の条件を満たすか否かを判定する。そして、（１）式の条件が満たされる場合のみ、制約を復帰させる。
【００３９】
尚、復帰後の新たな制約値（上下限制約値ymax、ymin）は、上記（２）式を演算して求めた新たな制御量制約ymax、ymin用いても良いが、この例に限らず、例えばｎ≧２の場合であっても、制約緩和レベルは１段だけ下げる（ｎ＝１として新たな制約値を算出）ようにしてもよい。
【００４０】
なお、制約緩和量を非線形に増加させたい場合は
ymax＝yomax＋Lrlx２・Δyrlx
ymin＝yomin−Lrlx２・Δyrlx
としてもよい。
【００４１】
このように、制約緩和処理または制約復帰処理において制約緩和レベルLrlxを変更することで制御量制約値を変更してから、制約付き最適化処理を試みる。
以下、上記ステップＳ１４の制約復帰処理について、図３〜図５を参照して、詳細に説明する。図３〜図５は制約復帰処理に関する各実施例のフローチャート図であり、図３は実施例１、図４は実施例２、図５は実施例３のフローチャート図である。
【００４２】
図３〜図５の処理は、何れも、図１のステップＳ１３の判定がＹＥＳとなった場合、すなわち現状が制約緩和中であると判定された場合に実行されるが、ここでは、上述した制約緩和レベルLrlxを用いる場合を例にするものとし、この場合には、現在の制約緩和レベルLrlxについて、
Lrlx＞０
が満たされれば、制約緩和中と判断する。
【００４３】
以下、まず、図３を参照して、実施例１における制約復帰処理について説明する。
図３の処理では、まず、現在の制御量検出値ｙが特定の制約復帰条件を満たすかどうかを判断する（ステップＳ２１）。
【００４４】
制約復帰条件は、基本的には上述した（１）式であり、ここでは、上記（４）式により算出した新たな制約緩和レベルを用いて上記（２）式より制御量制約ymax、yminを算出して、これらを上記（１）式におけるy’min，ｙ’maxとして現在の制御量検出値ｙが当該（１）式を満たすか否かを判定する。
【００４５】
実施例１では、後述するステップＳ２２のように一段復帰を行うものであるので、制約復帰条件は、基本的には、現在の制約状態から制約緩和レベルを一段復帰した制約状態が現在の制御量検出値ｙと整合していることを示す以下の不等式（５）
yomin−（Lrlx−１）Δyrlx≦ｙ≦yomax＋（Lrlx−１）Δyrlx      ・・・（５）
が満足されることである。
【００４６】
但し、この例に限らず、より厳しい制約復帰条件を課しても良い。例えばmを予め設定される正の実数として、
yomin−（Lrlx−（ｍ＋１））Δyrlx≦ｙ≦yomax＋（Lrlx−（ｍ＋１））Δyrlx
yomin−（Lrlx−（ｍ＋１））Δyrlx＜yomax＋（Lrlx−（ｍ＋１））Δyrlx
を課してもよい。
【００４７】
なお、二番目の不等式は制約復帰条件を厳しくしすぎてyが空集合となることを避けるものである。つまり、ｍの値を大きくし過ぎると、下限値＞上限値となる可能性がある為、これを避ける為のものである。
【００４８】
mが大きいことは、より厳しい制約復帰条件を意味している。よって、本復帰条件に基づいて一段の制約復帰をおこなうことは、mの大きさで表される、より厳しい制約条件が満たされているのにも係らず、制約緩和レベルは一段しか復帰しないことになる。つまりmで表される余裕を持って復帰することを意味している。
【００４９】
尚、後述する実施例２でも上述する制約復帰条件を用いてよい。
もし、制約復帰条件を満たすのであれば（ステップＳ２１，ＹＥＳ）、制約緩和レベルを一段復帰させて（上記（４）式におけるｎをｎ＝１として新たな制約緩和レベルを求めて）、この制約緩和レベルを用いて上記（２）式により制御量制約値を求めて処理を終える（ステップＳ２２）。制約復帰条件を満たされなければ（ステップＳ２１，ＮＯ）、無処理で現在の制約緩和レベルを保持したまま処理を終える。
【００５０】
上記のように、実施例１では、制約緩和レベルを１段ずつ下げるようにしている。これによって、実行可能解なし（ステップＳ１６でＹＥＳ）となる可能性を低くすることができる。この効果は特に上記「mで表される余裕を持って復帰する」手法において顕著な効果が得られる。
【００５１】
これに対して、制約緩和中の状態を出来るだけ早く解消して元の状態に戻す（本来の設定値yomax、yominに復帰させる）ことが望ましい場合もある。
これより、以下に説明する実施例２では、制約復帰条件を満たしながら出来るだけ多く制約緩和レベルを下げるようにすることで、制約緩和状態を出来るだけ早く解消して元の状態に戻すようにする。
【００５２】
以下、図４を参照して、実施例２における制約復帰処理について説明する。
図４において、現在の制御量検出値yが所定の制約復帰条件を満たすか否かを判定する（ステップＳ３１）。ここでは例えば、制約緩和レベルを現状から１段下げても上記（１）式が満たされることを、制約復帰条件とする。上記“現状”とは、最初の処理では現在の制約緩和レベルを意味するが、例えば２回目の処理では現在の制約緩和レベルから１段下げたレベルを意味する。
【００５３】
そして、制約復帰条件が満たされる場合には（ステップＳ３１，ＹＥＳ）、制約緩和レベルを１段復帰させてから（ステップＳ３２）ステップＳ３１に戻り、制約緩和レベルを更に１段下げることが出来るか否かを判定する（つまり、制約緩和レベルを更に１段下げても上記（１）式が満たされるか否かを判定する）。
【００５４】
但し、上記ステップＳ３２によって制約緩和レベルを１段復帰させた結果、制約緩和レベルが‘０’となった場合には（ステップＳ３３、ＹＥＳ）、本処理は終了する。制約緩和レベルが‘０’ではない場合のみ（ステップＳ３３、ＮＯ）、上記のようにステップＳ３１に戻る。制約緩和レベルが‘０’になれば本来設定された制約に戻っていることを意味するので、これ以上の制約復帰は不要であるからである。
【００５５】
上記のように、制約緩和レベルが‘０’になるか、あるいは制約復帰条件が満たされなくなるまで、制約緩和レベルの一段復帰を繰り返すループ処理を実行することにより、制約復帰条件を満たしながら制約緩和レベルを出来るだけ多く復帰させることができる。
【００５６】
例えば、一例としては、仮に制約緩和レベルが‘４’の状態で図４の処理を開始したものとし、制約緩和レベルを‘４’→‘３’→‘２’というように１段ずつ復帰させることができたが、制約緩和レベルLrlx＝‘１’により（２）式を演算して（１）式による判定を行った結果、制約復帰条件を満たさないと判定された場合には、図４の処理結果は制約緩和レベルLrlx＝‘２’となり、これに応じた新たな制御量制約ymax、yminが設定されることになる。
【００５７】
以下、図５を参照して、実施例３における制約復帰処理について説明する。
図５の処理は、実施例１と実施例２を選択して実現できるようにしたものである。ここでは、実施例１を一段復帰モード、実施例２を多段復帰モードとし、どちらのモードを用いるかを予めユーザ等が手動で設定するものとする。そして、一段復帰モードが選択された場合には、一段復帰モードの設定フラグが有効となっているものとする。
【００５８】
図５の処理では、制約復帰条件を満たすか否かを判定し（ステップＳ４１）、制約復帰条件が満たされる場合には（ステップＳ４１，ＹＥＳ）、制約緩和レベルを１段復帰させる（ステップＳ４２）。このステップＳ４１，Ｓ４２の処理は、上記ステップＳ３１，Ｓ３２の処理と同様であってよく、特に説明しない。
【００５９】
本例では、上記ステップＳ４２に続いて、モードが一段復帰モードか多段復帰モードかを判定する（ステップＳ４３）。これは、上記一段復帰モードの設定フラグを参照してこれが有効である場合には一段復帰モードと判定し（ステップＳ４３，ＹＥＳ）、本処理を終了する。つまり、制約緩和レベルを１段だけ復帰させて処理終了する。
【００６０】
一方、モードが多段復帰モードである場合には（ステップＳ４３，ＮＯ）、ステップＳ４４へ進む。ステップＳ４４は、上記ステップＳ３３と同じであり、制約緩和レベルが‘０’ならば処理を終了し、‘０’ではない（制約緩和レベル＞０）ならばステップＳ４１に戻って更にもう一段の復帰が可能か否かを判定する。
【００６１】
図６は、現在の制約緩和状態を表示する制約ステイタス表示画面例である。
図示の例の制約ステイタス表示画面２０では、制約の有／無、制御量制約の上下限の現在値、及び現在の制約緩和レベルを表示するようにしている。これにより、ユーザは、現在の制約緩和状態を容易に把握できるようになる。
【００６２】
以上、上記実施例は本発明の好適な実施例の一例であり、実施例はこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形が可能である。例えば、図３〜図５の処理において、制約緩和レベルを直接操作せずにワーク変数を操作し、変数が確定してから制約緩和レベルにワーク変数を書き込んでもよい。
【００６３】
上述した本手法により、以下の効果が得られる。
従来の制約付きのモデル予測制御では、制約緩和動作は考えられているが制約復帰動作が考慮されていないため、特に制約の逸脱が大きい状態で制約緩和や制約付き最適化計算の頻度が増加して、実行時間オーバの可能性が高くなっていた。これに対して、本手法では、緩和されている制約を本来設定されている値に無条件で直ちにリセットするようなことはせずに、少なくとも特定の制約復帰条件を満たさなければ制約復帰は認めないようにしている。そして、更に、緩和された制約を徐々に本来の制約に復帰させる処理を導入する。さらに制約を制約緩和レベルという段階的な状態量として扱うことで、復帰処理のロジックを作りやすくする。
【００６４】
これらにより制御対象の状態に応じて制約が無理なく推移するので、制約緩和の頻度（制約付き最適化処理の頻度）を低減できることから、実行時間が短縮され、かつ本来の制約をできるだけ守るように制御できるという効果を奏する。 
【００６５】
また、制御量検出値を利用した簡明な復帰条件を用いていることにより、制御演算負荷の低減という効果も得られる。
また、復帰処理に一段復帰や可能なだけ復帰といったバリエーションを設け、これらを使い分けることや、制約緩和量を設定できること、復帰条件に余裕項を設けたことは復帰の確度を調整しやすいという効果を奏する。 
【００６６】
さらに、制約緩和レベルという段階的状態を導入することによって、制御量制約が管理しやすくなり、これらをステイタス画面に表示すれば、オペレータに制御の状態をわかりやすく伝えることができるという効果も生じる。
【図面の簡単な説明】
【００６７】
【図１】本例のモデル予測制御装置の概略構成図である。
【図２】モデル予測制御全体の処理フローチャート図である。
【図３】実施例１における制約復帰処理のフローチャート図である。
【図４】実施例２における制約復帰処理のフローチャート図である。
【図５】実施例３における制約復帰処理のフローチャート図である。
【図６】制約ステイタス表示画面例である。
【符号の説明】
【００６８】
１１  ＭＰＣ
１２  制御対象
２０  制約ステイタス表示画面
【図１】
0005251269.tif 000002
【図２】
0005251269.tif 000003
【図３】
0005251269.tif 000004
【図４】
0005251269.tif 000005
【図５】
0005251269.tif 000006
【図６】
0005251269.tif 000007