• 非凸问题寻优


    • 模拟退火是一个算法框架(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 值,随着退火的进行,逐步降低。

  • 相关阅读:
    移动端小tips
    是否该放弃东莞的工作
    读书有感-learn html5 and javascript for ios
    eNSP多路由实现互联互通(华为路由E口直连)
    iTextSharp操作表格排版问题
    我今天开通博客
    12年的女程序员重新回归
    前端css样式规划
    前端神器-webstorm2017
    远程桌面资料共享
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9422869.html
Copyright © 2020-2023  润新知