首页 > 其他分享 >学点数模-1

学点数模-1

时间:2022-12-24 00:33:23浏览次数:65  
标签:退火 模拟退火 金属 算法 数模 爬山 最优

一、模拟退火算法

说起退火算法说是模拟金属淬火之后退火的情况的,不过这里也无所谓。

我们直接来解释一下这个退火算法是怎么进行的。

在说之前,要看看爬山算法。

爬山算法:

我们要找一个最优解,在较为连续的环境下就是找一个山顶,在数据处理中爬山算法在确定一个点后,左右判断是否是最高点,说白了就是找到了极大值而非最大值,当找到这个极大值后就会停下,但是实际上是有可能会有最大值存在,导致不一定是最优解。

模拟退火算法:

是能够解决爬山算法的问题的。我们可以先了解一下金属退火的情况

金属退火

我个人觉得应该是跟锻刀的淬火是一个理念,如果不一致等我之后再去了解。

金属退火是指:金属本身处于较为无序状,分布并不规律,是具有一部分内能的,会在某些范围将固体加热至充分高使得其分子变得极为无序,然后再徐徐冷却(意思是缓慢的冷却)使得冷却下来的金属内能降低到最小,分子排列也更加整齐。

对金属退火的模拟

模拟金属的退火概率产生退火算法。

我们可以认为我们的数据筛选是在将金属升温至充分高后进行退火的产物:一个分子在所有数据中不断的跳脱,这个分子是足够活跃的,不断的跳跃,接下来温度徐徐下降,该分子会逐渐慢下来(可以再配合波尔的原子能级理论,这个分子的趋于稳定后的波动不是线性的,而是分级的)该分子会慢下来并不断的各个“山顶”中跳跃,最后跳至最高的山顶处停下,那么这个山顶就是最优解。

有这样一个比喻方便理解:

 

  • 爬山算法:兔子朝着比现在高的地方跳去。它找到了不远处的最高山峰。但是这座山不一定是珠穆朗玛峰。这就是爬山算法,它不能保证局部最优值就是全局最优值。
  • 模拟退火:兔子喝醉了。它随机地跳了很长时间。这期间,它可能走向高处,也可能踏入平地。但是,它渐渐清醒了并朝最高方向跳去。这就是模拟退火。

 

 

模拟退火的算法层面(数学原理)

Metropolis准则

首先有以下准则:

 

 

 该准则我们解释一下:这个P是指接受新解的概率,当Et+1>=Et ==> -(Et+1 - Et )<=0.

下面是e^x图像

 

 

 当x小于等于0时,其得值在0~1之间,即为概率。

进行退火的流程

算法实质分两层循环,在任一温度水平下,随机扰动产生新解,并计算目标函数值的变化,决定是否被接受。由于算法初始温度比较高,这样,使E增大的新解在初始时也可能被接受,因而能跳出局部极小值,然后通过缓慢地降低温度,算法就最终可能收敛到全局最优解

首先我们先产生一个t~E的坐标轴。随着t 的变化,E也在变化,先有这麽一个概念

我们先约定一个退火最优解(就是初始解),然后针对该初始解会有对应的E即初始E,此时我们有一个初始温度T,这个T是徐徐下降的。

然后我们进行一个扰动,在前期,我们为了跳脱出局部最优解,可以进行“虽然E没有前一个E大,但是可以接受”,在随着T的下降,我们的跳动不再活跃,而是不断聚焦于几个极大值点,然后在终止温度下得到最优解

以上即为退火算法的简单流程。

(221条消息) 超简单易懂的模拟退火算法原理及其matlab代码实现_从零开始的智能计算生活的博客-CSDN博客_模拟退火算法matlab

模拟退火算法详解 - 知乎 (zhihu.com)

具体参考了以上两位,并且还查找了一些资料以便理解,还有具体的代码层面就不亮了。

 

标签:退火,模拟退火,金属,算法,数模,爬山,最优
From: https://www.cnblogs.com/nish1hundun/p/17001878.html

相关文章

  • 2020第十七届华为杯数模C题——P300脑电信号数据预处理算法
    脑电信号数据预处理  这两天的数学建模选的C题,目标是要处理脑电P300信号的数据并进行相关预测任务。该题重点是数据预处理,因此根据最后实验的结果,分享相关的预处理方法以......
  • 数模混合芯片流片总结
    从九月持续到十二月,大概花了三个月时间主导了研究生期间的第一次流片,时间紧任务重,也得到了不少人的助力,这个过程中自己也学到了很多的东西,这里对这次流片经历做个简单的总......
  • 找到最大数(函数模板)
    题目描述利用函数模板求不同类型的5个数最大值(分别考虑整数、单精度、长整数的情况) 输入分别输入5个int型整数、5个float型实数、5个long型正整数。 输出分......
  • VM系列振弦读数模块通讯协议
    通讯协议是上位机通过VMXXX模块支持的数字接口完成信息交互的数据格式、传输步骤、通讯速率等的一系列预先约定。上位机必须按照本章描述的通讯协议规则来完成与VMXXX......
  • VM系列振弦传感器读数模块恢复出厂参数说明
    设备内部存在三类系统参数,分别为:用户系统参数、出厂系统参数和默认系统参数。用户系统参数:也称“工作参数”,可修改可保存,每次上电时自动加载并按照此参数运行。在设备使用......
  • VM301振弦读数模块
    VM301是自主研发的嵌入式振弦传感器测量模块,适用于国内外各种振弦式传感器。模块拥有测量精度高,低功耗、兼容性强等特点。可方便的嵌入到土木工程传感器的测量产品PCB板中......
  • 组合数模板
    逆元定义:当x*y≡1(modp),y就是x在modp下的逆元应用:a/b≡a*x(modp),x就是a的乘法逆元我们可以将a/b≡a*x(modp)这个式子化简,两边同乘b-->a≡a*b*x(m......
  • 【磨刀霍霍向数模】系列之凸优化求解利器cvxpy
    CVXPY是Python中内置的解决凸优化问题的模块,其可以自动转化问题为标准形式,调用解法器,求解。本文介绍求解的常见思路方法。1.设定变量cvx.Variable(shape=(),name=Non......
  • 模板——函数模板
    概念:建立通用的模具,提高复用性。。特点:●模板不能被直接使用,他只是一个框架●模板是通用,但不是万能C++中的一种编程思想称为泛型编程,主要利用的技术就是模板C++提供......
  • 河北稳控科技VM系列振弦采集读数模块的振弦传感器测量流程
    河北稳控科技VM系列振弦采集读数模块的振弦传感器测量流程 如下图所示,VMXXX的测量过程分为激励、采样、计算三个大的步骤。在连续测量模式,计算完成后立即重新开始一......