特許第6985480号(P6985480)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 鉄道情報システム株式会社の特許一覧

特許6985480計算方法、計算装置、計算プログラム、記録媒体
<>
  • 特許6985480-計算方法、計算装置、計算プログラム、記録媒体 図000005
  • 特許6985480-計算方法、計算装置、計算プログラム、記録媒体 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6985480
(24)【登録日】2021年11月29日
(45)【発行日】2021年12月22日
(54)【発明の名称】計算方法、計算装置、計算プログラム、記録媒体
(51)【国際特許分類】
   G06N 10/00 20190101AFI20211213BHJP
   G06N 99/00 20190101ALI20211213BHJP
【FI】
   G06N10/00
   G06N99/00 180
【請求項の数】8
【全頁数】13
(21)【出願番号】特願2020-162533(P2020-162533)
(22)【出願日】2020年9月28日
【審査請求日】2020年9月28日
(73)【特許権者】
【識別番号】592048741
【氏名又は名称】鉄道情報システム株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】特許業務法人HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】小野 浩一
(72)【発明者】
【氏名】小川 純矢
(72)【発明者】
【氏名】淺木森 大地
(72)【発明者】
【氏名】長迫 勇樹
【審査官】 金田 孝之
(56)【参考文献】
【文献】 国際公開第2019/105873(WO,A1)
【文献】 特開2012−194960(JP,A)
【文献】 森脇 正文,レイバー・スケジューリング・プログラム(LSP)の導入手順と留意点,技報 UNISYS TECHNOLOGY REVIEW,日本ユニシス株式会社,2004年11月30日,Vol.24、No.3,pp.55-71
【文献】 Chia Cheng Chang et al.,Integer Programming from Quantum Annealing and Open Quantum Systems,arXiv,2020年09月24日,<URL:https://arxiv.org/abs/2009.11970>
【文献】 Ikeda, K., Nakamura, Y. & Humble, T.S.,Application of Quantum Annealing to NurseScheduling Problem,Sci Rep 9,Springer Nature Limited,2019年09月06日,12837(2019),<URL:https://doi.org/10.1038/s41598-019-49172-3>,<DOI:https://doi.org/10.1038/s41598-019-49172-3>
【文献】 D−Wave Systems Inc.,D−Wave 問題解決ハンドブ ック,2020年02月19日,pp.81-85,<URL:http://dwavejapan.com/app/uploads/2020/08/09-1171A-C_J-Developer_Guide_Problem_Solving_Handbook.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00−99/00
(57)【特許請求の範囲】
【請求項1】
数理モデルの定式化により得られたハミルトニアンに対する量子探索を実行する量子探索工程と、
前記量子探索工程により得られた解が、前記数理モデルにおける制約条件のうち、少なくとも一つの制約条件を満たすか否かを判定する解判定工程と、
前記量子探索工程により得られた解が、前記解判定工程において判定を行った制約条件のうち少なくとも一つを満たさない場合、前記ハミルトニアンにおける一部の変数の値を固定した補正ハミルトニアンを生成する補正工程とを含む計算方法。
【請求項2】
前記補正工程において、前記制約条件のうち、前記量子探索工程において得られた解が満たす制約条件に含まれる変数の少なくとも一部の変数の値を固定する請求項1に記載の計算方法。
【請求項3】
前記補正工程において、前記量子探索工程における、前記数理モデルのエネルギーを増大させる要因となる変数を、優先的に値を固定する変数に決定する請求項1または2に記載の計算方法。
【請求項4】
前記補正ハミルトニアンに対する量子探索により得られる解が、前記数理モデルにおける制約条件のうち、少なくとも一つの制約条件を満たす可能性があるか否かを判定する、補正ハミルトニアン評価工程をさらに含む請求項1から3の何れか1項に記載の計算方法。
【請求項5】
前記補正ハミルトニアン評価工程において、前記補正ハミルトニアンに対する量子探索により、該補正ハミルトニアン評価工程にて判定を行った制約条件の全てを満たす解が得られる可能性がないと判定した場合、前記補正ハミルトニアンにおいて値を固定した変数のうち、少なくとも一部の変数について、値の固定を解除する、変数固定解除工程をさらに含む請求項4に記載の計算方法。
【請求項6】
数理モデルの定式化により得られたハミルトニアンに対する量子探索を実行する実行部と、
前記量子探索により得られた解が、前記数理モデルにおける制約条件のうち、少なくとも一つの制約条件を満たすか否かを判定する解判定部と、
前記量子探索により得られた解が、前記解判定部により判定された制約条件のうち少なくとも一つを満たさない場合、前記ハミルトニアンにおける一部の変数の値を固定した補正ハミルトニアンを生成する補正部とを備えた計算装置。
【請求項7】
請求項6に記載の計算装置としてコンピュータを機能させるための計算プログラムであって、前記実行部、前記解判定部、および前記補正部として前記コンピュータを機能させるための計算プログラム。
【請求項8】
請求項7に記載の計算プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は数理モデルの系のエネルギーを表すハミルトニアンを生成し、量子探索によって計算するための計算方法、および当該計算方法を実行するための計算装置、および計算プログラムに関する。
【背景技術】
【0002】
非特許文献1は、アニーリングマシンを使用した、数理モデルをQUBO(二次最適化問題)モデルに定式化して計算するための方法について開示する。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】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)
【発明の概要】
【発明が解決しようとする課題】
【0004】
数理モデルを定式化する際、アニーリングマシンを含む、量子探索アルゴリズムを実行する計算装置によって計算可能な式とするために、数理モデルから得られた式の一部を近似する等、式の補正を行う場合がある。この場合、数理モデルの制約条件を、補正した式が厳密に表現できていない場合があり、当該式に基づいた量子探索の実行により、一部の制約条件を満たさない解が得られる場合がある。
【課題を解決するための手段】
【0005】
上記の課題を解決するために、本開示の一態様に係る計算方法は、数理モデルの定式化により得られたハミルトニアンに対する量子探索を実行する量子探索工程と、前記量子探索工程により得られた解が、前記数理モデルにおける制約条件のうち、少なくとも一つの制約条件を満たすか否かを判定する解判定工程と、前記量子探索工程により得られた解が、前記解判定工程において判定を行った制約条件のうち少なくとも一つを満たさない場合、前記ハミルトニアンにおける一部の変数の値を固定した補正ハミルトニアンを生成する補正工程とを含む。
【0006】
また、本開示の一態様に係る計算装置は、数理モデルの定式化により得られたハミルトニアンに対する量子探索を実行する実行部と、前記量子探索により得られた解が、前記数理モデルにおける少なくとも一つの制約条件を満たすか否かを判定する解判定部と、前記量子探索により得られた解が、前記解判定部が判定を行った制約条件のうち少なくとも一つを満たさない場合、前記ハミルトニアンにおける一部の変数を固定した補正ハミルトニアンを生成する補正部とを備える。
【0007】
本開示の各態様に係る計算装置は、コンピュータによって実現してもよい。この場合には、コンピュータを、前記計算装置が備える各部(ソフトウェア要素)として動作させてもよい。この場合、前記計算装置をコンピュータにて実現させる計算プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本開示の範疇に入る。
【発明の効果】
【0008】
本開示の一態様によれば、数理モデルの全ての制約条件を満たす解が、量子探索によって得られる蓋然性が向上する。
【図面の簡単な説明】
【0009】
図1】本開示の実施形態に係る計算方法を説明するためのフローチャートである。
図2】本開示の実施形態に係る計算装置のブロック図である。
【発明を実施するための形態】
【0010】
〔実施形態〕
<計算装置の概要>
以下、本開示の一実施形態について、詳細に説明する。
【0011】
本実施形態に係る計算方法は、数理モデルの系全体のエネルギーを最小化する、当該数理モデルにおける変数の組み合わせを、アニーリングマシンによって計算する方法である。本実施形態においては、上記数理モデルのエネルギーを表すハミルトニアンを生成し、当該ハミルトニアンからQUBO行列を生成し、当該QUBO行列をアニーリングマシンによって解くことにより計算を行う。
【0012】
本実施形態に係る数理モデルの計算方法について、図1および図2を参照してより詳細に説明する。図1は、本実施形態に係る数理モデルの計算方法を説明するためのフローチャートである。図2は、図1のフローチャートに示す計算方法を実行するための計算装置2のブロック図である。
【0013】
図2に示すように、本実施形態に係る計算装置2は、アニーリングマシン4による計算を実行するためのデータを生成し、当該計算結果を蓄積および表示するための装置である。計算装置2は、操作部6と、メモリ8と、制御部10と、通信部12と、表示部14とを備える。また、制御部10は、ハミルトニアン生成部16と、QUBO行列生成部18と、解判定部20と、補正部22とを備える。さらに、補正部22は、固定変数決定部24と、補正ハミルトニアン生成部26と、補正ハミルトニアン評価部28と、変数固定解除部30とを備える。
【0014】
操作部6は、例えば、計算装置2の使用者によって操作される。例えば、操作部6は、計算装置2による計算のためのデータを外部から入力するために使用される、キーボード等を含んでいてもよい。例えば、操作部6は、数理モデルの各パラメータ、または、数理モデルを計算する際の設定等を行うためのデータを入力するために使用されてもよい。
【0015】
メモリ8は、計算装置2の備える各部から入力されたデータを少なくとも一時的に記憶する。メモリ8が記憶するデータは、計算装置2の備える各部から適宜読み出される。
【0016】
制御部10は、計算装置2に入力された、数理モデルのパラメータ、および、計算の設定に基づいて、アニーリングマシン4による計算を実行するためのデータを生成する。制御部10の各部の詳細な動作は、本実施形態に係る計算方法についての説明と併せ、後により詳細に説明する。
【0017】
通信部12は、メモリ8から読み出したデータの少なくとも一部を、計算装置2の外部機器へ送信し、当該外部機器から送信されたデータを受信し、メモリ8に記録するための通信装置である。本実施形態において、通信部12は、アニーリングマシン4とデータの相互通信が可能である。
【0018】
表示部14は、メモリ8からの読み出したデータの少なくとも一部を、計算装置2の使用者等に表示するための装置である。例えば、表示部14は、計算装置2に入力されたデータ、計算装置2の計算の設定、または、アニーリングマシン4による計算の結果等を表示するモニタであってもよい。
【0019】
<数理モデルの定式化>
本実施形態に係る数理モデルの計算方法においては、はじめに、数理モデルを定式化し、数理モデルの系全体のエネルギーを表現するハミルトニアンHを生成する(ステップS2)。ステップS2においては、例えば、はじめに、計算装置2の使用者が、操作部6によって、計算したい数理モデルの各パラメータを計算装置2に入力する。入力された数理モデルの各パラメータは、メモリ8に一時的に記録されてもよい。入力された数理モデルの各パラメータは、次いで、制御部10のハミルトニアン生成部16に読み出される。
【0020】
ハミルトニアン生成部16は、メモリ8から読み出したデータを解析し、数理モデルを表す式を生成し、当該式をQUBOモデルに沿って定式化した式に変換する。これにより、ハミルトニアン生成部16は、例えば、目的関数Hと、数理モデルにおける制約条件を定式化した制約条件式Hとを生成する。次いで、ハミルトニアン生成部16は、生成した目的関数Hおよび制約条件式Hを合成して、ハミルトニアンHを生成する。例えば、ハミルトニアンHは、H=H+Hと表される。
【0021】
目的関数HがQUBOモデルを定式化した式である場合、目的関数Hは、例えば、下記式(1)によって表現される。
【0022】
【数1】
【0023】
式(1)において、xは、0または1の値を取るバイナリ変数である。また、aおよびbijは、それぞれ、1次の項および2次の項の係数である。また、i、j、およびhは自然数である。また、hは、数理モデルにおける各変数の取り得る組み合わせの総数に対応する。スピン変数s=±1を用いて、x=(s+1)/2と表現できることから、目的関数Hは、イジングモデルのエネルギー関数と等価である。
【0024】
制約条件式Hは、例えば、係数C等を用いて、以下の式(2)のように表現できる。
【0025】
【数2】
【0026】
ここで、Lは、それぞれ、制約条件を定式化した制約条件項である。制約条件項Lは、元の数理モデルにおける制約条件を満たさない組み合わせの場合に増大する項である。これにより、元の数理モデルにおける制約条件が満たされない場合に、系全体のエネルギーを増大させて、解として採用されないように設定することが可能である。なお、式(2)におけるkは自然数であり、数理モデルにおける制約条件の個数に対応する。
【0027】
<アニーリング工程>
次いで、量子探索工程として、ハミルトニアンHに対し、量子アニーリングを実行する(ステップS4)、アニーリング工程を実行する。ステップS4においては、はじめに、ハミルトニアンHに関するデータを、ハミルトニアン生成部16からQUBO行列生成部18に入力することにより、ハミルトニアンHに対するQUBO行列を生成する。
【0028】
QUBO行列は、対応するハミルトニアンをQUBOモデルの行列によって表現する上三角行列である。あるハミルトニアンからのQUBO行列の生成は、一般に用いられる、ハミルトニアンをQUBO行列に変換する手法を採用できる。これにより、アニーリングマシンによって計算可能なQUBO行列が生成される。生成されたQUBO行列は、例えば、少なくとも一時的に、メモリ8に記録される。
【0029】
次いで、ハミルトニアンHから生成されたQUBO行列を、アニーリングマシン4に入力し、アニーリングマシン4を用いて計算する。例えば、通信部12が、メモリ8からQUBO行列のデータを読み出し、アニーリングマシン4に送信する。QUBO行列のデータを受信したアニーリングマシン4は、QUBO行列のデータを受信して、当該QUBO行列に対する量子アニーリングを実行する。なお、通信部12は、QUBO行列生成部18から直接QUBO行列に関するデータを受信し、アニーリングマシン4への当該データの送信を行ってもよい。
【0030】
以上より、少なくとも、計算装置2における、通信部12、およびQUBO行列生成部18は、ハミルトニアンHに対する量子アニーリングを実行させるための、実行部として機能する。
【0031】
これにより、ハミルトニアンHのエネルギーを最適化する変数の組み合わせが解として得られる。アニーリングマシン4による計算の結果は、通信部12に送信される。アニーリングマシン4による計算の結果を受信した通信部12は、当該結果をメモリ8に記録する。アニーリングマシン4による計算の結果は、メモリ8から表示部14によって読みだされ、表示部14に表示されてもよい。
【0032】
<ハミルトニアンの補正>
ステップS2において生成されるハミルトニアンHは、使用するアニーリングマシン4によって計算可能なデータを生成できる式である必要がある。例えば、本実施形態においては、QUBOモデルの問題を計算するためのアニーリングマシン4を用いて計算を行う。このため、本実施形態においては、数理モデルを定式化してハミルトニアンHを生成する際、後述するQUBO行列を生成可能なハミルトニアンHを生成する必要がある。
【0033】
したがって、数理モデルからハミルトニアンHを生成する際、ハミルトニアンHの一部の項について、近似等の補正を行う場合がある。しかしながら、ハミルトニアンHに対し補正を行った場合、補正後のハミルトニアンHの目的関数Hまたは制約条件式Hは、元の数理モデルの目的関数および制約条件を厳密に表現したものではない可能性がある。このように、ハミルトニアンHが数理モデルを厳密に表現できていない場合には、量子アニーリングの結果、不適切な解が求まる可能性がある。
【0034】
特に、QUBOモデルは、イジングモデルと等価であり、各量子ビットの2体相互作用までを考慮するモデルである。しかしながら、一般に、数理モデルにおいては、3つ以上の要素の相互作用を考慮する必要がある場合が考えられる。この場合、当該数理モデルの計算過程においては、3体相互作用以上の多体相互作用を考慮する必要がある。
【0035】
このような数理モデルを、QUBOモデルに沿って定式化するためには、多体相互作用項を、2体相互作用項に近似して定式化する必要がある。具体的に、多体相互作用項から2体相互作用項への近似は、追加の補助変数を用いた、ハミルトニアンの次数の削減等の手法が考えられる。
【0036】
しかしながら、多体相互作用項を2体相互作用項に近似した場合、ステップS4において、本来の数理モデルにおいて最適な変数の組み合わせが、近似後のハミルトニアンにおいては、エネルギーが増大する組み合わせとなり、解として選択されない場合がある。特に、上記に伴い、ステップS4において、本来の数理モデルにおいて制約条件を満たさない変数の組み合わせが、近似後のハミルトニアンにおいては最適性を有すると判断され、解として選択されてしまう場合がある。
【0037】
他にも、本実施形態においては、数理モデルをQUBOモデルに変換して計算を実行する都合上、当該数理モデルを定式化した際に、目的関数および制約条件式の何れかに、3次以上の項が含まれる場合、当該項を2次までの項に近似する必要がある。この場合においても、ステップS4において、本来の数理モデルにおいて最適性を有する変数の組み合わせが、解として採用されず、特に、数理モデルにおける制約条件を満たさない変数の組み合わせが、解として採用されてしまう問題が生じる。
【0038】
<解判定工程および補正工程>
本実施形態に係る計算方法においては、数理モデルにおける制約条件を満たさない解が得られた場合、ハミルトニアンHを補正して、数理モデルにおける制約条件を満たす解が得られる蓋然性を向上させる。当該目的を実現するため、本実施形態に係る計算方法においては、ステップS4において得られた解が、数理モデルの制約条件を満たすか否かを判定する必要がある。
【0039】
具体的に、本実施形態においては、ステップS4における量子アニーリングにより得られた解を解析して、当該解が、数理モデルが含む制約条件のうち、少なくとも一つの制約条件を満たしているか否かを判定する(ステップS6)、解判定工程を実行する。解判定工程は、解判定部20が、ステップS4における量子アニーリングにより得られた解のデータをメモリ8から読み出し、当該解を解析することにより実行される。
【0040】
ステップS6においては、数理モデルにおける全ての制約条件のそれぞれに対し、ステップS4において得られた解が当該制約条件を満たす否かを判定してもよい。一方、ステップS6においては、数理モデルにおける全ての制約条件のうち、一つ以上の、ある特定の制約条件に対してのみ、ステップS4において得られた解が当該制約条件を満たす否かを判定してもよい。
【0041】
ステップS4における量子アニーリングにより得られた解が、ステップS6において判定を行った制約条件のうち、少なくとも一つでも満たしていない場合、ハミルトニアンHを補正する、補正工程を実行する。具体的に、補正工程においては、ハミルトニアンHにおける一部の変数の値を固定することにより、ハミルトニアンHの補正を行う。
【0042】
より具体的には、補正工程において、はじめに、ハミルトニアンHに含まれる変数のうち、どの変数の値を固定するかを決定する(ステップS8)。
【0043】
ステップS8においては、例えば、解判定部20から、補正部22の固定変数決定部24へ、ステップS4において得られた解が、数理モデルの何れかの制約条件を満たしていないことを示すデータが送信される。併せて、解判定部20から、補正部22の固定変数決定部24へ、ステップS4において得られた解、数理モデルの制約条件、およびハミルトニアンHのそれぞれに関するデータが送信される。これを受け、固定変数決定部24が、当該データを解析することにより、ハミルトニアンHに含まれる変数のうち、どの変数の値を固定するかが決定される。
【0044】
ステップS8においては、例えば、ハミルトニアンHに含まれる変数のうち、ステップS4により得られた解が満たしている制約条件に対応する制約条件項Lが含む変数を、値を固定する変数に優先的に決定する。さらに、ステップS8においては、例えば、ハミルトニアンHに含まれる変数のうち、値の変動により、ハミルトニアンHのエネルギーの増大に作用する要因となっている変数を、値を固定する変数に優先的に決定する。
【0045】
次いで、ステップS8において決定された、値を固定する変数のデータに基づき、ハミルトニアンHのうち、一部の変数の値を固定した、補正ハミルトニアンH’を生成する(ステップS10)。
【0046】
ステップS10においては、固定変数決定部24から、補正ハミルトニアン生成部26へ、値を固定する変数のデータ、ステップS4において得られた解のデータ、およびハミルトニアンHに関するデータが送信される。これを受け、補正ハミルトニアン生成部26が、これらのデータを解析し、補正ハミルトニアンH’に関するデータを生成する。
【0047】
補正ハミルトニアンH’は、補正目的関数H’および補正制約条件式H’とを用いて、H’=H’+H’と表すことができる。ここで、補正目的関数H’は、目的関数Hを、ステップS8において決定された、値を固定する変数について、値を固定することにより変形した項である。補正制約条件式H’は、補正制約条件項L’を用いて、以下の式(3)に示す式にて表現できる。
【0048】
【数3】
【0049】
ここで、補正制約条件項L’のそれぞれは、制約条件項Lのそれぞれを、ステップS8において決定された、値を固定する変数について、値を固定することにより変形した項である。ここで、補正目的関数H’および補正制約条件式H’における、値を固定する変数のそれぞれの値は、ステップS4において得られた解の一部を適用する。
【0050】
なお、補正制約条件項L’のうち一部の項が含む変数が、ステップS8において決定された、値を固定する変数のみである場合がある。この場合、当該補正制約条件項L’は、値を固定されていない他の変数の値によらず一定の値をとる定数項となる。補正制約条件項L’のうちの一部が、定数項となることは、数理モデルにおける制約条件のうち、考慮すべき制約条件が減ることを意味する。
【0051】
また、目的関数Hおよび制約条件項Lのうち一部の項が、ステップS8において決定された、値を固定する変数を含まない場合が考えられる。ステップS8において決定された、値を固定する変数を含まない目的関数Hおよび制約条件項Lのそれぞれは、対応する補正目的関数H’および補正制約条件項L’のそれぞれと恒等である。
【0052】
<補正ハミルトニアンの評価および変数固定解除>
次いで、生成された補正ハミルトニアンH’の評価を行う(ステップS12)、補正ハミルトニアン評価工程を実行する。ステップS12は、補正ハミルトニアン生成部26から補正ハミルトニアン評価部28へ、補正ハミルトニアンH’に関するデータを送信し、当該データを補正ハミルトニアン評価部28が解析することにより実行される。
【0053】
ステップS12においては、補正ハミルトニアンH’に対する量子アニーリングを実行した場合に得られる解が、数理モデルにおける制約条件のうち、少なくとも一つの制約条件を満たす可能性があるか否かについて判定を行う。当該判定は、生成された補正ハミルトニアンH’のパラメータを解析することにより、容易に実行することができる。
【0054】
ステップS12において、補正ハミルトニアンH’に対する量子アニーリングを実行した場合に得られる解が、ステップS12において判定を行った制約条件の全てを満たす解が存在する可能性がないと判定されたとする。この場合、ステップS12に次いで、補正ハミルトニアンH’において値が固定されていた変数のうち、少なくとも一部の変数について、値の固定を解除する(ステップS14)、変数固定解除工程を実施する。
【0055】
ステップS14においては、補正ハミルトニアン評価部28から変数固定解除部30へ、ステップS12における判定の結果、補正ハミルトニアンH’、および値を固定した変数の、それぞれのデータを送信する。これを受け、変数固定解除部30が、当該データを解析し、補正ハミルトニアンH’において値が固定されていた変数のうち、少なくとも一部の変数について、値の固定を解除した、新たなハミルトニアンを生成する。
【0056】
ステップS14においては、補正ハミルトニアンH’において値が固定されていた変数のうち、一部の変数のみについて、値の固定を解除してもよい。この場合、変数固定解除部30が生成するハミルトニアンは、補正ハミルトニアンH’において値が固定されていた変数のうち、一部の変数についてのみ値が固定された、新たな補正ハミルトニアンH’’となる。
【0057】
一方、ステップS14においては、補正ハミルトニアンH’において値が固定されていた全て変数について、値の固定を解除してもよい。この場合、変数固定解除部30が生成するハミルトニアンは、ステップS2においてハミルトニアン生成部16により生成されたハミルトニアンHと恒等である。
【0058】
ステップS12およびステップS14の実行により、少なくとも一つの制約条件を満たすことがない補正ハミルトニアンH’に対する量子アニーリングが実行されてしまう蓋然性を低減できる。このため、ステップS12およびステップS14を含む本実施形態に係る計算方法は、より効率的に数理モデルの解探索のアルゴリズムを実行する。
【0059】
<量子アニーリングの再実行>
ステップS14が実行されなかった場合、補正ハミルトニアン評価部28から、補正ハミルトニアンH’に関するデータが、QUBO行列生成部18に送信され、補正ハミルトニアンH’に対応するQUBO行列が生成される。また、ステップS14が実行された場合、変数固定解除部30が生成する補正ハミルトニアンH’’またはハミルトニアンHに関するデータが、QUBO行列生成部18に送信され、対応するQUBO行列が生成される。
【0060】
以降、QUBO行列生成部18が生成したQUBO行列に対する量子アニーリングが、上述したステップS4と同一の手法により実行される。続いて、ステップS6を再度実行し、当該量子アニーリングにより得られた解が、数理モデルの制約条件の少なくとも一つを満たすか否かを判定する。
【0061】
当該量子アニーリングにより得られた解が、当該ステップS6により、数理モデルにおける制約条件を満たすと判定された場合、当該解を、数理モデルにおける最適解として採用し(ステップS16)、数理モデルの計算を完了する。ステップS16において採用された解は、例えば、当該解に関するデータを、メモリ8から表示部14に送信することにより、表示部14に表示してもよい。
【0062】
一方、ステップS6において、上記量子アニーリングにより得られた解が、数理モデルにおける制約条件を満たさないと再度判定された場合、再度ステップS8が実行される。
【0063】
例えば、補正ハミルトニアンH’に対する量子アニーリングにより得られた解が、ステップS6において、判定を行った制約条件のうち、少なくとも一つを満たさないと判定されたとする。この場合、続くステップS8においては、補正ハミルトニアンH’において既に値が固定されている変数の値をそのままに、新たに値を固定する変数を決定し、値を固定してもよい。あるいは、ステップS8において、補正ハミルトニアンH’において既に値が固定されている変数について、値の固定を解除し、新たに値を固定する変数を設定してもよい。ここで、新たに値を固定する変数の値は、補正ハミルトニアンH’に対する量子アニーリングにより得られた解の一部を採用してもよい。
【0064】
以降、ステップS10、ステップS12が実行され、場合によってはステップS14が追加にて実行される。これにより新たな補正後のハミルトニアンが得られ、再度ステップS4が実行されることにより、新たな補正後のハミルトニアンに対する量子アニーリングが実行される。ステップS4からステップS14は、ステップS6において、量子アニーリングにより得られた解が、数理モデルの少なくとも一つの制約条件を満たすと判定されるまで、繰り返し実行される。
【0065】
<計算方法および計算装置が奏する効果>
補正ハミルトニアンH’は、ハミルトニアンHと比較して、一部の変数の値が固定されている。このため、補正ハミルトニアンH’は、ハミルトニアンHと比較して、量子アニーリングによる解探索において、各変数の取り得る値の組み合わせが制限される。換言すれば、補正ハミルトニアンH’は、ハミルトニアンHと比較して、量子アニーリングによる解探索において、各変数の値が、制約条件を満たさない値となる蓋然性が低下する。したがって、補正ハミルトニアンH’に対する量子アニーリングの結果得られる解は、ハミルトニアンHに対する量子アニーリングの結果得られる解と比較して、より制約条件を満たす蓋然性が向上している。
【0066】
さらに、当該変数の値は、ステップS6において判定された、数理モデルの制約条件を全て満たす値である。このため、補正ハミルトニアンH’に対する量子アニーリングは、変数の少なくとも一部が、既に数理モデルの制約条件の少なくとも一部を満たす値に固定された状態において実行される。したがって、補正ハミルトニアンH’に対する量子アニーリングの結果得られる解は、ハミルトニアンHに対する量子アニーリングの結果得られる解と比較して、より制約条件を満たす蓋然性がさらに向上している。
【0067】
加えて、補正ハミルトニアンH’において値が固定された変数は、ステップS4において得られた解と一致するように値が固定されている。ステップS4において得られた解は、その一部が制約条件を満たさないものの、ハミルトニアンHにおける最適性を有する解であるといえる。したがって、補正ハミルトニアンH’に対する量子アニーリングは、変数の少なくとも一部が、数理モデルにおいて、少なくとも局所的に最適性を有する値に固定された状態において実行される。ゆえに、補正ハミルトニアンH’に対する量子アニーリングの結果得られる解は、少なくとも局所的に、数理モデルにおける最適性を有している。
【0068】
以上により、本実施形態に係る計算方法によれば、数理モデルにおいて、少なくとも局所的に最適性を有し、かつ、数理モデルにおける制約条件を満たす解を得られる蓋然性が向上する。
【0069】
さらに、補正ハミルトニアンH’において値が固定された変数は、ステップS4における量子アニーリングの過程において、エネルギーを増大させる要因となる変数が選択されている。このため、補正ハミルトニアンH’は、ハミルトニアンHと比較して、量子アニーリングによる解探索の過程におけるエネルギーの増大が抑制され、より最適な解がより効率的に探索される。したがって、補正ハミルトニアンH’’に対する量子アニーリングの結果得られる解は、補正ハミルトニアンH’に対する量子アニーリングの結果得られる解と比較して、より最適性を有する蓋然性が向上する。
【0070】
なお、ステップS14において、補正ハミルトニアンH’において値を固定した変数のうち、一部の変数について、値の固定を解除し、補正ハミルトニアンH’’を生成する場合が考えられる。この場合、補正ハミルトニアンH’’に対する量子アニーリングの結果得られる解についても、ハミルトニアンHに対する量子アニーリングの結果得られる解と比較して、より制約条件を満たす蓋然性が向上している。
【0071】
加えて、補正ハミルトニアンH’’において値が固定された変数の個数は、補正ハミルトニアンH’において値が固定された変数と比較して少なくなっている。このため、補正ハミルトニアンH’’は、補正ハミルトニアンH’と比較して、変数の自由度が向上しており、解探索の範囲がより大域的となる。ゆえに、補正ハミルトニアンH’’に対する量子アニーリングの結果得られる解は、補正ハミルトニアンH’に対する量子アニーリングの結果得られる解と比較して、より大域的な最適性を有する蓋然性が向上する。
【0072】
また、上述したように、ステップS14において、補正ハミルトニアンH’において値を固定した全ての変数について、値の固定を解除した場合、続くステップS4においては、再度ハミルトニアンHに対する量子アニーリングが実行されることとなる。しかしながら、量子アニーリングは、メタヒューリスティックな計算アルゴリズムであり、同一の計算パラメータに基づく計算であっても、計算する度に得られる解が異なる場合がある。したがって、例えば、ステップS4において、ハミルトニアンHに対する量子アニーリングが再度実行されたとしても、異なる解が得られ、制約条件を満たす解が得られる場合がある。ゆえに、上述した場合においても、本実施形態に係る計算方法によれば、数理モデルにおける制約条件を満たす解を得られる蓋然性は向上している。
【0073】
<補記>
本実施形態に係る数理モデルは、量子アニーリングにより、変数の値の最適な組み合わせを探索可能なモデルであり、かつ、定式化の際に近似等の補正を行う必要があるモデルを適用することができる。例えば、本実施形態に係る数理モデルは、各作業者に、どの日の、どの時間帯に、どの作業を割り当てるかの組み合わせを決定するためのモデルである、レイバースケジューリングモデルを適用してもよい。この場合、例えば、目的関数Hとして、各作業者の作業時間との積の合計値、および、各作業者が希望する休日が実現しなかった場合に値が増大する関数を組み合わせたものを採用してもよい。また、当該レイバースケジューリングモデルの制約条件として、各作業に必要な作業者数、各作業者の一日の労働時間制限、あるいは、各作業者に割り当てが必要な休日日数等を設定してもよい。
【0074】
本実施形態においては、量子探索のアルゴリズムとして、アニーリングマシンを利用した量子アニーリングを実行するアルゴリズムについて説明を行った。しかしながら、本実施形態に係る計算方法は、これに限られず、イジングモデルを定式化して得られたハミルトニアンに対し、量子探索を実行するアルゴリズムに対して適用することが可能である。例えば、本実施形態に係る計算方法は、数理モデルを定式化して得られたハミルトニアンを、シミュレーテッド分岐を用いた量子探索のアルゴリズムに適用してもよい。
【0075】
<ソフトウェアおよびプログラムによる実施例>
上述した各実施形態に係る制御部10が備える各部は、計算装置2が備える集積回路、換言すれば、ICチップ等に形成された論理回路、換言すれば、ハードウェアによって実現してもよい。あるいは、制御部10が備える各部は、ソフトウェアによって実現してもよい。
【0076】
上記各部がソフトウェアである場合、アニーリングマシン4と通信可能な端末において、各部の機能を実現するソフトウェアであるプログラムの命令を実行することにより、制御部10の各部における処理が実行されてもよい。この端末は、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶した端末読み取り可能な記録媒体を備えている。上記端末において、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本開示の目的が達成される。したがって、上記プログラムは、制御部10の各部における処理を実行する、計算プログラムとして機能する。
【0077】
上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。
【0078】
上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記端末に供給されてもよい。なお、本開示の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0079】
本開示は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本開示の技術的範囲に含まれる。
【符号の説明】
【0080】
2 計算装置
10 制御部
12 通信部
16 ハミルトニアン生成部
18 QUBO行列生成部
20 解判定部
22 補正部
24 固定変数決定部
26 補正ハミルトニアン生成部
28 補正ハミルトニアン評価部
30 変数固定解除部
【要約】
【課題】数理モデルの全ての制約条件を満たす解が、量子探索によって得られる蓋然性を向上させる。
【解決手段】計算方法は、量子探索工程(S4)と、解判定工程(S6)と、補正工程(S8、S10)とを含む。量子探索工程においては、数理モデルの定式化により得られたハミルトニアンに対する量子探索を実行する。解判定工程においては、量子探索工程により得られた解が、数理モデルにおける制約条件のうち、少なくとも一つの制約条件を満たすか否かを判定する。補正工程においては、解判定工程において判定を行った制約条件のうち、量子探索工程により得られた解が満たさない制約条件が、一つ以上存在する場合、ハミルトニアンにおける一部の変数の値を固定した補正ハミルトニアンを生成する。
【選択図】図1
図1
図2