非凸问题寻优

  • 模拟退火是一个算法框架(framework),而不是一个具体的算法,原因在于,比如从当前状态, x(n) x(n+1) ,下一个状态该如何选择,可以是梯度下降,也可以是蒙特卡洛,爬山等等;

1. 模拟退火

模拟退火算法(simulated annealing,SA),1983年由 Kirkpatrick 等人提出,并将其成功应用于组合优化问题。“退火”是物理学术语,指对物体加温后再冷却的过程。

模拟退火算法源于晶体冷却的过程,如果晶体不处于最低能量状态,给固体加热再冷却,随着温度缓慢下降,固体中的原子按一定形状排列,形成高密度、低能量的有规则晶体,在算法中对应全局最优解

而如果温度下降过快(则必然存在一个参数控制温度的升降速度),可能导致原子缺少足够的时间排列成晶体结构,结果产生了具有较高能量的非晶体,这就是局部最优解。

模拟退火算法包含 Metropolis 算法和退火过程两部分。

  • Metropolis 算法又叫 Metropolis 抽样,是模拟退火算法的基础,在早期的科学计算中蒙特卡洛方法(Monte Carlo)是对大量原子在给定温度下的平衡态的随机模拟,当蒙特卡洛算法计算量偏大

2. 退火算法的参数控制

Metropolis 算法是模拟退火算法的基础,但直接使用 Metropolis 算法可能会导致寻优的速度太慢,以至于无法实用。为了确保算法在有限时间收敛,必须设定控制算法收敛的参数。

p={1,expE(n+1)E(n)T,E(n+1)<E(n)E(n+1)E(n)

上述公式中可调节的参数是控制退货快慢的参数 T

  • T 如果过大,就会导致退火太快,达到局部最优即迭代结束,

    • 如果取值过小,则会延长不必要的搜索时间;
    • 在实际应用中,采用一个退火温度表,在退火的初期采用较大的 T <script type="math/tex" id="MathJax-Element-4">T</script> 值,随着退火的进行,逐步降低。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

五道口纳什

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

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

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

打赏作者

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

抵扣说明:

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

余额充值