欢迎来到天天文库
浏览记录
ID:41367711
大小:465.00 KB
页数:90页
时间:2019-08-23
《第十二章 模拟退火算法与人工免疫算法简介》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第十二章模拟退火算法与人工免疫算法简介本章对目前常用的几种智能优化计算算法作简单介绍,以使读者对它们有个基本认识。内容包括神经网络、遗传算法、模拟退火算法和神经网络混合优化学习策略。12.1模拟退火算法模拟退火算法(simulatedannealing,简称SA)的思想最早是由Metropolis等(1953)提出的,1983年Kirkpatrick等将其用于组合优化。SA算法是基于MonteCarlo迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退火算法模拟退火算法在某一初温下,伴随温度参数的不断下降,结合概率突跳特性
2、在解空间中随机寻找目标函数的全局最优解,即在局部优解能概率性地跳出并最终趋于全局最优解。模拟退火算法是一种通用的优化算法,目前已在工程中得到了广泛应用。模拟退火算法12.1.1物理退火过程和Metropolis准则简单而言,物理退火过程由以下三部分组成:⑴加温过程。其目的是增强粒子的热运动,使其偏离平衡位置。当温度足够高时,固体将溶解为液体,从而消除系统原先可能存在的非均匀态,使随后进行的冷却过程以某一平衡态为起点。溶解过程与系统的熵增过程联系,系统能量也随温度的升高而增大。模拟退火算法⑵等温过程。物理学的知识告诉我们,对于与周围环境交换热量而温度不变的封闭系统,系统状态的自发变
3、化总是朝自由能减少的方向进行,当自由能达到最小时,系统达到平衡态。⑶冷却过程。目的是使粒子的热运动减弱并渐趋有序,系统能量逐渐下降,从而得到低能的晶体结构。模拟退火算法Metropolis等在1953年提出了重要性采样法,即以概率接受新状态。具体而言,在温度t,由当前状态i产生新状态j,两者的能量分别为,若则接受新状态j为当前状态;否则,若概率大于区间内的随机数则仍旧接受新状态j为当前状态,若不成立则保留i为当前状态,其中k为Boltzmann常数。模拟退火算法这种重要性采样过程在高温下可接受与当前状态能量差较大的新状态,而在低温下基本只接受与当前能量差较小的新状态,而且当温度趋
4、于零时,就不能接受比当前状态能量高的新状态。这种接受准则通常称为Metropolis准则。模拟退火算法12.1.2模拟退火算法的基本思想和步骤1983年Kirkpatrick等意识到组合优化与物理退火的相似性,并受到Metropolis准则的启迪,提出了模拟退火算法。模拟退火算法是基于MonteCarlo迭代求解策略的一种随机寻优算法,其出发点是基于物理退火过程与组合优化之间的相似性,SA由某一较高初温开始,利用具有概率突跳特性的Metropolis抽样策略在解空间中进行随机搜索,伴随温度的不断下降重复抽样过程,最终得到问题的全局最优解。模拟退火算法标准模拟退火算法的一般步骤可描
5、述如下:⑴给定初温,随机产生初始状态,令;⑵Repeat:①Repeat产生新状态;模拟退火算法Until抽样稳定准则满足;②退温,并令;Until算法终止准则满足;⑶输出算法搜索结果。模拟退火算法12.1.3模拟退火算法关键参数和操作的设定从算法流程上看,模拟退火算法包括三函数两准则,即状态产生函数、状态接受函数、温度更新函数、内循环终止准则和外循环终止准则,这些环节的设计将决定SA算法的优化性能。此外,初温的选择对SA算法性能也有很大影响。模拟退火算法⑴状态产生函数设计状态产生函数(邻域函数)的出发点应该是尽可能保证产生的候选解遍布全部的解空间。通常,状态产生函数由两部分组成
6、,即产生候选解的方式和候选解产生的概率分布。模拟退火算法⑵状态接受函数状态接受函数一般以概率的方式给出,不同接受函数的差别主要在于接受概率的形式不同。设计状态接受概率,应该遵循以下原则:①在固定温度下,接受使目标函数值下降的候选解的概率要大于使目标值上升的候选解的概率;模拟退火算法②随温度的下降,接受使目标函数值上升的解的概率要逐渐减小;③当温度趋于零时,只能接受目标函数值下降的解。状态接受函数的引入是SA算法实现全局搜索的最关键的因素,SA算法中通常采用min[1,exp(-△C/t)]作为状态接受函数。模拟退火算法⑶初温初始温度、温度更新函数、内循环终止准则和外循环终止准则通
7、常被称为退火历程(annealingschedule)。实验表明,初温越大,获得高质量解的几率越大,但花费的计算时间将增加。因此,初温的确定应折衷考虑优化质量和优化效率,常用方法包括:模拟退火算法①均匀抽样一组状态,以各状态目标值的方差为初温。②随机产生一组状态,确定两两状态间的最大目标值差,然后依据差值,利用一定的函数确定初温。譬如,其中为初始接受概率③利用经验公式给出。模拟退火算法⑷温度更新函数温度更新函数,即温度的下降方式,用于在外循环中修改温度值。目前,最常用的温度更新函
此文档下载收益归作者所有