資源描述:
《粒子群優(yōu)化算法Matlab源程序》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、clearall;clc;formatlong;%------給定初始化條件----------------------------------------------c1=1.4962;%學習因子1c2=1.4962;%學習因子2w=0.7298;%慣性權(quán)重MaxDT=1000;%最大迭代次數(shù)D=10;%搜索空間維數(shù)(未知數(shù)個數(shù))N=40;%初始化群體個體數(shù)目eps=10^(-6);%設(shè)置精度(在已知最小值時候用)%------初始化種群的個體(可以在這里限定位置和速度的范圍)------------fori=1:Nforj=1:D
2、x(i,j)=randn;%隨機初始化位置v(i,j)=randn;%隨機初始化速度endend%------先計算各個粒子的適應(yīng)度,并初始化Pi和Pg----------------------fori=1:Np(i)=fitness(x(i,:),D);y(i,:)=x(i,:);endpg=x(1,:);%Pg為全局最優(yōu)fori=2:Niffitness(x(i,:),D)3、:MaxDTfori=1:Nv(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:));x(i,:)=x(i,:)+v(i,:);iffitness(x(i,:),D)
4、*********************************')disp('函數(shù)的全局最優(yōu)位置為:')Solution=pg'disp('最后得到的優(yōu)化極值為:')Result=fitness(pg,D)disp('*************************************************************')%------算法結(jié)束---DreamSunGL&HF-----------------------------------適應(yīng)度函數(shù)源程序(fitness.m)functionresult=
5、fitness(x,D)sum=0;fori=1:Dsum=sum+x(i)^2;endresult=sum;