很经典的模拟退火算法课件_第1页
很经典的模拟退火算法课件_第2页
很经典的模拟退火算法课件_第3页
很经典的模拟退火算法课件_第4页
很经典的模拟退火算法课件_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SimulatedAnnealing1SimulatedAnnealing

(模拟退火法)报告人:陈世明SimulatedAnnealing1SimulatedSimulatedAnnealing2大纲简介攀登算法模拟退火法v.s.HillClimbing仿真退火法的检测标准与流程模拟退火法的考虑因素其他的问题提高效能与算法的修正结论SimulatedAnnealing2大纲简介SimulatedAnnealing3简介仿真退火法是仿真冷却晶体的过程。最早是由Metropolis、Rosenbluth等人在1953年提出。1983年,Kirkpatrick等人将其运用在求优化的问题、定位及图分割等问题上,它是蒙地卡罗算法的推广。

SimulatedAnnealing3简介仿真退火法是仿真SimulatedAnnealing4攀登算法

(HillClimbing)攀登算法(Hill-climbingAlgorithm)是一种迭代增进的算法,它利用单一解在解空间作搜寻,并在每一次迭代中,在目前解的邻近解空间选择出一个邻近解。当邻近解的目标函數值比目前解的目标函數值來的佳时,就以邻近解取代目前解;否则,就重新在目前解的邻近解空间选择一个邻近解。SimulatedAnnealing4攀登算法

