模拟退火算法浅尝
简介
其是模拟物理退火过程而演升出的算法,物理退火过程包含加温过程,等温过程,冷却过程。
模拟退火(SA)
初始设定为高温状态,看作是在解空间进行广域搜,处于低温状态时,看作是在解空间中作局部领域搜索,当处于接近零时,得到解空间的全局最优解。其通过Metropolis准则来接受新状态,其描述为:在温度t下,粒子当前状态为i,其能量为 E i E_i Ei,当通过扰动方式使粒子状态变为j,其能量为 E j E_j Ej,如果 E i < E j E_i \lt E_j Ei<Ej,则接受新状态,否则以一定的概率接受状态j,其概率为 p i j = exp − ( E j − E i ) k t p_{ij} = \ \exp^{\frac{-(E_j - E_i)}{kt}} pij= expkt−(Ej−Ei),其中k为玻尔兹曼常量, p i j p_{ij} pij是介于0和1之前的随机数rand,如果 p i j > r a n d p_{ij} \gt rand pij>rand,则状态j替换掉i状态成为当前状态,否则粒子状态仍为i.