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

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

Info

Publication number
JP2019194765A
JP2019194765A JP2018088305A JP2018088305A JP2019194765A JP 2019194765 A JP2019194765 A JP 2019194765A JP 2018088305 A JP2018088305 A JP 2018088305A JP 2018088305 A JP2018088305 A JP 2018088305A JP 2019194765 A JP2019194765 A JP 2019194765A
Authority
JP
Japan
Prior art keywords
temperature
annealing
correspondence information
exchange
information
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
JP2018088305A
Other languages
English (en)
Other versions
JP7004906B2 (ja
Inventor
聡 松原
Satoshi Matsubara
聡 松原
▲高▼津 求
求 ▲高▼津
Motomu Takatsu
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
Priority to JP2018088305A priority Critical patent/JP7004906B2/ja
Publication of JP2019194765A publication Critical patent/JP2019194765A/ja
Application granted granted Critical
Publication of JP7004906B2 publication Critical patent/JP7004906B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Feedback Control In General (AREA)

Abstract

【課題】レプリカ交換法による擬似焼鈍し動作を行う最適化装置の回路規模の増大を抑制する。【解決手段】交換制御部12は、焼鈍部11a0〜11anの各々を識別するレプリカ番号と、焼鈍部11a0〜11anの各々に割り当てられている温度との対応関係を示し、レプリカ番号を温度の低い順または高い順に配列した第1対応情報15と、上記対応関係を示し、温度をレプリカ番号の順に配列した第2対応情報16を保持し、第1対応情報15に基づいて、焼鈍部11a0〜11anから、温度を交換する候補である2つの焼鈍部を選択し、それらのエネルギーEと温度とに基づいた交換確率にしたがって、温度の交換を行うか否かを決定し、交換を行う場合、第1対応情報15と第2対応情報16とを更新し、更新した第2対応情報16aに基づいて、温度を表す温度情報(逆温度β)を対応する焼鈍部11a0〜11anの各々に供給する。【選択図】図1

Description

本発明は、最適化装置及び最適化装置の制御方法に関する。
現在の社会ではあらゆる分野で情報処理が行われている。これらの情報処理はコンピュータなどの演算装置で行われており、様々なデータを演算、加工し、意味のある結果を得ることにより、予測、決定、制御などが行われる。これらの情報処理の1つとして最適化というものがあり重要な分野となっている。例えばあることを行うのに必要な資源やコストを最小化したり、その効果を最大化する解を求める問題などであり、これらが非常に重要であるのは明らかであろう。
最適化問題の中でも離散最適化問題、組合せ最適化問題などと呼ばれている問題の多くは、変数が連続値ではなく離散的な値を取るため解くのが非常に難しいことが知られている。離散最適化問題を解くのを困難にしている最大の原因は、最適解ではないが局所的近傍のなかで最小値をとる局所解と呼ばれる状態が非常に多数存在することである。
離散最適化問題を解く効率の良い一般解法は存在しないため、問題に固有な性質を利用した近似解法や、問題の性質にあまり頼らないメタヒューリステックと呼ばれる方法を用いる必要がある。
以下に説明する内容は、後者のうちマルコフ連鎖モンテカルロ法を用いた解法に関するもので、特に交換モンテカルロ法、またはレプリカ交換法と呼ばれる広い意味での疑似焼き鈍し法に関するものである。
疑似焼き鈍し法は、乱数を用いて確率的に状態(変数ベクトルの値)を変化させることで最適解を求める方法である。以下では最適化したい評価関数の値を最小化する問題を例に説明し、評価関数の値をエネルギーと呼ぶことにする。最大化の場合は、評価関数の符号を変えればよい。
疑似焼き鈍し法においては、状態遷移の受け入れ(許容)確率を、その遷移に伴うエネルギー変化と温度を用いて次のように決めれば、時刻(反復回数)無限大の極限で状態が最適解に到達することが証明されている。
Figure 2019194765
Figure 2019194765
ここでTは温度を表すパラメータであり、その初期値は問題に応じて十分大きくとり、十分ゆっくり下げていくことが望ましい。
上記のように疑似焼き鈍し法では、反復回数を無限に取れば最適解が得られるが、現実には有限の反復回数で解を得る必要があるため、最適解を確実に求めることはできない。また上記のように温度の下がり方が非常にゆっくりであるため、有限時間では十分に温度が下がらない。したがって実際の疑似焼き鈍し法では理論的に収束することが保証される温度変化ではなくより速く温度を下げることが多い。
実際の擬似焼き鈍し法では、初期状態から始めて、温度を下げながら上記反復が繰り返され、一定の反復回数に達したり、エネルギーが一定の値を下回るなどの終了判定条件が満たされたとき、動作が終了する。出力する答えは終了時の状態である。ただし、実際には有限の反復回数では温度が0にならないため、終了時においても状態の占有確率はボルツマン分布などで表される分布をもっており、必ずしも最適値や良い解になっているとは限らない。したがって、反復の途中でこれまでに得られたエネルギーが最低の状態を保持し、最後にそれを出力するのが現実的な解法となる。
上記の説明からある程度想像できると思われるが、疑似焼き鈍し法は汎用的で非常に魅力的ではあるが、温度をゆっくり下げる必要があるため計算時間が比較的長くなってしまうという問題がある。さらにその温度の下げ方を問題に合わせて適切に調節することが難しいという問題もある。温度の下げ方が遅すぎると有限時間ではあまり温度が下がらないため、最終的な熱分布のエネルギー範囲が広くなることから良い解の占有確率が上がらない。逆に速く下げすぎると、局所解を脱出する前に温度が下がってしまい、悪い解に捕まったままになってしまうため、良い解が得られる確率が下がってしまう。
レプリカ交換法は複数の温度を用いたモンテカルロ探索(以下確率的探索という)を同時に行い、ある反復回数ごとに、それぞれ状態のエネルギーを比較し、適切な確率で2つの温度に対する状態を交換するという操作を行う方法である。
図9は、通常のレプリカ交換法を用いた最適化装置の構成例を示す図である。最適化装置50は、通常の疑似焼き鈍し法を用いた最適化装置と異なり、複数のレプリカ(図9では焼鈍部51a0,51a1,…,51ai,…,51an)と、交換制御部52とを有する。交換制御部52は、焼鈍部51a0〜51anに温度情報(以下では逆温度β(Tの逆数)(0≦i≦n)とする)を与える。
図9には、焼鈍部51aiの例が示されている。他の焼鈍部も同様の構成である。焼鈍部51aiは、状態保持部60、評価関数計算部61、遷移制御部62を有する。
状態保持部60は、評価関数に含まれる複数の状態変数の値を保持する。また、状態保持部60は、状態遷移の可否を示すフラグfと、そのフラグfが示す状態変数の番号(インデックス)Nに基づいて、複数の状態変数の値(上記変数ベクトルの値)である状態sを更新する。
評価関数計算部61は、状態変数の変化(状態遷移)に伴うエネルギー変化を計算する。例えば、評価関数が2つの状態変数間の結合で表されるイジングモデルで表され、しかも一度に1つの状態変数の遷移のみを許す場合、評価関数計算部61は、各状態変数の値と、状態変数間の結合の強さを示す結合係数と、番号Nと、フラグfとに基づいて、複数の状態変数のそれぞれの変化(状態遷移)に伴うエネルギー変化を計算する。エネルギー変化ΔEi,jは、j番目の状態変数の変化に伴うエネルギー変化を示す。なお、計算したい最適化問題に応じた結合係数の値は、予めメモリまたはレジスタなどに記憶されている。評価関数がイジングモデルでない場合、及び一度に複数の状態変数の遷移を許す場合には、状態遷移の番号と変化する状態変数の番号は必ずしも一致しないが、状態遷移の番号に対するエネルギー変化を適切に計算できればよい。評価関数計算部61は、例えば、積和演算回路などの論理回路を用いて実現できる。
遷移制御部62は、通常の擬似焼き鈍し法と同様に、エネルギー変化ΔEi,jと交換制御部52により割り当てられた逆温度βを用いて、j番目の状態変数の状態遷移の受け入れ確率を以下の(式2)により決定することで、確率的探索を行う。
Figure 2019194765
なお、(式2)において、関数fは(式1−1)と同じものであり、例えば(式1−2)のメトロポリス法のものが用いられる。遷移制御部62は、上記の状態遷移の受け入れ確率に基づいて、状態遷移の可否を示すフラグfと、そのフラグfが示す状態遷移の番号を出力する。また、遷移制御部62は、エネルギー変化ΔEi,jに基づいて、エネルギーEを更新して出力する。
交換制御部52は、一定の反復回数ごとに各焼鈍部におけるエネルギーEを観測し、焼鈍部51a0〜51anのうちの2つにおけるエネルギーEと逆温度βを用い、以下の(式3)で表される交換確率に基づいて2つの焼鈍部における各状態変数の値を交換する。状態変数の値の代りに、2つの焼鈍部の各々に供給される逆温度を交換してもよい。
Figure 2019194765
なお、(式3)では、βを焼鈍部51aiに与えられた逆温度、βを図示しないj番目の焼鈍部に与えられた逆温度、Eを焼鈍部51aiにおけるエネルギー、Eをj番目の焼鈍部におけるエネルギーとしている。また、(式3)において、関数fは(式1−1)と同じものであり、例えば(式1−2)のメトロポリス法のものが用いられる。
このような交換を行ってもそれぞれの温度の状態の確率分布はその温度に対するボルツマン分布に収束する。そして、この分布に収束するのに必要とされる緩和時間は、交換を行わない時より著しく短縮することができる。
なお、交換が行われる2つの焼鈍部は、交換確率が小さくなりすぎないように、供給される温度が近いもの(例えば、隣接温度が供給されるもの)が選択される。
最適化装置50において、多数回の反復処理を行う焼鈍部51a0〜51anを専用の回路で実現し、交換制御部52の機能をソフトウェアで実現する場合、ポインタ渡しにより、温度が近い2つの焼鈍部の各状態変数の値(または温度情報)を交換すればよい。この場合、交換ごとに温度の低い順または高い順に焼鈍部51a0〜51anを識別する情報を並べるソート処理などを行わなくてよい。
特開平6−309408号公報 特開平9−179897号公報
ところで、複数の焼鈍部と交換制御部との間のデータの移動を高速化するため、交換制御部をソフトウェアで実現するよりも、専用の回路で実現したほうがよい。交換制御部を専用の回路にて実現する場合、ポインタは用いられずに、実際のデータ自体が交換されることになる。このため、各状態変数の値よりもデータ量が小さい温度情報を交換する方がよい。
ただ、各焼鈍部の識別情報に温度を対応付けた対応表を用いて、専用の回路にてレプリカ交換法を実現する場合、温度が近い焼鈍部を選択するために、上記のようなソート処理を行うことになり、そのための回路によって最適化装置の回路規模が増大してしまう。
1つの側面では、本発明は、レプリカ交換法による擬似焼鈍し動作を行う最適化装置の回路規模の増大を抑制することを目的とする。
1つの実施態様では、エネルギーを表す評価関数に含まれる複数の状態変数の何れかの値が変化する状態遷移が起こる場合、前記複数の状態変数の各々の値の変化に伴う前記エネルギーの変化と温度に基づいて、前記複数の状態変数の何れの値の変化を受け入れるかを確率的に決定する複数の焼鈍部と、前記複数の焼鈍部の各々を識別する第1識別情報と、前記複数の焼鈍部の各々に割り当てられている前記温度との対応関係を示し、前記第1識別情報を前記温度の低い順または高い順に配列した第1対応情報と、前記第1識別情報と前記温度との対応関係を示し、前記温度を前記第1識別情報の順に配列した第2対応情報とを保持し、前記第1対応情報に基づいて、前記複数の焼鈍部から、前記温度を交換する候補である第1の焼鈍部と第2の焼鈍部とを選択し、前記第1の焼鈍部と前記第2の焼鈍部の各々の前記エネルギーと前記温度とに基づいた交換確率にしたがって、前記温度の交換を行うか否かを決定し、交換を行う場合には、前記第1対応情報と前記第2対応情報とを更新し、更新した前記第2対応情報に基づいて、前記温度を表す温度情報を対応する前記複数の焼鈍部の各々に供給する交換制御部と、を有する最適化装置が提供される。
また、1つの実施態様では、最適化装置の制御方法が提供される。
1つの側面では、レプリカ交換法による擬似焼鈍し動作を行う最適化装置の回路規模の増大を抑制できる。
第1の実施の形態の最適化装置の一例を示す図である。 第2の実施の形態の最適化装置の一例を示す図である。 各対応情報の一例を示す図である。 第2の実施の形態の最適化装置の一例の動作の流れを示すフローチャートである。 第1対応情報と第2対応情報の更新例を示す図である。 図9に示した交換制御部の機能をソフトウェアで実現する場合の一例の処理の流れを示すフローチャートである。 図9に示した交換制御部の機能を専用の回路で実現した比較例の最適化装置を示す図である。 図7に示した比較例の最適化装置の一例の動作の流れを示すフローチャートである。 通常のレプリカ交換法を用いた最適化装置の構成例を示す図である。
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の最適化装置の一例を示す図である。
第1の実施の形態の最適化装置10は、焼鈍部11a0,11a1,…,11ai,…,11anと、交換制御部12を有する。
焼鈍部11a0〜11anは、図9に示した焼鈍部51a0〜51anと同じである。すなわち、焼鈍部11a0〜11anの各々は、複数の状態変数の何れかの値が変化する状態遷移が起こる場合、複数の状態変数の各々の値の変化に伴うエネルギーEの変化を算出する。そして、焼鈍部11a0〜11anの各々は、エネルギーEの変化と温度に基づいて、複数の状態変数の何れの値の変化を受け入れるかを確率的に決定することで、確率的探索を行う。なお、焼鈍部11a0〜11anの各々には、互いに異なる温度が割り当てられる。
交換制御部12は、第1対応情報保持部12a、第2対応情報保持部12b、交換演算回路12c、出力制御回路12dを有する。
第1対応情報保持部12aは、第1対応情報15を保持する。第1対応情報15は、焼鈍部11a0〜11anの各々を識別する識別情報(以下レプリカ番号という)と、焼鈍部11a0〜11anの各々に割り当てられている温度との対応関係を示し、レプリカ番号を温度の低い順または高い順に配列したものである。
第2対応情報保持部12bは、第2対応情報16を保持する。第2対応情報16は、上記対応関係を示し、温度をレプリカ番号の順に配列したものである。
図1の例では、温度T0〜Tnは、温度T0,T1,T2,T3,…,Tnの順に高くなっていく。したがって、図1の例では、第1対応情報15は、レプリカ番号を温度の低い順に配列したものである。
なお、温度は、温度そのものでなく、温度を識別する情報で表されていてもよい。温度を識別する情報を用いる例については第2の実施の形態において説明する。
第1対応情報保持部12a及び第2対応情報保持部12bは、例えば、レジスタなどの記憶回路である。また、第1対応情報保持部12a及び第2対応情報保持部12bは、RAM(Random Access Memory)などの揮発性メモリ、フラッシュメモリやEEPROM(Electrically Erasable Programmable Read Only Memory)などの不揮発性メモリであってもよい。
交換演算回路12cは、第1対応情報保持部12aに保持されている第1対応情報15に基づいて、焼鈍部11a0〜11anから、温度を交換する候補である第1の焼鈍部と第2の焼鈍部とを選択する。そして、交換演算回路12cは、第1の焼鈍部と第2の焼鈍部の各々のエネルギーEと温度に基づいた交換確率にしたがって、温度の交換を行うか否かを決定し、交換を行う場合には、第1対応情報15と第2対応情報16とを更新する。
例えば、交換演算回路12cは、第1対応情報15から温度の低い順に配列されたレプリカ番号を上から2つずつ選択していき、その2つのレプリカ番号で識別される2つの焼鈍部の間での温度の交換の可否を決定する。
第1対応情報15は、温度の低い順(高い順でもよい)にレプリカ番号を配列しているため、交換演算回路12cが、例えば、上から2つずつレプリカ番号を選択することで、隣接温度が割り当てられている2つの焼鈍部を選択できる。なお、交換演算回路12cは、上から1つおき、2つおきなどに、2つのレプリカ番号を選択しても近い温度の2つの焼鈍部を選択できる。
交換演算回路12cは、例えば、以下に示すような回路によって実現される。
交換演算回路12cは、第1対応情報15からレプリカ番号を上から2つずつ選択していく回路と、焼鈍部11a0〜11anから供給されるエネルギーEのうち、選択した2つのレプリカ番号に対応したものを選択する回路を有する。また交換演算回路12cは、第1対応情報15から選択した2つのレプリカ番号に対応付けられた温度と、選択した2つのエネルギーEとに基づいて、(式3)で示される交換確率pijを演算する回路(exp関数の計算回路などを含む)を有する。さらに、交換演算回路12cは乱数を生成する回路と、その乱数と交換確率pijとの比較結果に基づいて交換可否を決定する回路、交換を行う場合に、第1対応情報15と第2対応情報16とを更新する回路などを用いて実現できる。
出力制御回路12dは、更新した第2対応情報16aに基づいて、温度を表す温度情報(図1の例では逆温度β)を対応する焼鈍部11a0〜11anの各々に供給する。出力制御回路12dは、例えば、更新した第2対応情報16aの温度を示す温度情報を上から順番に、または同時に、対応する焼鈍部に供給する。第2対応情報16は、レプリカ番号の順に温度が配列されているため、焼鈍部11a0〜11anに供給する温度情報を、出力制御回路12dが容易に選択できる。
なお、図1の例では、出力制御回路12dは、温度情報として、逆温度βを焼鈍部11a0〜11anに供給するため、温度を逆温度βに変換する回路を有する。ただし、出力制御回路12dは、温度自体を焼鈍部11a1〜11anに供給してもよい。その場合、焼鈍部11a1〜11anは、変換テーブルなどを用いて温度を逆温度βに変換して用いてもよい。
以下、図1を用いて、第1の実施の形態の最適化装置10の動作の一例を説明する。
交換演算回路12cは、焼鈍部11a0〜11anの各々のエネルギーEを受けると、第1対応情報15からレプリカ番号を上から2つ選択する。例えば、図1に示したような第1対応情報15では、まず、レプリカ番号=i,0が選択される。
そして、交換演算回路12cは、焼鈍部11a0〜11anの各々のエネルギーEのうち、選択した2つのレプリカ番号に対応したものを選択する。さらに、交換演算回路12cは、第1対応情報15から選択した2つのレプリカ番号に対応付けられた温度(レプリカ番号=i,0が選択された場合は温度T0,T1)と、選択した2つのエネルギーとに基づいて、(式3)で示される交換確率pijを演算する。レプリカ番号=i,0の焼鈍部11ai,11a0が交換の候補となっている場合、(式3)において、β=1/T0、β=1/T1、Eは、焼鈍部11aiのエネルギー、Eは、焼鈍部11a0のエネルギーである。
また、交換演算回路12cは乱数を生成し、その乱数と交換確率pijとの比較結果に基づいて交換可否を決定し、交換を行う場合に、第1対応情報15と第2対応情報16とを更新する。レプリカ番号=i,0の焼鈍部11ai,11a0において、温度情報の交換が行われる場合、図1に示すように、第1対応情報15と第2対応情報16が更新され、第1対応情報15aと第2対応情報16aが得られる。
例えば、図1に示したような第1対応情報15では、続いて、温度T1に対応付けられたレプリカ番号と、温度T2に対応付けられたレプリカ番号が選択され、同様の処理が繰り返される。その後も同様に、2つずつレプリカ番号が選択されていき、同様の処理が繰り返される。そして、第1対応情報15の最後の温度Tnに対応付けられたレプリカ番号が選択された処理が行われた場合、出力制御回路12dは、更新後の第2対応情報に基づいて、温度情報を対応する焼鈍部11a0〜11anの各々に供給する。
焼鈍部11a0〜11anの各々は、供給された温度情報を用いて、再び確率的探索を行い、所定の反復回数後に、上記のような交換制御部12の処理が行われる。上記のような交換制御部12の処理が、例えば、所定回数繰り返された後、最適化装置10の動作が終了する。なお、焼鈍部11a0〜11anの各々は、所定の反復回数の確率的探索を行うたびに計算されるエネルギーの最低値とその最低値のときの各状態変数の値を保持している。上記のような交換制御部12の処理が、所定回数繰り返された場合、焼鈍部11a0〜11anの各々は、その時点での、エネルギーの最低値とその最低値のときの各状態変数の値を、例えば、図示しない表示装置またはコンピュータなどに出力する。例えば、焼鈍部11a0〜11anの各々が出力するエネルギーの最低値の中でも、一番小さい値のときの各状態変数の値が、最適化問題の解となる。
以上のように、第1の実施の形態の最適化装置10では、交換制御部12が、第1対応情報15と第2対応情報16を保持し、温度の交換時には、第1対応情報15と第2対応情報16を更新する。これにより、温度の交換ごとに温度の低い順または高い順にレプリカ番号をソートするような回路が不要になり、最適化装置10の回路規模の増加を抑えられる。また、最適化装置10では、ソート処理を行わないため、交換処理にかかる時間を短縮できる。
なお、交換演算回路12cは、第1対応情報15から、隣接温度が割り当てられていない2つの焼鈍部を選択してもよいが、隣接温度が割り当てられている2つの焼鈍部を選択することで、交換確率pijが上がり計算効率が上がる。
(第2の実施の形態)
図2は、第2の実施の形態の最適化装置の一例を示す図である。図2において、図1に示した最適化装置10と同じ要素については、同一符号が付されている。
第2の実施の形態の最適化装置20は、交換制御部21が、第1の実施の形態の最適化装置10と異なっている。
交換制御部21は、第1対応情報保持部21a、第2対応情報保持部21b、第3対応情報保持部21c、交換演算回路21d、出力制御回路21eを有する。
第1対応情報保持部21aと第2対応情報保持部21bは、温度そのものではなく、温度を識別する温度識別情報と、レプリカ番号との対応関係を示す第1対応情報と、第2対応情報を保持する。第1対応情報は、レプリカ番号を温度の低い順または高い順に配列したものであり、第2対応情報は、温度識別情報をレプリカ番号の順に配列したものである。
第3対応情報保持部21cは、温度とその温度を識別する温度識別情報との対応関係を示す第3対応情報を保持する。
交換演算回路21dは、第1対応情報保持部21aに保持されている第1対応情報に基づいて、焼鈍部11a0〜11anから、温度を交換する候補である第1の焼鈍部と第2の焼鈍部とを選択する。そして、交換演算回路21dは、第1の焼鈍部と第2の焼鈍部の各々のエネルギーEと温度とに基づいた交換確率にしたがって、温度の交換を行うか否かを決定し、交換を行う場合には、第1対応情報と第2対応情報とを更新する。なお、交換演算回路21dは、交換確率を求める際、温度識別情報ではなく温度を用いるため、第3対応情報に基づいて、第1の焼鈍部と第2の焼鈍部の各々を識別するレプリカ番号に対応付けられた温度識別情報を温度に変換する。第1対応情報の更新の際には、交換演算回路21dは、上記2つのレプリカ番号に対応付けられた温度識別情報を入れ替えればよい。
交換演算回路21dは、例えば、以下に示すような回路によって実現される。
交換演算回路21dは、第1対応情報からレプリカ番号を上から2つずつ選択していく回路、焼鈍部11a0〜11anから供給されるエネルギーEのうち、選択した2つのレプリカ番号に対応したものを選択する回路を有する。また交換演算回路21dは、第1対応情報から選択した2つのレプリカ番号に対応付けられた温度識別情報を、第3対応情報に基づいて温度に変換する回路を有する。また、交換演算回路21dは、温度と選択した2つのエネルギーとに基づいて、(式3)で示される交換確率pijを演算する回路(減算回路やexp関数の計算回路などを含む)を有する。さらに、交換演算回路21dは乱数を生成する回路と、その乱数と交換確率pijとの比較結果に基づいて交換可否を決定する回路、交換を行う場合に、第1対応情報と第2対応情報とを更新する回路などを用いて実現できる。
出力制御回路21eは、第1の実施の形態の最適化装置10の出力制御回路12dと異なり、第3対応情報に基づいて、更新後の第2対応情報の温度識別情報を対応する温度に変換する。そして、出力制御回路21eは、温度を逆温度βに変換し、逆温度βを対応する焼鈍部11a0〜11anの各々に供給する。
図3は、各対応情報の一例を示す図である。図3の例では、温度識別情報の一例として、温度番号が用いられている。また、図3では、焼鈍部11a0〜11anの数、すなわちレプリカ数が、16である場合の例が示されている。
第1対応情報25では、0から15までのレプリカ番号が、温度番号の順に配列されている。第2対応情報26では、0から15までの温度番号が、レプリカ番号の順に配列されている。第3対応情報27では、温度T0〜T15が、温度番号の順に配列されている。温度T0〜T15は、温度T0,T1,T2,T3,…,T15の順に高くなっていく。したがって、図3の例では、第1対応情報25、第2対応情報26、第3対応情報27において、温度番号は、値が小さいほど、低い温度であることを示している。このため、第1対応情報25は、温度の低い順にレプリカ番号を配列したものである。
以下、第2の実施の形態の最適化装置20の動作の一例を説明する。
図4は、第2の実施の形態の最適化装置の一例の動作の流れを示すフローチャートである。なお、図示が省略されているが、初期化処理として、例えば、図示しない制御装置の制御により、第1対応情報25、第2対応情報26、第3対応情報27が、第1対応情報保持部21a、第2対応情報保持部21b、第3対応情報保持部21cに書き込まれる。そして、出力制御回路21eが、第2対応情報26に基づいて、焼鈍部11a0〜11anの各々に、逆温度βの初期値を供給する。
ステップS1〜S5は、焼鈍部11a0〜11anの各々で行われる処理である。焼鈍部11a0〜11anの各々は、確率的探索の反復回数の初期化を行い(ステップS1)、その後、交換制御部21により与えられた逆温度βを用いて前述の確率的探索を行う(ステップS2)。焼鈍部11a0〜11anの各々は、1回の確率的探索を終了するたびに、反復回数をインクリメントする(ステップS3)。そして、焼鈍部11a0〜11anの各々は、反復回数が所定の値に達したか否かを判定し(ステップS4)、反復回数が所定の値に達していない場合には、ステップS2の処理を繰り返す。焼鈍部11a0〜11anの各々は、反復回数が所定の値に達した場合には、交換制御部21にエネルギーEを送信する(ステップS5)。
ステップS6〜S15の処理は、交換制御部21で行われる処理である。
交換制御部21の交換演算回路21dは、焼鈍部11a0〜11anの各々からエネルギーEを受信する(ステップS6)。交換演算回路21dは、隣接温度が割り当てられている2つの焼鈍部のレプリカ番号を、第1対応情報25において温度番号=0,1に対応したものから順に選択していくため、選択する温度番号(以下選択温度番号という)を0と1に初期化する(ステップS7)。
ステップS7の処理後、交換演算回路21dは、第1対応情報25において、選択温度番号に対応付けられた2つのレプリカ番号を選択することで、隣接温度が割り当てられている2つの焼鈍部を選択する(ステップS8)。例えば、図3に示したような第1対応情報25では、まず、選択温度番号=0に対応付けられたレプリカ番号=6の焼鈍部と、選択温度番号=1に対応付けられたレプリカ番号=8の焼鈍部が選択される。2回目のステップS8の処理では、選択温度番号=1に対応付けられたレプリカ番号で識別される焼鈍部と、選択温度番号=2に対応付けられたレプリカ番号で識別される焼鈍部が選択される。3回目以降も同様に、第1対応情報25の上から順に2つずつレプリカ番号が選択され、選択されたレプリカ番号で識別される焼鈍部が、温度情報を交換する候補として選択される。
その後、交換演算回路21dは、交換確率pijを求める際、温度番号ではなく温度を用いるため、現在の2つの選択温度番号を、第3対応情報27に基づいて2つの温度に変換する。そして、交換演算回路21dは、得られた2つの温度と、選択された2つのレプリカ番号で識別される2つの焼鈍部のエネルギーから、交換確率pijを計算する(ステップS9)。
そして、交換演算回路21dは乱数を生成し、その乱数と交換確率pijとの比較結果に基づいて交換可否を決定する(ステップS10)。交換演算回路21dは、例えば、乱数が交換確率pij以上の場合、温度情報の交換を可とし、乱数が交換確率pijよりも小さい場合、温度情報の交換を否とする。
温度情報の交換が可である場合、交換演算回路21dは第1対応情報25と第2対応情報26とを更新する(ステップS11)。
図5は、第1対応情報と第2対応情報の更新例を示す図である。
図5では、図3において、温度番号=10が対応付けられているレプリカ番号=13の焼鈍部と、温度番号=11に対応付けられているレプリカ番号=11の焼鈍部との間で、温度情報の交換を行う場合の更新例が示されている。
更新後の第1対応情報25aと第2対応情報26aでは、温度番号=10にレプリカ番号=11が対応付けられ、温度番号=11にレプリカ番号=13が対応付けられている。交換演算回路21dは、第1対応情報25の更新の際には、レプリカ番号=11とレプリカ番号=13を入れ替えればよく、第2対応情報26の更新の際には、温度番号=10と温度番号=11を入れ替えればよい。
その後、交換演算回路21dは、現在の選択温度番号が、最後の選択温度番号(図3の例では14と15)ではない場合(ステップS12:No)、選択温度番号をインクリメントし(ステップS13)、ステップS8からの処理を繰り返す。一方、現在の選択温度番号が、最後の選択温度番号である場合(ステップS12:Yes)、出力制御回路21eは、更新後の第2対応情報に基づいて、温度情報(逆温度β)を対応する焼鈍部11a0〜11anの各々に送信する(ステップS14)。
その後、終了条件(例えば、上記のような交換制御部21の処理が、所定回数繰り返されたか否か)が満たされていない場合(ステップS15:No)、ステップS1からの処理が繰り返される。終了条件が満たされている場合(ステップS15:Yes)、図示が省略されているが、例えば、焼鈍部11a0〜11anの各々のエネルギーの最低値とその最低値のときの各状態変数の値が、図示しない表示装置(またはコンピュータなど)に出力される。そして、最適化装置20の処理が終了する。
なお、上記の各処理の順序は一例であり、適宜入れ替えてもよい。
以上のように、第2の実施の形態の最適化装置20でも、交換制御部21が、第1対応情報25と第2対応情報26を保持し、温度の交換時には、第1対応情報25と第2対応情報26を更新する。これにより、第1の実施の形態の最適化装置10と同様の効果が得られる。
さらに、第2の実施の形態の最適化装置20において、交換演算回路21dは、実際の温度(例えば、浮動小数点方式で表される)ではなく、温度よりもデータ量の少ない温度番号を入れ替えるため、移動するデータ量を、温度を用いる場合よりも小さくできる。また、最適化装置20は、第1の実施の形態の最適化装置10と比べて、第3対応情報保持部21cが増えるが、第1対応情報保持部21aや第2対応情報保持部21bでは温度の代わりに温度番号が保持されるため、全体として最適化装置10よりも回路規模を縮小できる。
(比較例)
図6は、図9に示した交換制御部の機能をソフトウェアで実現する場合の一例の処理の流れを示すフローチャートである。
ステップS20〜S24の処理は、図4に示したステップS1〜S5の処理と同じである。ステップS25〜S34の処理は、ソフトウェアにて実現される。なお、ソフトウェアにて交換制御部52の機能を実現する場合には、例えば、図3に示したような第1対応情報25と第3対応情報27が用いられる。そのため、ステップS25〜S29の処理は、図4に示したステップS6〜S10の処理と同じである。
ステップS30の対応情報の更新処理の際には、図4のステップS11の処理と異なり、ポインタを用いて、温度番号に対応付けられているレプリカ番号の入れ替えが行われる。このため、隣接温度が割り当てられている焼鈍部を探すためのソート処理やサーチ処理は行わなくてもよい。
ステップS31〜S34の処理は、図4に示したステップS12〜S15の処理と同じである。
このようにソフトウェアでも交換制御部52の機能を実現できるが、複数の焼鈍部と交換制御部との間のデータの移動を高速化するため、交換制御部をソフトウェアで実現するよりも、専用の回路で実現したほうがよい。
図7は、図9に示した交換制御部の機能を専用の回路で実現した比較例の最適化装置を示す図である。図7において、図2に示した最適化装置20と同じ要素については、同一符号が付されている。
比較例の最適化装置30は、交換制御部31が、第2の実施の形態の最適化装置20の交換制御部21と異なっている。
交換制御部31は、第2対応情報保持部31a、第3対応情報保持部31b、ソート処理回路31c、交換処理回路31dを有する。
第2対応情報保持部31aは、図3に示したような第2対応情報26を保持し、第3対応情報保持部31bは、図3に示したような第3対応情報27を保持する。
ソート処理回路31cは、第2対応情報26のレプリカ番号を、割り当てられている温度の低い順(または高い順)に並べるソート処理を行う。
交換処理回路31dは、第2対応情報26をソート処理した情報に基づいて、温度を交換する候補である第1の焼鈍部と第2の焼鈍部とを選択する。そして、交換処理回路31dは、第1の焼鈍部と第2の焼鈍部の各々のエネルギーEと温度とに基づいた交換確率にしたがって、温度の交換を行うか否かを決定し、交換を行う場合には、第2対応情報26を更新する。なお、交換処理回路31dは、交換確率を求める際、温度番号ではなく温度を用いるため、第3対応情報27に基づいて温度番号を対応する温度に変換する。
また、交換処理回路31dは、第3対応情報27に基づいて、更新後の第2対応情報の温度番号を対応する温度に変換する。そして、交換処理回路31dは、逆温度βを対応する焼鈍部11a0〜11anの各々に供給する。
図8は、図7に示した比較例の最適化装置の一例の動作の流れを示すフローチャートである。
ステップS40〜S46の処理は、図4に示したステップS1〜S7の処理と同じである。ステップS46の処理後、上記のようなソート処理が行われる(ステップS47)。ステップS48〜S50の処理は、図4に示したステップS8〜S10の処理と同じである。
ステップS50の処理後、交換可否の決定結果に応じて第2対応情報26が更新される(ステップS51)。ステップS52〜S55の処理は、図4に示したステップS12〜S15の処理と同じであるが、選択温度番号のインクリメント後は、ステップS47のソート処理から繰り返される。
上記のような比較例の最適化装置30では、第2対応情報26のソート処理を行うソート処理回路31cが用いられる。しかし、例えば、N個の要素をバブルソートアルゴリズムによりソート処理するには、N(N−1)/2サイクルの演算時間がかかる。
これに対して、第2の実施の形態の最適化装置20では、ソート処理が不要であるため、ソート処理回路31cも不要になり、回路規模の増大を抑えることができるとともに、演算時間も短縮できる。
以上、実施の形態に基づき、本発明の最適化装置及び最適化装置の制御方法の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
10 最適化装置
11a0〜11an 焼鈍部
12 交換制御部
12a 第1対応情報保持部
12b 第2対応情報保持部
12c 交換演算回路
12d 出力制御回路
15,15a 第1対応情報
16,16a 第2対応情報
E エネルギー
β 逆温度

Claims (5)

  1. エネルギーを表す評価関数に含まれる複数の状態変数の何れかの値が変化する状態遷移が起こる場合、前記複数の状態変数の各々の値の変化に伴う前記エネルギーの変化と温度に基づいて、前記複数の状態変数の何れの値の変化を受け入れるかを確率的に決定する複数の焼鈍部と、
    前記複数の焼鈍部の各々を識別する第1識別情報と、前記複数の焼鈍部の各々に割り当てられている前記温度との対応関係を示し、前記第1識別情報を前記温度の低い順または高い順に配列した第1対応情報と、前記第1識別情報と前記温度との対応関係を示し、前記温度を前記第1識別情報の順に配列した第2対応情報とを保持し、前記第1対応情報に基づいて、前記複数の焼鈍部から、前記温度を交換する候補である第1の焼鈍部と第2の焼鈍部とを選択し、前記第1の焼鈍部と前記第2の焼鈍部の各々の前記エネルギーと前記温度とに基づいた交換確率にしたがって、前記温度の交換を行うか否かを決定し、交換を行う場合には、前記第1対応情報と前記第2対応情報とを更新し、更新した前記第2対応情報に基づいて、前記温度を表す温度情報を対応する前記複数の焼鈍部の各々に供給する交換制御部と、
    を有する最適化装置。
  2. 前記第1対応情報と前記第2対応情報における前記温度は、前記温度を識別する第2識別情報で表され、
    前記交換制御部は、前記温度と前記第2識別情報との対応関係を示す第3対応情報を保持し、前記第3対応情報に基づいて、前記第1の焼鈍部と前記第2の焼鈍部の各々を識別する前記第1識別情報に対応付けられた前記第2識別情報を、前記温度に変換する、請求項1に記載の最適化装置。
  3. 前記交換制御部は、
    前記第1対応情報を保持する第1対応情報保持部と、
    前記第2対応情報を保持する第2対応情報保持部と、
    前記第1対応情報保持部に保持された前記第1対応情報に基づいて、前記第1の焼鈍部と前記第2の焼鈍部とを選択し、前記交換確率にしたがって、前記温度の交換を行うか否かを決定し、交換を行う場合には、前記第1対応情報と前記第2対応情報とを更新する交換演算回路と、
    更新した前記第2対応情報に基づいて、前記温度情報を対応する前記複数の焼鈍部の各々に供給する出力制御回路と、
    を有する請求項1または2に記載の最適化装置。
  4. 前記第1の焼鈍部と前記第2の焼鈍部は、前記温度が隣接する2つの焼鈍部である、請求項1乃至3の何れか一項に記載の最適化装置。
  5. 複数の焼鈍部の各々が、エネルギーを表す評価関数に含まれる複数の状態変数の何れかの値が変化する状態遷移が起こる場合、前記複数の状態変数の各々の値の変化に伴う前記エネルギーの変化と温度に基づいて、前記複数の状態変数の何れの値の変化を受け入れるかを確率的に決定し、
    交換制御部が、前記複数の焼鈍部の各々を識別する第1識別情報と、前記複数の焼鈍部の各々に割り当てられている前記温度との対応関係を示し、前記第1識別情報を前記温度の低い順または高い順に配列した第1対応情報と、前記第1識別情報と前記温度との対応関係を示し、前記温度を前記第1識別情報の順に配列した第2対応情報とを保持し、前記第1対応情報に基づいて、前記複数の焼鈍部から、前記温度を交換する候補である第1の焼鈍部と第2の焼鈍部とを選択し、前記第1の焼鈍部と前記第2の焼鈍部の各々の前記エネルギーと前記温度とに基づいた交換確率にしたがって、前記温度の交換を行うか否かを決定し、交換を行う場合には、前記第1対応情報と前記第2対応情報とを更新し、更新した前記第2対応情報に基づいて、前記温度を表す温度情報を対応する前記複数の焼鈍部の各々に供給する、
    最適化装置の制御方法。
JP2018088305A 2018-05-01 2018-05-01 最適化装置及び最適化装置の制御方法 Active JP7004906B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018088305A JP7004906B2 (ja) 2018-05-01 2018-05-01 最適化装置及び最適化装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018088305A JP7004906B2 (ja) 2018-05-01 2018-05-01 最適化装置及び最適化装置の制御方法

Publications (2)

Publication Number Publication Date
JP2019194765A true JP2019194765A (ja) 2019-11-07
JP7004906B2 JP7004906B2 (ja) 2022-01-21

Family

ID=68469627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018088305A Active JP7004906B2 (ja) 2018-05-01 2018-05-01 最適化装置及び最適化装置の制御方法

Country Status (1)

Country Link
JP (1) JP7004906B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3851953A1 (en) 2020-01-15 2021-07-21 Fujitsu Limited Optimization apparatus, temperature setting method, and temperature setting program
CN113361185A (zh) * 2020-03-05 2021-09-07 富士通株式会社 副本交换的自动调整
EP3913506A1 (en) 2020-05-21 2021-11-24 Fujitsu Limited Optimization device, optimization method, and optimization program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10303307A (ja) * 1997-04-30 1998-11-13 Fujitsu Ltd 配置方式
JP2007270659A (ja) * 2006-03-30 2007-10-18 Toho Gas Co Ltd コジェネレーションシステムの最適化方法および設備提案システム
JP2018005541A (ja) * 2016-07-01 2018-01-11 富士通株式会社 情報処理装置、イジング装置及び情報処理装置の制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10303307A (ja) * 1997-04-30 1998-11-13 Fujitsu Ltd 配置方式
JP2007270659A (ja) * 2006-03-30 2007-10-18 Toho Gas Co Ltd コジェネレーションシステムの最適化方法および設備提案システム
JP2018005541A (ja) * 2016-07-01 2018-01-11 富士通株式会社 情報処理装置、イジング装置及び情報処理装置の制御方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3851953A1 (en) 2020-01-15 2021-07-21 Fujitsu Limited Optimization apparatus, temperature setting method, and temperature setting program
US11514135B2 (en) 2020-01-15 2022-11-29 Fujitsu Limited Optimization apparatus, temperature setting method, and non-transitory computer-readable storage medium
CN113361185A (zh) * 2020-03-05 2021-09-07 富士通株式会社 副本交换的自动调整
CN113361185B (zh) * 2020-03-05 2024-08-23 富士通株式会社 副本交换的自动调整
EP3913506A1 (en) 2020-05-21 2021-11-24 Fujitsu Limited Optimization device, optimization method, and optimization program
US11790130B2 (en) 2020-05-21 2023-10-17 Fujitsu Limited Optimization device, optimization method, and non-transitory computer-readable storage medium for storing optimization program

Also Published As

Publication number Publication date
JP7004906B2 (ja) 2022-01-21

Similar Documents

Publication Publication Date Title
Shahvari et al. Hybrid flow shop batching and scheduling with a bi-criteria objective
JP6465231B1 (ja) 最適化装置及び最適化装置の制御方法
JP7108185B2 (ja) 最適化装置および最適化装置の制御方法
JP6892599B2 (ja) 最適化装置及び最適化装置の制御方法
CN109800910B (zh) 一种基于禁忌搜索的超启发式算法的车辆路径优化方法
JP7004906B2 (ja) 最適化装置及び最適化装置の制御方法
US20150379075A1 (en) Maintaining diversity in multiple objective function solution optimization
JP7197789B2 (ja) 最適化装置及び最適化装置の制御方法
JP7137064B2 (ja) 最適化装置及び最適化装置の制御方法
CN111381495B (zh) 优化装置及优化装置的控制方法
JP2020204929A (ja) サンプリング装置およびサンプリング方法
CN104504442A (zh) 神经网络优化方法
JP6997404B2 (ja) 最適化装置、最適化装置の制御方法および最適化装置の制御プログラム
CN109558898B (zh) 一种基于深度神经网络的高置信度的多选择学习方法
JP2021033341A (ja) 最適化装置および最適化装置の制御方法
JPWO2016151620A1 (ja) シミュレートシステム、シミュレート方法およびシミュレート用プログラム
US11409836B2 (en) Optimization problem arithmetic method and optimization problem arithmetic apparatus
JP7201911B2 (ja) 最適化装置および最適化装置の制御方法
JPWO2014087590A1 (ja) 最適化装置、最適化方法および最適化プログラム
CN113361185B (zh) 副本交换的自动调整
JP7206492B2 (ja) 最適化装置及び最適化装置の制御方法
CN117933073A (zh) 一种用于探索cpu微架构的设计空间的方法和装置
JP7256378B2 (ja) 最適化システムおよび最適化システムの制御方法
CN110728359A (zh) 搜索模型结构的方法、装置、设备和存储介质
CN115270686A (zh) 一种基于图神经网络的芯片布局方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210210

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20210218

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210218

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211213

R150 Certificate of patent or registration of utility model

Ref document number: 7004906

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150