(57)【要約】  プロセスを制御するためのシステムと方法には、プロセスのシミュレーションを行いプロセスの模擬出力を生成することと、プロセスからの被測定入力に基づき、且つプロセスシミュレーターからの模擬出力に基づいて、一式の目標値を開発することと、プロセス制御システムの各作動サイクル中に一式の目標値に基づいてプロセスを制御するように構成された複数の制御出力を生成することとが含まれる。模擬出力には、プロセスの定常状態にいたるまでの一つ又は複数の予測将来値が含まれる。
2009518750.tif 000002
【特許請求の範囲】
【請求項１】
プロセスのシミュレーションを行いプロセスの模擬出力を生成するように適応され、該シミュレートされた模擬出力がプロセスの予測将来値を一つ又は複数含むことを特徴とするプロセスシミュレーターと、
プロセスからの被測定入力に基づいて、且つ前記プロセスシミュレーターからの模擬出力に基づいて一式の目標値を開発するように適応されたオプティマイザと、
プロセス制御システムの各作動サイクル中に前記オプティマイザから多重入力／多重出力コントローラに提供される一式の目標値に基づいてプロセスを制御するように構成された複数の制御出力を、プロセス制御システムの各作動サイクル中に生成するように適応された多重入力／多重出力コントローラとを備える、プロセスを制御するためのプロセス制御システム。
【請求項２】
前記プロセスシミュレーターがプロセスの動作と同時にプロセスのシミュレーションを行うように適応されることを特徴とする請求項１のプロセス制御システム。
【請求項３】
前記プロセスシミュレーターがプロセスからの測定された帰還出力である被測定フィードバック出力に基づいてプロセスのシミュレーションを行うように適応され、プロセスの模擬出力を生成すべくシミュレーション結果が被測定フィードバック出力により補正される、ことを特徴とする請求項１のプロセス制御システム。
【請求項４】
前記プロセスシミュレーターが前記オプティマイザから独立したプロセスのシミュレーションを行うように適応されることを特徴とする請求項１のプロセス制御システム。
【請求項５】
前記プロセスシミュレーターがプロセスのシミュレーションモデルを構成し、前記オプティマイザがシミュレーションモデルに基づいたプロセスの最適化定常状態モデルを備える、ことを特徴とする請求項１のプロセス制御システム。
【請求項６】
前記プロセスシミュレーターが、プロセスのシミュレーションを行い、プロセスの定常状態までにいたるプロセスの模擬出力を生成するように適応され、
前記オプティマイザが、複数のプロセスからの被測定入力に基づき、且つプロセスの定常状態までにたる前記プロセスシミュレーターからのプロセスの模擬出力に基づき一式の目標値を開発するように適応される、ことを特徴とする請求項１のプロセス制御システム。
【請求項７】
前記プロセスシミュレーターがプロセスのステップ応答モデルを備えることを特徴とする請求項１のプロセス制御システム。
【請求項８】
前記プロセスシミュレーターが、プロセスのシミュレーションを行いプロセスの模擬出力を生成すべく、ステップ応答モデルから決定された動的モデル行列を利用するように適応される、ことを特徴とする請求項７のプロセス制御システム。
【請求項９】
前記プロセスシミュレーターが、第一原理モデリングとパラメトリック・モデリングから成るグループの少なくとも一つから決定された動的モデル行列を利用するように適応される、ことを特徴とする請求項１のプロセス制御システム。
【請求項１０】
前記オプティマイザが定常状態ゲイン行列に基づいて一式の目標値を開発するように適応されることを特徴とし、且つ定常状態ゲイン行列が動的モデル行列に基づくことを特徴とし、且つ前記プロセスシミュレーターが実時間の動的モデル行列を更新するように適応されることを特徴とする、請求項９のプロセス制御システム。
【請求項１１】
前記プロセスシミュレーターが、プロセスの一部分又は複数部分のシミュレーションを行うように構成された一つ又は複数のシミュレーション・ブロックを備え、
各シミュレーション・ブロックが、プロセスの少なくとも一部分をモデルにしたプロセスモデルと、プロセスの一部分に関連するプロセス要素に対する模擬出力を生成すべくプロセスの一部分の動作のシミュレーションを行うためにプロセスモデルを利用し、シミュレーションユニットとを備え、
前記シミュレートされた模擬出力がプロセス要素に対する予測将来値を一つ又は複数含む、ことを特徴とする請求項１のプロセス制御システム。
【請求項１２】
前記シミュレーション・ブロックの少なくとも一つが、プロセス要素用の模擬出力に対応するプロセス要素の実際値を受け入れるように適応された入力を含むことを特徴とする請求項１１のプロセス制御システム。
【請求項１３】
前記入力が、プロセスのオンライン動作中になされたプロセス要素の計測を受け入れるように通信可能に接続されることを特徴とする請求項１２のプロセス制御システム。
【請求項１４】
前記オプティマイザが、目標操作変数として多重入力／多重出力コントローラに目標値を適用するように適応されることを特徴とする請求項１のプロセス制御システム。
【請求項１５】
前記オプティマイザが、目標制御変数として多重入力／多重出力コントローラに目標値を適用するように適応されることを特徴とする請求項１のプロセス制御システム。
【請求項１６】
前記オプティマイザが、目的関数に基づき、および伸縮的プロセス制限に基づいて、一式の目標値を開発するように適応されることを特徴とする請求項１のプロセス制御システム。
【請求項１７】
前記オプティマイザが目的関数を備え、且つ、
前記オプティマイザが目的関数を最小化または最大化するように適応されるとともに、制御変数の事前定義設定点範囲を超える自由度を伴って目的関数を拡張するようにさらに適応される、ことを特徴とする請求項１のプロセス制御システム。
【請求項１８】
前記オプティマイザが目的関数を備え、且つ、
前記オプティマイザが、一式の制御変数を事前定義制御変数限界内に維持し、一式の操作変数を一式の事前定義操作変数限界内に維持しながら、目的関数を最小化または最大化するように適応され、解が存在しない場合には少なくとも一つ制御変数限界を違反することを可能にする、ことを特徴とする請求項１のプロセス制御システム。
【請求項１９】
制御変数が、プロセスのシミュレートされた模擬出力から決定された予測制御変数を備えることを特徴とする請求項１８のプロセス制御システム。
【請求項２０】
前記オプティマイザが、一式の制御変数を制御変数限界を越えて拡張すべく目的関数における一つ又は複数の緩和変数を利用するように適応されるとともに、
事前定義制御変数限界外で決定された解に基づいて一式の目標値を開発するようにさらに適応される、ことを特徴とする請求項１８のプロセス制御システム。
【請求項２１】
前記オプティマイザが緩和変数を目的関数に漸増的に含むように適応され、
付加的な緩和変数のそれぞれが事前定義設定点限界を越えたさらなる自由度により目的関数を拡張する、ことを特徴とする請求項２０のプロセス制御システム。
【請求項２２】
前記オプティマイザが、目的関数に含まれた付加的な緩和変数のそれぞれに罰則を適用するように適応され、
各緩和変数に対する罰則が、制御変数に関連付けられている優先度に依存する、ことを特徴とする請求項２１のプロセス制御システム。
【請求項２３】
前記オプティマイザが線形プログラミングオプティマイザを備えることを特徴とする請求項１のプロセス制御システム。
【請求項２４】
前記オプティマイザが非線形プログラミングオプティマイザを備えることを特徴とする請求項１のプロセス制御システム。
【請求項２５】
前記多重入力／多重出力コントローラがモデル予測コントローラを備えることを特徴とする請求項１のプロセス制御システム。
【請求項２６】
複数の操作変数と、操作変数の変化によりもたらすことができる複数の制御変数とを有するプロセスを最適化する方法であり、
模擬出力がプロセスの一つ又は複数の予測将来値を含むことを特徴としてプロセスの模擬出力を生成するためにプロセスのプロセスモデルを使用して、プロセスの動作のシミュレーションを行うことと、
プロセスの一部分の最適化モデルにプロセスの予測将来値を提供することと、
プロセスからの入力を測定することと、
プロセス動作点が複数の制御変数の一つ又は複数に対する一式の目標値により定義されることを特徴として、プロセスからの被測定入力に基づいて、且つ前記プロセスシミュレーターからの模擬出力に基づいてプロセス動作点を選択することにより最適化モデルを使用してプロセス最適化を実行することと、
プロセスを制御するために一式の目標値を使用することとが含まれる方法。
【請求項２７】
前記プロセスの動作のシミュレーションを行うことには、プロセスの動作と同時にプロセスの動作のシミュレーションを行うことが含まれることを特徴とする請求項２６の方法。
【請求項２８】
前記プロセスの動作のシミュレーションを行うことには、プロセスからのフィードバック出力を測定することと、プロセスからの被測定フィードバック出力に基づいてシミュレーション結果を補正することが含まれることを特徴とする請求項２６の方法。
【請求項２９】
前記プロセス最適化の実行には、プロセスの動作のシミュレーションを行うことから独立したプロセス最適化を行うことが含まれることを特徴とする請求項２６の方法。
【請求項３０】
前記プロセスの動作のシミュレーションを行うことには、プロセスの定常状態の模擬出力を生成するためにプロセスの定常状態でプロセスの動作のシミュレーションを行うことが含まれることを特徴とする請求項２６の方法。
【請求項３１】
前記プロセス最適化の実行には、フレキシブルなプロセス限界を有する目的関数を最小化するまたは最大化することが含まれることを特徴とする請求項２６の方法。
【請求項３２】
前記プロセスの模擬出力を生成するためにプロセスのプロセスモデルを使用してプロセスの動作のシミュレーションを行うことには、一つ又は複数の制御変数を予測することが含まれることを特徴とする請求項２６の方法。
【請求項３３】
前記フレキシブルなプロセス限界を有する目的関数を最小化または最大化することには、制御変数の事前定義設定点範囲を越えた自由度により目的関数を拡張することが含まれることを特徴とする請求項３１の方法。
【請求項３４】
前記フレキシブルなプロセス限界を有する目的関数を最小化または最大化することには、
事前定義制御変数限界内に一つ又は複数の制御変数を維持することと、
一式の事前定義操作変数限界内に操作変数の一つ又は複数を維持することと、
解が事前定義限界内に存在しない場合に制御変数限界の少なくとも一つを違反することと、
事前定義限界外で決定された解に基づいてプロセス動作点を選択することと、が含まれることを特徴とする請求項３１の方法。
【請求項３５】
制御変数限界の少なくとも一つを違反することには、一つ又は複数の緩和変数を目的関数に適用することが含まれ、
各緩和変数が、事前定義設定点限界を越えた一つ又は複数の制御変数を拡張する、ことを特徴とする請求項３４の方法。
【請求項３６】
目的関数に含まれる各緩和変数に罰則を適用することをさらに含む請求項３５の方法。
【請求項３７】
複数の操作パラメータを使用してプロセスの複数の制御パラメータを制御するためにプロセッサ上で実施されるプロセス制御ルーチンの一部分として使用されるように適応されたプロセス制御要素であり、
コンピュータ可読媒体と、
プロセスのシミュレーションを行い且つプロセスの予測将来値を一つ又は複数含むプロセスの模擬出力を生成するシミュレーション・ルーチンを備え、プロセスのシミュレーションを実施するためにコンピュータ可読媒体上に格納されプロセッサ上で実行されるように適応されたシミュレーション機能ブロックと、
最適化機能ブロックが、複数の制御パラメータに基づいて最適化基準を定義する目的関数と、各制御走査期間中に制御パラメータに対する一式の最適な目標値を生成するためにシミュレーション・ルーチンからの模擬出力と目的関数を使用するオプティマイザ・ルーチンと、目標値を使用して各制御走査期間中に複数の操作パラメータの各々に対する制御信号を生成する多重入力／多重出力制御ルーチンとを含み、動作中にプロセスの多重入力／多重出力制御の実施するために、コンピュータ可読媒体上に格納されプロセッサ上で実行されるように適応された最適化機能ブロックと、
を備えるプロセス制御要素。
【請求項３８】
前記シミュレーション・ルーチンがプロセスの動作と同時にプロセスのシミュレーションを行うことを特徴とする請求項３７のプロセス制御要素。
【請求項３９】
前記シミュレーション・ルーチンが、プロセスの模擬出力を生成するためのプロセスのシミュレーションを補正するためにプロセスからの被測定フィードバック出力を利用することを特徴とする請求項３７のプロセス制御要素。
【請求項４０】
前記最適化機能ブロックが、プロセスの定常状態モデルを備えることを特徴とする請求項３７のプロセス制御要素。
【請求項４１】
前記シミュレーション機能ブロックが、プロセスのシミュレーションモデルを備え、また、前記プロセスの定常状態モデルがプロセスのシミュレーションモデルに基づく、ことを特徴とする請求項４０のプロセス制御要素。
【請求項４２】
前記シミュレーション・ルーチンがプロセスのシミュレーションを行い、プロセスの定常状態に対するプロセスの模擬出力を生成し、且つ、
前記オプティマイザ・ルーチンが、制御パラメータに対する一式の最適な目標値を生成するためにプロセスの目的関数およびプロセスの模擬定常状態出力を使用する、ことを特徴とする請求項３７のプロセス制御要素。
【請求項４３】
前記シミュレーション機能ブロックがプロセスのモデルを備え、且つ前記シミュレーション・ルーチンが、モデルから決定された動的モデル行列を利用する、ことを特徴とする請求項３７のプロセス制御要素。
【請求項４４】
プロセスのステップ応答モデル、プロセスの第一原理モデルおよびプロセスのパラメトリックモデルから成るグループの少なくとも一つを前記モデルが備えることを特徴とする請求項４３のプロセス制御要素。
【請求項４５】
前記最適化機能ブロックが、動的モデル行列に基づいた定常状態ゲイン行列を備え、
前記オプティマイザ・ルーチンが、一式の最適な目標値を生成するために定常状態ゲイン行列を使用し、且つ
前記シミュレーション・ルーチンが、実時間において動的モデル行列を更新する、ことを特徴とする請求項４３のプロセス制御要素。
【請求項４６】
前記オプティマイザ・ルーチンが、目標値を目標操作変数として多重入力／多重出力制御ルーチンに適用することを特徴とする請求項３７のプロセス制御要素。
【請求項４７】
前記オプティマイザ・ルーチンが、目標値を目標制御変数として多重入力／多重出力制御ルーチンに適用することを特徴とする請求項３７のプロセス制御要素。
【請求項４８】
目的関数が少なくとも一つの緩和変数および事前定義制御変数限界を備え、且つ、
前記オプティマイザ・ルーチンが、事前定義制御変数限界内に制御変数を維持しながら目的関数を最小化または最大化し、
最適解が事前定義制御変数限界内に存在しない場合には前記オプティマイザ・ルーチンが、制御パラメータに対する一式の最適な目標値を生成するために、少なくとも一つの緩和変数に基づいて事前定義制御変数限界を違反する、ことを特徴とする請求項３７のプロセス制御要素。
【請求項４９】
各緩和変数が、制御変数限界を越えた自由度を有することを特徴とする請求項４８のプロセス制御要素。
【請求項５０】
最適解が事前定義制御変数限界および以前に適用された緩和変数のいかなるものの内に存在しない場合、前記オプティマイザ・ルーチンが各緩和変数を漸増的に目的関数に適用することを特徴とする請求項４８のプロセス制御要素。
【請求項５１】
前記オプティマイザ・ルーチンが、漸増的に適用された緩和変数の各々に罰則を適用することを特徴とする請求項５０のプロセス制御要素。
【請求項５２】
前記オプティマイザ・ルーチンが、線形オプティマイザ・ルーチンおよび非線形最適化ルーチンからなるグループの少なくとも一つを備えることを特徴とする請求項３７のプロセス制御要素。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概してプロセス工場内のプロセス制御システムに関し、より具体的にはプロセスシミュレーションおよび予測モデリングを使用したプロセスの最適化に関する。
本特許は、２００５年１２月５日に出願された米国仮出願第６０／７４２，３２２号の優先度を主張する。なお、米国仮出願第６０／７４２，３２２号の内容は、参照することにより、あらゆる目的に対してその全体が本稿にて明示的に援用されるものとする。
【背景技術】
【０００２】
プロセス制御システムは、（例えば、化学薬品の製造や発電所の制御など、）製品の製造またはプロセスの制御を行う製造工場且つ又は工場施設において幅広く使用されている。また、プロセス制御システムは、例えば石油・ガス掘削および貯蔵工程をはじめとする天然資源などの採掘にも使用されている。現に、一つ又は複数のプロセス制御システムを利用することにより、実質的にいかなる製造工程および資源採掘工程を自動化できる。将来的には農業用途でも同様にまたはより広範囲にわたり、プロセス制御システムが使用されるようになるであろうと考えられている。
【０００３】
化学薬品の処理工程、石油精製工程またはその他の処理工程に使用されるようなプロセス制御システムは通常、アナログ、デジタルまたはアナログ・デジタル混在バスを介して、少なくとも一つのホストまたはオペレータ・ワークステーションおよび一つ又は複数のフィールド装置などのプロセス制御・計装装置に通信可能に連結される一つ又は複数の集中型又は分散型プロセスコントローラを含んでいる。例えば、バルブ、バルブ・ポジショナ、スイッチ、トランスミッタ、およびセンサ（例えば、温度、圧力および流量センサー）などのフィールド装置は、バルブの開閉や工程パラメータの測定などのプロセス制御シスム内の機能を行う。プロセスコントローラは、プロセスの動作を制御するために、フィールド装置により生成された（且つまたはそれに関連する）プロセス計測やプロセス変数、且つ又はフィールド装置に関する他の情報を示す信号を受信し、この情報を使用して制御ルーチンを実施してから、一つ又は複数のバスを通じてフィールド装置に送信される制御信号を生成する。一般に、フィールド装置およびコントローラからの情報はオペレータ・ワークステーションにより実行される一つ又は複数のアプリケーションで利用できるようになっており、それによりオペレータが、工程の現状表示や工程の動作の修正変更など、工程に関する所望の機能を実行できるようになる。
【０００４】
プロセス工場内の様々な装置は、制御ループなどの論理的プロセスを生成すべく、物理的な且つ又は論理的なグループ内で相互接続されうる。同様に、制御ループを別の制御ループ且つ又は装置に相互接続させてサブユニットを作成しえる。サブユニットを他のサブユニットと相互接続して一ユニットを作成し、次にそれを相互接続して一領域を作成しえる。プロセス工場は一般的に相互接続する領域を含み、事業組織体は一般的に相互接続するプロセス工場を含んでいる。結果として、一プロセス工場には相互接続される様々な資産を有する多くの階層レベルが含まれ、一企業体には相互に接続する複数のプロセス工場が含まれうる。言い換えると、プロセス工場に関係する資産、またはプロセス工場自体をグループ化してより高度なレベルの資産を形成しえる。
【０００５】
通常、例えば流量制御ループ、温度制御ループ、圧力制御ループなどをはじめとし、プロセスに対して定義される、またはプロセス内に包含されている、複数の異なるループの各々に対して異なるアルゴリズムサブルーチンまたは制御ループ（これらは全て制御ルーチンである）を実行するようにプロセスコントローラはプログラムされる。一般的に言って、このような制御ループのそれぞれには、アナログ入力（ＡＩ）機能ブロックなどの入力ブロック、比例・積分・微分（ＰＩＤ）またはファジイ論理制御機能ブロックなどの単一出力制御ブロック、およびアナログ出力（ＡＯ）機能ブロックなど単独出力ブロックが一つ以上含まれている。制御ブロックは、例えばバルブの位置といった一つのプロセス入力を制御するのに使用される単一制御出力を制御ブロックが生成するので、これらの制御ループは一般に単一入力／単一出力制御を実行する。しかしながら、特定の場合においては、制御されているプロセス変数は二つ以上のプロセス入力により影響されるので、また実際に各プロセス入力は多くのプロセス出力の状態を影響しうるので、独立して動作する単一入力／単一出力制御ループを複数使用することはあまり効果的ではない。例えば、プロセス出力が定常状態条件に一度も達することなく振動するなど、単一入力／単一出力制御ループによってプロセス出力が許容できない形で動いてしまう。その出力は常に定常状態条件に達せずに振動させる。
【０００６】
異なる製品への顧客要求を満たし且つ資源・材料や設備の限界内での運営を維持しながら工場収益の最大化、排ガスの抑制、生産コストの最小化などを実現させること考慮に入れて、特定の問題に対する最も最適解を決定するために工業プロセスの最適化が実施されてきた。オプティマイザ （最適化ルーチン）は１９６０年代以降から開発されている。しかしながら、上記提示される事例のように、最適化に伴う問題として、一つ又は複数の最適化変数を選択すること、目的関数を選択すること、および一式の制約を識別すること、などが挙げられる。しかるべく、問題の制約により解も制限される。
【０００７】
実時間オプティマイザ（ＲＴＯ：Real-Time Optimizers）はプロセス機能を最適化するのに使用されてきた。一般にかなりの開発・保守作業への取り組みを必要とする線形および非線形のハイファイ（高忠実度）モデルが通常ＲＴＯにより利用される。但し、ＲＴＯの実施には関連する困難な問題が存在するため、ＲＴＯの実施に関連した据付けは、モデル予測制御（ＭＰＣ）の実施に係る据付けのように成功裡に終わることがあまりない。
【０００８】
モデル予測制御（ＭＰＣ）またはその他のタイプのアドバンスト制御（高度制御）は、特定の被制御プロセス変数への変更が二つ以上のプロセス変数または出力に影響するような状況でプロセス制御を実行するのに使用されてきた。１９７０年代後半以来、多くのモデル予測制御が成功裡に実施されていることが報告されており、プロセス工業におけるアドバンスト多変数制御の主な形式としてＭＰＣが使用されるようになった。さらにまた、ＭＰＣ制御は、分散型制御システム階層化ソフトウェアとして分散型制御システム内で実施されるようになった。米国特許第４，６１６，３０８号および第４，３４９，８６９号は概してプロセス制御システム内で使用できるＭＰＣコントローラについて記載している。典型的なＭＰＣには、経済的な最適化および制約に対処するためのオプティマイザが適用されている。
【０００９】
一般的に言って、ＭＰＣは、複数のプロセス入力の各々に対する変更による複数のプロセス出力の各々への影響が測定された後これら測定された応答がプロセスのモデルまたは制御行列を生成するために使用されるところの多重入力／多重出力制御法である。プロセスモデルまたは制御行列（一般にプロセスの動態的作用を定義する）は、数学的に反転され、その後、プロセス入力になされた変更に基づいたプロセス出力の制御を行うべく多重入力／多重出力コントローラにおいて（または多重入力／多重出力コントローラとして）使用される。場合によって、プロセスモデルは、プロセス入力の各々に対するプロセス出力応答曲線（一般的にはステップ応答曲線）として表わされ、これらの曲線は、プロセス入力の各々になされた一連の（例えば）疑似ランダム階段状変化に基づいて生成されうる。プロセスをモデリングするために、これらの応答曲線を周知の様態において使用することができる。モデル予測制御は当技術分野において周知のことであり、よってここにおいてはその詳細に関する説明を省略する。但し、ＭＰＣの概要は、チン・Ｓ・ジョーおよびトマス・Ａ・バートウェル著『An Overview of Industrial Model Predictive Control Technology（仮訳：工業用モデル予測制御技術の概要）』（米国化学工学会、１９９６年）に記載されている。
【００１０】
ＭＰＣは非常に効果的で有用な制御技法であることが認められ、プロセス最適化に関連した用途に使用されてきた。ＭＰＣを使用するプロセスを最適化するため、オプティマイザは、プロセスに最適点で動作させるようにＭＰＣルーチンにより決定された一つ又は複数のプロセス入力変数を最小化または最大化する。この技法はコンピュータ的に可能である間、経済的理由からプロセスを最適化するためには、例えばプロセスの経済的稼動（例えば、プロセスの処理能力または品質など）を向上する上で実質的な影響を持つプロセス変数を選択することが必要とされる。一般に、財政上のまたは経済的な観点による最適点でプロセスを稼動するには、一つのプロセス変数だけでなくお互いにつながり合った多くのプロセス変数を制御するが必要とされる。ＭＰＣを伴うオプティマイザを成功裡に実現されることにより、ＭＰＣを伴って適用されたプロセス・モデリング実施、構成システムとの統合、モデリングの補正に使用されるＭＰＣフィードバック、および最適化モデルにおけるプロセス定常状態のモデル予測の利用などにおける容易さといった因子に寄付することができる。これら４つの因子のうち、構成システムとの統合化は重要な因子である。構成システムは、どの設備が利用可能であるか、または設備がどのように構成されているかを指定し、また、設備に関連した制約を指定する。
【００１１】
ＭＰＣを使用する場合は大抵、プロセス内の利用可能な操作変数（つまり、ＭＰＣルーチンの制御出力）の数が、プロセスの制御変数の数（つまり、特定の設定点に配置されるように制御されなければならないプロセス変数の数）より多くなる。結果として、最適化および制約対処における自由度が一般的に増加する。理論的に言えば、このような最適化を実行するためには、プロセスの最適動作点を定義するプロセス変数、制約、限界および経済的因子により表される値が計算されるべきである。多くの場合これらのプロセス変数は制限付き変数である。これは、当該プロセス変数には、それらが関与し且つこれら変数がその内に維持されなければならないプロセスの物理的特性に関連付けられた限界が備えられているためである。例えば、タンク内の液面レベルを表すプロセス変数は、物理的に実現可能な実際のタンクの最大および最低液面レベルに限定される。利益は最大化されるレベルまたはコストが最小化されるレベルなど動作するように制限付き変数または補助変数の各々に関連するコスト且つ又は利益を最適化機能によって計算しうる。その後これら補助変数の計測は入力としてＭＰＣルーチンに供給され、最適化ルーチンにより定義された補助変数の作動点に等しい設定点を有する制御変数としてＭＰＣルーチンにより処理できる。
【００１２】
モデリングされたプロセスの微分係数を計算する作業は複雑で誤差が発生しやすい作業であるが、オプティマイザにおいて予測された定常状態を利用することにより、モデリングされたプロセスの微分係数を計算せずに最適化を実行することが可能になる。正常な動作条件の場合、ＭＰＣオプティマイザは、許容可能な範囲および限界にて最適な経済的解を提供する。但し、事前に定義された範囲および限界内に解が存在しない場合、プロセス・オプティマイザは解を提供することができない。故に、プロセス・オプティマイザはあらゆる状況における解を提供できるというわけではない。
【００１３】
作動中のプロセス環境におけるプロセスシミュレーションは、プロセス設計ツールとしても使用されており、さらに、オペレータ教育、制御法の設計およびテスト、プロセス最適化、および関連アプリケーションをはじめとするプロセス制御における用途でも効果が認めされつつある。同時シミュレーション技法の導入により、シミュレーションの概念およびその適用範囲が拡張した。特に、同時シミュレーションでは、プロセスがそれの動作と同時にシミュレートされるので、それにより、シミュレートされた「シャドー」プロセスが作成される。ハイファイ第一原理モデルから「ブラックボックス」業界標準モデリングに至り、このアプローチには様々なシミュレーション技法を使用しうる。例えば、工場を設計時、そして工場の稼動を行う補助として当該の同じシミュレーション後で使用するために、ＨＹＳＹＳ（ハイファイ・シミュレーションプログラム）を使用してプロセスシミュレーションを実施することが知られている。同時シミュレーションは、プロセス計測からのモデリング結果の連続フィードバック更新を可能にすることにより、特に同時シミュレーションが適用されない場合のステップ応答などの単純なモデリング技法と比較して優れた性能と忠実度を達成できる。結果として、シミュレーションを開発して実行するコストは劇的に削減され、共通実施プロセス制御システムとして受け入れられる。同時シミュレーションを伴うプロセス制御システムは、大容量のメモリを食うような処理システム診断や最適化を含む機能性の拡張および性能の改善を特徴とする。
【００１４】
ＭＰＣ最適化の利点を保持する一手段として同時シミュレーション時に最適化を適用することが有用とされる。さらに、事前に定義された範囲や限界に関係なくいかなる状況においての解を提供するプロセス・オプティマイザを備えることも有用とされる。既存のリカバリ技術（復元技術）は、制限付きおよび被制御変数の優先度に基づく。特に、罰則付き緩和変数を利用すると、制約最適化問題に対する実行可能な解を提供する上で常に、またはほとんどの場合、有用でありうる。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
プロセスシミュレーションを伴う最適化のシステムと方法を提示する。
【課題を解決するための手段】
【００１６】
特に、オプティマイザは、プロセスを制御するための目標値を立てるためにプロセスシミュレーションからのプロセスのシミュレートされた模擬出力を使用する。シミュレートされたプロセス出力は、プロセスが定常状態に達するまでオプティマイザに適用されうるし、また、オプティマイザは実際のプロセス入力も利用しうる。プロセスをプロセス動作と同時に実行することにより、シミュレーション結果を補正するために実際のプロセスからのフィードバックを使用することが可能になる。オプティマイザおよびシミュレーション間の独立性を維持しながら、シミュレートされた模擬プロセスと同時にオプティマイザを利用できる。これら考慮すべき事項は、線形モデルおよび多目的線形プログラミングの最適化に基づく。しかしながら、二次計画法（ＱＰ）や、非線形のまたは線形化された最適化技法のようなその他の技法も適用しうる。最適化定常状態モデルは、動態的線形または非線形のシミュレーションモデルから構築且つ更新される。オプティマイザ出力は、目標操作変数または目標制御変数としてプロセス入力に最適の目標を適用しうる。
【００１７】
目標値により定義される最適化問題に対する最適解については、主要な制約変数を超えて最適解の検索を拡張することによりいかなる状況においても決定されうる。特に、オプティマイザは、事前に定義された変数限界を超えて目的関数を拡張させるために、その他の融通性のある柔軟な変数（緩和変数とも指称される）を含みうる目的関数を利用しうる。オプティマイザは、事前に定義された限界内における制御および操作変数を維持しながら目的関数を最小化または最大化する。事前に定義された変数限界内に解が見つからない場合には、緩和変数が目的関数に適用される。緩和変数を含むことにより、事前に定義された変数限界が違反され、事前に定義された限界を越えた解の検索範囲が拡張される。よって事実上、緩和変数を含むことにより、制約変数を超えた自由度により目的関数が拡張される。
【００１８】
また、解が見つかるまで緩和変数の適用ごとに目的関数にさらなる自由度を追加するといったように、緩和変数を含む作業を漸増的に適用しうる。但し、事前に定義された限界内で解の取得を試みるために、または限界の超越を可能な限り最小にとどめるために、罰則を伴わせて各緩和変数を含むようにしても良い。罰則の値は、違反された変数の優先度に依存するようにしても良く、一実施例では、最適化プロセスに関与するいかなるコストまたは利益よりも著しく大きい値でありうる。
【００１９】
プロセスシミュレーションを伴う最適化の結果、最適化変数の選択を著しく簡素化でき、場合によっては選択構成に対して正しい変数を選択することが可能である。あらゆる場合においても制御法、シミュレーションおよび最適化を、共に備えて互いに交信し合うようにし、それによって目標システムの全部分が関連付けられ参照整合性を維持できるようにしうる。線形または非線形のオプティマイザは、定義された多重目標目的関数および、いかなるプロセス条件にも最適解を保証しうる変動可能プロセス限界を有する。実時間プロセスシミュレーションを使用することにより、およびプロセスから予測定常値用オプティマイザに被測定入力を適用することにより最適化性能が改善される。定常状態ゲイン行列はオプティマイザにより使用され、実時間で更新される。定常状態ゲイン行列は、シミュレーションモデル、特にステップ応答モデルに基づきうる。
【発明を実施するための最良の形態】
【００２０】
ここで図１を参照するに、プロセス工場１０は、一つ又は複数の通信ネットワークにより複数の制御および保守保全用システムと相互接続された複数のビジネスシステムおよびその他コンピュータシステムを含んでいる。プロセス工場１０は一つ又は複数のプロセス制御システム１２および１４を含んでいる。プロセス制御システム１２は、ＰＲＯＶＯＸまたはＲＳ３システムなどの従来のプロセス制御システムでありえ、もしくは、コントローラ１２Ｂおよび入出力（Ｉ／Ｏ）カード１２Ｃに連結されるオペレータ・インタフェース１２Ａを含んでいるＤＣＳなどその他の従来のプロセス制御システムでもありうる。（なお、該入出力（Ｉ／Ｏ）カード１２Ｃは、これによりアナログおよびＨＡＲＴ〈Ｈｉｇｈｗａｙ  Ａｄｄｒｅｓｓａｂｌｅ  Ｒｅｍｏｔｅ  Ｔｒａｎｓｍｉｔｔｅｒ〉フィールド装置１５などの様々なフィールド装置に連結される。）ＤｅｌｔａＶ（登録商標）などの分散型プロセス制御システムでありうるプロセス制御システム１４には、イーサネット（登録商標）バスなどのバスを介して一つ又は複数の分散型コントローラ１４Ｂに連結された一つ又は複数のオペレータ・インタフェース１４Ａが含まれている。コントローラ１４Ｂは、例えばフィッシャーローズマウントシステムズ株式会社（テキサス州オースティン市内：Ｆｉｓｈｅｒ−Ｒｏｓｅｍｏｕｎｔ  Ｓｙｓｔｅｍｓ Ｉｎｃ．）が販売しているＤｅｌｔａＶ（登録商標）コントローラ、またはその他所望するタイプのコントローラでありえる。コントローラ１４Ｂは、ワイヤレス接続およびＩ／Ｏ装置を含むＩ／Ｏ装置を介して、例えばＨＡＲＴ（登録商標）またはファンデーション・フィールドバス（Ｆｏｕｎｄａｔｉｏｎ   フィールドバス：登録商標）フィールド装置や、あるいは例えばＰＲＯＦＩＢＵＳ（登録商標）、ＷＯＲＬＤＦＩＰ（登録商標）、Ｄｅｖｉｃｅ  Ｎｅｔ（登録商標）、ＡＳ−Ｉｎｔｅｒｆａｃｅ（登録商標）およびＣＡＮ（登録商標）プロトコルのいかなるものを使用するものを含むその他のスマートまたは非スマート・フィールド装置などの一つ又は複数のフィールド装置１６に接続されている。周知の如く、フィールド装置１６は、プロセス変数ならびにその他の装置情報と関係するコントローラ１４Ｂにアナログまたはディジタル情報を提供しうる。オペレータ・インタフェース１４Ａは、プロセス制御オペレータがプロセスの動作を制御するために利用できるツール（例えば制御オプティマイザ、診断のエキスパート、ニューラル・ネット、同調器など）を格納および実行しうる。
【００２１】
さらにまた、フィッシャーローズマウントシステムズ株式会社により販売されているＡＭＳデバイス・マネージャなどのアセット管理システム（ＡＭＳ）アプリケーションまたは、その他の装置監視および通信アプリケーションを実行するコンピュータなどの保守保全システムは、プロセス制御システム１２および１４に、あるいは保守保全作業や監視作業を行うためにその中に設置される個々の装置に接続しうる。例えば、保守保全用コンピュータ１８は、（無線または携帯装置ネットワークを含む）あらゆる所望の通信回線またはネットワークを介してコントローラ１２Ｂ且つ又は装置１５に接続され、装置１５と通信、また場合によっては装置１５で行われる他の保守保全作業を再構成または実行しえる。同様に、ＡＭＳアプリケーションなどの保守保全アプリケーション１７および１９は、装置１６の稼動状態に関するデータの収集を含む保守保全および監視機能を実行するために分散型プロセス制御システム１４に関連付けられたユーザーインタフェース１４Ａの一つ又は複数にインストールし且つそれにより実行しうる。
【００２２】
また、プロセス工場１０には、何らかの専用通信リンクまたは臨時的通信リンク（測定値をとった後に取り外せるように設備２０に接続されたハンドヘルド型装置や、バスまたはワイヤレス通信システムなど）を介して保守保全用コンピュータ２２に接続されたタービンやモーターなどの様々な回転機器２０も含まれている。保守保全用コンピュータ２２は、ＣＳｉシステムズ社（テネシー州ノックスヴィル市）により販売されるＲＢＭｗａｒｅ（登録商標）、フィッシャーローズマウントシステムズ株式会社により販売されるＡＭＳマシナリーマネージャ（Ｍａｃｈｉｎｅｒｙ  Ｍａｎａｇｅｒ）、または回転機器２０の動作状態を診断、監視、最適化するために使用できるその他周知のアプリケーションのいかなるものを含む周知の監視および診断用アプリケーション２３に格納しえ、且つそれにより実行しえる。通常、保守保全要員はアプリケーション２３を使用して、工場１０内の回転機器２０の性能を維持管理および監視し、回転機器２０に関する問題を判断し、回転機器２０を修理または交換する必要があるか、および必要有りの場合にいつ実施すべきか判断する。
【００２３】
同様に、工場１０に関連付けられた発電・電力配分設備２５を有する発電・電力配分システム２４は、工場１０内の発電・電力配分設備２５の動作を稼動且つ監視する別のコンピュータ２６に、例えばバスを介して接続されている。
コンピュータ２６は、発電・電力配分設備２５を制御し維持管理するために、例えばリーバート社（Liebert ）やＡＳＣＯ社またはその他の会社により提供されるものなど、概知の電源制御・診断アプリケーション２７を実行しうる。
【００２４】
プロセス制御機能１２および１４および、コンピュータ１８、１４Ａ、２２および２６にて実施されたものをはじめとする保守保全機能、さらにはビジネス機能を含む工場１０内の様々な機能システムに関連付けられているコンピュータまたはインターフェースに通信可能に接続された状態でコンピュータシステム３０が備えられている。より具体的に、コンピュータシステム３０は、全てバス３２を介して、従来のプロセス制御システム１２およびその制御システムに関連した維持管理インターフェース１８と通信可能に接続され、分散型プロセス制御システム１４のプロセス制御且つ又は維持管理インターフェース１４Ａに接続され、回転機器保守保全用コンピュータ２２および発電・電力配分コンピュータ２６に接続される。バス３２としては、通信を可能にするいかなる所望のまたは適したローカルエリアネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）プロトコルを使用しうる。図１に示されるように、コンピュータ３０も、同じまたは異なるネットワーク・バス３２を介して、ビジネスシステム・コンピュータ、保守保全計画用コンピュータ３５および３６に接続される。また、例えばバス３２を介して、工場全体をめぐるＬＡＮ３７、会社全体のＷＡＮ３８、ならびに遠隔位置から工場１０の遠隔モニタリングまたはそれとの通信を可能にするコンピュータシステム４０にもコンピュータ３０を接続しうる。その代わりとして、またはそれに加えて、コンピュータシステム３０、プロセス制御システム１２、分散型プロセス制御システム１４、保守保全インターフェース１８、プロセス制御且つ又は保守保全インターフェース１４Ａ、回転機器保守保全用コンピュータ２２、且つ又は発電・電力配分コンピュータ２６を、インターネットを介して相互接続してインターネット互換プロトコルを介して通信し合うようにしても良い。しかるべく、工場１０内の様々なシステム、コンピュータおよびルーチンを表示且つ制御する一つ又は複数の遠隔設備を介して、工場１０に表示機能と制御機能を備えうる。
【００２５】
これに加え、さらなる分析および診断用リソースへのアクセスを提供すべく、インターネットを介して遠隔モニタリング施設を工場１０に通信可能に連結しうる。一実施例では、臨界データを提供すべく様々な工場資産の分析を行って工場または工場内のシステムにとっての重要度に従って各資産の優先度を指定することにより臨界データを提供する機能を含む故障防御計画システムを、工場１０に連結しうる。
【００２６】
図２を参照すると、統合モデル予測制御と最適化を利用したプロセス制御システム１００のさらなる実施例が示されている。一実施例として、プロセス制御システム１００は一般に図１からのプロセス制御システム１０に相当しうる。以下、モデル予測制御と最適化の実施例が記載されているが、モデル予測制御と最適化のより詳細にわたる実施例については「Integrated Model Predictive Control and Optimization Within a Process Control System（仮訳：プロセス制御システム内の統合モデル予測制御と最適化）」と題される２００６年５月２３日付発行の米国特許第７，０５０，８６３号に記載されている。なお、前記特許の開示全体は、参照によりここに援用されるものとする。
【００２７】
プロセス制御システム１００はプロセスコントローラ１１０を含んでおり、プロセスコントローラ１１０は、データ・ヒストリアン１２０に、そして各々が表示画面１４０を有する一つ又は複数のホスト・ワークステーションまたはコンピュータ１３０（いかなるタイプのパーソナルコンピュータ、ワークステーション、などでありうる）に通信可能に接続されている。コントローラ１１０は、入・出力（Ｉ／Ｏ）カード２６０および２８０を介してフィールド装置１５０，２２０にも接続されている。データ・ヒストリアン１２０は、いかなる所望のタイプのメモリやデータを格納するためのいかなる所望のまたは周知のソフトウェア、ハードウェアまたはファームウェアを有するいかなる所望のタイプのデータ収集ユニットでありえ、また（図２に示されるように）ワークステーション１３０とは別に、またはワークステーション１３０の一つの一部として備えうる。コントローラ１１０は、一例としてフィッシャーローズマウントシステムズ株式会社により販売さているＤｅｌｔａＶ（登録商標）コントローラでありえ、例えばイーサネット（登録商標）接続またはその他いかなる所望の通信ネットワーク２９０を介してホストコンピュータ１３０およびデータ・ヒストリアン１２０に通信可能に接続される。通信ネットワーク２９０は、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、電気通信ネットワークなどの形をとりえ、配線式またはワイヤレス技術を使用して実施しうる。例えば標準の４‐２０ｍａ装置且つ又は例えばファンデーションフィールドバス（登録商標）プロトコル（以下「フィールドバス」）やＨＡＲＴプロトコルなどのいかなるスマート通信プロトコルに関連付けられたいかなる所望のハードウェアおよびソフトウェアを使用して、コントローラ１１０をフィールド装置１５０，２２０に通信可能に接続される。
【００２８】
フィールド装置１５０，２２０は、例えばセンサ、バルブ、トランスミッタ、ポジショナーなどのいかなるタイプの装置でありうる一方、Ｉ／Ｏカード２６０および２８０は、いかなる所望の通信またはコントローラ・プロトコルに適合するいかなるタイプのＩ／Ｏ装置でありうる。図２に示される実施形態におけるフィールド装置１５０，１８０は、アナログ回線を通じてＩ／Ｏカード２６０と通信を行う標準４‐２０ｍａ装置である一方、フィールド装置１９０，２２０はフィールドバス・プロトコル通信を使用しデジタル・バスを通じてＩ／Ｏカード２８０と通信する（例えばファンデーションフィールドバス（登録商標）のフィールド装置などの）スマート装置である。もちろんフィールド装置１５０，２２０を、将来的に開発されるような規格またはプロトコルのいかなるものを含むその他所望の標準またはプロトコルに適合させることも可能である。
【００２９】
その中に格納されるもしくはそれに関連付けられていてる制御ループを含みうる一つ又は複数のプロセス制御ルーチンを実施または監視する少なくとも一つのプロセッサをその中に備える多くの工場１００内分散型コントローラの一つをコントローラ１１０として使用しうる。また、コントローラ１１０は、いかなる所望の様態においてプロセスを制御すべく装置１５０，２２０、ホストコンピュータ１３０およびデータ・ヒストリアン１２０と通信する。なお、ここに記載される制御ルーチンまたは要素はいかなるものでも、（望ましい場合）異なるコントローラまたは他の装置により実施または実行される部分を備えうることにも注目すべきである。同様に、ここに記載されているプロセス制御システム１０内で実施されることになっている制御ルーチンまたは素子は、ソフトウェア、ファームウェア、ハードウェアなどを含むあらゆる様式のものでありえる。この点に関する説明を行うために、ここにおいて、プロセス制御要素が例えばいかなるコンピュータ可読媒体に格納されたルーチン、ブロックまたはモジュールをはじめとするプロセス制御システムのいかなる部分または一部分でありえるとする。制御ルーチンは、例えばサブルーチンや（命令行など）サブルーチンの一部などの制御手順のモジュールまたはいかなる部位でありえ、例えばラダー論理、シーケンシャルファンクションチャート、機能ブロック図、オブジェクト指向型プログラミングまたはその他のソフトウエアプログラミング言語またはソフトウェア設計パラダイム（理論枠組み）などを使用するようないかなる所望のソフトウェア形式にて実施されうる。同様に、制御ルーチンは、例えば一つ又は複数のＥＰＲＯＭ、ＥＥＰＲＯＭ、特定用途向け集積回路（ＡＳＩＣ）、またはその他のハードウェアまたはファームウェア要素にハードコードされうる。さらにまた、制御ルーチンは、図示設計ツールまたはその他いかなるタイプのソフトウェア／ハードウェア／ファームウェア・プログラミングまたは設計ツールなどのいかなる設計ツールを使用して設計されうる。よって、いかなる所望の様態にて制御法または制御ルーチンを実施するようにコントローラ１１０を構成しうる。
【００３０】
一実施形態において、コントローラ１１０が一般に機能ブロックと指称されるものを使用して制御法を実施する。この場合各機能ブロックは、総括制御ルーチンの一部またはオブジェクト（操作対象）であり、プロセス制御システム１００内のプロセス制御ループを実施すべく（リンクと呼ばれる通信手段を介して）その他の機能ブロックに関連して動作する。通常、機能ブロックは、伝送器、センサまたはその他のプロセス・パラメータ測定装置に関連するところの入力機能、ＰＩＤやファジイ論理などの制御を行なう制御ルーチンに関連するところの制御機能、またはプロセス制御システム１００内で何らかの物理的機能を行うために何らかの装置（バルブなど）の動作を制御する出力機能のうちの一つを行う。もちろんハイブリッドやその他のタイプの機能ブロックも存在する。機能ブロックはコントローラに格納され、コントローラ１１０により実行されうる。これは通常、これら機能ブロックが、標準の４‐２０  ｍａ装置およびＨＡＲＴ（登録商標）装置など何らかのタイプのスマート・フィールド装置に使用されるまたは関連付けられている場合、またはフィールドバス装置の場合のようにフィールド装置自体に格納されそれにより実施されうる場合に見られることである。本稿ではオブジェクト指向型プログラミング・パラダイム（理論枠組み）を用いた機能ブロック制御法を使用して制御システムの説明が記載されているが、ラダー論理やシーケンシャルファンクションチャートなどその他の仕様を使用しても、またはその他所望のプログラミング言語またはパラダイム（理論枠組み）を使用しても、制御法または制御ループまたはモジュールを実施または設計することが可能である。
【００３１】
図２に拡大して示されるブロック３００の如く、コントローラ１１０は、ルーチン３２０および３４０として示される複数の単ループ制御ルーチンを含みえ、制御ループ３６０として示される一つ又は複数のアドバンストコントロール・ループを実施しうる。通常、このようなループをそれぞれ制御モジュールと呼ぶ。単ループ制御ルーチン３２０および３４０は、単一入力／単一出力ファジイ論理制御ブロックおよび単一入力／単一出力ＰＩＤ制御ブロックをそれぞれ使用して単ループ制御を実行する状態で示されており、バルブなどのプロセス制御装置に関連付けられうるし、温度および圧力伝送器などの計測装置に関連付けられうるし、またはプロセス制御システム１００内のその他の装置に関連付けられうる適切なアナログ入力（ＡＩ）およびアナログ出力（ＡＯ）機能ブロックに接続されている。アドバンストコントロール・ループ３６０は、多数のＡＩ機能ブロックに通信可能に接続された入力と多数のＡＯ機能ブロックに通信可能に接続された出力を有するアドバンスト制御ブロック３８０を含んだ状態で示されている。但し、アドバンスト制御ブロック３８０の該入・出力は、その他所望の機能ブロックまたは制御要素に通信可能に接続するようにして、その他のタイプの入力を受けてその他のタイプの制御出力を提供するようにしても良い。さらに詳しく説明するが、アドバンスト制御ブロック３８０は、プロセスまたはプロセスの一部分の最適化制御を実行するためのオプティマイザ（最適化ルーチン）にモデル予測制御ルーチンを統合する制御ブロックでありうる。アドバンスト制御ブロック３８０は、モデル予測制御（ＭＰＣ）ブロックを含んだ状態でここに説明さているが、アドバンスト制御ブロック３８０には、ニューラルネットワーク・モデリングまたは制御ルーチンや、マルチ変数ファジイ論理制御ルーチンなど、その他の多重入力／多重出力制御ルーチンまたは手順を含むこともできる。当然のことながら、図２に示される機能ブロックは、アドバンスト制御ブロック３８０を含み、コントローラ１１０により実行できる、あるいはその代わりとしてワークステーション１３０の一つ（場合によってはフィールド装置１９０，２２０のうちの一つ）などその他の処理装置に配置し且つそれにより実行できる。
【００３２】
図２に示される如く、ワークステーション１３０の一つは、アドバンスト制御ブロック３８０を作成、ダウンロード、かつ実施するために使用されるアドバンスト制御ブロック生成ルーチン４００を含んでいる。アドバンスト制御ブロック生成ルーチン４００は、ワークステーション１３０内のメモリに格納し、それの中のプロセッサにより実行しうる間、それに加えて、又はその代わりとして、このルーチン（またはそれのいかなる部分）を希望に応じてプロセス制御システム１００内のその他の装置に格納し、その装置により実行しうる。
一般にアドバンスト制御ブロック生成ルーチン４００には、ここでさらに詳しく説明されるようにアドバンスト制御ブロックを作成してこのアドバンスト制御ブロックをプロセス制御システムに接続する制御ブロック生成ルーチン４２０と、アドバンスト制御ブロックにより収集されたデータに基づいてプロセス用にまたはそれの一部分用にプロセスモデルを作成するプロセス・モデリング・ルーチン４４０と、プロセスモデルからアドバンスト制御ブロック用の制御論理パラメータを作成してプロセスの制御に使用されるアドバンスト制御ブロック内にこれらの制御論理パラメータを格納またはダウンロードする制御論理パラメータ生成ルーチン４６０と、アドバンスト制御ブロックと共に使用するためのオプティマイザを作成するオプティマイザ・ルーチン４８０と、が含まれている。当然のことながら、ルーチン４２０、４４０、４６０および４８０は、プロセス出力を受けるように適応された制御入力およびプロセス入力に制御信号を提供するように適応された制御出力とを有するアドバンスト制御要素を作成する第１のルーチン、ユーザが（いかなる所望の構成ルーチンでありうる）プロセス制御ルーチン内のアドバンストコントロール要素をダウンロードして通信可能に接続することを可能にする第２のルーチン、各プロセス入力に励起波形を供給するためにアドバンスト制御素子を用いる第３のルーチン、該励起波形へのプロセス出力それぞれの応答を反映するデータを収集するためにアドバンスト制御素子を用いる第４のルーチン、一式の入力を選択するかまたはユーザがアドバンスト制御ブロック用に一式の入力を選択することを可能にする第５のルーチン、プロセスモデルを作成する第６のルーチン、プロセスモデルからアドバンストコントロール論理パラメータを開発する第７のルーチン、アドバンストコントロール要素によるプロセスの制御を可能にするためにアドバンストコントロール論理（そして必要な場合にはアドバンストコントロール要素内のプロセスモデル）を配置する第８のルーチン、そしてアドバンスト制御ブロック３８０で使用するオプティマイザを選択するかまたはユーザがアドバンスト制御ブロック３８０で使用するオプティマイザを選択することを可能にする第９のルーチンなどの一連の異なるルーチンからなりうる。
【００３３】
図３は、プロセス５００に通信可能に連結されたアドバンスト制御ブロック３８０の一実施形態をより詳細にわたって示すブロック図であるが、当然のことながら、アドバンスト制御ブロック３８０は、一式の操作変数ＭＶを生成し、該一式の操作変数ＭＶはその他の機能ブロックに提供され、それによって該その他の機能ブロックはプロセス５００の制御入力に接続される。図３に示されるように、アドバンスト制御ブロック３８０には、ＭＰＣコントローラ・ブロック５０２、オプティマイザ５０４、目標変換ブロック５０５、ステップ応答モデルまたは制御行列５０６、および入力処理／フィルタブロック５０８が含まれている。ＭＰＣコントローラ５０２は、出力数と同数の入力を有する標準のＭ×Ｍ平方（Ｍは２以上のいかなる数でありえる）のＭＰＣルーチンまたは手順のいかなるものでありうる。ＭＰＣコントローラ５０２は、プロセス５００内で測定されたＮ個からなる一式の制御および補助変数ＣＶおよびＡＶ（数値のベクトル）と、将来のある時点においてプロセス５００に提供される周知のまたは予期される変更または外乱である一式の外乱変数ＤＶと、目標変換ブロック５０５から提供される一式の定常状態目標制御および補助変数ＣＶＴおよびＡＶＴとを入力として受信する。ＭＰＣコントローラ５０２は、（制御信号の形で）該一式のＭ操作変数ＭＶを作成するためにこれらの入力を使用して、プロセス５００を制御するために操作変数ＭＶ信号を配信する。
【００３４】
さらにまた、ＭＰＣコントローラ５０２は、一式の予測定常状態制御変数ＣＶＳＳおよび補助変数のＡＶＳＳを夫々制御変数ＣＶ、補助変数ＡＶおよび操作変数ＭＶの予測値を表す一式の予測定常状態操作変数ＭＶＳＳとともに予測区間で計算し、入力処理／フィルタブロック５０８に提供する。入力処理／フィルタブロック５０８は、これらの変数に対するノイズおよび予期せぬ外乱の影響を減少させるべく、制御変数、補助変数および操作変数ＣＶＳＳ、ＡＶＳＳおよびＭＶＳＳの決定済予測定常値を処理する。当然のことながら、入力処理／フィルタブロック５０８は、低域フィルタまたは、これらの値に対するノイズ、モデル化の誤差および外乱の影響を減少させるその他の入力処理を含んでいても良く、フィルタされた制御変数、補助変数および操作変数ＣＶＳＳｆｉｌ、ＡＶＳＳｆｉｌおよびＭＶＳＳｆｉｌをオプティマイザ５０４に提供する。
【００３５】
本実施例におけるオプティマイザ５０４は、プロセス最適化を行うために選択ブロック５１０から提供されうる目的関数（ＯＦ）を使用する線形プログラミング（ＬＰ）オプティマイザである。オプティマイザ５０４は、その代わりに線形モデルおよび二次目的関数を伴うオプティマイザであるクオドラティックプログラミング（二次計画法）オプティマイザでもありえる。一般的に言って、目的関数ＯＦは、複数からなる制御変数、補助変数および操作変数の各々に関連するコストまたは利益を指定するものであり、オプティマイザ５０４は、目的関数を最大化または最小化することにより、当該変数のために目標値を設定する。選択ブロック５１０は、プロセス５００の最適動作を定義する異なる方式を数学的に表すところの、事前に格納されている一式の目的関数５１４の一つとしてオプティマイザ５０４に提供される目的関数ＯＦを選択しうる。例えば、該事前に格納された目的関数５１４の一つを工場の利益を最大化するように構成し、そして目的関数５１４の別の一つを供給が不足状態にある特定の原材料の使用を最小化するように構成するようにする間、目的関数５１４のさらに別の一つをプロセス５００内で製造中の製品の品質を最大化するように構成するようにしても良い。一般的に言って、目的関数は、制御変数、補助変数および操作変数の各々の動きに関連するコストまたは利益を使用して、制御変数ＣＶの設定点値または範囲および補助変数ＡＶと操作変数ＭＶの限界により定義される一式の許容点内における最も最適なプロセス動作点を決定する。もちろん、ここに記載されるものの代わりに、またはそれに加えて、原材料の使用法や利益率などをはじめとする様々な関心事項の各々をある程度最適化する目的関数を含み、いかなる所望の目的関数は使用することができる。
【００３６】
ユーザまたはオペレータが、目的関数５１４の一つを選択するために、入力５１２を介して選択ブロック５１０に選択機能が提供されるところのオペレータ端末またはユーザ端末上で（図２のワークステーション１３０のうちの一つなどで）当該目的関数を選択することにより、使用される目的関数５１４の指標を提供するようにしても良い。入力５１２に応答して、選択ブロック５１０は選択された目的関数ＯＦをオプティマイザ５０４に提供する。もちろん、ユーザまたはオペレータは、プロセスの動作中に使用されている目的関数を変更することができる。ユーザが目的関数を提供または選択しない場合には、希望におうじて既定目的関数を使用するようにしても良い。以下、既定目的関数として実施可能なものについて、より詳しく説明する。異なる目的関数がアドバンスト制御ブロック３８の一部として示されているが、該異なる目的関数は図２のオペレータ端末１３０に格納しうる、且つ、これら目的関数の一つをこのブロックの生成または生成中にアドバンスト制御ブロック３８０に提供しうる。
【００３７】
目的関数ＯＦに加えて、オプティマイザ５０４は、一式の制御変数設定点（通常はプロセス５００の制御変数ＣＶに対するオペレータ指定の設定点であり、オペレータまたはその他のユーザにより変更可能）と、制御変数ＣＶの各々に関連する範囲および重量または優先度とを入力として受け取る。オプティマイザ５０４は加えてプロセス５００を制御するために使用されている一式の範囲または制約付き限界および、補助変数ＡＶに対する一式の重量または優先度および、操作変数ＭＶに対する一式の限界を受け取る。一般に、補助変数および操作変数に対する範囲によって補助変数および操作変数に対する（通常、工場の物理的性質に基づいた）限界が定義される。一方、制御変数による順調なプロセス制御をもたらすべく動作しうる範囲が、制御変数に対する範囲によって提供される。制御変数および補助変数に対する重量は、制御変数および補助変数の最適化プロセス中互いに関係する相対的重要性を指定するものであり、状況によっては制約のいくつかに違反が生じた場合にオプティマイザ５０４が制御目標解を生成できるようにするために使用しても良い。
【００３８】
オプティマイザ５０４は動作中に最適化を行うために線形プログラミング（ＬＰ）技法を使用しうる。複数の操作入力（独立変数）を伴うプロセスユニットおよび複数の被制御または制約付きのもの（従属変数）に係る場合に最適化技法は有用な制御技術である。一つのアプローチとしては定常状態モデルとともに線形プログラミング（ＬＰ）を利用するものがある。モデル予測制御などのシミュレーション環境は、すぐに利用できるプロセス定常状態を有する。周知の如く、線形プログラミングは、目的関数と呼ばれる特定の追加機能を最大化または最小化する一式の線形方程式および不等式を解くための数学的手法である。その最終形式における目的関数は、独立操作変数ＭＶiの機能、あるいは独立操作変数の増分（increments）δｍｖiの機能である。
【数１】
2009518750.tif 000003
ここで、Ｃiはｍｖiユニットの変動に関連付けられているコストまたは利益である。一般的に、もとの目的関数は、入力ＭＶおよび出力ＣＶの両方におけるユーザ最適化対象の混合物（blend）として構築されうる。
もとの目的関数は次の方程式から派生しうる。
【数２】
2009518750.tif 000004
ここで、ΔＣＶ（ｔ＋ｐ）は予測区間の末端における制御変数増分（プロセス出力）のベクトルであり、ΔＭＶ（ｔ＋ｃ）は制御区間の末端における操作変数増分のベクトルであり、そしてＵＣＴとＵＭＶは夫々ＣＶとＭＶに対する単価のベクトルである。上記の方程式において時間変数が使用されない場合でも、全ＣＶ変数が予測区間の末端に置かれ、全ＭＶ変数が制御範囲の末端に置かれるということを前提にしても良い。
【００３９】
上記方程式のベクトル表記法は様々な目的関数を表す。特に、各々全てのｃｖiの目的は、別の目的関数として次の形で表すことができる。
【数３】
2009518750.tif 000005
【００４０】
ここで、ａijはプロセス出力ｉとプロセス入力ｊを関係づけるプロセスモデルのゲイン係数である。結果として、もとの目的関数は次にように表されうる。
【数４】
2009518750.tif 000006
この形式による目的関数は、非正規化加重和多目的機能に対応する。
【００４１】
上記されるように、目的関数はコストまたは利益のような経済的価値を表しうるが、代わりにその他の目的を表すようにしても良い。さらに当然のことながら、定常状態ゲイン行列は、操作変数と制御または補助変数の実施可能なペア（対）のそれぞれに対する定常状態ゲインを定義する。言い換えると、定常状態ゲイン行列は、操作変数および外乱変数の各々のユニット変動に対する各制御および補助変数において定常状態ゲインを定義する。この定常状態ゲイン行列は一般にＮ×Ｍ行列であり、この場合、Ｎは制御および補助変数の数であり、Ｍはオプティマイザ・ルーチンで使用される操作変数の数である。一般的に、ＮはＭより大きい、Ｍに等しい、またはＭより小さい数であるが、最も一般的にはＮがＭより大きい数になる。
【００４２】
いかなる周知または標準のＬＰアルゴリズムまたは技法を使用して、オプティマイザ５０４は反復し、それによって、制御変数ＣＶ設定点範囲限界と補助変数ＡＶ制約限界および操作変数ＭＶの限界条件を満たすまたはその限界に含まれるプロセス動作を結果的にもたらしながら当該選択された目的関数ＯＦを最大化または最小化する（定常状態ゲイン行列から決定されるような）一式の目標操作変数ＭＶＴを決定する。一実施形態において、オプティマイザ５０４は、実際に操作変数の変動を決定し、予測定常状態制御変数と補助変数および操作変数ＣＶＳＳｆｉｌ、ＡＶＳＳｆｉｌおよびＭＶｓｓｆｉｌの指標を使用してプロセス動作をそれの現行動作から変動される変化を決定する、すなわち、目標または最適プロセス動作点に達する過程においてＭＰＣ制御ルーチンの動態的作用を決定する。現在の動作点から目標動作点に移動中に決して制約限界を違反しないようにすることが必要であるため、この動態的作用は重要な要素である。
【００４３】
一実施形態において、ＬＰオプティマイザ５０４は、次の形式の目的関数を最小化するように設計されうる。
【数５】
2009518750.tif 000007
ここで、Ｑは総コスト／利益、ＰはＡＶおよびＣＶに関連付けられている利益ベクトル、ＣはＭＶに関連付けられているコストベクトル、Ａはゲイン行列、そしてΔＭＶはＭＶにおける計算された変動のベクトルである。
【００４４】
目的関数が最小化されることを前提にした場合、利益値には負の数が設定され、コスト値には正の数が設定され、目的に対するそれらの影響を示すようになる。この目的関数を使用することにより、ＬＰオプティマイザ５０４は、制御変数ＣＶがそれらの目標設定点からの範囲内に留まることと、補助変数ＡＶがそれらの制約上下限内にあることと、操作変数ＭＶがそれらの上下限内にあることとを保証しながら目的関数を最小化する操作変数ＭＶの変動を計算する。
【００４５】
ステップ応答に基づき且つモデル予測制御にて利用されるプロセス・モデリング技法は、制御区間を通じて操作変数（ＭＶ）の増分を適用し、予測区間の末端における被制御および制約付き値（ＣＶ）の増分値をもたらす。使用可能な最適化手順の一つでは、操作変数の増分値が現行時間（ｔ）で使用され、操作変数の増分値が制御区間を通じて使用され、この場合、制御および補助変数の増分値は、ＬＰアプリケーションに通常見られるような位置的現在値によってではなく予測区間の末端で決定される。もちろん、適切な方法を使用してＬＰアルゴリズムをこのような変形方式に適合するように修正変更しても良い。いかなる場合にも、ＬＰオプティマイザ５０４は定常状態モデルを使用しうるので、その結果、それの適用には定常状態条件が必要とされ、予測区間の末端における定常状態条件がプロセスをモデル化する際に利用可能となる。ＭＰＣ設計において通常使用されるような予測区間では、将来的な定常状態が自動調整工程に対して保証される。増分形式にて表わされた予測区間ｐおよび制御区間ｃを伴うｍ×ｎ入出力プロセスに使用可能な予測プロセス定常状態方程式の一つとしては次のものが挙げられる。
【数６】
2009518750.tif 000008
この場合、
【数７】
2009518750.tif 000009
は、予測区間（ｔ＋ｐ）の末端における出力の予測変動のベクトルを示し、
【数８】
2009518750.tif 000010
は、ａnmが出力ｎおよび入力ｍの間でプロセス出力ｉおよびプロセス入力ｊを関係づけるプロセスモデル定常状態ゲイン係数であるところのプロセス定常状態ｎ×ｍゲイン行列であり、そして、
【数９】
2009518750.tif 000011
は、制御区間（ｔ＋ｃ）の末端における操作変数の変動のベクトルを示す。
【００４６】
ベクトルΔＭＶ（ｔ＋ｃ）は、コントローラ出力ｍｖiの各々全てによりなされた制御区間での変動の全体を表し、よって、各コントローラの出力の変動が次のように表されうる。
【数１０】
2009518750.tif 000012
【００４７】
該変化は、次の操作変数ＭＶと制御変数ＣＶの両方における制限を満たすべきである。（ここで、補助変数は制御変数として扱われる。）
【数１１】
2009518750.tif 000013
【００４８】
この場合、生産物価値を最大化し、原材料費を最小化するための目的関数は共に次のものとして定義できる。
【数１２】
2009518750.tif 000014
ここで、ＵＣＶは制御変数ＣＶプロセス値のユニット変動に対するコストベクトルであり、ＵＭＶは操作変数ＭＶプロセス値のユニット変動に対するコストベクトルである。
【００４９】
上記第１の方程式を適用すると、目的関数は、操作変数ＭＶに関して次のように表すことができる。
【数１３】
2009518750.tif 000015
【００５０】
最適解を見つけるために、ＬＰアルゴリズムは、この方程式により定義される領域における初期頭頂点に対する目的関数を計算し、アルゴリズムが最適解として目的関数の最大（または最低）値を伴う頭頂点を決定するまで各次段階ごとに解を改善する。決定された最適操作量値は、制御区間内で達成すべき目標操作変数ＭＶＴとして適用される。
【００５１】
一般的に言って、準備された行列上でＬＰアルゴリズムを実行することにより、３種類の結果を得る可能性がある。第一に、目標操作変数ＭＶＴに対して唯一独自の解が存在するという結果。第二に、解が無限となる結果。（これは、制御変数および補助変数がそれぞれ上限および下限を有する場合には生じない結果のはずである。）第三に、解が存在しないという結果。（これは補助変数の制限または制約が厳しすぎることを意味する。）第三の事例に対処するために、全体的な制約を緩めて解を得るようにしても良い。操作変数に対する限界（上限・下限）はオプティマイザによって変更できない、ということが基本前提である。補助変数の制約または限界（上限・下限）についても同じことが言える。但し、オプティマイザは、制御変数ＣＶを指定された設定点に仕向ける方法（ＣＶ設定点制御）から、設定点からのまたは設定点前後の範囲内の値のいかなるものに制御変数を仕向ける方法（ＣＶ範囲制御）に変更することができる。この場合、制御変数の値は、特定の設定点にではなく範囲内に配置されることが許される。それ自身の制約を違反する補助変数ＡＶがいくつか存在し、ＣＶ設定点制御からＣＶ範囲制御に切り換えても解が得られない場合には、提供される重要度または優先度の指定表記に基づいて補助変数の制約を緩めるまたは無視することも可能である。一実施形態において、補助変数の各々がめいめいの制約を違反することを許して補助変数の平方誤差の最小限にすることにより、または、順次的に最下位優先度を有する補助変数の制約の放棄することにより、解を決定することが可能である。
【００５２】
上記の如く、目的関数ＯＦは、デフォルト設定により、制御ブロック生成プログラム４００によって選択または設定されうる。このようなデフォルト設定を確立する方法の一つを以下に提示する。特に、最適化機能を提供することが望ましいとされる一方、多くの状況においては、補助変数および操作変数の動作制約を引き続き観察するような方法で制御変数に対する設定点を維持することのみが必要となりうる。これらのアプリケーションについては、ブロック３８０を単にＭＰＣ機能ブロックとして動作するように構成しうる。このような使い易さを提供すべく、既定の補助変数ＡＶ重要度とともにその中の異なる変数に割り当てられた既定コストを使って既定の「動作」目的関数を自動的に作成するようにしうる。これらの規定値によって、補助のＡＶおよび操作変数ＡＶおよびｍＶに等しい、またはその他何らかの見積りコスト割当てを補助のＡＶおよび操作変数ＡＶおよびｍＶに与えるような補助変数ＡＶおよび操作変数ＭＶに対する全てのコストを設定しうる。エキスパートオプションが選択されると、その時点で、ユーザはその他の最適化選択を作成し、異なる目的関数５１４に対するそれらの関連コストを定義しうる。また、エキスパートユーザは、既定目的関数の既定補助変数および制御変数ＡＶおよびＣＶの重要度を修正変更することができる。
【００５３】
一実施形態では、例えば経済的側面がプロセス構成に対して定義されていない場合、目的関数をＭＰＣ構成から自動的に構成しうる。一般に目的関数は以下の公式を用いて構成されうる。
【数１４】
2009518750.tif 000016
【００５４】
変数Ｃｊおよびｐjは構成設定から定義できる。特に、制御変数ＣＶ設定点は下限または上限のみで定義できるということを前提にすると、ｐj値は以下の方法において定義される。
設定点が下限で定義される場合、または最小化が選択される場合はｐj＝−１ であり、そして
設定点が上限で定義される場合、または最大化が選択される場合はｐj＝１となる。
【００５５】
補助変数ＡＶに対して構成情報が入力されないことを前提にすると、全ての補助変数ＡＶに関してはｐj＝０となる。同様に、操作変数ＭＶについては、Ｃj値は、好ましい操作変数目標ＭＶＴが定義されるか否かに依存する。好ましい操作量目標ＭＶＴが定義されると、
ＭＶＴがＨＬ（上限）にある、または最大化が選択された場合にはＣj＝１であり、そして
ＭＶＴがＬＬ（下限）にある、または最小化が選択された場合にはＣj＝−１である間、
ＭＶＴが定義されないとＣj＝０になる。
【００５６】
望ましい場合は、ＭＰＣコントローラ５０２と連動させてオプティマイザ５０４を使用する選択は調節可能であり、それによってある程度の最適化を提供しうる。この機能を実行させるために、ＭＰＣコントローラ５０２およびオプティマイザ５０４により決定された操作変数ＭＶの変化に対して異なる重要度をあてがうことにより、コントローラ５０２によって使用される操作変数ＭＶの変化を変更することができる。操作変数ＭＶのこのような重要度調節済の組合せを本稿では有効ＭＶ（ＭＶｅｆｆ）と呼ぶ。有効ＭＶｅｆｆは、次のように決定できる。
【数１５】
2009518750.tif 000017
ここで、Ｓは、任意にまたは発見的に選択される。一般に、Ｓは１より大きい数となり、１０の範囲に含まれうる。
【００５７】
ここで、α＝０の場合、有効出力が生成時に設定される際にオプティマイザは有効出力に寄与する。α＝１の場合、コントローラはＭＰＣ動態的制御のみを提供する。もちろん、０〜１の範囲は、オプティマイザおよびＭＰＣ制御に異なった方法で寄与する。
【００５８】
上述の既定目的関数は、オプティマイザの動作を、それの異なる可能な動作状態にある間に確立するために使用されうる。特に、制御変数ＣＶの数が操作変数ＭＶの数と一致する場合、補助変数ＡＶおよび操作変数ＭＶがそれらの限界範囲内になると予測される間は制御変数ＣＶ設定点が維持されることが、デフォルト設定による挙動として期待される。補助変数または操作変数がその限界を違反すると予測される場合には、これらの限界が違反されるのを防ぐために制御変数作用設定点がそれらの範囲内に変更されることになる。もしこの場合にオプティマイザ５０４がそれらの範囲内の制御変数を維持するとともに補助および操作変数の限界条件を満たす解を見つけることができないと、補助変数はそれらの制約限界を逸脱することを許容される一方で制御変数はそれらの範囲内に維持されることになる。最適解を見つけるにあたり、限界を違反すると予測される補助変数ＡＶは同様に取り扱われ、それらの平均限界逸脱が最小化される。
【００５９】
この挙動を達成すべく、設定点未満の逸脱が可能として当該範囲が定義される場合には制御変数ＣＶには１の利益が割り当てられ、設定点を超える逸脱が可能として当該範囲が定義される場合には制御変数ＣＶには−１の利益が割り当てられることになるように、目的関数により使用される既定コスト／利益が自動的に設定されるだろう。限界内の補助変数ＡＶには０の利益が割り当てられ、操作変数ＭＶには０のコストが割り当てられることになる。
【００６０】
制御変数ＣＶの数が操作変数ＭＶの数より少ない場合には、さらなる自由度を追加して、構成された操作変数のＭＶ最終休止位置に関連する要求条件に対応することができる。ここで、（いかなる制御変数ＣＶが定義された場合は）制御変数設定点が、補助および操作変数がそれらの限界内にあると予測される限り維持されることになる。構成された最終休止位置からの操作変数の平均偏差が最小化されることになる。もし一つ又は複数の補助および操作変数がそれの限界を違反するだろうと予測されると、これらの限界が違反されるのを防ぐために制御変数作用設定点がそれらの範囲の内で変更されることになる。この条件の下に、複数解が存在すれば、制御に使用される一つは、構成された最終休止位置からの操作変数の平均偏差を最小化することになる。
【００６１】
オプティマイザ５０４が、それらの範囲内の制御変数を維持しながら補助および操作変数限界を満たす解を見つけることができない（つまり、解が存在しない）場合、補助変数がそれらの制約限界を逸脱することを許される間、制御変数は範囲内に維持されることになる。最適解を見つけるにあたり、限界を違反すると予測される補助変数は同様に取り扱われ、それらの平均限界逸脱が最小化される。この挙動を達成すべく、設定点未満への逸脱が可能として当該範囲が定義される場合には制御変数ＣＶには１の利益が割り当てられ、設定点を超える逸脱が可能として当該範囲が定義される場合には制御変数ＣＶには−１の利益が割り当てられることになるように、目的関数により使用される既定コスト／利益が自動的に設定されるだろう。限界内の補助変数ＡＶには１または−１の利益が割り当てられ、操作変数ＭＶには０．１のコストが割り当てられることになる。
【００６２】
いかなる場合も、動作後、オプティマイザ５０４は、目標操作変数ＭＶＴに起因する目標定常状態制御および補助変数を決定するために定常状態ゲイン行列を使用する目標変換ブロック５０５に一式の最適目標操作変数ＭＶＴを提供する。定常状態ゲイン行列が操作変数と制御および補助変数と間の交信を定義し、よって、定義された目標（定常状態）操作変数ＭＶＴから目標制御および補助変数ＣＶＴおよびＡＶＴを独自に決定するために定常状態ゲイン行列を使用ができるので、前記のような変換はコンピュータ的に率直なものである。
【００６３】
いったん決定されると、目標制御および補助変数ＣＶＴおよびＡＶＴの少なくともＮ個のサブセットは、前述のように予測区間の末端における目標値ＣＶＴおよびＡＶＴに対して現行の制御および補助変数ＣＶおよびＡＶを仕向ける（制御区間において）定常状態操作変数ＭＶＳＳの新たな一式を決定するためにこれらの目標値ＣＶＴおよびＡＶＴを使用するＭＰＣコントローラ５２に入力として提供される。もちろん周知のように、ＭＰＣコントローラは、（理論上は）オプティマイザ５０４により決定された目標操作変数ＭＶＴであるこれらの変数ＭＶＳＳに対する定常値に達しようと操作変数を次第に変える。オプティマイザ５０４およびＭＰＣコントローラ５０２は各プロセス走査中に上記説明されるように動作するので、操作変数ＭＶＴの目標値は走査ごとに変更しえ、その結果、ＭＰＣコントローラは、目標操作変数ＭＶＴのこれらの組のいかなる特定の一つに実際に達することがない場合がある。これは、プロセス５００内にノイズ、予期せね外乱、変化などが存在する場合に特にそうである。但し、オプティマイザ５０４は、常に最適解に向けて操作変数ＭＶを動かすようにコントローラ５０２を仕向ける。
【００６４】
周知の如く、ＭＰＣコントローラ５０２には、（Ｎが補助変数ＡＶの数＋制御変数ＣＶの数であり、Ｍが操作変数ＭＶの数であり、Ｄが外乱変数ＤＶの数であるところの）Ｎ×Ｍ＋Ｄステップ応答行列でありうる制御予測プロセスモデル５１６が含まれる。制御予測プロセスモデル５１６は制御および補助変数ＣＶとＡＶの各々に対して前回計算された予測を出力５２０に生成し、ベクトル加算器５２０は、入力５２２中の誤差または補正ベクトルを生成するために、現在時間において差し当たり、制御および補助変数ＣＶおよびＡＶの実測値からこれらの予測値を引く。
【００６５】
制御予測プロセスモデル５１６はそれからＮ×Ｍ＋Ｄステップ応答行列を使って、制御予測プロセスモデル５１６のその他の入力に提供された外乱および操作変数基づき予測区間において制御変数および補助変数ＣＶおよびＡＶの各々に対する将来的制御パラメータを予測する。また、制御予測プロセスモデル５１６は、制御変数および補助変数ＣＶＳＳおよびＡＶＳＳの予測定常値を入力処理／フィルタブロック５０８に提供する。
【００６６】
制御目標ブロック５２４は、あらかじめブロック３８０に対して確立された軌道フィルタ５２６を使用して目標変換ブロック５０５によりそれに提供されるＮ個の目標制御変数および補助変数ＣＶＴおよびＡＶＴの各々に対する制御目標ベクトルを決定する。特に、軌道フィルタは、制御変数および補助変数が一定の時間をかけてそれらの目標値に仕向けられる様態を定義する単位ベクトルを提供する。制御目標ブロック５２４はこの単位ベクトルと目標変数ＣＶＴおよびＡＶＴを使用することにより、目標変数ＣＶＴおよびＡＶＴにおける（予測区間時間により定義された）一定の期間を通じた変化を定義する制御変数および補助変数の各々に対する動的制御目標ベクトルを生成する。その後、制御変数および補助変数ＣＶおよびＡＶの各々に対する誤りベクトルを定義するために、ベクトル加算器５２８は、制御変数および補助変数ＣＶおよびＡＶの各々に対する将来的な制御パラメータベクトルを動的制御ベクトルから引き算する。制御変数および補助変数ＣＶおよびＡＶの各々の将来的な誤りベクトルはそれから、例えば、操作変数ＭＶの制御区間と制御変数および補助変数ＣＶおよびＡＶの予測区間を通じての最小平方誤差を最小化にする操作変数ＭＶステップを選択すべく動作するＭＰＣアルゴリズムに提供される。もちろん、ＭＰＣアルゴリズムまたはコントローラは、Ｎ個の制御変数および補助変数のＭＰＣコントローラ５０２への入力とＭＰＣコントローラ５０２によるＭ個の操作変数の出力との関係から開発されたＭ×Ｍプロセスモデルまたは制御行列を使用する。
【００６７】
より具体的に、オプティマイザと共に機能するＭＰＣアルゴリズムは主に二つの目標を有する。ＭＰＣアルゴリズムは、第一に、動作制約内においてＭＶの動きを最小に留めた状態でＣＶ制御誤差を最小化しようと試み、そして第二に、オプティマイザにより設定された最適定常状態ＭＶ値と最適定常状態ＭＶ値から直接算出された目標ＣＶ値を達成しようと試みる。
【００６８】
これらの目的を果たすために、制約を伴わないもとのＭＰＣアルゴリズムは最小平方解にＭＶ目標を含むように拡張できる。このＭＰＣコントローラのための目的関数は次の通りである。
【数１６】
2009518750.tif 000018
この場合、ＣＶ（ｋ）は被制御出力ｐ−ステップ前予測ベクトルであり、Ｒ（ｋ）はｐ−ステップ前参照基準軌道（設定点）ベクトルであり、ＭＶ（ｋ）はｐ−ステップ前増分制御運動ベクトルであり、
【数１７】
2009518750.tif 000019
は被制御出力誤差に関する罰則行列であり、
【数１８】
2009518750.tif 000020
は制御運動に関する罰則行列であり、ｐは予測区間（ステップ数）であり、ｃは制御区間（ステップ数）であり、そしてΓｏは、オプティマイザにより定義されたＭＶの目標最適変動に相対する制御区間におけるコントローラ出力運動の合計の誤差に関する罰則である。分かりやすいように表記するために、目的関数は単独入力／単一出力（ＳＩＳＯ）制御に関するものを示す。
【００６９】
最初の二つの規約は無制約のＭＰＣコントローラに対する目的関数であり、一方、三つ目の規約は、最適目標と等しいコントローラ出力運動の合計をなす付加条件を設定するものであることが分かるであろう。言いかえれば、最初の二つの規約は、コントローラ動態的作用の目的を設定する間、三つ目の規約は定常状態最適化の目的を設定する。
【００７０】
なお、無制約のＭＰＣコントローラのための一般解に類似するこのコントローラのための一般解は、次のように表せる。
【数１９】
2009518750.tif 000021
この場合、(ＭＶ（ｋ）は時間ｋでのＭＰＣコントローラ出力の変化であり、Ｋompcは最適化されたＭＰＣコントローラ・ゲインである。また、Suは、ＳＩＳＯモデルの場合は寸法ｐ×ｃのステップ応答、そしてｍ個の操作入力とｎ個の被制御出力を持つ多重入力／多重出力ＭＩＭＯモデルの場合は寸法ｐ＊ｎ×ｃ＊ｍのステップ応答から構築されたプロセス動態行列である。
【００７１】
最適化されたＭＰＣについては、ＭＶ誤差を調製するために動態行列のサイズをＳＩＳＯモデルの場合に（ｐ＋１）×ｍに、そしてＭＩＭＯモデルの場合に（ｐ＋ｍ）＊ｎ×ｃ＊ｍへと拡張できる。Ｅp+1（ｋ）は予測区間におけるＣＶ誤りベクトルであり、ＭＶの目標最適変動に相対する制御区間におけるコントローラ出力運動の合計の誤差である。行列Γは、行列ΓｙおよびΓｏを組み合わせるものであり、ＳＩＳＯコントローラに対しては寸法が（ｐ＋１）の平方行列、そして多変数コントローラに対しては寸法が［ｎ（ｐ＋ｍ）］の平方行列である。上付き文字Ｔは転置行列を意味する。
【００７２】
オプティマイザ５０４は、特有の最適動作点を定義する操作変数ＭＶＴの目標一式を決定すべく制御変数および補助変数ＣＶおよびＡＶの全てに基づいて最適化するが故に、コントローラ５０２がそれらの関連する目標に制御変数および補助変数ＣＶおよびＡＶの選択されたサブセットを仕向ける際に、制御変数および補助変数の完了な一式のうち他のものも同様にそれらの目標値に存在することになるので、ＭＰＣコントローラ５０２がそれの制御行列において実際にそれから操作変数ＭＶ出力を生成するために制御変数および補助変数ＣＶおよびＡＶのサブセットを使用して動作しているに過ぎないことは問題ではない、と判断される。結果として、Ｍ×Ｍ制御行列を備える平方（Ｍ×Ｍ）ＭＰＣコントローラを、プロセス最適化を行うために長方形（Ｎ×Ｍ）のプロセスモデルを使用するオプティマイザと共に使用できる、と判断される。これによって、コントローラにおいてこのような変換技法に関連する付帯近似および付帯リスクを伴って非平方行列を反転させる必要なく標準の最適化技法と共に標準のＭＰＣ制御技法を使用することが可能になる。
【００７３】
ＣＶが手動またはフィードフォワード制御状態にある場合、最適操作量入力（ＭＶ）値が設定点としてローカルのＭＶループに適用される。ＣＶが自動フィードバック制御にある場合、最適なＣＶ値は、予測区間で達成される目標値（設定点）として適用される。一実施形態において、ＭＰＣコントローラが２乗される場合、つまり操作変数ＭＶの数が制御変数ＣＶの数と等しい場合には、操作変数ＭＶ目標が、以下のようにＣＶ値の変更によって効率よく達成することができる。
【数２０】
2009518750.tif 000022
この場合、(ＭＶＴはＭＶの最適な目標変化であり、(ＣＶは最適なＭＶを達成するためのＣＶの変更である。ＣＶ変更はＣＶ設定点を管理することにより実施される。
【００７４】
動作中、オプティマイザ５０４は、無制約ＭＰＣコントローラに対して定常状態目標を各走査ごとに設定および更新する。よって、ＭＰＣコントローラ５０２は無制約アルゴリズムを実行する。目標ＣＶＴおよびＡＶＴが制約を考慮するように設定されるので、可能解が存在する限り、コントローラは制約限界内で機能する。従って、最適化はＭＰＣコントローラの不可欠な要素となる。
【００７５】
図４および図５は、統合モデル予測制御と最適化を行うために使用されるステップを示すフローチャート６００を示す図である。フローチャート６００は通常、６００ａ（図４）と６００ｂ（図５）の二つの部分に分割される。６００ａは、プロセス動作前に生じる機能を示し、６００ｂは、プロセス動作中に（例えばプロセス動作の各々全ての走査中に）生じる機能を示す。プロセス動作前に、オペレータまたはエンジニアは複数のステップを採用して統合ＭＰＣコントローラおよびオプティマイザを含むアドバンスト制御ブロック３８０を作成する。特に、ブロック６０２においては、アドバンスト制御ブロック３８として使用するアドバンストコントロールの定型を選択しうる。該定型は、ユーザーインタフェース１３０上の構成用アプリケーションに含まれるライブラリに格納しうるまたはそれからコピーできるようになっており、また、特定のＭＰＣ、プロセスモデルおよび定常状態ゲインまたは、制御行列、および特定の目的関数無しにＭＰＣコントローラ・ルーチン５２０およびオプティマイザ５４０の一般的な数学および論理関数を含みうる。このアドバンストコントロール定型は、プロセス５００内の装置と通信するように構成された入力および出力ブロックなどその他のブロックならびに、ＰＩＤ、ニューラルネットワークおよびファジイ論理制御ブロックを含む制御ブロックなどをはじめとするその他のタイプの機能ブロックを有するモジュールに配置しうる。一実施形態において、モジュール内のブロックは各々、ブロック間の通信を行うためにお互いに接続されたそれらの入・出力を有するオブジェクト指向型プログラミング・パラダイム（理論枠組み）内のオブジェクト（操作対象）であることが分かるはずである。動作中に、モジュールを実行するプロセッサは、ブロックへの入力を使用して異なる時点において順々に各ブロックを実行することにより、その後にブロック間の指定された通信リンクにより定義されたように他のブロックの入力に提供されるブロックの出力を生成する。
【００７６】
ブロック６０４では、ブロック３８０で使用されることになる特定の操作変数、制御変数、制約付き変数および外乱変数をオペレータが定義する。ユーザは、望ましい場合には図２のプログラム４００などの構成プログラムにおいて、制御定型を表示したり、指定（指名）かつ構成されるべき入・出力を選択したり、制御システム内の実際入・出力を見つけるために構成環境内のいかなる標準ブラウザーを使用して照合検索したり、これらの実際の制御変数を制御定型用の入・出力制御変数として選択したりしうる。
【００７７】
アドバンストコントロール機能ブロックに対する入・出力を選択した後に、ユーザは、制御変数に関連する設定点、制御変数と補助変数および操作変数に関連する範囲または限界、そして制御・補助・および操作変数の各々に関連付けられている重要度を定義しうる。もちろん、これらの変数はプロセス制御システム構成環境内で選択または検索されるものなので、制約限界または範囲など、この情報の中にはこれらの変数と既に関連付けられているものもある。オペレータは、望ましい場合には図４のブロック６０６で、操作変数、制御変数および補助変数の各々に対して単価且つ又は利益を指定することにより、オプティマイザ内で使用されるべき目的関数を一つ又は複数構成しうる。もちろん、この時点において、オペレータは上記されるような既定目的関数を使用する選択をしても良い。
【００７８】
入力（制御、補助および外乱変数）が、アドバンストコントロール定型およびそれに関連付けられている重要度・限界・および設定点に指定（指名）され結合された後に、図４のブロック６０８では、アドバンストコントロール定型が、制御に使用される機能ブロックとしてプロセス内の選択されたコントローラにダウンロードされる。制御ブロックの一般的な性質、およびこの制御ブロックを構成する様態については、本特許の特許権者に譲渡されている「Integrated Advanced Control Blocks in Process Control Systems（仮訳：プロセス制御システムにおける統合アドバンスト制御ブロック）」と題する米国特許第６，４４５、６０６３号に記載されている。なお、該米国特許第６，４４５、６０６３号は、ここに参照することにより本稿において明示的に援用されるものとする。この特許は、プロセス制御システム内のＭＰＣコントローラを作成するにおける本質的なものに関して記載しているが、オプティマイザを前記コントローラに接続できる様態については述べていない。
当然のことながら、単にこの特許に記載されるものを用いる代わりに本稿記載の制御ブロック３８０に対して本稿記載の論理素子のあらゆるものを含む定型を用いて、コントローラを接続かつ構成するのに採用される一般的な手段を該制御ブロック３８０に使用することもできる。
【００７９】
いかなる場合も、アドバンストコントロール定型がコントローラにダウンロードされた後、オペレータは、ＭＰＣコントローラ・アルゴリズム内で使用されるステップ応答行列およびプロセスモデルを生成するために制御定型のテスト・フェーズを実行する選択を（ブロック６１０で）行いうる。上記に記載の特許において説明されるように、該テスト・フェーズ中にアドバンスト制御ブロック３８０内の制御論理は、操作変数としてプロセスに一連の偽似乱数の波形を提供し、本質的にＭＰＣコントローラにより制御変数として扱われる制御変数および補助変数における変化を観察する。望ましい場合、操作変数および外乱変数、ならびに制御変数および補助変数を図２のヒストリアン１２０により収集することも可能であり、オペレータは、構成プログラム４００（図２）を、ステップ応答の行列を得るまたは決定するためにいかなる方法においてヒストリアン１２０からこのデータを取得してこのデータの動向を集計するように設定しうる。ここで、当該のステップ応答は各々、操作量および制御変数の一つ（一つのみ追加）のユニット変動に対する制御変数と補助変数の一つの応答時間を同定する。このユニット変動は一般に階段状変動であるが、インパルス変動またはランプ変動など別のタイプの変化形態をとりうる。他方では、望ましい場合に制御ブロック３８０が、プロセス５００に偽似乱数波形を適用する際に収集されたデータに応答してステップ応答行列を生成してから、アドバンスト制御ブロック３８０を作成およびインストールしているオペレータまたはユーザにより使用されているオペレータ・インタフェース１３０にこれらの波形を提供するようにしても良い。
【００８０】
テストルーチンは、オペレータがステップ応答曲線（よって、アドバンスト制御ブロックのＭＰＣコントローラにおいて使用されるプロセスモデルまたは制御行列）の生成を指示することを可能するところの該収集し動向集計したデータのプロットをオペレータに提供しうる。オペレータは、アドバンスト制御ブロックに対するプロセスモデルを作成する前に、動向集計プロットから使用されるデータを指定しうる。特に、オペレータは、ステップ応答を作成するために使用されるデータとしてプロットの開始点と終了点を指定してもよい。もちろん、ユーザは、いかなる所望のデータを含むことも除外することもでき、異なる傾向プロットが例えば異なる操作変数、制御変数、補助変数などと関連付けられている複数の動向プロットの各々に関してこれらの機能を行いうる。
【００８１】
一式のステップ応答を作成するために、生成ルーチンは、一式のステップ応答を生成するために動向プロットから選択されたデータを使用する。ここで、各ステップ応答は、操作量または外乱変数の一つに対する制御変数および補助変数の一つの応答を示す。この生成過程は周知のものであるので、ここではさらに詳く説明しない。
【００８２】
ステップ応答行列が作成された後、制御変数および補助変数の数が操作変数の数より多い場合には、ＭＰＣコントローラ５２０内で反転して使用されることになっているＭ×Ｍプロセスモデルまたは制御行列としてＭＰＣアルゴリズム内で使用される制御変数および補助変数のサブセットを選択するためにステップ応答行列が使用される。この選択処理は、オペレータによりマニュアル操作で、または例えばステップ応答行列にアクセスを有するユーザーインタフェース１３０の中のルーチンにより自動的に行いうる。一般的に言って、制御変数および補助変数のうちただ一つが操作変数のうちのただ一つに最も密接に関わるとされる。よって、（プロセスコントローラへの入力である）制御変数および補助変数のうち一個からなる特有な（つまり、異なる）一つは、ＭＰＣアルゴリズムがＭ×Ｍ組のステップ応答から作成されたプロセスモデルに基づくことができるように、（プロセスコントローラの出力である）異なる操作変数の各々に関連付けられることになる。
【００８３】
ペアリング（対の構成）を提供する際に発見的アプローチを使用する一実施形態において、自動ルーチンまたはオペレータは、操作変数の特定の一つにおけるユニット変動に対する応答時間の最も速いものと最大ゲインの組合せをいくつか有しこれら二つの変数をペア（対）にする制御変数または補助変数のうちただ一つを選択する目的で、Ｍ個からなる（Ｍは操作変数の数と等しい）制御変数および補助変数の一式を選択することになる。もちろん、場合によっては、特定の制御変数または補助変数が、複数の操作変数に対して高速応答時間および大きなゲインを有しうる。ここで、当該の制御変数または補助変数は、関連付けられている操作変数のいかなるものとペア（対）を構成しうるし、実際、最高速応答時間および最大ゲインを産出しない操作変数ともペア（対）を構成しうる。これは、全体として、ゲインが少な目または応答時間が遅めの操作変数では、許容可能なレベルでその他の制御変数または補助変数がもたらされないかもしれないからである。よって、一方は操作変数、他方は制御変数および補助変数からなるペア（対）は、総合的な意味で、制御変数および補助変数のサブセットと操作変数のペア（対）を構成するために選択される。さらにまた、一式の制御および補助変数目標は、選択されない制御変数（ならびに選択されない補助変数）がそれらの設定点またはそれらの提供された動作範囲内にあるプロセスの動作点を表すべくオプティマイザにより選択されるので、制御変数の全てがＭ個の制御変数および補助変数のサブセットの一つとして選択されないこと、従ってＭＰＣコントローラがそれへの入力として制御変数の全てを受け取らないことは問題ではない。
【００８４】
もちろん、一方で数十個もしくは数百個という制御変数および補助変数が存在し、他方では数十個もしくは数百個という操作変数が存在しうるので、少なくともビジュアル化の観点からは、異なる各々の操作変数に対して最適な応答を有する一式の制御変数および補助変数を選択するのは困難な場合がある。この問題を克服すべく、オペレータ・インタフェース１３０内のアドバンスト制御ブロック生成ルーチン４００は、動作中にＭＰＣコントローラ５２０で使用される制御変数および補助変数のサブセットとして使用されるべき制御変数および補助変数をオペレータが適切に選択する補助を提供するまたはそれを可能にするために、一式の画面表示を含みうる、ユーザまたはオペレータに対して該一式の画面表示を提示しうる。
【００８５】
よって、図４に示されるブロック６１２では、オペレータが特定のまたは選択された操作変数の一つに対する制御変数および補助変数の各々の応答を表示することができる画面がオペレータに提示されうる。オペレータは、異なる操作変数の各々に対する制御変数および補助変数の各々のステップ応答を表示しうる、そして、プロセス中には当該の操作変数に対する最も適切な応答である一つの制御変数または補助変数を選択しうる。一般にオペレータは、操作変数に対する最も高速の応答時間と最高の定常状態ゲインの最適な組合せを有する制御変数または操作変数を選択しよう試みるであろう。ダイアログボックスを使用して、この操作変数に対して最も重要とされる制御変数および補助変数の一つを選択しうる。この実施形態において、制御ルーチン４００は、もちろん以前選択された制御変数および補助変数をメモリに格納するものであり、オペレータが同じ制御変数または操作変数を二つの異なる操作変数に関連付けられているものとして選択しないようにするために確認を行う。ユーザまたはオペレータが既に別の操作変数に対して選択された制御変数または補助変数を選択した場合、ルーチン４００は、ユーザまたはオペレータにエラーメッセージを提示して、以前選択された制御変数または補助変数が選択されたことをユーザまたはオペレータに通知する。このように、ルーチン４００は、二つ以上の異なる操作変数に対して同じ制御変数または補助変数が選択されることを防ぐ。
【００８６】
当然のことながら、オペレータは、これら変数の多数存在する場合に特に有用であるＭＰＣ制御アルゴリズムへの入力として使用されることになるＭ個の制御変数および補助変数のサブセットを選択できるようになりうる。もちろん、ブロック９４で決定された一式の制御変数および制約変数は、被制御制約付き変数および操作変数に対してステップ応答から決定されたゲイン応答および遅延時間のいくつかの組合せに基づいて使用するために入力変数を選択しうるとことの、あらかじめ確立されているいくつかの判定基準または選択ルーチンに基づいて自動的にまたは電子的に選択されうる。
【００８７】
別の実施形態において、まず自動選択プロセスは、行列の条件数に基づいて入・出力行列を選択することにより、例えばある所望する程度まで条件数を最小化することにより、そしてそれから制御行列からコントローラ構成を開発することにより、制御行列を決定しうる。
【００８８】
この実施例において、プロセス・ゲイン行列Ａについては、行列の制御性をテストするために行列ＡTＡの条件数が決意されうる。一般に、条件数が少ないほど制御性が良く、条件数が多いほど制御性が悪く制御ステップまたは動作が多くなるとされている。許容できる制御性の程度を定義する上での厳密な判定基準はなく、従って、使用できる可能性のある様々な制御行列の相対比較として、および悪条件行列のテストとして条件数を使用することができる。周知の如く、悪条件行列の条件数は無限に近いものとなる。数学的に、悪条件設定（条件付け）は、共線的なプロセス変数の場合に生じる、つまり、制御行列行または列が共線的であることにより生じる。よって、条件数および制御性に影響する主要因は行列の行と列の間の相互相関である。制御行列における入力‐出力変数を注意深く選択することにより、条件設定（条件付け）の問題を少なくできる。事実上、制御行列の条件数が数百（例えば、５００代）またはそれよりも多い場合に、懸念すべきである。このような行列では、コントローラ操作変数の動きが極めて過剰となる。
【００８９】
上述のように、制御行列は動的制御問題を解決する間、ＬＰオプティマイザは定常状態最適化問題を解決し、そして、たとえＭＰＣコントローラ・ブロックが不等数のＭＶ（ＡＶを含む）およびＣＶを有しうるとしても、制御行列は自乗入力‐出力行列である必要がある。通常、コントローラの生成に使用される制御行列に対して入力および出力を選択し始めるために、利用可能なＭＶ全てがコントローラ出力として含まれるか、または選択される。出力（ＭＶ）を選択後、動的制御行列の一部分とされたプロセス出力変数（つまりＣＶとＡＶ）が、悪条件を伴わずに条件付けされている自乗制御行列を生成するように方法で選択されなければならない。
【００９０】
ここで、制御行列内において入力として自動的にまたはマニュアル操作でＣＶおよびＡＶを選択する方法の一つを説明するが、その他の方法を使用しうることは言うまでもない。
【００９１】
ステップ１  −  可能な場合、ＣＶの数がＭＶの数（つまりコントローラ出力の数）と等しくなるまでＣＶが選択される。ＭＶよりもＣＶの方が多い場合、いかなる所望の判定基準（例えば優先度、ゲインまたはフェーズ応答、ユーザ入力など）に基づいたいかなる順序によってＣＶが選択されうる。ＣＶの可能総数がＭＶの数と等しくなると、ステップ４に進み、結果的に得られる平方制御行列条件数についての受容性テストを行う。ＣＶの数がＭＶの数より少ないと、ステップ２に示されるようにＡＶが選択されるかもしれない。定義されたＣＶが存在しない場合、ＭＶに相対した極大ゲインを有するＡＶを選択し、ステップ２に進む。
【００９２】
ステップ２  −  先に選択されたＣＶおよびＡＶにより定義された制御行列のうち既に選択されたものに追加された各々全てのＡＶに対する条件数を一つずつ計算する。当然のことながら、選択されたＣＶにより定義された行列には、先に選択されたＭＶの各々に対する当該ＣＶまたはＡＶの定常状態ゲインを定義する、各選択されたＣＶおよびＡＶに対する行を含む。
【００９３】
ステップ３  −  結果的に得られる行列の最低条件数につながるステップ２において決定されたＡＶを選択し、行列を選択されたＡＶが追加された前行列として定義する。現時点におけるのＭＶ数が、選択されたＣＶの数＋選択されたＡＶの数と等しい場合（つまり、現時点において行列が平方である場合）ステップ４に進む。それ以外の場合は、ステップ２に戻る。
【００９４】
ステップ４  −  作成された平方制御行列Ａｃに対する条件数を計算する。望ましい場合は、行列ＡｃＴＡｃの代わりに行列Ａｃに対する条件数計算を使用しうる。なぜなら、これら異なる行列に対する条件数は他方の平方根として関係するからである。
【００９５】
ステップ５  −  ステップ４で計算された条件数が許容範囲内の場合、ペアリングが完了するまで特定のＭＶに相対して最大ゲインを有するＣＶまたはＡＶを選択することにより、各々全てのＣＶおよび選択されたＡＶをＭＶに関連付ける。この時点において選択プロセスが完了する。一方、条件数が最低許容条件数より多い場合、制御行列に前回追加されたＡＶ／ＣＶを取り除き、ステップ６のラップアラウンド手順を行う。
【００９６】
ステップ６  −  選択されたＭＶの各々に対するラップアラウンド手順を一度に一つずつ行い、各ラップアラウンド手順から生じる行列の条件数を計算する。本質的に、ラップアラウンド手順は、取り除かれたＡＶ（またはＣＶ）の代わりに異なるＭＶの各々に対する統一応答を置くことにより行われる。統一応答では、行列の行内の位置のうち一箇所で統一され、それ以外の箇所ではゼロになる。この場合本質的に、適切に条件設定されている平方制御行列を形成するためにＡＶではなく特定のＭＶがてそれぞれ入力および出力とし使用されている。一例として、４×４行列の場合は組合せ１０００、０１００、００１０および０００１が、ゲイン行列Ａｃ内の該取り除かれたＡＶの列（line）の行（row）に配置されることになる。
【００９７】
ステップ７  −  ＭＶの各々に対するラップアラウンド手順を行った後、最低条件数につながる組合せを選択する。向上が見られない場合、もとの行列を維持する。この時点で、それ自体を制御するために使用されるＭＶ（つまり、ラップアラウンドされたＭＶ）を除く特定のＭＶに相対して最大のゲインを有するＣＶまたはＡＶを選択することにより、各々全ての選択されたＣＶおよび選択されたＡＶをＭＶに関連付ける。
【００９８】
もちろん、この手順により定義される制御行列、ならびに結果的に得られる条件数がユーザに提出されるようにしても良く、それによってユーザは、コントローラ生成における使用に向けて定義された制御行列を受け入れるか拒否することができる。
【００９９】
なお、上記の自動手順において、制御性を改善する目的でそれ自身を制御すべく選択された（ラップアラウンドされた）ＭＶは最高でも一つのみであった。マニュアル操作による手順では、ラップアラウンドされたＭＶの数は任意数でありうる。コントローラ構成における対応する出力変数が選択されていないことから、ＭＶがそれ自体を制御すべく選択されたことが明白になる。また、ＭＶの数が全ＡＶ＋ＣＶの数より多い場合には、制御用ラップアラウンドとしてよりさらに多くのＭＶを使用することができる。このようにして最後には平方制御行列がＭＶの各々を有するコントローラに出力としてなおも提供される。当然のことながら、ラップアラウンドを行い使用するプロセスは、制御行列用に選択されたＣＶおよびＡＶの数がコントローラにより制御されるＭＶ数より少ないものでありえ、その差は制御行列に対する入力としてのＭＶラップアラウンドの数になる、ということを意味することが分かるであろう。さらに、このラップアラウンド手順は、ＭＶより少ないＡＶ＋ＣＶを有するプロセスにおいて使用することができる。
【０１００】
もちろん、前述では定常状態ゲインを用いて条件数が計算される。従って、制御行列は本質的に定常状態に対して制御性を定義する。プロセスの動特性（むだ時間、遅延時間、など）およびモデルの不確実性もまた動的制御性に影響を及ぼし、これらの影響は、動的制御に対するそれらの影響により制御行列へのそれらの包含を指示しうる（左右しうる）プロセス変数（例えば、制御変数および補助変数）の優先度を変えることにより配慮できる。
【０１０１】
また、定常状態および動的制御性の両方を改善することと意図したその他の発見的手順を使用するも可能である。一般に、このような手順は、制御行列を開発し且つ、それによりコントローラ入力から何らかの向上を制御行列にもたらす適切な一式を選択するためにいくつかのフェーズにおいて適用される発見的判定基準数（ことによっては相反するものをいくつか含む）を有する。このような発見的手順の一つでは、ＣＶおよびＡＶが最高ゲイン関係に基づいてＭＶによりグループ化されることになる。その後、各ＭＶグループ化ごとに、最も高速の動特性および重要なゲインを有するプロセス出力が一つ選択されることになる。この選択プロセスは確信間隔を考慮し、（その他全ては同等である間）ＡＶより ＣＶを優先する。その後、プロセスモデル生成ルーチンは、ＭＰＣ制御生成中に各グループから選択されたパラメータを使用する。各ＭＶごとには一つのパラメータだけが選択されるので、応答行列は正方形であり反転しうる。
【０１０２】
いかなる場合も、ＭＰＣコントローラに入力するＭ個（またはそれ以下）の制御変数および補助変数のサブセットを選択後、図４のブロック６１４は、決定した平方制御行列から図３のＭＰＣ制御アルゴリズム５３０にて使用されるプロセスモデルまたはコントローラを生成する。周知の如く、このコントローラ生成ステップはコンピュータ的に大容量のメモリを食う手順である。その後、ブロック６１６は、このＭＰＣプロセスモデル（内在的に制御行列を含む）またはコントローラ、そして必要がある場合にはステップ応答および定常状態ステップ応答ゲイン行列を、制御ブロック３８０にをダウンロードする。そして、このデータは、実稼動に向けて制御ブロック３８０に組み込まれる。この時点において、制御ブロック３８０は、プロセス５００内のオンライン動作の準備が整っている状態になっている。
【０１０３】
ここで図５を参照するに、プロセス５００のオンライン動作中に、図４のフローチャート６００ａを使用して作成されるような、アドバンスト制御ブロック３８０の各動作サイクルまたは走査中に実行された一般ステップが示されている。ブロック６１８で、ＭＰＣコントローラ５２０（図３）は、制御変数および補助変数ＣＶおよびＡＶの被測定値を受信して処理する。特に、制御予測プロセスモデルは、将来的制御パラメータベクトルならびに予測定常状態制御および補助変数ＣＶＳＳおよびＡＶＳＳを生成すべく、ＣＶ、ＡＶおよびＤＶ計測または入力を処理する。
【０１０４】
次にブロック６２０で、入力処理／フィルタブロック５８０（図３）は、ＭＰＣコントローラ５２０により開発された予測制御、補助および操作変数ＣＶＳＳ、ＡＶＳＳおよびＭＶＳＳを処理またはフィルタし、これらフィルタされた値をオプティマイザ５４０に提供する。ブロック６２２でオプティマイザ５４０は、補助および操作変数の限界のいかなるものも違反せずに、且つ、制御変数をそれらの指定された設定点に（またはこれら変数に対して指定された範囲内に）維持しながら、選択されたまたは既定の目的関数を最大化または最小化する操作変数目標ＭＶＴのＭ個からなる一式を決定するために標準ＬＰ技法を実行する。一般的に言って、オプティマイザ５４０は、制御変数および補助変数の各々をそれの限界に追い込むことにより目標操作変数解ＭＶＴを計算する。上記のように、多くの場合は、補助変数の各々がめいめいの制約限界内に留まる間に制御変数の各々がそれらの設定点（当初は制御変数の上限として扱われうる）にあるところに解が存在する。このような場合にはオプティマイザ５４０は、目的関数にとって最適な結果を生み出すような決定済み操作変数目標ＭＶＴを出力するだけでよい。
【０１０５】
但し場合によっては、補助または操作変数のいくつかまたは全てにおける制約が厳しいが故に、このような解が存在せず、よって全制御変数がそれらの設定点にあるとともに全補助変数がめいめいの制約限界内にあるような動作点を見つけることが不可能なこともありうる。これらの場合には上記のように、オプティマイザ５４は、補助変数がめいめいの範囲内で動作する動作点を見つける目的で、それらの指定された設定点範囲内にて制御変数が緩められるようにしうる。この場合に解が全く存在しないと、オプティマイザは、補助変数制約限界の一つを解内の限界として用いることを断念し、その代わりに該断念された補助変数制約限界を無視して最適なプロセス動作点を決定する。ここで、オプティマイザは、制御変数および補助変数の各々にあてがわれているめいめいの重要度に基づいてどの補助変数または制御変数を制約限界として断念するかを選ぶ。（例えば、最低重要度または最高優先度が最初に断念される。）オプティマイザ５４０は、制御変数に対する設定点範囲および残りの優先度がより高い補助変数に対する限界の全てが満たされる目標操作変数ＭＶＴ解を見つけるまで、補助または制御変数をそれらにあてがわれている重要度または優先度に基づいて断念し続ける。
【０１０６】
次にブロック６２４で、目標変換ブロック５５０（図３）は、定常状態ステップ応答ゲイン行列を使用することにより、操作変数ＭＶＴのための目標値から制御変数および補助変数ＣＶＴおよびＡＶＴの目標値を決定して、これらの値の選択されたＮ個（ここでＮはＭと等しい、またはＭ未満の数である）のサブセットを目標入力としてＭＰＣコントローラ５２０に提供する。ブロック６２６で、ＭＰＣコントローラ５２０は、これらの目標値の将来的ＣＶおよびＡＶベクトルを決定するために、上記されるような無制約ＭＰＣコントローラとして動作するためにそれから派生した制御行列または論理を使用し、将来的な誤りベクトルを生成すべく将来制御パラメータベクトルでベクトル減算を実行する。ＭＰＣアルゴリズムは、Ｍ×Ｍステップ応答から開発されたプロセスモデルに基づいて定常状態操作変数ＭＶＳＳを決定するために周知の方法で動作し、これらのＭＶＳＳ値を入力処理／フィルタブロック５８０（図３）に提供する。また、ブロック６２８でＭＰＣアルゴリズムは、プロセス５００に出力されるためのＭＶステップも決定し、これらのステップの最初のものをいかなる適切な方法でプロセス５００に対する出力する。
【０１０７】
通常の状況において、目標設定点が許容範囲内にあり、制約変数は限界内にある。但し、外乱が強すぎるために補正することができない場合、オプティマイザが限界内に当てはまる解を見つけることができないこともありうる。オンライン最適化の基本機能はあらゆる状況における最適解を有するので、プロセス変数がそれらの限界から外れると予測される場合に実行不可能な状態への対処を行うために有効な機構が利用される。
【０１０８】
このような場合用の目的関数の拡張は、緩和変数（スラック変数）と呼ばれるパラメータの特殊用途に基づく。線形プログラミングにおいて、緩和変数はベクトル
【数２１】
2009518750.tif 000023
により誘導し、次の不等式
【数２２】
2009518750.tif 000024
を以下の等式に変換（transform）するために使用される。
【数２３】
2009518750.tif 000025
【０１０９】
線形プログラミングモデルには等式が必要される。よって、緩和変数は特定のアプリケーションの意味を持たずに仮パラメータタとしてのみ機能する。但し、緩和変数の追加は、自由度を増す役目を果たす。従って、各方程式に対して別の緩和変数をさらに追加することにより自由度が増加され、解は限界を違反するような状況における解を見つけることが可能になる。緩和変数はレンジ限界を拡張するために適用されうる。この場合、上限違反に対する緩和変数は
【数２４】
2009518750.tif 000026
であり、下限違反に対する緩和変数は
【数２５】
2009518750.tif 000027
であり、以下の通りになる。
【数２６】
2009518750.tif 000028
【０１１０】
図６は、（設定点の無いプロセス出力である）制約変数のための緩和変数の概念を示す実施例を提供する。Ｓ（ｉ）は、該当する適切な緩和ベクトルの構成部分ｉを示す。上記でたった今説明したように、ＣＶ予測の各値に対して１対の方程式が存在することになる。実際の予測値によって、緩和変数のいくつかはゼロになる。なお、真（非ゼロ）の緩和変数だけが図６〜図９に示されている。
【０１１１】
プロセス変数限界内のＬＰ解、または最小限に限界を違反するＬＰ解を見つけるために、新しい緩和変数は罰則を受ける。ここで、これら罰則値は経済的コストまたは利益を示す規約より著しく高いものである。従って、以下の目的関数
【数２７】
2009518750.tif 000029
は、制約罰則適用規約
【数２８】
2009518750.tif 000030
の追加により拡張され、それによって次の通りになる。
【数２９】
2009518750.tif 000031
表記法を簡素化すると、
【数３０】
2009518750.tif 000032
と推定することができる。
【０１１２】
ベクトルＰＣの構成部分は全て一般的に経済的コスト／利益ベクトルより著しく大きいものとなる。ベクトルＰＣの最小構成部分がＰベクトルの最大構成部分より大きいと推定することは理にかなっている
【０１１３】
緩和変数上の罰則の値は、最適解を達成するプロセス中に自動的に設定されうる。罰則値は変数の優先度および目的関数の経済的価値に依存するが、当然のことながら、緩和変数を有する目的関数に対してさらなる配慮を適用しうる。
【０１１４】
罰則付き緩和変数の適用により、所望の方法において動作状態のプロセス挙動を設定することが可能である。例えば、被制御および制約付き変数に対する拡張可能範囲、出力および入力に対するフレキシブル限界と設定点、およびその他の事前定義条件を定義するのは簡単である。結果的に得られるオプティマイザの利点は、最適解がいかなる条件に対しても保証されるということである。原則として、罰則付き緩和変数と関係する多目的機能の規約により、前回の経済的な重要度調整済み機能の異なる目標が設定される。このように、この機能により設定された完全な機能最適化は多目的且つ多重目標のものであり、よって、線形プログラミングの適用可能領域を元来定義されている業務を超越したものに拡張する。
【０１１５】
一般的に、さらなる制御動作を行う必要がない範囲内における被制御変数の設定点周辺に範囲を近似しうる。
緩和変数はこのような表現（representation）に自然に調和（lend）するので、多目的オプティマイザの拡張は、設定点最適化のために許容範囲を定義するのに緩和変数を使用することにより実現される。該範囲は設定点値周辺に定義され、必ず設定点下／上限内にある。設定点範囲は片側かもしれないしまたは両側かもしれない。図７に示されるように、片側範囲は最小化および最大化目的関数に関連付けられている。両側範囲は、図８に示されるように罰則付き緩和変数により拡張されたような定義済み範囲内で設定点に可能な限り近い最適解を実現すること以外の経済的目的を持たない。ゼロに等しい範囲は、それ周辺の重い罰則が課されている緩和変数を有する設定点を示す。
【０１１６】
各ＣＶ予測に対する、両側範囲を伴う設定点制御に関する方程式は、次の形をとる。
【数３１】
2009518750.tif 000033
ここで、ＳbelowおよびＳaboveは、設定点を下回るおよび設定点を上回る解に対する緩和変数のその他のベクトルである。従って、次のさらなる別の規約
【数３２】
2009518750.tif 000034
が、目的関数に追加される。ここで、ＰTbelowは設定点を下回る解のユニット罰則であり、ＰTaboveは設定点を上回る解のユニット罰則である。次のように推定することは理にかなっている。
【数３３】
2009518750.tif 000035
【０１１７】
このようにして罰則付き緩和変数を適用することにより、解が出力限の外にある場合でも、オプティマイザはそれの初回の実行で解を見つけることができる。
また、このアプローチによって、よりフレキシブルな方法でプロセス入力を取り扱うことも可能になる。
入力（ＭＶ）はハード制約だけを有する。
また、入力のいくつかに対してソフト制約を（ハード制約に包含した形で）定義することも可能である。
ソフト制約の罰則付き緩和変数を導入して、ＭＶに対する罰則付き範囲を定義するのは簡単である。これについては、以下の方程式が提供される。
【数３４】
2009518750.tif 000036
【０１１８】
好ましい和解値（ＰＳＶまたはＶ）、ＭＶの構成済み和解値、を定義するためにも同じアプローチが使用される。ＭＶ値に対する変更を要求するアクティブな条件がなければ、ＭＶはそのＰＳＶ値に向かう。ＰＳＶは、ユーザにより設定される、または、それはＭＶの最後の値でありうる。図９中の図示されるようにＰＳＶを有するＭＶに対する方程式は次の通りである。
【数３５】
2009518750.tif 000037
【０１１９】
ＰＳＶは、その他の目的（例えば、経済性、制約且つ又は制御）が満たされた後に達成されることになっている最下位優先度制御目標である。罰則付きＭＶ緩和ベクトルに対する目的関数規約Ｓbelow、Ｓaboveは、ＣＶ設定点緩和ベクトルに対するものと似した方法で設定される。
【０１２０】
制約に対しては罰則付き緩和変数
【数３６】
2009518750.tif 000038
を使用し、制御に関しては
【数３７】
2009518750.tif 000039
を使用する三つの最適化目的（経済性、制約且つ又は制御）はその後組み合わされ、結果として多目的最適化機能の次の一般形態をもたらすことができる。
【数３８】
2009518750.tif 000040
【０１２１】
図１０を参照するに、シミューレーション・システム７５０の実施例が示されている。以下、モデル予測制御および最適化の実施例を説明するが、２００６年１０月２日に出願された「Updating and Utilizing Dynamic Process Simulation in an Operating Process Environment（仮訳：作動中のプロセス環境における動的プロセスシミュレーションの更新および利用）」と題される米国特許出願番第１１／５３７，９７５号（特にその中でも、複数のシミュレーション・ブロックを有するシミューレーション・システムを説明する図９の記載）には、モデル予測制御および最適化のより詳細な実施例が記載されている。なお、該米国特許出願番第１１／５３７，９７５号の内容全体が、参照することにより本稿において明示的に援用されるものとする。
【０１２２】
図１０は、プロセス工場の一部または一部分のためのシミューレーション・システム７５０を示し、図中、シミューレーション・システム７５０は、複数のシミュレーション・ブロック７５２、７５４および７５６そして、望ましい場合はシミュレーション・ブロック７５２、７５４および７５６を接続するスマート接続要素７６０および７６２から構成される。特定の実施形態では、当然のことながら、シミューレーション・システム７５０が、実際のプロセス工場内で作動するプロセス制御ルーチンと並列して（例えば、同時に、または連動して）実行されうること、シミューレーション・システム７５０が、拡張されたより正確なシミュレーション作業を実行すべく、以下より詳しく説明される方法でプロセス工場の構成部分に（またはプロセス工場の制御システムに）接続されうることが分かるはずである。
【０１２３】
特に、図１０に示される如く、プロセス工場の一部分の動作（例えば、プロセス工場内の一台の設備の動作）のシミュレーションを行うために一つ又は複数のプロセス（例えば、設備）モデル７７２を実施するまたは使用するシミュレーション・ルーチン７７１が、ポンプ・シミュレーション・ブロック７５２には含まれている。特に、シミュレーション・ルーチン７７１は、例えばその他のシミュレーション・ブロックや制御システムやユーザなどにより提供されたブロック７５２に対する様々な入力を使用して、シミュレーションの対象となっているプロセス工場内の実際のポンプ装置により（またはそれにおいて）開発される流量、圧力、且つ又はその他のプロセス変数のシミュレーションを行うまたは評価する。これら流量、圧力、且つ又はその他のシミュレートされた模擬変数は、流量またはポンプ圧送中の材料のその他の特徴（粘度、物質平衡など）とともに、これらの計測をバルブ・シミュレーション・ブロック７５４に配信する接続オブジェクト７６０に提供される。望ましい場合、接続オブジェクト７６０は、シミュレートされた模擬流量、圧力など要素をバルブ・シミュレーション・ブロック７５４に提供するためにプロセス工場内の接続構造のシミュレートされた模擬操作に基づいてブロック７５２により開発されたシミュレートされた模擬出力変数を処理するスマート接続オブジェクトでありうる。もちろん、接続オブジェクト７６０は、スマート接続オブジェクトである必要はなく、ポンプ・シミュレーション・ブロック７５２により開発され出力された圧力、流量またはその他のシミュレートされた模擬プロセス変数の指標を提供するためにポンプ・シミュレーション・ブロック７５２とバルブ・シミュレーション・ブロック７５４の間に備えられている単なるリンクであっても良い。
【０１２４】
同様に、バルブ・シミュレーション・ブロック７５４にはシミュレーション・ルーチン７７３が含まれており、シミュレーション・ルーチン７７３は、バルブに関連する計測または条件（バルブ位置、など）および、接続オブジェクト７６０により提供されたバルブ・シミュレーション・ブロック７５４へのシミュレートされた模擬入力に基づいてバルブの動作をモデル化するための（設備モデルを含みうる）一つ又は複数のプロセスモデル７７４を含み且つ使用する。繰り返して言うが、シミュレーション・ルーチン７７３は、プロセス工場内の実際のバルブ動作のシミュレーションをいかなる周知の様態において行い、それによって一つ又は複数のシミュレートされた模擬出力変数（例えば、シミュレートされたバルブからの模擬流量、シミュレートされたバルブの出力での模擬圧力、シミュレートされたバルブ出力内のまたはその出力での流体の模擬温度、など）を生成するためにプロセスモデル７７４を使用しうる。これらシミュレートされた模擬プロセス変数の指標は、反応装置シミュレーション・ブロック７５６に入力を提供するためにこれらの変数を処理しうる接続子オブジェクト７６２に提供されうる。繰り返して言うが、もちろん、接続子オブジェクト７６２は、バルブ・シミュレーション・ブロック７５４の出力を反応装置シミュレーション・ブロック７５６の入力に提供する単なる通信リンクでありうる。
【０１２５】
また、図１０に示されるように、反応装置シミュレーション・ブロック７５６には、接続子オブジェクト７６２により提供される反応装置シミュレーターブロック７５６に対する入力と反応装置条件および変数（設備変数）に基づいて、プロセス工場内の反応装置の動作に関するシミュレーションを行うために一つ又は複数のプロセスモデル７７６を使用するシミュレーション・ルーチン７７５も含まれる。プロセスモデル７７６は、プロセス流体温度、圧力、物質平衡などを含みうる反応装置のシミュレートされた模擬出力を一つ又は複数生成するために使用される。よって、この場合当然のことながら、プロセスシミュレーションが、プロセス用設備を表す一つ又は複数のブロックとして実施される場合には、これらブロックの出力が、プロセスシミュレーション・ブロックに対する入力に基づいて計算されるシミュレートされた模擬プロセス条件を表すことが明らかなはずである。
【０１２６】
プロセスモデル７７２、７７４および７７６は、パラメトリックおよびノンパラメトリックなプロセスモデルを含むいかなる所望のタイプのプロセスモデルでありうる。例えば、モデル予測制御（ＭＰＣ）技法やニューラルネットワーク・モデルおよびファジィ論理モデルにおいて通常使用されるものなど、プロセス動作中になされた実際の計測に基づいて一連のインパルスまたはステップ応答の入・出力曲線を反映するプロセスモデルである一次遅れ＋むだ時間プロセスモデルなどの第一原理モデルを、プロセスモデル７７２、７７４および７７６として使用しうる。なお、当該タイプのプロセスモデルは、２００６年９月２６日付け発行の「State-Based Adaptive Feedback Feedforward PID Controller（仮訳：状況起因型適応可能フィードバック・フィードフォワードＰＩＤコントローラ）」と題する米国特許第７，１１３，８３４号および、２００３年６月１０日付け発行の「Adaptive Feedback/Feedforward PID Controller（仮訳：適応可能フィードバック／フィードフォワードＰＩＤコントローラ）」と題される米国特許第６，５７７，９０８号に開示されている。なお、これら特許の開示全体を、ここに参照することにより本稿に援用するものとする。もちろん、前記以外のその他いかなるタイプのプロセスモデルを使用しても良い。なおまた、シミュレーション・ブロック７５２、７５４および７５６において使用されるモデルは、特別にシミュレーションの目的で、ユーザまたは設計者によってなど、いかなる様態において作成されうる。但し、これらのモデルは場合によって、制御または最適化作業を行うためにプロセスモデルを使用するオンライン制御システムの一部分からコピーされうる。例えば、ＭＰＣコントローラは、一般にオンライン制御作業中にコントローラにより使用されるためのプロセスモデルを生成し、このプロセスモデルは、ＭＰＣコントローラまたはＭＰＣコントローラにより制御される工場の一部分のシミュレーション作業実行の際の使用に向けて、一つ又は複数の該当する又は関係するシミュレーション・ブロックにインポートされうる。
【０１２７】
図１０に示されるものなどをはじめとするシミューレーション・システムの構成がオフライン・シミュレーション作業を提供するのに役立つ一方、オンラインで、またはプロセス工場に関して並行処理モードでシミューレーション・システム７５０を実行すること、また、そうすることによって、シミューレーション・システム７５０の生成後に生じうる実際のプロセス工場の変化を考慮に入れるようにプロセスモデル７７２、７７４および７７６を自動的にまたは半自動的にアップデートし、よって、より良いまたはより正確なシミューレーション・システムを提供することも可能であるとされている。特に、シミューレーション・システム７５０のシミュレーション・ブロックに（例えば、ブロック７５２、７５４および７５６などに対して）その他の標準入力を追加することにより（この場合、標準入力がシミュレーション・ブロック７５２、７５４および７５６の出力パラメータ関連付けられている、例えば、ブロック出力パラメータ対応する、実際のプロセス計測を表わす）、シミュレーション・アルゴリズムの一部として、シミュレートされた模擬パラメータの計算された（シミュレートされた）出力と、作動中のプロセスまたはオンライン・プロセスにおいて測定された実測値との間の相違を補正するためにシミュレーション・ブロック７５２、７５４および７５６により使用されるプロセスモデル７７２、７７４および７７６を自動的に補正することが可能である。
【０１２８】
よって図１０に示される如く、シミュレーション・ブロック７５２、７５４および７５６の各々には、実際のプロセスからの（且つ又は望ましい場合はユーザからの）フィードバックに基づいてプロセスシミュレーション・ブロック７５２、７５４および７５６内でプロセスモデル７７２、７７４および７７６を定期的に更新または再生成するために使用しうるモデル再生成ブロック７８０が含まれる。より具体的に、モデル再生成ブロック７８０は、（例えば、例えば制御システムによりプロセス工場内で測定された）実際のプロセス変数を示す計測を使用して、この測定されたプロセス変数（ＰＶ）を、（測定されたプロセス変数と同じ時間）測定されたプロセス変数に対応するシミュレーション・ブロックの出力と比較する。モデル再生成ブロック７８０は、模擬出力を開発する際にプロセスシミュレーション・ブロック内で使用されるプロセスモデルを更新するまたは再生成するためにこの比較を使用しうる。この機能特性に準じて、単一ＰＶ流量測定７８２が、（例えば、プロセス工場内で使用される制御システムにより）プロセス工場から、バルブ・シミュレーション・ブロック７５４内でモデル再生成ブロック７８０により使用されることになるバルブ・シミュレーション・ブロック７５４へとフィードバックされている状態で示されている。ここで、ＰＶ流量測定７８４は、バルブ・シミュレーション・ブロック７５４によりシミュレートされているプロセス工場内バルブの被測定流動出力である、またはそれを表す。同様に、ＰＶ圧力測定７８６およびＰＶ温度測定７８８は、反応装置シミュレーション・ブロック７５６のモデル再生成ブロック７８０による使用に向けて反応装置シミュレーション・ブロック７５６にフィードバックされている状態で図１０に示されている。この場合、ＰＶ圧力測定７８６およびＰＶ温度測定７８８は、反応装置シミュレーション・ブロック７５６によりシミュレートされている反応装置の出力における圧力および温度の実測値を表す。もちろん、その他のタイプおよびその他の数のＰＶ計測値も、シミュレーション・ブロック７５２、７５４および７５６にフィードバックされうる。（この場合、これらの計測の性質およびアイデンティティは、一般に実行中のシミュレーション又はプロセスモデルの詳細に基づき選択される。）
【０１２９】
いかなる場合も、プロセス工場からの被測定フィードバック信号を使用して、シミュレーション・ブロック７５２、７５４および７５６は、より正確にプロセス作動を反映するように、プロセス工場の継続する稼動中に変更または更新されうる。このような更新には、これらのモデルの出力に適用される補正または更新因子の計算が含まれうる。このように、シミューレーション・システム７５０は、より正確なシミュレーションを提供するために、プロセス工場内の変化する状況に、また、モデル化されていない変化に、工場に導入されたまたはその工場と関連した非線形性に、および工場におけるその他の変化に適応する。
【０１３０】
より良いシミュレーションを実行し、よってより正確な模擬または予測プロセス変数を生成することの他に、シミューレーション・システム７５０により開発された後に適応されたまたは再生成されたプロセスモデル７７２、７７４および７７６は、制御作業、ユーザーインタフェース作業、最適化作業など、プロセス工場におけるその他の作業を行うために（定期的にまたは、再生成された時点で）エクスポートされうる。例えば、シミュレーション・ブロック７５２、７５４および７５６内で生成又は更新されたモデルがステップまたはインパルス応答モデルである場合、これらのモデルは、ＭＰＣ行列およびコントローラの生成に使用できるようにＭＰＣコントローラに提供されうる。シミューレーション・システムにより生成されたこれらの更新済モデルがＭＰＣコントローラ生成やオプティマイザ生成などに使用されうるＭＰＣおよびオプティマイザ混在システムの一例が、上記引例として参照される米国特許第７，０５０，８６３号に開示されている。よって、この場合、シミュレーション・ブロックは、複雑な設備、プロセス制御ループまたはプロセス応答をシミュレートするためにステップ応答または有限インパルス応答モデルを利用するように作成されうる。例えば、ＤｅｌｔａＶ  ＭＰＣ−ＳＩＭブロックは、このようにしてシミュレーションを提供するように設計されている。このようなアプローチをとることによって、プロセスモデル７７２、７７４および７７６を変更または訂正する際、ＭＰＣ制御において実行されるものに類似するオンライン計測の補正を簡単に実施しうる。同様に、プロセスモデル７７２、７７４および７７６は、米国特許第５７７，９０８号および第７，１１３，８３４号に記載されるようなその他のタイプのモデルであっても良く、また、これら特許に記載される適応可能ＰＩＤ制御技法において再使用しうるものである。結果として、シミュレーション・ブロック７７２、７７４および７７６またはそれの諸部分は実際に制御システムに戻されプロセス工場の制御に使用されうる。なおまた、望ましい場合は、異なるシミュレーション・ブロックからのプロセスモデルの異なる一式または組合せを組み合わせて送り戻し、制御および最適化ルーチンの作動などのオンライン・プロセス操作に使用しうる。なおまた、ある場合においては、プロセスモデルは、制御またはオプティマイザまたはオンライン制御作業中に使用されるその他のルーチン用に開発しても良いし、制御システムからシミューレーション・システムにインポートしても良いし、上記のようなシミューレーション・システムにおいて更新しても良いし、その後に、未適応のモデルが元来作成された理由であるコントローラまたはオプティマイザによる使用に向けて改めて（それの更新済みまたは適応済みの状態で）制御システムへと送り返すようにしても良い。
【０１３１】
シミュレーション・ブロック７５２、７５４および７５６において使用されるプロセスモデル７７２、７７４および７７６を自動的に再生成するためにプロセス計測のフィードバックを使用しうる一方、場合によっては、シミュレーション・ブロック７５２、７５４および７５６内で使用されるモデル７７２、７７４および７７６を再生成するために、ユーザがマニュアル操作でフィードバックを行うようにしても良い。例えば、場合によってはセンサの不具合や通信異常などの理由で、あるいは計測に関連したモードの状態による異常（例えば、精度不良の可能性）が測定されたプロセス変数に存在すると分かっているなど、何らかの理由でプロセス変数計測が利用できない場合もある。それ以外の事例としては、プロセス変数計測が、例えば実験室で生成されたなど、オフライン作業で生成されたものでありうるため、工場の制御システムから直接に入手できない場合もある。さらに別の事例として、モデル再生成ブロック７８０の一つにより使用される特定のプロセス変数またはその他の変数が、実際に測定されたものでなく、推定値であるか、もしくは単にユーザにより提供されたものでありうる場合もある。これらの場合においては、モデル再生成ブロック７８０により使用される模擬プロセス変数の実際値の指標をユーザが提供できるようにすることが望ましい。図１０中、この技法は、シミュレーション・ブロック（７５４または７５６）の出力に対応する「正しい」変数または「測定された」変数として使用されることになる、よってモデル再生成を実行するために使用されることになるプロセス変数の値をユーザが指定できるようにするユーザーインタフェースまたはその他の装置と結合または通信しうるＵＩブロック７９０および７９２により示されている。このようにユーザは、シミュレーション・ブロック７５２、７５４および７５６に、それの中で使用されるモデルを再生成させるとともに当該の再生成を行うのに使用される値を指定させうる。図中にはシミュレーション・ブロック７５４および７５６へのフィードバックに関するユーザ制御を可能にするＵＩブロックが二つだけ設けられた状態示されているが、当然のことながら、いかなる所望のフィードバック変数についてもいかなる数のＵＩフィードバック経路または接続をいかなるシミュレーション・ブロックに備えうること、および、制御システム内のセンサまたはその他の要素により生成されたプロセス変数計測への接続に加えて又はその代わりとしてこれらのＵＩ接続を備えうることが明らかなはずである。
【０１３２】
さらにまた、測定されたプロセス変数およびユーザ提供の変数の両方がシミュレーション・ブロックに提供される場合、シミュレーション・ブロックは、これらの入力の一つを主な一次的入力として使用しうる、また、該一次的入力が障害を起こす、または利用不可能である、もしくは明らかに不正確な結果をもたらす場合に使用するためのバックアップ入力としてその他の入力を使用しうる。よって、例えば、シミュレーション・ブロックは、モデル再生成を実行するためにプロセス制御ネットワークからフィードバックされた測定ＰＶ信号を自動的にまたは一次的に使用しうる。但し、該測定されたＰＶ信号が障害を起こす、または利用不可能である、もしくは明らかに不正確な結果をもたらす場合、モデル再生成ブロック７８０は代わりにユーザにより提供されるプロセス変数の入力を使用しうる。
【０１３３】
なおまた、シミュレーション・ブロック７５２、７５４または７５６のいかなるものにおいて使用されるシミュレーション・アルゴリズムの一部として、ブロックの出力パラメータ（単なる現在値だけではなく）将来値を計算することが可能である。よって、図１０において示されたように、バルブ・シミュレーション・ブロック７５４は、将来的なある期間にシミュレートされるバルブから流出する流れのシミュレーションに関するグラフまたは傾向表７９４をユーザに、例えば、ユーザーインタフェース（図示せず）で、提供しうる。このような将来的流量特性は、将来的なある特定の対象期間における出力変数の将来値を推定するためにある期間を通じてシミューレーション・システム７５０を実行することにより開発しうる。同様に、図１０において示されたように、反応装置シミュレーション・ブロック７５６は、そこに使用されるプロセスモデルまたはその他のアルゴリズムに基づいてシミュレートされた模擬出力温度に関するプロットまたは傾向表７９６を提供しうる。もちろん、将来的なプロセス変数の推定値は、例えば、未来予測を行うためにＭＰＣ制御で使用されるものに類似する技法を使用して計算されうる。米国特許第７，０５０，０８３号に、これらの技法のいくつかがより詳しく開示されている。望ましい場合、その他のアプリケーションによりあるいはプロセス工場内のユーザーインタフェースまたはその他関与する装置によりこれらの将来値にアクセス且つ表示できるようにするために、シミュレーション・ブロック７５２、７５４および７５６によってグラフィック要素またはグラフィックインターフェース要素を提供しうる。
【０１３４】
なおまた当然のことながら、一つ又は複数のプロセス変数またはその他のシミュレーション出力の将来的予測値またはシミュレートされた将来的模擬値は、シミュレーション・ブロックにフィードバックされる現在測定されているプロセス変数値および現行の予測プロセス変数値の使用に加えて、またはそれとともに、もしくはそれの代わりに、図１０のシミュレーション・ブロック内でプロセスモデルの再生成または更新を行うために使用されうる。この場合、特定のプロセス変数またはその他のプロセス要素に対して計算された将来値を計算および格納し、その後、計算された将来値の各々に対応する時点でプロセス変数の実際値を測定しうる。その後、特定の時点における実測プロセス要素値と当該特定の時点における予測将来値との間の相違（複数可）は、将来値を開発するためにシミュレーション・ルーチンで使用されるプロセスモデルを再生成するために使用されうる。プロセスモデルを再生成するために将来値を使用することは、プロセスモデルが（有限インパルス応答モデルなどの）インパルス応答モデルまたはステップ応答モデルである場合において特に適している。
【０１３５】
よって、図１０を参照して上記されるように、実際のプロセス計測は、同じプロセス要素の計算値および被測定値の比較に基づいたシミュレーション・ブロックで使用されるプロセスモデルの自動補正を可能にするために、シミュレーション・ブロックにおいて使用されうる。なおまた、プロセス計測が、例えば計測能力の不具合などにより利用不可能であるまたは利用不可能になった場合は、該値をマニュアルで入力することにより、入力値と計算値の比較に基づいてプロセスモデルの訂正を行いうる。さらにまた、プロセスシミュレーションがステップまたは有限インパルス応答、あるいはニューラルネットワークや第一原理モデルなどのその他の技法およびその他一般に使用される技法に基づく場合には、計算値（複数可）と被測定値（複数可）間の相違に基づいてプロセスモデルを自動的に訂正しうる。より具体的には、ＭＰＣにおいて以前から利用されてきた技法は、例えば、プロセス・パラメータの実測値と模擬値間の差異に基づいて補正因子が計算されプロセスモデルに（またはプロセスモデルの出力に）適用されることによって実際のプロセス工場とプロセスモデルとの間のバイアスを完全に消去するところのバイアス補正を含むプロセスモデル（複数可）の訂正に使用されうる。もちろんその他の補正法も同様に使用しうる。また、このような補正法としては、開示全体がここに参照することにより本稿に援用される２００４年１２月９日公開の「Multiple-Input/Multiple-Output Control Blocks with Non-Linear Predictive Capabilities（仮訳：非線形予測能力を伴う多重入力／多重出力制御ブロック）」と題される米国特許出願公報第２００４／０２４９４８３（Ａ１）号（特に本公報の図４に関する記述）および、２００５年９月３０日出願の「（仮訳プロセス制御システムにおけるオンライン適応モデル予測制御）」と題される米国特許出願第１１／２４０，７０５号（特に、適応可能ＭＰＣ制御ルーチン内のプロセスモデルを変更する方式を記載する本出願中図２〜４の記述）に記載されるものが挙げられる。
【０１３６】
また、プロセスシミュレーションがステップまたは有限インパルス応答、あるいはニューラルネットワークや第一原理モデルなどのその他の技法およびその他一般に使用される技法に基づく場合には、将来的出力値を計算し画面で表示するために保存することができる。繰り返して言うが、ステップおよび有限インパルス応答に基づいたモデルについては、ＭＰＣで以前から利用されてきた技法を使用して将来値を計算しうる。またそれに加えて、プロセスシミュレーション環境は、現在のおよび将来的なシミュレーション出力値の両方の表示を可能にする表示要素／アプリケーションをサポートしうる。例えば、傾向グラフ、棒グラフ、数値表およびグラフなどのいかなる所望の表示技法を使用して将来的出力値の傾向を示すためにユーザーインタフェース・ウィンドウを備えうる。
【０１３７】
望ましい場合、ここに記載されるプロセスモジュールは、プロセス制御ネットワークまたはプロセス工場内の冗長機能を提供且つシミュレートしうる。特に、プロセスモジュールは、プロセス工場内に配置された冗長装置や冗長制御ブロックなど、実際の冗長要素の動作のシミュレーションを行いうる、また、（例えば、バックアップ用冗長要素が引き継ぐことになった場合などに）実際の冗長要素の動作を検知しうる、またはそれのシミュレーションを行いうる。それに加えて、望ましい場合、シミュレーション能力を有するプロセスモジュールは、プロセス工場内の要素の冗長対の一つとして使用されうる。この場合、プロセスモジュール（またはそれのいかなる一部分）は、一次的装置の故障が発生した場合、または一次的装置（および実際の物理的装置）に関連した問題が検出された場合に、バックアップ・データまたは冗長データ（信号、計算、など）を提供するバックアップ装置として動作しうる。この場合、冗長要素として機能しているプロセスモジュールは、冗長能力を提供するためにいかなる周知の様態において（制御または検出動作を行う）制御モジュールと通信可能に相互接続されうる。このようにプロセスモジュールをプロセス工場内の冗長要素として使用することは、プロセスモジュールが上記の様態において一つ又は複数のハイファイ・シミュレーション・パッケージに接続されている場合に特に有用である。
【０１３８】
図１１は、モデル予測制御とプロセスシミュレーション間の統合化の実施例を示す簡略ブロック図である。図１１を参照するに、統合モデル予測制御と最適化は、オンライン・プロセス・オプティマイザのサブセットであるモデル予測制御構成を有する同じプロセスで適用されうる。この配備の結果として、モデル予測制御、プロセスシミュレーションおよび最適化に使用されるモデルの整合性が得られる。このような場合、最適目標は、変数設定点を制御するようにモデル予測制御構成に含まれる制御変数入力（ＣＶ）に適用される。モデル・プロセス制御オプティマイザは制御変数作用設定点を開発する。オンライン・オプティマイザの走査速度はモデル予測制御走査速度より数倍遅いものでありうる。オンライン最適化構成は、非線形最適化技法を使用するとともに、線形および非線形モデルの両方を含みうる。
【０１３９】
図１１に示されるように、各プロセスモジュール８０２および８０４のシミュレーション・ブロック８０６、８０８、８１０（プロセスブロックのステップ・プロセスモデルとして図示される）は、制御モジュール８１２および８１６のＭＰＣ８１８およびオプティマイザ８１２と交信する。特に、多目的ＬＰオプティマイザは、ＭＰＣコントローラに統合され、コントローラにおいて実行する制御機能ブロックとして実施される。ゲイン行列の変化および予測定常値の定数の更新が、シミュレーション・ブロック８０６、８０８、８１０からオプティマイザ機能ブロック８１４に提供される。モデル・アップデートは、プロセスブロックおよびＭＰＣ機能ブロック８１８間の要求に応じて提供される。
【０１４０】
この実施において、制約対処、経済的最適化および制御機能性の三つの最適化目的は明確な（well-defined）設定を有する。経済的目的は、限界を超えない限り制御目的前に満たされる。なお、限界を超えた場合には、制約対処が最も優先となる。オプティマイザが動作するところの三つの異なるプロセス変数タイプは、制御変数、制約変数および操作変数である。上記されるように、制御変数はそれらの構成された設定点値に仕向けられる必要のあるプロセス出力である。設定点値周辺の許容範囲が、制御変数に対して定義されうる。制約変数は、設定点を持たないが構成された上／下限内に維持されるべきプロセス出力である。操作変数は、上／下限（ここで上／下限はハード限界である）内に維持されるべきプロセス入力である。
【０１４１】
また、これらプロセス変数のいくつかは、関連する経済的価値（コスト／利益）を有する。このように、オプティマイザ８１４は、最終解（プロセス変数の目標定常値）が経済的価値を最大化するように、全変数をそれらの限界内に保ちながら制御変数をそれらの設定点に維持する。ＭＰＣの異なるプロセス変数に対する最適化目的は、制約対処、経済的最適化および制御目標に従って設定される。
【０１４２】
制約対処は、ＭＰＣ構成のプロセス出力（制御変数および制約変数）に対する優先度を割り当てることにより設定される。入力限界（ＭＶハード制約）は問題の定式化に含まれており、ＬＰ解において内在的に考慮される。制約（または制御）変数がそれの限界（またはそれの制御範囲）を越えるおと予測される場合にその他の制約（または制御）変数の作用目標値が限界（または制御範囲）内のプロセス出力をもたらすべく調整されるようにオプティマイザ８１４は動作する。制約および制御変数全てをそれらの制約限界および制御範囲内に維持することが許されない処理条件の場合には、優先度の低い制約または制御変数は、優先度の高い制約を満たすために限界または範囲を違反することが許される。ＭＰＣ機能ブロック８１８では、高、普通より高、普通、普通より低、低の５つの優先度がプロセス出力に対して使用できる。制御変数は「普通」の優先度を有しうる一方、制約変数は「普通より高」の優先度を有しうる。但し、当然のことながら、優先度は、ＭＰＣの構成設定中に例えば検閲かつ調整されうる。また、優先度は、実際のプロセス条件に応答してオンラインで変更しうる。
【０１４３】
経済的最適化は、ＭＰＣブロック８１８に含まれるいくつか（または全て）の制御、制約および操作変数に対して（例えば）「パーセント当たりのドル価値」の単位で値を設定することにより構成される。（定義された値を伴う）経済的目的は、経済的価値を持たない（パーセント当たりの価値がゼロである）関連する制御のみの目的全てよりも重要となりうる。
【０１４４】
制御目標は、正常動作状態で（つまり、全プロセス出力がそれらの制御範囲および制約限界内にあり、経済最適値が達成された場合に）多変数制御機能性を定義する。当該の段階において制御機能性は、目的関数に含まれないものも含んだ残りの制御、制約および操作変数の動的挙動を確立する。
【０１４５】
制御変数は、設定点および対応する制御範囲周辺における明確な（well-defined）挙動を有する。目的関数において定義される制御変数はそれらの設定点値に向かって仕向けられる。但し、図１２に示される如く、次のユーザ定義最適化タイプの一つによっては、制御変数がその設定点を逸脱しうる。
最大化：  制御変数は、必要ならば制約対処または経済的目的を達成すべく制御範囲内の設定点以下に動く。その他の目的が達成された後、それは制御変数の最大化により設定点に近づく。
最小化：  制御変数は、必要ならば制約対処または経済的目的を達成すべく制御範囲内における設定点を超える範囲に動く。その他の目的が達成された後、それは制御変数の最小化により設定点に近づく。
目標：  制御変数は、必要ならば制約対処または経済的目的を達成すべく制御範囲内における設定点を超えるおよび設定点未満の範囲に動く。その他の目的が達成されると、それは設定点に向かって動く。
無し：  目的関数に含まれない制御変数は、設定点に向かうことなく設定点周辺の制御範囲内に維持される。
【０１４６】
目的関数に含まれた制約変数は、最大化（最小化）定義に基づいてそれらの上（下）限に向かって仕向けられうる。制約変数が目的関数（既定：無し）に含まれていない場合、図１３に示されるように、オプティマイザはそれがその上下限内で自在に動くようにする変更を加える。
【０１４７】
目的関数に含まれた操作変数は、関連する最大化（最小化）設定に基づきそれらの上（下）限に向けて仕向けられうる。操作されたパラメータが目的関数（既定：無し）に含まれていない場合、オプティマイザは、（もし操作変数の移動がその他の条件により要求されないと）現在値を維持しようと試みる。また、図１４に示されるように、次のＭＶ最適化タイプが利用可能である。
好ましい和解値（ＰＳＶ）：  ＭＶ値の変更がアクティブな条件により要求されない場合、操作変数は、構成された好ましい和解値に向かって動く。
等化：  その他の目的が全て満たされることを条件に、等化すべく設定された二つ以上の操作変数がそれらの平均値に維持される。
【０１４８】
最適化目的は、個体定数レベルと機能レベルの両方とも、オフライン・アプリケーションにて構成されうる。既定目的関数は、それらの設定点に制御変数を維持し、それらの限界内に全ての変数を維持するためのものである。構成内に制約変数だけが含まれている場合には、最後のＭＶ値が維持され、その結果として、構成の安定性が保護される。アクティブな目的関数は、プロセス変数を含んだ後にそれらの個々の最適化タイプ（最大化と最小化、目標、ＰＳＶ、等化、など）、そして必要な場合はそれらの経済的価値を設定することにより定義されうる。
【０１４９】
処理能力を最大限にする、エネルギー消費を最低限に下げる、品質の最大限にするなど、全体的な目的は供給原料コスト、生産物価値、利用または工場条件などに応じて変更しうるので、複数の最適化目的に対して特別の要求が存在しうる。これは、同じＭＰＣコントローラに対する複数の目的関数を構成する概念に適している。ＭＰＣのオンライン動作中に、オペレータは、現在の動作条件によって様々な構成済み最適化目的の間での切替えを行いうる。
【０１５０】
異なるモデリング技法（例えば、ステップ応答、第一原理モデリング、など）の使用を伴うシミュレーション環境において、プロセスシミュレーションは様々な因子を満たす。例えば、プロセスシミュレーションは、プロセス定常状態にいたるまでのプロセス出力予測を提供しうる。定常状態ゲイン行列は、ステップ応答モデルから直接に定義される。あるいは、定常状態ゲイン行列は、第一原理またはパラメトリック・モデリングから計算かつ更新され、さらに実時間で更新される。また、プロセスシミュレーションは、プロセス従属変数および独立変数に対する限界も定義かつ更新しうる。従属変数に対する全ての設定点および範囲は定義かつ更新される。最適化された構成の一部であるプロセスユニットに対して異なる走査が適用される場合、最適化のための走査速度は、最も遅い従属変数（出力）に対する走査として設定されうる。目標操作変数入力（ＭＶ）および目標制御変数入力（ＣＶ）は、少なくともいくつかのシミュレーション走査に等しいフィルタ時定数を伴うフィルタリングを適用しうる。
【０１５１】
しかるべく、最適化は同時シミュレーションシステムの延長として提供されうる。いかなるタイプのオプティマイザを適用するのに有効な方法は、オプティマイザが線形であろうが、非線形であろうが、または線形化たものであろうが、定常状態にいたるまでの予測区間を有する認証予測プロセス出力の使用により達成される。同じプロセス制御に対してモデル・プロセス制御を適用してプロセス最適化の利点を生かすことにより、オンライン・オプティマイザ構成のサブセットとしての構成がもたらされる結果となる。
【０１５２】
本発明による異なる実施形態が数多く前記詳述されているが、当然のことながら、本発明の範囲は、本特許の終わりに記載されている特許請求の範囲の言語により定義されるものである。上記詳細な説明は、代表的なものとしてのみ解釈されるべきものであり、また、考えうる全ての実施形態を記載することは（不可能でないとすれば）現実的でないことから、考えうる全ての実施形態の説明を含んでいない。現存する技術または、（なおも本発明を定義する特許請求の範囲に含まれる）本特許出願後に開発される技術のいずれかを用いて、別の実施形態をその他数多く実施することが可能である。
【０１５３】
多目的予測プロセス最適化および、同時プロセスシミュレーション・システムおよび方法、さらにその他の要素は、ソフトウェアにおいて実施しうる間、ハードウェアやファームウェアなどにおいても実施されうる、且つ、その他のプロセッサによっても実施しうる。よって、ここに記載される要素は、希望に応じて、標準の多目的用途ＣＰＵにおいて、または特定用途向け集積回路（ＡＳＩＣ）などの特別設計ハードウェアまたはファームウェア、またはその他の配線式装置上で実施しうる。ソフトウェアで実施した場合には、磁気ディスク、レーザーディスクまたはその他の記憶媒体などのいかなるコンピュータ可読メモリ、そしてコンピュータまたはプロセッサのＲＡＭまたはＲＯＭやいかなるデータベースなどにソフトウェア・ルーチンを格納しうる。さらに、例えば、コンピュータ可読ディスクまたはその他の可搬コンピュータ記憶機構に保存して、あるいは、（可搬型記憶媒体を介して該ソフトウェアを提供するのと同じ又は類似的な意味を持つと見なされる）電話回線、インターネット、ワイヤレス通信などの通信チャンネルを通してなど、いかなる周知または所望の配送方法を介して、ユーザまたはプロセス工場にこのソフトウェアを提供しうる。
【０１５４】
したがって、本発明の精神と範囲から逸脱することなく、ここに記載される技法と構造により多種多様の改造および変形が可能である。よって、当然のことながら、ここに記載される方法と装置は実施例に過ぎず、本発明の範囲を限定するものではない。
【図面の簡単な説明】
【０１５５】
【図１】プロセス工場において実施される設備および指示の階層構造の実施例を表示するプロセス工場の概略図である。
【図２】ＭＰＣコントローラにオプティマイザを統合するアドバンストコントローラ機能ブロックを有する制御モジュールを含むプロセス制御システムのブロック図である。
【図３】統合されたオプティマイザとＭＰＣコントローラを有する図２のアドバンストコントローラ機能ブロックのブロック図である。
【図４】図３の統合されたオプティマイザとＭＰＣコントローラ機能ブロックを作成してインストールする様態を示すフローチャートを示す図である。
【図５】オンラインでのプロセス動作中に図３の統合されたオプティマイザとＭＰＣコントローラの動作を示すフローチャートを示す図である。
【図６】制約対処のための緩和変数の適用を示す図である。
【図７】片側範囲制御を最大化するための緩和変数の適用を示す図である。
【図８】両側範囲制御のための緩和変数の適用を示す図である。
【図９】好ましい和解値を考慮するための罰則付き緩和変数の応用を示す図である。
【図１０】将来的な予測プロセス値を提供するためにプロセスモデルを使用するところの、且つ、プロセス計測またはユーザ入力に基づいてプロセスモデルを更新するところの、複数のシミュレーション・ブロックを有するシミューレーション・システムを示す簡略ブロック図である。
【図１１】プロセスシミュレーションおよび、統合されたオプティマイザおよびＭＰＣコントローラとの間の交信を示すブロック図である。
【図１２】オプティマイザにより仕向けられる制御パラメータの範囲および方向を示す図である。
【図１３】オプティマイザにより仕向けられる制約パラメータの範囲および方向を示す図である。
【図１４】オプティマイザにより仕向けられる被操作パラメータ範囲および方向を示す図である。
【図１】
2009518750.tif 000041
【図２】
2009518750.tif 000042
【図３】
2009518750.tif 000043
【図４】
2009518750.tif 000044
【図５】
2009518750.tif 000045
【図６】
2009518750.tif 000046
【図７】
2009518750.tif 000047
【図８】
2009518750.tif 000048
【図９】
2009518750.tif 000049
【図１０】
2009518750.tif 000050
【図１１】
2009518750.tif 000051
【図１２】
2009518750.tif 000052
【図１３】
2009518750.tif 000053
【図１４】
2009518750.tif 000054
【国際調査報告】
2009518750.tif 000055
2009518750.tif 000056
2009518750.tif 000057
2009518750.tif 000058
2009518750.tif 000059