资源描述:
《模拟退火算法简介与实例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、模拟退火算法简介与实例 2010-07-1012:30:55
2、 分类:algorithms
3、 标签:
4、字号大中小 订阅摘要模拟退火算法是S.Kirkpatrick,C.D.Gelatt和M.P.Vecchi在1983年所发明。是一种典型的概率模拟算法(MonteCarlo算法),其基本想想与冶金上的退火有相似之处,在一个相当大的空间内搜索最优解,而每次只搜索与自己临近的状态。此算法被证明以接近概率1接近最优解。其中有较好的物理思想,是模拟类算法中的典范。模拟退火算法由于要计算相临状态,这与Ising模拟的计算模拟有相似之处,因此本文也将对Ising做一个介绍。本文介
5、绍算法的基本思想并做一个例子求解TSP问题(旅行商问题),重在介绍算法思想,具体算法的优化与改进不是本文涵盖范围。1.Ising模型Ising模型描述的是物体的铁磁性质,在铁和镍这类金属中,当温度低于居里温度时,原子的自旋自发地倾向某个方向,而产生宏观磁矩。温度高于居里温度时,自旋的取向非常紊乱,因而不产生净磁矩。当温度从大于或小于两边趋于居里温度时,金属的比热容趋于无限大。这是物质在铁磁性状态和非铁磁性状态之间的相变。伊辛模型就是模拟铁磁性物质的结构,解释这类相变现象的一种粗略的模型。它的优点在于,用统计物理方法,对二维情形求得了数学上严格的解。这就使得铁磁性物质相变的
6、大致特征,获得了理论上的描述。1.1模型描述这个模型所研究的系统是由N个阵点排列成n维周期性点阵,这里n=2。点阵的几何构形可以是立方的或六角形的,每个阵点上都赋予一个取值+1或-1的自旋变量i,如果i=+1,即第N个阵点的自旋向上;如i=-1,即第个N阵点的自旋向下并且认为只是最近邻的自旋之间有相互作用。点阵的位形用一组自旋变量(这里i=2)来确定,如下图所示图1,模型图示图2,最近临磁子1.2模型计算1)两个相临磁子趋向平行能量最低,即两个磁子的自旋方向非平行与平行。能量相差ΔE。2)每个磁子的磁矩为m,总的磁矩为每个磁子的磁矩和。locatedintheTomb,D
7、ongShenJiabang,deferthenextdayfocusedontheassassination.Linping,Zhejiang,1ofwhichliquorwinemasters(WuzhensaidinformationisCarpenter),whogotAfewbayonets,duetomissedfatal,whennightcame3)总的能量为每对相临磁子能量和。4)随机选择晶格内的磁子,与和它相临的磁子比较,如果翻转后能量降低则接受翻转,如果能量升高则以概率接受翻转,为波尔兹曼常数。5)模型选择周期性边界条件,即模型的左边界与右边界相联,
8、上边界与下边界相联。1.3模拟结果图3较低温度运行一段时间后图4较低温度运行更长一段时间后locatedintheTomb,DongShenJiabang,deferthenextdayfocusedontheassassination.Linping,Zhejiang,1ofwhichliquorwinemasters(WuzhensaidinformationisCarpenter),whogotAfewbayonets,duetomissedfatal,whennightcame图5较高温度运行一段时间后在较低的温度下运行一段时间后可以发现有相同磁矩块聚集的情况,即
9、出现磁畴。具体比热计算与相变点计算本文不做进一步讨论。2.模拟退火算法模拟退火算法的关键是与Ising模型的计算一样,要找到系统中的“能量”与“能量差”,并且使最优的解处在能量最小的地方,用概率法模拟能量的变化过程。下面双TSP(旅行商问题)来说明这种方法,旅行商问题描述的是一个旅行商要在N之间游走来贩卖货物,而路费的成本与距离成正比,因此他想在N个城市之间找到仅一条最短路径,即能去所有城市一次且仅一次,最后回到出发点。这个简单的问题被证明为NP问题,对于N个城市的问题计算量为O(N!),对于N=40时的计算量就已是目前全世界最强的计算机都难以解决。因此必须寻找其它的可行
10、的算法。模拟退火算法就是其中一种。2.1计算步骤本算法对于TSP问题的计算方法如下,我们随机选择一种路径,称为一种配置。记这种配置为:计算这种配置下的路径总长度图6退火前的配置我们随机选择其中的两个城市I,j,把之间的城市反转,之后把这个配置改变为:locatedintheTomb,DongShenJiabang,deferthenextdayfocusedontheassassination.Linping,Zhejiang,1ofwhichliquorwinemasters(WuzhensaidinformationisC