基于蚁群算法的TSP问题求解.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于蚁群算法的TSP问题求解   摘要:蚁群算法(Ant Colony Algorithm)是一种受自然界蚂蚁群体觅食行为启发而提出的进化计算算法,针对TSP 实验结果表明,蚁群算法是求解TSP 的一种有效的算法。   关键词:蚁群算法;旅行商问题;信息素   中图分类号:TP301 文献标识码:A 文章编号:1009-3044(2010)20-5570-02   An Ant Colony Algorithm for Solving Traveling Salesman Problem   PENG Dong-hai, YUAN Hui-yong   (The Department of Computer Science, Hunan Insitute of Humanities Science and Technologe, Loudi 417000, China)   Abstract: ACA is an evolutionary computation algorithm inspired by a group of natural ants foraging behavior. Simulation tests for TSP have illustrated that the algorithm is effective to solve TSP.   Key words: ant colony algorithm; traveling salesman problem; pheromone    意大利学者M.Dorigo在自然界蚂蚁行为的启示下提出了蚁群算法,并应用该算法求解图着色问题、车辆调度问题、集成电路设计以及通信网络负载问题等,取得了较好的结果。   自然界的蚂蚁利用一种外激素物质进行信息个体间传递,蚂蚁在经过的路上留下生物信息素,而且蚂蚁在移动时就能感知到生物信息素的浓度,蚂蚁趋向于向生物信息素浓度高的方向爬行。因而蚁群的行为就会显现生物信息素的正反馈现象(哪条路上经过的蚂蚁越多,后面蚂蚁选择该条路径的几率越大)。   1 蚁群算法的TSP问题求解   1.1 TSP问题   旅行商问题是个著名的NP问题:一个商人要到若干城市推销物品,从1个城市出发,要到达其他各城市一次,而且最多一次,最后又回到第一个城市,寻找一条最短路径H = (h1, h2,h3,…hn),使得下列目标函数最小:    (1)   上式中hi为城市号(值为1到n之间的自然数),d(hi, hj)表示城市i和城市j之间的距离。若把每个城市看成是图上的节点,则TSP 问题就是在有n 个节点的完全图上寻找一条花费最少的哈密顿回路。   1.2 蚁群算法(ACA)模型   我们用求解平面上n个城市的TSP问题来说明蚁群算法模型。假如将m只蚂蚁放到给定的n个城市中,构造一个人工的蚁群系统,其中每只蚂蚁的行动应当符合下述要求:1)每只蚂蚁根据路径上的生物信息素的浓度,以一定概率来选取下一个城市;2)蚂蚁不能在本次遍历中选取已走过的城市作为下一个城市;3)蚂蚁完成一个遍历后,就更新蚂蚁所经过路径上的信息素浓度。   蚂蚁选择下一个城市的概率主要是以下两点来决定:   1)τij(t)是指在t时刻城市i和城市j之间的路径上生物信息素浓度;当然初始时,各条路径上的生物信息素浓度是相同的,设τij(0)=c(C为常数),用来模拟真实蚂蚁的生物信息素。   2)ηij是指蚂蚁从城市i转移到城市j的启发信息,这个启发信息是根据具体问题给出的,比如:TSP问题中一般取ηij=100/dij (dij一般指城市ij之间的距离)。   这样,t时刻位于城市i的蚂蚁k选择城市j为下一城市的概率的计算公式如公式2所示:    (2)   其中:α是信息素因子,表示路径的相对重要性,反映生物信息素对蚂蚁的移动影响,该值越大,则该蚂蚁越趋向于选择生物信息素浓度大的路径,蚂蚁之间协作性越高。β是启发因子,表示启发值的相对性,表明启发信息对蚂蚁选择城市的影响程度,该值越大,则状态转移概率越接近于贪婪规则。allowk=(0,l,2,3,…,n-1)-tablek 表示蚂蚁k下个可以选择的城市。tablek用于记录第k只蚂蚁已走过的城市,该表随着算法的进行做动态调整。Pkij(t)是指在t时刻第k只蚂蚁由城市i到城市j的选择几率。   蚂蚁完成所有城市的遍历后,生物信息素按照如公式3的方法来更新:    (3)   其中:△τij(t)是蚁群在路径(i,j)上散发信息素之和,定义如公式4:    (4)   q是信息素挥发因子,1-q是生物信息素的留存系数,q的取值范围是0和1之间。   1.3 实现步骤   

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档