資源描述:
《帶壓縮因子的粒子群算法.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、主程序:%------基本粒子群優(yōu)化算法(ParticleSwarmOptimization)-----------%------名稱:帶壓縮因子的粒子群優(yōu)化算法(PSO)%------作用:求解優(yōu)化問(wèn)題%------說(shuō)明:全局性,并行性,高效的群體智能算法,提高解的精度%------初始格式化--------------------------------------------------clearall;clc;formatlong;%------給定初始化條件------------------------------
2、----------------%c1=1.4962;%學(xué)習(xí)因子1c1=3;c2=2;%c2=1.4962;%學(xué)習(xí)因子2w=0.7298;%慣性權(quán)重MaxDT=100;%最大迭代次數(shù)D=6;%搜索空間維數(shù)(未知數(shù)個(gè)數(shù))N=20;%初始化群體個(gè)體數(shù)目eps=10^(-6);%設(shè)置精度(在已知最小值時(shí)候用)phi=c1+c2;ifphi<=4disp('c1與c2的和必須大于4!');xm=NaN;fv=NaN;return;end%------初始化種群的個(gè)體(可以在這里限定位置和速度的范圍)------------fori=1
3、:Nforj=1:Dx(i,j)=randn;%隨機(jī)初始化位置v(i,j)=randn;%隨機(jī)初始化速度endend%------先計(jì)算各個(gè)粒子的適應(yīng)度,并初始化Pi和Pg----------------------figure(3)fori=1:NP(i)=fitness2(x(i,:));y(i,:)=x(i,:);endPg=x(N,:);%Pg為全局最優(yōu)fori=1:(N-1)iffitness2(x(i,:))4、滿足精度要求------------fort=1:MaxDTfori=1:Nksi=2/abs(2-phi-sqrt(phi^2-4*phi));%ksi為壓縮因子v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(Pg-x(i,:));v(i,:)=ksi*v(i,:);x(i,:)=x(i,:)+v(i,:);iffitness2(x(i,:))
5、(i,:);endendPbest(t)=fitness2(Pg);endplot(Pbest)TempStr=sprintf('c1=%g,c2=%g',c1,c2);title(TempStr);xlabel('迭代次數(shù)');ylabel('適應(yīng)度值');%------最后給出計(jì)算結(jié)果disp('*************************************************************')disp('函數(shù)的全局最優(yōu)位置為:')Solution=Pgdisp('最后得到的優(yōu)化極值為:')Res
6、ult=fitness2(Pg)disp('*************************************************************')功能函數(shù):適應(yīng)度函數(shù)源程序(fitness2.m)functionresult=fitness2(x)sum=0;D=6;fori=1:Dsum=sum+x(i)^2;endresult=sum;