【优化算法1】模拟退火算法(含MATLAB实例)

模拟退火算法(含MATLAB实例)

模拟退火算法

1.1 简介

  • 模拟退火算法的思想借鉴于物体退火过程:当温度很高时,物体内能比较大,其内部粒子处于快速无序运动状态;当温度慢慢降低,物体的内能减小,内部粒子逐渐趋于有序;最终物体处于常温状态,温度最低且内能最小,此时粒子最稳定。
  • 白话理解:一开始为算法设定一个较高的值T(模拟温度),算法不稳定,选择当前较差解的概率很大;随着T的减小,算法趋于稳定,选择较差解的概率减小,最后,T降至终止迭代的条件,得到近似最优解。

1.2 原理

算法流程图:在这里插入图片描述

1.3 MATLAB实例

代码资源获取途径:【优化算法1】模拟退火算法MATLAB实例

  • 题目
    y = − 0.3 x 1 + 0.18 x 2 + 35000 , x 1 ∈ [ 0 , 50000 ] , x 2 ∈ [ 0 , 60000 ] y=-0.3x_{1}+0.18x_{2}+35000, x_{1} \in [0,50000], x_{2} \in [0,60000] y=0.3x1+0.18x2+35000,x1[0,50000],x2[0,60000],求 y y y最小值
    约束条件:  (1)  S ⩽ 1.5 ,  (2)  T ⩽ 9 \text { (1) } S \leqslant 1.5, \text { (2) } T \leqslant 9  (1) S1.5, (2) T9,其中 Q = y + x 1 + x 2 + 50000 S = 2 y + x 1 + x 2 + 50000 Q T = − 10 y + 4 x 1 + 7 x 2 + 500000 Q + 17 y ⋅ x 1 Q 2 ( 1 − y + x 1 2 Q ) Q=y+x_{1}+x_{2}+50000 \\ S=\frac{2 y+x_{1}+x_{2}+50000}{Q} \\ T=\frac{-10 y+4 x_{1}+7 x_{2}+500000}{Q}+\frac{17 y \cdot x_{1}}{Q^{2}}\left(1-\frac{y+x_{1}}{2 Q}\right) Q=y+x1+x2+50000S=Q2y+x1+x2+50000T=Q10y+4x1+7x2+500000+Q217yx1(12Qy+x1)
  • matlab代码
    在这里插入图片描述

求得最优解、最小值结果如下:
在这里插入图片描述
温度不断下降过程中函数值曲线图如下:
在这里插入图片描述

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Wilbur11

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

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

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

打赏作者

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

抵扣说明:

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

余额充值