(57)【要約】【課題】環境が離散的に変化する条件において、環境に対応した複数の個体群を用意し、環境を事前に推定する環境事前推定部と評価後に実際の環境を推定する環境事後推定部を備えることで、動的に変化する環境に対しても効果的に実動作環境下における最適化を実施することが可能な制御パラメータの最適化方法、制御パラメータの最適化装置及び制御パラメータの最適化プログラムを提供する。【解決手段】航走制御装置３を、定速航走制御部３０と、パラメータ最適化装置３１と、を含んだ構成とし、パラメータ最適化装置３１を、環境事前推定部３１ａと、遺伝的操作部３１ｂと、個体群集合３１ｃと、環境事後推定部３１ｄと、を含んだ構成とし、環境事前推定部３１ａによって推定された事前環境に対応する個体群の個体に対して遺伝的操作を行い、環境事後推定部３１ｄによって推定された事後環境と前記事前環境との比較結果に基づき個体の世代交代を行うようにした。【選択図】      図１
2004178574.tif 000002
【特許請求の範囲】
【請求項１】
制御条件が動的に変化する環境下において使用される制御装置の制御パラメータを、遺伝的アルゴリズムを利用して最適化する最適化方法であって、
前記変化する環境毎にそれぞれ対応する、前記制御パラメータに係る前記遺伝的アルゴリズムの個体群を生成し、
現在の環境下において得られる所定情報に基づき、前記遺伝的アルゴリズムによる次の遺伝的操作時の環境を、前記個体群と対応関係にある環境の中から事前に推定し、
前記個体群の中から当該推定結果の環境に対応する個体群を選択し、
当該選択された個体群に対して、前記遺伝的操作として、
前記事前に推定した環境に対応する個体群の中から特定の個体を選択し、
当該特定の個体に対して所定の交叉手法を用いた交叉処理を行うことで新たな個体を生成し、
当該新たな個体及び前記特定の個体を用いた制御結果から得られる評価値に基づきこれら個体の評価を行い、
当該評価結果に基づき評価後の個体の更新処理を行うことを特徴とする制御パラメータの最適化方法。
【請求項２】
制御条件が動的に変化する環境下において使用される制御装置の制御パラメータを、遺伝的アルゴリズムを利用して最適化する最適化方法であって、
前記変化する環境毎にそれぞれ対応する、前記制御パラメータに係る前記遺伝的アルゴリズムの個体群を生成し、
現在の環境下において得られる所定情報に基づき、前記遺伝的アルゴリズムによる次の遺伝的操作時の環境を、前記個体群と対応関係にある環境の中から事前に推定し、
前記個体群の中から当該推定結果の環境に対応する個体群を選択し、
当該選択された個体群に対して、前記遺伝的操作として、
前記事前に推定した個体群の中から特定の個体を選択し、
当該特定の個体に対して所定の交叉手法を用いた交叉処理を行うことで新たな個体を生成し、
当該新たな個体及び前記特定の個体を用いた制御結果から得られる評価値に基づきこれら個体の評価を行い、
当該評価後の環境下から得られる所定情報に基づき、このときの環境を前記個体群と対応関係にある環境の中から推定し、
当該評価後に推定した環境と前記事前に推定した環境とを比較し、
当該比較結果に基づき前記評価後の個体の更新処理を行うことを特徴とする制御パラメータの最適化方法。
【請求項３】
前記推定された環境の比較において、前記事前に推定された環境と前記評価後に推定された環境とが異なる環境であったときに、前記評価後の個体を当該評価後に推定した環境に対応する個体群の所定の個体と入れ換えることを特徴とする請求項２記載の制御パラメータの最適化方法。
【請求項４】
前記推定された環境の比較において、前記事前に推定された環境と前記評価後に推定された環境とが異なる環境であったときに、これらの環境に対応する個体群の中からそれぞれ特定の個体を選択して前記遺伝的操作を行い、この遺伝的操作後の個体を前記評価後に推定された環境に対応する個体群の所定の個体と入れ換えることを特徴とする請求項２記載の制御パラメータの最適化方法。
【請求項５】
前記特定の個体は、最良の個体を含むことを特徴とする請求項２乃至請求項４のいずれか１項に記載の制御パラメータの最適化方法。
【請求項６】
前記環境に対応する個体群の個体が評価済みか否かを判定し、評価済みであると判定された場合は、その個体の評価を省略して以前獲得した評価値を保持し、当該保持された評価値を用いて前記更新処理を行うことを特徴とする請求項１乃至請求項５のいずれか１項に記載の制御パラメータの最適化方法。
【請求項７】
評価済みと判断された個体に対してそのことを示すフラグを設定し、前記環境に対応する個体群の個体が前記更新処理時に生き残った回数を記録し、当該記録された回数が所定数を超えたときに、設定された前記フラグを解除することを特徴とする請求項６記載の制御パラメータの最適化方法。
【請求項８】
前記複数の個体群における各個体の現在の評価値と、前記複数の個体群における過去において最も良い評価値とを比較し、現在の評価値の方が過去の評価値より優れている個体に対して再評価を行ってから前記更新処理を行うことを特徴とする請求項６又は請求項７記載の制御パラメータの最適化方法。
【請求項９】
前記制御装置は船舶に備わる船外機であり、前記変化する環境は、当該船舶の航走速度、エンジン回転数、スロットル操作量、ステアリング操作量及びトリム角度のうち少なくとも一の情報に基づき決定されることを特徴とする請求項１乃至請求項８のいずれか１項に記載の制御パラメータの最適化方法。
【請求項１０】
船舶の航走速度、エンジン回転数、スロットル操作量、ステアリング操作量及びトリム角度のうち少なくとも一の情報に基づき、前記事前の環境を推定することを特徴とする請求項１乃請求項９のいずれか１項に記載の制御パラメータの最適化方法。
【請求項１１】
船舶の航走速度、エンジン回転数、スロットル操作量、ステアリング操作量及びトリム角度のうち少なくとも一の情報に基づき、前記評価後の環境を推定することを特徴とする請求項２乃至請求項１０のいずれか１項に記載の制御パラメータの最適化方法。
【請求項１２】
制御条件が動的に変化する環境下において使用される制御装置の制御パラメータを、遺伝的アルゴリズムを利用して最適化する最適化装置であって、
前記変化する環境毎にそれぞれ対応する、前記制御パラメータに係る前記遺伝的アルゴリズムの個体群を生成する個体群生成手段と、
現在の環境下において得られる所定情報に基づき、前記遺伝的アルゴリズムによる次の遺伝的操作時の環境を、前記個体群と対応関係にある環境の中から事前に推定する環境事前推定手段と、
前記個体群の中から当該推定結果の環境に対応する個体群を選択する個体群選択手段と、
当該選択された個体群に対して前記遺伝的操作を行う遺伝的操作手段と、を備え、
前記遺伝的操作手段は、
前記事前に推定した環境に対応する個体群の中から特定の個体を選択する特定個体選択部と、
当該特定の個体に対して所定の交叉手法を用いた交叉処理を行うことで新たな個体を生成する交叉処理部と、
当該新たな個体及び前記特定の個体を用いた制御結果から得られる評価値に基づきこれら個体の評価を行う個体評価部と、
当該評価結果に基づき評価後の個体の更新処理を行う個体更新部と、を備えることを特徴とする制御パラメータの最適化装置。
【請求項１３】
制御条件が動的に変化する環境下において使用される制御装置の制御パラメータを、遺伝的アルゴリズムを利用して最適化する最適化装置であって、
前記変化する環境毎にそれぞれ対応する、前記制御パラメータに係る前記遺伝的アルゴリズムの個体群を生成する個体群生成手段と、
現在の環境下において得られる所定情報に基づき、前記遺伝的アルゴリズムによる次の遺伝的操作時の環境を、前記個体群と対応関係にある環境の中から事前に推定する環境事前推定手段と、
前記個体群の中から当該推定結果の環境に対応する個体群を選択する個体群選択手段と、
当該選択された個体群に対して前記遺伝的操作を行う遺伝的操作手段と、を備え、
前記遺伝的操作手段は、
前記事前に推定した環境に対応する個体群の中から特定の個体を選択する特定個体選択部と、
当該特定の個体に対して所定の交叉手法を用いた交叉処理を行うことで新たな個体を生成する交叉処理部と、
当該新たな個体及び前記特定の個体を用いた制御結果から得られる評価値に基づきこれら個体の評価を行う個体評価部と、
当該評価後の環境下から得られる所定情報に基づき、このときの環境を前記対応した個体群のある環境の中から推定する環境事後推定部と、
当該評価後に推定した環境と前記事前に推定した環境とを比較する環境比較部と、
当該比較結果に基づき前記評価後の個体の更新処理を行う個体更新部と、を備え前記遺伝的操作を行うことを特徴とする制御パラメータの最適化装置。
【請求項１４】
前記環境比較部における比較結果が、前記事前に推定された環境と前記評価後に推定された環境とが異なる環境であったときに、前記個体更新部は、前記評価後の個体を当該評価後に推定した環境に対応する個体群の所定の個体と入れ換えるようになっていることを特徴とする請求項１３記載の制御パラメータの最適化装置。
【請求項１５】
前記環境比較部における比較結果が、前記事前に推定された環境と前記評価後に推定された環境とが異なる環境であったときに、前記遺伝的操作手段は、これらの環境に対応する個体群の中からそれぞれ特定の個体を選択して前記遺伝的操作を行い、この遺伝的操作後の個体を前記評価後に推定された環境に対応する個体群の所定の個体と入れ換えるようになっていることを特徴とする請求項１３記載の制御パラメータの最適化装置。
【請求項１６】
前記特定の個体は、最良の個体を含むことを特徴とする請求項１３乃至請求項１５のいずれか１項に記載の制御パラメータの最適化装置。
【請求項１７】
前記遺伝的操作手段は、前記環境に対応する個体群の個体が評価済みか否かを判定し、評価済みであると判定された場合は、その個体の評価を省略して以前獲得した評価値を保持し、当該保持された評価値を用いて前記更新処理を行うことを特徴とする請求項１３乃至請求項１６のいずれか１項に記載の制御パラメータの最適化装置。
【請求項１８】
前記遺伝的操作手段は、評価済みと判断された個体に対して、そのことを示すフラグを設定し、前記環境に対応する個体群の個体が前記更新処理時に生き残った回数を記録し、当該記録された回数が所定数を超えたときに、設定された前記フラグを解除することを特徴とする請求項１７記載の制御パラメータの最適化装置。
【請求項１９】
前記遺伝的操作手段は、前記複数の個体群における各個体の現在の評価値と、前記複数の個体群における過去において最も良い評価値とを比較し、現在の評価値の方が過去の評価値より優れている個体に対して再評価を行ってから前記更新処理を行うことを特徴とする請求項１７又は請求項１８記載の制御パラメータの最適化装置。
【請求項２０】
前記制御装置は船舶に備わる船外機であり、前記変化する環境は、当該船舶の航走速度、エンジン回転数、スロットル操作量、ステアリング操作量及びトリム角度のうち少なくとも一の情報に基づき決定されることを特徴とする請求項１２乃至請求項１９のいずれか１項に記載の制御パラメータの最適化装置。
【請求項２１】
前記環境事前推定手段は、船舶の航走速度、エンジン回転数、スロットル操作量、ステアリング操作量及びトリム角度のうち少なくとも一の情報に基づき、前記事前の環境を推定することを特徴とする請求項１２乃請求項２０のいずれか１項に記載の制御パラメータの最適化装置。
【請求項２２】
前記環境事後推定部は、船舶の航走速度、エンジン回転数、スロットル操作量、ステアリング操作量及びトリム角度のうち少なくとも一の情報に基づき、前記評価後の環境を推定することを特徴とする請求項１３乃至請求項２１のいずれか１項に記載の制御パラメータの最適化装置。
【請求項２３】
制御条件が動的に変化する環境下において使用される制御装置の制御パラメータを、遺伝的アルゴリズムを利用して最適化するコンピュータ実行可能なプログラムであって、
前記変化する環境毎にそれぞれ対応する、前記制御パラメータに係る前記遺伝的アルゴリズムの個体群を生成し、
現在の環境下において得られる所定情報に基づき、前記遺伝的アルゴリズムによる次の遺伝的操作時の環境を、前記個体群と対応関係にある環境の中から事前に推定し、
前記個体群の中から当該推定結果の環境に対応する個体群を選択し、
当該選択された個体群に対して、前記遺伝的操作として、
前記事前に推定した環境に対応する個体群の中から特定の個体を選択し、
当該特定の個体に対して所定の交叉手法を用いた交叉処理を行うことで新たな個体を生成し、
当該新たな個体及び前記特定の個体を用いた制御結果から得られる評価値に基づきこれら個体の評価を行い、
当該評価結果に基づき評価後の個体の更新処理を行うことを特徴とする制御パラメータの最適化プログラム。
【請求項２４】
制御条件が動的に変化する環境下において使用される制御装置の制御パラメータを、遺伝的アルゴリズムを利用して最適化するコンピュータ実行可能なプログラムであって、
前記変化する環境毎にそれぞれ対応する、前記制御パラメータに係る前記遺伝的アルゴリズムの個体群を生成し、
現在の環境下において得られる所定情報に基づき、前記遺伝的アルゴリズムによる次の遺伝的操作時の環境を、前記個体群と対応関係にある環境の中から事前に推定し、
前記個体群の中から当該推定結果の環境に対応する個体群を選択し、
当該選択された個体群に対して、前記遺伝的操作として、
前記事前に推定した環境に対応する個体群の中から特定の個体を選択し、
当該特定の個体に対して所定の交叉手法を用いた交叉処理を行うことで新たな個体を生成し、
当該新たな個体及び前記特定の個体を用いた制御結果から得られる評価値に基づきこれら個体の評価を行い、
当該評価後の環境下から得られる所定情報に基づき、このときの環境を前記対応した個体群のある環境の中から推定し、
当該評価後に推定した環境と前記事前に推定した環境とを比較し、
当該比較結果に基づき前記評価後の個体の更新処理を行うことを特徴とする制御パラメータの最適化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置の制御に係り、特に、制御条件が動的に変化する環境下における制御装置の制御パラメータを最適化するのに好適な制御パラメータの最適化方法に関する。
【背景技術】
【０００２】
従来、特性が事前に不明な制御対象を制御する手法として、様々な適応制御手法が提案されており、中でも進化型計算法を用いて制御装置の制御パラメータを実動作環境下において最適化する手法は、評価値のみを用いればよいので教師信号を必要とせず、大域的探索能力に優れるために想定外の制御対象について最適化を行うことが出来、その柔軟なフレームワークで様々な問題に適用が可能であるという特徴がある。そのため、近年の進化型計算法の研究は従来のテスト関数を用いた基礎研究から、実システムのシミュレーションやそのものを用いた応用研究へとシフトしてきている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、実システムに進化型計算法を用いた制御パラメータのオンライン最適化を用いる場合には、観測値や評価値にノイズが含まれていること、最適化に必要な評価回数が限定されていることなどの問題がある。特に、環境の変化によって適応度の景観が変化すると個体群全体の適応度が変化してしまうために、最適化が上手く行かないという問題は、実システムへの応用を困難なものとしている。環境が、ある程度離散的に変化すると考えられる場合は、環境に対応した複数の個体群を用意し、それぞれ進化させることで環境の変化に応じた最適化が可能となる。しかし、個体を評価する前にどの環境で個体が評価されるかが事前にわからなければ、どの個体を選択すればよいのかがわからないという問題もある。
【０００４】
具体的には、例えば,船外機による小型船舶の定速航走制御を考えた場合、船外機は取り付けられる艇体(大きさ、船底形状、用途,等)が大きく異なり、設計段階ではどのような制御対象かを予測することはほぼ不可能であるため、効果的に定速航走制御を行うための制御パラメータを事前に決定出来ないという問題がある。そこで、この問題を解決する手段として遺伝的アルゴリズムを用いた制御パラメータのオンライン最適化が有効であるが、艇体が一意に決まったとしても使用環境に応じてその特性が大きく異なってしまう。具体的には、気象や海象の変化といった自然によるもの、ステアリング操作やトリム操作といった人為的なものによって、艇体の水面から受ける抵抗が変化し、速度制御の制御性が大きく異なる。この現象、すなわち環境の変化は、ある艇体について実動作環境下における最適化を行う期間よりも短い周期で発生するため、最適化中に最適解や適応度の景観が動的に変化してしまい、最適化が上手く行かない原因となる。
【０００５】
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、環境が離散的に変化する条件において、環境に対応した複数の個体群を用意し、環境を事前に推定する環境事前推定部と評価後に実際の環境を推定する環境事後推定部を備えることで、動的に変化する環境に対しても効果的に実動作環境下における最適化を実施することが可能な制御パラメータの最適化方法、制御パラメータの最適化装置及び制御パラメータの最適化プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係る請求項１記載の制御パラメータの最適化方法は、制御条件が動的に変化する環境下において使用される制御装置の制御パラメータを、遺伝的アルゴリズムを利用して最適化する最適化方法であって、
前記変化する環境毎にそれぞれ対応する、前記制御パラメータに係る前記遺伝的アルゴリズムの個体群を生成し、
現在の環境下において得られる所定情報に基づき、前記遺伝的アルゴリズムによる次の遺伝的操作時の環境を、前記個体群と対応関係にある環境の中から事前に推定し、
前記個体群の中から当該推定結果の環境に対応する個体群を選択し、
当該選択された個体群に対して、前記遺伝的操作として、
前記事前に推定した環境に対応する個体群の中から特定の個体を選択し、
当該特定の個体に対して所定の交叉手法を用いた交叉処理を行うことで新たな個体を生成し、
当該新たな個体及び前記特定の個体を用いた制御結果から得られる評価値に基づきこれら個体の評価を行い、
当該評価結果に基づき評価後の個体の更新処理を行うことを特徴としている。
【０００７】
つまり、制御条件が動的に変化する環境ごとに、それぞれの環境に対応した個体群を複数用意しておき、遺伝的アルゴリズムを次に適用する環境を事前に推定してから、推定された環境に対応する個体群を選択し、この個体群の個体に対して遺伝的操作を行うことで、環境に合った個体群の最適化を行うことが可能となり、且つ、制御結果のサンプリングデータを有効的に利用することが可能となる。
【０００８】
ここで、遺伝的アルゴリズム（以下ＧＡと称す）は、各個体にランダムな初期値を与えて探索空間内に配置し、世代ごとに交叉、突然変異と呼ばれる遺伝的操作を適用し、個体の評価値に応じて個体の増殖および選択を行うことにより、次世代の個体の集合を得る。このような世代交代を繰り返すことにより、漸近的に最適解に近づくことを目的とする。以下、遺伝的操作である交叉、突然変異、選択について説明する。
【０００９】
交叉とは、少なくとも２つの個体を親とし、親となる個体の個体情報の一部を入れ替えることにより、子孫となる個体を１以上生成する操作である。ある個体の個体情報のよい部分と別の個体の個体情報のよい部分を合体させることにより、より評価値の高い個体を得ることが期待できる。例えば、２つの個体を親として子孫となる２つの個体を生成する場合、一方の親となる個体の個体情報を「000110」、他方の親となる個体の個体情報を「110111」とし、３番目の位置で交叉させることにより、「000111」の個体情報をもつ個体と、「110110」の個体情報をもつ個体とを子孫となる個体として得る。
【００１０】
突然変異とは、所定の確率で個体の個体情報のうち特定部分を変更する操作であり、個体群内での多様性を増加させる。具体的には、個体情報の特定のビットを反転させる操作であり、例えば、ある個体の個体情報を「000111」とし、その３番目の位置で突然変異を起こすことにより、「001111」の個体情報をもつ個体を得る。
選択とは、個体の評価値に応じて個体群のなかのよりよい個体を次世代に残すための操作である。ルーレット選択と呼ばれる選択方法では、各個体は評価値に比例した確率で選択される。例えば、ある世代において、「000000」、「111011」、「110111」、「010111」の個体情報をもつ個体の評価値がそれぞれ「８」、「４」、「２」、「２」であったとする。それぞれの個体が選択される確率は、「８／１６」、「４／１６」、「２／１６」、「２／１６」となる。したがって、平均的には、次世代において、「000000」の個体情報をもつ個体は２つに増え、「111011」の個体情報をもつ個体は一つのままで、「110111」の個体情報をもつ個体または「010111」の個体情報をもつ個体はいずれかが残るような個体群が得られる。
【００１１】
また、本発明に係る請求項２記載の制御パラメータの最適化方法は、制御条件が動的に変化する環境下において使用される制御装置の制御パラメータを、遺伝的アルゴリズムを利用して最適化する最適化方法であって、
前記変化する環境毎にそれぞれ対応する、前記制御パラメータに係る前記遺伝的アルゴリズムの個体群を生成し、
現在の環境下において得られる所定情報に基づき、前記遺伝的アルゴリズムによる次の遺伝的操作時の環境を、前記個体群と対応関係にある環境の中から事前に推定し、
前記個体群の中から当該推定結果の環境に対応する個体群を選択し、
当該選択された個体群に対して、前記遺伝的操作として、
前記事前に推定した個体群の中から特定の個体を選択し、
当該特定の個体に対して所定の交叉手法を用いた交叉処理を行うことで新たな個体を生成し、
当該新たな個体及び前記特定の個体を用いた制御結果から得られる評価値に基づきこれら個体の評価を行い、
当該評価後の環境下から得られる所定情報に基づき、このときの環境を前記個体群と対応関係にある環境の中から推定し、
当該評価後に推定した環境と前記事前に推定した環境とを比較し、
当該比較結果に基づき前記評価後の個体の更新処理を行うことを特徴としている。
【００１２】
つまり、制御条件が動的に変化する環境ごとに、それぞれの環境に対応した個体群を複数用意しておき、遺伝的アルゴリズムを次に適用する環境を事前に推定してから、推定された環境に対応する個体群を選択し、この個体群の個体に対して遺伝的アルゴリズムによる遺伝的操作を行い、更に、この遺伝的操作における個体評価後の環境を推定して、この環境と事前に推定した環境とを比較し、この比較結果に基づき評価後の個体を更新するようにしたので、実際の環境と異なる環境に対応する個体群の個体に遺伝的操作を行った場合に、適切な処置を行うことが可能となり、最適化の精度を向上させることが可能となる。
【００１３】
また、請求項３に係る発明は、請求項２記載の制御パラメータの最適化方法において、前記推定された環境の比較において、前記事前に推定された環境と前記評価後に推定された環境とが異なる環境であったときに、前記評価後の個体を当該評価後に推定した環境に対応する個体群の所定の個体と入れ換えることを特徴としている。
つまり、制御条件が動的に変化する環境ごとに、それぞれの環境に対応した個体群を複数用意しておき、遺伝的アルゴリズムを次に適用する環境を事前に推定してから、推定された環境に対応する個体群を選択し、この個体群の個体に対して遺伝的アルゴリズムによる遺伝的操作を行い、更に、この遺伝的操作における個体評価後の環境を推定して、この環境と事前に推定した環境とを比較し、この比較結果によって両者が異なる環境であったときに、評価後の個体を、同じく評価後に推定された環境に対応する個体群の所定の個体と入れ換えるようにしたので、実際の環境と異なる環境に対応する個体群の個体に遺伝的操作を行った場合でも、その結果を破棄せずに利用するようにしたので、複数の環境に適応した進化の可能性が増し、且つ、制御結果のサンプリングデータの有効利用にもなる。
【００１４】
また、請求項４に係る発明は、請求項２記載の制御パラメータの最適化方法において、前記推定された環境の比較において、前記事前に推定された環境と前記評価後に推定された環境とが異なる環境であったときに、これらの環境に対応する個体群の中からそれぞれ特定の個体を選択して前記遺伝的操作を行い、この遺伝的操作後の個体を前記評価後に推定された環境に対応する個体群の所定の個体と入れ換えることを特徴としている。
つまり、環境の変わり目においては、事前に推定される環境が間違う可能性が高くなるので、中間的な個体から成る個体群を生成することで安定した評価を得ることが可能となる。
【００１５】
また、請求項５に係る発明は、請求項２乃至請求項４のいずれか１項に記載の制御パラメータの最適化方法において、前記特定の個体は、最良の個体を含むことを特徴としている。
つまり、選択する特定の個体に最良の個体を含ませるようにしたので、適切な進化をし易くし最適化の速度をあげることが可能となる。
また、請求項６に係る発明は、請求項１乃至請求項５のいずれか１項に記載の制御パラメータの最適化方法において、前記環境に対応する個体群の個体が評価済みか否かを判定し、評価済みであると判定された場合は、その個体の評価を省略して以前獲得した評価値を保持し、当該保持された評価値を用いて前記更新処理を行うことを特徴としている。
【００１６】
つまり、一度評価した個体は再評価を行わないようにしたので、評価回数を減らすことが可能となり最適化の速度を上げることが可能である。
また、請求項７に係る発明は、請求項６記載の制御パラメータの最適化方法において、評価済みと判断された個体に対してそのことを示すフラグを設定し、前記環境に対応する個体群の個体が前記更新処理時に生き残った回数を記録し、当該記録された回数が所定数を超えたときに、設定された前記フラグを解除することを特徴としている。
【００１７】
つまり、更新処理時に生き残った回数の多い個体は、実際の評価値よりも高い評価値を得てしまっている可能性が高いので、所定回数以上生き残った個体は評価済みを示すフラグを無効にして再評価を行うことで、淘汰されるべき個体をより確実に淘汰することが可能となる。
具体的には、再評価を行わない状態で事後推定を誤った場合は、評価した個体を間違った環境に対応する個体群に戻すとその後の最適化に悪影響を及ぼす。これは、同じ個体でもそれぞれの環境から得られる評価値が異なるために、例えば、環境１で評価され良い評価値を得た後、事後推定を誤って環境２に対応する個体群に戻され、環境２で飛び抜けて良い評価値を持つ最良個体となってしまった場合、環境２では本来淘汰されるべき個体であったとしても再評価が行われないために何時までも淘汰されないという問題が生じる。更に、常に最良個体を親個体として選択する場合、環境２では本来淘汰されるべき個体の周囲に子個体が生成されることになり、探索の効率が落ちるという問題も生じる。そのため、上記したように所定回数以上生き残った個体に対して再評価を行うことで、正しい評価をし直す。
【００１８】
また、請求項８に係る発明は、請求項６又は請求項７記載の制御パラメータの最適化方法において、前記複数の個体群における各個体の現在の評価値と、前記複数の個体群における過去において最も良い評価値とを比較し、現在の評価値の方が過去の評価値より優れている個体に対して再評価を行ってから前記更新処理を行うことを特徴としている。
つまり、前回の更新処理までの最良個体よりも良い評価値を持つ個体は、実際の評価値よりも高い評価値を得てしまっている可能性があるので、この個体に対しては再評価を行うことで、本来淘汰されるべき個体を個体群に戻さないことが可能となる。
【００１９】
また、請求項９に係る発明は、請求項１乃至請求項８のいずれか１項に記載の制御パラメータの最適化方法において、前記制御装置は船舶に備わる船外機であり、前記変化する環境は、当該船舶の航走速度、エンジン回転数、スロットル操作量、ステアリング操作量及びトリム角度のうち少なくとも一の情報に基づき決定されることを特徴としている。
また、請求項１０に係る発明は、請求項１乃至請求項９のいずれか１項に記載の制御パラメータの最適化方法において、船舶の航走速度、エンジン回転数、スロットル操作量、ステアリング操作量及びトリム角度のうち少なくとも一の情報に基づき、前記事前の環境を推定することを特徴としている。
【００２０】
また、請求項１１に係る発明は、請求項２乃至請求項１０のいずれか１項に記載の制御パラメータの最適化方法において、船舶の航走速度、エンジン回転数、スロットル操作量、ステアリング操作量及びトリム角度のうち少なくとも一の情報に基づき、前記評価後の環境を推定することを特徴としている。
また、本発明に係る請求項１２記載の制御パラメータの最適化装置は、制御条件が動的に変化する環境下において使用される制御装置の制御パラメータを、遺伝的アルゴリズムを利用して最適化する最適化装置であって、
前記変化する環境毎にそれぞれ対応する、前記制御パラメータに係る前記遺伝的アルゴリズムの個体群を生成する個体群生成手段と、
現在の環境下において得られる所定情報に基づき、前記遺伝的アルゴリズムによる次の遺伝的操作時の環境を、前記個体群と対応関係にある環境の中から事前に推定する環境事前推定手段と、
前記個体群の中から当該推定結果の環境に対応する個体群を選択する個体群選択手段と、
当該選択された個体群に対して前記遺伝的操作を行う遺伝的操作手段と、を備え、
前記遺伝的操作手段は、
前記事前に推定した環境に対応する個体群の中から特定の個体を選択する特定個体選択部と、
当該特定の個体に対して所定の交叉手法を用いた交叉処理を行うことで新たな個体を生成する交叉処理部と、
当該新たな個体及び前記特定の個体を用いた制御結果から得られる評価値に基づきこれら個体の評価を行う個体評価部と、
当該評価結果に基づき評価後の個体の更新処理を行う個体更新部と、を備えることを特徴としている。
【００２１】
このような構成であれば、個体群生成手段によって変化する環境毎にそれぞれ対応する、前記制御パラメータに係る前記遺伝的アルゴリズムの個体群を生成することが可能であり、環境事前推定手段によって現在の環境下において得られる所定情報に基づき前記遺伝的アルゴリズムによる次の遺伝的操作時の環境を前記対応する個体群のある環境の中から事前に推定することが可能であり、個体群選択手段によって前記個体群の中から当該推定結果の環境に対応する個体群を選択することが可能であり、遺伝的操作手段によって選択された個体群に対して前記遺伝的操作を行うことが可能であり、遺伝的操作手段は遺伝的操作として、特定個体選択部によって事前に推定した環境に対応する個体群の中から特定の個体を選択することが可能であり、交叉処理部によって前記選択された特定の個体に対して所定の交叉手法を用いた交叉処理を行うことで新たな個体を生成することが可能であり、個体評価部によって前記新たな個体及び前記特定の個体を用いた制御結果から得られる評価値に基づきこれら個体の評価を行うことが可能であり、個体更新部によって評価結果に基づき評価後の個体の更新処理を行うことが可能である。
【００２２】
ここで、本発明は、請求項１記載の制御パラメータの最適化方法を実現する装置であり、その効果は重複するので記載を省略する。
また、本発明に係る請求項１３記載の制御パラメータの最適化装置は、制御条件が動的に変化する環境下において使用される制御装置の制御パラメータを、遺伝的アルゴリズムを利用して最適化する最適化装置であって、
前記変化する環境毎にそれぞれ対応する、前記制御パラメータに係る前記遺伝的アルゴリズムの個体群を生成する個体群生成手段と、
現在の環境下において得られる所定情報に基づき、前記遺伝的アルゴリズムによる次の遺伝的操作時の環境を、前記個体群と対応関係にある環境の中から事前に推定する環境事前推定手段と、
前記個体群の中から当該推定結果の環境に対応する個体群を選択する個体群選択手段と、
当該選択された個体群に対して前記遺伝的操作を行う遺伝的操作手段と、を備え、
前記遺伝的操作手段は、
前記事前に推定した環境に対応する個体群の中から特定の個体を選択する特定個体選択部と、
当該特定の個体に対して所定の交叉手法を用いた交叉処理を行うことで新たな個体を生成する交叉処理部と、
当該新たな個体及び前記特定の個体を用いた制御結果から得られる評価値に基づきこれら個体の評価を行う個体評価部と、
当該評価後の環境下から得られる所定情報に基づき、このときの環境を前記対応した個体群のある環境の中から推定する環境事後推定部と、
当該評価後に推定した環境と前記事前に推定した環境とを比較する環境比較部と、
当該比較結果に基づき前記評価後の個体の更新処理を行う個体更新部と、を備え前記遺伝的操作を行うことを特徴としている。
【００２３】
このような構成であれば、個体群生成手段によって変化する環境毎にそれぞれ対応する、前記制御パラメータに係る前記遺伝的アルゴリズムの個体群を生成することが可能であり、環境事前推定手段によって現在の環境下において得られる所定情報に基づき前記遺伝的アルゴリズムによる次の遺伝的操作時の環境を前記対応する個体群のある環境の中から事前に推定することが可能であり、個体群選択手段によって前記個体群の中から当該推定結果の環境に対応する個体群を選択することが可能であり、遺伝的操作手段によって選択された個体群に対して前記遺伝的操作を行うことが可能であり、遺伝的操作手段は遺伝的操作として、特定個体選択部によって事前に推定した環境に対応する個体群の中から特定の個体を選択することが可能であり、交叉処理部によって前記選択された特定の個体に対して所定の交叉手法を用いた交叉処理を行うことで新たな個体を生成することが可能であり、個体評価部によって前記新たな個体及び前記特定の個体を用いた制御結果から得られる評価値に基づきこれら個体の評価を行うことが可能であり、環境事後推定部によって評価後の環境下から得られる所定情報に基づき、このときの環境を前記対応した個体群のある環境の中から推定することが可能であり、環境比較部によって評価後に推定した環境と前記事前に推定した環境とを比較することが可能であり、個体更新部によって当該比較結果に基づき前記評価後の個体の更新処理を行うことが可能である。
【００２４】
ここで、本発明は、請求項２記載の制御パラメータの最適化方法を実現する装置であり、その効果は重複するので記載を省略する。
また、請求項１４に係る発明は、請求項１３記載の制御パラメータの最適化装置において、前記環境比較部における比較結果が、前記事前に推定された環境と前記評価後に推定された環境とが異なる環境であったときに、前記個体更新部は、前記評価後の個体を当該評価後に推定した環境に対応する個体群の所定の個体と入れ換えるようになっていることを特徴としている。
【００２５】
つまり、環境比較部における比較結果が、前記事前に推定された環境と前記評価後に推定された環境とが異なる環境のときに、個体更新部によって、前記評価後の個体を当該評価後に推定した環境に対応する個体群の所定の個体と入れ換えることが可能である。
ここで、本発明は、請求項３記載の制御パラメータの最適化方法を実現する装置であり、その効果は重複するので記載を省略する。
【００２６】
また、請求項１５に係る発明は、請求項１３記載の制御パラメータの最適化装置において、前記環境比較部における比較結果が、前記事前に推定された環境と前記評価後に推定された環境とが異なる環境であったときに、前記遺伝的操作手段は、これらの環境に対応する個体群の中からそれぞれ特定の個体を選択して前記遺伝的操作を行い、この遺伝的操作後の個体を前記評価後に推定された環境に対応する個体群の所定の個体と入れ換えるようになっていることを特徴としている。
【００２７】
つまり、環境比較部における比較結果が、前記事前に推定された環境と前記評価後に推定された環境とが異なる環境のときに、前記遺伝的操作手段によってこれらの環境に対応する個体群の中からそれぞれ特定の個体を選択して前記遺伝的操作を行い、この遺伝的操作後の個体を前記評価後に推定された環境に対応する個体群の所定の個体と入れ換えることが可能である。
ここで、本発明は、請求項４記載の制御パラメータの最適化方法を実現する装置であり、その効果は重複するので記載を省略する。
また、請求項１６に係る発明は、請求項１３乃至請求項１５のいずれか１項に記載の制御パラメータの最適化装置において、前記特定の個体は、最良の個体を含むことを特徴としている。
【００２８】
ここで、本発明は、請求項５記載の制御パラメータの最適化方法を実現する装置であり、その効果は重複するので記載を省略する。
また、請求項１７に係る発明は、請求項１３乃至１６のいずれか１項に記載の制御パラメータの最適化装置において、前記遺伝的操作手段は、前記環境に対応する個体群の個体が評価済みか否かを判定し、評価済みであると判定された場合は、その個体の評価を省略して以前獲得した評価値を保持し、当該保持された評価値を用いて前記更新処理を行うことを特徴としている。
【００２９】
ここで、本発明は、請求項６記載の制御パラメータの最適化方法を実現する装置であり、その効果は重複するので記載を省略する。
また、請求項１８に係る発明は、請求項１７記載の制御パラメータの最適化装置において、前記遺伝的操作手段は、評価済みと判断された個体に対して、そのことを示すフラグを設定し、前記環境に対応する個体群の個体が前記更新処理時に生き残った回数を記録し、当該記録された回数が所定数を超えたときに、設定された前記フラグを解除することを特徴としている。
【００３０】
ここで、本発明は、請求項７記載の制御パラメータの最適化方法を実現する装置であり、その効果は重複するので記載を省略する。
また、請求項１９に係る発明は、請求項１７又は請求項１８記載の制御パラメータの最適化装置において、前記遺伝的操作手段は、前記複数の個体群における各個体の現在の評価値と、前記複数の個体群における過去において最も良い評価値とを比較し、現在の評価値の方が過去の評価値より優れている個体に対して再評価を行ってから前記更新処理を行うことを特徴としている。
【００３１】
ここで、本発明は、請求項８記載の制御パラメータの最適化方法を実現する装置であり、その効果は重複するので記載を省略する。
また、請求項２０に係る発明は、請求項１２乃至請求項１９のいずれか１項に記載の制御パラメータの最適化装置において、前記制御装置は船舶に備わる船外機であり、前記変化する環境は、当該船舶の航走速度、エンジン回転数、スロットル操作量、ステアリング操作量及びトリム角度のうち少なくとも一の情報に基づき決定されることを特徴としている。
【００３２】
つまり、制御装置は船舶に備わる船外機であり、前記変化する環境は、当該船舶の航走速度、エンジン回転数、スロットル操作量、ステアリング操作量及びトリム角度のうち少なくとも一の情報に基づき決定される。
また、請求項２１に係る発明は、請求項１２乃至請求項２０のいずれか１項に記載の制御パラメータの最適化装置において、前記環境事前推定手段は、船舶の航走速度、エンジン回転数、スロットル操作量、ステアリング操作量及びトリム角度のうち少なくとも一の情報に基づき、前記事前の環境を推定することを特徴としている。
【００３３】
つまり、前記環境事前推定手段によって船舶の航走速度、エンジン回転数、スロットル操作量、ステアリング操作量及びトリム角度のうち少なくとも一の情報に基づき、前記事前の環境を推定することが可能である。
また、請求項２２に係る発明は、請求項１３乃至請求項２１のいずれか１項に記載の制御パラメータの最適化装置において、前記環境事後推定部は、船舶の航走速度、エンジン回転数、スロットル操作量、ステアリング操作量及びトリム角度のうち少なくとも一の情報に基づき、前記評価後の環境を推定することを特徴としている。
【００３４】
つまり、前記環境事後推定部によって船舶の航走速度、エンジン回転数、スロットル操作量、ステアリング操作量及びトリム角度のうち少なくとも一の情報に基づき、前記評価後の環境を推定することが可能である。
また、本発明に係る請求項２３記載の制御パラメータの最適化プログラムは、制御条件が動的に変化する環境下において使用される制御装置の制御パラメータを、遺伝的アルゴリズムを利用して最適化するコンピュータ実行可能なプログラムであって、
前記変化する環境毎にそれぞれ対応する、前記制御パラメータに係る前記遺伝的アルゴリズムの個体群を生成し、
現在の環境下において得られる所定情報に基づき、前記遺伝的アルゴリズムによる次の遺伝的操作時の環境を、前記個体群と対応関係にある環境の中から事前に推定し、
前記個体群の中から当該推定結果の環境に対応する個体群を選択し、
当該選択された個体群に対して、前記遺伝的操作として、
前記事前に推定した環境に対応する個体群の中から特定の個体を選択し、
当該特定の個体に対して所定の交叉手法を用いた交叉処理を行うことで新たな個体を生成し、
当該新たな個体及び前記特定の個体を用いた制御結果から得られる評価値に基づきこれら個体の評価を行い、
当該評価結果に基づき評価後の個体の更新処理を行うことを特徴としている。
【００３５】
ここで、本発明は、請求項１記載の制御パラメータの最適化方法を実現するためプログラムであり、その効果は重複するので記載を省略する。
また、本発明に係る請求項２４記載の制御パラメータの最適化プログラムは、制御条件が動的に変化する環境下において使用される制御装置の制御パラメータを、遺伝的アルゴリズムを利用して最適化するコンピュータ実行可能なプログラムであって、
前記変化する環境毎にそれぞれ対応する、前記制御パラメータに係る前記遺伝的アルゴリズムの個体群を生成し、
現在の環境下において得られる所定情報に基づき、前記遺伝的アルゴリズムによる次の遺伝的操作時の環境を、前記個体群と対応関係にある環境の中から事前に推定し、
前記個体群の中から当該推定結果の環境に対応する個体群を選択し、
当該選択された個体群に対して、前記遺伝的操作として、
前記事前に推定した環境に対応する個体群の中から特定の個体を選択し、
当該特定の個体に対して所定の交叉手法を用いた交叉処理を行うことで新たな個体を生成し、
当該新たな個体及び前記特定の個体を用いた制御結果から得られる評価値に基づきこれら個体の評価を行い、
当該評価後の環境下から得られる所定情報に基づき、このときの環境を前記対応した個体群のある環境の中から推定し、
当該評価後に推定した環境と前記事前に推定した環境とを比較し、
当該比較結果に基づき前記評価後の個体の更新処理を行うことを特徴としている。
ここで、本発明は、請求項２記載の制御パラメータの最適化方法を実現するためプログラムであり、その効果は重複するので記載を省略する。
【発明の効果】
【００３６】
以上説明したように、本発明に係る請求項１記載の制御パラメータの最適化方法によれば、制御条件が動的に変化する環境ごとに、それぞれの環境に対応した個体群を複数用意しておき、次に遺伝的アルゴリズムを適用する環境を事前に推定してから、推定された環境に対応する個体群を選択し、この個体群の個体に対して遺伝的操作を行うようにしたので、環境に合った個体群の最適化を行うことが可能となり、且つ、制御結果のサンプリングデータを有効的に利用することが可能となる。
【００３７】
また、請求項２記載の制御パラメータの最適化方法によれば、制御条件が動的に変化する環境ごとに、それぞれの環境に対応した個体群を複数用意しておき、次に遺伝的アルゴリズムを適用する環境を事前に推定してから、推定された環境に対応する個体群を選択し、この個体群の個体に対して遺伝的アルゴリズムによる遺伝的操作を行い、更に、この遺伝的操作における個体評価後の環境を推定して、この環境と事前に推定した環境とを比較し、この比較結果に基づき評価後の個体を更新するようにしたので、実際の環境と異なる環境に対応する個体群の個体に遺伝的操作を行った場合に、適切な処置を行うことが可能となり、最適化の精度を向上させることが可能となる。
【００３８】
また、請求項３記載の制御パラメータの最適化方法によれば、制御条件が動的に変化する環境ごとに、それぞれの環境に対応した個体群を複数用意しておき、遺伝的アルゴリズムを次に適用する環境を事前に推定してから、推定された環境に対応する個体群を選択し、この個体群の個体に対して遺伝的アルゴリズムによる遺伝的操作を行い、更に、この遺伝的操作における個体評価後の環境を推定して、この環境と事前に推定した環境とを比較し、この比較結果によって両者が異なる環境であったときに、評価後の個体を、同じく評価後に推定された環境に対応する個体群の所定の個体と入れ換えるようにしたので、実際の環境と異なる環境に対応する個体群の個体に遺伝的操作を行った場合でも、その結果を破棄せずに利用するようにしたので、複数の環境に適応した進化の可能性が増し、且つ、制御結果のサンプリングデータの有効利用にもなる。
【００３９】
また、請求項４記載の制御パラメータの最適化方法によれば、環境の変わり目においては、事前に推定される環境が間違う可能性が高くなるので、中間的な個体から成る個体群を生成するようにしたので、これにより安定した評価を得ることが可能となる。
また、請求項５記載の制御パラメータの最適化方法によれば、選択する特定の個体に最良の個体を含ませるようにしたので、適切な進化をし易くし最適化の速度をあげることが可能となる。
また、請求項６記載の制御パラメータの最適化方法によれば、一度評価した個体は再評価を行わないようにしたので、評価回数を減らすことが可能となり最適化の速度を上げることが可能となる。
【００４０】
また、請求項７記載の制御パラメータの最適化方法によれば、更新処理時に所定回数以上生き残った個体は評価済みを示すフラグを無効にして再評価を行うようにしたので、淘汰されるべき個体をより確実に淘汰することが可能となる。
また、請求項８記載の制御パラメータの最適化方法によれば、前回の更新処理までの最良個体よりも良い評価値を持つ個体に対しては再評価を行うようにしたので、本来淘汰されるべき個体を個体群に戻さないことが可能となる。
また、請求項９乃至請求項１１記載の制御パラメータの最適化方法は、制御装置を船舶に備わる船外機にしたものである。
【００４１】
ここで、請求項１２乃至請求項２２記載の制御パラメータの最適化装置は、それぞれ請求項１乃至請求項１１記載の制御パラメータの最適化方法を実現する装置であり、その効果は重複するので記載を省略する。
また、請求項２３及び請求項２４記載の制御パラメータの最適化プログラムは、それぞれ請求項１及び請求項２記載の制御パラメータの最適化方法を実現するプログラムであり、その効果は重複するので記載を省略する。
【発明を実施するための最良の形態】
【００４２】
以下、本発明の実施の形態を図面に基づき説明する。図１乃至図１５は、本発明に係るパラメータ最適化装置を備える航走制御システムの実施の形態を示す図である。
まず、本発明に係る航走制御システムの構成を図１に基づき説明する。図１は、本発明に係る航走制御システムの構成を示すブロック図である。
航走制御システム１は、船外機２と、航走制御装置３と、を含んだ構成となっている。
【００４３】
船外機２は、推進力調整装置として電子スロットル弁２ａを備えている。
航走制御装置３は、定速航走制御部３０と、パラメータ最適化装置３１と、を含んだ構成となっている。
定速航走制御部３０は、所定の入力情報に基づき目標エンジン回転数を算出する目標エンジン回転数算出モジュール３０ａと、当該算出された目標エンジン回転数に基づき電子スロットル弁開度を算出する電子スロットル弁開度算出モジュール３０ｂと、を含んだ構成となっている。
【００４４】
目標エンジン回転数算出モジュール３０ａは、ファジイ推論システムによって構成されており、速度偏差（現在の速度と目標速度との差）、加速度を入力として目標エンジン回転数変化量を推論し、この推論結果に１つ前の算出処理における目標エンジン回転数を加えて現在の目標エンジン回転数を出力するものである。
電子スロットル弁開度算出モジュール３０ｂは、目標エンジン回転数算出モジュール３０ａと同様にファジイ推論システムによって構成されており、エンジン回転数偏差（現在のエンジン回転数と目標エンジン回転数との差）と、エンジン回転数変化量とを入力として電子スロットル弁開度変化量を推論し、この推論結果に１つ前の算出処理における電子スロットル弁開度を加えて現在の電子スロットル弁解度として出力するものである。ここで、ファジイ推論システムのファジィテーブルは、熟練者の操船知識をもとに設計され、且つ、推論法には簡略推論法を用いており、この方法におけるファジィルールは実数値で表される。
【００４５】
パラメータ最適化装置３１は、環境事前推定部３１ａと、遺伝的操作部３１ｂと、個体群集合３１ｃと、環境事後推定部３１ｄと、を含んだ構成となっている。
環境事前推定部３１ａは、船舶の航走中に動的に変化する所定情報を入力として現在の船舶の航走状態（環境）を事前に推定して出力するものである。
遺伝的操作部３１ｂは、ＧＡを採用しており、電子スロットル弁開度算出モジュール３０ｂにおける前件部あるいは後件部ファジイメンバシップ関数の規格化係数をコード化して個体を生成し、ＧＡを用いて、これらの規格化係数の最適化を行うものである。ここで規格化係数とは、入出力情報の大きさを調整する係数を意味するものである。
【００４６】
個体群集合３１ｃは、動的に変化する船舶の航走状態（環境）に対応して生成した個体群の集合である。遺伝的操作部３１ｂでは、環境事前推定部３１ａによって推定された船舶の航走状態に対応する個体群を当該個体群集合３１ｃから選択し、その個体群の個体に対してＧＡを適用することで規格化係数を最適化する。
環境事後推定部３１ｄは、ＧＡによる遺伝的操作を施した後で、船舶の航走中に動的に変化する所定情報を入力としてそのときの船舶の航走状態（環境）を推定するものである。
【００４７】
以下、本システム１を電子スロットル弁装置を有する船外機を備えた船舶の定速航走制御に適用した場合の動作を図２乃至図８、図１１及び図１５（ａ）に基づき説明する。図２は、目標エンジン回転数算出モジュール３０ａにおいて目標エンジン回転数を算出するためのファジィルールの説明図であり、図３は、電子スロットル弁開度算出モジュール３０ｂにおいて電子スロットル弁解度を算出するためのファジィルールの説明図であり、図４は、船舶が旋回時の適応度関数の景観を示す図である。
【００４８】
また、図５は、ステアリング操作に対する前の航走状況の持続時間を示す図であり、図６は、ＧＡの初期個体として規格化係数の初期値を生成する際の生成範囲を示す図であり、図７は、単峰性正規分布交叉手法を示す図であり、図８は、単峰性正規分布交叉手法を用いて親個体から子個体を生成する様子を示す図であり、図１０は、事後環境との評価に基づく個体の世代交代を示す図である。
また、図１５（ａ）は、第１の実施の形態における個体のデータ構造を示す図である。
【００４９】
以下、本発明の第１の実施の形態を説明する。
まず、使用者は目標速度の設定を行う。目標速度は使用者が決定した任意の値を入力しても良いし、また、メーカが出荷段階で用意した複数の値の中から選択しても良い。目標速度が設定されると、次に、この速度に基づき目標エンジン回転数の初期値が設定されることになる。例えば、現在の船舶の航走速度が目標速度付近であるときは、現在のエンジン回転数が目標エンジン回転数として設定され、一方、現在の船舶の航走速度が目標速度付近で無いときは、予め設定された目標エンジン回転数の初期値を用いる。ここで、目標エンジン回転数の初期値は、使用者が決定した任意の値を入力しても良いし、また、メーカが出荷段階で用意した複数の値の中から選択しても良い。
【００５０】
目標エンジン回転数の初期値設定後は、実際の船舶の航走状態に応じて、図２に示すファジィルールに基づき、そのときの航走速度に応じた目標エンジン回転数を算出することになる。つまり、図２（ａ）に示すメンバシップ関数から速度偏差及び加速度の推論値を求め、これを図２（ｂ）のファジィルールに当てはめて重みの平均を求め目標エンジン回転数の変化量を算出する。メンバシップ関数の速度偏差（目標速度と実際の速度との差）は、実際の速度の検出値から求め、加速度は検出された速度を演算して求める。図２（ａ）に示すように、速度偏差及び加速度に応じてメンバシップ関数から、プラス側の大小（ＰＬ、ＰＳ）及びマイナス側の大小（ＮＬ、ＮＳ）に対応した４つの値が求まり、これらを図２（ｂ）に示すファジィルールの対応する４つの値に重み付けして平均値を算出する。これにより、目標エンジン回転数の変化量が求められる。この変化量を現在の目標エンジン回転数に加えることで、新たな目標エンジン回転数が求まる。
【００５１】
そして、目標エンジン回転数算出モジュール３０ａは、目標エンジン回転数を、電子スロットル弁開度算出モジュール３０ｂに対して出力し、当該電子スロットル弁開度算出モジュール３０ｂは、入力された目標エンジン回転数に基づきスロットル弁開度を算出する。ここで、電子スロットル弁開度算出モジュール３０ｂも、目標エンジン回転数算出モジュール３０ａと同様にファジィ推論システムにより電子スロットル弁開度を算出する。つまり、目標エンジン回転数算出モジュール３０ａから目標エンジン回転数を取得すると、図３（ａ）に示すメンバシップ関数に基づき、エンジン回転数の検出値からエンジン回転数偏差の推論値を求め、また、エンジン回転数の変化量は、エンジン回転数の検出値から演算により求める。つまり、上記図２と同様に、メンバシップ関数の値から、図３（ｂ）のファイジィルールの重み付けによる演算処理を行って電子スロットル弁開度の変化量が求められる。この変化量を現在の電子スロットル弁開度に加えることで、新たな電子スロットル開度が求まる。
【００５２】
このようにして新たな電子スロットル弁解度が算出されると、定速航走制御部３０は、この算出された新たな電子スロットル弁開度に一致するように電子スロットル弁装置２ａの制御を行う。
本実施の形態においては、パラメータ最適化装置３１の遺伝的操作部３１ｂにおいて、電子スロットル弁開度算出モジュール３０ｂにおける前件部あるいは後件部ファジィメンバシップ関数の規格化係数をコード化して個体を生成し、ＧＡを用いて、これら規格化係数の最適化を行う。ここで、各個体の評価は、本実施の形態においては、ある時間内の目標エンジン回転数に対する現在のエンジン回転数の偏差がゼロに近づくほど、そして、エンジン回転数変動が小さいほど適応度が良くなるように設定された適応度関数（以下に示す式（１））に従って行うようになっている。
【００５３】
Ｆ＝Σ（｜Ｎ’−Ｎ｜＋ΔＮ）・Δｔ・・・・・・・・・（１）
ここで、式（１）においてＮはエンジン回転数、Ｎ’はある時間内の目標エンジン回転数、ΔＮはエンジン回転数の変動数、Δｔは変化時間である。式（１）により、電子スロットル弁開度算出モジュールの規格化係数は目標となるエンジン回転数制御特性に向けて自動的に最適化され、使用環境や艇体が変化した場合においても、最適なエンジン回転数制御特性が得られるようになる。
【００５４】
ここで問題となるのが、上記エンジン回転数制御特性に対する最適な規格化係数は環境によって変化するもので、具体的には、旋回時に発生する艇体の抵抗変化によってエンジン回転数制御の適応度関数の景観が変化し、これに伴って最適な規格化係数の位置が変化する点である。
図４に示すように、式（１）において旋回の大きさごとに後件部メンバシップ関数の規格化係数を変化させた場合の適応度関数の景観は、直進状態では追従性よりも変動の悪化を抑えるために規格化係数を小さくすると適応度が良くなることがわかり、一方、旋回半径が小さくなると、艇体の受ける抵抗が大きくなるために、変動よりも追従性の悪化を抑えるために規格化係数を大きくすると適応度が良くなることがわかる。この他にも、前件部メンバシップ関数の規格化係数２つを変化させた場合も、同様に考えられる。
【００５５】
本実施の形態においては、上記の点に着目し、旋回状態を図中４０ａ〜４０ｃの３つの環境（直進状態４０ａ、緩旋回４０ｂ、急旋回４０ｃ）に分け、パラメータ最適化装置３１において、前記４０ａ〜４０ｃにそれぞれに対応する３つの個体群Ｐ1、Ｐ2、Ｐ3から成る個体群集合３１ｃを生成した。
従って、各個体のデータ構造は、図１５（ａ）に示すように、上記した３つの旋回状態にそれぞれ対応した規格化係数１〜３と、個体の評価値と、から構成される。
【００５６】
ここで、環境変化を表すパラメータとして、ある時刻ｔの速度Ｖtとエンジン回転数Ｎtの比を推進効率Ｓtとして、以下の式（２）を定義するものとする。
Ｓt＝Ｖt／Ｎt・・・・・・・・・（２）
つまり、旋回状態が直進状態４０ａ、緩旋回状態４０ｂ、急旋回状態４０ｃと遷移するにつれて艇体の接水面積が増加し、エンジンの負荷が変化するため、同じ速度でもエンジン回転数が上昇することになり、旋回状態によって推進効率が変わることになる。そこで、本実施の形態においては、次に述べる環境事前推定部３１ａ及び環境事後推定部３１ｄによって旋回状態が動的に変化しても最適なエンジン回転数制御特性が得られるようにしている。
【００５７】
環境事前推定部３１ａは、旋回の要因であるステアリング操作量を入力として次の環境を予測する。基本的にはステアリング操作量から旋回の状況を判断することが可能であるが、実際には、ステアリング操作が旋回動作に反映されるまでには時間遅れが存在し、また、旋回を行うと速度低下や波などが発生し、ステアリングを直進に戻しても推進効率で見ると旋回によって生じた抵抗変化が持続し、単純にステアリング操作量で環境を区別しようとすると抵抗変化の持続により評価が上手くいかないという問題がある。抵抗変化の持続時間は旋回の時間と関係があるため、本実施の形態においては、ステアリング操作量から環境変化の持続時間を推定することで次の環境を予測することとする。
【００５８】
具体的には、以下に示す式（３）〜（６）に従って、持続時間を算出する。
Ｉ2＝ΣＡt・Δｔ2・・・・・・・・・（３）
Ｉ3＝ΣＡt・Δｔ3・・・・・・・・・（４）
但し、Ａtはステアリング操作量、Δｔ2はＡtが緩旋回操作の閾値Ａ2を上回っている時間、Ｉ2はその積分値、Δｔ3はＡtが急旋回操作の閾値Ａ3を上回っている時間、Ｉ3はその積分値である。
【００５９】
つまり、積分値Ｉは、ステアリング操作量Ａtとサンプリング時間間隔Δｔとの積をＡtが閾値Ａを上回っている間加算することで算出することができる。
次に、事前実験から求めた線形近似の式から環境変化の持続時間は以下の式（５）及び式（６）から算出することができる。
Ｔ2＝α2・Ｉ2＋β2・・・・・・・・・（５）
Ｔ3＝α3・Ｉ3＋β3・・・・・・・・・（６）
但し、α2、α3及びβ2、β3は、それぞれ緩旋回操作及び急旋回動作における係数であり、Ｔ2及びＴ3は、それぞれ緩旋回操作及び急旋回動作における持続時間である。
【００６０】
つまり、持続時間Ｔは、係数αと上記式（３）、（４）で求められる積分値Ｉとの積に、係数βを加算することで算出することができる。
上記式（３）〜（６）を用いることで、ステアリング操作量から環境変化の持続時間を推定することが可能となり、例えば、図５に示すように、緩旋回操作を一定時間行った後にステアリングを直進に戻しても、環境変化の持続時間内であれば引き続き緩旋回状態の環境として評価が行われ、同様に、図示しないが、急旋回操作を一定時間行った後にステアリングを直進に戻しても、環境変化の持続時間内であれば引き続き急旋回状態の環境として評価が行われる。
【００６１】
また、環境事後推定部３１ｄは、遺伝的操作部３１ｂにおける評価終了後に、評価中の推進効率Ｓtを算出し、旋回状態の閾値Ｓ2、Ｓ3と比較して実際の評価中の環境を推定する。具体的には、「Ｓt＞Ｓ2」であれば環境は「直進状態」とし、「Ｓ3＜Ｓt≦Ｓ2」であれば環境は「緩旋回状態」とし、「Ｓt≦Ｓ3」であれば環境は「急旋回状態」として推定する。
【００６２】
更に、上記したパラメータ最適化装置３１の遺伝的操作部３１ｂにおけるＧＡによる実動作環境下の最適化処理について具体的に説明する。
遺伝的操作部３１ｂでは、図６に示すように、始めに規格化係数の初期値を、極端な値にならない範囲内で乱数によって決定し、これを初期個体とする処理が行われる。そして、図６に示すようにこの複数の初期個体から構成される個体群（第１世代）を環境に対応した数だけ生成する。つまり、本実施の形態においては、直進状態、緩旋回状態及び急旋回状態の３つの環境に対応した個体群を生成することになる。
【００６３】
次に、環境事前推定部３１ａでは、使用者によるステアリング操作量から上記した環境変化の持続時間を予測することで次の遺伝的操作を行う環境を推定し、事前推定環境番号Ｅpriを決定する。
そして、環境Ｅpriに割り当てられた個体群Ｐ_Ｅpriを選択し、これに遺伝的操作を施す。この遺伝的操作においては、図８に示すように、まず、個体群Ｐ_Ｅpriから親個体を選択することになるが、本実施の形態において、親個体は、個体群Ｐ_Ｅpriから最良の評価値を持つ最良個体１つとランダムに選択された個体１つの計２つを選択することになる。
【００６４】
そして、次に、選択された親個体２つに対して交叉処理を行い、それぞれの親個体に対応する子個体２つを生成し、図８に示すように、選択された親個体２つとこれら子個体２つから成る家族個体Ｆ_Ｅpriを得る。本実施の形態において、各個体の値は、固定小数点数であるために、図７に示す、実数値ＧＡの代表的交叉手法である単峰性正規分布交叉（Unimodal Normal DistributionCrossover : UNDX）を用いる。ここで、単峰性正規分布交叉では、対象問題における設計変数間の依存関係に沿って子個体を生成することができる。
【００６５】
単峰性正規分布交叉によって子個体が生成されると、更に、これらにより構成される家族個体Ｆ_Ｅpriの各個体の評価を行う。
更に、評価された家族個体は、評価値の良い順に、個体群中の元の親個体と置き換えられる。
そして、個体の評価が終了した時点で、環境事後推定部３１ｄは、個体評価中の推進効率を確認し、これに基づき事後環境を推定し、事後環境推定番号Ｅpostを決定する。Ｅpostが決定した時点で、Ｅpriの環境とＥpostの環境とを比較し、Ｅpri＝Ｅpost、すなわち事前に推定された環境が正しかった場合は、そのままＥpostに対応する個体群であるＦ_Ｅpostに評価個体を返し、世代交代を行う。
【００６６】
一方、Ｅpri≠Ｅpost、すなわち事前に推定された環境が誤りであった場合は、環境事後推定部３１ｄにおいて推定された環境に対応した個体群中の家族個体の評価されていない個体に代入する。
ここで、事前に推定した環境と事後に推定した環境とが異なっていたときは、図１０（ａ）に示す流れで処理が行われることになる。まず、環境事前推定部３１ａは、環境が次に環境１に変化すると推定し、遺伝的操作部３１ｂは、評価する個体として個体群集合３１ｃから個体群１の家族個体を選択する（図中(1)）。次に、評価を行うために、定速航走制御部３０のパラメータを、個体の遺伝子としてコード化されているパラメータに書き換える（図中(2)）。そして、実際に定速航走制御部３０を動作させ、定速航走制御部３０の性能を評価する（図中(3)）。更に、評価後、環境事後推定部は評価中の環境は環境２であったと推定し、個体群２の家族個体を選択する（図中(4)）。最後に、評価済みの個体を、評価待ちの家族個体と入れ換える（図中(5)）。
【００６７】
つまり、事前推定した環境と事後推定した環境が異なっていた場合は、評価した個体をそのまま元の環境に対応する個体群に戻すことは出来ない。これは、同じ個体でもそれぞれの環境から得られる評価値が異なるために、例えば、環境１で優秀な個体が、環境２で評価された場合に悪い評価値を得た後、環境１に対応する個体群に戻されると淘汰されてしまい、また、環境２で本来淘汰されるべき個体が、環境１で評価された場合に良い評価値を得たのち、環境２に対応する個体群に戻されると何時までも淘汰されないという問題が生じるからである。そのため、通常はそういった個体は破棄することが考えられるが、探索初期はサンプリングの機会を無駄にすると探索が進まないといった問題が発生する。そこで、図１０ａに示すような手法を用いることで、探索初期のサンプリングの機会を無駄にすることがなくなり、さらに間違った環境で評価された個体も世代交代の候補となるため、両方で優れた評価値を持つ個体が選択される可能性が増加する。
【００６８】
このようにして、最適化を繰り返すことで、次第に適応度の良い個体、すなわち適応度の良い規格化係数が選択され、最終的に複数の環境に応じたエンジン回転数制御特性を獲得することが可能となる。
また、図１０（ｂ）に示すように、環境の変わり目に環境の前後の個体を親とする中間的な個体を生成しておくことで、事前推定のミスに予め対処する方法もある。その処理の流れを説明すると、まず、環境事後推定部３１ｄは、先の評価中の環境が環境２であったと推定したとする（図中(1)）。環境事後推定部３１ｄは、環境が次に環境１に変化すると推定したとする。ここで、遺伝的操作部３１ｂは、先の環境２からの変わり目であると判断し、個体群１、２の家族個体中の最良個体をそれぞれ選択する（図中(2)）。そして、最良個体同士を交叉させた個体の評価を行うために、定速航走制御部３０のパラメータを、個体の遺伝子としてコード化されているパラメータに書き換える（図中(3)）。その後、実際に定速航走制御部３０を動作させ、定速航走制御部３０の性能を評価する（図中(4)）。更に、評価後、環境事後推定部は評価中の環境は環境１であったと推定し、個体群１の家族個体を選択する（図中(5)）。最後に、評価済みの個体を、評価待ちの家族個体と入れ換える（図中(6)）。
【００６９】
つまり、環境の変わり目は、前後の環境の特徴を合わせ持つ領域であるので、事前推定のミスが発生する可能性が高く、上記図１０（ａ）の説明で述べたような問題が頻発する。そこで、環境の変わり目を検出した場合はそれぞれの環境で優れた評価値を持つ個体を親個体とする中間的な子個体を生成すれば、どちらの環境でも優れた評価値を得られると考えられる．そこで、上記図１０（ｂ）の説明において述べた手法を用いることで、事前推定のミスに予め対処することが出来る。
【００７０】
更に、図９に基づき、定速航走制御部３０における動作処理の流れを説明する。図９は、定速航走制御部３０における動作処理を示すフローチャートである。
図９に示すように、まずステップＳ１００に移行し、目標速度の設定を行いステップＳ１０２に移行する。ここで、目標速度は、上記したように、使用者が決定した任意の値を入力しても良く、また、メーカが出荷段階で用意した複数の値の中から選択しても良い。
【００７１】
ステップＳ１０２では、目標エンジン回転数の初期値を設定してステップＳ１０４に移行する。ここで、目標エンジン回転数の初期値は、上記したように、使用者が決定した任意の値を入力しても良く、また、メーカが出荷段階で用意した複数の値の中から選択しても良い。
ステップＳ１０４では、目標エンジン回転数算出モジュール３０ａによって、上記したようにファジィ推論システムを用いて、目標エンジン回転数を算出して、算出結果を電子スロットル弁開度算出モジュール３０ｂに入力してステップＳ１０６に移行する。
【００７２】
ステップＳ１０６では、電子スロットル弁開度算出モジュール３０ｂによって、前記入力された目標エンジン回転数に基づき、上記したように、ファジィ推論システムを用いて目標エンジン回転数に応じた電子スロットル弁開度を算出してステップＳ１０８に移行する。
ステップＳ１０８では、定速航走制御部３０によって、算出された電子スロットル弁開度に基づき船外機２の電子スロットル弁装置２ａを制御してステップＳ１１０に移行する。
【００７３】
ステップＳ１１０では、航走制御がＯＦＦになっているか否かを判定し、ＯＦＦになっていると判定された場合(Yes)はステップＳ１１２移行し、そうでない場合(No)はステップＳ１０４に移行する。
ステップＳ１１２に移行した場合は、スロットル開度を検出して処理を終了する。
更に、図１１に基づき、第１の実施の形態におけるパラメータ最適化装置３１の動作処理の流れを説明する。図１１は、パラメータ最適化装置３１の動作処理を示すフローチャートである。
【００７４】
図１１に示すように、まずステップＳ２００に移行し、規格化係数の初期値を、上記したように極端な値にならない範囲内で乱数によって決定しステップＳ２０２に移行する。
ステップＳ２０２では、環境事前推定部３１ａにおいて、上記したように旋回の要因であるステアリング操作量を入力として、環境変化の持続時間を推定することで、事前の環境（Ｅpri）を推定してステップＳ２０４に移行する。
【００７５】
ステップＳ２０４では、環境に対応した家族個体群Ｆ_Ｅpriに未評価の個体が存在するか否かを判定し、未評価個体が存在しない場合（Yes）はステップＳ２０６に移行し、未評価個体が存在する場合（No）はＳ２１０に移行する。
ステップＳ２０６に移行した場合は、遺伝的操作部３１ｂにおいて、上記生成された個体群集合３１ｃのうち環境に対応した個体群Ｐ_Ｅpriの中から、親個体を、個体群中の最良個体とランダムに選択された個体の２個体選択しステップＳ２０８に移行する。
【００７６】
ステップＳ２０８では、選択された親個体に対して、上記したように単峰性正規分布交叉手法を用いた交叉処理を行い、２つの個体を生成して家族個体群Ｆ_Ｅpriを形成してステップＳ２１０に移行する。
ステップＳ２１０では、家族個体群Ｆ_Ｅpriの未評価個体（親個体を含む）を定速航走制御部３０に伝送してステップＳ２１２に移行する。
【００７７】
ステップＳ２１２では、上記したように遺伝的操作部３１ｂにおいて、未評価個体について電子スロットル弁制御を行うことにより算出された評価値を取得したか否かを判定し、取得したと判定された場合（Yes）はステップＳ２１４に移行し、そうでない場合（No）は取得するまで待機する。
ステップＳ２１４に移行した場合は、個体の評価が終了した時点で、環境事後推定部３１ｄによって、推進効率を入力としてそのときの環境（Ｅpost）を推定してステップＳ２１６に移行する。
【００７８】
ステップＳ２１６では、事前環境（Ｅpri）と事後環境（Ｅpost）とが等しいか否かを判定し、等しいと判定された場合（Yes）はステップＳ２１８に移行し、そうでない場合（No）はステップＳ２２０に移行する。
ステップＳ２１８に移行した場合は、上記したように、家族個体群Ｆ_Ｅpostに評価済みの個体を返す操作を行いステップＳ２２２に移行する。
【００７９】
一方、ステップＳ２２０に移行した場合は、上記したように、環境事後推定部３１ｄにおいて推定された環境に対応した家族個体群Ｆ_Ｅpostのうち未評価の個体と評価済みの個体を入れ換えてステップＳ２２２に移行する。
ステップＳ２２２では、遺伝的操作部３１ｂによって、家族個体群Ｆ_Ｅpostに未評価の個体が存在するか否かを判定し、未評価個体が存在しない場合（Yes）はステップＳ２２４に移行し、未評価個体が存在する場合（No）はＳ２０２に移行する。
【００８０】
ステップＳ２２４に移行した場合は、家族個体群Ｆ_Ｅpostの個体を評価値の小さい順に並べ替えてステップＳ２２６に移行する。
ステップＳ２２６では、遺伝的操作部３１ｂによって、家族個体群Ｆ_Ｅpostの評価値のよい上位２個体を個体群Ｐ_Ｅpostの親個体があった場所に戻してステップＳ２２８に移行する。
【００８１】
ステップＳ２２８では、遺伝的操作部３１ｂによって、最適化が終了したか否かを判定し、終了したと判定された場合（Yes）は処理を終了し、そうでない場合（No）はステップＳ２０２に移行する。
更に、図１２及び図１５（ｂ）に基づき、本発明の第２の実施の形態におけるパラメータ最適化装置３１の動作処理について説明する。図１２は、第２の実施の形態におけるパラメータ最適化装置３１の動作処理を示すフローチャートであり、図１５（ｂ）は、第２の実施の形態における個体のデータ構造を示す図である。
【００８２】
本実施の形態においては、パラメータ最適化装置３１において、一度評価された個体に対して評価済みフラグを有効にし（評価フラグの値を１にする）、以降の最適化処理においては、評価済みフラグが有効状態の個体に対して評価を行わずに以前の評価値をそのまま保持し、この保持された評価値を用いて最適化処理を行うようになっている。
従って、本実施の形態において、個体のデータ構造は、図１５（ｂ）に示すように、上記した旋回状態にそれぞれ対応した３つの規格化係数１〜３と、評価値と、評価済みフラグ値と、を含んだ構成となっている。
【００８３】
なお、上記以外の構成及び動作については、上記した第１の実施の形態と同様であるので説明を省略する。
更に、図１２に基づき、第２の実施の形態におけるパラメータ最適化装置３１の動作処理の流れを説明する。
図１２に示すように、まずステップＳ４００に移行し、規格化係数の初期値を、上記したように極端な値にならない範囲内で乱数によって決定し、且つ、各個体の評価済みフラグを無効にして（評価済みフラグの値を０にする）ステップＳ４０２に移行する。
【００８４】
ステップＳ４０２では、環境事前推定部３１ａにおいて、上記したように旋回の要因であるステアリング操作量を入力として、環境変化の持続時間を推定することで、事前の環境（Ｅpri）を推定してステップＳ４０４に移行する。
ステップＳ４０４では、環境に対応した家族個体群Ｆ_Ｅpriに未評価の個体が存在するか否かを判定し、未評価個体が存在しない場合（Yes）はステップＳ４０６に移行し、未評価個体が存在する場合（No）はＳ４１０に移行する。
【００８５】
ステップＳ４０６に移行した場合は、遺伝的操作部３１ｂにおいて、上記生成された個体群集合３１ｃのうち環境に対応した個体群Ｐ_Ｅpriの中から、親個体を、個体群中の最良個体とランダムに選択された個体の２個体選択しステップＳ４０８に移行する。
ステップＳ４０８では、選択された親個体に対して、上記したように単峰性正規分布交叉手法を用いた交叉処理を行い、評価済みフラグが無効状態である２つの個体を生成して、家族個体群Ｆ_Ｅpriを形成して、ステップＳ４１０に移行する。
【００８６】
ステップＳ４１０では、家族個体群Ｆ_Ｅpriの評価済みフラグが無効状態である個体を定速航走制御部３０に伝送してステップＳ４１２に移行する。
ステップＳ４１２では、上記したように遺伝的操作部３１ｂにおいて、家族個体の評価済みフラグが無効状態である個体について電子スロットル弁制御を行うことにより算出された評価値を取得したか否かを判定し、取得したと判定された場合（Yes）は評価済みフラグを有効にしてステップＳ４１４に移行し、そうでない場合（No）は取得するまで待機する。
【００８７】
ここで、図１２に示す、ステップＳ４１６〜ステップＳ４２８までの処理は、上記第１の実施の形態における図１１のステップＳ２１６〜ステップＳ２２８までの処理と同様の処理となるので記載を省略する。
更に、図１３及び図１５（ｃ）に基づき、本発明の第３の実施の形態におけるパラメータ最適化装置３１の動作処理について説明する。図１３は、第３の実施の形態におけるパラメータ最適化装置３１の動作処理を示すフローチャートであり、図１５（ｃ）は、第３の実施の形態における個体のデータ構造を示す図である。
【００８８】
本実施の形態においては、上記第２の実施の形態と同様に、パラメータ最適化装置３１において、一度評価された個体に対して評価済みフラグを有効にし（評価フラグの値を１にする）、以降の最適化処理においては、評価済みフラグが有効状態の個体に対して評価を行わずに以前の評価値をそのまま保持し、この保持された評価値を用いて最適化処理を行うようになっている。
【００８９】
更に、本実施の形態では、最適化処理において、各個体の更新されなかった回数をカウントする未更新カウンタを備えており、この未更新カウンタの値が、予め設定された閾値である所定値ａを超えたときに、評価済みフラグを無効にするようになっている。
従って、本実施の形態において、個体のデータ構造は、図１５（ｃ）に示すように、上記した旋回状態にそれぞれ対応した３つの規格化係数１〜３と、評価値と、評価済みフラグ値と、未更新カウンタ値と、を含んだ構成となっている。
【００９０】
なお、上記以外の構成及び動作については、上記した第１の実施の形態と同様であるので説明を省略する。
更に、図１３に基づき、第３の実施の形態におけるパラメータ最適化装置３１の動作処理の流れを説明する。
図１３に示すように、まずステップＳ５００に移行し、規格化係数の初期値を、上記したように極端な値にならない範囲内で乱数によって決定し、且つ、各個体の評価済みフラグを無効にして（評価済みフラグの値を０にする）ステップＳ５０２に移行する。
【００９１】
ステップＳ５０２では、環境事前推定部３１ａにおいて、上記したように旋回の要因であるステアリング操作量を入力として、環境変化の持続時間を推定することで、事前の環境（Ｅpri）を推定してステップＳ５０４に移行する。
ステップＳ５０４では、環境に対応した家族個体群Ｆ_Ｅpriに未評価の個体が存在するか否かを判定し、未評価個体が存在しない場合（Yes）はステップＳ５０６に移行し、未評価個体が存在する場合（No）はＳ５１０に移行する。
【００９２】
ステップＳ５０６に移行した場合は、遺伝的操作部３１ｂにおいて、上記生成された個体群集合３１ｃのうち環境に対応した個体群Ｐ_Ｅpriの中から、親個体を、個体群中の最良個体とランダムに選択された個体の２個体選択しステップＳ５０８に移行する。
ステップＳ５０８では、選択された親個体に対して、上記したように単峰性正規分布交叉手法を用いた交叉処理を行い、評価済みフラグが無効状態である２つの個体を生成して、家族個体群Ｆ_Ｅpriを形成して、ステップＳ５１０に移行する。
【００９３】
ステップＳ５１０では、家族個体群Ｆ_Ｅpriの評価済みフラグが無効状態である個体を定速航走制御部３０に伝送してステップＳ５１２に移行する。
ステップＳ５１２では、上記したように遺伝的操作部３１ｂにおいて、家族個体の評価済みフラグが無効状態である個体について電子スロットル弁制御を行うことにより算出された評価値を取得したか否かを判定し、取得したと判定された場合（Yes）は評価済みフラグを有効にしてステップＳ５１４に移行し、そうでない場合（No）は取得するまで待機する。
【００９４】
ここで、図１３に示す、ステップＳ５１４〜ステップＳ５２２までの処理は、上記第１の実施の形態における図１１のステップＳ２１４〜ステップＳ２２２までの処理と同様の処理となるので記載を省略する。
ステップＳ５２４では、家族個体群Ｆ_Ｅpostの個体を評価値の小さい順に並べ替えてステップＳ５５０に移行する。
【００９５】
ステップＳ５５０では、家族個体群Ｆ_Ｅpostの評価値の良い上位２個体の未更新カウンタ値を１インクリメントしてステップＳ５５２に移行する。
ステップＳ５５２では、未更新カウンタの値が予め設定された閾値ａを超えたか否かを判定し、超えたと判定された場合（Yes）はステップＳ５５４に移行し、そうでない場合（No）はステップＳ５２６に移行する。
【００９６】
ステップＳ５５４では、評価済みフラグを無効にし、且つ、未更新カウンタ値を０にしてステップＳ５２６に移行する。
ステップＳ５２６では、遺伝的操作部３１ｂによって、家族個体群Ｆ_Ｅpostの評価値のよい上位２個体を個体群Ｐ_Ｅpostの親個体があった場所に戻してステップＳ５２８に移行する。
【００９７】
ステップＳ５２８では、遺伝的操作部３１ｂによって、最適化が終了したか否かを判定し、終了したと判定された場合（Yes）は処理を終了し、そうでない場合（No）はステップＳ５０２に移行する。
更に、図１４及び図１５（ｄ）に基づき、本発明の第４の実施の形態におけるパラメータ最適化装置３１の動作処理について説明する。図１４は、第４の実施の形態におけるパラメータ最適化装置３１の動作処理を示すフローチャートであり、図１５（ｄ）は、第４の実施の形態における個体のデータ構造を示す図である。
【００９８】
本実施の形態においては、上記第２及び第３の実施の形態と同様に、パラメータ最適化装置３１において、一度評価された個体に対して評価済みフラグを有効にし（評価フラグの値を１にする）、以降の最適化処理においては、評価済みフラグが有効状態の個体に対して評価を行わずに以前の評価値をそのまま保持し、この保持された評価値を用いて最適化処理を行うようになっている。
【００９９】
更に、本実施の形態においては、家族個体群Ｆ_Ｅpostにおける最も評価値の良い個体によって、前回の評価処理までにおいて最良の個体が更新されたときに、家族個体群Ｆ_Ｅpostにおける最も評価値の良い個体に対して優先評価フラグを有効にし（優先評価フラグの値を１にする）、この優先評価フラグが有効状態である個体の評価を優先して行うようになっている。
【０１００】
従って、本実施の形態において、個体のデータ構造は、図１５（ｄ）に示すように、上記した旋回状態にそれぞれ対応した３つの規格化係数１〜３と、評価値と、評価済みフラグ値と、優先評価フラグ値と、を含んだ構成となっている。
なお、上記以外の構成及び動作については、上記した第１の実施の形態と同様であるので説明を省略する。
【０１０１】
更に、図１４に基づき、第４の実施の形態におけるパラメータ最適化装置３１の動作処理の流れを説明する。
図１４に示すように、まずステップＳ６００に移行し、規格化係数の初期値を、上記したように極端な値にならない範囲内で乱数によって決定し、且つ、各個体の評価済みフラグを無効にして（評価済みフラグの値を０にする）ステップＳ６０２に移行する。
【０１０２】
ステップＳ６０２では、環境事前推定部３１ａにおいて、事前の環境（Ｅpri）を推定してステップＳ６０４に移行する。
ステップＳ６０４では、家族個体群Ｆ_Ｅpriに優先評価フラグが有効状態の個体があるか否かを判定し、あると判定された場合（Yes）はステップＳ６０６に移行し、そうでない場合（No）はＳ６２０に移行する。
【０１０３】
ステップＳ６０６に移行した場合は、先にステップＳ６３８で得られた新しい最良個体を定速航走制御部３０に伝送してステップＳ６０８に移行する。
ステップＳ６０８では、上記したように遺伝的操作部３１ｂにおいて、新しい最良個体について電子スロットル弁制御を行うことにより算出された評価値を取得したか否かを判定し、取得したと判定された場合（Yes）はステップＳ６１０に移行し、そうでない場合（No）は取得するまで待機する。
【０１０４】
ステップＳ６１０では、家族個体群Ｆ_Ｅpostの個体を評価値の小さい順に並べ替えてステップＳ６１２に移行する。
ステップＳ６１２では、優先評価フラグを無効にしてステップＳ６１４に移行する。
ステップＳ６１４では、個体の評価が終了した時点で、環境事後推定部３１ｄによって、そのときの環境（Ｅpost）を推定してステップＳ６１６に移行する。
【０１０５】
ステップＳ６１６では、事前環境（Ｅpri）と事後環境（Ｅpost）とが等しいか否かを判定し、等しいと判定された場合（Yes）はステップＳ６４４に移行し、そうでない場合（No）はステップＳ６１８に移行する。
一方、ステップＳ６１８に移行した場合は、上記したように、環境事後推定部３１ｄにおいて推定された環境に対応した家族個体群Ｆ_Ｅpostのうち未評価の個体と評価済みの個体を入れ換えてステップＳ６３６に移行する。
【０１０６】
また、ステップＳ６０４において、家族個体群Ｆ_Ｅpriに優先評価フラグが有効状態の個体が無く、ステップＳ６２０に移行した場合は、環境に対応した家族個体群Ｆ_Ｅpriに未評価の個体が存在するか否かを判定し、未評価個体が存在しない場合（Yes）はステップＳ６２６に移行し、未評価個体が存在する場合（No）はＳ６２２に移行する。
ステップＳ６２２に移行した場合は、遺伝的操作部３１ｂにおいて、上記生成された個体群集合３１ｃのうち環境に対応した個体群Ｐ_Ｅpriの中から、親個体を、個体群中の最良個体とランダムに選択された個体の２個体選択しステップＳ６２４に移行する。
【０１０７】
ステップＳ６２４では、選択された親個体に対して、上記したように単峰性正規分布交叉手法を用いた交叉処理を行い、評価済みフラグが無効状態である２つの個体を生成して、家族個体群Ｆ_Ｅpriを形成して、ステップＳ６２６に移行する。
ステップＳ６２６では、家族個体群Ｆ_Ｅpriの評価済みフラグが無効状態である個体を定速航走制御部３０に伝送してステップＳ６２８に移行する。
【０１０８】
ステップＳ６２８では、上記したように遺伝的操作部３１ｂにおいて、家族個体の評価済みフラグが無効状態である個体について電子スロットル弁制御を行うことにより算出された評価値を取得したか否かを判定し、取得したと判定された場合（Yes）は評価済みフラグを有効にしてステップＳ６３０に移行し、そうでない場合（No）は取得するまで待機する。
【０１０９】
ここで、図１４に示す、ステップＳ６３０〜ステップＳ６３６までの処理は、上記第２の実施の形態における図１２のステップＳ４１４〜ステップＳ４２２までの処理と同様の処理となるので記載を省略する。
ステップＳ６３８では、家族個体群Ｆ_Ｅpostの個体を評価値の小さい順に並べ替えてステップＳ６４０に移行する。
【０１１０】
ステップＳ６４０では、家族個体群Ｆ_Ｅpostの最も評価値の良い個体によりこれまでの最良個体が更新されたか否かを判定し、更新されたと判定された場合（Yes）はステップＳ６４２に移行し、そうでない場合（No）はＳ６４４に移行する。
ステップＳ６４２に移行した場合は、新しい最良個体の優先評価フラグを有効にしてステップＳ６４４に移行する。
【０１１１】
ステップＳ６４４では、遺伝的操作部３１ｂによって、家族個体群Ｆ_Ｅpostの評価値のよい上位２個体を個体群Ｐ_Ｅpostの親個体があった場所に戻してステップＳ６４６に移行する。
ステップＳ６４６では、遺伝的操作部３１ｂによって、最適化が終了したか否かを判定し、終了したと判定された場合（Yes）は処理を終了し、そうでない場合（No）はステップＳ６０２に移行する。
【０１１２】
なお、上記第４の実施の形態において、上記第３の実施の形態において説明した未更新カウンタによる個体の未更新回数の監視処理を加え、事後推定の誤りの影響に対して更に頑健性を増すようにしても良い。
ここで、図１に示す、遺伝的操作部３１ｂにおける、個体群の生成処理は、請求項１２及び請求項１３記載の個体群生成手段に対応し、事前環境に対応した個体群の選択処理は、請求項１２及び請求項１３記載の個体群選択手段に対応し、環境に対応した個体群の中から特定の個体を選択する処理は、請求項１２及び請求項１３記載の特定個体選択部に対応し、単峰性正規分布交叉手法による選択した特定個体の交叉処理は請求項１２及び請求項１３記載の交叉処理部に対応し、評価値に基づく個体の評価処理は、請求項１２及び請求項１３記載の個体評価部に対応し、環境事前推定部３１ａは、請求項１２、１３、２１記載の環境事前推定手段に対応し、環境事後推定部３１ｄは、請求項１３及び請求項２２記載の環境事後推定部に対応する。
【０１１３】
なお、上記実施の形態においては、個体の選択方法として、評価値の優れた個体とランダムな個体を選択する方法を例として説明しているが、これに限らず、ルーレット選択方式、トーナメント選択方式など他の選択方法を用いるようにしても良い。
また、上記実施の形態においては、交叉手法として単峰性正規分布交叉手法を用いた例を示しているが、これに限らず、遺伝子がビットストリングで表される場合は一点交叉手法を用いるなど、他の交叉手法を用いるようにしても良い。
【図面の簡単な説明】
【０１１４】
【図１】本発明に係る航走制御システムの構成を示すブロック図である。
【図２】目標エンジン回転数算出モジュール３０ａにおいて目標エンジン回転数を算出するためのファジィルールの説明図である。
【図３】電子スロットル弁開度算出モジュール３０ｂにおいて電子スロットル弁解度を算出するためのファジィルールの説明図である。
【図４】船舶が旋回時の適応度関数の景観を示す図である。
【図５】ステアリング操作に対する前の航走状況の持続時間を示す図である。
【図６】ＧＡの初期個体として規格化係数の初期値を生成する際の生成範囲を示す図である。
【図７】単峰性正規分布交叉手法を示す図である。
【図８】単峰性正規分布交叉手法を用いて親個体から子個体を生成する様子を示す図である。
【図９】定速航走制御部３０における動作処理を示すフローチャートである。
【図１０】事後環境との評価に基づく個体の世代交代を示す図である。
【図１１】第１の実施の形態におけるパラメータ最適化装置３１の動作処理を示すフローチャートである。
【図１２】第２の実施の形態におけるパラメータ最適化装置３１の動作処理を示すフローチャートである。
【図１３】第３の実施の形態におけるパラメータ最適化装置３１の動作処理を示すフローチャートである。
【図１４】第４の実施の形態におけるパラメータ最適化装置３１の動作処理を示すフローチャートである。
【図１５】（ａ）は、第１の実施の形態における個体のデータ構造を示す図であり、（ｂ）は、第２の実施の形態における個体のデータ構造を示す図であり、（ｃ）は、第３の実施の形態における個体のデータ構造を示す図であり、（ｄ）は、第４の実施の形態における個体のデータ構造を示す図である。
【符号の説明】
【０１１５】
１                航走制御システム
２                船外機
２ａ              電子スロットル弁装置
３                航走制御装置
３０              定速航走制御部
３０ａ            目標エンジン回転数算出モジュール
３０ｂ            電子スロットル弁開度算出モジュール
３１              パラメータ最適化装置
３１ａ            環境事前推定部
３１ｂ            遺伝的操作部
３１ｃ            個体群集合
３１ｄ            環境事後推定部
【図１】
2004178574.tif 000003
【図２】
2004178574.tif 000004
【図３】
2004178574.tif 000005
【図４】
2004178574.tif 000006
【図５】
2004178574.tif 000007
【図６】
2004178574.tif 000008
【図７】
2004178574.tif 000009
【図８】
2004178574.tif 000010
【図９】
2004178574.tif 000011
【図１０】
2004178574.tif 000012
【図１１】
2004178574.tif 000013
【図１２】
2004178574.tif 000014
【図１３】
2004178574.tif 000015
【図１４】
2004178574.tif 000016
【図１５】
2004178574.tif 000017