经典pso粒子群优化算法程序

matlab编写

clear all; %清除所有变量

clc; %清屏

format long; %将数据显示为长整形科学计数

%------给定初始条条件------------------

N=40; %初始化群体个数

D=10; %初始化群体维数

T=100; %初始化群体最迭代次数

c11=2; %学习因子1

c21=2; %学习因子2

c12=1.5;

c22=1.5;

w=1.2; %惯性权重

eps=10^(-6); %设置精度(在已知最小值的时候用)

%------初始化种群个体(限定位置和速度)------------

x=zeros(N,D);

v=zeros(N,D);

for i=1:N

for j=1:D

x(i,j)=randn; %随机初始化位置

v(i,j)=randn; %随机初始化速度

end

end

%------初始化种群个体(在此限定速度和位置)------------

x1=x;

v1=v;

%------初始化个体最优位置和最优值---

p1=x1;

pbest1=ones(N,1);

for i=1:N

pbest1(i)=fitness(x1(i,:),D);

end

%------初始化全局最优位置和最优值---------------

g1=1000*ones(1,D);

gbest1=1000;

for i=1:N

if(pbest1(i)<gbest1)

g1=p1(i,:);

gbest1=pbest1(i);

end

end

gb1=ones(1,T);

%-----浸入主循环,按照公式依次迭代直到满足精度或者迭代次数--- for i=1:T

for j=1:N

经典pso粒子群优化算法程序相关文档

最新文档

返回顶部