(HillSimulatedAnnealing5模拟退火法v.s.HillClimbingHillClimbing是挑选邻近点中最好的点,但这样会有局部最大值的问题。仿真算法是随机数找寻邻近的点。若找到的点比立足点好,则取之。否则依照机率决定是否取之。SimulatedAnnealing5模拟退火法v.s.SimulatedAnnealing6模拟退火法的流程(1/2)需先设定一些參數,。接着随机产生一个初始的目前解,并计算他的目标函數值。以目前解为中心对解空间做随机扰动,产生一个扰动解,其目标函數值为。若接受,则以该扰动解取代目前解作为该次迭代的解。SimulatedAnnealing6模拟退火法的流程(1SimulatedAnnealing7模拟退火法的检测标准根据热力学定律,在温度为t的情况下,能量差所表现的机率如下:P(ΔE)=exp(-ΔE/kt)k是Boltzmann’sConstant转换到模拟退火法,则变成P=exp(-c/t)>rc是评估函数的差r是0~1之间的随机数SimulatedAnnealing7模拟退火法的检测标准SimulatedAnnealing8模拟退火法的流程(2/2)假设所求解的问题是目标函數最小化问题,若

,则透过机率函數接受为新解。接着判断是否满足降温条件,若是,则透过冷却机制降温,,。反之,维持目前温度。之后判断是否达到终止条件,例如达到设定的迭代次數或是連续几次迭代目前解都不再改变时。SimulatedAnnealing8模拟退火法的流程(2SimulatedAnnealing9模拟退火法的流程图

初使化设定随机产生一个初始解扰动产生一个新解是否接受?修改目前解降温缩减温度

是否达到中止条件?最佳解NoYesYesYesNoNoSimulatedAnnealing9模拟退火法的流程图

SimulatedAnnealing10冷却排程(1/4)初始温度(StartingTemperature)温度要够高才能移动到任何的状态。温度不能太高,否则会导致在一段时间内皆用随机数在凑解答。如果可以知道检测函数的最大值就可以找到最好的初始温度。快速提高温度,然后又快速降温,直到有60%的最差解被接受。快速提高温度,但慢慢降温,并定出适当比例最差解的接受度。–––SimulatedAnnealing10冷却排程(1/4)SimulatedAnnealing11冷却排程(2/4)最终温度(FinalTemperature)通常是零,但会耗掉许多模拟时间。温度趋近于零,其周遭状态几乎是一样的。所以寻找一个低到可接受的温度。SimulatedAnnealing11冷却排程(2/4)SimulatedAnnealing12冷却排程(3/4)温度减少(TemperatureDecrement)每次降低温度的差距以及在同一温度反复寻找最适解会导致指数般成长的搜寻空间。

1.以线性降温来说Temp=Temp-x2.以几何观念来看Temp=Temp*y(y约0.8~0.99为佳)SimulatedAnnealing12冷却排程(3/4)SimulatedAnnealing13冷却排程(4/4)反复次数(IterationsateachTemperature)一般会定一个常数。Lundy认为只要反复一次,但每次降低的温度差距必须非常小。Temp=Temp/(1+a*Temp)a是非常小的值低温需要较多反复次数以避免找到局部最大值,但高温则可减少次数。SimulatedAnnealing13冷却排程(4/4)SimulatedAnnealing14模拟退火法的流程图

初使化设定随机产生一个初始解扰动产生一个新解是否接受?修改目前解降温缩减温度

是否达到中止条件?最佳解NoYesYesYesNoNoSimulatedAnnealing14模拟退火法的流程图SimulatedAnnealing15扰动方式(1/2)模拟退火法以扰动的机制來产生一个解,我们称此解为扰动解,在以机率函數判断是否接受此扰动解为此次迭代的新解。若不被接受,就再以扰动重新产生一个扰动解,并以机率函數重新判断。每代重复以上的步骤,直到接受为此次迭代的新解为止。SimulatedAnnealing15扰动方式(1/2)SimulatedAnnealing16扰动方式(2/2)扰动的作法就是以目前解为中心,对部分或整个解空间随机取样一个解。SimulatedAnnealing16扰动方式(2/2)SimulatedAnnealing17模拟退火法的流程图

初使化设定随机产生一个初始解扰动产生一个新解是否接受?修改目前解降温缩减温度

是否达到中止条件?最佳解NoYesYesYesNoNoSimulatedAnnealing17模拟退火法的流程图SimulatedAnnealing18机率函數(1/3)模拟退火法利用机率函數有机率的接受较差的扰动解为新解,使其避免了传统梯度搜寻法(GradientSearch)往往陷入区域解的缺点,而使模拟退火法有机会跳脱区域解,往全局最佳解收敛。SimulatedAnnealing18机率函數(1/3)SimulatedAnnealing19机率函數(2/3)一般的机率函數方程式如下:

为目前温度。当,;当会是之后随机产生一个介于0到1间的一个小于1大於0的值。随机值r与比較,若,则接收扰动解;反之,则不接受。SimulatedAnnealing19机率函數(2/3)SimulatedAnnealing20机率函數(3/3)当越高或越小时,则越大,相对的扰动解被接受成新解的机率越高。因此会随着迭代次數的增加而逐渐下降,所以较差的扰动解被接受成新解的机会也随着的下降而越來越小。所以当迭代到最后因为温度已到达低点,这时系统只会接受较佳的扰动解为新解。而扰动解若小于目前解则一定接受为新解,但若是则接受为新解的机率随着的变大而越小。SimulatedAnnealing20机率函數(3/3)SimulatedAnnealing21模拟退火法的流程图

初使化设定随机产生一个初始解扰动产生一个新解是否接受?修改目前解降温缩减温度

是否达到中止条件?最佳解NoYesYesYesNoNoSimulatedAnnealing21模拟退火法的流程图SimulatedAnnealing22其他的问题(1/4)价值函数(CostFunction)用来评估解的质量。DeltaEvaluation求某解与其邻近点的价值。PartialEvaluation不需额外产生的计算结果就可以判断出来解的价值。SimulatedAnnealing22其他的问题(1/4SimulatedAnnealing23其他的问题(2/4)价值函数(CostFunction)HardConstraints在不违背合适解的条件下,所提出的强制规定。SoftConstraints无论这种解是否违背条件,都算是合适解。HardConstraints会给一个很大的weightSoftConstraints则是情况给予不同的weightSimulatedAnnealing23其他的问题(2/4SimulatedAnnealing24其他的问题(3/4)邻近点的结构(NeighborhoodStructure)有些结构是对称性的,即可以从A状态到B状态,也可以从B状态到A状态。条件较弱(结构较松散)的有稳定的收敛。条件定的好,就可以使得在各种状态之下都可以到达另一种状态。SimulatedAnnealing24其他的问题(3/4SimulatedAnnealing25其他的问题(4/4)所有解的空间(TheSolutionSpace)空间小,可以展开搜寻。若允许不合适的解也存在的话就会加大搜寻空间。我们想办法取一个适当值,期望能快速搜寻,又可避免在不利的情况下没有好的进展。SimulatedAnnealing25其他的问题(4/4SimulatedAnnealing26提高效能初始化(Initialization)将原本用随机数取初始值的方式改为尽可能找出一有用的起始点。结合(Combine)可将仿真退火法配合其他算法应用于问题上。

SimulatedAnnealing26提高效能初始化(ISimulatedAnnealing27算法修正(1/2)可接受的机率(AcceptanceProbability)少计算exponential会加快速度建立一个可查询各种值的table冷却(Cooling)花一些时间找寻最佳温度(包括最终温度、温差)SimulatedAnnealing27算法修正(1/2)SimulatedAnnealing28算法修正(2/2)邻近点(Neighborhood)对于不好的邻近点给予一个惩罚值。价值函数(CostFunction)利用其他算法的价值函数来做计算。SimulatedAnnealing28算法修正(2/2)SimulatedAnnealing29结论

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论