(57)【要約】【課題】  モデル予測制御において、最適化演算の処理時間を短縮し、かつ演算精度の低下を抑える。【解決手段】  制御対象の動的モデルを用いて操作量の各変数について数値微分を行って微分値を求め、微分値を要素とするヤコビアン行列に基づいて評価点を移動させ、移動した評価点ごとに評価を行なって最適操作量を決定するモデル予測制御方法において、微分値を所定値と比較して（Ｓ１３）微分値が所定値より小さい場合、評価省略フラグをオンにする（Ｓ１４）。次回のヤコビアン行列作成プロセスでは微分値を０として、数値微分を省略できる。この場合、微分値を０とする数値微分ステップが終了すると評価省略フラグをオフにして（Ｓ１８）、その次の数値微分ステップでは数値微分を行なうようにすると、演算精度が向上する。【選択図】      図３
2006072723.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の動的モデルを用いた最適化演算による数値微分を行って操作量の各変数について微分値を求めるステップと、前記微分値を要素とするヤコビアン行列に基づいて評価点を移動させるステップと、移動した前記評価点ごとに最適化の評価を行なうステップとを繰り返して最適操作量を得るモデル予測制御方法であって、
前記微分値を所定値と比較する比較ステップを有し、該比較ステップにおいて前記微分値が前記所定値より小さい場合、当該微分について次回の数値微分ステップを省略して次回の微分値を０とすることを特徴とするモデル予測制御方法。
【請求項２】
さらに、前記数値微分ステップを省略して微分値を０とした後、所定回数の後には前記数値微分ステップと前記比較ステップとを再び実行することを特徴とする請求項１に記載のモデル予測制御方法。
【請求項３】
前記比較ステップの所定値は、前記制御対象に今回入力する変数についての微分値と比較する場合に最小の値であって、他の変数についての微分値と比較する場合はより大きな値であることを特徴とする請求項１又は２に記載のモデル予測制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデル予測制御方法に関し、特に、処理時間を短縮する予測制御方法に関する。
【背景技術】
【０００２】
モデル予測制御は、例えばプロセス制御の分野で従来から採用されており、制御対象の特性を記述した物理モデルである動特性モデルを用い、有限時間先までの制御量を予測し、制御性能を表わす評価式の値を最小化もしくは最大化するような最適操作量を決定するものである。実際の制御対象のモデルにより、未来の制御量の変化を予測できるので、他の制御に比較して制御量を目標である設定値に一致させる操作量を正確に求めることができる。したがって、高速制御を要求するシステムにおいても採用することが望まれている。
【０００３】
しかしながら、モデル予測制御における最適操作量の決定までには大量の計算が必要である。コンピュータの演算性能が向上しているとはいえ、最適化が必要な変数の多いシステムでは処理負荷が重くなり、時定数の短いシステムにおいてはリアルタイム処理ができない場合もあった。したがって、このようなシステムに用いるためには、最適化処理の時間の短縮が求められている。従来提案されている演算時間の高速化手法としては、制御量を変化の速いものと緩慢なものとにわけ、変化の速いものに対しては予測時刻の間引きを行なう手法が提案され（特許文献１参照）、あるいは、計算負荷を監視する手段を設け、計算負荷に応じて制約条件を緩和して、計算負荷の増大を防ぐ手法が提案されている（特許文献２参照）。しかしながら、変化の速い制御量と緩慢な制御量が混在するシステムを前提にするものでは、一般のシステムには適用できず、また、計算負荷の増大を監視する手段を設けるものにあっては、計算負荷の増大という結果を前提にするもので、計算負荷の増大を予め防止するというものではない。
【０００４】
【特許文献１】特開平１０−３３０２号公報
【特許文献２】特開２００１−６７１０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の課題は、どのようなシステムにあっても、最適化演算の処理時間を短縮でき、かつ演算精度の低下を抑える制御を実現することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の第１の態様であるモデル予測制御方法では、操作量の各変数の微分値を要素とするヤコビアン行列に基づいて評価点を移動させ、最適化の評価を行なうことを繰り返す際に、微分値を所定値と比較する比較ステップを有し、この比較ステップにおいて微分値が所定値より小さい場合、当該微分について次回の数値微分ステップを省略して次回の微分値を０とするようにした。
【０００７】
また、第２の態様では、数値微分ステップを省略して微分値を０とした後、所定回数の後には数値微分ステップと比較ステップを再開する。
【０００８】
さらに、第３の態様では、前記比較ステップの所定値は、比較対象に応じて変更可能とし、制御対象に今回入力する変数についての微分値と比較する場合に、比較すべき所定値を最小の値とし、その他の値に対しては、大きくする。
【発明の効果】
【０００９】
本発明の第１の態様では、微分値が所定値より小さい場合、当該微分について次回の最適化演算による数値微分ステップを省略できるので、大幅な処理時間の短縮が可能である。
【００１０】
第２の態様では、数値微分を省略した後、これを再開できるようにしたので、演算精度を確保できる。
【００１１】
第３の態様では、制御対象に今回入力する操作量以外の微分値と比較する所定値を大きくして、微分値を０とする範囲を拡大したので、さらに処理時間の短縮を行なうことができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、本発明の実施の形態を説明する。
図１は、本発明の一実施形態を実施するモデル予測制御装置を示す概略図で、１０は、そのモデル予測制御装置であり、２０は、制御対象である。モデル予測制御装置１０は、制御対象２０の制御量を目標制御量に一致するように制御するために、モデル予測により決定した最適操作量を制御入力として制御対象２０に与える。制御対象２０はどのようなものであってもよく、制御対象に入力する操作量、制御対象から得られる制御量にも制限はないが、以下、冷却対象の温度を一定に保つ冷却制御系を例にして説明する。操作量は、バルブ開度、ポンプ回転数、ラジエータファン電圧であり、制御量は温度である。
【００１３】
モデル予測制御装置１０は、最適操作量決定部３と内部状態推定部５と記憶データベース７を備える。記憶データベース７には、モデル予測制御に必要なすべてのデータが記憶されている。例えば、所定時間過去から現在までの、制御対象に与えた最適操作量と、制御対象からセンサ等によって得られた制御量が記憶されている。内部状態推定部５は、記憶データベース７に記憶された過去の制御量および最適操作量に基づいて、制御対象モデルを用いて制御対象の内部状態を推定する。最適操作量決定部３は、制御目標である目標量と、現在の制御量と、内部状態推定部５により推定された制御対象の内部状態とを入力として、制御対象モデルに基づいて最適操作量を決定する。
【００１４】
ここで、最適操作量決定部３は、制御対象のモデルを用いて有限時間先までの制御量を予測して、最適操作量の候補である評価点を検索する評価点決定部３１と、評価点すなわち最適操作量候補による予測制御量と目標制御量との偏差を評価式により評価する評価部３３とからなる。従来は、この評価点決定部３１による評価点の決定に際して、モデルを用いた予測制御を行なうので、計算負荷が重くなる一要因となっていた。以下説明するように、本発明は、評価点決定部における処理時間を短縮するものである。
【００１５】
本実施形態は、制御量を温度としてこれを一定に保つ冷却制御に適用される。最適化すべき操作量は、バルブ開度、ポンプ回転数およびモータファン電圧である。また、最適操作量を算出するサンプリング時間は[０][１][２][３]の４点とする。
【００１６】
すなわち、最適化の必要な変数は、
バルブ開度で、valve[0],valve[1],valve[2],valve[3]と、
ポンプ回転数で、pump[0],pump[1],pump[2],pump[3]と、
ラジエータファン電圧、vfan[0],vfan[1],vfan[2],vfan[3]とである。
【００１７】
ここで、例えばvalve[0]は、サンプリング時間[０]でのバルブ開度を示す。最適化アルゴリズムが実行される空間では、操作の種別や時間で区別することなく、順にｘ[0]〜ｘ[14]で示される。このようにして、最適操作量を与える評価点は、１２次元空間の１点で表現される。最適化アルゴリズムは、最急降下法、ニュートン法、両者の組合わせその他各種存在するが、以下、最急降下法で説明する。
【００１８】
図２に、本発明の実施形態の全体フローを示す。
バルブ開度、ポンプ回転数およびモータファン電圧について前回の最適操作量が求められ、制御対象に入力された後、今回の制御がスタートする。今回の制御では、前回のバルブ開度、ポンプ回転数およびモータファン電圧の１２変数を基準にして、各々数値微分を行なうことから開始する。本発明は、図２の数値微分を実行するステップＳ１を改良するものであるが、本発明の作用を明確に示すために、まずステップＳ１を従来方法として図２のフローを説明する。
【００１９】
ステップＳ１では、valve[0]の変化による増減を調べ、vfan[3]まで数値微分を実行し、ヤコビアン行列を求める。ステップＳ２では、これに基づいて評価点をわずかに例えば単位量移動させ、新たな評価点で評価値を算出する。評価値とは、最適操作量候補による制御量と目標制御量の偏差である。ステップ３では、その偏差すなわち評価値が減少していれば、まだ最小値に達しておらず、ステップＳ１に戻って再度ヤコビアン行列を算出し、評価点移動を繰り返す。ステップＳ３で、評価値が増加した場合は、直前の評価点が最適操作値を与えると判断し、ステップＳ４に進み、最適操作量を決定して、ステップＳ５で最適操作量を制御対象に与えて、次回の制御のためにスタートに戻る。
【００２０】
前述のように、このような従来方法における処理時間の増大の要因の一つに、各変数について降下方向を決定するためにモデル予測演算による数値微分を行なう必要があることが上げられる。数値微分の回数は変数の増加に応じて増加し、処理時間が要求される制御周期に収まらないことにもなりかねない。例えば、valve[0]についての数値微分は、以下のように実行される。まず前回の最適操作量をすべて（ｘ[0]〜ｘ[12]）採用してモデル予測演算を行なって、予測値（１）を得る。次にvalve[0]の値だけを単位量増加あるいは減少させ、その他の値は変化させずにモデル予測演算を行なって、予測値（２）を得る。そして両者の差分＝予測値（２）−予測値（１）をとる。この結果によりvalve[0]に関して減少方向が決まり、valve[0]の移動方向が得られる。なお、減少方向とは、差分が負ならその方向で、差分が正なら逆の方向である。ここで処理時間のかかるモデル予測演算は２回行なわれている。これをヤコビアン行列を得るまで行なうには、本例の場合vfan[3]＝ｘ[12]まで２４回の予測演算が行なわれることになる。
【００２１】
本例では、説明をわかりやすくするために簡単な構成のシステムを例としているが、一般には、モデルへの入力をｘ1，ｘ2，…ｘnとし、モデルからの出力をｆ1，ｆ2，…ｆmとした場合、ヤコビアン行列は、次の（１）式のように表わされる。
【００２２】
【数１】
2006072723.tif 000003
【００２３】
ｎもｍも大きい現実の制御システムでは、モデル予測を用いる微分演算に起因する処理時間の遅延は大きな問題となる。ちなみに、本例では、ヤコビアン行列は、以下の式（２）となる。
【００２４】
【数２】
2006072723.tif 000004
【００２５】
本発明者は、現実のシステムにはシステムの状態によっては、評価値にほとんど影響を与えない操作量が存在すること、例えばバルブがバイパス側１００％のときには、ファン電圧は冷却対象への冷却に影響を与えない、を考慮して、数値微分の結果が０に近いもの、すなわち操作量を変化させてもその結果がほとんど現れない場合には、次回の数値微分を省略して０とすることができることを見出した。以下、この知見に基く本発明の実施形態を説明する。
【００２６】
図３に、本発明の第１の実施形態のフローの一部を示す。図３のフローは、図２のフローのステップ１に置き換わるものである。
【００２７】
バルブ開度、ポンプ回転数およびモータファン電圧について前回に求められた最適操作量が制御対象に入力された後、前回の最適操作量を基準にして今回の制御がスタートする。まずステップＳ１１では、ｘ[0]すなわちvalve[0]について、評価省略フラグがオンか否かをみる。ここで、評価省略フラグとは、算出されるべき微分値を０として、モデル予測を行なう微分演算を省略するように指示を与えるフラグであり、これがオンであれば当該変数に関しては数値微分を省略できるものである。今回のように新たな予測演算を開始したばかりでは、評価省略フラグがオンではないので、ステップＳ１２に進み、数値微分を行なう。valve[0]についての数値微分は、図２のフローで説明したとおり、まず前回の最適操作量をすべて（ｘ[0]〜ｘ[12]）採用してモデル予測演算を行なって、予測値（１）を得て、次にvalve[0]の値だけを単位量増加あるいは減少させ、その他の値は変化させずにモデル予測演算を行なって、予測値（２）を得る。そして両者の差分をとる。この結果、valve[0]に関する微分値が得られる。
【００２８】
次いでステップＳ１３では、得られた微分値が所定の値以上であるか否かを判断する。もし微分値が所定値以上であれば、ステップＳ１５に進み、得られた微分値をvalve[0]の微分値として確定する。ステップＳ１３で微分値が所定値より小さければ、ステップＳ１４で、valve[0]について評価省略フラグをオンして、ステップＳ１５に進む。ステップＳ１５では、得られた微分値をvalve[0]の微分値として確定する。
【００２９】
ここでは、以下の説明のために、valve[0]については、ステップＳ１３で微分値が所定値より小さく、ステップＳ１４で、valve[0]について評価省略フラグをオンして、ステップＳ１５に進んだとする。なお、評価省略フラグをオンにしても、このフラグを参照するのは次回になるので、今回はステップＳ１５では、上記のように算出された微分値が採用される。
【００３０】
ステップＳ１５で、ｘ[0]すなわちvalve[0]について、微分値が確定すれば、ステップＳ１６に進み、求めるヤコビアン行列が完成しているか否かを判断する。今回は、未だ完成していないのであるから、ステップＳ１７でｘをインクリメントしてｘ＋１としてステップＳ１１に戻る。ステップＳ１１では、ｘ[1]すなわちvalve[1]について数値微分を行なうプロセスに入る。このようにして、ｘ[12]すなわちvfan[3]まで、ステップＳ１５で、微分値が確定すると、ステップＳ１６では求めるヤコビアン行列が完成したと判断して、ステップＳ２（図２）へ進む。
【００３１】
ステップＳ２では、得られたヤコビアン行列に基づいて評価点を移動させ、新たな評価点で評価値を算出する。ステップＳ３では、その評価値を評価して減少していれば、まだ最小値に達しておらず、ステップＳ１に戻って再度ヤコビアン行列を算出し、評価点移動を繰り返すプロセスに入る。
【００３２】
このようにして、ステップＳ１１に戻り、valve[0]について評価省略フラグがオンか否かをみることになる。いま、valve[0]で評価省略フラグがオンしているので、当該変数に関しては数値微分のプロセスを省略して、ステップＳ１５に進み、valve[0]すなわちｘ[0]の微分値を０として、ステップＳ１６に進み、次のｘ[1]の数値微分のプロセスに入る。このようにすると、モデル予測演算を必要とする数値微分を省略できるので、演算負荷がそれだけ軽減され、処理時間も短縮することになる。例えば、前述の、バルブがバイパス側１００％のときには、ファン電圧は冷却対象への冷却に影響を与えない場合も、数値微分の結果により判定され、次回には当該ファン電圧の数値微分を省略できる。
【００３３】
本実施形態では、ステップＳ１１からステップＳ１５に至る間に、ステップＳ１８を介在させ、評価省略フラグをオフにするステップを設けている。こうすると、一回評価省略して微分値を０としても、次の回には再度数値微分を実行することになる。たとえ一度微分値が省略可能なほど小さくなったとしても、最小値を探索する空間は広大であり、場所によっては微分値を省略することができない値となることも考えられる。このステップを設けることにより、演算精度を確保することができる。本実施形態では、ステップ１８を介在させて、１回おきに数値微分を省略できることとしたが、ステップＳ１８では、数値微分を省略できる回数を例えば２回または３回おき等任意に設定することもできる。なお、ステップＳ１８は、処理速度を優先するような場合は省略できることはもちろんである。
【００３４】
ｘ[1]以降についても同様に、評価省略フラグがオンされていると、当該座標軸に関する数値微分を省略でき、演算負荷の軽減、処理時間の短縮の効果をあげることができる。ステップＳ１６で、ヤコビアン行列が完成すると、ステップＳ２で、評価点を移動させて、評価値を求める。なお、ヤコビアン行列の要素である微分値が０ということは、その方向では前回の数値をそのまま使用するということである。
【００３５】
ステップＳ３で、評価値が増加する場合は、ステップＳ４に進み、前回の最適操作量の候補を最適操作量と決定して、ステップＳ５で最適操作量を制御対象に与えて、次回の最適操作量の決定のためにスタートに戻る。なお、本実施形態ではここで評価省略フラグをすべてクリアしてオフにするように制御しているが、場合によっては評価省略フラグをクリアすることなく使用するようにしてもよい。
【００３６】
このように、本実施形態では、数値微分の結果が所定値より小さい場合、当該微分に関して次のモデル予測演算を必要とする数値微分を省略することができるので、演算負荷がそれだけ軽減され、処理時間も短縮することになる。また、一度数値微分を省略しても所定回数たてば数値微分を再開するようにしておけば、演算精度を落すこともない。さらに、数値微分の省略は、数値微分の結果と所定値とを比較して指示されるので、どのような制御対象にも最適化アルゴリズムを共通して適用できる。
【００３７】
ところで、本実施形態では、モデルに与える制御入力は、例えばバルブでいえば、valve[0],valve[1],valve[2],valve[3]であって、時間軸上の４点の値を最適化している。しかしながら、実際の制御対象に与えるのは、valve[0]のみである。valve[0]を与えた後は、次回の最適化プロセスを通して前回のvalve[1]に相当するvalve[0]を決定することになる。すなわち、すぐに制御対象に入力されるvalve[0]以外は、１周期〜３周期の後に実際の制御対象に入力される変数（操作量）である。このことから、図２のステップＳ１３で使用される所定値、すなわち数値微分の結果と比較される所定値をvalve[0],valve[1],valve[2],valve[3]に応じて変更することができる。実際にすぐに入力されるvalve[0]と比較される値は小さくして、評価を省略しても演算精度を落さないようにする必要があるが、valve[1]以降は、すぐに使用するものではなく、後に再度最適化が行なわれるものであって、微分値を０にして前回値と同じものを与えてもその影響は小さい。したがって、比較のための値をより大きくすることが可能である。そうすれば予測演算の省略の機会を多くすることができる。予測精度を考慮すると、valve[1],valve[2],valve[3]の順に比較する所定値を比例させて大きくすることが考えられるが、これに限定されるものではない。この所定値の大きさは、制御対象やバルブの特性等を考慮して定めることができる。
【００３８】
ポンプ回転数やラジエータファン電圧についても同様に、pump[0],pump[1],pump[2],pump[3]と、vfan[0],vfan[1],vfan[2],vfan[3]に対して、それぞれpump[0]とvfan[0]について比較するためにステップＳ１３の所定値は小さくし、その他のものについては当該所定値を大きくすることが可能である。
【００３９】
このようにすると、演算精度を落すことなく、最適化アルゴリズムによる数値微分を省略する範囲を増大させることができる。
【図面の簡単な説明】
【００４０】
【図１】本発明の一実施形態を実施するための予測制御装置の一例を示す図である。
【図２】本発明の一実施形態の全体動作を示すフローである。
【図３】本発明の一実施形態の動作を示すフローの一部である。
【符号の説明】
【００４１】
１０    モデル予測制御装置
２０    制御対象
３    最適操作量決定部
３１    評価点決定部
３３    評価部
５    内部状態推定部
７    記憶データベース
【図１】
2006072723.tif 000005
【図２】
2006072723.tif 000006
【図３】
2006072723.tif 000007