模拟退火算法学习和试验分析.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模拟退火算法学习及试验分析 清华大学计算机系 李军 lijun06@ 2007-4 大纲 1. 介绍 2. Six-hump camel back function 试验 3. Schwefel‘s function 试验对比 4. 试验总结 5. 结论与未来工作 6. 参考 1.1 优化问题介绍 描述: Find the values of a vector θ∈Θ that minimize a scalar valued loss function L(θ). Θ: the domain of allowable values for a vector θ 注: loss function 也被称为: performance measure, cost function, objective function,fitness function, or criterion etc. 1.2 模拟退火算法介绍 用于解决优化问题的一种启发式算法,理论上是一个全局最优算法. 以一定概率跳出局部极值区域从而增大了找到全局极值的概率. 伪码描述: Simulated-Annealing() Create initial solution S repeat for i=1 to iteration-length do Generate a random transition from S to Si If ( C(S) = C(Si) ) then S=Si else if( exp(C(S)-C(Si))/kt random[0,1) ) then S=Si Reduce Temperature t until ( no change in C(S) ) C(S): Cost or Loss function of Solution S. 2. Six-hump camel back function 试验 The 2-D Six-hump camel back function is a global optimization test function. global minimum: f(x1,x2)=-1.0316; (x1,x2)=(-0.0898,0.7126), (0.0898,-0.7126). 注: 在简单问题上成立的结论才有可能推广到更复杂的问题上. 2.1 函数值分布图 2.2 函数值分布底部区域局部 2 .3 与旅行商问题对比 2.4 主要试验参数设置 ‘CoolSched‘: (0.8*T) %温度下降速率0.8 ‘Generator‘: 生成邻域: 从 x,y中随机地选择一个再加上一个随机数R , R = randn/100; (rand符合标准正态分布N(0,1)的伪随机数, 意味着 随机变量落入[-1,1]内的概率是68.26%, 落入[-2,2]内的概率是 95.44% 落入[-3,3]内的概率是 99.72%, 除以100以后也就是大概范围在e-3量级的小数,也就是大约以95%的概率处于[-0.02,0.02]) ‘InitTemp‘: 1 %起始温度 ‘MaxTries‘: 300 %同一温度下的最大迭代次数 ‘StopTemp‘: 1e-8 %终止温度 … 2.5 初始解的位置对最终解的影响 (R=randn/100) 2.6 R=randn/100的3维效果图 2.7 R=randn/10 与 rand/1 的3维效果图 2.8 R=randn*10 与 rand*40 的3维效果图 2.9 R=randn/100,randn/10,randn/1 的数据比较 可见,随着邻域的范围的增大, 跳出局部极小区域,最终进入全局极小区域的概率越来越大, 但是代价是总的迭代次数增加. 但是随着邻域范围的增大,会出现所谓的在极值附近来回”振荡”而无法落入极值点的现象. 可以推测,随着邻域范围的进一步增大及其随机特性,模拟退火算法将退化到随机寻找极值并进行记录极值的算法. 注: 当 randn*10, rand*40的时候超出我们限定的搜索范围[-3,3],[-2,2]的概率增大很多,与前3个试验在某种程度上不具备可比性, 尽管如此,仍然具有启发性的意义. 2.10 更改降温速率后的运行结果(改为0.95) 2.11 其他参数尝试 起始温度(提高到1000) 每个温度时的最大迭代次数(提高到3000) 限于时间,更多参数和变化形式没有进行尝试. 得到的试验结论与前面基本相同,只是在初始解的临近位置周围略有微小的变化. 所以, 在一个合适的参数设

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档