%TSP 的蚁群算法
%%z是2*n的矩阵即为城市的坐标的点
function Itsp=AOC(z)
%%z是2*n的矩阵即为城市的坐标的点
function Itsp=AOC(z)
%保留每次迭代的最优解
% 以max(t^a*b^(-b))为依据找最优路径,与保留的最优路径比较
% 以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
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