模拟退火算法原理及改进

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

作者简介:李香平(1978 ̄),男,湖北监利人,中国地质大学计算机学院硕士研究生,研究方向为科学研究与可视化;张红阳(1982 ̄),男,湖北咸宁

人,中国地质大学计算机学院硕士研究生,研究方向为数据挖掘与数据仓库。

模拟退火算法原理及改进

李香平,张红阳

(中国地质大学计算机学院,湖北武汉430074)

要:模拟退火算法是一种强大的随机搜索算法,能应用于许多前提信息很少的问题,能渐进地收敛于最优值。对

SA算法进行了介绍,论述了SA算法的原理并对算法进行了改进,展示了计算实验的结果。

关键词:模拟退火;全局优化中图分类号:TP312

文献标识码:A

文章编号:1672-7800(2008)04-0047-02

0引言

近年来,传统的单一算法越来越不适应大规模非线性规划

问题。它们要求目标函数是可微的和收敛的。SA能很好地弥补它们的缺陷。

从用于统计力学的MonteCarlo方法上受到启发,SA算法在

1983被Kirkpatrick提出来。对比传统局部搜索算法,SA在搜索

时会在搜索空间上下移动而不依赖初始条件,擅长解决多维问题。此外,它能处理任意程度的非线性、

不连续和随机的问题。能处理任意边界和约束的评估函数。因此,它能轻易处理有脊背和高地的函数。只要初温高、退火表适当,它就能得到全局最优。SA成功应用于组合优化、神经网络、图像处理和代码设计。

1模拟退火算法原理

组合优化问题是在给定的约束条件下,求目标函数的最值

的问题。设(S,f)是组合优化问题的一个实例,iopt∈S若对所有

i∈S,都有f(iopt)≥f(i),则称f(iopt)≤f(i)为minf(i)的最优解。

SA来源于物理热力学原理,综合了固体退火与组合优化

之间的类似性。类似固体的复杂系统,先被加热到一个物质粒子能自由移动的很高的温度,当它慢慢冷却时,它的能量减少。如果“冷却”过程足够慢,系统将忽略局部稳定构造,到达能量最低状态,即基态。

在模拟的每一步中,新解的产生按照Metropolistransition法则,一个新的状态从现有的状态中产生,这个法则能以一定的概率接受能量上升(即产生劣解)的新状态,而能量下降是优化的总目的。法则如下所示:

p(x=>y)=

1,

f$%y≤f$%xexp-f$%

xf$%y

$

%

otherwis&e

f是系统能量,t是温度。SA的一般框架:

Generatedinitialstateatrandom;Generatedinitialtemperature;REPEATREPEAT

y=generate(,);

IFaccept(,y,)THEN=y

UNTIL'innerloopstopcriterion'satisfied

为了提高SA的性能,我们应该仔细处理控制参数的协调。(1)初始温度的选择。初始温度太高会花费高昂的计算时间,太低会拒绝劣解的接受,会丢失SA全局优化的优点。本文提出了一个初始温度的公式:

t0=’f+

lnx

-1

’f+

是函数增量的平均值,χ

是初始的接受概率。(2)温度降低策略。温度降低越快,陷入局部的概率就越大。然而,温度降低太慢会导致算法速度慢得不能接受。本文采用了一种快速的非线性降低法:

tk=

t0

1+k

k=1,2,3,……

(3)适当的邻域结构。在退火期间,步长太小导致算法在探索相位空间效率低,太大新解总被拒绝。在持续优化时,新的等价值均一地按间距分布在以xi的坐标为中心的邻域中,沿轴的间距的一半被看作步长向量ξ。当点落在f的定义域内时,就随机产生新解。

(4)终止标准。内循环是单一温度下在各种条件下Marcov链的一种渐进接近全局最优的模拟实现,即循环Marcov链长次数结束。外循环取某个温度t作为算法终止标准,或者是迭代若

软件导刊

SoftwareGuide

第7卷第4期

2008年4月Vol.7No.4Apr.2008

2008年

软件导刊ImprovementofSimulatedAnnealingAlgorithm

Abstract:simulatedannealingisapowerfulstochasticsearchalgorithmapplicabletoawiderangeofproblemsforwhichlittlepriorknowledgeisavailable,anditasymptoticallyprobabilisticallyconversetoaglobaloptimum.Inthepaper,itwillgiveabriefintroductiontosimulatedannealinganditsimprovement,reportedcomputationalexperience.Thisresultshowsthattheapplicationofsimulatedannealingtocomputationofoptimizationproblemsisencouraginganditdeservesfurtherresearch.KeyWords:SimulatedAnnealingAlgorithm;globaloptimum

干连续的Marcov链后解的变化小于某个小数值结束,本文取第2种作为算法终止标注。

2算法的改进及数值例子

在SA算法中,搜索机制是很重要的部分。尽管先前的方法

很容易实现,但它的效率较低。本文对此做出了一些改进,使用了一种更具有适应性的搜索方法:

!xk+1=

!k+1

"!xk

fxk+"#1<fx"$k

-!k+1

"!x

otherwise

是均匀分布在[0,1]区间的任意变量,!k+1

是第k+1次循环的步长参数。!xk

是第k次循环时的增量。

本文以如下优化为例测试改进后的SA算法的性能:

minf(x)=sinxy+x2+y2,-100≤x,y≤100(全局最优点是(0,0))

冷却进度表取为:t0=50,Lk=500,tp=0.000005,α=0.95。初始解取(100,100),(20,-20),(0.5,-0.5),迭代结果如表1所示。

由表1可知,在任意的初值下,经过一定次数的迭代后,结

果非常接近,都能找到最优解,最初解与结果关系不大,好的初值并非肯定有好的结果,充分表明SA算法对初值不敏感。

3结束语

SA是一种强大的随机搜索算法,具有对初始点的不依赖

性,可以任意选取初始解和随机序列,应用广泛。SA普及的最重要的原因是能在复杂的情况下产生更高质量的解,因此,它特别适用于非线性和复杂的系统。在多目标优化领域,SA还处于起步阶段,在种群选择以及如何与Pareto前沿结合等方面,还需要进一步地研究,SA具有广阔的发展前景。

参考文献:[1]

LIHUAWUandYUYUNWANG.AnIntroductiontoSimulatedAnnealingAlgorithmsfortheComputationofEconomicEquilibri-um.InstituteofSysyemScience,AcademiaSinica,Beijing100080,P.Rchina,1997

[2]

DSJohnson,CRAragon,LAMcGeoch.CSchevon.Optimiza-tionbysimulatedannealing:anexperimentalevaluation,Part1,AT&TbellLaboratories,MurrayHill(NJ),1999.

[3]PJMVanlaarhoven,EHLAarts.simulatedannenling:theoryandapplications,DReidel,1987.

(责任编辑:杜能钢)

初值(x0,y0)(100.0,100.0)(20.0,-20.0)(0.5,-0.5)

求解结果(x,y)函数值f(x,y)

(0.000011,0.000014)

0.0000000002(0.000004,0.000012)

0.00000000013(0.000008,0.000015)

0.00000000015

表1

不同初值下的模拟退火算法求解的结果

48・・

相关文档
最新文档