ImageVerifierCode 换一换
格式:DOC , 页数:11 ,大小:223.50KB ,
资源ID:9042218      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-9042218.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(蚁群算法求解TSP问题.doc)为本站会员(j35w19)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

蚁群算法求解TSP问题.doc

1、HUNAN UNIVERSITY课 程 作 业课程题目 智能优化算法 学 生 姓 名 李小燕学 生 学 号 S131020016专 业 班 级 计算机科学与技术学 院 名 称 信息科学与工程学院指 导 老 师 杨圣洪2014 年 6 月 8 日蚁群算法求解 TSP 问题摘要:蚁群算法是一种分布式内在并行算法。单个蚂蚁的搜索过程是彼此独立的,易于局部最优,通过个体间不断的信息交流和传递有利于发现较好解;并且该算法是一种正反馈算法。路径上的信息素浓度较高,将吸引更多的蚂蚁沿这条路径运动,又使得信息素浓度增加,加快了算法的进化过程。本文通过求解 TSP 问题,通过在特定情况下对路径进行逐步遍历比较来

2、降低陷入局部最优解的可能性, 找出最优解。关键词:蚁群算法;TSP;信息素;遍历1. 引言TSP 问题又称最短路径问题,还称为旅行商问题,是一种比较经典的 NP 难题,问题描述较简单,而获得最优解却十分困难。求解 TSP 问题不仅为其他算法提供了使用平台,而且算法的优劣性能也可通过其求得 TSP 问题的解集来验证。旅行商问题的经典描述为:已知 N 个城市及相互间的距离,旅行商从某城市出发遍历这 N 个城市后再回到原点,在旅行商每个城市都只访问一次的前提下确定一条最短路径。蚁群算法是一种基于种群的启发式仿生进化系统。该算法通过模拟自然界的蚂蚁觅食过程对目标进行搜索,而在搜索过程中人工蚂蚁会在其经

3、过的路径上释放信息素,蚁群依赖于同类散发在周围环境中的特殊物质信息素的轨迹来决定自己的去向。当某些路径上走过的蚂蚁越来越多时,留下的信息素也会越来越多,以致后蚂蚁选择该路径的概率也越来越高,从而更增加了该路径的吸引强度,逐渐形成了一条它们自己事先并未意识到的最短路线。蚁群算法实现 TSP 过程为:将 m 只蚂蚁放入到 n 个随机选择的城市中,那么每个蚂蚁每步的行动是:根据一定的依据选择下一个它还没有访问的城市;同时在完成一步(从一个城市到达另一个城市)或者一个循环(完成对所有 n 个城市的访问)后,更新所有路径上的信息素浓度。2. 蚁群算法的数学模型(1) 、基本参数、信息素浓度公式、择路概率

4、设蚂蚁的数量为 m,城市的数量为 n,城市 i 与城市 j 之间的距离为 dij,t时刻城市 i 与城市 j 之间的信息素浓度为 tij(t),初始时刻,各个城市间连接路径上的信息素浓度相同,不妨记为 tij(0)=t0。蚂蚁 k(k=1,2,m)根据各城市间连接路径上的信息素浓度,决定其下一个要访问的城市,设 Pijk(t)表示 t 时刻,蚂蚁 k 从城市 i 到城市 j 的概率,其计算公式为如下: ij()()P0ij ij kkij ijsalow kttsalowt l 其中:ij(t)为启发式函数, ij(t)=1/dij,表示蚂蚁从城市 i 转移到城市 j 的期望程序;allowk

