概念
模拟退火是随机化算法,可以用来解决一类不是单峰函数的问题。
其优于爬山算法的原因是其能通过接受当前最优解附近的非最优解,来跳出局部最优解。
对于新状态得到的解,若其更优则更新答案,否则以一定概率来判断是否接受新状态。
设温度为 (T),新状态和当前状态的能量差为 (Delta E(Delta E geqslant0)),新状态得到的解不优,却仍接受新状态来状态转移的概率为:
[large P(Delta E)=e^{frac{-Delta E}{T}}
]
具体退火时有三个参数,初始温度,降温系数,终止温度,每尝试进行一次转移,就让当前温度乘以降温系数,直到温度小于终止温度,退火就结束。
为了解的精确,可以进行多次退火。每次退火以过程中遇到的最优解作为最终结果。