制御対象を計測する計測点を最適化するための装置
【課題】制御対象を計測する際の計測点を最適化する。
【解決手段】制御対象について、所定の制御パラメータに対する性能データを計測するための計測点を最適化するための装置を提供する。該装置は、該制御対象のモデルを用い、該制御対象の制御パラメータに対する性能特性を予測して予測性能データ(RSM_est)を算出する。該予測性能データに対して、設定された計測点においてサンプリングし、該サンプリングされた性能データに基づいてサンプリング性能データ(RSM_nm)を算出する。該予測性能データと該サンプリング性能データの間の誤差(Ersm_nm)が最小となるように、計測点の配置を最適化する。好ましい形態では、計測点の数についても最適化される。
【解決手段】制御対象について、所定の制御パラメータに対する性能データを計測するための計測点を最適化するための装置を提供する。該装置は、該制御対象のモデルを用い、該制御対象の制御パラメータに対する性能特性を予測して予測性能データ(RSM_est)を算出する。該予測性能データに対して、設定された計測点においてサンプリングし、該サンプリングされた性能データに基づいてサンプリング性能データ(RSM_nm)を算出する。該予測性能データと該サンプリング性能データの間の誤差(Ersm_nm)が最小となるように、計測点の配置を最適化する。好ましい形態では、計測点の数についても最適化される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御対象を計測する計測点を最適化するための装置に関する。
【背景技術】
【0002】
或る制御対象の性能特性を所定の計測点(制御パラメータの組み合わせ)で自動的に計測することが行われている。たとえば、制御対象が内燃機関(以下、エンジンと呼ぶ)である場合、車載の制御装置(ECUと呼ばれる)には、エンジン制御に必要な様々なデータやテーブルが記憶されるが、このようなデータやテーブルを生成するためには、エンジンの性能特性を的確に把握する必要があり、そのため、エンジンの自動計測が行われる。
【0003】
下記の特許文献1には、エンジンの性能特性を自動計測するためのハードウェア構成が示されている。しかしながら、この文献は、エンジン性能を自動で計測するシステム構成を示しているのみであり、人間の労力を軽減することはできても、制御パラメータ数が肥大化し、計測点数が膨大になってしまう。したがって、最近時のエンジンの性能特性をより短時間で計測したいという要求に答えることはできない。
【0004】
また、AVL List GmbH社(オーストリア)の CAMEOシステムでは、実験計画法を用いてエンジン性能の自動計測を行っている。このシステムでは、実験計画法によりエンジン性能の計測点数を低減することによって、計測時間の短縮を図っている。しかしながら、制御パラメータに対して急な変化を示す最近時のエンジンの計測にこれを適用する場合、計測点を減らしすぎるとエンジン性能の凹凸変化を正確にとらえられない恐れがある。したがって、実際には十分に計測点を減らすことができない。また、自動計測を行う際、エンジン性能の変曲点の大まかな存在位置を予め入力する必要があるため、過去に計測を行ったことのないエンジンの自動計測が困難である。
【0005】
現在のエンジンは、自在動弁系や1サイクルに数回の燃料噴射を行える直噴燃料系、可変ジオメトリ過給器など多くの可変デバイスを有するため、それらへの指令値、すなわち、制御パラメータの組み合わせの数が膨大化している。
【0006】
このため、エンジンの性能特性を把握するためには、膨大な数の制御パラメータの組み合わせ条件の計測を行う必要があり、その計測に多大な時間を要している。また、ある所定の評価指標(燃費・出力・エミッション等)に対して複数の制御パラメータの組み合わせを最適化するために、多くの条件での計測を行う必要がある。
【0007】
このことから、図1(a)に示すような実験計画法を用いて格子状に各制御パラメータの値の組み合わせを定め、これらの組み合わせ毎に、自動的に該制御パラメータをそれぞれの設定値に一定保持しながら、自動的に計測を行う自動計測が行われている。
【0008】
たとえば、図1(b)に示した従来の自動計測手法では、制御パラメータAおよびBの値を、或る組み合わせから他の組み合わせに変更した後(時間t1)、性能データが安定化するまで計測を停止し、その後の所定期間において計測を行うというシーケンスを採用している。このため、一つの計測点に対する性能データの計測に数十秒から数分を要する。よって、実験計画法を用いたとしても、それによる計測点の削減効果は十分ではなく、エンジンの全条件での性能把握を行うには、数週間や数ヶ月といった膨大な時間を要する。
【0009】
また、制御対象がエンジンである場合、該制御対象の特性は、図2のように制御パラメータに対して非常に複雑な凹凸曲面特性を有しており、その変化も非常に急峻である。このため、実験計画法を使って過度に計測点の数を減らしてしまうと、実際のエンジン性能特性の凹凸特性やピーク点をとらえることができなくなってしまう。たとえば、図3には、符号101によってエンジンの実際の性能特性が示されており、実験計画法による計測点は、制御パラメータAがUa1、Ua2およびUa3を取る3点である。これら3個の計測点で計測された性能データをつなげると、符号103によって示されるような性能特性が得られる。実際の性能特性101と計測によって得られた性能特性103とを比較して明らかなように、該計測によって得られる性能特性は、実際の性能特性に追従していない。したがって、符号105によって示されるような実際の凹凸特性やピーク点を、計測によって得られる性能特性では取得することができていない。このような取得することのできなかった凹凸特性やピーク点が本来得たい性能データの最適値だった場合には、エンジン性能を最大限に使用することができないこととなり、この計測は意味を成さないことになる。これらのことから、現在の自動計測装置が用いている実験計画法を基にした手法では、実際には計測点をそれほど減らすことができず、計測時間の短縮は図れない。換言すると、計測点を減らした場合は、最適点や凹凸特性などを計測できていない可能性が高くなる。
【特許文献1】特開2000-35379
【非特許文献1】Real-Time Optimization by Extremum Seeking Control, Kartik B. Ariyur, Miroslav Krstic, Wiley-Interscience, 2003/09
【発明の開示】
【発明が解決しようとする課題】
【0010】
したがって、エンジンのような複雑な性能特性を有する制御対象について、上記のような性能データの最適点や凹凸特性などを確実にとらえることができるように、計測点の配置を最適化することのできる装置が望まれている。また、可能な限り計測点を減らすことができるように、計測点の数についても最適化することのできる装置が望まれている。
【課題を解決するための手段】
【0011】
上記の課題を解決するため、この発明は、制御対象について、所定の制御パラメータに対する性能データを計測するための計測点を最適化するための装置を提供する。該装置は、該制御対象のモデルを用い、該制御対象の制御パラメータに対する性能特性を予測して予測性能データ(RSM_est)を算出する手段と、該予測性能データに対して、設定された計測点においてサンプリングし、該サンプリングされた性能データに基づいてサンプリング性能データ(RSM_nm)を算出する手段と、該予測性能データと前記サンプリング性能データの間の誤差(Ersm_nm)が最小となるように、計測点の配置を最適化する手段と、を備える。
【0012】
この発明によれば、制御パラメータに対する性能特性が複雑な増減を示すエンジンのような制御対象についても、計測点の配置を最適化することができる。該最適化された計測点で該制御対象を計測すれば、該制御対象のより正確な性能特性を取得することができるので、該取得した性能特性に基づいて、該制御対象に対する様々な制御に要するデータおよびテーブルを作成することにより、該制御対象の性能を最大限に発揮させるような制御を実現することができる。たとえば、該制御対象がエンジンならば、該エンジンの性能として、エミッション、燃費、動力、ノイズ・振動(NV)性能等があるが、これらについて良好な性能を実現することができる。
【0013】
この発明の一形態では、上記最適化は、計測点の数についても行われる。こうして、計測点の配置だけでなく計測点の数についても最適化が行われるので、制御パラメータに対する性能特性が複雑な増減を示すエンジンのような制御対象についても、該制御対象の性能特性を計測する時間を短縮しつつ、該制御対象のより正確な性能特性を取得することができる。
【0014】
この発明の一形態では、上記最適化された計測点において実際の前記制御対象に対する計測を行い、該制御対象の実際の性能特性を取得する。こうして、前述したように、最適化された計測点で計測を行うことにより、実際の制御対象について、より正確な性能特性を取得することができる。
【0015】
この発明の一形態では、上記計測点の配置および数の最適化は、遺伝的アルゴリズム(GA)によって行われる。
【0016】
計測点の最適化は、ローカルミニマム(局所最適点)の存在しやすい複雑な最適化問題を解く必要があり、一般的な線形の最適化アルゴリズムでは、計測点の数の十分な削減や、計測点の配置の最適化が困難である。たとえば、最適化を行う計測点の配置および数の初期値により、最適化された計測点の配置および数が異なるおそれがある。遺伝的アルゴリズムを適用することにより、ローカルミニマムに陥ることなく、計測点の配置および数を大域的に探索することができる可能性を高めることができる。
【0017】
この発明の一形態では、遺伝的アルゴリズムにおける突然変異の処理の際、前記計測点の数を削減する意味を有するDNA要素をDNA個体に組み込む。これにより、計測点の数を、より効率的に削減することができる。
【0018】
一般的な遺伝的アルゴリズムにおいては、DANの要素数を増減するような最適化は行うことができない。そのため、これまでは、計測点の配置および数を同時に最適化する問題を遺伝的アルゴリズムで解くことが困難であった。しかしながら、この発明によれば、DNA要素の中に、計測点を無効化(塞源)することを示す値(実施例では、「99」)を組み入れることにより、計測点の配置および数の最適化を同時に行うことができる。
【0019】
この発明の一形態では、遺伝的アルゴリズムにおいて、評価関数を用いてDNA個体を評価する際、前記計測点の数の増大に応じて該評価関数による評価が低下するように、該評価関数に対する重み付けを行う。
【0020】
一般的に、計測点の数が多いほど、より良好な精度で制御対象の性能特性を計測することができる可能性が高いので、一般的な遺伝的アルゴリズムを実行しても、計測点の数を効率的に減らすことは困難である。しかしながら、この発明によれば、評価関数への重み付け処理により、計測点数の少ない解が導出される確率を向上させることができるので、計測点の数の削減を効率的に実現することができる。
【0021】
この発明の一形態では、遺伝的アルゴリズムにおける選択処理の際、各DNA個体の計測点数毎に、前記評価関数による評価が高い順にDNA個体の選択を行う。
【0022】
前述したように、一般的には、計測点の数が多いほど、より良好な精度で制御対象の性能特性を計測することができる可能性が高いので、一般的な遺伝的アルゴリズムを実行しても、計測点の数を効率的に減らすことは困難である。しかしながら、この発明によれば、DNAの進化の過程においても、計測点数を削減しているDNA個体の存続確率を増やすことができるので、計測点数の削減をより効率的に実現することができる。
【0023】
この発明の他の実施形態によると、上記計測点の配置の最適化は、該計測点の数が所定値である場合に、上記誤差を最小にするための計測点の配置を算出する最適化アルゴリズムにより行われる。
【0024】
最適化アルゴリズムとして、例えば最急降下法および最小二乗法等が知られているが、このような最適化アルゴリズムを用いても、計測点の配置を最適化することができる。
【0025】
この発明の他の実施形態によると、上記計測点の配置および数の最適化は、さらに、計測点の数を変更しながら、上記最適化アルゴリズムによる処理を繰り返し、該繰り返しの結果、上記誤差が最小になる計測点の配置および数を求めることにより行われる。
【0026】
一般に、最急降下法および最小二乗法等の最適化アルゴリズムでは、計測点の数および配置の両方を同時に最適化することはできない。しかしながら、計測点の数を変更しながら最適化アルゴリズムによる処理を繰り返すことにより、計測点の配置だけでなく、計測点の数を最適化することができる。よって、より少ない数の計測点で、実際の制御対象についての性能特性を取得することができる。
【0027】
この発明の他の実施形態によると、上記誤差が最小になる計測点の配置および数を求めるために所定の評価関数が用いられ、該評価関数は、該計測点の数の増大に応じて該評価関数による評価が低下するように、重み付けがなされている。
【0028】
このような重み付けがなされた評価関数を用いることにより、計測点数の少ない解が導出される確率を向上させることができるので、計測点の数の削減を効率的に実現することができる。
【発明を実施するための最良の形態】
【0029】
以下に図面を参照しながらこの発明の実施形態を説明する。図4は、この発明の一実施形態に従う、計測点を最適化するための装置のブロック図である。該装置は、任意のコンピュータに実現されることができ、該コンピュータは、CPU(中央処理装置)、記憶装置(メモリおよびハードディスク装置を含む)、キーボードおよびマウスなどの入力装置、ディスプレイなどの出力装置を備えている。図に示される各機能ブロックは、メモリに記憶されたコンピュータプログラムをCPUが実行することによって実現されることができる。
【0030】
以下の実施例では、内燃機関(以下、エンジンと呼ぶ)を制御対象としている。制御対象は、制御パラメータに応じた性能特性を呈する。制御対象がエンジンの場合、制御パラメータは、たとえば吸気弁のリフト量、吸気カムの位相、吸気管の負圧、空燃比、燃料噴射量等がある。性能特性は、たとえば、エンジンの出力トルク、エミッション(エンジンから送り出されるHCやNOxの量)等がある。たとえば、制御パラメータが吸気弁のリフト量および吸気カムの位相である場合、これらの制御パラメータの値に応じた出力トルクが、該エンジンの性能特性として得られる。しかしながら、この発明は、他の制御対象にも適用されることができる。
【0031】
予測性能部11は、所定のエンジンモデルを用いて、エンジンの所定の制御パラメータに対する所定の性能特性を予測し、該制御パラメータに対する性能データを表した予測性能モデルRsm_estを生成する。
【0032】
エンジンモデルは、実際のエンジンをモデル化したものであり、任意の適切な手法で生成されたものを用いることができる。たとえば、化学素反応モデル(ゼロ次元)のエンジンモデルを用いることができる。該化学素反応モデルは、多数の素反応の組み合わせによって、エンジンにおける化学反応を記述したものである。また、エンジンモデルは、1次元または3次元モデルでもよい。たとえば、エンジンの吸排気の流れを、1次元または3次元解析してモデル化することができる。
【0033】
このようなエンジンモデルを用いて、制御パラメータとそれに対する性能データを予測性能データとして取得し、両者の関係をモデルとして表すことができる。これを、予測性能モデルRSM_estと呼ぶ。このようなモデルは、任意の適切な手法で生成されることができる。たとえば、制御パラメータに対する性能データを応答曲面によって表し、これを予測性能モデルとすることができる。応答曲面の生成には、たとえばクリギング法、二次関数曲面、またはニューラルネットワークを用いることができる。代替的に、制御パラメータの各値(組み合わせ)に対する性能データの値を1つの格子点で表し、膨大な数の該格子点を持つ補間マップとして、予測性能モデルを表すこともできる。
【0034】
このような予測性能モデルの生成を、たとえば市販されているツール(ソフトウェア)を用いて実現することができる。このようなツールでは、エンジンモデルを生成し、該生成したモデルにおいて、たとえばスロットル弁の開度(制御パラメータ)に対するトルク(性能データ)を取得することにより、該制御パラメータとそれに対応する性能データとの間の関係を、たとえば応答曲面法によって求めることができる。図5には、一例として、所定のエンジンモデルにおいて制御パラメータAおよびBおよびそれに対する性能データから生成された予測性能モデルの一例が示されている。
【0035】
代替的に、計測対象となるエンジンと近い諸元を持つエンジンについて実際に計測された性能データがある場合には、これを予測性能データとして用い、該予測性能データから、応答曲面等を用いて予測性能モデルを生成してもよい。
【0036】
こうして生成された予測性能モデルRSM_estは、コンピュータの記憶装置に格納される。
【0037】
指定計測点決定部12は、所定の計測点を予め指定する。指定された計測点を指定計測点と呼ぶ。指定計測点は、任意の基準で決定されることができる。この実施例では、エンジンを制御するのに必要な、または所望と考えられる計測点を、指定計測点とする。
【0038】
一例として、指定計測点は以下のように決定されることができる。
1)予測性能データが最大化および/または最小化する点。
2)制御パラメータの値が所定の条件を満たす点。または、制御パラメータの値が最大および/または最小となる点。
3)予測性能データの値が所定の条件を満たす点。または、予測性能データが最大および/または最小となる点。
【0039】
ここで図6を参照すると、制御パラメータAの値に対する予測性能データの値111(これは、予測性能モデルによって表される)が示されており、ここに、指定計測点の一例が示されている。指定計測点A(i)は、上記1)を満たす指定計測点であり、予測性能データが最大となる制御パラメータ値である。A(ii)は、上記2)を満たす指定計測点であり、制御パラメータ値が最小となる指定計測点である。A(iii)は、予測性能データの値が所定の条件(値X(iii)を取るという条件)を満たす指定計測点である。
【0040】
指定計測点を用いることにより、予め必要な、もしくは所望の計測点を、除外することなく最適計測点に含めることができる。
【0041】
初期集団決定部13は、指定計測点を、各DNA個体中の染色体(以下、DNA要素と呼ぶ)として含むように、遺伝的アルゴリズムにおける初期集団(世代ゼロ)を決定する。初期集団は、所定数のDNA個体を含む。
【0042】
最適化部15は、遺伝的アルゴリズムを用いて、計測点の配置(どの値の制御パラメータを組み合わせるか)を最適化する。好ましい形態では、最適化部15は、遺伝的アルゴリズムを用いて、計測点の配置だけでなく数についても最適化する。
【0043】
より具体的には、サンプリングモデル生成部21は、記憶装置から予測性能モデルRSM_estを読み出し、それぞれのDNA個体により規定される制御パラメータ値において該予測性能モデルRSM_estをサンプリングし、該サンプリングされた予測性能データから、サンプリング性能モデルRSM_nmを生成する。評価部22は、予測性能モデルRSM_estと該サンプリング性能モデルRSM_nmとを比較し、評価関数を用いて、該サンプリング性能モデルRSM_nmを評価する。
【0044】
DNA更新部23は、より高い評価のDNA個体を残すように、遺伝的アルゴリズムにおける選択、交叉および突然変異処理を行う。収束判定部24は、現世代のDNA個体のうち最も評価の高かったDNA個体と、前世代のDNA個体のうち最も評価の高かったDNA個体との差に基づいて、最適化が収束したかどうかを判断する。収束したと判断したならば、現世代のうち最も高い評価のDNA個体により表される制御パラメータの値を、最適化された計測点とする。こうして、予測性能モデルRSM_estとサンプリング性能モデルRSM_nmとの間の誤差が最小になるように、計測点の配置および数が最適化される。
【0045】
計測部17は、最適化された計測点において、実際のエンジンを自動計測する。計測には、既知の適切な手法および装置を用いることができる。たとえば台上試験として知られているように、試験対象のエンジンを架台(ベンチ)に設置し、接続された試験装置を介して該エンジンを運転させ、エンジンの性能測定を行う装置が知られている。どのような試験を行うかは、該試験装置に接続されたコンピュータによって制御可能なようになっている。たとえば、該コンピュータは、最適計測点毎にエンジン性能データを自動的に取得するよう該試験装置を制御し、こうして取得した性能データを、該コンピュータの記憶装置に取り込んだりディスプレイ等の出力装置に表示させることができる。
【0046】
予測性能モデルはエンジンモデルに基づいているので、該予測性能モデルから得られる予測性能データは、実際のエンジン性能の凹凸特性や増減特性等の挙動を模しているが、実際の性能データの大きさに対しては誤差を有している。本願発明によれば、予測性能モデルの挙動に適合した配置および数の計測点が得られるので、該計測点において実際のエンジンを計測することにより、実際のエンジンの挙動および大きさに追従する性能データを取得することができる。
【0047】
こうして最適計測点において実際に計測されたエンジンの性能データは、たとえばECUに記憶されるべきデータおよびテーブル等の生成に用いられることができる。これらのデータおよびテーブル等を用いてエンジン制御を実行することにより、該エンジン制御を、エンジンの性能を最大限に発揮するよう実現することができる。
【0048】
次に、図7〜図15を参照して、本願発明の一実施形態に従う、コンピュータのCPUによって実行される、より具体的には図4の初期集団決定部13および最適化部15により実行される詳細なアルゴリズムを説明する。
【0049】
ステップS11において、遺伝的アルゴリズムにおけるDNA個体の集団の世代を示す世代パラメータmをゼロに初期化する。
【0050】
ステップS12において、初期集団(世代m=0)を生成する。ここで図8を参照すると、初期集団の一例が示されている。この実施例では、2種類の制御パラメータすなわち制御パラメータAおよびBを用いる。したがって、前述した指定計測点決定部12により、制御パラメータBについても、指定計測点が決定されている。制御パラメータAについては、図6を参照して説明した3個の指定計測点A(i)〜A(iii)を用いる。制御パラメータBについては、たとえば前述した条件1)および2)を満たす2個の指定計測点B(i)およびB(ii)を用いる。制御パラメータAおよびBについての指定計測点の数を、それぞれoa個およびob個とする。したがって、この実施例では、oa=3およびob=2である。なお、各制御パラメータについて、指定計測点の数は任意に決定されることができる。また、制御パラメータの種類をいくつにするかも任意に決定されることができる。
【0051】
1世代あたりのDNA個体の数は、N個とする。また、制御パラメータAについての染色体(DNA要素)の最大数はpa個であり、制御パラメータBについてのDNA要素の最大数はpb個である。paおよびpbは、それぞれ、制御パラメータAおよびBについての最大計測点数を示しており、これらの値も任意に決定されることができる。
【0052】
ここでは、それぞれのDNA要素の表記について、一桁目は制御パラメータの種類を示し、2桁目はDNA要素の番号を示し、3桁目はDNA個体の番号を示し、4桁目は世代番号を示す。たとえば、「A135」は、制御パラメータAの第5世代の第3のDNA個体における1番目のDNA要素、を表している。
【0053】
それぞれのDNA個体において、指定計測点は、固定のDNA要素として含められる。この例では、制御パラメータAについての指定計測点は、各DNA個体において、1〜3番目のDNA要素に含められており、制御パラメータBについての指定計測点は、各DNA個体において、1および2番目のDNA要素に含められる。
【0054】
各DNA個体において、指定計測点をDNA要素として定義した後、残りのDNA要素(pa−oa個、pb−ob個)のそれぞれを、制御パラメータAおよびBがそれぞれ取りうる範囲内に制限された乱数によって生成する。こうして、N個のDNA個体が生成される。
【0055】
さらに、乱数的に任意のDNA要素を抽出し、該抽出した要素を、該要素で表される計測点を無効化する(すなわち、計測点として使用しない)ことを意味する値(この実施例では、制御パラメータAおよびBがとりうる範囲外の値である「99」を用いる)に置換する。しかし、無効化するDNA要素は、指定計測点が定義されたDNA要素以外のDNA要素から抽出される。この例では、A420、B420、A5n0のDNA要素が無効化されている。各DNA個体において、無効化するDNA要素の数は、任意に決定されることができ、制御パラメータAとBとの間で無効化するDNA要素の数を等しくする必要もない。こうして、各DNA個体において、「99」に置換されたDNA要素がゼロの場合には、最大計測点数はpa個およびpb個となり、置換されたDNA要素が1個である場合には、最大計測点数は(pa−1)個および(pb−1)個となり、置換されたDNA要素が2個である場合には、最大計測点数は(pa−2)個および(pb−2)個となる。ここで、m世代におけるn番目のDNA個体において置換されなかった計測点数の総数を、それぞれ、pa_ef_nmおよびpb_ef_nmで表す。
【0056】
次に、ステップS13において、記憶装置に格納されている予測性能モデルRSM_estを読み出し、該予測性能モデルRSM_estに対し、制御パラメータAについての値Av_r(r=1〜va)および制御パラメータBについての値Bv_s(s=1〜vb)においてサンプリングを行い、予測性能データVest_rsを取得する。これは、後述する評価に用いられる。
【0057】
vaおよびvbは、va>>paおよびvb>>pbを満たすよう十分大きな値(たとえば、paおよびpbのそれぞれ10倍以上)が望ましく、vaおよびvbは、一般的な実験計画法や乱数によって生成してよい。
【0058】
ステップS14において、DNA個体の評価プロセスを実行する。該評価プロセスは、図9に示されている。
【0059】
ステップS21において、繰り返しパラメータi(DNA個体の番号nを識別する)をゼロに設定する。
【0060】
ステップS22において、前述したように、「99」によって無効化されなかった計測点の総数pa_ef_nmおよびpb_ef_nmをそれぞれ算出し、総計測点数Ns_nm(制御パラメータAの値と制御パラメータBの値の組み合わせ数)を、次のように計算する。
Ns_nm=pa_ef_nm×pb_ef_nm
【0061】
ステップS23において、m世代のn番目のDNA個体中の各DNA要素によって定義される制御パラメータを、Apnm(p=1〜pa)およびBqnm(q=1〜pb)で表す。ApnmおよびBqnmにおいて予測性能モデルRsm_estをサンプリングすることにより、予測性能データYapn_bqn_m(p=1〜pa、q=1〜pb)を取得する。
【0062】
ここで、図10を参照すると、Yapn_bqn_mの一例が示されている。なお、ApnmおよびBqnmのいずれかが無効化されている(すなわち、「99」で置換されている)場合には、予測性能データのサンプリングは行われない。したがって、総計測点数がNs_nm個であるので、Ns_nm個のYapn_bqn_mが取得される。
【0063】
ステップS24において、サンプリングされた予測性能データYapn_bqn_mに基づいて、サンプリング性能モデルRSM_nmを生成する。前述したように、予測性能モデルRSM_estは、制御パラメータと、それに対する性能データとの間の関係をコンピュータにより算出したものである。したがって、該予測性能モデルの生成手法と同様の手法で、制御パラメータApnmおよびBqnmとそれに対応する性能データYapb_bqn_mとから、サンプリング性能モデルRSM_nmを生成することができる。サンプリング性能モデルRSM_nmは、現在のDNA個体によって表される計測点において実現されうるエンジンの性能特性を表しているといえる。
【0064】
ステップS25において、前述したステップS13と同じ制御パラメータ値Av_rおよびBv_sにおいてサンプリング性能モデルRSM_nmをサンプリングし、サンプリング性能データVnm_rsを取得する。前述したステップS13と同じ制御パラメータ値Av_rおよびBv_sを用いるのは、予測性能モデルRSM_estとサンプリング性能モデルRSM_nmとを同じ条件下で比較するためである。
【0065】
一般的に、計測点数を多くするほうが、より良好な精度でサンプリング性能モデルRSM_nmを取得することができるが、この発明では、より少ない計測点数においてより高い精度のサンプリング性能モデルRSM_nmを得られるような計測点配置を探索するため、評価関数に、以下のような計測点数に応じた重み関数(ペナルティ)Wを乗算する。
【数1】
【0066】
代替的に、W=(Ns_nm)2/Nmax2でもよい。ここで、Nmax=pa×pbである。したがって、無効化されたDNA要素を持たないDNA個体については、W=1となり、重み付けは行われない。
【0067】
ステップS26では、重み関数Wを算出する。重み関数Wは、上記式に従って算出してもよいし、重み関数Wのテーブルを参照することにより求めてもよい。図11に、該テーブルの一例を示す。計測点数Ns_nmが大きくなるほど、重み付けWの値を大きくし、評価を低くするようにする。該テーブルをメモリに記憶しておき、該テーブルを、ステップS22で算出したNs_nmに基づいて参照することにより、対応するWを求めることができる。
【0068】
ステップS27において、サンプリング性能モデルRSM_nmを評価するため、以下のように、重み関数Wを含む評価関数の値Ersm_nmを算出する。
【数2】
【0069】
評価関数値Ersm_nmは、サンプリング性能モデルRSM_nmの予測性能モデルRSM_estに対する誤差を反映するので、該評価関数値Ersm_nmが小さいほど、該サンプリング性能モデルRSM_nmの基になったDNA個体の評価は高いことを示す。こうして、該DNA個体により実現される計測点が、予測性能モデル上の性能データを、どれほど良好な精度で再現することができるかが評価される。
【0070】
ステップS28において、繰り返しパラメータiを1だけインクリメントする。ステップS29において、iの値が、DNAの個体数を示すNを超えるまで、ステップS22〜28が各DNA個体に対して実行される。ステップS29の判断がNoになったならば、図7のステップS15に進み、DNAの更新プロセスを実行する。該更新プロセスは、図12に示されている。
【0071】
ステップS31において、評価関数の値Ersm_nmの値の小さい順に、N個のDNA個体を並べる。並べた結果の一例が、図13に示されている。
【0072】
ステップS32において、N個のDNA個体のうち、最も小さい評価関数の値を、Ersm_bestとする。これは、後述する最適化の収束判定に用いられる。
【0073】
ステップS33において、計測点数毎に、評価関数値Ersm_nmが小さい順にDNA個体を選択する。総計測点数の最大値Nmaxは、前述したようにpa×pbである。また、前述したように、指定計測点のDNA要素は無効化されず、その数は、oaおよびob個である。したがって、総計測点数の起こりうる最小値Nminは、oa×ob個である。
【0074】
Ns_nm=NminであるDNA個体のうち、最も小さい評価関数値Ersm_nmのDNA個体を1つ選択する。次に、Ns_nm=Nmin+1であるDNA個体のうち、最も小さい評価関数値Ersm_nmのDNA個体を1つ選択する。Ns_nm=Nmin+2、Nmin+3、...Nmaxについてこのような選択操作を繰り返す。Ns_nm=Nmaxに達したならば、再び、Ns_nm=Nminに戻り、Ns_nm=Nmin、Nmin+1、...Nmaxのそれぞれについて、まだ選択されていないDNA固体のうち、最も小さい評価関数値Ersm_nmのDNA個体を1つ選択する。選択したDNA個数が所定値Nsel(<N)に達した時点で、選択操作を終了する。
【0075】
一般的な遺伝的アルゴリズムでは、このような計測点数毎の選択操作は行われず、評価関数値Ersm_nmの小さい順にNsel個選択する。本願発明では、計測点数の少ないDNA個体の残存率を高めるため、このような計測点数毎の選択操作を行うのが好ましい。
【0076】
ステップS34において、選択されたNsel個のDNA個体から、ランダムに2つのDNA個体を選び、乱数によって交叉位置を決定する。ここで、図14を参照すると、選択された2つのDNA個体および決定された交叉位置の一例が示されている。この例では、制御パラメータAに関するDNA要素と制御パラメータBに関するDNA要素の間に交叉位置が決定されているが、このような交叉位置には限定されない。
【0077】
該2つのDNA個体間で、交叉位置よりも右側に存在するDNA要素を交換し、新たな2つのDNA個体を生成する。こうして、所定数Ncros(<N)のDNA交叉個体が生成される。
【0078】
ステップS35において、選択されたNsel個のDNA個体からランダムに1つのDNA個体を選び、乱数により突然変異位置を決定する。突然変異位置は、指定計測点のDNA要素は除外するよう決定される。該突然変異位置におけるDNA要素の値を、乱数により求めた値または無効化することを示す値「99」で置換する。ここで、乱数により求めた値は、制御パラメータAおよびBのそれぞれについて、取り得る範囲内の値である。なお、乱数により求めた値と無効化を示す値のどちらを採用して置換するかも、乱数を用いて決定するのが好ましい。こうして、所定数Nmut(<N)の新たなDNA個体が生成される。
【0079】
ステップS36において、選択、交叉および突然変異によって決定されたN個のDNA個体に対し、1〜Nの番号を再度割り振る。ここで、N=Nsel+Ncros+Nmutであり、このような関係になるよう、Nsel、NcrosおよびNmutは決定されている。番号を割り振る順番は、任意でよい。
【0080】
ステップS37において、世代パラメータmを1だけインクリメントし、図7のステップS16に進む。
【0081】
ステップS16において、以下の式に示すように、ステップS32で算出された今回の世代における最良の評価関数値Ersm_bestと、前回の世代における最良の評価関数値Ersm_bestとの差の絶対値D_ersm_bestを算出する。なお、該式において、(m−1)が今回の世代を示し、(m−2)が前回の世代を示しているが、これは、ステップS15の更新プロセス中において、世代パラメータmを1だけインクリメントしているからである(図12のS37)。なお、最良の評価関数値Ersm_best(m−1)が初代についてのものである場合には、前回の世代が存在しないので、Ersm_best(m−2)には、所定の初期値が設定される。
D_ersm_best=|Ersm_best(m-1)-Ersm_best(m-2)|
【0082】
ステップS17において、差D_ersm_bestが、所定値D_ersm_conv以下であれば、最適化が収束したと判断し、ステップS19に進む。そうでなければ、最適化を続行するため、ステップ18に進む。
【0083】
ステップS18において、世代数mが、所定の最大世代数Mmax以下ならば、最適化を続行するためステップS14に進む。世代数mがMmaxより大きければ、最適化を終了するため、ステップS19に進む。
【0084】
ステップS19において、今回の世代において最良の評価関数値Ersm_best(m−1)を実現するDNA個体によって定義される制御パラメータAおよびBの値を、最適計測点とする。こうして、最適化は終了する。なお、(m−1)が今回の世代を示しているのは、前述したように、ステップS15の更新プロセス中において世代パラメータmを1だけインクリメントしているからである。
【0085】
前述したように、最適計測点において、実際のエンジンの計測を行う。最適計測点は、実際のエンジンをモデル化したエンジンモデルから得られたエンジン性能の凹凸やピーク値(最適値)等の挙動を最も良好な精度で追従可能なよう決定された計測点である。したがって、最適計測点において実際のエンジンを計測することにより、該実際のエンジンの性能特性を、より良好な精度で取得することができる。
【0086】
図16および図17を参照して、本願発明に従って最適化された計測点の効果について説明する。この例では、制御パラメータA(たとえば、スロットル弁の開度、吸気バルブのリフト量等)に対し、比較的滑らかな凸特性を示す性能データ(たとえば、吸気量、トルク、燃焼効率等)について、(a)従来の実験計画法に従って計測点の配置が決定された場合、および(b)本願発明の手法に従って計測点の配置および数が決定された場合、を示している。
【0087】
図16の(a)において、符号131は、実際のエンジンの性能特性を示し、符号133は、従来の実験計画法によって均等配置された計測点A1〜A6において計測された性能データを示す。
【0088】
図16の(b)において、符号131は、(a)と同じ実際のエンジンの性能特性を示し、符号135は、予測性能モデルRSM_estに基づく性能データを示し、符号137は、本願発明に従って最適化された計測点における計測によって得られた性能データを示す。ここで、最大の計測点数pa=6とし、本願発明の手法により、最適計測点の数は5個に減らされ、最適計測点の配置は不均等となっている。前述したように、予測性能モデルは、実際のエンジンの凸特性の挙動を模したものとなっているが、性能データの大きさについては乖離が生じている。
【0089】
(a)では、実際のエンジン性能特性131と、計測点A1〜A6において計測されたエンジン性能特性133とが重なって示されている。したがって、該6個の計測点により、実際のエンジン性能における凸特性を、計測点A1〜A6において良好な精度で計測することができている。すなわち、計測点A1〜A6に基づいて算出されるエンジンの性能特性は、実際のエンジンの性能特性を精度良く表現できるものとなっている。
【0090】
(b)では、実際のエンジン性能特性131と、計測点A1〜A6において計測されたエンジン性能特性137とが重なって示されている。このように、本願発明によれば、計測点の数が減らされているにもかかわらず、(a)と同等の精度でエンジンの性能特性を計測することができる。
【0091】
図17を参照すると他の例が示されており、図16と異なる点は、エンジンの性能特性が、比較的増減の多いもの(たとえば、ガソリンエンジンの点火時期、NoxおよびHCなどのエミッション等である場合)に基づいている点である。
【0092】
(a)では、従来の実験計画法により6点の計測点が均等に配置されているため、制御パラメータAの値が小さい領域での性能データの増減特性を正確に計測することができていない。このため、計測点に基づいて求めたエンジン性能特性133は、制御パラメータAの値が小さい領域において、実際のエンジン性能特性131に対して大きな誤差を生じている。この誤差を無くすには、さらに多くの計測点を配置する必要が生じる。
【0093】
(b)では、本願発明の手法に従って、計測点が6個から5個に減らされているが、これらの計測点は、適切な位置に不均等に配置されている。したがって、計測点数が減らされているにもかかわらず、制御パラメータAの値が小さい領域において、計測されたエンジン性能特性137と実際のエンジン性能特性131との間に大きな誤差を生じさせることなく、良好な精度でエンジン性能特性を計測することができている。
【0094】
以上の実施例では、遺伝的アルゴリズムを用いて、計測点の配置だけでなく数も最適化する形態について説明した。代替的に、計測点の配置のみを最適化するようにしてもよい。この場合には、図7のステップS12の初期集団を生成する際に、計測点の無効化を示す値をDNA要素に挿入する処理は必要とされない。DNA個体のすべてに、制御パラメータ値を入れればよい。図9のステップS26の重み関数Wについては、無効化されたDNA要素を各DNA個体が持たないのでW=1となり、評価関数への重み付けは行われない。したがって、重み関数の算出を省略してよい。さらに、図12のステップS33における選択処理は、すべてのDNA個体の計測点数が同じであるので、計測点数毎に選択する必要はなく、評価関数値Ersm_nmが小さい順にすべてのDNA個体を並べて、その中からNsel個のDNA個体を選択すればよい。ステップS35の突然変異処理では、無効化を示す値への置換は行われない。このような代替形態の場合にも、遺伝的アルゴリズムを介して、予測性能モデルの挙動に適合した配置の計測点が得られるので、該計測点において実際のエンジンを計測することにより、実際のエンジンの挙動および大きさに追従する性能データを取得することができる。
【0095】
上記の実施形態では、遺伝的アルゴリズムを用いて最適化を行った。遺伝的アルゴリズムによれば、計測点の配置および数を同時に最適化することができる。しかしながら、代替の形態では、遺伝的アルゴリズムを用いなくてもよい。この形態について、以下説明する。
【0096】
図18は、この発明の他の実施形態に従う、計測点を最適化するための装置のブロック図である。この装置は、遺伝的アルゴリズムとは異なる他の最適化アルゴリズムを用いて計測点の配置および数を最適化する。
【0097】
該他の実施形態に従う装置は、図1のものと類似した構成を有している。図1と同じ構成要素には同じ符号が割り振られており、これについての説明は省略される。
【0098】
最適化部115は、遺伝的アルゴリズムとは異なる最適化アルゴリズムを用いて、計測点の配置を最適化する。好ましい形態では、最適化部115は、計測点の配置だけでなく数についても最適化する。
【0099】
より具体的には、計測点集合初期化部113は、それぞれの制御パラメータの一組の計測点(以下、計測点集合と呼ぶ)について、初期値を設定する。サンプリング性能モデル生成部121は、記憶装置から予測性能モデルRSM_estを読み出し、計測点集合初期化部113によって設定された計測点集合により規定される制御パラメータ値において該予測性能モデルRSM_estをサンプリングし、該サンプリングされた予測性能データから、サンプリング性能モデルRSM_nmを生成する。評価部122は、予測性能モデルRSM_estと該サンプリング性能モデルRSM_nmの誤差を算出することにより、サンプリング性能モデルRSM_nmを評価する。計測点集合更新部123は、最適化アルゴリズムを用いて、上記誤差を最小にするよう計測点集合を算出する最適化アルゴリズムを実行することにより、該計測点集合を更新する。遺伝的アルゴリズムを用いた前述の実施形態とは異なり、計測点集合の更新では、計測点数は変更されない。最適化アルゴリズムとして、既知の最急降下法、最小二乗法、シンプレックス法およびカーマーカー法等を用いることができる。
【0100】
収束判定部124は、該誤差が収束したかどうかを判定する。収束していなければ、該更新された計測点集合について、再び、サンプリング性能モデルが生成されて該計測点集合が評価される。収束したならば、計測点数更新部125が、計測点集合に含める計測点の数を更新する。該更新された数の計測点を含む計測点集合について、初期計測点集合設定部113、サンプリング性能モデル生成部121、評価部122、計測点集合更新部123および収束判定部124による処理が繰り返される。
【0101】
計測点数更新部125において、計測点集合に含まれる計測点の数が所定値に達したならば、最適計測点選択部126により、評価された計測点集合のうち、上記誤差について最小の値を有する計測点集合が選択され、該選択された計測点集合により規定される制御パラメータの値を、最適化された計測点とする。
【0102】
遺伝的アルゴリズムを用いた前述の実施形態では、計測点の無効化を示すDNA要素をDNA個体に組み込むことにより、計測点の配置および数を同時に最適化することができる。したがって、所定数の世代のDNA個体の評価を終えると同時に、または最適化が収束したと判断されると同時に、最適計測点を決定することができる。それに対し、図18に示す実施形態で用いる最適化アルゴリズムでは、計測点の配置および数を同時に最適化することはできない。最適化アルゴリズムは、所定数の計測点について、誤差を最小にするような計測点の配置を求めるものである。しかしながら、このような最適化アルゴリズムを、計測点の数を変化させながら繰り返すことにより、計測点の配置だけでなく数についても、最適化することが可能となる。
【0103】
図19および図20を参照して、図18に示す実施形態に従う、コンピュータのCPUによって実行される、より具体的には図18の最適化部115により実行される詳細なアルゴリズムを説明する。
【0104】
ステップS111は、図7のステップS13と同様である。前述した予測性能モデルRSM_estを記憶装置から読み出し、該予測性能モデルRSM_estに対し、制御パラメータAについての値Av_r(r=1〜va)および制御パラメータBについての値Bv_s(s=1〜vb)においてサンプリングを行い、予測性能データVest_rsを取得する。これは、後述する評価に用いられる。
【0105】
ステップS112において、制御パラメータAについての計測点数を示すiaに初期値pa_sを設定し、ステップS113において、制御パラメータBについての計測点数を示すibに初期値pb_sを設定する。該初期値は、任意の値(たとえば、3)に設定されることができる。 ステップS114において、制御パラメータAについてはia個の計測点Aia_ib_n(n=1〜ia)および制御パラメータBについてはib個の計測点Bia_ib_m(m=1〜ib)を、乱数によって初期化する。Aia_ib_nおよびBia_ib_mは、前述したように、制御パラメータAおよびBについての一組の計測点(計測点集合)をそれぞれ表している。Aia_ib_n(0)およびBia_ib_m(0)が図21に示されており、この例では、制御パラメータAについての計測点集合Aia_ib_n(0)には、Aia_ib_1〜Aia_ib_3の3個(ia=3)の計測点を表す値が設定されており、これらが乱数で初期化される。制御パラメータBについても同様である。
【0106】
ステップS115において、最適化アルゴリズムを実行する。最適化アルゴリズムは図20に示されており、ステップS121において、繰り返しパラメータi(計測点集合を識別する値を示す)をゼロに初期化する。
【0107】
ステップS122〜S126は、図9のステップS23〜S27と類似した処理である。ステップS122において、Aia_ib_n(n=1〜ia)およびBia_ib_m(m=1〜ib)において予測性能モデルRsm_estをサンプリングすることにより、予測性能データYan_bmを取得する。ここで、総計測点数はia×ib個であり、これを、Ns_nmで表す。したがって、Ns_nm個の予測性能データYan_bmが得られる。
【0108】
ステップS123において、サンプリングされた予測性能データYan_bmに基づいて、サンプリング性能モデルRSM_nmを生成する。前述したように、予測性能モデルRSM_estは、制御パラメータと、それに対する性能データとの間の関係をコンピュータにより算出したものである。したがって、該予測性能モデルの生成手法と同様の手法で、制御パラメータAia_ib_nおよびBia_ib_mとそれに対応する性能データYan_bmとから、サンプリング性能モデルRSM_nmを生成することができる。サンプリング性能モデルRSM_mnは、現在の(i番目の)計測点集合の制御パラメータAおよびBの値によって表される計測点において実現されうるエンジンの性能特性を表しているといえる。
【0109】
ステップS124において、前述したステップS111と同じ制御パラメータ値Av_rおよびBv_sにおいてサンプリング性能モデルRSM_nmをサンプリングし、サンプリング性能データVnm_rsを取得する。前述したステップS111と同じ制御パラメータ値Av_rおよびBv_sを用いるのは、予測性能モデルRSM_estとサンプリング性能モデルRSM_nmとを同じ条件下で比較するためである。
【0110】
ステップS125において、重み関数(ペナルティ)Wを算出する。これは、前述した式W=Ns_nm/Nmaxに従って行うことができ、代替的に、W=(Ns_nm)2/Nmax2でもよい。ここで、制御パラメータAについての最大計測点数はpaであり、制御パラメータBについての最大計測点数はpbであるので(これらは、予め決められている)、Nmax=pa×pbである。
【0111】
重み関数Wを上記式に従って算出することに代えて、図11のような重み関数Wのテーブルを記憶装置に記憶し、Ns_nmに基づいて該テーブルを参照することにより、該重み関数Wを求めてもよい。こうして、計測点数Ns_nmが大きくなるほど重み付けWの値を大きくし、評価が低くなるようにする。
【0112】
ステップS126において、算出された重み関数Wを用い、サンプリング性能モデルの評価関数値Ersm_nmを、以下の式に従って算出する。
【数3】
【0113】
この式は、前述した評価関数の式と同様であり、評価関数値Ersm_nm(i)は、今回の計測点集合の制御パラメータAおよびBの値Aia_ib_n(i)およびBia_ib_m(i)から求めたサンプリング性能モデルRSM_nmの予測性能モデルRSM_estに対する誤差を反映している。該誤差の値が小さいほど、サンプリング性能モデルRsm_nmの基となった計測点Aia_ib_n(i)およびBia_ib_m(i)の評価が高いことを示す。こうして算出された評価関数値Ersm_nm(i)は、対応する計測点集合Aia_ib_n(i)およびBia_ib_m(i)と関連づけられて、メモリなどの記憶装置に記憶される。
【0114】
ステップS127において、所定の最適化アルゴリズムを用いて、Aia_ib_n(i+1)およびBia_ib_m(i+1)を算出し、これらが、次回の評価プロセスにおいてAia_ib_n(i)およびBia_ib_m(i)として用いられる(すなわち、Aia_ib_(i)およびBia_ib_m(i)が更新される)。
【0115】
最適化アルゴリズムとして、上記評価関数値(誤差)Ersm_nmが最小になるようなAia_ib_n(i+1)およびBia_ib_m(i+1)を算出することのできる任意の既知のアルゴリズムを用いることができ、たとえば、最急降下法、最小二乗法、シンプレックス(simplex)法、カーマーカー(Karmarkar)法等に基づくアルゴリズムを用いることができる。制御パラメータAについて、Aia_ib_n(i+1)は、一般に、Aia_ib_n(i)+K×Ersm_nm(i)により求められるが、これらのアルゴリズム間の違いは、係数Kを算出するやり方である。しかしながら、いずれのアルゴリズムも、誤差Ersm_nmが最小になるよう係数Kを算出し、該係数Kを用いてAia_ib_n(i+1)を算出する点では同じである。したがって、いずれのアルゴリズムを用いてもよい。
【0116】
ここでは、最急降下法および最小二乗法を用いた場合について説明する。以下は、最急降下法を用いた場合の演算式を示す。式(1−1)は、制御パラメータAについてAia_ib_n(i+1)を算出する式を示し、式(1−2)は、制御パラメータBについてBia_ib_m(i+1)を算出する式を示す。ここで、KPAおよびKPBは、前述した係数Kに対応する。μAおよびμBは更新ゲインを示し、予め設定されることができる。
【数4】
【0117】
次に、逐次型の最小二乗法を用いた場合の演算式を示す。ここで、KPn(i)およびKPm(i)は、前述した係数に対応Kし、逐次的に算出される。Pは更新ゲインを示し、予め設定されることができる。また、λは重みパラメータを示す(0<λ<1)。
【数5】
【0118】
ステップS128において、収束判定を行う。すなわち、誤差の今回値Ersm_nm(i)と前回値Ersm_nm(i−1)の差が所定値Drsm_conv以上ならば、最適化が収束していないと判断し、ステップS129において繰り返しパラメータiを1だけインクリメントし、ステップS127で算出されたAia_ib_n(i+1)およびBia_ib_m(i+1)(すなわち、更新されたAia_ib_n(i)およびBia_ib_m(i))についてステップS122〜S128を繰り返す。この繰り返しは、ステップS130において、繰り返しパラメータiが所定値Nに達するまで行われる。こうして、計測点数を所定数に維持したまま、N個の計測点集合のそれぞれについて評価が行われる。
【0119】
しかしながら、iがNに達する前でも、ステップS128において、誤差の今回値Ersm_nm(i)と前回値Ersm_nm(i−1)の差が所定値Drsm_convより小さければ、最適化が収束したと判断し、図19のプロセスのステップS116に戻る。
【0120】
ステップS116において、制御パラメータBの計測点の数ibを1だけインクリメントする。ステップS117において、計測点数ibがpb(前述したように、制御パラメータBについての最大計測点数)に達していなければ、制御パラメータAの計測点数を維持したまま、再び、ステップS114およびS115の計測点集合の初期化および最適化が行われる。すなわち、制御パラメータBについてのみ、計測点数が1個だけ増やされ、該増やされた数の計測点の値が乱数によって初期化されて(S114)、その後最適化される(S115)。制御パラメータAについては、計測点数は同じのまま、再び初期化されて(S114)、その後最適化される(S115)。
【0121】
ステップS117において計測点数ibがpbに達したならば、ステップS118に進み、制御パラメータAの計測点の数iaを1だけインクリメントする。ステップS119において、計測点数iaがpa(前述したように、制御パラメータAについての最大計測点数)に達していなければ、制御パラメータAについては該インクリメントされた計測点数iaを維持したまま、制御パラメータBの計測点数を初期値pb_sからpbまで変化させながら(S113、S116)、ステップS114およびS115の計測点集合の初期化および最適化が行われる。
【0122】
ステップS119において計測点数iaがpaに達したならば、ステップS120において、最適計測点を決定する。ステップS120においては、図20のステップS126で算出されて記憶装置に記憶された評価関数値Ersm_nm(i)の値のうち、最も小さい値を有する評価関数値Ersm_nm(i)に対応するAia_ib_n(i)およびBia_ib_m(i)を、最適計測点とする。こうして、最適化を終了する。
【0123】
上記の実施形態では、最急降下法および最小二乗法等の既知の最適化アルゴリズムを用いて、計測点の配置だけでなく数も最適化する形態について説明した。代替的に、計測点の配置のみを最適化するようにしてもよく、この場合には、図19のプロセスにおいて、ステップS116およびS118に示されるような計測点数の更新は必要とされない。所定数の計測点について、ステップS114およびS115の計測点集合の初期化およびそれに対する最適化アルゴリズムを実行すればよい。
【0124】
なお、図18に示す実施形態でも、図4と同様に、予測性能部11と計測点集合初期化部113の間に指定計測点決定部12を設けてもよい。この場合、図6を参照して説明したように指定計測点が決定され、該指定計測点を含めるように、計測点集合初期化部113により計測点集合の値が設定される。より具体的には、図19のステップS112およびS113のpa_sおよびpb_sは、指定計測点の数以上の値に設定され、ステップS114において、該指定計測点以外の計測点の値が乱数により初期化される。たとえば、図21において、Aia_ib_1〜Aia_ib_3およびBia_ib_1〜Bia_ib_2を指定計測点を表す値として用い、それ以外のBia_ib_3は、乱数によって初期化される。また、計測点集合更新部123は、指定計測点を含むように、計測点集合を更新する。より具体的には、図20のステップS127で用いられる最適化アルゴリズムは、指定計測点以外の計測点について、Aia_ib_n(i+1)およびBia_ib_m(i+1)を算出すればよい。
【0125】
以上にこの発明を具体的な実施例について説明したが、この発明は、このような実施例に限定されるものではない。
【図面の簡単な説明】
【0126】
【図1】(a)実験計画法による制御パラメータ条件組み合わせを示す図、および(b)従来の自動計測手法を示す図。
【図2】エンジン性能の特性を示す図。
【図3】実験計画法を用いた計測点削減の悪影響を示す図。
【図4】本願発明の一実施例に従う、最適計測点を算出するための装置のブロック図。
【図5】本願発明の一実施例に従う、予測性能モデルの一例を示す図。
【図6】本願発明の一実施例に従う、指定計測点の一例を示す図。
【図7】本願発明の一実施例に従う、最適化プロセスのフロー。
【図8】本願発明の一実施例に従う、遺伝的アルゴリズムにおける初期集団の一例を示す図。
【図9】本願発明の一実施例に従う、遺伝的アルゴリズムにおける評価プロセスのフロー。
【図10】本願発明の一実施例に従う、各DNA固体における制御パラメータAの値および制御パラメータBの値の組み合わせを示す図。
【図11】本願発明の一実施例に従う、評価関数についての重み付けを決定するためのテーブルの一例を示す図。
【図12】本願発明の一実施例に従う、遺伝的アルゴリズムにおけるDNA更新プロセスのフロー。
【図13】本願発明の一実施例に従う、遺伝的アルゴリズムにおける、評価関数値に従うDNA固体の並び替えを示す図。
【図14】本願発明の一実施例に従う、遺伝的アルゴリズムにおける交差処理を示す図。
【図15】本願発明の一実施例に従う、遺伝的アルゴリズムにおける突然変異処理を示す図。
【図16】本願発明の手法に従って決定される最適計測点の効果を説明するための図。
【図17】本願発明の手法に従って決定される最適計測点の効果を説明するための図。
【図18】本願発明の他の実施例に従う、最適計測点を算出するための装置のブロック図。
【図19】本願発明の他の実施例に従う、最適化プロセスのフロー。
【図20】本願発明の他の実施例に従う、最適化プロセスの最適化アルゴリズムを示すフロー。
【図21】本願発明の他の実施例に従う、計測的集合の構成を概略的に示す図。
【符号の説明】
【0127】
11 予測性能部
15、115 最適部
【技術分野】
【0001】
本発明は、制御対象を計測する計測点を最適化するための装置に関する。
【背景技術】
【0002】
或る制御対象の性能特性を所定の計測点(制御パラメータの組み合わせ)で自動的に計測することが行われている。たとえば、制御対象が内燃機関(以下、エンジンと呼ぶ)である場合、車載の制御装置(ECUと呼ばれる)には、エンジン制御に必要な様々なデータやテーブルが記憶されるが、このようなデータやテーブルを生成するためには、エンジンの性能特性を的確に把握する必要があり、そのため、エンジンの自動計測が行われる。
【0003】
下記の特許文献1には、エンジンの性能特性を自動計測するためのハードウェア構成が示されている。しかしながら、この文献は、エンジン性能を自動で計測するシステム構成を示しているのみであり、人間の労力を軽減することはできても、制御パラメータ数が肥大化し、計測点数が膨大になってしまう。したがって、最近時のエンジンの性能特性をより短時間で計測したいという要求に答えることはできない。
【0004】
また、AVL List GmbH社(オーストリア)の CAMEOシステムでは、実験計画法を用いてエンジン性能の自動計測を行っている。このシステムでは、実験計画法によりエンジン性能の計測点数を低減することによって、計測時間の短縮を図っている。しかしながら、制御パラメータに対して急な変化を示す最近時のエンジンの計測にこれを適用する場合、計測点を減らしすぎるとエンジン性能の凹凸変化を正確にとらえられない恐れがある。したがって、実際には十分に計測点を減らすことができない。また、自動計測を行う際、エンジン性能の変曲点の大まかな存在位置を予め入力する必要があるため、過去に計測を行ったことのないエンジンの自動計測が困難である。
【0005】
現在のエンジンは、自在動弁系や1サイクルに数回の燃料噴射を行える直噴燃料系、可変ジオメトリ過給器など多くの可変デバイスを有するため、それらへの指令値、すなわち、制御パラメータの組み合わせの数が膨大化している。
【0006】
このため、エンジンの性能特性を把握するためには、膨大な数の制御パラメータの組み合わせ条件の計測を行う必要があり、その計測に多大な時間を要している。また、ある所定の評価指標(燃費・出力・エミッション等)に対して複数の制御パラメータの組み合わせを最適化するために、多くの条件での計測を行う必要がある。
【0007】
このことから、図1(a)に示すような実験計画法を用いて格子状に各制御パラメータの値の組み合わせを定め、これらの組み合わせ毎に、自動的に該制御パラメータをそれぞれの設定値に一定保持しながら、自動的に計測を行う自動計測が行われている。
【0008】
たとえば、図1(b)に示した従来の自動計測手法では、制御パラメータAおよびBの値を、或る組み合わせから他の組み合わせに変更した後(時間t1)、性能データが安定化するまで計測を停止し、その後の所定期間において計測を行うというシーケンスを採用している。このため、一つの計測点に対する性能データの計測に数十秒から数分を要する。よって、実験計画法を用いたとしても、それによる計測点の削減効果は十分ではなく、エンジンの全条件での性能把握を行うには、数週間や数ヶ月といった膨大な時間を要する。
【0009】
また、制御対象がエンジンである場合、該制御対象の特性は、図2のように制御パラメータに対して非常に複雑な凹凸曲面特性を有しており、その変化も非常に急峻である。このため、実験計画法を使って過度に計測点の数を減らしてしまうと、実際のエンジン性能特性の凹凸特性やピーク点をとらえることができなくなってしまう。たとえば、図3には、符号101によってエンジンの実際の性能特性が示されており、実験計画法による計測点は、制御パラメータAがUa1、Ua2およびUa3を取る3点である。これら3個の計測点で計測された性能データをつなげると、符号103によって示されるような性能特性が得られる。実際の性能特性101と計測によって得られた性能特性103とを比較して明らかなように、該計測によって得られる性能特性は、実際の性能特性に追従していない。したがって、符号105によって示されるような実際の凹凸特性やピーク点を、計測によって得られる性能特性では取得することができていない。このような取得することのできなかった凹凸特性やピーク点が本来得たい性能データの最適値だった場合には、エンジン性能を最大限に使用することができないこととなり、この計測は意味を成さないことになる。これらのことから、現在の自動計測装置が用いている実験計画法を基にした手法では、実際には計測点をそれほど減らすことができず、計測時間の短縮は図れない。換言すると、計測点を減らした場合は、最適点や凹凸特性などを計測できていない可能性が高くなる。
【特許文献1】特開2000-35379
【非特許文献1】Real-Time Optimization by Extremum Seeking Control, Kartik B. Ariyur, Miroslav Krstic, Wiley-Interscience, 2003/09
【発明の開示】
【発明が解決しようとする課題】
【0010】
したがって、エンジンのような複雑な性能特性を有する制御対象について、上記のような性能データの最適点や凹凸特性などを確実にとらえることができるように、計測点の配置を最適化することのできる装置が望まれている。また、可能な限り計測点を減らすことができるように、計測点の数についても最適化することのできる装置が望まれている。
【課題を解決するための手段】
【0011】
上記の課題を解決するため、この発明は、制御対象について、所定の制御パラメータに対する性能データを計測するための計測点を最適化するための装置を提供する。該装置は、該制御対象のモデルを用い、該制御対象の制御パラメータに対する性能特性を予測して予測性能データ(RSM_est)を算出する手段と、該予測性能データに対して、設定された計測点においてサンプリングし、該サンプリングされた性能データに基づいてサンプリング性能データ(RSM_nm)を算出する手段と、該予測性能データと前記サンプリング性能データの間の誤差(Ersm_nm)が最小となるように、計測点の配置を最適化する手段と、を備える。
【0012】
この発明によれば、制御パラメータに対する性能特性が複雑な増減を示すエンジンのような制御対象についても、計測点の配置を最適化することができる。該最適化された計測点で該制御対象を計測すれば、該制御対象のより正確な性能特性を取得することができるので、該取得した性能特性に基づいて、該制御対象に対する様々な制御に要するデータおよびテーブルを作成することにより、該制御対象の性能を最大限に発揮させるような制御を実現することができる。たとえば、該制御対象がエンジンならば、該エンジンの性能として、エミッション、燃費、動力、ノイズ・振動(NV)性能等があるが、これらについて良好な性能を実現することができる。
【0013】
この発明の一形態では、上記最適化は、計測点の数についても行われる。こうして、計測点の配置だけでなく計測点の数についても最適化が行われるので、制御パラメータに対する性能特性が複雑な増減を示すエンジンのような制御対象についても、該制御対象の性能特性を計測する時間を短縮しつつ、該制御対象のより正確な性能特性を取得することができる。
【0014】
この発明の一形態では、上記最適化された計測点において実際の前記制御対象に対する計測を行い、該制御対象の実際の性能特性を取得する。こうして、前述したように、最適化された計測点で計測を行うことにより、実際の制御対象について、より正確な性能特性を取得することができる。
【0015】
この発明の一形態では、上記計測点の配置および数の最適化は、遺伝的アルゴリズム(GA)によって行われる。
【0016】
計測点の最適化は、ローカルミニマム(局所最適点)の存在しやすい複雑な最適化問題を解く必要があり、一般的な線形の最適化アルゴリズムでは、計測点の数の十分な削減や、計測点の配置の最適化が困難である。たとえば、最適化を行う計測点の配置および数の初期値により、最適化された計測点の配置および数が異なるおそれがある。遺伝的アルゴリズムを適用することにより、ローカルミニマムに陥ることなく、計測点の配置および数を大域的に探索することができる可能性を高めることができる。
【0017】
この発明の一形態では、遺伝的アルゴリズムにおける突然変異の処理の際、前記計測点の数を削減する意味を有するDNA要素をDNA個体に組み込む。これにより、計測点の数を、より効率的に削減することができる。
【0018】
一般的な遺伝的アルゴリズムにおいては、DANの要素数を増減するような最適化は行うことができない。そのため、これまでは、計測点の配置および数を同時に最適化する問題を遺伝的アルゴリズムで解くことが困難であった。しかしながら、この発明によれば、DNA要素の中に、計測点を無効化(塞源)することを示す値(実施例では、「99」)を組み入れることにより、計測点の配置および数の最適化を同時に行うことができる。
【0019】
この発明の一形態では、遺伝的アルゴリズムにおいて、評価関数を用いてDNA個体を評価する際、前記計測点の数の増大に応じて該評価関数による評価が低下するように、該評価関数に対する重み付けを行う。
【0020】
一般的に、計測点の数が多いほど、より良好な精度で制御対象の性能特性を計測することができる可能性が高いので、一般的な遺伝的アルゴリズムを実行しても、計測点の数を効率的に減らすことは困難である。しかしながら、この発明によれば、評価関数への重み付け処理により、計測点数の少ない解が導出される確率を向上させることができるので、計測点の数の削減を効率的に実現することができる。
【0021】
この発明の一形態では、遺伝的アルゴリズムにおける選択処理の際、各DNA個体の計測点数毎に、前記評価関数による評価が高い順にDNA個体の選択を行う。
【0022】
前述したように、一般的には、計測点の数が多いほど、より良好な精度で制御対象の性能特性を計測することができる可能性が高いので、一般的な遺伝的アルゴリズムを実行しても、計測点の数を効率的に減らすことは困難である。しかしながら、この発明によれば、DNAの進化の過程においても、計測点数を削減しているDNA個体の存続確率を増やすことができるので、計測点数の削減をより効率的に実現することができる。
【0023】
この発明の他の実施形態によると、上記計測点の配置の最適化は、該計測点の数が所定値である場合に、上記誤差を最小にするための計測点の配置を算出する最適化アルゴリズムにより行われる。
【0024】
最適化アルゴリズムとして、例えば最急降下法および最小二乗法等が知られているが、このような最適化アルゴリズムを用いても、計測点の配置を最適化することができる。
【0025】
この発明の他の実施形態によると、上記計測点の配置および数の最適化は、さらに、計測点の数を変更しながら、上記最適化アルゴリズムによる処理を繰り返し、該繰り返しの結果、上記誤差が最小になる計測点の配置および数を求めることにより行われる。
【0026】
一般に、最急降下法および最小二乗法等の最適化アルゴリズムでは、計測点の数および配置の両方を同時に最適化することはできない。しかしながら、計測点の数を変更しながら最適化アルゴリズムによる処理を繰り返すことにより、計測点の配置だけでなく、計測点の数を最適化することができる。よって、より少ない数の計測点で、実際の制御対象についての性能特性を取得することができる。
【0027】
この発明の他の実施形態によると、上記誤差が最小になる計測点の配置および数を求めるために所定の評価関数が用いられ、該評価関数は、該計測点の数の増大に応じて該評価関数による評価が低下するように、重み付けがなされている。
【0028】
このような重み付けがなされた評価関数を用いることにより、計測点数の少ない解が導出される確率を向上させることができるので、計測点の数の削減を効率的に実現することができる。
【発明を実施するための最良の形態】
【0029】
以下に図面を参照しながらこの発明の実施形態を説明する。図4は、この発明の一実施形態に従う、計測点を最適化するための装置のブロック図である。該装置は、任意のコンピュータに実現されることができ、該コンピュータは、CPU(中央処理装置)、記憶装置(メモリおよびハードディスク装置を含む)、キーボードおよびマウスなどの入力装置、ディスプレイなどの出力装置を備えている。図に示される各機能ブロックは、メモリに記憶されたコンピュータプログラムをCPUが実行することによって実現されることができる。
【0030】
以下の実施例では、内燃機関(以下、エンジンと呼ぶ)を制御対象としている。制御対象は、制御パラメータに応じた性能特性を呈する。制御対象がエンジンの場合、制御パラメータは、たとえば吸気弁のリフト量、吸気カムの位相、吸気管の負圧、空燃比、燃料噴射量等がある。性能特性は、たとえば、エンジンの出力トルク、エミッション(エンジンから送り出されるHCやNOxの量)等がある。たとえば、制御パラメータが吸気弁のリフト量および吸気カムの位相である場合、これらの制御パラメータの値に応じた出力トルクが、該エンジンの性能特性として得られる。しかしながら、この発明は、他の制御対象にも適用されることができる。
【0031】
予測性能部11は、所定のエンジンモデルを用いて、エンジンの所定の制御パラメータに対する所定の性能特性を予測し、該制御パラメータに対する性能データを表した予測性能モデルRsm_estを生成する。
【0032】
エンジンモデルは、実際のエンジンをモデル化したものであり、任意の適切な手法で生成されたものを用いることができる。たとえば、化学素反応モデル(ゼロ次元)のエンジンモデルを用いることができる。該化学素反応モデルは、多数の素反応の組み合わせによって、エンジンにおける化学反応を記述したものである。また、エンジンモデルは、1次元または3次元モデルでもよい。たとえば、エンジンの吸排気の流れを、1次元または3次元解析してモデル化することができる。
【0033】
このようなエンジンモデルを用いて、制御パラメータとそれに対する性能データを予測性能データとして取得し、両者の関係をモデルとして表すことができる。これを、予測性能モデルRSM_estと呼ぶ。このようなモデルは、任意の適切な手法で生成されることができる。たとえば、制御パラメータに対する性能データを応答曲面によって表し、これを予測性能モデルとすることができる。応答曲面の生成には、たとえばクリギング法、二次関数曲面、またはニューラルネットワークを用いることができる。代替的に、制御パラメータの各値(組み合わせ)に対する性能データの値を1つの格子点で表し、膨大な数の該格子点を持つ補間マップとして、予測性能モデルを表すこともできる。
【0034】
このような予測性能モデルの生成を、たとえば市販されているツール(ソフトウェア)を用いて実現することができる。このようなツールでは、エンジンモデルを生成し、該生成したモデルにおいて、たとえばスロットル弁の開度(制御パラメータ)に対するトルク(性能データ)を取得することにより、該制御パラメータとそれに対応する性能データとの間の関係を、たとえば応答曲面法によって求めることができる。図5には、一例として、所定のエンジンモデルにおいて制御パラメータAおよびBおよびそれに対する性能データから生成された予測性能モデルの一例が示されている。
【0035】
代替的に、計測対象となるエンジンと近い諸元を持つエンジンについて実際に計測された性能データがある場合には、これを予測性能データとして用い、該予測性能データから、応答曲面等を用いて予測性能モデルを生成してもよい。
【0036】
こうして生成された予測性能モデルRSM_estは、コンピュータの記憶装置に格納される。
【0037】
指定計測点決定部12は、所定の計測点を予め指定する。指定された計測点を指定計測点と呼ぶ。指定計測点は、任意の基準で決定されることができる。この実施例では、エンジンを制御するのに必要な、または所望と考えられる計測点を、指定計測点とする。
【0038】
一例として、指定計測点は以下のように決定されることができる。
1)予測性能データが最大化および/または最小化する点。
2)制御パラメータの値が所定の条件を満たす点。または、制御パラメータの値が最大および/または最小となる点。
3)予測性能データの値が所定の条件を満たす点。または、予測性能データが最大および/または最小となる点。
【0039】
ここで図6を参照すると、制御パラメータAの値に対する予測性能データの値111(これは、予測性能モデルによって表される)が示されており、ここに、指定計測点の一例が示されている。指定計測点A(i)は、上記1)を満たす指定計測点であり、予測性能データが最大となる制御パラメータ値である。A(ii)は、上記2)を満たす指定計測点であり、制御パラメータ値が最小となる指定計測点である。A(iii)は、予測性能データの値が所定の条件(値X(iii)を取るという条件)を満たす指定計測点である。
【0040】
指定計測点を用いることにより、予め必要な、もしくは所望の計測点を、除外することなく最適計測点に含めることができる。
【0041】
初期集団決定部13は、指定計測点を、各DNA個体中の染色体(以下、DNA要素と呼ぶ)として含むように、遺伝的アルゴリズムにおける初期集団(世代ゼロ)を決定する。初期集団は、所定数のDNA個体を含む。
【0042】
最適化部15は、遺伝的アルゴリズムを用いて、計測点の配置(どの値の制御パラメータを組み合わせるか)を最適化する。好ましい形態では、最適化部15は、遺伝的アルゴリズムを用いて、計測点の配置だけでなく数についても最適化する。
【0043】
より具体的には、サンプリングモデル生成部21は、記憶装置から予測性能モデルRSM_estを読み出し、それぞれのDNA個体により規定される制御パラメータ値において該予測性能モデルRSM_estをサンプリングし、該サンプリングされた予測性能データから、サンプリング性能モデルRSM_nmを生成する。評価部22は、予測性能モデルRSM_estと該サンプリング性能モデルRSM_nmとを比較し、評価関数を用いて、該サンプリング性能モデルRSM_nmを評価する。
【0044】
DNA更新部23は、より高い評価のDNA個体を残すように、遺伝的アルゴリズムにおける選択、交叉および突然変異処理を行う。収束判定部24は、現世代のDNA個体のうち最も評価の高かったDNA個体と、前世代のDNA個体のうち最も評価の高かったDNA個体との差に基づいて、最適化が収束したかどうかを判断する。収束したと判断したならば、現世代のうち最も高い評価のDNA個体により表される制御パラメータの値を、最適化された計測点とする。こうして、予測性能モデルRSM_estとサンプリング性能モデルRSM_nmとの間の誤差が最小になるように、計測点の配置および数が最適化される。
【0045】
計測部17は、最適化された計測点において、実際のエンジンを自動計測する。計測には、既知の適切な手法および装置を用いることができる。たとえば台上試験として知られているように、試験対象のエンジンを架台(ベンチ)に設置し、接続された試験装置を介して該エンジンを運転させ、エンジンの性能測定を行う装置が知られている。どのような試験を行うかは、該試験装置に接続されたコンピュータによって制御可能なようになっている。たとえば、該コンピュータは、最適計測点毎にエンジン性能データを自動的に取得するよう該試験装置を制御し、こうして取得した性能データを、該コンピュータの記憶装置に取り込んだりディスプレイ等の出力装置に表示させることができる。
【0046】
予測性能モデルはエンジンモデルに基づいているので、該予測性能モデルから得られる予測性能データは、実際のエンジン性能の凹凸特性や増減特性等の挙動を模しているが、実際の性能データの大きさに対しては誤差を有している。本願発明によれば、予測性能モデルの挙動に適合した配置および数の計測点が得られるので、該計測点において実際のエンジンを計測することにより、実際のエンジンの挙動および大きさに追従する性能データを取得することができる。
【0047】
こうして最適計測点において実際に計測されたエンジンの性能データは、たとえばECUに記憶されるべきデータおよびテーブル等の生成に用いられることができる。これらのデータおよびテーブル等を用いてエンジン制御を実行することにより、該エンジン制御を、エンジンの性能を最大限に発揮するよう実現することができる。
【0048】
次に、図7〜図15を参照して、本願発明の一実施形態に従う、コンピュータのCPUによって実行される、より具体的には図4の初期集団決定部13および最適化部15により実行される詳細なアルゴリズムを説明する。
【0049】
ステップS11において、遺伝的アルゴリズムにおけるDNA個体の集団の世代を示す世代パラメータmをゼロに初期化する。
【0050】
ステップS12において、初期集団(世代m=0)を生成する。ここで図8を参照すると、初期集団の一例が示されている。この実施例では、2種類の制御パラメータすなわち制御パラメータAおよびBを用いる。したがって、前述した指定計測点決定部12により、制御パラメータBについても、指定計測点が決定されている。制御パラメータAについては、図6を参照して説明した3個の指定計測点A(i)〜A(iii)を用いる。制御パラメータBについては、たとえば前述した条件1)および2)を満たす2個の指定計測点B(i)およびB(ii)を用いる。制御パラメータAおよびBについての指定計測点の数を、それぞれoa個およびob個とする。したがって、この実施例では、oa=3およびob=2である。なお、各制御パラメータについて、指定計測点の数は任意に決定されることができる。また、制御パラメータの種類をいくつにするかも任意に決定されることができる。
【0051】
1世代あたりのDNA個体の数は、N個とする。また、制御パラメータAについての染色体(DNA要素)の最大数はpa個であり、制御パラメータBについてのDNA要素の最大数はpb個である。paおよびpbは、それぞれ、制御パラメータAおよびBについての最大計測点数を示しており、これらの値も任意に決定されることができる。
【0052】
ここでは、それぞれのDNA要素の表記について、一桁目は制御パラメータの種類を示し、2桁目はDNA要素の番号を示し、3桁目はDNA個体の番号を示し、4桁目は世代番号を示す。たとえば、「A135」は、制御パラメータAの第5世代の第3のDNA個体における1番目のDNA要素、を表している。
【0053】
それぞれのDNA個体において、指定計測点は、固定のDNA要素として含められる。この例では、制御パラメータAについての指定計測点は、各DNA個体において、1〜3番目のDNA要素に含められており、制御パラメータBについての指定計測点は、各DNA個体において、1および2番目のDNA要素に含められる。
【0054】
各DNA個体において、指定計測点をDNA要素として定義した後、残りのDNA要素(pa−oa個、pb−ob個)のそれぞれを、制御パラメータAおよびBがそれぞれ取りうる範囲内に制限された乱数によって生成する。こうして、N個のDNA個体が生成される。
【0055】
さらに、乱数的に任意のDNA要素を抽出し、該抽出した要素を、該要素で表される計測点を無効化する(すなわち、計測点として使用しない)ことを意味する値(この実施例では、制御パラメータAおよびBがとりうる範囲外の値である「99」を用いる)に置換する。しかし、無効化するDNA要素は、指定計測点が定義されたDNA要素以外のDNA要素から抽出される。この例では、A420、B420、A5n0のDNA要素が無効化されている。各DNA個体において、無効化するDNA要素の数は、任意に決定されることができ、制御パラメータAとBとの間で無効化するDNA要素の数を等しくする必要もない。こうして、各DNA個体において、「99」に置換されたDNA要素がゼロの場合には、最大計測点数はpa個およびpb個となり、置換されたDNA要素が1個である場合には、最大計測点数は(pa−1)個および(pb−1)個となり、置換されたDNA要素が2個である場合には、最大計測点数は(pa−2)個および(pb−2)個となる。ここで、m世代におけるn番目のDNA個体において置換されなかった計測点数の総数を、それぞれ、pa_ef_nmおよびpb_ef_nmで表す。
【0056】
次に、ステップS13において、記憶装置に格納されている予測性能モデルRSM_estを読み出し、該予測性能モデルRSM_estに対し、制御パラメータAについての値Av_r(r=1〜va)および制御パラメータBについての値Bv_s(s=1〜vb)においてサンプリングを行い、予測性能データVest_rsを取得する。これは、後述する評価に用いられる。
【0057】
vaおよびvbは、va>>paおよびvb>>pbを満たすよう十分大きな値(たとえば、paおよびpbのそれぞれ10倍以上)が望ましく、vaおよびvbは、一般的な実験計画法や乱数によって生成してよい。
【0058】
ステップS14において、DNA個体の評価プロセスを実行する。該評価プロセスは、図9に示されている。
【0059】
ステップS21において、繰り返しパラメータi(DNA個体の番号nを識別する)をゼロに設定する。
【0060】
ステップS22において、前述したように、「99」によって無効化されなかった計測点の総数pa_ef_nmおよびpb_ef_nmをそれぞれ算出し、総計測点数Ns_nm(制御パラメータAの値と制御パラメータBの値の組み合わせ数)を、次のように計算する。
Ns_nm=pa_ef_nm×pb_ef_nm
【0061】
ステップS23において、m世代のn番目のDNA個体中の各DNA要素によって定義される制御パラメータを、Apnm(p=1〜pa)およびBqnm(q=1〜pb)で表す。ApnmおよびBqnmにおいて予測性能モデルRsm_estをサンプリングすることにより、予測性能データYapn_bqn_m(p=1〜pa、q=1〜pb)を取得する。
【0062】
ここで、図10を参照すると、Yapn_bqn_mの一例が示されている。なお、ApnmおよびBqnmのいずれかが無効化されている(すなわち、「99」で置換されている)場合には、予測性能データのサンプリングは行われない。したがって、総計測点数がNs_nm個であるので、Ns_nm個のYapn_bqn_mが取得される。
【0063】
ステップS24において、サンプリングされた予測性能データYapn_bqn_mに基づいて、サンプリング性能モデルRSM_nmを生成する。前述したように、予測性能モデルRSM_estは、制御パラメータと、それに対する性能データとの間の関係をコンピュータにより算出したものである。したがって、該予測性能モデルの生成手法と同様の手法で、制御パラメータApnmおよびBqnmとそれに対応する性能データYapb_bqn_mとから、サンプリング性能モデルRSM_nmを生成することができる。サンプリング性能モデルRSM_nmは、現在のDNA個体によって表される計測点において実現されうるエンジンの性能特性を表しているといえる。
【0064】
ステップS25において、前述したステップS13と同じ制御パラメータ値Av_rおよびBv_sにおいてサンプリング性能モデルRSM_nmをサンプリングし、サンプリング性能データVnm_rsを取得する。前述したステップS13と同じ制御パラメータ値Av_rおよびBv_sを用いるのは、予測性能モデルRSM_estとサンプリング性能モデルRSM_nmとを同じ条件下で比較するためである。
【0065】
一般的に、計測点数を多くするほうが、より良好な精度でサンプリング性能モデルRSM_nmを取得することができるが、この発明では、より少ない計測点数においてより高い精度のサンプリング性能モデルRSM_nmを得られるような計測点配置を探索するため、評価関数に、以下のような計測点数に応じた重み関数(ペナルティ)Wを乗算する。
【数1】
【0066】
代替的に、W=(Ns_nm)2/Nmax2でもよい。ここで、Nmax=pa×pbである。したがって、無効化されたDNA要素を持たないDNA個体については、W=1となり、重み付けは行われない。
【0067】
ステップS26では、重み関数Wを算出する。重み関数Wは、上記式に従って算出してもよいし、重み関数Wのテーブルを参照することにより求めてもよい。図11に、該テーブルの一例を示す。計測点数Ns_nmが大きくなるほど、重み付けWの値を大きくし、評価を低くするようにする。該テーブルをメモリに記憶しておき、該テーブルを、ステップS22で算出したNs_nmに基づいて参照することにより、対応するWを求めることができる。
【0068】
ステップS27において、サンプリング性能モデルRSM_nmを評価するため、以下のように、重み関数Wを含む評価関数の値Ersm_nmを算出する。
【数2】
【0069】
評価関数値Ersm_nmは、サンプリング性能モデルRSM_nmの予測性能モデルRSM_estに対する誤差を反映するので、該評価関数値Ersm_nmが小さいほど、該サンプリング性能モデルRSM_nmの基になったDNA個体の評価は高いことを示す。こうして、該DNA個体により実現される計測点が、予測性能モデル上の性能データを、どれほど良好な精度で再現することができるかが評価される。
【0070】
ステップS28において、繰り返しパラメータiを1だけインクリメントする。ステップS29において、iの値が、DNAの個体数を示すNを超えるまで、ステップS22〜28が各DNA個体に対して実行される。ステップS29の判断がNoになったならば、図7のステップS15に進み、DNAの更新プロセスを実行する。該更新プロセスは、図12に示されている。
【0071】
ステップS31において、評価関数の値Ersm_nmの値の小さい順に、N個のDNA個体を並べる。並べた結果の一例が、図13に示されている。
【0072】
ステップS32において、N個のDNA個体のうち、最も小さい評価関数の値を、Ersm_bestとする。これは、後述する最適化の収束判定に用いられる。
【0073】
ステップS33において、計測点数毎に、評価関数値Ersm_nmが小さい順にDNA個体を選択する。総計測点数の最大値Nmaxは、前述したようにpa×pbである。また、前述したように、指定計測点のDNA要素は無効化されず、その数は、oaおよびob個である。したがって、総計測点数の起こりうる最小値Nminは、oa×ob個である。
【0074】
Ns_nm=NminであるDNA個体のうち、最も小さい評価関数値Ersm_nmのDNA個体を1つ選択する。次に、Ns_nm=Nmin+1であるDNA個体のうち、最も小さい評価関数値Ersm_nmのDNA個体を1つ選択する。Ns_nm=Nmin+2、Nmin+3、...Nmaxについてこのような選択操作を繰り返す。Ns_nm=Nmaxに達したならば、再び、Ns_nm=Nminに戻り、Ns_nm=Nmin、Nmin+1、...Nmaxのそれぞれについて、まだ選択されていないDNA固体のうち、最も小さい評価関数値Ersm_nmのDNA個体を1つ選択する。選択したDNA個数が所定値Nsel(<N)に達した時点で、選択操作を終了する。
【0075】
一般的な遺伝的アルゴリズムでは、このような計測点数毎の選択操作は行われず、評価関数値Ersm_nmの小さい順にNsel個選択する。本願発明では、計測点数の少ないDNA個体の残存率を高めるため、このような計測点数毎の選択操作を行うのが好ましい。
【0076】
ステップS34において、選択されたNsel個のDNA個体から、ランダムに2つのDNA個体を選び、乱数によって交叉位置を決定する。ここで、図14を参照すると、選択された2つのDNA個体および決定された交叉位置の一例が示されている。この例では、制御パラメータAに関するDNA要素と制御パラメータBに関するDNA要素の間に交叉位置が決定されているが、このような交叉位置には限定されない。
【0077】
該2つのDNA個体間で、交叉位置よりも右側に存在するDNA要素を交換し、新たな2つのDNA個体を生成する。こうして、所定数Ncros(<N)のDNA交叉個体が生成される。
【0078】
ステップS35において、選択されたNsel個のDNA個体からランダムに1つのDNA個体を選び、乱数により突然変異位置を決定する。突然変異位置は、指定計測点のDNA要素は除外するよう決定される。該突然変異位置におけるDNA要素の値を、乱数により求めた値または無効化することを示す値「99」で置換する。ここで、乱数により求めた値は、制御パラメータAおよびBのそれぞれについて、取り得る範囲内の値である。なお、乱数により求めた値と無効化を示す値のどちらを採用して置換するかも、乱数を用いて決定するのが好ましい。こうして、所定数Nmut(<N)の新たなDNA個体が生成される。
【0079】
ステップS36において、選択、交叉および突然変異によって決定されたN個のDNA個体に対し、1〜Nの番号を再度割り振る。ここで、N=Nsel+Ncros+Nmutであり、このような関係になるよう、Nsel、NcrosおよびNmutは決定されている。番号を割り振る順番は、任意でよい。
【0080】
ステップS37において、世代パラメータmを1だけインクリメントし、図7のステップS16に進む。
【0081】
ステップS16において、以下の式に示すように、ステップS32で算出された今回の世代における最良の評価関数値Ersm_bestと、前回の世代における最良の評価関数値Ersm_bestとの差の絶対値D_ersm_bestを算出する。なお、該式において、(m−1)が今回の世代を示し、(m−2)が前回の世代を示しているが、これは、ステップS15の更新プロセス中において、世代パラメータmを1だけインクリメントしているからである(図12のS37)。なお、最良の評価関数値Ersm_best(m−1)が初代についてのものである場合には、前回の世代が存在しないので、Ersm_best(m−2)には、所定の初期値が設定される。
D_ersm_best=|Ersm_best(m-1)-Ersm_best(m-2)|
【0082】
ステップS17において、差D_ersm_bestが、所定値D_ersm_conv以下であれば、最適化が収束したと判断し、ステップS19に進む。そうでなければ、最適化を続行するため、ステップ18に進む。
【0083】
ステップS18において、世代数mが、所定の最大世代数Mmax以下ならば、最適化を続行するためステップS14に進む。世代数mがMmaxより大きければ、最適化を終了するため、ステップS19に進む。
【0084】
ステップS19において、今回の世代において最良の評価関数値Ersm_best(m−1)を実現するDNA個体によって定義される制御パラメータAおよびBの値を、最適計測点とする。こうして、最適化は終了する。なお、(m−1)が今回の世代を示しているのは、前述したように、ステップS15の更新プロセス中において世代パラメータmを1だけインクリメントしているからである。
【0085】
前述したように、最適計測点において、実際のエンジンの計測を行う。最適計測点は、実際のエンジンをモデル化したエンジンモデルから得られたエンジン性能の凹凸やピーク値(最適値)等の挙動を最も良好な精度で追従可能なよう決定された計測点である。したがって、最適計測点において実際のエンジンを計測することにより、該実際のエンジンの性能特性を、より良好な精度で取得することができる。
【0086】
図16および図17を参照して、本願発明に従って最適化された計測点の効果について説明する。この例では、制御パラメータA(たとえば、スロットル弁の開度、吸気バルブのリフト量等)に対し、比較的滑らかな凸特性を示す性能データ(たとえば、吸気量、トルク、燃焼効率等)について、(a)従来の実験計画法に従って計測点の配置が決定された場合、および(b)本願発明の手法に従って計測点の配置および数が決定された場合、を示している。
【0087】
図16の(a)において、符号131は、実際のエンジンの性能特性を示し、符号133は、従来の実験計画法によって均等配置された計測点A1〜A6において計測された性能データを示す。
【0088】
図16の(b)において、符号131は、(a)と同じ実際のエンジンの性能特性を示し、符号135は、予測性能モデルRSM_estに基づく性能データを示し、符号137は、本願発明に従って最適化された計測点における計測によって得られた性能データを示す。ここで、最大の計測点数pa=6とし、本願発明の手法により、最適計測点の数は5個に減らされ、最適計測点の配置は不均等となっている。前述したように、予測性能モデルは、実際のエンジンの凸特性の挙動を模したものとなっているが、性能データの大きさについては乖離が生じている。
【0089】
(a)では、実際のエンジン性能特性131と、計測点A1〜A6において計測されたエンジン性能特性133とが重なって示されている。したがって、該6個の計測点により、実際のエンジン性能における凸特性を、計測点A1〜A6において良好な精度で計測することができている。すなわち、計測点A1〜A6に基づいて算出されるエンジンの性能特性は、実際のエンジンの性能特性を精度良く表現できるものとなっている。
【0090】
(b)では、実際のエンジン性能特性131と、計測点A1〜A6において計測されたエンジン性能特性137とが重なって示されている。このように、本願発明によれば、計測点の数が減らされているにもかかわらず、(a)と同等の精度でエンジンの性能特性を計測することができる。
【0091】
図17を参照すると他の例が示されており、図16と異なる点は、エンジンの性能特性が、比較的増減の多いもの(たとえば、ガソリンエンジンの点火時期、NoxおよびHCなどのエミッション等である場合)に基づいている点である。
【0092】
(a)では、従来の実験計画法により6点の計測点が均等に配置されているため、制御パラメータAの値が小さい領域での性能データの増減特性を正確に計測することができていない。このため、計測点に基づいて求めたエンジン性能特性133は、制御パラメータAの値が小さい領域において、実際のエンジン性能特性131に対して大きな誤差を生じている。この誤差を無くすには、さらに多くの計測点を配置する必要が生じる。
【0093】
(b)では、本願発明の手法に従って、計測点が6個から5個に減らされているが、これらの計測点は、適切な位置に不均等に配置されている。したがって、計測点数が減らされているにもかかわらず、制御パラメータAの値が小さい領域において、計測されたエンジン性能特性137と実際のエンジン性能特性131との間に大きな誤差を生じさせることなく、良好な精度でエンジン性能特性を計測することができている。
【0094】
以上の実施例では、遺伝的アルゴリズムを用いて、計測点の配置だけでなく数も最適化する形態について説明した。代替的に、計測点の配置のみを最適化するようにしてもよい。この場合には、図7のステップS12の初期集団を生成する際に、計測点の無効化を示す値をDNA要素に挿入する処理は必要とされない。DNA個体のすべてに、制御パラメータ値を入れればよい。図9のステップS26の重み関数Wについては、無効化されたDNA要素を各DNA個体が持たないのでW=1となり、評価関数への重み付けは行われない。したがって、重み関数の算出を省略してよい。さらに、図12のステップS33における選択処理は、すべてのDNA個体の計測点数が同じであるので、計測点数毎に選択する必要はなく、評価関数値Ersm_nmが小さい順にすべてのDNA個体を並べて、その中からNsel個のDNA個体を選択すればよい。ステップS35の突然変異処理では、無効化を示す値への置換は行われない。このような代替形態の場合にも、遺伝的アルゴリズムを介して、予測性能モデルの挙動に適合した配置の計測点が得られるので、該計測点において実際のエンジンを計測することにより、実際のエンジンの挙動および大きさに追従する性能データを取得することができる。
【0095】
上記の実施形態では、遺伝的アルゴリズムを用いて最適化を行った。遺伝的アルゴリズムによれば、計測点の配置および数を同時に最適化することができる。しかしながら、代替の形態では、遺伝的アルゴリズムを用いなくてもよい。この形態について、以下説明する。
【0096】
図18は、この発明の他の実施形態に従う、計測点を最適化するための装置のブロック図である。この装置は、遺伝的アルゴリズムとは異なる他の最適化アルゴリズムを用いて計測点の配置および数を最適化する。
【0097】
該他の実施形態に従う装置は、図1のものと類似した構成を有している。図1と同じ構成要素には同じ符号が割り振られており、これについての説明は省略される。
【0098】
最適化部115は、遺伝的アルゴリズムとは異なる最適化アルゴリズムを用いて、計測点の配置を最適化する。好ましい形態では、最適化部115は、計測点の配置だけでなく数についても最適化する。
【0099】
より具体的には、計測点集合初期化部113は、それぞれの制御パラメータの一組の計測点(以下、計測点集合と呼ぶ)について、初期値を設定する。サンプリング性能モデル生成部121は、記憶装置から予測性能モデルRSM_estを読み出し、計測点集合初期化部113によって設定された計測点集合により規定される制御パラメータ値において該予測性能モデルRSM_estをサンプリングし、該サンプリングされた予測性能データから、サンプリング性能モデルRSM_nmを生成する。評価部122は、予測性能モデルRSM_estと該サンプリング性能モデルRSM_nmの誤差を算出することにより、サンプリング性能モデルRSM_nmを評価する。計測点集合更新部123は、最適化アルゴリズムを用いて、上記誤差を最小にするよう計測点集合を算出する最適化アルゴリズムを実行することにより、該計測点集合を更新する。遺伝的アルゴリズムを用いた前述の実施形態とは異なり、計測点集合の更新では、計測点数は変更されない。最適化アルゴリズムとして、既知の最急降下法、最小二乗法、シンプレックス法およびカーマーカー法等を用いることができる。
【0100】
収束判定部124は、該誤差が収束したかどうかを判定する。収束していなければ、該更新された計測点集合について、再び、サンプリング性能モデルが生成されて該計測点集合が評価される。収束したならば、計測点数更新部125が、計測点集合に含める計測点の数を更新する。該更新された数の計測点を含む計測点集合について、初期計測点集合設定部113、サンプリング性能モデル生成部121、評価部122、計測点集合更新部123および収束判定部124による処理が繰り返される。
【0101】
計測点数更新部125において、計測点集合に含まれる計測点の数が所定値に達したならば、最適計測点選択部126により、評価された計測点集合のうち、上記誤差について最小の値を有する計測点集合が選択され、該選択された計測点集合により規定される制御パラメータの値を、最適化された計測点とする。
【0102】
遺伝的アルゴリズムを用いた前述の実施形態では、計測点の無効化を示すDNA要素をDNA個体に組み込むことにより、計測点の配置および数を同時に最適化することができる。したがって、所定数の世代のDNA個体の評価を終えると同時に、または最適化が収束したと判断されると同時に、最適計測点を決定することができる。それに対し、図18に示す実施形態で用いる最適化アルゴリズムでは、計測点の配置および数を同時に最適化することはできない。最適化アルゴリズムは、所定数の計測点について、誤差を最小にするような計測点の配置を求めるものである。しかしながら、このような最適化アルゴリズムを、計測点の数を変化させながら繰り返すことにより、計測点の配置だけでなく数についても、最適化することが可能となる。
【0103】
図19および図20を参照して、図18に示す実施形態に従う、コンピュータのCPUによって実行される、より具体的には図18の最適化部115により実行される詳細なアルゴリズムを説明する。
【0104】
ステップS111は、図7のステップS13と同様である。前述した予測性能モデルRSM_estを記憶装置から読み出し、該予測性能モデルRSM_estに対し、制御パラメータAについての値Av_r(r=1〜va)および制御パラメータBについての値Bv_s(s=1〜vb)においてサンプリングを行い、予測性能データVest_rsを取得する。これは、後述する評価に用いられる。
【0105】
ステップS112において、制御パラメータAについての計測点数を示すiaに初期値pa_sを設定し、ステップS113において、制御パラメータBについての計測点数を示すibに初期値pb_sを設定する。該初期値は、任意の値(たとえば、3)に設定されることができる。 ステップS114において、制御パラメータAについてはia個の計測点Aia_ib_n(n=1〜ia)および制御パラメータBについてはib個の計測点Bia_ib_m(m=1〜ib)を、乱数によって初期化する。Aia_ib_nおよびBia_ib_mは、前述したように、制御パラメータAおよびBについての一組の計測点(計測点集合)をそれぞれ表している。Aia_ib_n(0)およびBia_ib_m(0)が図21に示されており、この例では、制御パラメータAについての計測点集合Aia_ib_n(0)には、Aia_ib_1〜Aia_ib_3の3個(ia=3)の計測点を表す値が設定されており、これらが乱数で初期化される。制御パラメータBについても同様である。
【0106】
ステップS115において、最適化アルゴリズムを実行する。最適化アルゴリズムは図20に示されており、ステップS121において、繰り返しパラメータi(計測点集合を識別する値を示す)をゼロに初期化する。
【0107】
ステップS122〜S126は、図9のステップS23〜S27と類似した処理である。ステップS122において、Aia_ib_n(n=1〜ia)およびBia_ib_m(m=1〜ib)において予測性能モデルRsm_estをサンプリングすることにより、予測性能データYan_bmを取得する。ここで、総計測点数はia×ib個であり、これを、Ns_nmで表す。したがって、Ns_nm個の予測性能データYan_bmが得られる。
【0108】
ステップS123において、サンプリングされた予測性能データYan_bmに基づいて、サンプリング性能モデルRSM_nmを生成する。前述したように、予測性能モデルRSM_estは、制御パラメータと、それに対する性能データとの間の関係をコンピュータにより算出したものである。したがって、該予測性能モデルの生成手法と同様の手法で、制御パラメータAia_ib_nおよびBia_ib_mとそれに対応する性能データYan_bmとから、サンプリング性能モデルRSM_nmを生成することができる。サンプリング性能モデルRSM_mnは、現在の(i番目の)計測点集合の制御パラメータAおよびBの値によって表される計測点において実現されうるエンジンの性能特性を表しているといえる。
【0109】
ステップS124において、前述したステップS111と同じ制御パラメータ値Av_rおよびBv_sにおいてサンプリング性能モデルRSM_nmをサンプリングし、サンプリング性能データVnm_rsを取得する。前述したステップS111と同じ制御パラメータ値Av_rおよびBv_sを用いるのは、予測性能モデルRSM_estとサンプリング性能モデルRSM_nmとを同じ条件下で比較するためである。
【0110】
ステップS125において、重み関数(ペナルティ)Wを算出する。これは、前述した式W=Ns_nm/Nmaxに従って行うことができ、代替的に、W=(Ns_nm)2/Nmax2でもよい。ここで、制御パラメータAについての最大計測点数はpaであり、制御パラメータBについての最大計測点数はpbであるので(これらは、予め決められている)、Nmax=pa×pbである。
【0111】
重み関数Wを上記式に従って算出することに代えて、図11のような重み関数Wのテーブルを記憶装置に記憶し、Ns_nmに基づいて該テーブルを参照することにより、該重み関数Wを求めてもよい。こうして、計測点数Ns_nmが大きくなるほど重み付けWの値を大きくし、評価が低くなるようにする。
【0112】
ステップS126において、算出された重み関数Wを用い、サンプリング性能モデルの評価関数値Ersm_nmを、以下の式に従って算出する。
【数3】
【0113】
この式は、前述した評価関数の式と同様であり、評価関数値Ersm_nm(i)は、今回の計測点集合の制御パラメータAおよびBの値Aia_ib_n(i)およびBia_ib_m(i)から求めたサンプリング性能モデルRSM_nmの予測性能モデルRSM_estに対する誤差を反映している。該誤差の値が小さいほど、サンプリング性能モデルRsm_nmの基となった計測点Aia_ib_n(i)およびBia_ib_m(i)の評価が高いことを示す。こうして算出された評価関数値Ersm_nm(i)は、対応する計測点集合Aia_ib_n(i)およびBia_ib_m(i)と関連づけられて、メモリなどの記憶装置に記憶される。
【0114】
ステップS127において、所定の最適化アルゴリズムを用いて、Aia_ib_n(i+1)およびBia_ib_m(i+1)を算出し、これらが、次回の評価プロセスにおいてAia_ib_n(i)およびBia_ib_m(i)として用いられる(すなわち、Aia_ib_(i)およびBia_ib_m(i)が更新される)。
【0115】
最適化アルゴリズムとして、上記評価関数値(誤差)Ersm_nmが最小になるようなAia_ib_n(i+1)およびBia_ib_m(i+1)を算出することのできる任意の既知のアルゴリズムを用いることができ、たとえば、最急降下法、最小二乗法、シンプレックス(simplex)法、カーマーカー(Karmarkar)法等に基づくアルゴリズムを用いることができる。制御パラメータAについて、Aia_ib_n(i+1)は、一般に、Aia_ib_n(i)+K×Ersm_nm(i)により求められるが、これらのアルゴリズム間の違いは、係数Kを算出するやり方である。しかしながら、いずれのアルゴリズムも、誤差Ersm_nmが最小になるよう係数Kを算出し、該係数Kを用いてAia_ib_n(i+1)を算出する点では同じである。したがって、いずれのアルゴリズムを用いてもよい。
【0116】
ここでは、最急降下法および最小二乗法を用いた場合について説明する。以下は、最急降下法を用いた場合の演算式を示す。式(1−1)は、制御パラメータAについてAia_ib_n(i+1)を算出する式を示し、式(1−2)は、制御パラメータBについてBia_ib_m(i+1)を算出する式を示す。ここで、KPAおよびKPBは、前述した係数Kに対応する。μAおよびμBは更新ゲインを示し、予め設定されることができる。
【数4】
【0117】
次に、逐次型の最小二乗法を用いた場合の演算式を示す。ここで、KPn(i)およびKPm(i)は、前述した係数に対応Kし、逐次的に算出される。Pは更新ゲインを示し、予め設定されることができる。また、λは重みパラメータを示す(0<λ<1)。
【数5】
【0118】
ステップS128において、収束判定を行う。すなわち、誤差の今回値Ersm_nm(i)と前回値Ersm_nm(i−1)の差が所定値Drsm_conv以上ならば、最適化が収束していないと判断し、ステップS129において繰り返しパラメータiを1だけインクリメントし、ステップS127で算出されたAia_ib_n(i+1)およびBia_ib_m(i+1)(すなわち、更新されたAia_ib_n(i)およびBia_ib_m(i))についてステップS122〜S128を繰り返す。この繰り返しは、ステップS130において、繰り返しパラメータiが所定値Nに達するまで行われる。こうして、計測点数を所定数に維持したまま、N個の計測点集合のそれぞれについて評価が行われる。
【0119】
しかしながら、iがNに達する前でも、ステップS128において、誤差の今回値Ersm_nm(i)と前回値Ersm_nm(i−1)の差が所定値Drsm_convより小さければ、最適化が収束したと判断し、図19のプロセスのステップS116に戻る。
【0120】
ステップS116において、制御パラメータBの計測点の数ibを1だけインクリメントする。ステップS117において、計測点数ibがpb(前述したように、制御パラメータBについての最大計測点数)に達していなければ、制御パラメータAの計測点数を維持したまま、再び、ステップS114およびS115の計測点集合の初期化および最適化が行われる。すなわち、制御パラメータBについてのみ、計測点数が1個だけ増やされ、該増やされた数の計測点の値が乱数によって初期化されて(S114)、その後最適化される(S115)。制御パラメータAについては、計測点数は同じのまま、再び初期化されて(S114)、その後最適化される(S115)。
【0121】
ステップS117において計測点数ibがpbに達したならば、ステップS118に進み、制御パラメータAの計測点の数iaを1だけインクリメントする。ステップS119において、計測点数iaがpa(前述したように、制御パラメータAについての最大計測点数)に達していなければ、制御パラメータAについては該インクリメントされた計測点数iaを維持したまま、制御パラメータBの計測点数を初期値pb_sからpbまで変化させながら(S113、S116)、ステップS114およびS115の計測点集合の初期化および最適化が行われる。
【0122】
ステップS119において計測点数iaがpaに達したならば、ステップS120において、最適計測点を決定する。ステップS120においては、図20のステップS126で算出されて記憶装置に記憶された評価関数値Ersm_nm(i)の値のうち、最も小さい値を有する評価関数値Ersm_nm(i)に対応するAia_ib_n(i)およびBia_ib_m(i)を、最適計測点とする。こうして、最適化を終了する。
【0123】
上記の実施形態では、最急降下法および最小二乗法等の既知の最適化アルゴリズムを用いて、計測点の配置だけでなく数も最適化する形態について説明した。代替的に、計測点の配置のみを最適化するようにしてもよく、この場合には、図19のプロセスにおいて、ステップS116およびS118に示されるような計測点数の更新は必要とされない。所定数の計測点について、ステップS114およびS115の計測点集合の初期化およびそれに対する最適化アルゴリズムを実行すればよい。
【0124】
なお、図18に示す実施形態でも、図4と同様に、予測性能部11と計測点集合初期化部113の間に指定計測点決定部12を設けてもよい。この場合、図6を参照して説明したように指定計測点が決定され、該指定計測点を含めるように、計測点集合初期化部113により計測点集合の値が設定される。より具体的には、図19のステップS112およびS113のpa_sおよびpb_sは、指定計測点の数以上の値に設定され、ステップS114において、該指定計測点以外の計測点の値が乱数により初期化される。たとえば、図21において、Aia_ib_1〜Aia_ib_3およびBia_ib_1〜Bia_ib_2を指定計測点を表す値として用い、それ以外のBia_ib_3は、乱数によって初期化される。また、計測点集合更新部123は、指定計測点を含むように、計測点集合を更新する。より具体的には、図20のステップS127で用いられる最適化アルゴリズムは、指定計測点以外の計測点について、Aia_ib_n(i+1)およびBia_ib_m(i+1)を算出すればよい。
【0125】
以上にこの発明を具体的な実施例について説明したが、この発明は、このような実施例に限定されるものではない。
【図面の簡単な説明】
【0126】
【図1】(a)実験計画法による制御パラメータ条件組み合わせを示す図、および(b)従来の自動計測手法を示す図。
【図2】エンジン性能の特性を示す図。
【図3】実験計画法を用いた計測点削減の悪影響を示す図。
【図4】本願発明の一実施例に従う、最適計測点を算出するための装置のブロック図。
【図5】本願発明の一実施例に従う、予測性能モデルの一例を示す図。
【図6】本願発明の一実施例に従う、指定計測点の一例を示す図。
【図7】本願発明の一実施例に従う、最適化プロセスのフロー。
【図8】本願発明の一実施例に従う、遺伝的アルゴリズムにおける初期集団の一例を示す図。
【図9】本願発明の一実施例に従う、遺伝的アルゴリズムにおける評価プロセスのフロー。
【図10】本願発明の一実施例に従う、各DNA固体における制御パラメータAの値および制御パラメータBの値の組み合わせを示す図。
【図11】本願発明の一実施例に従う、評価関数についての重み付けを決定するためのテーブルの一例を示す図。
【図12】本願発明の一実施例に従う、遺伝的アルゴリズムにおけるDNA更新プロセスのフロー。
【図13】本願発明の一実施例に従う、遺伝的アルゴリズムにおける、評価関数値に従うDNA固体の並び替えを示す図。
【図14】本願発明の一実施例に従う、遺伝的アルゴリズムにおける交差処理を示す図。
【図15】本願発明の一実施例に従う、遺伝的アルゴリズムにおける突然変異処理を示す図。
【図16】本願発明の手法に従って決定される最適計測点の効果を説明するための図。
【図17】本願発明の手法に従って決定される最適計測点の効果を説明するための図。
【図18】本願発明の他の実施例に従う、最適計測点を算出するための装置のブロック図。
【図19】本願発明の他の実施例に従う、最適化プロセスのフロー。
【図20】本願発明の他の実施例に従う、最適化プロセスの最適化アルゴリズムを示すフロー。
【図21】本願発明の他の実施例に従う、計測的集合の構成を概略的に示す図。
【符号の説明】
【0127】
11 予測性能部
15、115 最適部
【特許請求の範囲】
【請求項1】
制御対象について、所定の制御パラメータに対する性能データを計測するための計測点を最適化するための装置であって、
前記制御対象のモデルを用い、該制御対象の前記制御パラメータに対する性能特性を予測して予測性能データを算出する手段と、
前記予測性能データに対して、設定された計測点においてサンプリングし、該サンプリングされた性能データに基づいてサンプリング性能データを算出する手段と、
前記予測性能データと前記サンプリング性能データの間の誤差が最小となるように、前記計測点の配置を最適化する最適化手段と、
を備える装置。
【請求項2】
前記最適化手段は、さらに、前記計測点の数を最適化する、
請求項1に記載の装置。
【請求項3】
さらに、
前記最適化された計測点において実際の前記制御対象に対する計測を行い、該制御対象の実際の性能特性を取得する手段を備える、
請求項1または2に記載の装置。
【請求項4】
前記計測点の配置の最適化は、遺伝的アルゴリズムによって行われる、
請求項1から3のいずれかに記載の装置。
【請求項5】
前記計測点の数の最適化は、遺伝的アルゴリズムによって行われる、
請求項2から4のいずれかに記載の装置。
【請求項6】
前記遺伝的アルゴリズムにおける突然変異の処理の際、前記計測点の数を削減する意味を有するDNA要素をDNA個体に組み込む、
請求項5に記載の装置。
【請求項7】
前記遺伝的アルゴリズムにおいて、評価関数を用いてDNA個体を評価する際、前記計測点の数の増大に応じて該評価関数による評価が低下するように、該評価関数に対する重み付けを行う、
請求項5または6に記載の装置。
【請求項8】
前記遺伝的アルゴリズムにおける選択処理の際、各DNA個体の計測点数毎に、前記評価関数による評価が高い順にDNA個体の選択を行う、
請求項7に記載の装置。
【請求項9】
前記制御対象は、内燃機関である、
請求項1から8のいずれかに記載の装置。
【請求項10】
前記計測点の配置の最適化は、該計測点の数が所定値である場合に、前記誤差を最小にするための計測点の配置を算出する最適化アルゴリズムにより行われる、
請求項1または2に記載の装置。
【請求項11】
前記計測点の配置および数の最適化は、さらに、前記計測点の数を変更しながら、前記最適化アルゴリズムによる処理を繰り返し、該繰り返しの結果、前記誤差が最小になる計測点の配置および数を求めることにより行われる、
請求項10に記載の装置。
【請求項12】
前記誤差が最小になる計測点の配置および数を求めるために所定の評価関数が用いられ、該評価関数は、前記計測点の数の増大に応じて該評価関数による評価が低下するように、重み付けがなされている、
請求項11に記載の装置。
【請求項1】
制御対象について、所定の制御パラメータに対する性能データを計測するための計測点を最適化するための装置であって、
前記制御対象のモデルを用い、該制御対象の前記制御パラメータに対する性能特性を予測して予測性能データを算出する手段と、
前記予測性能データに対して、設定された計測点においてサンプリングし、該サンプリングされた性能データに基づいてサンプリング性能データを算出する手段と、
前記予測性能データと前記サンプリング性能データの間の誤差が最小となるように、前記計測点の配置を最適化する最適化手段と、
を備える装置。
【請求項2】
前記最適化手段は、さらに、前記計測点の数を最適化する、
請求項1に記載の装置。
【請求項3】
さらに、
前記最適化された計測点において実際の前記制御対象に対する計測を行い、該制御対象の実際の性能特性を取得する手段を備える、
請求項1または2に記載の装置。
【請求項4】
前記計測点の配置の最適化は、遺伝的アルゴリズムによって行われる、
請求項1から3のいずれかに記載の装置。
【請求項5】
前記計測点の数の最適化は、遺伝的アルゴリズムによって行われる、
請求項2から4のいずれかに記載の装置。
【請求項6】
前記遺伝的アルゴリズムにおける突然変異の処理の際、前記計測点の数を削減する意味を有するDNA要素をDNA個体に組み込む、
請求項5に記載の装置。
【請求項7】
前記遺伝的アルゴリズムにおいて、評価関数を用いてDNA個体を評価する際、前記計測点の数の増大に応じて該評価関数による評価が低下するように、該評価関数に対する重み付けを行う、
請求項5または6に記載の装置。
【請求項8】
前記遺伝的アルゴリズムにおける選択処理の際、各DNA個体の計測点数毎に、前記評価関数による評価が高い順にDNA個体の選択を行う、
請求項7に記載の装置。
【請求項9】
前記制御対象は、内燃機関である、
請求項1から8のいずれかに記載の装置。
【請求項10】
前記計測点の配置の最適化は、該計測点の数が所定値である場合に、前記誤差を最小にするための計測点の配置を算出する最適化アルゴリズムにより行われる、
請求項1または2に記載の装置。
【請求項11】
前記計測点の配置および数の最適化は、さらに、前記計測点の数を変更しながら、前記最適化アルゴリズムによる処理を繰り返し、該繰り返しの結果、前記誤差が最小になる計測点の配置および数を求めることにより行われる、
請求項10に記載の装置。
【請求項12】
前記誤差が最小になる計測点の配置および数を求めるために所定の評価関数が用いられ、該評価関数は、前記計測点の数の増大に応じて該評価関数による評価が低下するように、重み付けがなされている、
請求項11に記載の装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2009−258068(P2009−258068A)
【公開日】平成21年11月5日(2009.11.5)
【国際特許分類】
【出願番号】特願2008−153591(P2008−153591)
【出願日】平成20年6月11日(2008.6.11)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
【公開日】平成21年11月5日(2009.11.5)
【国際特許分類】
【出願日】平成20年6月11日(2008.6.11)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
[ Back to top ]