JP2019160293A - 最適化装置及び最適化装置の制御方法 - Google Patents
最適化装置及び最適化装置の制御方法 Download PDFInfo
- Publication number
- JP2019160293A JP2019160293A JP2019001986A JP2019001986A JP2019160293A JP 2019160293 A JP2019160293 A JP 2019160293A JP 2019001986 A JP2019001986 A JP 2019001986A JP 2019001986 A JP2019001986 A JP 2019001986A JP 2019160293 A JP2019160293 A JP 2019160293A
- Authority
- JP
- Japan
- Prior art keywords
- annealing
- penalty
- state
- temperature
- function term
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
【課題】評価関数がペナルティ関数項を含む最適化問題に対して計算時間を短縮する。【解決手段】第1評価関数計算部21は評価関数のうちコスト関数項Eiを、第2評価関数計算部22は評価関数のうちペナルティ関数項Piを計算し、遷移制御部23は、逆温度βiとペナルティ係数αiとの比とPiとの積とEiとに基づいて、複数の状態遷移の何れかを受け入れるか否かを確率的に決定し、交換制御部12は、焼鈍部11a1〜11anの各々に対し、上記比が焼鈍部11a1〜11anの各々の間でそれぞれ異なるような、βiとαiをそれぞれ供給し、焼鈍部11a1〜11anの各々からEiとPiを受け、βi、αi、Ei、Piに基づいた確率にしたがって、焼鈍部11a1〜11anのうちの第1の焼鈍部と第2の焼鈍部に供給されるβiとαiの交換をそれぞれ行う。【選択図】図1
Description
本発明は、最適化装置及び最適化装置の制御方法に関する。
現在の社会ではあらゆる分野で情報処理が行われている。これらの情報処理はコンピュータなどの演算装置で行われており、様々なデータを演算、加工し、意味のある結果を得ることにより、予測、決定、制御などが行われる。これらの情報処理の一つとして最適化というものがあり重要な分野となっている。例えばあることを行うのに必要な資源やコストを最小化したり、その効果を最大化する解を求める問題などであり、これらが非常に重要であるのは明らかであろう。
最適化問題の中でも離散最適化問題、組合せ最適化問題などと呼ばれている問題の多くは、変数が連続値ではなく離散的な値を取るため解くのが非常に難しいことが知られている。離散最適化問題を解くのを困難にしている最大の原因は、最適解ではないが局所的近傍のなかで最小値をとる局所解と呼ばれる状態が非常に多数存在することである。
離散最適化問題を解く効率の良い一般解法は存在しないため、問題に固有な性質を利用した近似解法や、問題の性質にあまり頼らないメタヒューリステックと呼ばれる方法を用いる必要がある。
以下に説明する内容は、後者のうちマルコフ連鎖モンテカルロ法を用いた解法に関するもので、特に交換モンテカルロ法、レプリカ交換法と呼ばれる広い意味での疑似焼き鈍し法に関するものである。
疑似焼き鈍し法は、乱数を用いて確率的に状態(変数ベクトルの値)を変化させることで最適解を求める方法である。以下では最適化したい評価関数の値を最小化する問題を例に説明し、評価関数の値をエネルギーと呼ぶことにする。最大化の場合は、評価関数の符号を変えればよい。
疑似焼き鈍し法においては、状態遷移の受け入れ(許容)確率を、その遷移に伴うエネルギー変化と温度を用いて次のように決めれば、時刻(反復回数)無限大の極限で状態が最適解に到達することが証明されている。
ここでTは温度を表すパラメータであり、その初期値は問題に応じて十分大きくとり、十分ゆっくり下げていくことが望ましい。
上記のように疑似焼き鈍し法では、反復回数を無限に取れば最適解が得られるが、現実には有限の反復回数で解を得る必要があるため、最適解を確実に求めることはできない。また上記のように温度の下がり方が非常にゆっくりであるため、有限時間では十分に温度が下がらない。したがって実際の疑似焼き鈍し法では理論的に収束することが保証される温度変化ではなくより速く温度を下げることが多い。
上記のように疑似焼き鈍し法では、反復回数を無限に取れば最適解が得られるが、現実には有限の反復回数で解を得る必要があるため、最適解を確実に求めることはできない。また上記のように温度の下がり方が非常にゆっくりであるため、有限時間では十分に温度が下がらない。したがって実際の疑似焼き鈍し法では理論的に収束することが保証される温度変化ではなくより速く温度を下げることが多い。
実際の擬似焼き鈍し法では、初期状態から初めて、温度を下げながら上記反復が繰り返され、一定の反復回数に達したり、エネルギーが一定の値を下回るなどの終了判定条件が満たされたとき、動作が終了する。出力する答えは終了時の状態である。ただし、実際には有限の反復回数では温度が0にならないため、終了時においても状態の占有率はボルツマン分布などで表される分布をもっており、必ずしも最適値や良い解になっているとは限らない。したがって、反復の途中でこれまでに得られたエネルギーが最低の状態を保持し、最後にそれを出力するのが現実的な解法となる。
上記の説明からある程度想像できると思われるが、疑似焼き鈍し法は汎用的で非常に魅力的ではあるが、温度をゆっくり下げる必要があるため計算時間が比較的長くなってしまうという問題がある。さらにその温度の下げ方を問題に合わせて適切に調節することが難しいという問題もある。温度の下げ方が遅すぎると有限時間ではあまり温度が下がらないため、最終的な熱分布のエネルギー範囲が広いため良い解の占有確率が上がらない。逆に速く下げすぎると、局所解を脱出する前に温度が下がってしまい、悪い解に捕まったままになってしまうため、良い解が得られる確率が下がってしまう。
レプリカ交換法(例えば、非特許文献1参照)は複数の温度を用いたモンテカルロ探索を同時に行い、ある反復回数ごとに、それぞれ状態のエネルギーを比較し、適切な確率で2つの温度に対する状態を交換するという操作を行う方法である。
図5は、通常のレプリカ交換法を用いた最適化装置の構成例を示す図である。最適化装置50は、通常の疑似焼き鈍し法を用いた最適化装置と異なり、複数のモンテカルロ探索部(図5では焼鈍部51a1,51a2,…,51ai,…,51an)と、交換制御部52とを有する。交換制御部52は、焼鈍部51a1〜51anに逆温度βi(Tの逆数)(1≦i≦n)を与える。
図5には、焼鈍部51aiの例が示されている。他の焼鈍部も同様の構成である。焼鈍部51aiは、状態保持部60、評価関数計算部61、遷移制御部62を有する。
状態保持部60は、評価関数に含まれる複数の状態変数の値を保持する。また、状態保持部60は、状態遷移の可否を示すフラグfと、そのフラグfが示す状態変数の番号(インデックス)Nに基づいて、複数の状態変数の値(上記変数ベクトルの値)である状態siを更新する。
状態保持部60は、評価関数に含まれる複数の状態変数の値を保持する。また、状態保持部60は、状態遷移の可否を示すフラグfと、そのフラグfが示す状態変数の番号(インデックス)Nに基づいて、複数の状態変数の値(上記変数ベクトルの値)である状態siを更新する。
評価関数計算部61は、状態変数の変化(状態遷移)に伴うエネルギーの変化を計算する。例えば、評価関数が2つの状態変数間の結合で表されるイジングモデルで表され、しかも一度に1つの状態変数の遷移のみを許す場合、評価関数計算部61は、各状態変数の値と、状態変数間の結合の強さを示す結合係数と、番号Nと、フラグfとに基づいて、複数の状態変数のそれぞれの変化(状態遷移)に伴うエネルギー変化を計算する。エネルギー変化ΔEi,jは、j番目の状態変数の変化に伴うエネルギー変化を示す。なお、計算したい最適化問題に応じた結合係数の値は、予めメモリまたはレジスタなどに記憶されている。評価関数がイジングモデルでない場合、及び一度に複数の状態変数の遷移を許す場合には、状態遷移の番号と変化する状態変数の番号は必ずしも一致しないが、状態遷移番号に対するエネルギー変化を適切に計算できればよい。
遷移制御部62は、通常の擬似焼き鈍し法と同様に、エネルギー変化ΔEi,jと交換制御部52により割り当てられた逆温度βiを用いて、j番目の状態変数の状態遷移の受け入れ確率を以下の(式2)により決定することで、モンテカルロ探索を行う。
なお、(式2)において、関数fは(式1−1)と同じものであり、例えば(式1−2)のメトロポリス法のものが用いられる。遷移制御部62は、上記の状態遷移の受け入れ確率に基づいて、状態遷移の可否を示すフラグfと、そのフラグfが示す状態遷移の番号を出力する。また、遷移制御部62は、エネルギー変化ΔEi,jに基づいて、エネルギーEiを更新して出力する。
交換制御部52は、一定の反復回数ごとに各焼鈍部におけるエネルギーEiを観測し、焼鈍部51a1〜51anのうちの2つにおけるエネルギーと温度を用い、以下の(式3)で表される交換確率に基づいて2つの焼鈍部に供給する逆温度βi,βjを交換する。
なお、(式3)では、βiを焼鈍部51aiに与えられた逆温度、βjを図示しないj番目の焼鈍部に与えられた逆温度、Eiを焼鈍部51aiにおけるエネルギー、Ejをj番目の焼鈍部におけるエネルギーとしている。なお、(式3)において、関数fは(式1−1)と同じものであり、例えば(式1−2)のメトロポリス法のものが用いられる。
このような交換を行ってもそれぞれの温度の状態の確率分布はその温度に対するボルツマン分布に収束する。そして、この分布に収束するのに必要とされる緩和時間は、交換を行わない時より著しく短縮することができる。
Koji Hukushima and Koji Nemoto, "Exchange Monte Carlo Method and Application to Spin Glass Simulations", Journal of the Physical Society of Japan, June 1996, Vol.65, No.6, pp.1604-1608.
Zheng Zhu, Chao Fang and Helmut G. Katzgraber, "borealis - A generalized global update algorithm for Boolean optimization problems", arXiv:1605.09399v1 [physics.comp-ph], 30 May 2016.
上記のように、レプリカ交換法は最適化問題を解く場合に非常に強力な加速手段となるが、レプリカ交換法を用いればどのような問題も高速に解けるようになるわけではない。
通常の擬似焼き鈍し法やレプリカ交換法で最適化問題を解く場合、最小化すべき評価関数は、本来最小化したい数値を表すコスト関数項と、解が満たさなければならない制約条件に対する違反に対するペナルティ関数項からなる場合が多い。ペナルティ関数項の割合を小さくしすぎると、制約を満たさない解のエネルギーが最適解のエネルギーより小さくなってしまうため、問題に応じてある程度以上大きな値としなければならない。一方モンテカルロ探索のための状態遷移においては、制約を満たす状態だけを通って解が最適解に到達できる問題はほとんどない。そのため、解が制約を満たさない状態を経由することが必要になるが、ペナルティ関数項が大きい場合には、エネルギーの高い状態を経由するために大きな熱励起が必要になり、ほとんど遷移が起こらなくなってしまう。したがって、ペナルティ関数項をかなり大きくしなければ制約が満たされない問題では、最適解またはそれとエネルギーが近い解を得るのには非常に長い時間がかかってしまうことになり、レプリカ交換法による緩和時間が短縮があっても、実用的な時間では解けない場合がある。
通常の擬似焼き鈍し法やレプリカ交換法で最適化問題を解く場合、最小化すべき評価関数は、本来最小化したい数値を表すコスト関数項と、解が満たさなければならない制約条件に対する違反に対するペナルティ関数項からなる場合が多い。ペナルティ関数項の割合を小さくしすぎると、制約を満たさない解のエネルギーが最適解のエネルギーより小さくなってしまうため、問題に応じてある程度以上大きな値としなければならない。一方モンテカルロ探索のための状態遷移においては、制約を満たす状態だけを通って解が最適解に到達できる問題はほとんどない。そのため、解が制約を満たさない状態を経由することが必要になるが、ペナルティ関数項が大きい場合には、エネルギーの高い状態を経由するために大きな熱励起が必要になり、ほとんど遷移が起こらなくなってしまう。したがって、ペナルティ関数項をかなり大きくしなければ制約が満たされない問題では、最適解またはそれとエネルギーが近い解を得るのには非常に長い時間がかかってしまうことになり、レプリカ交換法による緩和時間が短縮があっても、実用的な時間では解けない場合がある。
本発明は、レプリカ交換法の概念を拡張することで、ペナルティ関数項を小さくできない場合でも良い解を短い時間で得ることを目指すものである。
なお、例えば、非特許文献2にはペナルティ関数項を変化させたレプリカ交換法を示唆する記述がある。しかしながらその具体的な実現方法は述べられていない。
なお、例えば、非特許文献2にはペナルティ関数項を変化させたレプリカ交換法を示唆する記述がある。しかしながらその具体的な実現方法は述べられていない。
1つの側面では、本発明は、評価関数がペナルティ関数項を含む最適化問題の計算時間を短縮可能な最適化装置及び最適化装置の制御方法を提供することを目的とする。
1つの実施態様では、エネルギーを表す評価関数に含まれる複数の状態変数の値をそれぞれ保持する状態保持部と、前記複数の状態変数の値の何れかが変化する状態遷移が起こる場合、前記評価関数のうち、コスト関数項を複数の状態遷移のそれぞれに対して計算する第1計算部と、前記複数の状態変数の値の何れかが変化する状態遷移が起こる場合、前記評価関数のうち、ペナルティ関数項を前記複数の状態遷移のそれぞれに対して計算する第2計算部と、逆温度とペナルティ係数との比と前記ペナルティ関数項との積と、前記コスト関数項とに基づいて、前記複数の状態遷移の何れかを受け入れるか否かを確率的に決定する制御を行う遷移制御部と、を各々が有する複数の焼鈍部と、前記複数の焼鈍部の各々に対して、前記比が前記複数の焼鈍部の各々の間でそれぞれ異なるような、前記逆温度を示す温度情報と前記ペナルティ係数とをそれぞれ供給するとともに、前記複数の焼鈍部の各々から前記コスト関数項と前記ペナルティ関数項とを受け、前記逆温度と前記ペナルティ係数と前記コスト関数項と前記ペナルティ関数項とに基づいた確率にしたがって、前記複数の焼鈍部のうちの第1の焼鈍部と第2の焼鈍部に供給される前記逆温度の交換と、前記第1の焼鈍部と前記第2の焼鈍部に供給される前記ペナルティ係数の交換を行う交換制御部と、を有する最適化装置が提供される。
また、1つの実施態様では、最適化装置の制御方法が提供される。
1つの側面では、本発明は、評価関数がペナルティ関数項を含む最適化問題に対して計算時間を短縮できる。
図1に本発明で提案する拡張したレプリカ交換法を用いた最適化装置の構成例を示す。なお、以下の説明では、最適化装置10の焼鈍部11a1,11a2,…,11ai,…,11anのそれぞれが計算する評価関数の数、及びそれらの線形和をとるためのパラメータの数をそれぞれ2として説明しているが、それぞれより大きな値であってもよい。
通常のレプリカ交換法との主な違いは、4つある。その1つ目は、交換制御部12が、逆温度βi(1≦i≦n)とペナルティ係数αiという2つのパラメータを焼鈍部11a1〜11anのそれぞれに与えることである。2つ目は、焼鈍部11a1〜11anのそれぞれは、2つの評価関数計算部(第1評価関数計算部及び第2評価関数計算部)をもち、2つの評価関数計算部は最小化したいコスト関数項Eiと制約違反を表すペナルティ関数項Piをそれぞれ独立に計算することである。なお、Eiは、背景技術の説明ではエネルギーを表す記号として用いているが、以下ではコスト関数項を表す記号として用いる。3つ目は、焼鈍部11a1〜11anのそれぞれの遷移制御部はコスト関数項Eiとペナルティ関数項Piと逆温度βiとペナルティ係数αiとから計算される等価エネルギーの変化を用いて遷移を許容するかどうかを決めることである。4つ目は、交換制御部12は、一定の反復回数ごとに焼鈍部11a1〜11anのそれぞれにおける状態のコスト関数項Eiとペナルティ関数項Piを観測し、2つの焼鈍部のコスト関数項Eiとペナルティ関数項Piと逆温度βiとペナルティ係数αiの関係に応じた確率で、両焼鈍部の互いの逆温度βiを交換するとともに、互いのペナルティ係数αiを交換することである。
図1には、焼鈍部11aiの例が示されている。他の焼鈍部も同様の構成である。焼鈍部11aiは、状態保持部20、第1評価関数計算部21、第2評価関数計算部22、遷移制御部23を有する。
状態保持部20は、評価関数に含まれる複数の状態変数の値をそれぞれ保持する。また、状態保持部20は、状態遷移の可否を示すフラグfと、そのフラグfが示す状態遷移の番号Nに基づいて、複数の状態変数の値である状態siを更新する。
第1評価関数計算部21は、状態遷移が起こる場合、評価関数のうち、コスト関数項Eiを複数の状態遷移のそれぞれに対して計算する。
第2評価関数計算部22は、状態遷移が起こる場合、評価関数のうち、ペナルティ関数項Piを複数の状態遷移のそれぞれに対して計算する。第1評価関数計算部21と第2評価関数計算部22は、前述の評価関数計算部61がエネルギー変化を計算するのと同様の処理により、コスト関数項Eiまたはペナルティ関数項Piを計算する。第1評価関数計算部21と第2評価関数計算部22は、例えば、積和演算回路などの論理回路を用いて実現できる。
第2評価関数計算部22は、状態遷移が起こる場合、評価関数のうち、ペナルティ関数項Piを複数の状態遷移のそれぞれに対して計算する。第1評価関数計算部21と第2評価関数計算部22は、前述の評価関数計算部61がエネルギー変化を計算するのと同様の処理により、コスト関数項Eiまたはペナルティ関数項Piを計算する。第1評価関数計算部21と第2評価関数計算部22は、例えば、積和演算回路などの論理回路を用いて実現できる。
遷移制御部23は、交換制御部12から供給される逆温度βiとペナルティ係数αiとコスト関数項Eiとペナルティ関数項Piとに基づいて、複数の状態遷移の何れかを受け入れるか否かを確率的に決定する制御を行う。遷移制御部23は、以下の(式4)で表される等価エネルギーEeqiを用いて、通常のモンテカルロ反復を行う。
等価エネルギーEeqiの変化は以下の(式5)で表される。
したがって、状態遷移の受け入れ確率pは、以下の(式6)で表される。
交換制御部12は、一定の反復回数ごとに各焼鈍部の状態のコスト関数項とペナルティ関数項を観測し、2つの焼鈍部のコスト関数項とペナルティ関数項と逆温度とペナルティ係数を用いて、以下の(式7)により求められる確率で2つの焼鈍部の逆温度βi,βjとペナルティ係数αi,αjを交換する。
なお、(式7)では、βjを図示しないj番目の焼鈍部に与えられた逆温度、αjをj番目の焼鈍部に与えられたペナルティ係数、Ejをj番目の焼鈍部が計算したコスト関数項、Pjをj番目の焼鈍部が計算したペナルティ関数項としている。なお、(式7)において、関数fは(式1−1)と同じものであり、例えば(式1−2)のメトロポリス法のものが用いられる。
なお、交換制御部12は、(式7)で示される確率pijを計算するための減算回路、加算回路、乗算回路及びexp関数の計算回路のほか、乱数を生成する回路と、その乱数と確率pijとの比較結果に基づいて交換可否を決定する回路などを用いて実現できる。
以下、最適化装置10の動作原理及び効果を説明する。
以下では焼鈍部11a1〜11anのそれぞれの状態(レプリカ)をsi(1≦i≦n)と表記する。そして、等価エネルギーEeqiを上記(式4)とし、焼鈍部11a1〜11anの全ての状態を1つにまとめた(直積)状態空間s=(s1,s2,…,sn)における全エネルギーを以下の(式8)のように定める。
以下では焼鈍部11a1〜11anのそれぞれの状態(レプリカ)をsi(1≦i≦n)と表記する。そして、等価エネルギーEeqiを上記(式4)とし、焼鈍部11a1〜11anの全ての状態を1つにまとめた(直積)状態空間s=(s1,s2,…,sn)における全エネルギーを以下の(式8)のように定める。
(式8)において、βは状態空間sにおける逆温度を示す。遷移として各レプリカ内の状態変化Δsiと、レプリカ間の状態の交換のみを考慮した場合、前者に対する全エネルギー変化と温度の比は、以下の(式9)で表され、後者に対する全エネルギー変化と温度の比は、以下の(式10)で表される。
これらを用いてメトロポリス法などで遷移を許容すれば、状態sは逆温度β、エネルギーEで定まるボルツマン分布に収束する。このとき、各焼鈍部内の状態siに注目すると、逆温度βiと等価エネルギーEeqiで定まるボルツマン分布に収束する。
前者の遷移と後者の遷移を同時に行う必要はない。別々にしても、有限回の反復でどの状態へも遷移できるし、ボルツマン分布における詳細平衡も成り立つからである。前者の遷移は各部分空間である状態siに対して独立であるのでレプリカごとに並列に行うことができる。
低温で局所解に陥ってしまった状態は、通常のレプリカ交換法と同様に高い温度に移ることにより遷移が起こりやすくなり、局所解からの脱出が容易になる。また、交換制御部12は、高温ほど(βiが小さいほど)、αi/βiが小さくなるようにペナルティ係数αiを選べば高い温度では超えなければならない障壁の高さが低くなるため、さらに局所解からの脱出が容易になる。したがって、通常の擬似焼き鈍し法及び通常のレプリカ交換法よりも、局所解からの脱出が促進されエネルギー降下が高速化され、高速なモンテカルロ探索が可能となる。つまり、最適化問題の計算時間が短縮される。
また、低温ではαi/βiが十分大きくなるようにしておけば、低温では制約をみなさない解は許容されなくなる。したがって、低温の焼鈍部には、制約を満たしたうえでエネルギーの小さい望ましい解が集まりやすくなる。
上記説明では状態を交換するものとしているが、状態を交換する代わりに逆温度βiとペナルティ係数αiを交換しても効果は同じである。したがって、上記の動作は図1に示した最適化装置10の動作と実質的に同じになっていることがわかる。
以上のことから図1に示したような最適化装置10によれば、ペナルティ関数項Piの割合を大きくしなければ制約違反の解が出てしまうような問題に対しても、正しい解を得るための計算時間を短縮することが可能となることがわかる。
以下、実際のαi/βiの定め方についての4つの実施の形態と、上記効果のソフトウェアシミュレーションによる実証例を説明する。なお、上記説明では、簡単のため、独立に計算する2つの評価関数が、コスト関数項のみからなるものとペナルティ関数項のみからなるものとしているが、線型独立であれば第3の実施の形態において示すように両方が混ざったものでもよい。
上記拡張したレプリカ交換法は、前述した4つの主な違いを除くと、通常のレプリカ交換方法とほぼ同じであり、その他の部分については、通常のレプリカ交換法を実現する構成に対して何ら変更を加えなくてもよい。したがって、レプリカ内で許されうる状態遷移の集合や、評価関数の関数形やその計算方法などにはまったく依存せずに、上記拡張したレプリカ交換法を適用することができる。
(第1の実施の形態)
第1の実施の形態においては、交換制御部12は、逆温度βiが大きくなるほどαi/βiが大きくなるように逆温度βiとペナルティ係数αiを変化させるが、その変え方についてはそれ以上の制約はない。したがって、最適化装置10の構成及び動作については、上記の説明通りである。
第1の実施の形態においては、交換制御部12は、逆温度βiが大きくなるほどαi/βiが大きくなるように逆温度βiとペナルティ係数αiを変化させるが、その変え方についてはそれ以上の制約はない。したがって、最適化装置10の構成及び動作については、上記の説明通りである。
各レプリカに対する等価エネルギーEeqiは(式4)に示したようになるので、逆温度βiの小さい(温度の高い)レプリカ内の状態遷移は逆温度βiの大きいレプリカに比べて起こりやすい。
交換制御部12は、上記の(式7)により表せる確率にしたがって逆温度βiとペナルティ係数αiの交換を一緒の組として交換する。これにより、コスト関数項Ei及びペナルティ関数項Piの小さな(望ましい)状態を取るレプリカに大きな逆温度βiとペナルティ係数αiが割り当てられるように交換が起こる。
逆温度βiとペナルティ係数αiとして例えば以下のようなものが用いられる。例えば逆温度βiを等比数列となるように定めた場合、ペナルティ係数αiとして、逆温度βiより公比の大きな等比数列や、同じ公比の等比数列に単調増加数列(例えば等差数列)を掛けたものを用いればよい。
前述のように、有限温度のマルコフ連鎖モンテカルロ法において状態は収束しないので、モンテカルロ探索における最低エネルギーの状態を保持し、最終的な答としてそれを出力することになる。各レプリカは交換制御部12の制御のもと、逆温度βiとペナルティ係数αiの組を交換しながらモンテカルロ探索を行うが、逆温度βiが小さい時にはαi/βiが小さいため制約を満たさない状態が最低エネルギーを取る可能性がある。この値は大域解の値におけるエネルギーより小さい可能性がある。
したがって、例えば交換制御部12が行う最低エネルギーとなる状態の判定では、各温度での等価エネルギーEeqiではなく、別に定義された共通の評価関数が用いられる。制約違反の無い解を選ぶため、α/βが十分大きい評価関数が用いられる。もしくは、ペナルティ関数項Piが0となるものの中から、コスト関数項Eiが最低になるものが選ばれる。この評価関数は、コスト関数項Eiとペナルティ関数項Piの線型和を取るためのハードウェアのみで計算できる。
例えば、焼鈍部11a1〜11anのそれぞれは、コスト関数項Eiとペナルティ関数項Piと全ての焼鈍部に共通な十分大きいα/βを用いて等価エネルギーの計算を行い、最低の等価エネルギーとその時の状態を保持する。焼鈍部11a1〜11anでの所定反復回数のモンテカルロ探索の終了時に、各焼鈍部に保持された最低の等価エネルギーとその時の状態を全て出力する、もしくはその中で等価エネルギーが最低のものを出力する。
図2は、1024ビットのイジング評価関数に対するシミュレーション結果の例を示す図である。横軸は反復回数、縦軸は最低エネルギーの平均値である。図2において、結果30は、図5の最適化装置50を用いた通常のレプリカ交換法によるシミュレーション結果を示し、結果31は、図1の最適化装置10を用いた拡張したレプリカ交換法によるシミュレーション結果を示している。
なお、レプリカ数(焼鈍部11a1〜11anの数)は100とし、逆温度βiとペナルティ係数αiとして、下記の値を用いた。
βi=0.0125×20i/99
αi=βi×(0.1+0.9×i/99)
通常のレプリカ交換法でも同じ逆温度βiを用いたが、αi=βiである。
βi=0.0125×20i/99
αi=βi×(0.1+0.9×i/99)
通常のレプリカ交換法でも同じ逆温度βiを用いたが、αi=βiである。
図2に示すように、近似解が得られるまでの反復回数で比較すると約2倍に高速化している。さらに正解に近いエネルギーに到達するまでの時間で比較すると数倍以上に高速化している。
(第2の実施の形態)
第2の実施の形態において、交換制御部12は、逆温度βiを全て同じ値βとし、ペナルティ係数αiを変化させる。例えば交換制御部12は、ペナルティ係数αiを、等差数列、等比数列などとなるように定める。
第2の実施の形態において、交換制御部12は、逆温度βiを全て同じ値βとし、ペナルティ係数αiを変化させる。例えば交換制御部12は、ペナルティ係数αiを、等差数列、等比数列などとなるように定める。
第2の実施の形態において、各レプリカに対する等価エネルギーEeqiは、Eeqi(si)=E(si)+(αi/β)P(si)で表されるため、ペナルティ係数αiの小さいレプリカ内では、ペナルティ係数αiの大きいレプリカ内よりも状態遷移が起こりやすい。したがって、ペナルティ係数αiの小さいレプリカは通常のレプリカ交換法における高温のレプリカに相当する。
ペナルティ係数αiが交換される確率は、pij=f((αi−αj)(Pi−Pj))で表されるため、ペナルティ関数項Piの小さな(望ましい)状態を取るレプリカに大きなペナルティ係数αiが割り当てられるように交換が起こる。
第2の実施の形態によれば、逆温度βiを全て同じ値βとするため、第1の実施の形態に比べて交換の計算が簡単になるとともに、焼鈍部11a1〜11anと交換制御部12との間の通信量を低減できる。
(第3の実施の形態)
第3の実施の形態において、交換制御部12は、ペナルティ係数αiをαi=cβi−dとなるように選ぶ。cとdは所定の定数である。
第3の実施の形態において、交換制御部12は、ペナルティ係数αiをαi=cβi−dとなるように選ぶ。cとdは所定の定数である。
この場合、(式7)より、交換の確率は、pij=f((βi−βj)(Ei+cPi−Ej−cPj))と表せる。
そして、第1評価関数計算部21は、Ei+cPi(またはEj+cPj)を計算し、第2評価関数計算部22がPi(またはPj)を計算する。これにより、交換制御部12は、逆温度βiとペナルティ係数αiの交換の際、第2評価関数計算部22の計算結果の受信が不要になる。そのため、第1の実施の形態に比べ交換のための計算が簡単になるとともに、焼鈍部11a1〜11anと交換制御部12との間の通信量を低減できる。
そして、第1評価関数計算部21は、Ei+cPi(またはEj+cPj)を計算し、第2評価関数計算部22がPi(またはPj)を計算する。これにより、交換制御部12は、逆温度βiとペナルティ係数αiの交換の際、第2評価関数計算部22の計算結果の受信が不要になる。そのため、第1の実施の形態に比べ交換のための計算が簡単になるとともに、焼鈍部11a1〜11anと交換制御部12との間の通信量を低減できる。
(第4の実施の形態)
第4の実施の形態において、交換制御部12は、逆温度βiとペナルティ係数αiを独立に変化させたものを、各レプリカに割り当てる。逆温度βiの数をNβ、ペナルティ係数αiの数をNαとすると、以下の(式11)のようになる。
第4の実施の形態において、交換制御部12は、逆温度βiとペナルティ係数αiを独立に変化させたものを、各レプリカに割り当てる。逆温度βiの数をNβ、ペナルティ係数αiの数をNαとすると、以下の(式11)のようになる。
同じペナルティ係数(で隣接する逆温度)のレプリカ間における交換の確率は、pij=f((βi−βj)(Ei−Ej))と表される。同じ逆温度(で隣接するペナルティ係数)のレプリカ間における交換の確率はpij=f((αi−αj)(Pi−Pj))と表される。
交換制御部12は、上記2種類の交換を、一定数の反復ごとに行うが、2つを連続して行っても交互に行ってもよい。コスト関数項Ei及びペナルティ関数項Piの小さな(望ましい)状態を取るレプリカに大きな逆温度βiとペナルティ係数αiが割り当てられるように交換が起こる。
この方法では、交換はやや複雑になるが、逆温度βiとペナルティ係数αiの関係に対する制約は無いため、自由度の高い設定が可能である。
図3は、4つの実施の形態におけるパラメータの決定方法をまとめた図である。
図3は、4つの実施の形態におけるパラメータの決定方法をまとめた図である。
逆温度βiとペナルティ係数αiは、上記の4つの何れかの実施の形態の方法にしたがって決定される。
最後に、最適化装置10の全体の動作の流れをフローチャートでまとまる。
最後に、最適化装置10の全体の動作の流れをフローチャートでまとまる。
図4は、最適化装置の動作例を示すフローチャートである。
交換制御部12は、上記各実施の形態で説明したように決定したパラメータ(逆温度βiとペナルティ係数αi)を、焼鈍部11a1〜11anに供給する(ステップS10)。焼鈍部11a1〜11anの各々では、モンテカルロ探索が行われる(ステップS11)。モンテカルロ探索は、前述のコスト関数項Ei及びペナルティ関数項Piの計算、遷移制御部23による前述の処理(遷移制御)などを含む。
交換制御部12は、上記各実施の形態で説明したように決定したパラメータ(逆温度βiとペナルティ係数αi)を、焼鈍部11a1〜11anに供給する(ステップS10)。焼鈍部11a1〜11anの各々では、モンテカルロ探索が行われる(ステップS11)。モンテカルロ探索は、前述のコスト関数項Ei及びペナルティ関数項Piの計算、遷移制御部23による前述の処理(遷移制御)などを含む。
その後、交換制御部12は、モンテカルロ探索の終了条件が満たされたか否か(例えば、終了条件となる反復回数に達したか否か)を判定する(ステップS12)。
終了条件が満たされた場合、交換制御部12は、前述のように最終解を出力し(ステップS13)、処理を終了する。最終解は、例えば、最適化装置10の外部の装置(例えば、コンピュータ)や、図示しないメモリなどに供給される。
終了条件が満たされた場合、交換制御部12は、前述のように最終解を出力し(ステップS13)、処理を終了する。最終解は、例えば、最適化装置10の外部の装置(例えば、コンピュータ)や、図示しないメモリなどに供給される。
一方、終了条件が満たされていない場合、交換制御部12は反復回数が所定回数(終了条件の反復回数より小さい値)に達したか否かを判定する(ステップS14)。反復回数が所定回数に達した場合、交換制御部12は、前述の交換確率により、パラメータの交換処理を行い(ステップS15)、その後、ステップS11からの処理が繰り返される。反復回数が所定回数に達していない場合、ステップS11からの処理が繰り返される。
以上、実施の形態に基づき、本発明の最適化装置及びその制御方法の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
例えば、上記の説明では、交換制御部12は逆温度βiを焼鈍部11a1〜11anに供給するとしたが、温度を焼鈍部11a1〜11anに供給してもよい。その場合、焼鈍部11a1〜11anは、変換テーブルなどを用いて温度を逆温度βiに変換して用いてもよい。
例えば、上記の説明では、交換制御部12は逆温度βiを焼鈍部11a1〜11anに供給するとしたが、温度を焼鈍部11a1〜11anに供給してもよい。その場合、焼鈍部11a1〜11anは、変換テーブルなどを用いて温度を逆温度βiに変換して用いてもよい。
10 最適化装置
11a1〜11an 焼鈍部
12 交換制御部
20 状態保持部
21 第1評価関数計算部
22 第2評価関数計算部
23 遷移制御部
Ei コスト関数項
f フラグ
N 番号
Pi ペナルティ関数項
si 状態
αi ペナルティ係数
βi 逆温度
11a1〜11an 焼鈍部
12 交換制御部
20 状態保持部
21 第1評価関数計算部
22 第2評価関数計算部
23 遷移制御部
Ei コスト関数項
f フラグ
N 番号
Pi ペナルティ関数項
si 状態
αi ペナルティ係数
βi 逆温度
Claims (7)
- エネルギーを表す評価関数に含まれる複数の状態変数の値をそれぞれ保持する状態保持部と、
前記複数の状態変数の値の何れかが変化する状態遷移が起こる場合、前記評価関数のうち、コスト関数項を複数の状態遷移のそれぞれに対して計算する第1計算部と、
前記複数の状態変数の値の何れかが変化する状態遷移が起こる場合、前記評価関数のうち、ペナルティ関数項を前記複数の状態遷移のそれぞれに対して計算する第2計算部と、
逆温度とペナルティ係数との比と前記ペナルティ関数項との積と、前記コスト関数項とに基づいて、前記複数の状態遷移の何れかを受け入れるか否かを確率的に決定する制御を行う遷移制御部と、
を各々が有する複数の焼鈍部と、
前記複数の焼鈍部の各々に対して、前記比が前記複数の焼鈍部の間でそれぞれ異なる、逆温度を示す温度情報とペナルティ係数とをそれぞれ供給するとともに、前記複数の焼鈍部の各々から受けた、逆温度とペナルティ係数とコスト関数項とペナルティ関数項とに基づいた確率にしたがって、前記複数の焼鈍部のうち、第1の焼鈍部に供給される第1の逆温度と第2の焼鈍部に供給される第2の逆温度とを交換するとともに、前記第1の焼鈍部に供給される第1のペナルティ係数と前記第2の焼鈍部に供給される第2のペナルティ係数とを交換するか、または、前記第1の焼鈍部が保持する第1の複数の状態変数の値と前記第2の焼鈍部が保持する第2の複数の状態変数の値とを交換する交換制御部と、
を有する最適化装置。 - 前記遷移制御部は、前記比と前記ペナルティ関数項との積と、前記コスト関数項との和である等価エネルギーの、前記複数の状態遷移による変化に基づいて、前記複数の状態遷移の何れかを受け入れるか否かを確率的に決定する制御を行う、請求項1に記載の最適化装置。
- 前記交換制御部は、前記逆温度を示す前記温度情報とともに、前記逆温度が小さいほど、前記ペナルティ係数を前記逆温度で割った値を小さくする、前記ペナルティ係数を前記複数の焼鈍部の何れかに供給する、請求項1または2に記載の最適化装置。
- 前記交換制御部は、前記複数の焼鈍部の各々に対して、同一逆温度を示す前記温度情報を供給するとともに、前記複数の焼鈍部の各々の間でそれぞれ異なる前記ペナルティ係数を供給する、請求項1または2に記載の最適化装置。
- 前記ペナルティ係数は、前記逆温度と比例係数との積から定数を引いた値であり、前記第1計算部は、前記ペナルティ関数項と前記比例係数との積と、前記コスト関数項との和を計算する、請求項1または2に記載の最適化装置。
- 前記交換制御部は、前記逆温度と前記ペナルティ係数とを独立に変化させて、前記複数の焼鈍部のそれぞれに割り当てる、請求項1または2に記載の最適化装置。
- エネルギーを表す評価関数に含まれる複数の状態変数の値を保持する状態保持部をそれぞれ備える複数の焼鈍部を有する最適化装置の制御方法において、
前記複数の焼鈍部の各々が有する第1計算部が、前記複数の状態変数の値の何れかが変化する状態遷移が起こる場合、前記評価関数のうち、コスト関数項を複数の状態遷移のそれぞれに対して計算し、
前記複数の焼鈍部の各々が有する第2計算部が、前記複数の状態変数の値の何れかが変化する状態遷移が起こる場合、前記評価関数のうち、ペナルティ関数項を前記複数の状態遷移のそれぞれに対して計算し、
前記複数の焼鈍部の各々が有する遷移制御部が、逆温度とペナルティ係数との比と前記ペナルティ関数項との積と、前記コスト関数項とに基づいて、前記複数の状態遷移の何れかを受け入れるか否かを確率的に決定する制御を行い、
前記最適化装置が有する交換制御部が、前記複数の焼鈍部に対して、前記比が前記複数の焼鈍部の各々の間でそれぞれ異なる、逆温度を示す温度情報とペナルティ係数とをそれぞれ供給するとともに、前記複数の焼鈍部の各々から受けた、逆温度とペナルティ係数とコスト関数項とペナルティ関数項とに基づいた確率にしたがって、前記複数の焼鈍部のうち、第1の焼鈍部に供給される第1の逆温度と第2の焼鈍部に供給される第2の逆温度とを交換するとともに、前記第1の焼鈍部に供給される第1のペナルティ係数と前記第2の焼鈍部に供給される第2のペナルティ係数とを交換するか、または、前記第1の焼鈍部が保持する第1の複数の状態変数の値と前記第2の焼鈍部が保持する第2の複数の状態変数の値とを交換する、
最適化装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019001986A JP2019160293A (ja) | 2019-01-09 | 2019-01-09 | 最適化装置及び最適化装置の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019001986A JP2019160293A (ja) | 2019-01-09 | 2019-01-09 | 最適化装置及び最適化装置の制御方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018043896A Division JP6465231B1 (ja) | 2018-03-12 | 2018-03-12 | 最適化装置及び最適化装置の制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019160293A true JP2019160293A (ja) | 2019-09-19 |
Family
ID=67994094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019001986A Pending JP2019160293A (ja) | 2019-01-09 | 2019-01-09 | 最適化装置及び最適化装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019160293A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3869362A1 (en) * | 2020-02-18 | 2021-08-25 | Fujitsu Limited | Information processing method, information processing system, and program |
EP3937090A1 (en) | 2020-07-09 | 2022-01-12 | Fujitsu Limited | Information processing system, information processing method, and program |
-
2019
- 2019-01-09 JP JP2019001986A patent/JP2019160293A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3869362A1 (en) * | 2020-02-18 | 2021-08-25 | Fujitsu Limited | Information processing method, information processing system, and program |
EP3937090A1 (en) | 2020-07-09 | 2022-01-12 | Fujitsu Limited | Information processing system, information processing method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6465231B1 (ja) | 最適化装置及び最適化装置の制御方法 | |
JP6465092B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
Naderi et al. | Scheduling open shops with parallel machines to minimize total completion time | |
JP7197789B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
Engin et al. | An efficient genetic algorithm for hybrid flow shop scheduling with multiprocessor task problems | |
JP6923790B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
JP2020086821A (ja) | 最適化装置および最適化装置の制御方法 | |
JP7323777B2 (ja) | 最適化装置および最適化方法 | |
JP6993571B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
US20200356598A1 (en) | Obtaining dynamic embedding vectors of nodes in relationship graphs | |
JP7137064B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
Imamura et al. | Dynamics of a tagged particle in the asymmetric exclusion process with the step initial condition | |
JP2019160293A (ja) | 最適化装置及び最適化装置の制御方法 | |
JP2020106917A (ja) | 最適化装置及び最適化装置の制御方法 | |
Yevick et al. | The accuracy of restricted Boltzmann machine models of Ising systems | |
Zidani et al. | Multi-objective optimization by a new hybridized method: applications to random mechanical systems | |
JP2020187453A (ja) | 最適化装置および最適化装置の制御方法 | |
JP6997404B2 (ja) | 最適化装置、最適化装置の制御方法および最適化装置の制御プログラム | |
US20210173978A1 (en) | Optimization device, optimization device control method, and computer-readable recording medium recording optimization device control program | |
Shahidi et al. | A new method for reversible circuit synthesis using a Simulated Annealing algorithm and don’t-cares | |
D'Arcy et al. | Deep q-learning for directed acyclic graph generation | |
Lin et al. | Capacitated Preventive Health Infrastructure Planning with Accessibility-Based Service Equity | |
Jimbo et al. | A Hybrid Integer Encoding Method for Obtaining High-Quality Solutions of Quadratic Knapsack Problems on Solid-State Annealers | |
JP2019087273A (ja) | 最適化装置及び最適化装置の制御方法 | |
Singhal et al. | Hybrid genetic algorithm: Traveling salesman problem |