数学建模之模拟退火法(SA)

这篇具有很好参考价值的文章主要介绍了数学建模之模拟退火法(SA)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    1. 算法介绍

模拟退火算法(SA)是一种模拟物理退火过程而设计的优化算法。

它的基本思想最早在1953年就被Metropolis提出,但直到1983年,Kirkpatrick等人才设计出真正意义上的模拟退火算法并进行应用。

模拟退火算法采用类似于物理退火的过程。先在一个高温状态下,然后逐渐退火,在每个温度下慢慢冷却,最终达到物理基态(相当于算法找到最优解)。

    1. 算法应用

求解TSP问题、求最值、全局优化、生产调度、控制工程、机器学习、信号处理等问题。

    1. 算法特性

模拟退火算法源于对固体退火过程的模拟,采用Metropolis准则,并用一组称为冷却进度表的参数控制算法的进程,使得算法在多项式时间里可以给出一个近似最优解。

模拟退火算法在某一初温下,伴随温数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解。即在局部最优解的空间内能概率性地跳出并最终趋于全局最优。(不在局限于局部最优)

    1. 算法名词解释

退火:将固体加热到足够高的温度,使分子呈随机排列状态,保持足够的时间,然后以适宜的速度逐步降温。使之冷却,最后分子以低能状态排列,固体达到内能最小的稳定状态。(加温—等温—冷却)

      1. 退火过程:

1、在初始状态,固体内部的粒子存在非均匀状态。

2、加热到一定温度,增强其粒子的热运动,使粒子偏离其平衡位置,消除原来的非均匀状态。

3、让温度慢慢降低,达到热平衡状态,粒子逐渐均匀有序,最终达到内能最小的状态。

    1. 算法步骤

1.设定当前解(即为当前的最优解):令T=模拟退火,数学建模,算法,机器学习,人工智能,python ,即开始退火的初始温度,随机生成一个初始解模拟退火,数学建模,算法,机器学习,人工智能,python ,并计算相应的目标函数值E(模拟退火,数学建模,算法,机器学习,人工智能,python )。

2.产生新解与当前解差值:根据当前解模拟退火,数学建模,算法,机器学习,人工智能,python进行扰动,产生一个新解 模拟退火,数学建模,算法,机器学习,人工智能,python,计算相应的目标函数值E(模拟退火,数学建模,算法,机器学习,人工智能,python ),得到𝜟𝑬=𝑬(模拟退火,数学建模,算法,机器学习,人工智能,python )−𝑬(模拟退火,数学建模,算法,机器学习,人工智能,python )。

3.判断新解是否被接受:若𝜟𝑬<𝟎,则新解模拟退火,数学建模,算法,机器学习,人工智能,python 被接受;若𝜟𝑬>𝟎,则新解模拟退火,数学建模,算法,机器学习,人工智能,python 按概率模拟退火,数学建模,算法,机器学习,人工智能,python接受, 模拟退火,数学建模,算法,机器学习,人工智能,python为当前温度。

4.当新解被确定接受时:新解模拟退火,数学建模,算法,机器学习,人工智能,python 被作为当前解。

5.循环以上四个步骤:在温度模拟退火,数学建模,算法,机器学习,人工智能,python 下,重复k次的扰动和接受过程,接着执行下一步骤。

6.最后找到全局最优解:判断T是否已经达到终止温度 模拟退火,数学建模,算法,机器学习,人工智能,python,是,则终止算法;否,则转到循环步骤继续执行。

      1. 冷却进度表

退火过程由一组初始参数,即冷却进度表控制。它的目的是尽量使系统达到平衡,以使算法在有限的时间内逼近最优解。

冷却进度表包括:

1.控制温度参数的初值T0

2.控制温度T的衰减函数(温度的更新)

3.马尔科夫链的的长度Lk(迭代次数)

4.控制参数T的终值(停止准则)

模拟退火,数学建模,算法,机器学习,人工智能,python

组合优化问题

金属物体

粒子状态

最优解

能量最低的状态

设定初温

熔解过程

Metropolis接受过程

温过程

控制参数的下降

冷却

目标函数

能量

    1. 模拟退火算法的优缺点

优点:

高效地求解NP完全问题(如TSP问题,0-1背包问题等)。

相较于其他非线性与优化算法,模拟退火算法编程工作量小且易于实现。

缺点:

使用不当,可能会陷入局部最优

参数难以控制,所得结果可能为接近最优解但并非最优解。

    1. 案例1:求解TSP问题

问题描述:现有34个城市,已知其坐标;从其中某一城市作为起点出发,途径其他的所有城市,然后回到起点,要求走过的距离最短

模拟退火,数学建模,算法,机器学习,人工智能,python

 结果如下所示:

模拟退火,数学建模,算法,机器学习,人工智能,python

模拟退火,数学建模,算法,机器学习,人工智能,python

 模拟退火,数学建模,算法,机器学习,人工智能,python文章来源地址https://www.toymoban.com/news/detail-797944.html

到了这里,关于数学建模之模拟退火法(SA)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数学建模】《实战数学建模:例题与讲解》第十四讲-模拟退火、遗传算法(含Matlab代码)

    本系列侧重于例题实战与讲解,希望能够在例题中理解相应技巧。文章开头相关基础知识只是进行简单回顾,读者可以搭配课本或其他博客了解相应章节,然后进入本文正文例题实战,效果更佳。 如果这篇文章对你有帮助,欢迎点赞与收藏~ 现代优化算法,自20世纪80年代初开

    2024年02月04日
    浏览(21)
  • 模拟退火算法与遗传算法求解多目标优化问题的算法实现(数学建模)

    模拟退火算法是一种全局优化算法,解决的问题通常是找到一个最小化(或最大化)某个函数的全局最优解。它通过模拟物理退火的过程来搜索解空间,在开始时以一定的温度随机生成初始解,然后一步步降低温度,同时在当前解的周围随机搜索新的解,并根据一定概率接受

    2024年02月02日
    浏览(17)
  • 数学建模|通过模拟退火算法求解供货与选址问题:问题二(python代码实现)

    今天继续用模拟退火算法供货与选址问题的问题二,如果还没看过问题一的可以看我之前的博客 数学建模|通过模拟退火算法求解供应与选址问题:问题一(python代码实现)-CSDN博客 这里还是把题目放上来(题目来自数学建模老哥的视频): 那么我们可以分析一下,第一问和

    2024年01月16日
    浏览(18)
  • 【数学建模】模拟退火全解析

    和局部束搜索相反,模拟退火将最优化策略改变,引入随机噪声,不一定每次都是最优,但是内部机制保证了最终的走向是最优,总的过程可以理解为初期广泛探索(Exploration),逐步过渡到深挖(Exploitation)。其中机理比较复杂,我们逐步去理解。 首先声明,我们这里还是

    2024年02月02日
    浏览(16)
  • 数学建模——模拟退火优化投影寻踪

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档   在考虑综合评价的时候,我们使用了各自主观、客观的方法去求解权重,客观权重的计算依靠着数据本身的分布来决定,有时候会出现各种各样不可抗拒的意外情况,其中在熵权法的解释在就有提到

    2024年02月11日
    浏览(12)
  • 数学建模-退火算法和遗传算法

    退火算法和遗传算法 一.退火算法 退火算法Matlab程序如下: [W]=load(\\\'D:100个目标经度纬度.txt\\\'); 二、遗传算法 [E]=xlsread(\\\'D:100个目标经度纬度\\\');  % 加载敌方 100 个目标的数据, 数据按照表格中的位置保存在纯文本文件 sj.txt 中 x=[E(:,1)]; y=[E(:,2)]; e =[x y]; d1=[70,40]; e =[d1;  e ;d1];

    2024年02月20日
    浏览(20)
  • 数学建模--退火算法求解最值的Python实现

    目录 1.算法流程简介 2.算法核心代码 3.算法效果展示

    2024年02月09日
    浏览(12)
  • 智能优化算法学习笔记(2)–模拟退火算法(SA)

    模拟退火算法( Simulated Annealing ,简称 SA )的思想最早是由 Metropolis 等提出的。其出发点是基于物理中固体物质的退火过程与一般的组合优化问题之间的相似性。模拟退火算法是一种通用的优化算法,其物理退火过程由以下三部分组成: 加温过程 。其目的是增强粒子的热运

    2024年02月05日
    浏览(16)
  • python机器学习经典算法代码示例及思维导图(数学建模必备)

    最近几天学习了机器学习经典算法,通过此次学习入门了机器学习,并将经典算法的代码实现并记录下来,方便后续查找与使用。 这次记录主要分为两部分:第一部分是机器学习思维导图,以框架的形式描述机器学习开发流程,并附有相关的具体python库,做索引使用;第二部

    2024年02月12日
    浏览(11)
  • 回归预测 | MATLAB实现SA-ELM模拟退火算法优化极限学习机多输入单输出回归预测(多指标,多图)

    效果一览 基本介绍 回归预测 | MATLAB实现SA-ELM模拟退火算法优化极限学习机多输入单输出回归预测(多指标,多图),输入多个特征,输出单个变量,多输入单输出回归预测; 多指标评价,代码质量极高;excel数据,方便替换,运行环境2018及以上。 程序设计 完整源码和数据

    2024年02月11日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包