JPWO2020054024A1 - 最適化装置及び最適化装置の制御方法 - Google Patents

最適化装置及び最適化装置の制御方法 Download PDF

Info

Publication number
JPWO2020054024A1
JPWO2020054024A1 JP2020546628A JP2020546628A JPWO2020054024A1 JP WO2020054024 A1 JPWO2020054024 A1 JP WO2020054024A1 JP 2020546628 A JP2020546628 A JP 2020546628A JP 2020546628 A JP2020546628 A JP 2020546628A JP WO2020054024 A1 JPWO2020054024 A1 JP WO2020054024A1
Authority
JP
Japan
Prior art keywords
temperature
annealed
exchange
interest
evaluation function
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.)
Granted
Application number
JP2020546628A
Other languages
English (en)
Other versions
JP7047925B2 (ja
Inventor
佐々木 正人
正人 佐々木
聡 松浦
聡 松浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2020054024A1 publication Critical patent/JPWO2020054024A1/ja
Application granted granted Critical
Publication of JP7047925B2 publication Critical patent/JP7047925B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/485Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/08Probabilistic or stochastic CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/08Thermal analysis or thermal optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Nonlinear Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Feedback Control In General (AREA)

Abstract

最適化装置においてレプリカ交換法での交換が充分に行われる仕組みを提供する。最適化装置は、それぞれの状態とそれぞれの前記状態に各々対応する異なる温度とが割り当てられており、状態に応じたそれぞれの評価関数値を計算すると共に、温度及び評価関数値に応じた確率で状態を遷移させる複数の焼鈍部と、温度と評価関数値とに基づく所定の交換確率で温度又は状態を複数の焼鈍部の間で交換する交換部と、複数の焼鈍部のうちの着目焼鈍部に対して、温度が低い側に温度順の並びで隣接する第1の焼鈍部と着目焼鈍部との間の交換確率と、温度が高い側に温度順の並びで隣接する第2の焼鈍部と着目焼鈍部との間の交換確率とが、互いに近づくように着目焼鈍部の温度を変化させる温度調整部とを含む。

Description

本願開示は、最適化装置及び最適化装置の制御方法に関する。
最適化問題は、探索空間上で定義された目的関数の値を最小にする探索空間に属する点(解)を見つける問題である。探索空間が有限個の要素を有する離散集合である場合、探索空間に属する全ての点について計算した目的関数値を互いに比較することにより、総当たり的に最小値を見つけることができる。しかしながら、探索空間の次元数が増えると集合の要素の数が爆発的に大きくなり、総当たり的な探索が実質的に不可能になる。
焼き鈍し法(Simulated Annealing)は、金属を徐々に冷却して欠陥の少ない結晶を得る金属の焼き鈍し工程を模擬するものであり、探索空間に属する各点が物理現象の各状態に対応し、目的関数が各状態の有する系のエネルギーに対応する。また各状態の出現する確率に温度の概念を導入し、ある任意の温度においてはエネルギーが小さいほど状態の出現確率が高く、温度が低くなるほど異なる2つのエネルギー間の出現確率の比が大きくなるような確率分布を考える。当該確率分布を実現するように各状態を発生させながら状態を徐々に変化させ、充分に遅い速度で温度を低くしていくことにより、最小のエネルギー値を有する最適解に状態が収束することが期待できる。上記の確率分布としては例えばボルツマン分布を用いることができる。
上記確率分布に従う状態分布を実現するためには、マルコフ連鎖モンテカルロ法を用いることができる。マルコフ連鎖モンテカルロ法では、遷移確率を適切に定めることにより、当該遷移確率に従って遷移するマルコフ過程のサンプル列を所望の定常分布に収束させることができる。これを利用して、焼き鈍し法における状態を適切な遷移確率に従って遷移させていくことにより、所望の確率分布に従った状態の分布を実現することができる。
例えば、マルコフ連鎖モンテカルロ法の代表的なアルゴリズムであるメトロポリス法によりボルツマン分布を実現するためには、現在の状態のエネルギーから次の状態のエネルギーへの変化をΔEとしたとぎ、次の状態に遷移する確率Pを以下の式で定める。
P=min[1,exp(−βΔE)]
ここでβは逆温度(絶対温度Tの逆数)であり、β=1/Tである。関数min[1,x]は値1と値xとのいずれか小さい方の関数値を有する。上式によれば、ΔE≦0のときに確率1で次の状態に遷移し、0<ΔEのときに確率exp(−βΔE)で次の状態に遷移する。この遷移確率に従う状態間の遷移を充分な回数繰り返すと、各状態が有するエネルギーの分布(確率密度)がボルツマン分布に比例する系が実現される。この系においてメトロポリス法に基づいて状態を遷移させながら、充分に遅い速度で温度を低くしていくことにより、最小のエネルギー値を有する最適解に状態を収束させることができる。
焼き鈍し法では、最適化対象の問題毎に定まる温度低減のスケジュールに従って計算すれば最適解が得られることが保証されている。しかしながら、実用的な計算時間内で最適解を得ることは難しく、また最適化計算対象の問題毎に適切な温度低減のスケジュールを定めることが難しい。これらの問題を解決するための1つの単純なアプローチは、焼き鈍し法で最適解を探索する複数の系を用意し、それら複数の系を互いに独立且つ並列に走らせることである。系の数が多いほど、より最適解に近い解が見つかる確率が高くなる。
更なる工夫として、温度が異なる複数の系を用意し、それら複数の系を並列に走らせながら、適切な交換確率に従って系の間で状態又は温度を交換する方法が、レプリカ交換法である。交換確率としては、全ての系の確率分布を掛け算した同時分布関数が、交換操作を行っても不変であるように定められる。このような交換を行うことにより、状態が時間と共に遷移していく1つの状態列に着目したときに、当該状態列が温度が異なる複数の系を渡り歩きながら、最適解を探索していくことになる。レプリカ交換法では温度低減のスケジュールを考える必要がなく、単純な焼き鈍し法と比較して、短時間でより良好な解が求まることが期待できる。
しかしながら、各系のエネルギー及び温度の条件によっては、系間での交換が充分に行われないことがある。例えば、ある温度の系において高温側の系との交換確率が非常に高く且つ低温側の系との交換確率が非常に低い条件となるような各系のエネルギー分布が継続すると、この温度の位置において低温側から高温側への状態遷移ができない壁ができてしまう。レプリカ交換法では、低温から高温まで全温度範囲を状態列が往来することが重要であり、上記のような壁ができてしまうと、適切な解に収束しにくくなる。
特開2018−5541号公報 特開平9−231197号公報
以上を鑑みると、最適化装置においてレプリカ交換法での交換が充分に行われる仕組みを提供することが望まれる。
最適化装置は、それぞれの状態とそれぞれの前記状態に各々対応する異なる温度とが割り当てられており、前記状態に応じたそれぞれの評価関数値を計算すると共に、前記温度及び前記評価関数値に応じた確率で前記状態を遷移させる複数の焼鈍部と、前記温度と前記評価関数値とに基づく所定の交換確率で前記温度又は前記状態を前記複数の焼鈍部の間で交換する交換部と、前記複数の焼鈍部のうちの着目焼鈍部に対して、温度が低い側に温度順の並びで隣接する第1の焼鈍部と前記着目焼鈍部との間の交換確率と、温度が高い側に温度順の並びで隣接する第2の焼鈍部と前記着目焼鈍部との間の交換確率とが、互いに近づくように前記着目焼鈍部の前記温度を変化させる温度調整部とを含む。
少なくとも1つの実施例によれば、最適化装置においてレプリカ交換法での交換が充分に行われる仕組みを提供することができる。
最適化装置の構成の一例を示す図である。 焼鈍部の構成の一例を示す図である。 焼鈍部が実行するアニール処理の具体的な一例を示すフローチャートである。 交換制御部の概略的な構成の一例を示す図である。 状態番号保持部が保持するレプリカ番号対応テーブルの一例を示す図である。 温度保持部が保持する温度対応テーブルの一例を示す図である。 図1に示す最適化装置の動作の一例を概略的に示すフローチャートである。 図1に示す最適化装置の動作の一例を詳細に示すフローチャートである。 交換制御部の詳細な構成の一例を示す図である。 温度調整部による温度調整処理の処理の一例を示すフローチャートである。 奇数番目の温度番号に対する温度調整処理と偶数番目の温度番号に対する温度調整処理とを交互に繰り返す動作の一例を示す図である。 連番の全ての温度番号に対する温度調整処理を実行する動作の一例を示す図である。
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。以下の図において、同一又は対応する構成要素は同一又は対応する番号で参照し、その説明は適宜省略する。
図1は、最適化装置の構成の一例を示す図である。最適化装置は、複数の焼鈍部10−1乃至10−mと交換制御部11とを含む。焼鈍部10−1乃至10−m及び交換制御部11は、電子回路によりハードウェアとして構成される。図1及び以降の同様の図において、各ボックスで示される各回路又は機能ブロックと他の回路又は機能ブロックとの境界は、基本的には機能的な境界を示すものであり、物理的な位置の分離、電気的な信号の分離、制御論理的な分離等に対応するとは限らない。各回路又は機能ブロックは、他のブロックと物理的にある程度分離された1つのハードウェアモジュールであってもよいし、或いは他のブロックと物理的に一体となったハードウェアモジュール中の1つの機能を示したものであってもよい。
焼鈍部10−1乃至10−m(mは2以上の整数)は、それぞれの状態S1乃至Smを保持すると共にそれぞれの異なる逆温度β乃至βが割り当てられており、異なる温度の複数の系を実現する。逆温度は絶対温度Tの逆数(1/T)である。焼鈍部10−1乃至10−mの個数mは、レプリカ交換法に用いるに適した数多くの異なる温度に対応する個数であってよい。
焼鈍部10−1乃至10−mは、それぞれが独立に焼き鈍し法(Simulated Annealing)による処理(以降アニール処理)を実行してよい。即ち、焼鈍部10−1乃至10−mは、それぞれが保持する状態S乃至Sに応じたそれぞれの評価関数値を計算すると共に、それぞれの逆温度β乃至β及び評価関数値に応じた確率で状態S1乃至Smを遷移させてよい。但し図1に示す最適化装置ではレプリカ交換法を用いるので、各焼鈍部10−1乃至10−mにおいて温度を低減させる必要はなく、所定の確率で状態S乃至Sの遷移を繰り返せばよい。焼鈍部10−1乃至10−mの回路構成は基本的に互いに同一であってよい。
交換制御部11は、所定のタイミングにおいて、逆温度と評価関数値とに基づく所定の交換確率で、焼鈍部10−1乃至10−mの間で逆温度を交換する(即ち温度を交換する)。焼鈍部10−1乃至10−mは互いに同一の回路であり、互いを区別するものはそれぞれに割り振られた状態及び温度であるので、温度を交換する代わりに状態を交換してもよい。温度を交換することと状態を交換することとは等価である。以下の説明においては、交換制御部11が焼鈍部10−1乃至10−m間で逆温度を交換する構成を例として用いるが、交換制御部11が焼鈍部10−1乃至10−m間で状態を交換してもよい。
交換制御部11は更に、後述するように、焼鈍部10−1乃至10−mに割り振る逆温度を調整する(即ち温度を調整する)。より具体的には、温度順の並びにおいて着目焼鈍部に対して温度が低い側に隣接する焼鈍部との交換確率と温度が高い側に隣接する焼鈍部との交換確率とが互いに近づくように、着目焼鈍部の温度を変化させる。このような温度調整により、レプリカ交換法において交換が充分に行われるようにすることができる。
図2は、焼鈍部の構成の一例を示す図である。図2には、焼鈍部10−1乃至10−mの代表として、i番目の焼鈍部10−iの構成を示す。なお図2では、当該焼鈍部内での焼き鈍し法による処理を実行するに必要な構成のみが示されている。
焼鈍部10−iは、状態保持部21、評価関数計算部22、及び遷移制御部23を含む。状態保持部21は、焼鈍部10−iが有する状態Sを保持するレジスタ又はメモリ装置であってよい。評価関数計算部22は、状態保持部21が保持する状態Sを受け取り、状態Sに応じた評価関数値Eを計算する。遷移制御部23は、交換制御部11から割り当てられた逆温度βと評価関数計算部22が計算した評価関数値Eとに基づいて、現在の状態から次の状態への遷移を制御する。
具体的には、評価関数計算部22は、現在の状態Sの評価関数値Eを計算すると共に、現在の状態Sから僅かに変化した次の状態の候補である状態S'に対する評価関数値E'を計算し、更に両者の差分ΔE(=E'−E)を計算する。例えばSの確率分布としてボルツマン分布を想定し、メトロポリス法を用いる場合、次の状態S'に遷移する確率Pを以下の式で定めることができる。
P=min[1,exp(−βΔE)] (1)
メトロポリス法は限定的でない一例であり、例えばギブス・サンプリング法等の他の遷移制御アルゴリズムを用いてもよい。以下の説明では、メトロポリス法を用いた場合を例に用いる。
遷移制御部23は、確率Pに応じて次の状態S'に遷移するか否かを判定する。遷移制御部23は、遷移すると判定した場合には、状態保持部21に対して状態Sを状態S'に変化させるように指示する(或いは状態保持部21の状態Sを状態S'に書き換える)。遷移しないと判定した場合には、状態遷移は起こらず、現在の状態Sがそのまま維持される。以上の処理を繰り返すことにより、焼鈍部10−iは、アニール処理を実行する。
上記の評価関数の形式は特定の形式に限定されないが、例えばイジングモデルに基づく以下のエネルギー関数であってよい。
Figure 2020054024
ここでSは、以下のようにM個(M:正の整数)のスピンを有する状態である。
=(x,x,・・・,x) (3)
各スピンは0又は+1の値をとる。Wjkはスピン間の結合の重み係数であり、Wjj=0であってよい。またbはバイアスである。
図3は、焼鈍部が実行するアニール処理の具体的な一例を示すフローチャートである。図3に示すアニール処理は、図2に示される焼鈍部10−iの各部が実行する。
なお図3及び以降の図において、フローチャートに記載された各ステップの実行順序は一例にすぎず、本願の意図する技術範囲が、記載された実行順番に限定されるものではない。例えば、Aステップの次にBステップが実行されるように本願に説明されていたとしても、Aステップの次にBステップを実行することが可能なだけでなく、Bステップの次にAステップを実行することが、物理的且つ論理的に可能である場合がある。この場合、どちらの順番でステップを実行しても、当該フローチャートの処理に影響する全ての結果が同一であるならば、本願に開示の技術の目的のためには、Bステップの次にAステップが実行されてもよいことは自明である。Aステップの次にBステップが実行されるように本願に説明されていたとしても、上記のような自明な場合を本願の意図する技術範囲から除外することを意図するものではなく、そのような自明な場合は、当然に本願の意図する技術範囲内に属する。
図3のステップS1で、焼鈍部の評価関数計算部22は乱数を更新する。ステップS2で、評価関数計算部22は、各スピンxについて、当該スピンを反転させたときのエネルギーの差分ΔE(反転後のエネルギーから反転前のエネルギーを引いた値)を計算する。ステップS3で、遷移制御部23は、各スピンxについて反転確率Pを計算する。即ち、当該スピンxが反転する遷移が起こる確率を前述の式(1)を用いて計算する。なおこの際、反転確率を調整するためにエネルギーのオフセットEoffを導入し、式(1)のΔEの部分にはΔE−Eoffの値を用いて反転確率を計算する。オフセットEoffの初期値はゼロである。
ステップS4で、遷移制御部23は、各スピンxについて反転確率Pと一様乱数r(0<r<1)とを比較し、P>rであれば各スピンxに対応して設けられた反転フラグFjを1に設定する。P≦rであれば反転フラグFを0に設定する。ステップS5で、遷移制御部23は、1である反転フラグFが存在するか否かを判定する。1である反転フラグFが存在しない場合、遷移制御部23は、オフセットEoffを所定値増加する。その後、処理はステップS1に戻り以降の処理を繰り返す。
ステップS5で1である反転フラグFが存在する場合、処理はステップS7に進む。ステップS7で遷移制御部23は、一様乱数r'を用い、反転フラグFが1であるスピンxの中からランダムに1つのスピンxを選択する。ステップS8で、遷移制御部23はスピンxを反転させると共に、スピンx反転後のエネルギーを再計算することにより、状態とエネルギーとを更新する。
ステップS9で、遷移制御部23は、アニール処理として指定された回数のイタレーション処理のうちの最後のイタレーションが終了したか否かを判定する。最後のイタレーションが終了していない場合、遷移制御部23は、オフセットEoffをゼロにリセットし、ステップS1に処理を戻す。最後のイタレーションが終了した場合、焼鈍部は、アニール処理を終了する。
図4は、交換制御部11の概略的な構成の一例を示す図である。図4に示す交換制御部11は、レプリカ交換演算部31、温度調整部32、状態番号保持部33、及び温度保持部34を含む。交換制御部11は、焼鈍部10−iに接続されており、焼鈍部10−iから評価関数値E及び評価関数値の平均値aveEを受け取ると共に、焼鈍部10−iに対して割り当てる逆温度βを通知する。焼鈍部10−iは平均計算部24を含み、この平均計算部24が、状態の複数回の遷移に亘る評価関数値の平均値aveEを計算する。
図4においては、図示の都合上焼鈍部10−iのみが示されるが、交換制御部11は、図1に示されるように複数個の焼鈍部10−1乃至10−mに接続されている。交換制御部11は、焼鈍部10−1乃至10−mからそれぞれの評価関数値E1乃至Em及びその平均値aveE乃至aveEを受け取ると共に、焼鈍部10−1乃至10−mに対してそれぞれの逆温度β乃至βを通知する。
レプリカ交換演算部31は、所定のレプリカ交換タイミングにおいて、焼鈍部10−1乃至10−m間でレプリカ交換処理(即ち所定の確率で逆温度を交換する処理)を実行する。この所定のレプリカ交換タイミングとしては、焼鈍部10−1乃至10−mにおいてアニール処理の遷移動作(図3で説明したイタレーション)を所定回数実行完了する毎のタイミングであってよい。即ち、所定回数のイタレーションと逆温度の交換処理とを交互に繰り返し実行してよい。
レプリカ交換演算部31は、焼鈍部10−1乃至10−mのうち、温度交換の対象となる焼鈍部10−i及び焼鈍部10−jを選択する。焼鈍部10−i及び焼鈍部10−jは、逆温度順の並び(温度順の並び)で隣接する2つの焼鈍部であり、焼鈍部10−iの逆温度βは焼鈍部10−jの逆温度βよりも大きい。以降の説明において、逆温度の降順で並べられた焼鈍部を特定するために添字nを用い、温度交換の対象となる焼鈍部10−i及び焼鈍部10−jをそれぞれ焼鈍部10−n及び焼鈍部10−n+1と表記する。この表記に従えば、例えば焼鈍部10−n−1、10−n、10−n+1は、逆温度の降順の並びで隣接する3つの焼鈍部であり、それぞれの対応する逆温度βn−1、β、βn+1の大小関係はβn−1>β>βn+1である。以下の説明において、添字nを用いたときには、逆温度降順の並びに言及しているものとする。なお逆温度の降順の並びで処理する代わりに、逆温度の昇順の並びで処理を行ってもよい。
レプリカ交換演算部31は、焼鈍部10−n及び焼鈍部10−n+1の評価関数値E及びEn+1と逆温度βびβn+1とに基づいて、焼鈍部10−nと焼鈍部10−n+1との間で温度を交換するか否かを決定する。具体的には、以下の確率Pで温度交換を実行する。
=min[1,exp{(β−βn+1)(E−En+1)}] (4)
一様乱数とPとを比較して、乱数値よりもPの方が大きいときに逆温度を交換すればよい。Pが乱数値以下である場合には逆温度は交換しない。
レプリカ交換演算部31は、一回のレプリカ交換タイミングにおいて、交換対象となる2つの焼鈍部を順次選択していくことにより、全ての焼鈍部10−1乃至10−mに対して上記のレプリカ交換処理を実行する。或いは、レプリカ交換演算部31は、全ての焼鈍部10−1乃至10−mに対するレプリカ交換処理を並列に実行してよい。交換対象のペアとなる2つの焼鈍部は、奇数回目のレプリカ交換タイミングにおいて、例えば奇数番目の焼鈍部とその次の番号の焼鈍部とであり、偶数回目のレプリカ交換タイミングにおいて、例えば偶数番目の焼鈍部とその次の番号の焼鈍部とであってよい。
状態番号保持部33は、レプリカ番号(焼鈍部の番号)と温度番号とを対応付けて格納したレプリカ番号対応テーブルを有する。ここで言うレプリカ番号は、逆温度順の並びとは無関係であり、物理的な実体としての各焼鈍部10−1乃至10−mを特定する番号である。このレプリカ番号対応テーブルに基づいて、レプリカ番号iである焼鈍部10−iに割り当てられているβは何番の温度番号に対応するのかが特定できる。
また温度保持部34は、温度番号と逆温度値(又は温度値)とを対応付けて格納した温度対応テーブルを有する。この温度対応テーブルに基づいて、何番の温度番号が幾つの逆温度値に対応するのかが特定できる。これらのレプリカ番号対応テーブルと温度対応テーブルとを用いて、焼鈍部10−1乃至10−mへの逆温度値の割り当て及び交換処理が管理される。
図5は、状態番号保持部33が保持するレプリカ番号対応テーブル40の一例を示す図である。図5に示されるように、レプリカ番号0乃至15がそれぞれ温度番号0乃至15に割り当てられている。図5は例えば初期状態の対応関係を示しており、レプリカ交換が進んだ後では、レプリカ番号0乃至15と温度番号0乃至15との対応関係はランダムになっている。この際、温度番号0乃至15については図5に示されるように昇順の並びのままとし、レプリカ番号について順番を並べ替えることが好ましい。これは、温度交換の際には温度順の並びで隣接した2つの温度間で交換をするので、レプリカ番号対応テーブル40において温度順の並びを保持しておいた方が、隣接する2つの温度に対応するレプリカ番号を特定しやすいからである。図5において、テーブルのエントリ数は一例として16である場合が示されているが、テーブルのエントリ数は特定の数に限定されない。
図6は、温度保持部34が保持する温度対応テーブル41の一例を示す図である。図6に示されるように、温度番号0乃至15がそれぞれ逆温度値A乃至Pに割り当てられている。本実施例においては、逆温度値A乃至Pは降順に並んでいる。即ち、温度番号0の側において逆温度が高く(温度が低く)、温度番号15の側において逆温度が低い(温度が高い)配置となっている。図6において、テーブルのエントリ数は一例として16である場合が示されているが、テーブルのエントリ数は特定の数に限定されない。
図4に戻り、レプリカ交換演算部31は、焼鈍部10−nと焼鈍部10−n+1との間で逆温度を交換すると判定すると、状態番号保持部33に保持されるレプリカ番号対応テーブル40において、レプリカ番号nとレプリカ番号n+1との位置を入れ替える。このようにレプリカ番号nとレプリカ番号n+1との位置を入れ替えることにより、レプリカ番号n及びn+1とそれぞれに割り当てられている温度番号との対応関係を入れ替えることができる。例えば、図5においては、レプリカ番号10及びレプリカ番号11がそれぞれ温度番号10及び11に対応付けられている。この状態から、矢印で示されるようにレプリカ番号を入れ替えることにより、レプリカ番号11及びレプリカ番号10がそれぞれ温度番号10及び11に対応付けられるように、レプリカ番号対応テーブル40が更新される。
レプリカ交換演算部31は、焼鈍部10−iに通知する逆温度βの値として、レプリカ番号対応テーブル40においてレプリカ番号i番目に対応する温度番号を参照し、当該温度番号に対応する逆温度値を温度対応テーブル41から読み出す。レプリカ交換演算部31は、この読み出した逆温度値を逆温度βの値として焼鈍部10−iに通知する。
図4に示される温度調整部32は、レプリカ交換演算部31によるレプリカ交換直後のタイミングにおいて、温度保持部34に保持される温度対応テーブル41のエントリである逆温度値(又は温度値)を書き換えることにより温度調整を実行する。具体的には、温度調整部32は、第1の焼鈍部10−n−1と着目焼鈍部10−nとの間の交換確率と、第2の焼鈍部10−n+1と着目焼鈍部10−nとの間の交換確率とが、互いに近づくように着目焼鈍部10−nの温度を変化させる。ここで第1の焼鈍部10−n−1は、着目焼鈍部10−nに対して、温度が低い側(逆温度が高い側)に温度順の並びで隣接する焼鈍部である。また第2の焼鈍部10−n+1は、着目焼鈍部10−nに対して、温度が高い側(逆温度が低い側)に温度順の並びで隣接する焼鈍部である。
交換確率は、前述のように式(4)により計算される。式(4)から分かるように、交換確率は交換対象の2つの系の絶対温度と評価関数値とに応じた値である。この評価関数値は状態遷移に応じて細かい変動を示すが、この局所的な変動の影響を受けると、安定した温度調整を実現することが難しい可能性がある。そこで温度調整部32において2つの交換確率が互いに近づくように着目焼鈍部10−nの温度を変化させる際には、平均的な意味で交換確率が互いに近づくような処理を行ってよい。具体的には、温度調整部32は、状態の複数回の遷移に亘る評価関数値の平均値を用いて求めた、第1の焼鈍部と着目焼鈍部との間の交換確率と、第2の焼鈍部と着目焼鈍部との間の交換確率とが、互いに近づくように着目焼鈍部10−nの温度を変化させてよい。このように評価関数値Eそのものではなく評価関数値の平均値aveEを用いて交換確率を計算し、2つの交換確率が近づくように着目焼鈍部10−nの温度を変化させることにより、状態の局所的な変動に影響を受けずに安定した温度調整が可能になる。
具体的には、温度調整部32は、exp{(βn−1−β)(aveEn−1−aveE)}の値とexp{(β−βn+1)(aveE−aveEn+1)}の値とを比較すればよい。これら2つの値の大小関係を判定すればよいので、温度保持部34は、これら2つの値の指数部の大きさを比較すればよいことになる。より具体的には、温度保持部34は、以下のアルゴリズムにより、βの調整を行えばよい。
<A1:符号判断>
(aveEn−1−aveE)又は(aveE−aveEn+1)のいずれかが正である場合(即ち少なくとも一方の交換確率が1の場合)、βの調整は行わない
<A2:方向判断1>
|(βn−1−β)(aveEn−1−aveE)|>|(β−βn+1)(aveE−aveEn+1)|であれば、βをβn−1側に近づける(βを増加させる)
<A3:方向判断2>
|(βn−1−β)(aveEn−1−aveE)|<|(β−βn+1)(aveE−aveEn+1)|であれば、βをβn+1側に近づける(βを減少させる)
上記のように、少なくとも一方の交換確率が1の場合にβの調整は行わない制御とすることにより、レプリカ交換が充分に行われる温度位置において不要な温度調整を避けることができる。
温度調整部32により更新された温度対応テーブル41の逆温度値は、レプリカ交換演算部31から各焼鈍部10−1乃至10−mに通知される。以上のレプリカ交換処理及び温度調整処理の後、各焼鈍部10−1乃至10−mは、前述のようにアニール処理を実行する。
図7は、図1に示す最適化装置の動作の一例を概略的に示すフローチャートである。ステップS11において、焼鈍部10−1乃至10−mはアニール処理を実行する。ステップS12において、焼鈍部10−1乃至10−mは、評価関数値E1乃至Em及び平均評価関数値aveE1乃至aveEmを交換制御部11に送信する。
ステップS13において、交換制御部11は、全ての焼鈍部10−1乃至10−mに対して、温度番号順の並び(即ち温度順の並び)において隣接する焼鈍部間でのレプリカ交換処理を行う。ステップS14において、交換制御部11は、全ての焼鈍部10−1乃至10−mに対して、温度番号順の並びにおいて隣接する焼鈍部間での交換確率が互いに近づくように、逆温度の値を調整する。
以上のステップS11乃至S14の処理が1ラウンドの処理に相当する。図1に示す最適化装置は、当該1ラウンドの処理を繰り返し実行することにより、レプリカ交換法に基づくアニール処理を実行する。
図8は、図1に示す最適化装置の動作の一例を詳細に示すフローチャートである。ステップS21で、焼鈍部10−1乃至10−mはアニール処理を実行する。焼鈍部10−1乃至10−mは、所定のイタレーション回数のアニール処理を実行した後に、評価関数値E1乃至Em及び平均評価関数値aveE1乃至aveEmを交換制御部11に送信してよい。
ステップS22で、交換制御部11のレプリカ交換演算部31は、温度番号順に従って1つのレプリカ交換対象ペア(即ち2つの焼鈍部)を決定し、ペアをなす2つの焼鈍部間でのレプリカ交換処理(即ち所定の確率で逆温度を交換する処理)を行う。この際、レプリカ交換演算部31は、温度番号を例えば初期値0に設定し、例えば図5に示すレプリカ番号対応テーブル40における温度番号0番に対応する焼鈍部と温度番号1番に対応する焼鈍部とを、最初のレプリカ交換ペアとして選択してよい。この場合、レプリカ交換演算部31は、温度番号偶数番に対応する焼鈍部とその次の温度番号に対応する焼鈍部とのレプリカ交換処理を実行することになる。温度番号奇数番に対応する焼鈍部とその次の温度番号に対応する焼鈍部とのレプリカ交換処理を実行する場合には、レプリカ交換演算部31は、温度番号1番に対応する焼鈍部と温度番号2番に対応する焼鈍部とを、最初のレプリカ交換ペアとして選択してよい。
ステップS23で、交換制御部11の温度調整部32は、インデックスL及び上記ペアとその隣接温度番号に対応する逆温度β及び平均評価関数値aveEのデータを取得する。レプリカ交換処理が奇数番目を基点とするペア又は偶数番を基点するペアについて実行されるのに対応して、温度調整も奇数番又は偶数番のいずれかの温度番号の逆温度に対して実行してよい。奇数番又は偶数番の温度番号に対して実行する場合、レプリカ交換対象ペアの温度番号がn,n+1であるならば、温度番号n−1,n,n+1に対応するβ及びaveEのデータをステップS23で取得し、逆温度βを調整すればよい。また或いは、温度調整は、連番の全ての温度番号の逆温度に対して実行してもよい。連番の全ての温度番号に対して実行する場合には、レプリカ交換対象ペアの温度番号がn,n+1であるならば、温度番号n−1,n,n+1,n+2に対応するβ及びaveEのデータをステップS23で取得し、逆温度β及びβn+1を調整すればよい。この際、温度番号n−1,n,n+1に対応するデータに基づく処理により逆温度βを調整し、温度番号n,n+1,n+2に対応するデータに基づく処理により逆温度βを調整すればよい。温度番号nが0番である場合又は温度番号n+1が最終番号である場合には、温度番号0番や温度番号n+1番に対する温度調整処理は行わない。
上記ステップS23でのデータ取得に際し、温度調整部32は、レプリカ交換演算部31が特定したレプリカ交換対象ペアのレプリカ番号情報に基づいて、各焼鈍部10−1乃至10−m及び温度対応テーブル41から直接にβ及びaveEのデータを取得してよい。或いは温度調整部32は、逆温度β及び平均評価関数値aveEのデータのうち、一部又は全てのデータをレプリカ交換演算部31から取得してよい。
ステップS24で、温度調整部32は、着目焼鈍部10−n(即ち温度番号n番の焼鈍部)の逆温度調整を行うか否かを、逆温度β及び平均評価関数値aveEに基づく前述のアルゴルズムにより判定する。
温度調整を行うと判定された場合、ステップS25で、温度調整部32は、前述のアルゴリズムに従い、シフト方向(βを増加させるか或いは減少させるか)を決定する。ステップS26で、温度調整部32は、インデックスLと隣接焼鈍部の逆温度値とに基づいてシフト量を決定する。具体的には、着目焼鈍部(逆温度調整対象の焼鈍部)の逆温度βを近づける側に位置する隣接焼鈍部の逆温度βと着目焼鈍部の逆温度βとの差分を1/2倍することにより、シフト量を計算してよい。このシフト量の計算については後ほど詳しく説明する。ステップS27で、温度調整部32は、少なくとも上記ペアのうちの1つの焼鈍部(n番の焼鈍部又はn番及びn+1番の焼鈍部)の逆温度を、上記のシフト方向に上記のシフト量だけ移動させる。
その後、処理はステップS27からステップS28に進む。また前述のステップS24で温度調整を行わないと判定された場合にも、処理はステップS24からステップS28に進む。
ステップS28で、温度調整部32は、現在の温度番号の設定値が最後の温度番号値であるか否かを判定する。最後の温度番号値ではないと判定された場合、温度調整部32は、次のレプリカ交換処理の対象となるペアを指定するために、温度番号を2増加させる。その後、処理はステップS22に戻り以降の処理を繰り返す。
なお奇数番又は偶数番の温度番号に対して交互に逆温度調整処理を実行する場合には、温度対応テーブル41において逆温度を逐次的に順次更新してよい。一方、連番の全ての温度番号に対して逆温度調整処理を実行する場合には、順次計算された逆温度の更新値をレジスタ等に別途保存しておき、全ての逆温度調整処理の計算が終了してから温度対応テーブル41の逆温度を纏めて更新することになる。
以上の処理では温度番号設定値を値の小さい側から順に増加させていく方向に処理を進めているが、逆に温度番号設定値を値の大きい側から順に減少させていくのでもよい。なお図8に示すように各ペアについて逐次的に順番に温度調整処理を実行してもよいし、或いは全てのペアに対して同時並列的に同等の温度調整処理を実行してもよい。
図9は、交換制御部11の詳細な構成の一例を示す図である。図9に示す交換制御部11及び焼鈍部10−iの構成は、図4に示す交換制御部11及び焼鈍部10−iの構成をより詳細に示したものである。図9に示す交換制御部11では、図4に示す交換制御部11と比較して、温度調整部32の構成及び温度調整部32の信号の入出力をより詳細に示してある。
図9に示す交換制御部11は、レプリカ交換演算部31、温度調整部32、状態番号保持部33、温度保持部34、及びインデックス保持部35を含む。インデックス保持部35は、前述の図8のフローチャートに示す処理で説明したインデックスLを保持するレジスタである。インデックスLについては、外部から所望の値を設定可能であってよい。
図9に示される焼鈍部10−iは、焼鈍実行部100及び平均計算部24を含む。焼鈍実行部100は、図2に示す状態保持部21、評価関数計算部22、及び遷移制御部23に相当する部分であってよい。平均計算部24は、平均再計算部25及び平均記憶部26を含む。平均再計算部25は、以下の式により評価関数の平均値aveEを更新していく。
aveE=aveE+(E−aveE)・(1/2) (5)
ここでKは平均値を求める幅に応じた正の整数である。評価関数値E及び平均評価関数値aveEは最適化装置において固定小数点数として表現されてよい。平均評価値aveEを求めるための除数(2)は2の累乗である。従って、固定小数点で表現された値の加減算及びシフト演算のみにより、平均評価関数値aveEの計算を行うことができる。これにより、計算を簡潔にして速い処理速度を実現すると共に、簡潔で小規模のハードウェアにより平均再計算部25を実装することが可能となる。
なお上記の式(5)では、平均評価関数値aveEと評価関数値Eとに基づいて平均評価関数値aveEを再計算しているが、複数の遷移に亘る評価関数値Eの移動平均として2個の評価関数値Eの平均をとる演算により平均評価関数値aveEを求めてもよい。この場合も、固定小数点で表現された値の加減算及びシフト演算のみにより、平均評価関数値aveEの計算を行うことができる。
温度調整部32は、温度調整制御部51及び温度再計算部61を含む。温度調整制御部51は、符号判断部52、交換確率計算部53、シフト方向判断部54、及びβ再計算指示部55を含む。温度再計算部61は、シフト量計算部62及びβ再計算部63を含む。
温度調整制御部51は、レプリカ交換演算部31から、温度調整演算の対象となる温度番号n−1乃至n+1と、対応する焼鈍部10−n−1乃至10−n+1のレプリカ番号と、対応する逆温度βn−1乃至βn+1とを受け取ってよい。温度調整制御部51は、受け取ったレプリカ番号に基づいて、焼鈍部10−1乃至10−mからの平均評価関数値aveE乃至aveEのうち、対応するaveEn−1乃至aveEn+1を特定することができる。
符号判断部52は、(aveEn−1−aveE)及び(aveE−aveEn+1)について、それぞれの符号を判断することにより、前述のアルゴリズムの「A1:符号判断」の処理を行う。いずれの符号も負である場合にのみ、温度調整制御部51は温度調整処理を実行する。
交換確率計算部53は、逆温度のシフト方向を決定するための基となる交換確率値を計算する。交換確率計算部53は実際に交換確率を計算してもよいが、交換確率値そのものを計算する代わりに、前述のアルゴリズムに用いる(βn−1−β)(aveEn−1−aveE)の絶対値及び(β−βn+1)(aveE−aveEn+1)の絶対値を計算すればよい。
シフト方向判断部54は、前述のアルゴリズムの「A2:方向判断1」及び「A3:方向判断2」に基づいて、逆温度βをシフトする方向(増加方向又は減少方向)を判断する。β再計算指示部55は、温度再計算部61に逆温度βを再計算する指示を送信する。
温度再計算部61が逆温度βの再計算指示を受信すると、温度再計算部61のシフト量計算部62は、以下のいずれかの式によりシフト量Sを計算する。
S=(βn−1−β)/2 (βを増加させβn−1に近づける場合) (6)
S=(β−βn+1)/2 (βを減少させβn+1に近づける場合) (7)
ここでLはインデックス保持部35に保持される正の整数である。
β再計算部63は、温度再計算部61が計算した上記シフト量Sだけ逆温度βを増加又は減少させることにより、逆温度βの更新後の値を計算する。
β再計算部63が更新後の逆温度βを温度保持部34に送信すると共に、β再計算指示部55が温度番号nの逆温度値を更新する指示を温度保持部34に送信する。これにより、温度保持部34に保持される温度対応テーブル41(図6参照)において温度番号nに対応する逆温度値が更新後の値に書き換えられる。
上述のシフト量S(逆温度の変化幅)は、着目焼鈍部10−nの逆温度βと、第1の焼鈍部10−n−1又は第2の焼鈍部10−n+1の逆温度βn−1又はβn+1との差を2の累乗(2)で除算した値である。ここで逆温度は浮動小数点値で表現されてよい。逆温度βを更新する計算は、浮動小数点で表現された値の加減算及び指数部の減算のみにより行うことが可能である。従って、逆温度更新演算の計算コストが比較的小さくてすみ、また比較的単純なハードウェアで温度再計算部61を実装することが可能となる。
また着目焼鈍部10−nの温度を変化させる際の逆温度βの変化幅Sは、着目焼鈍部の逆温度βと、第1の焼鈍部又は第2の焼鈍部の逆温度βn−1又はβn+1との差に比例する値となっているため、交換確率差に応じた値となっていると言える。このように固定ではない可変のシフト量Sを用いることで、適切なシフト量による逆温度調整を実現することが可能となる。
図10は、温度調整部32による温度調整処理の処理の一例を示すフローチャートである。図10に示す温度調整処理は、図8に示す最適化装置の動作フローチャートにおいて説明したように、レプリカ交換処理と一体的に実行してよい。或いは図10に示す温度調整処理は、焼鈍部10−1乃至10−mに対するレプリカ交換処理を全て実行し終わった後に、レプリカ交換処理とは別個に実行してもよい。
ステップS31で、温度番号nを例えば1に初期化する。この温度番号nを制御するのは、レプリカ交換演算部31であってよい。ステップS32で、温度調整部32は、インデックスL、βn−1乃至βn+1、及びaveEn−1乃至aveEn+1を取得する。ステップS33で、温度調整部32は、符号判断部52の符号判断に基づいて、温度調整の可否を判断する。温度調整しないと判断された場合、処理はステップS40に進む。温度調整すると判断された場合、処理はステップS34に進む。
ステップS34で、温度調整部32は、交換確率計算部53により、温度番号n−1の焼鈍部と温度番号nの焼鈍部との間での温度交換確率Pn−1,nを計算すると共に、温度番号nの焼鈍部と温度番号n+1の焼鈍部との間での温度交換確率Pn,n+1を計算する。ステップS35で、温度調整部32は、シフト方向判断部54により、温度交換確率Pn,n+1が温度交換確率Pn−1,nより大きいか否かを判断する。Pn,n+1>Pn−1,nである場合には、これら2つの交換確率を互いに近づけるためにはβをβn−1に近づける必要があり、ステップS36に進む。またPn,n+1<Pn−1,nである場合には、これら2つの交換確率を互いに近づけるためにはβをβn+1に近づける必要があり、ステップS38に進む。なお前述のように、交換確率を実際に計算することなく、前述のアルゴリズムの「A2:方向判断1」及び「A3:方向判断2」に従ってβの調整方向を判断してよい。
ステップS36で、温度調整部32は、シフト量計算部62により前述の式(6)によりシフト量Sを計算する。ステップS37で、温度調整部32は、βn再計算部63によりβ+Sを計算してβの更新値を求める。
ステップS38で、温度調整部32は、シフト量計算部62により前述の式(7)によりシフト量Sを計算する。ステップS39で、温度調整部32は、βn再計算部63によりβ−Sを計算してβの更新値を求める。
ステップS40で、温度番号nが最後の温度番号であるか否かを判断する。この判断はレプリカ交換演算部31が行ってよい。最後の温度番号ではないと判断した場合、ステップS41で、レプリカ交換演算部31は温度番号nをインクリメントする。その後処理はステップS32に戻り以降の処理を繰り返す。
図11は、奇数番目の温度番号に対する温度調整処理と偶数番目の温度番号に対する温度調整処理とを交互に繰り返す動作の一例を示す図である。図11において、左側から右側に向けて順番にタイミングT1乃至T3における温度対応テーブル41の温度調整が示されている。1回目のラウンドにおける温度調整処理がタイミングT1に示す温度対応テーブル41に示されている。その後、アニール処理及びレプリカ交換処理を得て、2回目のラウンドにおける温度調整処理がタイミングT2に示す温度対応テーブル41に示されている。その後、更なるアニール処理及びレプリカ交換処理を得て、3回目のラウンドにおける温度調整処理がタイミングT3に示す温度対応テーブル41に示されている。
例えばタイミングT1における温度調整処理では、奇数番目の温度番号に対応する逆温度が温度調整対象となっている。具体的には、温度番号1,5,11に対応する逆温度が新たな値に更新されている。また温度番号3,7,9,13に対応する逆温度については、温度調整のための基準を満たさないため(即ち前述のアルゴリズムの「A1:符号判断」で温度調整しないと判断されたため)、点線の空の四角で示すように元の逆温度値がそのまま保持されている。
またタイミングT2における温度調整処理では、偶数番目の温度番号に対応する逆温度が温度調整対象となっている。具体的には、温度番号4,6,12に対応する逆温度が新たな値に更新されている。また温度番号2,8,10,14に対応する逆温度については、温度調整のための基準を満たさないため(即ち前述のアルゴリズムの「A1:符号判断」で温度調整しないと判断されたため)、点線の空の四角で示すように元の逆温度値がそのまま保持されている。
なお最小の温度番号(この例では0)及び最大の温度番号(この例では15)は温度調整の対象とはしない。従って温度番号0の逆温度はこの例では100に維持され続け、温度番号15の逆温度はこの例では1に維持され続ける。
図11に示す温度調整の方法は、レプリカ交換処理と一体的に温度調整を実行する場合に都合がよい。レプリカ交換処理では偶数番目を基点とするペアに対する交換処理と奇数番目を基点とするペアに対する交換処理とが交互に繰り返される。従って、レプリカ交換演算部31による交換処理における温度番号の制御動作をそのまま利用して温度調整に対する温度番号の制御を行えるので、効率的な温度調整処理を実現することができる。
図12は、連番の全ての温度番号に対する温度調整処理を実行する動作の一例を示す図である。図12において、左側から右側に向けて順番にタイミングT1乃至T3における温度対応テーブル41の温度調整が示されている。1回目のラウンドにおける温度調整処理がタイミングT1に示す温度対応テーブル41に示されている。その後、アニール処理及びレプリカ交換処理を得て、2回目のラウンドにおける温度調整処理がタイミングT2に示す温度対応テーブル41に示されている。その後、更なるアニール処理及びレプリカ交換処理を得て、3回目のラウンドにおける温度調整処理がタイミングT3に示す温度対応テーブル41に示されている。
例えばタイミングT1における温度調整処理では、温度番号1,4,5,6,11,12に対応する逆温度が新たな値に更新されている。また温度番号2,3,7,8,9,10,13,14に対応する逆温度については、温度調整のための基準を満たさないため、点線の空の四角で示すように元の逆温度値がそのまま保持されている。最小の温度番号及び最大の温度番号は温度調整の対象とはしないことは、図11の場合と同様である。
図12に示す温度調整方法は、図11に示す方法と比較して、各温度番号に対してより細かいインターバル(1/2のインターバル)で温度調整処理を実行できるという利点がある。一方、図12に示す温度調整方法の場合には、温度対応テーブル41における逆温度の更新を全ての逆温度調整処理の計算が終了してから纏めて行う、或いは交換確率等の計算値を全ての温度番号に対して予め計算して保持しておく、等の工夫が必要になる。そのため交換制御部11の回路規模が、図11に示す方法の場合と比較して、若干増大する可能性がある。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
10−1乃至10−m 焼鈍部
11 交換制御部
21 状態保持部
22 評価関数計算部
23 遷移制御部
31 レプリカ交換演算部
32 温度調整部
33 状態番号保持部
34 温度保持部
35 インデックス保持部
51 温度調整制御部
52 符号判断部
53 交換確率計算部
54 シフト方向判断部
55 β再計算指示部
61 温度再計算部
62 シフト量計算部
63 β再計算部

Claims (8)

  1. それぞれの状態とそれぞれの前記状態に各々対応する異なる温度とが割り当てられており、前記状態に応じたそれぞれの評価関数値を計算すると共に、前記温度及び前記評価関数値に応じた確率で前記状態を遷移させる複数の焼鈍部と、
    前記温度と前記評価関数値とに基づく所定の交換確率で前記温度又は前記状態を前記複数の焼鈍部の間で交換する交換部と、
    前記複数の焼鈍部のうちの着目焼鈍部に対して、温度が低い側に温度順の並びで隣接する第1の焼鈍部と前記着目焼鈍部との間の交換確率と、温度が高い側に温度順の並びで隣接する第2の焼鈍部と前記着目焼鈍部との間の交換確率とが、互いに近づくように前記着目焼鈍部の前記温度を変化させる温度調整部と
    を含む最適化装置。
  2. 前記温度調整部は、前記状態の複数回の遷移に亘る前記評価関数値の平均値に基づいた、前記第1の焼鈍部と前記着目焼鈍部との間の交換確率と、前記第2の焼鈍部と前記着目焼鈍部との間の交換確率とが、互いに近づくように前記着目焼鈍部の前記温度を変化させる、請求項1記載の最適化装置。
  3. 前記温度調整部は、前記第1の焼鈍部と前記着目焼鈍部との間の交換確率と前記第2の焼鈍部と前記着目焼鈍部との間の交換確率とのいずれか一方が1である場合には前記着目焼鈍部の前記温度を変化させない、請求項1又は2記載の最適化装置。
  4. 前記温度調整部は、温度順に並んだ前記複数の焼鈍部に対して、偶数番の焼鈍部に対する温度調整処理と奇数番の焼鈍部に対する温度調整処理とを交互に実行する、請求項1乃至3いずれか一項記載の最適化装置。
  5. 前記評価関数値及び前記平均値は固定小数点で表現され、前記平均値を求めるための除数は2の累乗であり、固定小数点で表現された値の加減算及びシフト演算のみにより前記評価関数値の前記平均値の計算を行う、請求項2記載の最適化装置。
  6. 前記着目焼鈍部の温度を変化させる際の逆温度の変化幅は、前記着目焼鈍部の逆温度と、前記第1の焼鈍部又は前記第2の焼鈍部の逆温度との差に比例する値である、請求項1乃至5いずれか一項記載の最適化装置。
  7. 前記着目焼鈍部の温度を変化させる際の逆温度の変化幅は、前記着目焼鈍部の逆温度と、前記第1の焼鈍部又は前記第2の焼鈍部の逆温度との差を2の累乗で除算した値であり、前記逆温度は浮動小数点で表現され、浮動小数点で表現された値の加減算及び指数部の減算のみにより前記着目焼鈍部の前記温度を変化させる計算を行う、請求項1乃至5いずれか一項記載の最適化装置。
  8. それぞれの状態とそれぞれの前記状態に各々対応する異なる温度とが割り当てられた複数の焼鈍部において、前記状態に応じたそれぞれの評価関数値を計算すると共に、前記温度及び前記評価関数値に応じた確率で前記状態を遷移させ、
    前記温度と前記評価関数値とに基づく所定の交換確率で前記温度又は前記状態を前記複数の焼鈍部の間で交換し、
    前記複数の焼鈍部のうちの着目焼鈍部に対して、温度が低い側に温度順の並びで隣接する第1の焼鈍部と前記着目焼鈍部との間の交換確率と、温度が高い側に温度順の並びで隣接する第2の焼鈍部と前記着目焼鈍部との間の交換確率とが、互いに近づくように前記着目焼鈍部の前記温度を変化させる
    各段階を含む最適化装置の制御方法。
JP2020546628A 2018-09-13 2018-09-13 最適化装置及び最適化装置の制御方法 Active JP7047925B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/034000 WO2020054024A1 (ja) 2018-09-13 2018-09-13 最適化装置及び最適化装置の制御方法

Publications (2)

Publication Number Publication Date
JPWO2020054024A1 true JPWO2020054024A1 (ja) 2021-08-30
JP7047925B2 JP7047925B2 (ja) 2022-04-05

Family

ID=69776510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020546628A Active JP7047925B2 (ja) 2018-09-13 2018-09-13 最適化装置及び最適化装置の制御方法

Country Status (5)

Country Link
US (1) US11928403B2 (ja)
EP (1) EP3852029A4 (ja)
JP (1) JP7047925B2 (ja)
CA (1) CA3111975A1 (ja)
WO (1) WO2020054024A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7239826B2 (ja) * 2019-06-18 2023-03-15 富士通株式会社 サンプリング装置およびサンプリング方法
JP2021184148A (ja) * 2020-05-21 2021-12-02 富士通株式会社 最適化装置、最適化方法、および最適化プログラム
CN116151171B (zh) * 2023-04-17 2023-07-18 华南理工大学 一种基于并行回火的全连接伊辛模型退火处理电路

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250346A (ja) * 1992-03-04 1993-09-28 Nec Corp ニューラルネットワークシミュレーション装置
JPH09231197A (ja) * 1996-02-22 1997-09-05 Fujitsu Ltd 温度並列シミュレーティド・アニーリング用恒温槽装置及び温度並列シミュレーティド・アニーリング方法
WO2014192153A1 (ja) * 2013-05-31 2014-12-04 株式会社日立製作所 半導体装置
JP2018005541A (ja) * 2016-07-01 2018-01-11 富士通株式会社 情報処理装置、イジング装置及び情報処理装置の制御方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5250346B2 (ja) 2008-09-04 2013-07-31 デルタ工業株式会社 トリムのクリップ止め構造および車両用シート

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250346A (ja) * 1992-03-04 1993-09-28 Nec Corp ニューラルネットワークシミュレーション装置
JPH09231197A (ja) * 1996-02-22 1997-09-05 Fujitsu Ltd 温度並列シミュレーティド・アニーリング用恒温槽装置及び温度並列シミュレーティド・アニーリング方法
WO2014192153A1 (ja) * 2013-05-31 2014-12-04 株式会社日立製作所 半導体装置
JP2018005541A (ja) * 2016-07-01 2018-01-11 富士通株式会社 情報処理装置、イジング装置及び情報処理装置の制御方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
VOUSDEN, WILL ET AL.: "Dynamic temperature selection for parallel-tempering in Markov chain Monte Carlo simulations", ARXIV.ORG [ONLINE], JPN7022000671, 15 March 2016 (2016-03-15), ISSN: 0004711499 *
福島孝治: "マルコフ連鎖モンテカルロ法の新展開", 電子情報通信学会技術研究報告, vol. 110, no. 76, JPN6018049070, 7 June 2010 (2010-06-07), JP, pages 113 - 116, ISSN: 0004711498 *

Also Published As

Publication number Publication date
EP3852029A1 (en) 2021-07-21
EP3852029A4 (en) 2022-06-15
CA3111975A1 (en) 2020-03-19
US20210192109A1 (en) 2021-06-24
JP7047925B2 (ja) 2022-04-05
WO2020054024A1 (ja) 2020-03-19
US11928403B2 (en) 2024-03-12

Similar Documents

Publication Publication Date Title
JP7047925B2 (ja) 最適化装置及び最適化装置の制御方法
JP7239826B2 (ja) サンプリング装置およびサンプリング方法
CN111210046B (zh) 优化装置及优化装置的控制方法
CN111812972B (zh) 优化装置和用于控制优化装置的方法
US11372034B2 (en) Information processing device
US11631006B2 (en) Optimization device and control method of optimization device
JP7007585B2 (ja) 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム
US11334646B2 (en) Information processing apparatus and method for controlling sampling apparatus
EP3872656A1 (en) Information processing apparatus, information processing method, and program
CN111930007B (zh) 优化装置和控制优化装置的方法
CN111077768A (zh) 优化装置及优化装置的控制方法
EP3905073A1 (en) Information processing apparatus, information processing method, and program
US20210150356A1 (en) Optimization device, method for controlling optimization device, and computer-readable recording medium recording program for controlling optimization device
JP7256378B2 (ja) 最適化システムおよび最適化システムの制御方法
JP2021047537A (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
JP7424493B2 (ja) 情報処理装置および情報処理方法
US20220366011A1 (en) Non-transitory computer-readable storage medium and information processing apparatus
Chen et al. Generalized Simulated Annealing with Sequentially Modified Cost Function for Combinatorial optimization Problems
JP2023039710A (ja) 重み係数決定装置、重み係数決定方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210316

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220307

R150 Certificate of patent or registration of utility model

Ref document number: 7047925

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150