adaptintx.asv

来自「该程序是一整数版的PSO程序。该程序对于整数版PSO的各种应用可作为模板程序。」· ASV 代码 · 共 23 行

ASV
23
字号
% 微粒位置更新2005.7.16
function [x]=adaptintx(w,c1,c2,popsize,dimsize,x,vid,vmax,vmin,xmax,xmin,pbestx,gbestx)
for popindex=1:popsize
    for dimindex=1:dimsize
        subtract1=pbestx(popindex,dimindex)-x(popindex,dimindex);
        subtract2=gbestx(dimindex)-x(popindex,dimindex);
        temv=w*vid(popindex,dimindex)+c1*rand*subtract1+c2*rand*subtract2;
        if temv>vmax
            vid(popindex,dimindex)=vmax;
        elseif temv<vmin
            vid(popindex,dimindex)=vmin
        else
            vid(popindex,dimindex)=temv;
        end
        x1(popindex,dimindex)=x(popindex,dimindex)+vid(popindex,dimindex);
        x(popindex,dimindex)=round(x1(popindex,dimindex))
        if x(popindex,dimindex)>xmax
           x(popindex,dimindex)=xmax;
        elseif x(popindex,dimindex)<xmin
           x(popindex,dimindex)=xmin;
        end
    end
end

⌨️ 快捷键说明

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