模拟退火算法

https://www.cnblogs.com/ECJTUACM-873284962/p/8468831.html#autoid-0-0-0

总结一下看的这个博客介绍的算法流程,理解总结如下,有问题烦请指正:

1、基本情况是:有一个解空间,每个解可以计算一个目标函数f,算法目的是寻找解使得目标函数最小;随迭代逐渐变小的模拟温度T(t)(控制接受目标函数变大的试探解更新为当前解的概率,rand()<exp(-df/T)就接受,随着优化进行,越来越不接受变差的试探解,t->infinity时就是普通的梯度下降之列的算法)

2、优化过程:

a、随机给1个初始解作为当前解,计算当前目标函数,

b、以某种简单的带有随机性的方式在当前解基础上变化一下得到新试探解,变得不多,算试探解目标函数计算量会小一点;

c、如果 df<0 or (df>=0 and rand() < exp(-df/T(t)) 就让试探解作为当前解,否者什么也不干;接下去回到a,循环L次后去到d;

d、是否满足中止条件,满足就输出当前解;不满足就按某种方式减小T,然后回到a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值