蚂蚁算法求解TSP问题的实验性能分析.docVIP

蚂蚁算法求解TSP问题的实验性能分析.doc

  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文档。上传文档
查看更多
2 TSP和蚂蚁算法 TSP问题又称为旅行售货商问题(Traveling Salesman Problem)。描述如下:给定个城市的集合及城市之间环游的费用。TSP问题是指找到一条经过每个城市至少一次且回到起点的最小费用的环游。若将每个城市看成是图上的一个顶点,费用看成连接顶点的边上的权,则TSP问题就是在一个具有个顶点的图上找到一条费用最小的Hamilton回路。 据昆虫学家的观察和研究发现,生物世界中的蚂蚁有能力在没有任何可见提示下找到从其窝巢到食物源的最短路径,并能随环境的变化而变化,适应性地搜索新的路径,产生新的选择。这是因为蚂蚁在寻找路径时会在路径上释放一种特殊的分泌物——信息素,使得一定范围内的其它蚂蚁能够觉察并影响它们以后的寻径行为。当一些路径上通过的蚂蚁越来越多时,该路径上的信息素浓度就越大,后来的蚂蚁选择该路径的可能性就越大,从而进一步增加了该路径上的信息素浓度,这种选择过程称为蚂蚁的自催化行为(auto-catalytic behavior)。其原理可以看成是一种正反馈机制,因此也可将蚂蚁的这种行为理解成增强型的学习系统(reinforcement learning system)。当应用蚂蚁的这些行为特性来求解组合优化问题时,往往把蚂蚁称之为人工蚂蚁,相应的蚂蚁算法也称之为蚂蚁系统,或蚁群算法。 应用蚂蚁的行为特性求解TSP问题时,每只人工蚂蚁的行为还必须符合下列规律:①是根据路径上的信息素浓度,以某种概率来选取下一步的路径;②是不再选取自己本次循环已经走过的路径作为下一步的路径(可以通过一个数据结构来控制这一点);③是当完成一次循环后,根据整个路径长度来释放相应浓度的信息素,并更新走过路径上的信息素浓度。 引入变量,其中,表示TSP问题的规模,即城市数,而则表示人工蚂蚁的个数。下面解释上述变量的含义及其关系。 表示在t时刻边上的信息素浓度。当蚂蚁完成一次循环后,相应边上的信息素浓度为,即等于上一时间段残留下的信息素浓度加上当前时间段新增加的信息素浓度。其中为一个取值范围在0到1之间的常数,显然,表示在时间段t到t+1之间信息素浓度的挥发强度因子。 。其中是第k只蚂蚁在时间t到t+1之间,在边上增加的信息素浓度。M.Dorigo针对取值的不同给出了蚂蚁算法的三种模型[7],分别称之为ant-cycle system、ant-quantity system、ant-density system。 对于ant-cycle system,定义为: 对于ant-quantity system,定义为: 对于ant-density system,定义为: 在上述公式(1)、(2)和(3)中Q是一个常量,用来表示蚂蚁完成一次完整的路径搜索后,所释放的信息素总量。表示第k只蚂蚁的路径总费用,它等于第k只蚂蚁经过的各段路径所需费用的总和。显然,蚂蚁不会在其没有经历过的路径上释放信息素。值得注意的是,后两种模型中(如公式(2)和(3)所示)利用的是路径的局部信息,而(1)利用的是路径的整体信息,在求解TSP问题时,第一个模型性能较好。 定义第k只蚂蚁当前时刻在顶点,下一步选择顶点,即选择路径的概率为: 其中,为路径所需费用。为两个参数,分别用来控制信息素浓度和路径长度的相对重要程度。是第k只蚂蚁在满足2.2.1小节所述人工蚂蚁行为规律3个条件的前提下,下一步可以选择的路径集合。 根据上面的分析,再引入一个控制“蚂蚁不再选取自己本次循环已经走过的路径作为下一步路径”这一行为特性的数据结构,表示第k只蚂蚁访问过的城市集合,其中。在初始化的时候,m只人工蚂蚁被放置在不同的城市上,赋予每条边的信息素浓度初值为一常数。每只蚂蚁的的第一个元素赋值为它所在的城市。当蚂蚁完成一次完整的寻径过程后(即从某个城市出发走完所有城市一次并回到出发点),计算,并更新每条边上的信息素浓度,然后开始新一轮循环。直到迭代次数达到事先定义好的最大循环次数或所有的蚂蚁都选择了同一路径时,程序终止。 Ant-Cycle System算法描述如下: ① 初始化:,并置m只蚂蚁于n个城市上。 其中为迭代循环的次数,是一个“伪”时间控制变量。 ② 将各蚂蚁的初始出发点置于当前解集中; 对每只蚂蚁按概率移至下一顶点; 并将置于当前解集中。 ③ 计算各蚂蚁的目标函数值; 记录当前的最好解。 ④ 按信息素浓度调整规则更新每条边的信息素浓度。 ⑤ 对各边,置。 ⑥ 若且无退化行为(即找到的都是相同解),则转步骤②; 否则结束并输出当前最好解。 参考文献 [1] /tsp/index.html

文档评论(0)

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

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

1亿VIP精品文档

相关文档