IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 日本電信電話株式会社の特許一覧 ▶ 学校法人早稲田大学の特許一覧

特開2023-132590組合せ最適化装置、組合せ最適化方法、およびプログラム
<>
  • 特開-組合せ最適化装置、組合せ最適化方法、およびプログラム 図1
  • 特開-組合せ最適化装置、組合せ最適化方法、およびプログラム 図2
  • 特開-組合せ最適化装置、組合せ最適化方法、およびプログラム 図3
  • 特開-組合せ最適化装置、組合せ最適化方法、およびプログラム 図4
  • 特開-組合せ最適化装置、組合せ最適化方法、およびプログラム 図5
  • 特開-組合せ最適化装置、組合せ最適化方法、およびプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023132590
(43)【公開日】2023-09-22
(54)【発明の名称】組合せ最適化装置、組合せ最適化方法、およびプログラム
(51)【国際特許分類】
   G06N 99/00 20190101AFI20230914BHJP
【FI】
G06N99/00 180
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022038002
(22)【出願日】2022-03-11
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】899000068
【氏名又は名称】学校法人早稲田大学
(74)【代理人】
【識別番号】100121706
【弁理士】
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【弁理士】
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【弁理士】
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】巴 徳瑪
(72)【発明者】
【氏名】新井 淳也
(72)【発明者】
【氏名】八木 哲志
(72)【発明者】
【氏名】寺本 純司
(72)【発明者】
【氏名】川上 蒼馬
(72)【発明者】
【氏名】武笠 陽介
(72)【発明者】
【氏名】鮑 思雅
(72)【発明者】
【氏名】戸川 望
(57)【要約】      (修正有)
【課題】従来よりも制約条件の多い産業上の割当問題を解くことが可能な組合せ最適化装置、組合せ最適化方法およびプログラムを提供する。
【解決手段】組合せ最適化装置は、集合V,E,Sを用い、複数の変数qi,cについてのエネルギー関数H=αH+βH+γH+δH+εHobjを得、エネルギー関数Hが最小となる変数qi,cの値を得、これにより複数の対象vに複数の要素sを割り当てる。Hは対象vのそれぞれに要素sのそれぞれが1個ずつ割り当てられたときに最小となり、Hは、組(v,v)のvおよびvに互いに異なる要素sが割り当てられたときに最小となり、Hは特定の対象v∈Vに特定の要素sが割り当てられたときに最小となり、Hは特定の要素sが予め定められた回数L以下しか割り当てられないときに最小となり、Hobjは割り当てられない要素s∈Sの個数が最大のときに最小となる。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数の対象vに複数の要素sを割り当てる組合せ最適化装置であって、
Vが前記対象vの集合であり、Eが前記集合Vに含まれた特定の対象の組(v,v)の集合であり、Sが前記要素sの集合であり、qi,cが前記対象vへの前記要素sの割り当てを表す変数であり、
前記集合V,E,Sを用い、複数の変数qi,cについてのエネルギー関数H=αH+βH+γH+δH+εHobjを得るエネルギー関数生成部と、
前記エネルギー関数Hが最小となる前記変数qi,cの値を得る組合せ最適化部と、を有し、
が、前記対象v∈Vのそれぞれに前記要素s∈Sのそれぞれが1個ずつ割り当てられたときに最小となる関数であり、
が、前記組(v,v)∈Eのvおよびvに互いに異なる前記要素s∈Sが割り当てられたときに最小となる関数であり、
が、予め定められた特定の対象v∈Vに予め定められた特定の要素s∈Sが割り当てられたときに最小となる関数であり、
が、予め定められた特定の要素s∈Sが予め定められた回数L以下しか割り当てられないときに最小となる関数であり、
objが、割り当てられない要素s∈Sの個数が最大のときに最小となる関数であり、
αおよびβが正の実数係数であり、γ,δ,εが0以上の実数係数であり、γ,δ,εの少なくとも何れかが正である、
組合せ最適化装置。
【請求項2】
請求項1の組合せ最適化装置であって、
γが正である、組合せ最適化装置。
【請求項3】
請求項1または2の組合せ最適化装置であって、
δが正である、組合せ最適化装置。
【請求項4】
請求項1から3の何れかの組合せ最適化装置であって、
εが正である、組合せ最適化装置。
【請求項5】
請求項1の組合せ最適化装置であって、
γ,δ,εが正である、組合せ最適化装置。
【請求項6】
請求項1から5の何れかの組合せ最適化装置であって、
Nが前記集合Vに含まれた前記対象vの個数を表す正整数であり、i∈{0,…,N-1}であり、
Cが前記集合Sに含まれた前記要素sの個数を表す正整数であり、c∈{0,…,C-1}であり、
Fが前記集合Eに含まれた前記組(v,v)に対応する(i,j)の集合であり、j∈{0,…,N-1}であり、
Aが前記予め定められた特定の対象v∈Vおよび前記予め定められた特定の要素s∈Sに対応する(k,d)の集合であり、k∈{0,…,N-1}であり、d∈{0,…,C-1}であり、
Bが前記予め定められた特定の要素s∈Sに対応するfの集合であり、Lが前記予め定められた回数を表す正整数であり、f∈{0,…,C-1}であり、n=0,…,L-1であり、
前記変数qi,cは、前記対象vに前記要素sを割り当てるときにqi,c=1を満たし、前記対象vに前記要素sを割り当てない場合にqi,c=0を満たし、
f,n∈{0,1}およびx∈{0,1}が変数であり、
【数18】

