《matlab粒子群优化算法举例分析计算机matlab_计算机-matlab.pdf》由会员分享,可在线阅读,更多相关《matlab粒子群优化算法举例分析计算机matlab_计算机-matlab.pdf(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品文档 10 2 对于适应度函数 fitness 例 函数 f(x)xi 对其参数 w,c1,c3 做出不同 i 1 方式的比较以测试其对函数结果影响。当 c11 c21 2,c12 c22 1.5,w 1.2。(适应函数 f(x)10 2)xi i 1 程序 1 当 c11 c21 2,c12 c22 1.5,w 1.2。a)%主函数源程序(main.m)%-基本粒子群算法(particle swarm optimization)%-名称:基本粒子群算法%-初始格式化 clear all;%清除所有变量 clc;%清屏 format long;%将数据显示为长整形科学计数%-给定初始条条件
2、 -N=40;%3 初始化群体个数 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);%x 是位置,初始化位置空间(矩阵)v=zeros(N,D);%v 是速度,初始化速度空间(矩阵)for i=1:N for j=1:D x(i,j)=randn;%随机初始化位置,randn 返回一个随机变化的符合正态分布的 数 v(i,j)=randn;%随机初始
3、化速度 end end%-显示群位置 -figure(1)。1欢迎下载 精品文档 for j=1:D if(rem(D,2)0)subplot(D+1)/2,2,j)else subplot(D/2,2,j)end plot(x(:,j),b*);grid on%b*表示颜色是绿的,用*显示在图上 xlabel(粒子)ylabel(初始位置)tInfo=strcat(第,char(j+48),维);%strcat 使括号里的东西连成字符串 if(j9)tInfo=strcat(第,char(floor(j/10)+48);%floor 向负无穷方向取整 char(rem(j,10)+48,维)
4、;%rem 取余 end title(tInfo)end%-显示种群速度 figure(2)for j=1:D if(rem(D,2)0)subplot(D+1)/2,2,j)else subplot(D/2,2,j)end plot(v(:,j),b*);grid on%是不是应该是 v(:,j)xlabel(粒子)ylabel(初始速度)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),维);char(rem(j,10)+48,维);end title(tInfo)end figure(3)%第一个
5、图 subplot(1,2,1)%-初始化种群个体(在此限定速度和位置)-x1=x;v1=v;%-初始化个体最优位置和最优值-p1=x1;pbest1=ones(N,1);for i=1:N 。2欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符合正态分布的数随机初始化速度显示群位置欢迎下载精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初
6、始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第二个图初始化种群个体在此限定速度和位置初始化种群个体最有位置和最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 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);%-进入主循环,按照公式依次迭代直到满足精度或者迭
7、代次数-for i=1:T for j=1:N if(fitness(x1(j,:),D)pbest1(j)p1(j,:)=x1(j,:);pbest1(j)=fitness(x1(j,:),D);end if(pbest1(j)gbest1)g1=p1(j,:);gbest1=pbest1(j);end v1(j,:)=w*v1(j,:)+c11*rand*(p1(j,:)-x1(j,:)+c21*rand*(g1-x1(j,:);x1(j,:)=x1(j,:)+v1(j,:);end gb1(i)=gbest1;end plot(gb1)TempStr=sprintf(c1=%g,c2=%
8、g,c11,c21);title(TempStr);xlabel(迭代次数);ylabel(适应度值);%第二个图 subplot(1,2,2)%-初始化种群个体(在此限定速度和位置)-x2=x;v2=v;%-初始化种群个体最有位置和 最优解-p2=x2;pbest2=ones(N,1);for i=1:N 。3欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符合正态分布的数随机初始化速度显示群位置欢迎下载精品文档表示颜
9、色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第二个图初始化种群个体在此限定速度和位置初始化种群个体最有位置和最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 pbest2(i)=fitness(x2(i,:),D);end%-初始化种全局最优位置和 最优解-g2=1000*ones(1,D);gbest2=1000;for i=1:N if(pbest2(i)gbest2)g2=p2(i,:);%最优位置 gbes
10、t2=pbest2(i);%最优解 end end gb2=ones(1,T);%T 为迭代次数 T=100%-进入主循环,按照公式依次迭代直到满足精度或者迭代次数-for i=1:T for j=1:N if(fitness(x2(j,:),D)pbest2(j)%个体最优 p2(j,:)=x2(j,:);pbest2(j)=fitness(x2(j,:),D);end if(pbest2(j)0)subplot(D+1)/2,2,j)else subplot(D/2,2,j)end plot(x(:,j),b*);grid on xlabel(粒子)ylabel(初始位置)tInfo=st
11、rcat(第,char(j+48),维);。5欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符合正态分布的数随机初始化速度显示群位置欢迎下载精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第二个图初始化种群个体在此限定速度和位置初始化种群个
12、体最有位置和最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);end title(tInfo)end%-显示种群速度 figure(2)for j=1:D if(rem(D,2)0)subplot(D+1)/2,2,j)else subplot(D/2,2,j)end plot(x(:,j),b*);grid on xlabel(粒子)ylabel(初始速度)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,
13、char(floor(j/10)+48),char(rem(j,10)+48),维);end title(tInfo)end figure(3)%第一个图 subplot(1,2,1)%-初始化种群个体(在此限定速度和位置)-x1=x;v1=v;%-初始化个体最优位置和最优值-p1=x1;pbest1=ones(N,1);for i=1:N pbest1(i)=fitness(x1(i,:),D);。6欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度
14、在已知最小值的时候个随机变化的符合正态分布的数随机初始化速度显示群位置欢迎下载精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第二个图初始化种群个体在此限定速度和位置初始化种群个体最有位置和最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 end%-初始化全局最优位置和最优值-g1=1000*ones(1,D);gbest1=1000;for i=1:N if(pbest1(i)gbest1)g1=p1(
15、i,:);gbest1=pbest1(i);end end gb1=ones(1,T);%-浸入主循环,按照公式依次迭代直到满足精度或者迭代次数-for i=1:T for j=1:N if(fitness(x1(j,:),D)pbest1(j)p1(j,:)=x1(j,:);pbest1(j)=fitness(x1(j,:),D);end if(pbest1(j)gbest1)g1=p1(j,:);gbest1=pbest1(j);end v1(j,:)=w*v1(j,:)+c11*rand*(p1(j,:)-x1(j,:)+c21*rand*(g1-x1(j,:);x1(j,:)=x1(j
16、,:)+v1(j,:);end gb1(i)=gbest1;end plot(gb1)TempStr=sprintf(c1=%g,c2=%g,c11,c21);title(TempStr);xlabel(迭代次数);ylabel(适应度值);%第二个图 subplot(1,2,2)%-初始化种群个体(在此限定速度和位置)-。7欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符合正态分布的数随机初始化速度显示群位置欢迎下载
17、精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第二个图初始化种群个体在此限定速度和位置初始化种群个体最有位置和最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 x2=x;v2=v;%-初始化种群个体最有位置和 最优解-p2=x2;pbest2=ones(N,1);for i=1:N pbest2(i)=fitness(x2(i,:),D);end%-初始化种全局最有位置和 最优解-g2=1000*one
18、s(1,D);gbest2=1000;for i=1:N if(pbest2(i)gbest2)g2=p2(i,:);gbest2=pbest2(i);end end gb2=ones(1,T);%-浸入主循环,按照公式依次迭代直到满足精度或者迭代次数-for i=1:T for j=1:N if(fitness(x2(j,:),D)pbest2(j)p2(j,:)=x2(j,:);pbest2(j)=fitness(x2(j,:),D);end if(pbest2(j)0)subplot(D+1)/2,2,j)else subplot(D/2,2,j)end plot(x(:,j),b*);
19、grid on xlabel(粒子)ylabel(初始位置)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);end title(tInfo)end%-显示种群速度 figure(2)for j=1:D if(rem(D,2)0)。10欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符合
20、正态分布的数随机初始化速度显示群位置欢迎下载精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第二个图初始化种群个体在此限定速度和位置初始化种群个体最有位置和最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 subplot(D+1)/2,2,j)else subplot(D/2,2,j)end plot(x(:,j),b*);grid on xlabel(粒子)ylabel(初始速度)tInfo=strca
21、t(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);end title(tInfo)end figure(3)%第一个图 subplot(1,2,1)%-初始化种群个体(在此限定速度和位置)-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 i
22、f(pbest1(i)gbest1)g1=p1(i,:);gbest1=pbest1(i);end end 。11欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符合正态分布的数随机初始化速度显示群位置欢迎下载精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数
23、迭代次数适应度值第二个图初始化种群个体在此限定速度和位置初始化种群个体最有位置和最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 gb1=ones(1,T);%-浸入主循环,按照公式依次迭代直到满足精度或者迭代次数-for i=1:T for j=1:N if(fitness(x1(j,:),D)pbest1(j)p1(j,:)=x1(j,:);pbest1(j)=fitness(x1(j,:),D);end if(pbest1(j)gbest1)g1=p1(j,:);gbest1=pbest1(j);end v1(j,:)=w*v1(j,:)+c11*rand*(p1(j,:)-x
24、1(j,:)+c21*rand*(g1-x1(j,:);x1(j,:)=x1(j,:)+v1(j,:);end gb1(i)=gbest1;end plot(gb1)TempStr=sprintf(c1=%g,c2=%g,c11,c21);title(TempStr);xlabel(迭代次数);ylabel(适应度值);%第二个图 subplot(1,2,2)%-初始化种群个体(在此限定速度和位置)-x2=x;v2=v;%-初始化种群个体最有位置和 最优解-p2=x2;pbest2=ones(N,1);for i=1:N pbest2(i)=fitness(x2(i,:),D);end%-初始
25、化种全局最有位置和 最优解-。12欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符合正态分布的数随机初始化速度显示群位置欢迎下载精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第二个图初始化种群个体在此限定速度和位置初始化种群个体最有位置和
26、最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 g2=1000*ones(1,D);gbest2=1000;for i=1:N if(pbest2(i)gbest2)g2=p2(i,:);gbest2=pbest2(i);end end gb2=ones(1,T);%-浸入主循环,按照公式依次迭代直到满足精度或者迭代次数-for i=1:T for j=1:N if(fitness(x2(j,:),D)pbest2(j)p2(j,:)=x2(j,:);pbest2(j)=fitness(x2(j,:),D);end if(pbest2(j)0)subplot(D+1)/2,2,j)
27、else subplot(D/2,2,j)plot(x(:,j),b*);grid on xlabel(粒子)ylabel(初始位置)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);end title(tInfo)end%-显示种群速度-figure(2)for j=1:D if(rem(D,2)0)subplot(D+1)/2,2,j)else subplot(D/2,2,j)end plot(x(:,j),b*);grid on xlabel(粒子)yl
28、abel(初始速度)tInfo=strcat(第,char(j+48),维);if(j9)。15欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符合正态分布的数随机初始化速度显示群位置欢迎下载精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第
29、二个图初始化种群个体在此限定速度和位置初始化种群个体最有位置和最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);end title(tInfo)end figure(3)subplot(1,2,1)%-初始化种群个体(在此限定速度和位置)-x1=x;v1=v;%-初始化个体最优位置和最优值-p1=x1;pbest1=ones(N,1);for i=1:N pbest1(i)=fitness(x1(i,:),D);end%-初始化全局最优位置和最优值-g1=1000*on
30、es(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 if(fitness(x1(j,:),D)pbest1(j)p1(j,:)=x1(j,:);pbest1(j)=fitness(x1(j,:),D);end if(pbest1(j)gbest1)g1=p1(j,:);。16欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据
31、显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符合正态分布的数随机初始化速度显示群位置欢迎下载精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第二个图初始化种群个体在此限定速度和位置初始化种群个体最有位置和最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 gbest1=pbest1(j);end v1(j,:
32、)=w1*v1(j,:)+c1*rand*(p1(j,:)-x1(j,:)+c2*rand*(g1-x1(j,:);x1(j,:)=x1(j,:)+v1(j,:);end gb1(i)=gbest1;end plot(gb1)TempStr=sprintf(w=%g,w1);title(TempStr);xlabel(迭代次数);ylabel(适应度值);subplot(1,2,2)%-初始化种群个体(在此限定速度和位置)-x2=x;v2=v;%-初始化种群个体最有位置和 最优解-p2=x2;pbest2=ones(N,1);for i=1:N pbest2(i)=fitness(x2(i,:
33、),D);end%-初始化种全局最有位置和 最优解-g2=1000*ones(1,D);gbest2=1000;for i=1:N if(pbest2(i)gbest2)g2=p2(i,:);gbest2=pbest2(i);end end gb2=ones(1,T);%-浸入主循环,按照公式依次迭代直到满足精度或者迭代次数-for i=1:T for j=1:N 。17欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符
34、合正态分布的数随机初始化速度显示群位置欢迎下载精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第二个图初始化种群个体在此限定速度和位置初始化种群个体最有位置和最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 if(fitness(x2(j,:),D)pbest2(j)p2(j,:)=x2(j,:);pbest2(j)=fitness(x2(j,:),D);end if(pbest2(j)0)subplot
35、(D+1)/2,2,j)else subplot(D/2,2,j)。19欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符合正态分布的数随机初始化速度显示群位置欢迎下载精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第二个图初始化种群个体在此
36、限定速度和位置初始化种群个体最有位置和最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 plot(x(:,j),b*);grid on xlabel(粒子)ylabel(初始位置)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);end title(tInfo)end%-显示种群速度-figure(2)for j=1:D if(rem(D,2)0)subplot(D+1)/2,2,j)else subplot(D/2,2,j)end plot(x(:
37、,j),b*);grid on xlabel(粒子)ylabel(初始速度)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);end title(tInfo)end figure(3)subplot(1,2,1)%-初始化种群个体(在此限定速度和位置)-x1=x;v1=v;%-初始化个体最优位置和最优值-。20欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体
38、最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符合正态分布的数随机初始化速度显示群位置欢迎下载精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第二个图初始化种群个体在此限定速度和位置初始化种群个体最有位置和最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 p1=x1;pbest1=ones(N,1);for i=1:N pbest1(i)=fitness(x1(i,:),D);e
39、nd%-初始化全局最优位置和最优值-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 if(fitness(x1(j,:),D)pbest1(j)p1(j,:)=x1(j,:);pbest1(j)=fitness(x1(j,:),D);end if(pbest1(j)gbest1)g1=p1(j,:);gbest1=pbest1(j
40、);end v1(j,:)=w1*v1(j,:)+c1*rand*(p1(j,:)-x1(j,:)+c2*rand*(g1-x1(j,:);x1(j,:)=x1(j,:)+v1(j,:);end gb1(i)=gbest1;end plot(gb1)TempStr=sprintf(w=%g,w1);title(TempStr);。21欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符合正态分布的数随机初始化速度显示群位置
41、欢迎下载精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第二个图初始化种群个体在此限定速度和位置初始化种群个体最有位置和最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 xlabel(迭代次数);ylabel(适应度值);subplot(1,2,2)%-初始化种群个体(在此限定速度和位置)-x2=x;v2=v;%-初始化种群个体最有位置和 最优解-p2=x2;pbest2=ones(N,1);for i=
42、1:N pbest2(i)=fitness(x2(i,:),D);end%-初始化种全局最有位置和最优解-g2=1000*ones(1,D);gbest2=1000;for i=1:N if(pbest2(i)gbest2)g2=p2(i,:);gbest2=pbest2(i);end end gb2=ones(1,T);%-浸入主循环,按照公式依次迭代直到满足精度或者迭代次数-for i=1:T for j=1:N if(fitness(x2(j,:),D)pbest2(j)p2(j,:)=x2(j,:);pbest2(j)=fitness(x2(j,:),D);end if(pbest2(
43、j)0)subplot(D+1)/2,2,j)else subplot(D/2,2,j)end plot(x(:,j),b*);grid on xlabel(粒子)ylabel(初始位置)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维 );end title(tInfo)end%-显示种群速度-figure(2)for j=1:D if(rem(D,2)0)subplot(D+1)/2,2,j)else subplot(D/2,2,j)end plot(x(:
44、,j),b*);grid on 。24欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符合正态分布的数随机初始化速度显示群位置欢迎下载精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第二个图初始化种群个体在此限定速度和位置初始化种群个体最有位
45、置和最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 xlabel(粒子)ylabel(初始速度)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维 );end title(tInfo)end figure(3)%-初始化群体个体最有位置和最优解-p=x;pbest=ones(N,1);for i=1:N pbest(i)=fitness(x(i,:),D);end%-初始化全局最优位置和最优解-g=1000*ones(1,D);gbest=1000;f
46、or i=1:N if(pbest(i)gbest)g=p(i,:);gbest=pbest(i);end end gb=ones(1,T);%-进入主循环,按照公式依次迭代,直到满足精度要求-for i=1:T for j=1:N if(fitness(x(j,:),D)pbest(j)p(j,:)=x(j,:);pbest(j)=fitness(x(j,:),D);end if(pbest(j)0)subplot(D+1)/2,2,j)else subplot(D/2,2,j)plot(x(:,j),b*);grid on xlabel(粒子)ylabel(初始位置)tInfo=strca
47、t(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);end title(tInfo)end%-显示种群速度-figure(2)。27欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符合正态分布的数随机初始化速度显示群位置欢迎下载精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整
48、粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第二个图初始化种群个体在此限定速度和位置初始化种群个体最有位置和最优解欢迎下载精品文档初始化种全局最优位置和最优解精品文档 for j=1:D if(rem(D,2)0)subplot(D+1)/2,2,j)else subplot(D/2,2,j)end plot(x(:,j),b*);grid on xlabel(粒子)ylabel(初始速度)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,ch
49、ar(floor(j/10)+48),char(rem(j,10)+48),维);end title(tInfo)end figure(3)subplot(1,2,1)%-初始化种群个体(在此限定速度和位置)-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);。
50、28欢迎下载 源程序基本粒子群算法名称基本粒子群算法初始格式化清除所有变量清屏将数据显示为长整形科学计数给定初始条条件初始化群体个数初始化群体维数初始化群体最迭代次数学习因子学习因子惯性权重设置精度在已知最小值的时候个随机变化的符合正态分布的数随机初始化速度显示群位置欢迎下载精品文档表示颜色是绿的用显示在图上维使括号里的东西连成字符串第维取余向负无穷方向取整粒子初始位置第显示种群速度是不是应该是维维粒子初始速度第第化全局最优位置和最优值进入主循环按照公式依次迭代直到满足精度或者迭代次数迭代次数适应度值第二个图初始化种群个体在此限定速度和位置初始化种群个体最有位置和最优解欢迎下载精品文档初始化种