《基本PSO算法的matlab源程序》由会员分享,可在线阅读,更多相关《基本PSO算法的matlab源程序(2页珍藏版)》请在人人文库网上搜索。
1、主函数源程序( main.m )% 基本粒子群优化算法( Particle SwarmOptimization ) % 名称:基本粒子群优化算法( PSO )% 作用:求解优化问题% 说明:全局性,并行性,高效的群体智能算法% 初始格式化 clear all;clc;format long;% 给定初始化条件c1=1.4962;% 学习因子 1c2=1.4962;% 学习因子 2w=0.7298;% 惯性权重MaxDT=1000;% 最大迭代次数D=10;% 搜索空间维数(未知数个数)N=40;% 初始化群体个体数目eps=10A(-6);% 设置精度 ( 在已知最小值时候用 )% 初始化种群。
2、的个体 ( 可以在这里限定位置和速度的范围 )for i=1:Nfor j=1:Dx(i,j)=randn; % 随机初始化位置v(i,j)=randn; % 随机初始化速度end end% 先计算各个粒子的适应度,并初始化 Pi 和 Pgfor i=1:Np(i)=fitness(x(i,:),D);y(i,:)=x(i,:);endpg=x(1,:); %Pg 为全局最优for i=2:Nif fitness(x(i,:),D) pg=x(i,:);endend% 进入主要循环,按照公式依次迭代,直到满足精度要求 for t=1:MaxDT for i=1:Nv(i,:)=w*v(i,:)。
3、+c1*rand*(y(i,:)-x(i,:)+c2*rand*(pg-x(i,:);x(i,:)=x(i,:)+v(i,:);if fitness(x(i,:),D)p(i)=fitness(x(i,:),D);y(i,:)=x(i,:);endif p(i) pg=y(i,:);endendPbest(t)=fitness(pg,D);end% 最后给出计算结果disp(*disp( 函数的全局最优位置为: )Solution=pgdisp( 最后得到的优化极值为: )Result=fitness(pg,D)disp(*)% 算法结束 -DreamSunGL & HF适应度函数源程序( fitness.m ) function result=fitness(x,D) sum=0;for i=1:Dsum=sum+x(i)A2;endresult=sum。