for i=1:N
for j=1:D
x(i,j)=randn; %随机初始化位置
v(i,j)=randn; %随机初始化速度
2.评价每个微粒的适应度,将当前各微粒的位置和适应值储存在各微粒的pbest中,将所有的pbest中适应值最优个体的位置和适应值存储于gbest中;
pg=x(N,:); %Pg为全局最优
for i=1:N
if fitness4(x(i,:))<fitness4(pg)
pg=x(i,:);
end
3.用下列式子更新粒子的速度和位置:
j=1,2…,d
for i=1:N %速度、位置更新
v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:));
x(i,:)=x(i,:)+v(i,:);