模拟退火
算法简介
模拟退火算法得益于材料统计力学的研究成果。统计力学表明材料中粒子的不同结构对应于粒子的不同能量水平。在高温条件下,粒子的能量较高,可以自由运动和重新排列。在低温条件下,粒子能量较低。如果从高温开始,非常缓慢的降温(这个过程被称为退火),粒子就可以在每个温度下达到热平衡。当系统完全被冷却时,最终形成处于低能状态的晶体。
如果用粒子的能量定义材料的状态,Metropolis算法用一个简单的数学模型描述了退火过程。假设材料在状态i之下的能量为\(E(i)\),那么次啊了在温度T状态从状态i进入状态j就遵循如下规律:
(1)如果\(E(j)\le E(i)\),则接收该状态被转换。
(2)如果\(E(j)>E(i)\),则状态转换以如下概率被接收;
\[e^{\frac{E(i)-E(j)}{KT}}
\]
式中:\(K\)为物理学中的玻尔兹曼常数;\(T\)为材料温度。