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

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

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

特許6985479計算方法、計算装置、計算プログラム、記録媒体
<>
  • 特許6985479-計算方法、計算装置、計算プログラム、記録媒体 図000016
  • 特許6985479-計算方法、計算装置、計算プログラム、記録媒体 図000017
  • 特許6985479-計算方法、計算装置、計算プログラム、記録媒体 図000018
  • 特許6985479-計算方法、計算装置、計算プログラム、記録媒体 図000019
  • 特許6985479-計算方法、計算装置、計算プログラム、記録媒体 図000020
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6985479
(24)【登録日】2021年11月29日
(45)【発行日】2021年12月22日
(54)【発明の名称】計算方法、計算装置、計算プログラム、記録媒体
(51)【国際特許分類】
   G06N 99/00 20190101AFI20211213BHJP
【FI】
   G06N99/00 180
【請求項の数】7
【全頁数】14
(21)【出願番号】特願2020-162527(P2020-162527)
(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の補正項と、前記補正制約条件式を含む前記ハミルトニアンを用いた、量子アニーリングによる計算過程において、前記補助変数の値が適切な場合に、値が小さくなる第2の補正項とを含む請求項1に記載の計算方法。
【請求項3】
前記数理モデルがレイバースケジューリングモデルである請求項1または2に記載の計算方法。
【請求項4】
数理モデルをアニーリングマシンによって計算するためのハミルトニアンを、前記数理モデルから生成する計算装置であって、
前記数理モデルにおける変数の関数と、該関数の近似式とに基づいて定式化した項を含む制約条件式に、前記関数と前記近似式との誤差に基づいて、補助変数を含む補正項追加した、補正制約条件式を生成する補正部と、
前記数理モデルから得られる目的関数と、前記補正制約条件式とを含むハミルトニアンを生成するハミルトニアン生成部とを備えた計算装置。
【請求項5】
前記補正部が、前記誤差に応じて、前記近似式に、定数と前記補助変数との積を追加する第1の補正項と、前記アニーリングマシンによる計算過程において、前記補助変数の値が適切な場合に、値が小さくなる第2の補正項とを、前記補正項として生成する請求項4に記載の計算装置。
【請求項6】
請求項4または5に記載の計算装置としてコンピュータを機能させるための計算プログラムであって、前記補正部、および前記ハミルトニアン生成部として前記コンピュータを機能させるための計算プログラム。
【請求項7】
請求項6に記載の計算プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【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】
非特許文献1に開示される、QUBO行列を生成するためのハミルトニアンには、制約条件を表現する関数の近似式を含む場合がある。ここで、数理モデルにおける各変数の値と、上記近似式との差異を評価する比較項が、2次以下の項である必要があることを考慮すると、上記近似式は、1次式である必要がある。このため、上記関数の値とその近似式の値との誤差が大きくなる場合がある。
【0005】
当該誤差を有するハミルトニアンを使用して、アニーリングマシンによる計算を実行した場合、制約条件を満たさない、あるいは、制約条件を満たすものの、最適性を有さない計算結果が得られる場合があり、計算精度が低下する場合がある。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本開示の一態様に係る計算方法は、数理モデルをアニーリングマシンによって計算するためのハミルトニアンを、前記数理モデルから生成する計算方法であって、前記数理モデルにおける変数の関数と、該関数の近似式とに基づいて定式化した項を含む制約条件式に、前記関数と前記近似式との誤差に基づいて、補助変数を含む補正項を追加した、補正制約条件式を生成する補正工程と、前記数理モデルから得られる目的関数と、前記補正制約条件式とを含むハミルトニアンを生成するハミルトニアン生成工程とを含む。
【0007】
また、本開示の一態様に係る計算装置は、数理モデルをアニーリングマシンによって計算するためのハミルトニアンを、前記数理モデルから生成する計算装置であって、前記数理モデルにおける変数の関数と、該関数の近似式とに基づいて定式化した項を含む制約条件式に、前記関数と前記近似式との誤差に基づいて、補助変数を追加した、補正制約条件式を生成する補正部と、前記数理モデルから得られる目的関数と、前記補正制約条件式とを含むハミルトニアンを生成するハミルトニアン生成部とを備える。
【0008】
本開示の各態様に係る計算装置は、コンピュータによって実現してもよい。この場合には、コンピュータを、前記計算装置が備える各部(ソフトウェア要素)として動作させてもよい。この場合、前記計算装置をコンピュータにて実現させる計算プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本開示の範疇に入る。
【発明の効果】
【0009】
本開示の一態様によれば、制約条件式の比較項における近似式の近似の精度が低い場合であっても、アニーリングマシンによる計算の精度を向上させる。
【図面の簡単な説明】
【0010】
図1】本開示の実施形態に係る計算方法を説明するためのフローチャートである。
図2】本開示の実施形態に係る計算装置のブロック図である。
図3】本開示の実施例における制約条件である、作業時間と休憩時間との関係を示すグラフである。
図4】本開示の実施例における、作業時間と休憩時間との関係式の近似式を示すグラフである。
図5】本開示の実施例における、作業時間と休憩時間との関係式の近似式の補正について説明するためのグラフである。
【発明を実施するための形態】
【0011】
〔実施形態〕
<計算装置の概要>
以下、本開示の一実施形態について、詳細に説明する。
【0012】
本実施形態に係る計算方法は、ある数理モデルの系全体のエネルギーを最小化する、当該数理モデルにおける変数の組み合わせを、アニーリングマシンによって計算する方法である。本実施形態においては、上記数理モデルの系全体のエネルギーを表すハミルトニアンHを生成し、当該ハミルトニアンHからQUBO行列を生成し、当該QUBO行列をアニーリングマシンによって解くことにより計算を行う。
【0013】
本実施形態に係る数理モデルの計算方法について、図1および図2を参照してより詳細に説明する。図1は、本実施形態に係る数理モデルの計算方法を説明するためのフローチャートである。図2は、図1のフローチャートに示す計算方法を実行するための計算装置2のブロック図である。
【0014】
図2に示すように、本実施形態に係る計算装置2は、アニーリングマシン4による計算を実行するためのデータを生成し、当該計算結果を蓄積および表示するための装置である。計算装置2は、操作部6と、メモリ8と、制御部10と、通信部12と、表示部14とを備える。また、制御部10は、数理モデル定式化部16と、補正部18と、ハミルトニアン生成部20と、QUBO行列生成部22とを備える。さらに、補正部18は、近似式生成部24と、誤差評価部26と、補助変数追加部28とを備える。
【0015】
操作部6は、例えば、計算装置2の使用者によって操作される。例えば、操作部6は、計算装置2による計算のためのデータを外部から入力するために使用される、キーボード等を含んでいてもよい。例えば、操作部6は、数理モデルの各パラメータ、または、数理モデルを計算する際の設定等を行うためのデータを入力するために使用されてもよい。
【0016】
メモリ8は、計算装置2の備える各部から入力されたデータを少なくとも一時的に記憶する。メモリ8が記憶するデータは、計算装置2の備える各部から適宜読み出される。
【0017】
制御部10は、計算装置2に入力された、数理モデルのパラメータ、および、計算の設定に基づいて、アニーリングマシン4による計算を実行するためのデータを生成する。制御部10の各部の詳細な動作は、本実施形態に係る計算方法についての説明と併せ、後により詳細に説明する。
【0018】
通信部12は、メモリ8から読み出したデータの少なくとも一部を、計算装置2の外部機器へ送信し、当該外部機器から送信されたデータを受信し、メモリ8に記録するための通信装置である。本実施形態において、通信部12は、アニーリングマシン4とデータの相互通信が可能である。
【0019】
表示部14は、メモリ8からの読み出したデータの少なくとも一部を、計算装置2の使用者等に表示するための装置である。例えば、表示部14は、計算装置2に入力されたデータ、計算装置2の計算の設定、または、アニーリングマシン4による計算の結果等を表示するモニタであってもよい。
【0020】
<数理モデルの定式化>
本実施形態に係る数理モデルの計算方法においては、はじめに、数理モデルを定式化する(ステップS2)。ステップS2においては、例えば、はじめに、計算装置2の使用者が、操作部6によって、計算したい数理モデルの各パラメータを計算装置2に入力する。入力された数理モデルの各パラメータは、メモリ8に一時的に記録されてもよい。入力された数理モデルの各パラメータは、次いで、制御部10の数理モデル定式化部16に読み出される。
【0021】
数理モデル定式化部16は、メモリ8から読み出したデータを解析し、数理モデルを表す式を生成し、当該式をQUBOモデルに沿って定式化した式に変換する。数理モデル定式化部16は、例えば、目的関数Hと、数理モデルにおける制約条件を定式化した制約条件式Hとを生成する。
【0022】
数理モデルの定式化は、例えば、制約条件式Hに対応する制約条件を満たす範囲内において、目的関数Hが最小となる場合、元の数理モデルにおいて最適な組み合わせが得られるように、目的関数Hおよび制約条件式Hを決定することにより実行される。目的関数HがQUBOモデルを定式化した式である場合、目的関数Hは、例えば、下記式(1)によって表現される。
【0023】
【数1】
【0024】
式(1)において、xは、0または1の値を取るバイナリ変数である。また、aおよびbpqは、それぞれ、1次の項および2次の項の係数である。また、p、q、およびrは自然数である。また、rは、第1の数理モデルにおける各変数の取り得る組み合わせの総数に対応する。スピン変数s=±1を用いて、x=(s+1)/2と表現できることから、目的関数Hは、イジングモデルのエネルギー関数と等価である。
【0025】
制約条件式Hは、例えば、係数C等を用いて、以下の式(2)のように表現できる。
【0026】
【数2】
【0027】
ここで、Lは、それぞれ、制約条件を定式化した制約条件項である。制約条件項Lは、元の数理モデルにおける各変数の値が、制約条件を満たさない組み合わせの場合に増大する項である。これにより、元の数理モデルにおける制約条件が満たされない場合に、系全体のエネルギーを増大させて、解として採用されないように設定することが可能である。なお、式(2)におけるkは自然数であり、数理モデルにおける制約条件の個数に相当する。
【0028】
<制約条件の定式化および近似>
本実施形態において、数理モデルの制約条件の少なくとも一つが、数理モデルにおけるある変数xと、変数xと異なる変数yとの関数によって表現されるとする。ここで、変数xおよび変数yのそれぞれは、数理モデルにおける、ある要素の値を表現する変数であり、各バイナリ変数xの値によって値が変動する変数である。換言すれば、変数xおよび変数yのそれぞれは、バイナリ変数xを変数とする関数であり、例えば、x=f(x)、y=g(x)と表現することができる。
【0029】
この場合、制約条件式Hの少なくとも一つの制約条件項Lは、上述した制約条件を表す関数に、変数xの値を代入して得られる変数yの値と、実際の変数yの値との差を比較する比較項Dとなる。本実施形態において、制約条件項Lのうちの一つである制約条件項Lが、比較項Dである場合、当該比較項Dは、例えば、下記式(3)によって表される。
【0030】
【数3】
【0031】
ここで、関数h(x)は、数理モデルの制約条件に含まれる、変数xと変数yとの関係式である。本実施形態において、関数h(x)は、変数をxとする関数であり、関数h(x)=yが成立する場合、変数xと変数yとが制約条件を満たす値となっているとする。なお、変数xと変数yとは、バイナリ変数xを変数とする関数であるため、関数h(x)についても、バイナリ変数xの変数として表現できる。
【0032】
この場合、比較項Dは、変数yと関数h(x)との差を二乗した項である。換言すれば、変数yの値と、上述した関係式に、変数xを代入して得られる値との差が小さい程、値が小さくなる項である。これにより、比較項Dは、実際の変数xと変数yとの値が、制約条件を満たす場合に、値が小さくなる項となる。このため、実際の変数xの値と変数yの値との組み合わせが、制約条件を満たさない場合に、系全体のエネルギーを上昇させて、当該組み合わせが解として採用されないように設定することが可能である。
【0033】
<比較項の制約および関数の近似>
ここで、一般に、QUBOモデルは、イジングモデルを変形したモデルであり、二体相互作用までの作用を考慮している。このため、QUBOモデルは、三体以上の相互作用を前提としていないため、数理モデルをQUBOモデルに変形して計算を行う場合、最終的に得られるハミルトニアンが、三次以上の項を含まないことが求められる。
【0034】
上記式(3)から明らかであるように、比較項Dには、h(x)を二乗した項が含まれる。このため、比較項Dが二次以下の式であるためには、比較項Dの括弧内に含まれるh(x)は、一次式である必要がある。また、h(x)は、例えば、不等式によって表されるような、不連続な関数ではなく、変数xの全範囲において、連続した関数である必要がある。
【0035】
本実施形態においては、h(x)が、二次以上の関数、または、不連続な関数であったとする。ここで、比較項Dを生成するために、本実施形態においては、ステップS2に次いで、制約条件を表現する関数の近似式を生成する(ステップS4)。ステップS4は、数理モデル定式化部16により得られた、制約条件を表現する関数を、補正部18の近似式生成部24に入力し、近似式を生成させることにより得られる。
【0036】
上記式(3)におけるh(x)を、1次式に近似した場合、上記式(3)は、下記式(4)に変形される。
【0037】
【数4】
【0038】
上記式(4)において、AおよびBはそれぞれ定数である。すなわち、比較項Dに含まれるh(x)の近似式は、下記式(5)にて表される。
【0039】
【数5】
【0040】
ステップS4において、1次の近似式を用いた近似を行わざるを得ないために、制約条件を表すための関数によっては、当該関数と近似式との差異が非常に大きくなる場合がある。
【0041】
<誤差の評価および近似式の補正>
上記関数と、その近似式との差異を低減するために、本実施形態においては、近似式の補正を行う。近似式の補正工程においては、はじめに、ステップS4により得られた近似式の値と、上述した制約条件を表現する関数との誤差を評価する(ステップS6)。ステップS6は、近似式生成部24から、誤差評価部26に、比較項Dのデータを入力し、比較項Dを評価させることにより実行される。
【0042】
次いで、ステップS6において実行された、関数とその近似式との誤差の評価に基づいて、比較項Dに、新たな補助変数Kを含む項を追加し(ステップS8)、補正比較項D’を生成する。ステップS8は、例えば、誤差評価部26における、比較項Dの評価に基づいて、補助変数追加部28が、比較項Dに追加する、補助変数Kを含む適切な項を決定することにより実行される。
【0043】
例えば、本実施形態においては、比較項Dに、新たな補助変数Kを含む、第1の補正項である補正項Eと、第2の補正項である補正項Fとを追加する。具体的には、上述した比較項Dを下記式(6)に示す補正比較項D’に変形する。これに伴い、下記式(6)に示すように制約条件項Lについても、補正制約条件項L’に変形される。
【0044】
【数6】
【0045】
ここで、補正項Eおよび補正項Fを、係数P、係数Qを用いて、それぞれ、下記式(7)および下記式(8)とする。
【0046】
【数7】
【0047】
【数8】
【0048】
ここで、補助変数Kは、0または1の値を取るバイナリ変数であり、xの値によって変化する変数である。PおよびQは、各補助変数Kに対する係数である。このため、補正項Eは、h(x)に定数Pと補助変数Kとの積を追加し、h(x)を補正するための項である。
【0049】
また、補正項Fは、補正制約条件項L’を含むハミルトニアンを用いて、量子アニーリングが実行された際、その計算過程において、補助変数Kの値が不適切な場合に、値が大きくなるように設定されている。例えば、変数xの値、および補正項Eの値によっては、元の関数の値と、近似式の値とに、大きな差異が生じる場合がある。このような場合、補正項Fの値は大きくなるように設定されている。
【0050】
したがって、関数の値と近似式の値との差異が大きく、補正項Eの値が不適切な場合に、補正項Fの値が大きくなることにより、補正比較項D’の値が大きくなり、解として採用されないように設定できる。換言すれば、補正項Fは、変数xの値に対し、補正項Eによりh(x)に追加された定数の値が適切な場合に、値が小さくなる項である。ゆえに、補正項Eおよび補正項Fを導入した補正比較項D’は、上述した関数とその近似式との誤差を、より効率よく低減できる。これにより、制約条件式Hは、補正制約条件項L’を含む補正制約条件式H’に変形される。
【0051】
なお、式(6)、式(7)、および式(8)において、l、m、nのそれぞれは、自然数である。mおよびnは、それぞれ、補正項Eおよび補正項Fにおける、補助変数Kを含む項の個数に相当する。mおよびnの値が大きい程、変数xの各値に対する補正項Eおよび補正項Fの値を、より厳密に設定することができるため、補正比較項D’がより厳密に補正される。
【0052】
<ハミルトニアンおよびQUBO行列の生成>
ステップS8に次いで、目的関数Hと、補助変数Kを追加された補正制約条件項L’を含む、補正制約条件式H’とを合成して、ハミルトニアンHを生成する(ステップS10)。ハミルトニアンHは、例えば、H=H+H’にて表される。ステップS10においては、はじめに、ハミルトニアン生成部20に、補正部18から、目的関数Hと、補助変数Kの項が追加された補正制約条件式H’のデータとを、それぞれ入力する。次いで、目的関数Hと補正制約条件式H’とを合成して、数理モデルの系全体のエネルギーを表現するハミルトニアンHを生成する。
【0053】
次いで、ステップS10において得られたハミルトニアンHから、QUBO行列を生成する(ステップS12)。ステップS12は、ハミルトニアン生成部20によって生成されたハミルトニアンHを、QUBO行列生成部22に入力することにより実行される。QUBO行列は、ハミルトニアンHをQUBOモデルの行列によって表現する上三角行列である。ハミルトニアンHからのQUBO行列の生成は、一般に用いられる、ハミルトニアンHをQUBO行列に変換する手法を採用できる。これにより、アニーリングマシンによって計算可能なQUBO行列が生成される。生成されたQUBO行列は、一時的にメモリ8に記録されてもよい。
【0054】
次いで、ステップS12において生成されたQUBO行列を、アニーリングマシン4に入力し、アニーリングマシン4を用いて当該QUBO行列に対する量子アニーリングを実行する(ステップS14)。ステップS14においては、はじめに、通信部12が、メモリ8からQUBO行列のデータを読み出し、アニーリングマシン4に送信する。QUBO行列のデータを受信したアニーリングマシン4は、QUBO行列のデータを受信して、当該QUBO行列に対する量子アニーリングを実行する。
【0055】
これにより、生成されたQUBO行列に対する、量子アニーリングの解が得られる。当該量子アニーリングによって得られた解は、理想的には、数理モデルの変数の組み合わせのうち、制約条件を満たす範囲内において、目的関数の値を最小化する変数の組み合わせであり、数理モデルにおける最適解となる。
【0056】
アニーリングマシン4による計算の結果は、通信部12に送信される。アニーリングマシン4による計算の結果を受信した通信部12は、当該結果をメモリ8に記録する。アニーリングマシン4による計算の結果は、表示部14によって読みだされ、表示部14に表示されてもよい。これにより、数理モデルの系全体のエネルギーを最小化する変数の組み合わせが最適解として得られる。
【0057】
<本実施形態に係る計算方法の奏する効果>
本実施形態に係る計算方法によれば、補正制約条件式H’に含まれる補正比較項D’が、制約条件を表現する関数とその近似式との誤差を低減する補助変数Kを含む。このため、補正比較項D’が含む近似式が、1次の近似式であった場合でも、上記関数と、その近似式との誤差が低減する。このため、本実施形態に係る計算方法によって得られた解が、制約条件を満たし、かつ、最適性を有する蓋然性が向上し、計算精度が向上する。
【0058】
本実施形態に係る計算方法によって計算される数理モデルは、例えば、レイバースケジューリングモデルであってもよい。以下、本実施形態に係る計算方法によって、レイバースケジューリングモデルを計算する具体的手法を、実施例として説明する。
【実施例】
【0059】
<レイバースケジューリングモデル>
本実施例に係るレイバースケジューリングモデルは、例えば、各作業者に、どの日の、どの時間帯に、どの作業を割り当てるかの組み合わせを決定するためのモデルである。レイバースケジューリングモデルにおいては、例えば、各作業者の、1つの時間帯あたりに係る人件費と、各作業者の作業時間との積の合計値を目的関数としてもよい。または、レイバースケジューリングモデルにおいては、例えば、各作業者が希望する休日が実現しなかった場合に値が増大する関数を目的関数としてもよい。あるいは、これらの目的関数を組み合わせたものを、目的関数として採用してもよい。これにより、例えば、総人件費を最低限に抑えつつ、かつ、各作業者の希望する休暇日を可能な限り実現したスケジュールを決定することができる。
【0060】
<レイバースケジューリングモデルの制約条件>
ここで、本実施例に係るレイバースケジューリングモデルにおいては、制約条件の一つとして、一日の作業時間と休憩時間との関係式を採用する。本実施例において採用される、一日の作業時間と休憩時間との関係を、図3のグラフに示す。
【0061】
図3のグラフにおいて、横軸は、ある一日における、休憩時間を除く作業を行った合計時間を、単位を時間(h)として表す。図3のグラフにおいて、縦軸は、ある一日において、取るべき休憩時間の長さを、単位を分(m)として表す。なお、本明細書におけるグラフは、何れも、各軸の定義および縮尺が、図3のグラフと同一である。
【0062】
本実施例に係るレイバースケジューリングモデルにおいては、ある作業者が、休憩時間を除く作業をa時間以上行った場合、当該作業者は、必ずb分の休憩を取らなければならないとする。さらに、本実施形態に係るレイバースケジューリングモデルにおいては、ある作業者が、休憩時間を除く作業をc時間以上行った場合、当該作業者は、計e分の休憩を取らなければならないとする。このため、上述した制約条件を表す関数を、休憩を除く作業時間を変数とした、必要な休憩時間の関数とすると、当該関数は、図3に示す階段関数となる。
【0063】
<制約条件の定式化および近似>
ここで、バイナリ変数xi,d,t,wを定義する。ここで、バイナリ変数xi,d,t,wは、作業者iが、d日に、時間帯tにおいて、wの作業をする場合に1となり、そうでない場合に0となるとする。ここで、ある一日における、休憩を除く全ての作業時間を含む集合をTとする。また、ある作業者が休憩を取る場合、w=Rとする。さらに、当該作業者の休憩を除く全ての作業を含む作業の集合をWとする。
【0064】
図3に示す制約条件を定式化した場合、以下の式(9)、式(10)、および式(11)が得られる。
【0065】
【数9】
【0066】
【数10】
【0067】
【数11】
【0068】
図3に示すように、本実施例における制約条件を表す関数は、3段の階段関数となる。したがって、上記制約条件から比較項Dを設定する場合、当該階段関数に対する、1次の近似式を設定する必要がある。ここで、図3に示す、3段の階段関数を、1次の近似式に近似する場合、関数の2つ不連続点のそれぞれにおいて、当該不連続点の前後における関数の値の中点となる2点を通る直線を設定することが考えられる。具体的には、本実施例において、図4に一点鎖線にて示す、座標(a,b/2)および座標(c,(b+e)/2)の2点を通る直線を、1次の近似式として設定する。
【0069】
<近似式の補正>
当該近似式は、休憩を除く作業時間が、a時間程度またはc時間程度の場合において、元の階段関数との誤差が比較的小さくなる。しかしながら、上記近似式は、休憩を除く作業時間が、0時間付近である場合には、元の階段関数との誤差が非常に大きくなる場合がある。本実施例においては、制約条件をQUBO式に定式化し、比較項Dを生成する際に、上記事情を考慮して、補助変数Kを含む補正項Eおよび補正項Fを、比較項Dに追加する。
【0070】
具体的には、式(9)、式(10)、および式(11)と、式(6)、式(7)、および式(8)とから、比較項Dを定義する、以下の式(12)を生成する。
【0071】
【数12】
【0072】
なお、式(12)における、係数Aおよび係数Bは、以下の式(13)、および式(14)によって定義される。
【0073】
【数13】
【0074】
【数14】
【0075】
ここで、式(14)において、εは小さな定数である。また、本実施例においては、式(7)、および式(8)における、mおよびnの値を1とした。
【0076】
ここで、補助変数Kが0である場合、補正項Eが0となるため、比較項Dにおける近似式は、図5に一点鎖線にて示す式となり、図4に一点鎖線にて示す式と略同一となる。一方、補助変数Kが1である場合、比較項Dにおける近似式に、補正項E=Pが定数として追加される。したがって、補助変数Kが1である場合、比較項Dにおける近似式は、図5に二点鎖線にて示す1次式に変換される。
【0077】
補正項Eが定数として追加された近似式は、補正項Eが0である近似式と比較して、休憩を除く作業時間が0時間付近である場合に、元の階段関数との誤差が小さくなる。一方、補正項Eが定数として追加された近似式は、補正項Eが0である近似式と比較して、休憩を除く作業時間がa時間付近、あるいはそれ以上である場合に、元の階段関数との誤差が大きくなる。
【0078】
ここで、補正項Fは、休憩時間が0時間である場合には値が小さくなる。また、Qを十分に大きく設定することにより、補正項Fは、休憩時間がある時間以上である場合には値が大きくなるように設定される。したがって、アニーリングマシン4による計算過程においては、比較項Dを小さくする観点から、休憩を除く作業時間が0時間付近である場合には、K=1が、休憩を除く作業時間がある時間以上である場合には、K=0が、適切な値として自ずと選択される。このため、アニーリングマシン4による、比較項Dの計算の精度が向上する。
【0079】
<補記>
本実施例においては、数理モデルがレイバースケジューリングモデルである場合について説明した。しかしながら、これに限られず、本実施形態に係る計算方法は、数理モデルにおける制約条件を表す関係式が、1次式に近似できる場合には、適用することができる。この場合、上記関係式およびその近似式によって、上述した式(7)および式(8)における、m、n、P、Qの値を適切に設定することにより、比較項Dを適宜補正することができる。
【0080】
<ソフトウェアおよびプログラムによる実施例>
本実施形態に係る数理モデル定式化部16、補正部18、ハミルトニアン生成部20、およびQUBO行列生成部22は、計算装置2が備える集積回路、換言すれば、ICチップ等に形成された論理回路、換言すれば、ハードウェアによって実現してもよい。あるいは、数理モデル定式化部16、補正部18、ハミルトニアン生成部20、およびQUBO行列生成部22は、ソフトウェアによって実現してもよい。
【0081】
上記各部がソフトウェアである場合、アニーリングマシン4と通信可能な端末において、各部の機能を実現するソフトウェアであるプログラムの命令を実行してもよい。より具体的には、当該プログラムの命令を実行することにより、数理モデル定式化部16、補正部18、ハミルトニアン生成部20、およびQUBO行列生成部22における処理が実行されてもよい。この端末は、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶した端末読み取り可能な記録媒体を備えている。上記端末において、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本開示の目的が達成される。したがって、上記プログラムは、数理モデル定式化部16、補正部18、ハミルトニアン生成部20、およびQUBO行列生成部22における処理を実行する、計算プログラムとして機能する。
【0082】
上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。
【0083】
上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記端末に供給されてもよい。なお、本開示の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0084】
本開示は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、実施形態にそれぞれ開示された異なる技術的手段を適宜組み合わせて得られる実施形態についても本開示の技術的範囲に含まれる。
【符号の説明】
【0085】
2 計算装置
10 制御部
16 数理モデル定式化部
18 補正部
20 ハミルトニアン生成部
22 QUBO行列生成部
24 近似式生成部
26 誤差評価部
28 補助変数追加部
【要約】
【課題】制約条件式の比較項における近似式の近似の精度が低い場合であっても、アニーリングマシンによる計算の精度を向上させる。
【解決手段】計算方法は、補正工程(S6、S8)と、ハミルトニアン生成工程(S10)とを含む。補正工程においては、数理モデルにおける変数の関数と、該関数の近似式とに基づいて定式化した項を含む制約条件式に、関数と近似式との誤差に基づいて、補助変数を含む補正項を追加した、補正制約条件式を生成する。ハミルトニアン生成工程においては、数理モデルから得られる目的関数と、補正制約条件式とを含むハミルトニアンを生成する。
【選択図】図1
図1
図2
図3
図4
図5