模拟退火

编辑
本词条由“小小编” 建档。

模拟退火(SA)是一种用于全局优化问题的通用随机元算法。模拟退火在大搜索空间中很好地近似给定函数的全局优化解。Kirkpatrick、Gelat和Becky,1983简单看英文就叫模拟退火。 淬火技术这个词来源于冶金学中的quenching,是annealing的误译。退火是将金属材料加热,然后逐渐冷却,使其生长晶体并减少其缺陷的过程,使其远离初始位置(内能停留在最小点的状态)并移动到能量更高的状...

什么是模拟退火

编辑

模拟退火 (SA) 是一种用于全局优化问题的通用随机元算法。模拟退火在大搜索空间中很好地近似给定函数的全局优化解。Kirkpatrick、Gelat 和 Becky,1983简单看英文就叫模拟退火。

淬火技术这个词来源于冶金学中的quenching,是annealing的误译。退火是将金属材料加热,然后逐渐冷却,使其生长晶体并减少其缺陷的过程,使其远离初始位置(内能停留在最小点的状态)并移动到能量更高的状态,通过缓慢冷却,原子有更大的可能性获得比初始状态内能更小的状态。

模拟退火

SA算法通过迭代改进解,随机找到当前解附近的解,此时,给定函数的值和全局因子T都会对其产生影响。与上述物理过程类似,T(温度) ) 的值逐渐减小。因此,一开始,太阳变化很大,因为 T 很大,但随着 T 接近 0,变化减小。一开始,由于可以简单地爬上斜坡,因此可以轻松爬上斜坡通过登山的方法到达该区域的最佳点,无需考虑万一摔倒了怎么办。

伪代码

编辑

P变成P = nk = 5 * 100 = 500,Step变成500,这里Step的值就变成了一个很重要的因素,如果Step变大,就会跳过优化值,不存在优化的阶段。这里作为优化的例子,如果有10个随机的石头,当这些石头放在最小的空间时,淬火方法最有效的值就成为淬火方法的优化值,排列10个石头,简直就是10!*10可以想到case的数量,执行一次所有的case来得到最优的case数量是非常低效的,而且如果石子数量变大,搜索所有的case就会变得更加困难,尤其是在一定的时间内。条件是找到这个,就变得几乎不可能了。不搜索所有情况而找到最优解的方法就是淬火法。但是,这种淬火法的问题是确定合适的步长。如果步长很小, ,当然,我们会找到一种优化方法,但是尺寸越小,与随机尝试所有情况的差异就越小。

如果你经常看淬火技术的原文或者看翻译版,经常会出现温度和冷冻这两个词,这是通过增加案例数量来解释,看到温度升高会导致更糟糕的结果,并改善温度下降的情况组合。原来的SA(通用模拟退火算法)存在查找速度不一、占用内存的问题,所以,几个博士生加入了新的技术来进一步开发查找技术,但是这个想法本身是在各个领域的。应用于当随机情况数量很大时,它对于在某些条件下找到大规模优化很有用。

百科词条作者:小小编,如若转载,请注明出处:https://glopedia.cn/263885/

(3)
词条目录
  1. 什么是模拟退火
  2. 伪代码

轻触这里

关闭目录

目录