微粒群算法matlab实现代码.docxVIP

  • 64
  • 0
  • 约4.62万字
  • 约 25页
  • 2017-12-01 发布于江西
  • 举报
微粒群算法matlab实现代码

function out=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);for j=1:m x(1:d)=X(j,1:d);?% disp(x); p1(j)=eval(f);% history??endif symb==?p2=min(p1);?p2=min(p1); end if symb==?p2=max(p1);?p2=max(p1); endv=zeros(m,d);v(:)=t/m;for s=1:100for i=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,:);?for j=1:d x(1:d)=X(i,j); p=eval(f); if symb==?if p=p1(j)?p1(j)=p;?end end if symb==?if p=p1(j)?p1(j)=p;?end end if abs(v(i,j))Vmax?if v

文档评论(0)

1亿VIP精品文档

相关文档