資源簡介
PSO粒子群算法實(shí)現(xiàn),比較通用,稍做改動(dòng)就可以與其他算法結(jié)合!!!
代碼片段和文件信息
%%?PSO
%%?------初始格式化--------------------------------------------------
clear?all;
clc;
%format?long;
format?short;
%%?------給定初始化條件----------------------------------------------
c1=1.4962;?????????????%學(xué)習(xí)因子1
c2=1.4962;?????????????%學(xué)習(xí)因子2
w=0.7298;??????????????%慣性權(quán)重
MaxNI=1000;????????????%最大迭代次數(shù)
D=10;??????????????????%搜索空間維數(shù)(未知數(shù)個(gè)數(shù))
N=40;??????????????????%初始化群體個(gè)體數(shù)目
eps=10^(-6);???????????%設(shè)置精度(在已知最小值時(shí)候用)
%%?------初始化種群的個(gè)體(可以在這里限定位置和速度的范圍)------------
for?i=1:N
????for?j=1:D
%?????????x(ij)=randn;??%隨機(jī)初始化位置
%?????????v(ij)=randn;??%隨機(jī)初始化速度
??????????x(ij)=rand;
??????????v(ij)=rand;
????end
end
%%?------先計(jì)算各個(gè)粒子的適應(yīng)度
%?并初始化Pi(Yi)[各粒子最好解及適應(yīng)度值]以及
%?Pg(Z)[目前搜索到的最優(yōu)解及其適應(yīng)度值]
%?for?i=1:N
%?????
%?????Y(i)=fitness(x(i:)D);
%?????
%?????P(i:)=x(i:);
%?????
%?end
%?
%???????Pg=x(1:);?????????????%Pg為全局最優(yōu)
%???????Z=fitness(PgD);
%???????
%???????
%?for?i=2:N
%?????
%?????if?fitness(x(i:)D) %?????????
%?????????Z=fitness(x(i:)D);
%?????????Pg=x(i:);
%?????????
%?????end
%?????
%?end
%?
%???????Z=fitness(PgD);
??????
%%????
??
????Y(1)=fitnes
評(píng)論
共有 條評(píng)論