(57)【特許請求の範囲】
【請求項１】
数理モデルの定式化により得られたハミルトニアンに対する量子探索を実行する量子探索工程と、
前記量子探索工程により得られた解が、前記数理モデルにおける制約条件のうち、少なくとも一つの制約条件を満たすか否かを判定する解判定工程と、
前記量子探索工程により得られた解が、前記解判定工程において判定を行った制約条件のうち少なくとも一つを満たさない場合、前記ハミルトニアンにおける一部の変数の値を固定した補正ハミルトニアンを生成する補正工程とを含む計算方法。
【請求項２】
前記補正工程において、前記制約条件のうち、前記量子探索工程において得られた解が満たす制約条件に含まれる変数の少なくとも一部の変数の値を固定する請求項１に記載の計算方法。
【請求項３】
前記補正工程において、前記量子探索工程における、前記数理モデルのエネルギーを増大させる要因となる変数を、優先的に値を固定する変数に決定する請求項１または２に記載の計算方法。
【請求項４】
前記補正ハミルトニアンに対する量子探索により得られる解が、前記数理モデルにおける制約条件のうち、少なくとも一つの制約条件を満たす可能性があるか否かを判定する、補正ハミルトニアン評価工程をさらに含む請求項１から３の何れか１項に記載の計算方法。
【請求項５】
前記補正ハミルトニアン評価工程において、前記補正ハミルトニアンに対する量子探索により、該補正ハミルトニアン評価工程にて判定を行った制約条件の全てを満たす解が得られる可能性がないと判定した場合、前記補正ハミルトニアンにおいて値を固定した変数のうち、少なくとも一部の変数について、値の固定を解除する、変数固定解除工程をさらに含む請求項４に記載の計算方法。
【請求項６】
数理モデルの定式化により得られたハミルトニアンに対する量子探索を実行する実行部と、
前記量子探索により得られた解が、前記数理モデルにおける制約条件のうち、少なくとも一つの制約条件を満たすか否かを判定する解判定部と、
前記量子探索により得られた解が、前記解判定部により判定された制約条件のうち少なくとも一つを満たさない場合、前記ハミルトニアンにおける一部の変数の値を固定した補正ハミルトニアンを生成する補正部とを備えた計算装置。
【請求項７】
請求項６に記載の計算装置としてコンピュータを機能させるための計算プログラムであって、前記実行部、前記解判定部、および前記補正部として前記コンピュータを機能させるための計算プログラム。
【請求項８】
請求項７に記載の計算プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は数理モデルの系のエネルギーを表すハミルトニアンを生成し、量子探索によって計算するための計算方法、および当該計算方法を実行するための計算装置、および計算プログラムに関する。
【背景技術】
【０００２】
非特許文献１は、アニーリングマシンを使用した、数理モデルをＱＵＢＯ（二次最適化問題）モデルに定式化して計算するための方法について開示する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Quantum Bridge Analytics I: A Tutorial on Formulating and Using QUBO Models (Fred Glover, Gary Kochenberger, Yu Du, Quantum Bridge Analytics 1 Qubo for Oct 31)
【発明の概要】
【発明が解決しようとする課題】
【０００４】
数理モデルを定式化する際、アニーリングマシンを含む、量子探索アルゴリズムを実行する計算装置によって計算可能な式とするために、数理モデルから得られた式の一部を近似する等、式の補正を行う場合がある。この場合、数理モデルの制約条件を、補正した式が厳密に表現できていない場合があり、当該式に基づいた量子探索の実行により、一部の制約条件を満たさない解が得られる場合がある。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、本開示の一態様に係る計算方法は、数理モデルの定式化により得られたハミルトニアンに対する量子探索を実行する量子探索工程と、前記量子探索工程により得られた解が、前記数理モデルにおける制約条件のうち、少なくとも一つの制約条件を満たすか否かを判定する解判定工程と、前記量子探索工程により得られた解が、前記解判定工程において判定を行った制約条件のうち少なくとも一つを満たさない場合、前記ハミルトニアンにおける一部の変数の値を固定した補正ハミルトニアンを生成する補正工程とを含む。
【０００６】
また、本開示の一態様に係る計算装置は、数理モデルの定式化により得られたハミルトニアンに対する量子探索を実行する実行部と、前記量子探索により得られた解が、前記数理モデルにおける少なくとも一つの制約条件を満たすか否かを判定する解判定部と、前記量子探索により得られた解が、前記解判定部が判定を行った制約条件のうち少なくとも一つを満たさない場合、前記ハミルトニアンにおける一部の変数を固定した補正ハミルトニアンを生成する補正部とを備える。
【０００７】
本開示の各態様に係る計算装置は、コンピュータによって実現してもよい。この場合には、コンピュータを、前記計算装置が備える各部（ソフトウェア要素）として動作させてもよい。この場合、前記計算装置をコンピュータにて実現させる計算プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本開示の範疇に入る。
【発明の効果】
【０００８】
本開示の一態様によれば、数理モデルの全ての制約条件を満たす解が、量子探索によって得られる蓋然性が向上する。
【図面の簡単な説明】
【０００９】
【図１】本開示の実施形態に係る計算方法を説明するためのフローチャートである。
【図２】本開示の実施形態に係る計算装置のブロック図である。
【発明を実施するための形態】
【００１０】
〔実施形態〕
＜計算装置の概要＞
以下、本開示の一実施形態について、詳細に説明する。
【００１１】
本実施形態に係る計算方法は、数理モデルの系全体のエネルギーを最小化する、当該数理モデルにおける変数の組み合わせを、アニーリングマシンによって計算する方法である。本実施形態においては、上記数理モデルのエネルギーを表すハミルトニアンを生成し、当該ハミルトニアンからＱＵＢＯ行列を生成し、当該ＱＵＢＯ行列をアニーリングマシンによって解くことにより計算を行う。
【００１２】
本実施形態に係る数理モデルの計算方法について、図１および図２を参照してより詳細に説明する。図１は、本実施形態に係る数理モデルの計算方法を説明するためのフローチャートである。図２は、図１のフローチャートに示す計算方法を実行するための計算装置２のブロック図である。
【００１３】
図２に示すように、本実施形態に係る計算装置２は、アニーリングマシン４による計算を実行するためのデータを生成し、当該計算結果を蓄積および表示するための装置である。計算装置２は、操作部６と、メモリ８と、制御部１０と、通信部１２と、表示部１４とを備える。また、制御部１０は、ハミルトニアン生成部１６と、ＱＵＢＯ行列生成部１８と、解判定部２０と、補正部２２とを備える。さらに、補正部２２は、固定変数決定部２４と、補正ハミルトニアン生成部２６と、補正ハミルトニアン評価部２８と、変数固定解除部３０とを備える。
【００１４】
操作部６は、例えば、計算装置２の使用者によって操作される。例えば、操作部６は、計算装置２による計算のためのデータを外部から入力するために使用される、キーボード等を含んでいてもよい。例えば、操作部６は、数理モデルの各パラメータ、または、数理モデルを計算する際の設定等を行うためのデータを入力するために使用されてもよい。
【００１５】
メモリ８は、計算装置２の備える各部から入力されたデータを少なくとも一時的に記憶する。メモリ８が記憶するデータは、計算装置２の備える各部から適宜読み出される。
【００１６】
制御部１０は、計算装置２に入力された、数理モデルのパラメータ、および、計算の設定に基づいて、アニーリングマシン４による計算を実行するためのデータを生成する。制御部１０の各部の詳細な動作は、本実施形態に係る計算方法についての説明と併せ、後により詳細に説明する。
【００１７】
通信部１２は、メモリ８から読み出したデータの少なくとも一部を、計算装置２の外部機器へ送信し、当該外部機器から送信されたデータを受信し、メモリ８に記録するための通信装置である。本実施形態において、通信部１２は、アニーリングマシン４とデータの相互通信が可能である。
【００１８】
表示部１４は、メモリ８からの読み出したデータの少なくとも一部を、計算装置２の使用者等に表示するための装置である。例えば、表示部１４は、計算装置２に入力されたデータ、計算装置２の計算の設定、または、アニーリングマシン４による計算の結果等を表示するモニタであってもよい。
【００１９】
＜数理モデルの定式化＞
本実施形態に係る数理モデルの計算方法においては、はじめに、数理モデルを定式化し、数理モデルの系全体のエネルギーを表現するハミルトニアンＨを生成する（ステップＳ２）。ステップＳ２においては、例えば、はじめに、計算装置２の使用者が、操作部６によって、計算したい数理モデルの各パラメータを計算装置２に入力する。入力された数理モデルの各パラメータは、メモリ８に一時的に記録されてもよい。入力された数理モデルの各パラメータは、次いで、制御部１０のハミルトニアン生成部１６に読み出される。
【００２０】
ハミルトニアン生成部１６は、メモリ８から読み出したデータを解析し、数理モデルを表す式を生成し、当該式をＱＵＢＯモデルに沿って定式化した式に変換する。これにより、ハミルトニアン生成部１６は、例えば、目的関数ＨＯと、数理モデルにおける制約条件を定式化した制約条件式ＨＬとを生成する。次いで、ハミルトニアン生成部１６は、生成した目的関数ＨＯおよび制約条件式ＨＬを合成して、ハミルトニアンＨを生成する。例えば、ハミルトニアンＨは、Ｈ＝ＨＯ＋ＨＬと表される。
【００２１】
目的関数ＨＯがＱＵＢＯモデルを定式化した式である場合、目的関数ＨＯは、例えば、下記式（１）によって表現される。
【００２２】
【数１】
0006985480.tif 000002
【００２３】
式（１）において、ｘｉは、０または１の値を取るバイナリ変数である。また、ａｉおよびｂｉｊは、それぞれ、１次の項および２次の項の係数である。また、ｉ、ｊ、およびｈは自然数である。また、ｈは、数理モデルにおける各変数の取り得る組み合わせの総数に対応する。スピン変数ｓｉ＝±１を用いて、ｘｉ＝（ｓｉ＋１）／２と表現できることから、目的関数ＨＯは、イジングモデルのエネルギー関数と等価である。
【００２４】
制約条件式ＨＬは、例えば、係数Ｃｌ等を用いて、以下の式（２）のように表現できる。
【００２５】
【数２】
0006985480.tif 000003
【００２６】
ここで、Ｌｌは、それぞれ、制約条件を定式化した制約条件項である。制約条件項Ｌｌは、元の数理モデルにおける制約条件を満たさない組み合わせの場合に増大する項である。これにより、元の数理モデルにおける制約条件が満たされない場合に、系全体のエネルギーを増大させて、解として採用されないように設定することが可能である。なお、式（２）におけるｋは自然数であり、数理モデルにおける制約条件の個数に対応する。
【００２７】
＜アニーリング工程＞
次いで、量子探索工程として、ハミルトニアンＨに対し、量子アニーリングを実行する（ステップＳ４）、アニーリング工程を実行する。ステップＳ４においては、はじめに、ハミルトニアンＨに関するデータを、ハミルトニアン生成部１６からＱＵＢＯ行列生成部１８に入力することにより、ハミルトニアンＨに対するＱＵＢＯ行列を生成する。
【００２８】
ＱＵＢＯ行列は、対応するハミルトニアンをＱＵＢＯモデルの行列によって表現する上三角行列である。あるハミルトニアンからのＱＵＢＯ行列の生成は、一般に用いられる、ハミルトニアンをＱＵＢＯ行列に変換する手法を採用できる。これにより、アニーリングマシンによって計算可能なＱＵＢＯ行列が生成される。生成されたＱＵＢＯ行列は、例えば、少なくとも一時的に、メモリ８に記録される。
【００２９】
次いで、ハミルトニアンＨから生成されたＱＵＢＯ行列を、アニーリングマシン４に入力し、アニーリングマシン４を用いて計算する。例えば、通信部１２が、メモリ８からＱＵＢＯ行列のデータを読み出し、アニーリングマシン４に送信する。ＱＵＢＯ行列のデータを受信したアニーリングマシン４は、ＱＵＢＯ行列のデータを受信して、当該ＱＵＢＯ行列に対する量子アニーリングを実行する。なお、通信部１２は、ＱＵＢＯ行列生成部１８から直接ＱＵＢＯ行列に関するデータを受信し、アニーリングマシン４への当該データの送信を行ってもよい。
【００３０】
以上より、少なくとも、計算装置２における、通信部１２、およびＱＵＢＯ行列生成部１８は、ハミルトニアンＨに対する量子アニーリングを実行させるための、実行部として機能する。
【００３１】
これにより、ハミルトニアンＨのエネルギーを最適化する変数の組み合わせが解として得られる。アニーリングマシン４による計算の結果は、通信部１２に送信される。アニーリングマシン４による計算の結果を受信した通信部１２は、当該結果をメモリ８に記録する。アニーリングマシン４による計算の結果は、メモリ８から表示部１４によって読みだされ、表示部１４に表示されてもよい。
【００３２】
＜ハミルトニアンの補正＞
ステップＳ２において生成されるハミルトニアンＨは、使用するアニーリングマシン４によって計算可能なデータを生成できる式である必要がある。例えば、本実施形態においては、ＱＵＢＯモデルの問題を計算するためのアニーリングマシン４を用いて計算を行う。このため、本実施形態においては、数理モデルを定式化してハミルトニアンＨを生成する際、後述するＱＵＢＯ行列を生成可能なハミルトニアンＨを生成する必要がある。
【００３３】
したがって、数理モデルからハミルトニアンＨを生成する際、ハミルトニアンＨの一部の項について、近似等の補正を行う場合がある。しかしながら、ハミルトニアンＨに対し補正を行った場合、補正後のハミルトニアンＨの目的関数ＨＯまたは制約条件式ＨＬは、元の数理モデルの目的関数および制約条件を厳密に表現したものではない可能性がある。このように、ハミルトニアンＨが数理モデルを厳密に表現できていない場合には、量子アニーリングの結果、不適切な解が求まる可能性がある。
【００３４】
特に、ＱＵＢＯモデルは、イジングモデルと等価であり、各量子ビットの２体相互作用までを考慮するモデルである。しかしながら、一般に、数理モデルにおいては、３つ以上の要素の相互作用を考慮する必要がある場合が考えられる。この場合、当該数理モデルの計算過程においては、３体相互作用以上の多体相互作用を考慮する必要がある。
【００３５】
このような数理モデルを、ＱＵＢＯモデルに沿って定式化するためには、多体相互作用項を、２体相互作用項に近似して定式化する必要がある。具体的に、多体相互作用項から２体相互作用項への近似は、追加の補助変数を用いた、ハミルトニアンの次数の削減等の手法が考えられる。
【００３６】
しかしながら、多体相互作用項を２体相互作用項に近似した場合、ステップＳ４において、本来の数理モデルにおいて最適な変数の組み合わせが、近似後のハミルトニアンにおいては、エネルギーが増大する組み合わせとなり、解として選択されない場合がある。特に、上記に伴い、ステップＳ４において、本来の数理モデルにおいて制約条件を満たさない変数の組み合わせが、近似後のハミルトニアンにおいては最適性を有すると判断され、解として選択されてしまう場合がある。
【００３７】
他にも、本実施形態においては、数理モデルをＱＵＢＯモデルに変換して計算を実行する都合上、当該数理モデルを定式化した際に、目的関数および制約条件式の何れかに、３次以上の項が含まれる場合、当該項を２次までの項に近似する必要がある。この場合においても、ステップＳ４において、本来の数理モデルにおいて最適性を有する変数の組み合わせが、解として採用されず、特に、数理モデルにおける制約条件を満たさない変数の組み合わせが、解として採用されてしまう問題が生じる。
【００３８】
＜解判定工程および補正工程＞
本実施形態に係る計算方法においては、数理モデルにおける制約条件を満たさない解が得られた場合、ハミルトニアンＨを補正して、数理モデルにおける制約条件を満たす解が得られる蓋然性を向上させる。当該目的を実現するため、本実施形態に係る計算方法においては、ステップＳ４において得られた解が、数理モデルの制約条件を満たすか否かを判定する必要がある。
【００３９】
具体的に、本実施形態においては、ステップＳ４における量子アニーリングにより得られた解を解析して、当該解が、数理モデルが含む制約条件のうち、少なくとも一つの制約条件を満たしているか否かを判定する（ステップＳ６）、解判定工程を実行する。解判定工程は、解判定部２０が、ステップＳ４における量子アニーリングにより得られた解のデータをメモリ８から読み出し、当該解を解析することにより実行される。
【００４０】
ステップＳ６においては、数理モデルにおける全ての制約条件のそれぞれに対し、ステップＳ４において得られた解が当該制約条件を満たす否かを判定してもよい。一方、ステップＳ６においては、数理モデルにおける全ての制約条件のうち、一つ以上の、ある特定の制約条件に対してのみ、ステップＳ４において得られた解が当該制約条件を満たす否かを判定してもよい。
【００４１】
ステップＳ４における量子アニーリングにより得られた解が、ステップＳ６において判定を行った制約条件のうち、少なくとも一つでも満たしていない場合、ハミルトニアンＨを補正する、補正工程を実行する。具体的に、補正工程においては、ハミルトニアンＨにおける一部の変数の値を固定することにより、ハミルトニアンＨの補正を行う。
【００４２】
より具体的には、補正工程において、はじめに、ハミルトニアンＨに含まれる変数のうち、どの変数の値を固定するかを決定する（ステップＳ８）。
【００４３】
ステップＳ８においては、例えば、解判定部２０から、補正部２２の固定変数決定部２４へ、ステップＳ４において得られた解が、数理モデルの何れかの制約条件を満たしていないことを示すデータが送信される。併せて、解判定部２０から、補正部２２の固定変数決定部２４へ、ステップＳ４において得られた解、数理モデルの制約条件、およびハミルトニアンＨのそれぞれに関するデータが送信される。これを受け、固定変数決定部２４が、当該データを解析することにより、ハミルトニアンＨに含まれる変数のうち、どの変数の値を固定するかが決定される。
【００４４】
ステップＳ８においては、例えば、ハミルトニアンＨに含まれる変数のうち、ステップＳ４により得られた解が満たしている制約条件に対応する制約条件項Ｌｌが含む変数を、値を固定する変数に優先的に決定する。さらに、ステップＳ８においては、例えば、ハミルトニアンＨに含まれる変数のうち、値の変動により、ハミルトニアンＨのエネルギーの増大に作用する要因となっている変数を、値を固定する変数に優先的に決定する。
【００４５】
次いで、ステップＳ８において決定された、値を固定する変数のデータに基づき、ハミルトニアンＨのうち、一部の変数の値を固定した、補正ハミルトニアンＨ’を生成する（ステップＳ１０）。
【００４６】
ステップＳ１０においては、固定変数決定部２４から、補正ハミルトニアン生成部２６へ、値を固定する変数のデータ、ステップＳ４において得られた解のデータ、およびハミルトニアンＨに関するデータが送信される。これを受け、補正ハミルトニアン生成部２６が、これらのデータを解析し、補正ハミルトニアンＨ’に関するデータを生成する。
【００４７】
補正ハミルトニアンＨ’は、補正目的関数Ｈ’Ｏおよび補正制約条件式Ｈ’Ｌとを用いて、Ｈ’＝Ｈ’Ｏ＋Ｈ’Ｌと表すことができる。ここで、補正目的関数Ｈ’Ｏは、目的関数ＨＯを、ステップＳ８において決定された、値を固定する変数について、値を固定することにより変形した項である。補正制約条件式Ｈ’Ｌは、補正制約条件項Ｌ’ｌを用いて、以下の式（３）に示す式にて表現できる。
【００４８】
【数３】
0006985480.tif 000004
【００４９】
ここで、補正制約条件項Ｌ’ｌのそれぞれは、制約条件項Ｌｌのそれぞれを、ステップＳ８において決定された、値を固定する変数について、値を固定することにより変形した項である。ここで、補正目的関数Ｈ’Ｏおよび補正制約条件式Ｈ’Ｌにおける、値を固定する変数のそれぞれの値は、ステップＳ４において得られた解の一部を適用する。
【００５０】
なお、補正制約条件項Ｌ’ｌのうち一部の項が含む変数が、ステップＳ８において決定された、値を固定する変数のみである場合がある。この場合、当該補正制約条件項Ｌ’ｌは、値を固定されていない他の変数の値によらず一定の値をとる定数項となる。補正制約条件項Ｌ’ｌのうちの一部が、定数項となることは、数理モデルにおける制約条件のうち、考慮すべき制約条件が減ることを意味する。
【００５１】
また、目的関数ＨＯおよび制約条件項Ｌｌのうち一部の項が、ステップＳ８において決定された、値を固定する変数を含まない場合が考えられる。ステップＳ８において決定された、値を固定する変数を含まない目的関数ＨＯおよび制約条件項Ｌｌのそれぞれは、対応する補正目的関数Ｈ’Ｏおよび補正制約条件項Ｌ’ｌのそれぞれと恒等である。
【００５２】
＜補正ハミルトニアンの評価および変数固定解除＞
次いで、生成された補正ハミルトニアンＨ’の評価を行う（ステップＳ１２）、補正ハミルトニアン評価工程を実行する。ステップＳ１２は、補正ハミルトニアン生成部２６から補正ハミルトニアン評価部２８へ、補正ハミルトニアンＨ’に関するデータを送信し、当該データを補正ハミルトニアン評価部２８が解析することにより実行される。
【００５３】
ステップＳ１２においては、補正ハミルトニアンＨ’に対する量子アニーリングを実行した場合に得られる解が、数理モデルにおける制約条件のうち、少なくとも一つの制約条件を満たす可能性があるか否かについて判定を行う。当該判定は、生成された補正ハミルトニアンＨ’のパラメータを解析することにより、容易に実行することができる。
【００５４】
ステップＳ１２において、補正ハミルトニアンＨ’に対する量子アニーリングを実行した場合に得られる解が、ステップＳ１２において判定を行った制約条件の全てを満たす解が存在する可能性がないと判定されたとする。この場合、ステップＳ１２に次いで、補正ハミルトニアンＨ’において値が固定されていた変数のうち、少なくとも一部の変数について、値の固定を解除する（ステップＳ１４）、変数固定解除工程を実施する。
【００５５】
ステップＳ１４においては、補正ハミルトニアン評価部２８から変数固定解除部３０へ、ステップＳ１２における判定の結果、補正ハミルトニアンＨ’、および値を固定した変数の、それぞれのデータを送信する。これを受け、変数固定解除部３０が、当該データを解析し、補正ハミルトニアンＨ’において値が固定されていた変数のうち、少なくとも一部の変数について、値の固定を解除した、新たなハミルトニアンを生成する。
【００５６】
ステップＳ１４においては、補正ハミルトニアンＨ’において値が固定されていた変数のうち、一部の変数のみについて、値の固定を解除してもよい。この場合、変数固定解除部３０が生成するハミルトニアンは、補正ハミルトニアンＨ’において値が固定されていた変数のうち、一部の変数についてのみ値が固定された、新たな補正ハミルトニアンＨ’’となる。
【００５７】
一方、ステップＳ１４においては、補正ハミルトニアンＨ’において値が固定されていた全て変数について、値の固定を解除してもよい。この場合、変数固定解除部３０が生成するハミルトニアンは、ステップＳ２においてハミルトニアン生成部１６により生成されたハミルトニアンＨと恒等である。
【００５８】
ステップＳ１２およびステップＳ１４の実行により、少なくとも一つの制約条件を満たすことがない補正ハミルトニアンＨ’に対する量子アニーリングが実行されてしまう蓋然性を低減できる。このため、ステップＳ１２およびステップＳ１４を含む本実施形態に係る計算方法は、より効率的に数理モデルの解探索のアルゴリズムを実行する。
【００５９】
＜量子アニーリングの再実行＞
ステップＳ１４が実行されなかった場合、補正ハミルトニアン評価部２８から、補正ハミルトニアンＨ’に関するデータが、ＱＵＢＯ行列生成部１８に送信され、補正ハミルトニアンＨ’に対応するＱＵＢＯ行列が生成される。また、ステップＳ１４が実行された場合、変数固定解除部３０が生成する補正ハミルトニアンＨ’’またはハミルトニアンＨに関するデータが、ＱＵＢＯ行列生成部１８に送信され、対応するＱＵＢＯ行列が生成される。
【００６０】
以降、ＱＵＢＯ行列生成部１８が生成したＱＵＢＯ行列に対する量子アニーリングが、上述したステップＳ４と同一の手法により実行される。続いて、ステップＳ６を再度実行し、当該量子アニーリングにより得られた解が、数理モデルの制約条件の少なくとも一つを満たすか否かを判定する。
【００６１】
当該量子アニーリングにより得られた解が、当該ステップＳ６により、数理モデルにおける制約条件を満たすと判定された場合、当該解を、数理モデルにおける最適解として採用し（ステップＳ１６）、数理モデルの計算を完了する。ステップＳ１６において採用された解は、例えば、当該解に関するデータを、メモリ８から表示部１４に送信することにより、表示部１４に表示してもよい。
【００６２】
一方、ステップＳ６において、上記量子アニーリングにより得られた解が、数理モデルにおける制約条件を満たさないと再度判定された場合、再度ステップＳ８が実行される。
【００６３】
例えば、補正ハミルトニアンＨ’に対する量子アニーリングにより得られた解が、ステップＳ６において、判定を行った制約条件のうち、少なくとも一つを満たさないと判定されたとする。この場合、続くステップＳ８においては、補正ハミルトニアンＨ’において既に値が固定されている変数の値をそのままに、新たに値を固定する変数を決定し、値を固定してもよい。あるいは、ステップＳ８において、補正ハミルトニアンＨ’において既に値が固定されている変数について、値の固定を解除し、新たに値を固定する変数を設定してもよい。ここで、新たに値を固定する変数の値は、補正ハミルトニアンＨ’に対する量子アニーリングにより得られた解の一部を採用してもよい。
【００６４】
以降、ステップＳ１０、ステップＳ１２が実行され、場合によってはステップＳ１４が追加にて実行される。これにより新たな補正後のハミルトニアンが得られ、再度ステップＳ４が実行されることにより、新たな補正後のハミルトニアンに対する量子アニーリングが実行される。ステップＳ４からステップＳ１４は、ステップＳ６において、量子アニーリングにより得られた解が、数理モデルの少なくとも一つの制約条件を満たすと判定されるまで、繰り返し実行される。
【００６５】
＜計算方法および計算装置が奏する効果＞
補正ハミルトニアンＨ’は、ハミルトニアンＨと比較して、一部の変数の値が固定されている。このため、補正ハミルトニアンＨ’は、ハミルトニアンＨと比較して、量子アニーリングによる解探索において、各変数の取り得る値の組み合わせが制限される。換言すれば、補正ハミルトニアンＨ’は、ハミルトニアンＨと比較して、量子アニーリングによる解探索において、各変数の値が、制約条件を満たさない値となる蓋然性が低下する。したがって、補正ハミルトニアンＨ’に対する量子アニーリングの結果得られる解は、ハミルトニアンＨに対する量子アニーリングの結果得られる解と比較して、より制約条件を満たす蓋然性が向上している。
【００６６】
さらに、当該変数の値は、ステップＳ６において判定された、数理モデルの制約条件を全て満たす値である。このため、補正ハミルトニアンＨ’に対する量子アニーリングは、変数の少なくとも一部が、既に数理モデルの制約条件の少なくとも一部を満たす値に固定された状態において実行される。したがって、補正ハミルトニアンＨ’に対する量子アニーリングの結果得られる解は、ハミルトニアンＨに対する量子アニーリングの結果得られる解と比較して、より制約条件を満たす蓋然性がさらに向上している。
【００６７】
加えて、補正ハミルトニアンＨ’において値が固定された変数は、ステップＳ４において得られた解と一致するように値が固定されている。ステップＳ４において得られた解は、その一部が制約条件を満たさないものの、ハミルトニアンＨにおける最適性を有する解であるといえる。したがって、補正ハミルトニアンＨ’に対する量子アニーリングは、変数の少なくとも一部が、数理モデルにおいて、少なくとも局所的に最適性を有する値に固定された状態において実行される。ゆえに、補正ハミルトニアンＨ’に対する量子アニーリングの結果得られる解は、少なくとも局所的に、数理モデルにおける最適性を有している。
【００６８】
以上により、本実施形態に係る計算方法によれば、数理モデルにおいて、少なくとも局所的に最適性を有し、かつ、数理モデルにおける制約条件を満たす解を得られる蓋然性が向上する。
【００６９】
さらに、補正ハミルトニアンＨ’において値が固定された変数は、ステップＳ４における量子アニーリングの過程において、エネルギーを増大させる要因となる変数が選択されている。このため、補正ハミルトニアンＨ’は、ハミルトニアンＨと比較して、量子アニーリングによる解探索の過程におけるエネルギーの増大が抑制され、より最適な解がより効率的に探索される。したがって、補正ハミルトニアンＨ’’に対する量子アニーリングの結果得られる解は、補正ハミルトニアンＨ’に対する量子アニーリングの結果得られる解と比較して、より最適性を有する蓋然性が向上する。
【００７０】
なお、ステップＳ１４において、補正ハミルトニアンＨ’において値を固定した変数のうち、一部の変数について、値の固定を解除し、補正ハミルトニアンＨ’’を生成する場合が考えられる。この場合、補正ハミルトニアンＨ’’に対する量子アニーリングの結果得られる解についても、ハミルトニアンＨに対する量子アニーリングの結果得られる解と比較して、より制約条件を満たす蓋然性が向上している。
【００７１】
加えて、補正ハミルトニアンＨ’’において値が固定された変数の個数は、補正ハミルトニアンＨ’において値が固定された変数と比較して少なくなっている。このため、補正ハミルトニアンＨ’’は、補正ハミルトニアンＨ’と比較して、変数の自由度が向上しており、解探索の範囲がより大域的となる。ゆえに、補正ハミルトニアンＨ’’に対する量子アニーリングの結果得られる解は、補正ハミルトニアンＨ’に対する量子アニーリングの結果得られる解と比較して、より大域的な最適性を有する蓋然性が向上する。
【００７２】
また、上述したように、ステップＳ１４において、補正ハミルトニアンＨ’において値を固定した全ての変数について、値の固定を解除した場合、続くステップＳ４においては、再度ハミルトニアンＨに対する量子アニーリングが実行されることとなる。しかしながら、量子アニーリングは、メタヒューリスティックな計算アルゴリズムであり、同一の計算パラメータに基づく計算であっても、計算する度に得られる解が異なる場合がある。したがって、例えば、ステップＳ４において、ハミルトニアンＨに対する量子アニーリングが再度実行されたとしても、異なる解が得られ、制約条件を満たす解が得られる場合がある。ゆえに、上述した場合においても、本実施形態に係る計算方法によれば、数理モデルにおける制約条件を満たす解を得られる蓋然性は向上している。
【００７３】
＜補記＞
本実施形態に係る数理モデルは、量子アニーリングにより、変数の値の最適な組み合わせを探索可能なモデルであり、かつ、定式化の際に近似等の補正を行う必要があるモデルを適用することができる。例えば、本実施形態に係る数理モデルは、各作業者に、どの日の、どの時間帯に、どの作業を割り当てるかの組み合わせを決定するためのモデルである、レイバースケジューリングモデルを適用してもよい。この場合、例えば、目的関数ＨＯとして、各作業者の作業時間との積の合計値、および、各作業者が希望する休日が実現しなかった場合に値が増大する関数を組み合わせたものを採用してもよい。また、当該レイバースケジューリングモデルの制約条件として、各作業に必要な作業者数、各作業者の一日の労働時間制限、あるいは、各作業者に割り当てが必要な休日日数等を設定してもよい。
【００７４】
本実施形態においては、量子探索のアルゴリズムとして、アニーリングマシンを利用した量子アニーリングを実行するアルゴリズムについて説明を行った。しかしながら、本実施形態に係る計算方法は、これに限られず、イジングモデルを定式化して得られたハミルトニアンに対し、量子探索を実行するアルゴリズムに対して適用することが可能である。例えば、本実施形態に係る計算方法は、数理モデルを定式化して得られたハミルトニアンを、シミュレーテッド分岐を用いた量子探索のアルゴリズムに適用してもよい。
【００７５】
＜ソフトウェアおよびプログラムによる実施例＞
上述した各実施形態に係る制御部１０が備える各部は、計算装置２が備える集積回路、換言すれば、ＩＣチップ等に形成された論理回路、換言すれば、ハードウェアによって実現してもよい。あるいは、制御部１０が備える各部は、ソフトウェアによって実現してもよい。
【００７６】
上記各部がソフトウェアである場合、アニーリングマシン４と通信可能な端末において、各部の機能を実現するソフトウェアであるプログラムの命令を実行することにより、制御部１０の各部における処理が実行されてもよい。この端末は、例えば１つ以上のプロセッサを備えていると共に、上記プログラムを記憶した端末読み取り可能な記録媒体を備えている。上記端末において、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本開示の目的が達成される。したがって、上記プログラムは、制御部１０の各部における処理を実行する、計算プログラムとして機能する。
【００７７】
上記プロセッサとしては、例えばＣＰＵ（Central Processing Unit）を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ＲＯＭ（Read Only Memory）等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するＲＡＭ（Random Access Memory）などをさらに備えていてもよい。
【００７８】
上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記端末に供給されてもよい。なお、本開示の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００７９】
本開示は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本開示の技術的範囲に含まれる。
【符号の説明】
【００８０】
２    計算装置
１０  制御部
１２  通信部
１６  ハミルトニアン生成部
１８  ＱＵＢＯ行列生成部
２０  解判定部
２２  補正部
２４  固定変数決定部
２６  補正ハミルトニアン生成部
２８  補正ハミルトニアン評価部
３０  変数固定解除部
【要約】
【課題】数理モデルの全ての制約条件を満たす解が、量子探索によって得られる蓋然性を向上させる。
【解決手段】計算方法は、量子探索工程（Ｓ４）と、解判定工程（Ｓ６）と、補正工程（Ｓ８、Ｓ１０）とを含む。量子探索工程においては、数理モデルの定式化により得られたハミルトニアンに対する量子探索を実行する。解判定工程においては、量子探索工程により得られた解が、数理モデルにおける制約条件のうち、少なくとも一つの制約条件を満たすか否かを判定する。補正工程においては、解判定工程において判定を行った制約条件のうち、量子探索工程により得られた解が満たさない制約条件が、一つ以上存在する場合、ハミルトニアンにおける一部の変数の値を固定した補正ハミルトニアンを生成する。
【選択図】図１【図１】
0006985480.tif 000005
【図２】
0006985480.tif 000006