wmax=0.9;
wmin=0.4;
N = 40 ; %微粒数目
D=10;
a=-1;
b=1;
c1=2; %学习因子1
c2=2; %学习因子2
M=200 ; %最大迭代次数
xmax=100;xmin=-100;
vmax=100;vmin=-100;
format long;
for i=1:N
for j=1:D
x(i,j)=randn*2;
v(i,j)=randn*2;
end
fitness(i)=func1(x(i,:));
end
[bestfitness bestindex]=min(fitness);
tbest=x(bestindex,:);
gbest=x;
fitnessgbest=fitness;
fitnesstbest=bestfitness;
for i=1:M
% w=((M-i)/M)*(wmax-wmin)+wmin;
% w=(wmax-wmin)*tan(0.875*(1-(i/M)^0.5))+wmin;
w=(wmax-wmin)*atan(1.56*(1-(i/M)^0.4))+wmin;
for j=1:N
v(j,:)=w*v(j,:)+c1*rand*(gbest(j,:)-x(j,:))+c2*rand*(tbest-x(j,:));
v(j,find(v(j,:)>vmax))=vmax;
v(j,find(v(j,:)<vmin))=vmin;
x(j,:)=x(j,:)+v(j,:);
x(j,find(x(j,:)>xmax))=xmax;
x(j,find(x(j,:)<xmin))=xmin;
fitness(j)=func1(x(j,:));
end
for j=1:N
if fitness(j)<fitnessgbest(j)
gbest(j,:)=x(j,:);
fitnessgbest(j)=fitness(j);
end
if fitness(j)<fitnesstbest
tbest=x(j,:);
fitnesstbest=fitness(j);
end
end
yy(i)=fitnesstbest;
% yliw(i)=log10(fitnesstbest);
% ytan(i)=log10(fitnesstbest);
% yarc(i)=log10(fitnesstbest);
end
figure(2)
plot(yy,'--g')
hold on
plot(trace,'--r')
legend('PSO适应度值','DE适应度值')
ylabel('适应度')
xlabel('迭代的次数')
粒子群.zip_粒子群_粒子群 收敛_粒子群算法 PSO
版权申诉
22 浏览量
2022-07-15
20:22:45
上传
评论
收藏 1KB ZIP 举报
钱亚锋
- 粉丝: 90
- 资源: 1万+
最新资源
- multisim1仿真运放及三极管电路应用经典电路multisim10仿真实例源文件合集(21个).zip
- 基于Android的Fragment+ViewPager实现滑屛切换界面应用设计与实现1(源码)
- tensorflow-2.9.3-cp38-cp38-win-amd64.whl
- tensorflow-gpu-2.9.3-cp38-cp38-win-amd64.whl
- 1716994562763661.750000.jpg
- tensorflow-gpu-2.9.2-cp38-cp38-win-amd64.whl
- FSA-火烈鸟搜索优化算法
- 幸运女生眷顾.html
- 送修改教程.zip
- java-选择排序.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