资源描述
主函数源程序(main.m)%基本粒子群优化算法(ParticleSwarmOptimization)%名称:基本粒子群优化算法(PSO)%作用:求解优化问题%说明:全局性,并行性,高效的群体智能算法%初始格式化-clearall;clc;formatlong;%给定初始化条件c1=1.4962;%学习因子1c2=1.4962;%学习因子2w=0.7298;%惯性权重MaxDT=1000;%最大迭代次数D=10;%搜索空间维数(未知数个数)N=40;%初始化群体个体数目eps=10人(-6);%设置精度(在已知最小值时候用)%初始化种群的个体(可以在这里限定位置和速度的范围)fori=1:Nforj=1:Dx(i,j)=randn;%随机初始化位置v(i,j)=randn;%随机初始化速度endend%先计算各个粒子的适应度,并初始化Pi和Pgfori=1:Np(i)=fitness(x(i,:),D);y(i,:)=x(i,:);endpg=x(1,:);%Pg为全局最优fori=2:Niffitness(x(i,:),D)FITNESS(PG,D)pg=x(i,:);endend%进入主要循环,按照公式依次迭代,直到满足精度要求fort=1: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)P(I)p(i)=fitness(x(i,:),D);y(i,:)=x(i,:);endifp(i)FITNESS(PG,D)pg=y(i,:);endendPbest(t)=fitness(pg,D);end%最后给出计算结果disp(函数的全局最优位置为:)Solution=pgdisp(最后得到的优化极值为:)Result=fitness(pg,D)%算法结束-DreamSunGL&HF适应度函数源程序(fitness.m)functionresult=fitness(x,D)sum=0;fori=1:Dsum=sum+x(i)人2;endresult=sum;
展开阅读全文