模拟退火算法(SA,Simulated Annealing)思想
来源:互联网 发布:电脑软件连不上网络 编辑:程序博客网 时间:2024/05/02 00:25
转载:http://www.cnblogs.com/emanlee/archive/2011/07/31/2122727.html
模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。
模拟退火算法(Simulated Annealing,SA)最早由Kirkpatrick等应用于组合优化领域,它是基于Monte-Carlo迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退火算法从某一较高初温出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并最终趋于全局最优。模拟退火算法是一种通用的优化算法,理论上算法具有概率的全局优化性能,目前已在工程中得到了广泛应用,诸如VLSI、生产调度、控制工程、机器学习、神经网络、信号处理等领域。
模拟退火算法是通过赋予搜索过程一种时变且最终趋于零的概率突跳性,从而可有效避免陷入局部极小并最终趋于全局最优的串行结构的优化算法。
模拟退火算法的模型:
模拟退火算法可以分解为解空间、目标函数和初始解三部分。
模拟退火的基本思想:
(1) 初始化:初始温度T(充分大),初始解状态S(是算法迭代的起点), 每个T值的迭代次数L
(2) 对k=1,……,L做第(3)至第6步:
(3) 产生新解S′
(4) 计算增量Δt′=C(S′)-C(S),其中C(S)为评价函数
(5) 若Δt′<0则接受S′作为新的当前解,否则以概率exp(-Δt′/T)接受S′作为新的当前解.
(6) 如果满足终止条件则输出当前解作为最优解,结束程序。
终止条件通常取为连续若干个新解都没有被接受时终止算法。
(7) T逐渐减少,且T->0,然后转第2步。
模拟退火算法流程图:
reference:
http://baike.baidu.com/view/18185.htm
http://www.cnblogs.com/heaad/archive/2010/12/20/1911614.html
- 模拟退火算法(SA,Simulated Annealing)思想
- 模拟退火算法(SA,Simulated Annealing)思想
- 模拟退火算法(SA,Simulated Annealing)
- 模拟退火算法(SA,Simulated Annealing)及其PHP实现
- Simulated Annealing 模拟退火
- 深入理解模拟退火算法(Simulated Annealing)
- 深入理解模拟退火算法(Simulated Annealing)
- 模拟退火算法(Simulated Annealing)
- 模拟退火(Simulated Annealing)算法 PO J1379 2420
- 机器学习基础—— 模拟退火(Simulated Annealing)
- SA模拟退火算法
- 机器学习基础(四十五)—— 模拟退火(Simulated Annealing)
- 模拟退火算法(SA)
- 大白话解析模拟退火算法(simulate annealing)
- Simulated Annealing
- Simulated annealing
- Simulated Annealing
- 模拟退火(SA)算法干货
- Akka并发编程——第四节:Actor模型(三)
- 受限波兹曼机Restricted Boltzmann Machines (RBM)
- 浅谈模拟退火算法
- 第一专题总结(贪心算法)
- android的 deeplink与服务路由的思考
- 模拟退火算法(SA,Simulated Annealing)思想
- mongodb基础系列——java操作mongodb实现图片文件功能
- 现货代理,贵金属代理怎么选择一个好的平台?
- Learn Unity(0)——basic C# for Unity
- [LeetCode] Burst Balloons
- 剑指offer-面试题26:复杂链表的复制
- Eclipse下Maven工程多模块继承和聚合的创建
- 大数据工程师:大数据的java基础 第四周
- 如何提高程序的健壮性,增加判断。