JP6718338B2 - 連続値最適化問題の大域的探索装置及びプログラム - Google Patents

連続値最適化問題の大域的探索装置及びプログラム Download PDF

Info

Publication number
JP6718338B2
JP6718338B2 JP2016171776A JP2016171776A JP6718338B2 JP 6718338 B2 JP6718338 B2 JP 6718338B2 JP 2016171776 A JP2016171776 A JP 2016171776A JP 2016171776 A JP2016171776 A JP 2016171776A JP 6718338 B2 JP6718338 B2 JP 6718338B2
Authority
JP
Japan
Prior art keywords
value
individuals
individual
variable
evaluation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016171776A
Other languages
English (en)
Other versions
JP2018037003A (ja
Inventor
俊太郎 岡田
俊太郎 岡田
雅能 寺部
雅能 寺部
真之 大関
真之 大関
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyoto University
Denso Corp
Original Assignee
Kyoto University
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyoto University, Denso Corp filed Critical Kyoto University
Priority to JP2016171776A priority Critical patent/JP6718338B2/ja
Priority to PCT/JP2017/023050 priority patent/WO2018042840A1/ja
Publication of JP2018037003A publication Critical patent/JP2018037003A/ja
Application granted granted Critical
Publication of JP6718338B2 publication Critical patent/JP6718338B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Feedback Control In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、連続値最適化問題の大域的探索装置及びプログラムに関する。
例えば、多次元の探索空間において変数、すなわちパラメータの最適値を求める手法が提案されている(例えば、特許文献1参照)。特許文献1記載の技術によれば、探索空間内に最適値算出対象のパラメータを要素とする複数の個体を生成し、これらの個体の評価値を算出し、個体の中から評価値の悪い個体を選択している。そして、この選択された個体を評価値の良い個体に所定の割合で近づけている。また、評価値の悪い個体を最良の評価値の個体から一定のユークリッド距離内にある任意の領域に移動させている。そして、より良い評価値の個体を選択し最良の評価値の個体を随時更新し、複数の個体の評価値を収束させ、終了判定条件を満たしたと判定した時点で最良の評価値を有する個体に含まれるパラメータをパラメータの最適値として出力している。
特開2007−233676号公報
特許文献1等に記載の技術を用いて、例えば、複数の極値(例えば極小値)を備えた評価関数の最小値又は最大値となる変数の最適値を探索するとき、当該変数の最適値への到達確率を高めるためには、複数の個体が最適な1カ所に収束する過程において可能な限り多くの極値(例えば、極小値)を探索することが望ましい。
しかしながら、特許文献1記載の技術を適用したとしても、複数の個体を互いに近づける収束過程において、個体の移動経路はその評価関数の形状とは無関係に決定されてしまう。このため、個体が収束過程において極値を通過するとは限らず、どの個体に収束させることが望ましいか正確に判断できなかったり最適値を通過してしまうことがある。個体の移動処理を極力細かくすることにより最適値への到達確率は高まるものの、個体の移動の回数が増加してしまい好ましくない。
本発明の目的は、複数の極値を備えた評価関数の最小値又は最大値を探索するときに、変数の最適値への到達確率を高めながら極力少ない回数で最適値へ到達できるようにした連続値最適化問題の大域的探索装置及びプログラムを提供することにある。
請求項1に記載した発明によれば、1以上の次元を備えた探索空間に複数の極値を備える評価関数に個体を設定することに基づいて個体の変数又は変数の最適値を導出する最適化装置を対象としている。
設定部は、複数の個体の変数を探索空間の中の評価関数に沿って設定する。また、極値化部は、設定部により設定される複数の個体のうち少なくとも2つ以上の選定個体に引力を作用させる引力ポテンシャルを導出し、複数の個体による評価関数の評価値を加算した評価加算値、及び、導出された選定個体の間の引力ポテンシャルを加算しこの加算値に選定個体の間に作用させる引力係数とを乗算した引力値、を加算した実効評価値を極値化する。そして導出部は、引力係数を初期値から徐々に大きくしながら極値化部により実効評価値が極値化するように複数の個体の変数を変化させ、所定の終了条件を満たしたときにおける複数の個体の少なくとも一つの個体の評価値に基づいて、個体の変数、その変数の最適値、変数に対応した評価値、又は、評価値の最適値を導出する。このような処理を行うことで、複数の極値を備えた評価関数の最小値又は最大値を探索するときに、変数の最適値への到達確率を高めながら極力少ない回数で最適値へ到達できる。
第1実施形態を示す連続値最適化問題の大域的探索装置の電気的構成図 連続値最適化問題の大域的探索装置を機能的に示すブロック図 処理の流れを概略的に示すフローチャート 個体が探索空間内の最適解に収束するときの移動状態を示すイメージ図(その1) 個体が探索空間内の最適解に収束するときの移動状態を示すイメージ図(その2) 個体が探索空間内の最適解に収束するときの移動状態を示すイメージ図(その3) 個体が探索空間内の最適解に収束するときの移動状態を示すイメージ図(その4) 第2実施形態の説明図であり個体の初期分布を示す図(その1) 個体の初期分布を示す図(その2) 個体の初期分布を示す図(その3) 個体の初期分布を示す図(その4) 個体の初期分布を示す図(その5) 個体の初期分布を示す図(その6) 個体の初期分布を示す図(その7) 個体の初期分布を示す図(その8) 個体の初期分布を示す図(その9) 個体の初期分布を示す図(その10) 第3実施形態の説明図であり個体の存在分布の例を示す図 引力ポテンシャルを与える選定個体の例を示す説明図(その1) 引力ポテンシャルを与える選定個体の例を示す説明図(その2) 引力ポテンシャルを与える選定個体の例を示す説明図(その3) 引力ポテンシャルを与える選定個体の例を示す説明図(その4) 引力ポテンシャルを与える選定個体の例を示す説明図(その5) 個体の移動過程を示す説明図(その1) 個体の移動過程を示す説明図(その2) 個体の移動過程を示す説明図(その3) 個体の移動過程を示す説明図(その4) 第5実施形態の説明図であり補助関数法の原理を概略的に示す説明図 リプシッツ定数の説明図(その1) リプシッツ定数の説明図(その2) 処理の流れを概略的に示すフローチャート シミュレーションに用いた評価関数を示す図 シミュレーションに用いた定数を示す図 シミュレーション結果 ある所定領域に収束する過程を示す図 第6実施形態の説明図であり個体が収束した後の状態を示す説明図 第7実施形態を示す電気的構成図 ある時刻における移動体の最適経路を示す鳥瞰図(その1) ある時刻における移動体の最適経路を示す鳥瞰図(その2)
以下、本発明の連続値最適化問題の大域的探索装置及びプログラムの幾つかの実施形態について図面を参照して説明する。以下の実施形態中では、各実施形態間で同一機能または類似機能を備えた部分に同一符号を付して説明を行い、同一又は類似機能を備えた構成及びその作用、連携動作説明等を必要に応じて省略する。
(第1実施形態)
図1A〜図3Dは第1実施形態の説明図を示している。最適化装置1は、CPU2と、ROM、RAM等のメモリ3と、入出力インタフェース4とをバス接続して構成されたマイクロコンピュータ(以下マイコン)5、又は汎用コンピュータなどを用いて連続値最適化問題の大域的探索装置として構成される。以下、マイコン5が最適化処理を実行することとして説明を行う。マイコン5が、メモリ3に記憶された最適化プログラムを実行し、各種手順を実行することで最適化処理を実行する。メモリ3は非遷移的実体的記録媒体として用いられる。
ここで最適化処理とは、1以上のM(≧1)次元を備えたユークリッド空間からなる探索空間Sを想定し、この探索空間Sに予め定められる評価関数Hoptの最小値又は最大値、すなわち最適値を求める処理、又は/及び、評価関数Hoptが最適値となる変数xを求める処理を示す。以下では、評価関数Hoptの最小値を最適値として求めるための形態を示すが、最大値を最適値として求める処理に適用しても良い。評価関数Hoptは、1以上のM個の変数(パラメータ)に基づく数式による関数を示すものであり、例えば任意の多項式、有理関数、無理関数、指数関数、対数関数やその加減乗除等による組み合わせなどを挙げることができる。
図1Bに示すように、最適化装置1は、マイコン5により実現される機能ブロックとして、設定部6、極値化部7、及び導出部8などの各種機能ブロックを備えるものである。設定部6は、複数の個体Kの変数xを探索空間Sの内部の評価関数Hoptに沿って設定する。複数の個体KはそれぞれM次元の変数xを備える。
また極値化部7は、設定部6により設定された複数の個体Kのうち少なくとも2つ以上の選定個体Kに引力を作用させる引力ポテンシャルfijを導出し、複数の個体Kの変数xによる評価関数Hoptの評価値Hopt(x)を加算した評価加算値ΣHopt(x)、及び、導出された選定個体Kの間の引力ポテンシャルfijを加算しこの加算値に選定個体Kの間に作用させる引力係数g/2とを乗算した引力値、を加算した実効評価値Heffを極値化、本実施形態では極小化する。
そして導出部8は、引力係数g/2を初期値(例えば0)から徐々に大きくしながら極値化部7により実効評価値Heffが極値化するように複数の個体Kの変数xを変化させ、所定の終了条件を満たしたときにおける複数の個体Kの少なくとも一つの個体Kの評価値に基づいて、個体Kの変数xを導出する。すると、複数の個体Kが評価関数Hoptの最小値の一点に収束しやすくなる。本実施形態では、この原理を利用し、ある個体Kの変数xを導出して解出力する。
図2に最適化処理の詳細な流れをフローチャートで示し、図3A〜図3Dに探索処理のイメージ図を示している。これらの図3A〜図3Dでは、探索空間Sを一次元のユークリッド空間とし、この評価関数Hoptが複数の極小値を備えた関数である場合にその中の最小値を探索する際の個体Kの移動状態のイメージ図を示している。
まずマイコン5は、図2のS1において評価関数Hoptに沿って個体Kを設定する。図3Aには、N=3個(N>2)すなわち複数の個体K1〜K3を設定した状態を示している。以下、断らない限り、複数の個体K1〜K3のうちの一部又は全ての個体を個体Kと略して説明を行うと共に、特別な個体Kについては符号Kの後に添え字を付して説明を行う。
次に、マイコン5は、図2のS2において実効評価値Heffを求め、この実効評価値Heffを極小化するように個体Kの変数xを変化させて更新する。実効評価値Heffは、前述したように複数の個体Kの変数xを評価関数Hoptに導入した評価値Hopt(x)に基づく値であり、具体例としては下記のように表すことができる。
Figure 0006718338
この(1)式のうち、Heffは実効評価値を示しており、Hopt(x)は評価関数Hoptの各個体Kの評価値を示している。また、g/2は引力係数、ΣΣfij(x−x)は引力ポテンシャルの加算値を示している。
(1)式の第1項は、複数の個体Kによる評価関数Hoptの評価値Hopt(x)を加算した評価加算値、すなわち、評価関数Hoptに複数の個体Kの変数xを代入した評価値Hopt(x)を加算した加算値を示しており、(1)式の第2項は、複数の個体K間の引力ポテンシャルfijを加算し、この加算値に複数の個体Kの間に作用させる引力係数g/2を乗算した引力値、を示している。この引力ポテンシャルfijは、1つの個体Kが、他の全ての個体Kとの間で作用するように設定しても良いが、後述実施形態に示すように、全ての個体Kのうち一部を選定し当該選定個体Kを対象として引力ポテンシャルfijを設定しても良い。また、この引力ポテンシャルfijの関数は、後述実施形態に示すように、複数の個体K間の所謂ユークリッド距離が遠いほど引力値が大きくなる関数を適用しても良いし、ユークリッド距離に拘わらず引力値が一定値となるように設定しても良い。またこれに限られるものではなく、ユークリッド距離が遠いほど引力値が小さくなる関数を適用しても良い。マイコン5は、図2のS2においてこの評価加算値と引力値とを加算した実効評価値Heffを導出し、実効評価値Heffを小さくする個体Kの変数xを探索する。この探索方法としては、後述実施形態に示す補助関数法を用いることが望ましいが、極値を探索可能な方法であればどのような方法を用いて探索しても良い。
例えば、評価関数Hoptが図3Aに示すように複数の極小値を備える関数であるときには、(1)式の第2項の引力係数g/2を増加させると、個体Kを一点に収束させる引力が強くなり、個体Kは低い山から順に昇り、すなわち極大値を超えるように順に移動し、谷、すなわち極小値、を順に移動する。このため、例えば図3Bに示すように、個体K1は探索空間S内の変数xを例えば増加する方向に移動すると共に、個体K3は探索空間S内の変数xを例えば減少する方向に移動する。
次に、マイコン5は、図2のS3において状態更新回数tをインクリメントすることでt=t+1とし、この状態更新回数tが所定上限回数τを超えたか否か、すなわち図2のS4においてt=τ+1であるか否かを判定する。本実施形態では、この図2のS4における所定上限回数τを超えたか否かの判定処理を所定の終了条件としている。マイコン5は、状態更新回数tが所定上限回数τ以下であり、この終了条件を満たしていないときには、S5において引力係数g/2を例えば所定数だけ増加し、S2に戻り処理を繰り返す。マイコン5は、このように引力係数g/2を徐々に大きくしながらS2〜S3の処理を繰り返すことで、図3Cに示すように、各個体Kは評価関数Hoptの極大値の大きな山を徐々に超えるようになる。これらの処理が繰り返されることにより、図3Dに示すように、複数の個体K1〜K3が評価関数Hoptの一点に収束するようになる。そして、マイコン5は、図2のS5において終了条件を満たしたときに例えば個体K1〜K3のうちの何れか一つの個体Kの変数xの解を出力する。これにより個体Kの変数xを解出力できる。
本実施形態によれば、引力係数g/2を初期値から徐々に大きくしながら実効評価値Heffが極値化するように複数の個体Kの変数xを変化させ、状態更新回数tが所定上限回数τを超えたときにおける複数の個体Kのうち少なくとも一つの個体Kに基づいて個体Kの変数xを導出している。またこのとき、評価関数Hoptの評価値が最も低くなる条件を満たす個体Kの変数xを解出力すると良い。これにより、変数xの最適値への到達確率を高めながら極力少ない回数で最適値へ到達できるようになる。
(第2実施形態)
図4から図13は第2実施形態の追加説明図を示している。第2実施形態では、個体Kの変数xの初期分布の設定方法を説明する。前述実施形態に示したように、各個体KはM次元の変数xを備えているが、このM次元の変数xの初期分布を如何なる形態とするかに応じて、評価関数Hoptの谷の通過数、すなわち極値の通過数、及び、収束方法も変化する。
評価関数Hoptの評価値がどのような値で極値、最小値となるか予め把握することはできないため、マイコン5は、予め探索空間Sを満たすように個体Kを初期設定することが望ましい。個体Kの数を多くすれば精度が高くなるが、個体Kの数を多くすれば処理時間も大きくなる。このため、限られた数の個体Kを用いて処理を行うことが望ましく、この限られた個体Kの変数xの初期分布が最適値の探索処理に重要な要素を占めることになる。このためには、例えば図4から図13に示すように、個体Kの変数xの初期分布を設定することが望ましい。
図4から図6、図8から図13は、複数のそれぞれの個体KがM=2次元の変数xを備えている場合の初期分布の例を示し、図7は複数のそれぞれの個体KがM=3次元の変数xを備えている場合の初期分布の例を示している。
M=2次元の探索空間Sを想定したときに、例えば図4に示すように、探索空間S内に複数の個体Kの変数xをランダムに設定すると良い。この場合、個体Kが一点に収束する過程において広範囲の極値を探索することができるようになる。この中でも図5の個体Ka、Kbに示すように、少なくとも1つ以上の個体Ka、Kbの変数xを探索空間Sの上限値又は下限値とすると良い。また、その他の個体Kの変数xをランダムに設定すると良い。このように設定することで、さらに広範囲の極値を探索できる。特に、探索空間Sの中で全ての変数xについて上限値又は下限値となるように個体Kamの変数xを設定することがさらに望ましい。
また、例えば図6に示すように、初期分布として探索空間Sを分割した格子点位置になるように個体Kの変数xを設定しても良い。この場合、図6にM=2次元の例を示すように、隣接する個体Kの間を等分割して設定しても良いが、変数x毎、すなわちxi,1、xi,2毎に異なる分割数となるように設定しても良い。ここで「隣接」とはユークリッド距離が最も近い個体Kを意味する。また、例えば、複数の個体KがそれぞれM=3次元の変数xを備えているときには、図7に示すように、個体Kが格子点位置に位置するように変数xを設定することで初期分布を構成すると良い。このように格子点位置に個体Kを初期分布させることで探索空間Sの内部における極値を網羅して探索できる。
さらに図8に示すように、個体Kの変数xが谷の生成に寄与する寄与度の高い個体Kの変数xi,2の分割数を寄与度の低い個体Kの変数xi,1よりも大きく設定するようにしても良い。寄与度は、予め実験やシミュレーション等に応じて設定したり、実際の問題に対する定性的な考察から設定する。図8の例では、変数xi,2の分割数を5とし、変数xi,1の分割数を2としている。すると、初期分布として設定する個体Kの数を削減しながら探索空間Sの内部における極値を網羅して探索できる。個体Kの数を削減できるため処理時間を削減できる。
また図9に示すように、例えば図6から図8のように設定されている場合、この中から少なくとも1つ以上の変数xが探索空間Sで上限値又は下限値となる個体Kだけを選定して設定しても良い。すると、個体Kの数を削減しながら広範囲において極値の探索を行うことができる。
また図10に示すように、初期分布として探索空間Sを複数の部分空間Sc、Sdに分けて各部分空間Sc、Sdにそれぞれ個体Kを設定しても良い。このとき、各部分空間Sc、Sd毎に実効評価値Heffを求め当該実効評価値Heffが所定終了条件を満たしたときにおける複数の個体Kの少なくとも一つの個体Kに基づいて個体Kの変数xを導出するようにしても良い。これにより、より少ない個体Kの数で探索空間Sを網羅的に探索できる。この場合、部分空間Sc、Sd毎に異なる評価関数Hoptの最小値(最適値)を得る個体Kg1,Kg2の変数xを求めることができるが、最終的に部分空間Sc、Sd毎に得られた個体Kg1,Kg2の変数xの評価関数Hoptの評価値を比較し、この評価値の最小値を得る個体Kg1,Kg2の変数xを選定して解として導出すると良い。
これまで説明したように、収束過程において広範囲の極値を探索できるようにするため、探索空間Sの全てを極力網羅するように個体Kを広範囲に分布させることが望ましいが、例えば探索空間Sの内部に推定解が与えられる場合もある。
例えば、ある変数xが時間的に連続して変化することを考慮する。例えばマイコン5がこのような変数x(t)の解をある所定の時間毎に導出するときに、次回のタイミングにおける変数x(t+1)の解を得るために今回の変数x(t)の解を推定解xizとして与えることで、次回のタイミングにおける変数x(t+1)の解の導出処理を素早くしかも正確に行うことができる場合もある。
このような場合、図11に示すように、初期分布として探索空間S内に限定された限定探索範囲Saを設け、この限定探索範囲Saとして推定解xizを含むように初期分布を設定することが望ましい。特にこの場合、例えば推定解xizから所定範囲(例えばxi,1−α1<変数xi,1<xi,1+β1、xi,2−α2<変数xi,2<xi,2+β2;但し、α1、α2、β1、β2>0)を満たすように限定探索範囲Saを絞ることが望ましい。これにより、さらに少ない評価回数で変数xの最適解への到達確率を高めることができる。
さらに図12に示すように、初期分布として推定解xizを含む空間に近いほど個体Kを密に分布させると共に推定解から遠ざかるほど個体Kの密度を減少させるように設定するようにしても良い。これにより、より少ない個体Kの数で変数xの最適解への到達確率を高めることができる。
さらに図13に示すように、初期分布として推定解xizを含む空間に近い所定範囲Sb内に個体Kを密に分布させると共にその他の個体Kを所定範囲Sbの外にランダムに分布させ、その他の個体Kのうち、少なくとも1つの個体Ka、Kb、Kamの変数xを探索範囲Sの変数xの上限値又は下限値に設定するようにしても良い。これにより、変数xの推定解xizの付近を重点的に探索しながら広範囲を探索することができ、推定解xiz又はその周辺に解が存在していなかった場合においても、変数xの最適解への到達確率の低下を防ぐことができる。
(第3実施形態)
図14から図20Dは第3実施形態の追加説明図を示す。第3実施形態は、選定個体の選定方法について説明する。引力ポテンシャルfijは(1)式に示したように、i番目の個体Kとj番目の個体Kの差の関数として表すことができる。この場合、引力ポテンシャルfijは、全ての2つの個体Kの組み合わせ数分の差分を求めて加算値を求めるようにすると良い。しかし図14に示すように、多数の個体Kが一の谷H1の中で密に分布すると共に、他の個体Kcが他の谷H2の中で疎に分布しているときには、密度が密に分布している谷H1の中の多数の個体Kの影響を受けやすくなる。
すると、図14の矢印Yに示すように、本来評価値が最小値となり変数xが最適値となる個体Kcが、他の多数の個体Kの影響を受けて谷H2を抜け出してしまうことがある。また例えば第2実施形態に初期分布を示したように、個体Kの密度がそのある所定の領域、空間毎にばらつくこともある。
このような場合を考慮し、全ての2つの個体Kの組み合わせに引力ポテンシャルfijを与えてしまうと、個体Kの密度分布の影響が強くなることが想定されるような条件(例えば、評価関数Hoptの条件、又は/及び、個体Kの密度の初期分布の条件)を用いるときには、引力ポテンシャルfijを与える個体Kを選定し、特定の選定個体Kの間にだけ引力ポテンシャルfijを与えることが望ましい。
この場合、図15に変数M=1次元の例を示すように、マイコン5が特に複数の個体Kに対し識別符号(例えば1〜5)を順序付けて付し、順序が隣接する識別符号が付された個体Kを選定個体K1−K2、K2−K3、K3−K4、K4−K5として引力ポテンシャルfijを導出し、順序が隣接しない識別符号が付された個体Kを選定個体とせず引力ポテンシャルfijを0とすると良い。すると個体Kの密度の影響を強くしすぎることなく収束させることができる。
また、マイコン5が全個体Kに対し引力ポテンシャルfijを対等に印加するためには、図16に示すように、個体K1と個体K5との間にも引力ポテンシャルfijを印加するようにすると良い。なお図15及び図16には個体Kの変数xの小さい順に識別符号1〜5を付した形態を示しているが、変数xの小さい順に識別符号1〜5を付して並べる必要はなく、識別符号1〜5を付す順序は変数xの大小に影響するものではない。
また図17にM=2次元の選定個体Kの例を示す。この図17は図6のように探索空間SにおけるM=2次元の格子点位置に個体Kを初期分布させたときの選定個体の例を示す。また図18に変数M=3次元の例を示す。この図18は図7のようにM=3次元の格子点位置に個体Kを初期分布させたときの選定個体の例を示す。
マイコン5は、格子点位置の個体Kと隣接する格子点位置の最大2×M個の個体Kを選定個体として引力ポテンシャルfijを導出し、その他の個体Kを選定個体とせず引力ポテンシャルfijを0とすることが望ましい。図17に示すように、個体Kd1に隣接する格子点位置に存在する個体Kd2〜Kd5を選定個体として引力ポテンシャルfijを設定し、その他の個体Kを選定個体としないように引力ポテンシャルfijを0に設定する。すなわち、個体KがそれぞれM=2次元の変数xを備えるときには、最大2×M=4個の隣接する格子点位置の個体Kを選定個体として引力ポテンシャルfijを導出する。
また、図18に示すように、個体KがそれぞれM=3次元の変数xを備えるときには、最大2×M=6個の格子点位置の個体Kを選定個体として引力ポテンシャルfijを導出する。
また図19には図9に示すようにM=2次元の格子点位置の上限値又は下限値に個体Kを初期分布させたときの選定個体Kの例を示す。マイコン5は、これらの個体Kのうち隣接する2個の個体Kを選定個体として引力ポテンシャルfijを導出し、その他の個体Kを選定個体とせず引力ポテンシャルfijを0とする。図19に示すように、マイコン5が例えば初期分布として複数の個体Kを探索範囲Sの変数xの上限値又は下限値に設定した場合には、探索空間Sにおいて変数xが上限値又は下限値となる個体Kam、Ka、Kbから順次収束させることができる。すると探索空間Sを網羅して探索できる。
<評価関数Hoptを考慮しない場合における初期分布からの個体Kの移動イメージ>
図20Aから図20Dに個体Kの移動イメージを示している。図20Aに初期分布を示している。この初期分布は、図19に示す初期分布と同様であるが、改めて説明すると、全個体Kは、変数xi,1及びxi,2が共に探索空間Sの上限値又は下限値となる頂点に設定された個体Kam、変数xi,2が探索空間Sの上限値又は下限値となる辺部に設定された個体Ka、変数xi,1が探索空間Sの上限値又は下限値となる辺部に設定された個体Kb、からなっている。すなわち、全個体Ka、Kb、Kamは、それぞれ2次元の変数xi、1、xi、2の何れかの変数xが上限値又は下限値となるように設定されている。
隣接する個体Kは、2次元の変数xi、1、xi、2が等間隔で初期設定されている。そして、この例では、隣接する個体Ka、Kb、Kamを選定個体として引力ポテンシャルfijを印加するようにしている。なお、説明を単純化するため評価関数Hoptは考慮しない例を示す。
この例の場合、矢印を付した隣接した選定個体Ka、Kb、Kamの間に引力がかかるため、隣接する個体Ka、Kb、Kamは当該引力を合成したベクトル方向に引き寄せられることになる。このため、まず図20Bに示すように、探索空間Sの頂点に初期設定された個体Kamが、探索空間Sの内方に引き込まれるように移動する。さらに図20Cに示すように、探索空間Sの辺部に初期設定された個体Ka、Kbが探索空間Sの内方に引き込まれるように移動する。
さらに図20Dに示すように、全個体Ka、Kb、Kamが徐々に探索空間Sの中央内側に引き込まれるように移動する。これにより全個体Ka、Kb、Kamがそれらの2変数xi,1、i,2が互いに同一となる一点に収束するようになる。この例では、評価関数Hoptを考慮していない例を挙げているため、最終的には探索空間Sの中央に収束することになるが、実際に評価関数Hoptを考慮すれば、変数xに応じた評価値Hopt(x)が実効評価値Heffに反映されるため、この実効評価値Heffを最小化するように個体Ka、Kb、Kamが移動する。すなわち個体Ka、Kb、Kamのそれぞれの変数xが変化する。これにより、これらの全探索空間Sにおいて変数xの最適値を網羅的に探索できることがわかる。
(第4実施形態)
以下、第4実施形態を説明する。この第4実施形態では、引力ポテンシャルfijの設定方法について説明する。引力ポテンシャルfijは(1)式に示したように、i番目の個体Kとj番目の個体Kの差分の関数として表すことができる。この場合、引力ポテンシャルfijは、i番目の個体Kのp番目の変数をxi,pと表したときに、例えば下記の(2)式に基づいて導出することが望ましい。
Figure 0006718338
この(2)式の引力ポテンシャルfijは、複数の個体Kの間のユークリッド距離が大きいほど大きな引力値とするように設定され、複数の個体Kの間の距離が小さいほど小さな引力値とするように設定される。この場合、初期分布として広範囲に分布させた個体Kを素早く収束させることができ、例えば図2に示すように処理を実行したときには、状態更新回数tの所定上限回数τを少なくしても十分に収束させることができる。しかも、この式は微分可能な関数となるため、微分値を0とするように実効評価値の変数xを求めることで容易に極値化できる。
また、引力ポテンシャルfijを例えば下記の(3)式に基づいて導出するようにしても良い。
Figure 0006718338
この(3)式の引力ポテンシャルfijは、複数の個体Kの間の距離に関係なく一定の引力値とするように設定していることを示している。この場合、浅い谷、すなわち極大値を順に超えて収束させることができるようになる。
(第5実施形態)
図21〜図26は第5実施形態の追加説明図を示す。本実施形態では、実効評価値Heff(x)を極小化するように個体Kの変数xを変化させるための具体例となる補助関数法について説明する。補助関数法は、(1)式の第1項の評価加算値、第2項の引力値を極小化するときに用いられる一方法であり、評価関数Hoptを当該評価関数Hoptに近似した2次関数に置換し、この置換した2次関数に基づいて極値化する方法を示している。
以下、補助関数法について詳細説明する。補助関数法の詳細イメージを図21に示している。図21に示すように、変数xの評価関数をfmej(x)としたときに、この評価関数fmej(x)の変数xに現在の解候補x^*(図21ではxa、xb)を代入し、この評価値fmej(x^*)を通過すると共に、その微分値が評価関数の偏微分値∂fmej(x^*)/∂xと等しく、且つ、その解候補x^*を含む探索空間S内の全ての変数xにおける評価値fmej(x)よりも大きな値を得る条件を満たすリプシッツ定数Lを用いた2次関数ffを導入する。この2次関数ffを数式化すると、(4−1)式の右辺のように示すことができる。また、この2次関数ffが極値となる条件を満たす解をxzとすると(4−2)式のように導出できる。
Figure 0006718338
これらの(4−1)式、(4−2)式において、Lはリプシッツ定数を示し、x^*はxの現在の解候補を示している。なお(4−2)式の右辺を微分すると(4−3)式のように導出できる。
Figure 0006718338
このとき、変数xに解候補x^*を代入することで(4−3)式の第2項を0にでき、現在の解候補x^*における微分値は(4−3)式の第1項と等しくなる。この(4−3)式の第1項は、解候補x^*における評価関数fmejの偏微分値∂fmej(x^*)/∂xに一致する。また、この2次関数ffは、解候補x^*を含む全ての変数xで評価関数fmejの評価値fmej(x)よりも大きな値となっている。このような2次関数ffを用いて評価関数fmejの極値を求めることが望ましい方法となる。
(4−2)式に示すように、解候補xzを繰り返し導出する。図21に示すように、現在の解候補をxaとしたときに、まず2次関数ff1を探索し、2次関数ff1の極値を満たす解を次回の解候補xbとする。その後、この次回の解候補xbについて再度2次関数ff2の探索を行い、2次関数ff2の極値を満たす解を解候補xcに更新する。したがって解候補はxa→xb→xcとなるように変化する。これらの処理が、例えば所定回数以上繰り返されることで評価関数fmej(x)の極小値と見做すことが可能な解(例えばxc)を得ることができる。
さて(1)式に(2)式の引力ポテンシャルfijを代入すると下記の(5)式のように示すことができる。この(5)式における引力ポテンシャルfijの関数は、第4実施形態に示したように、距離を大きくしたときに引力値を大きくする(2)式の関数を適用している。
Figure 0006718338
ここでは、説明を理解しやすくするため、引力ポテンシャルfijを印加する個体Kとして、第2実施形態の図15に示したように、識別番号の隣接する個体K1−K2、K2−K3、…、を選定個体としている。すなわち、i番目とi+1番目の個体Kを選定して引力ポテンシャルfijを印加する数式を示している。ここでは、この例について説明するが、第2、第3実施形態で説明したその他の例も同様に組み合わせることが可能である。
この(5)式の右辺において、評価関数Hoptを表す第1項と、引力係数g/2×引力ポテンシャルfijを表す第2項とに分けて補助関数法を適用する。(5)式の右辺の第1項について、補助関数法を適用して置換すると(6)式の右辺のようになる。
Figure 0006718338
この(6)式の右辺は、j番目の個体Kにおけるq番目の変数xj,qを更新する場合に、(5)式の右辺の第1項について補助関数法を適用した数式を示している。また、(5)式の右辺の第2項を補助関数法を適用して置換すると(7)式の右辺のようになる。
Figure 0006718338
この(7)式の右辺も同様に、j番目の個体におけるq番目の変数xj,qを更新する場合において、(5)式の右辺の第2項について、補助関数法を適用した数式を示している。このような(6)式と(7)式を加算した加算値を極小化した条件を満たす変数xを最終的に解出力することになる。
リプシッツ定数Lは大きすぎると、(4−1)式の不等式を満たすことになるものの、2次係数が比較的大きくなることから、図22に2次関数ffのイメージを示すように、解の更新処理の幅が小さくなりすぎる。このため、評価関数Hoptの谷H2の極値に到達するまでの処理ステップが多くなり処理時間が長くなる。
逆に、リプシッツ定数Lが小さすぎると(4−2)式の不等式を満たさなくなり、図23に2次関数ffのイメージを示すように、解の更新処理の幅が大きくなりすぎる。すると、1ステップの処理だけで隣接する谷H1に移動してしまうことが確認されている。
このため、リプシッツ定数Lは、変数xの解を更新する度に計算し直すと共に、式(4−1)の不等式を満たす中で可能な限り小さい値を設定すると良いが、特に(5)式の右辺の第2項に補助関数法を適用するときには、(7)式に示すようにリプシッツ係数Lを4に固定することが望ましい。このリプシッツ係数L=4は変数xの解を更新処理する度に導出し直す必要がないことが発明者らにより確認されている。このとき特に、第2項におけるj番目の個体におけるq番目の変数の更新後の解xj,qは(8)式のように導出できる。
Figure 0006718338
この(8)式に示したj番目以外の個体Kについても、q番目の変数x≠j,qの更新処理を同じように行うことができ、1からN番目の個体Kのq番目の変数xj,qは、(9−1)式のように行列式を用いて一括更新できる。ただし、変数行列x、リプシッツ係数行列L、引力係数行列G、評価関数偏微分行列∇Hoptは、それぞれ(9−2)式、(9−3)式、(9−4)式、(9−5)式に示すように表すことができる。
Figure 0006718338
Figure 0006718338
Figure 0006718338
このようにして更新処理を行うことができる。
また、評価関数Hoptに補助関数法を適用し、第2項の引力値に補助関数法を用いなくても良い。すなわち、j番目の個体のq番目の変数xj,qを更新するときに評価関数Hoptだけに補助関数法を適用すると、(5)〜(7)式に対応した実効評価値Heffは(9−6)式のように表すことができる。
Figure 0006718338
このとき(9−6)式を極値化するには、(9−7)式に示すように変数xj,qにより偏微分した微分値が0となる条件を満たすように更新すると良い。
Figure 0006718338
他の個体Kのq番目の変数xj,qを一般化して考慮すると、(9−8)式のように表すことができる。
Figure 0006718338
この式を変数xについて解くと、(9−9)式のように表すことができる。
Figure 0006718338
この(9−9)式を適用すると、「(L+gG)^(−1)」に含まれるGは正則行列ではないため、引力係数g/2を大きくした場合にGの特異性によって逆行列の計算精度が大幅に低下する。このため、前述したように、評価関数Hoptの評価値と共に引力値についても補助関数法を適用することが望ましい。すると、マイコン5を用いたとしても、(9−1)式に基づいて計算処理することになり、(9−9)式における(L+gG)^−1の逆行列を算出しなくても良くなり、計算精度を高めることができる。
このような最適化処理のフローチャートを図24に示している。図24に示すように、マイコン5はまずS1において探索空間S内に複数の個体Kを設定する。このとき、例えば第2実施形態に示したように個体Kを設定して初期分布を構成すると良い。マイコン5は、引力係数g/2を初期値=0とすることで実効評価値Heff=(1)式の右辺の第1項(=複数の個体Kの評価関数Hoptの評価値)となるように初期設定する。そして、マイコン5はS2aにおいて補助関数法を示す(8)式を用いて個体Kの全変数xを更新する。
このS2aの処理は、このタイミングで複数回行うようにしても良い。そして、マイコン5は、S4にて所定の終了条件を満たすまで、S5において複数の個体Kの間の引力係数g/2を徐々に増加させることで引力値を徐々に強くする。すると、これらのS2a〜S5の処理を繰り返すことで広範囲に散らばった個体Kは1カ所に収束することになる。引力値を増加するタイミングは、S2aにおいて補助関数法を用いた更新処理を1回だけ実行した後でも良いし、S2aの処理について実効評価値Heffの極値を得られることが想定される回数だけ繰り返し実行した後であっても良い。
また、終了時点における個体Kの数は必ずしも1カ所の所定領域に収束して極値化している必要はないものの、引力により個体Kを収束させることによる優位性を活用するために、処理後には初期分布における個体Kの分散範囲よりも狭い所定範囲内に収束していることが望ましい。
<具体例>
発明者は評価関数Hoptを具体的な数式とした実例に合わせて最適値を導出するシミュレーションを行っている。以下ではこの具体例を説明する。評価関数Hoptを下記の(10−1)式と定義した。ただし、f(x)は(10−2)式、g(x)は(10−3)式とし、ωは(10−4)式としている。
Figure 0006718338
この評価関数Hoptは、M=1次元の変数xに応じた関数とされており、図25に示すように、複数の極小値を有する関数である。このとき図26に示したように、(10−1)式、(10−2)式、(10−3)式、(10−4)式の定数xm、a、P、A、B、Cを設定している。このように定数xm、a、P、A、B、Cを設定することで、評価関数Hoptは、特に変数xの探索範囲(探索空間S)を−5.0≦x≦5.0としたときに、最適解が変数0.5となる関数を示す。
また図26に示したように、状態更新回数tの所定上限回数τを100とし、個体Kの数Nを10とし、図24のS2aに示すように、補助関数法を適用した処理を実行した。また図24の処理ステップS5において、引力係数g/2を増加させているが、下記の(10−5)式のように状態更新回数tの増加に応じて引力係数g/2を増加するように設定した。
Figure 0006718338
(10−5)式のgmax/2は引力係数g/2の最大値を示す。図27には、引力係数g/2の最大値gmax/2を横軸とし、収束成功したと見做すことが可能なシミュレーション回数を全シミュレーション回数で除して導出された成功確率を縦軸として示している。
ここでは、少なくとも一つの個体Kの変数xが、最適解x=0.5の谷Hyに含まれていることを成功条件としてカウントしている。ここでいう谷Hyとは、図25に示すように評価関数Hoptの評価値が最適解x=0.5の評価値からその高低両側の極大値に至るまでの範囲となることを満たす領域を示している。したがって、収束後において、少なくとも一つの個体Kの変数xが谷Hyに対応した領域内に含まれることを成功と見做している。
図27に示した結果を考慮すると、成功確率はgmax/2に依存することがわかる。図27の範囲gaに示すように、引力係数g/2の最大値gmax/2を小さくしすぎると、引力値が弱く個体Kが収束する可能性は低くなり成功確率は比較的低くなる。この方法は所謂並列勾配法に類似した方法となる。逆に、引力係数g/2の最大値gmax/2を大きくしすぎると、図27の範囲gbに示すように、評価関数Hoptを無視して収束することになり成功確率が低下する。このため、引力係数g/2の最大値gmax/2をそれらの範囲ga、gbとはならないある所定範囲gcに設定することで成功確率を極力上げることができる。特に、引力係数g/2の最大値gmax/2を範囲gcの中でも特定の範囲gdに設定することで90%近い成功確率を達成できることを確認できた。
図28は、全ての個体Kが最適解に含まれないように初期分布を構成し、当該個体Kの変数xが、ある一点に収束する過程で最適解を含む谷Hyに対応した所定領域xxに収束する様子について状態更新回数tを横軸として示している。前述したように、この図28に示す所定領域xxに収束後の個体の変数xが1つでも入力していれば成功と見做す。
個体Kが収束過程における広範囲を探索処理することで評価関数Hoptの極値をくまなく探索できるようになる。
しかも図25に示しているように、評価関数Hoptが変数x≒−0.5〜1.5の領域において極値を多数有する関数であったとしても、図28に示すように最適解=0.5を含む谷Hyに対応した領域xx内に個体Kを収束させることができることを確認できた。
(第6実施形態)
図29は第6実施形態の追加説明図を示している。第6実施形態は、収束後の処理を示す。例えば図2又は図24に示す処理を実行し、状態更新回数tを所定上限回数τまで繰り返したときに実効評価値Heffが極値化している場合であっても、図29に示すように個体Kが最適値を含む谷Hy1の1カ所に収束せず、他の谷Hy2等に位置していることがあり、この結果、何れの個体Kの変数xを解出力するか定めることができない場合がある。
(1)式を考慮すれば明らかなように、実効評価値Heffが極値とされていたとしても、複数の個体Kの間に引力を生じている状態で釣り合っていることになるため、ある個体Kの変数xを評価関数Hoptに代入してもその評価関数Hoptの評価値が必ずしも極値とはならないことが多い。このため、マイコン5は最終段階の処理として(1)式の第2項の引力係数g/2を0とし、実効評価値Heffとして第1項の評価関数Hoptの評価値そのものの極値を導出することが望ましい。
例えば図29に示すように、複数の個体Kがそれぞれ複数の谷Hy1、Hy2に位置している場合には、例えば前述の補助関数法を用いて極値化することで、複数の個体Kがそれぞれ対応した複数の谷Hy1、Hy2の極値に移動することになる。
これらの複数の個体Kの中で、変数xを(1)式の第1項に代入した実効評価値Heffが最小値を満たす個体Kの変数xを解として出力することが望ましい。これにより、変数xの最適値を導出できる。しかも、個体Kが1カ所に収束していない場合であっても、評価関数Hoptが極値となる変数xを確実に得ることができる。
本実施形態に係る処理を適用すれば、前述実施形態又はそれらの実施形態を組み合わせた方法をしたときに必ずしも1カ所の谷(例えばHy1)に収束している必要がなくなり、少なくとも1つの個体Kが変数xの最適解を含む谷Hy1に収束していればよくなる。このため、この処理を用いていない方法に比較して、例えば所定上限回数τを少なく設定できるようになる。
(第7実施形態)
図30から図32は第7実施形態の追加説明図を示している。この第7実施形態では探索開始前に予め推定解が与えられる例を示す。
例えば、車両用の運転支援装置101は、交通状況やその変化、事故防止への対応のために近年活発に開発されており、特にドライバーへの運転負担を軽減するために開発されている。例えば運転支援装置101は、図30に示すように、制御器102を備え、位置検出器103、速度センサ104、地図情報取得部105、等を接続して構成され、未来時刻における最適移動位置を通過する最適経路を最適化する最適化装置として構成される装置である。
制御器102は、例えばCPU106、ROM、RAM、EEPROMなどのメモリ107、及び、I/O108を備えたマイクロコンピュータ109を主として構成され、モデル予測制御処理に関するプログラムがメモリ107に記憶されている。運転支援装置101は、制御器102により実現される機能ブロックとして、図示しないが、図1Bと同様の設定部6、極値化部7、導出部8としての機能を備える。
位置検出器103は、例えばGPS(Global Positioning System)等を用いて現在位置の情報を検出する。速度センサ104は移動体Cの移動速度を検出する。地図情報取得部105は、所定の記憶装置(例えばHDD)に予め記憶される地図情報、又は、外部の地図サーバから地図情報を取得する。制御器102は、メモリ107に記憶されたモデル予測制御処理のプログラムを実行することにより、位置検出器103から取得される現在位置情報、速度センサ104から取得される移動体Cの移動速度情報、及び、地図情報取得部105により取得される地図情報に基づいてモデル予測制御を行う。なお、その他のセンサ、例えば車両周辺の障害物Ob1、Ob2を検知するための超音波センサ、車両周辺の障害物Ob1、Ob2との距離を測定するための測距装置、などにより取得される各種情報を用いてモデル予測制御を行っても良い。
このモデル予測制御技術は、未来予測を行う技術であり、未来を含む一定期間の最適制御を行い、これらの最適制御を所定の時間毎に更新する技術である。運転支援装置101は、モデル予測制御技術を用いることで未来を含む一定期間における移動体(例えば自動車)Cの最適な走行経路を導出したり、障害物Ob1、Ob2に衝突することなく所定の駐車スペースに導くように支援できる。
このような運転支援装置101の制御器102が、障害物Ob1、Ob2への衝突を避けながら経路探索処理を行うときには、図31に鳥瞰図を示すように、現在時刻t0から未来時刻t1〜t6までの一定期間t0〜t6における移動体Cの最適経路R0を導出することで時刻t1における最適移動位置L1を決定する。
図32に時刻t1におけるモデル予測制御処理を鳥瞰図で示している。図32に示すように、運転支援装置101の制御器102は、時刻t1において新たに現在時刻t1以降における未来時刻t2〜t7における最適経路R1を導出するが、時刻t1における最適経路R1は、時刻t0における最適経路R0と近い軌跡となることが考えられる。
このため、制御器102は、例えば時刻t1〜t6に対応した位置L1〜L6による最適経路R0を推定解とし、この推定解に基づいて第2実施形態に示したように、例えばこの最適経路R0を含む領域に近いほど個体Kを密に分布させると共に当該最適経路R0から遠ざかるほど密度を減少させるように個体Kを設定して初期分布を構成する。すると、少ない探索回数で最適解に到達する確率を高めることができるようになる。
本実施形態によれば、制御器102が、未来時刻t2〜t7における移動体Cの最適経路R1を導出するときには、過去の最適経路R0を推定解とし、初期分布として最適経路R0を含む領域に近いほど個体Kを密に分布させると共に最適経路R0から遠ざかるほど個体Kの密度を減少させる。これにより、少ない探索回数で最適解に到達する確率を高めることができる。
(他の実施形態)
本発明は、上記した実施形態に限定されるものではなく、以下のように変形又は拡張することができる。
前述実施形態では、個体Kの変数xを解出力する形態を説明しているが、変数xに対応した評価値、すなわち、解出力すべき変数xを評価関数Hoptに代入した評価値を解出力するようにしても良い。また、引力ポテンシャルfijに基づく引力値を0にする前の変数xを導出し、この変数xをそのまま解出力しても良いし、第6実施形態で説明したように、引力値を0にした後の変数xの最適値を導出して解出力しても良い。また、この変数xの最適値を評価関数Hoptに代入した評価値を導出し解出力しても良い。このような各種値を導出する場合に適用しても良い。
評価関数Hoptが極小値、最小値となる条件を満たす変数xを最適値として解出力する形態を示したが、極大値、最大値となる条件を満たす変数xを最適値として解出力する形態に適用しても良い。
所定の終了条件として、状態更新回数tが所定上限回数τを上回るか否かを条件としているが、これに限定されるものではなく、例えば変数xを代入した評価関数Hoptの評価値が所定値以下となっているか、などの異なる条件を用いても良い。
引力係数g/2を初期値=0から徐々に大きくする形態を示したが、初期値は0に限られない。
また、特許請求の範囲に記載した括弧内の符号は、本発明の一つの態様として前述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。前述実施形態の一部を、課題を解決できる限りにおいて省略した態様も実施形態と見做すことが可能である。また、特許請求の範囲に記載した文言によって特定される発明の本質を逸脱しない限度において、考え得るあらゆる態様も実施形態と見做すことが可能である。
また本発明は、前述した実施形態に準拠して記述したが、本発明は当該実施形態や構造に限定されるものではないと理解される。本発明は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範畴や思想範囲に入るものである。
図面中、1は最適化装置、101は運転支援装置(連続値最適化問題の大域的探索装置)、102は制御器、6は設定部、7は極値化部、8は導出部、Kは個体、Sは探索空間、xは変数、g/2は引力係数、Hoptは評価関数、Heffは実効評価値、xizは推定解、を示す。

Claims (40)

  1. 1以上の次元を備えた探索空間(S)に複数の極値を備える評価関数(Hopt)に個体(K)を設定することに基づいて個体の変数(x)または変数の最適値を導出する連続値最適化問題の大域的探索装置(1、101)であって、
    複数の個体の変数を前記探索空間の中の評価関数に沿って設定する設定部(6)と、
    前記設定部により設定される複数の個体のうち少なくとも2つ以上の選定個体に引力を作用させる引力ポテンシャルを導出し、前記複数の個体の変数による評価関数の評価値を加算した評価加算値、及び、導出された前記選定個体の間の引力ポテンシャルを加算しこの加算値に前記選定個体の間に作用させる引力係数(g/2)とを乗算した引力値、を加算した実効評価値(Heff)を極値化する極値化部(7)と、
    前記引力係数を初期値から徐々に大きくしながら前記極値化部により実効評価値が極値化するように前記複数の個体の変数を変化させ、所定の終了条件を満たしたときにおける前記複数の個体の少なくとも一つの個体に基づいて、前記個体の変数、その変数の最適値、変数に対応した評価値、又は、評価値の最適値を導出する導出部(8)と、
    を備える大域的探索装置。
  2. 請求項1記載の大域的探索装置において、
    前記変数の探索を開始する前に予め変数の推定解(xiz)が与えられている場合には、
    前記設定部は、初期分布として前記探索空間の内部に限定された限定探索範囲(Sa)であって当該推定解を含む限定探索範囲に前記個体の変数を設定する大域的探索装置。
  3. 請求項1または2記載の大域的探索装置において、
    前記設定部は、初期分布として前記探索空間に前記複数の個体の変数をランダムに設定する大域的探索装置。
  4. 請求項1または2記載の大域的探索装置において、
    前記設定部は、初期分布として少なくとも1つ以上の個体の少なくとも一つ以上の変数を前記探索空間の上限値又は下限値とし、その他の個体の変数をランダムに設定する大域的探索装置。
  5. 請求項1または2記載の大域的探索装置において、
    前記設定部は、初期分布として前記探索空間を分割した格子点位置になるように前記個体の変数を設定する大域的探索装置。
  6. 請求項5記載の大域的探索装置において、
    前記個体の変数が極値の生成に寄与する寄与度の高い前記個体の変数の分割数を寄与度の低い個体の変数よりも大きく設定する大域的探索装置。
  7. 請求項5または6記載の大域的探索装置において、
    前記設定部は、前記初期分布として少なくとも1つ以上の変数が上限値又は下限値となる個体を選定して設定する大域的探索装置。
  8. 請求項3から7の何れか一項に記載の大域的探索装置において、
    前記設定部は、前記探索空間を複数の部分空間(Sc、Sd)に分け、当該各部分空間にそれぞれ個体を設定し、
    前記導出部は、前記極値化部により求められた実効評価値が所定終了条件を満たしたときにおける前記複数の個体の少なくとも一つの個体に基づいて前記各種値を導出する大域的探索装置。
  9. 請求項1記載の大域的探索装置において、
    前記変数の探索を開始する前に予め変数の推定解(xiz)が与えられている場合には、
    前記設定部は、初期分布として前記推定解を含む空間に近いほど個体を密に分布させると共に前記推定解から遠ざかるほど個体の密度を減少させるように設定する大域的探索装置。
  10. 請求項1記載の大域的探索装置において、
    前記変数の探索を開始する前に予め変数の推定解(xiz)が与えられている場合には、
    前記設定部は、初期分布として前記推定解を含む空間に近い所定範囲(Sb)に個体密に分布させると共にその他の個体を前記所定範囲の外に密度を減少させてランダムに分布させ、その他の個体の少なくとも1つの個体の少なくとも一つ以上の変数を前記探索空間の上限値又は下限値に設定する大域的探索装置。
  11. 請求項1から10の何れか一項に記載の大域的探索装置において、
    前記極値化部は、前記複数の個体に対し識別符号を順序付けて付し、順序が隣接する識別符号が付された個体を前記選定個体として引力値を導出し、順序が隣接しない識別符号が付された個体を前記選定個体とせず引力値を0とする大域的探索装置。
  12. 請求項5から7の何れか一項に記載の大域的探索装置において、
    前記極値化部は、変数の数をM(但しMは1以上の自然数)としたときに、前記格子点位置の個体と隣接する格子点位置の最大2×M個の個体を前記選定個体として引力値を導出し、その他の個体を選定個体とすることなく前記引力値を0とする大域的探索装置。
  13. 請求項11または12記載の大域的探索装置において、
    前記極値化部が前記複数の個体の間の引力ポテンシャルを導出し引力値を導出するときには、前記複数の個体の間の距離が大きいほど大きな引力値とし距離が小さいほど小さな引力値とする大域的探索装置。
  14. 請求項13記載の大域的探索装置において、
    前記極値化部が前記複数の個体の間の引力ポテンシャルを導出し引力値を導出するときに、
    Figure 0006718338
    の(2)式により導出する大域的探索装置。
  15. 請求項11または12記載の大域的探索装置において、
    前記極値化部が前記複数の個体の間の引力ポテンシャルを導出し引力値を導出するときには、前記複数の個体の間の距離に依存しない引力値とする大域的探索装置。
  16. 請求項15記載の大域的探索装置において、
    前記極値化部が前記複数の個体の間の引力ポテンシャルを導出し引力値を導出するときに、
    Figure 0006718338
    の(3)式により導出する大域的探索装置。
  17. 請求項1から16の何れか一項に記載の大域的探索装置において、
    前記導出部は、少なくとも一つの個体の評価値に基づいて各種値を導出するときに、前記引力値を0として前記複数の個体の評価加算値による実効評価値を極値化して前記複数の個体の変数の実効評価値の最小値を導出し、当該実効評価値が最小値を満たす変数を最適値として導出する大域的探索装置。
  18. 請求項1から17の何れか一項に記載の大域的探索装置において、
    前記極値化部が、前記実効評価値を極値化するときには、
    前記評価加算値及び前記引力値のそれぞれについて、当該値の解候補を求めた後、当該解候補を代入したときの微分値が当該評価関数の微分値と等しく、且つ、前記解候補を含む探索空間の内の全ての変数における評価値よりも大きな値を得る条件を満たす2次関数に置換し、当該2次関数の極値を次回の値の解候補として繰り返して更新する補助関数法を用い、
    前記評価加算値と前記引力値とを加算した実効評価値を極値化する大域的探索装置。
  19. 請求項14記載の大域的探索装置において、
    前記極値化部が、前記実効評価値を極値化するときには、
    前記評価加算値及び前記引力値のそれぞれについて、当該値の解候補を求めた後、当該解候補を代入したときの微分値が当該評価関数の微分値と等しく、且つ、前記解候補を含む探索空間の内の全ての変数における評価値よりも大きな値を得る条件を満たすリプシッツ定数を用いた2次関数に置換し、当該2次関数の極値を次回の値の解候補として繰り返して更新する補助関数法を用い、
    前記評価加算値と前記引力値とを加算した実効評価値を極値化するものであり、
    前記極値化部が、前記引力値について前記補助関数法を用いるときには前記2次関数のリプシッツ定数を4に固定して設定する大域的探索装置。
  20. 請求項1記載の大域的探索装置(101)であって、
    前記導出部が、前記個体の変数又はその最適値として、未来時刻における最適経路(R1)を導出するときに、
    前記設定部は、過去の最適経路(R0)を推定解とし、初期分布として前記推定解を含む領域に近いほど個体を密に分布させると共に前記推定解から遠ざかるほど個体の密度を減少させるように設定する大域的探索装置。
  21. 1以上の次元を備えた探索空間(S)に複数の極値を備える評価関数(Hopt)に個体(K)を設定することに基づいて個体の変数(x)または変数の最適値を導出するプログラムであって、
    大域的探索装置(1,101)に、
    複数の個体の変数を前記探索空間の中の評価関数に沿って設定する手順と、
    設定された複数の個体のうち少なくとも2つ以上の選定個体に引力を作用させる引力ポテンシャルを導出し、前記複数の個体の変数による評価関数の評価値を加算した評価加算値、及び、導出された前記選定個体の間の引力ポテンシャルを全て加算しこの加算値に前記選定個体の間に作用させる引力係数(g/2)とを乗算した引力値、を加算した実効評価値(Heff)を極値化する手順と、
    前記引力係数を初期値から徐々に大きくしながら実効評価値が極値化するように前記複数の個体の変数を変化させ、所定の終了条件を満たしたときにおける前記複数の個体の少なくとも一つの個体の評価値に基づいて、前記個体の変数、その変数の最適値、変数に対応した評価値、又は、評価値の最適値を導出する手順と、
    を実行させるプログラム。
  22. 請求項21記載のプログラムにおいて、
    前記変数の探索を開始する前に予め変数の推定解(xiz)が与えられている場合には、
    前記大域的探索装置が前記複数の個体の変数を設定する手順では、初期分布として前記探索空間に限定された限定探索範囲(Sa)であって当該推定解を含む限定探索範囲に前記個体の変数を設定するプログラム。
  23. 請求項21または22記載のプログラムにおいて、
    前記大域的探索装置が前記複数の個体の変数を設定する手順では、初期分布として前記探索空間に前記複数の個体の変数をランダムに設定するプログラム。
  24. 請求項21または22記載のプログラムにおいて、
    前記大域的探索装置が前記複数の個体の変数を設定する手順では、初期分布として少なくとも1つ以上の個体の少なくとも一つ以上の変数を前記探索空間の上限値又は下限値とし、その他の個体の変数をランダムに設定するプログラム。
  25. 請求項21または22記載のプログラムにおいて、
    前記大域的探索装置が前記複数の個体の変数を設定する手順では、初期分布として前記探索空間において全ての個体の変数を分割した格子点位置になるように前記個体の変数を設定するプログラム。
  26. 請求項25記載のプログラムにおいて、
    前記大域的探索装置が前記複数の個体の変数を設定する手順では、前記個体の変数が極値の生成に寄与する寄与度の高い前記個体の変数の分割数を寄与度の低い個体の変数よりも大きく設定するプログラム。
  27. 請求項25または26記載のプログラムにおいて、
    前記大域的探索装置が前記複数の個体の変数を設定する手順では、前記初期分布として少なくとも1つ以上の変数が上限値又は下限値となる個体を選定して設定するプログラム。
  28. 請求項23から27の何れか一項に記載のプログラムにおいて、
    前記探索空間を複数の部分空間(Sc、Sd)に分け、当該各部分空間にそれぞれ個体を設定し、実効評価値を極値化して求め当該実効評価値が所定終了条件を満たしたときにおける前記複数の個体の少なくとも一つの個体の評価値に基づいて前記個体の変数又はその変数の最適値を導出するプログラム。
  29. 請求項21記載のプログラムにおいて、
    前記変数の探索を開始する前に予め変数の推定解(xiz)が与えられている場合には、
    前記大域的探索装置が前記複数の個体の変数を設定する手順では、初期分布として前記推定解を含む空間に近いほど個体を密に分布させると共に前記推定解から遠ざかるほど個体の密度を減少させるように設定するプログラム。
  30. 請求項21記載のプログラムにおいて、
    前記変数の探索を開始する前に予め変数の推定解(xiz)が与えられている場合には、
    前記大域的探索装置が前記複数の個体の変数を設定する手順では、初期分布として前記推定解を含む空間に近い所定範囲内に個体を密に分布させると共にその他の個体を前記所定範囲の外に密度を減少させてランダムに分布させ、その他の個体の少なくとも1つの個体の少なくとも一つ以上の変数を前記探索空間の上限値又は下限値に設定するプログラム。
  31. 請求項21から30の何れか一項に記載のプログラムにおいて、
    前記実効評価値を極値化する手順では、前記複数の個体に対し識別符号を順序付けて付し、順序が隣接する識別符号が付された個体を前記選定個体として引力値を導出し、順序が隣接しない識別符号が付された個体を前記選定個体とせず引力値を0とするプログラム。
  32. 請求項25から27の何れか一項に記載のプログラムにおいて、
    前記実効評価値を極値化する手順では、変数の数をM(但しMは1以上の自然数)としたときに、前記格子点位置の個体と隣接する格子点位置の最大2×M個の個体を前記選定個体として引力値を導出し、その他の個体を選定個体とすることなく前記引力値を0とするプログラム。
  33. 請求項31または32記載のプログラムにおいて、
    前記実効評価値を極値化する手順では、前記複数の個体の間の引力ポテンシャルを導出し引力値を導出するときには、前記複数の個体の間の距離が大きいほど大きな引力値とし距離が小さいほど小さな引力値とするプログラム。
  34. 請求項33記載のプログラムにおいて、
    前記実効評価値を極値化する手順では、前記複数の個体の間の引力ポテンシャルを導出し引力値を導出するときに、
    Figure 0006718338
    の(2)式により導出するプログラム。
  35. 請求項31または32記載のプログラムにおいて、
    前記実効評価値を極値化する手順において、前記複数の個体の間の引力ポテンシャルを導出するときには、前記複数の個体の間の距離に依存しない引力値とするプログラム。
  36. 請求項35記載のプログラムにおいて、
    前記実効評価値を極値化する手順では、前記複数の個体の間の引力ポテンシャルを導出し引力値を導出するときに、
    Figure 0006718338
    の(3)式により導出するプログラム。
  37. 請求項21から36の何れか一項に記載のプログラムにおいて、
    前記各種値を導出する手順では、少なくとも一つの個体の評価値に基づいて個体の変数を導出するときに、前記引力値を0として前記複数の個体の評価加算値による実効評価値を極値化して前記複数の個体の変数の実効評価値の最小値を導出し、当該実効評価値が最小値を満たす変数を最適値として導出するプログラム。
  38. 請求項21から37の何れか一項に記載のプログラムにおいて、
    前記実効評価値を極値化する手順では、
    前記評価加算値及び前記引力値のそれぞれについて、当該値の解候補を求めた後、当該解候補を代入したときの微分値が当該評価関数の微分値と等しく、且つ、前記解候補を含む探索空間の内の全ての変数における評価値よりも大きな値を得る条件を満たす2次関数に置換し、当該2次関数の極値を次回の値の解候補として繰り返して更新する補助関数法を用い、
    前記評価加算値と前記引力値とを加算した実効評価値を極値化するプログラム。
  39. 請求項34記載のプログラムにおいて、
    前記実効評価値を極値化する手順では、
    前記評価加算値及び前記引力値のそれぞれについて、当該値の解候補を求めた後、当該解候補を代入したときの微分値が当該評価関数の微分値と等しく、且つ、前記解候補を含む探索空間の内の全ての変数における評価値よりも大きな値を得る条件を満たすリプシッツ定数を用いた2次関数に置換し、当該2次関数の極値を次回の値の解候補として繰り返して更新する補助関数法を用い、
    前記評価加算値と前記引力値とを加算した実効評価値を極値化するものであり、
    前記引力値について前記補助関数法を用いるときには前記2次関数のリプシッツ定数を4に固定して設定するプログラム。
  40. 請求項21記載のプログラムにおいて、
    前記個体の変数又はその最適値を導出する手順では、未来時刻における最適経路(R1)を導出するものであって、
    前記複数の個体の変数を設定する手順では、過去の最適経路(R0)を推定解とし、初期分布として前記推定解を含む領域に近いほど個体を密に分布させると共に前記推定解から遠ざかるほど個体の密度を減少させるように設定するプログラム。
JP2016171776A 2016-09-02 2016-09-02 連続値最適化問題の大域的探索装置及びプログラム Expired - Fee Related JP6718338B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016171776A JP6718338B2 (ja) 2016-09-02 2016-09-02 連続値最適化問題の大域的探索装置及びプログラム
PCT/JP2017/023050 WO2018042840A1 (ja) 2016-09-02 2017-06-22 連続値最適化問題の大域的探索装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016171776A JP6718338B2 (ja) 2016-09-02 2016-09-02 連続値最適化問題の大域的探索装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2018037003A JP2018037003A (ja) 2018-03-08
JP6718338B2 true JP6718338B2 (ja) 2020-07-08

Family

ID=61300401

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016171776A Expired - Fee Related JP6718338B2 (ja) 2016-09-02 2016-09-02 連続値最適化問題の大域的探索装置及びプログラム

Country Status (2)

Country Link
JP (1) JP6718338B2 (ja)
WO (1) WO2018042840A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7463996B2 (ja) 2021-03-26 2024-04-09 横河電機株式会社 装置、方法およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185728A (ja) * 1997-09-10 1999-03-30 Hitachi Ltd 極小値・最小値探索方法
JP5635464B2 (ja) * 2011-08-08 2014-12-03 株式会社神戸製鋼所 転炉の副原料投入量計算装置および該方法
WO2015168431A1 (en) * 2014-04-30 2015-11-05 Stc.Unm Optimization methods for radiation therapy planning

Also Published As

Publication number Publication date
JP2018037003A (ja) 2018-03-08
WO2018042840A1 (ja) 2018-03-08

Similar Documents

Publication Publication Date Title
KR101951595B1 (ko) 모듈형 순환 신경망 구조 기반 차량 경로 예측 시스템 및 방법
CN108423005B (zh) 用于自主车辆的基于反馈的控制模型的生成
JP6849932B2 (ja) 高精密度のイメージを分析するためのディープラーニングネットワークを使用するためにトレーニングイメージをオートラベリングするオートラベルリング装置のハイパーパラメータを最適化する方法、及びこれを利用した最適化装置
JP6620422B2 (ja) 設定方法、設定プログラム、及び設定装置
CN110390396B (zh) 用于估计观测变量之间的因果关系的方法、装置和***
US11537930B2 (en) Information processing device, information processing method, and program
CN112148008B (zh) 一种基于深度强化学习的实时无人机路径预测方法
JP7215077B2 (ja) 予測プログラム、予測方法及び予測装置
KR102543698B1 (ko) 컴퓨팅 시스템 및 상기 장치에서 수행되는 데이터 라벨링 방법
US11605026B2 (en) Methods and systems for support policy learning
JP2020123269A (ja) 演算装置
CN114175068A (zh) 一种通过使用自适应超参数集的多阶段学习对自动驾驶汽车的机器学习网络进行设备上学习的方法及使用其的设备上学习装置
WO2020000191A1 (en) Method for driver identification based on car following modeling
JP6718338B2 (ja) 連続値最適化問題の大域的探索装置及びプログラム
US20210241543A1 (en) Toll control system, toll control apparatus, toll control method, and computer-readable recording medium
US20210018322A1 (en) Probabilistic decision engine
CN110779526B (zh) 一种路径规划方法、装置及存储介质
CN110728359B (zh) 搜索模型结构的方法、装置、设备和存储介质
JPWO2017037859A1 (ja) 情報処理装置及び方法
Kurogi et al. Performance improvement via bagging in probabilistic prediction of chaotic time series using similarity of attractors and LOOCV predictable horizon
JP2024521717A (ja) コンピュータ制御されるシステムの安全な制御/監視
Acar et al. Reliability estimation using guided tail modeling with adaptive sampling
KR102664948B1 (ko) 인공 지능 모델에 대한 입력 데이터를 전처리하기 위한 장치 및 이를 위한 방법
CN113239469B (zh) 一种车体零部件的结构优化方法、装置、设备及存储介质
CN117036966B (zh) 地图中点位特征的学习方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200317

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200519

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200612

R150 Certificate of patent or registration of utility model

Ref document number: 6718338

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees