模拟退火(SA)算法干货
来源:互联网 发布:中国移动网络测速网址 编辑:程序博客网 时间:2024/05/22 13:05
模拟退火(SA)算法学习:
物理学中,能量越低的结构越稳定:水自发低处流,电子自发往低能态跃迁
模拟的过程:将一个结构不稳定的金属矿,加热至高温融化,再缓慢降温,成为一块结构稳定的金属。
一条物理学规律:在金属内部,原子之间的能量并不完全相等,他们的差异与金属的温度正相关
运用到SA中:寻找最优解的过程中,若下一个可行解的优于当前可行解,则更新;若劣于当前解,则以概率P接受更新,概率P与温度正相关。
其意义是,先大步搜索可行,以期跳出局部最优,再精细搜索,找到全局最优
1、融化:设定初始温度,温度越高,效果越好,但运行时间越长;
2、退火:逐步降低温度,随着温度的下降,接受非优解的概率逐渐下降;
3、固化:当温度逐渐接近0度, 最优解将收敛;
关键步骤:
非优解的接受与否:计算概率p=exp(-Δf / t),Δf两次迭代目标函数的减少值,t为当前温度,然后生成[0, 1]的随机数,如果p大于该随机数则接受;
温度下降的控制:一般采用等距或者等比的方式;
每一温度下迭代次数的控制:固定迭代步数,或者迭代步数随温度降低而增加。
终止条件:终止温度达到某一限制如0度;温度下降的迭代次数达到设定限制;在某个温度内多次迭代或者在多个温度的最优解无变化;接受非优解的概率已经很小。
重要参数:较高的初始温度,较慢的降温速率,较低的终止温度,各温度下足够的抽样。
物理学中,能量越低的结构越稳定:水自发低处流,电子自发往低能态跃迁
模拟的过程:将一个结构不稳定的金属矿,加热至高温融化,再缓慢降温,成为一块结构稳定的金属。
一条物理学规律:在金属内部,原子之间的能量并不完全相等,他们的差异与金属的温度正相关
运用到SA中:寻找最优解的过程中,若下一个可行解的优于当前可行解,则更新;若劣于当前解,则以概率P接受更新,概率P与温度正相关。
其意义是,先大步搜索可行,以期跳出局部最优,再精细搜索,找到全局最优
1、融化:设定初始温度,温度越高,效果越好,但运行时间越长;
2、退火:逐步降低温度,随着温度的下降,接受非优解的概率逐渐下降;
3、固化:当温度逐渐接近0度, 最优解将收敛;
关键步骤:
非优解的接受与否:计算概率p=exp(-Δf / t),Δf两次迭代目标函数的减少值,t为当前温度,然后生成[0, 1]的随机数,如果p大于该随机数则接受;
温度下降的控制:一般采用等距或者等比的方式;
每一温度下迭代次数的控制:固定迭代步数,或者迭代步数随温度降低而增加。
终止条件:终止温度达到某一限制如0度;温度下降的迭代次数达到设定限制;在某个温度内多次迭代或者在多个温度的最优解无变化;接受非优解的概率已经很小。
重要参数:较高的初始温度,较慢的降温速率,较低的终止温度,各温度下足够的抽样。
阅读全文
0 0
- 模拟退火(SA)算法干货
- 模拟退火算法(SA)
- SA模拟退火算法
- 模拟退火(SA)
- 模拟退火算法(SA,Simulated Annealing)思想
- 模拟退火算法(SA,Simulated Annealing)思想
- 模拟退火算法(SA,Simulated Annealing)
- matlab练习程序(模拟退火SA)
- matlab练习程序(模拟退火SA)
- 高级算法课程(一):模拟退火算法SA()及其C++代码
- SA(模拟退火)优化算法MATLAB源码详细中文注解
- 模拟退火算法(SA,Simulated Annealing)及其PHP实现
- 模拟退火算法(转载)
- 模拟退火算法(未完善)
- 模拟退火算法(西安网选赛hdu5017)
- 模拟退火算法(run away poj1379)
- HDU 5017 Ellipsoid(模拟退火算法)
- BZOJ3680 吊打XXX(模拟退火算法)
- Scrapy框架爬取有验证码的登录网站
- Aerospike迁移
- Base64加密与解密
- javaweb_day7(JDBC)
- js 正则找出最长连续子串长度
- 模拟退火(SA)算法干货
- Ubuntu16.0 安装jdk配置Java环境的方法 (亲测可行)
- KMP算法
- 把字符串"abc.abc.abc"替换为"abc/abc/abc"
- 首次接触框架,struts2初步学习(随笔)
- 51Nod 1463 找朋友
- 【51Nod1685】第K大区间2
- 关于select...where params='' for update 阻塞的原因分析
- 常用排序算法1--冒泡排序,选择排序,插入排序