(57)【要約】【課題】定常状態に至るまでの過渡状態にあるときの操作変数の値の変動幅を抑制する。【解決手段】制御対象５を制御する複数の制御部４１と、制御対象５を制御する際に用いられる変数を最適化し、その変数の目標値を算出する最適化部２１と、最適化部２１により算出された前記目標値を所定の制約条件を満たすように修正する目標値修正部３２と、変数に含まれる一つ以上の操作変数に対し、操作変数の現在値を基準にして目標値を超過することを抑制する制約、および操作変数の現在値を基準にして目標値から遠ざかることを抑制する制約のうち、少なくともいずれか一方を、所定の制約条件に追加する制約追加部３１と、を有し、制御部４１は、目標値修正部３２により修正された目標値に基づいて制御対象５を制御する。【選択図】図１
2017010072.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御する複数の制御部と、
前記制御対象を制御する際に用いられる変数を最適化し、当該変数の目標値を算出する最適化部と、
前記最適化部により算出された前記目標値を所定の制約条件を満たすように修正する目標値修正部と、
前記変数に含まれる一つ以上の操作変数に対し、前記操作変数の現在値を基準にして前記目標値を超過することを抑制する制約、および前記操作変数の現在値を基準にして前記目標値から遠ざかることを抑制する制約のうち、少なくともいずれか一方を、前記所定の制約条件に追加する制約追加部と、
を有し、
前記制御部は、前記目標値修正部により修正された前記目標値に基づいて前記制御対象を制御する、
ことを特徴とする最適化システム。
【請求項２】
前記所定の制約条件には、前記変数に対して決められた上限および下限を違反しないこと、および前記目標値修正部により修正される前記目標値を、前記最適化部により算出される前記目標値にできる限り近づけることが含まれている、ことを特徴とする請求項１記載の最適化システム。
【請求項３】
請求項１または２記載の最適化システムであって、
第１の制御装置と複数の第２の制御装置とを備え、
前記第１の制御装置が、前記最適化部を有し、
前記第２の制御装置が、前記制御部、前記制約追加部および前記目標値修正部を有する、
ことを特徴とする最適化システム。
【請求項４】
請求項１または２記載の最適化システムであって、
第１の制御装置と第２の制御装置と複数の第３の制御装置とを備え、
第１の制御装置が、前記最適化部を有し、
第２の制御装置が、前記制約追加部および前記目標値修正部を有し、
第３の制御装置が、前記制御部を有する、
ことを特徴とする最適化システム。
【請求項５】
請求項１または２記載の最適化システムであって、
第１の制御装置と複数の第２の制御装置とを備え、
前記第１の制御装置が、前記最適化部、前記制約追加部および前記目標値修正部を有し、
前記第２の制御装置が、前記制御部を有する、
ことを特徴とする最適化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、最適化システムに関する。
【背景技術】
【０００２】
生産プロセスの状態を監視して制御する際に、プロセスを最適化することで生産効率を高めるシステムが提供されている（例えば、下記特許文献１〜３参照）。下記特許文献３には、プロセスを制御する複数のローカルコントローラの上位側に、プロセス全体の最適化を行うグローバルオプティマイザを配置した最適化システムが開示されている。この最適化システムでは、グローバルオプティマイザが、最適化に必要なプロセスの状態や制約等の情報をローカルコントローラやプロセスから収集し、他のローカルコントローラとの連携を考慮したうえでプロセス全体にわたる最適化を行い、各ローカルコントローラに目標値（以下、「グローバル目標値」ともいう。）を送っている。
【０００３】
各ローカルコントローラは、自コントローラが担当する範囲内にある変数に対する制約を考慮しつつ、それらの変数がグローバルオプティマイザから受け取ったグローバル目標値に近づくように制御する。このような手法は、目標値の最適化を行うグローバルオプティマイザと、その目標値に向かって動的な制御を行うローカルコントローラからなる分散型のアプローチと言える。一方、大規模プロセスを制御、最適化する他の手法として、プロセス全体を制御、最適化するグローバルコントローラを一つ配置する集中型のアプローチもある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００２−５３４７２９号公報
【特許文献２】米国特許第６１２２５５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記従来技術の最適化システムには、過渡状態で操作変数の値が、グローバル目標値を大きく行き過ぎることや、グローバル目標値から離れる方向に動いてしまうという問題がある。以下に、具体的に説明する。
【０００６】
図６に示すように、２つのサブプロセス９Ａ，９Ｂが連結され、２段階で製品を製造するプロセスを、グローバルオプティマイザ７とローカルコントローラ８Ａ，８Ｂとの組み合わせで制御、最適化する最適化システムを例にして説明する。
【０００７】
サブプロセス９Ａは、１つの操作変数ＭＶ８Ａを入力し、１つの制御変数ＣＶ９Ａを出力する。操作変数ＭＶ８Ａおよび制御変数ＣＶ９Ａは、流量である。サブプロセス９Ｂは、１つの操作変数ＭＶ８Ｂと１つの外乱変数ＤＶ９Ｂとを入力し、１つの制御変数ＣＶ９Ｂを出力する。操作変数ＭＶ８Ｂおよび外乱変数ＤＶ９Ｂは、流量であり、制御変数ＣＶ９Ｂは、温度である。この最適化システムでは、サブプロセス９Ａから流出した流量の全てがそのままサブプロセス９Ｂに供給される。したがって、制御変数ＣＶ９Ａは、外乱変数ＤＶ９Ｂと同等となる。ローカルコントローラ８Ｂは、操作変数ＭＶ８Ａおよび外乱変数ＤＶ９Ｂを操作することはできない。
【０００８】
なお、図６では省略しているが、制御変数ＣＶ９Ａ、外乱変数ＤＶ９Ｂ、制御変数ＣＶ９Ｂの値は、それぞれ対応するローカルコントローラ８Ａ、８Ｂに送信される。また、ローカルコントローラ８Ａは、操作変数ＭＶ８Ｂおよび制御変数ＣＶ９Ｂの値を取得せず、ローカルコントローラ８Ｂは、操作変数ＭＶ８Ａの値を取得しない。
【０００９】
一般に、プロセスの入出力特性は動特性を有する。図７〜図９は、ある時刻で入力を単位量だけ増やした場合に、出力が時間的にどのように変化するのか（ステップ応答）を示すグラフである。
【００１０】
図７に示すように、サブプロセス９Ａの操作変数ＭＶ８Ａ（流量）を増やした場合に、制御変数ＣＶ９Ａ（流量）は、時間遅れの後、増加する。図８に示すように、サブプロセス９Ｂの操作変数ＭＶ８Ｂ（流量）を増やした場合に、制御変数ＣＶ９Ｂ（温度）は上昇する。図９に示すように、外乱変数ＤＶ９Ｂ（流量）を増やした場合に、制御変数ＣＶ９Ｂ（温度）は上昇する。
【００１１】
上記従来技術の最適化システムは、例えば、以下のような手順により最適化を行う。
【００１２】
手順１：グローバルオプティマイザが、グローバルで最適な定常目標値（グローバル目標値）をＬＰ（線形計画法）またはＱＰ（２次計画法）によって算出する。この定常目標値は、操作変数や制御変数の上下限制約を守りつつ、最適化の目的関数を最適にするような解となる。
【００１３】
手順２：グローバルオプティマイザは、ローカルコントローラに制御変数（ＣＶ）および操作変数（ＭＶ）のグローバル目標値を送信する。
【００１４】
手順３：ローカルコントローラは、受信したグローバル目標値にできるだけ近くなるように、かつ、制御変数や操作変数の上下限制約が守られるように、目標値（以下、「ローカル目標値」という。）を決め直す。
【００１５】
手順４：ローカルコントローラは、制御変数や操作変数がローカル目標値に追従するように、担当するサブプロセスを制御する。
【００１６】
上記手順３で目標値を決め直す理由として、以下の２つがある。１つ目の理由は、プロセスに動特性や遅延があるためである。グローバルオプティマイザが決めたグローバル目標値は、プロセス全体が定常状態になった時に達成可能な目標値である。一方、上述した図６に示すプロセスでは、上流側のローカルコントローラ８Ａが行った操作が、下流側のサブプロセス９Ｂに影響を及ぼすまでには時間がかかる。プロセスによっては、上流側の操作の影響が及ばないと、下流側のローカルコントローラ８Ｂではグローバル目標値に一致させることができない場合がある。このような場合、ローカルコントローラ８Ｂは、実現可能な目標値に修正する必要がある。
【００１７】
２つ目の理由は、グローバルオプティマイザがグローバル目標値を決めてからローカルコントローラで制御するまでの間に、ユーザが変数の上下限を変更した場合や、大きな外乱や変動が入力された場合に対応するためである。
【００１８】
ローカルコントローラが制御する前に目標値を決め直すことで、上述した２つの理由による影響に対応することが可能となる。
【００１９】
ところで、ローカルコントローラで目標値を決め直しても、過渡状態で操作変数がグローバル目標値を一時的に行き過ぎる場合がある。このような現象が生ずる理由を、上述した図６に示すプロセスを用いて説明する。
【００２０】
ローカルコントローラ８Ｂは、操作変数ＭＶ８Ｂ、制御変数ＣＶ９Ｂの値がグローバル目標値に一致するようにローカル目標値を決める。しかしながら、グローバル目標値は、外乱変数ＤＶ９Ｂが新しい目標値に追従したときに達成可能な目標値となるため、そのような定常状態に移行する前（過渡状態）に、操作変数ＭＶ８Ｂおよび制御変数ＣＶ９Ｂをグローバル目標値に一致させることはできない。過渡状態下で、制御変数ＣＶ９Ｂをできる限りグローバル目標値に近づけるためには、操作変数ＭＶ８Ｂをグローバル目標値より更に増加させる必要がある。この場合、操作変数ＭＶ８Ｂと制御変数ＣＶ９Ｂとのバランスによっては、図１０に示すように、操作変数ＭＶ８Ｂの増加量が大きくなり過ぎ、グローバル目標値を一時的に大きく行き過ぎることが起こり得る。
【００２１】
図１０に示すような応答であっても制約を違反することになるとは限らず、制御変数ＣＶ９Ｂをできる限り速く目標値に追従させるという要望に対しては、望ましい応答となる。しかしながら、プロセスに変動や負荷を与えたくないという要望に対しては、例えば、図１１、図１２の実線Ｇａ、Ｇｃで示す応答よりも、破線Ｇｂ、Ｇｄで示す応答の方が、望ましい応答となる。
【００２２】
なお、過渡状態で操作変数の値がグローバル目標値を一時的に大きく行き過ぎるという問題は、図６に示すプロセスに限らず、複数のサブプロセスや装置を連結したプロセスであれば起こり得る問題である。また、最適化の設定やプロセスの構成によっては、上記行き過ぎとはならず、操作変数の値がグローバル目標値から離れる方向に動いてしまうこともある。
【００２３】
本発明は、定常状態に至るまでの過渡状態にあるときの操作変数の値の変動幅を抑制することができる最適化制御システムを提供することを目的とする。
【課題を解決するための手段】
【００２４】
本発明に係る最適化システムは、制御対象を制御する複数の制御部と、前記制御対象を制御する際に用いられる変数を最適化し、当該変数の目標値を算出する最適化部と、前記最適化部により算出された前記目標値を所定の制約条件を満たすように修正する目標値修正部と、前記変数に含まれる一つ以上の操作変数に対し、前記操作変数の現在値を基準にして前記目標値を超過することを抑制する制約、および前記操作変数の現在値を基準にして前記目標値から遠ざかることを抑制する制約のうち、少なくともいずれか一方を、前記所定の制約条件に追加する制約追加部と、を有し、前記制御部は、前記目標値修正部により修正された前記目標値に基づいて前記制御対象を制御することを特徴とする。
【００２５】
前記所定の制約条件には、前記変数に対して決められた上限および下限を違反しないこと、および前記目標値修正部により修正される前記目標値を、前記最適化部により算出される前記目標値にできる限り近づけることが含まれていることとしてもよい。
【発明の効果】
【００２６】
本発明によれば、定常状態に至るまでの過渡状態にあるときの操作変数の値の変動幅を抑制することができる最適化システムを提供することができる。
【図面の簡単な説明】
【００２７】
【図１】第１実施形態における最適化システムの構成を例示する図である。
【図２】変形例における過渡状態変動抑制装置の構成を例示する図である。
【図３】変形例における過渡状態変動抑制装置の構成を例示する図である。
【図４】第２実施形態における最適化システムの構成を例示する図である。
【図５】第３実施形態における最適化システムの構成を例示する図である。
【図６】従来の最適化システムの構成を例示する図である。
【図７】ローカルコントローラの操作量に対する制御量のステップ応答を例示する図である。
【図８】ローカルコントローラの操作量に対する制御量のステップ応答を例示する図である。
【図９】ローカルコントローラの外乱変数に対する制御量のステップ応答を例示する図である。
【図１０】ローカルコントローラの操作量が大きくなり過ぎる応答を例示する図である。
【図１１】ローカルコントローラの操作量の応答状態を例示する図である。
【図１２】外乱変数（制御量）の応答状態を例示する図である。
【発明を実施するための形態】
【００２８】
[本発明の原理]
本発明における実施形態を説明する前に、本発明の原理について説明する。本発明は、グローバルオプティマイザとローカルコントローラとを含む最適化システムにおいて実現することができる。
【００２９】
上記従来技術のような最適化システムでは、一般に、ローカルコントローラで目標値を修正し、ローカル目標値を決める際に、以下の制約条件に基づいて最適化を行うこととなる。
【００３０】
制約条件Ａ：ローカル目標値が制御変数と操作変数とに対して決められた上限および下限を違反しない。
【００３１】
制約条件Ｂ：ローカル目標値をグローバル目標値にできる限り近づける。
【００３２】
上記制約条件Ａ、制約条件Ｂには、過渡状態で操作変数の値がグローバル目標値を一時的に大きく行き過ぎることや、操作変数の値がグローバル目標値から離れる方向に動いてしまうことを制限することについてまでは、含まれていない。したがって、上流側にあるプロセスの変数の値がグローバル目標値から離れている場合には、上述した過渡状態で操作変数の値がグローバル目標値を大きく行き過ぎることや、グローバル目標値から離れる方向に動いてしまうという問題が起こり得る。
【００３３】
そこで、本発明では、ローカル目標値を決める際の制約条件に、以下の条件を加えることとする。
制約条件Ｃ：操作変数のローカル目標値を、現在値から見てグローバル目標値を超えない範囲におさめ（以下、「行き過ぎ操作抑制」ともいう。）、および／または、操作変数のローカル目標値を、現在値から見てグローバル目標値から遠ざからない範囲におさめる（以下、「逆方向操作抑制」ともいう。）。
【００３４】
上記制約条件Ｃを制約条件に追加することで、図１１、図１２の破線Ｇｂ、Ｇｄで示す応答を実現することが可能となる。
【００３５】
次に、図面を参照して本発明における実施形態について説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除するものではない。すなわち、本発明は、その趣旨を逸脱しない範囲で種々変形して実施することができる。
【００３６】
[第１実施形態]
図１を参照して、第１実施形態における最適化システムの構成について説明する。図１に示すように、最適化システム１は、最適化部２１を有するグローバルオプティマイザ２と、制約追加部３１および目標値修正部３２を有する過渡状態変動抑制装置３と、制御部４１を有するローカルコントローラ４とを備える。
【００３７】
最適化部２１は、制御部４１による制御対象（プロセス）５の制御に用いる変数（操作変数、制御変数）を最適化し、プロセス全体を最適にするグローバル目標値を算出する。なお、本実施形態では、制御対象の例示としてプロセス（特に生産・製造プロセス）を用いて説明するが、制御対象はこれに限定されず、例えば、動力プラント、エネルギープラント、熱源設備であってもよい。
【００３８】
具体的に、最適化部２１は、設定された目的関数および各変数の基準となる値（最適化の原点となる値）に基づいて、システム全体の最適化を行う。各変数の基準となる値としては、例えば、プロセスの現在値や定常予測値（制御を行わない場合の定常状態におけるプロセスの予測値）を用いることができる。
【００３９】
最適化の手法としては、例えば、周知の線形計画法や二次計画法を用いることができるが、最適目標値が定まる手法であればどのようなものを用いてもよい。
【００４０】
最適化部２１は、制御変数および操作変数に対して与えられた上限および下限の制約（以下、「上下限制約」ともいう。）の制約の範囲内、かつ最適化の目的に沿った目的関数を最適にするような最適解を算出する。この最適解は、上流から下流まで変化が行き渡り、全体が定常状態に至ったときの解である。
【００４１】
最適化部２１は、算出したグローバル目標値を制約追加部３１に送信する。
【００４２】
制約追加部３１は、グローバルオプティマイザ２またはローカルコントローラ４から操作変数の制約条件（上下限制約）と現在値（例えば、ローカルコントローラ４が現時点で制御対象５に設定している値）を収集し、以下の制約条件Ｃを追加する。
【００４３】
グローバル目標値が、現在値よりも大きい場合；
制約条件Ｃ−１：操作変数のローカル目標値を、操作変数のグローバル目標値にマージンを加えた値以下にする。
制約条件Ｃ−２：操作変数のローカル目標値を、操作変数の現在値からマージンを差し引いた値以上にする。
【００４４】
グローバル目標値が、現在値以下である場合；
制約条件Ｃ−３：操作変数のローカル目標値を、操作変数のグローバル目標値からマージンを差し引いた値以上にする。
制約条件Ｃ−４：操作変数のローカル目標値を、操作変数の現在値にマージンを加えた値以下にする。
【００４５】
上記制約条件Ｃ−１および制約条件Ｃ−３は、操作変数のローカル目標値を、現在値から見てグローバル目標値を超えない範囲におさめるという制約に基づくものである。
【００４６】
上記制約条件Ｃ−２および制約条件Ｃ−４は、操作変数のローカル目標値が、現在値から見てグローバル目標値から遠ざからない範囲におさめるという制約に基づくものである。
【００４７】
制約条件Ｃ−１および制約条件Ｃ−３と制約条件Ｃ−２および制約条件Ｃ−４とを制約条件に追加することが望ましいが、いずれか一方を追加することでも効果は得られる。制約条件にマージンを含めることとしているのは、行き過ぎ操作や逆方向操作を完全に禁止するのではなく、多少の操作誤差を許容する場合に対応するためである。マージンの値は、制約条件Ｃ−１および制約条件Ｃ−３と制約条件Ｃ−２および制約条件Ｃ−４とで同じ値にしてもよいし、異なる値にしてもよい。
【００４８】
制約追加部３１が追加する制約条件Ｃは、以下の式（１）〜式（４）を用いて表すこともできる。
【００４９】
ＭＶi(G)＞ＭＶi（０）の場合；
ＭＶi≦ＭＶi(G)＋ηi  …（１）
ＭＶi≧ＭＶi（０）−ηi  …（２）
【００５０】
ＭＶi(G)≦ＭＶi（０）の場合；
ＭＶi≧ＭＶi(G)-ηi  …（３）
ＭＶi≦ＭＶi（０）＋ηi  …（４）
【００５１】
各式にあるＭＶiはｉ番目の操作変数のローカル目標値（修正後の目標値）を示し、ＭＶi(G)はｉ番目の操作変数のグローバル目標値を示し、ＭＶi（０）はｉ番目の操作変数の現在値を示し、ηiはｉ番目のマージンを示す。
【００５２】
目標値修正部３２は、ローカル目標値が制御変数と操作変数とに対して決められた上限および下限を違反しないという制約条件Ａと、制約追加部３１が追加した制約条件Ｃとを満たす範囲内で、グローバル目標値にできる限り近いローカル目標値を、演算により算出する。なお、この演算は一種の最適化演算であるが、最適化部２１で行われる最適化演算とは別のものである。以下に、目標値修正部３２における算出手順の一例を説明する。
【００５３】
最初に、ローカル目標値が制御変数と操作変数とに対して決められた上限および下限を違反しないという制約条件Ａを表す式として、以下の式（５）、（６）を設定する。
【００５４】
ＭＶLOi≦ＭＶi≦ＭＶHIi  …（５）
ＣＶLOi≦ＣＶi≦ＣＶHIi  …（６）
【００５５】
上記式（５）にあるＭＶiはｉ番目の操作変数のローカル目標値を示し、ＭＶLOiはｉ番目の操作変数の下限を示し、ＭＶHIiはｉ番目の操作変数の上限を示す。上記式（６）にあるＣＶiはｉ番目の制御変数のローカル目標値を示し、ＣＶLOiはｉ番目の制御変数の下限を示し、ＣＶHIiはｉ番目の制御変数の上限を示す。
【００５６】
続いて、制御変数と操作変数との関係を決める数式を設定する。制御変数の値は、操作変数の値を変えると一意に定まるため、両者の間には以下のような関係式（７）が成立する。この式（７）も演算の制約条件に含める。
【数１】
2017010072.tif 000003
【００５７】
上記式（７）にあるｙは（ＣＶ1，ＣＶ2，…、ＣＶN）であり、ｙ∞は（ＣＶ1（∞），ＣＶ2（∞），…、ＣＶN（∞））である。ＣＶi（∞）は、操作変数ＭＶを現在値（ＭＶ（０））のままにした場合に制御変数ＣＶが収束すると予測される値（定常予測値）である。Ｎは、制御変数の数であり、Ｍは、操作変数の数である。また、上記式（７）にあるｕは（ＭＶ1，ＭＶ2，…、ＭＶM）であり、ｕ0は（ＭＶ1（０），ＭＶ2（０），…、ＭＶM（０））である。また、上記式（７）にあるＧは、Ｍ行Ｎ列の行列であり、操作変数ＭＶの変化量に対する制御変数ＣＶの変化の割合を表す行列である。
【００５８】
続いて、ローカル目標値をグローバル目標値にできる限り近づけるという制約条件Ｂに対応する目的関数（評価関数）を設定する。以下の式（８）に、目的関数の一例を示す。なお、目的関数は、式（８）に限定されず、ローカル目標値をグローバル目標値に近づけるほど評価が良くなる目的関数を適用することができる。
【数２】
2017010072.tif 000004
【００５９】
上記式（８）にあるＣＶiはｉ番目の制御変数のローカル目標値であり、ＣＶi(G)はｉ番目の制御変数のグローバル目標値であり、ＭＶjはｊ番目の操作変数のローカル目標値であり、ＭＶj(G)はｊ番目の操作変数のグローバル目標値であり、ｑi(CV)はｉ番目の制御変数の目的関数に対する重みであり、ｑj(MV)はｊ番目の操作変数の目的関数に対する重みである。また、上記式（８）にあるｙは（ＣＶ1，ＣＶ2，…，ＣＶN）であり、ｕは（ＭＶ1，ＭＶ2，…，ＭＶM）である。
【００６０】
重みｑi(CV)、重みｑj(MV)を大きくすると、重みを大きくした変数のローカル目標値をグローバル目標値により近づける効果が得られる。重みを０にすると、重みを０にした変数は、積極的にグローバル目標値に近づけられることはなくなり、他の変数のローカル目標値をグローバル目標値に近づけた結果として、成り行きで決まる値となる。
【００６１】
重みは、全ての変数に対して均等に設定してもよいし、制御変数および操作変数のいずれか一方にのみ設定することとしてもよい。また、予め定められたルールに従って決めることとしてもよい。ただし、０以外の係数の数は、操作変数の数と同じか、それ以上にする必要がある。このような重みの設定方法は、従来技術と同様であるため、詳細な説明については省略する。
【００６２】
続いて、各制約条件と目的関数とを組み合わせて最適化問題を解き、ローカル目標値を決定する演算を行う。ローカル目標値を決定する方法のうち、例示的に２つの方法について、以下に説明する。
【００６３】
決定方法１：以下の条件（ａ）〜条件（ｄ）に従ってローカル目標値を決定する。
【００６４】
条件（ａ）：式（１）〜式（４）のマージンηiを全て０に設定する。すなわち、操作変数のローカル目標値は、グローバル目標値と現在値との間に必ず存在しなければならない。
【００６５】
条件（ｂ）：式（５）、式（６）のうち、式（１）〜式（４）の操作変数に対する制約条件を満たす場合には必ず成立する条件に該当するものを削除する。
【００６６】
条件（ｃ）：制御変数ＣＶと操作変数ＭＶとの関係は、式（７）で設定する。
【００６７】
条件（ｄ）：目的関数は、式（８）をそのまま使用する。
【００６８】
決定方法１により決定することで、操作変数のローカル目標値がグローバル目標値と現在値との間に必ず存在するような解が得られる。これは、従来技術の問題点であった操作変数に対する行き過ぎ操作や逆方向操作を抑制するという意味では好ましい。しかしながら、操作変数の制約を狭い範囲に限定することになるため、式（１）〜式（７）を全て満たすローカル目標値が得られないこともある。
【００６９】
決定方法２：以下の条件（ｅ）〜条件（ｇ）に従ってローカル目標値を決定する。
【００７０】
条件（ｅ）：式（１）〜式（４）で設定したマージンηiを０以上にするという制約条件を追加する。すなわち、ηi≧０という制約条件を追加する。
【００７１】
条件（ｆ）：式（１）〜式（７）の制約条件をそのまま使用する。
【００７２】
条件（ｇ）：目的関数として、式（８）の目的関数に対し、係数を付加したマージンηiの２乗和をさらに加算する目的関数を設定する。具体的には、以下の式（９）の目的関数を設定する。
【数３】
2017010072.tif 000005
【００７３】
式（９）にあるｐiは、ｉ番目の操作変数のマージンηiに対するペナルティ係数である。ペナルティ係数の値を大きくすると、ｉ番目の操作変数のローカル目標値が、グローバル目標値を超えることや、グローバル目標値から遠ざかることによって加わるペナルティが大きくなる。つまり、ペナルティ係数の値を大きくすると、ローカル目標値がグローバル目標値と現在値との範囲から外れる動きを抑制する効果が大きくなる。
【００７４】
決定方法２は、ローカル目標値がグローバル目標値と現在値とで囲まれる範囲から外れるのを完全に禁止するのではなく、外れた量に対してペナルティを加えるものである。そのため、決定方法１と比較して、解が存在しない事態を回避しやすいというメリットがある。
【００７５】
なお、操作変数の現在値ＭＶi（０）や、制御変数の定常予測値ＣＶi（∞）によっては、式（５）〜式（７）を満たすローカル目標値が存在しないことが起こり得る。この場合には、式（６）の制御変数に関する制約を緩和することで解が得られるようになる。制約を緩和する際の手順については、様々な方法が公知となっているため、ここでは説明を省略する。
【００７６】
制御部４１は、制御対象５に対する制御変数の値および操作変数の値が、目標値修正部３２により決定されたローカル目標値に漸近（追従）するように制御する。この制御には、公知技術であるモデル予測制御などをそのまま適用することができる。
【００７７】
[第１実施形態の変形例]
なお、上述した第１実施形態の過渡状態変動抑制装置３では、全ての操作変数に対して、ローカル目標値が、現在値から見てグローバル目標値を超えないようにするための制約条件Ｃ−１および制約条件Ｃ−３と、現在値から見てグローバル目標値グローバル目標値から遠ざからないようにするための制約条件Ｃ−２および制約条件Ｃ−４とを追加しているが、これに限定されない。
【００７８】
例えば、制約条件Ｃ−１ないし制約条件Ｃ−４を追加するかどうかを、操作変数単位、かつ制約条件ごとに決めることとしてもよい。この場合、例えば、図２に示すように、過渡状態変動抑制装置３に、制約追加対象決定部３３をさらに備えることとすればよい。
【００７９】
本変形例における制約追加対象決定部３３は、制約条件Ｃ−１ないし制約条件Ｃ−４を追加するかどうかを、操作変数単位、かつ制約条件ごとに決める。
【００８０】
本変形例の制約追加部３１は、制約追加対象決定部３３が追加することを決定した制約条件のみを追加する。第１変形例の最適化システム１におけるその他の機能については、第１実施形態の機能と同様であるため、それらの説明は省略する。
【００８１】
本変形例における最適化システム１によれば、操作変数単位や現象（グローバル目標値を超えることや、グルーバル目標値から遠ざかること）単位に、制約条件の追加を決定することができる。したがって、本発明の効果の要否を操作変数単位や現象単位で設定することや調整することが可能となる。
【００８２】
また、本変形例において、制約追加対象決定部３３の機能を、操作変数ごとにＯＮ／ＯＦＦできる設定部を、さらに設けることとしてもよい。ユーザが、操作の変動を抑制したい変数のみを制約条件に任意に追加し、そうではない変数を制約条件の追加対象から任意に外せることとすれば、変動を抑制したい操作変数については、変動が抑制され、そうではない操作変数については、制御変数をグローバル目標値に追従させるために積極的に使わせることが、ユーザの設定に応じて操作可能となる。また、行き過ぎ操作のみを抑制することや、逆方向操作のみを抑制することも可能となる。
【００８３】
また、図３に示すように、本変形例の過渡状態変動抑制装置３に、最適化結果分析部３４をさらに備えることとしてもよい。最適化結果分析部３４は、グローバルオプティマイザ２の最適化結果を分析し、その分析結果に基づいて、制約条件を追加するまたは追加しない操作変数と種類（行き過ぎ操作抑制、逆方向操作抑制）とを制約追加対象決定部３３に通知する。
【００８４】
例えば、図１０に示す現象と同様に、操作変数ＭＶがグローバル目標値を超過した場合について考える。この時、グローバルオプティマイザ２が操作変数ＭＶを最小化する最適化を行っていたとすると、このようなグローバル目標値の超過は、グローバルオプティマイザ２の最適化の目的に反するものとなり、回避すべき現象となる。一方、グローバルオプティマイザ２が操作変数ＭＶを最大化する最適化を行っていたとすると、このようなグローバル目標値の超過は、一時的なものであっても積極的に最適化する方向に操作した結果であり、敢えて抑制する必要はないこととなる。
【００８５】
図３に示す最適化結果分析部３４は、行き過ぎ操作や逆方向操作を抑制するまたは抑制しない操作変数と、抑制する方向（行き過ぎ操作、逆方向操作）とを特定し、その結果を、制約追加対象決定部３３に送信する。
【００８６】
最適化結果分析部３４の処理手順の一例を以下に説明する。ここでは、最適化部２１が、１つの目的関数を最小化することを前提とする。
【００８７】
手順１：グローバルオプティマイザ２の最適化部２１から最適化の目的関数を取得する。
【００８８】
手順２：各操作変数が目的関数に含まれるかどうかを判定する。目的関数に含まれない場合には、その操作変数を、制約条件の追加対象とする。目的関数に含まれる場合には手順３に移行する。
【００８９】
手順３：各操作変数が目的関数に含まれる場合には、グローバル目標値と現在値とにおける目的関数の傾きを算出する。別言すると、目的関数をその操作変数について偏微分することで、そのグローバル目標値と現在値とにおける傾きを算出する。
【００９０】
手順４：手順３で算出した傾きから、制約条件を追加するかどうかを、以下のように判定する。
【００９１】
判定１：グローバル目標値が現在値よりも大きい場合；
判定１−１：グローバル目標値における傾きが正の場合は、グローバル目標値を超えると目的関数がより大きくなる（最適化したい方向と逆になる）ため、制約条件の追加対象に含める。一方、傾きが負の場合は、グローバル目標値を超えたとしても最適化したい方向と同じであるため、制約条件の追加対象に含めない。
【００９２】
判定１−２：現在値における傾きが正の場合は、現在値から見てグローバル目標値から離れる方向に操作すると目的関数がより小さくなる（最適化したい方向と同じになる）ため、制約条件の追加対象に含めない。一方、傾きが負の場合は、グローバル目標値から離れる方向に操作することは最適化したい方向と逆に操作することになるため、制約条件の追加対象に含める。
【００９３】
判定２：グローバル目標値が現在値以下の場合；
判定２−１：グローバル目標値における傾きが負の場合は、グローバル目標値を超えると目的関数がより大きくなる（最適化したい方向と逆になる）ため、制約条件の追加対象に含める。一方、傾きが正の場合は、グローバル目標値を超えたとしても最適化したい方向と同じであるため、制約条件の追加対象には含めない。
【００９４】
判定２−２：現在値における傾きが負の場合は、現在値から見てグローバル目標値から離れる方向に操作すると目的関数がより小さくなる（最適化したい方向と同じになる）ため、制約条件の追加対象に含めない。一方、傾きが正の場合は、グローバル目標値から離れる方向に操作することは最適化したい方向と逆に操作することになるため、制約条件の追加対象に含める。
【００９５】
なお、傾きが０である場合には、傾きだけでは判定できないため、以下のようにする。二次計画法を用いる場合には、その点からずらすと目的関数の値が必ず大きくなるため、制約条件の追加対象に含めることとした方が好ましい。線形計画法を用いる場合には、手順３で目的関数に含まれない操作変数を除外しているため、傾きが０になることはない。
【００９６】
[第２実施形態]
図４を参照して、第２実施形態における最適化システムについて説明する。上述した第１実施形態では、最適化システム１を、グローバルオプティマイザ２と過渡状態変動抑制装置３とローカルコントローラ４とで構成した場合について説明したが、第２実施形態では、最適化システム１を、グローバルオプティマイザ２とローカルコントローラ４とで構成する場合について説明する。
【００９７】
第２実施形態における最適化システム１は、第１実施形態で過渡状態変動抑制装置３が有していた制約追加部３１および目標値修正部３２を、ローカルコントローラ４が有することとした点で、第１実施形態における最適化システム１と異なる。各部の機能は、第１実施形態の機能と同様であるため、それらの説明は省略する。
【００９８】
第２実施形態では、制約追加部３１および目標値修正部３２で用いる情報（操作変数の現在値など）の多くがローカルコントローラ４に存在するため、第１実施形態と比較して、処理効率をより向上させることが可能となる。
【００９９】
なお、第２実施形態におけるローカルコントローラ４に、制約追加対象決定部３３、設定部および／または最適化結果分析部３４をさらに設けることとしてもよい。
【０１００】
[第３実施形態]
図５を参照して、第３実施形態における最適化システムについて説明する。上述した第２実施形態では、第１実施形態で過渡状態変動抑制装置３が有していた制約追加部３１および目標値修正部３２を、ローカルコントローラ４が有する場合について説明したが、第３実施形態では、第１実施形態で過渡状態変動抑制装置３が有していた制約追加部３１および目標値修正部３２を、グローバルオプティマイザ２が有する点で異なる。各部の機能は、第１実施形態の機能と同様であるため、それらの説明は省略する。
【０１０１】
第３実施形態では、従来システムのローカルコントローラをそのまま利用し、変更を加える必要がないため、従来システムからの変更作業を軽減することができる。
【０１０２】
なお、第３実施形態におけるグローバルオプティマイザ２に、制約追加対象決定部３３、設定部および／または最適化結果分析部３４をさらに設けることとしてもよい。
【符号の説明】
【０１０３】
１…最適化システム
２…グローバルオプティマイザ
３…過渡状態変動抑制装置
４…ローカルコントローラ
５…制御対象（プロセス）
２１…最適化部
３１…制約追加部
３２…目標値修正部
３３…制約追加対象決定部
３４…最適化結果分析部
４１…制御部
【図１】
2017010072.tif 000006
【図２】
2017010072.tif 000007
【図３】
2017010072.tif 000008
【図４】
2017010072.tif 000009
【図５】
2017010072.tif 000010
【図６】
2017010072.tif 000011
【図７】
2017010072.tif 000012
【図８】
2017010072.tif 000013
【図９】
2017010072.tif 000014
【図１０】
2017010072.tif 000015
【図１１】
2017010072.tif 000016
【図１２】
2017010072.tif 000017