欢迎来到天天文库
浏览记录
ID:40719857
大小:17.50 KB
页数:3页
时间:2019-08-06
《粒子群优化算法Matlab源程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、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:D
2、x(i,j)=randn;%随机初始化位置v(i,j)=randn;%随机初始化速度endend%------先计算各个粒子的适应度,并初始化Pi和Pg----------------------fori=1:Np(i)=fitness(x(i,:),D);y(i,:)=x(i,:);endpg=x(1,:);%Pg为全局最优fori=2:Niffitness(x(i,:),D)3、: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)4、*********************************')disp('函数的全局最优位置为:')Solution=pg'disp('最后得到的优化极值为:')Result=fitness(pg,D)disp('*************************************************************')%------算法结束---DreamSunGL&HF-----------------------------------适应度函数源程序(fitness.m)functionresult=5、fitness(x,D)sum=0;fori=1:Dsum=sum+x(i)^2;endresult=sum;
3、: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)
4、*********************************')disp('函数的全局最优位置为:')Solution=pg'disp('最后得到的优化极值为:')Result=fitness(pg,D)disp('*************************************************************')%------算法结束---DreamSunGL&HF-----------------------------------适应度函数源程序(fitness.m)functionresult=
5、fitness(x,D)sum=0;fori=1:Dsum=sum+x(i)^2;endresult=sum;
此文档下载收益归作者所有