智能计算大作业智能计算作业.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能计算大作业智能计算作业

PAGE 10 1.1 问题描述 求解Rastrigin函数的最小值,函数Rastrigin表述如下: 1.2 算法理论 模拟退火算法(simulated annealing,简称SA)的思想最早由Metropolis等(1953)提出,1983年Kirkpatrick等将其用于组合优化。SA算法是基于Mente Carlo迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。其思想于固体退火过程,将固体加温至充分高, 再让其冷却; 加温时, 固体内部粒子随温升变为无序状, 内能增大, 而徐徐冷却时粒子渐趋有序, 在每个温度都达到平衡态, 最后在常温时达到基态, 内能减为最小。 其物理退火过程由以下三部分组成: (1)加温过程——增强粒子的热运动,消除系统原先可能存在的非均匀态; (2)等温过程——对于与环境换热而温度不变的封闭系统,系统状态的自发变化总是朝自由能减少的方向进行,当自由能达到最小时,系统达到平衡态; (3)冷却过程——使粒子热运动减弱并渐趋有序,系统能量逐渐下降,从而得到低能的晶体结构。 其中,加温的过程对应算法的设定初温,等温过程对应算法的Metropolis抽样过程,冷却过程对应控制参数的下降。这里能量的变化就是目标函数,要得到的最优解就是能量最低态。Metropolis准则以一定的概率接受恶化解,这样就使算法跳离局部最优的陷阱。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t , 即得到解组合优化问题的模拟退火算法。由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→判断是否接受→接受或舍弃”的迭代, 并逐步衰减t值,算法终止时的当前解即为所得近似最优解。退火过程由冷却进度表( Cooling Schedule)控制。包括控制参数的初值t及其衰减因子t每个t 值时的迭代次数( 称为一个Mapkob 链的长度) L和停止条件S。 1.3 求解步骤 SA算法实现过程如下图所示: 本文具体步骤如下: (1)目标函数 目标函数即是待优化的函数。在调用函数simulannealbnd运行模拟退火时,需要编写该目标函数的M文件。需要指出的是,SAT是对目标函数取最小值进行优化的。对于最大优化问题,只需将目标函数乘以-1即可化为最小值优化问题, (2)温度 对于模拟退火算法来说,温度是一个很重要的参数,它随着算法的迭代二逐步下降,以模拟固体退火过程中的降温过程。一方面,温度用于限制SA产生的新解与当前解之间的距离,也就是SA的搜索范围;另一方面,温度决定了SA以多大的概率接受目标函数值比当前解的目标函数值差的新解。 (3)退火进度表 退火进度表是指温度随着算法迭代的下降速度。退火过程越缓慢,SA找到全局最优解的机会越大,相应的运行时间也会增加。退火进度表包括初始温度及温度更新函数等参数。 (4)Meteopolis准则 Meteopolis准则是指SA接受新解的概率。对于目标函数取最小值的优化问题,SA接受新解的概率为 其中,为当前解;为新解;表示解得目标函数值;为温度。 该过程不断重复,可以看到,开始时温度较高,SA接受较差解得概率也相对较高,这使得SA有更大的机会跳出局部最优解,随着退火的进行,温度逐步下降,SA接受较差解的概率变小。 1.4 运行结果(图、表等) 某次得到的当前解目标函数值历程曲线 1.5 分析小结 运行模拟退火算法,得到的最优解目标函数值历程曲线和当前解目标值历程曲线分别如上图,函数simulannealbnd返回的最优解及其对应的目标函数值在Workspace中,分别为: 需要强调的是,由于算法中使用了函数randn和函数rand,因此,每次运行的结果是不一样的。 量子遗传算法流程如下: (1)初始化种群,随机生成n个以量子比特位编码的染色体; (2)对初始化种群中的每个个体进行一次测量,得到对应的确定解; (3)对各确定解进行适应度评估; (4)记录最优个体和对应的适应度; (5)判断计算过程是否可以结束,若满足结束条件则退出,否则继续计算; (6)对种群中的每个个体实施一次测量,得到相应的确定解; (7)对各个确定解进行适应度评估; (8)利用量子旋转门对个体实施调整,得到新的种群; (9)记录最优个体和对应的适应度; (10)将迭代次数t加1,返回步骤(5)。 需要说明的是: (1) 在种群初始化中,种群规模为N,即有N 个量子编码的个体,每个量子个体都设为,即: (2)对种群每个个体实施一次测量是指对每个个体每个量子位进行测量,过程为随机生成一个[0,1]的随机数,如果该随机数大于等于几率幅(或),则测量结果取1,否则取0。由此将量子编码的

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档