微粒群算法matlab实现代码

微粒群算法matlab实现代码

ID:11625912

大小:70.86 KB

页数:25页

时间:2018-07-13

微粒群算法matlab实现代码_第1页
微粒群算法matlab实现代码_第2页
微粒群算法matlab实现代码_第3页
微粒群算法matlab实现代码_第4页
微粒群算法matlab实现代码_第5页
资源描述:

《微粒群算法matlab实现代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、functionout=pso(lb,ub,d,f,symb,m)w=0.98;%w_end=0.4;w_varyfor=0.75;c1=2;c2=2;k=0.45667;t=(ub-lb)/m;Vmax=abs(t/4);X=zeros(m,d);X=abs((ub-lb)*rand(m,d)+lb);p1=zeros(1,m);x=zeros(1:d);forj=1:m    x(1:d)=X(j,1:d);    %disp(x);    p1(j)=eval(f);%history     endifsymb=='<'      

2、    p2=min(p1);          p2=min(p1);    end    ifsymb=='>'          p2=max(p1);          p2=max(p1);    endv=zeros(m,d);v(:)=t/m;fors=1:100fori=1:m  v(i,:)=k*((w-1/k)*v(i,:)+c1*rand(1).*(p1(i)-X(i,:))+c2*rand(1).*(p2-X(i,:)));  X(i,:)=X(i,:)+v(i,:);  forj=1:d    x(1:d)=X(

3、i,j);    p=eval(f);    ifsymb=='<'        ifp<=p1(j)                    p1(j)=p;        end    end    ifsymb=='>'        ifp>=p1(j)          p1(j)=p;        end    end    ifabs(v(i,j))>Vmax        ifv(i,j)>0        v(i,j)=Vmax;        else          v(i,j)=-1*Vmax;        

4、end    end  end  ifsymb=='<'        ifp2>min(p1)          p2=min(p1);        end    end    ifsymb=='>'        ifp2最大,<  最小微粒数:表示精度,可能函数有多个峰值或峰谷,所以要

5、从函数的不同个点一起开始计算!微粒群算法java代码packageArithmetic;importjava.util.*;publicclassSwarm_Itelligent{intPOPSIZE=20;intDIMENSION=2;floatW=1.0f;floatC1=1.8f;floatC2=1.8f;floatVMAX=2f;floatXMIN=-2.0f;floatXMAX=2.0f;floatP[];floatPBEST;Indi[]individual;Randomr;publicstaticvoidmain(Strin

6、g[]args){Swarm_Itelligentsi=newSwarm_Itelligent();//si.run();}publicSwarm_Itelligent(){P=newfloat[DIMENSION];individual=newIndi[POPSIZE];for(inti=0;i

7、s.run();}publicvoidrun(){inti,j,total=0;floatsum=0;for(j=0;j<50;j++){initiate();for(i=0;i<500;i++){W=(float)(1.0-i*0.6/499);if((PBEST-3.0)<0.0001){total++;sum=sum+i;break;}else{walk();globalbest(1);}}System.out.println(j+":"+PBEST);}System.out.println("Totalnumberis"+tota

8、l);System.out.println("Globlebestis:"+PBEST);System.out.println("Sumis"+sum);System.out.println(

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

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

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