【数19】

【数20】

【数21】

【数22】

である、組合せ最適化装置。
【請求項7】
複数の対象vに複数の要素sを割り当てる組合せ最適化方法であって、
Vが前記対象vの集合であり、Eが前記集合Vに含まれた特定の対象の組(v,v)の集合であり、Sが前記要素sの集合であり、qi,cが前記対象vへの前記要素sの割り当てを表す変数であり、
エネルギー関数生成部において、前記集合V,E,Sを用い、複数の変数qi,cについてのエネルギー関数H=αH+βH+γH+δH+εHobjを得るエネルギー関数生成ステップと、
組合せ最適化部において、前記エネルギー関数Hが最小となる前記変数qi,cの値を得る組合せ最適化部と、を有し、
が、前記対象v∈Vのそれぞれに前記要素s∈Sのそれぞれが1個ずつ割り当てられたときに最小となる関数であり、
が、前記組(v,v)∈Eのvおよびvに互いに異なる前記要素s∈Sが割り当てられたときに最小となる関数であり、
が、予め定められた特定の対象v∈Vに予め定められた特定の要素s∈Sが割り当てられたときに最小となる関数であり、
が、予め定められた特定の要素s∈Sが予め定められた回数L以下しか割り当てられないときに最小となる関数であり、
objが、割り当てられない要素s∈Sの個数が最大のときに最小となる関数であり、
αおよびβが正の実数係数であり、γ,δ,εが0以上の実数係数であり、γ,δ,εの少なくとも何れかが正である、
組合せ最適化方法。
【請求項8】
請求項1から6の何れかの組合せ最適化装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、組合せ最適化問題を解く技術に関し、特に、割当問題を解く技術に関する。
【背景技術】
【0002】
グラフ彩色問題は組合せ最適化問題の一つである。グラフ彩色とは、ある制約条件のもとでグラフの要素に色を割り当てることである。従来の制約条件として、例えば「1つの頂点に割り当てる色は、必ず1つである」「隣接する頂点の色は、必ず異なる色である」などを例示できる。
【0003】
グラフ彩色問題は、ラウンドロビンスケジューリングや周波数割り当てなどの産業上の割当問題に応用可能である(例えば、非特許文献1等参照)。また、量子アニーリングマシンやイジングマシンを用いてグラフ彩色問題などの割当問題を解く方法が知られている(例えば、非特許文献2等参照)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】S. Ahmed, “Applications of Graph Coloring in Modern Computer Science”, IJCIT , vol. 3, no. 2, 2012.
【非特許文献2】Lucas, Andrew. "Ising formulations of many NP problems." Frontiers in Physics 2 (2014): 5.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来のグラフ彩色問題の制約条件だけでは、産業上の割当問題に対応できない場合がある。例えば、周波数割り当てでは、割り当て可能な周波数が予め定められているとか、割り当てる周波数の使用回数に上限があるとか、割り当て可能な周波数帯域が未定であってなるべく少ない周波数で割り当て行う必要があるなどの制約条件が必要な場合がある。
【0006】
本発明はこのような点に鑑みてなされたものであり、従来よりも制約条件の多い産業上の割当問題を解く技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明では、組合せ最適化装置は、集合V,E,Sを用い、複数の変数qi,cについてのエネルギー関数H=αH+βH+γH+δH+εHobjを得、エネルギー関数Hが最小となる変数qi,cの値を得、これにより複数の対象vに複数の要素sを割り当てる。ここで、Vは対象vの集合であり、Eは集合Vに含まれた特定の対象の組(v,v)の集合であり、Sは要素sの集合であり、qi,cが対象vへの要素sの割り当てを表す変数である。Hは、対象v∈Vのそれぞれに要素s∈Sのそれぞれが1個ずつ割り当てられたときに最小となる関数である。Hは、組(v,v)∈Eのvおよびvに互いに異なる要素s∈Sが割り当てられたときに最小となる関数である。Hは、予め定められた特定の対象v∈Vに予め定められた特定の要素s∈Sが割り当てられたときに最小となる関数である、Hは、予め定められた特定の要素s∈Sが予め定められた回数L以下しか割り当てられないときに最小となる関数である。Hobjは、割り当てられない要素s∈Sの個数が最大のときに最小となる関数である。αおよびβが正の実数係数であり、γ,δ,εが0以上の実数係数であり、γ,δ,εの少なくとも何れかが正である。
【発明の効果】
【0008】
本発明では、従来よりも制約条件の多い産業上の割当問題を解くことができる。
【図面の簡単な説明】
【0009】
図1図1は、実施形態の組合せ最適化装置の機能構成を例示するためのブロック図である。
図2図2は、変数qi,cを用いた対象への要素の割り当てを例示するための表である。
図3図3は、グラフを例示するための概念図である。
図4図4Aは、割当問題を例示するためのグラフの概念図である。図4Bは、図3Aのグラフで例示された割り当て問題の解を例示するためのグラフの概念図である。
図5図5Aは、割当問題を例示するためのグラフの概念図である。図5Bは、図3Aのグラフで例示された割り当て問題の解を例示するためのグラフの概念図である。
図6図6は、処理部のハードウェア構成を例示するための概念図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施形態を説明する。
[原理]
まず原理を説明する。
<産業上の割当問題>
グラフ彩色問題とは、与えられた制約条件をすべて満たすように、与えられたグラフG=(V,E)のすべての頂点に色を割り当てる問題である。ここでVはグラフGの頂点の集合を表し、Eは予め定められた頂点の組(すなわち、辺)の集合を表す。
【0011】
このグラフ彩色問題は、産業上の割当問題に一般化できる。すなわち、産業上の割当問題は、与えられた制約条件をすべて満たすように、複数の対象v∈Vに複数の要素s∈Sを割り当てる問題である。例えば、産業上の割当問題は、与えられた制約条件をすべて満たすように、与えられたすべての対象v∈Vに要素s∈Sを割り当てる問題である。Vは対象vの集合を表し、V={v,…,vN-1}である。i∈{0,…,N-1}であり、Nは集合Vに含まれた対象vの個数を表す正整数である。例えば、Nは2以上の正整数である。対象vはグラフ彩色問題におけるグラフGの頂点に対応する。Eは集合V={v,…,vN-1}に含まれた特定の対象の組(v,v)の集合を表す。v∈{v,…,vN-1}であり、v∈{v,…,vN-1}であり、v≠vである。対象の組(v,v)は、集合V={v,…,vN-1}から選択可能なすべての対象の組であってもよいし、それらの一部の対象の組であってもよい。対象の組(v,v)はグラフ彩色問題における辺に対応する。S={s,…,sC-1}は対象に割り当てられる要素sの集合を表す。c∈{0,…,C-1}であり、Cは集合Sに含まれた要素sの個数を表す正整数である。例えば、Cは2以上の正整数である。要素sはグラフ彩色問題における色に対応する。また、要素sの割り当てはグラフ彩色問題における彩色に対応する。例えば、産業上の割当問題がラウンドロビンスケジューリングである場合、対象vは各時間区間でのプロセッサに相当し、要素sは実行可能状態にあるプロセスに相当する。例えば、産業上の割当問題が周波数割り当てある場合、対象vは周波数が割り当てられる用途に相当し、要素sは割り当て可能な周波数(周波数帯域)に相当する。ただし、これらは一例であって、産業上の割当問題はこれらに限定されるものではない。
【0012】
上述のような産業上の割当問題について、対象vへの要素sの割り当てを表す変数をqi,cと表現する。例えば、変数qi,cは真値1または偽値0をとるバイナリ変数qi,c∈{0,1}であり、対象vに要素sを割り当てる場合にqi,c=1を満たし、対象vに要素sを割り当てない場合にqi,c=0を満たす。
【数1】

