ant.m

来自「蚁群算法优化PID参数..只运行ant.m这个文件就行了」· M 代码 · 共 40 行

M
40
字号
clear all;
close all;
maxit=1;%最大循环次数
nc=0;t=0;
tao=ones(20,20);
rho=0.8;
alpha=1;
beta=2;
Q=100;
mant=10;%蚂蚁个数
iter=0;
bestpara=zeros(1,3);%用于记录最优值
fmin=inf;
for iter=1:maxit
    for ka=1:mant
        deltatao=zeros(20,20);
        Y1(:,ka)=0.2/mant*ka*rand(20,1)+0.3*ones(20,1);
        Y2(:,ka)=0.2/mant*ka*rand(20,1)+1.4*ones(20,1);
        Y3(:,ka)=0.2/mant*ka*rand(20,1)+1.4*ones(20,1);
        [para,f]=anttravel(tao,alpha,beta,Y1(:,ka),Y2(:,ka),Y3(:,ka));
        if (f<fmin)&(f~=0)
            bestpara=para;
            fmin=f;
        end
        for i=1:20
            for j=1:20
                %for i=1:mant
                    deltatao(i,j)=deltatao(i,j)+Q/f;
                    %end
            end
        end
    end
    tao=(1-rho)*tao+deltatao;
end
%y=bestpara;
%fval=fmin;
[yval,fval]=antsimu(bestpara(1),bestpara(2),bestpara(3));
plot(yval)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?