(57)【要約】【課題】多入力多出力系のモデルを高い精度で構築するとともに、計算負荷を抑えることで、内燃機関などのプラントを最適に制御すること。【解決手段】  実機を非線形モデルで近似した精密モデル１０を作成する精密モデル作成手段と、精密モデル１０へ入力される複数の入力値Ｕ１（ｔ），Ｕ２（ｔ），・・・，Ｕj（ｔ）の制約条件を設定する入力制約条件設定手段と、実機を線形モデルで近似した簡易線形モデル１１を作成する線形モデル作成手段と、簡易線形モデル１１を用いて、目標出力に対する最適入力を算出する最適入力算出手段と、最適入力に基づいて、制約条件を絞り込む制約条件限定手段と、絞り込まれた制約条件に基づいて、実現し得る複数の入力値Ｕ１（ｔ），Ｕ２（ｔ），・・・，Ｕj（ｔ）の全ての組み合わせを精密モデル１０へ入力する入力手段と、入力値Ｕ１（ｔ），Ｕ２（ｔ），・・・，Ｕj（ｔ）に対応して精密モデル１０から出力された複数の出力値Ｙ１（ｔ），Ｙ２（ｔ），・・・，Ｙｋ（ｔ）を評価する評価手段と、を備える。【選択図】図１
2007109103.tif 000002
【特許請求の範囲】
【請求項１】
実機を近似した非線形モデルを作成する非線形モデル作成手段と、
前記非線形モデルへ入力される複数の入力値の制約条件を設定する入力制約条件設定手段と、
前記実機を近似した線形モデルを作成する線形モデル作成手段と、
前記線形モデルを用いて、目標出力に対する最適入力を算出する最適入力算出手段と、
前記最適入力に基づいて、前記制約条件を絞り込む制約条件限定手段と、
前記制約条件限定手段により絞り込まれた前記制約条件に基づいて、実現し得る前記複数の入力値の組み合わせを前記非線形モデルへ入力する入力手段と、
前記入力値に対応して前記非線形モデルから出力された複数の出力値を評価する評価手段と、
を備えたことを特徴とする多入力多出力系の制御装置。
【請求項２】
前記制約条件限定手段は、前記最適入力を中心値とする所定範囲に前記制約条件を絞り込むことを特徴とする請求項１記載の多入力多出力系の制御装置。
【請求項３】
前記所定範囲を元の前記制約条件の範囲に比して狭めることを特徴とする請求項２記載の多入力多出力系の制御装置。
【請求項４】
前記最適入力が前記制約条件の範囲から外れている場合は、前記制約条件の上限値又は下限値を境界値として前記制約条件の範囲内で前記制約条件を絞り込むことを特徴とする請求項１〜３のいずれかに記載の多入力多出力系の制御装置。
【請求項５】
前記入力手段は、実現し得る前記複数の入力値の全ての組み合わせを前記非線形モデルへ入力することを特徴とする請求項１〜４のいずれかに記載の多入力多出力系の制御装置。
【請求項６】
前記評価手段での評価結果に基づいて、最適な前記入力値と前記出力値の組み合わせを決定する最適入出力決定手段を更に備えたことを特徴とする請求項１〜５のいずれかに記載の多入力多出力系の制御装置。
【請求項７】
前記評価手段での評価結果に基づいて、前記制約条件を変更する制約条件変更手段を更に備えたことを特徴とする請求項１〜６のいずれかに記載の多入力多出力系の制御装置。
【請求項８】
前記制約条件変更手段は、前記評価手段による最新の評価結果が以前の評価結果よりも良好な場合は、前記制約条件を厳しくすることを特徴とする請求項７記載の多入力多出力系の制御装置。
【請求項９】
前記非線形モデルに含まれる構成要素の動作環境制約条件を設定する動作環境制約条件設定手段と、
前記非線形モデルが前記入力値の入力を受けた際に、前記構成要素が前記動作環境制約条件の範囲で動作しているか否かを判定する動作判定手段と、
前記構成要素が前記動作環境制約条件の範囲で動作していない場合は、前記複数の入力値を修正する入力修正手段と、
を更に備えたことを特徴とする請求項１〜８のいずれかに記載の多入力多出力系の制御装置。
【請求項１０】
前記動作判定手段は、前記構成要素の内部変数に基づいて前記構成要素の動作を判定し、
前記入力修正手段は、前記構成要素が前記動作環境制約条件の範囲で動作していない場合は、当該構成要素の内部変数が前記動作環境制約条件の境界値となるように前記複数の入力値の少なくとも一部を修正することを特徴とする請求項９記載の多入力多出力系の制御装置。
【請求項１１】
前記構成要素が前記動作環境制約条件の範囲で動作していない場合は、前記入力値に対応した前記出力値を前記非線形モデルから出力しないことを特徴とする請求項９又は１０記載の多入力多出力系の制御装置。
【請求項１２】
前記非線形モデル及び線形モデルは内燃機関システムをモデル化したものであり、前記入力値及び前記出力値に基づいて当該内燃機関システムを制御することを特徴とする請求項１〜１１のいずれかに記載の多入力多出力系の制御装置。
【請求項１３】
前記非線形モデル及び線形モデルは内燃機関システムをモデル化したものであり、前記入力値及び前記出力値に基づいて当該内燃機関システムのアイドリング回転数を制御することを特徴とする請求項１〜１１のいずれかに記載の多入力多出力系の制御装置。
【請求項１４】
前記非線形モデル及び線形モデルはモータを含むハイブリッドシステムをモデル化したものであり、前記入力値及び前記出力値に基づいて当該ハイブリッドシステムを制御することを特徴とする請求項１〜１１のいずれかに記載の多入力多出力系の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、多入力多出力系の制御装置に関する。
【背景技術】
【０００２】
従来、例えば特開平７−４９０４９号公報には、多入力多出力系を制御する場合において、プラントを線形離散系モデルで近似し、それをもとにオブザーバや最適レギュレータ設計などの制御理論を用いて内燃機関の制御に適用する方法が開示されている。
【０００３】
【特許文献１】特開平７−４９０４９号公報
【特許文献２】特開平６−９５７０７号公報
【特許文献３】特開平４−２６６１０１号公報
【特許文献４】特開２００４−１７８２４７号公報
【特許文献５】特表２００３−５２１０１５号公報
【特許文献６】特開平３−２３３７０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、内燃機関などの実際のプラントは、外乱、機械的な公差、経年変化等の要因により非線形性を有しているため、線形モデルから得られた最適値を用いて実際のプラントを最適に制御することは困難である。このため、内燃機関の制御を想定した場合、線形モデルによる近似では計算精度が低下してしまい、制御性が低下するという問題が生じる。一方、計算精度を高めるためには、非線形モデルで実機のプラントを近似することが考えられるが、非線形モデルを用いた計算では、計算負荷が大きくなるという問題が生じる。
【０００５】
この発明は、上述のような問題を解決するためになされたものであり、多入力多出力系のモデルを高い精度で構築するとともに、計算負荷を抑えることで、内燃機関などのプラントを最適に制御することを目的とする。
【課題を解決するための手段】
【０００６】
第１の発明は、上記の目的を達成するため、実機を近似した非線形モデルを作成する非線形モデル作成手段と、前記非線形モデルへ入力される複数の入力値の制約条件を設定する入力制約条件設定手段と、前記実機を近似した線形モデルを作成する線形モデル作成手段と、前記線形モデルを用いて、目標出力に対する最適入力を算出する最適入力算出手段と、前記最適入力に基づいて、前記制約条件を絞り込む制約条件限定手段と、前記制約条件限定手段により絞り込まれた前記制約条件に基づいて、実現し得る前記複数の入力値の組み合わせを前記非線形モデルへ入力する入力手段と、前記入力値に対応して前記非線形モデルから出力された複数の出力値を評価する評価手段と、を備えたことを特徴とする。
【０００７】
第２の発明は、第１の発明において、前記制約条件限定手段は、前記最適入力を中心値とする所定範囲に前記制約条件を絞り込むことを特徴とする。
【０００８】
第３の発明は、第２の発明において、前記所定範囲を元の前記制約条件の範囲に比して狭めることを特徴とする。
【０００９】
第４の発明は、第１〜第３の発明のいずれかにおいて、前記最適入力が前記制約条件の範囲から外れている場合は、前記制約条件の上限値又は下限値を境界値として前記制約条件の範囲内で前記制約条件を絞り込むことを特徴とする。
【００１０】
第５の発明は、第１〜第４の発明のいずれかにおいて、前記入力手段は、実現し得る前記複数の入力値の全ての組み合わせを前記非線形モデルへ入力することを特徴とする。
【００１１】
第６の発明は、第１〜第５の発明のいずれかにおいて、前記評価手段での評価結果に基づいて、最適な前記入力値と前記出力値の組み合わせを決定する最適入出力決定手段を更に備えたことを特徴とする。
【００１２】
第７の発明は、第１〜第６の発明のいずれかにおいて、前記評価手段での評価結果に基づいて、前記制約条件を変更する制約条件変更手段を更に備えたことを特徴とする。
【００１３】
第８の発明は、第７の発明において、前記制約条件変更手段は、前記評価手段による最新の評価結果が以前の評価結果よりも良好な場合は、前記制約条件を厳しくすることを特徴とする。
【００１４】
第９の発明は、第１〜第８の発明のいずれかにおいて、前記非線形モデルに含まれる構成要素の動作環境制約条件を設定する動作環境制約条件設定手段と、前記非線形モデルが前記入力値の入力を受けた際に、前記構成要素が前記動作環境制約条件の範囲で動作しているか否かを判定する動作判定手段と、前記構成要素が前記動作環境制約条件の範囲で動作していない場合は、前記複数の入力値を修正する入力修正手段と、を更に備えたことを特徴とする。
【００１５】
第１０の発明は、第９の発明において、前記動作判定手段は、前記構成要素の内部変数に基づいて前記構成要素の動作を判定し、前記入力修正手段は、前記構成要素が前記動作環境制約条件の範囲で動作していない場合は、当該構成要素の内部変数が前記動作環境制約条件の境界値となるように前記複数の入力値の少なくとも一部を修正することを特徴とする。
【００１６】
第１１の発明は、第９又は第１０の発明において、前記構成要素が前記動作環境制約条件の範囲で動作していない場合は、前記入力値に対応した前記出力値を前記非線形モデルから出力しないことを特徴とする。
【００１７】
第１２の発明は、第１〜第１１の発明のいずれかにおいて、前記非線形モデル及び線形モデルは内燃機関システムをモデル化したものであり、前記入力値及び前記出力値に基づいて当該内燃機関システムを制御することを特徴とする。
【００１８】
第１３の発明は、第１〜第１１の発明のいずれかにおいて、前記非線形モデル及び線形モデルは内燃機関システムをモデル化したものであり、前記入力値及び前記出力値に基づいて当該内燃機関システムのアイドリング回転数を制御することを特徴とする。
【００１９】
第１４の発明は、第１〜第１１の発明のいずれかにおいて、前記非線形モデル及び線形モデルはモータを含むハイブリッドシステムをモデル化したものであり、前記入力値及び前記出力値に基づいて当該ハイブリッドシステムを制御することを特徴とする。
【発明の効果】
【００２０】
第１の発明によれば、線形モデルを用いて算出した最適入力に基づいて、非線形モデルへ入力される入力値の制約条件を絞りこむため、非線形モデルへの入力を最小限に抑えることが可能となり、計算負荷を低減することが可能となる。また、非線形モデルにより実機の非線形性を加味した制御が可能となり、実現し得る入力値の組み合わせの中から、制約条件を考慮した上で、最適な入力値と出力値の組み合わせを算出することが可能となる。従って、線形モデルによる計算負荷の低減と、非線形モデルによる計算精度の向上の両立を図ることができる。
【００２１】
第２の発明によれば、前記最適入力を中心値とする所定範囲に制約条件を絞り込むため、非線形モデルへの入力を最小限に抑えるとともに、絞り込んだ制約条件が元の制約条件の範囲を逸脱してしまうことを抑止できる。
【００２２】
第３の発明によれば、所定範囲を元の制約条件の範囲に比して狭めるようにしたため、非線形モデルへの入力の数を抑えることができ、計算負荷を低減することができる。また、計算精度の低下を抑えることが可能となる。
【００２３】
第４の発明によれば、最適入力が制約条件の範囲から外れている場合は、制約条件の上限値又は下限値を境界値として制約条件の範囲内で制約条件を絞り込むため、絞り込んだ制約条件の範囲が元の制約条件の範囲から外れてしまうことを回避できる。
【００２４】
第５の発明によれば、実現し得る入力値の全ての組み合わせの中から、最適な入力値と出力値の組み合わせを算出することが可能となる。
【００２５】
第６の発明によれば、入力値と出力値の最適な組み合わせを決定することが可能となり、これに基づいて実機を最適に制御することが可能となる。
【００２６】
第７の発明によれば、評価手段での評価結果に基づいて制約条件を変更するため、制約条件の許容範囲を判定することが可能となる。
【００２７】
第８の発明によれば、評価手段による最新の評価結果が以前の評価結果よりも良好な場合は、制約条件を厳しくするため、制約条件を厳しくした場合に何処まで制御が成立するかを判定することが可能となる。従って、例えば制約条件がアクチュエータの作動能力で規定されている場合は、アクチュエータを小型化、小容量化、または低性能化した場合に制御が成立するか否かを判定することが可能となり、コストダウンの検討を行うことが可能となる。
【００２８】
第９の発明によれば、非線形モデル内の構成要素が動作環境制約条件の範囲で動作しているか否かを判定し、構成要素が動作環境制約条件の範囲で動作していない場合は、入力値を修正するため、構成要素の動作を考慮した上で最適な制御を実現することができる。
【００２９】
第１０の発明によれば、構成要素が動作環境制約条件の範囲で動作していない場合は、当該構成要素の内部変数が動作環境制約条件の境界値となるように複数の入力値の少なくとも一部を修正するため、構成要素を動作環境制約条件の範囲で確実に動作させることが可能となる、
【００３０】
第１１の発明によれば、構成要素が動作環境制約条件の範囲で動作していない場合は、入力値に対応した出力値を非線形モデルから出力しないため、計算負荷を最小限に抑えることが可能となる。
【００３１】
第１２の発明によれば、内燃機関システムをモデル化して非線形モデルを作成するため、内燃機関システムを高精度に制御することが可能となる。
【００３２】
第１３の発明によれば、内燃機関システムをモデル化して非線形モデルを作成するため、アイドリング回転数を高精度に制御することが可能となる。
【００３３】
第１４の発明によれば、ハイブリッドシステムをモデル化して非線形モデルを作成するため、ハイブリッドシステムを高い精度で制御することが可能となる。
【発明を実施するための最良の形態】
【００３４】
以下、図面に基づいてこの発明のいくつかの実施の形態について説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。なお、以下の実施の形態によりこの発明が限定されるものではない。
【００３５】
実施の形態１．
図１は、本発明の実施の形態１を説明するための模式図である。図１は、実施の形態１に係る多入力多出力系のシステムを示している。このシステムは、複数の特性値の入力を受けて、入力に応じた複数の特性値を出力する精密モデル１０と、簡易線形モデル１１とを備えている。
【００３６】
精密モデル１０は、実際のプラントを精密にモデル化したものであって、プラント内に存在する機械的なガタや、運転条件による遅れの変化などの非線形性を取り入れたものである。一方、簡易線形モデル１１は、実際のプラントを線形近似によりモデル化したものである。
【００３７】
精密モデル１０および簡易モデル１１は、モデル化したプラントの制御に用いられる。このため、精密モデル１０および簡易モデル１１は、プラントが備えるＥＣＵ（Electronic Control Unit）によって構築され、ＥＣＵによって制御される。なお、以下の各実施形態で説明する精密モデル、簡易モデルは、実施の形態１の精密モデル１０、簡易モデル１１と同様の基本的機能を有している。
【００３８】
精密モデル１０には、複数の特性値Ｕ１（ｔ），Ｕ２（ｔ），・・・，Ｕj（ｔ）が入力される。また、これらの入力に基づいて、精密モデル１０から複数の特性値Ｙ１（ｔ），Ｙ２（ｔ），・・・，Ｙｋ（ｔ）が出力される。入力Ｕ１（ｔ），Ｕ２（ｔ），・・・，Ｕj（ｔ）、出力Ｙ１（ｔ），Ｙ２（ｔ），・・・，Ｙｋ（ｔ）は、それぞれ時間ｔの関数である。
【００３９】
例えば、精密モデル１０によって表現されるプラントが内燃機関の場合、内燃機関は燃料、空気の供給を受けて出力を発生するため、入力Ｕ１（ｔ），Ｕ２（ｔ），・・・，Ｕj（ｔ）は、それぞれ吸入空気量、燃料噴射量などの値となり、出力Ｙ１（ｔ），Ｙ２（ｔ），・・・，Ｙｋ（ｔ）は、空燃比、トルク、機関回転数などの値となる。
【００４０】
各入力Ｕ１（ｔ），Ｕ２（ｔ），・・・，Ｕj（ｔ）には制約条件が設定されている。各入力Ｕ１（ｔ），Ｕ２（ｔ）の制約条件は、以下のように表される。
Ｕａ１＜Ｕ１（ｔ）＜Ｕａ２
Ｕｂ１＜Ｕ２（ｔ）＜Ｕｂ２
【００４１】
精密モデル１０によって表現されるプラントが内燃機関であり、入力Ｕ１（ｔ）を吸入空気量とした場合、吸気管の直径、スロットルバルブの開度の最大値、最小値などから、入力Ｕ１（ｔ）の上限値（Ｕａ１）、下限値（Ｕａ２）が定まる。他の制約条件についても同様に、主としてハード的な要因から制約条件が課せられている。
【００４２】
また、各入力Ｕ１（ｔ），Ｕ２（ｔ），・・・，Ｕj（ｔ）には、以下のようにアクチュエータの制御周期間（ＥＣＵによる制御周期）での動作速度可能範囲が設定されている。
ΔＵ１ｍｉｎ＜Ｕ１（Δｔ）＜ΔＵ１ｍａｘ
ΔＵ２ｍｉｎ＜Ｕ２（Δｔ）＜ΔＵ２ｍａｘ
【００４３】
ここで、Ｕ１（Δｔ）は微小時間Δｔ（ＥＣＵによる制御周期間）における入力Ｕ１の変化量である。例えば、入力Ｕ１（ｔ）を吸入空気量とした場合、微小時間Δｔにおける吸入空気量の変化量Ｕ１（Δｔ）は、スロットルバルブの動作速度によって制約を受ける。スロットルバルブがアクチュエータによって駆動される場合、スロットルバルブの動作速度はアクチュエータの性能によって制約を受ける。アクチュエータの制御周期間での動作速度可能範囲は、このようなアクチュエータ等による動作速度に起因した制約条件を表している。
【００４４】
各入力Ｕ１（ｔ），Ｕ２（ｔ），・・・，Ｕj（ｔ）は、上述した制約条件の範囲内で、所定の刻み幅毎に複数の値が用意される。そして、各入力Ｕ１（ｔ），Ｕ２（ｔ），・・・，Ｕj（ｔ）の全ての組み合わせが精密モデル１０に入力される。刻み幅の値は、入力が出力に与える影響度合いから決定することができる。例えば、入力Ｕ１（ｔ）の出力への影響が少ない場合は、刻み幅を大きくして入力Ｕ１（ｔ）の数を減少させることが好適である。一方、入力Ｕ１（ｔ）の出力への影響が大きい場合は、刻み幅を少なくして入力Ｕ１（ｔ）の数を多くし、より緻密な演算を行うことが好適である。また、刻み幅によって入力の数が定まり、入力の数はＥＣＵによる演算の負荷に影響を与えるため、刻み幅はＥＣＵの処理能力に応じて決定することが好適である。
【００４５】
例えば、入力がＵ１（ｔ），Ｕ２（ｔ），Ｕ３（ｔ）の３種類であり、Ｕ１（ｔ）として１００個の値が用意され、Ｕ２（ｔ）として５０個の値が用意され、Ｕ３（ｔ）として２００個の値が用意された場合、入力Ｕ＝（Ｕ１（ｔ），Ｕ２（ｔ），Ｕ３（ｔ），・・・，Ｕｊ（ｔ））の全ての組み合わせの数ｉは、１００×５０×２００＝１，０００，０００個となる。
【００４６】
精密モデル１０は、上述した１，０００，０００個の入力を受けて、各入力に対応した１，０００，０００個の出力Ｙ（ｉ）＝（Ｙ１（ｔ），Ｙ２（ｔ），Ｙ３（ｔ），・・・，Ｙｋ（ｔ））を出力する。そして、精密モデル１０から出力された各出力Ｙ（ｉ）は、評価関数Ｅにより評価される。
【００４７】
図２は、評価関数Ｅによる評価方法を示す模式図である。図２において、横軸は時間を、縦軸は出力Ｙを示している。評価関数は、目標出力Ｙｔと実際の出力Ｙとのずれの総和、または目標出力Ｙｔが与えられてから実際の出力Ｙが目標出力Ｙｔに到達するまでの時間に基づいて、出力Ｙを評価する。
【００４８】
図２の例では、時刻ｔ０の時点から出力Ｙを目標出力Ｙｔへ制御し、時刻ｔ１で出力Ｙが目標出力Ｙｔへ到達した場合を示している。評価関数は、時刻ｔ０からｔ１までの間における出力Ｙと目標出力Ｙｔとの偏差（図２中にハッチングで示す部分の面積）、または、時刻ｔ０から時刻ｔ１までの時間に基づいて出力Ｙの制御性を評価する。出力Ｙと目標出力Ｙｔとの偏差が少ないほど、または時刻ｔ０から時刻ｔ１までの時間が短いほど、出力Ｙの制御性が良好であり、出力Ｙの評価が良好になる。
【００４９】
評価関数Ｅは、各入力に対応した全ての出力Ｙ（ｉ）の評価を行う。上述の例では、１，０００，０００個の入力Ｕ（ｉ）に対応した１，０００，０００個の出力Ｙ（ｉ）を全て評価する。そして、評価関数Ｅにより評価が良好であると判定された出力Ｙと、この出力Ｙに対応する入力Ｕのセットは、最適な入出力のセット（組み合わせ）として保存される。
【００５０】
より詳細には、評価関数Ｅは、各出力Ｙ（ｉ）における特性値Ｙ１（ｔ），Ｙ２（ｔ），Ｙ３（ｔ），・・・，Ｙｋ（ｔ）を個別に評価する関数と、特性値Ｙ１（ｔ），Ｙ２（ｔ），Ｙ３（ｔ），・・・，Ｙｋ（ｔ）の評価に基づいて各出力Ｙ（ｉ）を総合的に評価する関数とを備えている。これにより、各特性値Ｙ１（ｔ），Ｙ２（ｔ），Ｙ３（ｔ），・・・，Ｙｋ（ｔ）の優先順位を考慮して出力Ｙ（ｉ）を評価することができる。例えば、精密モデル１０によって表現されるプラントが内燃機関であり、出力Ｙ（ｉ）にトルクと空燃比の特性値が含まれる場合、評価関数Ｅによってトルクよりも空燃比が優先して評価される場合は、空燃比の評価が高い出力Ｙ（ｉ）を最適な出力とすることができる。
【００５１】
このような手法によれば、全ての入力パターンの組み合わせの中から、最適な出力を求めることができる。従って、多入力多出力系において、入力の一部を固定し、他の入力を変化させて出力を求める方法に比べて、より正確に最適な入出力の組み合わせを求めることが可能となる。また、入力Ｕにハード的な制約条件を設定しているため、制約条件を加味した上で最適な制御量を計算することができる。更に、精密モデル１０はプラントの非線形性を考慮したものであるため、制御遅れ、機械的なガタなどの要因を考慮して出力を評価することができる。従って、いかなるシステムに対しても正確な制御入力、出力を計算することが可能となる。
【００５２】
精密モデル１０によれば、全ての入力パターンの組み合わせの中から最適な出力を求めることができるが、制御対象によっては、算出された全ての入出力のセットのうち、実際の制御に好適なセットはその一部にしか過ぎない場合がある。このため、全ての入力パターンの組み合わせに対して、対応する出力を演算した場合、精密モデル１０による演算量が増大する場合がある。
【００５３】
このため、本実施形態では、精密モデル１０による演算を行う前に、簡易線形モデル１１により最適な入力を求め、これに基づいて精密モデル１０への入力を必要最小限の範囲で行うようにしている。
【００５４】
簡易線形モデル１１は、例えば、以下の（１）式で表すことができる。
Ｙ（ｔ＋ｄ）＝ａ０・Ｕ（ｔ）＋ａ１・Ｕ（ｔ−１）＋ａ２・Ｕ（ｔ−２）＋…
＋ｂ０・Ｙ（ｔ）＋ｂ１・Ｙ（ｔ−１）＋ｂ２・Ｙ（ｔ−２）＋…  ・・・（１）
【００５５】
（１）式において、Ｙ（ｔ）は、時刻ｔにおける簡易線形モデル１１からの出力を表している。また、Ｕ（ｔ）は、時刻ｔにおける簡易線形モデル１１への入力を表している。また、ａ０, ａ１, ａ２,…, ｂ０, ｂ１, ｂ２,…は最小二乗法で求めることのできるモデルパラメータ（係数）である。
【００５６】
例えば、（１）式の右辺において、入力Ｕの項が３つであり、出力Ｙの項が３つである場合、（１）式は以下の（１）’式として表される。
【００５７】
Ｙ（ｔ＋ｄ）＝ａ０・Ｕ（ｔ）＋ａ１・Ｕ（ｔ−１）＋ａ２・Ｕ（ｔ−２）＋ｂ０・Ｙ（ｔ）＋ｂ１・Ｙ（ｔ−１）＋ｂ２・Ｙ（ｔ−２）・・・（１）’
【００５８】
簡易線形モデル１１では、過去の入力Ｕ、出力Ｙの値が保存されている。従って、（１）’式において、時刻ｔを過去の時刻ｔ１, ｔ２, ｔ３, ｔ４, ｔ５, ｔ６とすると、それぞれの時刻ｔ１, ｔ２, ｔ３, ｔ４, ｔ５, ｔ６に対応したＹ（ｔ＋ｄ）, Ｕ（ｔ）, Ｕ（ｔ−１）, Ｕ（ｔ−２）, Ｙ（ｔ）, Ｙ（ｔ−１）, Ｙ（ｔ−２）の値は既知である。従って、時刻ｔ１, ｔ２, ｔ３, ｔ４, ｔ５, ｔ６のそれぞれに対応した６つの（１）’式を連立することで、モデルパラメータａ０, ａ１, ａ２, ｂ０, ｂ１, ｂ２を求めることができる。入力Ｕ、出力Ｙの項の数をより多く設定した場合においても、同様の方法で（１）式を連立することで、モデルパラメータａ０, ａ１, ａ２,…, ｂ０, ｂ１, ｂ２,…を求めることができる。
【００５９】
（１）’式をＵ（ｔ）について解くと、以下の（１）”式が得られる。
Ｕ（ｔ）＝（１／ａ０）・｛Ｙ（ｔ＋ｄ）−ａ１・Ｕ（ｔ−１）−ａ２・Ｕ（ｔ−２）−ｂ０・Ｙ（ｔ）−ｂ１・Ｙ（ｔ−１）−ｂ２・Ｙ（ｔ−２）｝      ・・・（１）”
【００６０】
（１）”式によれば、現在（時刻ｔ）からｄ秒後の出力Ｙ（ｔ＋ｄ）として任意の目標値を代入し、更に、過去の入力Ｕ（ｔ−１）, Ｕ（ｔ−２）、現在の出力Ｙ（ｔ）、および過去の出力Ｙ（ｔ−１）, Ｙ（ｔ−２）を代入することで、ｄ秒後に目標値ｙ（ｔ＋ｄ）を得るために最適な現在の入力Ｕ（ｔ）を算出することができる。
【００６１】
図１において、各入力Ｕ１（ｔ），Ｕ２（ｔ），・・・，Ｕj（ｔ）と各出力Ｙ１（ｔ），Ｙ２（ｔ），・・・，Ｙｋ（ｔ）のそれぞれの関係は、簡易線形モデル１１で表すことができる。従って、簡易線形モデル１１によれば、各出力Ｙ１（ｔ），Ｙ２（ｔ），・・・，Ｙｋ（ｔ）の目標値を（１）”式に代入することで、最適な入力Ｕ１（ｔ），Ｕ２（ｔ），・・・，Ｕj（ｔ）を求めることができる。
【００６２】
例えば、入力Ｕ１と出力Ｙ１の関係および入力Ｕ２と出力Ｙ２の関係は、（１）”式により以下のように表すことができる。
Ｕ１（ｔ）＝（１／ａ０）・｛Ｙ１（ｔ＋ｄ）−ａ１・Ｕ１（ｔ−１）−ａ２・Ｕ１（ｔ−２）−ｂ０・Ｙ１（ｔ）−ｂ１・Ｙ１（ｔ−１）−ｂ２・Ｙ１（ｔ−２）｝
Ｕ２（ｔ）＝（１／ａ０）・｛Ｙ２（ｔ＋ｄ）−ａ１・Ｕ２（ｔ−１）−ａ２・Ｕ２（ｔ−２）−ｂ０・Ｙ２（ｔ）−ｂ１・Ｙ２（ｔ−１）−ｂ２・Ｙ２（ｔ−２）｝
【００６３】
従って、簡易線形モデル１１によれば、出力Ｙ１, Ｙ２…の目標値Ｙ１（ｔ＋ｄ）, Ｙ２（ｔ＋ｄ）…に基づいて、出力Ｙ１, Ｙ２…を目標値に制御するための最適な入力Ｕ１（ｔ）, Ｕ２（ｔ）…（以下、Ｕ１（最適値），Ｕ２（最適値）…という）の値を簡易的に算出できる。
【００６４】
簡易線形モデル１１から最適な入力Ｕ１（最適値），Ｕ２（最適値）・・・が求まると、予め決定されている精密モデル１０の制約条件の範囲内で、制約条件を絞り込むことができる。以下、図３に基づいて、簡易線形モデル１１から算出された最適な入力値Ｕ１（最適値）、Ｕ２（最適値）に基づいて、精密モデル１０への入力値の制約条件を絞り込む方法を説明する。図３の縦軸方向は制約条件の範囲を示しており、一点鎖線で示す範囲は、精密モデル１０により予め決定されている元の制約条件を示している。また、実線で示す範囲は、簡易線形モデル１１から求めた入力値Ｕ１（最適値），Ｕ２（最適値）に基づいて絞り込んだ制約条件を示している。
【００６５】
図３に示すように、入力Ｕ１については、簡易線形モデル１１から決定された最適な入力Ｕ１（最適値）が中心値とされ、Ｕ１（最適値）を中心とする±ｋ１の範囲が設定される。そして、このＵ１（最適値）±ｋ１の範囲が、精密モデル１０への入力Ｕ１の制約条件とされる。すなわち、元々の制約条件の範囲（Ｕａ１＜Ｕ１（ｔ）＜Ｕａ２）がＵ１±ｋ１に絞り込まれることとなる。
【００６６】
ここで、ｋ１の値は、簡易線形モデル１１によって絞り込まれた制約条件の範囲Ｕ１±ｋ１が、元々設定されていた精密モデル１０の制約条件の範囲（Ｕａ１＜Ｕ１（ｔ）＜Ｕａ２）の１／３〜１／２程度となるように設定されている。入力Ｕ１の刻み幅については、絞り込む以前の制約条件と同様にすることができる。
【００６７】
これにより、簡易線形モデル１１から算出された最適な入力値Ｕ１（最適値）に基づいて、制約条件を必要最小限の範囲に絞り込むことができ、精密モデル１０への入力を最小限に抑えることが可能となる。例えば、簡易線形モデル１１による入力値Ｕ１（最適値）に基づいて、制約条件の範囲を１／２に絞り込んだ場合は、入力Ｕ１の数を半分に減らすことができ、精密モデル１０による演算負荷を低減することができる。
【００６８】
一方、図３の例では、簡易線形モデル１１から決定された最適な入力値Ｕ２（最適値）が、精密モデル１０による元の制約条件の上限値Ｕｂ２を超えている。この場合は、Ｕ２（最適値）が元の制約条件の上限値Ｕｂ２に固定される。そして、上限値Ｕｂ２から、Ｕｂ２−ｋ２までの範囲が簡易線形モデル１１によって絞り込まれた制約条件の範囲とされる。この場合においても、絞り込んだ制約条件の範囲（Ｕｂ２−ｋ２≦Ｕ２≦Ｕｂ２）の範囲が精密モデル１０の制約条件Ｕｂ１≦Ｕ２≦Ｕｂ２の１／２〜１／３程度となるようにｋ２の値を設定することが好適である。
【００６９】
図３の方法によれば、簡易線形モデル１１から算出された最適な入力Ｕ（最適値）に基づいて制約条件を必要最小限の範囲に絞り込むことができ、精密モデル１０への入力の数を最小限に抑えることができる。また、簡易線形モデル１１から算出された最適な入力Ｕ（最適値）が精密モデル１０の制約条件から外れている場合は、精密モデル１０の制約条件の上限値又は下限値を境界値として制約条件の絞り込みを行うため、絞り込んだ制約条件の範囲が元の制約条件の範囲から外れてしまうことを回避できる。
【００７０】
次に、図４のフローチャートに基づいて、本実施形態のシステムにおける処理について説明する。先ず、ステップＳ１０１では、制御対象となるプラントの精密モデル１０を作成する。次のステップＳ１０２では、各入力Ｕの制約条件を取り込む。次のステップＳ１０３では、各入力Ｕの刻み幅を決定する。
【００７１】
次のステップＳ１０４では、制御対象となるプラントの簡易線形モデル１１を作成する。次のステップＳ１０５では、出力Ｙの目標値Ｙ（ｔ＋ｄ）に基づいて、簡易線形モデル１１から各入力（Ｕ１，Ｕ２，Ｕ３，・・・Ｕｋ）の最適値（Ｕ（最適値））をそれぞれ算出する。
【００７２】
次のステップＳ１０６では、ステップＳ１０５で算出した最適値のそれぞれが精密モデル１０の制約条件の範囲内であるか否かを判定する。そして、最適値のうち、少なくとも１つが精密モデル１０の制約条件の範囲から外れている場合は、ステップＳ１０７へ進む。一方、全ての最適値が精密モデル１０の制約条件の範囲内の場合は、ステップＳ１０８へ進む。
【００７３】
ステップＳ１０７では、精密モデル１０の制約条件の範囲から外れている入力を、精密モデル１０の制約条件の上限値又は下限値に固定する。例えば、図３に示すＵ２のように、簡易線形モデル１１から求めた最適値が精密モデル１０の制約条件の上限値を超えている場合は、最適値を上限値に固定する。一方、最適値が精密モデル１０の制約条件の下限値を下回っている場合は、最適値を下限値に固定する。ステップＳ１０７の後はステップＳ１０８へ進む。
【００７４】
ステップＳ１０８では、ステップＳ１０５で算出した最適値、およびステップＳ１０７で制約条件の上限値又は下限値に固定された最適値に基づいて、制約条件の絞り込みを行う。この際、図３で説明したように、精密モデル１０の制約条件の範囲の１／２〜１／３程度の範囲となるように制約条件の範囲を設定する。
【００７５】
次のステップＳ１０９では、ステップＳ１０８で絞り込まれた制約条件を満たす全ての入力Ｕの組み合わせ数Ｎを算出する。次のステップＳ１１０では、組み合わせによって得られた全ての入力パターンＵ（ｉ）（ｉ＝１〜Ｎ）を準備する。
【００７６】
次のステップＳ１１１では、入力Ｕ（ｉ）の変数ｉを１に設定する（ｉ＝１）。次のステップＳ１１２では、入力Ｕ（ｉ）について、精密モデル１０から出力Ｙ（ｉ）を算出する。次のステップＳ１１３では、評価関数Ｅを用いて出力Ｙ（ｉ）の制御性を示す評価値Ｅ（ｉ）を求め、出力Ｙ（ｉ）の制御性を評価する。
【００７７】
次のステップＳ１１１４では、ｉ＝Ｎであるか否かを判定し、ｉ≠Ｎの場合は、ステップＳ１１５へ進み、現在のｉの値に１を加算し、ｉ＝ｉ＋１としてステップＳ１１２へ戻る。一方、ステップＳ１１４でｉ＝Ｎの場合はステップＳ１１６へ進む。
【００７８】
ステップＳ１１６では、各出力Ｙ（ｉ）の評価値Ｅ（ｉ）に基づいて、最も評価の高い入力Ｕ（ｉ）と出力Ｙ（ｉ）のセット（組み合わせ）を求める。ステップＳ１１６の後は処理を終了する(RETURN)。
【００７９】
図４の処理によれば、簡易線形モデル１１の演算に基づいて制約条件を絞り込むため、精密モデル１０における演算の負荷を低減することが可能となり、処理速度を高めることが可能となる。また、１からＮまでの入力Ｕ（ｉ）の組み合わせに対して、順次に対応するＹ（ｉ）を算出することができ、各出力Ｙ（ｉ）を評価関数Ｅで評価することで、最適な入出力のセットを確実に求めることが可能となる。
【００８０】
なお、図４の処理において、最適な入出力のセットを求めた後、前回求めた最適値との比較に基づいて制約条件を変更するようにしても良い。図５のフローチャートは、評価結果に基づいて制約条件を変更する処理を示している。
【００８１】
先ず、ステップＳ１２１では、制御対象となるプラントの精密モデル１０を作成する。次のステップＳ１２２では、各入力Ｕの制約条件を取り込む。次のステップＳ１２３では、各入力Ｕの刻み幅を決定する。
【００８２】
次のステップＳ１２４では、制御対象となるプラントの簡易線形モデル１１を作成する。次のステップＳ１２５では、出力Ｙの目標値Ｙ（ｔ＋ｄ）に基づいて、簡易線形モデル１１から各入力（Ｕ１，Ｕ２，Ｕ３，・・・Ｕｋ）の最適値（Ｕ（最適値））をそれぞれ算出する。
【００８３】
次のステップＳ１２６では、ステップＳ１２５で算出した最適値のそれぞれが精密モデル１０の制約条件の範囲内であるか否かを判定する。そして、最適値のうち、少なくとも１つが精密モデル１０の制約条件の範囲から外れている場合は、ステップＳ１２７へ進む。一方、全ての最適値が精密モデル１０の制約条件の範囲内の場合は、ステップＳ１２８へ進む。
【００８４】
ステップＳ１２７では、精密モデル１０の制約条件の範囲から外れている入力を、精密モデル１０の制約条件の上限値又は下限値に固定する。例えば、図３に示すＵ２のように、簡易線形モデル１１から求めた最適値が精密モデル１０の制約条件の上限値を超えている場合は、最適値を上限値に固定する。一方、最適値が精密モデル１０の制約条件の下限値を下回っている場合は、最適値を下限値に固定する。ステップＳ１２７の後はステップＳ１２８へ進む。
【００８５】
ステップＳ１２８では、ステップＳ１２５で算出した入力の最適値、およびステップＳ１２７で制約条件の上限値又は下限値に固定された最適値に基づいて、制約条件の絞込みを行う。この際、図３で説明したように、精密モデル１０の制約条件の範囲の１／２〜１／３程度の範囲となるように制約条件の範囲を設定する。
【００８６】
次のステップＳ１２９では、ステップＳ１２８で絞り込まれた制約条件を満たす全ての入力Ｕの組み合わせ数Ｎを算出する。次のステップＳ１３０では、組み合わせによって得られた全ての入力パターンＵ（ｉ）（ｉ＝１〜Ｎ）を準備する。
【００８７】
次のステップＳ１３１では、入力Ｕ（ｉ）の変数ｉを１に設定する（ｉ＝１）。次のステップＳ１３２では、入力Ｕ（ｉ）について、精密モデル１０から出力Ｙ（ｉ）を算出する。次のステップＳ１３３では、評価関数Ｅを用いて出力Ｙ（ｉ）の制御性を示す評価値Ｅ（ｉ）を求め、出力Ｙ（ｉ）の制御性を評価する。
【００８８】
次のステップＳ１３４では、ｉ＝Ｎであるか否かを判定し、ｉ≠Ｎの場合は、ステップＳ１３５へ進み、現在のｉの値に１を加算し、ｉ＝ｉ＋１としてステップＳ１３２へ戻る。一方、ステップＳ１３４でｉ＝Ｎの場合はステップＳ１３６へ進む。
【００８９】
ステップＳ１３６では、各出力Ｙ（ｉ）の評価値Ｅ（ｉ）に基づいて、最も評価の高い入力Ｕ（ｉ）と出力Ｙ（ｉ）のセット（組み合わせ）を求める。
【００９０】
次のステップＳ１３７では、今回の処理のステップＳ１３６で求めた最適な入出力のセットの評価が、前回のステップＳ１３６の処理で求めた最適な入出力のセットの評価よりも高いか否かを判定する。そして、今回の評価結果が前回の評価結果よりも良い場合は、ステップＳ１３８へ進む。
【００９１】
ステップＳ１３８では、入力Ｕについての制約条件が厳しくなるように制約条件を変更する。ステップＳ１３８の後はステップＳ１２９へ戻る。
【００９２】
一方、ステップＳ１３７において、今回の評価結果が前回の評価結果と同等又は前回の評価結果よりも悪い場合は、処理を終了する(RETURN)。
【００９３】
図５の処理によれば、今回の処理における評価結果が前回の処理における評価結果よりも良い場合は、入力Ｕの制約条件を厳しくして再度評価を行うため、制約条件を厳しくした場合に制御が成立するか否かを判定することが可能となる。従って、例えば制約条件がアクチュエータの作動能力で規定されている場合は、アクチュエータを小型化、小容量化、または低性能化した場合に制御が成立するか否かを判定することが可能となり、コストダウンの検討を行うことが可能となる。このように、図５の処理によれば、アクチュエータの性能を低下させた場合に制御が成立するか否かを検討することが可能となる。
【００９４】
なお、図５の処理において、制約条件が緩くなるように変更した場合の入出力の評価に基づいて、アクチュエータを高性能化した場合に出力の評価がどの程度まで高くなるかを検討しても良い。
【００９５】
以上説明したように実施の形態１によれば、簡易線形モデル１１における演算結果に基づいて、精密モデル１０への入力の制約条件を絞り込むようにしたため、精密モデル１０における演算の負荷を低減することができる。また、精密モデル１０によりプラントの非線形性を加味した制御が可能となり、想定される入力パターンの組み合わせの中から、ハード的な制約条件を考慮した上で、最適な入力Ｕ（ｉ）と出力Ｙ（ｉ）の組み合わせを算出することが可能となる。従って、実機のプラントの正確な制御を実現することが可能となる。
【００９６】
実施の形態２．
次に、本発明の実施の形態２について説明する。実施の形態２も実施の形態１と同様に多入力多出力系のシステムに関するものである。
【００９７】
図６は、実施の形態２のシステムを示す模式図である。実施の形態２のシステムは、実施の形態１と同様に、複数の特性値の入力を受けて、入力に応じた複数の特性値を出力する精密モデル１０と、簡易線形モデル１１とを備えている。精密モデル１０は実際のプラントを精密にモデル化したものであり、複数の特性値Ｕ１（ｔ），Ｕ２（ｔ），・・・，Ｕj（ｔ）の入力を受けて、入力に応じた特性値Ｙ１（ｔ），Ｙ２（ｔ），・・・，Ｙｋ（ｔ）を出力する。簡易線形モデル１１も特性値Ｕ１（ｔ），Ｕ２（ｔ），・・・，Ｕj（ｔ）の入力を受けて特性値Ｙ１（ｔ），Ｙ２（ｔ），・・・，Ｙｋ（ｔ）を出力するものであり、簡易線形モデル１１は、入力の最適値に基づいて精密モデル１０への入力の制約条件を絞り込む機能を有している。
【００９８】
図６に示すように、精密モデル１０は、その内部に構成要素１２，１４を備えている。構成要素１２，１４は、例えばプラント１０が内燃機関システムの場合、エンジン、トランスミッション、クラッチなどの構成要素に対応する。
【００９９】
各入力Ｕ１（ｔ），Ｕ２（ｔ），・・・，Ｕj（ｔ）は、精密モデル１０に入力された後、その一部が構成要素１２，１４に入力される。図６の例では、精密モデル１０に入力された入力Ｕ１（ｔ）は、そのまま入力ｕ１として構成要素１２へ入力される。構成要素１２は内部変数ｘ１（ｔ）を有しており、内部変数ｘ１（ｔ）は入力ｕ１を受けて変化する。
【０１００】
また、図６に示すように、精密モデル１０に入力された入力Ｕ２（ｔ）と入力Ｕj（ｔ）は、入力ｕ２として構成要素１４へ入力される。構成要素１４は内部変数ｘ２（ｔ）を有しており、内部変数ｘ２（ｔ）は入力ｕ２を受けて変化する。
【０１０１】
なお、図６の例では、精密モデル１０への入力Ｕ１（ｔ），Ｕ２（ｔ），Ｕj（ｔ）が直接的に構成要素１２，１４へ入力される例を示しているが、精密モデル１０内の特定の構成要素からの出力が他の構成要素へ入力されるものであっても良い。
【０１０２】
一般に、プラント内の各構成要素は、動作可能範囲、制御単位時間当たりの動作量、温度などの動作環境条件による制約を受ける。構成要素１２，１４の内部変数ｘ１（ｔ），ｘ２（ｔ）は構成要素１２，１４の動作状態を表しており、構成要素１２，１４が動作環境条件の範囲内で動作しているか否かは、内部変数ｘ１（ｔ），ｘ２（ｔ）に基づいて判定することができる。
【０１０３】
実施の形態２は、プラント内部の各構成要素の動作環境制約条件を考慮した上で最適な制御入力を計算するものである。そして、この制御を実現するために、実施の形態２では精密モデル１０内の構成要素１２，１４に動作環境制約条件が与えられる。なお、精密モデル１０への入力Ｕについては実施の形態１と同様に制約条件が与えられる。
【０１０４】
各構成要素１２，１４の動作環境制約条件は、以下のように表される。
Ｌ１＜ｘ１（ｔ）＜Ｈ１
Ｌ２＜ｘ２（ｔ）＜Ｈ２
【０１０５】
例えば、構成要素１２をモータなどのアクチュエータとした場合、アクチュエータの動作可能範囲、使用温度範囲などのパラメータによって構成要素１２の動作は制約を受ける。上記の動作環境制約条件は、これらの制約を表したものである。
【０１０６】
また、内部構成要素の制御周期間での動作環境制約範囲は以下のように表される。
ΔＬ１  ｍｉｎ＜ｘ１（Δｔ）＜ΔＨ１  ｍａｘ
ΔＬ２  ｍｉｎ＜ｘ２（Δｔ）＜ΔＨ２  ｍａｘ
【０１０７】
ここで、ｘ１（Δｔ）は微小時間Δｔにおけるｘ１（ｔ）の変化量である。構成要素１２をアクチュエータとした場合、微小時間Δｔにおけるアクチュエータの動作速度、温度変化量は、アクチュエータの性能に基づいて制約を受ける。内部構成要素の制御周期間での制約範囲は、このようなアクチュエータの動作速度、単位時間当たりの温度変化量などに起因した制約条件を表している。
【０１０８】
実施の形態１と同様に、想定される全ての入力パターンのうち、簡易線形モデル１１に基づいて決定された制約条件を満たすものが精密モデル１０に入力される。そして、実施の形態２では、入力パターンＵ（ｉ）に応じた出力Ｙ（ｉ）を精密モデル１０から出力する際に、各構成要素が上記の動作環境制約条件の範囲内で動作しているか否かを確認する。そして、構成要素の内部変数が動作環境制約条件を逸脱している場合は、その構成要素への入力ｕを修正し、これをシステム全体の入力Ｕに反映する。
【０１０９】
例えば、構成要素１４の内部変数ｘ２（ｔ）が動作環境制約条件から逸脱している場合は、内部変数ｘ２（ｔ）が動作環境制約条件に収まるように構成要素１４への入力ｕ２が修正される。そして、入力ｕ２は、入力Ｕ２（ｔ）と入力Ｕj（ｔ）から決定されるため、入力Ｕ２（ｔ）と入力Ｕj（ｔ）が修正される。
【０１１０】
より具体的には、内部変数ｘ２（ｔ）が動作環境制約条件の範囲から外れている場合は、内部変数ｘ２（ｔ）が動作環境制約条件の上限値又は下限値となるように入力ｕ２が変更され、入力ｕ２は変更された値に固定される。そして、入力Ｕ２（ｔ）と入力Ｕj（ｔ）は、入力ｕ２に応じた値に固定される。一方、他の入力（Ｕ１（ｔ）など）については、通常通り入力の制約条件の範囲内で可変され、準備された入力Ｕを精密モデル１０へ入力する。
【０１１１】
このようにして、構成要素１２，１４の動作環境制約条件に応じて修正された入力Ｕで出力Ｙを計算し、評価することを繰り返すことで、最適な制御入出力のセットを求める。これにより、構成要素１２，１４の動作環境制約条件を満たした最適な入出力のセットを求めることができる。
【０１１２】
また、内部変数ｘ２（ｔ）が動作環境制約条件の範囲から外れている場合に、内部変数ｘ２（ｔ）を動作環境制約条件の上限値又は下限値に固定することなく、内部変数ｘ２（ｔ）が動作環境制約条件の範囲内に収まるように新たに入力Ｕ（ｉ）を設定してもよい。この場合、内部変数ｘ２（ｔ）を動作環境制約条件の上限値又は下限値に固定した場合に比べて演算処理量は大きくなるが、内部変数ｘ２（ｔ）の設定の自由度が高まるため、より最適な出力を求めることが可能となる。
【０１１３】
次に、図７のフローチャートに基づいて、実施の形態２のシステムにおける処理の手順について説明する。先ず、ステップＳ２０１では、制御対象となるプラントの精密モデル１０を作成する。次のステップＳ２０２では、各入力Ｕの制約条件を取り込む。次のステップＳ２０３では、各入力Ｕの刻み幅を決定する。
【０１１４】
次のステップＳ２０４では、制御対象となるプラントの簡易線形モデル１１を作成する。次のステップＳ２０５では、出力Ｙの目標値Ｙ（ｔ＋ｄ）に基づいて、簡易線形モデル１１から各入力（Ｕ１，Ｕ２，Ｕ３，・・・Ｕｋ）の最適値（Ｕ（最適値））をそれぞれ算出する。
【０１１５】
次のステップＳ２０６では、ステップＳ２０５で算出した最適値のそれぞれが精密モデル１０の制約条件の範囲内であるか否かを判定する。そして、最適値のうち、少なくとも１つが精密モデル１０の制約条件の範囲から外れている場合は、ステップＳ２０７へ進む。一方、全ての最適値が精密モデル１０の制約条件の範囲内の場合は、ステップＳ２０８へ進む。
【０１１６】
ステップＳ２０７では、精密モデル１０の制約条件の範囲から外れている入力を、精密モデル１０の制約条件の上限値又は下限値に固定する。例えば、図３に示すＵ２のように、簡易線形モデル１１から求めた最適値が精密モデル１０の制約条件の上限値を超えている場合は、最適値を上限値に固定する。一方、最適値が精密モデル１０の制約条件の下限値を下回っている場合は、最適値を下限値に固定する。ステップＳ２０７の後はステップＳ２０８へ進む。
【０１１７】
ステップＳ２０８では、ステップＳ２０５で算出した入力の最適値、およびステップＳ２０７で制約条件の上限値又は下限値に固定された最適値に基づいて、制約条件の絞込みを行う。この際、図３で説明したように、精密モデル１０の制約条件の範囲の１／２〜１／３程度の範囲となるように制約条件の範囲を設定する。
【０１１８】
次のステップＳ２０９では、ステップＳ２０８で絞り込まれた制約条件を満たす全ての入力Ｕの組み合わせ数Ｎを算出する。次のステップＳ２１０では、組み合わせによって得られた全ての入力パターンＵ（ｉ）（ｉ＝１〜Ｎ）を準備する。
【０１１９】
次のステップＳ２１１では、入力Ｕ（ｉ）の変数ｉを１に設定する（ｉ＝１）。次のステップＳ２１２では、入力Ｕ（ｉ）を精密モデル１０へ入力する。次のステップＳ２１３では、全ての構成要素１２，１４について、その内部変数が制約条件から外れているか否かを判定する。
【０１２０】
ステップＳ２１３において、構成要素１２，１４の内部変数が動作環境制約条件から外れている場合は、ステップＳ２１４へ進む。ここでは、内部変数が動作環境制約条件を外れている構成要素（ここでは構成要素ｘｍとする）を特定し、内部変数が制約条件の上限値又は下限値となるように構成要素ｘｍへの入力ｕｍを固定する。より詳細には、内部変数が動作環境制約条件の上限値を超えている場合は、内部変数が上限値となるように入力ｕｍの値を固定する。一方、内部変数が動作環境制約条件の下限値を下回っている場合は、内部変数が下限値となるように入力ｕｍの値を固定する。
【０１２１】
次のステップＳ２１５では、構成要素ｘｍへの入力ｕｍを固定するための入力Ｕ（ｉ）を作成する。ここでは、入力ｕｍを固定するために入力Ｕ（ｉ）の一部を固定し、入力Ｕ（ｉ）の残りを可変することで、入力Ｕ（ｉ）を作成する。ステップＳ２１５の後は、ステップＳ２１２へ戻る。
【０１２２】
一方、ステップＳ２１３で構成要素１２，１４の内部変数が動作環境制約条件から外れていない場合は、ステップＳ２１６へ進み、入力Ｕ（ｉ）について精密モデル１０から出力Ｙ（ｉ）を算出する。そして、次のステップＳ２１７では、評価関数Ｅを用いて出力Ｙ（ｉ）のそれぞれの制御性を示す評価値Ｅ（ｉ）を求め、出力Ｙ（ｉ）の制御性を評価する。
【０１２３】
次のステップＳ２１８では、ｉ＝Ｎであるか否かを判定し、ｉ≠Ｎの場合は、ステップＳ２１９へ進み、現在のｉの値に１を加算し、ｉ＝ｉ＋１としてステップＳ２１２へ戻る。一方、ステップＳ２１８でｉ＝Ｎの場合はステップＳ２２０へ進む。
【０１２４】
ステップＳ２２０では、各出力Ｙ（ｉ）の評価値Ｅ（ｉ）に基づいて、最適な入出力のセットを求める。ステップＳ２２０の後は処理を終了する(RETURN)。
【０１２５】
図７の処理によれば、簡易線形モデル１１の演算に基づいて制約条件を絞り込むため、精密モデル１０における演算の負荷を低減することが可能となり、処理速度を高めることが可能となる。また、構成要素ｘｍの内部変数が動作環境制約条件の範囲外の場合は、内部変数が動作環境制約条件の上限値又は下限値となるように構成要素ｘｍへの入力ｕｍを固定し、内部変数が動作環境制約条件の範囲に収まるまで、繰り返し入力Ｕ（ｉ）を修正することができる。これにより、精密モデル１０内の構成要素１２，１４の動作環境制約条件に応じて入力Ｕ（ｉ）を修正することができ、構成要素１２，１４の内部変数を考慮した上で最適な入出力のセットを算出することが可能となる。また、構成要素が動作環境制約条件を満たした場合にのみ精密モデル１０から出力Ｙ（ｉ）を算出するため、動作環境制約条件を満たしていない出力Ｙ（ｉ）が算出されてしまうことを回避でき、精密モデル１０による演算処理量を低減することができる。
【０１２６】
なお、図７の処理では、ステップＳ２２０の後に今回の評価と前回の評価を比較するステップを設け、今回の評価の方が前回の評価よりも良い場合は、動作環境制約条件がより厳しくなるように修正を行っても良い。これにより、図５の場合と同様の方法で、構成要素１２，１４に対応するアクチュエータ、部品を低性能化できるか否かを判定することができ、コストダウンの検討を行うことが可能となる。
【０１２７】
以上説明したように実施の形態２によれば、簡易線形モデル１１における演算結果に基づいて、精密モデル１０への入力の制約条件を絞り込むようにしたため、精密モデル１０における演算の負荷を低減することができる。また、精密モデル１０の構成要素１２，１４の内部変数に応じて入力を修正することができるため、構成要素１２，１４の内部変数を考慮した上で最適な入出力のセットを算出することが可能となる。従って、最適な入出力のセットを高い精度で算出することが可能となる。
【０１２８】
実施の形態３．
次に、本発明の実施の形態３について説明する。実施の形態１では、一般的なプラントの制御について説明したが、実施の形態３は、実施の形態１の制御を実際のエンジン（内燃機関）に適用したものである。
【０１２９】
図８は、実施の形態３のシステムを示す模式図である。図８に示すように、本実施形態のシステムは、制御対象としてのエンジンをモデル化した精密モデル２０と簡易線形モデル２１を備えている。精密モデル２０は、エンジンにおける機械的なガタ、制御遅れなどの非線形性を考慮して構成されたものである。精密モデル２０には、吸入空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）が入力される。そして、精密モデル２０からは、空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）が出力される。簡易線形モデル２１も吸入空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）の入力を受けて空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）を出力するものであり、簡易線形モデル１１は、入力の最適値に基づいて精密モデル２０への入力の制約条件を絞り込む機能を有している。
【０１３０】
図９は、精密モデルによって表現された実機の内燃機関システムの構成を示す模式図である。以下、図９に基づいて、内燃機関システムの構成を説明する。図９のシステムは、内燃機関１１０を備えている。内燃機関１１０には吸気通路１１２および排気通路１１４が連通している。吸気通路１１２は、上流側の端部にエアフィルタ１１６を備えている。エアフィルタ１１６には、吸気温ＴＨＡ（すなわち外気温）を検出する吸気温センサ１１８が組みつけられている。また、排気通路１１４には排気浄化触媒１３２が配置されている。
【０１３１】
エアフィルタ１１６の下流には、エアフロメータ１２０が配置されている。エアフロメータ１２０の下流には、スロットルバルブ１２２が設けられている。スロットルバルブ１２２の近傍には、スロットル開度ＴＡを検出するスロットルセンサ１２４と、スロットルバルブ１２２が全閉となることでオンとなるアイドルスイッチ１２６とが配置されている。
【０１３２】
スロットルバルブ１２２の下流には、サージタンク２８が設けられている。また、サージタンク１２８の更に下流には、内燃機関１０の吸気ポートに燃料を噴射するための燃料噴射弁１３０が配置されている。
【０１３３】
内燃機関１１０は、吸気バルブ１３６および排気バルブ１３８を備えている。吸気バルブ１３６には、吸気バルブ１３６のリフト量、及び／又は作用角を可変するための可変動弁機構（VVT; Variable Valve Timing）１４４が接続されている。また、燃焼室内に噴霧された燃料に点火するため、内燃機関１１０の筒内には点火プラグが設けられている。更に、筒内には、その内部を往復運動するピストン１３４が設けられている。また、内燃機関１０には、冷却水温を検出する水温センサ１４２が取り付けられている。
【０１３４】
ピストン３４には、その往復運動によって回転駆動されるクランク軸１３６が連結されている。車両駆動系と補機類（エアコンのコンプレッサ、オルタネータ、トルクコンバータ、パワーステアリングのポンプ等）は、このクランク軸１３６の回転トルクによって駆動される。クランク軸１３６の近傍には、クランク軸１３６の回転角を検出するためのクランク角センサ１３８が取り付けられている。
【０１３５】
図９に示すように、内燃機関システムはＥＣＵ１４０を備えている。ＥＣＵ１４０には、上述した各種センサに加え、ノッキングの発生を検知するKCSセンサや、車速、機関回転数、排気温度、潤滑油温度、触媒床温度などを検出するための各種センサ（不図示）が接続されている。また、ＥＣＵ１４０には、上述した燃料噴射弁１３０、可変動弁機構１４４などの各アクチュエータが接続されている。精密モデル２０および簡易線形モデル２１はＥＣＵ１４０によって構築され、精密モデル２０および簡易線形モデル２１による制御、演算はＥＣＵ１４０によって行われる。
【０１３６】
精密モデル２０は、ＥＣＵ１４０内でモデル化されている。ＥＣＵ１４０は、精密モデル２０に対して吸入空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）が入力されると、精密モデル２０から空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）を出力し、以下に示す方法によって最適な入出力のセットを算出する。
【０１３７】
図１０は、精密モデル２０の具体的な構成を示す模式図である。精密モデル２０内には、図９の内燃機関システムの各構成部品毎にモデルが構成されている。すなわち、精密モデル２０内には、エアフィルタ１１６のモデル２８、スロットルバルブ１２２のモデル２２、インテークマニホールドのモデル２３、内燃機関１１０のモデル２４、エキゾーストマニホールドのモデル２５、排気浄化触媒１３２のモデル２６などが構築されている。
【０１３８】
各モデル２２，２３，２４，２５，２６，２８は、空気、燃焼ガス等についての質量保存の法則と、エネルギー保存の法則を基本とする物理式によって表現されている。また、各構成部品毎のモデル間では、熱や圧力のやり取りについて平衡計算が行われる。このように、精密モデル２０は物理式を主体として実機の内燃機関システムを表現したものであり、実機のシステムの挙動を精密に再現することができる。
【０１３９】
精密モデル２０への入力としての空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）の制約条件は以下のように表される。
０≦Ｇａ（ｔ）≦ａ１
０≦Ｔａｕ（ｔ）≦ｂ１
ｃ１≦Ｓｔ（ｔ）≦ｃ２
【０１４０】
上記制約条件で示されるように、吸入空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）の値は、これらの特性値を制御するパラメータ（スロットルバルブの可動範囲、インジェクタの容量、ノッキングを考慮した点火時期の制御範囲など）に応じて、制約条件が課せられている。
【０１４１】
また、入力（アクチュエータ）の制御周期間での動作速度可能範囲は、以下のように表される。
ΔＧａ  ｍｉｎ≦Ｇａ（Δｔ）≦ΔＧａ  ｍａｘ
ΔＴａｕ  ｍｉｎ≦Ｔａｕ（Δｔ）≦ΔＴａｕ  ｍａｘ
ΔＳＴ  ｍｉｎ≦Ｓｔ（Δｔ）≦ΔＳＴ  ｍａｘ
【０１４２】
このように、吸入空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）のそれぞれの動作速度Ｇａ（Δｔ），Ｔａｕ（Δｔ），Ｓｔ（Δｔ）は、これらの特性値を制御するアクチュエータの制御周期間での動作速度に応じて、制約条件が課せられている。
【０１４３】
実施の形態１と同様に、これらの制約条件により入力Ｕが制約され、更に、簡易線形モデル１１によって絞り込まれた制約条件を満たす入力の組み合わせが精密モデル１０に入力される。
【０１４４】
これらの入力を受けて、精密モデル２０は、入力に応じた空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）を演算し、出力する。そして、これらの出力は、評価関数Ｅにより評価され、最適な入出力のセットが選ばれる。
【０１４５】
このように、実施の形態１の処理をエンジン制御に適用することで、吸入空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）を精密モデル２０に入力した場合に、空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）を算出することができる。
【０１４６】
この際、入力としての吸入空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）は、想定される全ての組み合わせが精密モデル２０へ入力されるため、全ての入力に対応した空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）を出力することができる。そして、最適な入出力のセットに基づいてエンジンを制御することで、エンジンを所望の運転状態で運転することができる。
【０１４７】
通常のエンジン制御では、燃料噴射量を制御することで空燃比、トルク、回転数などのパラメータを制御することが一般的であるが、本実施形態の手法によれば、吸入空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）の全ての組み合わせに基づいて出力を算出するため、燃料噴射量以外のパラメータを制御することによって最適な出力を得ることも可能となる。従って、運転状態に応じた柔軟な制御が可能となり、評価関数Ｅの評価に基づいて入出力のセットを最適にすることで、目標とする制御を確実に行うことが可能となる。
【０１４８】
例えば、評価関数Ｅにより空燃比が優先して評価される場合は、空燃比ＡＦ（ｔ）が良好な出力Ｙ（ｉ）が最適な出力として選ばれる。そして、この出力Ｙ（ｉ）に対応する入力Ｕ（ｉ）に基づいて実機の内燃機関システムを制御することで、空燃比を所望の値に制御することができ、排気のエミッションを良好にすることができる。
【０１４９】
また、評価関数Ｅによりトルクが優先して評価される場合は、トルクＴＱ（ｔ）が良好な出力Ｙ（ｉ）が最適な出力として選ばれる。そして、この出力Ｙ（ｉ）に対応する入力Ｕ（ｉ）に基づいて実機の内燃機関システムを制御することで、トルクを所望の値に制御することができ、ドライバビリティを良好にすることができる。
【０１５０】
次に、図１１のフローチャートに基づいて、実施の形態３のシステムにおける処理の手順について説明する。先ず、ステップＳ３０１では、エンジンの精密モデル２０を作成する。次のステップＳ３０２では、各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の制約条件を取り込む。次のステップＳ３０３では、各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の刻み幅を決定する。
【０１５１】
次のステップＳ３０４では、エンジンの簡易線形モデル２１を作成する。次のステップＳ３０５では、出力の目標値ＡＦ（ｔ＋ｄ），トルクＴＱ（ｔ＋ｄ），回転数ＮＥ（ｔ＋ｄ）に基づいて、簡易線形モデル１１から各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の最適値（Ｕ（最適値））をそれぞれ算出する。
【０１５２】
次のステップＳ３０６では、ステップＳ３０５で算出した各入力の最適値のそれぞれが、精密モデル２０の制約条件の範囲内であるか否かを判定する。そして、最適値のうち、少なくとも１つが精密モデル２０の制約条件の範囲から外れている場合は、ステップＳ３０７へ進む。一方、全ての最適値が精密モデル１０の制約条件の範囲内の場合は、ステップＳ３０８へ進む。
【０１５３】
ステップＳ３０７では、精密モデル２０の制約条件の範囲から外れている入力を、精密モデル２０の制約条件の上限値又は下限値に固定する。例えば、簡易線形モデル２１から求めた最適値が精密モデル２０の制約条件の上限値を超えている場合は、最適値を上限値に固定する。一方、最適値が精密モデル２０の制約条件の下限値を下回っている場合は、最適値を下限値に固定する。ステップＳ３０７の後はステップＳ３０８へ進む。
【０１５４】
ステップＳ３０８では、ステップＳ３０５で算出した入力の最適値、およびステップＳ３０７で制約条件の上限値又は下限値に固定された最適値に基づいて、制約条件の絞込みを行う。この際、図３で説明したように、精密モデル１０の制約条件の範囲の１／２〜１／３程度の範囲となるように制約条件の範囲を設定する。
【０１５５】
次のステップＳ３０９では、ステップＳ３０８で絞り込まれた制約条件を満たす全ての入力Ｕの組み合わせ数（各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の組み合わせ数）Ｎを算出する。次のステップＳ３１０では、組み合わせによって得られた全ての入力パターンＵ（ｉ）（ｉ＝１〜Ｎ）を準備する。ここで準備される入力Ｕ（ｉ）は、制約条件を満たすＧａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の全ての組み合わせである。
【０１５６】
次のステップＳ３１１では、入力Ｕ（ｉ）の変数ｉを１に設定する。次のステップＳ３１２では、入力Ｕ（ｉ）について、精密モデル２０から出力Ｙ（ｉ）を算出する。ここで、出力されたＹ（ｉ）は、入力Ｕ（ｉ）に対応して出力された、空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）の組み合わせである。
【０１５７】
次のステップＳ３１３では、評価関数Ｅを用いて出力Ｙ（ｉ）の制御性を示す評価値Ｅ（ｉ）を求め、出力Ｙ（ｉ）の制御性を評価する。
【０１５８】
次のステップＳ３１４では、ｉ＝Ｎであるか否かを判定し、ｉ≠Ｎの場合は、ステップＳ３１５へ進み、現在のｉの値に１を加算し、ｉ＝ｉ＋１としてステップＳ３１２へ戻る。一方、ステップＳ３１４でｉ＝Ｎの場合はステップＳ３１６へ進む。
【０１５９】
ステップＳ３１６では、各出力Ｙ（ｉ）の評価値Ｅ（ｉ）に基づいて、最も評価の高い入力と出力のセット（組み合わせ）を求める。ステップＳ３１６の後は処理を終了する(RETURN)。
【０１６０】
図１１の処理において、各出力Ｙ（ｉ）を評価した後、前回の評価結果に基づいて制約条件を変更するようにしても良い。図１２のフローチャートは、評価結果に基づいて制約条件を変更する処理を示している。
【０１６１】
先ず、ステップＳ３２１では、エンジンの精密モデル２０を作成する。次のステップＳ３２２では、各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の制約条件を取り込む。次のステップＳ３２３では、各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の刻み幅を決定する。
【０１６２】
次のステップＳ３２４では、エンジンの簡易線形モデル２１を作成する。次のステップＳ３２５では、出力の目標値ＡＦ（ｔ＋ｄ），トルクＴＱ（ｔ＋ｄ），回転数ＮＥ（ｔ＋ｄ）に基づいて、簡易線形モデル１１から各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の最適値（Ｕ（最適値））をそれぞれ算出する。
【０１６３】
次のステップＳ３２６では、ステップＳ３２５で算出した各入力の最適値のそれぞれが、精密モデル２０の制約条件の範囲内であるか否かを判定する。そして、最適値のうち、少なくとも１つが精密モデル２０の制約条件の範囲から外れている場合は、ステップＳ３２７へ進む。一方、全ての最適値が精密モデル１０の制約条件の範囲内の場合は、ステップＳ３２８へ進む。
【０１６４】
ステップＳ３２７では、精密モデル２０の制約条件の範囲から外れている入力を、精密モデル２０の制約条件の上限値又は下限値に固定する。例えば、簡易線形モデル２１から求めた最適値が精密モデル２０の制約条件の上限値を超えている場合は、最適値を上限値に固定する。一方、最適値が精密モデル２０の制約条件の下限値を下回っている場合は、最適値を下限値に固定する。ステップＳ３２７の後はステップＳ３２８へ進む。
【０１６５】
ステップＳ３２８では、ステップＳ３２５で算出した入力の最適値、およびステップＳ３２７で制約条件の上限値又は下限値に固定された最適値に基づいて、制約条件の絞込みを行う。この際、図３で説明したように、精密モデル１０の制約条件の範囲の１／２〜１／３程度の範囲となるように制約条件の範囲を設定する。
【０１６６】
次のステップＳ３２９では、ステップＳ３２８で絞り込まれた制約条件を満たす全ての入力Ｕの組み合わせ数（各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の組み合わせ数）Ｎを算出する。次のステップＳ３３０では、組み合わせによって得られた全ての入力パターンＵ（ｉ）（ｉ＝１〜Ｎ）を準備する。ここで準備される入力Ｕ（ｉ）は、制約条件を満たすＧａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の全ての組み合わせである。
【０１６７】
次のステップＳ３３１では、入力Ｕ（ｉ）の変数ｉを１に設定する。次のステップＳ３３２では、入力Ｕ（ｉ）について、精密モデル２０から出力Ｙ（ｉ）を算出する。ここで、出力されたＹ（ｉ）は、入力Ｕ（ｉ）に対応して出力された、空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）の組み合わせである。
【０１６８】
次のステップＳ３３３では、評価関数Ｅを用いて出力Ｙ（ｉ）の制御性を示す評価値Ｅ（ｉ）を求め、出力Ｙ（ｉ）の制御性を評価する。
【０１６９】
次のステップＳ３３４では、ｉ＝Ｎであるか否かを判定し、ｉ≠Ｎの場合は、ステップＳ３３５へ進み、現在のｉの値に１を加算し、ｉ＝ｉ＋１としてステップＳ３３２へ戻る。一方、ステップＳ３３４でｉ＝Ｎの場合はステップＳ３３６へ進む。
【０１７０】
ステップＳ３３６では、各出力Ｙ（ｉ）の評価値Ｅ（ｉ）に基づいて、最も評価の高い入力と出力のセット（組み合わせ）を求める。
【０１７１】
次のステップＳ３３７では、ステップＳ３３６で求めた最適な入出力のセットが前回の評価結果よりも良いか否かを判定する。そして、今回の評価結果が前回の評価結果よりも良い場合は、ステップＳ３３８へ進む。
【０１７２】
ステップＳ３３８では、入力Ｕについての制約条件が厳しくなるように制約条件を変更する。ステップＳ３３８の後はステップＳ３２２へ戻る。
【０１７３】
一方、ステップＳ３３７において、今回の評価結果が前回の評価結果と同等又は前回の評価結果よりも悪い場合は、処理を終了する(RETURN)。
【０１７４】
図１２の処理によれば、今回の処理における評価結果が前回の処理における評価結果よりも良い場合は、入力Ｕの制約条件を変更するようにしたため、制約条件を厳しくした場合に制御が成立するか否かを判定することが可能となる。従って、吸入空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）を制御するアクチュエータ等の作動能力によって制約条件が規定されている場合は、アクチュエータを小型化、小容量化、低性能化した場合に制御が成立するか否かを判定することが可能となり、コストダウンの検討を行うことが可能となる。
【０１７５】
例えば、電子スロットルを備えた内燃機関システムにおいて、電子スロットルの径がより小さくなるように制約条件を厳しくした場合に、入出力の評価が以前の評価よりも良好である場合は、電子スロットルの径を縮小することができ、製造コストの低減、装置の小型化を達成できる。同様に、インジェクタのサイズがより小さくなるように制約条件を厳しくした場合に、以前の評価よりも良好な評価が得られた場合は、インジェクタのサイズを縮小することが可能となり、製造コストの低減、装置の小型化を達成できる。このように、図１２の処理によれば、アクチュエータの性能を低下させてコストダウン、小型化等を図った場合に、制御が成立するか否かを検討することが可能となる。
【０１７６】
以上説明したように実施の形態３によれば、エンジンの制御において、精密モデル２０により非線形性を加味した制御が可能となる。また、簡易線形モデル２１における演算結果に基づいて、精密モデル２０への入力の制約条件を絞り込むようにしたため、精密モデル２０における演算の負荷を低減することができる。そして、想定される全ての入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の組み合わせの中から、制約条件を考慮した上で出力ＡＦ（ｔ）、ＴＱ（ｔ）、ＮＥ（ｔ）を算出するようにしたため、最適な入力Ｕ（ｉ）と出力Ｙ（ｉ）の組み合わせを算出することが可能となる。従って、演算処理量を抑えるとともに、正確なエンジン制御を実現することが可能となる。
【０１７７】
実施の形態４．
次に、本発明の実施の形態４について説明する。実施の形態４は、実施の形態１の制御をアイドリング回転数の制御に適用したものである。
【０１７８】
図１３は、実施の形態４のシステムを示す模式図である。図１３に示すように、本実施形態のシステムは、制御対象としてのエンジンをモデル化した精密モデル２０と簡易線形モデル２１を備えている。精密モデル２０には、スロットル開度Ｔａ（ｔ）、点火時期Ｓｔ（ｔ）が入力される。そして、精密モデル２０からは、回転数ＮＥ（ｔ）、冷却水温Ｔｗ（ｔ）が出力される。
【０１７９】
一方、簡易線形モデル２１もスロットル開度Ｔａ（ｔ）、点火時期Ｓｔ（ｔ）の入力を受けて回転数ＮＥ（ｔ）、冷却水温Ｔｗ（ｔ）を出力する。簡易線形モデル２１は、エンジンを簡易的に線形近似したモデルであって、入力の最適値に基づいて精密モデル２０への入力の制約条件を絞り込む機能を有している。
【０１８０】
入力としてのスロットル開度Ｔａ（ｔ）、点火時期Ｓｔ（ｔ）の制約条件は以下のように表される。
０≦Ｔａ（ｔ）≦ｂ１
ｃ１≦Ｓｔ（ｔ）≦ｃ２
【０１８１】
上記制約条件で示されるように、スロットル開度Ｔａ（ｔ）、点火時期Ｓｔ（ｔ）の値は、これらの特性値を制御するパラメータ（スロットルバルブの可動範囲、ノッキングを考慮した点火時期の制御範囲など）に応じて、制約条件が課せられている。
【０１８２】
また、入力（アクチュエータ）の制御周期間での動作速度可能範囲は、以下のように表される。
ΔＴａ  ｍｉｎ≦Ｔａ（Δｔ）≦ΔＴａ  ｍａｘ
ΔＳＴ  ｍｉｎ≦ＳＴ（Δｔ）≦ΔＳＴ  ｍａｘ
【０１８３】
このように、スロットル開度Ｔａ（ｔ）、点火時期Ｓｔ（ｔ）のそれぞれの動作速度Ｔａ（Δｔ），Ｓｔ（Δｔ）は、これらの特性値を制御するアクチュエータの制御周期間での動作速度に応じて、制約条件が課せられている。
【０１８４】
実施の形態１と同様に、これらの制約条件により入力Ｕが制約され、更に、簡易線形モデル２１によって絞り込まれた制約条件を満たす入力の組み合わせが精密モデル２０に入力される。
【０１８５】
これらの入力を受けて、精密モデル２０は、入力に応じた回転数ＮＥ（ｔ）、冷却水温Ｔｗ（ｔ）を演算し、出力する。そして、これらの出力は、評価関数Ｅにより評価され、最適な入出力のセットが選ばれる。アイドリング回転数の制御においては、回転数ＮＥ（ｔ）が所望のアイドリング回転数となり、且つ冷却水温Ｔｗ（ｔ）が所定温度以下となるように入出力のセットが選ばれ、アイドリング回転数が制御される。
【０１８６】
次に、図１４のフローチャートに基づいて、実施の形態４のシステムにおける処理の手順について説明する。先ず、ステップＳ４０１では、エンジンの精密モデル２０を作成する。次のステップＳ４０２では、各入力Ｔａ（ｔ）、Ｓｔ（ｔ）の制約条件を取り込む。次のステップＳ４０３では、各入力Ｔａ（ｔ）、Ｓｔ（ｔ）の刻み幅を決定する。
【０１８７】
次のステップＳ４０４では、エンジンの簡易線形モデル２１を作成する。次のステップＳ４０５では、出力の目標値ＮＥ（ｔ＋ｄ）、冷却水温Ｔｗ（ｔ＋ｄ）に基づいて、簡易線形モデル２１から各入力Ｔａ（ｔ）、Ｓｔ（ｔ）の最適値（Ｕ（最適値））をそれぞれ算出する。
【０１８８】
次のステップＳ４０６では、ステップＳ４０５で算出した各入力の最適値のそれぞれが、精密モデル２０の制約条件の範囲内であるか否かを判定する。そして、最適値のうち、少なくとも１つが精密モデル２０の制約条件の範囲から外れている場合は、ステップＳ４０７へ進む。一方、全ての最適値が精密モデル２０の制約条件の範囲内の場合は、ステップＳ４０８へ進む。
【０１８９】
ステップＳ４０７では、精密モデル２０の制約条件の範囲から外れている入力を、精密モデル２０の制約条件の上限値又は下限値に固定する。例えば、簡易線形モデル２１から求めた最適値が精密モデル２０の制約条件の上限値を超えている場合は、最適値を上限値に固定する。一方、最適値が精密モデル２０の制約条件の下限値を下回っている場合は、最適値を下限値に固定する。ステップＳ４０７の後はステップＳ４０８へ進む。
【０１９０】
ステップＳ４０８では、ステップＳ４０５で算出した入力の最適値、およびステップＳ４０７で制約条件の上限値又は下限値に固定された最適値に基づいて、制約条件の絞り込みを行う。この際、図３で説明したように、精密モデル１０の制約条件の範囲の１／２〜１／３程度の範囲となるように制約条件の範囲を設定する。
【０１９１】
次のステップＳ４０９では、ステップＳ４０８で絞り込まれた制約条件を満たす全ての入力Ｕの組み合わせ数（各入力Ｔａ（ｔ）、Ｓｔ（ｔ）の組み合わせ数）Ｎを算出する。次のステップＳ４１０では、組み合わせによって得られた全ての入力パターンＵ（ｉ）（ｉ＝１〜Ｎ）を準備する。ここで準備される入力Ｕ（ｉ）は、制約条件を満たすＴａ（ｔ）、Ｓｔ（ｔ）の全ての組み合わせである。
【０１９２】
次のステップＳ４１１では、入力Ｕ（ｉ）の変数ｉを１に設定する。次のステップＳ３１２では、入力Ｕ（ｉ）について、精密モデル２０から出力Ｙ（ｉ）を算出する。ここで、出力されたＹ（ｉ）は、入力Ｕ（ｉ）に対応して出力された、空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）の組み合わせである。
【０１９３】
次のステップＳ４１３では、評価関数Ｅを用いて出力Ｙ（ｉ）の制御性を示す評価値Ｅ（ｉ）を求め、出力Ｙ（ｉ）の制御性を評価する。
【０１９４】
次のステップＳ４１４では、ｉ＝Ｎであるか否かを判定し、ｉ≠Ｎの場合は、ステップＳ４１５へ進み、現在のｉの値に１を加算し、ｉ＝ｉ＋１としてステップＳ４１２へ戻る。一方、ステップＳ４１４でｉ＝Ｎの場合はステップＳ４１６へ進む。
【０１９５】
ステップＳ４１６では、各出力Ｙ（ｉ）の評価値Ｅ（ｉ）に基づいて、最も評価の高い入力と出力のセット（組み合わせ）を求める。ステップＳ４１６の後は処理を終了する(RETURN)。
【０１９６】
図１４の処理においても、図１２の処理と同様に、今回の評価と前回の評価を比較するステップを設け、今回の評価の方が前回の評価よりも良い場合は、制約条件がより厳しくなるように修正を行っても良い。これにより、アクチュエータを低性能化できるか否かを判定することができ、コストダウンの検討を行うことが可能となる。
【０１９７】
以上説明したように実施の形態４によれば、アイドリングの制御において、精密モデル２０により非線形性を加味した制御が可能となる。また、簡易線形モデル２１における演算結果に基づいて、精密モデル２０への入力の制約条件を絞り込むようにしたため、精密モデル２０における演算の負荷を低減することができる。そして、想定される全ての入力Ｔａ（ｔ），Ｓｔ（ｔ）の組み合わせの中から、制約条件を考慮した上で出力ＮＥ（ｔ），Ｔｗ（ｔ）を算出するようにしたため、最適な入力Ｕ（ｉ）と出力Ｙ（ｉ）の組み合わせを算出することが可能となる。従って、演算処理量を抑えるとともに、正確なアイドリング制御を実現することが可能となる。
【０１９８】
実施の形態５．
次に、本発明の実施の形態５について説明する。実施の形態５は、実施の形態１の制御をエンジンとモータを備えたハイブリッドシステムに適用したものである。
【０１９９】
図１５は、実施の形態５のシステムを示す模式図である。図１５に示すように、本実施形態のシステムは、制御対象としてのハイブリッドシステムをモデル化した精密モデル３０と簡易線形モデル３１を備えている。精密モデル３０は、その内部にエンジン３２、モータ３４、トランスミッション（Ｔ／Ｍ）３６の各モデルを備えている。精密モデル３０は、エンジン３２、モータ３４、トランスミッション３６における機械的なガタ、制御遅れなどの非線形性を考慮して構成されたものである。
【０２００】
精密モデル３０には、空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）、電流Ｉｂ（ｔ）が入力される。図１５に示すように、Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）はエンジン３２に入力される。また、Ｉｂ（ｔ）はモータ３４へ入力される。
【０２０１】
入力としての空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）、電流Ｉｂ（ｔ）の制約条件は、以下のように表される。
０≦Ｇａ（ｔ）≦ａ１
０≦Ｔａｕ（ｔ）≦ｂ１
ｃ１≦Ｓｔ（ｔ）≦ｃ２
ｄ１≦Ｉｂ（ｔ）≦ｄ２
【０２０２】
上記制約条件で示されるように、吸入空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）の値は、これらの特性値を制御するパラメータ（スロットルバルブの可動範囲、インジェクタの容量、ノッキングを考慮した点火時期の制御範囲など）などに応じて、制約条件が課せられている。また、電流Ｉｂ（ｔ）は、バッテリー等の特性に応じて制約条件が課せられている。
【０２０３】
また、入力（アクチュエータ）の制御周期間での動作速度可能範囲は、以下のように表される。
ΔＧａ  ｍｉｎ≦Ｇａ（Δｔ）≦ΔＧａ  ｍａｘ
ΔＴａｕ  ｍｉｎ≦Ｔａｕ（Δｔ）≦ΔＴａｕ  ｍａｘ
ΔＳＴ  ｍｉｎ≦Ｓｔ（Δｔ）≦ΔＳＴ  ｍａｘ
ΔＩｂ  ｍｉｎ≦Ｉｂ（Δｔ）≦ΔＩｂ  ｍａｘ
【０２０４】
このように、吸入空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）、電流Ｉｂ（ｔ）のそれぞれの動作速度Ｇａ（Δｔ），Ｔａｕ（Δｔ），Ｓｔ（Δｔ），Ｉｂ（Δｔ）は、これらの特性値を制御するアクチュエータ、バッテリーの制御周期間での動作速度に応じて、制約条件が課せられている。
【０２０５】
実施の形態１と同様に、これらの制約条件により入力Ｕが制約され、更に、簡易線形モデル３１によって絞り込まれた制約条件を満たす入力の組み合わせが精密モデル３０に入力される。
【０２０６】
図１５に示すように、エンジン３２は、Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の入力を受けて、空燃比ＡＦ（ｔ）、エンジントルクＴＱｅ（ｔ）およびエンジン回転数ＮＥｅ（ｔ）を出力する。これらの出力のうち、ＴＱｅ（ｔ）およびＮＥｅ（ｔ）はトランスミッション３６へ入力される。
【０２０７】
また、モータ３４は、電流Ｉｂ（ｔ）の入力を受けて、モータトルクＴＱｍ（ｔ）およびモータ回転数ＮＥｍ（ｔ）を出力する。これらの出力は、トランスミッション３６へ入力される。
【０２０８】
トランスミッション３６は、ＴＱｅ（ｔ），ＮＥｅ（ｔ），ＴＱｍ（ｔ），ＮＥｍ（ｔ）の入力を受けて、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）を出力する。そして、エンジン３２から出力された空燃比ＡＦ（ｔ）、トランスミッション３６から出力されたトルクＴＱ（ｔ）、回転数ＮＥ（ｔ）が、精密モデル３０からの出力となる。これらの出力は評価関数Ｅにより評価され、最適な入出力のセットが算出される。従って、最適な入出力のセットに基づいて制御を行うことで、ハイブリッドシステムを所望の運転状態で制御することが可能となる。
【０２０９】
一方、簡易線形モデル３１も空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）、電流Ｉｂ（ｔ）の入力を受けて、空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）を出力する。簡易線形モデル３１は、ハイブリッドシステムを簡易的に線形近似したモデルであって、入力の最適値に基づいて精密モデル３０への入力の制約条件を絞り込む機能を有している。
【０２１０】
次に、図１６のフローチャートに基づいて、実施の形態５のシステムにおける処理の手順について説明する。先ず、ステップＳ５０１では、ハイブリッドシステムの精密モデル３０を作成する。次のステップＳ５０２では、各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ），Ｉｂ（ｔ）の制約条件を取り込む。次のステップＳ５０３では、各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ），Ｉｂ（ｔ）の刻み幅を決定する。
【０２１１】
次のステップＳ５０４では、エンジンの簡易線形モデル３１を作成する。次のステップＳ５０５では、出力の目標値ＡＦ（ｔ＋ｄ），ＴＱ（ｔ＋ｄ），ＮＥ（ｔ＋ｄ）に基づいて、簡易線形モデル３１から各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ），Ｉｂ（ｔ）の最適値（Ｕ（最適値））をそれぞれ算出する。
【０２１２】
次のステップＳ５０６では、ステップＳ５０５で算出した各入力の最適値のそれぞれが、精密モデル３０の制約条件の範囲内であるか否かを判定する。そして、最適値のうち、少なくとも１つが精密モデル３０の制約条件の範囲から外れている場合は、ステップＳ５０７へ進む。一方、全ての最適値が精密モデル３０の制約条件の範囲内の場合は、ステップＳ５０８へ進む。
【０２１３】
ステップＳ５０７では、精密モデル３０の制約条件の範囲から外れている入力を、精密モデル３０の制約条件の上限値又は下限値に固定する。例えば、簡易線形モデル３１から求めた最適値が精密モデル３０の制約条件の上限値を超えている場合は、最適値を上限値に固定する。一方、最適値が精密モデル３０の制約条件の下限値を下回っている場合は、最適値を下限値に固定する。ステップＳ５０７の後はステップＳ５０８へ進む。
【０２１４】
ステップＳ５０８では、ステップＳ５０５で算出した入力の最適値、およびステップＳ５０７で制約条件の上限値又は下限値に固定された最適値に基づいて、制約条件を設定する。この際、図３で説明したように、精密モデル３０の制約条件の範囲の１／２〜１／３程度の範囲となるように制約条件の範囲を設定する。
【０２１５】
次のステップＳ５０９では、ステップＳ５０８で絞り込まれた制約条件を満たす全ての入力Ｕの組み合わせ数（各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ），Ｉｂ（ｔ）の組み合わせ数）Ｎを算出する。次のステップＳ５１０では、組み合わせによって得られた全ての入力パターンＵ（ｉ）（ｉ＝１〜Ｎ）を準備する。ここで準備される入力Ｕ（ｉ）は、制約条件を満たすＧａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ），Ｉｂ（ｔ）の全ての組み合わせである。
【０２１６】
次のステップＳ５１１では、入力Ｕ（ｉ）の変数ｉを１に設定する。次のステップＳ５１２では、入力Ｕ（ｉ）について、精密モデル３０から出力Ｙ（ｉ）を算出する。ここで、出力されたＹ（ｉ）は、入力Ｕ（ｉ）に対応して出力された、空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）の組み合わせである。
【０２１７】
次のステップＳ５１３では、評価関数Ｅを用いて出力Ｙ（ｉ）の制御性を示す評価値Ｅ（ｉ）を求め、出力Ｙ（ｉ）の制御性を評価する。
【０２１８】
次のステップＳ５１４では、ｉ＝Ｎであるか否かを判定し、ｉ≠Ｎの場合は、ステップＳ５１５へ進み、現在のｉの値に１を加算し、ｉ＝ｉ＋１としてステップＳ５１２へ戻る。一方、ステップＳ５１４でｉ＝Ｎの場合はステップＳ５１６へ進む。
【０２１９】
ステップＳ５１６では、各出力Ｙ（ｉ）の評価値Ｅ（ｉ）に基づいて、最も評価の高い入力と出力のセット（組み合わせ）を求める。ステップＳ５１６の後は処理を終了する(RETURN)。
【０２２０】
図１６の処理においても、図１２の処理と同様に、今回の評価と前回の評価を比較するステップを設け、今回の評価の方が前回の評価よりも良い場合は、制約条件がより厳しくなるように修正を行っても良い。
【０２２１】
例えば、モータ３４へ電力を供給するバッテリーのサイズがより小さくなるように制約条件を厳しくした場合に、以前の評価よりも良好な評価が得られた場合は、バッテリーのサイズを縮小することが可能となり、製造コストの低減、装置の小型化を達成できる。従って、コストダウン、小型化等を図った場合に、制御が成立するか否かを検討することが可能となる。
【０２２２】
以上説明したように実施の形態５によれば、エンジン３２、モータ３４、トランスミッション３６を備えたハイブリッドシステムにおいて、精密モデル３０により非線形性を加味した制御が可能となる。また、簡易線形モデル３１における演算結果に基づいて、精密モデル３０への入力の制約条件を絞り込むようにしたため、精密モデル３０における演算の負荷を低減することができる。そして、想定される全ての入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ），Ｉｂ（ｔ）の組み合わせの中から、制約条件を考慮した上で出力ＡＦ（ｔ），ＴＱ（ｔ），ＮＥ（ｔ）を算出するようにしたため、最適な入力Ｕ（ｉ）と出力Ｙ（ｉ）の組み合わせを算出することが可能となる。従って、演算処理量を抑えるとともに、ハイブリッドシステムを正確に制御することが可能となる。
【０２２３】
実施の形態６．
次に、本発明の実施の形態６について説明する。実施の形態６は、実施の形態１の制御を２つのモータと２つのクラッチを備えたハイブリッドシステムに適用したものである。
【０２２４】
図１７は、実施の形態６のシステムを示す模式図である。図１７に示すように、本実施形態のシステムは、制御対象としてのハイブリッドシステムをモデル化した精密モデル４０と簡易線形モデル４１を備えている。精密モデル４０は、第１のモータ４２、第２のモータ４４、第１のクラッチ４６、第２のクラッチ４８、結合器４９を備えている。精密モデル４０は、各モータ４２，４４、クラッチ４６，４８、結合器４９における機械的なガタ、クラッチの滑り、制御遅れなどの非線形性を考慮して構成されたものである。特に、実際のクラッチは滑りを伴いながら動力を伝達するため、強い非線形性を有している。従って、クラッチを含むシステムにおいて、非線形性を考慮して精密モデル４０を構築することで、実機と同様の制御性を再現することができる。
【０２２５】
精密モデル４０には、４つの電流Ｉｃ１（ｔ）、電流Ｉｃ２（ｔ）、電流Ｉｍ１（ｔ）、電流Ｉｍ２（ｔ）が入力される。これらの入力のうち、電流Ｉｃ１（ｔ）は第１のクラッチ４６に入力され、電流Ｉｃ２（ｔ）は第２のクラッチ４８に入力される。これにより、クラッチ４６，４８が電磁駆動される。また、電流Ｉｍ１（ｔ）は第１のモータ４２に入力され、電流Ｉｍ２（ｔ）は第２のモータ４４に入力される。
【０２２６】
入力としての電流Ｉｃ１（ｔ）、電流Ｉｃ２（ｔ）、電流Ｉｍ１（ｔ）、電流Ｉｍ２（ｔ）の制約条件は、以下のように表される。
０≦Ｉｃ１（ｔ）≦ａ１
ｂ１≦Ｉｍ１（ｔ）≦ｂ２
ｃ１≦Ｉｍ２（ｔ）≦ｃ２
０≦Ｉｃ２（ｔ）≦ｄ２
Ｅ１≦Σ｛Ｉ（ｔ）｝≦Ｅ２
なお、ΣＩ＝Ｉｃ１＋Ｉｍ１＋Ｉｍ２＋Ｉｃ２
である。
【０２２７】
上記制約条件で示されるように、電流Ｉｃ１（ｔ）、電流Ｉｃ２（ｔ）、電流Ｉｍ１（ｔ）、電流Ｉｍ２（ｔ）の値は、これらの特性値を制御するバッテリー等の特性に応じて制約条件が課せられている。
【０２２８】
また、入力（アクチュエータ）の制御周期間での動作速度可能範囲は、以下のように表される。
ΔＩｃ１  ｍｉｎ≦Ｉｃ１（Δｔ）≦ΔＩｃ１  ｍａｘ
ΔＩｍ１  ｍｉｎ≦Ｉｍ１（Δｔ）≦ΔＩｍ１  ｍａｘ
ΔＩｍ２  ｍｉｎ≦Ｉｍ２（Δｔ）≦ΔＩｍ２  ｍａｘ
ΔＩｃ２  ｍｉｎ≦Ｉｃ２（Δｔ）≦ΔＩｃ２  ｍａｘ
ΔΣ｛Ｉ  ｍｉｎ｝≦Σ｛Ｉ（Δｔ）｝≦ΔΣ｛Ｉ  ｍａｘ｝
【０２２９】
このように、電流Ｉｃ１（ｔ）、電流Ｉｃ２（ｔ）、電流Ｉｍ１（ｔ）、電流Ｉｍ２（ｔ）のそれぞれの動作速度Ｉｃ１（Δｔ），Ｉｍ１（Δｔ），Ｉｍ２（Δｔ），Ｉｃ２（Δｔ）は、これらの特性値を制御するバッテリー等の制御周期間での動作速度に応じて、制約条件が課せられている。
【０２３０】
実施の形態１と同様に、これらの制約条件により入力Ｕが制約され、更に、簡易線形モデル４１によって絞り込まれた制約条件を満たす入力の組み合わせが精密モデル４０に入力される。
【０２３１】
図１７に示すように、第１のモータ４２は、電流Ｉｍ１（ｔ）の入力を受けてモータトルクＴｍ１（ｔ）、回転数Ｎｍ１（ｔ）を出力する。これらの出力は第１のクラッチ４６へ入力される。また、第２のモータ４４は、電流Ｉｍ２（ｔ）の入力を受けてモータトルクＴｍ２（ｔ）、回転数Ｎｍ２（ｔ）を出力する。これらの出力は第２のクラッチ４８へ入力される。結合器４９は、第１のクラッチ４６および第２のクラッチ４８からの出力を受けて、トルクＴＱ（ｔ）および回転数ＮＥ（ｔ）を出力する。トルクＴＱ（ｔ）および回転数ＮＥ（ｔ）は、精密モデル４０からの出力となる。トルクＴＱ（ｔ）および回転数ＮＥ（ｔ）は評価関数Ｅにより評価され、最適な入出力のセットが算出される。従って、最適な入出力のセットに基づいて制御を行うことで、ハイブリッドシステムを所望の運転状態で制御することが可能となる。
【０２３２】
一方、簡易線形モデル４１も電流Ｉｃ１（ｔ）、電流Ｉｃ２（ｔ）、電流Ｉｍ１（ｔ）、電流Ｉｍ２の入力を受けて、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）を出力する。簡易線形モデル４１は、ハイブリッドシステムを簡易的に線形近似したモデルであって、入力の最適値に基づいて精密モデル４０への入力の制約条件を絞り込む機能を有している。
【０２３３】
次に、図１８のフローチャートに基づいて、実施の形態６のシステムにおける処理の手順について説明する。先ず、ステップＳ６０１では、ハイブリッドシステムの精密モデル４０を作成する。次のステップＳ６０２では、各入力Ｉｃ１（ｔ），Ｉｃ２（ｔ），Ｉｍ１（ｔ），Ｉｍ２（ｔ）の制約条件を取り込む。次のステップＳ６０３では、各入力Ｉｃ１（ｔ），Ｉｃ２（ｔ），Ｉｍ１（ｔ），Ｉｍ２（ｔ）の刻み幅を決定する。
【０２３４】
次のステップＳ６０４では、エンジンの簡易線形モデル４１を作成する。次のステップＳ６０５では、出力の目標値ＴＱ（ｔ＋ｄ），ＮＥ（ｔ＋ｄ）に基づいて、簡易線形モデル４１から各入力Ｉｃ１（ｔ），Ｉｃ２（ｔ），Ｉｍ１（ｔ），Ｉｍ２（ｔ）の最適値をそれぞれ算出する。
【０２３５】
次のステップＳ６０６では、ステップＳ６０５で算出した各入力の最適値のそれぞれが、精密モデル４０の制約条件の範囲内であるか否かを判定する。そして、最適値のうち、少なくとも１つが精密モデル４０の制約条件の範囲から外れている場合は、ステップＳ６０７へ進む。一方、全ての最適値が精密モデル４０の制約条件の範囲内の場合は、ステップＳ６０８へ進む。
【０２３６】
ステップＳ６０７では、精密モデル４０の制約条件の範囲から外れている入力を、精密モデル４０の制約条件の上限値又は下限値に固定する。例えば、簡易線形モデル４１から求めた入力が精密モデル４０の制約条件の上限値を超えている場合は、簡易線形モデル４１から求めた入力を上限値に固定する。一方、簡易線形モデル４１から求めた入力が精密モデル４０の制約条件の下限値を下回っている場合は、簡易線形モデル４１から求めた入力を下限値に固定する。ステップＳ６０７の後はステップＳ６０８へ進む。
【０２３７】
ステップＳ６０８では、ステップＳ６０５で算出した入力の最適値、およびステップＳ６０７で制約条件の上限値又は下限値に固定された入力に基づいて、制約条件を設定する。この際、図３で説明したように、精密モデル４０の制約条件の範囲の１／２〜１／３程度の範囲となるように制約条件の範囲を設定する。
【０２３８】
次のステップＳ６０９では、ステップＳ６０８で絞り込まれた制約条件を満たす全ての入力Ｕの組み合わせ数（各入力Ｉｃ１（ｔ），Ｉｃ２（ｔ），Ｉｍ１（ｔ），Ｉｍ２（ｔ）の組み合わせ数）Ｎを算出する。次のステップＳ６１０では、組み合わせによって得られた全ての入力パターンＵ（ｉ）（ｉ＝１〜Ｎ）を準備する。ここで準備される入力Ｕ（ｉ）は、制約条件を満たすＩｃ１（ｔ），Ｉｃ２（ｔ），Ｉｍ１（ｔ），Ｉｍ２（ｔ）の全ての組み合わせである。
【０２３９】
次のステップＳ６１１では、入力Ｕ（ｉ）の変数ｉを１に設定する。次のステップＳ６１２では、入力Ｕ（ｉ）について、精密モデル４０から出力Ｙ（ｉ）を算出する。ここで、出力されたＹ（ｉ）は、入力Ｕ（ｉ）に対応して出力された、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）の組み合わせである。
【０２４０】
次のステップＳ６１３では、評価関数Ｅを用いて出力Ｙ（ｉ）の制御性を示す評価値Ｅ（ｉ）を求め、出力Ｙ（ｉ）の制御性を評価する。
【０２４１】
次のステップＳ６１４では、ｉ＝Ｎであるか否かを判定し、ｉ≠Ｎの場合は、ステップＳ６１５へ進み、現在のｉの値に１を加算し、ｉ＝ｉ＋１としてステップＳ６１２へ戻る。一方、ステップＳ６１４でｉ＝Ｎの場合はステップＳ６１６へ進む。
【０２４２】
ステップＳ６１６では、各出力Ｙ（ｉ）の評価値Ｅ（ｉ）に基づいて、最も評価の高い入力と出力のセット（組み合わせ）を求める。ステップＳ６１６の後は処理を終了する(RETURN)。
【０２４３】
図１８の処理においても、図１２の処理と同様に、今回の評価と前回の評価を比較するステップを設け、今回の評価の方が前回の評価よりも良い場合は、制約条件がより厳しくなるように修正を行っても良い。これにより、電力を供給するバッテリー、アクチュエータなどを低性能化できるか否かを判定することができ、コストダウンの検討を行うことが可能となる。
【０２４４】
以上説明したように実施の形態６によれば、非線形性の強い２モータ、２クラッチを備えたハイブリッドシステムにおいて、精密モデル４０により非線形性を加味した制御が可能となる。また、簡易線形モデル４１における演算結果に基づいて、精密モデル３０への入力の制約条件を絞り込むようにしたため、精密モデル４０における演算の負荷を低減することができる。そして、想定される全ての入力Ｉｃ１（ｔ），Ｉｍ１（ｔ），Ｉｍ２（ｔ），Ｉｃ２（ｔ）の組み合わせの中から、制約条件を考慮した上で出力ＴＱ（ｔ），ＮＥ（ｔ）を算出するようにしたため、最適な入力Ｕ（ｉ）と出力Ｙ（ｉ）の組み合わせを算出することが可能となる。従って、演算処理量を抑えるとともに、ハイブリッドシステムの正確な制御を実現することが可能となる。
【０２４５】
実施の形態７．
次に、本発明の実施の形態７について説明する。実施の形態７は、実施の形態２の制御をエンジンの制御に適用したものである。
【０２４６】
図１９は、実施の形態７のシステムを示す模式図である。図１９に示すように、本実施形態のシステムは、制御対象としてのエンジンをモデル化した精密モデル５０と簡易線形モデル５１を備えている。精密モデル５０は、その内部に構成要素５２，５４を有している。
【０２４７】
実施の形態３と同様に、精密モデル５０には、空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）が入力される。図１９に示すように、空気量Ｇａ（ｔ）と燃料量Ｔａｕ（ｔ）は、構成要素５２への入力ｕ１となる。一方、点火時期Ｓｔ（ｔ）は構成要素５４への入力ｕ２となる。そして、精密モデル５０からは、空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）が出力される。
【０２４８】
一方、簡易線形モデル５１も空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）の入力を受けて、空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）を出力する。簡易線形モデル５１は、ハイブリッドシステムを簡易的に線形近似したモデルであって、入力の最適値に基づいて精密モデル５０への入力の制約条件を絞り込む機能を有している。
【０２４９】
精密モデル５０の構成要素５２は、内部変数ｘ１（ｔ）を有している。内部変数ｘ１（ｔ）は、入力ｕ１を受けて変化する。また、構成要素５４は、内部変数ｘ２（ｔ）を有している。内部変数ｘ２（ｔ）は、入力ｕ２を受けて変化する。構成要素５２，５４として、エンジンが備えるアクチュエータや、部品など各種の要素を適用することが可能である。
【０２５０】
入力としての空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）の制約条件は実施の形態３と同様であり、以下のように表される。
０≦Ｇａ（ｔ）≦ａ１
０≦Ｔａｕ（ｔ）≦ｂ１
ｃ１≦Ｓｔ（ｔ）≦ｃ２
【０２５１】
また、入力（アクチュエータ）の制御周期間での動作速度可能範囲についても実施の形態３と同様であり、以下のように表される。
ΔＧａ  ｍｉｎ≦Ｇａ（Δｔ）≦ΔＧａ  ｍａｘ
ΔＴａｕ  ｍｉｎ≦Ｔａｕ（Δｔ）≦ΔＴａｕ  ｍａｘ
ΔＳＴ  ｍｉｎ≦Ｓｔ（Δｔ）≦ΔＳＴ  ｍａｘ
【０２５２】
そして、実施の形態７では、実施の形態２と同様に精密モデル５０内の各構成要素５２，５４に動作環境制約条件が与えられる。各構成要素５２，５４の動作環境制約条件は以下のように表される。
ａ１≦ｘ１（ｔ）≦ａ２
ｂ１≦ｘ２（ｔ）≦ｂ２
【０２５３】
また、各構成要素５２，５４の動作環境制約条件として、内部構成要素の制御周期間での制約範囲は以下のように表される。
Δｘ１  ｍｉｎ≦ｘ１（Δｔ）≦Δｘ１  ｍａｘ
Δｘ２  ｍｉｎ≦ｘ２（Δｔ）≦Δｘ２  ｍａｘ
【０２５４】
これらの動作環境制約条件は、動作可能範囲、制御単位時間当たりの動作量、動作可能温度範囲などによって各構成要素５２，５４が受ける制約条件である。例えば、構成要素５２がモータの場合、内部変数ｘ１（ｔ）としてはモータの動作範囲、モータの単位時間当たりの動作量、モータの使用可能温度範囲などが該当し、動作環境制約条件はモータのこれらの特性に基づく制約条件となる。
【０２５５】
また、構成要素５２がエンジン内の一部品であるエキゾーストマニホールドである場合、内部変数ｘ１（ｔ）はエキゾーストマニホールドの温度として表すことができる。この場合、動作環境制約条件は、エキゾーストマニホールドが使用可能な温度に基づく制約条件となる。
【０２５６】
実施の形態３と同様に、入力の制約条件により入力Ｕが制約され、更に、簡易線形モデル４１によって絞り込まれた制約条件を満たす入力の組み合わせが精密モデル４０へ入力される。
【０２５７】
精密モデル５０は、入力を受けると、各構成要素５２，５４の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件の範囲内で動作しているか否かを確認する。そして、いずれかの構成要素の内部変数が動作環境制約条件を逸脱している場合は、その構成要素の入力ｕを修正し、これをシステム全体の入力Ｕ（ｉ）＝（Ｇａ，Ｔａｕ，Ｓｔ）に反映する。
【０２５８】
例えば、構成要素５２の内部変数ｘ１（ｔ）が動作環境制約条件から外れている場合は、内部変数ｘ１（ｔ）が動作環境制約条件に収まるように構成要素５２への入力ｕ１が修正される。このとき、入力ｕ１は、吸入空気量Ｇａ（ｔ）と燃料量Ｔａｕ（ｔ）から決定されるため、内部変数ｘ１（ｔ）を動作環境制約条件に収めるようにＧａ（ｔ）とＴａｕ（ｔ）が修正される。
【０２５９】
より具体的には、構成要素５２の内部変数ｘ１（ｔ）が動作環境制約条件の上限値を超えている場合は、内部変数ｘ１（ｔ）が上限値となるように入力ｕ１の値が固定される。一方、内部変数ｘ１（ｔ）が動作環境制約条件の下限値を下回っている場合は、内部変数ｘ１（ｔ）が下限値となるように入力ｕ１の値が固定される。そして、入力ｕ１を固定するため、吸入空気量Ｇａ（ｔ）と燃料量Ｔａｕ（ｔ）の値が修正される。Ｇａ（ｔ），Ｔａｕ（ｔ）の値は修正された値に固定される。
【０２６０】
これにより、構成要素５２の内部変数ｘ１（ｔ）が動作環境制約条件の範囲を外れてしまうことが回避される。そして、構成要素５２の内部変数ｘ１（ｔ）が上限値又は下限値となるように入力ｕ１の値を固定した状態では、入力ｕ１に影響を与えない点火時期Ｓｔ（ｔ）のみが入力の制約条件の範囲内で可変されて入力Ｕ（ｉ）が準備される。
【０２６１】
このようにして、構成要素５２，５４の動作環境制約条件に応じて修正された入力Ｕで出力Ｙを計算し、評価することを繰り返すことで、最適な制御入出力のセットを求める。これにより、構成要素５２，５４の動作環境制約条件を満たした最適な入出力のセットを求めることができる。
【０２６２】
また、内部変数ｘ１（ｔ）が動作環境制約条件の範囲から外れている場合は、内部変数ｘ１（ｔ）が動作環境制約条件の範囲内に収まるように新たに入力Ｕ（ｉ）を設定してもよい。この場合、内部変数ｘ１（ｔ）を動作環境制約条件の上限値又は下限値に固定した場合に比べて演算処理量は大きくなるが、内部変数ｘ１（ｔ）の設定の自由度が高まるため、より最適な出力を求めることが可能となる。
【０２６３】
次に、図２０のフローチャートに基づいて、実施の形態７のシステムにおける処理の手順について説明する。先ず、ステップＳ７０１では、ハイブリッドシステムの精密モデル５０を作成する。次のステップＳ７０２では、各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の制約条件を取り込む。次のステップＳ７０３では、各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の刻み幅を決定する。
【０２６４】
次のステップＳ７０４では、エンジンの簡易線形モデル５１を作成する。次のステップＳ７０５では、出力の目標値ＡＦ（ｔ＋ｄ），ＴＱ（ｔ＋ｄ），ＮＥ（ｔ＋ｄ）に基づいて、簡易線形モデル５１から各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の最適値（Ｕ（最適値））をそれぞれ算出する。
【０２６５】
次のステップＳ７０６では、ステップＳ７０５で算出した各入力の最適値のそれぞれが、精密モデル５０の制約条件の範囲内であるか否かを判定する。そして、最適値のうち、少なくとも１つが精密モデル５０の制約条件の範囲から外れている場合は、ステップＳ７０７へ進む。一方、全ての最適値が精密モデル５０の制約条件の範囲内の場合は、ステップＳ７０８へ進む。
【０２６６】
ステップＳ７０７では、精密モデル５０の制約条件の範囲から外れている入力を、精密モデル５０の制約条件の上限値又は下限値に固定する。例えば、簡易線形モデル５１から求めた最適値が精密モデル５０の制約条件の上限値を超えている場合は、最適値を上限値に固定する。一方、最適値が精密モデル５０の制約条件の下限値を下回っている場合は、最適値を下限値に固定する。ステップＳ７０７の後はステップＳ７０８へ進む。
【０２６７】
ステップＳ７０８では、ステップＳ７０５で算出した入力の最適値、およびステップＳ７０７で制約条件の上限値又は下限値に固定された最適値に基づいて、制約条件の絞り込みを行う。この際、図３で説明したように、精密モデル５０の制約条件の範囲の１／２〜１／３程度の範囲となるように制約条件の範囲を設定する。
【０２６８】
次のステップＳ７０９では、ステップＳ７０８で絞り込まれた制約条件を満たす全ての入力Ｕの組み合わせ数（各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の組み合わせ数）Ｎを算出する。次のステップＳ７１０では、組み合わせによって得られた全ての入力パターンＵ（ｉ）（ｉ＝１〜Ｎ）を準備する。ここで準備される入力Ｕ（ｉ）は、制約条件を満たすＧａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の全ての組み合わせである。
【０２６９】
次のステップＳ７１１では、入力Ｕ（ｉ）の組み合わせを表す係数ｉを初期値１に設定する（ｉ＝１）。次のステップＳ７１２では、Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の組み合わせからなる入力Ｕ（ｉ）を精密モデル５０へ入力する。
【０２７０】
次のステップＳ７１３では、精密モデル５０内の構成要素５２，５４の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件から外れているか否かを判定する。ステップＳ７１３において、いずれかの構成要素の内部変数が制約条件から外れている場合は、ステップＳ７１４へ進む。
【０２７１】
ステップＳ７１４では、内部変数が動作環境制約条件を外れている構成要素（ここでは構成要素ｘｍとする）を特定し、構成要素ｘｍの内部変数が動作環境制約条件の上限値または下限値となるように構成要素ｘｍへの入力ｕｍを固定する。
【０２７２】
次のステップＳ７１５では、入力ｕｍの値を固定するため、現ルーチンでの入力（Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ））のうち、入力ｕｍに関係する入力値を所定値に固定する。例えば、図１９に示す構成要素５４への入力ｕ２の値を固定する場合、入力ｕ２は点火時期Ｓｔ（ｔ）のみによって変化するため、点火時期Ｓｔ（ｔ）を所定値Ｓｔ２に固定する。但し、所定値Ｓｔ２が入力Ｕ（ｉ）の制約条件から外れている場合は、点火時期Ｓｔ（ｔ）を制約条件の範囲に収まる所定値Ｓｔ３に修正する。
【０２７３】
次のステップＳ７１６では、ステップＳ７１５で固定した入力以外の入力を変化させて、新たに入力Ｕ（ｉ）を準備する。例えば、上述のように点火時期Ｓｔ（ｔ）を所定値Ｓｔ２に固定した場合は、他の入力Ｇａ（ｔ），Ｔａｕ（ｔ）を変化させて新たな入力Ｕ（ｉ）を準備する。
【０２７４】
ステップＳ７１６の後はステップＳ７１２へ戻る。ステップＳ７１２では、ステップＳ７１６で準備した入力Ｕ（ｉ）を精密モデル５０へ入力し、出力Ｙ（ｉ）を算出する。
【０２７５】
このように、ステップＳ７１３からステップＳ７１６の処理によれば、構成要素５２，５４の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件を外れている場合は、制約条件を外れた要因となる入力を固定して、他の入力を可変することで新たな入力Ｕ（ｉ）が準備される。そして、新たな入力がステップＳ７１３の判定を通過するまで、ステップＳ７１３からステップＳ７１６に至る処理を繰り返すことで、構成要素５２，５４の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件を満たすような入力Ｕ（ｉ）を求めることができる。
【０２７６】
ステップＳ７１３において、構成要素５２，５４の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件の範囲内であることが判定された場合は、ステップＳ７１７へ進む。ステップＳ７１７では、精密モデル５０から出力Ｙ（ｉ）を算出し、保存する。ここで出力されたＹ（ｉ）は、ステップＳ７１２での入力Ｕ（ｉ）に対応して出力された、空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）の組み合わせである。
【０２７７】
次のステップＳ７１８では、評価関数を用いて出力Ｙ（ｉ）のそれぞれの制御性を示す評価値Ｅ（ｉ）を求め、出力Ｙ（ｉ）の制御性を評価する。
【０２７８】
次のステップＳ７１９では、ｉ＝Ｎであるか否かを判定し、ｉ≠Ｎの場合は、ステップＳ７２０へ進み、現在のｉの値に１を加算し、ｉ＝ｉ＋１としてステップＳ７１２へ戻る。一方、ステップＳ７１９でｉ＝Ｎの場合はステップＳ７２１へ進む。
【０２７９】
ステップＳ７２１では、各出力Ｙ（ｉ）の評価値Ｅ（ｉ）に基づいて、最も評価の高い入力と出力のセット（組み合わせ）を求める。ステップＳ７２１の後は処理を終了する(RETURN)。
【０２８０】
図２０の処理によれば、簡易線形モデル５１の演算に基づいて制約条件を絞り込むため、精密モデル５０における演算の負荷を低減することが可能となり、処理速度を高めることが可能となる。また、精密モデル５０の構成要素ｘｍの内部変数が動作環境制約条件から外れている場合は、構成要素ｘｍへの入力ｕｍを固定し、内部変数が動作環境制約条件の範囲内に収まるような入力Ｕ（ｉ）を作成することができる。従って、構成要素の内部変数が動作環境制約条件の範囲に収まるように、最適な入出力のセットを算出することが可能となる。これにより、構成要素５２，５４の内部変数が制約条件から外れてしまうことを確実に抑止することができ、精密モデル５０に基づく制御を最適に行うことが可能となる。また、構成要素５２，５４が動作環境制約条件を満たした場合にのみ精密モデル５０から出力Ｙ（ｉ）を算出するため、動作環境制約条件を満たしていない出力Ｙ（ｉ）が算出されてしまうことを回避でき、精密モデル５０による演算処理量を低減することができる。
【０２８１】
以上説明したように実施の形態７によれば、簡易線形モデル５１における演算結果に基づいて、精密モデル５０への入力の制約条件を絞り込むようにしたため、精密モデル５０における演算の負荷を低減することができる。また、精密モデル５０内の構成要素５２，５４の内部変数を考慮して入力Ｕ（ｉ）を設定することができるため、構成要素５２，５４の内部変数が動作環境制約条件から外れてしまうことを確実に抑止することができる。従って、各構成要素５２，５４を正常に動作させた状態で、最適な入力Ｕ（ｉ）と出力Ｙ（ｉ）の組み合わせを算出することが可能となり、精密モデル５０に基づくエンジンの制御を最適に行うことが可能となる。
【０２８２】
実施の形態８．
次に、本発明の実施の形態８について説明する。実施の形態８は、実施の形態２の制御をエンジンのアイドリング回転数の制御に適用したものである。
【０２８３】
図２１は、実施の形態８のシステムを示す模式図である。図２１に示すように、本実施形態のシステムは、制御対象としてのエンジンをモデル化した精密モデル６０と簡易線形モデル６１を備えている。精密モデル６０は、その内部に構成要素６２，６４を備えている。実施の形態７と同様に、構成要素６２，６４として、エンジンが備えるアクチュエータや、部品など各種の要素を適用することが可能である。
【０２８４】
実施の形態４と同様に、精密モデル６０には、スロットル開度Ｔａ（ｔ）、点火時期Ｓｔ（ｔ）が入力される。図２１に示すように、スロットル開度Ｔａ（ｔ）と点火時期Ｓｔ（ｔ）は、構成要素６２への入力ｕ１となる。また、点火時期Ｓｔ（ｔ）は構成要素６４への入力ｕ２となる。そして、精密モデル６０からは、回転数ＮＥ（ｔ）、冷却水温Ｔｗ（ｔ）が出力される。
【０２８５】
一方、簡易線形モデル６１もスロットル開度Ｔａ（ｔ）、点火時期Ｓｔ（ｔ）の入力を受けて、回転数ＮＥ（ｔ）、冷却水温Ｔｗ（ｔ）を出力する。簡易線形モデル６１は、ハイブリッドシステムを簡易的に線形近似したモデルであって、入力の最適値に基づいて精密モデル６０への入力の制約条件を絞り込む機能を有している。
【０２８６】
精密モデル６０の構成要素６２は、内部変数ｘ１（ｔ）を有している。内部変数ｘ１（ｔ）は、入力ｕ１を受けて変化する。また、構成要素６４は、内部変数ｘ２（ｔ）を有している。内部変数ｘ２（ｔ）は、入力ｕ２を受けて変化する。
【０２８７】
入力としてのスロットル開度Ｔａ（ｔ）、点火時期Ｓｔ（ｔ）の制約条件は実施の形態４と同様であり、以下のように表される。
０≦Ｔａ（ｔ）≦ｂ１
ｃ１≦Ｓｔ（ｔ）≦ｃ２
【０２８８】
また、入力（アクチュエータ）の制御周期間での動作速度可能範囲についても実施の形態４と同様であり、以下のように表される。
ΔＴａ  ｍｉｎ≦Ｔａ（Δｔ）≦ΔＴａ  ｍａｘ
ΔＳＴ  ｍｉｎ≦Ｓｔ（Δｔ）≦ΔＳＴ  ｍａｘ
【０２８９】
そして、実施の形態８では、実施の形態２と同様に精密モデル６０内の各構成要素６２，６４に動作環境制約条件が与えられる。各構成要素６２，６４の動作環境制約条件は以下のように表される。
ａ１≦ｘ１（ｔ）≦ａ２
ｂ１≦ｘ２（ｔ）≦ｂ２
【０２９０】
また、各構成要素５２，５４の動作環境制約条件として、内部構成要素の制御周期間での制約範囲は以下のように表される。
Δｘ１  ｍｉｎ≦ｘ１（Δｔ）≦Δｘ１  ｍａｘ
Δｘ２  ｍｉｎ≦ｘ２（Δｔ）≦Δｘ２  ｍａｘ
【０２９１】
実施の形態４と同様に、入力の制約条件により入力Ｕが制約され、更に、簡易線形モデル６１によって絞り込まれた制約条件を満たす入力の組み合わせが精密モデル６０へ入力される。
【０２９２】
精密モデル６０は、入力を受けると、各構成要素６２，６４の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件の範囲内で動作しているか否かを確認する。そして、いずれかの構成要素の内部変数が動作環境制約条件を逸脱している場合は、その構成要素の入力ｕを修正し、これをシステム全体の入力Ｕ（ｉ）＝（Ｔａ，Ｓｔ）に反映する。
【０２９３】
例えば、構成要素６２の内部変数ｘ１（ｔ）が動作環境制約条件から外れている場合は、内部変数ｘ１（ｔ）が動作環境制約条件に収まるように構成要素５２への入力ｕ１が修正される。このとき、入力ｕ１は、スロットル開度Ｔａ（ｔ）と点火時期Ｓｔ（ｔ）から決定されるため、内部変数ｘ１（ｔ）を動作環境制約条件に収めるようにＴａ（ｔ）とＳｔ（ｔ）が修正される。
【０２９４】
より具体的には、構成要素６２の内部変数ｘ１（ｔ）が動作環境制約条件の上限値を超えている場合は、内部変数ｘ１（ｔ）が上限値となるように入力ｕ１の値が固定される。一方、内部変数ｘ１（ｔ）が動作環境制約条件の下限値を下回っている場合は、内部変数ｘ１（ｔ）が下限値となるように入力ｕ１の値が固定される。そして、入力ｕ１を固定するため、スロットル開度Ｔａ（ｔ）と点火時期Ｓｔ（ｔ）の値が修正される。Ｔａ（ｔ），Ｓｔ（ｔ）の値は修正された値に固定される。これにより、構成要素６２の内部変数ｘ１（ｔ）が動作環境制約条件の範囲を外れてしまうことが回避される。
【０２９５】
このようにして、構成要素６２，６４の動作環境制約条件に応じて修正された入力Ｕで出力Ｙを計算し、評価することを繰り返すことで、最適な制御入出力のセットを求める。これにより、構成要素６２，６４の制約条件を満たした最適な入出力のセットを求めることができる。
【０２９６】
次に、図２２フローチャートに基づいて、実施の形態８のシステムにおける処理の手順について説明する。先ず、ステップＳ８０１では、ハイブリッドシステムの精密モデル６０を作成する。次のステップＳ８０２では、各入力Ｔａ（ｔ），Ｓｔ（ｔ）の制約条件を取り込む。次のステップＳ８０３では、各入力Ｔａ（ｔ），Ｓｔ（ｔ）の刻み幅を決定する。
【０２９７】
次のステップＳ８０４では、エンジンの簡易線形モデル６１を作成する。次のステップＳ８０５では、出力の目標値ＮＥ（ｔ＋ｄ），ＴＷ（ｔ＋ｄ）に基づいて、簡易線形モデル６１から各入力Ｔａ（ｔ），Ｓｔ（ｔ）の最適値（Ｕ（最適値））をそれぞれ算出する。
【０２９８】
次のステップＳ８０６では、ステップＳ８０５で算出した各入力の最適値のそれぞれが、精密モデル６０の制約条件の範囲内であるか否かを判定する。そして、最適値のうち、少なくとも１つが精密モデル６０の制約条件の範囲から外れている場合は、ステップＳ８０７へ進む。一方、全ての最適値が精密モデル６０の制約条件の範囲内の場合は、ステップＳ８０８へ進む。
【０２９９】
ステップＳ８０７では、精密モデル６０の制約条件の範囲から外れている入力を、精密モデル６０の制約条件の上限値又は下限値に固定する。例えば、簡易線形モデル６１から求めた最適値が精密モデル６０の制約条件の上限値を超えている場合は、最適値を上限値に固定する。一方、最適値が精密モデル６０の制約条件の下限値を下回っている場合は、最適値を下限値に固定する。ステップＳ８０７の後はステップＳ８０８へ進む。
【０３００】
ステップＳ８０８では、ステップＳ８０５で算出した入力の最適値、およびステップＳ８０７で制約条件の上限値又は下限値に固定された最適値に基づいて、制約条件の絞り込みを行う。この際、図３で説明したように、精密モデル６０の制約条件の範囲の１／２〜１／３程度の範囲となるように制約条件の範囲を設定する。
【０３０１】
次のステップＳ８０９では、ステップＳ８０８で絞り込まれた制約条件を満たす全ての入力Ｕの組み合わせ数（各入力Ｔａ（ｔ），Ｓｔ（ｔ）の組み合わせ数）Ｎを算出する。次のステップＳ８１０では、組み合わせによって得られた全ての入力パターンＵ（ｉ）（ｉ＝１〜Ｎ）を準備する。ここで準備される入力Ｕ（ｉ）は、制約条件を満たすＴａ（ｔ），Ｓｔ（ｔ）の全ての組み合わせである。
【０３０２】
次のステップＳ８１１では、入力Ｕ（ｉ）の組み合わせを表す係数ｉを初期値１に設定する（ｉ＝１）。次のステップＳ８１２では、Ｔａ（ｔ），Ｓｔ（ｔ）の組み合わせからなる入力Ｕ（ｉ）を精密モデル６０へ入力する。
【０３０３】
次のステップＳ８１３では、精密モデル６０内の構成要素６２，６４の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件から外れているか否かを判定する。ステップＳ８１３において、いずれかの構成要素の内部変数が制約条件から外れている場合は、ステップＳ８１４へ進む。
【０３０４】
ステップＳ８１４では、内部変数が制約条件を外れている構成要素（ここでは構成要素ｘｍとする）を特定し、構成要素ｘｍの内部変数が動作環境制約条件の上限値または下限値となるように構成要素ｘｍへの入力ｕｍを固定する。
【０３０５】
次のステップＳ８１５では、入力ｕｍの値を固定するため、現ルーチンでの入力（Ｔａ（ｔ），Ｓｔ（ｔ））のうち、入力ｕｍに関係する入力値を所定値に固定する。例えば、図２１に示す構成要素６２への入力ｕ１の値を固定する場合、入力ｕ１はスロットル開度Ｔａ（ｔ）と点火時期Ｓｔ（ｔ）によって変化するため、スロットル開度Ｔａ（ｔ）と点火時期Ｓｔ（ｔ）を所定値に固定する。但し、ここで固定されたスロットル開度Ｔａ（ｔ）と点火時期Ｓｔ（ｔ）の値が入力Ｕ（ｉ）の制約条件から外れている場合は、これらの値が制約条件に収まるように修正が行われる。
【０３０６】
次のステップＳ８１６では、ステップＳ８１５で固定した入力以外の入力を変化させて、新たに入力Ｕ（ｉ）を準備する。上述の例で構成要素６２への入力ｕ１の値を固定した場合は、全ての入力であるスロットル開度Ｔａ（ｔ）と点火時期Ｓｔ（ｔ）が所定値に固定されるため、この値が新たな入力Ｕ（ｉ）となる。
【０３０７】
ステップＳ８１６の後はステップＳ８１２へ戻る。ステップＳ８１２では、ステップＳ８１６で準備した入力Ｕ（ｉ）を精密モデル６０へ入力し、出力Ｙ（ｉ）を算出する。
【０３０８】
このように、ステップＳ８１３からステップＳ８１６の処理によれば、構成要素６２，６４の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件を外れている場合は、制約条件を外れた要因となる入力を固定して、他の入力を可変することで新たな入力Ｕ（ｉ）が準備される。そして、新たな入力がステップＳ８１３の判定を通過するまで、ステップＳ８１３からステップＳ８１６に至る処理を繰り返すことで、構成要素６２，６４の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件を満たすような入力Ｕ（ｉ）を求めることができる。
【０３０９】
ステップＳ８１３において、構成要素６２，６４の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件の範囲内であることが判定された場合は、ステップＳ８１７へ進む。ステップＳ８１７では、精密モデル６０から出力Ｙ（ｉ）を算出し、保存する。ここで出力されたＹ（ｉ）は、ステップＳ８１２での入力Ｕ（ｉ）に対応して出力された、回転数ＮＥ（ｔ）、冷却水温Ｔｗ（ｔ）の組み合わせである。
【０３１０】
次のステップＳ８１８では、評価関数を用いて出力Ｙ（ｉ）のそれぞれの制御性を示す評価値Ｅ（ｉ）を求め、出力Ｙ（ｉ）の制御性を評価する。
【０３１１】
次のステップＳ８１９では、ｉ＝Ｎであるか否かを判定し、ｉ≠Ｎの場合は、ステップＳ８２０へ進み、現在のｉの値に１を加算し、ｉ＝ｉ＋１としてステップＳ８１２へ戻る。一方、ステップＳ８１９でｉ＝Ｎの場合はステップＳ８２１へ進む。
【０３１２】
ステップＳ８２１では、各出力Ｙ（ｉ）の評価値Ｅ（ｉ）に基づいて、最も評価の高い入力と出力のセット（組み合わせ）を求める。ステップＳ８２１の後は処理を終了する(RETURN)。
【０３１３】
図２２の処理によれば、簡易線形モデル６１の演算に基づいて制約条件を絞り込むため、精密モデル６０における演算の負荷を低減することが可能となり、処理速度を高めることが可能となる。また、構成要素ｘｍの内部変数が動作環境制約条件から外れている場合は、構成要素ｘｍへの入力ｕｍを固定し、内部変数が動作環境制約条件の範囲内に収まるような入力Ｕ（ｉ）を作成することができる。従って、構成要素の内部変数が動作環境制約条件の範囲に収まるように、最適な入出力のセットを算出することが可能となる。これにより、構成要素６２，６４の内部変数が制約条件から外れてしまうことを確実に抑止することができ、精密モデル６０に基づく制御を最適に行うことが可能となる。また、構成要素６２，６４が動作環境制約条件を満たした場合にのみ精密モデル６０から出力Ｙ（ｉ）を算出するため、動作環境制約条件を満たしていない出力Ｙ（ｉ）が算出されてしまうことを回避でき、精密モデル６０による演算処理量を低減することができる。
【０３１４】
以上説明したように実施の形態８によれば、簡易線形モデル６１における演算結果に基づいて、精密モデル６０への入力の制約条件を絞り込むようにしたため、精密モデル６０における演算の負荷を低減することができる。また、精密モデル６０内の構成要素６２，６４の内部変数を考慮して入力Ｕ（ｉ）を設定することができるため、構成要素６２，６４の内部変数が動作環境制約条件から外れてしまうことを確実に抑止することができる。従って、各構成要素６２，６４を正常に動作させた状態で、最適な入力Ｕ（ｉ）と出力Ｙ（ｉ）の組み合わせを算出することが可能となり、精密モデル６０に基づくアイドリング回転数の制御を最適に行うことが可能となる。
【０３１５】
実施の形態９．
次に、本発明の実施の形態９について説明する。実施の形態９は、実施の形態２の制御をハイブリッドシステムの制御に適用したものである。
【０３１６】
図２３は、実施の形態９のシステムを示す模式図である。図２３に示すように、本実施形態のシステムは、制御対象としてのハイブリッドシステムをモデル化した精密モデル７０と簡易線形モデル７１を備えている。精密モデル７０は、実施の形態５の精密モデル３０と同様の構成であり、エンジン７２、モータ７４、トランスミッション（Ｔ／Ｍ）７６を備えている。図２３に示すように、エンジン７２は、その内部に構成要素７８を備えている。また、モータ７４は、その内部に構成要素８０を備えている。構成要素７８として、エンジン７２が備えるアクチュエータや、部品など各種の要素を適用することが可能である。同様に、構成要素８０として、モータ７４が備えるコイル、回転子などの各種要素を適用することが可能である。
【０３１７】
実施の形態５と同様に、精密モデル７０には、空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）、電流Ｉｂ（ｔ）が入力される。これらの入力のうち、Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）はエンジン７２に入力される。また、Ｉｂ（ｔ）はモータ７４へ入力される。
【０３１８】
エンジン７２は、Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）の入力を受けて、空燃比ＡＦ（ｔ）、エンジントルクＴＱｅ（ｔ）およびエンジン回転数ＮＥｅ（ｔ）を出力する。これらの出力のうち、ＴＱｅ（ｔ）およびＮＥｅ（ｔ）はトランスミッション７６へ入力される。また、モータ７４は、電流Ｉｂ（ｔ）の入力を受けて、モータトルクＴＱｍ（ｔ）およびモータ回転数ＮＥｍ（ｔ）を出力する。これらの出力は、トランスミッション７６へ入力される。
【０３１９】
トランスミッション７６は、ＴＱｅ（ｔ），ＮＥｅ（ｔ），ＴＱｍ（ｔ），ＮＥｍ（ｔ）の入力を受けて、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）を出力する。そして、エンジン７２から出力された空燃比ＡＦ（ｔ）、トランスミッション７６から出力されたトルクＴＱ（ｔ）、回転数ＮＥ（ｔ）が、精密モデル７０からの出力となる。
【０３２０】
一方、簡易線形モデル７１も空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）、電流Ｉｂ（ｔ）の入力を受けて、空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）を出力する。簡易線形モデル７１は、ハイブリッドシステムを簡易的に線形近似したモデルであって、入力の最適値に基づいて精密モデル７０への入力の制約条件を絞り込む機能を有している。
【０３２１】
図２３に示すように、精密モデル７０において、空気量Ｇａ（ｔ）および点火時期Ｓｔ（ｔ）は、エンジン７２内の構成要素７８への入力ｕ１となる。一方、電流Ｉｂ（ｔ）はモータ７４内の構成要素８０への入力ｕ２となる。
【０３２２】
入力としての空気量Ｇａ（ｔ）、燃料量Ｔａｕ（ｔ）、点火時期Ｓｔ（ｔ）、電流Ｉｂ（ｔ）の制約条件は実施の形態５と同様であり、以下のように表される。
０≦Ｇａ（ｔ）≦ａ１
０≦Ｔａｕ（ｔ）≦ｂ１
ｃ１≦Ｓｔ（ｔ）≦ｃ２
ｄ１≦Ｉｂ（ｔ）≦ｄ２
【０３２３】
また、入力（アクチュエータ）の制御周期間での動作速度可能範囲についても実施の形態５と同様であり、以下のように表される。
ΔＧａ  ｍｉｎ≦Ｇａ（Δｔ）≦ΔＧａ  ｍａｘ
ΔＴａｕ  ｍｉｎ≦Ｔａｕ（Δｔ）≦ΔＴａｕ  ｍａｘ
ΔＳＴ  ｍｉｎ≦Ｓｔ（Δｔ）≦ΔＳＴ  ｍａｘ
ΔＩｂ  ｍｉｎ≦Ｉｂ（Δｔ）≦ΔＩｂ  ｍａｘ
【０３２４】
そして、実施の形態９では、エンジン７２内の構成要素７８、およびモータ７４内の構成要素８０に動作環境制約条件が与えられる。各構成要素７８，８０の動作環境制約条件は以下のように表される。
ａ１≦ｘ１（ｔ）≦ａ２
ｂ１≦ｘ２（ｔ）≦ｂ２
【０３２５】
また、各構成要素７８，８０の動作環境制約条件として、内部構成要素の制御周期間での制約範囲は以下のように表される。
Δｘ１  ｍｉｎ≦ｘ１（Δｔ）≦Δｘ１  ｍａｘ
Δｘ２  ｍｉｎ≦ｘ２（Δｔ）≦Δｘ２  ｍａｘ
【０３２６】
例えば、構成要素７８がエンジンの触媒である場合、内部変数ｘ１（ｔ）は触媒温度として表すことができる。この場合、動作環境制約条件は、触媒が動作可能な温度に基づく制約条件となる。同様に、構成要素８０がモータのコイルである場合、内部変数ｘ２（ｔ）はコイルの温度として表すことができる。この場合、動作環境制約条件は、コイルが動作可能な温度に基づく制約条件となる。また、構成要素８０がモータの回転子である場合、内部変数ｘ２（ｔ）は回転子の回転数として表すことができる。この場合、動作環境制約条件は、回転子が動作可能な回転数に基づく制約条件となる。
【０３２７】
実施の形態５と同様に、入力の制約条件により入力Ｕが制約され、更に、簡易線形モデル７１によって絞り込まれた制約条件を満たす入力の組み合わせが精密モデル７０へ入力される。
【０３２８】
精密モデル７０は、入力を受けると、各構成要素７８，８０の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件の範囲内で動作しているか否かを確認する。そして、いずれかの構成要素の内部変数が動作環境制約条件を逸脱している場合は、その構成要素の入力ｕを修正し、これをシステム全体の入力Ｕ（ｉ）＝（Ｇａ，Ｔａｕ，Ｓｔ，Ｉｂ）に反映する。
【０３２９】
例えば、構成要素７８の内部変数ｘ１（ｔ）が動作環境制約条件から外れている場合は、内部変数ｘ１（ｔ）が動作環境制約条件に収まるように構成要素７８への入力ｕ１が修正される。このとき、入力ｕ１は、空気量Ｇａ（ｔ）および点火時期Ｓｔ（ｔ）から決定されるため、内部変数ｘ（ｔ）を動作環境制約条件に収めるようにＧａ（ｔ），Ｓｔ（ｔ）が修正される。
【０３３０】
より具体的には、構成要素７８の内部変数ｘ１（ｔ）が動作環境制約条件の上限値を超えている場合は、内部変数ｘ１（ｔ）が上限値となるように入力ｕ１の値が固定される。一方、内部変数ｘ１（ｔ）が動作環境制約条件の下限値を下回っている場合は、内部変数ｘ１（ｔ）が下限値となるように入力ｕ１の値が固定される。そして、入力ｕ１の値を固定するため、空気量Ｇａ（ｔ）および点火時期Ｓｔ（ｔ）の値が修正される。Ｇａ（ｔ）、Ｓｔ（ｔ）の値は修正された値に固定される。
【０３３１】
これにより、構成要素７８の内部変数ｘ１（ｔ）が動作環境制約条件の範囲から外れてしまうことが回避される。そして、構成要素７８の内部変数ｘ１（ｔ）が上限値又は下限値となるように入力ｕ１の値を固定した状態では、入力ｕ１に影響を与えない燃料量Ｔａｕ（ｔ）と電流Ｉｂ（ｔ）が制約条件の範囲内で可変されて入力Ｕ（ｉ）が準備される。
【０３３２】
このようにして、構成要素７８，８０の動作環境制約条件に応じて修正された入力Ｕで出力Ｙを計算し、評価することを繰り返すことで、最適な制御入出力のセットを求める。これにより、構成要素７８，８０の動作環境制約条件を満たした最適な入出力のセットを求めることができる。
【０３３３】
次に、図２４のフローチャートに基づいて、実施の形態９のシステムにおける処理の手順について説明する。先ず、ステップＳ９０１では、ハイブリッドシステムの精密モデル７０を作成する。次のステップＳ９０２では、各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ），Ｉｂ（ｔ）の制約条件を取り込む。次のステップＳ９０３では、各入力Ｔａ（ｔ），Ｓｔ（ｔ）の刻み幅を決定する。
【０３３４】
次のステップＳ９０４では、エンジンの簡易線形モデル７１を作成する。次のステップＳ９０５では、出力の目標値ＡＦ（ｔ＋ｄ），ＴＱ（ｔ＋ｄ），ＮＥ（ｔ＋ｄ）に基づいて、簡易線形モデル７１から各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ），Ｉｂ（ｔ）の最適値（Ｕ（最適値））をそれぞれ算出する。
【０３３５】
次のステップＳ９０６では、ステップＳ９０５で算出した各入力の最適値のそれぞれが、精密モデル７０の制約条件の範囲内であるか否かを判定する。そして、最適値のうち、少なくとも１つが精密モデル７０の制約条件の範囲から外れている場合は、ステップＳ９０７へ進む。一方、全ての最適値が精密モデル７０の制約条件の範囲内の場合は、ステップＳ９０８へ進む。
【０３３６】
ステップＳ９０７では、精密モデル７０の制約条件の範囲から外れている入力を、精密モデル７０の制約条件の上限値又は下限値に固定する。例えば、簡易線形モデル７１から求めた最適値が精密モデル７０の制約条件の上限値を超えている場合は、最適値を上限値に固定する。一方、最適値が精密モデル６０の制約条件の下限値を下回っている場合は、最適値を下限値に固定する。ステップＳ９０７の後はステップＳ９０８へ進む。
【０３３７】
ステップＳ９０８では、ステップＳ９０５で算出した入力の最適値、およびステップＳ９０７で制約条件の上限値又は下限値に固定された最適値に基づいて、制約条件の絞り込みを行う。この際、図３で説明したように、精密モデル７０の制約条件の範囲の１／２〜１／３程度の範囲となるように制約条件の範囲を設定する。
【０３３８】
次のステップＳ９０９では、ステップＳ９０８で絞り込まれた制約条件を満たす全ての入力Ｕの組み合わせ数（各入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ），Ｉｂ（ｔ）の組み合わせ数）Ｎを算出する。次のステップＳ９１０では、組み合わせによって得られた全ての入力パターンＵ（ｉ）（ｉ＝１〜Ｎ）を準備する。ここで準備される入力Ｕ（ｉ）は、制約条件を満たすＧａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ），Ｉｂ（ｔ）の全ての組み合わせである。
【０３３９】
次のステップＳ９１１では、入力Ｕ（ｉ）の組み合わせを表す係数ｉを初期値１に設定する（ｉ＝１）。次のステップＳ９１２では、Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ），Ｉｂ（ｔ）の組み合わせからなる入力Ｕ（ｉ）を精密モデル７０へ入力する。
【０３４０】
次のステップＳ９１３では、精密モデル７０内の構成要素７８，８０の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件から外れているか否かを判定する。ステップＳ９１３において、いずれかの構成要素の内部変数が制約条件から外れている場合は、ステップＳ９１４へ進む。
【０３４１】
ステップＳ９１４では、内部変数が動作環境制約条件を外れている構成要素（ここでは構成要素ｘｍとする）を特定し、構成要素ｘｍの内部変数が動作環境制約条件の上限値または下限値となるように構成要素ｘｍへの入力ｕｍを固定する。
【０３４２】
次のステップＳ９１５では、入力ｕｍの値を固定するため、現ルーチンでの入力（Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ），Ｉｂ（ｔ））のうち、入力ｕｍに関係する入力値を所定値に固定する。例えば、図２３に示す構成要素８０への入力ｕ２の値を固定する場合、入力ｕ２は電流Ｉｂ（ｔ）のみによって変化するため、電流Ｉｂ（ｔ）の値を所定値Ｉｂ２に固定する。但し、所定値Ｉｂ２が入力Ｕ（ｉ）の制約条件から外れている場合は、電流Ｉｂ（ｔ）の値を制約条件の範囲に収まる所定値Ｉｂ３に修正する。
【０３４３】
次のステップＳ９１６では、ステップＳ９１７で固定した入力以外の入力を変化させて、新たに入力Ｕ（ｉ）を準備する。例えば、上述のように電流Ｉｂ（ｔ）を所定値Ｉｂ２に固定した場合は、他の入力Ｇａ（ｔ），Ｔａｕ（ｔ），Ｓｔ（ｔ）を変化させて新たな入力Ｕ（ｉ）を準備する。
【０３４４】
ステップＳ９１６の後はステップＳ９１２へ戻る。ステップＳ９１２では、ステップＳ９１６で準備した入力Ｕ（ｉ）を精密モデル７０へ入力し、出力Ｙ（ｉ）を算出する。
【０３４５】
このように、ステップＳ９１３からステップＳ９１６の処理によれば、構成要素７８，８０の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件を外れている場合は、制約条件を外れた要因となる入力を固定して、他の入力を可変することで新たな入力Ｕ（ｉ）が準備される。そして、新たな入力がステップＳ９１３の判定を通過するまで、ステップＳ９１３からステップＳ９１６に至る処理を繰り返すことで、構成要素７８，８０の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件を満たすような入力Ｕ（ｉ）を求めることができる。
【０３４６】
ステップＳ９１３において、構成要素７８，８０の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件の範囲内であることが判定された場合は、ステップＳ９１７へ進む。ステップＳ９１７では、精密モデル７０から出力Ｙ（ｉ）を算出し、保存する。ここで出力されたＹ（ｉ）は、ステップＳ９１２での入力Ｕ（ｉ）に対応して出力された、空燃比ＡＦ（ｔ）、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）の組み合わせである。
【０３４７】
次のステップＳ９１８では、評価関数を用いて出力Ｙ（ｉ）のそれぞれの制御性を示す評価値Ｅ（ｉ）を求め、出力Ｙ（ｉ）の制御性を評価する。
【０３４８】
次のステップＳ９１９では、ｉ＝Ｎであるか否かを判定し、ｉ≠Ｎの場合は、ステップＳ９２０へ進み、現在のｉの値に１を加算し、ｉ＝ｉ＋１としてステップＳ９１２へ戻る。一方、ステップＳ９１９でｉ＝Ｎの場合はステップＳ９２１へ進む。
【０３４９】
ステップＳ９２１では、各出力Ｙ（ｉ）の評価値Ｅ（ｉ）に基づいて、最も評価の高い入力と出力のセット（組み合わせ）を求める。ステップＳ９２１の後は処理を終了する(RETURN)。
【０３５０】
図２４の処理によれば、簡易線形モデル７１の演算に基づいて制約条件を絞り込むため、精密モデル７０における演算の負荷を低減することが可能となり、処理速度を高めることが可能となる。また、構成要素ｘｍの内部変数が動作環境制約条件から外れている場合は、構成要素ｘｍへの入力ｕｍを固定し、内部変数が動作環境制約条件の範囲内に収まるような入力Ｕ（ｉ）を作成することができる。従って、構成要素の内部変数が動作環境制約条件の範囲に収まるように、最適な入出力のセットを算出することが可能となる。これにより、構成要素７８，８０の内部変数が制約条件から外れてしまうことを確実に抑止することができ、精密モデル７０に基づく制御を最適に行うことが可能となる。また、構成要素７８，８０が動作環境制約条件を満たした場合にのみ精密モデル７０から出力Ｙ（ｉ）を算出するため、動作環境制約条件を満たしていない出力Ｙ（ｉ）が算出されてしまうことを回避でき、精密モデル７０による演算処理量を低減することができる。
【０３５１】
以上説明したように実施の形態９によれば、簡易線形モデル７１における演算結果に基づいて、精密モデル７０への入力の制約条件を絞り込むようにしたため、精密モデル７０における演算の負荷を低減することができる。また、精密モデル７０内の構成要素７８，８０の内部変数を考慮して入力Ｕ（ｉ）を設定することができるため、構成要素７８，８０の内部変数が動作環境制約条件から外れてしまうことを確実に抑止することができる。従って、各構成要素７８，８０を正常に動作させた状態で、最適な入力Ｕ（ｉ）と出力Ｙ（ｉ）の組み合わせを算出することが可能となり、精密モデル７０に基づくハイブリッドシステムの制御を最適に行うことが可能となる。
【０３５２】
実施の形態１０．
次に、本発明の実施の形態１０について説明する。実施の形態１０は、実施の形態２の制御をハイブリッドシステムの制御に適用したものである。
【０３５３】
図２５は、実施の形態１０のシステムを示す模式図である。図２５に示すように、本実施形態のシステムは、制御対象としてのハイブリッドシステムをモデル化した精密モデル９０と簡易線形モデル９１を備えている。ハイブリッドシステム９０は、実施の形態６の精密モデル４０と同様の構成であり、第１のモータ９２、第２のモータ９４、第１のクラッチ９６、第２のクラッチ９８、結合器１００を備えている。図２５に示すように、第１のモータ９２は、その内部に構成要素１０２を備えている。また、第２のクラッチ９８は、その内部に構成要素１０４を備えている。構成要素１０２として、第１のモータ９２が備えるコイルなどの各種部品を適用することができる。また、構成要素１０４として、第２のクラッチ９８が備えるクラッチプレート、電磁駆動用のアクチュエータなどの各種要素を適用することができる。
【０３５４】
実施の形態６と同様に、精密モデル９０には、電流Ｉｃ１（ｔ）、電流Ｉｃ２（ｔ）、電流Ｉｍ１（ｔ）、電流Ｉｍ２（ｔ）が入力される。これらの入力のうち、電流Ｉｃ１（ｔ）は第１のクラッチ９６に入力され、電流Ｉｃ２（ｔ）は第２のクラッチ９８に入力される。また、電流Ｉｍ１（ｔ）は第１のモータ９２に入力され、電流Ｉｍ２（ｔ）は第２のモータ９４に入力される。
【０３５５】
第１のモータ９２は、電流Ｉｍ１（ｔ）の入力を受けてモータトルクＴｍ１（ｔ）、回転数Ｎｍ１（ｔ）を出力する。これらの出力は第１のクラッチ９６へ入力される。また、第２のモータ９４は、電流Ｉｍ２（ｔ）の入力を受けてモータトルクＴｍ２（ｔ）、回転数Ｎｍ２（ｔ）を出力する。これらの出力は第２のクラッチ９８へ入力される。結合器１００は、第１のクラッチ９６および第２のクラッチ９８からの出力を受けて、トルクＴＱ（ｔ）および回転数ＮＥ（ｔ）を出力する。トルクＴＱ（ｔ）および回転数ＮＥ（ｔ）は、精密モデル９０からの出力となる。
【０３５６】
一方、簡易線形モデル９１も電流Ｉｃ１（ｔ），Ｉｃ２（ｔ），Ｉｍ１（ｔ），Ｉｍ２（ｔ）の入力を受けて、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）を出力する。簡易線形モデル９１は、ハイブリッドシステムを簡易的に線形近似したモデルであって、入力の最適値に基づいて精密モデル９０への入力の制約条件を絞り込む機能を有している。
【０３５７】
図２５に示すように、電流Ｉｍ１（ｔ）は、第１のモータ９２内の構成要素１０２への入力ｕ１となる。また、電流Ｉｃ２（ｔ）は、第２のクラッチ９８内の構成要素１０４への入力ｕ２となる。
【０３５８】
入力としての電流Ｉｃ１（ｔ）、電流Ｉｃ２（ｔ）、電流Ｉｍ１（ｔ）、電流Ｉｍ２（ｔ）の制約条件は実施の形態６と同様であり、以下のように表される。
０≦Ｉｃ１（ｔ）≦ａ１
ｂ１≦Ｉｍ１（ｔ）≦ｂ２
ｃ１≦Ｉｍ２（ｔ）≦ｃ２
０≦Ｉｃ２（ｔ）≦ｄ２
Ｅ１≦Σ｛Ｉ（ｔ）｝≦Ｅ２
なお、ΣＩ＝Ｉｃ１＋Ｉｍ１＋Ｉｍ２＋Ｉｃ２
である。
【０３５９】
また、入力（アクチュエータ）の制御周期間での動作速度可能範囲についても実施の形態６と同様であり、以下のように表される。
ΔＩｃ１  ｍｉｎ≦Ｉｃ１（Δｔ）≦ΔＩｃ１  ｍａｘ
ΔＩｍ１  ｍｉｎ≦Ｉｍ１（Δｔ）≦ΔＩｍ１  ｍａｘ
ΔＩｍ２  ｍｉｎ≦Ｉｍ２（Δｔ）≦ΔＩｍ２  ｍａｘ
ΔＩｃ２  ｍｉｎ≦Ｉｃ２（Δｔ）≦ΔＩｃ２  ｍａｘ
ΔΣ｛Ｉ  ｍｉｎ｝≦Σ｛Ｉ（Δｔ）｝≦ΔΣ｛Ｉ  ｍａｘ｝
【０３６０】
そして、実施の形態１０では、第１のモータ９２内の構成要素１０２、第２のクラッチ９８内の構成要素１０４に動作環境制約条件が与えられる。各構成要素１０２，１０４の動作環境制約条件は以下のように表される。
ａ１≦ｘ１（ｔ）≦ａ２
ｂ１≦ｘ２（ｔ）≦ｂ２
【０３６１】
また、各構成要素１０２，１０４の動作環境制約条件として、内部構成要素の制御周期間での制約範囲は以下のように表される。
Δｘ１  ｍｉｎ≦ｘ１（Δｔ）≦Δｘ１  ｍａｘ
Δｘ２  ｍｉｎ≦ｘ２（Δｔ）≦Δｘ２  ｍａｘ
【０３６２】
例えば、上述のように構成要素１０２がモータ内のコイルである場合、内部変数ｘ１（ｔ）はコイルの温度として表すことができる。この場合、動作環境制約条件は、コイルが動作可能な温度に基づく制約条件となる。同様に、構成要素１０４がクラッチプレートである場合、内部変数ｘ２（ｔ）はクラッチプレートの温度として表すことができる。この場合、動作環境制約条件は、クラッチプレートが動作可能な温度に基づく制約条件となる。
【０３６３】
実施の形態６と同様に、入力の制約条件により入力Ｕが制約され、更に、簡易線形モデル４１によって絞り込まれた制約条件を満たす入力の組み合わせが精密モデル４０へ入力される。
【０３６４】
精密モデル９０は、入力を受けると、各構成要素１０２，１０４の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件の範囲内で動作しているか否かを確認する。そして、いずれかの構成要素の内部変数が動作環境制約条件を逸脱している場合は、その構成要素の入力ｕを修正し、これをシステム全体の入力Ｕ（ｉ）＝（Ｉｃ１，Ｉｃ２，Ｉｍ１，Ｉｍ２）に反映する。
【０３６５】
例えば、構成要素１０２の内部変数ｘ１（ｔ）が動作環境制約条件から外れている場合は、内部変数ｘ１（ｔ）が動作環境制約条件に収まるように構成要素１０２への入力ｕ１が修正される。このとき、入力ｕ１は、電流Ｉｍ１（ｔ）から決定されるため、内部変数ｘ１（ｔ）を動作環境制約条件に収めるようにＩｍ１（ｔ）の値が修正される。
【０３６６】
より具体的には、構成要素１０２の内部変数ｘ１（ｔ）が動作環境制約条件の上限値を超えている場合は、内部変数ｘ１（ｔ）が上限値となるように入力ｕ１の値が固定される。一方、内部変数ｘ１（ｔ）が動作環境制約条件の下限値を下回っている場合は、内部変数ｘ１（ｔ）が下限値となるように入力ｕ１の値が固定される。そして、入力ｕ１の値を固定するため、電流Ｉｍ１（ｔ）の値が修正される。電流Ｉｍ１（ｔ）の値は修正された値に固定される。
【０３６７】
これにより、構成要素１０２の内部変数ｘ１（ｔ）が動作環境制約条件の範囲から外れてしまうことが回避される。そして、構成要素１０２の内部変数ｘ１（ｔ）が上限値又は下限値となるように入力ｕ１の値を固定した状態では、入力ｕ１に影響を与えない電流Ｉｃ１（ｔ）、電流Ｉｃ２（ｔ）、電流Ｉｍ２（ｔ）が制約条件の範囲内で可変されて入力Ｕ（ｉ）が準備される。
【０３６８】
このようにして、構成要素１０２，１０４の動作環境制約条件に応じて修正された入力Ｕで出力Ｙを計算し、評価することを繰り返すことで、最適な制御入出力のセットを求める。これにより、構成要素１０２，１０４の動作環境制約条件を満たした最適な入出力のセットを求めることができる。
【０３６９】
次に、図２６のフローチャートに基づいて、実施の形態１０のシステムにおける処理の手順について説明する。先ず、ステップＳ１００１では、ハイブリッドシステムの精密モデル９０を作成する。次のステップＳ１００２では、各入力Ｉｃ１（ｔ），Ｉｃ２（ｔ），Ｉｍ１（ｔ），Ｉｍ２（ｔ）の制約条件を取り込む。次のステップＳ１００３では、各入力Ｉｃ１（ｔ），Ｉｃ２（ｔ），Ｉｍ１（ｔ），Ｉｍ２（ｔ）の刻み幅を決定する。
【０３７０】
次のステップＳ１００４では、エンジンの簡易線形モデル９１を作成する。次のステップＳ１００５では、出力の目標値ＴＱ（ｔ＋ｄ），ＮＥ（ｔ＋ｄ）に基づいて、簡易線形モデル７１から各入力Ｉｃ１（ｔ），Ｉｃ２（ｔ），Ｉｍ１（ｔ），Ｉｍ２（ｔ）の最適値（Ｕ（最適値））をそれぞれ算出する。
【０３７１】
次のステップＳ１００６では、ステップＳ１００５で算出した各入力の最適値のそれぞれが、精密モデル９０の制約条件の範囲内であるか否かを判定する。そして、最適値のうち、少なくとも１つが精密モデル９０の制約条件の範囲から外れている場合は、ステップＳ１００７へ進む。一方、全ての最適値が精密モデル９０の制約条件の範囲内の場合は、ステップＳ１００８へ進む。
【０３７２】
ステップＳ１００７では、精密モデル９０の制約条件の範囲から外れている入力を、精密モデル９０の制約条件の上限値又は下限値に固定する。例えば、簡易線形モデル９１から求めた最適値が精密モデル９０の制約条件の上限値を超えている場合は、最適値を上限値に固定する。一方、最適値が精密モデル９０の制約条件の下限値を下回っている場合は、最適値を下限値に固定する。ステップＳ１００７の後はステップＳ１００８へ進む。
【０３７３】
ステップＳ１００８では、ステップＳ１００５で算出した入力の最適値、およびステップＳ１００７で制約条件の上限値又は下限値に固定された最適値に基づいて、制約条件の絞り込みを行う。この際、図３で説明したように、精密モデル７０の制約条件の範囲の１／２〜１／３程度の範囲となるように制約条件の範囲を設定する。
【０３７４】
次のステップＳ１００９では、ステップＳ１００８で絞り込まれた制約条件を満たす全ての入力Ｕの組み合わせ数（各入力Ｉｃ１（ｔ），Ｉｃ２（ｔ），Ｉｍ１（ｔ），Ｉｍ２（ｔ）の組み合わせ数）Ｎを算出する。次のステップＳ１０１０では、組み合わせによって得られた全ての入力パターンＵ（ｉ）（ｉ＝１〜Ｎ）を準備する。ここで準備される入力Ｕ（ｉ）は、制約条件を満たすＩｃ１（ｔ），Ｉｃ２（ｔ），Ｉｍ１（ｔ），Ｉｍ２（ｔ）の全ての組み合わせである。
【０３７５】
次のステップＳ１０１１では、入力Ｕ（ｉ）の組み合わせを表す係数ｉを初期値１に設定する（ｉ＝１）。次のステップＳ１０１２では、Ｉｃ１（ｔ），Ｉｃ２（ｔ），Ｉｍ１（ｔ），Ｉｍ２（ｔ）の組み合わせからなる入力Ｕ（ｉ）を精密モデル９０へ入力する。
【０３７６】
次のステップＳ１０１３では、精密モデル９０内の構成要素１０２，１０４の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件から外れているか否かを判定する。ステップＳ１０１３において、いずれかの構成要素の内部変数が制約条件から外れている場合は、ステップＳ１０１４へ進む。
【０３７７】
ステップＳ１０１４では、内部変数が動作環境制約条件を外れている構成要素（ここでは構成要素ｘｍとする）を特定し、構成要素ｘｍの内部変数が動作環境制約条件の上限値または下限値となるように構成要素ｘｍへの入力ｕｍを固定する。
【０３７８】
次のステップＳ１０１５では、入力ｕｍの値を固定するため、現ルーチンでの入力（Ｉｃ１（ｔ），Ｉｃ２（ｔ），Ｉｍ１（ｔ），Ｉｍ２（ｔ））のうち、入力ｕｍに関係する入力値を所定値に固定する。例えば、図２５に示す構成要素１０４への入力ｕ２の値を固定する場合、入力ｕ２は電流Ｉｃ２（ｔ）のみによって変化するため、電流Ｉｃ２（ｔ）を所定値Ｉｃ２２に固定する。但し、所定値Ｉｃ２２が入力Ｕ（ｉ）の制約条件から外れている場合は、電流Ｉｃ２（ｔ）を制約条件の範囲に収まる所定値Ｉｃ２２に修正する。
【０３７９】
次のステップＳ１０１６では、ステップＳ１０１５で固定した入力以外の入力を変化させて、新たに入力Ｕ（ｉ）を準備する。例えば、上述のように電流Ｉｃ２（ｔ）を所定値Ｉｃ２２に固定した場合は、他の入力Ｉｃ１（ｔ），Ｉｍ１（ｔ），Ｉｍ２（ｔ）を変化させて新たな入力Ｕ（ｉ）を準備する。
【０３８０】
ステップＳ１０１６の後はステップＳ１０１２へ戻る。ステップＳ１０１２では、ステップＳ１０１６で準備した入力Ｕ（ｉ）を精密モデル９０へ入力し、出力Ｙ（ｉ）を算出する。
【０３８１】
このように、ステップＳ１０１３からステップＳ１０１６の処理によれば、構成要素１０２，１０４の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件を外れている場合は、制約条件を外れた要因となる入力を固定して、他の入力を可変することで新たな入力Ｕ（ｉ）が準備される。そして、新たな入力がステップＳ１０１３の判定を通過するまで、ステップＳ１０１３からステップＳ１０１６に至る処理を繰り返すことで、構成要素１０２，１０４の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件を満たすような入力Ｕ（ｉ）を求めることができる。
【０３８２】
ステップＳ１０１３において、構成要素１０２，１０４の内部変数ｘ１（ｔ），ｘ２（ｔ）が動作環境制約条件の範囲内であることが判定された場合は、ステップＳ１０１７へ進む。ステップＳ１０１７では、精密モデル９０から出力Ｙ（ｉ）を算出し、保存する。ここで出力されたＹ（ｉ）は、ステップＳ１０１２での入力Ｕ（ｉ）に対応して出力された、トルクＴＱ（ｔ）、回転数ＮＥ（ｔ）の組み合わせである。
【０３８３】
次のステップＳ１０１２では、評価関数を用いて出力Ｙ（ｉ）のそれぞれの制御性を示す評価値Ｅ（ｉ）を求め、出力Ｙ（ｉ）の制御性を評価する。
【０３８４】
次のステップＳ１０１９では、ｉ＝Ｎであるか否かを判定し、ｉ≠Ｎの場合は、ステップＳ１０２０へ進み、現在のｉの値に１を加算し、ｉ＝ｉ＋１としてステップＳ１０１２へ戻る。一方、ステップＳ１０１９でｉ＝Ｎの場合はステップＳ１０２１へ進む。
【０３８５】
ステップＳ１０２１では、各出力Ｙ（ｉ）の評価値Ｅ（ｉ）に基づいて、最も評価の高い入力と出力のセット（組み合わせ）を求める。ステップＳ１０２１の後は処理を終了する(RETURN)。
【０３８６】
図２６の処理によれば、簡易線形モデル９１の演算に基づいて制約条件を絞り込むため、精密モデル９０における演算の負荷を低減することが可能となり、処理速度を高めることが可能となる。また、構成要素ｘｍの内部変数が動作環境制約条件から外れている場合は、構成要素ｘｍへの入力ｕｍを固定し、内部変数が動作環境制約条件の範囲内に収まるような入力Ｕ（ｉ）を作成することができる。従って、構成要素の内部変数が動作環境制約条件の範囲に収まるように、最適な入出力のセットを算出することが可能となる。これにより、構成要素１０２，１０４の内部変数が制約条件から外れてしまうことを確実に抑止することができ、精密モデル９０に基づく制御を最適に行うことが可能となる。また、構成要素１０２，１０４が動作環境制約条件を満たした場合にのみ精密モデル９０から出力Ｙ（ｉ）を算出するため、動作環境制約条件を満たしていない出力Ｙ（ｉ）が算出されてしまうことを回避でき、精密モデル９０による演算処理量を低減することができる。
【０３８７】
以上説明したように実施の形態１０によれば、簡易線形モデル９１における演算結果に基づいて、精密モデル９０への入力の制約条件を絞り込むようにしたため、精密モデル９０における演算の負荷を低減することができる。また、精密モデル９０内の構成要素１０２，１０４の内部変数を考慮して入力Ｕ（ｉ）を設定することができるため、構成要素１０２，１０４の内部変数が動作環境制約条件から外れてしまうことを確実に抑止することができる。従って、各構成要素１０２，１０４を正常に動作させた状態で、最適な入力Ｕ（ｉ）と出力Ｙ（ｉ）の組み合わせを算出することが可能となり、精密モデル９０に基づく制御を最適に行うことが可能となる。
【図面の簡単な説明】
【０３８８】
【図１】本発明の実施の形態１を説明するための模式図である。
【図２】評価関数Ｅによる評価方法を示す模式図である。
【図３】精密モデルへの入力値の制約条件を絞り込む方法を説明するための模式図である。
【図４】実施の形態１に係る具体的な処理の手順を示すフローチャートである。
【図５】評価結果に基づいて制約条件を変更する処理を示すフローチャートである。
【図６】実施の形態２のシステムを示す模式図である。
【図７】実施の形態２に係る具体的な処理の手順を示すフローチャートである。
【図８】実施の形態３のシステムを示す模式図である。
【図９】精密モデルによって表現された実機の内燃機関システムの構成を示す模式図である。
【図１０】精密モデルの具体的な構成を示す模式図である。
【図１１】実施の形態３に係る具体的な処理の手順を示すフローチャートである。
【図１２】評価結果に基づいて制約条件を変更する処理を示すフローチャートである。
【図１３】実施の形態４のシステムを示す模式図である。
【図１４】実施の形態４に係る具体的な処理の手順を示すフローチャートである。
【図１５】実施の形態５のシステムを示す模式図である。
【図１６】実施の形態５に係る具体的な処理の手順を示すフローチャートである。
【図１７】実施の形態６のシステムを示す模式図である。
【図１８】実施の形態６に係る具体的な処理の手順を示すフローチャートである。
【図１９】実施の形態７のシステムを示す模式図である。
【図２０】実施の形態７に係る具体的な処理の手順を示すフローチャートである。
【図２１】実施の形態８のシステムを示す模式図である。
【図２２】実施の形態８に係る具体的な処理の手順を示すフローチャートである。
【図２３】実施の形態９のシステムを示す模式図である。
【図２４】実施の形態９に係る具体的な処理の手順を示すフローチャートである。
【図２５】実施の形態１０のシステムを示す模式図である。
【図２６】実施の形態１０に係る具体的な処理の手順を示すフローチャートである。
【符号の説明】
【０３８９】
１０，２０，３０，４０，５０，６０，７０，９０  精密モデル
１１，２８，３１，４１，５１，６１，７１，９１  簡易線形モデル
１２，１４，５２，５４，６２，６４，７８，８０，１０２，１０４  構成要素
【図１】
2007109103.tif 000003
【図２】
2007109103.tif 000004
【図３】
2007109103.tif 000005
【図４】
2007109103.tif 000006
【図５】
2007109103.tif 000007
【図６】
2007109103.tif 000008
【図７】
2007109103.tif 000009
【図８】
2007109103.tif 000010
【図９】
2007109103.tif 000011
【図１０】
2007109103.tif 000012
【図１１】
2007109103.tif 000013
【図１２】
2007109103.tif 000014
【図１３】
2007109103.tif 000015
【図１４】
2007109103.tif 000016
【図１５】
2007109103.tif 000017
【図１６】
2007109103.tif 000018
【図１７】
2007109103.tif 000019
【図１８】
2007109103.tif 000020
【図１９】
2007109103.tif 000021
【図２０】
2007109103.tif 000022
【図２１】
2007109103.tif 000023
【図２２】
2007109103.tif 000024
【図２３】
2007109103.tif 000025
【図２４】
2007109103.tif 000026
【図２５】
2007109103.tif 000027
【図２６】
2007109103.tif 000028