図2に、N=5,C=4の場合における、バイナリ変数qi,c∈{0,1}を用いた対象v∈Vへの要素s∈Sの割り当てを例示する。
【0013】
<制約条件および目的関数>
以下に本実施形態の産業上の割当問題の制約条件および目的関数を例示する。
<制約条件1>
制約条件1は、1つの対象v∈Vに割り当てる要素s∈Sは必ず1つであるという制約条件である。制約条件1は、バイナリ変数qi,c∈{0,1}を用いて式(1)のように定式化できる。
【数2】

また、式(1)が成り立つことは、式(2)に示す関数Hが最小値0をとることと等価である。
【数3】

すなわち、Hは、対象v∈Vのそれぞれに要素s∈Sのそれぞれが1個ずつ割り当てられたときに最小となる関数である。
【0014】
<制約条件2>
制約条件2は、対象の組(v,v)∈E(隣接する対象)には、必ず互いに異なる要素s∈Sが割り当てられるという制約条件である。制約条件2は、バイナリ変数qi,c∈{0,1}およびqj,c∈{0,1}を用いて式(3)のように定式化できる。
【数4】

ここで、Fは集合Eに含まれた組(v,v)に対応する(i,j)の集合であり、i∈{0,…,N-1}であり、j∈{0,…,N-1}であり、i≠jである。制約条件2は(4)に示す関数Hが最小値0をとることと等価である。
【数5】

