💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
📚2 运行结果
2.1 CEC2005测试函数
2.1 CEC2022测试函数
🎉3 参考文献
🌈4 Matlab代码实现
效果图
以下是优化算法的简要介绍:
1. COA(Crow Search Algorithm):基于鸟群觅食行为的优化算法,模拟鸟群在搜索食物时的合作和竞争行为。
2. GMO(Gravitational Search Algorithm):基于物体间引力和质量的优化算法,模拟物体在引力场中的运动过程来搜索最优解。
3. WOA(Whale Optimization Algorithm):基于鲸鱼社会行为的优化算法,模拟鲸鱼的追逐和协作行为来搜索最优解。
4. WWPA(Wind-driven Optimization Algorithm):基于风力驱动的优化算法,模拟风力对物体的影响来搜索最优解。
5. OMA(Owl Migration Algorithm):基于猫头鹰迁徙行为的优化算法,模拟猫头鹰在迁徙过程中的搜索和选择行为。
6. GOA(Grasshopper Optimization Algorithm):基于蚱蜢觅食行为的优化算法,模拟蚱蜢在草地上搜索食物的过程。
7. GWCA(Grey Wolf Optimizer):基于灰狼社会行为的优化算法,模拟灰狼群体中的领导者和追随者之间的协作和竞争。
8. CDO(Colliding Bodies Optimization):基于物体碰撞行为的优化算法,模拟物体之间的碰撞和反弹来搜索最优解。
9. GRO(Glowworm Swarm Optimization):基于萤火虫群体行为的优化算法,模拟萤火虫在夜晚发光吸引伴侣的行为来搜索最优解。
10. ILA(Invasive Weed Optimization Algorithm):基于入侵杂草生长行为的优化算法,模拟杂草的繁殖和扩散过程来搜索最优解。
11. RIME(Rapid Iterative Model Evolution):一种快速迭代模型演化的优化算法,通过不断调整模型参数和结构来适应目标函数。
12. SABO(Social-oriented Artificial Bee Colony Optimization):基于社会导向的人工蜂群优化算法,模拟蜜蜂在群体中的信息共享和协作来搜索最优解。
13. SAO(Social-oriented Ant Optimization):基于社会导向的蚁群优化算法,模拟蚁群中蚂蚁之间的信息传递和协作来搜索最优解。
这些优化算法都具有独特的特点和适用性,在不同的问题领域和场景下可能有不同的效果和表现。选择合适的优化算法需要根据具体问题的特征和要求,结合算法的优势和特点进行综合考虑。
2.1 CEC2005测试函数
2.1 CEC2022测试函数
部分代码:
%% Figure
figure1 = figure('Color',[1 1 1]);
G1=subplot(1,2,1,'Parent',figure1);
func_plot(number)
title(number)
xlabel('x')
ylabel('y')
zlabel('z')
subplot(1,2,2)
G2=subplot(1,2,2,'Parent',figure1);
iter=1:1:max_iter;
if ~strcmp(number,'F16')&&~strcmp(number,'F9')&&~strcmp(number,'F11') %这里是因为这几个函数收敛太快,不适用于semilogy,直接plot
semilogy(iter,COA_convergence_curve,'m','linewidth',1);
hold on
semilogy(iter,GMO_convergence_curve,'k','linewidth',1);
hold on
semilogy(iter,WOA_convergence_curve,'b','linewidth',1);
hold on
semilogy(iter,WWPA_convergence_curve,'r','linewidth',1);
hold on
semilogy(iter,OMA_convergence_curve,'g','linewidth',1);
hold on
semilogy(iter,GOA_convergence_curve,'y','linewidth',1);
hold on
semilogy(iter,GWCA_convergence_curve,'c','linewidth',1);
hold on
semilogy(iter,CDO_convergence_curve,'color',[0 0.4470 0.7410],'linewidth',1);
hold on
semilogy(iter,GRO_convergence_curve,'color',[0.8500 0.3250 0.0980],'linewidth',1);
hold on
semilogy(iter,ILA_convergence_curve,'color',[0.9290 0.6940 0.1250],'linewidth',1);
hold on
semilogy(iter,RIME_convergence_curve,'color',[0.4940 0.1840 0.5560],'linewidth',1);
hold on
semilogy(iter,SABO_convergence_curve,'color',[0.4660 0.6740 0.1880],'linewidth',1);
hold on
semilogy(iter,SAO_convergence_curve,'color',[0.3010 0.7450 0.9330],'linewidth',1);
else
plot(iter,COA_convergence_curve,'m','linewidth',1);
hold on
plot(iter,GMO_convergence_curve,'k','linewidth',1);
hold on
plot(iter,WOA_convergence_curve,'b','linewidth',1);
hold on
plot(iter,WWPA_convergence_curve,'r','linewidth',1);
hold on
plot(iter,OMA_convergence_curve,'g','linewidth',1);
hold on
plot(iter,GOA_convergence_curve,'y','linewidth',1);
hold on
plot(iter,GWCA_convergence_curve,'c','linewidth',1);
hold on
plot(iter,CDO_convergence_curve,'color',[0 0.4470 0.7410],'linewidth',1);
hold on
plot(iter,GRO_convergence_curve,'color',[0.8500 0.3250 0.0980],'linewidth',1);
hold on
plot(iter,ILA_convergence_curve,'color',[0.9290 0.6940 0.1250],'linewidth',1);
hold on
plot(iter,RIME_convergence_curve,'color',[0.4940 0.1840 0.5560],'linewidth',1);
hold on
plot(iter,SABO_convergence_curve,'color',[0.4660 0.6740 0.1880],'linewidth',1);
hold on
plot(iter,SAO_convergence_curve,'color',[0.3010 0.7450 0.9330],'linewidth',1);
end
grid on;
title('收敛曲线')
xlabel('迭代次数');
ylabel('适应度值');
box on
legend('COA','GMO','WOA','WWPA','OMA','GOA','GWCA','CDO','GRO','ILA','RIME','SABO','SAO')
set (gcf,'position', [300,300,800,330])
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。