JP2019121137A - 最適化装置および最適化装置の制御方法 - Google Patents

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

Info

Publication number
JP2019121137A
JP2019121137A JP2017255104A JP2017255104A JP2019121137A JP 2019121137 A JP2019121137 A JP 2019121137A JP 2017255104 A JP2017255104 A JP 2017255104A JP 2017255104 A JP2017255104 A JP 2017255104A JP 2019121137 A JP2019121137 A JP 2019121137A
Authority
JP
Japan
Prior art keywords
evaluation function
state
energy
value
energy value
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
JP2017255104A
Other languages
English (en)
Other versions
JP6988476B2 (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 JP2017255104A priority Critical patent/JP6988476B2/ja
Priority to US16/194,713 priority patent/US20190204794A1/en
Publication of JP2019121137A publication Critical patent/JP2019121137A/ja
Application granted granted Critical
Publication of JP6988476B2 publication Critical patent/JP6988476B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0205Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system
    • G05B13/021Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system in which a variable is automatically adjusted to optimise the performance
    • 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
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】 制約条件を満たさない解への遷移を許容して状態遷移を促進するとともに、制約条件を満たさない解が最適解として出力されることを抑止する。【解決手段】 最適化装置は、評価関数に含まれる複数の状態変数の値を保持する状態保持部と、状態遷移が起こる場合の第1のペナルティ係数を有する第1の評価関数におけるエネルギー値を計算する第1の評価関数計算部と、温度値とエネルギー値の変化値と乱数値とに基づいて、状態遷移を受け入れるか否かを確率的に決定する遷移制御部と、状態遷移が起こる場合、第1のペナルティ係数よりも大きい第2のペナルティ係数を有する第2の評価関数におけるエネルギー値を状態遷移に対して計算する第2の評価関数計算部と、第1または第2の評価関数計算部が計算したエネルギー値をそれまでに得られた値と比較して、最低となるエネルギー値およびその状態を出力するエネルギー比較部とを有する。【選択図】 図1

Description

本発明は、最適化装置および最適化装置の制御方法に関する。
組合せ最適化問題を解く方法として、疑似焼き鈍し法(シミュレーテッド・アニーリング法)が知られている。例えば、最適化装置は、最適化したい評価関数(エネルギー関数)の値(以下、エネルギー値とも称する)が最小となる最適解を、疑似焼き鈍し法を用いて探索する。制約条件を含む組合せ最適化問題では、制約条件を満たさない解を最適解としないために、制約条件を満たさないと正の値を取る項(ペナルティ項)を含む評価関数が使用される。制約条件の重みは、例えば、制約条件を表した項に対する係数(ペナルティ係数)で表現される。
なお、ペナルティ係数を小さくすると、制約条件を満たさない解が得られる確率が高くなり、ペナルティ係数を大きくすると、状態遷移のためのエネルギー障壁が高くなり、状態遷移が起こりにくくなるため、評価関数の値が大きな解しか得られない確率が高くなる。このため、組合せ最適化問題を解く場合に、評価関数中のペナルティ係数を動的に変更することでペナルティ係数の適切な値を推定しながら、最適解を探索する技術が提案されている(例えば、特許文献1、2参照)。
特開平5−120252号公報 特開平3−167655号公報
上記で述べたペナルティ係数に関する課題について、イジング型評価関数を用いた場合を例にもう少し詳しく説明する。
磁性体のスピンの振る舞いを表すイジングモデルを評価関数として使用する場合、最適化装置は、評価関数に含まれる複数の状態変数を1つずつ変化させて、エネルギー値(評価関数の値)が最小となる最適解を探索する。例えば、最適化装置は、評価関数に含まれる複数の状態変数のうちの1つのみを変化させた状態遷移に対するエネルギー値の変化値を計算し、変化値に応じて状態遷移を受け入れるか否かを確率的に決定する。状態遷移が繰り返されることにより、最適解または最適解に近いエネルギーを与える近似解が得られる。
一般的に離散最適化問題の評価関数は、値が最小となる最適解以外に、局所的に極小値を取る非常に多数の局所解を有する。また、複数の状態変数のうちの1つのみを変化させる状態遷移が繰り返される場合、状態遷移は、最適化の途中で制約条件を満たさない解を経由する。すなわち、最適化の途中で局所解から制約条件を満たさない解に遷移する状態遷移が発生する。なお、ペナルティ係数が大きい場合、ペナルティ係数が小さい場合に比べて、局所解から制約条件を満たさない解に遷移する確率が低くなるため、局所解からの脱出に時間がかかり、最適化が遅くなる。また、ペナルティ係数が小さい場合、制約条件を満たさない解の評価関数の値が最適解の評価関数の値より小さくなり、制約条件を満たさない解が最適解として出力されるおそれがある。
本発明は、最適解付近のエネルギーを有する制約条件を満たさない解への遷移を許容して状態遷移を促進するとともに、制約条件を満たさない解が最適解として出力されることを抑止することを目的とする。
上記はイジング型評価関数の場合で状態変数を1つずつ変化させた場合における説明であるが、その他の評価関数を用いた場合でも、状態変数を複数同時に変化させる場合でも同じ問題が発生する場合が多い。
上記で挙げた公知例でもある程度改善を行うことが可能であるが、ペナルティ係数を動的に変化させるため制御が複雑になるという問題がある。本発明は、より簡単な制御で高速な最適化を行う事を目指したものである。
1つの実施態様では、最適化装置は、エネルギーを表す評価関数に含まれる複数の状態変数の値をそれぞれ保持する状態保持部と、複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合の第1のペナルティ係数を有する第1の評価関数におけるエネルギー値を計算する第1の評価関数計算部と、温度を示す温度値を制御する温度制御部と、温度値とエネルギー値の変化値と乱数値とに基づいて、変化値と熱励起エネルギーとの相対関係によって状態遷移を受け入れるか否かを確率的に決定する遷移制御部と、複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合、第1のペナルティ係数よりも相対的に大きい第2のペナルティ係数を有する第2の評価関数におけるエネルギー値を状態遷移に対して計算する第2の評価関数計算部と、第1の評価関数計算部または第2の評価関数計算部が計算したエネルギー値をそれまでに得られた値と比較して、それまでに得られたエネルギー値のうち、最低となるエネルギー値およびその状態を保持し出力するエネルギー比較部とを有する。
1つの側面では、本発明は、最適解付近のエネルギーを有する制約条件を満たさない解への遷移を許容して状態遷移を促進するとともに、制約条件を満たさない解が最適解として出力されることを抑止できる。
最適化装置および最適化装置の制御方法の一実施形態を示す図である。 巡回セールスマン問題における状態遷移の一例を示す図である。 図1に示した最適化装置の動作の一例を示す図である。 最適化装置および最適化装置の制御方法の別の実施形態を示す図である。 図4に示した最適化装置の動作の一例を示す図である。 最適化装置および最適化装置の制御方法の別の実施形態を示す図である。 図6に示した最適化装置の動作の一例を示す図である。
以下、実施形態について、図面を用いて説明する。
図1は、最適化装置および最適化装置の制御方法の一実施形態を示す。図1に示す最適化装置10は、例えば、組合せ最適化問題を解く情報処理装置である。例えば、最適化装置10は、エネルギーを表す評価関数(エネルギー関数)の値が最小となる最適解を、疑似焼き鈍し法を用いて探索する。以下、評価関数の評価結果(評価関数の値)は、エネルギー値とも称される。
評価関数として、例えば、イジング型エネルギー関数と呼ばれる関数が用いられる。イジング型エネルギー関数は、磁性体のスピン間相互作用の解析に用いられる関数であり、組合せ最適化問題をマッピングできることも知られている。組合せ最適化問題をイジング型エネルギー関数にマッピングする場合、ビットの状態(“0”および“1”の2つの離散値のいずれか)に応じたエネルギーを表す評価関数E(x)は、式(1)で表される。
Figure 2019121137
式(1)の状態変数xは、状態変数xの添え字(i、j等)で示されるビットの状態(“0”または“1”)を示す。例えば、状態変数xの値は、ビットiの値(“0”または“1”)であり、状態変数xの値は、ビットjの値(“0”または“1”)である。また、式(1)の係数Wijは、ビットiとビットjの結合係数を示し、“Wij=Wji”、“Wii=0”である。式(1)の係数bは、ビットiに対するバイアスを示す。なお、最適化装置10が使用する評価関数E(x)は、イジング型エネルギー関数に限定されない。
また、例えば、セールスマンが複数の都市を1回ずつ全て訪問して出発点に戻る場合の最短経路を求める巡回セールスマン問題を組合せ最適化問題としてマッピングする場合、評価関数E(x)は、“距離+ペナルティの総和”として表現される。巡回セールスマン問題の評価関数E(x)は、例えば、都市iと都市jとの距離を示す係数dijと、制約条件の重みを示すペナルティ係数Pとを用いて、式(2)で表される。
Figure 2019121137
式(2)の右辺の第1項は、セールスマンの移動距離を示す。また、式(2)の右辺の第2項は、同一時刻に複数の都市を訪問しない制約条件を満たさない場合に与えるペナルティ、すなわち、同一時刻に複数の都市を訪問した場合に加える値を示す。式(2)の右辺の第3項は、同じ都市に複数回訪問しない制約条件を満たさない場合に与えるペナルティ、すなわち、同じ都市に複数回訪問した場合に加える値を示す。
式(2)のMは都市の数、添え字kは都市を訪問する順番を示す。例えば、状態変数xi*M+kの値は、k番目に都市iを訪問した場合、“1”に設定され、k番目に都市iを訪問しない場合、“0”に設定される。また、状態変数xj*M+k+1の値は、(k+1)番目に都市jを訪問した場合、“1”に設定され、(k+1)番目に都市jを訪問しない場合、“0”に設定される。順番kが都市の数Mに到達した場合の状態変数xj*M+k+1は、状態変数xj*M+1を示す。
式(2)を展開した場合の状態変数xの2次の項の係数は、式(1)の係数Wijに対応し、状態変数xの1次の項の係数は、式(1)の係数bに対応する。すなわち、式(1)の係数Wij、bは、ペナルティ係数Pを含む係数である。ペナルティ係数Pは、式(2)の右辺の第2項と第3項とで、同じ値でもよいし、異なる値でもよい。
なお、巡回セールスマン問題の評価関数E(x)は、式(2)に限定されない。また、最適化装置10が解く組合せ最適化問題は、巡回セールスマン問題に限定されない。例えば、組合せ最適化問題は、ナップザックに入れる品物の価値の和を最大にするためのナップザック問題でもよいし、配送にかかる総時間を最小にするための配送計画問題でもよいし、作業にかかる総時間を最小にするためのスケジューリング問題でもよい。ナップザック問題では、ナップザックに入れる品物の総重量の上限等が制約条件になり、配送計画問題では、トラックの台数の上限等が制約条件になり、スケジューリング問題では、作業者の人数および機械の台数の上限等が制約条件になる。以下では、巡回セールスマン問題を式(2)を用いて解く場合を例にして、最適化装置10の動作を説明する。
最適化装置10は、式(3)に示す評価関数E1(x)を用いて、組合せ最適化問題の解を探索する処理を実行し、式(4)に示す評価関数E2(x)を用いて、組合せ最適化問題の解を決定する。
Figure 2019121137
Figure 2019121137
式(3)に示す評価関数E1(x)は、式(2)のペナルティ係数Pをペナルティ係数P1とした関数であり、評価関数E2(x)は、式(2)のペナルティ係数Pを、ペナルティ係数P1より大きいペナルティ係数P2とした関数である。式(4)に示す評価関数E2(x)は、ペナルティ係数P2を除いて、評価関数E1(x)と同一または同様である。すなわち、評価関数E1(x)、E(2)を上述した式(1)に対応させた場合、式(2)に示した係数Wij、bが評価関数E1(x)と評価関数E2(2)とで異なる。ペナルティ係数P1は、式(3)の右辺の第2項と第3項とで、同じ値でもよいし、異なる値でもよい。同様に、ペナルティ係数P2は、式(4)の右辺の第2項と第3項とで、同じ値でもよいし、異なる値でもよい。式(3)に示す評価関数E1(x)は、第1の評価関数の一例であり、ペナルティ係数P1は、第1のペナルティ係数の一例である。また、式(4)に示す評価関数E2(x)は、第2の評価関数の一例であり、ペナルティ係数P2は、第2のペナルティ係数の一例である。以下、評価関数E1(x)、E2(x)は、特に区別せずに、評価関数E(x)と称される場合もある。
最適化装置10は、状態保持部20、評価関数計算部30、遷移制御部40、温度制御部50、評価関数計算部60およびエネルギー比較部70を有する。評価関数計算部30は、第1の評価関数計算部の一例であり、評価関数計算部60は、第2の評価関数計算部の一例である。
状態保持部20は、エネルギーを表す評価関数E(x)に含まれる複数の状態変数x(iはスピン番号)の値をそれぞれ保持する。状態保持部20が保持する状態変数xの値は、現在の状態sを示す。そして、状態保持部20は、保持した状態sを示す情報(状態変数xの組)を評価関数計算部30、60に出力する。
評価関数計算部30は、例えば、状態保持部20から受けた現在の状態sに対するエネルギー値E1を評価関数E1(x)に基づいて計算する。また、評価関数計算部30は、現在の状態sから次の状態sへの状態遷移の候補を示す候補番号Niを遷移制御部40から受ける。そして、評価関数計算部30は、候補番号Niに基づいて、現在の状態sから複数の状態変数xの値の何れかが変化することに応じて状態遷移が起こる場合の評価関数E1(x)におけるエネルギー値E1を計算する。なお、エネルギー値E1の計算を実現する方法は、既知の方法を利用できるため、詳細な説明を省略する。
遷移制御部40は、疑似焼き鈍し法で使用されるパラメータである温度を示す温度値Tを温度制御部50から受け、候補番号Niで指定した状態遷移に対するエネルギー値E1を評価関数計算部30から受ける。また、遷移制御部40は、乱数値を発生させる図示しない乱数発生部を有する。なお、乱数発生部は、遷移制御部40の外部に設けられてもよい。
例えば、遷移制御部40は、評価関数計算部30から受けたエネルギー値E1に基づいて、エネルギー値E1の変化値を計算する。エネルギー値E1の変化値は、現在の状態sから状態変数xの値の何れかが変化した状態のエネルギー値E1(評価関数計算部30から遷移制御部40に転送されたエネルギー値E1)と現在の状態sのエネルギー値E1との差である。なお、エネルギー値E1の変化値は、評価関数計算部30で計算されてもよい。
そして、遷移制御部40は、温度値Tと評価関数E1(x)におけるエネルギー値E1の変化値と乱数値とに基づいて、変化値と熱励起エネルギーとの相対関係によって状態遷移を受け入れるか否かを確率的に決定する。温度値Tと評価関数E1(x)におけるエネルギー値E1の変化値と乱数値とに基づいて、状態遷移を受け入れるか否かを確率的に決定する方法は、既知であるため、詳細な説明を省略する。
遷移制御部40は、状態遷移を受け入れるか否かの判定結果を示す情報である遷移可否fと、状態を遷移させる状態変数xを示す遷移番号Nとを、状態保持部20および評価関数計算部30に出力する。
遷移可否fが状態遷移を受け入れることを示す場合、状態保持部20は、遷移番号Nで示される状態変数xの値を遷移させて現在の状態sを次の状態sに更新し、更新した状態sを現在の状態sとして保持する。そして、状態保持部20は、更新した状態s(現在の状態s)を評価関数計算部30、60に出力する。これにより、状態遷移が繰り返される。状態遷移が繰り返されることにより、最適解または最適解に近いエネルギーを与える近似解が得られる。
また、遷移可否fが状態遷移を受け入れないことを示す場合、状態保持部20は、現在の状態sを更新せずに維持する。この場合、評価関数計算部30は、例えば、現在の状態sから前回と異なる状態変数xの値が変化した場合の評価関数E1(x)におけるエネルギー値E1を計算し、計算したエネルギー値E1を遷移制御部40に出力する。そして、遷移制御部40は、前回と異なる状態遷移を受け入れるか否かを確率的に決定する。このように、状態遷移が受け入れられるまで、状態を変化させる状態変数xの探索が実行される。
温度制御部50は、遷移制御部40に出力する温度値Tを制御する。例えば、温度制御部50は、状態遷移を受け入れるか否かを確率的に決定する処理の反復回数に応じて、温度値Tを初期の温度値から対数的に減少させる。
評価関数計算部60は、ペナルティ係数P1よりも相対的に大きいペナルティ係数P2を有する評価関数E2(x)におけるエネルギー値E2を計算する。例えば、評価関数計算部60は、現在の状態sを状態保持部20から受ける度に現在の状態sに対するエネルギー値E2を評価関数E2(x)に基づいて計算する。これにより、評価関数E2(x)におけるエネルギー値E2が状態遷移に対して計算される。すなわち、評価関数計算部60は、状態変数xの値の何れかが変化することに応じて状態遷移が起こる場合、ペナルティ係数P2を有する評価関数E2(x)におけるエネルギー値E2を状態遷移に対して計算する。そして、評価関数計算部60は、エネルギー値E2をエネルギー比較部70に出力する。さらに、評価関数計算部60は、エネルギー値E2の計算に使用した状態変数xの値、すなわち、状態保持部20から受けた状態sを、エネルギー比較部70に出力する。なお、エネルギー値E2の計算を実現する方法は、例えば、評価関数計算部30と同一または同様である。
エネルギー比較部70は、評価関数計算部60が計算したエネルギー値E2をそれまでに得られた値と比較して、エネルギー値E2のうち、最低となるエネルギー値Eminおよびその状態Sを出力する。以下、最低となるエネルギー値Eminは、最低エネルギー値Eminとも称される。
例えば、エネルギー比較部70は、評価関数計算部60が計算したエネルギー値E2のうちの最低値を最低エネルギー値Eminとして保持するとともに、最低エネルギー値Eminになる状態変数xの値を最低エネルギー状態Sとして保持する。すなわち、エネルギー比較部70は、現在の状態sより前の状態sに対して評価関数計算部60が計算したエネルギー値E2のうちの最低のエネルギー値E2を最低エネルギー値Eminとして保持するとともに、最低エネルギー状態Sを保持する。そして、エネルギー比較部70は、新たな状態遷移(すなわち、現在の状態s)に対して評価関数計算部60が計算したエネルギー値E2と、保持した最低エネルギー値Eminとの比較結果に基づいて、保持した最低エネルギー値Eminを更新するかを判定する。例えば、エネルギー比較部70は、現在の状態sに対して評価関数計算部60が計算したエネルギー値E2が、保持した最低エネルギー値Eminより低い場合、保持した最低エネルギー値Eminを、現在の状態sのエネルギー値E2に更新する。また、エネルギー比較部70は、更新した最低エネルギー値Eminの計算に使用した状態変数xの値で最低エネルギー状態Sを更新する。そして、エネルギー比較部70は、評価関数E1(x)による状態変数xの値の最適化が終了した場合、保持した最低エネルギー値Eminおよび最低エネルギー値Eminになる状態変数xの値(最低エネルギー状態S)を出力する。これにより、エネルギー比較部70は、状態遷移が繰り返されることにより得られるエネルギー値E2のうち、最低となるエネルギー値Eminを出力でき、最低となるエネルギー値Eminになる状態sを最低エネルギー状態Sとして出力できる。
このように、最適化装置10は、組合せ最適化問題の解を探索する処理には、ペナルティ係数P2より小さいペナルティ係数P1を有する評価関数E1(x)を使用する。なお、制約条件を満たさない状態sでは、評価関数E1(x)におけるエネルギー値E1は、ペナルティ係数P1より大きいペナルティ係数Pを有する評価関数E(x)におけるエネルギー値Eより低い。このため、最適化装置10は、ペナルティ係数P1より大きいペナルティ係数Pを有する評価関数E(x)を組合せ最適化問題の解を探索する処理に使用する場合に比べて、局所解から制約条件を満たさない解に遷移する確率を高くできる。この結果、局所解からの脱出にかかる時間を短縮することができ、最適化を高速に実行することができる。
また、最適化装置10は、最低エネルギー状態Sを決定する処理には、ペナルティ係数P1より大きいペナルティ係数P2を有する評価関数E2(x)を使用する。これにより、最適化装置10は、ペナルティ係数P2より小さいペナルティ係数Pを有する評価関数E(x)を用いて最低エネルギー状態Sを決定する場合に比べて、制約条件を満たさない状態sを最低エネルギー状態Sとして出力することを抑止できる。
すなわち、最適化装置10は、組合せ最適化問題の解を探索する処理と最低エネルギー状態Sを決定する処理とで異なる評価関数E1(x)、E2(x)を使用することにより、制約条件を満たさない解を出力することを抑止しつつ、最適化を高速に実行できる。換言すれば、最適化装置10は、最適解付近のエネルギーを有する制約条件を満たさない解への遷移を許容して状態遷移を促進するとともに、制約条件を満たさない解が最適解として出力されることを抑止できる。
なお、最適化装置10および最適化装置10の制御方法は、図1に示す例に限定されない。例えば、エネルギー比較部70は、評価関数計算部30が計算したエネルギー値E1とエネルギー値E1の計算に使用した現在の状態s(状態変数xの値)を評価関数計算部30から受けてもよい。そして、エネルギー比較部70は、現在の状態sのエネルギー値E1、E2が一致した場合、現在の状態sが制約条件を満たしていると判定し、現在の状態sのエネルギー値E1をそれまでに得られた制約条件を満たした状態sのエネルギー値E1と比較してもよい。この場合、エネルギー比較部70は、制約条件を満たした状態sのエネルギー値E1のうち、最低となるエネルギー値Eminを出力し、最低となるエネルギー値Eminの計算に使用した状態変数xの値を最低エネルギー状態Sとして出力してもよい。すなわち、エネルギー比較部70は、評価関数計算部30、60がそれぞれ計算したエネルギー値E1、E2の一方の値をそれまでに得られた一方の値と比較して、エネルギー値E1、E2の一方の値のうち、最低となるエネルギー値Eminを選択してもよい。
図2は、巡回セールスマン問題における状態遷移の一例を示す。図2では、評価関数E(x)は、図1で説明した式(2)で表され、評価関数E1(x)、E2(x)を区別していない。図2に示す丸内の数字は、都市を識別する数字であり、カギ括弧内の数字は、都市を訪問する順番kを示す。図2に示す例では、訪問する都市の数は4つであるため、順番kが4の場合、k+1は“1”を示し、状態変数xj,k+1は、状態変数xj,1を示す。
最適化装置10は、イジング型エネルギー関数を評価関数E(x)として使用する場合、評価関数E(x)に含まれる複数の状態変数xを1つずつ変化させて、エネルギー値Eが最小となる最適解を探索する。このため、状態遷移は、最適化の途中で制約条件を満たさない制約違反の状態sを経由する。例えば、制約条件を満たす状態s0から制約条件を満たす別の状態s4に遷移するまでに、制約条件を満たさない制約違反の状態s1、s2、s3を経由する。
最初の状態s0は、都市1、都市3、都市2、都市4の順に訪問し、都市1に戻る状態sであり、同一時刻に複数の都市を訪問しない制約条件および同じ都市に複数回訪問しない制約条件の両方を満たす。
次に、状態変数x4,3の値(図2の状態s1の表の太枠)が“0”から“1”に遷移することにより、現在の状態sが状態s0から状態s1に遷移する。状態s1は、同一時刻に複数の都市を訪問しない制約条件および同じ都市に複数回訪問しない制約条件の両方を満たしていない。例えば、状態s1は、3番目(同一時刻)に都市2および都市4の複数の都市を訪問し、都市4に2回訪問する制約違反を含む状態sである(図2の状態s1の表の網掛け)。この場合、式(2)の右辺の第2項および第3項でそれぞれ表されるペナルティは、両方ともペナルティ係数Pになり、ペナルティの総和は、ペナルティ係数Pの2倍になる。
次に、状態変数x2,4の値(図2の状態s2の表の太枠)が“0”から“1”に遷移することにより、現在の状態sが状態s1から状態s2に遷移する。状態s2は、同一時刻に複数の都市を訪問しない制約条件および同じ都市に複数回訪問しない制約条件の両方を満たしていない。例えば、状態s2は、状態s1と同じ制約違反の他に、4番目(同一時刻)に都市2および都市4の複数の都市を訪問し、都市2に2回訪問する制約違反を含む状態sである(図2の状態s2の表の網掛け)。この場合、式(2)の右辺の第2項および第3項でそれぞれ表されるペナルティは、両方ともペナルティ係数Pの2倍になり、ペナルティの総和は、ペナルティ係数Pの4倍になる。
次に、状態変数x2,3の値(図2の状態s3の表の太枠)が“1”から“0”に遷移することにより、現在の状態sが状態s2から状態s3に遷移する。状態s3は、同一時刻に複数の都市を訪問しない制約条件および同じ都市に複数回訪問しない制約条件の両方を満たしていない。例えば、状態s3は、4番目(同一時刻)に都市2および都市4の複数の都市を訪問し、都市4に2回訪問する制約違反を含む状態sである(図2の状態s3の表の網掛け)。この場合、式(2)の右辺の第2項および第3項でそれぞれ表されるペナルティは、両方ともペナルティ係数Pになり、ペナルティの総和は、ペナルティ係数Pの2倍になる。
次に、状態変数x4,4の値(図2の状態s4の表の太枠)が“1”から“0”に遷移することにより、現在の状態sが状態s3から状態s4に遷移する。状態s4は、都市1、都市3、都市4、都市2の順に訪問し、都市1に戻る状態sであり、同一時刻に複数の都市を訪問しない制約条件および同じ都市に複数回訪問しない制約条件の両方を満たす。
ここで、状態s0等の局所解から状態s1等の制約条件を満たさない解に遷移する確率は、評価関数E(x)に含まれるペナルティ係数Pが小さくなるほど、高くなる。このため、最適化装置10は、組合せ最適化問題の最適解を探索するための状態遷移を、ペナルティ係数P2より小さいペナルティ係数P1を有する評価関数E1(x)を用いて実行する。これにより、最適化装置10は、ペナルティ係数P1より大きいペナルティ係数Pを有する評価関数E(x)を用いて組合せ最適化問題の最適解を探索する場合に比べて、局所解からの脱出にかかる時間を短縮できる。
なお、ペナルティ係数Pを小さくしすぎると、制約条件を満たさない解が最適解として出力されるおそれがある。例えば、スタート地点の都市1から移動しない場合、式(2)の右辺の第1項(移動距離)および式(2)の右辺の第2項(同一時刻に複数の都市を訪問した場合のペナルティ)は、“0”になる。そして、式(2)の右辺の第3項(同じ都市に複数回訪問した場合のペナルティ)は、ペナルティ係数Pの12倍(=(4−1)+(0−1)+(0−1)+(0−1))になる。すなわち、スタート地点の都市1から移動しない場合、エネルギー値Eは、ペナルティ係数Pの12倍になる。また、互いに隣接する都市の距離が“9”の場合、状態s4におけるエネルギー値Eは、“36”になる。この場合、ペナルティ係数Pが“3”より小さいと、スタート地点の都市1から移動しない制約条件を満たさない解のエネルギー値Eが最適解のエネルギー値Eより小さくなり、制約条件を満たさない解が最適解として出力される。
このため、最適化装置10は、図1で説明したように、ペナルティ係数P1より大きいペナルティ係数P2を有する評価関数E2(x)を用いて最低エネルギー状態Sを決定することにより、制約条件を満たさない解を除外する。これにより、最適化装置10は、制約条件を満たさない解が最適解として出力されることを抑止できる。最適化装置10は、制約条件を満たさない解を評価関数E2(x)を用いて除去できるため、組合せ最適化問題の解を探索する処理に使用する評価関数E1(x)に含まれるペナルティ係数P1を、評価関数E2(x)を使用しない場合に比べて小さくできる。この結果、最適化装置10は、最適化を高速に実行できる。
図3は、図1に示した最適化装置10の動作の一例を示す。図3に示す動作は、最適化装置10の制御方法の一例である。例えば、最適化装置10は、評価関数E1(x)、E2(x)に含まれる状態変数xの初期値が与えられた後に、ステップSP10からステップSP50までの一連の処理を所定の回数繰り返す。そして、最適化装置10は、ステップSP10からステップSP50までの一連の処理を所定の回数繰り返した後に、エネルギー比較部70が保持した最低エネルギー値Emin(最低となるエネルギー値E2)および最低エネルギー状態Sを出力する。
ステップSP10では、評価関数計算部30は、状態保持部20から受けた現在の状態sの評価関数E1(x)におけるエネルギー値E1を計算し、評価関数計算部60は、状態保持部20から受けた現在の状態sの評価関数E2(x)におけるエネルギー値E2を計算する。
次に、ステップSP20では、評価関数計算部60は、ステップSP10で計算したエネルギー値E2が最低エネルギー値Eminより低い場合、最低エネルギー状態Sを状態sに置き換える。また、評価関数計算部60は、ステップSP10で計算したエネルギー値E2が最低エネルギー値Eminより低い場合、最低エネルギー値EminをステップSP10で計算したエネルギー値E2に更新する。更新前の最低エネルギー値Eminは、図1で説明したように、現在の状態sのエネルギー値E2が計算される前に計算されたエネルギー値E2のうちの最低のエネルギー値E2である。
次に、ステップSP30では、評価関数計算部30は、現在の状態sから状態変数xの値の何れかが変化する状態遷移に対するエネルギー値E1を計算する。
次に、ステップSP40では、遷移制御部40は、エネルギー値E1の変化値(ステップSP10で計算したエネルギー値E1とステップSP30で計算したエネルギー値E1との差)と温度値Tとに基づいて、状態遷移を受け入れるか否かを確率的に決定する。
次に、ステップSP50では、状態保持部20は、ステップSP40で状態遷移を受け入れると決定された場合、状態遷移に対するエネルギー値E1の計算に使用した状態s(ステップSP30で使用した状態変数xの値)に現在の状態sを更新する。また、状態保持部20は、ステップSP40で状態遷移を受け入れないと決定された場合、現在の状態sを更新せずに維持する。そして、状態保持部20は、保持した現在の状態sを、評価関数計算部30、60に出力する。最適化装置10は、ステップSP50の処理を実行した後、動作をステップSP10に戻し、ステップSP10からステップSP50までの一連の処理を繰り返す。
なお、最適化装置10の動作は、図3に示す例に限定されない。例えば、ステップSP50で状態sが更新されずに維持された場合、次のループのステップSP10、SP20の一連の処理は、省かれてもよい。また、例えば、ステップSP50で状態sが更新された場合、次のループのステップSP10では、状態sのエネルギー値E1を計算する処理を省いて、前のループのステップSP30で計算したエネルギー値E1を状態sのエネルギー値E1としてもよい。
以上、図1から図3に示す実施形態では、最適化装置10は、組合せ最適化問題の解を探索する処理と最低エネルギー状態Sを決定する処理とで異なるペナルティ係数P1、P2をそれぞれ有する評価関数E1(x)、E2(x)を使用する。最低エネルギー状態Sを決定する処理に使用する評価関数E2(x)に含まれるペナルティ係数P2は、組合せ最適化問題の解を探索する処理に使用する評価関数E1(x)に含まれるペナルティ係数P1より大きい。これにより、最適化装置10は、最適解付近のエネルギーを有する制約条件を満たさない解への遷移を許容して状態遷移を促進するとともに、制約条件を満たさない解が最適解として出力されることを抑止できる。
図4は、最適化装置および最適化装置の制御方法の別の実施形態を示す。図1から図3で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図4に示す最適化装置12は、図1に示した評価関数計算部60の代わりに評価関数計算部62を有することを除いて、図1に示した最適化装置10と同一または同様である。例えば、最適化装置12は、状態保持部20、評価関数計算部30、遷移制御部40、温度制御部50、評価関数計算部62およびエネルギー比較部70を有する。評価関数計算部62は、第2の評価関数計算部の一例である。図4では、状態保持部20、評価関数計算部30、遷移制御部40、温度制御部50およびエネルギー比較部70が図1に示した実施形態と同一または同様であるため、評価関数計算部62を中心に説明する。
評価関数計算部62は、図1に示した評価関数計算部60と同様に、ペナルティ係数P1よりも相対的に大きいペナルティ係数P2を有する評価関数E2(x)におけるエネルギー値E2を計算する。例えば、評価関数計算部62は、現在の状態sを状態保持部20から受け、現在の状態sを状態保持部20から受ける度に現在の状態sに対するエネルギー値E2を評価関数E2(x)に基づいて計算する。さらに、評価関数計算部62は、現在の状態sに対して評価関数計算部30が計算したエネルギー値E1を、評価関数計算部30から受ける。
ここで、現在の状態sに対して計算されたエネルギー値E1、E2が互いに一致することは、現在の状態sが制約条件を満たしていることを示す。このため、評価関数計算部62は、現在の状態sに対して計算したエネルギー値E2と現在の状態sに対して評価関数計算部30が計算したエネルギー値E1とが一致する場合、現在の状態sに対して計算したエネルギー値E2をエネルギー比較部70に出力する。この場合、評価関数計算部62は、エネルギー比較部70に出力するエネルギー値E2の計算に使用した複数の状態変数xの値、すなわち、状態保持部20から受けた状態s(現在の状態s)も、エネルギー比較部70に出力する。
なお、評価関数計算部62は、現在の状態sに対して計算したエネルギー値E2と現在の状態sに対して評価関数計算部30が計算したエネルギー値E1とが異なる場合、現在の状態sに対して計算したエネルギー値E2等を、エネルギー比較部70に出力しない。
したがって、最適化装置12では、エネルギー比較部70は、評価関数計算部30、60が新たな状態遷移(現在の状態s)に対してそれぞれ計算したエネルギー値E1、E2が互いに一致する場合、保持した最低エネルギー値Eminを更新するかを判定する。換言すれば、エネルギー比較部70は、評価関数計算部30、60が新たな状態遷移(現在の状態s)に対してそれぞれ計算したエネルギー値E1、E2が互いに異なる場合、保持した最低エネルギー値Eminを更新せずに維持する。
このように、最適化装置12は、現在の状態sが制約条件を満たしている場合、現在の状態sに対して計算したエネルギー値E2と、保持した最低エネルギー値Eminとを比較して、保持した最低エネルギー値Eminを更新するかを判定する。すなわち、制約条件を満たさない解は、比較対象から除外される。これにより、最適化装置12は、制約条件を満たさない解が最適解として出力されることをさらに抑止できる。
なお、最適化装置12および最適化装置12の制御方法は、図4に示す例に限定されない。例えば、現在の状態sに対して計算されたエネルギー値E1、E2が互いに一致するか否かの判定は、エネルギー比較部70により実行されてもよい。また、例えば、評価関数E2(x)に含まれるペナルティ係数P2は、評価関数E1(x)に含まれるペナルティ係数P1より小さくてもよい。すなわち、ペナルティ係数P2は、ペナルティ係数P1と異なる値であればよい。
図5は、図4に示した最適化装置12の動作の一例を示す。図5に示す動作は、最適化装置12の制御方法の一例である。例えば、最適化装置12は、評価関数E1(x)、E2(x)に含まれる状態変数xの初期値が与えられた後に、ステップSP10からステップSP50までの一連の処理を所定の回数繰り返す。そして、最適化装置12は、ステップSP10からステップSP50までの一連の処理を所定の回数繰り返した後に、エネルギー比較部70が保持した最低エネルギー値Emin(最低となるエネルギー値E2)および最低エネルギー状態Sを出力する。
図5に示す動作は、図3に示した動作にステップSP12の処理が追加されることを除いて、図3に示した動作と同一または同様である。図3で説明したステップと同一または同様のステップについては、同一または同様の符号を付し、これ等については、詳細な説明を省略する。
ステップSP10では、評価関数計算部30は、状態保持部20から受けた現在の状態sの評価関数E1(x)におけるエネルギー値E1を計算する。また、評価関数計算部62は、状態保持部20から受けた現在の状態sの評価関数E2(x)におけるエネルギー値E2を計算する。
次に、ステップSP12では、評価関数計算部62は、ステップSP10で計算したエネルギー値E2とステップSP10で評価関数計算部30が計算したエネルギー値E1とが一致するか否かを判定する。エネルギー値E1、E2が互いに一致する場合、最適化装置12の動作は、ステップSP20に移る。一方、エネルギー値E1、E2が互いに異なる場合、最適化装置12の動作は、ステップSP30に移る。すなわち、エネルギー値E1、E2が互いに異なる場合、最低エネルギー状態Sを状態sに置き換えるステップSP20の処理は、実行されない。
ステップSP20では、評価関数計算部62は、ステップSP10で計算したエネルギー値E2が最低エネルギー値Eminより低い場合、最低エネルギー状態Sを状態sに置き換える。また、評価関数計算部62は、最低エネルギー値EminをステップSP10で計算したエネルギー値E2に更新する。ステップSP20の処理が実行された後、最適化装置12の動作は、ステップSP30に移る。
ステップSP30では、評価関数計算部30は、現在の状態sから状態変数xの値の何れかが変化する状態遷移に対するエネルギー値E1を計算する。
次に、ステップSP40では、遷移制御部40は、エネルギー値E1の変化値(ステップSP10で計算したエネルギー値E1とステップSP30で計算したエネルギー値E1との差)と温度値Tとに基づいて、状態遷移を受け入れるか否かを確率的に決定する。
次に、ステップSP50では、状態保持部20は、ステップSP40で状態遷移を受け入れると決定された場合、状態遷移に対するエネルギー値E1の計算に使用した状態s(ステップSP30で使用した状態変数xの値)に現在の状態sを更新する。また、状態保持部20は、ステップSP40で状態遷移を受け入れないと決定された場合、現在の状態sを更新せずに維持する。そして、状態保持部20は、保持した現在の状態sを、評価関数計算部30、62に出力する。最適化装置12は、ステップSP50の処理を実行した後、動作をステップSP10に戻し、ステップSP10からステップSP50までの一連の処理を繰り返す。
なお、最適化装置12の動作は、図5に示す例に限定されない。例えば、ステップSP12の判定は、エネルギー比較部70により実行されてもよい。また、例えば、ステップSP50で状態sが更新されずに維持された場合、次のループのステップSP10、SP12、SP20の一連の処理は、省かれてもよい。また、例えば、ステップSP50で状態sが更新された場合、次のループのステップSP10では、状態sのエネルギー値E1を計算する処理を省いて、前のループのステップSP30で計算したエネルギー値E1を状態sのエネルギー値E1としてもよい。
以上、図4から図5に示す実施形態においても、図1から図3に示した実施形態と同様の効果を得ることができる。すなわち、最適化装置12は、最適解付近のエネルギーを有する制約条件を満たさない解への遷移を許容して状態遷移を促進するとともに、制約条件を満たさない解が最適解として出力されることを抑止できる。例えば、最適化装置12は、組合せ最適化問題の解を探索する処理と最低エネルギー状態Sを決定する処理とで異なるペナルティ係数P1、P2をそれぞれ有する評価関数E1(x)、E2(x)を使用する。そして、最適化装置12は、評価関数E1(x)に基づいて計算した現在の状態sのエネルギー値E1と評価関数E2(x)に基づいて計算した現在の状態sのエネルギー値E2とが一致する場合、最低エネルギー値Eminを更新するかを判定する。なお、現在の状態sが制約条件を満たす場合、最適化装置12は、評価関数E1(x)に基づいて計算した現在の状態sのエネルギー値E1と評価関数E2(x)に基づいて計算した現在の状態sのエネルギー値E2とが一致する。すなわち、最適化装置12は、現在の状態sが制約条件を満たしている場合、現在の状態sに対して計算したエネルギー値E2と、現在の状態sに遷移する前までの最低エネルギー値Eminとを比較して、最低エネルギー値Eminを更新するかを判定する。これにより、制約条件を満たさない解が比較対象から除外されるため、最適化装置12は、制約条件を満たさない解が最適解として出力されることをさらに抑止できる。
図6は、最適化装置および最適化装置の制御方法の別の実施形態を示す。図1から図5で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図6に示す最適化装置14は、図4に示した評価関数計算部62の代わりに評価関数計算部64を有することを除いて、図4に示した最適化装置12と同一または同様である。例えば、最適化装置14は、状態保持部20、評価関数計算部30、遷移制御部40、温度制御部50、評価関数計算部64およびエネルギー比較部70を有する。評価関数計算部64は、第2の評価関数計算部の一例である。図6では、状態保持部20、評価関数計算部30、遷移制御部40、温度制御部50およびエネルギー比較部70が図4に示した実施形態と同一または同様であるため、評価関数計算部64を中心に説明する。
評価関数計算部64は、式(5)に示す評価関数E2(x)におけるエネルギー値E2を計算する。式(5)の状態変数xの意味は、図1で説明した式(2)と同じである。
Figure 2019121137
式(5)に示す評価関数E2(x)は、ペナルティ係数P2を有する項のみを有する関数であり、状態s(状態変数xの値)が制約条件を満たす場合、“0”になり、状態sが制約条件を満たさない場合、“0”以外の値になる。したがって、式(5)に示す評価関数E2(x)は、状態sが制約条件を満たすか否かを表す関数、すなわち、ペナルティの有無を表す関数である。なお、ペナルティ係数P2は、ペナルティ係数P1と異なる値でもよいし、ペナルティ係数P2と同じ値でもよい。式(5)に示す評価関数E2(x)は、ペナルティの有無を表す関数の一例である。
例えば、評価関数計算部64は、現在の状態sを状態保持部20から受け、現在の状態sを状態保持部20から受ける度に現在の状態sに対するエネルギー値E2(式(5)に示す評価関数E2(x)の値)を式(5)に示す評価関数E2(x)に基づいて計算する。さらに、評価関数計算部64は、現在の状態sに対して評価関数計算部30が計算したエネルギー値E1を、評価関数計算部30から受ける。
評価関数計算部64は、新たな状態遷移(現在の状態s)に対して計算したエネルギー値E2がペナルティの無いことを示す場合(E2=0の場合)、新たな状態遷移に対して評価関数計算部30が計算したエネルギー値E1をエネルギー比較部70に出力する。この場合、評価関数計算部64は、エネルギー比較部70に出力するエネルギー値E1の計算に使用した状態変数xの値、すなわち、状態保持部20から受けた状態s(現在の状態s)も、エネルギー比較部70に出力する。
なお、評価関数計算部64は、新たな状態遷移に対して計算したエネルギー値E2がペナルティの有ることを示す場合(E2≠0の場合)、新たな状態遷移に対して評価関数計算部30が計算したエネルギー値E1等を、エネルギー比較部70に出力しない。
このように、評価関数計算部64は、エネルギー値E2の代わりにエネルギー値E1をエネルギー比較部70に出力する。なお、図6に示すエネルギー比較部70は、エネルギー値E2の代わりにエネルギー値E1を受けることを除いて、図4に示したエネルギー比較部70と同一または同様である。例えば、最適化装置14では、エネルギー比較部70は、評価関数計算部64が計算したエネルギー値E2が“0”の状態遷移に対して評価関数計算部30が計算したエネルギー値E1のうちの最低値を最低エネルギー値Eminとして保持する。すなわち、エネルギー比較部70は、評価関数計算部64が計算したエネルギー値E2がペナルティの無いことを示す状態遷移に対して評価関数計算部30が計算したエネルギー値E1のうちの最低値を最低エネルギー値Eminとして保持する。また、エネルギー比較部70は、最低エネルギー値Eminになる状態変数xの値を保持する。
そして、エネルギー比較部70は、新たな状態遷移(現在の状態s)に対して評価関数計算部64が計算したエネルギー値E2がペナルティの無いことを示す場合(E2=0の場合)、保持した最低エネルギー値Eminを更新するかを判定する。例えば、エネルギー比較部70は、新たな状態遷移(現在の状態s)に対して評価関数計算部30が計算したエネルギー値E1と、保持した最低エネルギー値Eminとの比較結果に基づいて、保持した最低エネルギー値Eminを更新するかを判定する。
なお、エネルギー比較部70は、新たな状態遷移(現在の状態s)に対して評価関数計算部64が計算したエネルギー値E2がペナルティの有ることを示す場合(E2≠0の場合)、保持した最低エネルギー値Eminを更新せずに維持する。
また、エネルギー比較部70は、評価関数E1(x)による状態変数xの値の最適化が終了した場合、保持した最低エネルギー値Eminおよび最低エネルギー値Eminになる状態変数xの値を出力する。
このように、最適化装置14は、現在の状態sが制約条件を満たしている場合、現在の状態sに対して計算したエネルギー値E1と、保持した最低エネルギー値Eminとを比較して、保持した最低エネルギー値Eminを更新するかを判定する。すなわち、制約条件を満たさない解は、比較対象から除外される。これにより、最適化装置14は、制約条件を満たさない解が最適解として出力されることをさらに抑止できる。
なお、最適化装置14および最適化装置14の制御方法は、図6に示す例に限定されない。例えば、現在の状態sに対して計算されたエネルギー値E2がペナルティの無いことを示すか否かの判定(E2=0か否かの判定)は、エネルギー比較部70により実行されてもよい。
図7は、図6に示した最適化装置14の動作の一例を示す。図7に示す動作は、最適化装置14の制御方法の一例である。例えば、最適化装置14は、評価関数E1(x)、E2(x)に含まれる状態変数xの初期値が与えられた後に、ステップSP10からステップSP50までの一連の処理を所定の回数繰り返す。そして、最適化装置14は、ステップSP10からステップSP50までの一連の処理を所定の回数繰り返した後に、エネルギー比較部70が保持した最低エネルギー値Emin(最低となるエネルギー値E1)および最低エネルギー状態Sを出力する。
図7に示す動作は、図5に示したステップSP12、SP20の処理の代わりにステップSP14、SP24の処理が実行されることを除いて、図5に示した動作と同一または同様である。図5で説明したステップと同一または同様のステップについては、同一または同様の符号を付し、これ等については、詳細な説明を省略する。
ステップSP10では、評価関数計算部30は、状態保持部20から受けた現在の状態sの評価関数E1(x)におけるエネルギー値E1を計算する。また、評価関数計算部64は、状態保持部20から受けた現在の状態sの評価関数E2(x)におけるエネルギー値E2を計算する。
次に、ステップSP14では、評価関数計算部64は、ステップSP10で計算したエネルギー値E2が“0”か否かを判定する。すなわち、評価関数計算部64は、ステップSP10で計算したエネルギー値E2がペナルティの無いことを示すか否かを判定する。エネルギー値E2が“0”の場合、すなわち、エネルギー値E2がペナルティの無いことを示す場合、最適化装置14の動作は、ステップSP24に移る。一方、エネルギー値E2が“0”でない場合、すなわち、エネルギー値E2がペナルティの有ることを示す場合、最適化装置14の動作は、ステップSP30に移る。すなわち、エネルギー値E2が“0”の場合、最低エネルギー状態Sを状態sに置き換えるステップSP20の処理は、実行されない。
ステップSP24では、評価関数計算部64は、ステップSP10で計算したエネルギー値E1が最低エネルギー値Eminより低い場合、最低エネルギー状態Sを状態sに置き換える。また、評価関数計算部64は、最低エネルギー値EminをステップSP10で計算したエネルギー値E1に更新する。ステップSP24の処理が実行された後、最適化装置14の動作は、ステップSP30に移る。
ステップSP30では、評価関数計算部30は、現在の状態sから状態変数xの値の何れかが変化する状態遷移に対するエネルギー値E1を計算する。
次に、ステップSP40では、遷移制御部40は、エネルギー値E1の変化値(ステップSP10で計算したエネルギー値E1とステップSP30で計算したエネルギー値E1との差)と温度値Tとに基づいて、状態遷移を受け入れるか否かを確率的に決定する。
次に、ステップSP50では、状態保持部20は、ステップSP40で状態遷移を受け入れると決定された場合、状態遷移に対するエネルギー値E1の計算に使用した状態s(ステップSP30で使用した状態変数xの値)に現在の状態sを更新する。また、状態保持部20は、ステップSP40で状態遷移を受け入れないと決定された場合、現在の状態sを更新せずに維持する。そして、状態保持部20は、保持した現在の状態sを、評価関数計算部30、64に出力する。最適化装置14は、ステップSP50の処理を実行した後、動作をステップSP10に戻し、ステップSP10からステップSP50までの一連の処理を繰り返す。
なお、最適化装置14の動作は、図7に示す例に限定されない。例えば、ステップSP14の判定は、エネルギー比較部70により実行されてもよい。また、例えば、ステップSP50で状態sが更新されずに維持された場合、次のループのステップSP10、SP14、SP24の一連の処理は、省かれてもよい。また、例えば、ステップSP50で状態sが更新された場合、次のループのステップSP10では、状態sのエネルギー値E1を計算する処理を省いて、前のループのステップSP30で計算したエネルギー値E1を状態sのエネルギー値E1としてもよい。
以上、図6から図7に示す実施形態においても、図4から図5に示した実施形態と同様の効果を得ることができる。すなわち、最適化装置14は、最適解付近のエネルギーを有する制約条件を満たさない解への遷移を許容して状態遷移を促進するとともに、制約条件を満たさない解が最適解として出力されることを抑止できる。例えば、最適化装置14は、組合せ最適化問題の解を探索する処理と最低エネルギー状態Sを決定する処理とで異なる評価関数E1(x)、E2(x)をそれぞれ使用する。そして、最適化装置14は、評価関数E2(x)に基づいて計算した現在の状態sのエネルギー値E2がペナルティの無いことを示す場合(E2=0の場合)、最低エネルギー値Eminを更新するかを判定する。すなわち、最適化装置14は、現在の状態sが制約条件を満たしている場合、現在の状態sに対して計算したエネルギー値E1と、現在の状態sに遷移する前までの最低エネルギー値Eminとを比較して、最低エネルギー値Eminを更新するかを判定する。これにより、制約条件を満たさない解が比較対象から除外されるため、最適化装置14は、制約条件を満たさない解が最適解として出力されることをさらに抑止できる。
以上の実施形態において説明した発明を整理して、付記として以下の通り開示する。
(付記1)
エネルギーを表す評価関数に含まれる複数の状態変数の値をそれぞれ保持する状態保持部と、
前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合の第1のペナルティ係数を有する第1の評価関数におけるエネルギー値を計算する第1の評価関数計算部と、
温度を示す温度値を制御する温度制御部と、
前記温度値と前記エネルギー値の変化値と乱数値とに基づいて、前記変化値と熱励起エネルギーとの相対関係によって前記状態遷移を受け入れるか否かを確率的に決定する遷移制御部と、
前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合、前記第1のペナルティ係数よりも相対的に大きい第2のペナルティ係数を有する第2の評価関数におけるエネルギー値を前記状態遷移に対して計算する第2の評価関数計算部と、
前記第1の評価関数計算部または前記第2の評価関数計算部が計算したエネルギー値をそれまでに得られた値と比較して、前記エネルギー値のうち、最低となるエネルギー値およびその状態を出力するエネルギー比較部と
を有することを特徴とする最適化装置。
(付記2)
付記1に記載の最適化装置において、
前記エネルギー比較部は、前記第2の評価関数計算部が計算したエネルギー値のうちの最低値を前記最低となるエネルギー値として保持するとともに、前記最低となるエネルギー値になる前記複数の状態変数の値を保持し、新たな前記状態遷移に対して前記第2の評価関数計算部が計算したエネルギー値と、保持した前記最低となるエネルギー値との比較結果に基づいて、保持した前記最低となるエネルギー値を更新するかを判定し、前記第1の評価関数による前記複数の状態変数の値の最適化が終了した場合、保持した前記最低となるエネルギー値および前記最低となるエネルギー値になる前記複数の状態変数の値を出力する
ことを特徴とする最適化装置。
(付記3)
付記2に記載の最適化装置において、
前記エネルギー比較部は、前記第1の評価関数計算部および前記第2の評価関数計算部が新たな前記状態遷移に対してそれぞれ計算したエネルギー値が互いに一致する場合、保持した前記最低となるエネルギー値を更新するかを判定し、前記第1の評価関数計算部および前記第2の評価関数計算部が新たな前記状態遷移に対してそれぞれ計算したエネルギー値が互いに異なる場合、保持した前記最低となるエネルギー値を更新せずに維持する
ことを特徴とする最適化装置。
(付記4)
付記1に記載の最適化装置において、
前記第2の評価関数は、ペナルティの有無を表す関数であり、
前記エネルギー比較部は、前記第2の評価関数計算部が計算したエネルギー値がペナルティの無いことを示す前記状態遷移に対して前記第1の評価関数計算部が計算したエネルギー値のうちの最低値を前記最低となるエネルギー値として保持するとともに、前記最低となるエネルギー値になる前記複数の状態変数の値を保持し、新たな前記状態遷移に対して前記第2の評価関数計算部が計算したエネルギー値がペナルティの無いことを示す場合、新たな前記状態遷移に対して前記第1の評価関数計算部が計算したエネルギー値と、保持した前記最低となるエネルギー値との比較結果に基づいて、保持した前記最低となるエネルギー値を更新するかを判定し、新たな前記状態遷移に対して前記第2の評価関数計算部が計算したエネルギー値がペナルティの有ることを示す場合、保持した前記最低となるエネルギー値を更新せずに維持し、前記第1の評価関数による前記複数の状態変数の値の最適化が終了した場合、保持した前記最低となるエネルギー値および前記最低となるエネルギー値になる前記複数の状態変数の値を出力する
ことを特徴とする最適化装置。
(付記5)
エネルギーを表す評価関数に含まれる複数の状態変数の値をそれぞれ保持する状態保持部と、
前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合の第1のペナルティ係数を有する第1の評価関数におけるエネルギー値を計算する第1の評価関数計算部と、
温度を示す温度値を制御する温度制御部と、
前記温度値と前記エネルギー値の変化値と乱数値とに基づいて、前記変化値と熱励起エネルギーとの相対関係によって前記状態遷移を受け入れるか否かを確率的に決定する遷移制御部と、
前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合、前記第1のペナルティ係数と異なる第2のペナルティ係数を有する第2の評価関数におけるエネルギー値を前記状態遷移に対して計算する第2の評価関数計算部と、
前記第2の評価関数計算部が計算したエネルギー値のうちの最低値を最低となるエネルギー値として保持するとともに、前記最低となるエネルギー値になる前記複数の状態変数の値を保持し、前記第1の評価関数計算部および前記第2の評価関数計算部が新たな前記状態遷移に対してそれぞれ計算したエネルギー値が互いに一致する場合、新たな前記状態遷移に対して前記第2の評価関数計算部が計算したエネルギー値と、保持した前記最低となるエネルギー値との比較結果に基づいて、保持した前記最低となるエネルギー値を更新するかを判定し、前記第1の評価関数計算部および前記第2の評価関数計算部が新たな前記状態遷移に対してそれぞれ計算したエネルギー値が互いに異なる場合、保持した前記最低となるエネルギー値を更新せずに維持し、前記第1の評価関数による前記複数の状態変数の値の最適化が終了した場合、保持した前記最低となるエネルギー値および前記最低となるエネルギー値になる前記複数の状態変数の値を出力するエネルギー比較部と
を有することを特徴とする最適化装置。
(付記6)
エネルギーを表す評価関数に含まれる複数の状態変数の値をそれぞれ保持する状態保持部と、
前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合の第1のペナルティ係数を有する第1の評価関数におけるエネルギー値を計算する第1の評価関数計算部と、
温度を示す温度値を制御する温度制御部と、
前記温度値と前記エネルギー値の変化値と乱数値とに基づいて、前記変化値と熱励起エネルギーとの相対関係によって前記状態遷移を受け入れるか否かを確率的に決定する遷移制御部と、
前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合、ペナルティの有無を表す第2の評価関数におけるエネルギー値を前記状態遷移に対して計算する第2の評価関数計算部と、
前記第2の評価関数計算部が計算したエネルギー値がペナルティの無いことを示す前記状態遷移に対して前記第1の評価関数計算部が計算したエネルギー値のうちの最低値を最低となるエネルギー値として保持するとともに、前記最低となるエネルギー値になる前記複数の状態変数の値を保持し、新たな前記状態遷移に対して前記第2の評価関数計算部が計算したエネルギー値がペナルティの無いことを示す場合、新たな前記状態遷移に対して前記第1の評価関数計算部が計算したエネルギー値と、保持した前記最低となるエネルギー値との比較結果に基づいて、保持した前記最低となるエネルギー値を更新するかを判定し、新たな前記状態遷移に対して前記第2の評価関数計算部が計算したエネルギー値がペナルティの有ることを示す場合、保持した前記最低となるエネルギー値を更新せずに維持し、前記第1の評価関数による前記複数の状態変数の値の最適化が終了した場合、保持した前記最低となるエネルギー値および前記最低となるエネルギー値になる前記複数の状態変数の値を出力するエネルギー比較部と
を有することを特徴とする最適化装置。
(付記7)
最適化装置の制御方法において、
前記最適化装置が有する状態保持部が、エネルギーを表す評価関数に含まれる複数の状態変数の値をそれぞれ保持し、
前記最適化装置が有する第1の評価関数計算部が、前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合の第1のペナルティ係数を有する第1の評価関数におけるエネルギー値を計算し、
前記最適化装置が有する温度制御部が、温度を示す温度値を制御し、
前記最適化装置が有する遷移制御部が、前記温度値と前記エネルギー値の変化値と乱数値とに基づいて、前記変化値と熱励起エネルギーとの相対関係によって前記状態遷移を受け入れるか否かを確率的に決定し、
前記最適化装置が有する第2の評価関数計算部が、前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合、前記第1のペナルティ係数よりも相対的に大きい第2のペナルティ係数を有する第2の評価関数におけるエネルギー値を前記状態遷移に対して計算し、
前記第1の評価関数計算部または前記第2の評価関数計算部が計算したエネルギー値をそれまでに得られた値と比較して、前記エネルギー値のうち、最低となるエネルギー値およびその状態を出力する
ことを特徴とする最適化装置の制御方法。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
10、12、14‥最適化装置;20‥状態保持部;30、60、62、64‥評価関数計算部;40‥遷移制御部;50‥温度制御部;70‥エネルギー比較部

Claims (5)

  1. エネルギーを表す評価関数に含まれる複数の状態変数の値をそれぞれ保持する状態保持部と、
    前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合の第1のペナルティ係数を有する第1の評価関数におけるエネルギー値を計算する第1の評価関数計算部と、
    温度を示す温度値を制御する温度制御部と、
    前記温度値と前記エネルギー値の変化値と乱数値とに基づいて、前記変化値と熱励起エネルギーとの相対関係によって前記状態遷移を受け入れるか否かを確率的に決定する遷移制御部と、
    前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合、前記第1のペナルティ係数よりも相対的に大きい第2のペナルティ係数を有する第2の評価関数におけるエネルギー値を前記状態遷移に対して計算する第2の評価関数計算部と、
    前記第1の評価関数計算部または前記第2の評価関数計算部が計算したエネルギー値をそれまでに得られた値と比較して、前記エネルギー値のうち、最低となるエネルギー値およびその状態を出力するエネルギー比較部と
    を有することを特徴とする最適化装置。
  2. 請求項1に記載の最適化装置において、
    前記エネルギー比較部は、前記第2の評価関数計算部が計算したエネルギー値のうちの最低値を前記最低となるエネルギー値として保持するとともに、前記最低となるエネルギー値になる前記複数の状態変数の値を保持し、新たな前記状態遷移に対して前記第2の評価関数計算部が計算したエネルギー値と、保持した前記最低となるエネルギー値との比較結果に基づいて、保持した前記最低となるエネルギー値を更新するかを判定し、前記第1の評価関数による前記複数の状態変数の値の最適化が終了した場合、保持した前記最低となるエネルギー値および前記最低となるエネルギー値になる前記複数の状態変数の値を出力する
    ことを特徴とする最適化装置。
  3. 請求項2に記載の最適化装置において、
    前記エネルギー比較部は、前記第1の評価関数計算部および前記第2の評価関数計算部が新たな前記状態遷移に対してそれぞれ計算したエネルギー値が互いに一致する場合、保持した前記最低となるエネルギー値を更新するかを判定し、前記第1の評価関数計算部および前記第2の評価関数計算部が新たな前記状態遷移に対してそれぞれ計算したエネルギー値が互いに異なる場合、保持した前記最低となるエネルギー値を更新せずに維持する
    ことを特徴とする最適化装置。
  4. 請求項1に記載の最適化装置において、
    前記第2の評価関数は、ペナルティの有無を表す関数であり、
    前記エネルギー比較部は、前記第2の評価関数計算部が計算したエネルギー値がペナルティの無いことを示す前記状態遷移に対して前記第1の評価関数計算部が計算したエネルギー値のうちの最低値を前記最低となるエネルギー値として保持するとともに、前記最低となるエネルギー値になる前記複数の状態変数の値を保持し、新たな前記状態遷移に対して前記第2の評価関数計算部が計算したエネルギー値がペナルティの無いことを示す場合、新たな前記状態遷移に対して前記第1の評価関数計算部が計算したエネルギー値と、保持した前記最低となるエネルギー値との比較結果に基づいて、保持した前記最低となるエネルギー値を更新するかを判定し、新たな前記状態遷移に対して前記第2の評価関数計算部が計算したエネルギー値がペナルティの有ることを示す場合、保持した前記最低となるエネルギー値を更新せずに維持し、前記第1の評価関数による前記複数の状態変数の値の最適化が終了した場合、保持した前記最低となるエネルギー値および前記最低となるエネルギー値になる前記複数の状態変数の値を出力する
    ことを特徴とする最適化装置。
  5. 最適化装置の制御方法において、
    前記最適化装置が有する状態保持部が、エネルギーを表す評価関数に含まれる複数の状態変数の値をそれぞれ保持し、
    前記最適化装置が有する第1の評価関数計算部が、前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合の第1のペナルティ係数を有する第1の評価関数におけるエネルギー値を計算し、
    前記最適化装置が有する温度制御部が、温度を示す温度値を制御し、
    前記最適化装置が有する遷移制御部が、前記温度値と前記エネルギー値の変化値と乱数値とに基づいて、前記変化値と熱励起エネルギーとの相対関係によって前記状態遷移を受け入れるか否かを確率的に決定し、
    前記最適化装置が有する第2の評価関数計算部が、前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合、前記第1のペナルティ係数よりも相対的に大きい第2のペナルティ係数を有する第2の評価関数におけるエネルギー値を前記状態遷移に対して計算し、
    前記第1の評価関数計算部または前記第2の評価関数計算部が計算したエネルギー値をそれまでに得られた値と比較して、前記エネルギー値のうち、最低となるエネルギー値およびその状態を出力する
    ことを特徴とする最適化装置の制御方法。
JP2017255104A 2017-12-29 2017-12-29 最適化装置および最適化装置の制御方法 Active JP6988476B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017255104A JP6988476B2 (ja) 2017-12-29 2017-12-29 最適化装置および最適化装置の制御方法
US16/194,713 US20190204794A1 (en) 2017-12-29 2018-11-19 Optimization apparatus and optimization apparatus control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017255104A JP6988476B2 (ja) 2017-12-29 2017-12-29 最適化装置および最適化装置の制御方法

Publications (2)

Publication Number Publication Date
JP2019121137A true JP2019121137A (ja) 2019-07-22
JP6988476B2 JP6988476B2 (ja) 2022-01-05

Family

ID=67059564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017255104A Active JP6988476B2 (ja) 2017-12-29 2017-12-29 最適化装置および最適化装置の制御方法

Country Status (2)

Country Link
US (1) US20190204794A1 (ja)
JP (1) JP6988476B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021033657A (ja) * 2019-08-26 2021-03-01 富士通株式会社 組合せ最適化装置、組合せ最適化方法および組合せ最適化プログラム
EP3862870A1 (en) 2020-02-10 2021-08-11 Fujitsu Limited Optimization device, optimization program, and optimization method
EP3879357A1 (en) 2020-03-10 2021-09-15 Fujitsu Limited Optimizer, optimization method, and optimization program
JP2021144375A (ja) * 2020-03-11 2021-09-24 株式会社メルカリ システム、情報処理方法及びプログラム
EP4216109A1 (en) 2022-01-24 2023-07-26 Fujitsu Limited Information processing apparatus, information processing method, and information processing program
WO2023203769A1 (ja) * 2022-04-22 2023-10-26 日本電気株式会社 重み係数算出装置および重み係数算出方法
JP7456298B2 (ja) 2020-06-04 2024-03-27 富士通株式会社 最適化装置、最適化方法、及び最適化プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7283318B2 (ja) * 2019-09-12 2023-05-30 富士通株式会社 最適化装置、最適化プログラム、及び最適化方法
JP2021174260A (ja) * 2020-04-24 2021-11-01 富士通株式会社 最適化装置、最適化方法及び最適化プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030144748A1 (en) * 2002-01-30 2003-07-31 Mitsubishi Denki Kabushiki Kaisha Apparatus for optimizing combinatorial optimization problems

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03167655A (ja) * 1989-11-28 1991-07-19 Toshiba Corp ニューラルネットワーク
JP2683971B2 (ja) * 1991-10-25 1997-12-03 株式会社エイ・ティ・アール視聴覚機構研究所 制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030144748A1 (en) * 2002-01-30 2003-07-31 Mitsubishi Denki Kabushiki Kaisha Apparatus for optimizing combinatorial optimization problems
JP2003223322A (ja) * 2002-01-30 2003-08-08 Mitsubishi Electric Corp 組合せ最適化問題の解析装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021033657A (ja) * 2019-08-26 2021-03-01 富士通株式会社 組合せ最適化装置、組合せ最適化方法および組合せ最適化プログラム
JP7319539B2 (ja) 2019-08-26 2023-08-02 富士通株式会社 組合せ最適化装置、組合せ最適化方法および組合せ最適化プログラム
EP3862870A1 (en) 2020-02-10 2021-08-11 Fujitsu Limited Optimization device, optimization program, and optimization method
EP3879357A1 (en) 2020-03-10 2021-09-15 Fujitsu Limited Optimizer, optimization method, and optimization program
US11657938B2 (en) 2020-03-10 2023-05-23 Fujitsu Limited Optimizer, optimization method, and computer-readable recording medium recording optimization program
JP2021144375A (ja) * 2020-03-11 2021-09-24 株式会社メルカリ システム、情報処理方法及びプログラム
JP7456298B2 (ja) 2020-06-04 2024-03-27 富士通株式会社 最適化装置、最適化方法、及び最適化プログラム
EP4216109A1 (en) 2022-01-24 2023-07-26 Fujitsu Limited Information processing apparatus, information processing method, and information processing program
WO2023203769A1 (ja) * 2022-04-22 2023-10-26 日本電気株式会社 重み係数算出装置および重み係数算出方法

Also Published As

Publication number Publication date
JP6988476B2 (ja) 2022-01-05
US20190204794A1 (en) 2019-07-04

Similar Documents

Publication Publication Date Title
JP2019121137A (ja) 最適化装置および最適化装置の制御方法
Hiermann et al. The electric fleet size and mix vehicle routing problem with time windows and recharging stations
Da Silva et al. A General VNS heuristic for the traveling salesman problem with time windows
US9697471B2 (en) Device and method for managing plant model
Lo et al. A genetic algorithm with new local operators for multiple traveling salesman problems
Aine et al. Truncated incremental search
Jawarneh et al. Sequential insertion heuristic with adaptive bee colony optimisation algorithm for vehicle routing problem with time windows
Xie et al. Origin-based algorithms for traffic assignment: algorithmic structure, complexity analysis, and convergence performance
CN109324901B (zh) 基于区块链的深度学习分布式计算方法、系统和节点
Ezugwu et al. Enhanced intelligent water drops algorithm for multi-depot vehicle routing problem
Metodi et al. Scheduling physical operations in a quantum information processor
CN112330054B (zh) 基于决策树的动态旅行商问题求解方法、系统及存储介质
Derigs et al. Indirect search for the vehicle routing problem with pickup and delivery and time windows
JP6947179B2 (ja) 推定距離算出器、推定距離算出方法、推定距離算出プログラムおよび自動計画器
US12013896B2 (en) Stable graph layout determination
Perederieieva et al. A computational study of traffic assignment algorithms
EP3545441A1 (en) Systems and methods for satisfiability modulo theories processes using uninterpreted function symbols
CN112598153A (zh) 一种基于天牛须搜索算法的旅行商问题求解方法
López-Ibáñez et al. Beam-ACO based on stochastic sampling for makespan optimization concerning the TSP with time windows
Ezugwu et al. A hybrid method based on intelligent water drop algorithm and simulated annealing for solving multi-depot vehicle routing problem
Çavdar et al. TSP Race: Minimizing completion time in time-sensitive applications
JPWO2016151639A1 (ja) 人数予測システム、人数予測方法および人数予測プログラム
Kumar et al. A post-processing technique for the four-step travel demand modeling executed through a feedback loop
Chen et al. Variable-depth adaptive large meighbourhood search algorithm for open periodic vehicle routing problem with time windows
JP5958697B2 (ja) ネットワークにおける経路特定方法および装置並びに経路特定プログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210921

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211115

R150 Certificate of patent or registration of utility model

Ref document number: 6988476

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150