模拟退火算法来源于固体退火原理,是一种基于概率的算法,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。模拟退火算法(Simulated Annealing,SA)最早的思想是由N. Metropolis [1]  等人于1953年提出。1983 年,S. Kirkpatrick 等成功地将退火思想引入到组合优化领域。它是基于Monte-Carlo迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退火算法从某一较高初温出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并最终趋于全局最优。

目录

一、模拟退火算法

1.1、模拟退火算法基本原理

1.2、模拟退火算法求解函数最值问题

1.3、模拟退火求解旅行商问题

1.4、模拟退火求解组合优化问题


一、模拟退火算法

1.1、模拟退火算法基本原理

启发式搜索算法,模拟退火算法就是启发式搜索算法中的一种。(其他你可能感兴趣的启发式搜索算法:粒子群、遗传、蚁群等),启发式算法:在搜索最优解的过程中利用到了原来搜索过程中得到的信息,且这个信息会改进我们的搜索过程。(深刻体会这句话!!!)

模拟退火就是模拟金属退火过程进行启发式地搜索全局最优解的过程,具体如如下:

  • 模拟退火算法是一种通用的优化算法,理论上算法具有概率的全局优化性能。
  • 赋予搜索过程一种时变且最终趋于零的概率突跳性,从而可有效避免陷入局部极小并最终趋于全局最优的串行结构的优化算法。

为了保证搜索过程的彻底,在同一温度下(同一个小 t)我们需要进行多次搜索(例如重复上面的流程 500 次);之后我们降低温度,然后再来进行新的一轮搜索。

什么时候停止搜索?
很多种准则:(1)达到指定的迭代次数,例如迭代 200 次;(2)达到指定的温度,例如
温度小于 0.000001;(3)我们找到的最优解连续 M(例如 30 次)次迭代都没有变化

怎么样在 A 附近随机生成一个新解 B 呀?即新解应该怎么样生成?
答案:没有统一规定,需要具体问题具体分析。

也可以看这个过程,就是先设置初始温度和初始解,然后温度衰减,模拟降温,然后根据当前解最新解,如果最新解比之前的解更好,则接受,否则,按一定的概率接受。

(1)温度一定时, ∆

备战数学建模45-模拟退火算法SA(攻坚站9)相关推荐

  1. 【数学建模】模拟退火算法(最优化)

    文章目录 一.算法介绍 1. 退火 2.物理退火 3.模拟退火算法思想 二.适用问题 三.算法总结 1. 步骤 四.应用场景举例 五.MATLAB代码 六.实际案例 七.论文案例片段(待完善) 模拟退 ...

  2. 数学建模:模拟退火算法

    下面来介绍一下模拟退火算法的MATLAB实现原理及其方法: 模拟退火算法来源于固体退火原理,是一种基于概率的算法,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而 ...

  3. 数学建模05 —— 模拟退火算法

    模拟退火算法思想 退火: 指将固体加热到足够高的温度,使分子呈随机排列状态,随后逐步降温使之冷却,最后分子以低能状态排列,固体达到某种稳定状态 物理退火过程: 加温过程:增强粒子的热运动,消除系统原先 ...

  4. 备战数学建模40-遗传算法优化bp神经网络(攻坚站4)

    BP神经网络主要用于预测和分类,对于大样本的数据,BP神经网络的预测效果较佳,BP神经网络包括输入层.输出层和隐含层三层,通过划分训练集和测试集可以完成模型的训练和预测,由于其简单的结构,可调整的参数 ...

  5. 备战数学建模45-粒子群算法优化BP神经网络(攻坚站10)

    BP神经网络主要用于预测和分类,对于大样本的数据,BP神经网络的预测效果较佳,BP神经网络包括输入层.输出层和隐含层三层,通过划分训练集和测试集可以完成模型的训练和预测,由于其简单的结构,可调整的参数 ...

  6. 备战数学建模37-遗传算法GA(攻坚战1)

    目录 一.遗传算法的概念 1.1.基本概念 1.2.遗传算法的基本过程 1.3.遗传算法的具体步骤 二.遗传算法经典案例 2.1.遗传算法求解函数极大值问题 2.2.遗传算法求解函数极小值问题 2.3 ...

  7. 数学建模_数学模型的分类数学建模十大算法

    数学模型的分类 数学建模十大算法 1.蒙特卡罗算法 (该算法又称随机性模拟算法, 是通过计算机仿真来解决问题的算法, 同时可以 通过模拟可以来检验自己模型的正确性,比较好用的算法) 2.数据拟合.参数 ...

  8. 备战数学建模(Python)

    备战数学建模(Python) Python之建模规划篇 Python之建模数值逼近篇 Python之建模微分方程篇 由于美国大学生数学建模大赛很快就要开赛了,所以我就打算在这几天内,好好的看看< ...

  9. 数学建模专栏 | 开篇:如何备战数学建模竞赛之 MATLAB 编程

    作 者 简 介 卓金武,MathWorks中国高级工程师,教育业务经理,在数据分析.数据挖掘.机器学习.数学建模.量化投资和优化等科学计算方面有多年工作经验,现主要负责MATLAB校园版业务.曾2次获 ...

最新文章

  1. Docker Hub 镜像加速器
  2. android 验证输入,最佳实践:输入验证(Android)
  3. java动态规划算阶乘_动态规划算法
  4. 442个超实用电脑快捷键大全!总有你会用上的
  5. 从零学javascript_我刚刚问了23,000个开发人员他们对JavaScript的看法。 这是我学到的。...
  6. 怎么给iOS项目打包
  7. 系统类配置(一)【安装windows10与ubuntu16.04双系统-附镜像资源】
  8. 百度统计api 关于搜索引擎返回参数问题
  9. cad墙线打断lisp_CAD墙体如何打断,用tr命令不行,打散的话墙线会错位?
  10. Java获取文本文件编码
  11. Qt进程-QProcess使用总结
  12. 《设计模式》(精华集)
  13. PX4从放弃到精通(二十四):自定义机型
  14. LumaQQ在Linux下的安装和卸载
  15. 二分图二•二分图最大匹配之匈牙利算法
  16. matlab 3个纵坐标,[转载]Matlab plotyy画双纵坐标图实例
  17. html抢答器代码,单片机八路抢答器代码+Proteus仿真
  18. 宣传推广网站怎么选择服务器,做网站推广对于主机配置如何选择?
  19. Win10系统下怎么开HDR?
  20. DatePicker控件

热门文章

  1. java导入导出压缩包
  2. Simulink_simscape电源电路建模入门
  3. 高灵敏度低功耗单按键单通道1键触摸触控检测IC-VKD233DH/HH SOT23-6超小体积封装,16S自动复位-适用小体积便携式类触摸面板,如CPS定位手环、智能水温杯等
  4. linux tty设备号,linux tty设备
  5. Linux TTY Driver
  6. 模拟信号数字化传输系统的设计与仿真分析
  7. Z5S自定义短信铃声
  8. 【信息技术刷题记录】 05 PS、CAD相关知识及移动商务知识篇
  9. HTML连载46-浮动元素字围现象、浮动练习
  10. MobaXterm上传下载文件、文件夹到服务器上