模拟退火算法(Simulated Annealing)(SA)

模拟退火算法是一种通用的随机搜索算法,是对局部搜索算法的扩展。与一般几部搜索算法不同,SA以一定的概率选择领域中目标值相对较小的状态,是一种理论上的全局最优算法。

组合优化问题的求解过程与物理退火过程之间的对应关系

模拟退火算法(Simulated Annealing)(SA)_第1张图片

模拟退火算法的构造及流程

SA算法是一种企大师的随机寻优算法,它模拟了物理退火过程,由一个给定的初始高温开始,利用具有概率突跳特性的Metropolis抽样策略在解空间中随机进行搜索,伴随温度的不断下降重复抽样过程,最终得到问题的全局最优解。

算法要素构成

算法要素包括:状态表达、邻域定义、热平衡达到、降温控制。
状态表达跟GA和TS中的编码含义相同,利用一种数学形式来描述系统所处的一种能量状态。在SA中一个转态就是问题的一个解,而问题的目标函数就对应于状态的能量函数。
邻域定义:在SA中,邻域移动分为两种方式:无条件移动和有条件移动。若新解的目标函数值小于当前解的目标函数值(新状态的能量小于当前状态的能量),则进行无条件移动;否则,依据一定的概率进行有条件移动。
模拟退火算法(Simulated Annealing)(SA)_第2张图片
热平衡达到:热平衡的达到相当于物理退火中的等温过程,是指在一个给定温度 T T Tk下,SA基于Metropolis准则进行随机搜索,最终达到一种平衡状态的过程。这是SA算法中的内循环过程,为了保证能够达到平衡状态,内循环次数要足够大才行。
降温函数:降温函数用来控制温度的下降方式,这是SA算法中的外循环过程。

算法流程

模拟退火算法(Simulated Annealing)(SA)_第3张图片
图中: S S S是一个离散有限的状态空间; i i i代表状态; T T T0为初始温度; T T T f f f为终止温度; T T T k k k为当前温度; Δ f \Delta f Δf为目标函数增量; n n n为当前内循环迭代次数; n n n( T T T k k k)为设定的内循环次数。

与GA,TS相比,SA的一大优点是理论较为完善

算法的收敛性分析:利用Markov过程(马尔科夫链) 可以进行分析。

你可能感兴趣的:(智能计算)