Skip to content

Simulated Annealing

固体退火的过程:

  • 溶解:温度上升,粒子脱离平衡,最终从有序变为完全无序。
  • 退火:温度下降,粒子逐渐停留在不同状态,从无序向有序发展。温度很低时,以一定结构排列。

1. Metropolis准则

(温度一定,)从状态 \(i\) 转移到状态 \(j\) 的准则:

  • \(E(j) \le E(i)\) ,转移。
  • \(E(j) > E(i)\) ,则转移的概率: \(P(i \rightarrow j) = \exp({E(i) - E(j) \over KT}) \in (0, 1)\)

在给定温度下,进行足够多次状态转移后,系统将达到热平衡。

2. 算法框架

达到最小能量状态的三个条件:

  • 初始温度足够高;
  • 每个温度下进行充分的状态转移;
  • 温度 T 的下降足够缓慢。
  • 随机选择一个解 \(i\) ;序号 \(k = 0\) ,初始温度 \(t_0 = T_{\max}\)
  • 判断是否满足「结束条件」;若满足,结束;若不满足:
    • 如果在该温度下达到了「平衡条件」,降温到 \(t_{k+1}\)
    • 如果没到平衡条件:
      • 随机选择 \(j \in N(i)\) (邻域);
      • 如果 \(f(j) < f(i)\) ,则转移到 \(j\) ;( \(\Delta f = f(j) - f(i)\)
      • 否则,按概率 \(P(i \rightarrow j) = \exp({f(i) - f(j) \over t}) = \exp({-\Delta f \over t}) \in (0, 1)\) 转移;
      • 回到判断「平衡条件」的一步;

3. 参数选取

3.1 起始温度

一个合适的初始温度,应保证平稳分布中每一个状态的概率基本相等。

3.2 温度下降

等比例下降;

其它衰减函数;

3.3 平衡条件

每一温度下,何时认为已到达平衡而停止转移?

  • 根据温度固定长度法;
  • 某温度下转移次数达到阈值后才停止;

3.4 结束条件

  • 阈值法;
  • 固定降温次数法;
  • 无变化控制法:指标函数值已无变化;

Last update: June 4, 2021
Authors: Co1lin