贪心算法找到的最优解是局部最优,而模拟退火算法(SAA,simulated annealing algorithm)则是全局最优。
模拟退火算法的基础是metropolis算法。metropolis算法又称为metropolis抽样,其核心思想是:当能量增加的时候以一定概率接纳,而非一味拒绝。
所以,当Y(i+1)>Y(i),则无条件接受;
当Y(i+1)<Y(i),则以一定的概率接受,而非全然拒绝。
该概率为:
P=exp(dE/(K*T))%K为常数,T为温度,dE=Y(i+1)-Y(i);(dE为负数)
%且可以看出,P的取值在0-1之间
可以发现,当温度越大的时候,概率P也越大,被接受的概率也越大;当温度越小的时候,则P越小,也就是趋于稳定,不再降温。