模拟退火算法及其改进_蒋龙聪

合集下载

余弦退火算法

余弦退火算法

余弦退火算法
余弦退火算法(Cosine Annealing)是一种改进的模拟退火算法,它可以有效地帮助机器学习者提高模型的性能。

它具有很好的优化性能,可以有效地减少训练模型时的时间和计算资源消耗。

余弦退火算法可以用来优化深度学习模型的参数。

它的基本原理是:使用余弦函数来控制模型的学习率,使其在训练过程中具有指数衰减的特性,从而达到模型性能的最优化。

余弦退火算法的工作原理是:首先,设定初始学习率,然后通过余弦函数对学习率进行衰减,逐渐降低学习率,从而达到最优化的效果。

当学习率衰减至一定程度,模型就可以达到最优解。

余弦退火算法的优点是:它可以有效地控制学习率的衰减,使模型更容易收敛到最优解。

另外,它还可以帮助模型在训练过程中更加稳定,减少模型波动的可能性。

除此之外,余弦退火算法也可以用于更新模型参数,使模型更加精确。

当模型收敛至最优解时,可以使用余弦函数来更新模型参数,从而获得更准确的模型结果。

总而言之,余弦退火算法是一种改进的模拟退火算法,它可以帮助机器学习者更有效地优化深度学习模型,并有效地提高模型性能。

模拟退火算法

模拟退火算法

模拟退火算法作者:陈道蓄来源:《中国信息技术教育》2021年第03期“人工智能”無疑是当前最流行的词语之一。

不过现在能看到的智能应用技术,包括机器学习,基本上还无法得到脑科学等研究成果的直接支撑。

这些应用的成功在很大程度上还是依赖于计算机科学技术领域内的算法创新。

下面,我们以一种智力游戏为例,让读者体会应用层面上的“智能”背后的算法支撑。

● 涂色方块拼接游戏在平面上的矩形框内有m×n个小方块,按照m行n列排放。

每个方块面上被两条对角线分为四个三角形区域,每个三角形可以从四种颜色中任选一种着色。

(如图1所示,在后面的讨论与算法实现中用数字表示颜色)给定一种排列,相邻方块邻接边两侧的三角区域颜色可能相同也可能不同(如图2)。

任意给定的m×n个方块在矩形框中按某种排列构成游戏的一次输入,对其内部任意边界线段(不包括贴框的边),若两侧的三角形颜色相同则记1分。

玩家每一步可任选两个方块相互交换位置(也称“置换”),但不可旋转,通过置换操作争取尽可能的高分。

置换次数并无限制。

(显然,内部边界线段数是可能的最高分)图2所示是一个3×4的例子。

本文约定:输入中的每个小方块用集合{1,2,3,4}中元素构成的一个四元组表示。

从顶部起始,按照顺时针方向标示相应三角区中的颜色,如图2中第一行输入是(1,1,2,2),(3,1,1,4),(3,2,4,4),(2,4,1,3)。

这个例子很小,不难看出其得分值为6,如图3所示。

同样也不难看出如果交换最下面一行中第1和第4个小方块,则得到如图4所示的布局,分值增加为8。

但即便是这么小的例子,我们也不易确定如何能进一步提高分值,更难以确定达到多少就是最优解。

12个小方块可能的排列有12!种。

这个值大约为4.8亿。

想用穷尽的方法确认最优解显然不容易。

笔者在笔记本电脑中尝试执行100万次简单循环大约消耗8秒的CPU时间,由此可以推想将12!种可能的排列扫描一遍大约耗时1个小时。

模拟退火算法算法

模拟退火算法算法
1.2 Metropolis准则

Metropolis准则(1953)——以概率接受新状态 若在温度T,当前状态i → 新状态j 若Ej<Ei,则接受 j 为当前状态;
否则,若概率 p=exp[-(Ej-Ei)/kBT] 大于[0,1)区间 的随机数,则仍接受状态 j 为当前状态;若不成 立则保留状态 i 为当前状态。