すなわち、Hは、組(v,v)∈Eのvおよびvに互いに異なる要素s∈Sが割り当てられたときに最小となる関数である。
【0015】
<制約条件3>
制約条件3は、予め定められた特定の対象v∈Vに予め定められた特定の要素s∈Sを必ず割り当てるという制約条件である。制約条件3は、バイナリ変数qk,d∈{0,1}を用いて式(5)のように定式化できる。
∀(k,d)∈A,qk,d=1 (5)
ここで、Aは当該予め定められた特定の対象v∈Vおよび当該予め定められた特定の要素s∈Sに対応する(k,d)の集合であり、k∈{0,…,N-1}であり、d∈{0,…,C-1}である。いずれの対象v∈Vにも予め特定の要素s∈Sが割り当てられていない場合にはAは空集合である。また、式(5)が成り立つことは、式(6)に示す関数Hが最小値0をとることと等価である。
【数6】

すなわちHは、予め定められた特定の対象v∈Vに予め定められた特定の要素s∈Sが割り当てられたときに最小となる関数である。
【0016】
<制約条件4>
制約条件4は、予め定められた特定の要素s∈Sが予め定められた回数L以下しか割り当てられないという制約条件である。制約条件4は、バイナリ変数qi,f∈{0,1}を用いて式(7)のように定式化できる。
【数7】

ここで、Bは当該予め定められた特定の要素s∈Sに対応するfの集合であり、Lは当該予め定められた回数を表す正整数であり、f∈{0,…,C-1}である。ここで、式(7)による不等式制約を等式制約に変換するために、変数yf,n∈{0,1}(バイナリ変数)を導入する。またn=0,…,L-1である。式(7)を満たすことは,式(8)を満たすような変数yf,nの組合せが存在することと等価である。
【数8】

すなわちHは、予め定められた特定の要素s∈Sが予め定められた回数L以下しか割り当てられないときに最小値0となる関数である。
【0017】
<目的関数>
目的関数は、できるだけ少ない要素s∈Sを割り当てるという制約条件である。これは、割り当てられない要素s∈Sの個数mを最大にする制約条件と言い換えることができ、式(9)のような目的関数で表現できる。
obj=-m (9)
この目的関数は、バイナリ変数qi,c∈{0,1}を用いて以下のように定式化できる。
【数9】

