- 10
- 0
- 约6.03千字
- 约 10页
- 2018-01-08 发布于江西
- 举报
1.1通俗解释matlab之模拟退火求TSP问题.docx
1.初识模拟退火算法 说起模拟退火算法,不管哪个地方讲反正都有那么一段历史来源,模拟退火据说就是根据物理学上物质分子在温度较高的时候运动剧烈,很容易从一个转台转到另一个状态,而在温度较低的时候运动缓慢,状态也就基本上固定而不宜发生转变。明不明白这个具体的物理过程无所谓,理解后面算法流程后就明白了什么是退火降温。说白了,如果和算法结合起来的话,就是高温的时候问题的解很容易发生改变,从一个解很容易变化到另外的一个解,随着温度的降低,解的这种改变性越来越低。而在每一次降温的过程中,算法都会记录上在本次温度下的所有改变的解中的优秀解,并传递到下一次的降温过程中。这样,你想一想,开始解的变化范围很大,并一直在寻找优解,慢慢的变化范围变小,就变成了锁定前一次寻找到的最优解。其实基本上所有的算法都是这样的一个过程,先广度搜索,在集中寻找等等,不同的是不同的算法他们的搜索速度、搜索的准确率不同而已。2.我要解决的问题既然是优化算法,那就用它来解决一个常见的问题---旅行商问题,也叫TSP问题。问题是什么样子的呢,就是随机给你不同的地点,要你每个地点走一次的话,怎么走这个地点的顺序才能使得你走的总路程最短呢,像这类问题最好的验证实例就是邮递员了吧,他会想怎么邮递所有的包裹才能使得他要走的总路线最少吧。好了下面我随便给出30个不同的点代表不同的位置吧,点的左边都在0~1之间,如下:cities1=[0.6606,0.9695,0.5906,0.2124,0.0398,0.1367,0.9536,0.6091,0.8767,0.8148,0.3876,0.7041,0.0213,0.3429,0.7471,0.4606,0.7695,0.5006,0.3124,0.0098,0.3637,0.5336,0.2091,0.4767,0.4148,0.5876,0.6041,0.3213,0.6429,0.7471;0.9500,0.6740,0.5029,0.8274,0.9697,0.5979,0.2184,0.7148,0.2395,0.2867,0.8200,0.3296,0.1649,0.3025,0.8192,0.6500,0.7420,0.0229,0.7274,0.4697,0.0979,0.2684,0.7948,0.4395,0.8867,0.3200,0.5296,0.3649,0.7025,0.9192];注意了,这就是30对(x,y)的值,在matlab下画出来就如图所示:plot(cities1(1,:),cities1(2,:),*)?现在问题就是怎么首尾相连这些点才能是他们点之间的距离最小。(3)关于如何开展算法地点知道了那么剩下的就是如何开始了。首先最关键的就是点的顺序问题。上面我们给了一系列点,我们的假设就是那些点的先后顺序就是我们要走的顺序,而算法的开展就是改变那些点的循序。比如说上面的点中,第一个点是(0.6606,0.6606),第五个点是(0.0398,0.0398)吧,其他的类似就不说了,那么开始走的顺序就是从第一个点走到第二个点,然后再到第三个点,等等。好了,那么如果我把第一、五的位置换一下,现在第一个要走的点是(0.0398,0.0398),第五个要走的点就是(0.0398,0.0398),其他都先不变的话,那么你想想没变化前你从一点走到二点的距离和变化后你从一点走到二点的距离一样吗?显然不一样。那么好了,不一样就会有大小吧,记录所有距离和的较小者,ok了。并且这种交换可不是只有两个两个交换呀,可以多个相互交换。并且可以交换多次,这样可以产生多少组不同的走法呀,里面不乏有更好的解吧。讲到这里我们也就清楚了我们有哪些事情要干了吧,首先,得有一个负责交换点的函数吧,换完后,肯定还的有一个针对这种顺序下求他们的相互顺序点点之间所有距离和的函数吧。还有一个就是模拟退火的精髓函数,它是决定着某次交换操作后根据所得的结果来决定是否接受本次交换的函数。针对模拟退火的这个精髓函数,其实它的最基本的原则就只有一个,就是如果交换后距离变小了,那么一定接受这个交换结果,(重点来了)如果交换后距离变大了,那么它不是立马就拒绝这个结果,而是以一定的概率接受这个结果,这个概率的计算方法是?p=exp[-(Ej-Ei)/T],其中Ej相当于交换后的距离值,Ei相当于交换前的距离值,而T就是我们所说的温度了,那么我们说当EjEi时,是不是以这个概率p接受这个解呀,想想,此时的(Ej-Ei)是不是一个小的正值呀(相当于误差),而T温度,肯定也是一个正值,只不过在迭代的过程中我们在一直减小这个T值,所以叫降温嘛。好了我们来看看这个p值怎么变化的吧,再想想,我们说开始的时候高温,也就是T很大是不是,那么exp[-(Ej-Ei)/T]想想大概
您可能关注的文档
最近下载
- 思维训练与学习力提升-07显性工具化中批判性工具a.pdf VIP
- 思维训练与学习力提升-08显性工具化下创造性思考工具.pdf VIP
- 思维训练与学习力提升-06显性工具化上核心工具.pdf VIP
- 通识教育类课程标准-写作与沟通课程标准-写作与沟通教学教案28.pdf VIP
- GB∕T30146-2023 《安全与韧性 业务连续性管理体系 要求》“8.3业务连续性策略和解决方案”理解与实施指导材料(2024A0).docx VIP
- 城市轨道交通重载型自动扶梯和自动人行道技术规范.PDF VIP
- 楼施工组织设计及投标报价文件编制工程管理(论文)开题报告_大学论文.doc VIP
- 《海东市无人快递车试点应用工作方案》.docx VIP
- 湖南湘中园施工组织设计与投标报价文件编制.doc VIP
- 曼娜回忆录全文小说.pptx VIP
原创力文档

文档评论(0)