(57)【特許請求の範囲】
【請求項１】
制御対象を制御する複数の制御部と、
前記制御部による制御に用いられる変数を線形計画法または二次計画法を用いて最適化し、当該変数の目標値を算出する最適化部と、
前記最適化部による前記最適化に関する情報に基づいて、前記変数を当該変数の目標値に追従させる優先順位を判定する変数優先順位判定部と、
前記変数優先順位判定部により判定された前記優先順位、および前記変数に含まれる制御変数と操作変数との関係に基づいて、前記変数の目標値に追従させる前記変数を選択する目標値追従変数選択部と、を有し、
前記変数優先順位判定部は、アクティブな制約になる前記制御変数の優先順位を、少なくとも一つの前記操作変数の優先順位よりも高く設定し、当該一つの前記操作変数として、アクティブな制約にならず、かつ二次計画法における目的関数の二次の項に含まれない操作変数を含み、
前記目標値追従変数選択部は、前記優先順位に従い、かつ、前記最適化に関与している未選択の前記変数の目標値が一意に定まるように変数を選択し、
前記制御部は、前記目標値追従変数選択部により選択された前記変数を当該変数の目標値に追従させるように、前記制御対象を制御する、
ことを特徴とする最適化システム。
【請求項２】
前記変数優先順位判定部は、以下の順番で前記優先順位を設定し、
第１優先：アクティブな制約になる前記制御変数
第２優先：アクティブな制約になる前記操作変数
第３優先：前記第１優先以外の前記制御変数であり、二次計画法における目的関数の二次の項に含まれる前記制御変数
第４優先：前記第２優先以外の前記操作変数であり、二次計画法における目的関数の二次の項に含まれる前記操作変数
第５優先：前記第１優先および前記第３優先以外の前記制御変数であり、下流側のプロセスに接続する前記制御変数
第６優先：前記第２優先および前記第４優先以外の前記操作変数であり、下流側のプロセスに接続する前記操作変数
第７優先：前記第１優先、前記第３優先および前記第５優先以外の前記制御変数であり、最適解が上限または下限と一致する前記制御変数
第８優先：前記第２優先、前記第４優先および前記第６優先以外の前記操作変数
第９優先：前記第１優先、前記第３優先、前記第５優先および前記第７優先以外の前記制御変数
前記目標値追従変数選択部は、前記優先順位が高い変数から前記変数の目標値に追従させる前記変数を順番に選択する、
ことを特徴とする請求項１記載の最適化システム。
【請求項３】
請求項１または２記載の最適化システムであって、
第１の制御装置と複数の第２の制御装置とを備え、
前記第１の制御装置が、前記最適化部、前記変数優先順位判定部および前記目標値追従変数選択部を有し、
前記第２の制御装置が、前記制御部を有する、
ことを特徴とする最適化システム。
【請求項４】
請求項１または２記載の最適化システムであって、
第１の制御装置と第２の制御装置と複数の第３の制御装置とを備え、
第１の制御装置が、前記最適化部を有し、
第２の制御装置が、前記変数優先順位判定部および前記目標値追従変数選択部を有し、
第３の制御装置が、前記制御部を有する、
ことを特徴とする最適化システム。
【請求項５】
請求項１または２記載の最適化システムであって、
第１の制御装置と複数の第２の制御装置とを備え、
前記第１の制御装置が、前記最適化部を有し、
前記第２の制御装置が、前記制御部、前記変数優先順位判定部および前記目標値追従変数選択部を有する、
ことを特徴とする最適化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、最適化システムに関する。
【背景技術】
【０００２】
生産プロセスの状態を監視して制御する際に、プロセスを最適化することで生産効率を高めるシステムが提供されている（例えば、下記特許文献１〜３参照）。下記特許文献３には、プロセスを制御する複数のローカルコントローラの上位側に、プロセス全体の最適化を行うグローバルオプティマイザを配置した最適化システムが開示されている。この最適化システムでは、グローバルオプティマイザが、最適化に必要なプロセスの状態や制約等の情報をローカルコントローラやプロセスから収集し、他のローカルコントローラとの連携を考慮したうえでプロセス全体にわたる最適化を行い、各ローカルコントローラに目標値を送っている。各ローカルコントローラは、自コントローラが担当する範囲内にある変数に対する制約を考慮しつつ、それらの変数がグローバルオプティマイザから受け取った目標値に近づくように制御する。このような手法は、目標値の最適化を行うグローバルオプティマイザと、その目標値に向かって動的な制御を行うローカルコントローラからなる分散型のアプローチと言える。一方、大規模プロセスを制御、最適化する他の手法として、プロセス全体を制御、最適化するグローバルコントローラを一つだけ配置する集中型のアプローチもある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−０９２５８４号公報
【特許文献２】特表２００２−５３４７２９号公報
【特許文献３】米国特許第６１２２５５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献３に記載の最適化システムは、以下の手順により最適化を行う。
【０００５】
（１）グローバルオプティマイザが、グローバルで最適な定常目標値をＬＰ（線形計画法）またはＱＰ（２次計画法）によって算出する。
【０００６】
（２）グローバルオプティマイザは、ローカルコントローラに操作変数（ＭＶ）の望ましい目標値を送信する。
【０００７】
（３）ローカルコントローラは、受信した目標値にできるだけ近くなるように、操作変数のローカル目標値を決定する。
【０００８】
（４）ローカルコントローラは、操作変数がローカル目標値に追従するように、担当するサブプロセスを制御する。
【０００９】
この特許文献３に記載の最適化システムには、プロセスの動特性による遅延によって過渡状態での最適化性能が劣化するという問題がある。以下に、具体的に説明する。
【００１０】
図５に示すように、２つのサブプロセス９Ａ，９Ｂが連結され、２段階で製品を製造するプロセスを、グローバルオプティマイザ７とローカルコントローラ８Ａ，８Ｂとの組み合わせで制御、最適化する最適化システムを例にして説明する。
【００１１】
サブプロセス９Ａは、１つの操作変数ＭＶ８Ａを入力し、１つの制御変数ＣＶ９Ａを出力する。操作変数ＭＶ８Ａは、原料の供給量であり、制御変数ＣＶ９Ａは、中間製品の生産量である。サブプロセス９Ｂは、１つの操作変数ＭＶ８Ｂと１つの外乱変数ＤＶ９Ｂとを入力し、１つの制御変数ＣＶ９Ｂを出力する。操作変数ＭＶ８Ｂは、燃料の供給量であり、外乱変数ＤＶ９Ｂは、サブプロセス９Ｂへの原料の供給量であり、制御変数ＣＶ９Ｂは、最終製品の不純物濃度である。この最適化システムでは、サブプロセス９Ａで製造された中間製品の全てがそのままサブプロセス９Ｂに原料として供給される。したがって、制御変数ＣＶ９Ａは、外乱変数ＤＶ９Ｂと同等である。ローカルコントローラ８Ｂは、操作変数ＭＶ８Ａおよび外乱変数ＤＶ９Ｂを操作することはできない。
【００１２】
なお、図５では省略しているが、制御変数ＣＶ９Ａ、外乱変数ＤＶ９Ｂ、制御変数ＣＶ９Ｂの値は、それぞれ対応するローカルコントローラ８Ａ、８Ｂに送信される。また、ローカルコントローラ８Ａは、操作変数ＭＶ８Ｂおよび制御変数ＣＶ９Ｂの値を取得せず、ローカルコントローラ８Ｂは、操作変数ＭＶ８Ａの値を取得しない。
【００１３】
一般に、プロセスの入出力特性は動特性を有する。図６〜図８は、ある時刻で入力を単位量だけ増やした場合に、出力が時間的にどのように変化するのか（ステップ応答）を示すグラフである。
【００１４】
図６に示すように、サブプロセス９Ａの操作変数ＭＶ８Ａ（原料の供給量）を増やした場合に、制御変数ＣＶ９Ａ（中間製品の生産量）は、時間遅れの後、増加する。図７に示すように、サブプロセス９Ｂの操作変数ＭＶ８Ｂ（燃料の供給量）を増やした場合に、制御変数ＣＶ９Ｂ（最終製品の不純物の濃度）は減少する。図８に示すように、外乱変数ＤＶ９Ｂ（サブプロセス９Ｂへの原料の供給量）を増やした場合には、制御変数ＣＶ９Ｂは徐々に増加する。
【００１５】
特許文献３に記載の最適化システムは、グローバルオプティマイザ７が最適化を行い、最適目標値を達成させるための操作変数の目標値をローカルコントローラ８Ａ，８Ｂに送信する。この操作変数の目標値は、プロセス全体が定常状態に到達した時に最適となる値である。ところが、上述したように、プロセスには動特性に起因する遅延が生ずる。したがって、定常状態に到達するまでの過渡状態では、最適化性能が劣化してしまうことがある。
【００１６】
ここで、図５に示すプロセス全体において、生産量の最大化と燃料消費量の最小化とを目的とする最適化を行うこととした場合について説明する。最適化の優先順位は、生産量の最大化の方が高く、生産量を減らさない範囲で燃料を減らすこととする。このような最適化を行った結果、サブプロセス９Ａの制御変数ＣＶ９Ａ（中間製品の生産量）が上限に達するまで操作変数ＭＶ８Ａ（原料の供給量）を増やし、これにより増加するサブプロセス９Ｂの制御変数ＣＶ９Ｂ（最終製品の不純物の濃度）が上限を突破することがないように、操作変数ＭＶ８Ｂ（燃料の供給量）を増やす、という最適解が得られたとする。
【００１７】
この場合、特許文献３に記載の最適化システムは、図９〜図１２に示すように、各変数を制御することになる。具体的には、図９の操作変数ＭＶ８Ａと図１０の操作変数ＭＶ８Ｂとをすぐに増加させる。しかしながら、図１２の制御変数ＣＶ９Ｂが上限を突破しないように、図１０の操作変数ＭＶ８Ｂを増やすのは、図１１の外乱変数ＤＶ９Ｂが増えて不純物が増加し始める頃から開始しても間に合う。つまり、特許文献３に記載の最適化システムでは、ある定常状態から別の定常状態に遷移する過渡状態においては燃料を必要以上に消費し、燃料消費量の最小化という観点からは無駄が生じていることとなる。この状況を、図１３に示す。
【００１８】
図１３に示すグラフＧａは、特許文献３に記載の最適化システムでの操作変数ＭＶ８Ｂ（燃料の供給量）の変位を示し、グラフＧｂは、燃料の供給量を抑制したときの操作変数ＭＶ８Ｂ（燃料の供給量）の仮想変位を示す。つまり、図１３に示すグラフＧａとグラフＧｂとで囲まれた部分Ｇｃが、無駄になっている燃料供給量を示すこととなる。なお、このような無駄な燃料供給量が生ずる問題は、例示したプロセスに限るものではなく、複数のサブプロセスや装置を連結したプロセスであれば起こり得る問題である。
【００１９】
このような燃料消費量の無駄を解決する方法の一つとして、プロセスの動特性による遅延を考慮して操作変数ＭＶ８Ｂを操作する制御ロジックをローカルコントローラに追加することが考えられる。しかしながら、この解決方法を実現するためには、各ローカルコントローラが、自コントローラの担当範囲だけではなく、その上流側にあるサブプロセスの動特性まで考慮する必要があるため、システムが複雑になる。
【００２０】
他の解決方法として、グローバルオプティマイザからローカルコントローラに目標値を送信するタイミングをプロセスの動特性に合わせて遅延させることも考えられる。しかしながら、この解決方法を実現するためには、グローバルオプティマイザがプロセスの動特性を把握する必要があるため、グローバルオプティマイザとローカルコントローラとに処理を分散させたメリットが低減してしまう。
【００２１】
つまり、特許文献３に記載の最適化システムでは、定常状態に至るまでの過渡状態において燃料を必要以上に消費してしまい、過渡状態にあるときの最適性が低下するおそれがある。
【００２２】
本発明は、定常状態に至るまでの過渡状態にあるときの最適性を向上させることができる最適化制御システムを提供することを目的とする。
【課題を解決するための手段】
【００２３】
本発明に係る最適化システムは、制御対象を制御する複数の制御部と、前記制御部による制御に用いられる変数を線形計画法または二次計画法を用いて最適化し、当該変数の目標値を算出する最適化部と、前記最適化部による前記最適化に関する情報に基づいて、前記変数を当該変数の目標値に追従させる優先順位を判定する変数優先順位判定部と、前記変数優先順位判定部により判定された前記優先順位、および前記変数に含まれる制御変数と操作変数との関係に基づいて、前記変数の目標値に追従させる前記変数を選択する目標値追従変数選択部と、を有し、前記変数優先順位判定部は、アクティブな制約になる前記制御変数の優先順位を、少なくとも一つの前記操作変数の優先順位よりも高く設定し、当該一つの前記操作変数として、アクティブな制約にならず、かつ二次計画法における目的関数の二次の項に含まれない操作変数を含み、前記目標値追従変数選択部は、前記優先順位に従い、かつ、前記最適化に関与している未選択の前記変数の目標値が一意に定まるように変数を選択し、前記制御部は、前記目標値追従変数選択部により選択された前記変数を当該変数の目標値に追従させるように、前記制御対象を制御する、ことを特徴とする。
【００２４】
上記前記変数優先順位判定部は、以下の順番で前記優先順位を設定し、
第１優先：アクティブな制約になる前記制御変数
第２優先：アクティブな制約になる前記操作変数
第３優先：前記第１優先以外の前記制御変数であり、二次計画法における目的関数の二次の項に含まれる前記制御変数
第４優先：前記第２優先以外の前記操作変数であり、二次計画法における目的関数の二次の項に含まれる前記操作変数
第５優先：前記第１優先および前記第３優先以外の前記制御変数であり、下流側のプロセスに接続する前記制御変数
第６優先：前記第２優先および前記第４優先以外の前記操作変数であり、下流側のプロセスに接続する前記操作変数
第７優先：前記第１優先、前記第３優先および前記第５優先以外の前記制御変数であり、最適解が上限または下限と一致する前記制御変数
第８優先：前記第２優先、前記第４優先および前記第６優先以外の前記操作変数
第９優先：前記第１優先、前記第３優先、前記第５優先および前記第７優先以外の前記制御変数
前記目標値追従変数選択部は、前記優先順位が高い変数から前記変数の目標値に追従させる前記変数を順番に選択することとしてもよい。
【発明の効果】
【００２５】
本発明によれば、定常状態に至るまでの過渡状態にあるときの最適性を向上させることができる最適化システムを提供することができる。
【図面の簡単な説明】
【００２６】
【図１】第１実施形態における最適化システムの構成を例示する図である。
【図２】最適化システムの構成例の一つを示す図である。
【図３】第２実施形態における最適化システムの構成を例示する図である。
【図４】第３実施形態における最適化システムの構成を例示する図である。
【図５】従来の最適化システムの構成を例示する図である。
【図６】ローカルコントローラの操作量に対する制御量のステップ応答を例示する図である。
【図７】ローカルコントローラの操作量に対する制御量のステップ応答を例示する図である。
【図８】ローカルコントローラの外乱変数に対する制御量のステップ応答を例示する図である。
【図９】ローカルコントローラの操作量の目標値への追従制御を例示する図である。
【図１０】ローカルコントローラの操作量の目標値への追従制御を例示する図である。
【図１１】外乱変数（制御量）の目標値への追従制御を例示する図である。
【図１２】制御量の目標値への追従制御を例示する図である。
【図１３】無駄な燃料供給量を例示する図である。
【発明を実施するための形態】
【００２７】
[本発明の原理]
本発明における実施形態を説明する前に、本発明の原理について説明する。本発明は、グローバルオプティマイザとローカルコントローラとを含む最適化システムにおいて実現することができる。
【００２８】
上述した特許文献３に記載の最適化システムのようなシステムで、ＬＰ（線形計画法）またはＱＰ（２次計画法）による最適化を行うこととした場合には、制御変数を最適目標値に追従させることで最適化の目的を達成する場合と、操作変数を最適目標値に追従させることで最適化の目的を達成する場合とがある。
【００２９】
例えば、上記特許文献３に記載の最適化システムの問題点として例示したプロセス（図５参照）では、制御変数ＣＶ９Ａおよび制御変数ＣＶ９Ｂを目標値に追従させることで最適化の目的を達成することができる。
【００３０】
これは、生産量の最大化という目的に対する制約はサブプロセス９Ａの生産量の上限であり、燃料消費量の最小化という目的に対する制約はサブプロセス９Ｂの不純物濃度の上限となることによる。いずれか一方の上限を超えると、それ以上最適化を進めることができなくなる。言い換えると、双方の上限を超えないように制御することで、過渡状態も含め、より最適な状態にすることができる。なお、操作変数を目標値に追従させることで最適化の目的が達成される場合もある。
【００３１】
上記特許文献３に記載の最適化システムでは、制御変数を目標値に追従させることで最適化の目的を達成できる場合であったとしても、ローカルコントローラはグローバルオプティマイザが決定した最適目標値に操作変数を追従させるように制御する。これは、操作変数を最適目標値に追従させることで、制御変数も間接的に最適目標値に追従させていると捉えることもできる。しかしながら、この制御は、定常状態では成立しても過渡状態では成立しない。それは、上流側に位置するサブプロセスが過渡状態にある場合には、操作変数を最適目標値に追従させても制御変数が最適目標値に追従するとは限らないためである。
【００３２】
例えば、図９〜図１２の例示によると、図１１の外乱変数ＤＶ９Ｂが目標値に追従するまでは、図１０の操作変数ＭＶ８Ｂを目標値に追従させても、図１２の制御変数ＣＶ９Ｂは目標値に追従していない。
【００３３】
このように、動特性や遅延が存在するプロセスでは、定常状態の特性だけを考慮して決定した目標値に操作変数を追従させるという制御では、最適化の性能において限界がある。
【００３４】
しかしながら、上記例示したプロセスにおいて、例えば、ローカルコントローラ８Ｂが制御変数ＣＶ９Ｂを最適目標値に追従させるように制御すれば、外乱変数ＤＶ９Ｂが増え始めてから操作変数ＭＶ８Ｂを操作させることが可能となる。つまり、制御変数を目標値に追従させることで、過渡状態での無駄を減らした最適化を実現することが可能となる。
【００３５】
そこで、本発明では、目標値に追従させる変数（制御変数、操作変数）を、以下の（Ａ）、（Ｂ）のように選択することとした。
【００３６】
（Ａ）目標値に追従させる変数を、制御変数および操作変数の両方から選択し、かつ、最適化の目的を達成するために目標値に追従させる制御変数を操作変数よりも優先して選択する。このように変数を選択することで、上記特許文献３に記載の最適化システムで生じていた性能劣化を抑制することができる。
【００３７】
（Ｂ）各ローカルコントローラでは、全ての変数の値が一意に定まるように過不足なく選択する。
【００３８】
最初に、上記（Ａ）について説明する。上記特許文献３に記載の最適化システムでは、グローバルオプティマイザが決めた最適目標値に追従させる変数として操作変数のみを選択している。これに対して、本発明では、ローカルコントローラが、目標値に追従させる変数として操作変数のみならず、制御変数も選択する。さらに、最適化においてアクティブな制約になる制御変数を、操作変数よりも優先して目標値に追従させる。
【００３９】
ここで、アクティブな制約とは、その変数の上下限が最適化の目的関数を最適にする際の障害となっていることをいう。例えば、その制約を少しだけ緩和し（下限であれば小さくし、上限であれば大きくする）、同じ最適化問題を解いた場合に、解が制約と一致したままで、目的関数の値が最適な方向に変われば、その制約はアクティブとなる。一方、目的関数の値が変わらなかった場合は、その制約はアクティブではないということになる。なお、解が制約と一致せず、かつ、目的関数の値が変わった場合は、緩和する幅が大き過ぎた可能性があるため、緩和する幅を小さくしてやり直す。なお、線形計画法や二次計画法を数値計算によって解くソフトウェアの中には、制約がアクティブであるかどうかを特定する情報を取得できるものがある。そのようなソフトウェアを用いる場合には、その取得した情報を利用することとしてもよい。
【００４０】
アクティブな制約になる制御変数を目標値に追従させることは、最適な方向にプロセスを向かわせることと同義となることから、アクティブな制約になる制御変数を優先することは、過渡状態を含む最適化の性能を改善する際の有効な要件となることが期待される。
【００４１】
続いて、上記（Ｂ）について説明する。各ローカルコントローラが行う目標値に追従させる変数の選択と変数の値の一意性とについて説明する。
【００４２】
上記特許文献３に記載の最適化システムでは、全ての操作変数の目標値をローカルコントローラに送信する。プロセスに入力する操作変数の定常値が全て決まれば、出力となる制御変数の定常値も全て決まることを利用し、全ての変数が自動的に目標値に追従するようになっている。
【００４３】
ところが、目標値に追従させる変数として制御変数を含めて選択することとした場合には、選択する方法によっては目標値に追従しない変数が発生する場合がある。以下に説明する。
【００４４】
（ａ）目標値に追従させる変数を制御変数から選択し、その選択した制御変数の数が操作変数の数よりも少ない場合には、いくつかの変数はその値が一意に定まらない。これは、連立一次方程式において、方程式の数が未知変数の数よりも少ない状況に相当する（劣決定）。例えば、制御変数の数が操作変数の数よりも少ない場合には、全ての制御変数を目標値に追従させただけでは全ての操作変数を目標値に追従させることはできない。
【００４５】
（ｂ）サブプロセスの構造によっては、目標値に追従させる変数の数を操作変数の数と一致させても、全ての変数が目標値に追従するとは限らない。例えば、制御変数ＣＶ１Ａ，ＣＶ１Ｂ，ＣＶ１Ｃ，ＣＶ１Ｄは、操作変数ＭＶ１Ａ，ＭＶ１Ｂ，ＭＶ１Ｃとだけ関係を有し、制御変数ＣＶ１Ｅ，ＣＶ１Ｆは、操作変数ＭＶ１Ｄとだけ関係を有する場合について説明する。この時、操作変数の数が４つだからといって、４つの制御変数ＣＶ１Ａ，ＣＶ１Ｂ，ＣＶ１Ｃ，ＣＶ１Ｄを目標値に追従させても、制御変数ＣＶ１Ｅ，ＣＶ１Ｆ、および操作変数ＭＶ１Ｄは、目標値に追従しない。この場合には、制御変数ＣＶ１Ａ，ＣＶ１Ｂ，ＣＶ１Ｃ，ＣＶ１Ｄ、および操作変数ＭＶ１Ａ，ＭＶ１Ｂ，ＭＶ１Ｃの中から３つの変数を選択し、制御変数ＣＶ１Ｅ，ＣＶ１Ｆ、および操作変数ＭＶ１Ｄの中から１つの変数を選択する必要がある。
【００４６】
一方、例えば全ての制御変数を目標値に追従させる等のように、過剰に変数を選択した場合には別の問題が生ずる。例えば、特開２００５−２９２８６２号公報（段落[０００９]参照）には、プロセスへの制御入力（操作変数）の数が、制御されるプロセス変数（制御変数）の数と同じである場合に、ＭＰＣ（モデル予測制御コントローラ）が最大の性能を達成できることが記載されている。また、制御変数の数が操作変数の数より多い場合には、ＭＰＣの性能が大きく劣化することが記載されている。
【００４７】
このような問題は、ローカルコントローラがＭＰＣである場合に限定されるものではなく、操作変数や制御変数を複数持つコントローラ（多変数コントローラ）であれば、程度に差があるものの問題となる。連立一次方程式において未知変数の数（入力数に相当）よりも方程式の数（出力数に相当）の方が多い場合には、一般には解がない（過決定）ことと同様である。このような状態で多変数制御を行うと、制御性能が劣化することとなる。
【００４８】
本発明の原理をまとめると、各ローカルコントローラで行う目標値に追従させる変数の選択は、全ての制御変数および操作変数の値が一意に定まり、過不足ないように行い、原則として自ローカルコントローラにおける操作変数の数だけ選ぶことが好ましい。
【００４９】
次に、図面を参照して本発明における実施形態について説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除するものではない。すなわち、本発明は、その趣旨を逸脱しない範囲で種々変形して実施することができる。
【００５０】
[第１実施形態]
図１を参照して、第１実施形態における最適化システムの構成について説明する。図１に示すように、最適化システム１は、最適化部２１を有するグローバルオプティマイザ２と、変数優先順位判定部３１および目標値追従変数選択部３２を有する目標値追従変数選択装置３と、制御部４１および目標値修正部４２を有するローカルコントローラ４とを備える。
【００５１】
最適化部２１は、制御部４１による制御対象（プロセス）５の制御に用いる変数（操作変数、制御変数）を最適化し、その変数の最適目標値を算出する。なお、本実施形態では、制御対象の例示としてプロセス（特に生産・製造プロセス）を用いて説明するが、制御対象はこれに限定されず、例えば、動力プラント、エネルギープラント、熱源設備であってもよい。
【００５２】
具体的に、最適化部２１は、設定された目的関数および各変数の基準となる値（最適化の原点となる値）に基づいて、システム全体の最適化を行う。各変数の基準となる値としては、例えば、プロセスの現在値や定常予測値（制御を行わない場合の定常状態におけるプロセスの予測値）を用いることができる。
【００５３】
最適化の手法としては、周知の線形計画法や二次計画法を用いる。
【００５４】
最適化部２１は、制御変数および操作変数に対して与えられた上下限制約の範囲内、かつ最適化の目的に沿った目的関数を最適にするような最適解を算出する。この最適解は、上流から下流まで変化が行き渡り、全体が定常状態に至ったときの解である。
【００５５】
最適化部２１は、最適化に関する情報を変数優先順位判定部３１に送信する。最適化に関する情報には、例えば、最適解、前提となる変数の上下限制約、目的関数等が含まれる。また、どの変数（操作変数、制御変数）がアクティブな制約になっているのかを特定するための情報が得られる場合には、この情報も、最適化に関する情報に含めることができる。
【００５６】
変数優先順位判定部３１は、グローバルオプティマイザ２が算出した最適解を分析し、変数を目標値に追従させる優先順位を判定し、変数をグルーピングする。例えば、以下のように優先順位を設定することができる。
【００５７】
優先順位１：アクティブな制約になる制御変数
優先順位２：アクティブな制約になる操作変数
優先順位３：優先順位１以外の制御変数であり、二次計画法における目的関数の二次の項に含まれる制御変数
優先順位４：優先順位２以外の操作変数であり、二次計画法における目的関数の二次の項に含まれる操作変数
【００５８】
優先順位５：優先順位１、３以外の制御変数であり、下流側のローカルコントローラに接続する制御変数
優先順位６：優先順位２、４以外の操作変数であり、下流側のローカルコントローラに接続する操作変数
優先順位７：優先順位１、３、５以外の制御変数であり、最適解が上限または下限と一致する制御変数
優先順位８：優先順位２、４、６以外の操作変数（以下、「フリーな操作変数」ともいう）
優先順位９：優先順位１、３、５、７以外の制御変数（以下、「フリーな制御変数」ともいう）
【００５９】
上記優先順位３、４の要件として記載した「二次計画法における目的関数の二次の項に含まれる」とは、例えば目的関数が、以下の式（１）で表される場合には、次数が二次となる項目に含まれる制御変数ＣＶ１と操作変数ＭＶ２とが該当することを意味する。
（（ＣＶ１）−１）2＋（ＭＶ２）2  …（１）
【００６０】
このような変数は、アクティブな制約になっていなくても、目標値に追従するように制御することで目的関数を最適な方向に導くことができるため、優先順位を比較的高くすることが好ましい。
【００６１】
上記優先順位８、９の要件として記載したフリーな操作変数、フリーな制御変数とは、アクティブな制約に該当せず、二次計画法における目的関数の二次の項に含まれず、かつ下流側のローカルコントローラに接続しない変数をいう。このような変数は、最適化の目的達成には直接関与しないため、他の変数を目標値に追従させることで値が変動したとしても、最適化の性能に直接影響を与えることはない。
【００６２】
上記優先順位のうち、最低限必要となるのは、優先順位１の制御変数を、優先順位８の操作変数よりも優先させることである。これにより、過渡状態にあるときの最適性が低下するという従来技術の問題を軽減することができる。例えば、定常状態に至るまでの過渡状態において燃料を必要以上に消費するという問題を軽減することができる。優先順位１、８以外の優先順位については、制御対象の特性や最適化の方針に従って順位を適宜入れ替えることができる。
【００６３】
目標値追従変数選択部３２は、原則として優先順位が高い変数から、制御変数と操作変数との関係を考慮しつつ、目標値に追従させる変数を選択する。この選択処理は、ローカルコントローラ４ごとに行う。以下に、目標値追従変数選択部３２が実行する選択処理の内容について詳細に説明する。
【００６４】
最初に、優先順位が高い変数から変数を順番に選択する。優先順位が等しい変数は同時に選択してもよいし、一つずつ選択してもよい。
【００６５】
選択した変数の数が、ローカルコントローラ４の操作変数の数と一致したときに、選択処理を一旦停止する。
【００６６】
現時点までに選択した変数の値を定めることで、まだ選択していない変数の値が一意に定まるかどうかを、制御変数と操作変数との関係から判定する。選択していない変数の値が一意に定まる場合には、現時点までに選択した変数が、選択処理の結果となる。
【００６７】
選択していない変数の値が一意に定まるかどうかを判定する方法の一例を以下に説明する。
【００６８】
グローバルオプティマイザ２による最適化が、線形計画法または二次計画法を用いて行われ、制御変数と操作変数との関係が、それぞれ以下の式（２）のように設定されているとする。
【数１】
0006505516.tif 000002
【００６９】
式（２）において、ｙFは、選択した制御変数の値または変化量を並べたベクトルであり、ｙuは、選択していない制御変数の値または変化量を並べたベクトルであり、ｕFは、選択した操作変数の値または変化量を並べたベクトルであり、ｕUは、選択していない操作変数の値または変化量を並べたベクトルである。なお、該当する変数がない箇所は空ベクトルを設定する。
【００７０】
式（２）を変形すると、以下の式（３）が得られる。
【数２】
0006505516.tif 000003
【００７１】
式（３）の左辺は、選択した制御変数、操作変数の値が決まれば一意に定まる。したがって、式（３）の右辺にあるｙu、ｕUが一意に定まるためには、以下の（４）に示す行列が正則行列であればよいということになる。つまり、（４）に示す行列に、行数と列数とが同等の逆行列が存在すればよい。
【数３】
0006505516.tif 000004
【００７２】
式（３）の右辺にあるｙu、ｕUが一意に定まらない場合には、一意に定めることができない要因になっている変数を、選択した変数の中から探し出し、選択した変数から除外する。一意に定めることができない要因になっている変数は、解析的に求めることとしてもよいし、試行錯誤して求めることとしてもよい。
【００７３】
例えば、上記（４）の行列のランク（階数）がわかれば、行列の行数または列数からランクを減算した数が、一意に定めることができない要因になっている変数の数となるため、その数に見合う変数を順番に、選択した変数の中から除外することを、上記（４）の行列が正則行列になる組み合わせが見つかるまで繰り返すことで、一意に定めることができない要因になっている変数を探し出すことができる。
【００７４】
また、選択処理時に優先順位が等しい変数を同時に選択した場合には、上記（４）の行列の行数が列数よりも多くなることがある。これは、変数が過剰に選択されているケース（過決定）である。この場合、上記（４）の行列が正則行列となるように、選択した変数から過剰分の変数を削除する必要がある。変数を削除する場合には、例えば、変数の並び順等のように、何らかの順番に従って削除することができる。さらに、例えば、変数を削除した後の上記（４）の行列の条件数等のように、何らかの評価基準に従って最良の結果をもたらす変数を削除することとしてもよい。
【００７５】
制御部４１は、目標値追従変数選択部３２で選択された制御変数または操作変数を、グローバルオプティマイザ２が決定した最適目標値に漸近するように制御する。この制御では、例えば、多変数モデル予測制御のような既存の公知技術を利用することができる。すなわち、全ての制御変数および操作変数について上下限制約を守りつつ、選択した制御変数および操作変数が目標値に追従するように制御する。
【００７６】
目標値修正部４２は、制御部４１が制御を行う際に用いる目標値を修正する。なお、目標値修正部４２は、必須の構成要素ではない。しかしながら、目標値修正部４２は、以下の要因による影響を緩和する際に有効な機能となる。
【００７７】
まず、グローバルオプティマイザ２は全てのローカルコントローラ４が定常状態に到達した時の目標値を決定するが、その目標値は、定常状態に至るまでの過渡状態においては可能解でない、すなわち、全ての制約条件を満たすことができない解になることがある。例えば、上流側装置と下流側装置との２つの装置からなるプロセスにおいて、上流側装置の状態変化が下流側装置に伝播するまでに時間を要する場合に、目標値が可能解でないことが起こり得る。
【００７８】
次に、グローバルオプティマイザ２がグローバル目標値を決めた後に、ユーザが上下限制約を変更することや、個々の装置に大きな変動が生じたときに、そのままではローカルコントローラ４で制約違反が発生する場合がある。
【００７９】
これらの場合に、目標値修正部４２は、ローカルコントローラ４での修正後の目標値が、指定された上下限制約内に納まるように修正しつつ、目標値追従変数選択部３２で選択された制御変数および操作変数について、グローバルオプティマイザ２が決めた最適目標値と修正後の目標値との差ができるだけ小さくなるように修正する。
【００８０】
以下において、例示的に二次計画法を解くことによって修正目標値を求める方法について説明する。
【００８１】
最初に、最適目標値と修正後の目標値との差ができるだけ小さくなるように、以下の式（５）に示す目的関数を定める。なお、この目的関数はグローバルオプティマイザ２が最適化を行う際に使用する目的関数とは異なる。
【数４】
0006505516.tif 000005
【００８２】
式（５）において、ｙiは、ｉ番目の制御変数の定常目標値であり、ｕjは、ｊ番目の操作変数の定常目標値であり、ｙiGは、ｉ番目の制御変数の最適目標値であり、ｕjGは、ｊ番目の操作変数の最適目標値であり、ｑi(u)は、ｉ番目の制御変数の目的関数に対する重みであり、ｑj(u)は、ｊ番目の操作変数の目的関数に対する重みであり、Ｔy、Ｔuは、それぞれ目標値追従変数選択部３２で選択された制御変数、操作変数のインデックス集合である。また、ｙ＝（ｙ1，ｙ2，…，ｙM）、ｕ＝（ｕ1，ｕ2，…，ｕN）である。
【００８３】
重みは、例えば、グローバルオプティマイザ２における目的関数のバランスに基づいてグローバルオプティマイザ２で決定することとしてもよいし、予め設定することとしてもよいし、全変数に対して同じ値を付与することとしてもよい。この時、ｙとｕとの間には以下の式（６）で表される拘束条件が与えられる。
ｙ−ｙ0＝Ｇ（ｕ−ｕ0）  …（６）
【００８４】
式（６）において、Ｇは、Ｍ行Ｎ列の行列（Ｍは制御変数の数、Ｎは操作変数の数）であり、操作変数の変化量に対する制御変数の変化の割合を表す行列である。ｙ0、ｕ0は最適化の原点であり、任意の動作点を付与すればよいが、例えば、プロセスの現在値や、プロセスのノイズ等の影響を考慮した定常予測値（制御を行わない場合の定常状態におけるプロセスの予測値）などを利用するのが一般的である。
【００８５】
また、全てまたは一部の制御変数、操作変数に対し、以下の式（７）、式（８）に示すような上限値、下限値を付与することとしてもよい。
【数５】
0006505516.tif 000006
【００８６】
式（７）、（８）において、ｙHIi、ｙLOiは、ｙiの上限値、下限値であり、ｕHIj、ｕLOjは、ｕjの上限値、下限値である。最適化演算では、ｙ、ｕが、これらの上限値、下限値を超えないように目的関数を最小化する。これらの上限値、下限値を超えない解が見つからない場合には、上限値、下限値の一部を緩和して解を見つけることとしてもよい。
【００８７】
上述した第１実施形態では、変数を過剰に選択することがある。つまり、放置しても全体の最適化には影響を与えない変数まで選択することがある。以下において、放置しても全体の最適化には影響を与えない変数を選択しないこととする２つの例示的な方法について、図２を参照しながら説明する。
【００８８】
１つ目の方法は、上述した優先順位１〜７の条件を満たす変数を全て選択しても、ローカルコントローラの操作変数の数に到達しない場合に行う方法である。このようなことは、最適化の目的関数に全く関与しない変数が存在する場合に起こり得る。
【００８９】
図２に示す操作変数ＭＶ１Ａを最小化することを目的とした最適化をグローバルオプティマイザ２が行った結果、操作変数ＭＶ１Ａが下限まで到達し、アクティブな制約となり、この操作変数ＭＶ１Ａ以外の制御変数ＣＶ１Ａ，ＣＶ１Ｂ，ＣＶ１Ｃ，ＣＶ２Ａ，ＣＶ２Ｂ、および操作変数ＭＶ１Ｂ，ＭＶ２については、アクティブな制約にならなかったとする。
【００９０】
この場合、ローカルコントローラ４Ｂでは、最適化に関与する変数が一つもないため、優先順位１〜７の条件を満たす変数が一つもないことになる。そのような変数を目標値に追従するように制御しても最適化のメリットは得られない。したがって、このような場合、変数を選択しないことが好ましい。また、ローカルコントローラ４Ａでは、操作変数ＭＶ１Ａ以外に最適化に関与する変数が一つもないため、優先順位１〜７の条件を満たす変数を全て選択しても、ローカルコントローラ４Ａの操作変数の数に到達しない。このような場合も変数を選択しないことが好ましい。
【００９１】
２つ目の方法は、上流側にあるローカルコントローラが何もしなくても、下流側にあるローカルコントローラだけで最適化の目的を達成できる場合に行う方法である。このような複数のローカルコントローラにまたがる最適化を行う場合には、通常、下流側にあるローカルコントローラは、上流側にあるローカルコントローラが最適な目標値に追従するように制御されることを前提とする。すなわち、上流側にあるローカルコントローラが、下流側に接続している制御変数および操作変数を最適目標値に追従させることで、グローバルオプティマイザの目的を達成することができる。
【００９２】
例えば、図２に示す制御変数ＣＶ２Ｂがアクティブな制約になり、外乱変数ＤＶ２の値が変わると、制御変数ＣＶ２Ｂの値も変わる場合は、外乱変数ＤＶ２、すなわち制御変数ＣＶ１Ｃは、グローバルオプティマイザ２が決定した最適目標値に追従するように制御する必要がある。上記優先順位１〜７のうち、優先順位５、６は、どのような場合であっても下流側のローカルコントローラ４Ｂに接続する変数の値を最適目標値に追従させることを担保するためにある。
【００９３】
ところが、上流側にあるローカルコントローラが何もしなくても、下流側にあるローカルコントローラだけでグローバルオプティマイザの目的を達成できる場合がある。例えば、図２に示す制御変数ＣＶ２Ｂだけがアクティブな制約になり、外乱変数ＤＶ２の値が変わっても制御変数ＣＶ２Ｂの値が変わらない場合である。この場合には、制御変数ＣＶ１Ｃの値をグローバルオプティマイザ２が決定した値に追従させてもさせなくても、最適化の目標を達成することができる。つまり、この場合には、優先順位５、６の要件に該当する変数を、選択する変数から除外しても、問題ないことになる。
【００９４】
[第２実施形態]
図３を参照して、第２実施形態における最適化システムについて説明する。上述した第１実施形態では、最適化システム１を、グローバルオプティマイザ２と目標値追従変数選択装置３とローカルコントローラ４とで構成した場合について説明したが、第２実施形態では、最適化システム１を、グローバルオプティマイザ２とローカルコントローラ４とで構成する場合について説明する。
【００９５】
第２実施形態における最適化システム１は、第１実施形態で目標値追従変数選択装置３が有していた変数優先順位判定部３１および目標値追従変数選択部３２を、グローバルオプティマイザ２が有することとした点で、第１実施形態における最適化システム１と異なる。
【００９６】
第２実施形態の変数優先順位判定部３１および目標値追従変数選択部３２は、最適化部２１が算出した最適目標値に基づいて、目標値に追従させる優先順位を決め、目標値に追従させる変数を選択することとなる。その他の機能については、第１実施形態の機能と同様であるため、それらの説明は省略する。
【００９７】
変数優先順位判定部３１による変数優先順位の判定には、最適化の結果の詳細（制約がアクティブかどうか等）が必要となり、下流側のコントローラに接続するかどうかという情報も必要となる。したがって、第２実施形態における最適化システム１によれば、第１実施形態における最適化システム１と同様の効果を奏するとともに、第１実施形態における最適化システム１よりも通信が削減され、処理効率を高めることができるという効果がある。
【００９８】
[第３実施形態]
図４を参照して、第３実施形態における最適化システムについて説明する。上述した第２実施形態では、第１実施形態で目標値追従変数選択装置３が有していた変数優先順位判定部３１および目標値追従変数選択部３２を、グローバルオプティマイザ２が有する場合について説明したが、第３実施形態では、第１実施形態で目標値追従変数選択装置３が有していた変数優先順位判定部３１および目標値追従変数選択部３２を、ローカルコントローラ４が有する点で異なる。
【００９９】
第３実施形態の変数優先順位判定部３１および目標値追従変数選択部３２は、自ローカルコントローラ４における最適化演算に適用される点で、目標値追従変数選択装置３における最適化演算に適用された第１実施形態の機能と異なるが、その他の機能については、第１実施形態の機能と同様であるため、それらの説明は省略する。
【符号の説明】
【０１００】
１…最適化システム
２…グローバルオプティマイザ
３…目標値追従変数選択装置
４…ローカルコントローラ
５…制御対象（プロセス）
２１…最適化部
３１…変数優先順位判定部
３２…目標値追従変数選択部
４１…制御部
４２…目標値修正部
【図１】
0006505516.tif 000007
【図２】
0006505516.tif 000008
【図３】
0006505516.tif 000009
【図４】
0006505516.tif 000010
【図５】
0006505516.tif 000011
【図６】
0006505516.tif 000012
【図７】
0006505516.tif 000013
【図８】
0006505516.tif 000014
【図９】
0006505516.tif 000015
【図１０】
0006505516.tif 000016
【図１１】
0006505516.tif 000017
【図１２】
0006505516.tif 000018
【図１３】
0006505516.tif 000019