(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024092146
(43)【公開日】2024-07-08
(54)【発明の名称】計算方法、計算システム、及びプログラム
(51)【国際特許分類】
G06N 99/00 20190101AFI20240701BHJP
【FI】
G06N99/00 180
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022207874
(22)【出願日】2022-12-26
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り https://jps2022a.gakkai-web.net/data/pdf/12pH112.pdf、令和4年9月1日 一般社団法人 日本物理学会 2022年秋季大会 国立大学法人東京工業大学(東京都目黒区大岡山2-12-1)、令和4年9月12日(開催期間:令和4年9月12日~令和4年9月15日)
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和元年度、国立研究開発法人科学技術振興機構、戦略的創造研究推進事業(CREST)「地理空間情報を自在に操るイジング計算機の新展開」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】899000068
【氏名又は名称】学校法人早稲田大学
(74)【代理人】
【識別番号】110002675
【氏名又は名称】弁理士法人ドライト国際特許事務所
(72)【発明者】
【氏名】戸川 望
(72)【発明者】
【氏名】白井 達彦
(57)【要約】
【課題】イジングマシンを用いて制約付き組合せ最適化問題を解く際に必要なスピン変数の個数を削減し、イジングマシンの性能を改善させる。
【解決手段】線形の等式制約のある組合せ最適化問題を複数のスピン変数で表されるイジングモデルで解くために、古典コンピュータ20は、複数のスピン変数のうち少なくとも1つを第1スピンとして選択し、第1スピン以外を第2スピンとして設定し、線形の等式制約に基づいて第1スピンを第2スピンの一次式で表すことで、目的関数項と制約項との和で与えられるイジングモデルのハミルトニアンを第2スピンの関数として定義し、イジングマシン30は、ハミルトニアンに対する最適解を計算する。古典コンピュータ20は、イジングマシン30で計算された最適解から、第2スピンの一次式に基づいて第1スピンの値を計算することによって、イジングモデルの最適解を計算する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
線形の等式制約のある組合せ最適化問題を複数のスピン変数で表されるイジングモデルで解くための計算方法であって、
古典コンピュータにより、
前記複数のスピン変数のうち少なくとも1つを第1スピンとして選択し、前記複数のスピン変数のうち前記第1スピン以外を第2スピンとして設定し、前記線形の等式制約に基づいて前記第1スピンを前記第2スピンの一次式で表すことで、目的関数項と制約項との和で与えられる前記イジングモデルのハミルトニアンを前記第2スピンの関数として定義し、
イジングマシンにより、
前記ハミルトニアンに対する最適解を計算し、
前記古典コンピュータにより、
前記イジングマシンで計算された最適解から、前記一次式に基づいて前記第1スピンの値を計算することによって、前記イジングモデルの最適解を計算する、計算方法。
【請求項2】
前記一次式における一次の項の係数及び定数項は整数である、請求項1に記載の計算方法。
【請求項3】
線形の等式制約のある組合せ最適化問題を複数のスピン変数で表されるイジングモデルで解くための計算システムであって、
前記複数のスピン変数のうち少なくとも1つを第1スピンとして選択し、前記複数のスピン変数のうち前記第1スピン以外を第2スピンとして設定し、前記線形の等式制約に基づいて前記第1スピンを前記第2スピンの一次式で表すことで、目的関数項と制約項との和で与えられる前記イジングモデルのハミルトニアンを前記第2スピンの関数として定義する古典コンピュータと、
前記ハミルトニアンに対する最適解を計算するイジングマシンと、
を備え、
前記古典コンピュータは、前記イジングマシンで計算された最適解から、前記一次式に基づいて前記第1スピンの値を計算することによって、前記イジングモデルの最適解を計算する、計算システム。
【請求項4】
線形の等式制約のある組合せ最適化問題を複数のスピン変数で表されるイジングモデルで解くための計算方法をイジングマシンと併用して古典コンピュータに実行させるためのプログラムであって、
前記複数のスピン変数のうち少なくとも1つを第1スピンとして選択し、前記複数のスピン変数のうち前記第1スピン以外を第2スピンとして設定し、前記線形の等式制約に基づいて前記第1スピンを前記第2スピンの一次式で表すことで、目的関数項と制約項との和で与えられる前記イジングモデルのハミルトニアンを前記第2スピンの関数として定義し、
前記イジングマシンで計算された前記ハミルトニアンに対する最適解から、前記一次式に基づいて前記第1スピンの値を計算することによって、前記イジングモデルの最適解を計算するプロセスを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、組合せ最適化問題を解くための計算方法、計算システム、及びプログラムに関する。
【背景技術】
【0002】
多数の組合せの中から最も良い組合せを選ぶ組合せ最適化問題をイジングモデル、又はイジングモデルと等価なquadratic unconstrained binary optimization(QUBO)モデルに変換し、イジングマシンを用いて求解する技術が知られている。組合せ最適化問題とは、与えられた制約のもとで目的関数を最小化又は最大化する変数の組合せを求める問題である。
【0003】
等式制約のある組合せ最適化問題をイジングモデルに変換する際、ハミルトニアンHは、スピンと呼ばれる変数(以下、スピン変数)を用いて目的関数Hoと制約項Hcの和で与えられる。従来、制約項Hcはペナルティ法を用いて与えられてきた。制約を満たすときHc=0となり、制約を満たす解を実行可能解と呼ぶ。ペナルティ法は、非実行可能解(制約を満たさない解)のエネルギーを増加させる。そのため、スピン配置空間において、エネルギーの小さな実行可能解がエネルギーの大きな非実行可能解によって分離される(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Andrew Lucas, “Ising formulations of many NP problems”, Frontiers in Physics, Volume 2, Article 5, 2014.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、ペナルティ法では、量子揺らぎや熱揺らぎが小さいとき、分離された実行可能解の間の遷移確率が小さくなるため、イジングマシンの性能が悪化するという課題がある。また、イジングマシンに入力可能なスピン変数の個数には上限があるため、イジングマシンを用いて大規模な組合せ最適化問題を解くことができないという課題がある。
【0006】
本発明は、上記課題に鑑みてなされたものであり、イジングマシンを用いて制約付き組合せ最適化問題を解く際に必要なスピン変数の個数を削減し、イジングマシンの性能を改善させる計算方法、計算システム、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る計算方法は、線形の等式制約のある組合せ最適化問題を複数のスピン変数で表されるイジングモデルで解くための計算方法であって、古典コンピュータにより、複数のスピン変数のうち少なくとも1つを第1スピンとして選択し、複数のスピン変数のうち第1スピン以外を第2スピンとして設定し、線形の等式制約に基づいて第1スピンを第2スピンの一次式で表すことで、目的関数項と制約項との和で与えられるイジングモデルのハミルトニアンを第2スピンの関数として定義し、イジングマシンにより、ハミルトニアンに対する最適解を計算する。古典コンピュータは、イジングマシンで計算された最適解から、一次式に基づいて第1スピンの値を計算することによって、イジングモデルの最適解を計算する。
【0008】
本発明に係る計算システムは、線形の等式制約のある組合せ最適化問題を複数のスピン変数で表されるイジングモデルで解くための計算システムであって、複数のスピン変数のうち少なくとも1つを第1スピンとして選択し、複数のスピン変数のうち第1スピン以外を第2スピンとして設定し、線形の等式制約に基づいて第1スピンを第2スピンの一次式で表すことで、目的関数項と制約項との和で与えられるイジングモデルのハミルトニアンを第2スピンの関数として定義する古典コンピュータと、ハミルトニアンに対する最適解を計算するイジングマシンと、を備える。古典コンピュータは、イジングマシンで計算された最適解から、一次式に基づいて第1スピンの値を計算することによって、イジングモデルの最適解を計算する。
【0009】
本発明に係るプログラムは、線形の等式制約のある組合せ最適化問題を複数のスピン変数で表されるイジングモデルで解くための計算方法をイジングマシンと併用して古典コンピュータに実行させるためのプログラムであって、複数のスピン変数のうち少なくとも1つを第1スピンとして選択し、複数のスピン変数のうち第1スピン以外を第2スピンとして設定し、線形の等式制約に基づいて第1スピンを第2スピンの一次式で表すことで、目的関数項と制約項との和で与えられるイジングモデルのハミルトニアンを第2スピンの関数として定義し、イジングマシンで計算されたハミルトニアンに対する最適解から、一次式に基づいて第1スピンの値を計算することによって、イジングモデルの最適解を計算するプロセスを実行させる。
【発明の効果】
【0010】
本発明によれば、線形の等式制約のある組合せ最適化問題を複数のスピン変数で表されるイジングモデルで解くために、古典コンピュータが、線形の等式制約に基づいてあるスピン変数を他のスピン変数の一次式で表すようにした。これにより、イジングマシンがイジングモデルの最適解を計算する際に必要なスピン変数を削減することができ、イジングマシンの性能を改善させることが可能となる。
【図面の簡単な説明】
【0011】
【
図2】ペナルティ法を用いて
図1のグラフ分割問題を解く場合の解のリストを表す模式図である。
【
図3】本実施形態に係るダークスピン法を用いて
図1のグラフ分割問題を解く場合の解のリストを表す模式図である。
【
図5】
図4の二次割当問題をスピン変数で表現した模式図である。
【
図6】
図5のスピン変数におけるダークスピンを説明するための模式図である。
【
図7】ダークスピン法が適用できない例を説明するための模式図である。
【
図8】本実施形態に係る計算システムの構成を示すブロック図である。
【
図9】
図8に示す古典コンピュータのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明の実施形態を説明する。本実施形態では、線形の等式制約のある組合せ最適化問題をQUBOモデルに変換して解くものとする。QUBOモデルとは、イジングモデルを0と1の二値をとるスピン変数の二次式のエネルギー関数で表したものである。
【0013】
まず、線形の等式制約のある組合せ最適化問題の例として、グラフ分割問題を挙げる。グラフ分割問題は、偶数個の頂点の集合Vと辺集合Eを有するグラフが与えられ、頂点集合Vを等しいサイズの2つの部分集合に分割するとき、2つの部分集合を結ぶ辺の数(カット数)が最小になるように分割するものである。グラフ分割問題はNP困難な問題である。
【0014】
グラフの各頂点i∈Vに対してスピン変数xiを定義し、頂点iが第1部分集合に属するときxi=1、頂点iが第2部分集合に属するときxi=0と設定する。
【0015】
図1に、グラフ分割問題の一例を示す。
図1のグラフは、4つの頂点i∈Vを有し、頂点1と頂点2、頂点2と頂点3、頂点3と頂点4が、それぞれ辺で結合されている。
図1のグラフでは、頂点集合Vを頂点2と頂点3とを結ぶ辺で分割したとき(
図1の点線)、カット数が最小となる。
【0016】
図1のグラフ分割問題を従来のペナルティ法によって解く際、4つのスピン変数x
iのうちの2つがx
i=1という制約を与える。ハミルトニアンHをH=Ho+AHc(Hoは目的関数、Hcは制約項、Aは制約係数)と表記すると、Hcは式(1)のように与えられ、カット数を表すHoは式(2)のように与えられる。式(1)のHcは、制約を満たすとき、最小値0をとる。
【数1】
【数2】
【0017】
式(1)及び式(2)に示すように、
図1のグラフ分割問題をペナルティ法によって解くには、4つ(全て)のスピン変数x
iが必要となる。よって、
図2に示すように、全部で2
4=16通りのスピン変数の組合せが存在する。そのうち、制約を満たす実行可能解は6つ(グレー領域)であり、実行可能解のうちエネルギーが最小となる最適解は2つ(太枠)である。
図2では、A=10(すなわち、H=Ho+10Hc)であるときのエネルギー値を示している。
【0018】
次に、線形の等式制約のある組合せ最適化問題を本実施形態に係る計算方法(以下、ダークスピン法と呼ぶ。)を用いて解く手法について説明する。ダークスピン法は、変数消去法に基づいており、全てのスピン変数のうち少なくとも1つをダークスピン(第1スピン)として選択し、ダークスピン以外のスピン変数をブライトスピン(第2スピン)として設定し、線形の等式制約が与えるスピン変数間の関係式に基づいて、ダークスピンをブライトスピンの一次式で表す。一次独立な等式制約の数とダークスピン候補の数は等しく、1つの等式制約により、1つのダークスピンを消去することができる。よって、等式制約が増えると、ダークスピン候補の数も増える。ダークスピンは、全てのスピン変数の中から任意に選択することができる。
【0019】
ダークスピン法でのハミルトニアンをHdark=Ho′+AHc′と表記する。ここで、Ho′は目的関数、Hc′は制約項、Aは制約係数である。
【0020】
図1のグラフ分割問題をダークスピン法で解く際、4つのスピン変数x
iのうち任意の1つをダークスピンとして選択し、線形の等式制約により、このダークスピンを他の3つのスピン変数(ブライトスピン)の一次式で表す。例えば、x
1をダークスピンとすると、4つのスピン変数x
iのうちの2つがx
i=1という線形の等式制約により、ダークスピンは、x
1=2-x
2-x
3-x
4と表される。
【0021】
ここで、ダークスピンx
1∈{0、1}であるため、ブライトスピンに対してx
2+x
3+x
4∈{1、2}という制約を課す。これにより、制約項Hc′は式(3)のように与えられる。式(3)のHc′は、制約を満たすとき、最小値0をとる。
【数3】
【0022】
式(2)のHoからダークスピンx
1を消去すると、目的関数Ho′は式(4)のように与えられる。
【数4】
【0023】
式(3)及び式(4)に示すように、ダークスピン法を用いると、
図1のグラフ分割問題を3つのスピン変数x
i(ブライトスピン)で定式化することができる。よって、
図3に示すように、全部で2
3=8通りのブライトスピンの組合せが存在し、そのうち実行可能解は6つ(グレー領域)であり、実行可能解のうち最適解は2つ(太枠)である。
図3では、A=10(すなわち、H
dark=Ho′+10Hc′)であるときのエネルギー値を示している。
【0024】
このように、ダークスピン法は、ペナルティ法に比べてスピン変数の個数を削減することができるため、非実行可能解の割合を減少させ、実行可能解の割合を増加させることができる。よって、イジングマシンは、効率的に最適解を探索することができ、性能を改善させることができる。
【0025】
次に、線形の等式制約のある組合せ最適化問題の別の例として、二次割当問題を挙げる。二次割当問題は、n個の施設とn個の地区があり、施設間の輸送量、地区間の距離が与えられたとき、輸送量と距離との積の総和である総輸送コストを最小にするように、複数の施設を異なる地区に割り当てるものである。二次割当問題もNP困難な問題である。
【0026】
図4に、二次割当問題の一例として、3つの施設(1、2、3)と3つの地区(a、b、c)を示している。
図5は、
図4の二次割当問題をスピン変数x
ikで表したものである。
図5に示すように、二次割当問題のスピン変数は行列で表され、x
ik=1は、地区kに施設iが配置されていることを示し、x
ik=0は、地区kに施設iが配置されていないことを示す。以下では、3つの地区(a、b、c)も(1、2、3)と表記する。
【0027】
図4の二次割当問題を従来のペナルティ法によって解く際、i行のスピン変数x
ikのうち1つのみがx
ik=1という制約1と、k列のスピン変数x
ikのうち1つのみがx
ik=1という制約2を与える。制約1に対応する制約項Hc
(1)は式(5)で表され、制約2に対応する制約項Hc
(2)は式(6)で表される。
【数5】
【数6】
【0028】
ハミルトニアンをH=Ho+A(Hc
(1)+Hc
(2))と表記すると(Hoは目的関数、Aは制約係数)、総輸送コストCを表す目的関数Hoは、式(7)のように全てのスピン変数の関数として表すことができる。
【数7】
【0029】
式(5)~式(7)に示すように、
図4の二次割当問題をペナルティ法によって解くには、
図5に示す全てのスピン変数が必要となる。
【0030】
一方、
図4の二次割当問題をダークスピン法によって解く場合、上述の制約1及び制約2(6つの線形の等式制約)から、ダークスピンをブライトスピンの一次式で表すことができる。例えば、制約1ではx
i1(i=1、2、3)をダークスピンとして選択し、制約2ではx
1k(k=1、2、3)をダークスピンとして選択する。ここで、x
11(i=k=1)は制約1と制約2の双方に関わるため、実質的にダークスピンの数は5つとなる。この場合、
図6の網掛け領域のスピン変数がダークスピンとなり、式(8)のように与えられる。
【数8】
【0031】
ここで、式(8)においてダークスピンx
i1∈{0、1}であるため、ブライトスピンx
i2、x
i3に対してx
i2+x
i3∈{0、1}という制約を課す。これにより、式(9)に示す制約項Hc′
(1)を与えることができる。式(9)のHc′
(1)は、制約を満たすとき、最小値0をとる。
【数9】
【0032】
さらに、式(8)においてダークスピンx
1k∈{0、1}であるため、ブライトスピンx
2k、x
3kに対してx
2k+x
3k∈{0、1}という制約を課す。これにより、式(10)に示す制約項Hc′
(2)を与えることができる。式(10)のHc′
(2)は、制約を満たすとき、最小値0をとる。
【数10】
【0033】
さらに、式(8)においてダークスピンx
11∈{0、1}であるため、ブライトスピンx
22、x
23、x
32、x
33に対してx
22+x
23+x
32+x
33∈{1、2}という制約を課す。これにより、式(11)に示す制約項Hc′
(3)を与えることができる。式(11)のHc′
(3)は、制約を満たすとき、最小値0をとる。
【数11】
【0034】
ハミルトニアンH
darkをH
dark=Ho′+A(Hc′
(1)+Hc′
(2)+Hc′
(3))と定義すると(Ho′は目的関数、Aは制約係数)、総輸送コストC′を表すHo′は、式(12)のように4つのブライトスピンの関数として表すことができる。
【数12】
【0035】
式(9)~式(12)に示すように、ダークスピン法では、
図4の二次割当問題を4つのスピン変数x
ik(ブライトスピン)で定式化することができる。ダークスピン法は、ペナルティ法に比べてスピン変数の個数を大幅に削減することができることから、非実行可能解の割合を減少させ、実行可能解の割合を増加させることができる。これにより、イジングマシンは効率的に最適解を探索することができ、性能を改善させることができる。
【0036】
本実施形態のダークスピン法は、グラフ分割問題、二次割当問題以外の組合せ最適化問題にも適用可能であり、以下のように一般化することができる。i∈V(i=1、2、…)に対してスピン変数x
i∈{0、1}を定義し、線形の等式制約の集合をMと表記する。式(13)のように与えられるk番目の等式制約C
k({x
i}
i∈V)=0のもとで目的関数Q({x
i}
i∈V)を最小にする組合せ最適化問題を考える。
【数13】
【0037】
スピン変数の集合Vのうち、ダークスピンの集合をV
2、ブライトスピンの集合をV
1=V-V
2と定義し、等式制約の集合Mのうち、スピン変数の削減とともに消去する等式制約の集合をM
2、M
2の補集合をM
1=M-M
2と定義する。k∈M
2に対する等式制約C
k({x
i}
i∈V)=0から、ダークスピンx
i(i∈V
2)は、式(14)のようにブライトスピンの一次式で表される。
【数14】
【0038】
次に、目的関数と等式制約をブライトスピンの関数として再定義する。目的関数Q({x
i}
i∈V)と等式制約C
k({x
i}
i∈V)においてダークスピンx
iを式(14)のR
i({x
j}
j∈V1)に置き換えると、それぞれ、式(15)及び式(16)で与えられる新たな目的関数Q′({x
i}
i∈V1)及び等式制約C
k′({x
i}
i∈V1)を得ることができる。
【数15】
【数16】
【0039】
式(14)~式(16)から、ブライトスピンの関数としてのハミルトニアンを定義することができる。ハミルトニアンH
dark({x
i}
i∈V1)は、十分大きな実数λ及びτに対し、式(17)のように与えられ、組合せ最適化問題は、H
dark({x
i}
i∈V1)を最小にする問題に定式化される。
【数17】
【0040】
ここで、ダークスピン法で最適解を得るためには、ダークスピンx
iをブライトスピンx
jの一次式で表すとき(式(14))、以下に示すように定数項a
0,iと一次の項の係数a
j,iとが整数である必要がある(ダークスピン条件(18))。
【数18】
【0041】
式(17)で定義されたHdarkの基底状態を得るためには、十分大きなλに対し、右辺第2項がゼロとなり、十分大きなτに対し、右辺第3項が最小値をとる必要がある。ダークスピン条件(18)を充足していれば、式(14)のRi({xj}j∈V1)の範囲が整数に限定される。Ri({xj}j∈V1)が整数であれば、式(17)の右辺第3項の最小値はゼロとなり、Ri({xj}j∈V1)∈{0、1}と一致する。よって、組合せ最適化問題は、式(17)の右辺第1項Q′({xi}i∈V1)が最小となるブライトスピンの組合せを探す問題に帰着する。
【0042】
ダークスピン条件(18)を充足していない場合にダークスピン法を適用できないことを示すため、例として、3つのスピン変数x
1、x
2、x
3∈{0、1}に対し、制約x
1+x
2+2x
3-2=0のもとでx
1を最小にする組合せ最適化問題を考える。x
3をダークスピンとして選択すると、制約に基づいてx
3は式(19)のように表される。式(19)より、ブライトスピンx
1、x
2の係数は整数ではないため、ダークスピン条件(18)を満たしていない。
【数19】
【0043】
x
3∈{0、1}であるため、x
1+x
2∈{0、2}になる必要がある。よって、式(17)より、ハミルトニアンH
darkは式(20)のように与えられる。
【数20】
【0044】
この場合、
図7に示すように、全部で2
2=4通りのブライトスピン(x
1、x
2)の組合せが存在する。τ=4とすると、H
darkは、(x
1、x
2)=(0、1)のときに最小値-1をとる(太枠)。しかし、最小値でダークスピンx
3は1/2となってしまい、x
3∈{0、1}と矛盾する。よって、x
3をダークスピンに設定すると、組合せ最適化問題をQUBOモデルに定式化することができず、最適解ではない解が基底解を与えてしまう。
【0045】
一方、x1又はx2をダークスピンとして選択すれば、ブライトスピンの一次の項の係数と定数項は全て整数となり、最小のエネルギー値は0となり、最適解(x1、x2、x3)=(0、0、1)を得ることができる。
【0046】
<計算システム>
次に、本実施形態の計算方法(ダークスピン法)を実行する計算システムの構成について説明する。
図8に示すように、本実施形態の計算システム10は、古典コンピュータ20と、古典コンピュータ20に接続されたイジングマシン30とを備える。
【0047】
線形の等式制約のある組合せ最適化問題を扱う際、古典コンピュータ20は、ダークスピン法を実行してスピン変数を削減し、残りのスピン変数(ブライトスピン)をイジングマシン30に入力させる。イジングマシン30は、ブライトスピンで表されるハミルトニアンHdarkの最小値を与える最適解を求める。
【0048】
古典コンピュータ20は、パーソナルコンピュータなどのフォンノイマン型のコンピュータである。イジングマシン30は、D-Wave 2000Qマシン、CMOSアニーリングマシン、デジタルアニーラ(登録商標)などの公知のイジングマシンである。
【0049】
図9に示すように、古典コンピュータ20は、プロセッサ202と、メモリ204と、記憶装置206と、入力部208と、ディスプレイ210と、I/F212とを備え、これらのデバイスはバスを介して接続される。
【0050】
プロセッサ202は、Central Processing Unit(CPU)等を有し、メモリ204及び記憶装置206に格納されたプログラムに従って各種の処理を実行する。プロセッサ202は、上述のダークスピン法を実行する。
【0051】
なお、プロセッサ202として、CPU等の汎用コンピュータの代わりに、本実施形態の計算方法を実行するためのApplication Specific Integrated Circuits(ASIC)、Field Programmable Gate Array(FPGA)等の専用コンピュータを採用してもよい。
【0052】
メモリ204は、Read Only Memory(ROM)及びRandom Access Memory(RAM)を有する。ROMは、BIOS等のブートプログラムを格納している。プロセッサ202が、ROMに格納されたプログラム又は記憶装置206に格納されたプログラムを読み出す際、これらのプログラムはRAMにロードされる。
【0053】
記憶装置206は、非一時的なコンピュータ読み取り可能な記憶媒体を有し、本実施形態の計算方法をイジングマシン30と併用してプロセッサ202に実行させるためのプログラムと、プログラムの実行に必要なデータ等を格納している。コンピュータ読み取り可能な記憶媒体として、Hard Disk Drive(HDD)、Solid State Drive(SSD)、光ディスク等が挙げられる。
【0054】
なお、プロセッサ202によって実行されるプログラムを、ネットワークを介して接続された他のコンピュータに格納し、プロセッサ202が、他のコンピュータからI/F212を介してプログラムを読み出すようにしてもよい。
【0055】
入力部208は、マウス、キーボード等の入力デバイスを有する。ディスプレイ210は、Liquid Crystal Display(LCD)等のディスプレイであり、プロセッサ202により実行された処理の結果を表示する。
【0056】
I/F212は、古典コンピュータ20をLocal Area Network(LAN)、Wide Area Network(WAN)、及び/又はインターネット等のネットワークに接続するためのインターフェースである。
【0057】
本実施形態に係る計算方法において、古典コンピュータ20は、線形の等式制約のある組合せ最適化問題を複数のスピン変数で表されるイジングモデルで解くための前処理としてダークスピン法を実行する。ダークスピン法において、古典コンピュータ20は、複数のスピン変数のうち少なくとも1つをダークスピンとして選択し、ダークスピン以外のスピン変数をブライトスピンとして設定し、線形の等式制約に基づいて、ダークスピンをブライトスピンの一次式で表すことで、ブライトスピンの関数としてのハミルトニアンHdarkを定義する。イジングマシン30は、Hdarkが最小となる最適解を計算する。古典コンピュータ20は、Hdarkに対する最適解から、ブライトスピンの一次式に基づいてダークスピンの値を計算することによって、イジングモデルの最適解を計算する。
【0058】
このように、いったん古典コンピュータ20がダークスピン法によってスピン変数を削減すれば、古典コンピュータ20とイジングマシン30との間で何度もやり取りをすることなく、イジングモデルの最適解を求めることができる。
【0059】
次に、実際にイジングマシンを用いてペナルティ法とダークスピン法との性能の比較をした実施例1及び実施例2について説明する。実施例1ではグラフ分割問題を対象とし、実施例2では二次割当問題を対象とする。イジングマシンとして、シミュレーテッド・アニーリング(SA)ベースのイジングマシンと、量子アニーリング(QA)ベースのイジングマシンとを用いる。
【実施例0060】
グラフ分割問題として辺密度0.5のグラフを10問作成し、SAベースのイジングマシンで10回実行した結果を表1に示し、QAベースのイジングマシンで1000回実行した結果を表2に示す。表1及び表2において、|V|は頂点の数、Nsはイジングマシンに入力されたスピン変数の数、Eaveは得られた実行可能解でのカット数の平均値、FS rateは実行回数に対して得られた実行可能解(FS)の割合の平均値を表す。
【0061】
【0062】
表1より、ダークスピン法はペナルティ法に比べてカット数が削減されていることがわかる。また、表2より、ダークスピン法はペナルティ法に比べてFS rateが改善されていることがわかる。
Quadratic Assignment Problem Library(QAPLIB;以下のURL参照)からベンチマーク問題を選択し、SAベースのイジングマシンで10回実行した結果を表3に示し、QAベースのイジングマシンで1000回実行した結果を表4に示す。表3及び表4において、Nfは施設の数、Caveは得られた実行可能解でのコスト関数(総輸送コスト)の平均値を表している。コスト関数の値が小さいほど性能が良いことを示している。
https://www.opt.math.tugraz.at/qaplib/
表3より、ダークスピン法はペナルティ法に比べて総輸送コストが削減されていることがわかる。また、表4より、ダークスピン法はペナルティ法に比べてFS rateが改善されていることがわかる。
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の変更が可能であり、当業者によってなされる他の実施形態、変形例も本発明に含まれる。