JP7108185B2 - 最適化装置および最適化装置の制御方法 - Google Patents
最適化装置および最適化装置の制御方法 Download PDFInfo
- Publication number
- JP7108185B2 JP7108185B2 JP2018219079A JP2018219079A JP7108185B2 JP 7108185 B2 JP7108185 B2 JP 7108185B2 JP 2018219079 A JP2018219079 A JP 2018219079A JP 2018219079 A JP2018219079 A JP 2018219079A JP 7108185 B2 JP7108185 B2 JP 7108185B2
- Authority
- JP
- Japan
- Prior art keywords
- temperature
- value
- search
- state
- control unit
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50333—Temperature
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- Operations Research (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Software Systems (AREA)
- Mathematical Optimization (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Algebra (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Automation & Control Theory (AREA)
- Feedback Control In General (AREA)
- Probability & Statistics with Applications (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
Description
ここで、Tは温度を表すパラメータであり、その初期値は問題に応じて十分大きくとり、十分ゆっくり下げていくことが必要となる。
状態保持部60は、評価関数に含まれる複数の状態変数の値を保持する。また、状態保持部60は、状態遷移の可否を示すフラグfと、そのフラグfが示す状態変数の番号(インデックス)Nに基づいて、複数の状態変数の値(上記変数ベクトルの値)である状態siを更新する。
最適化装置50において、多数回の反復処理を行う探索部51a1~51anを専用の回路で実現し、交換制御部52の機能をソフトウェアで実現する場合、ポインタ渡しにより、温度が近い2つの探索部の各状態変数の値(又は温度情報)を交換すればよい。この場合、交換ごとに温度の低い順又は高い順に探索部51a1~51anを識別する情報を並べるソート処理などを行わなくてよい。
1つの側面では、本発明は、解精度を向上させることが可能な最適化装置および最適化装置の制御方法を提供することを目的とする。
[第1の実施の形態]
第1の実施の形態を説明する。
最適化装置1は、複数の探索部(探索部10a1,10a2,…,10aN)および制御部20を有する。Nは2以上の整数であり、探索部の数に相当する。探索部10a1~10aNの各々は、状態保持部とエネルギー計算部と遷移制御部とを有する。例えば、探索部10a1は、状態保持部11とエネルギー計算部12と遷移制御部13とを有する。
制御部20は、探索部10a1~10aNを制御する。制御部20は、温度調整部21、温度制御部22および交換制御部23を有する。
交換制御部23は、エネルギー値の基底状態探索の繰り返し回数到達又は一定時間経過後に、複数の探索部間で温度値又は複数の状態変数の値を入れ替える。交換制御部23は、探索部10a1~10aNの各々からエネルギー値E1,E2,…,ENを取得し、前述のように、式(5)に基づいて、探索部間で温度値を入れ替えるか否かを決定する。又は、交換制御部23は、探索部間で温度値を入れ替えるか否かの決定に代えて、式(5)に基づいて、探索部間で複数の状態変数の値を入れ替えるか否かを決定してもよい。
また、温度調整部21は、エネルギー値の基底状態探索の繰り返し回数到達又は一定時間経過後に、探索部10a1~10aNの各々からエネルギー値を取得し、エネルギー値の最小値が更新されたか否かを、複数の探索部の各々に対して確認する。例えば、温度調整部21は、エネルギー値の基底状態探索の繰り返し回数到達又は一定時間経過後における、交換制御部23による複数の探索部間での温度値(又は複数の状態変数の値)の入れ替えの前に、エネルギー値の最小値が更新されたか否かの確認を行う。
ところで、上記のようにレプリカ交換法を用いて最適化演算を行うことが考えられる。レプリカ交換法は、複数のレプリカと呼ばれる系において各々異なる温度で基底状態探索を行い、ある周期で、エネルギーと温度から決定される遷移確率に従って、例えば隣接する系の温度、又は状態(複数の状態変数の値)を交換する方法である。レプリカ交換法によれば、温度が低下したときに局所解に陥っても、レプリカ交換により一度高い温度まで上がって再び大域解を探索でき、複雑な温度スケジューリングを考えなくても、高速に解を求められる。しかし、各レプリカに設定する温度を適切に決める必要があり、温度(特に、温度の最高値)が高過ぎても低過ぎても解精度が低下し、探索に時間がかかる問題がある。また、温度を適切に決定するために、幾つもの温度のパラメータで何度も最適化演算を行っていると非常に大きな手間と時間を要し、ユーザの利便性を損なう問題もある。
最適化装置1は、計算対象の最適化問題を変換したイジングモデルに含まれる複数のスピンに対応する複数のスピンビットのそれぞれの値の組合せ(状態)のうち、評価関数が最小値となるときの各スピンビットの値(基底状態)を探索する。
また、変数xiの値が変化して1-xiとなると、変数xiの増加分は、δxi=(1-xi)-xi=1-2xiと表せる。したがって、スピン反転(値の変化)に伴うエネルギー変化ΔEiは、以下の式(9)で表される。
最適化装置1は、例えば、FPGA(Field Programmable Gate Array)などの半導体集積回路を用いて実現される。最適化装置1は、図1で例示した探索部10a1~10aN、温度調整部21、温度制御部22および交換制御部23に加えて、全体制御部24を有する。なお、図2の例では、交換制御部23は温度制御部22に含まれるため、交換制御部23の図示を省略している。
シミュレーテッド・アニーリングでは、あるエネルギー変化ΔEを引き起こす状態遷移の許容確率p(ΔE,T)を前述の式(1)のように決める。式(1)においてTは、前述の温度情報Tである。温度情報Tは、温度制御部22により状態遷移判定回路13b1に設定される。また、関数fとしては、式(2)(メトロポリス法)、または、式(3)(ギブス法)が用いられる。
状態遷移判定回路13b1は、乱数生成部111、閾値生成部112および比較部113を有する。
閾値生成部112は、一様乱数uと、温度制御部22により供給された温度T1を示す温度情報とを用いて、前述の変換テーブルにより、式(12)(または、式(13))に基づく閾値T・f-1(u)を生成する。閾値生成部112は、生成した閾値T・f-1(u)を、比較部113に出力する。
図4は、セレクタ部の回路構成例を示す図である。
セレクタ部13cは、複数段にわたってツリー状に接続された複数の選択回路および乱数ビット生成部32a,32b,32c,…,32rを有する。乱数ビット生成部32a~32rは、ツリー状に接続された複数の選択回路の段毎に設けられる。乱数ビット生成部32a~32rの各々は、0または1の値をとる1ビット乱数を生成し、各段の選択回路に供給する。1ビット乱数は、入力されたフラグのペアのうちの何れか一方を選択するために用いられる。
選択回路31bqの入力は、1つ目の状態信号(status_1)と、2つ目の状態信号(status_2)である。選択回路31b1の出力は、状態信号(status)である。選択回路31bqは、OR回路131、NAND回路132およびセレクタ133,134を有する。
なお、初段の選択回路の入力は識別値を含まない。このため、初段の選択回路は、識別値(図中ではindexと表記)として、選択した方に対応するビット値(下位側の場合に「0」、上位側の場合に「1」)を追加して出力する回路となる。
温度調整部21は、レジスタ210、最低エネルギー更新確認回路220、最高温度更新確認回路230、温度ヒストグラム計算回路240および温度計算回路250を有する。
最低エネルギー更新確認回路220は、所定のデータ取得タイミングにおいて、探索部10a1~10aNの各々からエネルギー値Eを受け付ける。最低エネルギー更新確認回路220は、受け付けた探索部毎のエネルギー値Eをレジスタ210に記憶された探索部毎の最低エネルギーと比較することで、最低エネルギーが更新されたか否かを、探索部毎に確認する。最低エネルギー更新確認回路220は、最低エネルギーが更新されたか否かの探索部毎の確認結果を示す信号を、最高温度更新確認回路230および温度ヒストグラム計算回路240に出力する。最低エネルギー更新確認回路220は、ある探索部において最低エネルギーが更新された場合、レジスタ210に記録された該当の探索部の最低エネルギーを、該当の探索部から今回取得したエネルギーに更新する。
レジスタ210の各アドレスは、何れかの探索部に対応付けられており、当該探索部に関するデータが格納される。例えば、レジスタ210のアドレス「0xXXXXXX00」は、探索部10a1に対応付けられており、当該アドレスには探索部10a1が到達した最低エネルギーが格納される。例えば、最低エネルギーは、128ビット幅で表される。以降、同様に、例えば128ビット幅毎に、2番目の探索部10a2の最低エネルギー、3番目の探索部の最低エネルギーというように、各探索部に関する最低エネルギーが、レジスタ210に格納される。
コードC1は、変数の定義を示す。
min_egは、データ取得タイミングで得られたエネルギーを示す。
tmp_idxは、現在の温度値(あるいは温度に対応する温度インデックス)を示す。温度インデックスは、番号が大きいほど、温度が高いことを示すものとする。
変数min_eg、min_eg_pre、tmp_idx、tmp_idx_preは、探索部毎に設けられる。histogramは、探索部10a1~10aNに対して1つである。
1行目では、min_eg<min_eg_preを判定する。すなわち、1行目は、最低エネルギーが更新されたか否かの判定である。min_eg<min_eg_preの場合、2行目~4行目が順番に実行され、処理が終了する。min_eg≧min_eg_preの場合、6行目が実行される。
3行目では、min_eg_preに、min_egの値が設定される。すなわち、これまでの最低エネルギーが更新される。
グラフ70は、ある探索部における最低エネルギーの変化例を示す。グラフ71は、当該探索部における温度の変化例を示す。
グラフ71は、系列71aを含む。系列71aによれば、期間70bで最低エネルギーが更新された時点と期間70cで最低エネルギーが更新された時点との間に該当の探索部が到達した最高温度は、Taである。
温度ヒストグラム80は、温度ヒストグラム計算回路240により生成される。また、CPUなどのプロセッサを用いて温度調整を行う場合、温度ヒストグラム80は、図7の「histogram」に相当する。
例えば、温度計算回路250は、温度ヒストグラム80において最大頻度の温度インデックスに対応する温度を、最高温度tmp_maxと決定する。具体的には、温度計算回路250は、温度ヒストグラム80のうち、頻度の高い温度の中から、最高温度tmp_maxを決定する。一例では、温度計算回路250は、ピークp1で示される最大頻度の温度を、最高温度tmp_maxと決定する。なお、温度計算回路250は、温度インデックスに対して温度ヒストグラム80を作成した場合、温度インデックスに対応する温度値を、例えば、前述の第1の対応情報を参照することで特定する。この場合、例えば、温度制御部22が保持する前述の第1の対応情報を、温度計算回路250により参照可能にすることが考えられる。温度計算回路250は、決定した最高温度tmp_maxを用いて、式(6)、(7)により、新規温度tmp[i](1≦i≦N)を計算する。
累積ヒストグラム81は、温度ヒストグラム80で示される頻度を温度の小さい方から累積したヒストグラムである。累積ヒストグラム81は、温度計算回路250により生成される。累積ヒストグラム81の横軸は温度インデックスを示し、縦軸は累積頻度を示す。
図11は、レプリカ交換の全体制御例を示すフローチャートである。
(S1)全体制御部24は、外部から入力データとして初期温度を示す温度情報を受け取り、当該温度情報とともに起動信号を温度制御部22に出力する。
探索部処理は、ステップS2,S8に相当する。
(S20)温度制御部22は、探索部10a1~10aNの各々に温度を設定する。例えば、温度制御部22は、前述の温度インデックスと温度とを対応付けた第1の対応情報および温度インデックスと探索部の識別情報とを対応付けた第2の対応情報に基づいて、探索部10a1~10aNの各々に温度を設定する。あるいは、温度制御部22は、前述のように、探索部の識別情報と温度とを対応付けた対応情報に基づいて、探索部10a1~10aNの各々に温度を設定してもよい。なお、探索部10a1~10aNの各々に設定される温度の初期値は、問題などに応じて予め定められる。
上記のように、探索部10a1~10aNの各々は、温度値とエネルギーの変化値と乱数値とに基づいて、当該変化値と熱励起エネルギーとの相対関係によって複数の状態遷移の何れかを受け入れるか否かを確率的に決定する。当該決定の際、探索部10a1~10aNの各々の遷移制御部(例えば、遷移制御部13)は、エネルギー値の変化値に所定のオフセット値を加算する。これにより、局所解からの脱出が促進され、演算の高速化を図れる。
データ収集処理は、ステップS3に相当する。以下では、温度調整部21による探索部10a1に対する手順を説明するが、探索部10a2~10aNに対しても同様の手順となる。下記のステップS31~S34は、探索部10a1~10aNの各々に対して実行される。ステップS34の温度ヒストグラム80は、探索部10a1~10aNに対して1つ計算される。
交換制御は、ステップS5,S10に相当する。
(S40)交換制御部23は、偶数番目の探索部に関し、式(5)で示される交換確率に基づいて、隣接する上位(又は下位)温度の探索部と温度を交換するか否かを判定する。温度の交換の判定は、探索部のペア毎に行われる。式(5)の関数fには、式(2)のメトロポリス法の関数、または、式(3)のギブス法の関数が用いられる。温度を交換すると判定された探索部のペアがある場合、ステップS41に処理が進む。温度を交換すると判定された探索部のペアがない場合、ステップS42に処理が進む。
図15の横軸は、イタレーション回数(又は時間)を示し、左側から右側へ向かう方向が正方向である。
図16は、処理の流れの例(その2)を示す図である。
図16の横軸は、イタレーション回数(又は時間)を示し、左側から右側へ向かう方向が正方向である。
温度調整部21によるデータ取得期間は、単位期間t21,t22,t23,t24を含む。期間t25は、コアインターバルである。また、図中、「X」印は、レプリカ交換(すなわち、温度交換)を行うタイミングを示す。温度調整部21によるデータ取得は、データ取得期間におけるレプリカ交換の直前に行われる。
図17は、最適化装置の他のハードウェア例を示す図である。
最適化装置1aは、CPU101、RAM(Random Access Memory)102、HDD(Hard Disk Drive)103、NIC(Network Interface Card)104、出力IF(Interface)105、入力IF106、媒体リーダ107および確率的探索部108を有する。
[第2の実施の形態]
次に、第2の実施の形態を説明する。
最適化装置2は、例えば、FPGAなどの半導体集積回路を用いて実現される。最適化装置2は、探索部10a1~10aN、温度調整部21a、状態制御部23aおよび全体制御部24aを有する。
ただし、第2の実施の形態では、各探索部の状態保持部に対して、状態制御部23aによりビットステート(スピンビット列)およびビットステートの識別情報であるレプリカ番号が設定される。探索部10a1~10aNの数は、N個なので、最適化装置2におけるビットステートの総数もN個である。また、各探索部のh計算部に対して、状態制御部23aにより、ローカルフィールドが設定される。
温度調整部21aは、レジスタ310、最低エネルギー更新確認回路320、最高温度更新確認回路330、温度ヒストグラム計算回路340および温度計算回路350を有する。また、最適化装置2は、更に、温度制御部22aを有する。
最低エネルギー更新確認回路320は、所定のデータ取得タイミングにおいて、探索部10a1~10aNの各々から、エネルギー値Eと各探索部におけるビットステートのレプリカ番号とを受け付ける。最低エネルギー更新確認回路320は、受け付けたレプリカ番号毎のエネルギー値Eを、レジスタ310に記憶されたレプリカ番号毎の最低エネルギーと比較することで、最低エネルギーが更新された否かを、レプリカ番号毎に確認する。最低エネルギー更新確認回路320は、最低エネルギーが更新されたか否かのレプリカ番号毎の確認結果を示す信号を、最高温度更新確認回路330および温度ヒストグラム計算回路340に出力する。最低エネルギー更新確認回路320は、あるレプリカ番号において最低エネルギーが更新された場合、レジスタ310に記録された該当のレプリカ番号の最低エネルギーを、該当のレプリカ番号に対して今回取得したエネルギーに更新する。
レジスタ310では、所定オフセットを隔てた3つのアドレスが、1組のレコードに対応付けられる。例えば、アドレス「0xXXXXXX00」、「0xXXXXXXY0」、「0xXXXXXXZ0」は、アドレス「0xXXXXXXZ0」に格納されたレプリカ番号に対応する1組のレコードである。アドレス「0xXXXXXX00」には、該当のレプリカ番号に対応するビットステートが到達した最低エネルギーが格納される。例えば、最低エネルギーは、128ビット幅で表される。アドレス「0xXXXXXXY0」には、該当のレプリカ番号のビットステートにおいて前回の最低エネルギーの更新から、当該ビットステートに設定された最高の温度が格納される。例えば、温度は32ビット幅で表される。また、例えば、レプリカ番号は16ビット幅で表される。
このように、温度調整部21aは、探索部に設定されるビットステート(複数の状態変数)の識別情報(レプリカ番号)に対応付けて、当該ビットステートに対して到達したエネルギー値の最小値と、当該ビットステートに対して設定された最高温度を記録する。そして、温度調整部21aは、いずれかの探索部でエネルギー値の最小値が更新された場合に、当該エネルギー値の最小値の前回の更新から今回の更新までに該当の探索部におけるビットステート(複数の状態変数)に対して設定された温度のうちの最高の温度値を、温度統計情報として取得する。
図21は、レプリカ交換の全体制御例を示すフローチャートである。
(S1a)全体制御部24aは、外部から入力データとして初期温度を示す温度情報を受け取り、当該温度情報を探索部10a1~10aNに出力するとともに起動信号を状態制御部23aに出力する。
データ収集処理は、ステップS3aに相当する。以下では、温度調整部21aによる探索部10a1に対する手順を説明するが、探索部10a2~10aNに対しても同様の手順となる。下記のステップS31a~S34aは、探索部10a1~10aNの各々に対して実行される。ステップS34aの温度ヒストグラム80は、探索部10a1~10aNに対して1つ計算される。
交換制御は、ステップS5a,S10aに相当する。
(S40a)状態制御部23aは、偶数番目の探索部に関し、式(5)で示される交換確率に基づいて、隣接する上位(又は下位)温度の探索部とビットステートおよびローカルフィールドを交換するか否かを判定する。ビットステートおよびローカルフィールドの交換の判定は、探索部のペア毎に行われる。式(5)の関数fには、式(2)のメトロポリス法の関数、または、式(3)のギブス法の関数が用いられる。ビットステートおよびローカルフィールドを交換すると判定された探索部のペアがある場合、ステップS41aに処理が進む。ビットステートおよびローカルフィールドを交換すると判定された探索部のペアがない場合、ステップS42aに処理が進む。
最適化装置2によれば、探索部10a1~10aNに設定する温度を適切に決定できる。具体的には、データ取得期間における最低エネルギーの更新、および、設定された最高温度の統計情報に基づいて、新規温度tmp[i]の最高値を決定することで、各探索部に設定する温度が高過ぎたり、低過ぎたりすることを抑えられる。このため、最適化装置2における解精度を向上させることができる。また、解精度の向上により、より早く適切な解に到達する可能性を高められ、演算の高速化を図れる。
グラフ90は、比較例の方法で温度を決定して演算を行った場合に得られた組合せ最適化問題の解の個数と、最適化装置1,2(または最適化装置1a)により温度調整を行って演算を行った場合に得られた組合せ最適化問題の解の個数とを例示する。グラフ90の横軸は問題を示し、縦軸は解の個数を示す。比較例の方法は、演算開始時に、スピンビット間の結合を表す係数行列Wに基づいて、所定の演算により最高温度を決定し、各探索部に設定する温度を決定する方法である。
10a1,10a2,…,10aN 探索部
11 状態保持部
12 エネルギー計算部
13 遷移制御部
20 制御部
21 温度調整部
22 温度制御部
23 交換制御部
Claims (10)
- 複数の探索部と前記複数の探索部を制御する制御部を有する最適化装置において、
前記複数の探索部の各々は、
エネルギー値を表す評価関数に含まれる複数の状態変数の値をそれぞれ保持する状態保持部と、
前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合、前記エネルギー値の変化値を複数の状態遷移のそれぞれに対して計算することにより基底状態探索を行うエネルギー計算部と、
設定された温度値と前記変化値と乱数値とに基づいて、前記エネルギー値の変化値と熱励起エネルギーとの相対関係によって前記複数の状態遷移の何れかを受け入れるか否かを確率的に決定する遷移制御部とを有し、
前記制御部は、
前記複数の探索部の各々における温度値の遷移に関する統計情報である温度統計情報を取得するとともに、取得した温度統計情報に基づいて前記複数の探索部の各々に設定する前記温度値を決定する温度調整部と、
決定した前記温度値を前記複数の探索部の各々に対して設定する温度制御部と、
前記エネルギー値の基底状態探索の繰り返し回数到達又は一定時間経過後に、前記複数の探索部間で前記温度値又は前記複数の状態変数の値を入れ替える交換制御部と、
を有する最適化装置。 - 前記温度調整部は、取得した温度統計情報のうち、温度値の遷移に関し、各温度値の出現頻度を計数した温度頻度情報において、前記出現頻度の最大値に対応する温度値を前記複数の探索部の各々に設定する、
請求項1記載の最適化装置。 - 前記温度調整部は、取得した温度統計情報のうち、温度値の遷移に関し、各温度値の出現頻度を累積した累積頻度を表す温度累積頻度情報において、前記累積頻度の最大値に所定係数を乗じて得られた頻度に対応する温度値を前記複数の探索部の各々に設定する、
請求項1記載の最適化装置。 - 前記所定係数は、外部から入力される、
請求項3記載の最適化装置。 - 前記遷移制御部は、前記温度値と前記変化値と乱数値とに基づいて、前記変化値と熱励起エネルギーとの相対関係によって前記複数の状態遷移の何れかを受け入れるか否かを確率的に決定する際、前記エネルギー値の変化値に所定のオフセット値を加算する、
請求項1乃至4のいずれか一項に記載の最適化装置。 - 前記温度調整部は、取得した温度統計情報から、前記複数の探索部の各々に設定する前記温度値の最高値を決定し、前記最高値に基づいて前記複数の探索部の各々に設定する前記最高値以外の温度値を決定する、
請求項1乃至5の何れか一項に記載の最適化装置。 - 前記温度調整部は、いずれかの探索部で前記エネルギー値の最小値が更新された場合に、前記エネルギー値の最小値の前回の更新から今回の更新までに、前記探索部又は前記探索部における前記複数の状態変数の値に対して設定された最高の温度値を、温度統計情報として取得する、
請求項1乃至6のいずれか一項に記載の最適化装置。 - 前記温度調整部は、前記エネルギー値の基底状態探索の繰り返し回数到達又は一定時間経過後に、前記複数の探索部の各々から前記エネルギー値を取得し、前記エネルギー値の最小値が更新されたか否かを、前記複数の探索部の各々、又は前記複数の探索部の各々における前記複数の状態変数の値に対して確認する、
請求項7記載の最適化装置。 - 前記温度調整部は、前記複数の探索部の各々に第1の温度値が設定されている所定期間で温度統計情報を取得し、前記所定期間の終了後に、温度統計情報に基づいて前記複数の探索部の各々に設定する第2の温度値を決定する、
請求項1乃至8のいずれか一項に記載の最適化装置。 - 複数の探索部と前記複数の探索部を制御する制御部を有する最適化装置の制御方法において、
前記複数の探索部の各々が有する状態保持部が、エネルギー値を表す評価関数に含まれる複数の状態変数の値をそれぞれ保持し、
前記複数の探索部の各々が有するエネルギー計算部が、前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合、前記エネルギー値の変化値を複数の状態遷移のそれぞれに対して計算することにより基底状態探索を行い、
前記複数の探索部の各々が有する遷移制御部が、設定された温度値と前記変化値と乱数値とに基づいて、前記エネルギー値の変化値と熱励起エネルギーとの相対関係によって前記複数の状態遷移の何れかを受け入れるか否かを確率的に決定し、
前記制御部が有する温度調整部が、前記複数の探索部の各々における温度値の遷移に関する統計情報である温度統計情報を取得するとともに、取得した温度統計情報に基づいて前記複数の探索部の各々に設定する前記温度値を決定し、
前記制御部が有する温度制御部が、決定した前記温度値を前記複数の探索部の各々に対して設定し、
前記制御部が有する交換制御部が、前記エネルギー値の基底状態探索の繰り返し回数到達又は一定時間経過後に、前記複数の探索部間で前記温度値又は前記複数の状態変数の値を入れ替える、
最適化装置の制御方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018219079A JP7108185B2 (ja) | 2018-11-22 | 2018-11-22 | 最適化装置および最適化装置の制御方法 |
US16/583,344 US11262717B2 (en) | 2018-11-22 | 2019-09-26 | Optimization device and control method of optimization device based on temperature statistical information |
EP19200238.4A EP3660705A1 (en) | 2018-11-22 | 2019-09-27 | Optimization device and control method of optimization device |
CN201910993506.XA CN111210046B (zh) | 2018-11-22 | 2019-10-18 | 优化装置及优化装置的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018219079A JP7108185B2 (ja) | 2018-11-22 | 2018-11-22 | 最適化装置および最適化装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020086821A JP2020086821A (ja) | 2020-06-04 |
JP7108185B2 true JP7108185B2 (ja) | 2022-07-28 |
Family
ID=68165437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018219079A Active JP7108185B2 (ja) | 2018-11-22 | 2018-11-22 | 最適化装置および最適化装置の制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11262717B2 (ja) |
EP (1) | EP3660705A1 (ja) |
JP (1) | JP7108185B2 (ja) |
CN (1) | CN111210046B (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7174244B2 (ja) * | 2018-12-26 | 2022-11-17 | 富士通株式会社 | 最適化装置及び最適化装置の制御方法 |
JP7201911B2 (ja) * | 2019-05-13 | 2023-01-11 | 富士通株式会社 | 最適化装置および最適化装置の制御方法 |
JP7248907B2 (ja) | 2019-08-14 | 2023-03-30 | 富士通株式会社 | 最適化装置および最適化装置の制御方法 |
JP7051771B2 (ja) * | 2019-09-09 | 2022-04-11 | 株式会社東芝 | 計算装置、計算方法およびプログラム |
JP2021168068A (ja) * | 2020-04-13 | 2021-10-21 | 富士通株式会社 | 最適化装置、最適化方法及び最適化プログラム |
JP2022015503A (ja) * | 2020-07-09 | 2022-01-21 | 富士通株式会社 | 情報処理システム、情報処理方法及びプログラム |
JP2022090249A (ja) * | 2020-12-07 | 2022-06-17 | 富士通株式会社 | 最適化装置、最適化方法、及び最適化プログラム |
CN115858999B (zh) * | 2023-02-07 | 2023-04-25 | 华南理工大学 | 一种基于改进模拟退火算法的组合优化问题处理电路 |
CN116151171B (zh) * | 2023-04-17 | 2023-07-18 | 华南理工大学 | 一种基于并行回火的全连接伊辛模型退火处理电路 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018063626A (ja) | 2016-10-14 | 2018-04-19 | 富士通株式会社 | 最適化装置及び最適化装置の制御方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09231197A (ja) | 1996-02-22 | 1997-09-05 | Fujitsu Ltd | 温度並列シミュレーティド・アニーリング用恒温槽装置及び温度並列シミュレーティド・アニーリング方法 |
JPH09325949A (ja) | 1996-06-04 | 1997-12-16 | Nissan Motor Co Ltd | 遺伝的アルゴリズムの最適化方法及び遺伝的アルゴリズムの解析システム |
EP2020911A4 (en) * | 2006-05-13 | 2011-07-27 | Tensys Medical Inc | CONTINUOUS POSITIONING DEVICE AND METHOD |
CN100573557C (zh) * | 2007-08-06 | 2009-12-23 | 北京航空航天大学 | 一种快速退火的基于mrf的sar图像分割方法 |
WO2012167498A1 (zh) * | 2011-08-03 | 2012-12-13 | 华为技术有限公司 | 基于模拟退火算法的频率优化方法和装置 |
KR102108939B1 (ko) * | 2012-04-18 | 2020-05-12 | 어플라이드 머티어리얼스, 인코포레이티드 | 발전된 어닐링 프로세스에서 입자를 감소시키기 위한 장치 및 방법 |
CN102982240B (zh) * | 2012-11-19 | 2016-01-06 | 华侨大学 | 基于变尺度混沌模拟退火算法的圆度误差评定方法 |
GB2520293B (en) * | 2013-11-14 | 2018-02-07 | Passivsystems Ltd | Improvements in and relating to temperature controlled systems |
CN107077642B (zh) * | 2014-08-22 | 2021-04-06 | D-波系统公司 | 可用于量子计算的用于求解问题的系统和方法 |
CN104933328A (zh) * | 2015-06-08 | 2015-09-23 | 浙江工业大学 | 一种基于副本交换的变步长蛋白质构象空间搜索方法 |
JP6468254B2 (ja) | 2016-07-01 | 2019-02-13 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
CN107633157B (zh) * | 2017-08-29 | 2020-10-27 | 浙江工业大学 | 一种基于分布估计和副本交换策略的蛋白质构象空间优化方法 |
-
2018
- 2018-11-22 JP JP2018219079A patent/JP7108185B2/ja active Active
-
2019
- 2019-09-26 US US16/583,344 patent/US11262717B2/en active Active
- 2019-09-27 EP EP19200238.4A patent/EP3660705A1/en active Pending
- 2019-10-18 CN CN201910993506.XA patent/CN111210046B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018063626A (ja) | 2016-10-14 | 2018-04-19 | 富士通株式会社 | 最適化装置及び最適化装置の制御方法 |
Non-Patent Citations (1)
Title |
---|
三木光範 ほか,シミュレーテッドアニーリングプログラミングの温度並列化,情報処理学会論文誌 論文誌ジャーナル[CD-ROM],日本,社団法人情報処理学会,2010年07月15日,第51巻、第7号,pp.1371-1381,ISSN:1882-7837 |
Also Published As
Publication number | Publication date |
---|---|
JP2020086821A (ja) | 2020-06-04 |
CN111210046A (zh) | 2020-05-29 |
EP3660705A1 (en) | 2020-06-03 |
US11262717B2 (en) | 2022-03-01 |
US20200166900A1 (en) | 2020-05-28 |
CN111210046B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7108185B2 (ja) | 最適化装置および最適化装置の制御方法 | |
JP7248907B2 (ja) | 最適化装置および最適化装置の制御方法 | |
JP7007585B2 (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
JP7201911B2 (ja) | 最適化装置および最適化装置の制御方法 | |
JP2019185602A (ja) | 最適化装置及び最適化装置の制御方法 | |
US20210271274A1 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium | |
JP2020204929A (ja) | サンプリング装置およびサンプリング方法 | |
JP7181454B2 (ja) | 最適化装置、最適化装置の制御方法および最適化装置の制御プログラム | |
US20210334332A1 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium for storing program | |
EP3937090A1 (en) | Information processing system, information processing method, and program | |
EP3851953B1 (en) | Optimization apparatus, temperature setting method, and temperature setting program | |
JP6997404B2 (ja) | 最適化装置、最適化装置の制御方法および最適化装置の制御プログラム | |
CN111861519A (zh) | 用于数据处理的方法、装置和介质 | |
US20220366011A1 (en) | Non-transitory computer-readable storage medium and information processing apparatus | |
WO2020263440A1 (en) | Data-driven cross feature generation | |
JP2024022267A (ja) | 計算方法、計算システム、及びプログラム | |
CN116186343A (zh) | 信息处理设备、信息处理方法和计算机可读记录介质 | |
JP2023122981A (ja) | プログラム、データ処理装置及びデータ処理方法 | |
CN117041073A (zh) | 网络行为预测方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210810 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20210820 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20210820 |
|
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: 20220614 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220615 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220627 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7108185 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |