模拟退火算法原理及改进

第7卷第4期

软件导刊

2008年4月SoftwareGuide

Vol.7No.4Apr.2008

模拟退火算法原理及改进

李香平,张红阳

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

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

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

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

文献标识码:A

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

0引言

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

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

Generatedinitialstateatrandom;Generatedinitialtemperature;REPEATREPEAT

y=generate(,);

IFaccept(,y,)THEN=y

UNTIL'innerloopstopcriterion'satisfied

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

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

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

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

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

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

1模拟退火算法原理

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

t0=’flnx

是初始的接受概率。’f是函数增量的平均值,χ

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

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

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

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

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

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

tk=

t0

k=1,2,3,……

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

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

p(x=>y)=

&1,

f$x%

exp-$%,

%

f$≤f$y%x%otherwise

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

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

・48・软件导刊2008年

干连续的Marcov链后解的变化小于某个小数值结束,本文取第果非常接近,都能找到最优解,最初解与结果关系不大,好的初值并非肯定有好的结果,充分表明SA算法对初值不敏感。

2种作为算法终止标注。

2算法的改进及数值例子

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

3结束语

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

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

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

参考文献:[1]

!xk+1=

!x,

%-!!""!x

k+1

k+1

f"<f"$xk+1#xk

otherwise

k+1

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

的步长参数。!x是第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可知,在任意的初值下,经过一定次数的迭代后,结

表1

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

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

(20.0,-20.0)(0.000004,0.000012)

(0.5,-0.5)

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

[2]

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

(100.0,100.0)(0.000011,0.000014)

(0.000008,0.000015)

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

(责任编辑:杜能钢)

0.00000000020.000000000130.00000000015

ImprovementofSimulatedAnnealingAlgorithm

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

第7卷第4期

软件导刊

2008年4月SoftwareGuide

Vol.7No.4Apr.2008

模拟退火算法原理及改进

李香平,张红阳

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

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

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

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

文献标识码:A

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

0引言

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

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

Generatedinitialstateatrandom;Generatedinitialtemperature;REPEATREPEAT

y=generate(,);

IFaccept(,y,)THEN=y

UNTIL'innerloopstopcriterion'satisfied

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

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

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

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

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

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

1模拟退火算法原理

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

t0=’flnx

是初始的接受概率。’f是函数增量的平均值,χ

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

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

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

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

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

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

tk=

t0

k=1,2,3,……

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

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

p(x=>y)=

&1,

f$x%

exp-$%,

%

f$≤f$y%x%otherwise

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

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

・48・软件导刊2008年

干连续的Marcov链后解的变化小于某个小数值结束,本文取第果非常接近,都能找到最优解,最初解与结果关系不大,好的初值并非肯定有好的结果,充分表明SA算法对初值不敏感。

2种作为算法终止标注。

2算法的改进及数值例子

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

3结束语

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

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

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

参考文献:[1]

!xk+1=

!x,

%-!!""!x

k+1

k+1

f"<f"$xk+1#xk

otherwise

k+1

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

的步长参数。!x是第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可知,在任意的初值下,经过一定次数的迭代后,结

表1

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

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

(20.0,-20.0)(0.000004,0.000012)

(0.5,-0.5)

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

[2]

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

(100.0,100.0)(0.000011,0.000014)

(0.000008,0.000015)

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

(责任编辑:杜能钢)

0.00000000020.000000000130.00000000015

ImprovementofSimulatedAnnealingAlgorithm

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


相关文章

  • 模拟退火算法的旅行商问题的实现
  • 基于模拟退火算法的旅行商问题的实现 摘 要: 主要介绍了模拟退火算法的原理以及应用,并且将遗传算法应用于解决旅行商问题. 关键词:模拟退火算法 旅行商问题 中图分类号: 文献标识码:A 文章编号:1006-7043 (2004) xx-xx ...查看


  • 智能优化算法概述
  • 本栏目责任编辑:李桂瑾人工智能及识别技术 智能优化算法概述 蒋腾旭 (九江职业大学计算机系,江西九江332000) 摘要:本文简要介绍了几种常见的智能优化算法,并给出了不同智能优化算法的优缺点及在优化应用领域的使用情况,指出了不同智能优化算 ...查看


  • 解决JobShop调度问题的模拟退火算法改进
  • 计 算 机 工 程 第 32 卷 第21期 Vol.32 No.21 Computer Engineering · 博士论文 · 文章编号:1000-3428(2006)21-0038-03 2006年11月 November 2006 文 ...查看


  • 遗传算法概述
  • 遗传算法概述 摘要:遗传算法(genetic algorithms, GA)是人工智能的重要新分支,是基于达尔文进化论,在微型计算机上,模拟生命进化机制而发展起来的一门学科.它根据适者生存.优胜劣汰等自然进化规则来进行搜索计算机和问题求解. ...查看


  • 智能优化算法综述
  • Nanjing University of Science and Technology 智能优化算法的统一框架 110040692 5班 2011年6月20日 目录 1 概述................................ ...查看


  • 混合智能算法及其在供水水库群优化调度中的应用
  • 水 2007年12月利SHUILI学XUEBAO报第38卷第12期文章编号:0559.9350(2007)12-1437一07 混合智能算法及其在供水水库群优化调度中的应用 刘卫林1'2,董增川1,王德智3 (1.河海大学水文水资源与水利工 ...查看


  • 粒子群算法及应用
  • 本书简介 粒子群算法是一种新的模仿鸟类群体行为的智能优化算法,现已成为进化算法的一个新的重要分支.全书共分为八章,分别论述了基本粒子群算法和改进粒子群算法的原理,并且详细介绍了粒子群算法在函数优化.图像压缩和基因聚类中的应用,最后给出了粒子 ...查看


  • 十大经典数学模型
  • 十大经典数学模型 1.蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟来检验自己模型的正确性,是比赛时必用的方法) 2.数据拟合.参数估计.插值等数据处理算法(比赛中通常会遇到大量的数据需要处理,而 ...查看


  • 数学建模论文摘要.论文.正文的写作方法
  • <数学建模>论文 摘要.论文正文的写作方法 我们知道,在数学建模比赛中,评定参赛队的成绩好坏.高低,获奖级别,数模论文,是唯一依据.所以,写好数学建模论文,对于整个比赛的成败与否,非常的关键.现在我结合阅卷中的一些实际,对数模论 ...查看


热门内容