1.算法简介
模拟退火算法得益于材料的统计力学的研究成果。统计力学表明材料中粒子的不同结构对应于粒子的不同能量水平。在高温条件下,粒子的能量较高,可以自由运动和重新排列。在低温条件下,粒子能量较低。如果从高温开始,非常缓慢地降温(这个过程被称为退火),粒子就可以在每个温度下达到热平衡。当系统完全被冷却时,最终形成处于低能状态的晶体。
如果用粒子的能量定义材料的状态,Metropolis 算法用一个简单的数学模型描述了退火过程。假设材料在状态i之下的能量为E(i),那么材料在温度T 时从状态i进入状态j 就遵循如下规律:
(1)如果E( j) ≤ E(i),接受该状态被转换。
(2)如果E( j) > E(i),则状态转换以如下概率被接受:
eE(i)−E(j)KT
其中 K 是物理学中的波尔兹曼常数,T 是材料温度。
总结:
(1)在某一个 特定温度下,进行了充分的转换之后,材料将达到热平衡。
(2)当温度降至很低时,材料会以很大概率进入最小能量状态。
2.模拟退火思想最小值寻优问题
假设目标函数为
minf(x1,x2,...,xn)=