当前位置 博文首页 > nameofcsdn的博客:模拟退火算法
目录
一,模拟退火算法
二,基本步骤
三,一些细节
四,应用实例
模拟退火算法(Simulate Anneal Arithmetic,SAA)是一种通用概率演算法,用来在一个大的搜寻空间内找寻命题的近似最优解。
模拟退火来自冶金学的专有名词退火。退火是将材料加热后再经特定速率冷却,目的是增大晶粒的体积,并且减少晶格中的缺陷。材料中的原子原来会停留在使内能有局部最小值的位置,加热使能量变大,原子会离开原来位置,而随机在其他位置中移动。退火冷却时速度较慢,使得原子有较多可能可以找到内能比原先更低的位置。
?
首先把问题抽象成,在一个确定的解空间内,每个点都对应一个权值,寻找使得权值最小的点。
1,产生一个初始解
2,根据当前解产生一个新的解
3,如果新解的权值更小,则接受新解,替换掉上一个解,如果权值变大,则以某个小概率接受新解
4,迭代若干次或者新解满足特定条件时,迭代结束,否则跳转到第2步
?
1,初始解如何产生,对最终解影响不大,如何产生新解的方法影响比较大
2,权值变大时的接受准则也很重要,常用的有Metropolis准则:以exp(-ΔT/T)的概率接受,T是权值
?
https://blog.csdn.net/nameofcsdn/article/details/107519401
cs