5、(k=1,2,m)表示蚂蚁 k 待访问的城市的集合,开始时 allowk 为其他n-1 城市,随着时间推进,其中的元素不断减少,直至为空,表示所有城市访问完,即遍历所有城市。为信息素的重要程度因子,其值越大,转移中起的作用越大为启发函数的重要程度因子,其值越大,表示启发函数在转移中的作用越大,即蚂蚁以较大的概率转移到距离短的城市。蚂蚁释放的信息素会随时间的推进而减少,设参数(0= rand); target = allow(target_index(1);Table(i,j) = target;endend% 结果显示Shortest_Length,index = min(Length_bes

6、t);Shortest_Route = Route_best(index,:);disp(最短距离 : num2str(Shortest_Length);disp(最短路径 : num2str(Shortest_Route Shortest_Route(1);% 绘图figure(1)plot(citys(Shortest_Route,1);citys(Shortest_Route(1),1),.citys(Shortest_Route,2);citys(Shortest_Route(1),2),o-);grid onfor i = 1:size(citys,1)text(citys(i,1)

7、,citys(i,2), num2str(i);endtext(citys(Shortest_Route(1),1),citys(Shortest_Route(1),2), 起点);text(citys(Shortest_Route(end),1),citys(Shortest_Route(end),2), 终点);xlabel(城市位置横坐标 )ylabel(城市位置纵坐标 )title(蚁群算法优化路径(最短距离: num2str(Shortest_Length) )figure(2)plot(1:iter_max,Length_best,b,1:iter_max,Length_ave,r

8、:)legend(最短距离 ,平均距离)xlabel(迭代次数 )ylabel(距离)title(各代最短距离与平均距离对比)4.3 实验结果与分析使用不同的蚁群数量和迭代次数后求得的最短距离和最短路径如下所示:1. 蚁群数 50,迭代次数 200最短距离:15601.9195最短路径:14 12 13 11 23 16 5 6 7 2 4 8 9 10 3 18 17 19 24 25 20 21 22 26 28 27 30 31 29 1 15 142. 蚁群数 50,迭代次数 100最短距离:15972.7648最短路径:1 15 13 12 14 29 11 23 16 5 6 7

9、2 4 8 9 10 3 18 17 19 24 25 20 21 22 26 28 27 30 31 13. 蚁群数 100,迭代次数 100最短距离:15601.9195最短路径:14 12 13 11 23 16 5 6 7 2 4 8 9 10 3 18 17 19 24 25 20 21 22 26 28 27 30 31 29 1 15 144. 蚁群数 50,迭代次数 300最短距离:15601.9195最短路径:1 15 14 12 13 11 23 16 5 6 7 2 4 8 9 10 3 18 17 19 24 25 20 21 22 26 28 27 30 31 29

10、15. 蚁群数 100,迭代次数 200最短距离:15601.9195最短路径:14 12 13 11 23 16 5 6 7 2 4 8 9 10 3 18 17 19 24 25 20 21 22 26 28 27 30 31 29 1 15 146. 蚁群数 100,迭代次数 300最短距离:15553.0468最短路径:10 9 8 4 2 5 6 7 13 12 14 15 1 29 31 30 27 28 26 21 22 18 3 17 19 24 20 25 11 23 16 107. 蚁群数 150,迭代次数 300最短距离:15601.9195最短路径:1 15 14 12

11、 13 11 23 16 5 6 7 2 4 8 9 10 3 18 17 19 24 25 20 21 22 26 28 27 30 31 29 1从以上的实验结果可看出,蚁群数量和迭代次数对算法的实验结果有一定影响,当蚁群数确定时,随着迭代次数的增加,最短距离会有所减小,但增加到一定的程度,最短距离将不再变化;当迭代次数不变,随着蚁群数量的增加,最短距离也有一定的改进。但增加到一定程度,最短距离还可能有所增加。5. 总结本次实验是通过 matlab 编程来实现蚁群优化算法,通过实验结果,我们发现虽然我们找到了问题的最优解,但是最优解的收敛性并不乐观,并不能求得问题的精确解,并且随着参数的调节运行结果有随机性。另外,在蚁群算法求解过程中,蚂蚁的数量和城市的数量差距对结果也是具有一定影响的。当城市规模较大的时候,问题的复杂度呈指数增长,仅仅靠这样一个基础单一的信息素更新机制引导搜索偏向,搜索效率有瓶颈。总的来说,该算法具有较强的自适应性,易于与其他方法组合,适用于解决组合优化问题。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报