Monte Carlo方法
Monte Carlo 方法的基本思想很早以前就被人 们所发现和利用。 早在17世纪,人们就知道用事件发生的“频率” 来决定事件的“概率”。 Buffon试验:19世纪人们用投针试验的方法来 求解圆周率π。 本世纪40年代电子计算机的出现,特别是近年 来高速电子计算机的出现,使得用数学方法在 计算机上大量、快速地模拟这样的试验成为可 能。
最优解
设定初温 Metropolis抽样过程 控制参数的下降
能量最低的状态
熔解过程 等温过程 冷却
目标函数
能量
物理退火过程
物理退火过程
• • • • • • •
模拟退火算法

• •
物体内部的状态 状态的能量 温度 熔解过程 退火冷却过程 状态的转移 能量最低状态
问题的解空间
解的质量 控制参数
类比关系
E ( s) Z (T ) exp k T sD B 温度低时能量低的微观状态概率大,温度趋于零时, 固体几乎处于概率最大能量最小的基态。
1 模拟退火算法概述
1.1 固体退火过程

数学表述
在同一个温度T,选定两个能量E1<E2,有
E1 E2 E1 1 P{E E1} P{E E2 } exp 1 exp Z (T ) k T k T B B

模拟退火算法和遗传算法

模拟退火算法和遗传算法

模拟退⽕算法和遗传算法爬⼭算法在介绍这两种算法前,先介绍⼀下爬⼭算法。

爬⼭算法是⼀种简单的贪⼼搜索算法,该算法每次从当前解的临近解空间中选择⼀个最优解作为当前解,直到达到⼀个局部最优解。

爬⼭算法实现很简单,其主要缺点是会陷⼊局部最优解,⽽不⼀定能搜索到全局最优解。

如图1所⽰:假设C点为当前解,爬⼭算法搜索到A点这个局部最优解就会停⽌搜索,因为在A点⽆论向那个⽅向⼩幅度移动都不能得到更优的解。

模拟退⽕算法(SA)为了解决局部最优解问题, 1983年,Kirkpatrick等提出了模拟退⽕算法(SA)能有效的解决局部最优解问题。

模拟退⽕其实也是⼀种贪⼼算法,但是它的搜索过程引⼊了随机因素。

模拟退⽕算法以⼀定的概率来接受⼀个⽐当前解要差的解,因此有可能会跳出这个局部的最优解,达到全局的最优解。

算法介绍我们知道在分⼦和原⼦的世界中,能量越⼤,意味着分⼦和原⼦越不稳定,当能量越低时,原⼦越稳定。

“退⽕”是物理学术语,指对物体加温在冷却的过程。

模拟退⽕算法来源于晶体冷却的过程,如果固体不处于最低能量状态,给固体加热再冷却,随着温度缓慢下降,固体中的原⼦按照⼀定形状排列,形成⾼密度、低能量的有规则晶体,对应于算法中的全局最优解。

⽽如果温度下降过快,可能导致原⼦缺少⾜够的时间排列成晶体的结构,结果产⽣了具有较⾼能量的⾮晶体,这就是局部最优解。

因此就可以根据退⽕的过程,给其在增加⼀点能量,然后在冷却,如果增加能量,跳出了局部最优解,这本次退⽕就是成功的。

算法原理模拟退⽕算法包含两个部分即Metropolis算法和退⽕过程。

Metropolis算法就是如何在局部最优解的情况下让其跳出来,是退⽕的基础。

1953年Metropolis提出重要性采样⽅法,即以概率来接受新状态,⽽不是使⽤完全确定的规则,称为Metropolis准则。

状态转换规则温度很低时,材料以很⼤概率进⼊最⼩能量状态模拟退⽕寻优⽅法注意事项理论上,降温过程要⾜够缓慢,使得在每⼀温度下达到热平衡。

求解三维装箱问题的混合遗传模拟退火算法

求解三维装箱问题的混合遗传模拟退火算法

