运行成功的超牛粒子群学习.doc

运行成功的超牛粒子群学习.doc

ID:48995514

大小:29.00 KB

页数:5页

时间:2020-02-26

运行成功的超牛粒子群学习.doc_第1页
运行成功的超牛粒子群学习.doc_第2页
运行成功的超牛粒子群学习.doc_第3页
运行成功的超牛粒子群学习.doc_第4页
运行成功的超牛粒子群学习.doc_第5页
资源描述:

《运行成功的超牛粒子群学习.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、functionPSOfirst()%%清空环境clear;clc;%%参数设置w=0.9;%权值将影响PSO的全局与局部搜优能力,值较大,全局搜优能力强,局部搜优能力弱;反之,则局部搜优能力增强,而全局搜优能力减弱。c1=0.1;%加速度,影响收敛速度c2=0.1;dim=6;%6维,表示企业数量swarmsize=100;%粒子群规模,表示有100个解的空间maxiter=200;%最大循环次数,影响时间minfit=0.001;%最小适应值vmax=0.01;vmin=-0.01;ub=[

2、0.2,0.2,0.2,0.2,0.2,0.2];%解向量的最大限制lb=[0.01,0.01,0.01,0.01,0.01,0.01];%解向量的最小限制%%种群初始化range=ones(swarmsize,1)*(ub-lb);swarm=rand(swarmsize,dim).*range+ones(swarmsize,1)*lb;%粒子群位置矩阵,每行表示一组解Y1=[33.08;21.85;6.19;11.77;9.96;17.15;];Y=Y1./100;%将百分数化为小数[ym,

3、yn]=size(Y);fori=1:swarmsize%%YX的约束s=swarm(i,:);ss=s';whilesum(Y.*ss)<0.1*sum(Y)ss=rand(dim,1).*((ub-lb)')+ones(dim,1).*((lb)');endswarm(i,:)=ss';endvstep=rand(swarmsize,dim)*(vmax-vmin)+vmin;%粒子群速度矩阵fswarm=zeros(swarmsize,1);%预设空矩阵,存放适应值%%计算初始种群适应度f

4、ori=1:swarmsizeX=swarm(i,:);[SUMG,G]=jn(X);fswarm(i,:)=SUMG;%fswarm(i,:)=feval(jn,swarm(i,:));%以粒子群位置的第i行为输入,求函数值,对应输出给适应值endfswarm%%个体极值和群体极值[bestf,bestindex]=min(fswarm);%求得适应值中的最小适应值,和,其所在的序列gbest=swarm;%暂时的个体最优解为自己fgbest=fswarm;%暂时的个体最优适应值zbest=s

5、warm(bestindex,:);%所在序列的对应的解矩阵序列,全局最佳解fzbest=bestf;%全局最优适应值%%迭代寻优iter=0;yfitness=zeros(1,maxiter);%1行100列矩阵,存放100个最优值的空间矩阵x1=zeros(1,maxiter);%存放x的空间x2=zeros(1,maxiter);x3=zeros(1,maxiter);x4=zeros(1,maxiter);x5=zeros(1,maxiter);x6=zeros(1,maxiter);w

6、hile((iterminfit))forj=1:swarmsize%速度更新vstep(j,:)=w*vstep(j,:)+c1*rand*(gbest(j,:)-swarm(j,:))+c2*rand*(zbest-swarm(j,:));ifvstep(j,:)>vmaxvstep(j,:)=vmax;%速度限制endifvstep(j,:)

7、(j,:);fork=1:dimifswarm(j,k)>ub(k)swarm(j,k)=ub(k);%位置限制endifswarm(j,k)

8、更新fgbest(j)=fswarm(j);%个体最优值更新end%群体最优更新iffswarm(j)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。