1 人工蚂蚁算法 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [x,y, minvalue] = AA(func) % Example [x, y,minvalue] = AA('Foxhole') clc; tic; subplot(2,2,1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% plot 1 draw(func); title([func, ' Function']); %初始化各参数 Ant=100;%蚂蚁规模 ECHO=200;%迭代次数 step=0
01*rand(1);%局部搜索时的步长 temp=[0,0]; %各子区间长度 start1=-100; end1=100; start2=-100; end2=100; Len1=(end1-start1)/Ant; Len2=(end2-start2)/Ant; %P = 0
2; %初始化蚂蚁位置 for i=1:Ant X(i,1)=(start1+(end1-start1)*rand(1)); X(i,2)=(start2+(end2-start2)*rand(1)); %func=AA_Foxhole_Func(X(i,1),X(i,2)); val=feval(func,[X(i,1),X(i,2)]); T0(i)=exp(-val);%初始信息素,随函数值大,信息素浓度小,反之亦然 %%%%%*********************************************************************