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

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

Info

Publication number
JP7206492B2
JP7206492B2 JP2019085334A JP2019085334A JP7206492B2 JP 7206492 B2 JP7206492 B2 JP 7206492B2 JP 2019085334 A JP2019085334 A JP 2019085334A JP 2019085334 A JP2019085334 A JP 2019085334A JP 7206492 B2 JP7206492 B2 JP 7206492B2
Authority
JP
Japan
Prior art keywords
replica
temperature
gravity
center
states
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
Application number
JP2019085334A
Other languages
English (en)
Other versions
JP2020181461A (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
Priority to JP2019085334A priority Critical patent/JP7206492B2/ja
Priority to EP20163831.9A priority patent/EP3731036A1/en
Priority to US16/829,047 priority patent/US20200338843A1/en
Priority to CN202010276505.6A priority patent/CN111858229A/zh
Publication of JP2020181461A publication Critical patent/JP2020181461A/ja
Application granted granted Critical
Publication of JP7206492B2 publication Critical patent/JP7206492B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C71/00After-treatment of articles without altering their shape; Apparatus therefor
    • B29C71/02Thermal after-treatment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/10Processes of additive manufacturing
    • B29C64/106Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material
    • B29C64/118Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material using filamentary material being melted, e.g. fused deposition modelling [FDM]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • B29C64/393Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M1/00Testing static or dynamic balance of machines or structures
    • G01M1/12Static balancing; Determining position of centre of gravity
    • G01M1/122Determining position of centre of gravity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C71/00After-treatment of articles without altering their shape; Apparatus therefor
    • B29C71/02Thermal after-treatment
    • B29C2071/022Annealing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Chemical & Material Sciences (AREA)
  • Materials Engineering (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Evolutionary Computation (AREA)
  • Business, Economics & Management (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)
  • Manufacturing & Machinery (AREA)
  • Databases & Information Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Thermal Sciences (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Automation & Control Theory (AREA)
  • General Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)

Description

本発明は、最適化装置及び最適化装置の制御方法に関する。
近年、各分野において行われる情報処理では、例えば、必要な資源の最小化や効果の最大化等を目的とする最適化問題を解くための処理が行われている。
このような最適化問題のうち、例えば、離散最適化問題や組合せ最適化問題等では、変数が離散的な値(連続値ではない値)を取るため、解の算出が非常に困難になる場合がある。具体的に、例えば、離散最適化問題では、最適解ではないが局所的近傍において最小値を取る解(以下、局所解とも呼ぶ)が非常に多く存在するため、解の算出が困難になる場合がある。
このような離散最適化問題を解く場合、例えば、問題に固有な性質を利用した近似解法や、問題の性質に頼らないメタヒューリスティックと呼ばれる解法が用いられる。具体的に、例えば、メタヒューリスティックのうち、マルコフ連鎖モンテカルロ法を用いた解法に関するものであって、交換モンテカルロ法やレプリカ交換法と呼ばれる広い意味での疑似焼き鈍し法が用いられる。
この疑似焼き鈍し法は、乱数を用いて確率的に状態を変化させることによって最適解を算出する方法である。そして、疑似焼き鈍し法では、状態遷移の受け入れ(許容)確率を、その状態遷移に伴うエネルギー変化と温度とを用いることによって以下の式(1)及び式(2)のように定める場合、時刻(焼き鈍し動作の反復回数)が無限大となる極限において状態が最適解に到達することが証明されている。なお、以下の式(1)におけるTは、温度を表すパラメータであり、問題に応じて初期値を大きく取ることが好ましく、また、時間の経過に伴って徐々と低下させていくことが好ましい。
Figure 0007206492000001
Figure 0007206492000002
上記のように、疑似焼き鈍し法では、焼き鈍し動作の反復回数を無限に取ることによって最適解を得ることができる。しかしながら、現実には、有限の反復回数で解を得る必要があるため、最適解を確実に求めることができない場合がある。また、上記のように、温度低下のペースが非常に遅いため、有限時間では温度が十分に低下しない場合がある。
そのため、実際の疑似焼き鈍し法では、理論的に収束することが保証される温度低下のペースよりも早いペースによって温度を低下させる必要がある。そして、実際の疑似焼き鈍し法では、温度を低下させながら焼き鈍し動作の反復を繰り返していき、一定の反復回数に達した場合やエネルギーが所定値を下回る等の条件が満たされた場合に動作を終了し、終了時の状態を解として出力する。
なお、上記のように、有限の反復回数では温度が0にならないため、動作の終了時においても状態の占有確率がボルツマン分布等に従うことになり、最適解や良い解が出力されない可能性がある。そのため、実際の疑似焼き鈍し法では、例えば、反復の途中で得られた各状態のうち、エネルギーが最低であった状態を出力する方法等が採用される。
上記のように、疑似焼き鈍し法では、温度を徐々に低下させる必要があるため、計算時間が比較的長くなるという問題がある。また、疑似焼き鈍し法では、温度の下げ方を問題に合わせて適切に調整することが難しいという問題もある。具体的に、温度の下げ方が遅すぎる場合、有限時間内において十分に温度が下がらなくなるため、最終的な熱分布のエネルギー範囲が広くなり、良い解の占有確率が上がらなくなる。一方、温度の下げ方が速すぎる場合、局所解を脱出する前に温度が下がってしまうため、この場合においても良い解の占有確率が上がらなくなる。
次に、レプリカ交換法について説明を行う。図1及び図2は、レプリカ交換法を用いた最適化装置50の構成例を説明する図である。
レプリカ交換法は、複数の温度を用いたモンテカルロ探索(以下、確率的探索とも呼ぶ)を同時に行い、所定の反復回数ごとに、それぞれの状態に対応するエネルギーを比較し、適切な確率で2つの温度に対する状態を交換する操作を行う方法である。
図1に示す例において、最適化装置50は、複数の焼鈍部51a0、51a1、…、51ai、…、51an(以下、これらを総称して単に焼鈍部51とも呼ぶ)と、交換制御部52とを有する。
交換制御部52は、各焼鈍部51に対して温度情報(以下、単に温度とも呼ぶ)を与える。具体的に、交換制御部52は、例えば、Tの逆数である逆温度β(0≦i≦n))を各焼鈍部51に与える。
一方、焼鈍部51aiは、図2に示すように、状態保持部61と、評価関数計算部62と、遷移制御部63とを有する。なお、他の焼鈍部51の構成については、焼鈍部51aiと同様であるため説明を省略する。
状態保持部61は、評価関数に含まれる複数の状態変数(以下、パラメータとも呼ぶ)の値である状態Sを保持する。そして、状態保持部61は、状態変数の変化(以下、状態遷移とも呼ぶ)の可否を示すフラグfと、フラグfに対応する状態変数の番号Nとに基づいて、状態Sを更新する。
評価関数計算部62は、状態遷移に伴うエネルギー変化を計算する。具体的に、例えば、評価関数が2つの状態変数間の結合で表されるイジングモデルで表され、かつ、一度に1つの状態変化に対応する状態遷移のみを許す場合、評価関数計算部62は、各状態変数の値と、状態変数間の結合の強さを示す結合係数と、番号Nと、フラグfとに基づいて、複数の状態変数のそれぞれに対応する状態遷移に伴うエネルギー変化ΔEi,jを計算する。エネルギー変化ΔEi,jは、j番目の焼鈍部51の状態変数に対応する状態遷移に伴うエネルギー変化を示す。
なお、計算したい最適化問題に応じた結合係数の値は、例えば、予めメモリまたはレジスタ等に記憶されているものであってよい。また、評価関数計算部62は、例えば、積和演算回路等の論理回路を用いて実現されるものであってよい。
遷移制御部63は、疑似焼き鈍し法と同様に、エネルギー変化ΔEi,jと、交換制御部52によって割り当てられた逆温度βとを以下の式(3)に代入することにより、j番目の焼鈍部51の状態変数に対応する状態遷移の受け入れ確率を決定することで確率的探索を行う。なお、以下の式(3)において、関数fは、式(1)におけるものと同じであり、例えば、式(2)のメトロポリス法におけるものが用いられる。
Figure 0007206492000003
そして、遷移制御部63は、式(3)によって算出された状態遷移の受け入れ確率に基づいて、フラグfと番号Nとを出力する。さらに、遷移制御部63は、エネルギー変化ΔEi,jに基づいて、エネルギーEを更新して出力する。
一方、交換制御部52は、各焼鈍部51において焼き鈍し動作が一定回数反復されるごとに、各焼鈍部51におけるエネルギーEを観測し、焼鈍部51のうちの2つにおけるエネルギーEと逆温度βとを用いることにより、以下の式(4)において表される交換確率を算出する。そして、交換制御部52は、算出した交換確率に基づいて、2つの焼鈍部51における各状態変数の値を交換する。この場合、交換制御部52は、状態変数の値の代わりに、2つの焼鈍部51のそれぞれに与えられる逆温度βを交換するものであってもよい。
なお、以下の式(4)では、βを焼鈍部51aiに与えられた逆温度とし、βをj番目の焼鈍部51に与えられた逆温度とし、Eを焼鈍部51aiにおけるエネルギーとし、Eをj番目の焼鈍部51におけるエネルギーとしている。また、式(4)において、関数fは、式(1)におけるものと同じであり、例えば、式(2)のメトロポリス法におけるものが用いられる。
Figure 0007206492000004
このような交換が行われる場合であっても、それぞれの温度の状態についての確率分布は、それぞれの温度に対するボルツマン分布に収束する。そして、この確率分布の収束に要する緩和時間は、交換を行わない場合よりも著しく短縮される。
なお、交換が行われる2つの焼鈍部51は、交換確率が小さくなり過ぎないように、与えられる温度が近い2つの焼鈍部51(例えば、隣接する温度が与えられる2つの焼鈍部51)が選択されることが好ましい(例えば、特許文献1乃至3参照)。
特開2004-244721号公報 特開2002-217902号公報 特表2016-519857号公報
ここで、上記のようなレプリカ交換法を用いた最適化装置50では、複数の焼鈍部51(例えば、低い温度が与えられた複数の焼鈍部51)において同じ局所解に対応する領域の探索が行われる場合がある。そのため、最適化装置50では、最適解の探索が効率的に行われない場合がある。
そこで、一つの側面では、本発明は、最適解の探索を効率的に行うことを可能とする最適化装置及び最適化装置の制御方法を提供することを目的とする。
実施の形態の一態様では、最適化装置は、焼き鈍し動作を実行する演算部と、前記演算部が、過去に実行したN回分(Nは正の整数)の焼き鈍し動作に対応するレプリカ状態を識別するレプリカ状態識別情報に対応する温度と、前記レプリカ状態に対応する複数のパラメータと、前記レプリカ状態に対応するエネルギーと、をそれぞれ保持するレプリカ履歴情報保持部と、前記レプリカ履歴情報保持部が保持するN回分の各レプリカ状態に対応する複数のパラメータの重心をそれぞれ計算し、前記N回分の各レプリカ状態に対応する複数のパラメータの重心を重心保持部に保持する重心計算部と、前記重心保持部が重心を保持する複数のレプリカ状態のうち、所定温度以下の温度に対応する複数のレプリカ状態の組のそれぞれについて、重心が所定距離以内に有るか否かを判定する重心距離判定部と、重心が前記所定距離以内に有ると判定されたレプリカ状態の組に含まれるレプリカ状態のいずれか一方に対応する温度を、前記所定温度を超える温度に変更する温度調整部と、変更された前記温度と、該温度に対応するレプリカ状態に対応する複数のパラメータとを用いて、前記演算部に前記焼き鈍し動作を行わせるレプリカ交換制御部と、を有する。
一つの側面によれば、最適解の探索を効率的に行うことを可能とする。
図1は、レプリカ交換法を用いた最適化装置50の構成例を説明する図である。 図2は、レプリカ交換法を用いた最適化装置50の構成例を説明する図である。 図3は、第1の実施の形態における最適化装置10の構成例を示す図である。 図4は、第1の実施の形態における最適化装置10の構成例を示す図である。 図5は、最適化装置10の動作を説明するフローチャート図である。 図6は、最適化装置10の動作を説明するフローチャート図である。 図7は、最適化装置10の動作を説明するフローチャート図である。 図8は、最適化装置10の動作を説明するフローチャート図である。 図9は、最適化装置10の動作を説明するフローチャート図である。 図10は、最適化装置10の動作を説明するフローチャート図である。 図11は、最適化装置10の動作を説明するフローチャート図である。 図12は、最適化装置10の動作を説明するフローチャート図である。 図13は、最適化装置10の動作を説明するフローチャート図である。 図14は、履歴情報131の具体例について説明する図である。 図15は、重心情報132の具体例について説明する図である。 図16は、重心情報132の具体例について説明する図である。 図17は、低温情報133の具体例について説明する図である。 図18は、調整情報134の具体例について説明する図である。 図19は、最適化装置10の動作の具体例について説明する図である。
[第1の実施の形態]
初めに、第1の実施の形態における最適化装置10について説明を行う。図3及び図4は、第1の実施の形態における最適化装置10の構成例を示す図である。
第1の実施の形態における最適化装置10は、図3に示すように、焼鈍部11a0、11a1、…、11ai、…、11an(以下、これらを総称して単に焼鈍部11とも呼ぶ)と、交換制御部12(以下、レプリカ交換制御部12とも呼ぶ)とを有する。
焼鈍部11のそれぞれは、図2で説明した焼鈍部51aiと同じである。すなわち、焼鈍部11のそれぞれは、複数の状態変数の何れかの値が変化する状態遷移が起こる場合、複数の状態変数の値の変化に伴うエネルギーEの変化を算出する。そして、焼鈍部11のそれぞれは、エネルギーEの変化と温度に基づいて、複数の状態変数の値の中から変化を受け入れる値を確率的に決定することで確率的探索を行う。なお、焼鈍部11のそれぞれには、例えば、互いに異なる温度が割り当てられる。
交換制御部12は、図4に示すように、履歴情報保持部12aと、重心計算回路12b(以下、重心計算部12bとも呼ぶ)と、重心保持部12cと、重心距離判定回路12d(以下、重心距離判定部12dとも呼ぶ)と、温度調整回路12e(以下、温度調整部12e)と、交換演算回路12f(以下、交換演算部12fとも呼ぶ)と、出力制御回路12g(以下、出力制御部12gとも呼ぶ)とを有する。
履歴情報保持部12aは、履歴情報131(以下、レプリカ履歴情報131とも呼ぶ)を保持する。履歴情報131は、各焼鈍部11のレプリカ状態を識別するレプリカ状態識別情報(以下、レプリカ番号とも呼ぶ)に対応する温度と、各焼鈍部11のレプリカ状態に対応する複数のパラメータと、各焼鈍部11のレプリカ状態に対応するエネルギーEとを含む情報である。
重心計算部12bは、履歴情報保持部12aが保持するN回分の各レプリカ状態に対応する複数のパラメータの重心(以下、重心情報132とも呼ぶ)をそれぞれ計算する。すなわち、重心計算部12bは、各焼鈍部11のレプリカ状態のそれぞれについて複数のパラメータの重心を計算する。そして、重心保持部12cは、重心計算部12bが計算した重心情報132を保持する。
重心距離判定部12dは、重心保持部12cが重心情報132を保持する複数のレプリカ状態のうち、所定温度以下の温度に対応する複数のレプリカ状態(以下、低温レプリカ状態とも呼ぶ)の組のそれぞれについて、重心が所定距離以内に有るか否かを判定する。
温度調整部12eは、重心が所定距離以内に有ると判定されたレプリカ状態の組(以下、単にレプリカ状態の組とも呼ぶ)に含まれるレプリカ状態のいずれか一方に対応する温度を、所定温度を超える温度に変更する。
具体的に、温度調整部12eは、例えば、レプリカ状態の組に含まれるレプリカ状態のいずれか一方に対応する温度を、重心保持部12cが重心情報132を保持する複数のレプリカ状態のうち、レプリカ状態の組に含まれないレプリカ状態の温度と交換する。
また、温度調整部12eは、例えば、レプリカ状態の組に含まれるレプリカ状態のいずれか一方に対応する温度を、レプリカ状態の組に含まれる各レプリカ状態の重心が所定距離を超えるようになるまで上昇させる。
交換演算部12fは、各焼鈍部11のレプリカ状態に対応する温度(温度調整部12eによって変更された温度を含む)の交換を行う。
具体的に、交換演算部12fは、例えば、温度を交換する候補である2つの焼鈍部11(以下、単に2つの焼鈍部11とも呼ぶ)のそれぞれに対応する温度とエネルギーEとから、2つの焼鈍部11のレプリカ状態に対応する温度の交換確率pij(上記の式(3)で説明した交換確率pij)を算出する。そして、交換演算部12fは、例えば、算出した交換確率Pijと乱数との比較結果に基づいて、2つの焼鈍部11のレプリカ状態に対応する温度の交換要否を決定する。
出力制御部12gは、各焼鈍部11のレプリカ状態に対応する温度(交換演算部12fによって交換された温度を含む)を各焼鈍部11に与える。そして、各焼鈍部11は、出力制御部12gによって与えられた温度と、各焼鈍部11のレプリカ状態に対応する複数のパラメータとを用いることによって焼き鈍し動作を行う。
なお、履歴情報保持部12a及び重心保持部12cは、例えば、レジスタ等の記憶回路であってよい。また、履歴情報保持部12a及び重心保持部12cは、RAM(Random Access Memory)等の揮発性メモリ、または、フラッシュメモリやEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性メモリであってもよい。
[最適化装置の動作]
次に、最適化装置10の動作について説明を行う。図5から図13は、最適化装置10の動作を説明するフローチャート図である。具体的に、図5から図13は、交換制御部12の動作を説明するフローチャート図である。また、図14から図18は、最適化装置10の動作を説明する図である。
交換制御部12の交換演算部12fは、図5に示すように、各焼鈍部11からエネルギーE及び複数のパラメータを受け付けるまで待機する(S11のNO)。具体的に、交換制御部12は、各焼鈍部11が焼き鈍し動作を行ったことに伴ってエネルギーE及び複数のパラメータを送信するまで待機する。
そして、各焼鈍部11からエネルギーE及び複数のパラメータを受け付けた場合(S11のYES)、交換演算部12fは、S11で受け付けたエネルギー及び複数のパラメータと、S11で受け付けたエネルギー及び複数のパラメータの送信元の焼鈍部11に与えた温度とを対応付けた履歴情報131を生成する(S12)。
その後、交換制御部12の履歴情報保持部12aは、S12で生成した履歴情報131を保持する(S13)。具体的に、履歴情報保持部12aは、焼鈍部11ごとであって焼き鈍し動作ごとの履歴情報131をそれぞれ保持する。以下、履歴情報保持部12aが保持する履歴情報131の具体例について説明を行う。
[履歴情報の具体例]
図14は、履歴情報131の具体例について説明する図である。なお、以下、最適化装置10における焼鈍部11の数(レプリカの数)が5つであるものとして説明を行う。また、各焼鈍部11のレプリカ状態に対応するパラメータの数が5つであるものとして説明を行う。
図14に示す履歴情報131は、各焼鈍部11における焼き鈍し動作の反復回数が記憶される「反復番号」と、各焼鈍部11に対応するレプリカ番号が記憶される「レプリカ番号」とを項目として有する。また、図14に示す履歴情報131は、各焼鈍部11に対応するパラメータ(変数)の値がそれぞれ記憶される「変数1」、「変数2」、「変数3」、「変数4」及び「変数5」のそれぞれを項目として有する。さらに、図14に示す履歴情報131は、各焼鈍部11に与えられる温度が記憶される「温度」と、各焼鈍部11に対応するエネルギーEが記憶される「エネルギー」とを項目として有する。
具体的に、図14に示す履歴情報131において、1行目の情報には、「反復番号」として「1」が記憶され、「レプリカ番号」として「RP1」が記憶され、「変数1」として「1」が記憶され、「変数2」として「1」が記憶され、「変数3」として「1」が記憶され、「変数4」として「0」が記憶され、「変数5」として「1」が記憶されている。そして、図14に示す履歴情報131において、1行目の情報には、「温度」として「0.2」が記憶され、「エネルギー」として「100000」が記憶されている。
また、図14に示す履歴情報131において、2行目の情報には、「反復番号」として「1」が記憶され、「レプリカ番号」として「RP2」が記憶され、「変数1」として「1」が記憶され、「変数2」として「1」が記憶され、「変数3」として「1」が記憶され、「変数4」として「0」が記憶され、「変数5」として「0」が記憶されている。そして、図14に示す履歴情報131において、2行目の情報には、「温度」として「1.3」が記憶され、「エネルギー」として「100000」が記憶されている。図14に含まれる他の情報についての説明は省略する。
なお、以下、「レプリカ番号」が「RP1」、「RP2」、「RP3」、「RP4」及び「RP5」である情報に対応する焼鈍部11を、それぞれレプリカRP1、レプリカRP2、レプリカRP3、レプリカRP4及びレプリカRP5とも呼ぶ。
図6に戻り、交換制御部12は、図5で説明した動作と並行して、レプリカ交換タイミングになるまで待機する(S21のNO)。レプリカ交換タイミングは、例えば、各焼鈍部11における焼き鈍し動作の反復回数がN回の定数倍に達したタイミングであってよい。すなわち、交換制御部12は、各焼鈍部11における焼き鈍し動作の反復回数がN回に達するごとに、直前に行われたN回の焼き鈍し動作に対応する履歴情報131を用いることによってS21以降の動作を行うものであってよい。なお、本実施の形態におけるN回は、例えば、ユーザ等によって予め入力される回数であってよい。
そして、レプリカ交換タイミングになった場合(S21のYES)、交換制御部12の重心計算部12bは、履歴情報保持部12aが保持するN回分の各レプリカ状態に対応する複数のパラメータの重心情報132を計算して重心保持部12cに保持させる(S22)。以下、S22の詳細について説明を行う。
[S22の詳細]
図7は、S22の詳細を説明するフローチャート図である。
重心計算部12bは、図7に示すように、各焼鈍部11のレプリカ状態のうちの1つを特定する(S31)。
具体的に、図14で説明した履歴情報131の「レプリカ番号」には、「RP1」、「RP2」、「RP3」、「RP4」及び「RP5」がそれぞれ記憶されている。そのため、重心計算部12bは、例えば、図14で説明した履歴情報131を参照し、レプリカRP1に対応するレプリカ状態を特定する。
そして、重心計算部12bは、S31で特定したレプリカ状態に対応する複数のパラメータの重心を計算する(S32)。
具体的に、重心計算部12bは、例えば、図14で説明した履歴情報131を参照し、「レプリカ番号」が「PR1」である情報の「変数1」に記憶された値の平均を、「変数1」の重心として計算する。同様に、重心計算部12bは、「変数2」の重心、「変数3」の重心、「変数4」の重心及び「変数5」の重心についてもそれぞれ計算する。
その後、重心計算部12bは、S32で計算した重心を示す重心情報132を重心保持部に保持させる(S33)。以下、重心情報132の具体例について説明を行う。
[重心情報の具体例(1)]
図15及び図16は、重心情報132の具体例について説明する図である。具体的に、図15は、S31からS33が1回目に行われた際の重心情報132の具体例について説明する図である。
図15等に示す重心情報132は、各焼鈍部11に対応するレプリカ番号が記憶される「レプリカ番号」と、各焼鈍部11に対応するパラメータ(変数)の値がそれぞれ記憶される「変数1」、「変数2」、「変数3」、「変数4」及び「変数5」のそれぞれを項目として有する。
具体的に、例えば、レプリカPR1に対応する「変数1」、「変数2」、「変数3」、「変数4」及び「変数5」の重心として、「0.21」、「0.63」、「0.99」、「0.02」及び「0.32」のそれぞれが計算された場合、重心保持部12cは、図15に示すように、「レプリカ番号」が「RP1」である情報の「変数1」、「変数2」、「変数3」、「変数4」及び「変数5」のそれぞれに対応する値として、「0.21」、「0.63」、「0.99」、「0.02」及び「0.32」のそれぞれを保持する。
図7に戻り、重心計算部12bは、S31において全てのレプリカ状態を特定したか否かを判定する(S34)。
その結果、全てのレプリカ状態を特定していないと判定した場合(S34のNO)、重心計算部12bは、S31以降を再度行う。
一方、全てのレプリカ状態を特定したと判定した場合(S34のYES)、重心計算部12bは、S22を終了する。なお、重心保持部12cは、この場合、図16に示すように、全てのレプリカ番号に対応する重心情報132をそれぞれ保持する。
図6に戻り、最適化装置10の重心距離判定部12dは、重心保持部12cが重心を保持する複数のレプリカ状態のうち、所定温度以下の温度に対応する複数のレプリカ状態の組について、重心が所定距離以内に有るか否かを判定する(S23)。以下、S23の詳細について説明を行う。
[S23の詳細]
図8及び図9は、S23の詳細を説明するフローチャート図である。
重心距離判定部12dは、図8に示すように、各焼鈍部11のレプリカ状態のうちの1つを特定する(S41)。
具体的に、図14で説明した履歴情報131の「レプリカ番号」には、「RP1」、「RP2」、「RP3」、「RP4」及び「RP5」がそれぞれ記憶されている。そのため、重心距離判定部12dは、例えば、図14で説明した履歴情報131を参照し、レプリカPR1に対応するレプリカ状態を特定する。
そして、重心距離判定部12dは、S41で特定したレプリカ状態に対応する現在の温度を特定する(S42)。
具体的に、重心距離判定部12dは、図14で説明した履歴情報131を参照し、「レプリカ番号」が「RP1」である情報のうち、S41で特定したレプリカ状態に対応する焼鈍部11から最後に受け付けた情報の「温度」に記憶された値を特定する。
続いて、重心距離判定部12dは、S42で特定した温度が所定温度以下であるか否かを判定する(S43)。
その結果、S42で特定した温度が所定温度以下であると判定した場合(S44のYES)、重心距離判定部12dは、S41で特定したレプリカ状態が低温であることを示す低温情報133を低温情報保持部(図示しない)に保持させる(S45)。
なお、低温情報保持部は、履歴情報保持部12a等と同様に、レジスタ等の記憶回路であってよい。また、低温情報保持部は、RAM等の揮発性メモリ、または、フラッシュメモリやEEPROM等の不揮発性メモリであってもよい。
一方、S42で特定した温度が所定温度以下でないと判定した場合(S44のNO)、重心距離判定部12dは、S45を行わない。
その後、重心距離判定部12dは、S41において全てのレプリカ状態を特定したか否かを判定する(S46)。
その結果、全てのレプリカ状態を特定していないと判定した場合(S46のNO)、重心距離判定部12dは、S41以降を再度行う。
一方、全てのレプリカ状態を特定したと判定した場合(S46のYES)、重心距離判定部12dは、図9に示すように、S51以降を行う。以下、低温情報133の具体例について説明を行う。
[低温情報の具体例]
図17は、低温情報133の具体例について説明する図である。具体的に、図17は、S46において全てのレプリカ状態を特定したと判定した際の低温情報133の具体例について説明する図である。
図17に示す低温情報133は、各焼鈍部11に対応するレプリカ番号が記憶される「レプリカ番号」と、各焼鈍部11に対応するレプリカ状態が低温であるか否かを示す情報が記憶される「判定結果」とを項目として有する。「判定結果」には、レプリカ状態が低温であることを示す「TRUE」、または、レプリカ状態が低温でないことを示す「FALSE」が記憶される。
具体的に、図17に示す低温情報133において、1行目の情報には、「レプリカ番号」として「RP1」が記憶され、「判定結果」として「FALSE」が記憶されている。
また、図17に示す低温情報133において、2行目の情報には、「レプリカ番号」として「RP2」が記憶され、「判定結果」として「FALSE」が記憶されている。図17に含まれる他の情報についての説明は省略する。
図9に戻り、重心距離判定部12dは、低温情報保持部が低温であることを示す低温情報133を保持するレプリカ状態の組のうちの1つを特定する(S51)。
具体的に、図17で説明した低温情報133には、「レプリカ番号」が「RP4」及び「RP5」である情報の「判定結果」として、それぞれ「TRUE」が記憶されている。そのため、重心距離判定部12dは、例えば、図17で説明した低温情報133を参照し、レプリカPR4に対応するレプリカ状態とレプリカPR5に対応するレプリカ状態との組を特定する。
そして、重心距離判定部12dは、S51で特定した組に対応する重心の距離を計算する(S52)。
具体的に、重心距離判定部12dは、例えば、重心保持部12cが保持する重心情報132を参照し、以下の式(5)または式(6)を用いることによって、S51で特定した組に対応する重心の距離を計算する。なお、以下の式(5)及び式(6)において、mは、パラメータの数であり、i及びjは、S51で特定した組に対応する各レプリカ番号であり、xは、パラメータの番号であり、Rは、i番目のレプリカのx番目のパラメータにおける重心の値であり、Rは、j番目のレプリカのx番目のパラメータにおける重心の値である。
Figure 0007206492000005
Figure 0007206492000006
続いて、重心距離判定部12dは、S52で計算した距離が所定距離以内であるか否かを判定する(S53)。
その結果、S52で計算した距離が所定距離以内であると判定した場合(S54のYES)、重心距離判定部12dは、S52で特定したレプリカ状態の組が温度の調整対象であることを示す調整情報134を調整情報保持部(図示しない)に保持させる(S55)。
なお、調整情報保持部は、履歴情報保持部12a等と同様に、レジスタ等の記憶回路であってよい。また、調整情報保持部は、RAM等の揮発性メモリ、または、フラッシュメモリやEEPROM等の不揮発性メモリであってもよい。
一方、S52で計算した距離が所定距離以内でないと判定した場合(S54のNO)、重心距離判定部12dは、S55を行わない。
その後、重心距離判定部12dは、S51において全ての組を特定したか否かを判定する(S56)。
その結果、S51において全ての組を特定していないと判定した場合(S56のNO)、重心距離判定部12dは、S51以降を行う。
一方、S51において全ての組を特定したと判定した場合(S56のYES)、重心距離判定部12dは、S23を終了する。以下、調整情報134の具体例について説明を行う。
[調整情報の具体例]
図18は、調整情報134の具体例について説明する図である。具体的に、図18は、S56において全ての組を特定したと判定した際の調整情報134の具体例について説明する図である。
図18に示す調整情報134は、温度の調整対象であると判定された組に対応するレプリカ番号の一方が記憶される「レプリカ番号(1)」と、温度の調整対象であると判定された組に対応するレプリカ番号の他方が記憶される「レプリカ番号(2)」とを項目として有する。
具体的に、図18に示す調整情報134において、1行目の情報には、「レプリカ番号(1)」として「RP4」が記憶され、「レプリカ番号(2)」として「PR5」が記憶されている。
図6に戻り、最適化装置10の温度調整部12eは、S23で重心が所定距離以内に有ると判定されたレプリカ状態の組に含まれるレプリカ状態のいずれか一方に対応する温度を、所定温度を超える温度に変更する(S24)。以下、S24の詳細について説明を行う。
[S24の詳細]
図10は、S24の詳細を説明するフローチャート図である。
温度調整部12eは、図10に示すように、調整情報保持部が温度の調整対象であることを示す調整情報134を保持するレプリカ状態の組のうちの1つを特定する(S61)。
具体的に、温度調整部12eは、図18で説明した調整情報134を参照し、レプリカPR4に対応するレプリカ状態とレプリカPR5に対応するレプリカ状態との組を特定する。
そして、温度調整部12eは、S61で特定した組に対応するレプリカ状態のうち、最も低い温度以外の温度に対応するレプリカ状態を特定する(S62)。
すなわち、S61で特定した組に対応するレプリカ状態のうち、最も低い温度に対応するレプリカ状態では、基底状態の探索がまだ行われている可能性がある。そのため、温度調整部12eは、温度の調整対象として、S61で特定した組に対応するレプリカ状態のうち、最も低い温度以外の温度に対応するレプリカ状態を特定する。
具体的に、例えば、「レプリカ番号」が「PR4」である焼鈍部11に対応するレプリカ状態の現在の温度が、「レプリカ番号」が「PR5」である焼鈍部11に対応するレプリカ状態の現在の温度よりも低い場合、温度調整部12eは、レプリカPR5に対応するレプリカ状態の特定を行う。
続いて、温度調整部12eは、S62で特定したレプリカ状態に対応する温度が所定温度を超えるように、対応情報(図示しない)を更新する(S63)。対応情報は、例えば、各焼鈍部11のレプリカ状態に対応するレプリカ番号と、各焼鈍部11に与える温度とを対応付けた情報である。そのため、温度調整部12eは、S63において、対応情報に含まれる情報のうち、S62で特定したレプリカ状態に対応する温度を示す情報の更新を行う。
さらに、温度調整部12eは、S63で更新した対応情報を対応情報保持部(図示しない)に保持させる(S64)。
なお、対応情報保持部は、履歴情報保持部12a等と同様に、レジスタ等の記憶回路であってよい。また、対応情報保持部は、RAM等の揮発性メモリ、または、フラッシュメモリやEEPROM等の不揮発性メモリであってもよい。
その後、温度調整部12eは、S61において全ての組を特定したか否かを判定する(S65)。
その結果、S61において全ての組を特定していないと判定した場合(S65のNO)、温度調整部12eは、S61以降を行う。
一方、S61において全ての組を特定したと判定した場合(S65のYES)、温度調整部12eは、S24を終了する。
なお、図6等で説明したS22からS24は、レプリカ交換タイミング以外のタイミングにおいて随時行われるものであってもよい。
図6に戻り、最適化装置10の交換演算部12f及び出力制御部12gは、S24で変更された温度と、その温度に対応するレプリカ状態に対応する複数のパラメータとを用いて、各焼鈍部11に焼き鈍し動作を行わせる(S25)。以下、S25の詳細について説明を行う。
[S25の詳細]
図11は、S25の詳細を説明するフローチャート図である。
交換演算部12fは、図11に示すように、温度を交換する候補である2つの焼鈍部11を特定する(S71)。
具体的に、交換演算部12fは、対応情報保持部が保持する対応情報を参照し、例えば、隣接温度に対応する2つの焼鈍部11を特定する。
そして、交換演算部12fは、S71で特定した2つの焼鈍部11のそれぞれに対応する温度とエネルギーとから、S71で特定した2つの焼鈍部11のレプリカ状態に対応する温度(2つの焼鈍部11に与える温度)の交換確率pij(上記の式(3)で説明した交換確率pij)を算出する(S72)。
続いて、交換演算部12fは、S72で算出した交換確率pijと乱数との比較結果に基づいて、S71で特定した2つの焼鈍部11のレプリカ状態に対応する温度の交換の実行要否を決定する(S73)。
その結果、S71で特定した2つの焼鈍部11のレプリカ状態に対応する温度の交換を実行する場合(S74のYES)、交換演算部12fは、対応情報保持部が保持する対応情報のうち、S71で特定した2つの焼鈍部11の温度を示す情報を交換する(S75)。
一方、S71で特定した2つの焼鈍部11のレプリカ状態に対応する温度の交換を実行しない場合(S74のNO)、交換演算部12fは、S75を行わない。
なお、交換演算部12fは、S71において、対応情報保持部が保持する対応情報に情報が含まれる複数の焼鈍部11から、2つの焼鈍部11の組を複数特定するものであってもよい。そして、交換演算部12fは、特定した2つの焼鈍部11の組ごとに、S72からS75をそれぞれ行うものであってもよい。
その後、交換制御部12の出力制御部12gは、各焼鈍部11のレプリカ状態に対応する温度を各焼鈍部11に与える(S76)。
具体的に、出力制御部12gは、対応情報保持部が保持する対応情報を参照し、各焼鈍部11のレプリカ状態に対応する温度を各焼鈍部11に送信する。そして、交換演算部12f及び出力制御部12gは、S25を終了する。
すなわち、本実施の形態における最適化装置10は、各焼鈍部11における焼き鈍し動作において、重心が所定距離以内である低温レプリカ状態の組の存在を検知した場合、検知した組に対応する複数の焼鈍部51において、同じ局所解に対応する領域の探索が行われる可能性があると判定する。そして、最適化装置10は、この場合、検知した焼鈍部11の組のうちの一方の温度をより高い温度に変更する。
これにより、最適化装置10は、複数の焼鈍部51において同じ局所解に対応する領域の探索が行われることを防止することが可能になる。そのため、最適化装置10は、最適解の探索を効率的に行うことが可能になる。
なお、第1の実施の形態における場合、温度を変更するレプリカ状態は、最適化装置10の外部に設けられた他の情報処理装置(図示しない)において特定されるものであってもよい。この場合、他の情報処理装置は、例えば、必要なプログラム(図示しない)とCPU(図示しない)とを協働させることによって、温度を変更するレプリカ状態を特定するための処理を実行する。そして、温度調整部12eは、他の情報処理装置から指示を受信したことに応じて、受信した指示に対応するレプリカ状態の温度の変更を行うものであってよい。
また、第1の実施の形態における場合、温度を変更するレプリカ状態は、最適化装置10の内部に設けられたCPU(図示しない)と必要なプログラム(図示しない)とが協働して処理を実行することによって特定されるものであってもよい。
[第2の実施の形態]
次に、第2の実施の形態における最適化装置10について説明を行う。なお、以下、第2の実施の形態における最適化装置10の動作のうち、第1の実施の形態における最適化装置10の動作と異なる点について説明を行う。
[第2の実施の形態におけるS24]
初めに、第2の実施の形態におけるS24について説明を行う。図12は、第2の実施の形態におけるS24を説明するフローチャート図である。
温度調整部12eは、図12に示すように、第1の実施の形態における場合と同様に、調整情報保持部が温度の調整対象であることを示す調整情報134を保持するレプリカ状態の組のうちの1つを特定する(S81)。
そして、温度調整部12eは、S81で特定した組に対応するレプリカ状態のうち、最も低い温度以外の温度に対応するレプリカ状態を特定する(S82)。
その後、温度調整部12eは、S81において全ての組を特定したか否かを判定する(S83)。
その結果、S81において全ての組を特定していないと判定した場合(S83のNO)、温度調整部12eは、S81以降を行う。
一方、S81において全ての組を特定したと判定した場合(S83のYES)、温度調整部12eは、S24を終了する。
[第2の実施の形態におけるS25]
次に、第2の実施の形態におけるS25について説明を行う。図13は、第2の実施の形態におけるS25を説明するフローチャート図である。
交換演算部12fは、S82で特定したレプリカ状態のうちの1つを特定する(S91)。
そして、交換演算部12fは、例えば、対応情報保持部が保持する対応情報のうち、S91で特定したレプリカ状態の温度を示す情報と、最も高い温度に対応する焼鈍部11のレプリカ状態に対応する温度を示す情報とを交換する(S92)。
すなわち、第2の実施の形態における交換制御部12は、S91で特定したレプリカ状態に対応する温度を、より温度が高い他のレプリカ状態に対応する温度と交換することによって、複数の焼鈍部51において同じ局所解に対応する領域の探索が行われることを防止する。
その後、交換演算部12fは、S91において全てのレプリカ状態を特定したか否かを判定する(S93)。
その結果、S91において全てのレプリカ状態を特定していないと判定した場合(S93のNO)、交換演算部12fは、S91以降を行う。
一方、S91において全てのレプリカ状態を特定したと判定した場合(S93のYES)、出力制御部12gは、各焼鈍部11のレプリカ状態に対応する温度を各焼鈍部11に与える(S76)。
具体的に、出力制御部12gは、対応情報保持部が保持する対応情報を参照し、各焼鈍部11のレプリカ状態に対応する温度を各焼鈍部11に送信する。そして、交換演算部12f及び出力制御部12gは、S25を終了する。
これにより、最適化装置10は、第1の実施の形態における場合と異なる方法によって、各焼鈍部11における最適解の探索を促進させることが可能になる。
[最適化装置の動作の具体例]
次に、最適化装置10の動作の具体例について説明を行う。図19は、最適化装置10の動作の具体例について説明する図である。具体的に、図19(A)は、第1の実施の形態における最適化装置10の動作の具体例について説明するグラフであって、3つの焼鈍部11のそれぞれにおける焼き鈍し動作に伴うエネルギーEの変化を示すグラフである。また、図19(B)は、第1の実施の形態における最適化装置10の動作の具体例について説明するグラフであって、3つの焼鈍部11のそれぞれにおける焼き鈍し動作に伴う温度の変化を示すグラフである。なお、図19に示す例において、実線に対応するレプリカ(焼鈍部11)をレプリカAと呼び、一点鎖線に対応するレプリカをレプリカBと呼び、点線に対応するレプリカをレプリカCとも呼ぶ。
具体的に、図19(A)に示すグラフは、時刻t1において、レプリカAとレプリカBとのエネルギーの大小関係が入れ替わり、時刻t3において、レプリカBとレプリカAとのエネルギーの大小関係が入れ替わったことを示している。また、図19(A)に示すグラフは、時刻t4において、レプリカAとレプリカBとのエネルギーの大小関係が入れ替わり、時刻t5において、レプリカAとレプリカCとのエネルギーの大小関係が入れ替わったことを示している。
そして、図19(B)に示すグラフは、時刻t1におけるエネルギーの大小関係の入れ替わりに応じて、レプリカAとレプリカBとの温度の交換が行われたことを示している(S74のYES、S75)。また、図19(B)に示すグラフは、時刻t5におけるエネルギーの大小関係の入れ替わりに応じて、レプリカAとレプリカCとの温度の交換が行われたことを示している(S74のYES、S75)。一方、図19(B)に示すグラフは、時刻t3及び時刻t4においては、エネルギーの大小関係の入れ替わりが発生したにも関わらず、温度の交換が行われなかったことを示している(S74のNO)。
さらに、図19(A)及び(B)に示すグラフは、時刻t2において、レプリカAの重心とレプリカCの重心とが所定距離以内であると判定されたことから、レプリカAの温度の上昇が行われたことを示している(S64)。
これにより、最適化装置10は、複数のレプリカが同じ局所解に対応する領域の探索を行っている状況を早期に解消させることが可能になる。そのため、最適化装置10は、各焼鈍部11における最適解の探索を促進させることが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
焼き鈍し動作を実行する演算部と、
前記演算部が、過去に実行したN回分(Nは正の整数)の焼き鈍し動作に対応するレプリカ状態を識別するレプリカ状態識別情報に対応する温度と、前記レプリカ状態に対応する複数のパラメータと、前記レプリカ状態に対応するエネルギーと、をそれぞれ保持するレプリカ履歴情報保持部と、
前記レプリカ履歴情報保持部が保持するN回分の各レプリカ状態に対応する複数のパラメータの重心をそれぞれ計算し、前記N回分の各レプリカ状態に対応する複数のパラメータの重心を重心保持部に保持する重心計算部と、
前記重心保持部が重心を保持する複数のレプリカ状態のうち、所定温度以下の温度に対応する複数のレプリカ状態の組のそれぞれについて、重心が所定距離以内に有るか否かを判定する重心距離判定部と、
重心が前記所定距離以内に有ると判定されたレプリカ状態の組に含まれるレプリカ状態のいずれか一方に対応する温度を、前記所定温度を超える温度に変更する温度調整部と、
変更された前記温度と、該温度に対応するレプリカ状態に対応する複数のパラメータとを用いて、前記演算部に前記焼き鈍し動作を行わせるレプリカ交換制御部と、を有する、
ことを特徴とする最適化装置。
(付記2)
付記1において、
前記温度調整部は、重心が前記所定距離以内に有ると判定されたレプリカ状態の組に含まれるレプリカ状態のうち、最も低い温度以外の温度に対応するレプリカ状態の温度を変更する、
ことを特徴とする最適化装置。
(付記3)
付記1において、
前記温度調整部は、前記レプリカ状態の組に含まれるレプリカ状態のいずれか一方に対応する温度を、前記重心保持部が重心を保持する複数のレプリカ状態のうち、前記レプリカ状態の組に含まれるレプリカ状態以外のレプリカ状態の温度と交換する、
ことを特徴とする最適化装置。
(付記4)
付記3において、
前記温度調整部は、前記レプリカ状態の組に含まれるレプリカ状態のいずれか一方に対応する温度を、前記重心保持部が重心を保持する複数のレプリカ状態のうち、最も高い温度に対応するレプリカ状態の温度と交換する、
ことを特徴とする最適化装置。
(付記5)
付記1において、
前記温度調整部は、前記レプリカ状態の組に含まれるレプリカ状態のいずれか一方に対応する温度を、前記レプリカ状態の組に含まれるレプリカ状態の重心が前記所定距離を超える温度に変更する、
ことを特徴とする最適化装置。
(付記6)
付記1において、
前記重心計算部は、
前記N回分の各レプリカ状態に対応する複数のパラメータごとに、各パラメータに対応する値の平均値を算出し、
前記N回分の各レプリカ状態について、算出した前記平均値のそれぞれを各次元に対応する座標とした場合における多次元空間上の点を、前記N回分の各レプリカ状態に対応する複数のパラメータの重心として計算する、
ことを特徴とする最適化装置。
(付記7)
付記6において、
前記重心距離判定部は、
前記複数のレプリカ状態の組のそれぞれについて、前記多次元空間上における前記複数のパラメータの重心間の距離を計算し、
前記複数のレプリカ状態の組のそれぞれについて、計算した前記距離が前記所定距離以内であるか否かを判定する、
ことを特徴とする最適化装置。
(付記8)
演算部が、焼き鈍し動作を実行し、
レプリカ履歴情報保持部が、前記演算部によって過去に実行されたN回分(Nは正の整数)の焼き鈍し動作に対応するレプリカ状態を識別するレプリカ状態識別情報に対応する温度と、前記レプリカ状態に対応する複数のパラメータと、前記レプリカ状態に対応するエネルギーと、をそれぞれ保持し、
重心計算部が、前記レプリカ履歴情報保持部が保持するN回分の各レプリカ状態に対応する複数のパラメータの重心をそれぞれ計算し、前記N回分の各レプリカ状態に対応する複数のパラメータの重心を重心保持部に保持させ、
重心距離判定部が、前記重心保持部が重心を保持する複数のレプリカ状態のうち、所定温度以下の温度に対応する複数のレプリカ状態の組のそれぞれについて、重心が所定距離以内に有るか否かを判定し、
温度調整部が、重心が前記所定距離以内に有ると判定されたレプリカ状態の組に含まれるレプリカ状態のいずれか一方に対応する温度を、前記所定温度を超える温度に変更し、
レプリカ交換部が、変更された前記温度と、該温度に対応するレプリカ状態に対応する複数のパラメータとを用いて、前記演算部に前記焼き鈍し動作を行わせる、
ことを特徴とする最適化装置の制御方法。
10:最適化装置 11:焼鈍部
12:交換制御部 12a:履歴情報保持部
12b:重心計算部 12c:重心保持部
12d:重心距離判定部 12e:温度調整部
12f:出力制御部 131:履歴情報
132:重心情報 133:低温情報
134:調整情報 E:エネルギー
β:逆温度

Claims (6)

  1. 焼き鈍し動作を実行する演算部と、
    前記演算部が、過去に実行したN回分(Nは正の整数)の焼き鈍し動作に対応するレプリカ状態を識別するレプリカ状態識別情報に対応する温度と、前記レプリカ状態に対応する複数のパラメータと、前記レプリカ状態に対応するエネルギーと、をそれぞれ保持するレプリカ履歴情報保持部と、
    前記レプリカ履歴情報保持部が保持するN回分の各レプリカ状態に対応する複数のパラメータの重心をそれぞれ計算し、前記N回分の各レプリカ状態に対応する複数のパラメータの重心を重心保持部に保持する重心計算部と、
    前記重心保持部が重心を保持する複数のレプリカ状態のうち、所定温度以下の温度に対応する複数のレプリカ状態の組のそれぞれについて、重心が所定距離以内に有るか否かを判定する重心距離判定部と、
    重心が前記所定距離以内に有ると判定されたレプリカ状態の組に含まれるレプリカ状態のいずれか一方に対応する温度を、前記所定温度を超える温度に変更する温度調整部と、
    変更された前記温度と、該温度に対応するレプリカ状態に対応する複数のパラメータとを用いて、前記演算部に前記焼き鈍し動作を行わせるレプリカ交換制御部と、を有する、
    ことを特徴とする最適化装置。
  2. 請求項1において、
    前記温度調整部は、重心が前記所定距離以内に有ると判定されたレプリカ状態の組に含まれるレプリカ状態のうち、最も低い温度以外の温度に対応するレプリカ状態の温度を変更する、
    ことを特徴とする最適化装置。
  3. 請求項1において、
    前記温度調整部は、前記レプリカ状態の組に含まれるレプリカ状態のいずれか一方に対応する温度を、前記重心保持部が重心を保持する複数のレプリカ状態のうち、前記レプリカ状態の組に含まれるレプリカ状態以外のレプリカ状態の温度と交換する、
    ことを特徴とする最適化装置。
  4. 請求項3において、
    前記温度調整部は、前記レプリカ状態の組に含まれるレプリカ状態のいずれか一方に対応する温度を、前記重心保持部が重心を保持する複数のレプリカ状態のうち、最も高い温度に対応するレプリカ状態の温度と交換する、
    ことを特徴とする最適化装置。
  5. 請求項1において、
    前記温度調整部は、前記レプリカ状態の組に含まれるレプリカ状態のいずれか一方に対応する温度を、前記レプリカ状態の組に含まれるレプリカ状態の重心が前記所定距離を超える温度に変更する、
    ことを特徴とする最適化装置。
  6. 演算部が、焼き鈍し動作を実行し、
    レプリカ履歴情報保持部が、前記演算部によって過去に実行されたN回分(Nは正の整数)の焼き鈍し動作に対応するレプリカ状態を識別するレプリカ状態識別情報に対応する温度と、前記レプリカ状態に対応する複数のパラメータと、前記レプリカ状態に対応するエネルギーと、をそれぞれ保持し、
    重心計算部が、前記レプリカ履歴情報保持部が保持するN回分の各レプリカ状態に対応する複数のパラメータの重心をそれぞれ計算し、前記N回分の各レプリカ状態に対応する複数のパラメータの重心を重心保持部に保持させ、
    重心距離判定部が、前記重心保持部が重心を保持する複数のレプリカ状態のうち、所定温度以下の温度に対応する複数のレプリカ状態の組のそれぞれについて、重心が所定距離以内に有るか否かを判定し、
    温度調整部が、重心が前記所定距離以内に有ると判定されたレプリカ状態の組に含まれるレプリカ状態のいずれか一方に対応する温度を、前記所定温度を超える温度に変更し、
    レプリカ交換部が、変更された前記温度と、該温度に対応するレプリカ状態に対応する複数のパラメータとを用いて、前記演算部に前記焼き鈍し動作を行わせる、
    ことを特徴とする最適化装置の制御方法。
JP2019085334A 2019-04-26 2019-04-26 最適化装置及び最適化装置の制御方法 Active JP7206492B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019085334A JP7206492B2 (ja) 2019-04-26 2019-04-26 最適化装置及び最適化装置の制御方法
EP20163831.9A EP3731036A1 (en) 2019-04-26 2020-03-18 Optimization device and control method for optimization device
US16/829,047 US20200338843A1 (en) 2019-04-26 2020-03-25 Information processing device and control method for optimization device
CN202010276505.6A CN111858229A (zh) 2019-04-26 2020-04-07 优化装置及优化装置的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019085334A JP7206492B2 (ja) 2019-04-26 2019-04-26 最適化装置及び最適化装置の制御方法

Publications (2)

Publication Number Publication Date
JP2020181461A JP2020181461A (ja) 2020-11-05
JP7206492B2 true JP7206492B2 (ja) 2023-01-18

Family

ID=70008263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019085334A Active JP7206492B2 (ja) 2019-04-26 2019-04-26 最適化装置及び最適化装置の制御方法

Country Status (4)

Country Link
US (1) US20200338843A1 (ja)
EP (1) EP3731036A1 (ja)
JP (1) JP7206492B2 (ja)
CN (1) CN111858229A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024030713A (ja) 2022-08-25 2024-03-07 富士通株式会社 温度調整プログラム、データ処理装置及びデータ処理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030049687A1 (en) 2001-03-30 2003-03-13 Jeffrey Skolnick Novel methods for generalized comparative modeling
US20080033897A1 (en) 2006-08-02 2008-02-07 Lloyd Kenneth A Object Oriented System and Method of Graphically Displaying and Analyzing Complex Systems
JP2018063626A (ja) 2016-10-14 2018-04-19 富士通株式会社 最適化装置及び最適化装置の制御方法
US20190019101A1 (en) 2015-12-30 2019-01-17 Google Llc Enhancing simulated annealing with quantum annealing
JP6465231B1 (ja) 2018-03-12 2019-02-06 富士通株式会社 最適化装置及び最適化装置の制御方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6433627A (en) * 1987-07-30 1989-02-03 Nippon Telegraph & Telephone Parallel type processor
JPH04160463A (ja) * 1990-10-24 1992-06-03 Hitachi Ltd ニューラルネットワークによる最適化方法
JP2002217902A (ja) 2001-01-15 2002-08-02 Nippon Telegr & Teleph Corp <Ntt> 通信網最適化方法及び通信網最適化プログラム並びに通信網最適化プログラムを記録した記録媒体
JP4408221B2 (ja) 2003-01-23 2010-02-03 新日本製鐵株式会社 鋼板の水冷プロセスにおける熱伝達係数推定方法および冷却制御方法
JP2006195530A (ja) * 2005-01-11 2006-07-27 Mitsubishi Electric Corp 組合せ最適解演算システム
JP2013207529A (ja) * 2012-03-28 2013-10-07 Sony Corp 表示制御装置、表示制御方法、及びプログラム
US9692811B1 (en) * 2014-05-23 2017-06-27 Amazon Technologies, Inc. Optimization of application parameters
CN108491641A (zh) * 2018-03-27 2018-09-04 安徽理工大学 一种基于量子退火法的概率积分法参数反演方法
CN108564605B (zh) * 2018-04-09 2020-04-07 大连理工大学 一种三维测量点云优化配准方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030049687A1 (en) 2001-03-30 2003-03-13 Jeffrey Skolnick Novel methods for generalized comparative modeling
US20080033897A1 (en) 2006-08-02 2008-02-07 Lloyd Kenneth A Object Oriented System and Method of Graphically Displaying and Analyzing Complex Systems
US20190019101A1 (en) 2015-12-30 2019-01-17 Google Llc Enhancing simulated annealing with quantum annealing
JP2018063626A (ja) 2016-10-14 2018-04-19 富士通株式会社 最適化装置及び最適化装置の制御方法
JP6465231B1 (ja) 2018-03-12 2019-02-06 富士通株式会社 最適化装置及び最適化装置の制御方法

Also Published As

Publication number Publication date
US20200338843A1 (en) 2020-10-29
JP2020181461A (ja) 2020-11-05
EP3731036A1 (en) 2020-10-28
CN111858229A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
JP7108185B2 (ja) 最適化装置および最適化装置の制御方法
JP6892599B2 (ja) 最適化装置及び最適化装置の制御方法
JP7100257B2 (ja) 最適化装置及び最適化装置の制御方法
US11631006B2 (en) Optimization device and control method of optimization device
US10325036B2 (en) Method and system for determing welding process parameters
CN113962186A (zh) 芯片布局方法、装置、终端设备及计算机可读存储介质
CN111381495B (zh) 优化装置及优化装置的控制方法
JP6200076B2 (ja) システムから取得される測定値を評価する方法及びシステム
JP2020135727A (ja) サンプリング装置及びサンプリング装置の制御方法
JP7206492B2 (ja) 最適化装置及び最適化装置の制御方法
JP7004906B2 (ja) 最適化装置及び最適化装置の制御方法
JP2020064535A (ja) 最適化装置及び最適化装置の制御方法
JP7137074B2 (ja) 最適化計算方法、最適化計算装置及び最適化計算プログラム
US11514135B2 (en) Optimization apparatus, temperature setting method, and non-transitory computer-readable storage medium
Rajkumar et al. A hybrid algorithm for multi-objective optimization of minimizing makespan and total flow time in permutation flow shop scheduling problems
JP6190771B2 (ja) パラメータ推定方法、装置、及びプログラム
JP7256378B2 (ja) 最適化システムおよび最適化システムの制御方法
KR101806628B1 (ko) 통합 회귀 분석 네트워크 구축 방법 및 이에 의한 통합 분석 시스템
US7089163B2 (en) Smooth operators in optimization of structures
CN109388784A (zh) 最小熵核密度估计器生成方法、装置和计算机可读存储介质
KR101462232B1 (ko) 유전자 알고리즘을 이용한 함정 운용 기준 산정 방법 및 시스템
JP2021165965A (ja) 最適化装置、最適化方法及び最適化プログラム
JP6745507B2 (ja) パラメータ推定装置、方法、及びプログラム
JP2021174260A (ja) 最適化装置、最適化方法及び最適化プログラム
Hordijk Correlation analysis of coupled fitness landscapes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221031

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: 20221129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221212

R150 Certificate of patent or registration of utility model

Ref document number: 7206492

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150