基于模拟退火算法的旅行商问题求解_第1页
基于模拟退火算法的旅行商问题求解_第2页
基于模拟退火算法的旅行商问题求解_第3页
基于模拟退火算法的旅行商问题求解_第4页
基于模拟退火算法的旅行商问题求解_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、内容摘要二关键词二抽象II关键词II导言11旅行商问题和模拟退火算法21.1旅行推销员问题21.1.1旅行推销员问题2的描述1.1.2旅行推销员问题3的应用1.2模拟退火算法31.2.1基本理念3关键技术1.3摘要tsp模拟退火算法的实现52.1 TSP算法实现52.1.1 TSP算法描述52.1.2 TSP算法流程52.2 tsp 6的MATLAB实现2.2.1加载数据文件62.2.2计算总距离的函数72.2.3路线图7的功能2.2.4交易城的功能82.2.5执行模拟退火的功能8摘要93模拟示例103.1模拟分析和评估10结论12总结与展望12致谢13参考文献13基于模拟退火算法求解旅行商问

2、题董竹祥,光学信息科学与技术教练张明强:旅行商问题是组合优化中一个典型的NP难问题,它易于描述但难以处理。可能路径的数量和城市的数量呈指数级增长,使得解决这个问题非常困难。首先介绍了旅行商问题,给出了它的数学描述和实际应用,然后给出了求解旅行商问题的更精确的算法模拟退火算法。然后阐述了模拟退火算法的基本原理,重点介绍了模拟退火算法的基本思想和关键技术。最后,用MATLAB语言实现了该算法,并将其应用于求解旅行商问题的优化中。数值仿真结果表明,该方法能够对数据进行全局优化,有效克服了基于导数的优化算法容易陷入局部最优的问题。:模拟退火;旅行商;NP;组合优化基于模拟退火算法的旅行商问题求解光学信

3、息科学与技术导师张明强:旅行商问题是组合优化中典型的NP难问题之一,它易于描述,但难以求解。它的可能路径数量随着城市数量呈指数增长,所以很难求解。本文首先介绍了旅行商问题,给出了旅行商问题的数学描述和实际应用。进而,给出了一种精确算法模拟退火算法。然后介绍了模拟d退火的基本原理,突出了基本思想和关键技术。最后,我们用MATLAB语言实现了该算法,并将其应用到求解旅行商问题的优化中。数值仿真结果表明,该方法能够全局优化s数据,有效克服了基于导数的优化算法容易陷入局部最优的问题。关键词:模拟退火;旅行推销员问题;非决定性多项式;组合最优化介绍旅行商问题,又称旅行商问题,是19世纪由爱尔兰数学家威廉

4、罗恩汉密尔顿爵士和英国数学家托马斯彭宁顿柯克曼提出的一个数学问题。它指的是给定的n个城市,并给出每两个城市之间的距离。旅行者必须以最短的路线游览所有的城市一次,并且只游览一次,然后返回他们的原籍。已经证明它属于NP(非确定多项式-不确定多项式)问题1。历史上第一个正式使用的解决旅行商问题的算法诞生于1954年。它被用于计算49个城市的TSP问题。到目前为止,24978个城市的TSP问题可以通过使用最先进的计算机技术来解决。TSP有着悠久的历史。最早的描述是欧拉在1759年研究的骑士旅行问题,也就是说,对于棋盘上的64个方格,64个方格只被访问一次,最后回到起点。旅行商问题是兰德公司于1948年

5、提出的。它的名声和一种新的线性规划方法的出现使旅行商问题成为一个众所周知和流行的问题2。旅行商问题是一个经典的图论问题:有n个城市,用ci表示,j=1,2,两个城市之间的距离Ci,j是di,j,I,j=1,2,n,将所有的城市设置成对连接,旅行者需要穿过n个城市来推销他的商品,这些城市之间的距离是不同的,销售员需要从其中一个城市开始,他的老板规定他必须穿过所有的城市,那么TSP问题是为旅行者找到一条线路,使其能够一次并且正好一次地访问每个城市,并且要求路径的总长度最短。这个问题也可以总结如下:有n个城市通过公路连接,从一个城市到另一个城市,必须支付相应的费用;卖家从其中一个城市出发,只访问其他

6、n-1个城市一次;如何规划一条路线,使旅行者的花费最小化3。当城市数量较少时,可以通过枚举法找到最短路径。然而,随着问题规模的增大,很难找到多项式时间复杂度的算法来解决问题。TSP是一个典型的组合优化问题,是许多领域中许多复杂问题的集中推广和简化形式,已成为各种启发式搜索和优化算法的间接比较标准。因此,快速有效地解决TSP问题具有重要的理论和实践价值。旅行商问题代表了一种组合优化问题,在物流配送、计算机网络、电子地图、交通诱导、电气布线、超大规模集成电路单元布局等方面具有重要的工程和理论价值,引起了许多学者的关注。TSP是一个典型的组合优化问题,也是一个NP难问题。TSP的描述非常简单。早期的

7、研究者使用精确的算法来解决这个问题。解决TSP问题最简单的方法是枚举法。它的解是一个多维、多局部极值和无限复杂的解空间,而搜索空间是由n个大小为(n-1)的点的所有排列组成的集合!解空间可以被想象成一个无限多山的区域,每个峰或谷的高度就是问题的极值。解决TSP问题是一个在这一无垠的丘陵地区攀登到山顶或山脚的过程2。常用的方法有分枝定界法、线性规划法和动态规划法等。然而,可能路径的总数随着城市数N呈指数增长,因此当城市数超过100时,通常很难准确地找到全局最优解。随着人工智能的发展,出现了许多独立于问题的智能优化算法,如蚁群算法、遗传算法、模拟退火、禁忌搜索、神经网络、粒子群优化算法、免疫算法等

