种粒子群算法程序.docx

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序 1 当 c11 c21 2,c12 c22 1.5, w 1.2。 a)% 主函数源程序( main.m) % 基本粒子群算法 (particle swarm optimization) % 名称: 基本粒子群算法 % 初始格式化 %清除所有变量 %清除所有变量 %清屏 %将数据显示为长整形科学计数 %惯性权重 %设置精度(在已知最小值的时候用) clear all; clc; format long; % 给定初始条条件 N=40; D=10; T=100; c11=2; c21=2; c12=1.5; c22=1.5; w=1.2; eps=10A(-6); %3初始化群体个数 %初始化群体维数 %初始化群体最迭代次数 %学习因子 1 %学习因子 2 % 初始化种群个体(限定位置和速度) x=zeros(N,D); v=zeros(N,D); for i=1:N for j=1:D x(i,j)=randn; %随机初始化位置 v(i,j)=randn; %随机初始化速度 end end % 显示群位置 figure(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 xlabel(粒子) ylabel(初始位置) tI nfo=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(粒子) ylabel(初始速度) tI nfo=strcat(第,char(j+48),维); if(j9) tin fo=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 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); 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=%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 % 初始化种全局最有位置和 最优解 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

文档评论(0)

sunhongz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档