三维装箱问题是一类经典的组合优化问题,在计算机科学和工程等领域中具有广泛的应用。

解决这个问题可以采用混合遗传模拟退火算法,其基本过程如下:
1. 初始化种群
初始时,生成一组随机的箱子序列,并将它们作为初始种群。

2. 选择操作
根据每个箱子的适应度(即“剩余体积”或“填装率”),从当前种群中选择一些个体作为父代进入下一步的交叉操作。

3. 交叉操作
选定两个父代,根据某种交叉算法将它们的部分染色体进行交换,形成新的子代个体。

4. 变异操作
从产生的子代个体中,按照一定概率随机地选择一个箱子进行变异。

变异操作包括修改该箱子的位置、角度或大小等。

5. 模拟退火操作
对变异后的子代个体进行一定次数的模拟退火操作,以达到全局最优解。

6. 更新操作
根据产生的新个体和当前的种群,更新选择出下一代种群。

7. 终止条件
当达到指定迭代次数或者找到符合要求的最优解时,停止搜索。

通过以上操作,混合遗传模拟退火算法可以逐步寻找最优解,解决三维装箱问题。

需要注意的是,如何定义“适应度”函数是影响算法效果的关键因素,需要仔细考虑和调节。

同时,由于该问题具有很高的复杂性,算法的具体实现还需要根据具体情况进行一些调整和优化。

模拟退火算法及其改进

模拟退火算法及其改进

模拟退火算法及其改进
刘怀亮
【期刊名称】《广州大学学报(自然科学版)》
【年(卷),期】2005(4)6
【摘要】介绍了模拟退火算法的背景、原理和具体实现方法,分析了它的不足之处,讨论了它的改进措施,并进行了仿真实验验证.
【总页数】4页(P503-506)
【作者】刘怀亮
【作者单位】广州大学,信息与机电工程学院,广东,广州,510006
【正文语种】中文
【中图分类】TP15
【相关文献】
1.基于模拟退火算法改进粒子群算法优化数学函数 [J], 朱焕雄
2.基于改进模拟退火算法的虚拟机调度优化方法 [J], 宋杨
3.求解带序列相关准备时间双边装配线平衡问题的改进模拟退火算法 [J], 赵瀚明;唐秋华;蒙凯;李梓响;张子凯
4.基于OWA算子改进模拟退火算法的路线规划研究 [J], 赵人行;郭旭萌;霍俊生;赵景林
5.基于改进模拟退火算法的登机口分配问题 [J], 谢维;关嘉欣;周游;朱文斌
因版权原因,仅展示原文概要,查看原文内容请购买。

模拟退火算法与遗传算法

模拟退火算法与遗传算法
模拟退火算法(Simulated Annealing,SA)和遗传算法(Genetic Algorithms,GA)是两种常用的优化算法,分别简要介绍如下:
1. 模拟退火算法(Simulated Annealing,SA):模拟退火是一种基于物理退火原理的优化算法。

该算法在搜索过程中,根据某一概率接受一个比当前解要差的解,因此有可能会跳出局部最优解,达到全局最优解。

它的优点是能够在全局范围内搜索到最优解,具有较好的鲁棒性,适用于多峰值、非线性、离散、连续等问题的优化。

在求解组合优化问题和离散优化问题上模拟退火表现良好。

2. 遗传算法(Genetic Algorithms,GA):遗传算法是一种基于自然选择和遗传学原理的优化算法。

它通过模拟生物进化过程中的自然选择和遗传机制,如选择、交叉、变异等操作,在解空间内搜索最优解。

遗传算法具有较好的全局搜索能力,能够处理复杂的、非线性的、离散的优化问题。

在求解连续函数优化问题和组合优化问题上表现良好。

总之,模拟退火算法和遗传算法都是非常有效的优化算法,各有其适用范围和优点。

在实际应用中,可以根据问题的类型和特点选择合适的算法进行优化求解。

模拟退火算法介绍

