全国环游怎么走----蚁群算法

本文介绍了使用蚁群算法解决旅行商问题(TSP)的案例,通过MATLAB实现全国省会城市最短旅游路线。算法涉及信息素更新、禁忌表控制、迭代过程,并展示了不同迭代次数下的结果。尽管存在收敛问题,但400次迭代后能得出较优解。
摘要由CSDN通过智能技术生成

正在看数学建模的算法,这里讲蚁群算法拿出来做了个全国省会级城市旅游路线最短问题(TSP),使用matlab实现。

蚁群算法思想

(1)根据具体问题设置多只蚂蚁,分头并行搜索。
(2)每只蚂蚁完成一次周游后,在行进的路上释放信息素,信息素量与解的质量成正比。
(3)蚂蚁路径的选择根据信息素强度大小(初始信息素量设为相等),同时考虑两点之间的距离,采用随机的局部搜索策略。这使得距离较短的边,其上的信息素量较大,后来的蚂蚁选择该边的概率也较大。
(4)每只蚂蚁只能走合法路线(经过每个城市1次且仅1次),为此设置禁忌表来控制。
(5)所有蚂蚁都搜索完一次就是迭代一次,每迭代一次就对所有的边做一次信息素更新,原来的蚂蚁死掉,新的蚂蚁进行新一轮搜索。
(6)更新信息素包括原有信息素的蒸发和经过的路径上信息素的增加。
(7)达到预定的迭代步数,或出现停滞现象(所有蚂蚁都选择同样的路径,解不再变化),则算法结束,以当前最优解作为问题的最优解。

调用函数:

function [R_best,L_best,L_ave,Shortest_Route,Shortest_Length] = ACATSP(path,NC_max,m,Alpha,Beta,Rho,Q)

matlab程序

程序主体来源互联网。数据集为国内主要城市的经纬度,及地名,以

经度,纬度,地名

的格式存入path所指向的txt文件,该txt文件与该matlab程序放在同一目录。

function [R_best,L_best,L_ave,Shortest_Route,Shortest_Length] = ACATSP(path,NC_max,m,Alpha,Beta,Rho,Q)

%%-------------------------------------------------------------------------

%% 主要符号说明

%% C n个城市的坐标,n×2的矩阵
%% NC_max 最大迭代次数
%% m 蚂蚁个数
%% Alpha 表征信息素重要程度的参数
%% Beta 表征启发式因子重要程度的参数
%% Rho 信息素蒸发系数
%% Q 信息素增加强度系数
%% R_best 各代最佳路线
%% L_best 各代最佳路线的长度

%%=========================================================================

%% 第一步:变量初始化

%% 从文件读入数据
[x y z] = textread(path,'%f,%f,%s');
C = [x,y] ;
nam
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值