智能优化算法——模拟退火算法

智能优化算法——模拟退火算法

注:以下内容均由2017年黑龙江大学数学院暑期夏令营教学所用PPT总结

一.物理退火

        为了更好地了解模拟退火算法,我们先从物理退火入手:
        ▷什么是退火?
        退火是指将固体加热到足够高的温度,使分子呈随机排列状态,然后逐步降温使之冷却,最后分子以低能状态排列,固体达到某种稳定状态。
        ▷物理退火过程:
        加温过程——增强粒子的热运动,消除系统原先可能存在的非均匀态;
        等温过程——对于与环境换热而温度不变的封闭系统,系统状态的自发变化总是朝自由能减少的方向进行,当自由能达到最小时,系统达到平衡态;(ps:自由能指系统对外输出的有用能量)
        冷却过程——使粒子热运动减弱并渐趋有序,系统能量逐渐下降,从而得到低能的晶体结构。

Alt

二.认识组合优化

        1983年模拟退火算法开始应用于组合优化。组合优化问题解空间中的每一点都代表一个具有不同目标函数值的解。所谓优化,就是在解空间中寻找目标函数最小(大)解的过程。若把目标函数看成能量函数,某一控制参数视为温度T,解空间当作形态空间,那么寻找基态的过程也就是求目标函数极小值的优化过程。

在这里插入图片描述

三.模拟退火的数学描述

        如果用粒子的能量定义材料的状态,模拟退火算法用一个简单的数学模型描述了退火过程:
        假设材料在状态i 之下的能量为E(i) ,那么材料在温度T 时从状态i 进入状态j 就遵循如下规律:

         如果E(j)≤E(i) ,接受该状态被转移
         如果E(j) > E(i) ,则状态转换以如下的概率被接受: exp{[E(i)- E(j)]/KT}
                (K是物理学中的波尔兹曼常数,T是材料温度)

        在某一个特定温度T下,进行了充分的转换之后,材料将达到热平衡。这时材料处于状态i的概率满足波尔兹曼分布:

在这里插入图片描述

(其中,x表示材料当前状态的随机变量,S表示状态空间集合)

        显然:

在这里插入图片描述

( 其中,|S|表示状态空间集合中状态的数量。这就表明,所有状态在高温下具有相同的概率。)
        而当温度下降时:

在这里插入图片描述
        上式表明当温度降至很低时,材料会以很大概率进入最小能量状态。
        从另外一个角度来看:在同一个温度T,选定两个能量E1<E2,有:

在这里插入图片描述
        在同一个温度,分子停留在能量小的状态的概率比停留在能量大的状态的概率要大。

四.模拟退火算法的流程

在这里插入图片描述

五.算法关键参数和操作设定

        从算法流程上看,模拟退火算法包括三函数两准则,即状态产生函数、状态接受函数、温度更新函数、内循环终止准则和外循环终止准则,这些环节的设计将决定模拟退火算法的优化性能。此外,初温的选择对模拟退火算法性能也有很大影响。

  • 状态产生函数:
    原则:设计状态产生函数(邻域函数)的出发点应该是尽可能保证产生的候选解遍布全部的解空间。通常,状态产生函数由两部分组成,即产生候选解的方式和候选解产生的概率分布。
    方法:在当前状态的邻域结构内以一定概率方式(均匀分布、正态分布、指数分布等)产生。
  • 状态接受函数:
    原则:函数一般以概率的方式给出,不同接受函数的差别主要在于接受概率的形式不同。设计状态接受概率,应该遵循以下原则:
            (1)在固定温度下,接受使目标函数下降的候选解的概率要大于使目标函数上升的候选解概率;
            (2)随温度的下降,接受使目标函数上升的解的概率要逐渐减小;
            (3)当温度趋于零时,只能接受目标函数下降的解。
    方法:状态接受函数的引入是模拟退火算法实现全局搜索的最关键的因素,模拟退火算法中通常采用min[1,exp(-△C/t)]作为状态接受函数
  • 初始温度:
    初始温度、温度更新函数、内循环终止准则和外循环终止准则通常被称为退火历程。
    原则:通过理论分析可以得到初温的解析式,但解决实际问题时难以得到精确的参数;实际应用时往往要让初温充分大。实验表明:初温越大,获得高质量解的机率越大,但花费较多的计算时间。
    方法:
            (1)均匀抽样一组状态,以各状态目标值的方差为初温;
            (2)随机产生一组状态,确定两两状态间的最大目标值差,根据差值,利用一定的函数确定初温,譬如,其中为初始接受概率;
            (3)利用经验公式。
  • 温度更新函数:
    温度更新函数,即温度的下降方式,用于在外循环中修改温度值。
    常用的算法温度下降函数:
    t k + 1 = α t k , k ≥ 0 , 0 &lt; α &lt; 1 t_{k+1}=\alpha t_{k},k\geq 0,0&lt; \alpha &lt; 1 tk+1=αtk,k0,0<α<1:α越接近1温度下降越慢,且其大小可以不断变化;
    t k = K − k K t 0 t_{k}=\frac{K-k}{K}t_{0} tk=KKkt0 :其中t0为起始温度,K为算法温度下降的总次数。
  • 内循环终止准则:
    常用的Metropolis抽样稳定准则:
            (1)检验目标函数的均值是否稳定;
            (2)连续若干步的目标值变化较小;
            (3)按一定的步数抽样。
  • 外循环终止准则
            (1)设置终止温度的阈值;
            (2)设置外循环迭代次数;
            (3)算法搜索到的最优值连续若干步保持不变;
            (4)概率分析方法。

六.模拟退火算法的优缺点:

  • 优点:质量高;初值鲁棒性强;简单、通用、易实现。
  • 缺点:由于要求较高的初始温度、较慢的降温速率、较低的终止温度,以及各温度下足够多次的抽样,因此优化过程较长。
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值