
1. 概述
在管理科学、计算机科学、分子物理学、生命科学,以及超大规模集成电路设计、代码设计、图像处理和电子工程等领域,存在大量的组合优化问题。这些问题中,诸如货郎担问题、图着色问题、设备布局问题以及布线问题等,至今仍缺乏有效的多项式时间算法,均被证明为NP完全问题。
1982年,KirkPatrick将退火原理引入组合优化领域,提出了一种算法用于解决大规模组合优化问题,尤其在NP完全问题上取得了显著的效果。这种思想源于固体的退火过程,即通过将温度初始升高然后缓慢降温的方式,使系统最终达到能量的最低状态。如果骤然降温(即淬火),则无法实现这一目标。
在相关文献中提到:“模拟退火是一种可以应用于任何基于连续更新步骤(无论是随机还是确定性)进行最小化或学习过程的技术,其中更新步骤的长度与任意设置的参数成正比,该参数可视为温度。随后,仿照金属退火的过程,初期阶段将温度设置得较高以加快最小化或学习过程,然后逐步降低温度以增强系统的稳定性。”
因此,模拟退火算法是一种能够应用于最小值问题或基本更新学习过程(随机或确定性)的方法。在此过程中,每一步的更新都会受一个对应参数的影响,这一参数在算法中充当温度的角色。与金属退火原理相似,在初始阶段温度被设定为较高以便快速收敛,随后才慢慢降低以便寻求稳定。
2. 模拟退火算法的主要思想
针对函数最小值问题,模拟退火的基本思想是:在搜索范围(二维平面中)随机游走(即随机选择点),根据Metropolis抽样准则,使随机游走逐渐收敛至局部最优解。在这一过程中,温度作为Metropolis算法中的重要控制参数,决定了在搜索过程中向局部最优解或全局最优解移动的速度。
冷却参数表、领域结构、新解生成器、接受准则和随机数生成器(即Metropolis算法)共同构成了算法的三大支柱。
3. 重点抽样与Metropolis算法
Metropolis算法是一种高效的重点抽样方法,其基本流程为:系统从一个状态E1转换至另一状态E2时,该状态转变的概率为p = exp[(E2-E1)/kT]。在E2小于E1的情况下,系统将接受这一状态;而在E2大于E1时则以一定的随机概率决定是否接受该状态。经过多次迭代,系统最终将收敛到一个稳定的分布状态。
在重点抽样过程中,如果新的状态下降则直接接受(即局部最优),而若状态上升,则以一定概率接受该状态(即进行全局搜索)。模拟退火方法从某一初始解出发,经过大量解空间变换后,可以在给定控制参数值时获得组合优化问题的相对最优解。然后通过降低控制参数T的值,重复执行Metropolis算法,最终在T趋近于零时求得组合优化问题的整体最优解,需确保控制参数的值缓慢衰减。
4. 参数的选择
我们将调整模拟退火法的一系列重要参数称为冷却进度表。该进度表涵盖控制参数T的初值及衰减函数、相应的马尔可夫链长度以及停止条件,这些都是非常关键的。
一个有效的冷却进度表应当规定以下参数:
1. 控制参数T的初值T0;
2. 控制参数T的衰减函数;
3. 马尔可夫链的长度Lk(即每次随机游走应迭代多少次,使之趋势于准平衡分布,达到一个局部收敛解位置);
4. 结束条件的选择。
有效的冷却进度表评判标准包括:
一、算法的收敛性:这主要依赖于衰减函数、马尔可夫链长度及停止准则的选择。
二、算法的实验性能:最终解的质量及所消耗的CPU时间。
参数选择的考虑:
1) 控制参数T0的初值选择
一般要求初始值T0较大,以确保系统在高温状态下,且Metropolis的接收概率接近1。
2) 衰减函数的选择
衰减函数用于控制温度的退火速度,常用的形式为:T(n + 1) = K*T(n),其中K为接近1的常数。
3) 马尔可夫链长度L的选择
原则上,确定了衰减参数T的衰减函数后,应确保在每一控制参数取值下,L能实现准平衡的恢复。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关AI热点
暂无评论...