1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y52ckptu
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
粒子群算法在现阶段无论是理论分析还是实践应用都尚未完全成熟,具有易陷入局部极小点,搜索精度不高等缺点,仍留有大量的问题值得研究。
为了摆脱粒子群算法易陷入局部极值的困境,本文将混沌优化方法引入到PSO算法中,提出了基于Hénon映射的混沌粒子群优化算法(CHPSO)。该算法保持了PSO算法结构简单的特点,改善了PSO算法的全局寻优能力,提高了算法的收敛速度和计算精度。
在对粒子群算法收敛性以及算法局限性进行深入分析的基础上,指出了可以提高算法性能的三种途径:提高收敛速度、摆脱停滞的束缚、增加种群多样性,并对每种途径都做了详细分析,同时还介绍了一些其它改进方法。 混沌优化方法是近年出现的一种新的优化技术,通常使用Logistic或Tent映射产生混沌序列进行搜索。CHPSO算法在克服粒子群算法搜索后期易陷入局部极值点的缺点的同时,保持了前期搜索的快速性。
4.部分源码
NGen = 1e3;
gap = 1:(NGen/50):NGen;
% Parameters of PSO
sNP = 8;
acc = [1.49445, 1.49445];
iwt = [0.9, 0.35]; % interia weight
for funcNum = 1
[Lb, Ub,dim] = funcRange(funcNum); % for objFunc: twenty-three benchmark functions
param = struct( 'ParicleNumber', sNP,...
'AccelerationConstants', acc,...
'InteriaWeight', iwt,...
'Dimension', dim,...
'Ub', Ub,...
'Lb', Lb);
for run = 1:3
rand('state',sum(100*clock))
tic
BestChart = CHPSO_func('objFunc',NGen,param,funcNum);
t = toc;
eval(['CHPSO_F',num2str(funcNum),'(:,run) = BestChart;']);
figure(1)
semilogy(gap,BestChart(gap),'-ok','linewidth',1.4,'Markersize',3);
title({strcat('\fontsize{12}\bf Function: F',num2str(funcNum));strcat('Currunt run time: ',num2str(run))});
xlabel('\fontsize{12}\bf Generation');
ylabel('\fontsize{12}\bf Best-so-far');
legend('\fontsize{10}\bf CHPSO');
fprintf('R = %2d, time = %5.2f, best-so-far = %.4e\n', run, t, BestChart(end))
end
end
A175