(57)【要約】【課題】自動車の駆動源を制御する制御パラメータに関する良好な最適解を高速かつ効率的に算出する。【解決手段】遺伝的アルゴリズムによる演算結果として発生部パラメータを出力するＧＡ演算部１０と、発生部パラメータに基づいて、駆動源の駆動制御に用いられる制御パラメータを算出し、この制御パラメータをエンジン実機４０またはエンジンシミュレータ３０に出力する制御パラメータ発生部２０と、制御パラメータに応じた動作結果に基づいて、動作を評価するとともに、評価結果をＧＡ演算部１０に出力する評価部５０とを有する。【選択図】図１
2004116351.tif 000002
【特許請求の範囲】
【請求項１】
自動車の駆動源に相当する実機または前記駆動源をモデル化したシミュレータの少なくとも一方を有し、前記駆動源の駆動制御に用いられる制御パラメータを最適化する制御パラメータの最適化システムにおいて、
遺伝的アルゴリズムによる演算を行い、演算結果として発生部パラメータを出力する演算部と、
前記発生部パラメータに基づいて、前記駆動源の駆動制御に用いられる制御パラメータを算出し、当該制御パラメータを前記実機または前記シミュレータに出力する制御パラメータ発生部と、
前記制御パラメータに応じた前記実機または前記シミュレータの動作結果に基づいて、前記実機または前記シミュレータの動作を評価するとともに、評価結果を前記演算部に出力する評価部とを有し、
前記制御部は、
遺伝的アルゴリズムに基づいて、個別に設定された評価条件に適合した解の候補を個体群として出力する算出部が、下位から上位に亘って複数段設けられた複数の算出部と、
下位側の個体群と上位側の個体群との間で、個体群の一部を移動する制御部と、
最上位の前記算出部の個体群に基づいて、最適化の収束判定を行う判定部とを有し、
各段に設定される評価条件は、下位から上位に向かうに従い、条件が段階的に追加されていることを特徴とする制御パラメータの最適化システム。
【請求項２】
複数の条件が組み合わさった評価条件を段階的に分割することにより、各段の評価条件が個別に設定されており、
下位側に設定される条件は、上位側に設定される条件よりも拘束力が強いことを特徴とする請求項１に記載された制御パラメータの最適化システム。
【請求項３】
前記制御部は、互いに隣接した前記算出部の間で、個体群の一部を交換することを特徴とする請求項１または２に記載された制御パラメータの最適化システム。
【請求項４】
前記制御部は、所定の個体選択法に基づいて個体群を構成する個々の個体を評価し、当該個体群の中で相対的な評価がよい個体を上位側の個体群にステップアップすることを特徴とする請求項３に記載された制御パラメータの最適化システム。
【請求項５】
前記制御部は、上位側に個体をステップアップさせた代わりに、上位側より個体を受け取り、当該受け取った個体を個体群にセットすることを特徴とする請求項４に記載された制御パラメータの最適化システム。
【請求項６】
前記制御部は、所定の個体選択法に基づいて個体群を構成する個々の個体を評価し、当該個体群の中で相対的な評価が悪い個体を下位側の個体群にステップダウンすることを特徴とする請求項５に記載された制御パラメータの最適化システム。
【請求項７】
前記制御部は、下位側に個体をステップダウンさせた代わりに、下位側より個体を受け取り、当該受け取った個体を個体群にセットすることを特徴とする請求項６に記載された制御パラメータの最適化システム。
【請求項８】
前記制御パラメータ発生部は、ニューラルネットワークによって構成されており、
前記発生部パラメータは、ニューラルネットワークにおける結合重み係数群であることを特徴とする請求項１から７のいずれかに記載された制御パラメータの最適化システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、自動車の駆動源を制御する制御パラメータを遺伝的アルゴリズムを用いて最適化するシステムに関する。
【０００２】
【従来の技術】
様々な技術分野において、最適化問題の解決を高速かつ高精度で行いたいという要求が存在する。最適化問題とは、複数の要素の組み合わせ（解の候補）の内、所定の評価条件下において所望の目的を達成し得る最適な要素の組み合わせ（最適解）を求めるものをいう。このような問題の一例としては、所望の特性を有する電気回路を構成するために様々な回路要素をどのように組み合わせるかという問題、歩行型ロボットを最も効率よく自然に稼働させるために脚部の動作をどのように組み合わせるかという問題、或いは、物資搬入経路を最適化するために交通網中の各拠点をどのように組み合わせるかという問題等が挙げられる。
【０００３】
近年、このような最適化問題の解探索手法として、遺伝的アルゴリズム（Ｇｅｎｅｔｉｃ　Ａｌｇｏｒｉｔｈｍ：以下、適宜「ＧＡ」という）が注目されている。遺伝的アルゴリズムは、生物界に存在する遺伝法則に則り、世代進化に伴い解の候補を変化させながら解探索を行うものである。解の候補は、要素の組み合わせを染色体の如く一列の要素配列として表現したものである。そして、交叉や突然変異といった染色体類似の操作（ＧＡオペレータ）を配列に適宜施し、適応度に応じて配列を選別する（世代進化）。このような操作を何世代にも亘って繰り返すことで、膨大なバリエーションをとり得る解の候補の中から条件と目標とに最も合致するものを最適解として算出する。
【０００４】
遺伝的アルゴリズムに関する従来技術として、特許文献１には、不均衡進化説に基づく遺伝的アルゴリズムを用いた最適化手法が開示されている。具体的には、突然変異率の高いグループと突然変異率の低いグループとに分け、それぞれのグループにおいて親候補から一対の子候補を分裂生成する。その際、一方の子候補は親候補をそのまま複製し、他方の子候補は高低いずれかの突然変異率に基づいて構成要素を突然変異させる。世代進化を繰り返すことにより、突然変異率の高いグループでは、多様な形質を有する最適解候補の集団が生成される。そのため、世代進化の初期段階において、適応度がある程度高い最適解候補が素早く算出される。一方、突然変異率の低いグループでは、それまでに求めた最高の適応度を有する親候補周辺に存在する類似した最適解候補の集団が形成される。その結果、初期段階における効率的な大域探索と成熟段階における精密な近傍探索とを同時に実現できる。
【０００５】
なお、遺伝的アルゴリズムを自動車用動力源制御装置に適用した従来技術としては、特許文献２や特許文献３等が挙げられる。
【０００６】
【特許文献１】特開平９−２５１４４６号公報
【特許文献２】特開平９−３２５９４９号公報
【特許文献３】特開平１０−１１１０６号公報
【０００７】
【発明が解決しようとする課題】
ところで、最適化問題に対する実際の解決アプローチでは、多数の条件が組み合わさった評価条件（複合条件）に総合的に適合するような最適解を求めたり、最適化の結果または制御結果を見ながら新たな条件を逐次的に追加していくことが多い。しかしながら、最適化の初期段階から複合条件を同時に与えた場合、或いは、既に収束した結果に別の評価条件を加える場合等において、従来の一般的な手法では局所的な解からの脱出が困難になることが多かった。そのため、複雑な複合条件に関する最適化問題では、解探索に要する計算時間が極端に遅くなったり、全く進まなくなってしまう現象（所謂、局所解へのトラップ）が発生していた。
【０００８】
特に、自動車のエンジンやモータといった動力源を開発する場合、考え得る全ての状況を想定した上で、長期に及ぶ実機試験やシミュレーション等を行う必要がある。そして、これらを通じて、制御定数を設定する必要があるため、その設定に膨大な作業時間を要する。作業時間の短縮を図るために、ＧＡを利用する手法も知られているが、精密なシミュレーション環境を構築することは容易ではなく、動力源に対する評価条件も複雑化するため、システムの自動化および設定作業の省力化を図ることも容易ではない。
【０００９】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、自動車の駆動源を制御する制御パラメータに関する良好な最適解を高速かつ効率的に算出することである。
【００１０】
【課題を解決するための手段】
かかる課題を解決するために、本発明は、自動車の駆動源に相当する実機または駆動源をモデル化したシミュレータの少なくとも一方を有し、駆動源の駆動制御に用いられる制御パラメータを最適化する制御パラメータの最適化システムを提供する。このシステムは、遺伝的アルゴリズムによる演算を行い、演算結果として発生部パラメータを出力する演算部と、発生部パラメータに基づいて、駆動源の駆動制御に用いられる制御パラメータを算出し、この制御パラメータを実機またはシミュレータに出力する制御パラメータ発生部と、制御パラメータに応じた実機またはシミュレータの動作結果に基づいて、実機またはシミュレータの動作を評価するとともに、評価結果を演算部に出力する評価部とを有する。制御部は、遺伝的アルゴリズムに基づいて、個別に設定された評価条件に適合した解の候補を個体群として出力する算出部が、下位から上位に亘って複数段設けられた複数の算出部と、下位側の個体群と上位側の個体群との間で、個体群の一部を移動する制御部と、最上位の算出部の個体群に基づいて、最適化の収束判定を行う判定部とを有する。そして、各段に設定される評価条件は、下位から上位に向かうに従い、条件が段階的に追加されている。
【００１１】
ここで、上記構成において、複数の条件が組み合わさった評価条件を段階的に分割することにより、各段の評価条件が個別に設定されていることが好ましく、下位側に設定される条件は、上位側に設定される条件よりも拘束力が強いことが望ましい。
【００１２】
また、制御部は、互いに隣接した算出部の間で、個体群の一部を交換することが好ましい。この場合、制御部は、所定の個体選択法に基づいて個体群を構成する個々の個体を評価し、その個体群の中で相対的な評価がよい個体を上位側の個体群にステップアップしてもよい。また、制御部は、上位側に個体をステップアップさせた代わりに、上位側より個体を受け取り、この受け取った個体を個体群にセットしてもよい。一方、また、制御部は、所定の個体選択法に基づいて個体群を構成する個々の個体を評価し、この個体群の中で相対的な評価が悪い個体を下位側の個体群にステップダウンしてもよい。この場合、制御部は、下位側に個体をステップダウンさせた代わりに、下位側より個体を受け取り、この受け取った個体を個体群にセットすることが好ましい。
【００１３】
また、制御パラメータ発生部は、ニューラルネットワークによって構成されており、発生部パラメータは、ニューラルネットワークにおける結合重み係数群であることが好ましい。
【００１４】
【発明の実施の形態】
図１は、制御パラメータの最適化システムにおける全体的なブロック構成図である。この最適化システムは、自動車の駆動源に相当するエンジンの制御パラメータを最適化するものであり、ＧＡ演算部１０、制御パラメータ発生部２０、エンジンシミュレータ３０、エンジン実機４０および評価部５０で構成されている。
【００１５】
ＧＡ演算部１０は、遺伝的アルゴリズムによる演算を行い、演算結果として発生部パラメータを出力する。この発生部パラメータは、後段の制御パラメータ発生部２０がニューラルネットワークで構成されている関係上、ニューラルネットワークの結合重み係数群が該当する。制御パラメータ発生部２０は、ＧＡ演算部１０からの発生部パラメータに基づいて、エンジンの駆動制御に用いられる制御パラメータを算出し、この制御パラメータをエンジンシミュレータ３０とエンジン実機４０とに対して出力する。制御パラメータは、自動車の駆動源を実際に制御するパラメータであり、駆動源がエンジンの場合には、燃料噴射量や点火時期等が該当する。エンジンシミュレータ３０は、エンジンをモデル化したシミュレータであり、制御パラメータ発生部２０からの制御パラメータに応じて動作する。また、エンジン実機４０は、エンジンそのものであり、エンジンシミュレータ３０と同様、制御パラメータに応じて動作する。エンジンシミュレータ３０より出力される状態パラメータおよびエンジン実機４０より出力される状態パラメータは、制御パラメータ発生部２０にフィードバックされる。状態パラメータは、自動車の駆動源の駆動状態を示すパラメータであり、駆動源がエンジンの場合には、吸入空気量、エンジン回転数、冷却水温度、スロットル開度、或いはエンジン負荷等が該当する。
【００１６】
評価部５０は、エンジンシミュレータ３０の動作結果またはエンジン実機４０の動作結果に基づいて、これらの動作を評価するとともに、その評価結果をＧＡ演算部１０に対して出力する。駆動源がエンジンの場合、動作結果としては、エンジン回転数、出力トルク、出力馬力、或いは、排気ガスの排出量等が該当する。また、評価結果としては、動作結果に関する目標値（目標値はテーブルやマップ等により予め設定されている）と実際値との偏差を表す数値や数式が該当する。ＧＡ演算部１０は、評価部５０よりフィードバックされた評価結果を反映した上で、発生部制御パラメータを算出する。
【００１７】
なお、図１に示した最適化システムでは、エンジンシミュレータ３０とエンジン実機４０とが並列に設けられているが、両方を設ける必要性は必ずしもなく、これらのうちのいずれか一方のみを設けてもよい。ただし、エンジン実機４０を直接制御すると破壊するおそれがある場合、或いは、制御結果を得るのに長時間かかる場合等を考慮すると、エンジンシミュレータ３０を併存させることが好ましい。
【００１８】
図２は、ＧＡ演算部１０のブロック構成図である。ＧＡ演算部１０は、Ｎ個（Ｎは２以上の自然数）のＧＡエンジン１と、（Ｎ−１）個の個体移民制御部２と、１個の収束判定部３とを有し、分散ＧＡを構成している。このシステムが通常の分散ＧＡと異なるのは、ＧＡエンジン１が下位から上位に亘って複数段設けられており、後述するように、個々のＧＡエンジン１に設定される評価条件が下位から上位へ段階的に追加されている点である。各段のＧＡエンジン１は、最下位を１段目、上位に向かって順次２段目，３段目，・・・、そして最上位をＮ段目と定義する。個体移民制御部２は、互いに隣接したＧＡエンジン１の間に設けられており、最適化対象となる個体群ＰＧｎ（ｎ＝１〜Ｎ）中の一部個体群を、互いに隣接した直近段の間で移動させる。収束判定部３は、最上位、すなわちＮ段目のＧＡエンジン１に設けられており、最上位のＧＡエンジン１において出力される個体群ＰＧＮに基づいて、最適化の収束判定を行う。
【００１９】
ここで、「最上位」とは、最終的な目的となる最適解を含み得る目的段、換言すれば、ある最適問題において最終的に与えるべき全条件が設定される段をいう。したがって、オペレータが最終的に求める最適解、すなわち考慮すべき全条件に適合する解は、その最適問題に関する最上位のＧＡエンジン１において算出される。
【００２０】
各段のＧＡエンジン１には、評価条件が個別に設定されているとともに、評価部５０からの評価結果が個別にフィードバックされる。ここで、評価条件は、下位から上位に向かって段階的に追加された形態となっている。具体的には、１段目の評価条件（１段目のＧＡエンジン１に設定される評価条件）が単一の「条件１」のみであるのに対して、２段目の評価条件は１段目の「条件１」に新たな「条件２」を追加した「条件１×２」（”×”は「かつ（ａｎｄ）」の意味）となっている。また、３段目の評価条件は、直下位の評価条件である「条件１×２」に新たな「条件３」を追加した「条件１×２×３」になっている。すなわち、複数の条件が組み合わさった「評価条件１×２×・・・×Ｎ」（最終的な評価条件）を段階的に分割し、下位から上位に亘って条件が段階的に追加されるように各段の評価条件を個別に設定する。なお、各段に追加する条件は単一である必要は必ずしもなく、複数の条件を同時に追加してもよい。例えば、１段目の評価条件を「条件１」とし、２段目の評価条件を「条件１×２×３」とするといった如くである。
【００２１】
それぞれのＧＡエンジン１に段階的に追加される評価条件は、拘束力の強いものほど下位に配置し、拘束力の弱いものほど上位に配置する。換言すれば、下位側には必要条件的な条件を配置し、上位側には十分条件的な条件を配置する。自動車用のエンジン（レシプロエンジン）における回転制御パラメータの最適化を例に説明すると、この最適化問題で考慮すべき条件としては、「停止してはいけない」，「スロットル開度に１対１で対応したエンジン回転数を設定しなければいけない」，「有毒排気ガスの排出量を少なくしなくてはならない」等が考えられる。この場合、自動車が走行する上での大前提である「停止してはいけない」という拘束力の強い条件が最下位の「条件１」に相当する。そして、「スロットル開度に１対１で対応したエンジン回転数にならなければいけない」という条件がそれに続く「条件２」に相当し、高度な条件である「有毒排気ガスの排出量を少なくしなくてはならない」という条件が最上位の「条件Ｎ」（拘束力が最も弱い）に相当する。
【００２２】
なお、ＧＡ演算部１０をスタンドアロン（単一）のコンピュータで実現する場合、単一のＣＰＵ（中央演算装置）がＮ個のＧＡエンジン１（算出部），（Ｎ−１）個の個体移民制御部２および収束判定部３の全機能を担う。しかしながら、処理速度の高速化を重視する場合には、図３に示すように、ネットワーク接続された複数のコンピュータによってＧＡ演算部１０を構成してもよい。この場合、ＧＡ演算部１０は、マルチプロセッサ型のコンピュータまたはＬＡＮ等によってネットワーク接続された複数の演算装置４（ＣＰＵ）によって実現される。それぞれの演算装置４が、１個のＧＡエンジン１およびそれに対応した個体移民制御部２に相当し、並列処理を行う演算装置４間の情報伝達（個体交換）は、ＬＡＮ等のネットワークまたはバス結線、その他のインターフェースを介して行われる。
【００２３】
個体移民制御部２は、定められたタイミングで、個体群ＰＧｎから定められた数の移民を、相対的な評価値の悪い順番に、下位の個体群ＰＧｎ−１に移動させる個体移民制御部２ａ（ステップダウン）と、定められたタイミングで、個体群ＰＧｎから定められた数の個体（移民）を、相対的な評価値のよい順番に、上位の個体群ＰＧｎ＋１に移動させる個体移民制御部２ｂ（ステップアップ）に分けられる。ここで、最下位のＧＡエンジン１に関しては、ステップアップ用の個体移民制御部２ｂのみが設けられており、ステップダウン用の個体移民制御部２ａを有さない。また、最上位のＧＡエンジン１に関しては、ステップダウン用の個体移民制御部２ａのみが設けられており、ステップアップ用の個体移民制御部２ｂを有さない。それ以外の中間のＧＡエンジン１に関しては、個体移民制御部２ａ，２ｂの両方を有する。なお、最上位のＧＡエンジン１に関しては、収束判定部３が設けられている。
【００２４】
それぞれのＧＡエンジン１は互いに独立してＧＡ演算を行うため、簡単に並列化でき、基本的に、最適化に要する処理時間は使用するＣＰＵの数の増加に伴い短縮化される。また、互いに隣接したＧＡエンジン１間の個体交換に要するデータ量は比較的少なく、その発生頻度も高くない。そのため、個体交換用のインターフェースとして高速な専用線を用いる必要は必ずしもない。なお、単一のＧＡエンジン１に通常の分散ＧＡを用いて更に細分化・並列化すれば、処理速度の一層の高速化を図ることができる。
【００２５】
図４は、世代進化のタイミングチャートである。一世代は「ＧＡ演算フェィズ」と「個体移民フェィズ」とで構成されており、世代進化に伴い各フェィズが繰り返される。「ＧＡ演算フェィズ」では、全段のＧＡエンジン１が周知の遺伝的アルゴリズム（ＧＡ）に則った解探索を同時かつ独立に実行する。すなわち、世代進化に伴い、解の候補を変化させながら解探索を行う。解の候補は、要素の組み合わせを染色体の如く一列の要素配列として表現されている。そして、交叉や突然変異といった染色体類似の操作（ＧＡオペレータ）を配列に適宜施し、適応度に応じて配列を選別する（世代進化）。このような操作を何世代にも亘って繰り返すことで、膨大なバリエーションをとり得る解の候補の中から条件と目標とに最も合致するものを最適解として算出する。そして、各段のＧＡエンジン１は、個別に設定された評価条件に適合した解の候補を個体群ＰＧｎとして出力する。個体群ＰＧｎを構成する個々の個体は、最適化問題に応じて適宜設定されたルールに従いコーディングされている。なお、各段の個体群ＰＧｎの初期設定は、個体の多様性を確保するために、ＧＡエンジン１毎にランダムに作り出すことが好ましい。また、各段のＧＡエンジン１に設定する個体群ＰＧｎの個体数は同一であってもよいが、異なる個体数に設定してもよい。
【００２６】
「ＧＡ演算フェィズ」において、収束判定部３は、最上位のＧＡエンジン１により算出された個体群ＰＧＮを常時観測し、最終的な評価条件である「条件１×２×・・・×Ｎ」を満足する最適化が行われたか否かを判断する。具体的には、この「評価条件１×２×・・・×Ｎ」に適合する個体ほど高い適合度が得られるように適切に設定された評価関数に基づいて、最上位の個体群ＰＧＮを構成する個体を個別に評価する。そして、ある世代Ｋにおいて最適化が満足されたならば、演算結果として最適解を出力するとともに、各ＧＡエンジン１に対してＧＡ演算の終了を指示する。これにより、最適化システム全体における最適化演算が終了する。これに対して、「ＧＡ演算フェィズ」で満足な最適化が完了しない場合には、続く「個体移民フェィズ」に移行する。
【００２７】
「個体移民フェィズ」において、それぞれの個体移民制御部２は、下位側の個体群ＰＧｎの一部を上位側に移動させるとともに、上位側の個体群ＰＧｎの一部を下位側に適宜移動させる。本明細書では、上下の個体群ＰＧｎ間で移動される個体を「移民」と呼ぶ。
【００２８】
図５は、個体移民の処理手順を示すフローチャートである。この処理は、それぞれの個体移民制御部２において独立して実行されるが、以下、中間段であるｎ段目のＧＡエンジン１に関する処理を例示しながら説明する。
【００２９】
まず、ステップ１において、上位移民タイミング、すなわち、個体群ＰＧｎの一部を直上位にステップアップさせるタイミングであるか否かが判断される。このタイミングは、例えば２０世代毎のような固定タイミングでもよいが、一定確率による抽選で決定してもよい。ステップ１で肯定判定された場合には、ステップ２に進む。これに対して、このステップ１で否定判定された場合には、上位移民処理（ステップ２〜５）をスキップしてステップ６に進む。なお、最上位のＧＡエンジン１に関しては、上位側にＧＡエンジン１が存在しないため、上位移民処理（すなわち、移民のステップアップ処理および上位側からの交換移民の受取り処理）は行われない。
【００３０】
ステップ２において、ｎ段目の個体群ＰＧｎの中で上位側にステップアップさせる一部個体群、すなわち上位側への移民が決定される。具体的には、所定の個体選択法に基づいて個体群を構成する個々の個体を評価し、基本的には、この個体群の中で相対的な評価がよい個体をステップアップする移民として選択する。選択される移民数は一定であり、個体群ＰＧｎの全体個体数が進化計算中に変化することはない。また、移民数は、最初に全個体数からの割合で決めるのが妥当である。ＧＡには、評価値のよい個体を選択する手法として一般的な手法がいくつかあるが、これらの内の適宜の手法に基づいて、上位側への移民が決定される。これらの手法は、単純に評価値がよいものだけを順位から一意に決定するという方法ではなく、集団の遺伝子の多様性を維持するという意味合いから確率的選択で行う。代表的なものとしては、ルーレット式選択、ランク方式選択、トーナメント式選択等が挙げられる。標準的なＧＡにおいて、これらの手法は、次世代の個体を作り出す際の親個体の選択に用いられるが、本実施形態ではそれと同等な選択方式を採用している。
【００３１】
ステップ３において、上位側への移民を特定する移民データが上位側である（ｎ＋１）段目に送信される。すなわち、ｎ段目で決定された移民は、図４の矢印ａに示すように（ｎ＋１）段目に対して送信され、ｎ段目は、交換移民データの受信待ち状態となる（ステップ４）。そして、図４の矢印ｂに示すように、（ｎ＋１）段目からの交換移民データをｎ段目が受信すると、受信した交換移民がｎ段目の個体群ＰＧｎにセットされる（ステップ５）。
【００３２】
ステップ５に続くステップ６において、ｎ段目が下位側である（ｎ−１）段目からの移民データを受信しているか否かが判断される。移民データを受信している場合（図４の矢印ｃ）、ステップ７に進み、下位移民処理（ステップ７〜９）が行われる。最下位のＧＡエンジン１に関しては、下位側にＧＡエンジン１が存在しないため、下位移民処理（すなわち、移民のステップダウン処理および下位側からの交換移民の受取り処理）は行われない。
【００３３】
ステップ７において、個体群ＰＧｎの中で下位側に移動させる個体、すなわち下位側への移民が決定される。具体的には、所定の個体選択法に基づいて個体群を構成する個々の個体を評価し、基本的には、この個体群の中で相対的な評価が悪い個体をステップダウンさせる移民として選択する。下位側への移民数は一定であり、個体群ＰＧｎの全体個体数が進化計算中に変化することはない。また、移民数は、最初に全個体数からの割合で決めるのが妥当である。下位側への移民を決定する手法としては、逆ルーレット式選択，逆ランク方式選択，逆トーナメント式選択といった周知の手法を用いることができ、選択率を評価値に関して逆転させて（評価値の悪い方が選択率が高まるように）使用する。
【００３４】
ステップ８において、図４の矢印ｄに示すように、ｎ段目は、下位側への移民に関する移民データを下位側である（ｎ−１）段目に送信する。そして、ｎ段目の個体群ＰＧｎには、一部個体を移民として削除したことに代えて、図４の矢印ｃに示したように、下位側からの移民がセットされる（ステップ５）。
【００３５】
このような個体移民処理では、各段の個体群ＰＧｎの個体総数は変化せずに一定である。移民のステップアップ／ステップダウンは、上位進化群と下位進化群との間で同期的に行われ、同数の個体交換になる。一方、一つの中間段で見た場合、ステップアップ／ステップダウンは同時に発生せず、ステップアップは上位進化群と同期をとったタイミングで行われ、ステップダウンは下位進化群と同期をとったタイミングで行われる。
【００３６】
一例として、「停止してはいけない」という評価条件を最下位に割り当てた場合における下位空間（調整パラメータＰ１，Ｐ２がなす空間）の模式図を図８に示す。「停止してはいけない」いくつかの局所解がＧＡによる進化で算出される。この局所解は、下位空間上に多数存在し、互いに無関係の位置にあるかもしれない。この局所解近傍にある個体を確率的に選択し、「停止してはいけない×スロットル開度に１対１で対応したエンジン回転数にならなければいけない」を評価条件とする上位側に移民する。上位側では、「停止してはいけない」という条件については、そこそこの評価を得ている個体から進化操作が行えるので、最適解発見の可能性が高まる。
【００３７】
また、上位側からは評価が低い個体を移民として受け入れ、「停止してはいけない」という単純な条件のみで解探索をやり直す。その理由は、上述したように、複合条件での解探索が難しかった場合、条件を単一化・簡略化することにより、その個体近傍に存在する新たな局所解を素早く見つけ、再度上位に個体移動させるためである。
【００３８】
図７は、制御パラメータ発生部２０の説明図である。制御パラメータ発生部２０は、シグモイド関数を用いたフィードフォワード型ニューラルネットワークで構成されている。このニューラルネットワークにおいて、初段のノードには上述した状態パラメータである吸入空気量Ｑ、エンジン回転数Ｎｅ、冷却水温度Ｔｗ、スロットル開度θ、負荷Ｔが与えられ、最終段のノードより制御パラメータである燃料噴射量Ｉｆ、点火時期Ｔｉが出力される。また、各ノード間の結合重み係数は、ＧＡ演算部１０からの発生部パラメータとして与えられ、これらの結合重み係数群は、上述した段階的進化法によって調整される。
【００３９】
このように、本実施形態では、最も単純な評価条件１のみに基づき解探索を行い、個体群ＰＧ１を出力する。また、これよりも１つ上位のＧＡエンジン１は、上記条件１に新たな条件２を加えた評価条件（１×２）下で解探索を行い、個体群ＰＧ２を出力する。同様に、ＧＡエンジン１が上位になるにつれて条件が段階的に追加され、より複雑な評価条件下での解探索を試みる。個体移民制御部２は、定められたタイミングで、個体群ＰＧｎから定められた数の個体（移民）を、相対的な評価値のよい順番に、上位の個体群ＰＧｎ＋１に移動させる（ステップアップ）。移民を受け入れた上位側のＧＡエンジン１は、下位の評価条件についてはそこそこの評価を得ている個体から進化操作を行う。したがって、条件の段階的な追加とともに最適解が存在するであろう空間を限定していくことができるため、最適解発見の可能性を高めることができる。
【００４０】
また、個体移民制御部２は、個体進化の過程における所定のタイミングで、個体群ＰＧｎから定められた数の移民を、相対的な評価値の悪い順番に、下位の個体群ＰＧｎ−１に移動させる（ステップダウン）。移民を受け入れた下位側のＧＡエンジン１は、従前よりも単純な評価条件下で解探索をリトライする。これは、複合条件での解探索が難しかった場合に、条件を簡略化して個体近傍の新たな局所解を素早く見つけ、再度上位に個体移動させるためである。そして、最上位に位置する収束判定部３は、満足できる最適化が行われたか否かを常に観測する。そして、この判定部３は、最適化が満足された場合（収束条件を具備する場合）、最上位のＧＡエンジン１に対して、最上位の最適解に関する演算結果の出力を指示する。それとともに、判定部３は、全てのＧＡエンジン１に対して、最適化計算の終了を指示する。
【００４１】
このように、段階的に条件が追加された評価環境の下で、最適化演算を段階的に実行し、上下間で個体群ＰＧｎの一部を相互に交換を行うことで、個体の最適化度合いに応じた進化計算を自動的・自律的に行うことが可能となる。それとともに、上位側における個体群ＰＧｎの解探索も効率的に行われ、個体遺伝子の偏りも避けられる（多様性の維持）。したがって、局所解に陥ったとしても、局所解脱出の可能性が飛躍的に高まるとともに、進化の進行度合いはより連続的になるため、複雑な評価条件下においても良質な解を高速に算出することが可能となる。
【００４２】
ここで、上位に位置する複合度の増した解空間において局所解（最適解）へは近いがアプローチが難しい場合（解にたどり着くまでに１山あるようなケース）を考える。本実施形態では、個体移民制御部２による制御によって、ステップアップしたがやはり進化に行き詰まった個体をステップダウンし、下位側で若干の修正を加えた後に再度ステップアップというリトライループが結果として構成される。このリトライループによって、下位にステップダウンした個体に若干の変更を加えて再びステップアップすれば、アプローチの角度が変わり、結果的に山を迂回し解にたどり着く可能性を高めることができる。
【００４３】
また、集団の多様性が維持できるという効果もある。ＧＡにおいて多様性の維持こそが広い解探索を保証する唯一の拠り所であり、下位側において生成・変更された個体を移民することは、上位側における集団の多様性維持に大きく貢献している。
【００４４】
さらに、下位側には上位側よりも拘束力が強い条件を設けることで、最終的な最適解の探索を効率的に行うことが可能となる。一般に、ある条件に合致する解が存在する空間は、与えられた条件の拘束力が大きいほど大きくなる傾向がある。したがって、下位側になるほど拘束力の強い条件を段階的に追加し、下位側において求められた大域的な解を考慮した上で、上位側での解探索を実行すれば、上位側での解探索を効率的に行うことが期待できる。
【００４５】
図６は、世代進化と最適化結果との関係の説明図である。多数の条件が組み合わさった複雑な評価条件が与えられるほど解空間が飛躍的に広がるため、従来の単純ＧＡでは局所解に陥り易い（同図（ａ）参照）。これに対して、本実施形態に係る最適化手法では、同図（ｂ）に示すように、進化の進み具合は連続的となり、局所解に陥ることなく良好な最適解が得られることがわかる。
【００４６】
また、ＧＡ演算部１０において、オペレータが最適化の結果を見て新たな条件の逐次的に追加（挿入）したい場合、その評価条件を加えた新たなＧＡエンジン１を一つ追加すればよい。ＧＡエンジン１の追加位置は、新たに追加する評価条件に関する拘束力の強さに基づいて決定する。つまり、追加する条件の拘束力が強いならば、下位側にＧＡエンジン１を追加することが好ましく、追加する条件の拘束力が弱いならば、上位側にＧＡエンジン１を追加することが好ましい。これにより、最適化問題に対する実際の解探索アプローチにマッチした優れた利便性を有するシステムを実現でき、オペレータの作業を簡略化・効率化することができる。
【００４７】
なお、互いに隣接した直近の個体群ＰＧｎ，ＰＧｎ＋１（またはＰＧｎ，ＰＧｎ−１）の間で個体移動を行う例について説明した。しかしながら、本発明は、これに限定されるものではなく、例えば２つ跳ばしといった飛び級的な個体移動に対して適用することも可能であり、このような移民形態も本発明の適用範囲に当然含まれる。
【００４８】
また、互いに隣接した個体群の間で移民を交換する例について説明したが、上述したリトライループによる最適解の精度向上よりも処理速度の方を優先する場合には、ステップダウンを行うことなく、ステップアップのみを単独で行ってもよい。なお、ステップダウンについては、単独で行っても意味はなく、ステップアップと併せて行う必要がある。
【００４９】
さらに、本実施形態では、自動車の駆動源としてエンジン（レシプロエンジン）を例に説明した。しかしながら、本発明は、自動車の他の駆動源にも適用できるのは当然であり、例えば、電気自動車の駆動源（２次電池＋電気モータ、または、燃料電池＋モータ）への適用も可能である。
【００５０】
【発明の効果】
本発明によれば、自動車の駆動源を制御する際、制御上具備すべき評価条件が多数で、かつ、相互に複雑な関連を持つ場合であっても、良好な制御パラメータを高速かつ効率的に生成するこことができる。
【図面の簡単な説明】
【図１】制御パラメータの最適化システムの全体的なブロック構成図
【図２】ＧＡ演算部のブロック構成図
【図３】ネットワークを用いたＧＡ演算部のブロック構成図
【図４】世代進化のタイミングチャート
【図５】個体移民の処理手順を示すフローチャート
【図６】世代進化と最適化結果との関係の説明図
【図７】制御パラメータ発生部の説明図
【図８】解空間の模式図
【符号の説明】
１　ＧＡエンジン
２　個体移民制御部
３　収束判定部
４　演算装置
１０　ＧＡ演算部
２０　制御パラメータ発生部
３０　エンジンシミュレータ
４０　エンジン実機
５０　評価部
【図１】
2004116351.tif 000003
【図２】
2004116351.tif 000004
【図３】
2004116351.tif 000005
【図４】
2004116351.tif 000006
【図５】
2004116351.tif 000007
【図６】
2004116351.tif 000008
【図７】
2004116351.tif 000009
【図８】
2004116351.tif 000010