(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024127272
(43)【公開日】2024-09-20
(54)【発明の名称】最適化装置、最適化方法および最適化プログラム
(51)【国際特許分類】
G06N 99/00 20190101AFI20240912BHJP
G06N 10/60 20220101ALI20240912BHJP
【FI】
G06N99/00 180
G06N10/60
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023036306
(22)【出願日】2023-03-09
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103090
【弁理士】
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【弁理士】
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】中村 暢達
(72)【発明者】
【氏名】柴田 将
(72)【発明者】
【氏名】今井 春奈
(57)【要約】
【課題】組み合わせ最適化問題の近似解を探索できる最適化装置を提供する。
【解決手段】イジングモデル作成手段81は、組み合わせ最適化問題における選択候補と、その選択候補を選択する粒度を規定した解像度により規定される変数を用いて、量子アニーリングによる最適化処理で用いられるイジングモデルを作成する。サンプリング手段82は、作成されたイジングモデルを用いた最適化処理により最適化問題の近似解をサンプリングする。更新手段83は、選択候補および解像度を更新する。そして、イジングモデル作成手段81は、更新された選択候補および解像度により規定される変数を用いてイジングモデルを更新し、サンプリング手段82は、更新されたイジングモデルを用いてサンプリングする。
【選択図】
図4
【特許請求の範囲】
【請求項1】
組み合わせ最適化問題における選択候補と、当該選択候補を選択する粒度を規定した解像度により規定される変数を用いて、量子アニーリングによる最適化処理で用いられるイジングモデルを作成するイジングモデル作成手段と、
作成された前記イジングモデルを用いた最適化処理により前記最適化問題の近似解をサンプリングするサンプリング手段と、
前記選択候補および前記解像度を更新する更新手段とを備え、
前記イジングモデル作成手段は、更新された前記選択候補および前記解像度により規定される変数を用いて前記イジングモデルを更新し、
前記サンプリング手段は、更新されたイジングモデルを用いてサンプリングする
ことを特徴とする最適化装置。
【請求項2】
更新手段は、選択候補を一部に絞り込む更新を行うとともに、絞り込まれた選択候補の解像度を詳細にする更新を行う
請求項1記載の最適化装置。
【請求項3】
更新手段は、イジングモデルにより算出されるエネルギー値が小さい上位の選択候補に絞り込む更新を行う
請求項1または請求項2記載の最適化装置。
【請求項4】
更新手段は、制約条件をより優先するようにイジングモデルの重みを更新する
請求項1または請求項2記載の最適化装置。
【請求項5】
更新手段は、前記イジングモデルにおいて、制約条件式を示す項を構成する変数の重みを増加させる更新を行う
請求項1または請求項2記載の最適化装置。
【請求項6】
イジングモデル作成手段は、選択候補の選択有無および当該選択候補の取りうる値の範囲を分割する粒度を規定した解像度に基づいて変数を規定する
請求項1または請求項2記載の最適化装置。
【請求項7】
イジングモデル作成手段は、選択候補の取りうる値の範囲を粒度に応じて等間隔に分割された各範囲の値を取るか否かを示す変数と、当該各範囲の値のうちいずれか1つのみ選択されることを示す制約条件とを含むイジングモデルを作成する
請求項1または請求項2記載の最適化装置。
【請求項8】
イジングモデル作成手段は、組成の割合を決定する組み合わせ最適化問題における選択候補と、当該選択候補が取りうる組成の割合の範囲を粒度に応じて分割した各範囲について割り当てられる変数を用いて、イジングモデルを作成する
請求項1または請求項2記載の最適化装置。
【請求項9】
組み合わせ最適化問題における選択候補と、当該選択候補を選択する粒度を規定した解像度により規定される変数を用いて、量子アニーリングによる最適化処理で用いられるイジングモデルを作成し、
作成された前記イジングモデルを用いた最適化処理により前記最適化問題の近似解をサンプリングし、
前記選択候補および前記解像度を更新し、
更新された前記選択候補および前記解像度により規定される変数を用いて前記イジングモデルを更新し、
更新されたイジングモデルを用いてサンプリングする
ことを特徴とする最適化方法。
【請求項10】
コンピュータに、
組み合わせ最適化問題における選択候補と、当該選択候補を選択する粒度を規定した解像度により規定される変数を用いて、量子アニーリングによる最適化処理で用いられるイジングモデルを作成するイジングモデル作成処理、
作成された前記イジングモデルを用いた最適化処理により前記最適化問題の近似解をサンプリングするサンプリング処理、および、
前記選択候補および前記解像度を更新する更新処理を実行させ、
前記イジングモデル作成処理で、更新された前記選択候補および前記解像度により規定される変数を用いて前記イジングモデルを更新させ、
前記サンプリング処理で、更新されたイジングモデルを用いてサンプリングさせる
ための最適化プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、組み合わせ最適化問題の解を探索する最適化装置、最適化方法および最適化プログラムに関する。
【背景技術】
【0002】
ポートフォリオや材料の開発においては、より好ましい結果を得るための組み合わせを試行錯誤することが行われている。例えば、インデックスポートフォリオの場合、ターゲットとするインデックス指標に対し、より少ない銘柄数で、できるだけ同じ値動きになる(追従できる)組み合わせが求められる。また、例えば、ゴム材料開発の場合、ある気象条件での弾性、耐久性を実現するような組成が求められる。
【0003】
候補になる金融商品や素材が多数であると、その組合せ数は膨大になる。そのため、すべての組合せを試行することは不可能であり、近似的な計算で候補を絞り込むことさえも困難である。組合せの候補数に対して、組合せ数は指数的に増加することから、最適な組合せを求める問題はNP(Non-deterministic Polynomial time )困難として知られている。
【0004】
例えば、特許文献1には、ポートフォリオの作成を支援するポートフォリオ作成支援装置が記載されている。特許文献1に記載された装置は、量子コンピュータ、特に量子アニーリング、疑似量子アニーリングの技術を使ってポートフォリオを作成する。
【0005】
また、特許文献2には、非線形変数を含む混合整数計画問題として定式化された原料配合計画問題を解く方法が記載されている。特許文献2に記載された方法では、組合せ最適化問題を線形緩和やラグランジュ緩和する前処理が行われる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第7141365号公報
【特許文献2】特許第7010258号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
各銘柄の組成を決定する場合、全銘柄数MからN個の銘柄を選択するのに、MCNの組合せ数がある。また、組成の割合は0~100%の連続値であり、さらに顧客が希望するような銘柄属性(例えば、新興企業、業界、地域性など)を条件とすると、多大な計算量となってしまうため、一般的な方法で最適なポートフォリオ組成を求めることは困難である。
【0008】
そのため、特許文献1に記載されたような量子コンピュータを利用することも考えられる。しかし、特許文献1に記載された装置では、大規模な組み合わせ最適化問題を扱うことができないため、詳細な組成の量を計算に含めない近似値計算にせざるを得なかった。
【0009】
また、特許文献2に記載された方法では、制約条件を扱うことが難しく、複数の解を扱えずに、局所解に陥る可能性がある。また、特許文献2に記載された方法では、複数のアルゴリズムを実装するためにシステムが大きくなってしまい、構築コストや保守コストの面でも課題が残る。
【0010】
一方、厳密な最適解でなくても、最適解に近い解(以下、近似解と記す。)で成果が得られる場合も存在する。このような状況では、組み合わせ最適化問題の最適解に近い解を高速に探索できることが好ましい。
【0011】
そこで、本発明では、組み合わせ最適化問題の近似解を探索できる最適化装置、最適化方法および最適化プログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明による最適化装置は、組み合わせ最適化問題における選択候補と、その選択候補を選択する粒度を規定した解像度により規定される変数を用いて、量子アニーリングによる最適化処理で用いられるイジングモデルを作成するイジングモデル作成手段と、作成されたイジングモデルを用いた最適化処理により最適化問題の近似解をサンプリングするサンプリング手段と、選択候補および解像度を更新する更新手段とを備え、イジングモデル作成手段が、更新された選択候補および解像度により規定される変数を用いてイジングモデルを更新し、サンプリング手段が、更新されたイジングモデルを用いてサンプリングすることを特徴とする。
【0013】
本発明による最適化方法は、組み合わせ最適化問題における選択候補と、その選択候補を選択する粒度を規定した解像度により規定される変数を用いて、量子アニーリングによる最適化処理で用いられるイジングモデルを作成し、作成されたイジングモデルを用いた最適化処理により最適化問題の近似解をサンプリングし、選択候補および解像度を更新し、更新された選択候補および解像度により規定される変数を用いてイジングモデルを更新し、更新されたイジングモデルを用いてサンプリングすることを特徴とする。
【0014】
本発明による最適化プログラムは、コンピュータに、組み合わせ最適化問題における選択候補と、その選択候補を選択する粒度を規定した解像度により規定される変数を用いて、量子アニーリングによる最適化処理で用いられるイジングモデルを作成するイジングモデル作成処理、作成されたイジングモデルを用いた最適化処理により最適化問題の近似解をサンプリングするサンプリング処理、および、選択候補および解像度を更新する更新処理を実行させ、イジングモデル作成処理で、更新された選択候補および解像度により規定される変数を用いてイジングモデルを更新させ、サンプリング処理で、更新されたイジングモデルを用いてサンプリングさせることを特徴とする。
【発明の効果】
【0015】
本発明によれば、組み合わせ最適化問題の近似解を求解できる。
【図面の簡単な説明】
【0016】
【
図1】本発明の最適化装置の一実施形態の構成例を示すブロック図である。
【
図2】最適化装置の動作例を示すフローチャートである。
【
図3】組成の解像度の更新に用いる情報の例を示す説明図である。
【
図4】本発明による最適化装置の概要を示すブロック図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態を図面を参照して説明する。以下の説明では、組み合わせ最適化問題として、ポートフォリオを最適化する問題を例示する。ただし、本発明が利用される組み合わせ最適化問題は、金融のポートフォリオを最適化する問題に限定されない。各種のポートフォリオの最適化、所定の機能を有する材料や薬品における素材の選定及び組成率の最適化にも本発明を適用可能である。
【0018】
図1は、本発明の最適化装置の一実施形態の構成例を示すブロック図である。本実施形態の最適化装置100は、最適化モデル管理部101と、銘柄データ管理部102と、組成解像度決定部103と、イジングモデル作成部104と、サンプリング部105と、パラメータ更新部106と、最適解出力部107とを備えている。
【0019】
最適化モデル管理部101は、最適化モデルを管理する。具体的には、最適化モデル管理部101は、最適化に用いる目的関数および制約条件式を含む最適化モデルを管理する。最適化モデル管理部101は、最適化装置100が備える記憶部(図示せず)に、最適化モデルを記憶させてもよい。
【0020】
例えば、インデックスポートフォリオの場合、目的関数は、ポートフォリオとインデックス指標との差を算出する計算式である。最適化処理では、その計算式を最小になるようにする。制約条件式は、条件を数式表現したものである。例えば、インデックスポートフォリオの場合、各業種から必ず1銘柄を選択しなければならない、新興企業からのみ選択しなければならない、などの制約条件を示す式である。一般的には、以下に例示する式1のように、目的関数および制約条件を示す複数の式f(x)に、それぞれ重みwを乗じた式で表わされる。このように表わされた数式は、ハミルトニアンと呼ばれ、上記最適化モデルに対応する。
【0021】
H=w1*f1(x)+w2*f2(x)+…wn*fn(x) (式1)
【0022】
銘柄データ管理部102は、組み合わせ最適化問題において、選択対象の情報を管理する。本実施形態で例示するポートフォリオの場合、銘柄データ管理部102は、ポートフォリオを構成する金融商品の候補のリストや、金融商品のプロファイル(株式の場合、会社の業種、地域、新興/中小/大企業か分類、格付け会社からの各種評価、各銘柄の値動きの相関度などのデータ)を管理する。また、銘柄データ管理部102は、最適化装置100が備える記憶部(図示せず)に、これらの情報を記憶させてもよい。
【0023】
組成解像度決定部103は、選択対象に割り当てるビット数、並びに、その選択対象が取り得る範囲(具体的には、最小値および最大値)を管理する。本実施形態で例示するポートフォリオの場合、組成解像度決定部103では、ポートフォリオの組成の計算に利用するビット数(いくつのビット数を用いて計算するか)、並びに、その組成の割合として取り得る最小値と最大値を管理する。
【0024】
組み合わせ対象に割り当てるビット数とは、組み合わせに際し、その対象が選択されるか否かの識別、および、その対象が選択された場合に取り得る範囲の識別に必要とされるビット数のことを示す。なお、ビットは、1または0のいずれかで表わされる。
【0025】
例えば、割り当てられるビット数が1ビットの場合、その銘柄が選択されるか否かを識別することが可能になる。また、割り当てられるビット数がkビットの場合、その銘柄が選択された場合に、最小値と最大の区間をk個、または、2k個に分割したいずれかの範囲かを識別することが可能になる。以下の説明では、選択候補を選択する粒度を規定したビット数のことを解像度と記すこともある。
【0026】
イジングモデル作成部104は、最適化モデル管理部101が管理する式(具体的には、式1で例示するハミルトニアン)、銘柄データ管理部102が管理する情報、および、組成解像度決定部103が管理する解像度(ビット数)から、後述する量子アニーリングによる最適化処理で用いられるイジングモデルを作成する。
【0027】
具体的には、最適化モデル管理部101によって、ハミルトニアンの構造が管理され、銘柄データ管理部102によって、選択候補(選択される銘柄)の個数が管理され、組成解像度決定部103によって、選択候補を選択する粒度(すなわち、解像度)が管理されている。そこで、イジングモデル作成部104は、選択候補の選択有無およびその選択候補の取りうる値の範囲を分割する粒度を規定した解像度に基づいて変数を規定する。
【0028】
イジングモデル作成部104は、例えば、管理されているこれらの情報に基づいて、選択候補の個数とその解像度に応じた変数(1または0の2値を取る変数x)の種類および制約を決定し、その変数および制約をハミルトニアンに適用すればよい。
【0029】
例えば、銘柄Aに対して解像度が2に設定されたとする。この場合、イジングモデル作成部104は、例えば、銘柄Aが最小値から中間値までの組成の割合を取るか否かを示す変数x1、および、銘柄Aが中間値から最大値までの組成の割合を取るか否かを示す変数x2を設定し、かつ、x1とx2は同時に1にならないことを示す制約条件式を、管理するハミルトニアンに適用すればよい。
【0030】
以下、具体的な値を用いて、イジングモデルを作成する方法を説明する。例えば、ある銘柄の組成が、最小値20、最大値80で、解像度4(すなわち、割り当てるビット数が4)であるとする。この場合、4つのスピン/量子ビットが使われることになり、区間x1が20~35,区間x2が35~50、区間x3が50~65、区間x4が65~80というように変数を設定することができる。なお、変数x1,x2,x3,x4の中で、1になる変数は1つだけで、それ以外は0になる必要があるため、Σx(1..4)=1という制約条件が追加される。
【0031】
なお、イジングモデルは、一般的にはQUBO(Quadratic Unconstrained Binary Optimization)形式に変換される。そこで、イジングモデル作成部104は、生成したイジングモデルを、後述するサンプリング部105が必要とする態様に応じてQUBO形式に変換してもよい。なお、イジングモデルをQUBO形式に変換する方法は、例えば、特許文献1にも記載されているように広く知られているため、ここでは詳細な説明は省略する。
【0032】
サンプリング部105は、作成されたイジングモデルで定義された組合せ最適化問題の最適解の近似値(すなわち、近似解)を求める。具体的には、サンプリング部105は、量子アニーリングまたは疑似量子アニーリングの手法を使って、作成されたイジングモデルを用いた最適化処理により最適化問題の近似解をサンプリングする。
【0033】
また、本実施形態のサンプリング部105は、予め定めた条件に応じた数の近似解を保持する。そこで、サンプリング部105は、近似解を求める処理を複数回行う。サンプリング部105は、例えば、エネルギー値が小さい順に予め定めた上位N個の近似解を保持してもよい。また、サンプリング部105は、イジングモデルのエネルギー値のうち、予め定めた閾値以下のものを全て保持してもよい
【0034】
サンプリング部105は、他の量子アニーリングまたは疑似量子アニーリングを実行する量子アニーリング方式の量子コンピュータ(以下、量子アニーリングマシンと記す。)に近似解を求める処理を実行させてもよいし、自身で近似解を求める処理を実行してもよい。自身で近似解を求める場合、サンプリング部105が、上記量子アニーリングマシンとして実装されてもよい。
【0035】
なお、量子アニーリングマシンは、イジングモデルのハミルトニアンの基底状態を求める専用の装置であり、イジングモデルに基づいてアニーリングを実行する装置である。より具体的には、量子アニーリングマシンは、二値変数を引数とするイジングモデルの目的関数(すなわち、ハミルトニアン)を最小化又は最大化する二値変数の値を確率的に求める装置である。なお、二値変数は、古典ビットや量子ビットで実現されていてもよい。
【0036】
パラメータ更新部106は、サンプリング部105が求めた複数の最適解を用いて、最適化モデル管理部101が管理する最適化モデルの重みを更新する。具体的には、パラメータ更新部106は、制約条件をより優先するように最適化モデル(ハミルトニアン)の重みwを更新する。パラメータ更新部106は、例えば、イジングモデルにおいて、制約条件式を示す項を構成する変数の重みを増加させる更新を行ってもよい。これにより、制約条件式の影響を大きくすることが可能になる。
【0037】
また、パラメータ更新部106は、選択候補を一部に絞り込む更新を行うとともに、絞り込まれた選択候補の解像度を詳細にする更新を行う。より具体的には、パラメータ更新部106は、銘柄データ管理部102が管理する選択候補を、より優先して選択する対象に絞り込む。例えば、本実施形態で例示するポートフォリオの場合、パラメータ更新部106は、銘柄(金融商品)の候補を優先する銘柄に絞り込む。パラメータ更新部106は、例えば、保持する近似解のなかで各銘柄が選択された回数をカウントし、その回数の多さが上位の銘柄に絞り込んでもよい。
【0038】
さらに、パラメータ更新部106は、組成解像度決定部103が管理するビット数並びに取り得る範囲(最大値および最小値)を、絞り込まれた対象について更新する。例えば、本実施形態で例示するポートフォリオの場合、組成の最小値および最大値を、保持する近似解のなかでで、その銘柄の量の最小値および最大値としてもよい。また、より詳細な解を求めるため、パラメータ更新部106は、絞り込まれた対象のビット数を増加させてもよい。
【0039】
パラメータ更新部106は、最適化された解が得られたか否か判定し、以降、更新後の情報を用いて十分に最適化された解が求まったと判定されるまで、サンプリングが繰り返される。パラメータ更新部106は、例えば、組成解像度が十分に精細になっており、精度向上に変化がない(収束した)場合に、十分に最適化された解が求まったと判定してもよい。他にも、サンプリング部105がサンプリング時にイジングモデルのエネルギー値を保持しておき、パラメータ更新部106は、前回のサンプリングにおけるエネルギー値の最小値と比較して差がない場合に十分に最適化された解が求まったと判定してもよい。
【0040】
最適解出力部107は、上記処理が繰り返された結果得られた解(すなわち、最適化されたと判定された解)を最適解として出力する。
【0041】
最適化モデル管理部101と、銘柄データ管理部102と、組成解像度決定部103と、イジングモデル作成部104と、サンプリング部105と、パラメータ更新部106と、最適解出力部107とは、プログラム(最適化プログラム)に従って動作するコンピュータのプロセッサ(例えば、CPU(Central Processing Unit )、GPU(Graphics Processing Unit))によって実現される。
【0042】
例えば、プログラムは、最適化装置100の記憶部(図示せず)に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、最適化モデル管理部101、銘柄データ管理部102、組成解像度決定部103、イジングモデル作成部104、サンプリング部105、パラメータ更新部106、および、最適解出力部107として動作してもよい。また、最適化装置100の機能がSaaS(Software as a Service )形式で提供されてもよい。
【0043】
また、最適化モデル管理部101と、銘柄データ管理部102と、組成解像度決定部103と、イジングモデル作成部104と、サンプリング部105と、パラメータ更新部106と、最適解出力部107とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用又は専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【0044】
また、最適化装置100の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0045】
なお、上述するように、サンプリング部105が自身で近似解を求める場合、サンプリング部105は、上記量子アニーリングマシンとして実装されてもよい。
【0046】
次に、本実施形態の最適化装置100の動作を説明する。
図2は、本実施形態の最適化装置100の動作例を示すフローチャートである。以下の説明では、インデックスポートフォリオの最適化を行う場合について説明する。
【0047】
最適化モデル管理部101は、最適化モデルを設定する(ステップS101)。最適化モデル管理部101は、例えば、ユーザの指示に応じて、ポートフォリオを構成する銘柄と数量を掛け合わせたものとインデックス指標値との指定期間における差分を計算する数式のテンプレートを選択してもよい。
【0048】
また、銘柄データ管理部102は、選択する銘柄候補を設定する(ステップS102)。銘柄を設定する方法は任意である。例えば、銘柄データ管理部102は、初期状態において、銘柄候補を絞り込まず、全ての銘柄候補を設定してもよいし、ユーザの指示に応じて銘柄候補を設定してもよい。なお、ここで選択された銘柄の数分、最適化モデルで用いられる変数の個数が決定する。
【0049】
次に、組成解像度決定部103は、組成の解像度を設定する(ステップS103)。具体的には、組成解像度決定部103は、組成する各銘柄の数量などの属性を設定する。なお、初期状態において、組成解像度決定部103は、具体的な数量を設定する代わりに、銘柄候補を選択する/しない、地域の属性が国内/海外、資本金の金額が所定の閾値より上/閾値以下、などを2値フラグで識別するための1ビットを割り当ててもよい。
【0050】
次に、イジングモデル作成部104は、イジングモデルへの変換を行う(ステップS104)。具体的には、イジングモデル作成部104は、ステップS101で選択されたテンプレートをベースに、ステップS102およびステップS103で設定された変数の個数に応じて、ハミルトニアンを作成する。そして、イジングモデル作成部104は、量子アニーリング、または、疑似量子アニーリングの入力とするQUBO形式のイジングモデルを生成する。
【0051】
サンプリング部105は、ステップS104で生成されたイジングモデルを入力として、量子アニーリングまたは疑似量子アニーリングにおけるアニーリング処理でサンプリングを行う(ステップS105)。量子アニーリングにおけるサンプリングでは、量子ゆらぎの特性で、ボルツマン分布に準拠することが期待されており、異なる解をサンプリングできる。なお、疑似量子アニーリングでも、上記の量子揺らぎを模した特性が実現されているものとする。
【0052】
規定の個数の解がサンプリングされていない場合(ステップS106におけるNo)、サンプリング部105は、サンプリングを繰り返す。一方、規定の個数の解がサンプリングされた場合(ステップS106におけるYes)、サンプリング部105は、求めた解をイジングモデルのエネルギー値が低い順にソートする(ステップS107)。ジングモデルのエネルギー値が低いほど、最適な解と言える。ただし、ステップS103で設定された解像度が荒い状態では、これらの解は近似値と言える。
【0053】
パラメータ更新部106は、ステップS101からステップS107までの処理で、最適化された解が求まった否か判定する(ステップS108)。最適化された解が求まっていないと判定された場合(ステップS108におけるNo)、パラメータ更新部106は、各銘柄に割り当てるビット数、銘柄の組成量の最小値および最大値、並びに、最適化モデルの重みを更新し(ステップS109)、ステップS101以降の処理を繰り返す。これにより、順次、組成の解像度を精密化する。
【0054】
一方、最適化された解が求まったと判定された場合(ステップS108におけるYes)、最適解出力部107は、イジングモデルのエネルギー値が最小のサンプリング結果を最適解として出力する(ステップS110)。
【0055】
次に、ループ後の処理について説明する。
ループ後のステップS101では、例えば、制約条件式の重みが大きく更新されており、より厳密な解を求めるように最適化モデルが設定されている。また、ループ後のステップS102では、より優先して選択する対象に選択候補が絞り込まれている。例えば、サンプリング結果に含まれる回数を銘柄ごとにカウントして、既定の数だけ上位の銘柄に絞り込む処理が行われている。
【0056】
さらに、ループ後のステップS103において、組成量の最小値と最大値との間の区間分けが割り当てるビット数に応じて更新され、イジングモデルに用いられる変数も更新される。
【0057】
図3は、組成の解像度の更新に用いる情報の例を示す説明図である。
図3は、パラメータを更新する内容が予めテーブル形式で準備され、ループ回数に応じて最適化モデルの重み、銘柄数、組成の解像度に使用するビット数が更新されることを示す。
【0058】
具体的には、
図3に示す例では、例えば、初期段階では、100銘柄について選択するかしないかを示すビットが割り当てられ、最適化モデルの重みには、共通の重み(w
1=w
2=w
3=1.0)が設定されていることを示す。そして、次のループ処理において、パラメータ更新部106が、ハミルトニアンの重みwをそれぞれ更新し、選択候補を50銘柄に絞り込み、各銘柄に割り当てるビット数を2ビットに更新したことを示す。これにより、イジングモデルに用いられる変数も更新される。
【0059】
さらに、次のループ処理において、パラメータ更新部106が、ハミルトニアンの重みwをさらに更新し、選択候補を10銘柄に絞り込み、各銘柄に割り当てるビット数を4ビットに更新したことを示す。
【0060】
以上のように、本実施形態では、イジングモデル作成部104が、選択候補と解像度により規定される変数を用いてイジングモデルを作成し、サンプリング部105が作成されたイジングモデルを用いた最適化処理により最適化問題の近似解をサンプリングし、パラメータ更新部106が選択候補および解像度を更新する。そして、イジングモデル作成部104が、更新された選択候補および解像度により規定される変数を用いてイジングモデルを更新し、サンプリング部105が、更新されたイジングモデルを用いてサンプリングする。よって、組み合わせ最適化問題の近似解を探索できる。
【0061】
具体的には、本実施形態では、パラメータ更新部106が、アニーリングのサンプリングで得られた銘柄を候補として段階的に絞り込むとともに、組成の計算を最初は粗く、段階的に細かくするように情報を更新する。さらに、パラメータ更新部106は、段階的に制約条件を厳しくすることで、より適切な組み合わせを導出する。これにより、組み合わせ最適化問題の近似解を高速に探索できる。
【0062】
次に、本発明の概要を説明する。
図4は、本発明による最適化装置の概要を示すブロック図である。本発明による最適化装置80(例えば、最適化装置100)は、組み合わせ最適化問題における選択候補(例えば、銘柄、素材など)と、その選択候補を選択する粒度を規定した解像度により規定される変数を用いて、量子アニーリングによる最適化処理で用いられるイジングモデル(例えば、ハミルトニアン)を作成するイジングモデル作成手段81(例えば、イジングモデル作成部104)と、作成されたイジングモデルを用いた最適化処理により最適化問題の近似解をサンプリングするサンプリング手段82(例えば、サンプリング部105)と、選択候補および解像度を更新する更新手段83(例えば、パラメータ更新部106)とを備えている。
【0063】
そして、イジングモデル作成手段81は、更新された選択候補および解像度により規定される変数を用いてイジングモデルを更新し、サンプリング手段82は、更新されたイジングモデルを用いてサンプリングする。
【0064】
そのような構成により、組み合わせ最適化問題の近似解を探索できる。
【0065】
また、更新手段83は、選択候補を一部に絞り込む更新を行うとともに、絞り込まれた選択候補の解像度を詳細にする更新を行ってもよい。これにより、絞り込んだ選択候補を組み合わせる精度を向上させることが可能になる。
【0066】
具体的には、更新手段83は、イジングモデルにより算出されるエネルギー値が小さい上位の選択候補に絞り込む更新を行ってもよい。
【0067】
また、更新手段83は、制約条件をより優先するようにイジングモデルの重みを更新してもよい。これにより、制約条件を徐々に強化して近似解を探索できる。
【0068】
具体的には、更新手段83は、イジングモデルにおいて、制約条件式を示す項を構成する変数の重みを増加させる更新を行ってもよい。
【0069】
また、イジングモデル作成手段81は、選択候補の選択有無およびその選択候補の取りうる値の範囲を分割する粒度を規定した解像度に基づいて変数を規定してもよい。
【0070】
また、イジングモデル作成手段81は、選択候補の取りうる値の範囲を粒度に応じて等間隔に分割された各範囲の値を取るか否かを示す変数と、その各範囲の値のうちいずれか1つのみ選択されることを示す制約条件式とを含むイジングモデルを作成してもよい。
【0071】
また、イジングモデル作成手段81は、組成の割合を決定する組み合わせ最適化問題における選択候補と、その選択候補が取りうる組成の割合の範囲を粒度に応じて分割した各範囲について割り当てられる変数を用いて、イジングモデルを作成してもよい。
【符号の説明】
【0072】
100 最適化装置
101 最適化モデル管理部
102 銘柄データ管理部
103 組成解像度決定部
104 イジングモデル作成部
105 サンプリング部
106 パラメータ更新部
107 最適解出力部