美文网首页
SA 模拟退火算法

SA 模拟退火算法

作者: 小王加油鸭 | 来源:发表于2023-04-24 22:03 被阅读0次

读了论文《Investigation on the choice of the initial temperature in the Simulated Annealing:A Mushy State SA for TSP》,记录一下。

模拟退火算法(SA)

概念:模拟退火是一种被广泛研究的局部搜索元启发式算法,用于解决离散的和较小程度上的连续优化问题。模拟退火算法的关键是通过一种机制(允许移动到更差的目标值)跳出局部最优,以期找到全局最优。

应用:模拟退火算法通常用于解决离散优化问题,在较小程度上也用于解决连续优化问题

原理:模拟退火类似于固体的物理退火过程,在这个过程中,晶体固体被加热,然后让它非常缓慢地冷却,直到它达到最规则的晶格结构(即它的最小晶格能态)。

物理金属退火过程

算法流程

1. 输入:初始解S0、初始温度T0、温度下降速率α、结束温度Tn、最大迭代次数max_iter

2. 输出:最优解S*

3. 初始化:i=1、T=T0、S=S0

4. while i < max_iter or T > Tn: // 判断终止条件

5.    S' = F(S)  // F(S)指通过邻域操作生成新的解

6.    if S' < S: 

7.        S = S' // 新的解得到改进

8.    if S' >= S:

9.        if random() < e^\frac{-\Delta E}{T}  :  // 通过计算概率接受更差的解

10.            S=S'

11.    if S < S*: 

12.        S*=S // 更新全局最优解

分析:目标值是求最小时,为了跳出局部最优,需要接受较差的解。如果新的解 S' 的成本比原本的解 S 的成本更大,那么以一定概率接受 S'。这里体现在9。当温度越低,接受差解的概率也越低,当新旧解相差越大,接受新解的概率也越小。

主要影响因素:初始温度T0、温度下降速率α。初始温度越大、下降速率越低,找到全局最优解的可能性越大,但相对的,时间开销也越大。

相关文章

  • 解析·玄学 模拟退火

    让火焰净化一切!火元素领主拉格纳罗斯 模拟退火算法(Simulate Anneal,SA)是一种通用概率演算法,用...

  • Simulated Annealing (SA) Algorit

    1 模拟退火算法(Simulated Annealing Algorithm)介绍    模拟退火算法是一种通用概...

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

    模拟退火算法是一种通用概率演算法,用来在一个大的搜索空间内找出最优解。相比于二分、三分等算法,模拟退火更加注意整体...

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

    https://blog.csdn.net/BOBOyspa/article/details/78443795

  • 第六章 更多监督训练

    介绍Lunar Lander示例 监督训练没有训练集 使用遗传算法 使用模拟退火算法 遗传算法和模拟退火算法的训练...

  • 数学建模

    1.启发式算法 它主要包括禁忌搜索,模拟退火,遗传算法,神经网络,蚁群算法 模拟退火算法 Metropolis准则...

  • 【算法】用模拟退火(SA, Simulated Annealin

    01 什么是旅行商问题(TSP)? TSP问题(Traveling Salesman Problem,旅行商问题)...

  • 2018-11-14

    昨天学习了模拟退火算法以及一个小智力题:海盗分赃~ 模拟退火算法前先看了爬山算法,爬山算法是一种简单的贪心搜索算法...

  • 模拟退火算法

    1.概念 介绍模拟退火前,请先了解爬山算法。因为模拟退火算法是爬山算法的改进版,它在爬山算法的基础上引入了随机化。...

  • Bandit:一种简单而强大的在线学习算法

    Bandit:一种简单而强大的在线学习算法模拟退火算法

网友评论

      本文标题:SA 模拟退火算法

      本文链接:https://www.haomeiwen.com/subject/sjwujdtx.html