简介
—————————————————————————————————————————————————————
模拟退火算法(Simulated Annealing,SA)是所谓非经典最优化理论的三大算法之一,它是一种通用概率算法,模拟物理退火过程,用来在一个大的搜索空间内寻找问题的最优解。早在1953年,最早的模拟退火算法思想由 Metropolis 等提出, 1983年由 Kirkpatrick 等成功地将 SA 引入组合优化领域。
模拟退火其实也素一种贪心算法,但素它又跟一般的贪心算法不同,SA的搜索过程引入了随机因素,可以以一定的概率来接受一个比当前解要差的解,因此有可能会跳出这个局部的最优解,达到全局的最优解。如下图1:
看看这张精彩的插图 (*/ω\*) 手绘滴…请不要在意细节 (*/ω\*)
最最一般的贪心算法在迭代的过程中,会从当前解的邻域内选择一个最优解作为新的当前解,在搜索到局部最优解 A 之后,可能很快就会结束搜索,因为在
把图 180∘ 倒过来,可以这样理解:有一天,活蹦乱跳的小公举喝醉了,在满地是坑的丛林里乱跑,在某些坑中摔倒了(搜索到局部最优解 A ),她又爬起来,跑着跑着,跑累了,重重的摔了一下(搜索到局部最优解
参数说明
—————————————————————————————————————————————————————
符号 | 解释 |
---|---|
t0 | 冷却开始的温度 |
t | 温度的衰减函数(由于计算机只能处理离散数据(*/ω\*) 所以只能是降温过程中的一系列温度点咯╮(╯▽╰)╭) |
|
参数 |