蚁群算法matlab程序代码

先新建一个主程序m文件acatsp.m
代码如下:
function [r_best,l_best,l_ave,shortest_route,shortest_length]=acatsp(c,nc_max,m,alpha,beta,rho,q)
%%=========================================================================
%% 主要符号说明
%% c n个城市的坐标,n×2的矩阵
%% nc_max 蚁群算法matlab程序最大迭代次数
%% m 蚂蚁个数%% alpha 表征信息素重要程度的参数
%% beta 表征启发式因子重要程度的参数%% rho 信息素蒸发系数
%% q 表示蚁群算法matlab程序信息素增加强度系数
%% r_best 各代最佳路线
%% l_best 各代最佳路线的长度
%% 蚁群算法matlab程序第一步:变量初始化
n=size(c,1);%n表示问题的规模(城市个数)
d=zeros(n,n);%d表示完全图的赋权邻接矩阵
for i=1:n
for j=1:n
if i~=jd(i,j)=((c(i,1)-c(j,1))^2+(c(i,2)-c(j,2))^2)^0.5;
else
d(i,j)=eps;
% i = j 时不计算,应该为0,但后面的启发因子要取倒数,用eps(浮点相对精度)表示
%% 蚁群算法matlab程序第二步:将m只蚂蚁放到n个城市上
%% 蚁群算法matlab程序第三步:m只蚂蚁按概率函数选择下一座城市,完成各自的周游
%% 下面计算蚁群算法matlab程序待选城市的概率分布
%% 蚁群算法matlab程序第四步:记录本次迭代最佳路线
%% 蚁群算法matlab程序第五步:更新信息素
%% 蚁群算法matlab程序第七步:输出结果
建立一个子程序drawroute.m
代码如下
需要输入的参数数据有: c: n个城市的坐标,n×2的矩阵nc_max: 蚁群算法matlab程序最大迭代次数m: 蚂蚁个数alpha: 表征信息素重要程度的参数beta:表征启发式因子重要程度的参数
rho: 信息素蒸发系数q:表示蚁群算法matlab程序信息素增加强度系数运行时打开acatsp.m 点击运行或输入acatsp(c,nc_max,m,alpha,beta,rho,q)
一个运行实例:
m=31;alpha=1;beta=5;rho=0.1;nc_max=200;q=100;

中科曙光的国产x86芯片将在2018上半年量产 国产CPU不受漏洞影响
iOS11.3代码显示新iPad Pro或将支持Face ID
高通第四季度中国智能手机AP市占率将超越联发科
座舱智能化被推向高潮,改变了汽车产业的竞争规则
自动驾驶的未来,道德才是挑战
蚁群算法matlab程序代码
COMWIN 工程监测采集仪常见问题 土木工程、建筑工程及水利工程
IBM公司计划在2023年建造一台1000个量子比特的计算机
荣耀Earbuds 3 Pro携三大全球首发技术破局旗舰耳机市场
LG G7被曝混用LCD/OLED屏_用户凌乱
开发一个基础的毫米波雷达探测系统
你真的懂如何选择运放芯片吗?
IGBT短路结温和次数
通信人必知的天线知识都在此 5G时代谁将是大功臣?
AI技术成熟度越来越高,NPU大时代来临
东芝与贝恩的芯片交易或将取消 中国商务部难过审查
811电池为何成为电动汽车频繁自燃事件的主角?
iOS10.2.1正式版更新:有人说更流畅了,更稳定了?
怎样使用Windows实用程序维护您的PC
宽带放大器有助于开发复杂射频系统的测试和测量功能