ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:30.38KB ,
资源ID:6695553      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6695553.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(6种粒子群算法程序.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

6种粒子群算法程序.docx

1、6种粒子群算法程序程序1当,。a)%主函数源程序(main.m)%-基本粒子群算法(particleswarmoptimization)%-名称:基本粒子群算法%-初始格式化clearall;%清除所有变量clc;%清屏formatlong;%将数据显示为长整形科学计数%-给定初始条条件-N=40;%3初始化群体个数D=10;%初始化群体维数T=100;%初始化群体最迭代次数c11=2;%学习因子1c21=2;%学习因子2c12=1.5;c22=1.5;w=1.2;%惯性权重eps=10(-6);%设置精度(在已知最小值的时候用)%-初始化种群个体(限定位置和速度)-x=zeros(N,D);

2、v=zeros(N,D);fori=1:Nforj=1:Dx(i,j)=randn;%随机初始化位置v(i,j)=randn;%随机初始化速度endend%-显示群位置-figure(1)forj=1:Dif(rem(D,2)0)subplot(D+1)/2,2,j)elsesubplot(D/2,2,j)endplot(x(:,j),b*);gridonxlabel(粒子)ylabel(初始位置)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);endtit

3、le(tInfo)end%-显示种群速度figure(2)forj=1:Dif(rem(D,2)0)subplot(D+1)/2,2,j)elsesubplot(D/2,2,j)endplot(x(:,j),b*);gridonxlabel(粒子)ylabel(初始速度)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);endtitle(tInfo)endfigure(3)%第一个图subplot(1,2,1)%-初始化种群个体(在此限定速度和位置)-x1=x

4、;v1=v;%-初始化个体最优位置和最优值-p1=x1;pbest1=ones(N,1);fori=1:Npbest1(i)=fitness(x1(i,:),D);end%-初始化全局最优位置和最优值-g1=1000*ones(1,D);gbest1=1000;fori=1:Nif(pbest1(i)gbest1)g1=p1(i,:);gbest1=pbest1(i);endendgb1=ones(1,T);%-浸入主循环,按照公式依次迭代直到满足精度或者迭代次数-fori=1:Tforj=1:Nif(fitness(x1(j,:),D)pbest1(j)p1(j,:)=x1(j,:);pbe

5、st1(j)=fitness(x1(j,:),D);endif(pbest1(j)gbest1)g1=p1(j,:);gbest1=pbest1(j);endv1(j,:)=w*v1(j,:)+c11*rand*(p1(j,:)-x1(j,:)+c21*rand*(g1-x1(j,:);x1(j,:)=x1(j,:)+v1(j,:);endgb1(i)=gbest1;endplot(gb1)TempStr=sprintf(c1=%g,c2=%g,c11,c21);title(TempStr);xlabel(迭代次数);ylabel(适应度值);%第二个图subplot(1,2,2)%-初始化种

6、群个体(在此限定速度和位置)-x2=x;v2=v;%-初始化种群个体最有位置和最优解-p2=x2;pbest2=ones(N,1);fori=1:Npbest2(i)=fitness(x2(i,:),D);end%-初始化种全局最有位置和最优解-g2=1000*ones(1,D);gbest2=1000;fori=1:Nif(pbest2(i)gbest2)g2=p2(i,:);gbest2=pbest2(i);endendgb2=ones(1,T);%-浸入主循环,按照公式依次迭代直到满足精度或者迭代次数-fori=1:Tforj=1:Nif(fitness(x2(j,:),D)pbest2

7、(j)p2(j,:)=x2(j,:);pbest2(j)=fitness(x2(j,:),D);endif(pbest2(j)0)subplot(D+1)/2,2,j)elsesubplot(D/2,2,j)endplot(x(:,j),b*);gridonxlabel(粒子)ylabel(初始位置)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);endtitle(tInfo)end%-显示种群速度figure(2)forj=1:Dif(rem(D,2)0)

8、subplot(D+1)/2,2,j)elsesubplot(D/2,2,j)endplot(x(:,j),b*);gridonxlabel(粒子)ylabel(初始速度)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);endtitle(tInfo)endfigure(3)%第一个图subplot(1,2,1)%-初始化种群个体(在此限定速度和位置)-x1=x;v1=v;%-初始化个体最优位置和最优值-p1=x1;pbest1=ones(N,1);fori=

