沙丁鱼优化算法(Sardine optimization algorithm,SOA)求解23个函数MATLAB

一、沙丁鱼优化算法

沙丁鱼优化算法(Sardine optimization algorithm,SOA)由Zhang HongGuang等人于2023年提出,该算法模拟沙丁鱼的生存策略,具有搜索能力强,求解精度高等特点。

沙丁鱼主要以浮游生物为食,这些生物包括细菌、腔肠动物、软体动物、原生动物、十足目、幼小藤壶、鱼卵、甲藻、桡足类等。沙丁鱼的季节饵料组成会随着水文条件的变化而改变。在上升流剧烈的时期,饵料组成以浮游植物为主;而在上升流微弱的时期,饵料组成则以浮游动物为主。沙丁鱼是一种滤食动物,它们通过鳃过滤海水,捕获通过鳃的浮游生物。此外,沙丁鱼拥有一双透镜眼,这极大地提高了它们的视力和图像亮度,因此它们能够利用视力追踪在水中过滤的猎物。除了像大多数鱼类一样借助快速的游动逃避捕食者外,沙丁鱼还利用群体行为来躲避捕猎者。例如,当遇到捕食沙丁鱼的海豚时,沙丁鱼会聚成大群来对抗海豚的捕食。在没有外部威胁或障碍物时,鱼群通常会聚成接近球形的形态,以便协同躲避。

参考文献:Zhang, H., Tang, M., Liu, Y. et al. Sardine Optimization Algorithm with Agile Locality and Globality Strategies for Real Optimization Problems . Arab J Sci Eng 48 , 9787--9825 (2023). Sardine Optimization Algorithm with Agile Locality and Globality Strategies for Real Optimization Problems | SpringerLink

二、23个测试函数简介

23个测试函数简介

测试集:23组基本测试函数简介及图像(提供python代码)_IT猿手的博客-CSDN博客

参考文献:

1\] Yao X, Liu Y, Lin G M. Evolutionary programming made faster\[J\]. IEEE transactions on evolutionary computation, 1999, 3(2):82-102. ## 三、SOA求解23个测试函数 (1)部分代码 ``` close all clear ; clc; SearchAgents_no=20; %  种群数量 Function_name='F1'; % Name of the test function that can be from F1 to F23 (Table 1,2,3 in the paper) 设定适应度函数 Max_iteration=100; % Maximum numbef of iterations 设定最大迭代次数 % Load details of the selected benchmark function [lb,ub,dim,fobj]=Get_Functions_details(Function_name);  %设定边界以及优化函数 %% Executing SOA algorithm [BestIndividual,BestFitness,curve]=SOA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj); %开始优化 figure plot(curve,'Color','r','linewidth',2.5) title('Objective space') xlabel('Iteration'); ylabel('Best score obtained so far'); axis tight grid on box on legend('SOA') display(['The best solution obtained by SOA is ', num2str(BestIndividual)]); display(['The best optimal value of the objective funciton found by SOA is ', num2str(BestFitness)]); ``` (2)部分结果 ![](https://file.jishuzhan.net/article/1702617612397056002/4b0ee2b7d0874855b4e6b223f66d8313.png) ![](https://file.jishuzhan.net/article/1702617612397056002/0570d9229a5547f4b221291649f272ba.png) ![](https://file.jishuzhan.net/article/1702617612397056002/0e3d55528b1c4f8ea33d3bb9b18afbd0.png) ![](https://file.jishuzhan.net/article/1702617612397056002/fb3c3a88465e4c1da4d8258cfd04202c.png) ![](https://file.jishuzhan.net/article/1702617612397056002/2d4b796fc8bf48bf865631af209fcea2.png) ![](https://file.jishuzhan.net/article/1702617612397056002/b1c7b8fac6834897996fecdb78ada344.png) ## 四、完整MATLAB代码

相关推荐
月明长歌2 分钟前
【码道初阶】【Leetcode94&144&145】二叉树的前中后序遍历(非递归版):显式调用栈的优雅实现
java·数据结构·windows·算法·leetcode·二叉树
ghie909016 分钟前
使用MATLAB的k-Wave工具箱进行超声CT成像
开发语言·matlab
DanyHope17 分钟前
《LeetCode 49. 字母异位词分组:哈希表 + 排序 全解析》
算法·leetcode·哈希算法·散列表
iAkuya20 分钟前
(leetcode) 力扣100 15轮转数组(环状替代)
数据结构·算法·leetcode
杰克尼22 分钟前
蓝桥云课-5. 花灯调整【算法赛】
java·开发语言·算法
.小墨迹23 分钟前
C++学习之std::move 的用法与优缺点分析
linux·开发语言·c++·学习·算法·ubuntu
努力学算法的蒟蒻30 分钟前
day38(12.19)——leetcode面试经典150
算法·leetcode·面试
搬砖魁首39 分钟前
ZK-ALU-在有限域上实现乘法和除法
算法·zk·alu·域运算·算术逻辑单元·模乘·蒙哥马利模约简
iAkuya1 小时前
(leetcode)力扣100 17缺失的第一个正数(哈希)
算法·leetcode·哈希算法
断剑zou天涯1 小时前
【算法笔记】树状数组IndexTree
java·笔记·算法