模拟退火算法介绍模拟退火算法(Simulated Annealing,SA)是一种基于蒙特卡洛方法的优化算法,由Kirkpatrick等人于1983年提出。

它模拟了固体物体从高温到低温时退火的过程,通过模拟这一过程来寻找问题的最优解。

首先,模拟退火算法需要生成一个初始解。

初始解是随机生成的,它代表了问题的一个可能解。

初始解的生成可以采用随机数生成方法,或者使用其他启发式算法生成。

然后,算法需要定义一个邻域结构来解空间。

邻域结构定义了问题的解的相邻解之间的关系。

在退火算法中,邻域结构是动态变化的,随着算法的进行,邻域结构会不断调整以适应的需求。

在退火准则方面,模拟退火算法使用了一个“接受准则”来决定是否接受一个邻域解。

接受准则基于Metropolis准则,它比较了当前解和邻域解之间的差异以及温度参数。

如果邻域解的质量更好,那么就接受它;否则,以一定的概率接受较差的解。

这个概率与温度成正比,随着温度降低,接受较差解的概率逐渐减小。

在算法的每个迭代中,温度参数会随着迭代次数逐渐降低,这意味着算法逐渐从随机转变为局部。

温度参数的降低速率决定了算法的接受较差解的概率的减小速率。

温度参数的决定是关键,它通常是一个退火函数的参数,根据经验选择。

总的来说,模拟退火算法是一种随机化的优化算法,通过模拟物理退火过程,在解空间时能够克服局部最优解,从而寻找全局最优解。

它的应用范围广泛,涵盖了诸多领域,如组合优化、图像处理、网络设计等。

但是,模拟退火算法的收敛速度相对较慢,需要很多次迭代才能找到最优解,因此在实际应用中需要根据具体问题进行合适的调整和优化。

模拟退火算法及其在最优化中的应用

模拟退火算法及其在最优化中的应用随着计算机科学的不断发展,求解模型的最优解已成为一项重要课题。

而对于许多实际问题来说,求解最优解是一个 NP 难问题。

因此,人们常常使用各种算法来解决这些问题。

模拟退火算法作为一种求解 NP 难问题的启发式算法,越来越受到学术界和工业界的关注。

一、模拟退火算法的原理模拟退火算法源于统计物理学中的模拟物理过程。

它的核心思想是以一定的概率接受比当前状态差的解,为了避免陷入局部最优解,随着时间的推移逐渐减小概率。

在求解问题时,模拟退火算法首先会随机选择一个初始解,然后根据一定的规则来生成邻域解。

接下来,算法会计算这个邻域解与当前最优解之间的差距,如果邻域解更优,那么它就成为新的最优解;否则,按照一定的概率接受它,以避免陷入局部最优解。

这个概率与当前的温度有关。

在初始阶段,温度非常高,此时概率极大,那么算法就更有可能接受一个比最优解差的解。

但随着时间的推移,温度越来越低,概率就越来越小,这时算法的行为就趋向于贪心算法,只会接受更优的解。

二、模拟退火在最优化中的应用模拟退火算法广泛应用于组合优化问题,如图形着色、旅行商问题、背包问题等。

它也可以用于解决连续优化问题,如函数最大值或最小值的求解。

在实践过程中,模拟退火算法已经被证明是一种有效、高效的求解方法。

下面我们以图形着色问题为例来说明模拟退火算法的应用。

给定一个图 $G=(V,E)$,要求每个顶点 $v_i \in V$ 都染上一种颜色,使得相邻的两个点不会被染上相同的颜色。

这就是图形着色问题,也是一个 NP 难问题。

对于这个问题,我们可以用模拟退火算法来求解。

首先我们随机给每个顶点染上一种颜色,然后计算与当前方案不同的解,每次取这些解中最优的一个。

如果这个解比当前最优的解更优,那么它成为新的最优解。

否则,以一定的概率接受新的解,以避免陷入局部最优解。

在实际应用中,我们通常将温度初始值设为一个稍大于 1 的常数,然后进行一定的迭代次数,直到温度降到一个极小值。

模拟退火算法改进综述及参数探究

先用有记忆的模拟退火算法对初始解求解在退火结束时再对所得最终解施行局部搜索算法第31卷315保持温度不下降改进最优解的选取方法4此方法适用于离散情形的优化问题在整个算法的执行中保持温度不下降即降温函数使用常值函数tkt0估计最优解的方法有两种一种是记录下所有迭代中算法最常访问的点将这个点作为最优解另一种是用具有最优目标函数估计值的状态作为最优解的状态用这个值作为最优解估计值
[关键词] 模拟退火算法;改进;总结;Sobol’g函数;参数 [中 图 分 类 号 ]O29 [文 献 标 识 码 ]C [文 章 编 号 ]1672-1454(2015)06-0096-08
1 引 言
模拟退火算法 (Simulated Annealing Algorithm,SAA)是一种应用广泛的随机智能优化算法,最早 的思想是由 Metropolis等人于1953年提出.1983 年,Kirkpatrick 等 成 功 地 将 退 火 思 想 引 入 到 组 合 优
坐标原点的有界区域,令正整数k′ 为任意迭代次数,温度函数应使得当所有迭代次数k 满足k >k′ 时, 所产生的新解全部落在 A 内的概率等于零,温度函数应与k 的幂函数成反比ห้องสมุดไป่ตู้与优化问题的变量维数
无关.另一方面,构造产生随机向量的概率密度函数.依照这一启发式准 则 及 特 定 的 产 生 随 机 向 量 的 概
[收 稿 日 期 ]2015-09-29 [基 金 项 目 ]985 资 助 项 目 (国 家 级 大 学 生 创 新 创 业 训 练 计 划 (3010400040))
第 6 期 卢 宇 婷 ,等 :模 拟 退 火 算 法 改 进 综 述 及 参 数 探 究
求,不断有国内外学者对模拟退火算法进行研究改进,以提高传统模拟 退 火 算 法 的 性 能.模 拟 退 火 算 法
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net第4卷第2期2007年4月 工程地球物理学报CHINESEJOURNALOFENGINEERINGGEOPHYSICSVol14,No12Apr1,2007

文章编号:1672—7940(2007)02—0135—06

模拟退火算法及其改进蒋龙聪,刘江平(中国地质大学地球物理与空间信息学院,武汉430074)

作者简介:蒋龙聪(1983—),男,硕士研究生,现在主要从事地震数据处理和反演理论方法研究。E2mail:longcja@gmail.com

刘江平(1957—),男,教授,博士生导师,主要从事地震勘探的科研与教学工作。E2mail:liujp@cug.edu.cn

摘 要:

借鉴遗传算法中的非均匀变异思想,用非均匀变异策略对当前模型扰动产生新的模型,对传统的模

拟退火算法提出了改进,通过多峰值函数数值优化测试结果表明,该算法在高温的时候能够进行大范围的搜索,随着温度的降低,逐渐缩小解的搜索范围,大大加快了收敛速度,证实了该改进算法的有效性和高效性。关键词:

模拟退火算法;非均匀变异;数值最优化;反演

中图分类号:P631文献标识码:A收稿日期:

2006—12—07

RevisedSimulatedAnnealingAlgorithmJiangLongcong,LiuJiangping(InstituteofGeophysicsandGeomatics,ChinaUniversityofGeosciences,Wuhan430074,China)

Abstract:Basedontheideaofnon2uniformmutationingeneticalgorithm,wepresentanovelrevisedsimulatedannealing(RSA),whichusedthenon2uniformmutationtogenerateanewmodelfromcurrentmodel.Testedbysomenumericalfunctions,RSAcansearchinthelargeareaforthesolutionsinhightemperature.Withtheloweringofthetemperature,theareaofsearchingthesolutionswillbegraduallyreducedandconvergencewillspeedup.Sothere2sultsprovetheeffectivenessofRSA.Keywords:simulateannealing;non2uniformmutation;numericaloptimal;inversion

1 引 言人类对地球内部物理性质(包括速度、密度、电导率、温度等)以及矿产资源分布的了解,大多来自地表地质和地球物理、地球化学资料的反演和解释[1]。反演方法可以分为线性反演和非线性反演两种,线性反演已成为一套科学的反演理论,

然而,绝大部分地球物理问题都是非线性的,并且实践表明,线性反演方法有容易陷入局部极值和依赖于初始值等缺点。因此,地球物理学者们不断的尝试开发非线性反演方法,比如人工神经网络[2]、小波多尺度反演[3]、模拟退火算法[4]等。模拟退火算法是近年发展起来的全局最优化算法,其主要优点是;不用求目标函数的偏导数及解大型矩阵方程组,即能找到一个全局最优解,而且易于加入约束条件,编写程序简单。目前此法已开始用于解决非线性地球物理反问题,如波形反演、静校正、叠前偏移速度分析等非线性反演中,并取得了较好的效果。然而,由于模拟退火法是建立在随机搜寻方法的基础上,要达到一定的精度要求,每一模型参© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net

数的离散点必须足够大。每次迭代必须进行多次目标函数计算,因而在处理实际资料时计算效率不高,影响着它的广泛应用。为了提高模拟退火算法的计算效率,出现了许多改进的方法,如采用依赖温度的Cauchy或似Cauchy分布代替常规模拟退火方法中的高斯分布产生新模型,基于Cauchy分布产生新模型的优点是,高温状态下可进行大范围的搜索,低温状态下只在当前模型附近进行搜索,而且由于似Cauchy分布有一个平坦的“尾巴”,使其易于迅速跳出局部极值区。王山山等[5]将Cauchy分布和Gibbs分布结合起来产生新模型,使得反演过程更加合理,加快了反演过程的收敛,并且提高了算法的抗干扰能力。王凌等[6]详细研究函数优化中基于Cauchy分布的状态发生器SGC(StategeneratorbasedonCauchydistribution)和基于Gaussian分布的状态发生器SGG(StategeneratorbasedonGaussi2andistribution)对SA(Simulatedannealing)算法性能的影响。对分布机制的研究表明,SGC有利于大范围搜索和脱离极小区域,而SGG较适合于局部搜索。对不同复杂度的典型问题的仿真表明,优化简单单极小问题时SGC的优化效率优于基于SGG,优化复杂多极小或存在平坦区的简单问题时SGC的优化度和鲁棒性均优于SGG,进而利用对尺度参数的“退温”控制,提出了SGC的改进策略,较大程度上提高了算法的优化度。纪晨等[7]在模拟退火算法中引入均匀设计方法,Basu等[8]提出用试验方法确定临界温度,算法由稍高于临界温度开始,Press等[9]采用单纯形法与模拟退火算法相结合的综合算法,在不同程度上提高了模拟退火法的计算效率,然而在实际应用中还有待于提高。随着多维分形(Multifractals)理论与应用研究日益受到重视,人们展开了关于这一理论的统计学研究。Tsallis给出了广义Boltzmann2Gibbs统计理论及相应的Gibbs分布。基于这一理论,Penna提出了新的模拟退火方法,即由广义Gibbs分布给出新的接收概率计算表达式,用于求解推销员问题,表明这种方法在较高的温度就能收敛到全局极值,具有较高的计算效率。张霖斌等以广义Boltzmann2Gibbs统计理论为基础,采用非常快速模拟退火法中依赖于温度的似Cauchy分布产生新的扰动模型,提出了快速模拟退火算法FSA(FastSimulatedAnnealing),进一步提高了模拟退火方法的计算效率[10]。笔者借鉴遗传算法中的非均匀变异思想[11],

用非均匀变异策略产生新的扰动模型,对传统的模拟退火算法进行了改进(Revisedsimulatedan2nealing,RSA),该算法在高温的时候能够进行大范围的搜索,随着温度的降低,逐渐缩小解的搜索范围,能够大大加快收敛速度,通过对多峰值函数数值优化,测试结果表明该改进算法的有效性和高效性。

2 模拟退火原理及其改进1 模拟退火原理模拟退火算法(SimulatedAnnealing)源于统计物理学,据统计热力学,物体中的每个分子的状态服从Gibbs分布,即:

ρ(r

i)

=

exp(-E(ri)kT)

∑Mj=1exp(-E(rj)kT)

(1)

式中:E(r

i)为第i个分子的能量函数;ri为第i个

分子所处的状态;k为波耳兹曼常数,T表示温度;ρ(r

i)为第i个分子的概率密度,为了方便起见

令k=1。模拟退火算法最早的思想是由Metropolis

在1953年提出的,由Kirkpatrick于1983年成功地应用在组合优化问题中,目前已经应用到各门学科中以解决非线性系统中的优化问题。SA法是局部搜索算法的扩展,它不同于局部搜索之处是以一定的概率选择领域中的最优值状态。理论上已经证明,它是一个全局最优算法,并且以概率1接近最优值。算法源于对实际固体退火过程的模拟,即先将固体加温至充分高,再逐渐冷却。加温时,固体内部粒子变为无序状态,内能增大;而逐渐降温时,粒子趋于有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。因此,算法实际上是将优化问题类比为退火过程中能量的最低状态,也就是温度达到最低点时,概率分布中具有最大概率的状态。模拟退火算法的具体步骤如下:

631 工程地球物理学报(ChineseJournalofEngineeringGeophysics) 第4卷 © 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net1)给定模型每一个参数变化范围,在这个范围内随机选择一个初始模型m0,并计算相应的目标函数值E(m0);2)对当前模型进行扰动产生一个新模型m,计算相应的目标函数值E(m),得到ΔE=E(m)-E(m0)3)若ΔE<0,则新模型m被接受;若ΔE>0,则新模型m按概率P=exp(-ΔE/T)进行接受,T为温度。当模型被接受时,置m0=m;4)在温度T下,重复一定次数的扰动和接受过程,即重复步骤2)、3);5)缓慢降低温度T;6)重复步骤2)、5),直至收敛条件满足为止。为了避免最好的解在优化过程中被忽略掉,可以稍做改进,即在整个搜索过程中随时记下最好的值,因为该法的特点决定了最后的优化值并不一定就是最优的值,而只能是较优值。1 算法的改进21211 模型扰动模拟退火算法中新模型的产生是对当前模型进行扰动得到的,这个扰动是用随机函数控制的。Ingher于1989年提出了速度非常快的模拟退火算法VFSA(VeryFastSimulatedannealing),在该算法中,采用了依赖于温度的似Cauchy分布产生新的模型[5],即x′i=xi+yi(ximax-ximin)yi=Tksgn(ξ-0.5)×[(1+1/Tk)|2ξ-1|-1](2)式中,xi为当前模型参数,x′i为扰动后的模型参数,ξ为(0,1)区间上的随机数,ximin,ximax为xi的取值范围,sgn为符号函数,yi称之为扰动因子。笔者分析了快速模拟退火算法的改进扰动策略,提出了一种强化局部搜索能力的算法,该算法借鉴了遗传算法中的非均匀变异思想[11],用非均匀变异策略对当前模型参数扰动产生新的模型参数,即:x′i=xi+yi(ximax-ximin)yic=r(1-t/N)λsgn(r-0.5)(3)其中,r为(0,1)之间的随机数,t为当前温度,N为最大迭代次数,N与最大温度、最低温度有关,λ是确定非均匀性程度的常数,也称之为形状因子。(3)式表明,在高温时期,搜索的范围比较广,随着温度的降低,逐渐缩小搜索范围,为此,分析了当λ=015,1,2,5,10时相应的yic值,指导实际计算中如何取值,并且跟(2)式yi做了对比分析(图1)。

相关文档
最新文档