9、1:Npbest1(i)=fitness(x1(i,:),D);end%-初始化全局最优位置和最优值-g1=1000*ones(1,D);gbest1=1000;fori=1:Nif(pbest1(i)gbest1)g1=p1(i,:);gbest1=pbest1(i);endendgb1=ones(1,T);%-浸入主循环,按照公式依次迭代直到满足精度或者迭代次数-fori=1:Tforj=1:Nif(fitness(x1(j,:),D)pbest1(j)p1(j,:)=x1(j,:);pbest1(j)=fitness(x1(j,:),D);endif(pbest1(j)gbest1)g1

10、=p1(j,:);gbest1=pbest1(j);endv1(j,:)=w*v1(j,:)+c11*rand*(p1(j,:)-x1(j,:)+c21*rand*(g1-x1(j,:);x1(j,:)=x1(j,:)+v1(j,:);endgb1(i)=gbest1;endplot(gb1)TempStr=sprintf(c1=%g,c2=%g,c11,c21);title(TempStr);xlabel(迭代次数);ylabel(适应度值);%第二个图subplot(1,2,2)%-初始化种群个体(在此限定速度和位置)-x2=x;v2=v;%-初始化种群个体最有位置和最优解-p2=x2;p

11、best2=ones(N,1);fori=1:Npbest2(i)=fitness(x2(i,:),D);end%-初始化种全局最有位置和最优解-g2=1000*ones(1,D);gbest2=1000;fori=1:Nif(pbest2(i)gbest2)g2=p2(i,:);gbest2=pbest2(i);endendgb2=ones(1,T);%-浸入主循环,按照公式依次迭代直到满足精度或者迭代次数-fori=1:Tforj=1:Nif(fitness(x2(j,:),D)pbest2(j)p2(j,:)=x2(j,:);pbest2(j)=fitness(x2(j,:),D);en

12、dif(pbest2(j)0)subplot(D+1)/2,2,j)elsesubplot(D/2,2,j)endplot(x(:,j),b*);gridonxlabel(粒子)ylabel(初始位置)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);endtitle(tInfo)end%-显示种群速度figure(2)forj=1:Dif(rem(D,2)0)subplot(D+1)/2,2,j)elsesubplot(D/2,2,j)endplot(x(:

13、,j),b*);gridonxlabel(粒子)ylabel(初始速度)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);endtitle(tInfo)endfigure(3)%第一个图subplot(1,2,1)%-初始化种群个体(在此限定速度和位置)-x1=x;v1=v;%-初始化个体最优位置和最优值-p1=x1;pbest1=ones(N,1);fori=1:Npbest1(i)=fitness(x1(i,:),D);end%-初始化全局最优位置和最优值

14、-g1=1000*ones(1,D);gbest1=1000;fori=1:Nif(pbest1(i)gbest1)g1=p1(i,:);gbest1=pbest1(i);endendgb1=ones(1,T);%-浸入主循环,按照公式依次迭代直到满足精度或者迭代次数-fori=1:Tforj=1:Nif(fitness(x1(j,:),D)pbest1(j)p1(j,:)=x1(j,:);pbest1(j)=fitness(x1(j,:),D);endif(pbest1(j)gbest1)g1=p1(j,:);gbest1=pbest1(j);endv1(j,:)=w*v1(j,:)+c11

15、*rand*(p1(j,:)-x1(j,:)+c21*rand*(g1-x1(j,:);x1(j,:)=x1(j,:)+v1(j,:);endgb1(i)=gbest1;endplot(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);fori=1:Npbest2(i)=fitness(x2(i,:),

16、D);end%-初始化种全局最有位置和最优解-g2=1000*ones(1,D);gbest2=1000;fori=1:Nif(pbest2(i)gbest2)g2=p2(i,:);gbest2=pbest2(i);endendgb2=ones(1,T);%-浸入主循环,按照公式依次迭代直到满足精度或者迭代次数-fori=1:Tforj=1:Nif(fitness(x2(j,:),D)pbest2(j)p2(j,:)=x2(j,:);pbest2(j)=fitness(x2(j,:),D);endif(pbest2(j)0)subplot(D+1)/2,2,j)elsesubplot(D/2,

17、2,j)plot(x(:,j),b*);gridonxlabel(粒子)ylabel(初始位置)tInfo=strcat(第,char(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);endtitle(tInfo)end%-显示种群速度-figure(2)forj=1:Dif(rem(D,2)0)subplot(D+1)/2,2,j)elsesubplot(D/2,2,j)endplot(x(:,j),b*);gridonxlabel(粒子)ylabel(初始速度)tInfo=strcat(第,c

18、har(j+48),维);if(j9)tInfo=strcat(第,char(floor(j/10)+48),char(rem(j,10)+48),维);endtitle(tInfo)endfigure(3)subplot(1,2,1)%-初始化种群个体(在此限定速度和位置)-x1=x;v1=v;%-初始化个体最优位置和最优值-p1=x1;pbest1=ones(N,1);fori=1:Npbest1(i)=fitness(x1(i,:),D);end%-初始化全局最优位置和最优值-g1=1000*ones(1,D);gbest1=1000;fori=1:Nif(pbest1(i)gbest1

19、)g1=p1(i,:);gbest1=pbest1(i);endendgb1=ones(1,T);%-浸入主循环,按照公式依次迭代直到满足精度或者迭代次数-fori=1:Tforj=1:Nif(fitness(x1(j,:),D)pbest1(j)p1(j,:)=x1(j,:);pbest1(j)=fitness(x1(j,:),D);endif(pbest1(j)gbest1)g1=p1(j,:);gbest1=pbest1(j);endv1(j,:)=w1*v1(j,:)+c1*rand*(p1(j,:)-x1(j,:)+c2*rand*(g1-x1(j,:);x1(j,:)=x1(j,:)+v1(j,:);endgb1(i)=gbest1;endplot(gb1)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1