近期我所理解的两个算法
简单理解爬山法:
从一个随机值开始,每次从临近解空间中选择最优解,直到达到局部最优解
简单理解模拟退火:(模拟金属退火,百度百科:将金属缓慢加热到一定温度,保持足够时间,然后以适宜速度冷却。目的是降低硬度,改善切削加工性;降低残余应力,稳定尺寸,减少变形与裂纹倾向;细化晶粒,调整组织,消除组织缺陷)
爬山法具有局限性,特别遇到临近解相同时,容易陷入局部最优。
模拟退火同样从一个随机值开始,从邻域选取一点Vn,
若得出更优解,则选Vn继续循环选择,若不是更优解,则以一定概率选择Vn
循环上一步一定次数
模拟退火几个要素:
T 初始温度
Tmin 最终温度
t 现在温度
k 降温速率
利用模拟退火可求出问题的可行解,虽然解不一定达到最优,但是能在有限的时间内求出较优解。
以下为模拟退火解决TSP,数据:eil51
参考: