1
模式识别与智能计算的MATLAB实现
1.11.4.3 9.4.3 模拟退火算法中的控制参数
9.4.3 模拟退火算法中的控制参数

从模拟退火算法的基本过程可知,其收敛速率取决于参数T和LN的选择。如何合理地选择一组控制算法进程的参数,用以逼近模拟退火算法的渐近收敛状态,使算法在有限的时间内返回一个近似最优解,是算法的关键。

控制参数包括以下几个参数。

(1)控制参数初始值T0

充分大的T0会使得算法的进程一开始就达到准平衡。

(2)控制参数T的衰减函数Tk

衰减函数的原则是以小为宜,这样可以避免过长的马尔可夫链和导致算法进程迭代次数的增加。最简单的控制参数衰减函数是

Tk+1=αTk(k=0,1,2,…)

其中,α是接近于1的常数,常用0.5~0.99,也可以选择以下的衰减函数:

alt

其中,k为步长;Tk为第k步时的控制参数值;T0为初始温度;D为问题的参数个数;m、n为控制参数衰减速度的常数,可根据需要调节。

(3)控制参数T的终值Tf

终值通常由停止准则确定。合理的停止准则既要保证算法收敛于某一近似解,又要使最终解具有一定的质量。常用的是Kirkpatrick等提出的停止准则:在若干个马尔可夫链中解无任何变化(含优化和恶化)就终止算法。

(4)马尔可夫链长度Lk

马尔可夫链长度的选取原则是:在控制参数的衰减函数已确定的情况下,Lk应选得在控制参数的每一取值上都能恢复准平衡。Lk的选取与控制参数Tk的衰减量密切相关,通常选取Tk的小衰减量,Lk值选得适当大。