模拟退火算法的个人理解
来源:互联网 发布:免费程序化交易软件 编辑:程序博客网 时间:2024/04/30 19:28
模拟退火算法(SA, Simulated Analnggggg)是一种启发式的蒙特卡罗(Monte Carlo)方法。这种算法是在给定的模型空间内搜索墓边函数达到全局极小值的最优模型,它已用于各种最优化问题计算。常规的模拟退火法即Kirkpatrick等(1983)提出的Metropolis算法(Metropolis SA),包括以下步骤:
1.给定模型每一参数变化范围,在这个范围内随机选择一个初始模型m0,并计算相应的目标函数值E(m0).
2.对当前模型m0进行扰动产生一个新模型m,计算相应的目标函数值E(m),得到ΔE= E(m)- E(m0)。
3.若ΔE<0,则新模型m被接受;若ΔE>0,则新模型按概率
P=exp(-ΔE/T)进行接受,T为温度。当模型被接收时,置m0=m,E(m)=E(m0)。
4.在温度T下,重复一定次数的扰动和接受过程,即重复步骤2、3。
5.缓慢地降低温度T。
6.重复步骤2、5,直到收敛条件满足为止。
以上的算法世纪上分两步交替进行计算:1随机扰动产生新模型并计算目标函数(或称能量)的变化;2 决定新模型是否被接收。由于算法是在高温条件开始进行的,因此使E增大的模型可能被接受,因而能舍去局部极小值。通过缓慢地降低温度,算法能收敛到全局最优点。
个人总结:模拟退火算法是从一个近似解不断逼近真实解的一种优化算法,类似的还有遗传算法,先确定状态的边界,然后确定一个初始温度,一般较高,然后确定一个随机扰动函数和一个能量计算函数,以及确定合适的r即可。个人觉得这个算法关键在于是随机扰动函数的选取还有能量计算函数的选取。把这个算法归为计算几何是因为本人是通过做计算几何的题目了解这个题目的,而这个算法貌似也在《算法导论》的计算几何专题里介绍过。
- 模拟退火算法的个人理解
- 算法理解-模拟退火
- 理解模拟退火算法
- 对模拟退火算法的理解
- 模拟退火算法的详细理解
- 通俗理解模拟退火算法
- 对 模拟退火算法的理解 初步应用 以及 模板
- 模拟退火算法的基本原理
- 模拟退火算法的介绍
- "活"的模拟退火算法
- 深入理解模拟退火算法(Simulated Annealing)
- 深入理解模拟退火算法(Simulated Annealing)
- 从遗传算法、粒子群算法、模拟退火算法理解启发式算法优化的本质
- TSP问题的模拟退火算法
- 我的毕业设计---模拟退火算法
- poj 1379 模拟退火算法的应用
- 模拟退火算法的C++实现
- 模拟退火算法--自己做的ppt
- yinyin 笔试题
- 如何判断点P是否在三角形ABC内?
- 优秀的女人受冷落
- 网页标签的优化【鸡蛋】
- oracle基础知识五
- 模拟退火算法的个人理解
- Sort using
- struts2的一些笔记
- 编写简单java程序
- 网站导航思考
- fmt
- rmq 算法学习
- 常用控件的使用方法--(TextView/EditText/Button/Menu) -计算器代码
- 改变D3D中的渲染状态---SetRenderState