(57)【特許請求の範囲】
【請求項１】
所定のプラントを制御するためのＰＩＤ制御器の係数を決定するための方法であって、コンピュータが、
前記ＰＩＤ制御器のＰＩＤ係数候補群の初期値を用意するステップであって、前記ＰＩＤ係数候補群はＰＩＤ係数候補を含む、前記用意するステップと、
非反証評価関数が設定された評価汎関数を用意するステップと、
前記用意されたＰＩＤ係数候補群から、前記ＰＩＤ制御器に設定するＰＩＤ係数候補を選択して、当該選択されたＰＩＤ係数候補を、前記ＰＩＤ制御器に設定するステップと、
前記プラントへの入力uと前記プラントからの出力yを計測するステップであって、前記入力uは、前記選択されたＰＩＤ係数候補が設定された前記ＰＩＤ制御器の比例、積分及び微分の各ＰＩＤゲイン、並びに、目標となる参照信号、及び前記ｙから求められる、前記計測するステップと、
（ａ）前記ＰＩＤ制御器のＰＩＤ係数候補群から、第１のＰＩＤ係数候補を選択するステップと、
前記選択された第１のＰＩＤ係数候補について、
（ａ−１）前記計測した入力uと出力yを用いて、前記評価汎関数を計算するステップと、
（ａ−２）前記評価汎関数の計算の結果、前記評価汎関数が反証されることに応答して、前記選択された第１のＰＩＤ係数候補を除去するステップと、
前記反証されないで残ったＰＩＤ係数候補から、ＰＳＯの形の更新式で、前記ＰＩＤ制御器に設定する新たなＰＩＤ係数候補を計算するステップと、
前記計算された新たなＰＩＤ係数候補を含む新たなＰＩＤ係数候補群のうちの、ＰＩＤ係数候補の順番であるインデックスｉが最大であるものを最大ＰＩＤ係数候補として選択して、当該選択した最大ＰＩＤ係数候補で前記ＰＩＤ制御器を構成するステップと、
前記プラントへの入力uと前記プラントからの出力yを計測するステップと、
（ｂ）前記新たなＰＩＤ係数候補群から、第２のＰＩＤ係数候補を選択するステップと、
前記選択された第２のＰＩＤ係数候補について、
（ｂ−１）前記計測した入力uと出力yを用いて、前記評価汎関数を計算するステップであって、前記入力uは、前記選択された最大ＰＩＤ係数候補が設定された前記ＰＩＤ制御器の比例、積分及び微分の各ＰＩＤゲイン、並びに、目標となる参照信号、及び前記ｙから求められる、前記計算するステップと、
（ｂ−２）前記評価汎関数の計算の結果、前記評価汎関数が反証されることに応答して、前記選択された第２のＰＩＤ係数候補を除去するステップと
を実行することを含む、前記方法。
【請求項２】
前記最大ＰＩＤ係数候補が前記第２のＰＩＤ係数候補であり、
前記コンピュータが、
（ａ−３）前記評価汎関数の計算の結果、反証されないで残ったＰＩＤ係数候補のうちの前記インデックスｉが最大であるものを第１の最大ＰＩＤ係数候補として改めて選択して、当該選択した第１の最大ＰＩＤ係数候補で前記ＰＩＤ制御器を構成するステップと、
（ａ−４）前記ＰＩＤ係数候補群にＰＩＤ係数候補が残っていることに応じて、（ａ）前記選択するステップ、（ａ−１）前記計算するステップ、（ａ−２）前記除去するステップ、及び（ａ−３）前記構成するステップを繰り返すステップと
をさらに実行することを含む、請求項１に記載の方法。
【請求項３】
前記コンピュータが、
（ｂ−３）前記新たなＰＩＤ係数候補群にＰＩＤ係数候補が残っていることに応じて、（ｂ）前記選択するステップ、（ｂ−１）前記計算するステップ、及び（ｂ−２）前記除去するステップを繰り返すステップ
をさらに実行することを含む、請求項１又は２に記載の方法。
【請求項４】
前記プラントと前記ＰＩＤ制御器がハードウェア論理回路で構成される、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記プラントと前記ＰＩＤ制御器がシミュレートされたソフトウェア・モジュールで構成される、請求項１〜３のいずれか一項に記載の方法。
【請求項６】
所定のプラントを制御するためのＰＩＤ制御器の係数を決定するためのシステムであって、
前記ＰＩＤ制御器のＰＩＤ係数候補群の初期値を用意する手段であって、前記ＰＩＤ係数候補群はＰＩＤ係数候補を含む、前記用意する手段と、
非反証評価関数が設定された評価汎関数を用意する手段と、
前記用意されたＰＩＤ係数候補群から、前記ＰＩＤ制御器に設定するＰＩＤ係数候補を選択して、当該選択されたＰＩＤ係数候補を、前記ＰＩＤ制御器に設定する手段と、
前記プラントへの入力uと前記プラントからの出力yを計測する手段であって、前記入力uは、前記選択されたＰＩＤ係数候補が設定された前記ＰＩＤ制御器の比例、積分及び微分の各ＰＩＤゲイン、並びに、目標となる参照信号、及び前記ｙから求められる、前記計測する手段と、
（ａ）前記ＰＩＤ制御器のＰＩＤ係数候補群から、第１のＰＩＤ係数候補を選択する手段と、
前記選択された第１のＰＩＤ係数候補について、
（ａ−１）前記計測した入力uと出力yを用いて、前記評価汎関数を計算する手段と、
（ａ−２）前記評価汎関数の計算の結果、前記評価汎関数が反証されることに応答して、前記選択された第１のＰＩＤ係数候補を除去する手段と、
前記反証されないで残ったＰＩＤ係数候補から、ＰＳＯの形の更新式で、前記ＰＩＤ制御器に設定する新たなＰＩＤ係数候補を計算する手段と、
前記計算された新たなＰＩＤ係数候補を含む新たなＰＩＤ係数候補群のうちの、ＰＩＤ係数候補の順番であるインデックスｉが最大であるものを最大ＰＩＤ係数候補として選択して、当該選択した最大ＰＩＤ係数候補で前記ＰＩＤ制御器を構成する手段と、
前記プラントへの入力uと前記プラントからの出力yを計測する手段と、
（ｂ）前記新たなＰＩＤ係数候補群から、第２のＰＩＤ係数候補を選択する手段と、
前記選択された第２のＰＩＤ係数候補について、
（ｂ−１）前記計測した入力uと出力yを用いて、前記評価汎関数を計算する手段であって、前記入力uは、前記選択された最大ＰＩＤ係数候補が設定された前記ＰＩＤ制御器の比例、積分及び微分の各ＰＩＤゲイン、並びに、目標となる参照信号、及び前記ｙから求められる、前記計算する手段と、
（ｂ−２）前記評価汎関数の計算の結果、前記評価汎関数が反証されることに応答して、前記選択された第２のＰＩＤ係数候補を除去する手段と
を備えている、前記システム。
【請求項７】
前記最大ＰＩＤ係数候補が前記第２のＰＩＤ係数候補であり、
（ａ−３）前記評価汎関数の計算の結果、反証されないで残ったＰＩＤ係数候補のうちの前記インデックスｉが最大であるものを第１の最大ＰＩＤ係数候補として改めて選択して、当該選択した第１の最大ＰＩＤ係数候補で前記ＰＩＤ制御器を構成する手段
をさらに備えており、
（ａ−４）前記ＰＩＤ係数候補群にＰＩＤ係数候補が残っていることに応じて、（ａ）前記選択する手段が前記選択をすること、（ａ−１）前記計算する手段が前記計算をすること、（ａ−２）前記除去する手段が前記除去をすること、及び（ａ−３）前記構成する手段が前記構成をすることを繰り返す、
請求項６に記載のシステム。
【請求項８】
（ｂ−３）前記新たなＰＩＤ係数候補群にＰＩＤ係数候補が残っていることに応じて、（ｂ）前記選択する手段が前記選択をすること、（ｂ−１）前記計算する手段が前記計算をすること、及び（ｂ−２）前記除去する手段が前記除去をすることを繰り返す、
請求項６又は７に記載の方法。
【請求項９】
所定のプラントを制御するためのＰＩＤ制御器の係数を決定するためのコンピュータ・プログラムであって、前記コンピュータに、請求項１〜５のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＰＩＤ制御器に関し、より詳しくは、ＰＩＤ制御器の係数を決定するための構成方法、プログラム及びシステムに関する。
【背景技術】
【０００２】
近年、Ｈ∞、ＬＭＩ(Linear Matrix Inequality)を用いたロバスト制御が進展してきており、プラントの不確かさについて信頼できる誤差限界の事前知識があれば、適切な設計が可能になってきている。しかし、プラントの情報がほとんど得られないか、情報の信頼性が低い状況にあることも多く、そのような場合に、ロバスト制御の適用は限界がある。
【０００３】
一方、古典的ともいえるＰＩＤ制御器が依然として設計の現場で使用されている。プラントモデルを必要としないＰＩＤ制御器が使用されることもあるが、その際問題となるのは、どうやってＰＩＤ制御器の係数を決定するかである。従来のＰＩＤ係数決定法では、理論上、２次のプラントまでには効果があるが、高次のプラントや不安定系になると、あわせ込みの作業を多く必要とするという課題があった。
【０００４】
ところで、制御システムを設計するときに、ＳｙｓＭＬで制御器のパラメータと要求とがどのようにリンクされているか所定のシステムで記述して、制御ストラテジを導出するというモデルベース開発（ＭＢＤ）のフレームワークが有効である。しかし一方で、プラント構造が未知な場合に、ある程度の性能が出るように、とりあえず動作させて、ＳｙｓＭＬ向けの要求を考えたい、あるいは、どこから書き始めたらいいのか不明なケースにおいて、ＰＩＤゲインの自動設計によって、まず誤差やその積分、微分にどの程度制御入力が影響されるかを特定できれば、そこからＳｙｓＭＬの要求図やブロック定義図への記述を始めることが可能になり、その結果から敷衍していく設計手順も考えられる。
【０００５】
このように、ＰＩＤ制御器を妥当な時間で自動的に計算する技法への要望が高まっている。
【０００６】
特開２００９−１９９２０９号公報は、非反証制御の考え方をオフラインでの制御系設計に適用し、制御ゲインの最適値を計算によって求め得るようにして、設定の容易化を図るとともに、多入力多出力系にも適用可能な画期的な方法を提供することに関するものであり、制御対象（プラント）Ｐにステップ入力等を加えたときの入出力応答データを少なくとも１つ採取し、このデータに基づいて所定数以上の仮想の入出力応答データを生成し、これらをそれぞれ反証演算式に代入してパラメータ空間に所定数以上の非反証領域を規定し、反証演算式を線形制約式とすることで、所定数以上の非反証領域の積集合の領域において制御ゲインの最適値を計算により求めることを開示する。
【０００７】
MG Safonov, TC Tsao,"The unfalsified control concept and learning", IEEE Transactions on Automatic Control, Vol.42, No.6, pp.843-847, June 1997は、プラント・モデルに対する事前知識なく、性能の目標と過去の実験データと一貫性のある非反証制御の定理を提示する。
【０００８】
しかし、非反証制御の技法だけでは、妥当な時間で、ロバストＰＩＤ制御器を構成する係数を決定することが困難であった。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００９−１９９２０９号公報
【非特許文献】
【００１０】
【非特許文献１】MG Safonov, TC Tsao,"The unfalsified control concept and learning", IEEE Transactions on Automatic Control, Vol.42, No.6, pp.843-847, June 1997
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従って、本発明の目的は、プラントの事前情報が乏しく、たとえ不安定系であっても、入力と出力が観測できれば、妥当な時間で、自動的に設計される準最適なロバストＰＩＤ制御器を構成することを可能ならしめることにある。
【課題を解決するための手段】
【００１２】
本発明に従うシステムは、ＰＩＤ制御器の膨大な係数空間の中から、第１段階で、入出力データによって反証された組合せを除外して絞込みがなされた時点で、第２段階で、その係数候補群における各候補の評価関数履歴と全体での進化履歴の情報を共有させながら候補群を移動させ、同時に候補群近傍の係数空間探索を自動的に行いつつ、プラントと制御器の全体系におけるロバスト安定を実現する係数を非反証的に自動設計する機能を与える。
【００１３】
第１段階の非反証制御によって反証されずに残ったＰＩＤゲイン候補群に対して、第２段階では、その近傍にさらに適切な値が無いかどうか自動探索を行うために、各候補の評価関数履歴のうち最小となったＰＩＤゲインと、候補群全体履歴のうち最小評価値になったＰＩＤゲインの情報を記憶・共有しつつ、より良い中心を目指して候補群全体を移動させる。同時に、候補周辺探索と、その中からの反証候補除去を実行することで自動設計する。
【００１４】
第２段階で使用される更新式はＰＳＯ（Particle Swarm Optimization)の形をしているが、本発明ではＰＳＯによる候補群の各粒子の周辺探索候補に対しても非反証制御を行っている。ＰＳＯ動作のための評価基準と非反証制御の基準を兼用させることで、探索移動と反証候補削除を同時に行い、効率的に、かつ妥当性の高いＰＩＤ係数を自動設計することが可能となる。
【発明の効果】
【００１５】
従来は試行錯誤で、且つ、他にも有効なパラメータの存在可能性がないといった状況下で、膨大な時間をかけてＰＩＤ係数を設定するための実験を繰り返す必要があったが、本発明によれば、合理的な時間内に自動的に妥当なＰＩＤ係数を決定することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明で使用される一例の制御コンピュータの概要ブロック図である。
【図２】制御コンピュータとＰＩＤ制御器の接続を示すブロック図である。
【図３】本発明に従いＰＩＤ制御器の係数を決定する処理の機能ブロック図である。
【図４】本発明に従いＰＩＤ制御器の係数を決定する処理のフローチャートを示す図である。
【図５】本発明に従いＰＩＤ制御器の係数を決定する処理のフローチャートを示す図である。
【発明を実施するための形態】
【００１７】
以下、図面に従って、本発明の実施例を説明する。これらの実施例は、本発明の好適な態様を説明するためのものであり、発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断わらない限り、同一符号は、同一の対象を指すものとする。
【００１８】
図１を参照すると、本発明に従いＰＩＤ制御器を制御するための制御コンピュータのハードウェアのブロック図が示されている。図１において、システム・バス１０２には、ＣＰＵ１０４と、主記憶（ＲＡＭ）１０６と、ハードディスク・ドライブ（ＨＤＤ）１０８と、キーボード１１０と、マウス１１２と、ディスプレイ１１４が接続されている。ＣＰＵ１０４は、好適には、３２ビットまたは６４ビットのアーキテクチャに基づくものであり、例えば、インテル社のＰｅｎｔｉｕｍ（商標）４、インテル社のＣｏｒｅ（商標）  ２  ＤＵＯ、ＡＭＤ社のＡｔｈｌｏｎ（商標）などを使用することができる。主記憶１０６は、好適には、５１２ＫＢ以上の容量、より好ましくは、１ＧＢ以上の容量をもつものである。
【００１９】
ハードディスク・ドライブ１０８には、個々に図示しないが、オペレーティング・システム及び本発明に係る処理プログラムなどが、予め格納されている。オペレーティング・システムは、Ｌｉｎｕｘ（商標）、マイクロソフト社のＷｉｎｄｏｗｓ  Ｖｉｓｔａ、Ｗｉｎｄｏｗｓ  ＸＰ（商標）、Ｗｉｎｄｏｗｓ（商標）２０００、アップルコンピュータのＭａｃ  ＯＳ（商標）などの、ＣＰＵ１０４に適合する任意のものでよい。
【００２０】
キーボード１１０及びマウス１１２は、オペレーティング・システムが提供するグラフィック・ユーザ・インターフェースに従い、ディスプレイ１１４に表示されたアイコン、タスクバー、ウインドウなどのグラフィック・オブジェクトを操作するために使用される。キーボード１１０及びマウス１１２はまた、後述するデータは記録用プログラムを操作するためにも使用される。
【００２１】
ディスプレイ１１４は、これには限定されないが、好適には、１０２４×７６８以上の解像度をもち、３２ビットtrue colorのＬＣＤモニタである。ディスプレイ１１４は、作業者による全力及び手抜きのデータ記録用のプログラム、評価結果の数値などを表示するために使用される。
【００２２】
ハードディスク・ドライブ１０８にはさらに、ＰＩＤの係数を初期設定するモジュール、非反証制御モジュール、非反証制御を伴うＰＳＯモジュール、及び全体を統合する制御モジュールが格納されている。これらのモジュールは、Ｃ、Ｊａｖａ(R)などの既存の任意のプログラミング言語で作成することができる。これらのモジュールは、オペレーティング・システムの働きで適宜主記憶１０６にロードされて実行される。
【００２３】
バス１０２にはさらに、ＰＣＩ、ＵＳＢなどの適当なインターフェース・ボード１１６を介して、ＰＩＤ制御器１１８及び、ＰＩＤ制御器１１８によって制御されるプラント１２０が接続されている。
【００２４】
この実施例では、ＰＩＤ制御器１１８及びプラント１２０は、ＩＣなどの論理回路をもつ個別のハードウェアである。プラント１２０は例えば、エンジン、ブレーキ、エアコンなど制御対象の機構装置である。
【００２５】
図２は、ＰＩＤ制御器１１８によるプラント１２０の制御を説明するための機能ブロック図である。ＰＩＤ制御器１１８は、比例によるＰ制御ブロック１１８ａ、積分によるＩ制御ブロック１１８ｂ及び微分によるＤ制御ブロック１１８ｃを有する。
【００２６】
図１にも示した制御コンピュータ１００は、その制御機能に従って、Ｐ制御ブロック１１８ａ、Ｉ制御ブロック１１８ｂ及びＤ制御ブロック１１８ｃに、適宜、係数を設定する。このため、Ｐ制御ブロック１１８ａ、Ｉ制御ブロック１１８ｂ及びＤ制御ブロック１１８ｃの各々は、図示しないが、制御コンピュータ１００から送られてくる係数の値を保持するためのレジスタをもつ。
【００２７】
図２の機能ブロック図には、目標値rが与えられ、目標値rはＰ制御ブロック１１８ａ及びＩ制御ブロック１１８ｂを経て、入力uとしてプラント１２０に入力される。入力uには、Ｄ制御ブロック１１８ｃの出力が合流する。プラント１２０は出力yを出力するが、出力yは、制御量として目標値rに操作量として与えられる。
【００２８】
次に、図３の機能ブロック図を参照して、ハードディスク・ドライブ１０８に保存されている、初期設定モジュール３０４、非反証制御モジュール３０６、非反証制御を伴うＰＳＯモジュール３０８、及び全体を統合する制御モジュール３０２と、ＰＩＤ制御器１１８及びプラント１２０の関係を説明する。
【００２９】
初期設定モジュール３０４は、初期のＰＩＤ係数候補群とサンプリング時間の設定、評価汎関数の設定、評価汎関数から非反証評価関数の設定、計測時間長の設定、ＰＩＤ制御器１１８に入力するＰＩＤ係数の選択などの機能をもつ。
【００３０】
非反証制御モジュール３０６は、設定された非反証評価関数をもちいて、評価関数を反証する候補を取り除き、設定した計測時間の経過後、残された候補を、非反証制御を伴うＰＳＯモジュール３０８に引き渡す機能をもつ。
【００３１】
非反証制御を伴うＰＳＯモジュール３０８は、非反証制御モジュール３０６から渡された係数の候補に対して、ＰＳＯを適用しつつ、さらに非反証評価関数をもちいて、評価関数を反証する候補を取り除き、最終の係数の候補を選ぶ機能をもつ。
【００３２】
制御モジュール３０２は、インターフェース・ボード１１６を介して、初期設定モジュール３０４、非反証制御モジュール３０６、非反証制御を伴うＰＳＯモジュール３０８と、ＰＩＤ制御器１１８とプラント１２０の間をインターフェースし、更には、プラント１２０に対する入力uと出力yを計測する機能をもつ。
【００３３】
次に、図４及び図５のフローチャートを参照して、本発明に係る処理の動作をより詳細に説明する。まずここでは、次式のような２自由度ＰＩ−Ｄ制御を考える。
【数１】
0005683000.tif 000002
ここで、kP, kI, kDはそれぞれ、比例、積分、微分のＰＩＤゲインであり、uはプラントへの入力、rは目標となる参照信号、yはプラントからの出力である。
【００３４】
すると、ステップ４０２では、オペレータは、初期設定モジュール３０４を使って、初期のＰＩＤ係数候補群(Ki, i∈I = {1,...,m})と、サンプリング時間Δtを設定する。
【００３５】
ステップ４０４では、オペレータは、初期設定モジュール３０４を使って、制御ストラテジーに基づき、評価汎関数Tspecを設定する。ここで、評価汎関数Tspecとは例えば、次のような式であらわされるものである。
【数２】
0005683000.tif 000003
ここで、σは、ロバスト制御で抑え込みたい不確定ノイズの二乗平均平方根、*は畳み込み演算、w1とw2は、重みフィルタである。下記は、w1とw2の式の例である。
【数３】
0005683000.tif 000004
【００３６】
ステップ４０６では、オペレータは、初期設定モジュール３０４を使って、計測時間長を設定する。すると、初期設定モジュール３０４は先ず、k = 0と設定する。このkは、ステップが進行するにつれ、1つずつインクリメントされる。
【００３７】
ステップ４０８では、初期設定モジュール３０４は、評価汎関数Tspecから、下記の式に従い、下記のような非反証評価関数を計算する。
【数４】
0005683000.tif 000005
ここで、ρ ≧ 0は任意の初期値、τは全体の観測時間をあらわす。
【００３８】
ステップ４１０では、初期設定モジュール３０４が、ＰＩＤ制御器１１８に設定するＰＩＤ係数を選ぶ。ここでは、上記非特許文献１に記述されている非反証制御の定理が使用される。選ばれたＰＩＤ係数は、図２に示すように、それぞれ、ＰＩＤ制御器１１８のＰ制御ブロック１１８ａ、Ｉ制御ブロック１１８ｂ、及びＤ制御ブロック１１８ｃに設定される。
【００３９】
ステップ４１２では、制御モジュール３０２が、kΔtが計測時間を超過しているかどうか判断する。そして、もしそうでないなら、ステップ４１４に進み、制御モジュール３０２が、プラント１２０の入力u(kΔt)と、出力y(kΔt)を計測する。
【００４０】
ステップ４１６では、制御モジュール３０２が、ＰＩＤ係数の候補群から、ＰＩＤ係数を、ある順序に従って選ぶ。
【００４１】
ステップ４１８では、計測したuとyを用いて、非反証制御モジュール３０６が非反証評価関数を計算する。このために先ず非反証制御モジュール３０６は、各i∈Iに対して、
r~i((k+1)Δt)と、r~i(kΔt)を計算する。
尚、表記の都合上、以下では、r~、J~を下記とそれぞれ同一視する。
【数５】
0005683000.tif 000006
【００４２】
r~iは、次の式から、離散計測データ(u,y)をフィルタリングすることで計算できる。
【数６】
0005683000.tif 000007
【００４３】
そして、非反証制御モジュール３０６は、r~iを使って、次のようにして評価関数
J~(i,kΔt)を計算する。
【数７】
0005683000.tif 000008
【００４４】
ステップ４２０では、制御モジュール３０２が、非反証制御モジュール３０６の計算結果を用いて、評価関数が反証されるかどうかを判断する。すなわち、
J~(i,kΔt) > 0になるなら、制御モジュール３０２は、評価関数が反証されたと判断して、ステップ４２２で、ステップ４１６で選ばれたＰＩＤ係数を候補から除去する。
【００４５】
ステップ４２０で、評価関数が反証されていないと判断されると、処理はステップ４２６に進む。
【００４６】
ステップ４２４では、制御モジュール３０２は、反証されていないＰＩＤ係数のうち、インデックスiが最大のものでＰＩＤ制御器１１８を構成する。
【００４７】
ステップ４２６では、制御モジュール３０２は、候補群が最後かどうか判断し、そうでなければステップ４１６に戻って、ある順序に従い、反証されていない次のＰＩＤ係数を選んで、ステップ４１８から繰り返す。
【００４８】
ステップ４２６で、制御モジュール３０２が候補群が最後であると判断すると、制御モジュール３０２は、ステップ４２８でkをインクリメントして、ステップ４１２の判断に戻る。
【００４９】
ステップ４１２で、制御モジュール３０２がkΔtが計測時間を超過したと判断すると、図５のフローチャートで示す処理に進む。
【００５０】
ステップ４１２で、制御モジュール３０２がまだ、kΔtが計測時間を超過していないと判断すると、ステップ４１４に進み、制御モジュール３０２が、プラント１２０の入力u(kΔt)と、出力y(kΔt)を計測し、次にステップ４１６に進むが、ステップ４１４からステップに入ったばかりの段階では、制御モジュール３０２が、ＰＩＤ係数の候補群から、反証されているものを除き、所定順序の最初から、ＰＩＤ係数を選ぶ。
【００５１】
ステップ５０２では、非反証制御を伴うＰＳＯモジュール３０８が、各候補について次の計算を行い、新たな候補群を設定する。
xj(k) = xj(k-1) + vj(k)
vj(k) = γ(k)vj(k-1) + cp{xp,j(k-1) - xj(k-1)} + cg{xg(k-1) - xj(k-1)}
ここで、xはＰＩＤゲインベクトル、kは探索回数、xp,j(k-1)はj番目のＰＩＤゲインのk-1回目までの探索における最良解、xg(k-1)はk-1回目の探索における全体の最良解、
γ(k)は探索回数における慣性項、cp、cgは重みをあらわす。cp、cgは定数であり、乱数等によって任意に与える。
【００５２】
ここで、γ(k)は、下記の式であらわすように、kの関数になっている。
【数８】
0005683000.tif 000009
ここで、γmaxは慣性項係数の最大値、γminは慣性項係数の最大値、kmaxは最大探索回数である。
【００５３】
ここでの最良解の意味は、探索を開始してからは、各ＰＩＤゲインが評価関数値履歴を保持しておき、その最小値をとったときのＰＩＤゲインを最良解としたものである。ただし、探索中に反証されたものは履歴を保持しない。
【００５４】
ステップ５０４では、制御モジュール３０２が、候補群から、インデックスiが最大のものからＰＩＤ係数を選び、そうして選ばれたＰＩＤ係数を、制御モジュール３０２がＰＩＤ制御器１１８に設定する。
【００５５】
ステップ５０６では、制御モジュール３０２が、プラント１２０の入力u(kΔt)と、出力y(kΔt)を計測する。
【００５６】
ステップ５０８では、制御モジュール３０２が、ＰＩＤ係数の新候補群から、ＰＩＤ係数を、ある順序に従って選ぶ。
【００５７】
ステップ５１０では、非反証制御を伴うＰＳＯモジュール３０８が、ステップ４１８と同様の処理により、計測したuとyを用いて非反証評価関数を計算する。
【００５８】
ステップ５１２で、ステップ４２０と同様の処理によって、非反証制御を伴うＰＳＯモジュール３０８が、評価関数が反証されたと判断すると、ステップ５１４で反証された候補を除去し、ステップ５１６の判断に進む。評価関数が反証されないと判断すると直ちにステップ５１６の判断に進む。
【００５９】
ステップ５１６では、制御モジュール３０２は、候補群が最後かどうか判断し、そうでなければステップ５０８に戻って、ある順序に従い、反証されていない次のＰＩＤ係数を選んで、ステップ５１０から繰り返す。
【００６０】
ステップ５１６で、制御モジュール３０２が候補群が最後であると判断すると、制御モジュール３０２は、ステップ５１８に進み、前のステップとの最小評価関数値との偏差が所定の閾値より大きいかどうか判断し、もしそうでないなら、処理を終了する。
【００６１】
ステップ５１８で、前のステップとの最小評価関数値との偏差が所定の閾値より大きいなら、ステップ５０２からやり直す。ここで、最小評価関数値とは、候補群が各ＰＳＯに基づいて非反証制御基準によって周辺を探索したときに、その基準によって計算した評価関数値全体で最小のもののことである。
【００６２】
なお、上記実施例では、制御コンピュータ１００として、パーソナル・コンピュータのような汎用コンピュータを想定したが、同等の機能をもつマイクロコンピュータとメモリやインターフェース手段をもつ専用ハードウェアを使用してもよい。
【００６３】
また、ＰＩＤ制御器１１８とプラント１２０の一方または両方は、ハードウェア論理回路で構成したものでなく、MATLAB(R)/Simulink(R)などのシミュレーション・ソフトウェアで作成したものであってもよい。もしＰＩＤ制御器１１８とプラント１２０の両方がソフトウェア・モジュールである場合、それらは、ハードディスク・ドライブ１０８に格納され、インターフェース・ボード１１６を使用することなく、すべてのＰＩＤ係数決定処理が、制御コンピュータ１００内で完結することになる。
【００６４】
さらに、本発明は、特定のハードウェア、ソフトウェアなどのプラット・フォームに限定されず、任意のプラット・フォーム上で実現可能であることを、この分野の当業者は理解するであろう。
【符号の説明】
【００６５】
１００  制御コンピュータ
１０２  バス
１０４  ＣＰＵ
１０６  主記憶
１０８  ハードディスク・ドライブ
１１６  インターフェース・ボード
１１８  ＰＩＤ制御器
１２０  プラント
３０２  制御モジュール
３０４  初期設定モジュール
３０６  非反証制御モジュール
３０８  非反証制御を伴うＰＳＯモジュール
【図１】
0005683000.tif 000010
【図２】
0005683000.tif 000011
【図３】
0005683000.tif 000012
【図４】
0005683000.tif 000013
【図５】
0005683000.tif 000014