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

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

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

特許6985481計算方法、計算装置、計算プログラム、記録媒体
<>
  • 特許6985481-計算方法、計算装置、計算プログラム、記録媒体 図000021
  • 特許6985481-計算方法、計算装置、計算プログラム、記録媒体 図000022
  • 特許6985481-計算方法、計算装置、計算プログラム、記録媒体 図000023
  • 特許6985481-計算方法、計算装置、計算プログラム、記録媒体 図000024
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6985481
(24)【登録日】2021年11月29日
(45)【発行日】2021年12月22日
(54)【発明の名称】計算方法、計算装置、計算プログラム、記録媒体
(51)【国際特許分類】
   G06N 10/00 20190101AFI20211213BHJP
【FI】
   G06N10/00
【請求項の数】8
【全頁数】19
(21)【出願番号】特願2020-162534(P2020-162534)
(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】
第1の数理モデルにおける変数のうち、少なくとも一つの変数の値ごとに、前記第1の数理モデルにおける制約条件を表現する制約条件式を分割した、複数の分割ハミルトニアンを生成する分割工程と、
前記分割ハミルトニアンのそれぞれに対する量子アニーリングを実行する第1アニーリング工程と、
前記第1アニーリング工程の結果に応じて、前記第1の数理モデルを補正した、第2の数理モデルを生成する補正工程とを含む計算方法。
【請求項2】
前記第2の数理モデルが、前記第1の数理モデルにおける変数の組み合わせの少なくとも一部を、前記第1アニーリング工程において得られた解の少なくとも一部に固定した数理モデルである請求項1に記載の計算方法。
【請求項3】
前記第2の数理モデルから生成したハミルトニアンに対する量子アニーリングを実行する第2アニーリング工程をさらに含む請求項1または2に記載の計算方法。
【請求項4】
前記分割工程と、前記第1アニーリング工程との間において、前記分割ハミルトニアンに対する量子アニーリングが実行可能か否かを判断する判定工程をさらに含む請求項1から3の何れか1項に記載の計算方法。
【請求項5】
前記判定工程において、前記分割ハミルトニアンに対する量子アニーリングが実行可能ではないと判断した場合に、当該判定工程に次いで、前記分割ハミルトニアンのそれぞれが含む変数のうち、少なくとも一つの変数の値ごとに、前記分割ハミルトニアンのそれぞれをさらに複数の分割ハミルトニアンに分割する再分割工程をさらに含む請求項4に記載の計算方法。
【請求項6】
第1の数理モデルにおける変数のうち、少なくとも一つの変数の値ごとに、前記第1の数理モデルの制約条件を表現する制約条件式を分割し、複数の分割ハミルトニアンを生成する分割部と、
前記分割ハミルトニアンのそれぞれに対する量子アニーリングを実行させる実行部と、
前記量子アニーリングの結果に応じて、前記第1の数理モデルを補正した、第2の数理モデルを生成する補正部とを備えた計算装置。
【請求項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】
上記の課題を解決するために、本開示の一態様に係る計算方法は、第1の数理モデルにおける変数のうち、少なくとも一つの変数の値ごとに、前記第1の数理モデルにおける制約条件を表現する制約条件式を分割した、複数の分割ハミルトニアンを生成する分割工程と、前記分割ハミルトニアンのそれぞれに対する量子アニーリングを実行する第1アニーリング工程と、前記第1アニーリング工程の結果に応じて、前記第1の数理モデルを補正した、第2の数理モデルを生成する補正工程とを含む。
【0007】
また、本開示の一態様に係る計算装置は、第1の数理モデルにおける変数のうち、少なくとも一つの変数の値ごとに、前記第1の数理モデルの制約条件を表現する制約条件式を分割し、複数の分割ハミルトニアンを生成する分割部と、前記分割ハミルトニアンのそれぞれに対する量子アニーリングを実行させる実行部と、前記量子アニーリングの結果に応じて、前記第1の数理モデルを補正した、第2の数理モデルを生成する補正部とを備える。
【0008】
本開示の各態様に係る計算装置は、コンピュータによって実現してもよい。この場合には、コンピュータを、前記計算装置が備える各部(ソフトウェア要素)として動作させてもよい。この場合、前記計算装置をコンピュータにて実現させる計算プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本開示の範疇に入る。
【発明の効果】
【0009】
本開示の一態様によれば、第1の数理モデルにおいて、少なくとも局所的に最適性を有し、かつ、第1の数理モデルにおける制約条件を満たす解を、より簡便に得ることができる。
【図面の簡単な説明】
【0010】
図1】本開示の実施形態1に係る計算方法を説明するためのフローチャートである。
図2】本開示の実施形態1に係る計算装置のブロック図である。
図3】本開示の実施形態2に係る計算方法を説明するためのフローチャートである。
図4】本開示の実施形態2に係る計算装置のブロック図である。
【発明を実施するための形態】
【0011】
〔実施形態1〕
<計算装置の概要>
以下、本開示の一実施形態について、詳細に説明する。
【0012】
本実施形態に係る計算方法は、第1の数理モデルの系全体のエネルギーを最小化する、当該第1の数理モデルにおける変数の組み合わせを、アニーリングマシンによって計算する方法である。本実施形態においては、上記第1の数理モデルのエネルギーを表すハミルトニアンを生成し、当該ハミルトニアンからQUBO行列を生成し、当該QUBO行列をアニーリングマシンによって解くことにより計算を行う。
【0013】
本実施形態に係る第1の数理モデルの計算方法について、図1および図2を参照してより詳細に説明する。図1は、本実施形態に係る第1の数理モデルの計算方法を説明するためのフローチャートである。図2は、図1のフローチャートに示す計算方法を実行するための計算装置2のブロック図である。
【0014】
図2に示すように、本実施形態に係る計算装置2は、アニーリングマシン4による計算を実行するためのデータを生成し、当該計算結果を蓄積および表示するための装置である。計算装置2は、操作部6と、メモリ8と、制御部10と、通信部12と、表示部14とを備える。また、制御部10は、ハミルトニアン生成部16と、分割部18と、QUBO行列生成部20と、補正部22とを備える。さらに、分割部18は、固定変数決定部24と、ハミルトニアン分割部26とを備える。
【0015】
操作部6は、例えば、計算装置2の使用者によって操作される。例えば、操作部6は、計算装置2による計算のためのデータを外部から入力するために使用される、キーボード等を含んでいてもよい。例えば、操作部6は、第1の数理モデルの各パラメータ、または、第1の数理モデルを計算する際の設定等を行うためのデータを入力するために使用されてもよい。
【0016】
メモリ8は、計算装置2の備える各部から入力されたデータを少なくとも一時的に記憶する。メモリ8が記憶するデータは、計算装置2の備える各部から適宜読み出される。
【0017】
制御部10は、計算装置2に入力された、第1の数理モデルのパラメータ、および、計算の設定に基づいて、アニーリングマシン4による計算を実行するためのデータを生成する。制御部10の各部の詳細な動作は、本実施形態に係る計算方法についての説明と併せ、後により詳細に説明する。
【0018】
通信部12は、メモリ8から読み出したデータの少なくとも一部を、計算装置2の外部機器へ送信し、当該外部機器から送信されたデータを受信し、メモリ8に記録するための通信装置である。本実施形態において、通信部12は、アニーリングマシン4とデータの相互通信が可能である。
【0019】
表示部14は、メモリ8からの読み出したデータの少なくとも一部を、計算装置2の使用者等に表示するための装置である。例えば、表示部14は、計算装置2に入力されたデータ、計算装置2の計算の設定、または、アニーリングマシン4による計算の結果等を表示するモニタであってもよい。
【0020】
<第1の数理モデルの定式化>
本実施形態に係る第1の数理モデルの計算方法においては、はじめに、第1の数理モデルを定式化し、第1の数理モデルの系全体のエネルギーを表現する、第1のハミルトニアンHを生成する(ステップS2)。ステップS2においては、例えば、はじめに、計算装置2の使用者が、操作部6によって、計算したい第1の数理モデルの各パラメータを計算装置2に入力する。入力された第1の数理モデルの各パラメータは、メモリ8に一時的に記録されてもよい。入力された第1の数理モデルの各パラメータは、次いで、制御部10のハミルトニアン生成部16に読み出される。
【0021】
ハミルトニアン生成部16は、メモリ8から読み出したデータを解析し、第1の数理モデルを表す式を生成し、当該式をQUBOモデルに沿って定式化した式に変換する。これにより、ハミルトニアン生成部16は、例えば、目的関数Hと、第1の数理モデルにおける制約条件を定式化した制約条件式Hとを生成する。次いで、ハミルトニアン生成部16は、生成した目的関数Hおよび制約条件式Hを合成して、第1のハミルトニアンHを生成する。例えば、第1のハミルトニアンHは、H=H+Hと表される。
【0022】
目的関数HがQUBOモデルを定式化した式である場合、目的関数Hは、例えば、下記式(1)によって表現される。
【0023】
【数1】
【0024】
式(1)において、xは、0または1の値を取るバイナリ変数である。また、aおよびbijは、それぞれ、1次の項および2次の項の係数である。また、i、j、およびhは自然数である。また、hは、数理モデルにおける各変数の取り得る組み合わせの総数に対応する。スピン変数s=±1を用いて、x=(s+1)/2と表現できることから、目的関数Hは、イジングモデルのエネルギー関数と等価である。
【0025】
制約条件式Hは、例えば、係数C等を用いて、以下の式(2)のように表現できる。
【0026】
【数2】
【0027】
ここで、Lは、それぞれ、制約条件を定式化した制約条件項である。制約条件項Lは、元の第1の数理モデルにおける制約条件を満たさない組み合わせの場合に増大する項である。これにより、元の第1の数理モデルにおける制約条件が満たされない場合に、系全体のエネルギーを増大させて、解として採用されないように設定することが可能である。なお、式(2)におけるkは自然数であり、第1の数理モデルにおける制約条件の個数に対応する。
【0028】
<固定する変数の決定>
次いで、第1のハミルトニアンHの制約条件式Hを分割する分割工程を実行する。分割工程においては、第1のハミルトニアンHに含まれる全ての変数のうち、少なくとも1つの変数について、その値ごとに制約条件式Hを分割する。本実施形態に係る分割工程においては、第1のハミルトニアンHに含まれる1つの変数について、その値ごとに制約条件式Hを分割する例を説明する。
【0029】
分割工程は、例えば、制御部10の分割部18に、第1のハミルトニアンHの、少なくとも制約条件式Hに関するデータを入力し、分割部18の各部において、当該データを解析することにより実行される。分割工程においては、はじめに、第1のハミルトニアンHに含まれる全ての変数のうち、その値ごとに制約条件式Hを分割する変数の決定を行う(ステップS4)。換言すれば、ステップS4においては、制約条件式Hを分割した後の式のそれぞれにおいて固定される変数である、固定変数を決定する。
【0030】
ステップS4は、例えば、第1のハミルトニアンHを、分割部18の固定変数決定部24に入力し、当該第1のハミルトニアンHを解析させることにより実行する。本実施形態においては、例えば、制約条件式Hが含む全ての変数のうち、目的関数Hまたは制約条件式Hにおいて、複数の値に渡って作用する成分が存在しない、あるいは、当該成分が少ない変数を、固定変数に優先的に採用してもよい。
【0031】
<ハミルトニアンの分割>
次いで、ステップS4において決定された固定変数の値ごとに、制約条件式Hを分割する(ステップS6)。ステップS6は、固定変数決定部24からハミルトニアン分割部26に、第1のハミルトニアンHの、少なくとも制約条件式Hに関するデータと、ステップS4において決定された、固定変数の情報とを入力し、分割後の式を出力させることにより実行する。
【0032】
本実施形態において、例えば、ステップS6においては、制約条件式Hを、複数の分割ハミルトニアンHに分割する。分割ハミルトニアンHは以下の式(3)のように表現できる。
【0033】
【数3】
【0034】
上記式(3)において、mは、上述した固定変数の取り得る値の何れかである。また、上記式(3)における制約条件項Llmは、制約条件項Lに含まれる固定変数にmを代入した式を表す。例えば、固定変数が、1の値を取り得るとする。ここで、m=1の場合、制約条件項Llmは、制約条件項Lの固定変数に1を代入した式となる。このため、固定変数の値ごとに、複数の分割ハミルトニアンHがステップS6において生成される。
【0035】
また、上記式(3)におけるZは、制約条件項Lが、固定変数の複数の値に渡って作用する制約条件に対応する項となる、lの値の集合である。このため、分割ハミルトニアンHには、固定変数の複数の値に渡って作用する制約条件に対応する制約条件項Llmが含まれていない。
【0036】
<分割ハミルトニアンに対する量子アニーリング工程>
次いで、分割ハミルトニアンHのそれぞれに対し、量子アニーリングを実行する(ステップS8)、第1アニーリング工程を実行する。ステップS8においては、はじめに、分割ハミルトニアンHのそれぞれに関するデータを、ハミルトニアン分割部26からQUBO行列生成部20に入力することにより、各分割ハミルトニアンHに対するQUBO行列を生成する。
【0037】
QUBO行列は、対応するハミルトニアンをQUBOモデルの行列によって表現する上三角行列である。あるハミルトニアンからのQUBO行列の生成は、一般に用いられる、ハミルトニアンをQUBO行列に変換する手法を採用できる。これにより、アニーリングマシンによって計算可能なQUBO行列が生成される。生成されたQUBO行列は、例えば、少なくとも一時的に、メモリ8に記録される。
【0038】
次いで、分割ハミルトニアンHのそれぞれから生成されたQUBO行列を、アニーリングマシン4に入力し、アニーリングマシン4を用いて計算する。例えば、通信部12が、メモリ8からQUBO行列のデータを読み出し、アニーリングマシン4に送信する。QUBO行列のデータを受信したアニーリングマシン4は、QUBO行列のデータを受信して、当該QUBO行列に対する量子アニーリングを実行する。なお、通信部12は、QUBO行列生成部20から直接QUBO行列に関するデータを受信し、アニーリングマシン4への当該データの送信を行ってもよい。
【0039】
以上より、少なくとも、計算装置2における、通信部12、およびQUBO行列生成部20は、分割ハミルトニアンHのそれぞれに対する量子アニーリングを実行させるための、実行部として機能する。
【0040】
これにより、分割ハミルトニアンHのそれぞれのエネルギーを最適化する変数の組み合わせが解として得られる。アニーリングマシン4による計算の結果は、通信部12に送信される。アニーリングマシン4による計算の結果を受信した通信部12は、当該結果をメモリ8に記録する。アニーリングマシン4による計算の結果は、メモリ8から表示部14によって読みだされ、表示部14に表示されてもよい。
【0041】
ステップS8において得られる解は、分割ハミルトニアンHのそれぞれのエネルギーを最適化する変数の組み合わせであるため、元の第1の数理モデルに対する最適性および制約条件を満たす組み合わせとは限らない。特に、ステップS8において得られる解は、元の第1の数理モデルから得られた第1のハミルトニアンHの目的関数Hおよび固定変数の複数の値に跨って適用される制約条件項Lの成分が考慮されていない。ただし、ステップS8において得られる解は、固定変数の複数の値に跨って適用される制約条件項Lに相当する制約条件を除く、全ての制約条件を満たす変数の組み合わせとなる。
【0042】
<第2の数理モデルの生成>
次いで、分割ハミルトニアンHに対する量子アニーリングの結果に応じて、第1の数理モデルを補正し、第2の数理モデルを生成する(ステップS10)、補正工程を実行する。補正工程は、例えば、補正部22が、メモリ8から、分割ハミルトニアンHに対する量子アニーリングの結果を含むデータを読み出し、当該データを解析することにより実行する。
【0043】
補正工程において、具体的には、第1の数理モデルにおける、少なくとも一部の変数の組み合わせを、ステップS8において得られた解の少なくとも一部の組み合わせに固定して、これを第2の数理モデルとする。これにより、第2の数理モデルにおいては、変数の組み合わせの一部が固定されているため、最適な組み合わせを求める必要のある変数の個数が低減する。
【0044】
上述したように、ステップS8において得られた解は、固定変数の複数の値に跨って適用される制約条件項Lに相当する制約条件を除く、全ての制約条件を満たす変数の組み合わせとなる。これを受けて、本実施形態において、第2の数理モデルにおいて組み合わせを固定する変数は、例えば、ステップS4において決定された固定変数、または、当該固定変数の値との相互作用の大きい変数を除く変数の組み合わせとする。これにより、第2の数理モデルに対する量子アニーリングにより得られる解が、第1の数理モデルにおける全ての制約条件を満たす蓋然性が向上する。
【0045】
次いで、第2の数理モデルに基づいて、新たな目的関数H’、および、新たな制約条件式H’を生成することにより、第2のハミルトニアンH’を生成する(ステップS12)。第2のハミルトニアンH’は、例えば、H’=H’+H’と表される。ステップS12は、補正部22からハミルトニアン生成部16に、第2の数理モデルの各パラメータに関するデータを入力し、解析させることにより実行する。
【0046】
新たな目的関数H’は、第1の数理モデルにおける目的関数Hを、第2の数理モデルにおいて最小化したいエネルギーを表すコスト関数に変換したコスト関数である。特に、第2の数理モデルにおける目的関数H’は、当該目的関数H’を最小化した場合に、ステップS8において固定された変数の組み合わせの範囲内において、目的関数Hについても最小化するように決定してもよい。
【0047】
また、制約条件式H’は、第1の数理モデルにおける制約条件を、第2の数理モデルに沿って変換し、定式化したものである。例えば、制約条件式H’は、以下の式(4)のように表される。
【0048】
【数4】
【0049】
ここで、L’は、それぞれ、第1の数理モデルにおける制約条件を、第2の数理モデルに沿って変形して生成した、第2の数理モデルにおける制約条件を定式化した制約条件項である。また、制約条件項L’には、固定変数の複数の値に渡って作用する成分を有する制約条件項Lに対応する制約条件を含める。特に、制約条件項L’は、得られた解が、当該項に対応する、第2の数理モデルにおける制約条件を満たす場合に、第1の数理モデルにおける制約条件も満たすように決定してもよい。なお、式(4)におけるuは自然数であり、第2の数理モデルにおける制約条件の個数に対応する。
【0050】
<第2のハミルトニアンに対する計算>
次いで、第2のハミルトニアンH’に対し、量子アニーリングを再度実行する(ステップS14)、第2アニーリング工程を実行する。ステップS14においては、はじめに、第2のハミルトニアンH’に関するデータを、ハミルトニアン生成部16からQUBO行列生成部20に入力することにより、第2のハミルトニアンH’に対するQUBO行列を生成する。生成されたQUBO行列は、例えば、少なくとも一時的に、メモリ8に記録される。
【0051】
次いで、第2のハミルトニアンH’から生成されたQUBO行列を、アニーリングマシン4に入力し、アニーリングマシン4を用いて計算する。例えば、通信部12が、メモリ8からQUBO行列のデータを読み出し、アニーリングマシン4に送信する。QUBO行列のデータを受信したアニーリングマシン4は、当該QUBO行列に対する量子アニーリングを実行する。
【0052】
これにより、第2のハミルトニアンH’のエネルギーを最適化する変数の組み合わせが解として得られる。アニーリングマシン4による計算の結果は、通信部12に送信される。アニーリングマシン4による計算の結果を受信した通信部12は、当該結果をメモリ8に記録する。アニーリングマシン4による計算の結果は、メモリ8から表示部14によって読みだされ、表示部14に表示されてもよい。
【0053】
ステップS14において得られた解は、理想的には、第2の数理モデルの系全体のエネルギーを最小化する、第2の数理モデルにおける変数の組み合わせの最適解である。換言すれば、当該解は、第1の数理モデルにおける変数の一部の組み合わせを固定した状態における計算によって得られたものである。このため、ステップS14において得られた解の、第1の数理モデルにおける、大域的な最適性は必ずしも保障されない。
【0054】
ただし、第1の数理モデルにおける変数の組み合わせのうち、第2の数理モデルにおいて固定された変数の組み合わせは、第1の数理モデルにおける制約条件を満たすものである。また、第2の数理モデルにおける制約条件は、固定変数の複数の値に渡って作用する成分を有する制約条件項Lに対応する制約条件を含む。さらに、第2の数理モデルを定式化して生成した目的関数H’、および、制約条件式H’は、それぞれ、第1の数理モデルを定式化して生成した目的関数H、および、制約条件式Hに対応する。したがって、ステップS14において得られた解は、第1の数理モデルにおいても、一部の変数の組み合わせを固定した状態における最適解であり、換言すれば、少なくとも局所的な最適性を有する解であり、制約条件を満たす解となる。
【0055】
<実施形態のまとめ>
本実施形態に係る計算方法においては、第1の数理モデルにおける変数の組み合わせの一部を固定した、第2の数理モデルを生成して、当該第2の数理モデルに基づき、第2のハミルトニアンH’を生成している。このため、第2の数理モデルを定式化した第2のハミルトニアンH’に含まれる変数は、第1の数理モデルを定式化したハミルトニアンHに含まれる変数よりも少ない。このため、第2の数理モデルは、量子アニーリングによって、より簡便に解くことが可能となる。
【0056】
また、上述したように、第2の数理モデルを、量子アニーリングによって解くことにより得られる解は、第1の数理モデルにおいても、少なくとも局所的な最適性を有する解であり、制約条件を満たす解となる。
【0057】
したがって、本実施形態に係る計算方法によれば、第1の数理モデルにおいて、少なくとも局所的に最適性を有し、かつ、制約条件を満たす解を、より簡便に得ることができる。
【0058】
本実施形態に係る計算方法によって計算される第1の数理モデルは、例えば、レイバースケジューリングモデルであってもよい。以下、本実施形態に係る計算方法によって、レイバースケジューリングモデルを計算する具体的手法を、実施例として説明する。
【実施例】
【0059】
<レイバースケジューリングモデル>
レイバースケジューリングモデルは、例えば、各作業者に、どの日の、どの時間帯に、どの作業を割り当てるかの組み合わせを決定するためのモデルである。本実施例においては、はじめに、ステップS2を実行し、ハミルトニアン生成部16が、レイバースケジューリングモデルを定式化し、第1のハミルトニアンHを生成する。
【0060】
第1のハミルトニアンHの生成に使用する要素の集合およびバイナリ変数を以下に定義する。例えば、作業を行う作業者の集合を、P={1,2,・・・,n}とする。スケジュール対象となる日付の集合を、D={1,2,・・・,q}とする。スケジュール対象となる日付における、一日のうちのある時間帯の集合を、S={1,2,・・・,r}とする。休憩を含む、作業者が実施する作業の集合を、W={1,2,・・・,t}とする。作業者pが、日付dの時間帯sに、作業種別wをする場合に1、そうでない場合に0となるバイナリ変数を、xpdsw,p∈P,d∈D,s∈S,w∈Wとする。
【0061】
本実施例に係る第1の数理モデルにおいては、総人件費を最低限に抑えつつ、かつ、各作業者の休日の希望、または休憩時間帯の希望を可能な限り実現したスケジュールを、レイバースケジューリングモデルを用いて決定することを目的とする。このため、第1の数理モデルにおける目的関数Hは、人件費のコストと、各作業者の休日の希望、または休憩時間帯の希望の、少なくとも何れか一方を満たせなかった場合に増加するコストとの合計値とする。
【0062】
目的関数Hを決定するため、以下の集合を定義する。例えば、作業者pが休憩を希望する、日付dおよび時間帯sの組み合わせの集合を、O={(d,s),d∈D,s∈S}(p∈P)とする。日付dの時間帯sに作業種別wをするために必要な作業者の人数の集合を、edsw∈{0,1,・・・},d∈D,s∈S,w∈Wとする。作業者pに対する、1つの時間帯あたりの人件費の集合を、f∈{0,1,・・・},p∈Pとする。
【0063】
上記集合およびバイナリ変数を用いて、本実施例に係る第1の数理モデルの目的関数Hは、以下の式(5)によって表される。
【0064】
【数5】
【0065】
次に、本実施例に係る第1の数理モデルにおける制約条件を設定する。例えば、以下の4つの制約条件を設定する。
条件1:作業者1人に2つ以上の作業を同時に割り当てない。
条件2:各作業に必要な作業者の人数を満たす。
条件3:各作業者の一日の労働時間が、上限Lを超えない。
条件4:各作業者に対し、一週間に少なくとも1日は休日を割り当てる。
【0066】
上記条件1は、下記式(6)にて表現できる。
【0067】
【数6】
【0068】
上記条件2は、下記式(7)にて表現できる。
【0069】
【数7】
【0070】
上記条件3は、下記式(8)にて表現できる。
【0071】
【数8】
【0072】
上記条件4を定式化するために、新たなバイナリ変数apd,p∈P,d∈Dを定義する。apdは、作業者pが、日付dに作業を行う場合に1、そうでない場合に0をとるバイナリ変数である。
【0073】
上記バイナリ変数apdに対する制約条件を、下記式(9)および下記式(10)に沿って定義する。
【0074】
【数9】
【0075】
【数10】
【0076】
これより、上記条件4は、下記式(11)にて表現できる。
【0077】
【数11】
【0078】
ここで、上記式(11)におけるwkは週の集合である。集合wkに含まれる、wk、wk、…は、それぞれ、第1週、第2週、…のそれぞれの日付を含む集合である。
【0079】
これらの制約条件から、制約条件項Lを決定する。条件1、条件2、条件3、および条件4のそれぞれに対応する制約条件項を、L、L、L、およびLとする。この場合、L、L、L、およびLは、それぞれ、以下の式(12)から式(15)に定式化される。
【0080】
【数12】
【0081】
【数13】
【0082】
【数14】
【0083】
【数15】
【0084】
なお、本実施形態に係る計算装置2を用いる場合、操作部6を用いて、上述した第1のハミルトニアンHの生成に使用する、要素の集合およびバイナリ変数を表現する各パラメータを入力してもよい。これにより、ハミルトニアン生成部16が、入力されたパラメータに基づいて、第1のハミルトニアンHに関するデータを生成する。
【0085】
<分割を用いない場合の解き方>
従来の手法により、上記第1の数理モデルに対する量子アニーリングを実行する場合、上記式(5)、および上記式(12)から式(15)までに基づいて、第1のハミルトニアンH=H+H=H+C+C+C+Cを生成する。次いで、第1のハミルトニアンHからQUBO行列を生成し、アニーリングマシン4による量子アニーリングを実行する。
【0086】
この場合、作業者、日付、時間帯、および作業種別の要素の個数が増えた場合、バイナリ変数の数、および、各要素の相互作用の数も増える。これに伴い、数理モデルがより複雑化し、最適解が求まる蓋然性が低下する。さらに、バイナリ変数の数、および、各要素の相互作用の数が増えることにより、アニーリングマシン4が必要な量子ビットの結合状態の個数が増え、アニーリングマシン4による計算が不可能となる場合もある。
【0087】
さらに、上述した条件3、および条件4が守られた場合においても、L、Lについては、0とならない場合がある。このように、制約条件が複雑となると、扱うバイナリ変数の個数が増えるほど、制約条件式Hの各係数Cのそれぞれの値の設定がより困難となる課題も存在する。
【0088】
<レイバースケジューリングにおけるハミルトニアンの分割>
本実施例においては、上述した第1のハミルトニアンHのうち、制約条件式Hの分割を行い、分割ハミルトニアンHを生成する。本実施例においては、はじめに、ステップS4において、固定変数決定部24が、制約条件式Hの変数のうち、固定する変数を日付dに決定する。固定変数を日付dとした理由は、制約条件のうち、複数の日付に渡って作用する制約条件が、条件4のみである点、および、日付dを除く変数の組み合わせを決定した場合に、条件4を満たす解が求まりやすい点が挙げられる。固定する変数の決定は、例えば、固定変数決定部24が、第1のハミルトニアンHに関するデータを解析することにより実行されてもよい。
【0089】
次いで、ステップS6を実行し、ハミルトニアン分割部26が、上述した制約条件式Hを、を、日付の集合Dの要素ごとに分割し、複数の分割ハミルトニアンHを生成する。分割ハミルトニアンHは、H=C1m+C2m+C3mと表される。例えば、L11、L21、およびL31は、それぞれ、L、L、およびLに、d=1を代入した式となる。以上により、日付dの値ごとに分割ハミルトニアンHが生成される。
【0090】
次いで、ステップS8を実行し、生成された分割ハミルトニアンHのそれぞれに対する量子アニーリングを実行する。当該量子アニーリングの実行は、QUBO行列生成部20が、分割ハミルトニアンHに関するデータからQUBO行列を生成し、当該QUBO行列に関するデータをアニーリングマシン4に入力することにより実行されてもよい。これにより、本実施例においては、第1の数理モデルにいて、各日付における、どの作業者が、どの時間帯に、どの作業を行うかについての組み合わせが決定される。当該組み合わせは、上述した制約条件のうち、条件1、条件2、および条件3を満たす組み合わせとなる。
【0091】
<レイバースケジューリングモデルの補正>
次いで、ステップS10を実行し、補正部22が、ステップS8において得られた解に基づき、上述した第1の数理モデルを補正し、第2の数理モデルを生成する。本実施例においては、第1の数理モデルにおける、時間帯と当該時間帯に実施する作業の種別との組み合わせのみを、ステップS8において得られた組み合わせに固定したものを、第2の数理モデルとする。
【0092】
換言すれば、第2の数理モデルは、どの作業者が、どの日付に、どの時間帯に割り当てられた作業を行うのかについての組み合わせを決定するモデルである。時間帯と作業種別との組み合わせが固定されているため、第2の数理モデルは、第1の数理モデルと比較して、求めるべき組み合わせを構成する変数の個数が少なくなっている。
【0093】
<第2のレイバースケジューリングモデルの定式化>
次いで、ステップS12を実行し、ハミルトニアン生成部16が、第2の数理モデルの定式化により、第2のハミルトニアンH’を生成する。本実施例においては、第2の数理モデルの定式化を実行するために、集合およびバイナリ変数を以下に定義する。例えば、作業者pが日付dに作業を行う場合に1となり、そうでない場合に0となるバイナリ変数を、vdp∈{0,1},d∈D,p∈Pとする。作業者pの日付dにおける、休憩を除いた作業種別の個数を、ydp∈{0,1,・・・},d∈D,p∈Pとする。
【0094】
なお、本実施例においては、ステップS8にて算出された、第1の数理モデルにおける変数の組み合わせの一部に基づいて、第2の数理モデルにおける変数および集合を定義してもよい。例えば、ステップS8にて算出した解において、作業者pが日付dに割り当てられていた作業を、作業者p’が代わりに行う場合に1、そうでない場合に0となるバイナリ変数を、x’p’dp,p’∈P,d∈D,p∈Pとする。また、x’p’dpが1である場合に、無視することとなる、作業者P’が希望する休みの数を、zp’dp∈{0,1,・・・},p’∈P,d∈D,p∈Pとする。
【0095】
第2の数理モデルにおいても、第1の数理モデルと同じく、総人件費を最低限に抑えつつ、かつ、各作業者の休日の希望、または休憩時間帯の希望を可能な限り実現したスケジュールを、レイバースケジューリングモデルを用いて決定することを目的とする。このため、第2の数理モデルにおける目的関数H’は、人件費のコストと、各作業者の休日の希望、または休憩時間帯の希望を満たせなかった場合に増加するコストとの合計値とする。
【0096】
上記集合およびバイナリ変数を用いて、本実施例に係る第2の数理モデルの目的関数H’は、以下の式(16)によって表される。
【0097】
【数16】
【0098】
次に、本実施例に係る第2の数理モデルにおける制約条件を設定する。本実施例においては、上述した第1の数理モデルにおける制約条件を変形した、以下の3つの制約条件を設定する。
条件1’:作業者1人に2つ以上の時間帯および作業の組み合わせを同時に割り当てない。
条件2’:時間帯と作業種別の組み合わせのそれぞれに、作業者を1人ずつ割り当てる。
条件3’:各作業者に対し、一週間に少なくとも1日は休日を割り当てる。
【0099】
上記条件1’から、制約条件項L’は、下記式(17)にて表現できる。
【0100】
【数17】
【0101】
上記条件2’から、制約条件項L’は、下記式(18)にて表現できる。
【0102】
【数18】
【0103】
上記条件3’から、制約条件項L’は、下記式(19)にて表現できる。
【0104】
【数19】
【0105】
ここで、上記式(19)における、dとは、各週における最初の日付を含む集合である。以上より、第2のハミルトニアンH’=H’+H’=H’+CL’+CL’+CL’が生成される。
【0106】
なお、ステップS12においては、操作部6を用いて、上述した第2のハミルトニアンH’の生成に使用する、要素の集合およびバイナリ変数を表現する各パラメータが入力されてもよい。これにより、ハミルトニアン生成部16が、入力されたパラメータと、補正部22により生成された第2の数理モデルの関するデータとに基づいて、第2のハミルトニアンH’に関するデータを生成する。
【0107】
<第2のレイバースケジューリングモデルの量子アニーリング工程>
次いで、ステップS14を実行し、生成された第2のハミルトニアンH’に対する量子アニーリングを実行する。当該量子アニーリングの実行は、QUBO行列生成部20が、第2のハミルトニアンH’に関するデータからQUBO行列を生成し、当該QUBO行列に関するデータをアニーリングマシン4に入力することにより実行されてもよい。これにより、本実施例においては、第2の数理モデルにおいて、各日付における、どの作業者が、どの時間帯に割り当てられた作業を行うかについての組み合わせが決定される。
【0108】
ステップS14において得られた解は、理想的には、第2の数理モデルにおける、各変数の組み合わせの最適解である。換言すれば、ステップS14において得られた解は、条件1’、条件2’、および条件3’を満たしつつ、目的関数H’を最小化する、第2の数理モデルにおける変数の組み合わせとなる。
【0109】
ここで、第2の数理モデルにおいては、時間帯と作業種別との組み合わせが固定されている。また、第2の数理モデルにおける、時間帯と作業種別との組み合わせは、上述した、第1の数理モデルにおける、各制約条件を満たすように決定されている。このことから、ステップS14において得られた解が、第2の数理モデルにおける制約条件を全て満たす場合、当該解は、第1の数理モデルにおける制約条件を全て満たす解である。
【0110】
また、第2の数理モデルにおける目的関数H’は、第1の数理モデルにおける目的関数Hと対応している。このため、ステップS14において得られた解が、目的関数H’を最小化する場合、当該解は、時間帯と作業種別との組み合わせを、ステップS8において算出した解に基づき固定した場合において、目的関数Hを最小化する解である。したがって、第2の数理モデルの最適解は、少なくとも、第1の数理モデルの局所的な最適解となる。
<補記>
本実施例においては、数理モデルがレイバースケジューリングモデルである場合について説明した。しかしながら、これに限られず、本実施形態に係る計算方法は、数理モデルが複数の変数の組み合わせを求める問題であり、数理モデルにおける制約条件を表す関係式を、ある変数の値ごとに分割できる場合には、適用することができる。この場合、上述した各式における集合およびバイナリ変数の定義、あるいは、係数の値は、数理モデルに応じて適宜決定することが可能である。
【0111】
〔実施形態2〕
<再分割工程>
本実施形態に係る第1の数理モデルの計算方法について、図3および図4を参照してより詳細に説明する。図3は、本実施形態に係る第1の数理モデルの計算方法を説明するためのフローチャートである。図4は、図3のフローチャートに示す計算方法を実行するための計算装置2Aのブロック図である。
【0112】
本実施形態に係る計算方法を実行するために使用する計算装置2Aは、前実施形態に係る計算装置2と比較して、分割部18が、さらに、分割ハミルトニアン評価部28を備えている点を除き、同一の構成を備えていてもよい。
【0113】
本実施形態においても、前実施形態と同じく、第1の数理モデルの系全体のエネルギーを最小化する、当該第1の数理モデルにおける変数の組み合わせを、アニーリングマシンによって計算する方法について説明する。
【0114】
本実施形態に係る第1の数理モデルの計算方法においては、前実施形態に係る、ステップS2からステップS6までを、前実施形態において説明した方法と同一の方法にて、順に実行する。これにより、本実施形態においても、第1の数理モデルから定式化した第1のハミルトニアンHのうち、制約条件式Hを分割した、複数の分割ハミルトニアンHが生成される。
【0115】
本実施形態においては、ステップS6に次いで、分割ハミルトニアンHのそれぞれに対する量子アニーリングが実行可能か否かを判定する(ステップS16)、判定工程を実施する。判定工程においては、例えば、分割ハミルトニアンHのそれぞれに含まれる変数がとり得る値の組み合わせの総数が、アニーリングマシン4によって計算可能な規模を超過しているか否かを判定する。判定工程は、例えば、分割ハミルトニアンHのそれぞれのデータを、分割ハミルトニアン評価部28がハミルトニアン分割部26から受信し、解析することにより実行される。
【0116】
ステップS16において、分割ハミルトニアンHのそれぞれに対する量子アニーリングの実行が困難であると判断した場合には、分割ハミルトニアンHのそれぞれをさらに分割する、再分割工程が実行される。
【0117】
はじめに、分割ハミルトニアン評価部28から固定変数決定部24に、分割ハミルトニアンHのそれぞれに対する量子アニーリングの実行が困難であるとの情報を送信する。当該情報を受けて、固定変数決定部24は、上述したステップS4と同一の手法により、分割ハミルトニアンHに含まれる全ての変数のうち、その値ごとに分割ハミルトニアンHを分割する変数の決定を行う。次いで、固定変数決定部24からハミルトニアン分割部26に、分割ハミルトニアンHに関するデータと、新たに決定された固定変数の情報とを入力し、分割後の式を出力させる。
【0118】
上記再分割工程により、分割ハミルトニアンHのそれぞれをさらに分割したハミルトニアンが生成される。分割ハミルトニアンHからさらに分割されたハミルトニアンは、分割ハミルトニアンHよりも、さらに変数が少ないため、変数がとり得る値の組み合わせの総数についても減少する。
【0119】
上述した判定工程および再分割工程とは、最終的に得られた分割後のハミルトニアンが、アニーリングマシン4によって計算可能となる規模まで分割されるまで、繰り返し実行されてもよい。最終的に得られた分割後のハミルトニアンが、アニーリングマシン4によって計算可能となった場合には、分割ハミルトニアン評価部28からQUBO行列生成部20にデータが送信され、QUBO行列の生成が実行される。これにより、上述したステップS8が実行される。
【0120】
この後、ステップS10からステップS14が、上述した手法と同一の手法により、順に実行される。これにより、本実施形態においても、第1の数理モデルにおいて、少なくとも局所的に最適性を有し、かつ、第1の数理モデルにおける制約条件を満たす解が得られる。
【0121】
本実施形態においては、分割ハミルトニアンHのそれぞれに対する量子アニーリングが実行可能か否かを判定する判定工程が実行される。また、判定工程において、分割ハミルトニアンHのそれぞれに対する量子アニーリングが実行可能ではないと判定された場合に、さらに分割ハミルトニアンHを分割する再分割工程が実行される。これにより、1回の分割によって量子アニーリングの実行が不可能な程度の規模を有する第1のハミルトニアンHに対しても、少なくとも局所的に最適性を有し、かつ、第1の数理モデルにおける制約条件を満たす解が得られる。
<ソフトウェアおよびプログラムによる実施例>
上述した各実施形態に係る分割部18、QUBO行列生成部20、および、補正部22は、計算装置2および計算装置2Aが備える集積回路、換言すれば、ICチップ等に形成された論理回路、換言すれば、ハードウェアによって実現してもよい。あるいは、分割部18、QUBO行列生成部20、および、補正部22は、ソフトウェアによって実現してもよい。
【0122】
上記各部がソフトウェアである場合、アニーリングマシン4と通信可能な端末において、各部の機能を実現するソフトウェアであるプログラムの命令を実行することにより、分割部18、QUBO行列生成部20、および、補正部22における処理が実行されてもよい。この端末は、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶した端末読み取り可能な記録媒体を備えている。上記端末において、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本開示の目的が達成される。したがって、上記プログラムは、分割部18、QUBO行列生成部20、および、補正部22における処理を実行する、計算プログラムとして機能する。
【0123】
上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。
【0124】
上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記端末に供給されてもよい。なお、本開示の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0125】
本開示は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本開示の技術的範囲に含まれる。
【符号の説明】
【0126】
2、2A 計算装置
10 制御部
12 通信部
16 ハミルトニアン生成部
18 分割部
20 QUBO行列生成部
22 補正部
24 固定変数決定部
26 ハミルトニアン分割部
28 分割ハミルトニアン評価部
【要約】
【課題】ある数理モデルにおいて、少なくとも局所的に最適性を有し、かつ、制約条件を満たす解を、より簡便に得ることができる。
【解決手段】計算方法は、分割工程(S4、S6)と、第1アニーリング工程(S8)と、補正工程(S10)とを含む。分割工程においては、第1の数理モデルにおける変数のうち、少なくとも一つの変数の値ごとに、第1の数理モデルにおける制約条件を表現する制約条件式を分割した、複数の分割ハミルトニアンを生成する。第1アニーリング工程においては、分割ハミルトニアンのそれぞれに対する量子アニーリングを実行する。補正工程においては、第1アニーリング工程の結果に応じて、第1の数理モデルを補正した、第2の数理モデルを生成する。
【選択図】図1
図1
図2
図3
図4