第四篇为《模拟退火算法原理与编程》,在物理学实验中,对固体进行加热,让其在高温状态下熔解。在高温状态下,固体内部的粒子以相同的概率处于任何一种状态,温度缓慢降低退火,物体慢慢冷却,最终稳定在一个最优的状态。
一、模拟退火原理
模拟退火从物理退火中得到启发,从而设计出最优化算法。
如上面所说模拟退火思想来自于物理退火原理。固体温度高时,固体内部的粒子处于无序状态,内能增大,而在固体逐步冷却的过程中,粒子逐渐趋于有序状态,如果这个降温过程足够缓慢,那么在每个温度下,粒子都可以达到一个平衡态,最终在常温状态下达到基态,即内能减为最小。
粒子在某个温度T时,固体所处的状态具有一定的随机性,而这些状态之间的转换能否实现由Metropolis准则决定。
Metropoils准则定义了物体在某一温度T下从状态 i 转移到状态 j 的概率 P,其公式如下:
上式中e为自然对数,E(i)和E(j)分别表示物体在状态i与状态j下的内能,DeltaE = E(j)-E(j)表示内能的增量,K是玻尔兹曼常数。
由该公式可以看出,在某个温度T下,系统处于某种状态,由于粒子的运动,系统的状态会发生变化,并且导致系统能量的变化。如果变化是朝着减少能量的方向前进,那么就接受这个变化,否则就以一定概率接受这个变化。
同