模拟退火算法采用类似于模拟退火的过程。先在一个高温状态下,逐渐退火,在每个温度下慢慢冷却,最终达到物理基态(相当于算法找到最优解)
模拟退火算法属于贪心算法,在其过程中引入随机因素,以一定概率接收一个比当前解要差的解(避免进入局部最优的情况)
模拟退火在某一初温下,伴随温度的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解。即在局部最优解的空间内能概率性地跳出并趋于全局最优
算法流程:
算法流程图:
冷却进度表:
退火过程由一组初始参数,即冷却进度表控制,即冷却进度表控制。它地目的是尽量使得系统达到平衡,以让算法在有限时间内逼近最优解
冷却进度表包括:
1、控制温度参数的初值T0
2、控制温度T的衰减函数(温度的更新)
3、马尔科夫链的长度Lk(迭代次数)
4、控制参数T的终值(停止准则)
参数讲解:
控制温度参数的初值T0:
马尔可夫链的长度Lk:任意温度的迭代次数
控制参数T的终值Tf(停止准则)
控制温度T的衰减函数: