文档库 最新最全的文档下载
当前位置:文档库 › 利用一种改进的模拟退火算法求解多目标规划问题

利用一种改进的模拟退火算法求解多目标规划问题

利用一种改进的模拟退火算法求解多目标规划问题
利用一种改进的模拟退火算法求解多目标规划问题

模拟退火算法原理及改进

作者简介:李香平(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

模拟退火算法算法的简介及程序

模拟退火算法 模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T时趋于平衡的概率为e-ΔE/(kT),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法:由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。退火过程由冷却进度表(Cooling Schedule)控制,包括控制参数的初值t及其衰减因子Δt、每个t值时的迭代次数L和停止条件S。 模拟退火算法的模型 模拟退火算法可以分解为解空间、目标函数和初始解三部分。 模拟退火的基本思想: (1)初始化:初始温度T(充分大),初始解状态S(是算法迭代的起 点),每个T值的迭代次数L (2) 对k=1,……,L做第(3)至第6步: (3) 产生新解S′ (4) 计算增量Δt′=C(S′)-C(S),其中C(S)为评价函数 (5) 若Δt′<0则接受S′作为新的当前解,否则以概率exp(-Δt′/T)

接受S′作为新的当前解. (6) 如果满足终止条件则输出当前解作为最优解,结束程序。终止条件通常取为连续若干个新解都没有被接受时终止算法。 (7) T逐渐减少,且T->0,然后转第2步。 算法对应动态演示图: 模拟退火算法新解的产生和接受可分为如下四个步骤: 第一步是由一个产生函数从当前解产生一个位于解空间的新解;为便于后续的计算和接受,减少算法耗时,通常选择由当前新解经过简单地变换即可产生新解的方法,如对构成新解的全部或部分元素进行置换、互换等,注意到产生新解的变换方法决定了当前新解的邻域结构,因而对冷却进度表的选取有一定的影响。 第二步是计算与新解所对应的目标函数差。因为目标函数差仅由变换部分产生,所以目标函数差的计算最好按增量计算。事实表明,对大多数应用而言,这是计算目标函数差的最快方法。 第三步是判断新解是否被接受,判断的依据是一个接受准则,最常用的接受准则是Metropo1is准则: 若Δt′<0则接受S′作为新的当前解S,否则以概率exp(-Δt′/T)接受S′作为新的当前解S。 第四步是当新解被确定接受时,用新解代替当前解,这只需将当前解中对应于产生新解时的变换部分予以实现,同时修正目标函数值即可。此时,当前解实现了一次迭代。可在此基础上开始下一轮试验。而当新解被判定为舍弃时,则

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

第4卷第2期2007年4月  工程地球物理学报 CHIN ESE J OU RNAL OF EN GIN EERIN G GEOP H YSICS Vol 14,No 12Apr 1,2007 文章编号:1672—7940(2007)02—0135—06 模拟退火算法及其改进 蒋龙聪,刘江平 (中国地质大学地球物理与空间信息学院,武汉430074) 作者简介:蒋龙聪(1983— ),男,硕士研究生,现在主要从事地震数据处理和反演理论方法研究。E 2mail :longcja @https://www.wendangku.net/doc/f918884862.html, 刘江平(1957— ),男,教授,博士生导师,主要从事地震勘探的科研与教学工作。E 2mail :liujp @https://www.wendangku.net/doc/f918884862.html, 摘 要:借鉴遗传算法中的非均匀变异思想,用非均匀变异策略对当前模型扰动产生新的模型,对传统的模 拟退火算法提出了改进,通过多峰值函数数值优化测试结果表明,该算法在高温的时候能够进行大范围的搜索,随着温度的降低,逐渐缩小解的搜索范围,大大加快了收敛速度,证实了该改进算法的有效性和高效性。 关键词:模拟退火算法;非均匀变异;数值最优化;反演 中图分类号:P631文献标识码:A 收稿日期:2006— 12—07R evised Simulated Annealing Algorithm Jiang Longcong ,Liu Jiangping (I nstitute of Geop hysics and Geomatics ,China Universit y of Geosciences ,W uhan 430074,China ) Abstract :Based on t he idea of non 2uniform mutation in genetic algorit hm ,we present a novel revised simulated annealing (RSA ),which used t he non 2uniform mutation to generate a new model f rom current model.Tested by some numerical f unctions ,RSA can search in t he large area for t he solutions in high temperat ure.Wit h t he lowering of t he temperat ure ,t he area of searching t he solutions will be gradually reduced and convergence will speed up.So t he re 2sult s p rove t he effectiveness of RSA. K ey w ords :simulate annealing ;non 2uniform mutation ;numerical optimal ;inversion 1 引 言 人类对地球内部物理性质(包括速度、密度、电导率、温度等)以及矿产资源分布的了解,大多来自地表地质和地球物理、地球化学资料的反演和解释[1]。反演方法可以分为线性反演和非线性反演两种,线性反演已成为一套科学的反演理论,然而,绝大部分地球物理问题都是非线性的,并且实践表明,线性反演方法有容易陷入局部极值和依赖于初始值等缺点。因此,地球物理学者们不 断的尝试开发非线性反演方法,比如人工神经网 络[2]、小波多尺度反演[3]、模拟退火算法[4]等。 模拟退火算法是近年发展起来的全局最优化算法,其主要优点是;不用求目标函数的偏导数及解大型矩阵方程组,即能找到一个全局最优解,而且易于加入约束条件,编写程序简单。目前此法已开始用于解决非线性地球物理反问题,如波形反演、静校正、叠前偏移速度分析等非线性反演中,并取得了较好的效果。 然而,由于模拟退火法是建立在随机搜寻方法的基础上,要达到一定的精度要求,每一模型参

模拟退火算法报告

模 拟退火算法 一 定义 1 概念 什么是退火?在热力学上,退火现象指物体逐渐降温的物理现象,温度愈低,物体的能量状态会低;够低后,液体开始冷凝与结晶,在结晶状态时,系统的能量状态最低。大自然在缓慢降温(亦即,退火)时,可“找到”最低能量状态:结晶。但是,如果过程过急过快,快速降温(亦称「淬炼」)时,会导致不是最低能态的非晶形。如下图所示,首先(左图)物体处于非晶体状态。我们将固体加温至充分高(中图),再让其徐徐冷却,也就退火(右图)。加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小(此时物体以晶体形态呈现)。 似乎,大自然知道慢工出细活:缓缓降温,使得物体分子在每一温度时,能够有足够时间找到安顿位置,则逐渐地,到最后可得到最低能态,系统最安稳。 模拟退火算法(SA)最早的思想是由N. Metropolis 等人于1953年提出。1983 年,S. Kirkpatrick 等成功地将退火思想引入到组合优化领域。它是基于Monte-Carlo 迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退火算法从某一较高初温出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并最终趋于全局最优。 模拟退火其实也是一种贪心算法,但是它的搜索过程引入了随机因素。在迭代更新可行解时,以一定的概率来接受一个比当前解要差的解,因此有可能会跳出这个局部的最优解,达到全局的最优解。以下图为例,假定初始解为左边蓝色点A ,模拟退火算法会快速搜索到局部最优解B ,但在搜索到局部最优解后,不是就此结束,而是会以一定的概率接受到左边的移动。也许经过几次这样的不是局部最优的移动后会到达全局最优点D ,于是就跳出了局部最小值。 根据热力学的原理,在温度为T 时,出现能量差dE 的降温的概率为P(dE),表示 为: ()?? ? ??=kT dE E P ex p d 。其中k 是波尔兹曼常数,值为-2310×13)1.3806488(=k ,exp 表示自然指数,且dE<0。因此dE/kT<0,所以P(dE)函数的取值范围是(0,1)。满足概率密度函数的定义。其实这条公式更直观意思就是:温度越高,出现一次能量差为P(dE)的降温的概率就越大;温度越低,则

关于模拟退火算法及其影响因素的研究

关于模拟退火算法及其影 i《_■ SILICONV VALLE工响因素的研究 邓超陈文宣王树青 (东莞南博职业技术学院广东东莞523083)信毫科学 插要:通过使用模拟退火算法模拟逼近函数:y=x+cosx+i开展实验,并在实验过程中对模拟退火算法的影响因素进行比较t并提出相应的改进方案,直观的将两者的差别体现出来。 关键词:模拟退火算法;权系数;阀值:神经网络结构;MATLAB 中圈分类号:TP3文献标识码:A文章编号z1671-7597(2010)0410045--01 1鬟拟量火算法的基本曩客 模辛}l退火算法最初的思想[自Metropolis在1953年提出,其来源统计物理学中对于固体退火过程的模拟。他采用Metropolis准则接收新解,用冷去系数的参数对算法进程进行控制。使得算法在多项时间里得出最优解.2对曩板退火算法进行试t研究 1)用模拟退火算法模拟逼近函数:y=x+cosx+1并对神经网络的权系数、阀值进行学习其神经网络结构为1—3-4_3—1. 2)具体试验过程如下: 模拟退火算法的实现主要采用了¨TLAB软件,利用其中的神经网络工具箱进行编程模拟.在网络UUl练方面,隐层采用logsig(厂(j)=_—二—__-) H’a烈一哪函数作为传递函数。在输出层方面采用线性输出函数imrelin(,(善)=#).降温函数采用t=^t. ①给定的学习样本、初始温度、结柬温度及降温速率^. @在某一温度下.以正态分布(Matlab中用randn)生成函数产生新的权系数增量△翻。‘虬.=缈+△翻生成新的权系数。 ③根据代价函数求出神经网络的输出偏差E∥t 胛=;(歹一y)2. @如果P,rS0,则取翻r+l为新值,即q=够+l? ⑤如果P玎>o,采用接收函数:B(i)=[I+e=V/‘】_1 以其值和[0,l】随机数d进行比较: 若B(i)>d。则Cd=够.。;, 若B(i)≤d,则国不变。 @以t:xt修改参数t.即缓慢降温。返回②执行. 3)试验生产的原函数和网络输出图如下: 4)结果分析t 由学习的结果来看,学习的曲线和原曲线相差较大,而且函数收敛得很慢.其原因是模拟退火法的初始参数包括初温tO,结束温度tf’衰减温度deltaT及控制内循环的马尔可夫链长L的选择对整个结果产生较大影响。 3樱报遗火法的改盛可行性方毫 1)设计合适的状态产生函数:设计高效的退火历程;避免状态的迂回搜索;采用并行搜索结构:改进对温度的控制方式;选择合适的初始状态;设计合适的算法终止准则。 2)也可通过增加某些来实现:如增加升温或重升温过程;增加记忆功能{增加朴充搜索过程。 4-}墨横挂鼍火算法的实验改进方囊 ”对原算法的神经喇络结构进行更改.由卜3-4—3一l改为卜10一h 2)调整即网络训练参数:具体为添加代码为: net.trainParaLepochs23000: net.trainPar∞.goal=0.002: net.trainParanIr20.0l: I开始训练 net2train(net,x.y):) 在对原算法改进后试验产生的原函数和网络输出图如下(改进处在源程序中体现): 由结果可以看到,改进后的算法收敛速度加快,函数的逼近和精度都已经较高。 参考文献: 【l】王士同、陈剑夫等编著。问题求解的人工智能神经网络方法r气象出版社. [2]焦李成.神经网络系统理论,西安,西安电子科技大学出版社,1996.6. 作者简介: 邓超(1979-),男.汉族.广东省韶关市人,硕士.东莞南博职业技术 学院助教,研究方向;神经网络? 万方数据

遗传模拟退火算法及其应用

本科毕业设计(论文)外文参考文献译文及原文 学院轻工化工学院 专业制药工程 (天然药物方向)年级班别20 09级(2)班 学号3109002300 学生姓名黄学润 指导教师魏关锋 2013年6月

遗传/模拟退火算法及其应用 Guangming Lv, Xiaomeng Sun, Jian Wang College of Mechanical and Electronic Engineering, Harbin Institute of Technology, Harbin Heilongjiang, China lgmhit@https://www.wendangku.net/doc/f918884862.html, 摘要:本文将模拟退火算法和遗传算法相结合,提出了一种新的算法。遗传算法(GA)中嵌入模拟退火算法(SA),结合成一个新的全局优化算法。SA的使用降低了GA的参数选择的困难。此外,新算法可以缩减组合的搜索区域,并避免了遗传算法中存在的“过早收敛”问题,提高了算法的收敛性。遗传操作的交叉算子在该算法中发挥着重要作用。通过计算机仿真,我们可以看到新的算法相对于传统的遗传算法和模拟退火算法更具优势。 关键词:模拟退火法;遗传算法;过早收敛;交叉算子 I.引言 遗传算法(GA)首先由密歇根大学教授J.Holland提出,源于对自然和人工系统的自适应行为的研究。GA是模拟生物在自然环境中的遗传和进化过程而形成的一种基于达尔文的进化论和孟德尔的遗传学说的自适应全局优化概率搜索算法。对于复杂的优化问题,没有必要使用GA的建模和复杂操作[1]。与传统的搜索算法相比,GA将优化问题的解空间转换成遗传空间。它从一个种群中产生问题的一个解,并根据“优胜劣汰”的原则,一代又一代的达到问题的最优解或最近解。 遗传算法的主要特点是:处理对象不是参数本身,而是参数集的编码操作;GA同时处理的几个群体中个体,即同时估计在搜索空间中的几个解;GA只利用问题的目标函数,不需要任何其他条件或辅助信息;GA不采取一定的角色,而采用概率的变化规律来指导搜索方法;GA可以在较大的解空间快速搜索。 GA通过选择复制的行为和遗传因素保持优化种群的进化使得他们最终收敛到最优解。选择复制给予个体更大的适应性和函数值更大的复制概率,并能加速

模拟退火算法及其Matlab实现

模拟退火算法及其Matlab 实现 模拟退火算法(Simulated Annealing algorithm ,简称SA )是柯克帕垂克(S. Kirkpatrick )于1982年受热力学中的固体退火过程与组合优化问题求解之间的某种“相似性”所启发而提出的,用于求解大规模组合优化问题的一种具有全局搜索功能的随机性近似算法。与求解线性规划的单纯形法、Karmarkar 投影尺度法,求解非线性规划的最速下降法、Newton 法、共轭梯度法,求解整数规划的分支定界法、割平面法等经典的优化算法相比,模拟退火算法在很大程度上不受制于优化问题的具体形式和结构,具有很强的适应性和鲁棒性,因而也具有广泛的应用价值。 模拟退火算法源于对固体退火过程的模拟;采用Metropolis 接受准则;并用一组称为冷却进度表的参数来控制算法进程,使得算法在多项式时间里给出一个近似最优解。固体退火过程的物理现象和统计性质是模拟退火算法的物理背景;Metropolis 接受准则使算法能够跳离局部最优的“陷阱”,是模拟退火算法能够获得整体最优解的关键;而冷却进度表的合理选择是算法应用的关键。 1 物理退火过程 物理中的固体退火是先将固体加热至熔化,再徐徐冷却,使之凝固成规整晶体的热力学过程。在加热固体时,固体粒子的热运动不断增加,随着温度的升高,粒子与其平衡位置的偏离越来越大,当温度升至溶解温度后,固体的规则性被彻底破坏,固体溶解为液体,粒子排列从较有序的结晶态转变为无序的液态,这个过程称为溶解。溶解过程的目的是消除系统中原先可能存在的非均匀状态,使随后进行的冷却过程以某一平衡态为始点。溶解过程与系统的熵增过程相联系,系统能量也随温度的升高而增大。 冷却时,液体粒子的热运动渐渐减弱,随着温度的徐徐降低,粒子运动渐趋有序。当温度降至结晶温度后,粒子运动变为围绕晶体格点的微小振动,液体凝固成固体的晶态,这个过程称为退火。退火过程之所以必须“徐徐”进行,是为了使系统在每一温度下都达到平衡态,最终达到固体的基态(图1-1)。退火过程中系统的熵值(衡量不能利用的热能数量)不断减少,系统能量也随温度降低趋于最小值。冷却时,若急剧降低温度,则将引起淬火效应,即固体只能冷凝为非均匀的亚稳态,系统能量也不会达到最小值。 退火过程中系统在每一温度下达到平衡态的过程,可以用封闭系统的等温过程来描述。根据玻尔兹曼(Boltzmann )有序性原理,退火过程遵循应用于热平衡封闭系统的热力学定律——自由能减少定律: “对于与周围环境交换热量而温度保持不变的封闭系统,系统状态的自发变化总是朝着自由能减少的方向进行,当自由能达到最小值时,系统达到平衡态”。 系统的自由能F E TS =-,其中E 是系统的内能,T 是系统温度,S 是系统的熵。设 i 和j 是恒温系统的两个状态,即i i i F E TS =-和j j j F E TS =-,而 ()()j i j i j i F F F E E T S S E T S ?=-=---=?-? 若系统状态由i 自发变化到j ,则应有0F ?<。显然,能量减少(0E ?<)与熵增加

相关文档