模拟退火法是针对爬山法只能求出局部最优解提出来的。模拟退火法其实也是一种贪心法,但是他搜寻最优解的过程中引入了随机因素,允许在中间的计算过程中按照一定的概率来接受相对较差的中间结果,因此它有可能调出局部最优解寻找到全局的最优解。
模拟退火法算法描述:
若J(Y(I+1)) >= J(Y(I)) (即移动后得到更优解)则总是接受该移动
若J(Y(I+1)) < J(Y(I)) (即移动后得到的解比当前解要差) 则以一定的概率接受该移动,并且这个概率随着时间的推移逐渐降低
上行中一定的概率参考了冶金中的退火过程,其计算公式如下:
p= exp(-(highcost-lowcost)/temperture) 因为温度(接收较差的解的意愿)开始非常高,指数总是接近于0,所以概率接近于1,随着温度的降低,高成本和低成本之间的差异越来越大,概率越低。因此该算法只倾向于稍微差的解而不会是