(57)【要約】【課題】エンジン特性値と制御パラメータの関係モデルに基づき複数の評価項目を十分に満足する準最適解を高速かつ効率的に取得するエンジン制御パラメータ適合装置の提供。【解決手段】粒子群最適化手法により関係モデル式の評価関数を最小化するように制御パラメータの組み合わせを最適化するにあたり、収束性能改善手段により粒子の状態更新による粒子速度Ｖｉの変化量ΔＶｉを監視し、変化量ΔＶｉの各成分Δｖｉｊが所定の閾値を下回ったときに、速度成分ｖｉｊに対して乱数を加えて、粒子を拡散する。これにより、粒子群最適化手法における局所最適解で探索が留まり実用上十分な収束性能を得られないという問題を解決する。【選択図】図１
2012092761.tif 000002
【特許請求の範囲】
【請求項１】
所定のエンジン特性を満たすように、複数のエンジン制御パラメータの適合化を行うエンジン制御パラメータ適合化装置であって、
適合化を行う対象であるｎ個（ｎ＞１）のエンジン制御パラメータの組（ｘ１，…，ｘｎ）を、ｎ次元空間における点である粒子Ｐとし、当該ｎ次元空間の点座標（ｘ１，…，ｘｎ）を粒子座標Ｘ、当該ｎ次元空間の点座標（ｘ１，…，ｘｎ）の移動方向とその大きさを表すｎ次元ベクトル（ｖ１，…，ｖｎ）を粒子速度Ｖとするときに、複数個の粒子Ｐｉ（ｉ＝１，…，Ｍ；Ｍは粒子数）の粒子座標Ｘｉ及び粒子速度Ｖｉを粒子テーブルとして記憶する粒子テーブル記憶手段と、
前記粒子テーブルに格納された各粒子Ｐｉに対するエンジン制御パラメータの組（ｘ１，…，ｘｎ）に対するエンジン特性値の組（ｙ１，…，ｙη）の推定値である出力推定値Ｙｉを出力推定値テーブルとして記憶する出力推定値記憶手段と、
出力推定値Ｙｉの適合度を評価するための所定の評価関数をｆ（Ｙ）とするとき、前記粒子テーブルに格納された各粒子Ｐｉについて、各粒子Ｐｉに対する評価関数ｆ（Ｙ）の値である評価値ｆ（Ｙｉ）の最小値ｐＢｅｓｔｉ及びそれに対する粒子座標ＸｐＢｅｓｔ，ｉを粒子別最良値テーブルとして記憶する粒子別最良値記憶手段と、
すべての粒子Ｐｉ（ｉ＝１，…，Ｍ）に対する評価値ｆ（Ｙｉ）の最小値ｇＢｅｓｔ及びそれに対する粒子座標ＸｇＢｅｓｔを粒子群最良値テーブルとして記憶する粒子群最良値記憶手段と、
乱数によってＭ個の粒子に粒子座標Ｘｉ（ｉ＝１，…，Ｍ）及び粒子速度Ｖｉを生成し、これらを初期値として前記粒子テーブルに格納する初期状態生成手段と、
前記粒子テーブルに格納された各粒子Ｐｉのそれぞれに対して、エンジン制御パラメータの組（ｘ１，…，ｘｎ）とそれに対するエンジン特性の組（ｙ１，…，ｙη）とを関係づける式である所定のエンジンモデル式を用いて、各粒子の粒子位置Ｘｉに対応する出力推定値Ｙｉを算出し、前記出力推定値テーブルに格納する出力推定手段と、
前記出力推定値テーブルに格納された各粒子Ｐｉの出力推定値Ｙｉに基づき、評価値ｆ（Ｙｉ）を算出する評価値算出手段と、
前記粒子別最良値テーブルに粒子Ｐｉの評価値の最小値ｐＢｅｓｔｉが登録されていない場合は、前記評価値算出手段が算出した評価値ｆ（Ｙｉ）を前記粒子別最良値テーブルに新たに登録し、前記粒子別最良値テーブルに粒子Ｐｉの評価値の最小値ｐＢｅｓｔｉが登録されている場合は、前記評価値算出手段が算出した評価値ｆ（Ｙｉ）が当該最小値ｐＢｅｓｔｉよりも小さい場合には、前記粒子別最良値テーブルに登録された最小値ｐＢｅｓｔｉを当該評価値ｆ（Ｙｉ）に更新するとともに、前記粒子別最良値テーブルに登録された粒子座標ＸｐＢｅｓｔ，ｉを当該粒子Ｐｉの粒子座標Ｘｉに更新する粒子別最良値更新手段と、
前記粒子群最良値テーブルに粒子群の評価値の最小値ｇＢｅｓｔが登録されていない場合は、前記評価値算出手段が算出した評価値ｆ（Ｙｉ）を前記粒子群最良値テーブルに新たに登録し、前記粒子群最良値テーブルに粒子群の評価値の最小値ｇＢｅｓｔが登録されている場合は、前記評価値算出手段が算出した評価値ｆ（Ｙｉ）が当該最小値ｇＢｅｓｔよりも小さい場合には、前記粒子群最良値テーブルに登録された最小値ｇＢｅｓｔを当該評価値ｆ（Ｙｉ）に更新するとともに、前記粒子群最良値テーブルに登録された粒子座標ＸｇＢｅｓｔを当該粒子Ｐｉの粒子座標Ｘｉに更新する粒子群最良値更新手段と、
前記各粒子Ｐｉ（ｉ＝１，…，Ｍ）の粒子座標Ｘｉを粒子速度Ｖｉに基づいて更新するとともに、当該粒子速度Ｖｉを所定の更新式に基づいて更新する状態更新手段と、
前記状態更新手段による更新による前記各粒子Ｐｉ（ｉ＝１，…，Ｍ）の粒子速度Ｖｉの変化量ΔＶｉの各座標成分Δｖｉｊが、前記粒子座標Ｘｉの対応する成分ｘｉｊの取りうる範囲Ｗｊに対して所定の比率まで減少した場合に、その速度成分ｖｉｊに対して前記範囲Ｗｊよりも大きくならない範囲内で乱数を加えることにより粒子速度Ｖｉの更新を行う収束性能改善手段と、
前記粒子群最良値テーブルに粒子群の評価値の最小値ｇＢｅｓｔが収束したか否かを判定する収束判定手段と、
前記収束判定手段が収束したと判定するまで、前記出力推定手段、前記評価値算出手段、前記粒子別最良値更新手段、前記粒子群最良値更新手段、前記状態更新手段、及び前記収束性能改善手段による粒子群最適化処理を反復して実行する制御を行う適合化制御手段と、
を備え、
前記収束判定手段は、前記適合化制御手段による前記粒子群最適化処理の反復回数が所定の総反復回数ｋｍａｘに達した場合に収束したと判定することを特徴とするエンジン制御パラメータ適合化装置。
【請求項２】
前記状態更新手段は、前記各粒子Ｐｉ（ｉ＝１，…，Ｍ）の粒子速度Ｖｉの各ベクトル成分ｖｉｊを更新する場合に、次式（１）により更新を行うものであり、
更新式（１）の重み係数ｗを前記適合化制御手段による粒子群最適化処理の反復回数に応じて減少させる重み係数減衰手段を備えたことを特徴とする請求項１に記載のエンジン制御パラメータ適合化装置。
【数１】
2012092761.tif 000012
【請求項３】
前記状態更新手段は、前記各粒子Ｐｉ（ｉ＝１，…，Ｍ）の粒子速度Ｖｉの更新を行った後に、更新後の粒子速度Ｖｉの絶対値｜Ｖｉ｜が所定の最大粒子速度｜Ｖｍａｘ｜を超えた場合には更新後の粒子速度Ｖｉに係数｜Ｖｍａｘ｜／｜Ｖｉ｜を乗じるものであり、
前記最大粒子速度｜Ｖｍａｘ｜を前記適合化制御手段による粒子群最適化処理の反復回数に応じて減少させる粒子速度最大値演算手段を備えたことを特徴とする請求項２に記載のエンジン制御パラメータ適合化装置。
【請求項４】
前記収束性能改善手段は、
真偽値を乱数により生成する真偽値生成手段と、
前記真偽値生成手段が生成する真偽値が真の場合には、前記各粒子Ｐｉの粒子座標Ｘｉの各成分ｘｉｊの取りうる範囲Ｗｊに対して所定の範囲内の乱数値を乗じた値を、当該粒子Ｐｉの粒子速度Ｖｉの成分ｖｉｊに加算し、前記真偽値生成手段が生成する真偽値が偽の場合には、前記各粒子Ｐｉの粒子座標Ｘｉの各成分ｘｉｊの取りうる範囲Ｗｊに対して所定の範囲内の乱数値を乗じた値を、当該粒子Ｐｉの粒子速度Ｖｉの成分ｖｉｊから減算ずる速度操作手段と、を備えたことを特徴とする請求項１乃至３のいずれか一に記載のエンジン制御パラメータ適合化装置。
【請求項５】
前記収束判定手段は、前記粒子群最良値更新手段が最小値ｇＢｅｓｔを連続して更新されない回数を計測し、最小値ｇＢｅｓｔを連続して更新されない回数が所定の回数に達した場合にも、収束したと判定することを特徴とする請求項１乃至４のいずれか一に記載のエンジン制御パラメータ適合化装置。
【請求項６】
前記エンジン制御パラメータの組（ｘ１，…，ｘｎ）には、少なくとも、Pilot１燃料噴射タイミング、Pilot2燃料噴射タイミング、Main燃料噴射タイミング、燃料噴射圧力、吸気酸素濃度、筒内吸気圧力のうちの少なくとも１つが含まれることを特徴とする請求項１乃至５のいずれか一に記載のエンジン制御パラメータ適合化装置。
【請求項７】
前記エンジン特性値の組（ｙ１，…，ｙη）には、少なくとも、燃費、NOx、soot, PM、CO、THCのうちの少なくとも１つが含まれることを特徴とする請求項１乃至６のいずれか一に記載のエンジン制御パラメータ適合化装置。
【請求項８】
前記粒子群最良値記憶手段は、過去に算出された粒子群の評価値の最小値ｇＢｅｓｔ及びそれに対応する粒子座標ＸｇＢｅｓｔを前記粒子群最良値テーブルに複数保持するものであり、
前記初期状態生成手段は、Ｍ個の粒子に粒子座標Ｘｉ（ｉ＝１，…，Ｍ）及び粒子速度Ｖｉを生成するにあたり、前記粒子群最良値記憶手段に過去に算出された粒子群の評価値の最小値ｇＢｅｓｔ及びそれに対応する粒子座標ＸｇＢｅｓｔが保持されている場合には、それらの粒子座標ＸｇＢｅｓｔを生成する粒子座標Ｘｉの初期値の中に含めることを特徴とする請求項１乃至７のいずれか一に記載のエンジン制御パラメータ適合化装置。
【請求項９】
総反復回数ｋｍａｘ及び粒子数Ｍの組み合わせを変化させて、それぞれの総反復回数ｋｍａｘ及び粒子数Ｍの組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）に対して前記適合化制御手段により前記粒子群最適化処理をΓ回（Γ＞１）行い、前記粒子群最良値テーブルに各組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）に対する粒子群の評価値の最小値ｇＢｅｓｔｋ及びそれに対する粒子座標ＸｇＢｅｓｔ，ｋを、それぞれΓ個ずつ登録する試行制御手段と、
前記粒子群最良値テーブルに登録された各組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）に対して、次式（２ａ），（２ｂ），（２ｃ）で算出されるコスト評価関数Ｊｋを算出するコスト評価関数演算手段と、
前記コスト評価関数Ｊｋが最小となる組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）を、総反復回数ｋｍａｘ及び粒子数Ｍの最適な組み合わせとして前記適合化制御手段に設定する最適計算条件設定手段と、を備えたことを特徴とする請求項１乃至８のいずれか一に記載のエンジン制御パラメータ適合化装置。
【数２】
2012092761.tif 000013
【請求項１０】
コンピュータに読み込んで実行させることにより、コンピュータを請求項１乃至９の何れか一に記載のエンジン制御パラメータ適合装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディーゼルエンジン等の制御パラメータを適合化するエンジン制御パラメータ適合技術に関する。
【背景技術】
【０００２】
自動車のディーゼルエンジンは、コモンレール方式による多段噴射装置、ＥＧＲ（排気再循環）装置、過給器などの多数の制御装置を装備している。従って、これらの多数の制御装置のパラメータを運転条件、燃費、多数の排出ガス成分を考慮して最適に設定し制御することが必要となる。
【０００３】
このような制御パラメータの最適化手法としては、従来、遺伝的アルゴリズムの手法を用いてエンジン適合させる方法が提案されている（特許文献１，２参照）。
【０００４】
遺伝的アルゴリズムの手法に対して、近年の計算機性能の飛躍的な向上に伴い、必ずしも厳密ではないが実用上十分な最適性を有する解を決定するためのヒューリスティックな近似アルゴリズムとして粒子群最適化手法（Particle Swarm Optimization：ＰＳＯ)（非文献文献１，２参照）が注目されている。粒子群最適化手法は、「群れ」という集団での情報交換を用いて解の探索を行なう手法であり、非線形最適化問題に対して、最適あるいは準最適解を実用的な計算時間内に求められることが特徴である。また、粒子群最適化手法は、遺伝的アルゴリズムの手法と比較して、単峰性関数についての収束性能が高いことも特徴である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４-１１６３５１号公報
【特許文献２】特開２００４-１７８５７４号公報
【非特許文献】
【０００６】
【非特許文献１】石亀篤司，“Particle Swarm Optimization−群れでの探索−”，計測と制御，日本国，社団法人計測自動制御学会，２００８年，Vol.47，No.6，pp.459-465．
【非特許文献２】安田恵一郎，石亀篤司，“非線形計画アルゴリズム−実用的な観点から”，システム制御情報学会誌，日本国，社団法人計測自動制御学会，２００６年，Vol.50，No.9，pp.14-19．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、エンジンの特性値と多数の制御パラメータの関係を表現するエンジンモデル（応答局面モデルあるいは物理モデルなど）を構築し、エンジンモデルを用いて粒子群最適化手法をエンジン制御パラメータの最適化に応用したとき、エンジンは多数の制御パラメータと複数の特性値による評価値を有するため、ＰＳＯを直接適用するだけでは局所最適解で探索が留まり、実用上十分な収束性能を得られないという問題があった。
【０００８】
そこで、本発明の目的は、エンジンの特性値と多数の制御パラメータの関係を表現するモデルに基づいて複数の評価項目を十分に満足する最適解あるいは準最適解を高速かつ効率的に取得することが可能なエンジン制御パラメータ適合装置及びそのプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明に係るエンジン制御パラメータ適合装置の第１の構成は、所定のエンジン特性を満たすように、複数のエンジン制御パラメータの適合化を行うエンジン制御パラメータ適合化装置であって、
適合化を行う対象であるｎ個（ｎ＞１）のエンジン制御パラメータの組（ｘ１，…，ｘｎ）を、ｎ次元空間における点である粒子Ｐとし、当該ｎ次元空間の点座標（ｘ１，…，ｘｎ）を粒子座標Ｘ、当該ｎ次元空間の点座標（ｘ１，…，ｘｎ）の移動方向とその大きさを表すｎ次元ベクトル（ｖ１，…，ｖｎ）を粒子速度Ｖとするときに、複数個の粒子Ｐｉ（ｉ＝１，…，Ｍ；Ｍは粒子数）の粒子座標Ｘｉ及び粒子速度Ｖｉを粒子テーブルとして記憶する粒子テーブル記憶手段と、
前記粒子テーブルに格納された各粒子Ｐｉに対するエンジン制御パラメータの組（ｘ１，…，ｘｎ）に対するエンジン特性値の組（ｙ１，…，ｙη）の推定値である出力推定値Ｙｉを出力推定値テーブルとして記憶する出力推定値記憶手段と、
出力推定値Ｙｉの適合度を評価するための所定の評価関数をｆ（Ｙ）とするとき、前記粒子テーブルに格納された各粒子Ｐｉについて、各粒子Ｐｉに対する評価関数ｆ（Ｙ）の値である評価値ｆ（Ｙｉ）の最小値ｐＢｅｓｔｉ及びそれに対する粒子座標ＸｐＢｅｓｔ，ｉを粒子別最良値テーブルとして記憶する粒子別最良値記憶手段と、
すべての粒子Ｐｉ（ｉ＝１，…，Ｍ）に対する評価値ｆ（Ｙｉ）の最小値ｇＢｅｓｔ及びそれに対する粒子座標ＸｇＢｅｓｔを粒子群最良値テーブルとして記憶する粒子群最良値記憶手段と、
乱数によってＭ個の粒子に粒子座標Ｘｉ（ｉ＝１，…，Ｍ）及び粒子速度Ｖｉを生成し、これらを初期値として前記粒子テーブルに格納する初期状態生成手段と、
前記粒子テーブルに格納された各粒子Ｐｉのそれぞれに対して、エンジン制御パラメータの組（ｘ１，…，ｘｎ）とそれに対するエンジン特性の組（ｙ１，…，ｙη）とを関係づける式である所定のエンジンモデル式を用いて、各粒子の粒子位置Ｘｉに対応する出力推定値Ｙｉを算出し、前記出力推定値テーブルに格納する出力推定手段と、
前記出力推定値テーブルに格納された各粒子Ｐｉの出力推定値Ｙｉに基づき、評価値ｆ（Ｙｉ）を算出する評価値算出手段と、
前記粒子別最良値テーブルに粒子Ｐｉの評価値の最小値ｐＢｅｓｔｉが登録されていない場合は、前記評価値算出手段が算出した評価値ｆ（Ｙｉ）を前記粒子別最良値テーブルに新たに登録し、前記粒子別最良値テーブルに粒子Ｐｉの評価値の最小値ｐＢｅｓｔｉが登録されている場合は、前記評価値算出手段が算出した評価値ｆ（Ｙｉ）が当該最小値ｐＢｅｓｔｉよりも小さい場合には、前記粒子別最良値テーブルに登録された最小値ｐＢｅｓｔｉを当該評価値ｆ（Ｙｉ）に更新するとともに、前記粒子別最良値テーブルに登録された粒子座標ＸｐＢｅｓｔ，ｉを当該粒子Ｐｉの粒子座標Ｘｉに更新する粒子別最良値更新手段と、
前記粒子群最良値テーブルに粒子群の評価値の最小値ｇＢｅｓｔが登録されていない場合は、前記評価値算出手段が算出した評価値ｆ（Ｙｉ）を前記粒子群最良値テーブルに新たに登録し、前記粒子群最良値テーブルに粒子群の評価値の最小値ｇＢｅｓｔが登録されている場合は、前記評価値算出手段が算出した評価値ｆ（Ｙｉ）が当該最小値ｇＢｅｓｔよりも小さい場合には、前記粒子群最良値テーブルに登録された最小値ｇＢｅｓｔを当該評価値ｆ（Ｙｉ）に更新するとともに、前記粒子群最良値テーブルに登録された粒子座標ＸｇＢｅｓｔを当該粒子Ｐｉの粒子座標Ｘｉに更新する粒子群最良値更新手段と、
前記各粒子Ｐｉ（ｉ＝１，…，Ｍ）の粒子座標Ｘｉを粒子速度Ｖｉに基づいて更新するとともに、当該粒子速度Ｖｉを所定の更新式に基づいて更新する状態更新手段と、
前記状態更新手段による更新による前記各粒子Ｐｉ（ｉ＝１，…，Ｍ）の粒子速度Ｖｉの変化量ΔＶｉの各座標成分Δｖｉｊが、前記粒子座標Ｘｉの対応する成分ｘｉｊの取りうる範囲Ｗｊに対して所定の比率まで減少した場合に、その速度成分ｖｉｊに対して前記範囲Ｗｊよりも大きくならない範囲内で乱数を加えることにより粒子速度Ｖｉの更新を行う収束性能改善手段と、
前記粒子群最良値テーブルに粒子群の評価値の最小値ｇＢｅｓｔが収束したか否かを判定する収束判定手段と、
前記収束判定手段が収束したと判定するまで、前記出力推定手段、前記評価値算出手段、前記粒子別最良値更新手段、前記粒子群最良値更新手段、前記状態更新手段、及び前記収束性能改善手段による粒子群最適化処理を反復して実行する制御を行う適合化制御手段と、
を備え、
前記収束判定手段は、前記適合化制御手段による前記粒子群最適化処理の反復回数が所定の総反復回数ｋｍａｘに達した場合に収束したと判定することを特徴とする。
【００１０】
この構成によれば、状態更新手段による粒子速度Ｖｉの変化量ΔＶｉの各座標成分Δｖｉｊが、前記粒子座標Ｘｉの対応する成分ｘｉｊの取りうる範囲Ｗｊに対して所定の比率まで減少した場合に、その速度成分ｖｉｊに対して前記範囲Ｗｊよりも大きくならない範囲内で乱数を加えることで粒子速度Ｖｉの更新を行うことにより、局所最適解で探索が留まることが防止され、エンジンの特性値と多数の制御パラメータの関係を表現するモデルに基づいて複数の評価項目を十分に満足する最適解あるいは準最適解を高速かつ効率的に取得することが可能となる。
【００１１】
本発明に係るエンジン制御パラメータ適合装置の第２の構成は、前記第１の構成において、前記状態更新手段は、前記各粒子Ｐｉ（ｉ＝１，…，Ｍ）の粒子速度Ｖｉの各ベクトル成分ｖｉｊを更新する場合に、次式（１）により更新を行うものであり、
更新式（１）の重み係数ｗを前記適合化制御手段による粒子群最適化処理の反復回数に応じて減少させる重み係数減衰手段を備えたことを特徴とする。
【００１２】
【数１】
2012092761.tif 000003
【００１３】
本発明に係るエンジン制御パラメータ適合装置の第３の構成は、前記第２の構成において、前記状態更新手段は、前記各粒子Ｐｉ（ｉ＝１，…，Ｍ）の粒子速度Ｖｉの更新を行った後に、更新後の粒子速度Ｖｉの絶対値｜Ｖｉ｜が所定の最大粒子速度｜Ｖｍａｘ｜を超えた場合には更新後の粒子速度Ｖｉに係数｜Ｖｍａｘ｜／｜Ｖｉ｜を乗じるものであり、
前記最大粒子速度｜Ｖｍａｘ｜を前記適合化制御手段による粒子群最適化処理の反復回数に応じて減少させる粒子速度最大値演算手段を備えたことを特徴とする。
【００１４】
本発明に係るエンジン制御パラメータ適合装置の第４の構成は、前記第１乃至３のいずれか一の構成において、前記収束性能改善手段は、
真偽値を乱数により生成する真偽値生成手段と、
前記真偽値生成手段が生成する真偽値が真の場合には、前記各粒子Ｐｉの粒子座標Ｘｉの各成分ｘｉｊの取りうる範囲Ｗｊに対して所定の範囲内の乱数値を乗じた値を、当該粒子Ｐｉの粒子速度Ｖｉの成分ｖｉｊに加算し、前記真偽値生成手段が生成する真偽値が偽の場合には、前記各粒子Ｐｉの粒子座標Ｘｉの各成分ｘｉｊの取りうる範囲Ｗｊに対して所定の範囲内の乱数値を乗じた値を、当該粒子Ｐｉの粒子速度Ｖｉの成分ｖｉｊから減算ずる速度操作手段と、を備えたことを特徴とする。
【００１５】
本発明に係るエンジン制御パラメータ適合装置の第５の構成は、前記第１乃至４のいずれか一の構成において、前記収束判定手段は、前記粒子群最良値更新手段が最小値ｇＢｅｓｔを連続して更新されない回数を計測し、最小値ｇＢｅｓｔを連続して更新されない回数が所定の回数に達した場合にも、収束したと判定することを特徴とする。
【００１６】
本発明に係るエンジン制御パラメータ適合装置の第６の構成は、前記第１乃至５のいずれか一の構成において、前記エンジン制御パラメータの組（ｘ１，…，ｘｎ）には、少なくとも、Pilot１燃料噴射タイミング、Pilot2燃料噴射タイミング、Main燃料噴射タイミング、燃料噴射圧力、吸気酸素濃度、筒内吸気圧力のうちの少なくとも１つが含まれることを特徴とする。
【００１７】
本発明に係るエンジン制御パラメータ適合装置の第７の構成は、前記第１乃至６のいずれか一の構成において、前記エンジン特性値の組（ｙ１，…，ｙη）には、少なくとも、燃費、NOx、soot, PM、CO、THCのうちの少なくとも１つが含まれることを特徴とする。
【００１８】
本発明に係るエンジン制御パラメータ適合装置の第８の構成は、前記第１乃至７のいずれか一の構成において、前記粒子群最良値記憶手段は、過去に算出された粒子群の評価値の最小値ｇＢｅｓｔ及びそれに対応する粒子座標ＸｇＢｅｓｔを前記粒子群最良値テーブルに複数保持するものであり、
前記初期状態生成手段は、Ｍ個の粒子に粒子座標Ｘｉ（ｉ＝１，…，Ｍ）及び粒子速度Ｖｉを生成するにあたり、前記粒子群最良値記憶手段に過去に算出された粒子群の評価値の最小値ｇＢｅｓｔ及びそれに対応する粒子座標ＸｇＢｅｓｔが保持されている場合には、それらの粒子座標ＸｇＢｅｓｔを生成する粒子座標Ｘｉの初期値の中に含めることを特徴とする。
【００１９】
本発明に係るエンジン制御パラメータ適合装置の第１０の構成は、前記第１乃至８のいずれか一の構成において、総反復回数ｋｍａｘ及び粒子数Ｍの組み合わせを変化させて、それぞれの総反復回数ｋｍａｘ及び粒子数Ｍの組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）に対して前記適合化制御手段により前記粒子群最適化処理をΓ回（Γ＞１）行い、前記粒子群最良値テーブルに各組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）に対する粒子群の評価値の最小値ｇＢｅｓｔｋを、それぞれΓ個ずつ登録する試行制御手段と、
前記粒子群最良値テーブルに登録された各組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）に対して、次式（２ａ），（２ｂ），（２ｃ）で算出されるコスト評価関数Ｊｋを算出するコスト評価関数演算手段と、
前記コスト評価関数Ｊｋが最小となる組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）を、総反復回数ｋｍａｘ及び粒子数Ｍの最適な組み合わせとして前記適合化制御手段に設定する最適計算条件設定手段と、を備えたことを特徴とする。
【００２０】
【数２】
2012092761.tif 000004
【００２１】
また、本発明に係るプログラムは、コンピュータに読み込んで実行させることにより、コンピュータを前記第１乃至９の何れかの構成のエンジン制御パラメータ適合装置として機能させることを特徴とする。
【発明の効果】
【００２２】
以上のように、本発明によれば、状態更新手段による粒子速度Ｖｉの変化量ΔＶｉの各座標成分Δｖｉｊが、前記粒子座標Ｘｉの対応する成分ｘｉｊの取りうる範囲Ｗｊに対して所定の比率まで減少した場合に、その速度成分ｖｉｊに対して前記範囲Ｗｊよりも大きくならない範囲内で乱数を加えることで粒子速度Ｖｉの更新を行うことにより、局所最適解で探索が留まることが防止され、エンジンの特性値と多数の制御パラメータの関係を表現するモデルに基づいて複数の評価項目を十分に満足する最適解あるいは準最適解を高速かつ効率的に取得することが可能となる。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施例１に係るエンジン制御パラメータ適合化装置１の構成を表すブロック図である。
【図２】実施例１のエンジン制御パラメータ適合化装置１の動作を表すフローチャートである。
【図３】本発明の実施例２に係るエンジン制御パラメータ適合化装置１の構成を表すブロック図である。
【図４】実施例２のエンジン制御パラメータ適合化装置１の動作を表すフローチャートである。
【図５】本発明の実施例３に係るエンジン制御パラメータ適合化装置１の構成を表すブロック図である。
【図６】実施例３のエンジン制御パラメータ適合化装置１の動作を表すフローチャートである。
【図７】本発明の実施例４に係るエンジン制御パラメータ適合化装置１の構成を表すブロック図である。
【図８】実施例４のエンジン制御パラメータ適合化装置１の収束性能改善処理を表すフローチャートである。
【図９】本発明の実施例５に係るエンジン制御パラメータ適合化装置１の構成を表すブロック図である。
【図１０】本発明の実施例６に係るエンジン制御パラメータ適合化装置１の構成を表すブロック図である。
【図１１】実施例６のエンジン制御パラメータ適合化装置１の動作を表すフローチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明を実施するための形態について、図面を参照しながら説明する。
【実施例１】
【００２５】
図１は、本発明の実施例１に係るエンジン制御パラメータ適合化装置１の構成を表すブロック図である。
【００２６】
本実施例では、ｎ個（ｎ＞１）のエンジン制御パラメータの組（ｘ１，…，ｘｎ）とそれに対して、所定のエンジンモデル式を用いてエンジン特性の組（ｙ１，…，ｙη）が推定されるものとする。エンジンモデル式については、重回帰分析等による応答曲面モデルの解析や燃焼物理モデルなどによってより予め与えられているものとする。エンジンモデル式の情報は、モデル式記憶手段６に記憶されている。
【００２７】
図１においては、エンジン１０１に対して制御パラメータ設定手段１０２が、各種のエンジン制御パラメータの組（ｘ１，…，ｘｎ）を設定し、それぞれの設定に対して制御パラメータ測定手段１０３及び特性値測定手段１０４がエンジン制御パラメータ（ｘ１，…，ｘｎ）及びエンジン特性（ｙ１，…，ｙη）を測定して、測定データ記憶手段１０５に記憶する。ここで、エンジン制御パラメータ（ｘ１，…，ｘｎ）には、少なくとも、Pilot１燃料噴射タイミング、Pilot2燃料噴射タイミング、Main燃料噴射タイミング、燃料噴射圧力、吸気酸素濃度、筒内吸気圧力の何れかが含まれている。また、エンジン特性（ｙ１，…，ｙη）には、少なくとも、燃費、NOx、soot, PM、CO、THCの何れかが含まれている。
【００２８】
回帰分析手段１０６は、測定データ記憶手段１０５に記憶された各データに基づいて、エンジン制御パラメータ（ｘ１，…，ｘｎ）から各エンジン特性（ｙ１，…，ｙη）を推定する重回帰式（エンジンモデル式）を算出し、モデル式記憶手段６に格納される。尚、燃焼物理モデルなどの理論的に求めるエンジンモデル式は、入力手段１０７によりモデル式記憶手段６に直接入力することもできる。さらに、入力手段１０７から、後述する評価関数を評価関数記憶手段７に入力することもできる。
【００２９】
また、以下では各エンジン制御パラメータの組（ｘ１，…，ｘｎ）をｎ次元空間における点とみなして、この点を「粒子」と呼び、Ｐと記す。従って、粒子Ｐのｎ次元空間内の粒子座標ＸはＸ＝（ｘ１，…，ｘｎ）で与えられる。また、各粒子Ｐにはｎ次元空間内を移動する速度が与えられる。この粒子速度Ｖはｎ次元ベクトル（ｖ１，…，ｖｎ）で表すこととする。
【００３０】
エンジン制御パラメータ適合化装置１は、多数の粒子Ｐをｎ次元空間内でランダムに移動させ、収束性能を改良した粒子群最適化手法（Particle Swarm Optimization：ＰＳＯ）によって、エンジン特性の組（ｙ１，…，ｙη）が所定の条件を満たすようにエンジン特性の組（ｙ１，…，ｙη）の準最適解を求めるものである。尚、本実施例のエンジン制御パラメータ適合化装置１は、ＬＳＩやＦＰＧＡを用いてハードウェア的に構成してもよいが、汎用コンピュータ用のプログラムとして提供してこのプログラムをコンピュータに読み込んで実行することによってエンジン制御パラメータ適合化装置１を機能的に実現するものであってもよい。
【００３１】
図１において、エンジン制御パラメータ適合化装置１は、粒子テーブル記憶手段２、出力推定値記憶手段３、粒子別最良値記憶手段４、粒子群最良値記憶手段５、モデル式記憶手段６、初期状態生成手段１０、出力推定手段１１、評価値算出手段１２、粒子別最良値更新手段１３、粒子群最良値更新手段１４、状態更新手段１５、収束性能改善手段１６、収束判定手段１７、適合化制御手段１８、及び出力手段１９を備えている。
【００３２】
粒子テーブル記憶手段２は、複数個の粒子Ｐｉ（ｉ＝１，…，Ｍ；Ｍは粒子数）の粒子座標Ｘｉ及び粒子速度Ｖｉを粒子テーブルとして記憶する。
【００３３】
出力推定値記憶手段３は、粒子テーブルに格納された各粒子Ｐｉに対するエンジン制御パラメータの組（ｘ１，…，ｘｎ）に対するエンジン特性値の組（ｙ１，…，ｙη）の推定値である出力推定値Ｙｉを出力推定値テーブルとして記憶する。
【００３４】
粒子別最良値記憶手段４は、出力推定値Ｙｉの適合度を評価するための所定の評価関数をｆ（Ｙ）とするとき、前記粒子テーブルに格納された各粒子Ｐｉについて、各粒子Ｐｉに対する評価関数ｆ（Ｙ）の値である評価値ｆ（Ｙｉ）の最小値ｐＢｅｓｔｉ及びそれに対する粒子座標ＸｐＢｅｓｔ，ｉを粒子別最良値テーブルとして記憶する。
【００３５】
粒子群最良値記憶手段５は、すべての粒子Ｐｉ（ｉ＝１，…，Ｍ）に対する評価値ｆ（Ｙｉ）の最小値ｇＢｅｓｔ及びそれに対する粒子座標ＸｇＢｅｓｔを粒子群最良値テーブルとして記憶する。
【００３６】
初期状態生成手段１０は、乱数によってＭ個の粒子に粒子座標Ｘｉ（ｉ＝１，…，Ｍ）及び粒子速度Ｖｉを生成し、これらを初期値として前記粒子テーブルに格納する。ここで、Ｍは粒子Ｐの個数であり、大きな数（３０〜１００程度）の値に設定される。
【００３７】
出力推定手段１１は、モデル式記憶手段６に記憶されたエンジンモデル式により、粒子テーブルに格納された各粒子Ｐｉのそれぞれに対して、粒子位置Ｘｉに対応する出力推定値Ｙｉを算出し、前記出力推定値テーブルに格納する。
【００３８】
評価値算出手段１２は、出力推定値テーブルに格納された各粒子Ｐｉの出力推定値Ｙｉに基づき、評価値ｆ（Ｙｉ）を算出する。この評価値ｆ（Ｙｉ）を算出する評価式ｆ（Ｙ）の情報については、評価関数記憶手段７に格納されている。
【００３９】
粒子別最良値更新手段１３は、粒子別最良値テーブルに粒子Ｐｉの評価値の最小値ｐＢｅｓｔｉが登録されていない場合は、評価値算出手段１２が算出した評価値ｆ（Ｙｉ）を粒子別最良値テーブルに新たに登録する。粒子別最良値テーブルに粒子Ｐｉの評価値の最小値ｐＢｅｓｔｉが既に登録されている場合は、評価値算出手段１２が算出した評価値ｆ（Ｙｉ）が当該最小値ｐＢｅｓｔｉよりも小さい場合には、粒子別最良値テーブルに登録された最小値ｐＢｅｓｔｉを当該評価値ｆ（Ｙｉ）に更新するとともに、粒子別最良値テーブルに登録された粒子座標ＸｐＢｅｓｔ，ｉを当該粒子Ｐｉの粒子座標Ｘｉに更新する。
【００４０】
粒子群最良値更新手段１４は、粒子群最良値テーブルに粒子群の評価値の最小値ｇＢｅｓｔが登録されていない場合は、評価値算出手段１２が算出した評価値ｆ（Ｙｉ）を粒子群最良値テーブルに新たに登録する。粒子群最良値テーブルに粒子群の評価値の最小値ｇＢｅｓｔが既に登録されている場合は、評価値算出手段１２が算出した評価値ｆ（Ｙｉ）が当該最小値ｇＢｅｓｔよりも小さい場合には、粒子群最良値テーブルに登録された最小値ｇＢｅｓｔを当該評価値ｆ（Ｙｉ）に更新するとともに、粒子群最良値テーブルに登録された粒子座標ＸｇＢｅｓｔを当該粒子Ｐｉの粒子座標Ｘｉに更新する。
【００４１】
状態更新手段１５は、各粒子Ｐｉ（ｉ＝１，…，Ｍ）の粒子座標Ｘｉを粒子速度Ｖｉに基づいて更新するとともに、当該粒子速度Ｖｉを所定の更新式に基づいて更新する。この更新式については後で説明する。
【００４２】
収束性能改善手段１６は、状態更新手段１５の更新による各粒子Ｐｉ（ｉ＝１，…，Ｍ）の粒子速度Ｖｉの変化量ΔＶｉの各座標成分Δｖｉｊが、粒子座標Ｘｉの対応する成分ｘｉｊの取りうる範囲Ｗｊに対して所定の比率まで減少した場合に、その速度成分ｖｉｊに対して前記範囲Ｗｊよりも大きくならない範囲内で乱数を加えることによって粒子速度Ｖｉの更新を行う。
【００４３】
収束判定手段１７は、適合化制御手段１８による粒子群最適化処理の反復回数が所定の総反復回数ｋｍａｘに達した場合に収束したと判定する収束判定を行う。
【００４４】
適合化制御手段１８は、収束判定手段１７が収束したと判定するまで、出力推定手段１１、評価値算出手段１２、粒子別最良値更新手段１３、粒子群最良値更新手段１４、状態更新手段１５、及び収束性能改善手段１７による処理を反復して実行する制御を行う。
【００４５】
出力手段１９は、収束判定手段１７により収束したと判定された場合に、その時点で粒子群最良値テーブルに記憶されている最小値ｇＢｅｓｔ及びそれに対する粒子座標ＸｇＢｅｓｔを最適解として出力する。
【００４６】
以上のように構成された本実施例のエンジン制御パラメータ適合化装置１について、以下その動作を説明する。
【００４７】
図２は、本実施例のエンジン制御パラメータ適合化装置１の動作を表すフローチャートである。
【００４８】
図２において、まず、ステップＳ１において、ユーザは入力手段１０７から適合化制御手段１８に対して、粒子数Ｍと反復処理の最大反復回数ｋｍａｘを入力する。適合化制御手段１８は、初期状態生成手段１０に対して粒子数Ｍを設定し、収束判定手段１７に対して最大反復回数ｋｍａｘを設定する。
【００４９】
次に、ステップＳ２において、初期状態生成手段１０は、乱数によってＭ個の粒子に粒子座標Ｘｉ（ｉ＝１，…，Ｍ）及び粒子速度Ｖｉを生成し、これらを初期値として粒子テーブルに格納する。以下では、ｉ番目の粒子Ｐｉの粒子座標ＸｉをＸｉ＝（ｘｉ１，…，ｘｉｎ）、粒子速度ＶｉをＶｉ＝（ｖｉ１，…，ｖｉｎ）と記す。
【００５０】
次に、適合化制御手段１８は、以下のステップＳ３〜Ｓ１０の粒子群最適化処理を反復実行する。
【００５１】
（粒子群最適化処理）
まず、ステップＳ３において、出力推定手段１１は、モデル式記憶手段６に記憶されたエンジンモデル式を参照し、粒子テーブルに格納された各粒子Ｐｉのそれぞれに対して、エンジンモデル式を用いて、各粒子の粒子座標Ｘｉに対応する出力推定値Ｙｉを算出し、前記出力推定値テーブルに格納する。ここで、エンジン特性ｙｊ（ｊ＝１，…，ξ）に対するエンジンモデル式をｇｊとすると、ｇｊは次式のような関数として表されている。
【００５２】
【数３】
2012092761.tif 000005
【００５３】
従って、この関数ｇｊに各粒子の粒子座標Ｘｉを代入していけば、各粒子Ｐｉについて出力推定値Ｙｉ＝（ｙｉ１，…，ｙｉξ）（ｙｉｊ＝ｇｊ（Ｘｉ））が算出される。
【００５４】
次に、ステップＳ４において、評価値算出手段１２は、評価関数記憶手段７に記憶された評価関数ｆ（Ｙ）を参照し、出力推定値テーブルに格納された各粒子Ｐｉの出力推定値Ｙｉに基づき、評価値ｆ（Ｙｉ）を算出する。ここで、評価関数ｆ（Ｙ）は、出力推定値Ｙの適合度を評価するための関数であり、場合に応じて適宜な関数を設定することができる。ここでは、一例として次式のような評価関数ｆ（Ｙ）を用いる。ここで、ｓｊはエンジン特性ｙｊに対する重み係数であり、エンジン特性ｙｊの影響度を表す。
【００５５】
【数４】
2012092761.tif 000006
【００５６】
次に、ステップＳ５において、粒子別最良値更新手段１３は、粒子別最良値テーブルに粒子Ｐｉ（ｉ＝１，…，Ｍ）の評価値の最小値ｐＢｅｓｔｉがまだ登録されていない場合は、評価値算出手段１２が算出した評価値ｆ（Ｙｉ）を粒子別最良値テーブルに新たに登録するとともに、それに対する粒子座標Ｘｉを粒子座標ＸｐＢｅｓｔｉとして登録する。一方、粒子別最良値テーブルに粒子Ｐｉの評価値の最小値ｐＢｅｓｔｉが既に登録されている場合は、評価値算出手段１２が算出した評価値ｆ（Ｙｉ）が当該最小値ｐＢｅｓｔｉよりも小さいかどうか判定し、小さい場合には、最小値ｐＢｅｓｔｉを評価値ｆ（Ｙｉ）に更新するとともに、粒子別最良値テーブルの粒子座標ＸｐＢｅｓｔ，ｉを粒子座標Ｘｉに更新する。
【００５７】
次に、ステップＳ６において、粒子群最良値更新手段１４は、粒子群最良値テーブルに粒子群の評価値の最小値ｇＢｅｓｔがまだ登録されていない場合は、評価値算出手段１２が算出した評価値ｆ（Ｙｉ）をｇＢｅｓｔとして粒子群最良値テーブルに新たに登録するとともに、それに対する粒子座標Ｘｉを粒子座標ＸｇＢｅｓｔとして登録する。一方、粒子群最良値テーブルに粒子群の評価値の最小値ｇＢｅｓｔが既に登録されている場合は、評価値算出手段１２が算出した評価値ｆ（Ｙｉ）が当該最小値ｇＢｅｓｔよりも小さい場合には、粒子群最良値テーブルに登録された最小値ｇＢｅｓｔを評価値ｆ（Ｙｉ）に更新するとともに、粒子群最良値テーブルに登録された粒子座標ＸｇＢｅｓｔを粒子座標Ｘｉに更新する。
【００５８】
次に、ステップＳ７において、状態更新手段１５は、各粒子Ｐｉ（ｉ＝１，…，Ｍ）の粒子座標Ｘｉを粒子速度Ｖｉに基づいて次式（５ａ）により更新するとともに、当該粒子速度Ｖｉを所定の更新式（５ｂ）に基づいて更新する。
【００５９】
【数５】
2012092761.tif 000007
【００６０】
ここで、ｗは重み係数、ｒ１，ｒ２は０又は１をとる乱数、ｃ１，ｃ２は１に近い実数値をとる乱数、ｘｉｊ，ｘｐＢｅｓｔ，ｉｊ，ｘｇＢｅｓｔ，ｊはそれぞれ粒子座標Ｘｉ，ＸｐＢｅｓｔ，ｉ，ＸｇＢｅｓｔのｊ番目の成分である。尚、本実施例においては、ｃ１，ｃ２は、０〜１までの間の実数値をとる乱数ｒａを用いて、次式により与えられる。
【００６１】
【数６】
2012092761.tif 000008
【００６２】
次に、ステップＳ８において、収束性能改善手段１６は、状態更新手段１５の更新による各粒子Ｐｉ（ｉ＝１，…，Ｍ）の粒子速度Ｖｉの変化量ΔＶｉの各座標成分Δｖｉｊが、粒子座標Ｘｉの対応する成分ｘｉｊの取りうる範囲Ｗｊに対して所定の比率まで減少した場合に、その速度成分ｖｉｊに対して範囲Ｗｊよりも大きくならない範囲内で乱数を加えることにより粒子速度Ｖｉの更新を行う。すなわち、状態更新手段１５が更新する前の粒子速度ＶｉをＶｉ（ｋ−１）（ｋは反復回数）、更新後の粒子速度ＶｉをＶｉ（ｋ）とすると、収束性能改善手段１６は粒子速度Ｖｉのｎ個の各成分について、変化量Δｖｉｊ＝｜ｖｉｊ（ｋ）−ｖｉｊ（ｋ−１）｜がα（ｘｊ，ｍａｘ−ｘｊ，ｍｉｎ）より小さいか否かを判定する。ここで、ｘｊ，ｍａｘ，ｘｊ，ｍｉｎは、それぞれ粒子座標Ｘのｊ成分が取りうる最大値，最小値であり、Ｗｊ＝ｘｊ，ｍａｘ−ｘｊ，ｍｉｎである。また、αは１より小さい所定の定数である。｜ｖｉｊ（ｋ）−ｖｉｊ（ｋ−１）｜＜α（ｘｊ，ｍａｘ−ｘｊ，ｍｉｎ）の場合、収束性能改善手段１６はｖｉｊに対し、Ｗｊよりも大きくならない範囲内で乱数を加える。これにより、ｖｉｊが再び大きな値に復帰し、局所最適解で探索が留まることが防止される。
【００６３】
次に、ステップＳ９において、収束判定手段１７は、適合化制御手段による粒子群最適化処理の反復回数ｋが所定の総反復回数ｋｍａｘに達したか否かを判定する。ｋ＜ｋｍａｘの場合、ステップＳ３に戻り、ステップＳ３〜Ｓ９の粒子群最適化処理を反復して実行する。一方、ｋ＝ｋｍａｘの場合、粒子群最適化処理を終了し、ステップＳ１１において出力手段１９が粒子群最良値記憶手段５の粒子群最良値テーブルに登録された粒子群の評価値の最小値ｇＢｅｓｔ及びそれに対応する粒子座標ＸｇＢｅｓｔを最適解として出力し終了する。
【００６４】
尚、本実施例において、ステップＳ９において、収束判定手段１７は、適合化制御手段による粒子群最適化処理の反復回数ｋが所定の総反復回数ｋｍａｘに達したか否かによって粒子群最適化処理の終了判定を行うこととしたが、本発明においては、収束判定手段１７が粒子群最良値更新手段１４により最小値ｇＢｅｓｔが連続して更新されなかった回数を計測し、この回数が所定の回数に達した場合に粒子群最適化処理の終了判定を行うようにすることもできる。さらに、総反復回数ｋｍａｘによる判定と合わせて終了判定を行うこともできる。
【実施例２】
【００６５】
図３は、本発明の実施例２に係るエンジン制御パラメータ適合化装置１の構成を表すブロック図である。図３において、図１と同様の構成については同符号を付して説明は省略する。本実施例のエンジン制御パラメータ適合化装置１は、新たに重み係数減衰手段２０が加わった点で実施例１とは異なる。
【００６６】
実施例１で説明した通り、状態更新手段１５は、各粒子Ｐｉ（ｉ＝１，…，Ｍ）の粒子速度Ｖｉの各ベクトル成分ｖｉｊを更新する場合には、式（５ｂ）により更新を行う。
【００６７】
重み係数減衰手段２０は、状態更新手段１５による更新時の更新式（５ｂ）の重み係数ｗを適合化制御手段１８による処理の反復回数ｋに応じて減少させる。
【００６８】
図４は、実施例２のエンジン制御パラメータ適合化装置１の動作を表すフローチャートである。図４において、ステップＳ１〜Ｓ６及びＳ７〜Ｓ１０は実施例１と同様であるため説明は省略する。本実施例においては、ステップＳ６の後に、重み係数減衰手段２０による更新式（５ｂ）の重み係数ｗの減衰処理が加わった点が相違している。この減衰処理では、重み係数ｗは反復回数ｋの単調減少関数として決定される。単調減少関数としてはどのような関数をとってもよいが、本実施例では一例として、次式（７）の線形減少関数により重み係数ｗを決定する。ここで、ｋは粒子群最適化処理の反復回数、ｋｍａｘは総反復回数、ｗｍａｘは重み係数ｗの最大値、ｗｍｉｎは重み係数ｗの最小値である。
【００６９】
【数７】
2012092761.tif 000009
【００７０】
このように、重み係数ｗを反復回数ｋに従って減少させることで、粒子群の運動状態を発散傾向から収束傾向に移行させ、収束性能を改善することができる。
【実施例３】
【００７１】
図５は、本発明の実施例３に係るエンジン制御パラメータ適合化装置１の構成を表すブロック図である。図５において、図３と同様の構成については同符号を付して説明は省略する。本実施例のエンジン制御パラメータ適合化装置１は、新たに粒子速度最大値演算手段２１が加わった点で実施例２とは異なる。
【００７２】
本実施例においても、状態更新手段１５は、各粒子Ｐｉ（ｉ＝１，…，Ｍ）の粒子速度Ｖｉの各ベクトル成分ｖｉｊを更新する場合には、式（５ｂ）により更新を行うが、この更新後に、粒子速度Ｖｉの絶対値｜Ｖｉ｜が所定の最大粒子速度｜Ｖｍａｘ｜を超えた場合には更新後の粒子速度Ｖｉに係数｜Ｖｍａｘ｜／｜Ｖｉ｜を乗じて粒子速度Ｖｉの絶対値｜Ｖｉ｜が最大粒子速度｜Ｖｍａｘ｜となるように変更する。
【００７３】
粒子速度最大値演算手段２１は、最大粒子速度｜Ｖｍａｘ｜を適合化制御手段１８による粒子群最適化処理の反復回数ｋに応じて減少させる。
【００７４】
図６は、実施例３のエンジン制御パラメータ適合化装置１の動作を表すフローチャートである。図６において、ステップＳ１〜Ｓ８及びＳ９〜Ｓ１０は実施例２と同様であるため説明は省略する。本実施例においては、ステップＳ８の後に、粒子速度最大値演算手段２１による最大粒子速度｜Ｖｍａｘ｜の減衰処理（ステップＳ８ａ）が加わった点が相違している。
【００７５】
ステップＳ８ａにおいては、粒子速度最大値演算手段２１は、最大粒子速度｜Ｖｍａｘ｜を反復回数ｋの単調減少関数によって更新する。単調減少関数としてはどのような関数をとってもよいが、本実施例では一例として、次式（８）の線形減少関数により最大粒子速度Ｖｍａｘを決定する。ここで、ｖｍａｘ，ｊは最大粒子速度Ｖｍａｘのｊ番目の成分、ｘｊ，ｍａｘ，ｘｊ，ｍｉｎは粒子座標Ｘのｊ番目の成分ｘｊの最大値及び最小値、ｋは反復回数、ｋｍａｘは総反復回数である。
【００７６】
【数８】
2012092761.tif 000010
【００７７】
このように、最大粒子速度Ｖｍａｘを反復回数ｋに応じて減少させることで、設定した総探索回数ｋｍａｘにおける準最適解を探索することができる。
【実施例４】
【００７８】
図７は、本発明の実施例４に係るエンジン制御パラメータ適合化装置１の構成を表すブロック図である。本発明の実施例４のエンジン制御パラメータ適合化装置１の構成は、基本的には図５と同様である。本実施例においては、収束性能改善手段１６は、真偽値生成手段１６ａ及び速度操作手段１６ｂを備えている。
【００７９】
真偽値生成手段１６ａは、真偽値を乱数により生成する。速度操作手段１６ｂは、真偽値生成手段１６ａが生成する真偽値が真の場合には、各粒子Ｐｉの粒子座標Ｘｉの各成分ｘｉｊの取りうる範囲Ｗｊに対して所定の範囲内の乱数値を乗じた値を、粒子速度Ｖｉの成分ｖｉｊに加算する処理を行う。一方、真偽値生成手段１６ａが生成する真偽値が偽の場合には、範囲Ｗｊに対して所定の範囲内の乱数値を乗じた値を、粒子速度Ｖｉの成分ｖｉｊから減算ずる処理を行う。
【００８０】
尚、本実施例のエンジン制御パラメータ適合化装置１の全体の動作は図６と同様であるため説明は省略するが、本実施例は図６におけるステップＳ８の収束性能改善手段１６による収束性能改善処理に特徴があるため、以下、ステップＳ８の収束性能改善処理について説明する。
【００８１】
図８は、実施例４のエンジン制御パラメータ適合化装置１の収束性能改善処理を表すフローチャートである。
【００８２】
まず、ステップＳ８１において、収束性能改善手段１６は、各粒子Ｐｉ（ｉ＝１，…，Ｍ）の粒子速度Ｖｉの変化量ΔＶｉの各座標成分Δｖｉｊ＝｜ｖｉｊ（ｋ）−ｖｉｊ（ｋ−１）｜を算出する。ここで、ｖｉｊ（ｋ）は反復回数ｋにおける粒子速度Ｖｉのｊ番目の成分ｖｉｊを表す。
【００８３】
次に、ステップＳ８２において、収束性能改善手段１６は、各変化量Δｖｉｊが粒子座標Ｘｉのｊ番目の成分ｘｉｊの取りうる範囲Ｗｊ＝ｘｊ，ｍａｘ−ｘｊ，ｍｉｎに対して所定の比率α（＜１）を乗じた値αＷｊよりも小さいか否かを判定する。Δｖｉｊ≧αＷｊの場合には収束性能改善処理を終了する。Δｖｉｊ＜αＷｊの場合には、次のステップＳ８３に進む。ここで、αは調整パラメータであり、通常、０．０１〜０．０５程度の値に設定される。
【００８４】
ステップＳ８３において、真偽値生成手段１６ａは、真偽値を乱数により生成する。
【００８５】
次に、ステップＳ８４において、速度操作手段１６ｂは、真偽値生成手段１６ａが生成する真偽値が「真」か否かを判定する。「真」の場合には、粒子速度成分ｖｉｊに対し、範囲Ｗｊに所定の範囲内の乱数値を乗じた値βＷｊ・ｒａｎｄ（ｋ）を加算して、粒子速度成分ｖｉｊを更新する（Ｓ８５）。一方、真偽値が「偽」の場合には、粒子速度成分ｖｉｊに対し、範囲Ｗｊに所定の範囲内の乱数値を乗じた値βＷｊ・ｒａｎｄ（ｋ）を減算して、粒子速度成分ｖｉｊを更新する（Ｓ８６）。そして、収束性能改善処理を終了する。ここで、βは調整パラメータであり、通常、０．０１〜０．２程度の値に設定される。
【００８６】
このように、各粒子速度を監視し、粒子速度の変化量が小さくなったときに粒子速度に乱数を加えることによって、一部の解が局所解に陥るという問題を解消することができ、収束性能を改善することができる。
【実施例５】
【００８７】
図９は、本発明の実施例５に係るエンジン制御パラメータ適合化装置１の構成を表すブロック図である。基本的には図１と同様の構成であるが、初期状態生成手段１０は、粒子テーブルの初期化の際に粒子群最良値更新手段１４の粒子群最良値テーブルに格納された過去の評価値の最小値ｇＢｅｓｔに対する粒子座標ＸｇＢｅｓｔを参照している点が異なっている。
【００８８】
本実施例においては、粒子群最良値更新手段１４は、過去に算出された粒子群の評価値の最小値ｇＢｅｓｔ及びそれに対応する粒子座標ＸｇＢｅｓｔを粒子群最良値テーブルに複数保持している。すなわち、過去に適合化制御手段１８による粒子群最適化処理を収束するまで実行して得られた最小値ｇＢｅｓｔ及び粒子座標ＸｇＢｅｓｔを、履歴として粒子群最良値テーブルに時系列的に保存しておくことができる。
【００８９】
また、初期状態生成手段１０は、図２のステップＳ２の初期化処理の際に、粒子群最良値テーブルを参照し、粒子群最良値テーブルに過去に算出された粒子群の評価値の最小値ｇＢｅｓｔ及びそれに対応する粒子座標ＸｇＢｅｓｔが保持されている場合には、それらの粒子座標ＸｇＢｅｓｔを生成する粒子座標Ｘｉの初期値の中に含める。これにより、初期の粒子群には、最適解に近い可能性の高い粒子が含まれることとなるため、収束性能が向上し、最適解を求めるまでの反復回数も少なくすることが可能となる。
【実施例６】
【００９０】
図１０は、本発明の実施例６に係るエンジン制御パラメータ適合化装置１の構成を表すブロック図である。基本的には図１と同様の構成であるが、本実施例では新たに試行制御手段３１、コスト評価関数演算手段３２、及び最適計算条件設定手段３３が追加された点が相違する。
【００９１】
試行制御手段３１は、総反復回数ｋｍａｘ及び粒子数Ｍの組み合わせを変化させ、それぞれの総反復回数ｋｍａｘ及び粒子数Ｍの組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）に対して適合化制御手段１８により粒子群最適化処理をΓ回（Γ＞１）行う。そして、粒子群最良値テーブルに各組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）に対する粒子群の評価値の最小値ｇＢｅｓｔｋ及びそれに対する粒子座標ＸｇＢｅｓｔ，ｋを、それぞれΓ個ずつ登録する。
【００９２】
コスト評価関数演算手段３２は、粒子群最良値テーブルに登録された各組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）に対して、次式（９ａ），（９ｂ），（９ｃ）で算出されるコスト評価関数Ｊｋを算出する。
【００９３】
【数９】
2012092761.tif 000011
【００９４】
ここで、ＸｇＢｅｔ，ｋ（ｊ）は、組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）に対するｊ回目の試行における粒子群の評価値の最小値ｇＢｅｓｔｋに対する粒子座標Ｘの値、ｗ１，ｗ２，ｗ３及びｓｑ（ｑ＝１，…，η）は所定の重み係数、ｙｑはｑ番目のエンジン特性の推定値、ｇｑ（Ｘ）はｑ番目のエンジン特性に対するエンジンモデル式である。
最適計算条件設定手段３３は、式（９ａ）コスト評価関数Ｊｋが最小となる組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）を、総反復回数ｋｍａｘ及び粒子数Ｍの最適な組み合わせとして適合化制御手段１８に設定する。
【００９５】
図１１は、実施例６のエンジン制御パラメータ適合化装置１の動作を表すフローチャートである。図１１において、ステップＳ１〜Ｓ９までの処理は、図２の同符号のステップにおける処理と同様であるため説明は省略する。
【００９６】
本実施例では、ステップＳ１において、試行制御手段３１が総反復回数ｋｍａｘ及び粒子数Ｍを組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）に設定した後に、ステップＳ１〜Ｓ９までの処理が実行され、最適解として（ｇＢｅｓｔｋ（ｊ），ＸｇＢｅｓｔ，ｋ（ｊ））が出力される。出力された最適解（ｇＢｅｓｔｋ（ｊ），ＸｇＢｅｓｔ，ｋ（ｊ））は、ステップＳ２１において、粒子群最良値テーブルに逐次登録される。ここで、インデックス「（ｊ）」は組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）におけるｊ回目の試行であることを表すインデックスである。
【００９７】
次に、ステップＳ２２において、試行制御手段３１は、組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）においてΓ回の試行を行ったか否かを判定し、試行回数ｊがΓ回に達していなければ、ステップＳ２に戻って、再びステップＳ２〜Ｓ２０までの処理を行う。試行回数ｊがΓ回に達すると、次のステップＳ２２に移行する。
【００９８】
ステップＳ２２においては、試行制御手段３１は、予定したすべての組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）についての試行が完了したか否かを判定する。まだ、試行が完了していない組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）が残っている場合には、ステップＳ２３において総反復回数ｋｍａｘ及び粒子数Ｍを組み合わせを変更した後、ステップＳ１に戻り、ステップＳ１〜Ｓ２２までの処理を再度実行する。一方、予定したすべての組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）についての試行が完了した場合には、次のステップＳ２４に移行する。
【００９９】
ステップＳ２４において、最適計算条件設定手段３３は、粒子群最良値テーブルを参照して、各組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）のそれぞれについて、式（９ｂ）により評価関数ｆ（Ｙ）（式（４）参照）の平均値ｈｋを算出する。そして、最適計算条件設定手段３３は、最適計算条件設定手段３３により算出された評価関数の平均値ｈｋが最小となる組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）を総反復回数ｋｍａｘ及び粒子数Ｍの最適な組み合わせとして適合化制御手段１８に設定し、終了する。
【０１００】
以上のようにして、本実施例のエンジン制御パラメータ適合化装置１では、総反復回数ｋｍａｘ及び粒子数Ｍの最適な組み合わせの設定を自動的に行うことができるため、
総反復回数ｋｍａｘ及び粒子数Ｍを無駄に大きくすることなく、良好な最適解を可能な限り短時間で得ることが可能となる。
【符号の説明】
【０１０１】
エンジン制御パラメータ適合化装置１
粒子テーブル記憶手段２
出力推定値記憶手段３
粒子別最良値記憶手段４
粒子群最良値記憶手段５
モデル式記憶手段６
評価関数記憶手段７
初期状態生成手段１０
出力推定手段１１
評価値算出手段１２
粒子別最良値更新手段１３
粒子群最良値更新手段１４
状態更新手段１５
収束性能改善手段１６
真偽値生成手段１６ａ
速度操作手段１６ｂ
収束判定手段１７
適合化制御手段１８
出力手段１９
重み係数減衰手段２０
粒子速度最大値演算手段２１
試行制御手段３１
コスト評価関数演算手段３２
最適計算条件設定手段３３
エンジン１０１
制御パラメータ設定手段１０２
制御パラメータ測定手段１０３
特性値測定手段１０４
測定データ記憶手段１０５
回帰分析手段１０６
入力手段１０７
【図１】
2012092761.tif 000014
【図２】
2012092761.tif 000015
【図３】
2012092761.tif 000016
【図４】
2012092761.tif 000017
【図５】
2012092761.tif 000018
【図６】
2012092761.tif 000019
【図７】
2012092761.tif 000020
【図８】
2012092761.tif 000021
【図９】
2012092761.tif 000022
【図１０】
2012092761.tif 000023
【図１１】
2012092761.tif 000024
【手続補正書】
【提出日】平成22年12月16日(2010.12.16)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
図４は、実施例２のエンジン制御パラメータ適合化装置１の動作を表すフローチャートである。図４において、ステップＳ１〜Ｓ６及びＳ７〜Ｓ１０は実施例１と同様であるため説明は省略する。本実施例においては、ステップＳ６の後に、重み係数減衰手段２０による更新式（５ｂ）の重み係数ｗの減衰処理（ステップＳ６ａ）が加わった点が相違している。この減衰処理では、重み係数ｗは反復回数ｋの単調減少関数として決定される。単調減少関数としてはどのような関数をとってもよいが、本実施例では一例として、次式（７）の線形減少関数により重み係数ｗを決定する。ここで、ｋは粒子群最適化処理の反復回数、ｋｍａｘは総反復回数、ｗｍａｘは重み係数ｗの最大値、ｗｍｉｎは重み係数ｗの最小値である。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００８７
【補正方法】変更
【補正の内容】
【００８７】
図９は、本発明の実施例５に係るエンジン制御パラメータ適合化装置１の構成を表すブロック図である。基本的には図１と同様の構成であるが、初期状態生成手段１０は、粒子テーブルの初期化の際に粒子群最良値記憶手段５の粒子群最良値テーブルに格納された過去の評価値の最小値ｇＢｅｓｔに対する粒子座標ＸｇＢｅｓｔを参照している点が異なっている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００８８
【補正方法】変更
【補正の内容】
【００８８】
本実施例においては、粒子群最良値記憶手段５は、過去に算出された粒子群の評価値の最小値ｇＢｅｓｔ及びそれに対応する粒子座標ＸｇＢｅｓｔを粒子群最良値テーブルに複数保持している。すなわち、過去に適合化制御手段１８による粒子群最適化処理を収束するまで実行して得られた最小値ｇＢｅｓｔ及び粒子座標ＸｇＢｅｓｔを、履歴として粒子群最良値テーブルに時系列的に保存しておくことができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００９４
【補正方法】変更
【補正の内容】
【００９４】
ここで、ＸｇＢｅｓｔ，ｋ（ｊ）は、組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）に対するｊ回目の試行における粒子群の評価値の最小値ｇＢｅｓｔｋに対する粒子座標Ｘの値、ｗ１，ｗ２，ｗ３及びｓｑ（ｑ＝１，…，η）は所定の重み係数、ｙｑはｑ番目のエンジン特性の推定値、ｇｑ（Ｘ）はｑ番目のエンジン特性に対するエンジンモデル式である。
最適計算条件設定手段３３は、式（９ａ）コスト評価関数Ｊｋが最小となる組み合わせ（ｋｍａｘ，ｋ，Ｍｋ）を、総反復回数ｋｍａｘ及び粒子数Ｍの最適な組み合わせとして適合化制御手段１８に設定する。