模拟退火 Simulated annealing

模拟退火算法是一种通用概率演算法,被用于在较大搜寻空间内找寻命题的最优解。

原理

将热力学的理论套用到统计学上,将搜寻空间内每一点想像成空气内的分子;分子的能量,就是它本身的动能;而搜寻空间内的每一点,也像空气分子一样带有「能量」,以表示该点对命题的合适程度。

演算法先以搜寻空间内一个任意点作起始:每一步先选择一个「邻居」,然后再计算从现有位置到达「邻居」的概率。

基本要素

状态空间与状态产生函数

1)搜索空间也称为状态空间,它由经过编码的可行解的集合组成。

2)状态产生函数(邻域函数)应尽可能保证产生的候选解遍布全部解空间。通常由两部分组成,即产生候选解的方式和候选解产生的概率分布。

3)候选解一般采用按照某一概率密度函数对解空间进行随机采样来获得。

4)概率分布可以是均匀分布、正态分布、指数分布等。 

状态转移概率

1)状态转移概率是指从一个状态向另一个状态的转移概率。

2)通俗的理解是接受一个新解为当前解的概率。

3)它与当前的温度参数 T 有关,随温度下降而减小。

4)一般采用 Metropolis 准则。

内循环终止准则

1)检验目标函数的均值是否稳定。

2)连续若干步的目标值变化较小。

3)按一定的步数抽样。

外循环终止准则

1)设置终止温度的阈值。

2)设置外循环迭代次数。

3)算法搜索到的最优值连续若干步保持不变。

4)检验系统熵是否稳定。

关键步骤

新状态产生函数 → 新状态接受函数 → 抽样稳定准则 → 退温函数 → 退火结束准则

模拟退火的优点

模拟退火算法可以较快的找到问题的近似最优解,在参数设置得当的前提下,模拟退火算法搜索效率较高。

相关词:优化算法