ここで、xは変数x∈{0,1}(バイナリ変数)である。
【0018】
<エネルギー関数>
エネルギー関数Hを以下の式(11)のように定義する。
H=αH+βH+γH+δH+εHobj (11)
ここで、エネルギー関数Hは複数の変数qi,cについての関数であり、例えば複数の変数qi,c,x,yf,nについての関数である。αおよびβは正の実数係数(ハイパーパラメータ、ペナルティ係数)であり、γ,δ,εは0以上の実数係数(ハイパーパラメータ、ペナルティ係数)であり、γ,δ,εの少なくとも何れかが正である。例えば、γが正であってもよいし、δが正であってもよいし、εが正であってもよい。γが正でδ,εが0であってもよいし、δが正でγ,εが0であってもよいし、εが正でδ,γが0であってもよいし、γ,δ,εのうち2個が正で他の1個が0であってもよいし、γ,δ,εが全て正であってもよい。正の実数係数は、例えば1であってもよいし、1以外の値であってもよい。エネルギー関数Hを最小にする複数の変数qi,c(ただし、i∈{0,…,N-1},c∈{0,…,C-1})が各制約条件を満たす割り当てを表す。すなわち、エネルギー関数Hを最小にする複数の変数qi,cが割当問題の解を表す。ここで実数係数α,β,γ,δ,εのうち、正の実数係数が掛け合わされている関数に対応する制約条件のみが当該割当問題で考慮され、0の実数係数が掛け合わされている関数に対応する制約条件は考慮されない。例えば、αおよびβは正であるため、制約条件1,2は常に考慮される。γが正であれば制約条件3も考慮されるが、γが0であれば制約条件3は考慮されない。δが正であれば制約条件3も考慮されるが、δが0であれば制約条件3は考慮されない。εが正であれば制約条件3も考慮されるが、εが0であれば制約条件3は考慮されない。このようなエネルギー関数Hを最小にする複数の変数qi,cは、例えば、量子アニーリングマシンやイジングマシンを用いて解くことができる。これにより、従来よりも制約条件の多い産業上の割当問題を解くことが可能となる。
【0019】
<実施形態>
次に、本発明の実施形態を説明する。
<構成>
図1に例示するように、本実施形態の組合せ最適化装置1は、処理部110および組合せ最適化部120を有する。処理部110は、入力部111、エネルギー関数生成部112、演算結果生成部113、出力部114、制御部115、および記憶部116を有する。処理部110に入力された情報(データ)および各処理で得られた情報は、逐一、記憶部116に格納され、必要に応じて各部に読み込まれ、各処理に利用される。処理部110は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)およびRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備えるノイマン型のコンピュータが所定のプログラムを実行することで構成される装置である。組合せ最適化部120は、例えば、量子アニーリングマシンやイジングマシンなどの量子コンピュータである。
【0020】
<処理>
次に、本実施形態の処理を説明する。図1に例示するように、組合せ最適化装置1の入力部111には、前述した産業上の割当問題を特定するための情報であるグラフG=(V,E)およびSが入力される。前述ように、産業上の割当問題は、与えられた制約条件をすべて満たすように、複数の対象v∈Vに複数の要素s∈Sを割り当てる問題である。V={v,…,vN-1}は対象vの集合を表し、Eは集合V={v,…,vN-1}に含まれた特定の対象の組(v,v)の集合を表し、S={s,…,sC-1}は対象に割り当てられる要素sの集合を表す。図3に、N=5,V={v,v,v,v,v},E={(v,v),(v,v),(v,v),(v,v),(v,v),(v,v)}の場合のグラフGを例示する。また、組合せ最適化装置1には、前述した実数係数α,β,γ,δ,εが入力される。ただし、これらの情報のうち、予め定められている情報については、組合せ最適化装置1に入力されなくてもよい。例えば、集合Sが予め組合せ最適化装置1に設定されているのであれば、集合Sが組合せ最適化装置1に入力されなくてもよい。同様に、実数係数α,β,γ,δ,εの一部が予め組合せ最適化装置1に設定されている場合、予め設定されている実数係数は組合せ最適化装置1に入力されなくてもよい。また、実数係数γ,δ,εの一部が0であることが定められている場合、0である実数係数は組合せ最適化装置1に入力されなくてもよい(ステップS111)。
【0021】
組合せ最適化装置1のエネルギー関数生成部112は、集合V,E,Sを用い、エネルギー関数H=αH+βH+γH+δH+εHobjを得て出力する(式(2)(4)(6)(8)(10)(11))。エネルギー関数Hを表す情報は組合せ最適化部120に送られる。エネルギー関数Hを表す情報は、エネルギー関数Hを表す、組合せ最適化部120で処理可能な情報である(ステップS112)。
【0022】
組合せ最適化部120にはエネルギー関数Hを表す情報が入力される。組合せ最適化部120は、当該エネルギー関数Hが最小となる変数qi,cの値(すべてのi∈{0,…,N-1}およびc∈{0,…,C-1}についての変数qi,cの値)を得て出力する。例えば、実数係数δおよびεが正である場合、組合せ最適化部120は、エネルギー関数Hが最小となる変数qi,cの値(すべてのi∈{0,…,N-1}およびc∈{0,…,C-1}についての変数qi,cの値)、変数yf,nの値(すべてのf∈{0,…,C-1}およびn∈{0,…,L-1}についての変数yf,nの値)、およびxの値(すべてのc∈{0,…,C-1}についての変数xの値)を得て出力する。例えば、実数係数δおよびεが0である場合、組合せ最適化部120は、エネルギー関数Hが最小となる変数qi,cの値を得て出力する。例えば、実数係数δが0でεが正である場合、組合せ最適化部120は、エネルギー関数Hが最小となる変数qi,cの値および変数xの値を得て出力する。例えば、実数係数δが正でεが0である場合、組合せ最適化部120は、エネルギー関数Hが最小となる変数qi,cの値および変数yf,nの値を得て出力する(ステップS120)。
【0023】
組合せ最適化部120で得られた変数qi,cの値(すべてのi∈{0,…,N-1}およびc∈{0,…,C-1}についての変数qi,cの値)を表す情報は、演算結果生成部113に送られる。演算結果生成部113は、演算結果である変数qi,cの値(すべてのi∈{0,…,N-1}およびc∈{0,…,C-1}についての変数qi,cの値)を得て出力する。演算結果である変数qi,cの値は、ノイマン型のコンピュータで処理可能な値である(ステップS113)。以上より、従来よりも制約条件の多い産業上の割当問題を解くことができた。
【0024】
以降、具体的な割当問題とその解を例示する。
<実施例1>
実施例1では、N=5,V={v,v,v,v,v},E={(v,v),(v,v),(v,v),(v,v),(v,v),(v,v)},F={(0,1),(0,4),(1,4),(1,3),(1,2),(2,3)},C=4,S={s,s,s,s},δ=0かつα,β,γ,δ>0,A={(0,0),(2,2),(3,1)}であり、Bが空集合である場合を例示する。これをグラフで表現すると図4Aのようになる。
【0025】
この場合、各制約条件に対応する関数は以下のようになる。
<制約条件1>
1つの対象v∈Vに割り当てる要素s∈Sは必ず1つである。
【数10】

