智能优化算法(四):模拟退火算法

1.算法简介

\quad 模拟退火算法(Simulated Annealing,SA)的思想最早由N. Metropolis等人在1953年提出,1983年,S. Kirkpatrick等人成功地将退火思想引入到组合优化领域,该算法基于Monte-Carlo迭代求解策略,是一种随机寻优算法,其核心思想是物理中固体物质的退火过程与组合优化问题之间的相似性。
\quad 模拟退火算法是一种基于概率的随机优化算法,它尽管也是一种贪心算法,但其搜索过程引入了随机因素,使得算法在一定程度上能够接受较差的解,从而有可能跳出局部最优解,最终达到全局最优解。模拟退火算法通过以一定概率接受一个比当前解更差的解,避免陷入局部最优解。
\quad 在退火算法中,算法在找到局部最优解E后,可能会以一定的概率接受到F的移动,经过几次这样的非最优移动后,可能会到达G点,并进一步上升到H点,从而跳出局部最大值E。模拟退火算法来源于固体退火的原理,固体退火过程是将固体加热至高温,然后逐渐冷却,在加热过程中,固体内部的粒子变得无序,内能增大;在逐渐冷却的过程中,粒子趋于有序,并在每个温度下达到平衡态,最终在常温下达到基态,内能最小。
在这里插入图片描述

2.算法推导

2.1.Bolzman方程

\quad 设热力学系统S中有n个状态(有限且离散的),其中状态i的能量为 E i E_{i} Ei ,在温度 T k T_{k} Tk下,经一段时间达到热平衡,此时处在状态i的概率为:
P i ( T k ) = C k exp ⁡ ( − E i T k ) P_i\left(T_k\right)=C_k\exp\begin{pmatrix}-E_i\\T_k\end{pmatrix} Pi(Tk)=Ckexp(EiTk)
\quad 那么对于系数 C k C_{k} Ck我们应该如何确定?确定方法如下所示:
∑ j = 1 n P j ( T k ) = 1 ⇒ ∑ j = 1 n C k ⋅ exp ⁡ ( − E j T k ) = 1 ⇒ C k ⋅ ∑ j = 1 n exp ⁡ ( − E j T k ) = 1 ⟹ C k = 1 ∑ j = 1 n exp ⁡ ( − E j T k ) \begin{aligned}&\sum_{j=1}^nP_j(T_k)=1\Rightarrow\sum_{j=1}^nC_k\cdot\exp\begin{pmatrix}-E_j\\T_k\end{pmatrix}=1\\&\Rightarrow C_k\cdot\sum_{j=1}^n\exp\begin{pmatrix}-E_j\\T_k\end{pmatrix}=1\Longrightarrow C_k=\frac1{\sum_{j=1}^n\exp\begin{pmatrix}-E_j\\T_k\end{pmatrix}}\end{aligned} j=1nPj(Tk)=1j=1nCkexp(E

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

温柔济沧海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值