シミュレーテッド アニーリング (SA)、シミュレーテッド 量子アニーリング (SQA)、パス積分モンテカルロ (PIQMC) の Python 実装とアプリケーション分析

1 はじめに

コンピュータ技術の急速な発展に伴い、最適化問題を解決する多くの手法が次々に登場しました。中でも、シミュレーテッド アニーリング (SA)、シミュレーテッド 量子アニーリング (SQA)、およびパス積分モンテカルロ (PIQMC) は、現在の分野で最も人気のあるランダム化手法の 1 つです。これらの方法の本質は、確率分布を検索して問題の最適解または最適に近い解を見つけることです。本稿では、これら 3 つの方法の基本原理、実装プロセス、および応用について詳しく説明します。

2. 模擬焼鈍(SA)

自然界の固体物質の冷却プロセスにヒントを得たシミュレーテッド アニーリングは、特定の問題に対する全体的な最適解を見つけるために使用される確率的検索アルゴリズムです。

2.1 基本原則

アニーリング中、物質が特定の温度に加熱されると、その原子はランダムに動き始めます。温度が低下すると、このランダムな動きが減少し、原子はより低いエネルギーの位置に固定されるようになります。アルゴリズムでは、この「温度」の概念は、検索プロセスのランダム性に影響を与える制御パラメーターに対応します。

2.2 SA アルゴリズムの手順:

  1. 初期化パラメータ: 初期溶液、初期温度、冷却速度、およびその他の関連パラメータを設定します。
  2. 温度が特定のしきい値より高い場合は、次の手順を繰り返します: a. 隣接するソリューションを選択します。b. 新しい解と現在の解の間のエネルギー差 ΔE を計算します。c. ΔE が 0 未満であるか、何らかの確率条件 (通常はメトロポリス基準に基づく) を満たす場合、新しい解を受け入れます。d. 温度を下げます (冷却速度を掛けます)。
  3. 現在の解を最適解として出力します。
def simulated_annealing(

おすすめ

転載: blog.csdn.net/qq_38334677/article/details/132607431