<制約条件2>
対象の組(v,v)∈Eには、必ず互いに異なる要素s∈Sが割り当てられる。
【数11】

ただし、F={(0,1),(0,4),(1,4),(1,3),(1,2),(2,3)}である。
<制約条件3>
予め定められた特定の対象v∈Vに予め定められた特定の要素s∈Sを必ず割り当てる。
【数12】

ただし、A={(0,0),(2,2),(3,1)}である。
<制約条件4>
δ=0であるため、制約条件4は存在しない。すなわち、δH=0である。
<目的関数>
できるだけ少ない要素s∈Sを割り当てる。
【数13】
【0026】
この場合、エネルギー関数生成部112は、エネルギー関数H=αH+βH+γH+εHobjを生成する。α=β=γ=ε=1の場合、エネルギー関数生成部112は式(12)のエネルギー関数Hを生成する。
H=H+H+H+Hobj (12)
【0027】
組合せ最適化部120は、式(12)のエネルギー関数生成部112を最小にする変数qi,cの値を求めることができる。その解の一つは、変数q0,0,q1,3,q2,2,q3,1,q4,2が1であり、その他の変数qi,cが0である。これをグラフで表現すると図4Bのようになる。
【0028】
<実施例2>
実施例2では、N=5,V={v,v,v,v,v},E={(v,v),(v,v),(v,v),(v,v),(v,v),(v,v)},F={(0,1),(0,4),(1,4),(1,3),(1,2),(2,3)},C=4,S={s,s,s,s},γ=0かつα,β,δ,δ>0,Aが空集合であり、B={1,2}であり、L=2,L=1である場合を例示する。これをグラフで表現すると図5Aのようになる。
【0029】
この場合、各制約条件に対応する関数は以下のようになる。
<制約条件1>
1つの対象v∈Vに割り当てる要素s∈Sは必ず1つである。
【数14】

