基于胡桃夹子优化算法 (NOA)求解单目标优化问题附matlab代码

文章介绍了胡桃夹子优化算法(NOA),一种在Matlab中实现的自然启发式算法,该算法在多个测试函数和工程问题上表现出色,优于其他优化算法。作者提供了NOA的源代码示例,并展示了其在不同测试函数上的收敛曲线。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

⛄ 内容介绍

胡桃夹子优化算法 (NOA) 是一种受自然启发的算法,可模拟胡桃夹子鸟在两个不同时期的不同行为。NOA 针对二十九个测试函数、CEC-2014、CEC-2017 和 CEC-2020 以及五个实际工程设计问题进行了评估。将 NOA 与三类现有优化算法进行比较:(1) SMA、GBO、EO、RUN、AVOA、RFO 和 GTO 作为最近发布的算法,(2) SSA、WOA 和 GWO 作为高引用算法,以及(3) AL-SHADE、L-SHADE、LSHADE-cnEpSin 和 LSHADE-SPACMA 作为高性能优化器和 CEC 竞赛的获胜者。与 LSHADE-cnEpSin 和 LSHADE-SPACMA 作为性能最佳的优化器和 CEC-2017 的获胜者相比,NOA 在所有方法中排名第一并表现出优异的结果,

⛄ 部分代码

%_________________________________________________________________________%

%  Nutcracker Optimization Algorithm (NOA) source codes demo 1.0               %

%                                                                         %

%  Developed in MATLAB R2019A                                      %

%                                                                         %

%  Author and programmer: Reda Mohamed (E-mail: redamoh@zu.edu.eg) & Mohamed Abdel-Basset (E-mail: mohamedbasset@ieee.org)                              %

%                                                                         %

%   Main paper: Abdel-Basset, M., Mohamed, R.                                    %

%               Nutcracker optimizer,                         %

%               Knowledge-Based Systems, in press,              %

%               DOI: https://doi.org/10.1016/j.knosys.2022.110248   %

%                                                                         %

%_________________________________________________________________________%

clear all

clc

SearchAgents_no=25; % Number of search agents

Max_iteration=400; % Maximum number of Function evaluations

RUN_NO=2; %% Number of independent runs

for i=1:23 %% Test functions

  for j=1:RUN_NO

   [lb,ub,dim,fobj]=Get_Functions_details(i);

   [Best_score,Best_pos,Convergence_curve]=NOA(SearchAgents_no,Max_iteration,ub,lb,dim,fobj);

   fitness(1,j)=Best_score;

  end

  fprintf(['Function_ID\t',num2str(i),'\tAverage Fitness:',num2str(mean(fitness(1,:)),20),'\n']);

  %% Drawing Convergence Curve %%

  figure(i)

  subplot(1,2,1);

func_plot(strcat('F',num2str(i)));

title('Parameter space')

xlabel('x_1');

ylabel('x_2');

zlabel([strcat('F',num2str(i)),'( x_1 , x_2 )'])

subplot(1,2,2);

  h=semilogy(Convergence_curve,'LineWidth',2,'Color','r');

%   h.MarkerIndices = 1000:1000:Max_iteration;

  xlabel('Iteration');

  ylabel('Best Fitness obtained so-far');

  axis tight

  grid off

  box on

  legend({'NOA'});

end

⛄ 运行结果

⛄ 参考文献

Main paper: Abdel-Basset, M., Mohamed, R., Jameel, M., & Abouhawwash, M. (2023). Nutcracker optimizer: A novel nature-inspired metaheuristic algorithm for global optimization and engineering design problems. Knowledge-Based Systems, 110248, DOI: https://doi.org/10.1016/j.knosys.2022.110248

⛳️ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值