cec2017(MATLAB):星雀优化算法(Nutcracker optimizer algorithm,NOA)

一、星雀优化算法NOA

星雀优化算法(Nutcracker optimizer algorithm,NOA)由Mohamed Abdel-Basset等人于2023年提出,该算法模拟星雀的两种行为,即:在夏秋季节收集并储存食物,在春冬季节搜索食物的存储位置。星雀优化算法(Nutcracker optimizer algorithm,NOA)_IT猿手的博客-CSDN博客

参考文献:

[1]Mohamed Abdel-Basset, Reda Mohamed, Mohammed Jameel, Mohamed Abouhawwash.Nutcracker optimizer: A novel nature-inspired metaheuristic algorithm for global optimization and engineering design problems[J]. Knowledge-Based Systems,2023,262.

二、CEC2017简介

CEC2017简介 cec2017(python):红狐优化算法(Red fox optimization,RFO)求解cec2017_IT猿手的博客-CSDN博客

参考文献:

[1]Awad, N. H., Ali, M. Z., Liang, J. J., Qu, B. Y., & Suganthan, P. N. (2016). "Problem definitions and evaluation criteria for the CEC2017 special session and competition on single objective real-parameter numerical optimization," Technical Report. Nanyang Technological University, Singapore.

三、星雀优化算法NOA求解CEC2017

部分代码

复制代码
close all
clear 
clc
Function_name=15; %测试函数1-30
lb=-100;%变量下界
ub=100;%变量上界
dim=10;%维度 10/30/50/100
SearchAgents_no=100; % Number of search agents
Max_iteration=500;%最大迭代次数
[Best_score,Best_pos,Curve]=NOA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
figure
% Best convergence curve
semilogy(Curve,'LineWidth',2,'Color','g');
title(strcat('CEC2017-F',num2str(Function_name)))
xlabel('迭代次数');
ylabel('适应度值');
axis tight
box on
legend('NOA')
display(['The best solution is : ', num2str(Best_pos)]);
display(['The best optimal value of the objective funciton is : ', num2str(Best_score)]);

部分结果

四、完整MATLAB代码

相关推荐
湫ccc3 分钟前
《Python基础》之基本数据类型
开发语言·python
Matlab精灵4 分钟前
Matlab函数中的隐马尔可夫模型
开发语言·matlab·统计学习
Microsoft Word5 分钟前
c++基础语法
开发语言·c++·算法
数据小爬虫@7 分钟前
如何利用java爬虫获得淘宝商品评论
java·开发语言·爬虫
qq_1728055915 分钟前
RUST学习教程-安装教程
开发语言·学习·rust·安装
天才在此18 分钟前
汽车加油行驶问题-动态规划算法(已在洛谷AC)
算法·动态规划
wjs202423 分钟前
MongoDB 更新集合名
开发语言
monkey_meng26 分钟前
【遵守孤儿规则的External trait pattern】
开发语言·后端·rust
legend_jz1 小时前
【Linux】线程控制
linux·服务器·开发语言·c++·笔记·学习·学习方法
tangliang_cn1 小时前
java入门 自定义springboot starter
java·开发语言·spring boot