<制約条件2>
対象の組(v,v)∈Eには、必ず互いに異なる要素s∈Sが割り当てられる。
【数15】

ただし、F={(0,1),(0,4),(1,4),(1,3),(1,2),(2,3)}である。
<制約条件3>
γ=0であるため、制約条件3は存在しない。すなわち、γH=0である。
<制約条件4>
予め定められた特定の要素s∈Sが予め定められた回数L以下しか割り当てられない。
【数16】

ただし、B={1,2}であり、L=2,L=1である。
<目的関数>
できるだけ少ない要素s∈Sを割り当てる。
【数17】
【0030】
この場合、エネルギー関数生成部112は、エネルギー関数H=αH+βH+δH+εHobjを生成する。α=β=δ=ε=1の場合、エネルギー関数生成部112は式(13)のエネルギー関数Hを生成する。
H=H+H+H+Hobj (13)
【0031】
組合せ最適化部120は、式(13)のエネルギー関数生成部112を最小にする変数qi,cの値を求めることができる。その解の一つは、変数q0,2,q1,0,q2,1,q3,3,q4,1が1であり、その他の変数qi,cが0である。これをグラフで表現すると図5Bのようになる。
【0032】
[ハードウェア構成]
実施形態における処理部110は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。すなわち、実施形態における処理部110は、例えば、それぞれが有する各部を実装するように構成された処理回路(processing circuitry)を有する。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
【0033】
図6は、実施形態における処理部110のハードウェア構成を例示したブロック図である。図6に例示するように、この例の処理部110は、CPU(Central Processing Unit)10a、入力部10b、出力部10c、RAM(Random Access Memory)10d、ROM(Read Only Memory)10e、補助記憶装置10f、通信部10h及びバス10gを有している。この例のCPU10aは、制御部10aa、演算部10ab及びレジスタ10acを有し、レジスタ10acに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、入力部10bは、データが入力される入力端子、キーボード、マウス、タッチパネル等である。また、出力部10cは、データが出力される出力端子、ディスプレイ等である。通信部10hは、所定のプログラムを読み込んだCPU10aによって制御されるLANカード等である。また、RAM10dは、SRAM (Static Random Access Memory)、DRAM (Dynamic Random Access Memory)等であり、所定のプログラムが格納されるプログラム領域10da及び各種データが格納されるデータ領域10dbを有している。また、補助記憶装置10fは、例えば、ハードディスク、MO(Magneto-Optical disc)、半導体メモリ等であり、所定のプログラムが格納されるプログラム領域10fa及び各種データが格納されるデータ領域10fbを有している。また、バス10gは、CPU10a、入力部10b、出力部10c、RAM10d、ROM10e及び補助記憶装置10fを、情報のやり取りが可能なように接続する。CPU10aは、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置10fのプログラム領域10faに格納されているプログラムをRAM10dのプログラム領域10daに書き込む。同様にCPU10aは、補助記憶装置10fのデータ領域10fbに格納されている各種データを、RAM10dのデータ領域10dbに書き込む。そして、このプログラムやデータが書き込まれたRAM10d上のアドレスがCPU10aのレジスタ10acに格納される。CPU10aの制御部10aaは、レジスタ10acに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM10d上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部10abに順次実行させ、その演算結果をレジスタ10acに格納していく。このような構成により、処理部110の機能構成が実現される。
【0034】
上述のプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
【0035】
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。上述のように、このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0036】
実施形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【0037】
なお、本発明は上述の実施形態に限定されるものではない。例えば、処理部110が量子コンピュータ(例えば、ゲート型の量子コンピュータ)であってもよいし、組合せ最適化部120がゲート型の量子コンピュータやノイマン型のコンピュータにプログラムが読み込まれて構成される装置であってもよい。
【0038】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【産業上の利用可能性】
【0039】
本発明は、制約条件をすべて満たすように、複数の対象v∈Vに複数の要素s∈Sを割り当てる産業上の割当問題を解く場合に適用できる。要素sの例は、何らかの産業上のリソースであり、対象vの例は、産業上のリソースを利用、処理、保存、送信、受信、または再分配等する、産業上のエンティティである。産業上の割当問題の例は、ラウンドロビンスケジューリングや通信ネットワーク(例えば、GSMネットワーク)での周波数割り当てである。
【符号の説明】
【0040】
1 組合せ最適化装置
110 処理部
120 組合せ最適化部
図1
図2
図3
図4
図5
図6