8、。它们是通过模拟或解释一些自然现象或过程而发展起来的,为解决复杂的组合优化问题提供了新的思路和方法4。模拟退火算法利用玻尔兹曼分布概率在迭代搜索过程中接受目标函数的“退化解”。它具有突出的跳出局部最优陷阱的能力和较强的局部搜索能力,从而获得目标函数的全局最优解。由于模拟退火算法具有高效、通用和灵活的优点,将模拟退火算法引入到TSP问题的求解中可以避免在求解过程中陷入TSP问题的局部最优解5。本文首先介绍了传统的TSP问题,对其进行了数学描述,并列举了TSP问题的应用。接着介绍了模拟退火算法,重点介绍了其基本思想和关键技术。在此基础上,将模拟退火思想引入TSP问题的求解,设计了TSP问题的模拟退

9、火算法,并用MATLAB语言编程实现。1旅行商问题和模拟退火算法1.1旅行者问题1.1.1旅行推销员问题的描述旅行推销员问题(TSP),又称旅行推销员问题,是19世纪初由威廉哈密顿爵士和英国数学家柯克曼提出的一个数学问题。这也是一个著名的组合优化问题。问题描述如下:想要在几个城市销售商品的商人,知道城市的数量和城市之间的距离(或旅行费用),需要找到一条从城市1开始,经过所有城市并且每个城市只能被访问一次的路线,最后返回到城市1以最小化总距离(或旅行费用)。当TSP首次提出时,许多人认为这个问题很简单。后来,人们逐渐认识到这个问题表达简单,容易理解,而其计算复杂度是问题输入规模的指数函数,这是相

10、当难以解决的。这个问题的数学描述如下:假设有n个城市,它们分别编号,一个完全无向图G=(V,e),V=1,2,n,n1。每条边(I,j)E都有一个非负整数成本Ci,j(即上权重为Ci,j,I,jV)。并行设置G的一条路线是一个环,它穿过V中的每个顶点一次。旅游路线的成本是路线上所有各方的权重之和。旅行商问题是寻找g的最小成本环当人们考虑解决这个问题时,脑海中出现的最原始的方法是:列出每条备选路线(即排列和组合给定的城市),计算每条路线的总里程,最后选择最短的路线。假设给定的四个城市分别是A、B、C和D,每个城市之间的成本是已知的,如图1所示。我们可以通过一个组合状态空间图来表示所有的组合,如图

11、所示图1-1图1-2中TSP问题的解空间树从图中不难看出有6条路线可供选择,从中可以快速选择出总费用最短的一条路线:顶点序列为(A,C,B,D,A)。根据这个计算,如果城市的数量是n,那么组合路径的数量是(n-1)!显然,当城市数量较少时,找到最短路线并不困难,但是随着城市数量的增加,组合路线的数量将呈指数增长,达到无法计算的程度。这就是所谓的“组合爆炸问题”。假设现在城市的数量增加到20个,并且组合路径的数量是(20-1)!1.2161017,如此大量的组合,如果计算机每秒搜索1000万条路线,将需要386年6。1.1.2旅行推销员问题的应用TSP是最具代表性的优化问题之一。它的应用已经逐渐

12、渗透到各个技术领域和我们的日常生活中。它最初是为交通运输而提出的,如飞机路线安排、邮件递送、快递服务、校车路线设计等。实际上,它的应用范围已经扩展到了其他许多领域,如超大规模集成电路芯片设计、电路板布局、机器人控制、车辆路径、物流配送等。这里有几个例子。1.电路板钻孔进度安排。电路板钻孔机器的调度问题是TSP应用的一个典型例子。电路板上钻了数百个孔,头部在这些孔之间移动,这相当于所有孔的排列。这个问题被转化为TSP问题,这个洞相当于一个城市,把头从一个洞移到另一个洞所花的时间相当于TSP中的旅行费用。2.车辆路线。一个经典的路由问题是寻找网络中从源节点到目的节点的最佳流量路由,从而使与距离成比

13、例的流量成本最小化。这个问题的关键是计算流量网络中从源节点到目的节点的最短路径。这种最小成本流问题被扩展成旅行商问题,即车辆从源点到达多个目的地,最后返回源点。3.基因测序。Cnoocdre是一个解决旅行推销员问题的程序。美国国家卫生局的研究人员使用这一程序对基因进行测序。在本申请中,将DNA片段视为城市,将它们之间的相似性视为城市之间的距离。研究人员正试图找到最有可能的连接方法,将这些DNA片段合成完整的DNA。更重要的是,TSP为研究组合优化问题提供了一个理想的平台。许多组合优化问题,如背包问题、分配问题、车间调度问题和旅行商问题,都属于NP-Hard类。它们同样困难。如果其中一个问题可以

14、用多项式确定性算法来解决,那么所有其他的NP-Hard类问题也可以用多项式确定性算法来解决。许多方法是从旅行商问题发展而来,后来扩展到其他NP-Hard问题。1.2模拟退火算法模拟退火算法是KirkPatrick在1982年提出的7。他将退火思想引入到组合优化领域,提出了一种解决大规模组合优化问题的方法,这种方法对NP完全组合优化问题特别有效。模拟退火算法源于固体退火的原理,将固体加热到足够高的水平,然后缓慢冷却(即退火)到最低能量点。相反,如果温度迅速下降(即淬火),它就不能达到最低点。加热时,固体内部的粒子随着温度的升高而变得无序,内部能量增加。然而,当缓慢冷却时,粒子逐渐变得有序,在每个温度下达到平衡状态,并且最终在室温下达到基态,并且内部能量降低到最小值。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论