- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算智能课程作业讲述
利用蚁群算法求解tsp问题
? TSP问题又称最短路径问题,还称为旅行商问题,是一种比较经典的?NP?难
题,问题描述较简单,而获得最优解却十分困难。求解?TSP?问题不仅为其他算法提供了使用平台,而且算法的优劣性能也可通过其求得?TSP?问题的解集来验证。旅行商问题的经典描述为:已知N?个城市及相互间的距离,旅行商从某城市出发遍历这?N?个城市后再回到原点,在旅行商每个城市都只访问一次的前提下确定一条最短路径。?
蚁群算法是一种基于种群的启发式仿生进化系统。该算法通过模拟自然界的蚂蚁觅食过程对目标进行搜索,而在搜索过程中人工蚂蚁会在其经过的路径上释放信息素,蚁群依赖于同类散发在周围环境中的特殊物质—信息素的轨迹来决定自己的去向。当某些路径上走过的蚂蚁越来越多时,留下的信息素也会越来越多,以致后蚂蚁选择该路径的概率也越来越高,从而更增加了该路径的吸引强度,逐渐形成了一条它们自己事先并未意识到的最短路线。?
???蚁群算法实现TSP?过程为:将?m?只蚂蚁放入到?n?个随机选择的城市中,那么每个蚂蚁每步的行动是:根据一定的依据选择下一个它还没有访问的城市;同时在完成一步(从一个城市到达另一个城市)或者一个循环(完成对所有?n?个城市的访问)后,更新所有路径上的信息素浓度
蚁群算法的实现步骤
步骤1初始化相关参数如蚂蚁的数目。
步骤2将蚂蚁随机或均匀分布到各个城市。
步骤3每只蚂蚁通过访问各个城市而形成一个解并在访问的过程中将已访问到的城市保留在i中。在城市i中每只蚂蚁要从没有访问的城市中选择访问下一个城市j时须根据概率公式(1)进行选择如此循环直到所有的蚂蚁访问完所有的城市。
步骤4计算每只蚂蚁行走的总路径长度Lk并保存最优解。
数学模型的建立
蚁群算法解决TSP问题的MATLAB实现
出动m只蚂蚁,每只蚂蚁各随机选择一条路径,记为I=[1 2 3···m],长度记为long(I);
计算出每条路径的信息素浓度,记为P(I)=1/long(I),并进行归一化处理;
重新出动m只蚂蚁,按如下规则选择路径:
? 1, 每只蚂蚁都以一个概率p1选择新路径(路径随机)
2, 未选择新路径的蚂蚁以概率P(I)选择路径I;
3, 所有蚂蚁都以一个小概率p2对自己的路径进行局部变化;
更新所有路径,计算出每条路径的信息素浓度;
重复上述步骤,直至仅剩一条路径。
Matlab算法实现
function [R_best,L_best,L_ave,Shortest_Route,Shortest_Length]=ACATSP(C,NC_max,m,Alpha,Beta,Rho,Q)%%=========================================================================%% ACATSP.m%% Ant Colony Algorithm for Traveling Salesman Problem%% ChengAihua,PLA Information Engineering University,ZhengZhou,China%% Email:aihuacheng@%% All rights reserved%%-------------------------------------------------------------------------%% 主要符号说明%% C n个城市的坐标,n×2的矩阵%% NC_max 最大迭代次数%% m 蚂蚁个数%% Alpha 表征信息素重要程度的参数%% Beta 表征启发式因子重要程度的参数%% Rho 信息素蒸发系数%% Q 信息素增加强度系数%% R_best 各代最佳路线%% L_best 各代最佳路线的长度%%=========================================================================
第一步:变量初始化
n=size(C,1);%n表示问题的规模(城市个数)D=zeros(n,n);%D表示完全图的赋权邻接矩阵for i=1:nfor j=1:nif i~=jD(i,j)=((C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2)^0.5;elseD(i,j)=eps;endD(j,i)=D(i,j);endendEta=1./D;%Eta为启发因子,这里设为距离的倒数Tau=ones(n,n);%Tau为信息素矩阵Tabu=zeros(m,n);%存储并记录路径的生成N
您可能关注的文档
最近下载
- 2025年抖音本地生活服务业务深度分析报告 .pdf VIP
- 广西壮族自治区资源县农业局公务员招录事业单位招聘考试录用96人大全(含答案).docx VIP
- 清水河储能电站施工方案.doc VIP
- 2025至2030年中国美甲产业竞争现状及发展前景预测报告.docx
- 《新媒体营销》教学大纲.docx VIP
- 幼儿园小学生姓名卡片姓名贴纸.docx VIP
- 郑州市第四十七中学新初一分班(摸底)语文模拟试题(5套带答案).doc VIP
- 《边城》ppt.ppt VIP
- 2024凉山州专业技术人员继续教育公需科目-提升常态化监管水平,大力发展数字经济,支持平台经济发展试题及满分答案.docx VIP
- 口腔根尖周炎病例分析.pptx VIP
文档评论(0)