优化算法-爬山法和模拟退火

本文介绍了优化算法中的爬山法和模拟退火,从随机搜索算法入手,阐述了爬山法的局限及模拟退火如何通过引入随机因素避免局部最优,详细讲解了模拟退火的原理,并提供了Python代码实现。
摘要由CSDN通过智能技术生成

优化算法-爬山法和模拟退火

1.随机搜索算法

随机搜索不是一种好的算法,但是它是爬山法和模拟退火的基础,可以帮助我们理解爬山法和模拟退火法。现在简单介绍一下随机搜索算法,随机确定许多个解,然后选择使目标函数最小的那个解,当然这个算法的结果不是非常好,其效果和随机确定的解的个数也有关系,后面实现的python算法就是随机确定1000个解。

2.爬山法引出模拟退火

先简单介绍一下爬山法,爬山发是一种贪心算法,该算法每次从当前解的临近的解集中寻找一个最优解作为当前解,直到达到一个局部最优解。爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。解决陷入局部最优解的一种方法就是随机重复爬山法,即让爬山法以多个随机生成的初始解为起点运行,求出多个局部最优解,希望在这些局部最优解中有全局最优解或者有一个接近全集最优解的局部最优解。而模拟退火也是一种贪心算法,但和爬山法不一样的是爬山法是完完
全全的贪心算法,每次都鼠目寸光的选择一个当前最优解,因此只能搜索到局部的最优值,但模拟退火在搜索中引入了随机因素,所以在一定程度上会避免陷入局部最小值。

3.模拟退火的原理

退火指的是将合金加热后再慢慢冷却的过程,大量的原子受热而向周围跳跃,然而又逐渐稳定到一个低能阶的状态。模拟退火算法以一定的概率来接受一个比当前解要差的解,因此有可能会跳出这个局部的最优解,达到全局的最优解。模拟退火算法从某一较高的温度T出发,这个温度称为初始温度,伴随着温度参数T的不断下降,算法中的解趋于稳定,但是,可能这样的稳定解是一个局部最优解,此时,模拟退火算法中会以一定的概率跳出这样的局部最优解,以寻找目标函数的全局最优解。

模拟退火算法的描述:
如果移动后得到更优的解,那么新的解就会成为当前的解。如果移动后得到更差的解,那么新的解就会以一定概率P成为当前的解。p的求解公式为:

p=e
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值