基于matlab的蚁群算法理解

本文介绍了一种使用MATLAB实现的蚁群算法来解决旅行商问题(TSP)。通过设置参数,计算每只蚂蚁经过所有城市后的总距离,并不断更新信息素,最终找到最短路径。代码中包含路径绘制和最优解输出。
摘要由CSDN通过智能技术生成
%TSP 的蚁群算法
%%z是2*n的矩阵即为城市的坐标的点
function Itsp=AOC(z)

%保留每次迭代的最优解
% 以max(t^a*b^(-b))为依据找最优路径,与保留的最优路径比较

x=z(:,1);
y=z(:,2);
n=30 ;%城市数目
c=100;
q=10^(+6);
NC=100;
r=0.9;%表示轨迹持久性
a=1.5;%表示轨迹相对重要性
b=2;%能见度相对重要行
m=50;%表示蚂蚁数量
for i=1:n
    for j=1:n
        dij(i,j)=sqrt((x(i)-x(j))^2+(y(i)-y(j))^2);%计算i到j城市的距离
    end
end
for i=1:n
    dij(i,i)=0.01;%另本身城市到本身城市的距离是一个很小的值。
end
min10=10^5;
t=ones(n)*c;%产生n*n全c的矩阵;
for nc=1:NC
    tabu=ones(m,n);%禁忌表,一行表示一蚂蚁,一列表示一个城市
    tabu(:,1)=0; %把第一列赋值为0;一第一行为例说明就是,第一个蚂蚁目前所在的
                 %位置是ta
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值