欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: MATLAB粒子群算法 [打印本頁]

作者: 冰荔枝    時間: 2022-1-29 20:21
標(biāo)題: MATLAB粒子群算法
clc
clear
close all
E=0.000001;
maxnum=800;%最大迭代次數(shù)
narvs=2;%目標(biāo)函數(shù)的自變量個數(shù)
particlesize=50;%粒子群規(guī)模
c1=2;%每個粒子的個體學(xué)習(xí)因子,加速度常數(shù)
c2=2;%每個粒子的社會學(xué)習(xí)因子,加速度常數(shù)
w=0.6;%慣性因子
vmax=5;%粒子的最大飛翔速度
v=2*rand(particlesize,narvs);%粒子飛翔速度
x=-300+600*rand(particlesize,narvs);%粒子所在位置
%定義適應(yīng)度函數(shù)
fitness=inline('(x(1)^2+x(2)^2)/10000','x');
for i=1:particlesize
    f(i)=fitness(x(i,:));   
end
personalbest_x=x;
personalbest_faval=f;
[globalbest_faval,i]=min(personalbest_faval);
globalbest_x=personalbest_x(i,:);
k=1;
while (k<=maxnum)
    for i=1:particlesize
            f(i)=fitness(x(i,:));
        if f(i)<personalbest_faval(i)
            personalbest_faval(i)=f(i);
            personalbest_x(i,:)=x(i,:);
        end
    end
    [globalbest_faval,i]=min(personalbest_faval);
    globalbest_x=personalbest_x(i,:);
    for i=1:particlesize
        v(i,:)=w*v(i,:)+c1*rand*(personalbest_x(i,:)-x(i,:))...
            +c2*rand*(globalbest_x-x(i,:));
        for j=1:narvs
            if v(i,j)>vmax
                v(i,j)=vmax;
            elseif v(i,j)<-vmax
                v(i,j)=-vmax;
            end        
        end
        x(i,:)=x(i,:)+v(i,:);
    end
    ff(k)=globalbest_faval;
    if globalbest_faval<E
        break
    end
    k=k+1;
end
xbest=globalbest_x;
plot(1:length(ff),ff)







歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1