(57)【要約】      （修正有）【課題】解の精度と処理速度を共に向上できるようにした連続値最適化問題の大域的探索装置及びプログラムを提供する。【解決手段】設定部は、多数の要求、制約の中から一部の要求、制約により生成した部分評価関数に分け、部分評価関数に沿って１または複数の個体を設定する。そして、最適解探索部は、設定された部分評価関数の最適解を探索しながら、または、部分的な最適解を探索した後、当該探索される部分的な解を備える個体の間に引力を作用させて全体評価関数の最適解を探索する。【選択図】図２
2018156619.tif 000002
【特許請求の範囲】
【請求項１】
複数の要求、制約により生成される全体評価関数について、一部の要求、制約により生成した部分評価関数（Ｈｉ（ｘ））に分け、１または複数の個体を前記部分評価関数に沿って設定する設定部（６）と、
前記設定された部分評価関数の部分的な最適解を探索しながら、または、部分的な最適解を探索した後、当該探索される部分的な解を備える個体の間に引力を作用させて前記全体評価関数の最適解を探索する最適解探索部（７）と、
を備える連続最適化問題の大域的探索装置。
【請求項２】
前記最適解探索部は、
前記部分評価関数と引力相互作用項（ｆ（ｘｉ−ｘｉ＋１））により構成される実効的な評価関数（Ｈｅｆｆ）を（１）式としたときに、
前記引力相互作用項の勾配に応じて前記個体の変数の第１更新幅（Δｘｑ）を導出し、前記部分評価関数の勾配に応じて前記個体の変数の第２更新幅（Δｘｃ）を導出し、当該第２更新幅（Δｘｃ）を前記第１更新幅（Δｘｑ）に加算した合計更新幅（Δｘ）を算出して導出するように構成され、
前記引力相互作用項の勾配に応じて前記個体の変数の第１更新幅（Δｘｑ）を導出するときに、前記引力相互作用項の勾配の移動平均値と前記引力相互作用項の勾配の二乗の移動平均値とが近くなるにしたがって前記第１更新幅を大きくすると共に前記勾配の移動平均値が前記勾配の二乗の移動平均値よりも小さくなるにつれて前記第１更新幅を小さくするように導出する請求項１記載の連続最適化問題の大域的探索装置。
【数１】
2018156619.tif 000028
【請求項３】
前記引力相互作用項の勾配を（１９）式とし、前記引力相互作用項の勾配の移動平均値を（２０−１）式とし、前記引力相互作用項の勾配の二乗の移動平均値を（２０−２）式としたときに、前記第１更新幅を（２１−１）式、（２１−２）式のように導出する請求項２記載の連続最適化問題の大域的探索装置。
【数１９】
2018156619.tif 000029
【数２０】
2018156619.tif 000030
【数２１】
2018156619.tif 000031
【請求項４】
前記最適解探索部は、
前記第２更新幅を導出するときに、前記部分評価関数の勾配の移動平均値と前記部分評価関数の勾配の二乗の移動平均値とが近くなるにしたがって前記第２更新幅を大きくすると共に前記勾配の移動平均値が前記勾配の二乗の移動平均値よりも小さくなるにつれて前記第２更新幅を小さくするように導出する請求項２または３記載の連続最適化問題の大域的探索装置。
【請求項５】
前記部分評価関数の勾配を（１６）式とし、前記部分評価関数の勾配の移動平均値を（１７−１）式とし、前記部分評価関数の勾配の二乗の移動平均値を（１７−２）式としたときに、前記第２更新幅を（１８−１）式、（１８−２）式のように導出する請求項４記載の連続最適化問題の大域的探索装置。
【数１６】
2018156619.tif 000032
【数１７】
2018156619.tif 000033
【数１８】
2018156619.tif 000034
【請求項６】
前記最適解探索部は、前記実効的な評価関数を（１）式として定義したときに、引力相互作用の項を（２５）式とし、前記（２５）式中のρｉを所定値とするか又は初期値から大きくすることで個体の間に引力を作用させて最適値に収束させる請求項２から５の何れか一項に記載の連続最適化問題の大域的探索装置。
【数２５】
2018156619.tif 000035
【請求項７】
前記最適解探索部は、前記部分評価関数と引力相互作用項（ｆ（ｘｉ−ｘｉ＋１））により構成される実効的な評価関数（Ｈｅｆｆ）を（１）式としたときに、引力相互作用の項を（２）式として（３）式を満たすように個体の間に引力を作用させる請求項１記載の連続最適化問題の大域的探索装置。
【数１】
2018156619.tif 000036
【数２】
2018156619.tif 000037
【数３】
2018156619.tif 000038
【請求項８】
前記（３）式のｇ（ｘ）を（４）式として探索する請求項７記載の連続最適化問題の大域的探索装置。
【数４】
2018156619.tif 000039
【請求項９】
前記最適解探索部は、前記実効的な評価関数を（１）式として定義したときに、引力相互作用の項を（１５）式とし、前記（１５）式中のρｉを初期値から大きくすることで個体の間に引力を作用させて最適値に収束させる請求項１記載の連続最適化問題の大域的探索装置。
【数１５】
2018156619.tif 000040
【請求項１０】
前記最適解探索部が前記実効的な評価関数を極小化するときには、
前記部分評価関数（Ｈｉ）の解候補を求めた後、当該解候補を代入したときの微分値が当該部分評価関数の微分値と等しく、且つ、前記解候補を含む探索空間の内の全ての変数における評価値よりも大きな値を得る条件を満たす２次関数に置換し、当該２次関数の極値を次回の値の解候補として繰り返して更新する補助関数法を用いる請求項１、７から９の何れか一項に記載の連続最適化問題の大域的探索装置。
【請求項１１】
前記設定部は、初期分布として前記探索空間に前記複数の個体の変数をランダムに分布させるように設定する請求項１から１０の何れか一項に記載の連続最適化問題の大域的探索装置。
【請求項１２】
前記変数の探索を開始する前に予め変数の推定解（ｘiz）が与えられている場合には、
前記設定部は、初期分布として前記探索空間の内部に限定された限定探索範囲（Ｓａ）であって当該推定解を含む限定探索範囲に前記個体の変数を設定する請求項１から１０の何れか一項に記載の連続最適化問題の大域的探索装置。
【請求項１３】
前記個体は前記部分評価関数の間で同数の変数（ｘｉ）を備える請求項１から１２のいずれか一項に記載の連続最適化問題の大域的探索装置。
【請求項１４】
大域的探索装置（１）に、
複数の要求、制約により生成される全体評価関数について、一部の要求、制約により生成した部分評価関数（Ｈｉ（ｘｉ））に分け、１または複数の個体を前記部分評価関数に沿って設定する手順と、
前記設定された部分評価関数により部分的な最適解を探索する手順と、
前記部分的な最適解を探索しながら、または、部分的な最適解を探索した後、当該探索される部分的な解を備える個体の間に引力を作用させて前記全体評価関数の最適解を探索する手順と、
を実行させるプログラム。
【請求項１５】
前記全体評価関数の最適解を探索する手順では、
前記部分評価関数と引力相互作用項（ｆ（ｘｉ−ｘｉ＋１））により構成される実効的な評価関数（Ｈｅｆｆ）を（１）式としたときに、
前記引力相互作用項の勾配に応じて前記個体の変数の第１更新幅（Δｘｑ）を導出し、前記部分評価関数の勾配に応じて前記個体の変数の第２更新幅（Δｘｃ）を導出し、当該第２更新幅（Δｘｃ）を前記第１更新幅（Δｘｑ）に加算した合計更新幅（Δｘ）を算出して導出するものであり、
前記引力相互作用項の勾配に応じて前記個体の変数の第１更新幅（Δｘｑ）を導出するときに、前記引力相互作用項の勾配の移動平均値と前記引力相互作用項の勾配の二乗の移動平均値とが近くなるにしたがって前記第１更新幅を大きくすると共に前記勾配の移動平均値が前記勾配の二乗の移動平均値よりも小さくなるにつれて前記第１更新幅を小さくするように導出する請求項１４記載のプログラム。
【数１】
2018156619.tif 000041
【請求項１６】
前記全体評価関数の最適解を探索する手順では、
前記引力相互作用項の勾配を（１９）式とし、前記引力相互作用項の勾配の移動平均値を（２０−１）式とし、前記引力相互作用項の勾配の二乗の移動平均値を（２０−２）式としたときに、前記第１更新幅を（２１−１）式、（２１−２）式のように導出する請求項１５記載のプログラム。
【数１９】
2018156619.tif 000042
【数２０】
2018156619.tif 000043
【数２１】
2018156619.tif 000044
【請求項１７】
前記全体評価関数の最適解を探索する手順では、
前記部分評価関数の勾配に応じて前記個体の変数の第２更新幅（Δｘｃ）を導出し、当該第２更新幅を前記第１更新幅（Δｘｑ）に加算した合計更新幅（Δｘ）を算出して導出するように構成され、
前記第２更新幅を導出するときに、前記部分評価関数の勾配の移動平均値と前記部分評価関数の勾配の二乗の移動平均値とが近くなるにしたがって前記第２更新幅を大きくすると共に前記勾配の移動平均値が前記勾配の二乗の移動平均値よりも小さくなるにつれて前記第２更新幅を小さくするように導出する請求項１５または１６記載のプログラム。
【請求項１８】
前記部分評価関数の勾配を（１６）式とし、前記部分評価関数の勾配の移動平均値を（１７−１）式とし、前記部分評価関数の勾配の二乗の移動平均値を（１７−２）式としたときに、前記第２更新幅を（１８−１）式、（１８−２）式のように導出する請求項１７記載のプログラム。
【数１６】
2018156619.tif 000045
【数１７】
2018156619.tif 000046
【数１８】
2018156619.tif 000047
【請求項１９】
前記実効的な評価関数を（１）式として定義したときに、前記引力相互作用項を（２５）式とし、前記（２５）式中のρｉを所定値とするか又は初期値から大きくすることで個体の間に引力を作用させて最適値に収束させる請求項１５から１８の何れか一項に記載のプログラム。
【数２５】
2018156619.tif 000048
【請求項２０】
前記全体評価関数の最適解を探索する手順では、
前記部分評価関数と引力相互作用項（ｆ（ｘｉ−ｘｉ＋１））により構成される実効的な評価関数（Ｈｅｆｆ）を（１）式としたときに、引力相互作用の項を（２）式として（３）式を満たすように前記個体の間に引力を作用させる請求項１４記載のプログラム。
【数１】
2018156619.tif 000049
【数２】
2018156619.tif 000050
【数３】
2018156619.tif 000051
【請求項２１】
前記全体評価関数の最適解を探索する手順では、
前記（３）式のｇ（ｘ）を（４）式として探索する請求項２０記載のプログラム。
【数４】
2018156619.tif 000052
【請求項２２】
前記全体評価関数の最適解を探索する手順では、
前記実効的な評価関数を（１）式として定義したときに、引力相互作用の項を（１５）式とし、前記（１５）式中のρｉを初期値から大きくすることで個体の間に引力を作用させて最適値に収束させる請求項１４記載のプログラム。
【数１５】
2018156619.tif 000053
【請求項２３】
前記実効的な評価関数を極小化する手順では、
前記部分評価関数（Ｈｉ）の解候補を求めた後、当該解候補を代入したときの微分値が当該部分評価関数の微分値と等しく、且つ、前記解候補を含む探索空間の内の全ての変数における評価値よりも大きな値を得る条件を満たす２次関数に置換し、当該２次関数の極値を次回の値の解候補として繰り返して更新する補助関数法を用いる請求項１４，２０から２２の何れか一項に記載のプログラム。
【請求項２４】
前記複数の個体の変数を設定する手順では、
前記初期分布として前記探索空間に前記複数の個体の変数をランダムに分布させるように設定する請求項１４から２３の何れか一項に記載のプログラム。
【請求項２５】
前記変数の探索を開始する前に予め変数の推定解（ｘiz）が与えられている場合、
前記複数の個体の変数を設定する手順では、
前記初期分布として前記探索空間の内部に限定された限定探索範囲（Ｓａ）であって当該推定解を含む限定探索範囲に前記個体の変数を設定する請求項１４から２３の何れか一項に記載のプログラム。
【請求項２６】
前記個体は前記部分評価関数の間で同数の変数（ｘｉ）を備える請求項１４から２５のいずれか一項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連続最適化問題の大域的探索装置及びプログラムに関する。
【背景技術】
【０００２】
例えば、多次元の探索空間において変数、すなわちパラメータの最適値を求める手法が提案されている（例えば、特許文献１参照）。特許文献１記載の技術によれば、探索空間内に最適値算出対象のパラメータを要素とする複数の個体を生成し、これらの個体の評価値を算出し、個体の中から評価値の悪い個体を選択している。そして、この選択された個体を評価値の良い個体に所定の割合（α）で近づけている。また、評価値の悪い個体を最良の評価値の個体から一定のユークリッド距離内にある任意の領域に移動させている。そして、より良い評価値の個体を選択し最良の評価値の個体を随時更新し、複数の個体の評価値を収束させ、終了判定条件を満たしたと判定した時点で最良の評価値を有する個体に含まれるパラメータをパラメータの最適値として出力している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２３３６７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば多数の極値を備える評価関数を適用した場合、特許文献１に記載の技術を用いて変数の最適値を探索すると、多数の極値を網羅的に探索するためには所定の割合αを小さく設定して収束過程における探索処理を細かく設定しなければならない。すると、収束しきるまでに長時間を要してしまい、解の精度と処理速度とを両立することが困難となる。
本発明の目的は、解の精度と処理速度を共に向上できるようにした連続最適化問題の大域的探索装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
請求項１に記載した発明は、複数の要求、制約により生成される全体評価関数の最適解を探索するための連続最適化問題の大域的探索装置である。この請求項１記載の発明によれば、次のように作用する。設定部は、多数の要求、制約の中から一部の要求、制約により生成される部分評価関数に分け、部分評価関数に沿って１または複数の個体を設定する。そして、最適解探索部は、設定された部分評価関数の最適解を探索しながら、または、部分的な最適解を探索した後、当該探索される部分的な解を備える個体の間に引力を作用させて全体評価関数の最適解を探索する。
【０００６】
請求項１記載の発明によれば、一度に全ての要求、制約を扱うことなく、少数の要求、制約による部分評価関数の最適解を探索しながら又は探索した後、全ての要求、制約による全体評価関数の最適解を探索できるようになり、高速且つ高精度に探索可能になる。
【図面の簡単な説明】
【０００７】
【図１Ａ】第１実施形態を示す連続最適化問題の大域的探索装置の電気的構成図
【図１Ｂ】連続最適化問題の大域的探索装置を機能的に示すブロック図
【図２】処理の流れを概略的に示すフローチャート（その１）
【図３】探索処理のイメージ図
【図４】取得データとそのモデル例
【図５】部分評価関数のイメージ図
【図６】グループ分けされた部分評価関数にそれぞれ１つの個体を設定するときの設定例
【図７】部分評価関数の極小値に収束させたときの個体の位置を示す図
【図８】引力相互作用を説明する説明図
【図９】処理の流れを概略的に示すフローチャート（その２）
【図１０】補助関数法の詳細イメージを概略的に示す図
【図１１】第３実施形態について初期分布を示す図（その１）
【図１２】初期分布を示す図（その２）
【図１３】初期分布を示す図（その３）
【図１４】初期分布を示す図（その４）
【図１５】初期分布を示す図（その５）
【図１６】第４実施形態について更新初期における更新イメージを示す説明図
【図１７】変数が極小値近辺に遷移した後の更新イメージを示す説明図
【図１８】深層学習ネットワークの構成例
【図１９】検証条件パラメータ
【図２０】第４実施形態を適用したときのLossfunctionの検証結果
【図２１】比較例を適用したときのLossfunctionの検証結果
【図２２】第４実施形態を適用したときのAccuracyの検証結果
【図２３】比較例を適用したときのAccuracyの検証結果
【発明を実施するための形態】
【０００８】
以下、本発明の連続最適化問題の大域的探索装置及びプログラムの幾つかの実施形態について図面を参照して説明する。以下の実施形態中では、各実施形態間で同一機能または類似機能を備えた部分に同一符号を付して説明を行い、同一又は類似機能を備えた構成及びその作用、連携動作説明等を必要に応じて省略する。
【０００９】
（第１実施形態）
図１Ａから図１０は第１実施形態の説明図を示している。最適化装置１は、ＣＰＵ２と、ＲＯＭ、ＲＡＭ等のメモリ３と、入出力インタフェース４とをバス接続して構成されたマイクロコンピュータ（以下マイコン）５、又は汎用コンピュータなどを用いて連続最適化問題の大域的探索装置として構成される。以下、マイコン５が最適化処理を実行することとして説明を行う。マイコン５が、メモリ３に記憶された最適化プログラムを実行し、各種手順を実行することで最適化処理を実行する。メモリ３は非遷移的実体的記録媒体として用いられる。
【００１０】
ここで最適化処理とは、１以上のＭ（≧１）次元を備えたユークリッド空間からなる探索空間Ｓを想定し、この探索空間Ｓの中で、複数の要求や制約によって生成された全体評価関数Ｈoptの最小値、または、全体評価関数Ｈoptが最適値となる条件を満たす変数ｘi、すなわち最適解を求める処理を示す。
以下では、全体評価関数Ｈoptの最小値を最適値として求めるための形態を示すが、最大値を最適値として求める処理に適用しても良い。
【００１１】
全体評価関数Ｈoptは、複数の要求や制約によって生成され、１以上のＭ個の変数（パラメータ）に基づいて導出される数式による関数を示すものであり、例えば任意の多項式、有理関数、無理関数、指数関数、対数関数やその加減乗除等による組み合わせなどを挙げることができる。図１Ｂに示すように、最適化装置１は、マイコン５により実現される機能として、設定部６、及び、最適解探索部７などの各種機能を備えるものである。
【００１２】
図２に最適化処理の概略的な流れをフローチャートで示し、図３に探索処理のイメージ図を示している。マイコン５は、全体評価関数Ｈｏｐｔを形成する複数の要求、制約について、図２のＳ１において全体の要求、制約を複数のグループに分ける。（図３のＳ１０：設定部６の機能）。
【００１３】
そして、マイコン５は、図２のＳ２においてこの分類された要求、制約により部分評価関数Ｈｉ（ｘｉ）を設定する（図３のＳ１１：設定部６の機能）。図５には部分評価関数Ｈｉ（ｘｉ）のイメージを模式的に示している。部分評価関数Ｈｉ（ｘｉ）は前述のＳ１０にて選択される要求、制約に応じて設定されるもので、実効的な評価関数Ｈｅｆｆは下記の（１）式のように示される。
【数１】
2018156619.tif 000003
【００１４】
この（１）式の実効的な評価関数Ｈｅｆｆ（｛ｘｉ｝）は、個々の部分評価関数Ｈｉ（ｘｉ）と関数ｆ（ｘｉ−ｘｉ＋１）の和の積算値を示すものであり、関数ｆ（ｘｉ−ｘｉ＋１）は例えば（２）式に示すような引力係数λｉ，ρｉ／２を用いた関数である。ここで、λｉは１次引力係数、ρｉ／２は２次引力係数を示している。ここで、ρｉは予め定められた正の定数である。
【数２】
2018156619.tif 000004
【００１５】
マイコン５は、図２のＳ３において１または複数の個体Ｋを部分評価関数Ｈｉ（ｘｉ）に沿って設定する（設定部６の機能）。図６には、グループ分けされた４つの部分評価関数Ｈｉ（ｘｉ）にそれぞれ１つの個体Ｋを設定するときの設定例を示している。すなわち、４つの個体Ｋ１〜Ｋ４の設定例を示している。
【００１６】
次にマイコン５は、図２のＳ４において、複数の個体Ｋが収束するようにこの複数の個体Ｋの間の引力を制御しながら、実効的な評価関数Ｈｅｆｆを極小化する（図３のＳ１２、Ｓ１３：最適解探索部７の機能）。探索初期において引力を弱く設定することで、探索初期には部分評価関数Ｈｉ（ｘｉ）がそれぞれ極小化され、探索後半においては引力により個体Ｋを収束させる。また、探索初期において引力を強く設定すれば、部分評価関数Ｈｉ（ｘｉ）の極小化と個体Ｋの収束が並行して実行されることになる。図７は、探索初期の引力を弱く設定し、部分評価関数Ｈｉ（ｘｉ）の極小値に収束させたときの個体Ｋ１〜Ｋ４の位置を示している。以上のように、マイコン５は、図２のＳ４において部分的な最適解を探索しつつ当該探索される部分的な解を備える個体Ｋの間に引力を作用させて実効的な評価関数Ｈｅｆｆを最小化することで全体評価関数Ｈｏｐｔの最適解を探索する（図３のＳ１３：最適解探索部７の機能）。
【００１７】
例えば、図４に示されるように、機械学習においては、取得した膨大なデータに沿うモデル（例えばｙ＝ａｘ＋ｂ）を、例えば最小二乗法によるフィッティングモデルを用いて取得データに対して最適なパラメータａ，ｂを決定することがある。これらの取得データは、それぞれがパラメータａ，ｂに対する一つの要求、制約となる。本実施形態では、多数の全体のデータを複数グループに分け、各グループに対するフィッティングモデルを部分評価関数Ｈｉ（ｘ）とし、この部分評価関数Ｈｉ（ｘ）の最適解を探索しながら個体Ｋの間に引力を作用させて一つに収束させることで、全データを表現するモデルとして最も適切なパラメータａ，ｂを導出する。
【００１８】
この内容を実現するため、実効的な評価関数Ｈｅｆｆを（１）、（２）式のように設定し、下記の（３−１）式、（３−２）式の条件を満たすように、一次引力係数λを更新する。ここで二次引力係数ρｉは所定の値に設定される。
【数３】
2018156619.tif 000005
【００１９】
この（３）式において、ｇ（ｘ）は所定の関数であり、ｄｇ（ｘ）／ｄｘ≧０、ｘ・ｇ（ｘ）≧０を満たすことから、ｇ（ｘ）は単純増加関数であり、変数ｘと関数ｇ（ｘ）とは同一符号とすることが望ましい。また、例えば下記の（４）式を満たすように設定することが望ましい。ここで、次数ｎは２ｍ−１（但しｍは自然数）を満たす奇数である。
【数４】
2018156619.tif 000006
【００２０】
この図２のＳ４における（１）〜（３−１）、（３−２）式を満たす更新処理においては、部分評価関数Ｈｉ（ｘｉ）の最適解を導出しつつ、個体Ｋの間の引力を増加させながら実効的な評価関数Ｈｅｆｆの極小化を繰り返すことで、全体評価関数Ｈｏｐｔの最適解を探索する。なお、探索初期の引力を弱くすれば、部分評価関数Ｈｉ（ｘｉ）の最適解探索と収束による全体評価関数Ｈｏｐｔの最適解探索処理は分離される。図７及び図８は、部分評価関数Ｈｉ（ｘｉ）の最適解を探索した後、個体Ｋの収束により全体評価関数Ｈｏｐｔの最適解を探索するイメージを示している。
【００２１】
次に、最適化処理の手順の一例について、さらに具体的な数式展開を用いて説明する。まずマイコン５は、図９のＳ２１において部分評価関数Ｈｉに沿って個体Ｋを設定する。以下、断らない限り、複数の個体Ｋ１、Ｋ２のうち一部又は全ての個体を個体Ｋと略して説明を行うと共に、特別な個体Ｋについては符号Ｋの後に添え字を付して説明を行う。
【００２２】
次に、マイコン５は、図９のＳ２２において実効的な評価関数Ｈｅｆｆを極小化するように個体Ｋの変数ｘｉを変化させて更新する。実効的な評価関数Ｈｅｆｆは、Ｍ個の変数ｘｉを有するＮ個の部分評価関数Ｈｉに分解して探索する場合、下記の（５）式のように数式設定する。
【数５】
2018156619.tif 000007
ここで変数ｘｉは下記の（６−１）式のように設定され、変数λｉは（６−２）式のように設定される。
【数６】
2018156619.tif 000008
【００２３】
（５）式の右辺第１項は、複数の個体Ｋによる部分評価関数Ｈｉの評価値Ｈｉ（ｘｉ）を加算した評価加算値、すなわち、部分評価関数Ｈｉに複数の個体Ｋの変数ｘｉを代入した評価値Ｈｉ（ｘｉ）を加算した加算値を示しており、（１）式の右辺第２項及び第３項は、複数の個体Ｋの間の引力相互作用項を示し、λｉ＾Ｔは一次引力係数、ρｉ／２は二次引力係数を示している。
【００２４】
ここで、ρｉは予め定められた正の定数である。これらの第２項及び第３項の引力相互作用項は、複数の個体Ｋの間の変数ｘｉの差が大きいほど大きくなり、逆に複数の個体Ｋの間の変数ｘｉの差が小さいときには小さくなるように変化する。
【００２５】
次に（５）式中の（６−１）式で定義される変数ｘｉを更新するため、部分評価関数Ｈｉ（ｘｉ）について補助関数法を用いて極値化する。補助関数法は、（１）式の第１項の部分評価関数Ｈｉを極小化するときに用いられる一方法であり、部分評価関数Ｈｉを当該部分評価関数Ｈｉに近似した２次関数ｆｆに置換し、この置換した２次関数ｆｆに基づいて極値化する方法を示している。
【００２６】
以下、補助関数法について詳細説明する。補助関数法の詳細イメージを図１０に示している。図１０に示すように、部分評価関数Ｈｉ（ｘ）の変数ｘに現在の解候補ｘｉ＾＊を代入し、この評価値Ｈｉ（ｘ＾＊）を通過すると共に、その微分値が部分評価関数Ｈｉ（ｘ）の偏微分値∂Ｈｉ（ｘ＾＊）／∂ｘと等しく、且つ、その解候補ｘｉ＾＊を含む探索空間Ｓ内の全ての変数ｘｉにおける評価値Ｈｉ（ｘｉ）よりも大きな値を得る条件を満たすリプシッツ定数Ｌを用いた２次関数ｆｆを導入して置換する。この２次関数ｆｆを数式化すると（７）式の右辺のように示すことができる。
【数７】
2018156619.tif 000009
【００２７】
この（７）式において、Ｌｉ，ｐはリプシッツ定数を示し、ｘ＾＊はｘの現在の解候補を示している。このとき２次関数ｆｆの極小値を次回の値の解候補として繰り返し更新し、所定の更新回数以上の回数だけ繰り返し極小値を更新するようにしている。
【数８】
2018156619.tif 000010
【００２８】
（８）式の右辺をｉ番目の個体Ｋのｐ番目の変数ｘｉ，ｐで微分し、この微分値が０となる条件を満たす変数ｘｉ，ｐの極小点を算出する。この（８）式においては、更新前の値をｘｉ，ｐ＾＊とし、更新後の値をｘｉ，ｐとしている。すると（９）式の方程式のように展開できる。
【数９】
2018156619.tif 000011
この方程式を一般化すると、ｐ番目の変数ｘｉの更新式は（１０）式の方程式のように展開できる。
【数１０】
2018156619.tif 000012
そしてマイコン５は、図９のＳ１２において（１１）式に示すｐ番目の変数行列~ｘｐを算出する。
【数１１】
2018156619.tif 000013
【００２９】
ここで、更新後のｐ番目の変数行列~ｘｐを（１２−１）式、リプシッツ定数行列Ｌｐを（１２−２）式、二次引力係数行列ρを（１２−３）式、係数行列Ｇを（１２−４）式、としている。
【数１２】
2018156619.tif 000014
【００３０】
また、更新前のｐ番目の変数行列ｘｐ＾＊を（１３−１）式、部分評価関数Ｈｉ（ｘｉ＾＊）の偏微分行列∇ｐＨｉ（ｘｉ＾＊）を（１３−２）式、一次引力係数行列λｐ＾＊を（１３−３）式、係数行列Ｗを（１３−４）式、としている。
【数１３】
2018156619.tif 000015
そしてマイコン５は、図９のＳ２３において（１４）式のように一次引力係数行列~λｉを更新する。
【数１４】
2018156619.tif 000016
【００３１】
この（１４）式において、λｉ＾＊は更新前の一次引力係数行列を示し、変数~ｘｉは、Ｓ２２で算出された変数を示す。次にマイコン５は、図９のＳ２４において終了条件を満たしたか否かを判定する。この終了条件は、例えば実効的な評価関数Ｈｅｆｆの実効評価値が所定の閾値以下となったか否か、又は、繰り返し処理回数が所定の上限回数を超えたか否かを判定することを条件としている。
【００３２】
実効的な評価関数Ｈｅｆｆの実効評価値の閾値は、複数の個体Ｋが実効的な評価関数Ｈｅｆｆの極値の位置に概ね収束することが想定される値に予め設定することが望ましい。このため、複数の個体Ｋが概ね一点に収束していなければ、Ｓ２２に戻して処理を繰り返すことになる。図７に示したように、複数の個体Ｋがそれぞれの谷の極小値に移動しつつ、図８に示すように各谷の間の経路Ｍ１〜Ｍ４に基づく引力相互作用を生じさせることができる。
【００３３】
＜本実施形態の概念的なまとめ＞
以上、説明したように本実施形態によれば、複数の要求、制約により生成される全体評価関数Ｈｏｐｔについて、全体評価関数Ｈｏｐｔを一部の要求、制約から作成した部分評価関数Ｈｉ（ｘｉ）に分け、１または複数の個体Ｋを部分評価関数Ｈｉ（ｘｉ）に沿って設定し、設定された部分評価関数Ｈｉ（ｘｉ）の部分的な最適解を探索しながら、または、部分的な最適解を探索した後、当該探索される部分的な解を備える個体Ｋの間に引力を作用させて全体評価関数Ｈｏｐｔの最適解を探索している。これにより、単純化された部分的な部分評価関数Ｈｉ（ｘｉ）の最適化処理に基づいて、全体の複雑な全体評価関数Ｈｏｐｔの最適解を探索できるようになり、全体評価関数Ｈｏｐｔの最適解を高速に取得できる。
【００３４】
実効的な評価関数Ｈｅｆｆを（１）式としたときに、引力相互作用の項を（２）式として（３−１）式、（３−２）式を満たすように個体Ｋの間に引力を作用させるようにしているため、複数の個体Ｋを一点に収束させることができる。なお、このとき（３）式のｇ（ｘ）を（４）式として探索することが望ましい。
【００３５】
（第２実施形態）
第２実施形態では、引力相互作用項となるｆ（ｘｉ−ｘｉ＋１）を（１５）式のように変更した形態を説明する。
【数１５】
2018156619.tif 000017
【００３６】
（１５）式のｆ（ｘｉ−ｘｉ＋１）は（２）式でλｉ＝０としたものであり、二次引力係数ρｉ／２を所定値から徐々に増加させることで、個体Ｋを一点に収束させることができる。
【００３７】
そこで本実施形態では、図２及び（１５）式の二次引力係数ρｉ／２を所定値から徐々に増加させる処理を適用することで、各部分評価関数Ｈｉ（ｘｉ）に設定された個体Ｋを徐々に収束させ、全体評価関数Ｈｏｐｔの最適解を探索する。
【００３８】
本実施形態によれば、実効的な評価関数Ｈｅｆｆを（１）式として定義したときに、引力相互作用の項を（１５）式とし、（１５）式中の二次引力係数ρｉを初期値から大きくすることで個体Ｋの間に引力を作用させて最適値に収束させて最適解を導出している。このような場合においても、同様の作用効果を奏する。
【００３９】
（第３実施形態）
図１１から図１５は第３実施形態の追加説明図を示している。第３実施形態では、個体Ｋの変数ｘｉの初期分布の設定方法を説明する。前述実施形態に示したように、各個体ＫはＭ次元の変数ｘｉを備えているが、このＭ次元の変数ｘｉの初期分布を如何なる形態とするかに応じて、実効的な評価関数Ｈｅｆｆの谷の通過数、すなわち極値の通過数、及び、収束方法も変化する。
【００４０】
実効的な評価関数Ｈｅｆｆの実効評価値が、どのような値で極値、最小値となるか予め把握することはできないため、マイコン５は、予め探索空間Ｓを満たすように個体Ｋを初期設定することが望ましい。個体Ｋの数を多くすれば精度が高くなるが処理時間も大きくなる。このため、限られた数の個体Ｋを用いて処理を行うことが望ましく、この限られた個体Ｋの変数ｘｉの初期分布が最適値の探索処理に重要な要素を占めることになる。このためには、例えば図１１から図１５に示すように、個体Ｋの変数ｘｉの初期分布を設定することが望ましい。
【００４１】
図１１から図１５は、それぞれの個体ＫがＭ＝２次元の変数ｘｉを備えている場合の初期分布の例を示している。Ｍ＝２次元の探索空間Ｓを想定したときに、例えば図１１に示すように、探索空間Ｓ内に複数の個体Ｋの変数ｘｉをランダムに設定すると良い。この場合、個体Ｋが一点に収束する過程において広範囲の極値を探索できるようになる。
【００４２】
この中でも図１２の個体Ｋａ、Ｋｂに示すように、少なくとも１つ以上の個体Ｋａ、Ｋｂの変数ｘｉを探索空間Ｓの上限値又は下限値とすると良い。また、その他の個体Ｋの変数ｘｉをランダムに設定すると良い。このように設定することで、さらに広範囲の極値を探索できる。特に、探索空間Ｓの中で全ての変数ｘｉについて上限値又は下限値となるように個体Ｋａｍの変数ｘｉを設定することがさらに望ましい。
【００４３】
ある収束過程において広範囲の極値を探索できるようにするため、探索空間Ｓの全てを極力網羅するように個体Ｋを広範囲に分布させることが望ましいが、変数ｘｉの探索を開始する前に例えば探索空間Ｓの内部に推定解が与えられる場合もある。
【００４４】
例えば、ある変数ｘｉが時間的に連続して変化することを考慮する。例えばマイコン５がこのような変数ｘｉ（ｔ）の解をある所定の時間毎に導出するときに、次回のタイミングにおける変数ｘｉ（ｔ＋１）の解を得るために、図１４に示すように今回の変数ｘｉ（ｔ）の解を推定解ｘizとして与えることで、次回のタイミングにおける変数ｘｉ（ｔ＋１）の解の導出処理を素早く、しかも正確に行うことができる場合もある。
【００４５】
このような場合、図１３に示すように、初期分布として探索空間Ｓ内に限定された限定探索範囲Ｓａを設け、この限定探索範囲Ｓａとして推定解ｘizを含むように初期分布を設定することが望ましい。特にこの場合、例えば推定解ｘizから所定範囲（例えばｘｉ，１−α１＜変数ｘｉ，１＜ｘｉ，１＋β１、ｘｉ，２−α２＜変数ｘｉ，２＜ｘｉ，２＋β２；但し、α１、α２、β１、β２＞０）を満たすように限定探索範囲Ｓａを絞ることが望ましい。これにより、さらに少ない評価回数で変数ｘｉの最適解への到達確率を高めることができる。
【００４６】
さらに図１４に示すように、初期分布として推定解ｘizを含む空間に近いほど個体Ｋを密に分布させると共に推定解から遠ざかるほど個体Ｋの密度を減少させるように設定するようにしても良い。これにより、より少ない個体Ｋの数で変数ｘｉの最適解への到達確率を高めることができる。
【００４７】
さらに図１５に示すように、初期分布として推定解ｘizを含む空間に近い所定範囲Ｓｂ内に個体Ｋを密に分布させると共にその他の個体Ｋを所定範囲Ｓｂの外にランダムに分布させ、その他の個体Ｋのうち、少なくとも１つの個体Ｋａ、Ｋｂ、Ｋａｍの変数ｘｉを探索範囲Ｓの変数ｘｉの上限値又は下限値に設定するようにしても良い。これにより、変数ｘｉの推定解ｘizの付近を重点的に探索しながら広範囲を探索することができ、推定解ｘiz又はその周辺に解が存在していなかった場合においても、変数ｘｉの最適解への到達確率の低下を防ぐことができる。
【００４８】
（第４実施形態）
図１６から図２３は第４実施形態の追加説明図を示している。第４実施形態では極小化の方法について別の形態を説明する。
【００４９】
第４実施形態では、前述した（１）式の実効的な評価関数Ｈｅｆｆについて、部分評価関数Ｈｉの更新幅Δｘｃ（第２更新幅相当）、引力相互作用項ｆ（ｘｉ−ｘｉ＋１）の更新幅Δｘｑ（第１更新幅相当）を別々に算出し、これらの更新幅Δｘｃ、Δｘｑを加算した合計更新幅Δｘを導出する。
【００５０】
このときまず、マイコン５は、ある時刻ｔにおける部分評価関数Ｈｉの勾配ｇｃ（ｔ）を（１６）式のように定義し、部分評価関数Ｈｉの勾配ｇｃの指数移動平均値ｍｃを（１７−１）式のように定義して導出し、さらに部分評価関数Ｈｉの勾配ｇｃの二乗の指数移動平均値ｖｃを（１７−２）式のように定義して導出する。これらの式中において、β１ｃ、β２ｃは定数であり、深層学習における勾配算出処理として適切な値に設定される。
【数１６】
2018156619.tif 000018
【数１７】
2018156619.tif 000019
【００５１】
そして、マイコン５は更新幅Δｘｃを（１８−１）式及び（１８−２）式のように導出する。なお（１８−１）式中のεｃはゼロ除算を避けるための定数であり、他の定数に比べて大幅に小さく設定される。
【数１８】
2018156619.tif 000020
このようにして更新幅Δｘｃを導出できる。
【００５２】
またマイコン５は、このような処理を引力相互作用項ｆ（ｘｉ−ｘｉ＋１）の更新幅Δｘｑについても同様に行う。すなわちマイコン５は、ある時刻ｔにおける引力相互作用項ｆ（ｘｉ−ｘｉ＋１）の勾配ｇｑ（ｔ）を（１９）式のように定義して算出し、引力相互作用項ｆ（ｘｉ−ｘｉ＋１）の勾配ｇｑの指数移動平均値ｍｑを（２０−１）式のように定義して導出し、さらに引力相互作用項ｆ（ｘｉ−ｘｉ＋１）の勾配ｇｑの二乗の指数移動平均値ｖｑを（２０−２）式のように定義して導出する。これらの式中において、β１ｑ、β２ｑは定数であり深層学習における勾配算出処理に適切な値に設定される。
【数１９】
2018156619.tif 000021
【数２０】
2018156619.tif 000022
【００５３】
そしてマイコン５は更新幅Δｘｑを（２１−１）式及び（２１−２）式のように導出する。なお（２１−１）式中のεｑはゼロ除算を避けるための定数であり、他の定数に比べて大幅に小さく設定される。
【数２１】
2018156619.tif 000023
このようにして更新幅Δｘｑを導出できる。そしてマイコン５は更新幅Δｘｃ、Δｘｑを加算することで合計更新幅Δｘを（２２）式のように導出する。
【数２２】
2018156619.tif 000024
【００５４】
このようにして合計更新幅Δｘを導出でき、実効的な評価関数Ｈｅｆｆの変数ｘｉの更新幅Δｘとして用いることで最適化変数ｘｉの更新幅Δｘを適応的に変更できるようになる。最適化変数ｘｉの更新イメージを図１６及び図１７に示している。
【００５５】
図１６は更新初期における更新イメージを示している。例えば、引力相互作用項ｆ（ｘｉ−ｘｉ＋１）の変数が、当該評価関数の極小値を満たす最適化変数から離間していると、この関数を極小化する最適化変数に向けて、図１６に示すように徐々に更新されることになる。このとき勾配ｇｑ（ｔ）が緩やかに変化するため、（２３−１）式に示すように、時刻ｔと時刻ｔ＋１とのタイミングを比較しても勾配ｇｑはあまり変化しない。このため（２３−２）式に示すように、勾配ｇｑの指数移動平均値~ｍｑと勾配ｇｑの二乗の指数移動平均値~ｖｑの平方根とを比較しても概ね同じ値となり、更新幅Δｘｑは（２３−３）式に示すように−ηで概ね一定となる。
【数２３】
2018156619.tif 000025
【００５６】
他方、図１７は変数が極小値近辺に遷移した後の更新イメージを示している。変数が極小値近辺に遷移すると、勾配ｇｑ（ｔ）は極小値を挟んで振動するように移動することから、（２４−１）式に示すように、時刻ｔと時刻ｔ＋１とのタイミングを比較すると勾配ｇｑは絶対値が概ね同一で正負が逆転するように変化する。すると（２４−２）式に示すように、勾配ｇｑの指数移動平均値~ｍｑは概ね０に近づき、勾配ｇｑの指数移動平均値~ｍｑを勾配の二乗の指数移動平均値~ｖｑの平方根と比較しても二乗の指数移動平均値~ｖｑの平方根の方が大幅に大きな値となる。したがって、更新幅Δｘｑは（２４−３）式に示すように−ηよりも大幅に小さな値となる。
【数２４】
2018156619.tif 000026
【００５７】
このようにしてマイコン５は、引力相互作用項ｆ（ｘｉ−ｘｉ＋１）の勾配ｇｑの指数移動平均値~ｍｑと引力相互作用項ｆ（ｘｉ−ｘｉ＋１）の勾配ｇｑの二乗の指数移動平均値~ｖｑとが近くなるにしたがって更新幅Δｘｑを大きくすると共に、指数移動平均値~ｍｑが勾配ｇｑの二乗の指数移動平均値~ｖｑよりも小さくなるにつれて更新幅Δｘｑを小さくするように導出している。すなわち、更新幅Δｘｑを大きい幅から小さい幅に自動的に変化させることができ、極力少ない更新回数で極小値に効率的に到達させることができるようになる。
【００５８】
ここでは引力相互作用項ｆ（ｘｉ−ｘｉ＋１）についての説明を行ったが、部分評価関数Ｈｉにおいても同様に適用できるため、その詳細説明を省略する。部分評価関数Ｈｉの処理について概念的にまとめると、マイコン５は、部分評価関数Ｈｉの勾配ｇｃの指数移動平均値~ｍｃと部分評価関数Ｈｉの勾配ｇｃの二乗の指数移動平均値~ｖｃとが近くなるにしたがって更新幅Δｘｃを大きくすると共に、指数移動平均値~ｍｃが勾配の二乗の指数移動平均値~ｖｃよりも小さくなるにつれて更新幅Δｘｃを小さくするように導出することになる。この例の場合も同様に、更新幅Δｘｃを大きい幅から小さい幅に自動的に変化させることができ、少ない更新回数で極小値に効率的に到達させることができるようになる。
【００５９】
＜具体例の検証条件＞
発明者は、以上のように説明した方法について具体例を用いて検証している。以下では、この検証条件について説明する。発明者らは、「０」〜「９」の一桁の手書き数字を深層学習を用いて識別する問題を挙げて検証している。
【００６０】
この検証条件としては、図１８に示すように、入力層を８×８ピクセル分の６４入力用意し、出力層を「０」〜「９」の１０出力用意し、中間層を５層用意したニューラルネットワークを用いている。各中間層のノード数は、１層目を３０ノードとし、２層目から５層目を各２０ノード用意し、ネットワークはこれらの入力層、中間層、出力層の各ノードを全て結合して構成した形態を用いた。
【００６１】
また、各ノードの結合の重みを決定するための学習データを１０００個用意して学習試行している。ここで、部分評価関数Ｈｉを定義するための学習データの分割数を１０とした。すなわち（１６）式及び（１９）式中のＮを１０とし、当該Ｎ個の部分評価関数Ｈｉについて学習データ各１００個（以下、必要に応じて「部分データ」と称する）を用いて評価した。また引力相互作用項ｆ（ｘｉ−ｘｉ＋１）については（１５）式を適用し、この（１５）式の二次引力係数ρｉを固定値０．１として検証した。また、その他の（１６）〜（２２）式に用いられる各定数η，β１ｃ，β２ｃ，β１ｑ，β２ｑ，εｃ，εｑを図１９に示す値を用いて評価した。
【００６２】
さらに発明者は、前述の（１）式右辺第２項の引力相互作用項ｆ（ｘｉ−ｘｉ＋１）を省いた一般的な評価関数を用いた例を比較例とし、前述と同様に深層学習により手書き数字を識別するように検証している。この比較例は、一般にＡｄａｍ(Adaptive moment estimation)と称される深層学習における勾配法を適用した例に類似する方法である。この比較例においても、本実施形態の処理方法との比較検証を行うため、同じ学習データを１０００個用意すると共に学習データをＮ＝１０分割し、それぞれ学習データ各１００個の部分データを用いて評価した。すなわち（１６）式〜（１８）式と同様の処理を行うことで評価しており、このとき前述同様の定数η，β１ｃ，β２ｃ，εｃの値を用いている。
【００６３】
＜検証結果＞
以下、前述の検証結果について説明する。
図２０は本実施形態の引力相互作用項ｆ（ｘｉ−ｘｉ＋１）を用いて得られたLossfunctionの検証結果、図２１は引力相互作用項ｆ（ｘｉ−ｘｉ＋１）を用いない場合の比較例のLossfunctionの検証結果を示している。
【００６４】
図２０及び図２１のLossfunction特性は探索ステップ数を横軸として示しており、図１８に示すニューラルネットワークを用意した学習データに適合させて各ノードの重みを決定した後の学習誤差を示している。探索ステップ数が少ないとＮ＝１０個の分割データのそれぞれの部分評価関数Ｈｉに対する適合度に応じたLossfunctionを求めることになるため、その絶対値も部分データ毎に大きくばらつくが、探索ステップ数が多くなると引力相互作用項ｆの作用が進み、より適切に識別可能になることが確認されている。
【００６５】
この検証結果によれば、本実施形態及び比較例の何れの方法を用いても探索ステップ数を増せば増すほどLossfunctionを減少させることができることがわかるが、比較例ではLossfunctionの最小値が０．０３９となるのに対し、本実施形態では最小値を０．０２１にでき、Lossfunctionの最小値をより少なくできることが把握できる。
【００６６】
＜未知のテストデータに対する検証結果＞
以下、未知のテストデータに対する検証結果について説明する。
図２２は本実施形態のAccuracyの検証結果、図２３は比較例のAccuracyの検証結果を示している。図２２及び図２３のAccuracyは前述の学習データとは異なる未知のテストデータを用いた正答率を示すものであり、新たなデータに対するクラスラベルや関数値を正確に予測できるかどうかを示す汎化性能に関する指標を示すもので、前述同様に探索ステップ数を横軸として示している。比較例では正答率、すなわち識別精度を７３．６５％となるのに対し、本実施形態では正答率、識別精度を９１．７１％とすることができ、本実施形態を採用することで比較例よりも高い識別性能を示すことが把握できた。
【００６７】
＜本実施形態の概念的なまとめ＞
以上説明したように、本実施形態によれば、引力相互作用項ｆ（ｘｉ−ｘｉ＋１）と部分評価関数Ｈｉの勾配ｇｑ、ｇｃに応じて、それぞれ個体Ｋの変数ｘｉの更新幅Δｘｑ、Δｘｃを導出するときに、引力相互作用項ｆ（ｘｉ−ｘｉ＋１）と部分評価関数Ｈｉの勾配ｇｑ、ｇｃの指数移動平均値~ｍｑ、~ｍｃと引力相互作用項ｆ（ｘｉ−ｘｉ＋１）と部分評価関数Ｈｉの勾配ｇｑ、ｇｃの二乗の指数移動平均値~ｖｑ、~ｖｃがそれぞれ近くなるにしたがってそれぞれ更新幅Δｘｑ、Δｘｃを大きくしている。また、勾配の指数移動平均値~ｍｑ、~ｍｃが勾配の二乗の指数移動平均値~ｖｑ、~ｖｃよりも小さくなるにつれて更新幅Δｘｑ、Δｘｃを小さくするように導出している。このため、更新幅Δｘｑ、Δｘｃを大きい幅から小さい幅に自動的に変化させることができ、極力少ない更新回数で効率的に極小値に個体Ｋを到達させることができる。
【００６８】
＜第４実施形態の変形例＞
なお、第４実施形態に示した処理を用いると、引力相互作用項ｆ（ｘｉ−ｘｉ＋１）の影響力は、前述した勾配ｇｑの変化に応じて適応的に変更される。このため（１５）式の二次引力係数ρｉを固定値（例えば０．１）としても問題なく収束する。すなわち、例えば第２実施形態では二次引力係数ρｉを初期値から大きくすることで個体Ｋの間に引力を作用させて最適値に収束させるようにしたが、第４実施形態では増加させる処理をする必要がなくなる。また第２実施形態に説明したように、二次引力係数ρｉを増加させるように処理しても良い。
【００６９】
また、第４実施形態の方法を採用すると、変数ｘｉを更新するときには、勾配ｇｑ、ｇｃに応じた情報を用いることになるため、引力相互作用項ｆ（ｘｉ−ｘｉ＋１）は（１５）式のように二次関数に限定するものではなく、下記（２５）式の引力相互作用項ｆ（ｘｉ−ｘｉ＋１）に示すように、四次以上の偶数次関数を用いても良い。
【数２５】
2018156619.tif 000027
このような（２５）式に示される引力相互作用項ｆ（ｘｉ−ｘｉ＋１）を用いたとしても変数ｘｉの更新処理が複雑な処理に変化することはなく極力迅速に最適解を探索できる。
【００７０】
（他の実施形態）
本発明は、上記した実施形態に限定されるものではなく、以下のように変形又は拡張することができる。
個体Ｋは各部分評価関数Ｈｉ（ｘｉ）の間で同数の変数ｘｉを備えることが望ましい。前述実施形態では、個体Ｋの変数ｘｉを解出力する形態を説明しているが、変数ｘｉに対応した評価値、すなわち、解出力すべき変数ｘｉを実効的な評価関数Ｈｅｆｆに代入した評価値を解出力するようにしても良い。第３実施形態では、二次引力係数ρｉ／２を初期値＝０から徐々に大きくする形態を示したが、初期値は０に限られない。
【００７１】
また、特許請求の範囲に記載した括弧内の符号は、本発明の一つの態様として前述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。前述実施形態の一部を、課題を解決できる限りにおいて省略した態様も実施形態と見做すことが可能である。また、特許請求の範囲に記載した文言によって特定される発明の本質を逸脱しない限度において、考え得るあらゆる態様も実施形態と見做すことが可能である。
【００７２】
また本発明は、前述した実施形態に準拠して記述したが、本発明は当該実施形態や構造に限定されるものではないと理解される。本発明は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範畴や思想範囲に入るものである。
【符号の説明】
【００７３】
図面中、１は最適化装置（連続最適化問題の大域的探索装置）、６は設定部、７は最適解探索部、８は導出部、Ｋは個体、Ｓは探索空間、ｘｉは変数、ｇ／２は引力係数、Ｈoptは全体評価関数、Ｈeffは実効評価値、ｘizは推定解、ｇｑ、ｇｃは勾配、~ｍｑ、~ｍｃは勾配の指数移動平均値、~ｖｑ、~ｖｃは勾配の二乗の指数移動平均値、Δｘｑ、Δｘｃは更新幅、を示す。
【図１Ａ】
2018156619.tif 000054
【図１Ｂ】
2018156619.tif 000055
【図２】
2018156619.tif 000056
【図３】
2018156619.tif 000057
【図４】
2018156619.tif 000058
【図５】
2018156619.tif 000059
【図６】
2018156619.tif 000060
【図７】
2018156619.tif 000061
【図８】
2018156619.tif 000062
【図９】
2018156619.tif 000063
【図１０】
2018156619.tif 000064
【図１１】
2018156619.tif 000065
【図１２】
2018156619.tif 000066
【図１３】
2018156619.tif 000067
【図１４】
2018156619.tif 000068
【図１５】
2018156619.tif 000069
【図１６】
2018156619.tif 000070
【図１７】
2018156619.tif 000071
【図１８】
2018156619.tif 000072
【図１９】
2018156619.tif 000073
【図２０】
2018156619.tif 000074
【図２１】
2018156619.tif 000075
【図２２】
2018156619.tif 000076
【図２３】
2018156619.tif 000077