注:该算法已按照智能优化算法APP标准格式进行整改,可直接集成到APP中,方便大家与自己的算法进行对比。
螳螂虾优化算法(Mantis Shrimp Optimization Algorithm, MShOA)是一种受到螳螂虾视觉能力的启发。这种被称为“海底格斗家”的生物,不仅拥有惊人的打击速度,更拥有地球上最复杂的视觉系统,它能够识别线性与圆偏振光,从光的方向中获取丰富的环境信息。科研人员正是借助这一独特的视觉机制,提出了MShOA算法,模拟了螳螂虾的三大应对策略:随机导航觅食、猎物打击动力学,以及防御或撤退决策。这些策略被巧妙地转化为数学模型,在解决复杂优化问题时展现出强大的搜索能力和平衡性能。
该成果于2025年5月最新发表在数学领域四区期刊Mathematics期刊上。

螳螂虾是一种口足目甲壳动物,主要栖息于全球热带浅海海域。它们属于定居型动物,大部分时间潜伏在海底的巢穴中。螳螂虾拥有动物界最复杂的眼睛结构,拥有多达12种光感受器,使其能够识别线性偏振光和圆偏振光。螳螂虾还以其对巢穴的激烈争夺而著称。巢穴因具备多种功能而成为极具价值的资源。螳螂虾会利用其锐利的视觉来评估对手的体型及战斗力,而对手的战斗能力是其决定是否为巢穴而战或选择回避冲突的关键因素。螳螂虾的外观如下图所示。

1.算法原理
(1)初始化
算法的初始化包括两个阶段以获取初始值。如公式所示,第一阶段随机生成一组表示初始种群的多维解:
其中, 表示初始种群, 表示搜索个体的数量, 表示问题的维度(即变量数量)。下图展示了初始种群 的图形表示。

最终, 与 分别表示搜索空间的下界与上界。如公式所示,第二阶段随机生成一个向量,用以表示所检测偏振光的偏振类型指示器(Polarization Type Indicator, PTI)。
在两个阶段中,rand 函数被设定为在区间 [0, 1] 上服从均匀分布。round 函数将 PTI 值限制为 1、2 或 3,如图 5b 所示。这些值分别对应于参考角度设为 π/2、0 或 π,以及 π/4 或 3π/4,分别关联于垂直线性偏振光、水平线性偏振光和圆偏振光。每一种偏振状态均基于螳螂虾的视觉能力。此外,PTI 值为 1 时激活螳螂虾的觅食策略,PTI 值为 2 时激活攻击策略,而 PTI 值为 3 时则触发藏身、防御或巢穴策略。
(2)偏振类型指示器(PTI)向量更新过程
以下步骤概述了 PTI 向量的更新过程,整体流程如图所示:

偏振角的计算受到螳螂虾视觉系统的启发,其中每只眼睛独立感知信息。左眼使用初始种群( )与更新种群( )中的向量来计算左偏振角(LPA),具体如公式所示:
相对地,右偏振角(RPA)则通过以下公式进行计算:
此外,在 PTI 更新过程中,还需计算左偏振角(LPA)与右偏振角(RPA)之间的角度差,以供后续判断使用。在更新 PTI 值之前,需先确定左眼和右眼检测到的偏振类型。左偏振类型向量(LPT)与右偏振类型向量(RPT)依据以下公式中所描述的判定准则进行计算:


左眼角度差(LAD)是指左偏振角(LPA)与偏振光参考角之间的差值,依据以下公式计算。类似地,右眼角度差(RAD)则是通过右偏振角(RPA)与参考角之间的差值进行计算:


最终,依据以下公式计算得到 PTI 值。

(3)觅食过程
螳螂虾在寻找食物时的典型运动特征可被描述为布朗运动。该方程刻画了无外力作用下粒子的运动状态,即所谓的自由布朗粒子。粒子的动力学行为如公式所示。在本研究中,假设粒子不受外力作用,即 ,该式描述了摩擦项( )与噪声项( )之间的平衡关系。
鉴于运动方程中仅包含 和 ,因此可通过引入速度 对公式进行重写,从而得到以下公式。在方程中, 被称为动态摩擦核(dynamic friction kernel),而 被称为随机力(random force), 为扩散常数。
此外,当前的位置通过加入由方程定义的随机运动进行更新。在本研究中, 的取值设定为 1,因此该方程可重写为:
其中, 表示螳螂虾在第 次迭代中的新位置; 表示当前已找到的最优位置; 表示当前位置 与最优位置 之间的差值; 表示 与当前向量 之间的差值,其中 且 ; 为设定在区间 [−1, 1] 内的随机扩散值。该觅食策略如下图所示。

(4)攻击行为
螳螂虾的打击能力在生物学中广为人知,其足以击碎坚硬贝壳的冲击力被比作子弹的撞击。以下公式展示了如何通过二维平面上的圆周运动参数方程来模拟这一打击动作:
其中,向量 表示螳螂虾的前附肢, 表示其打击动作的角运动。最终,螳螂虾的攻击动作可表示为如下形式:
其中, 表示螳螂虾在第 次迭代中的新位置, 表示螳螂虾当前找到的最优位置, 为在区间 内随机生成的角度。该攻击策略的图示如图所示:

(5)藏身、防御或筑巢
螳螂虾在是否防御、藏身或筑巢的决策中,依赖其卓越的视觉能力来评估对手的威胁程度。它们通过敏锐的视觉判断对手是否体型明显更大、可能更强大,若是则选择撤退;若对手体型相仿或更小,则会果断地进行防御或藏身于自身领地中。这类动物通常藏于巢穴中以提高自身的安全概率。
其中, 表示螳螂虾在第 次迭代中的新位置, 表示其当前找到的最优位置, 是一个在 0 到 0.3 之间随机生成的缩放因子。该藏身、防御或筑巢策略的图示如图所示。

MShOA优化算法的伪代码如下所示:

2.结果展示
用咱们的智能优化算法APP软件跑一下该算法。在23个经典函数上测试一下。
F1函数:
F8函数:
F9函数:
F7函数:
3.MATLAB核心代码
%% 淘个代码 %%
% 微信公众号搜索:淘个代码,获取更多代码
% 螳螂虾优化算法(Mantis Shrimp Optimization Algorithm, MShOA)
function [vMin,theBestVct,Convergence_curve]=MShOA(SearchAgents_no,Max_iter,lb,ub,dim,fobj)
Positions=initialization(SearchAgents_no,dim,ub,lb);
for i=1:size(Positions,1)
Fitness(i,1)=fobj(Positions(i,:)); % get fitness
end
Convergence_curve=zeros(1,Max_iter);
[vMin, minIdx]= min(Fitness);
theBestVct= Positions(minIdx,:);
Polarization= randi([1, 3], 1, SearchAgents_no);
Vel_max=80;
% ::: Main loop :::::::::::::::::::::::::::::::::::
for t=1:Max_iter
Convergence_curve(t)= vMin;
for i=1:size(Fitness,1)
if Polarization(i)==1 % Strategy 1: Foraging, Eq. 12 in the paper
r=randi(size(Fitness,1),1);
while i==r
r=randi(size(Fitness,1),1);
end
D=-1+2.*rand;
x(i,:)=(theBestVct-Positions(i,:))+D.*(Positions(r,:)-theBestVct);
elseif Polarization(i)==2 % Strategy 2: Attack Eq. 14 in the paper
t=180+(360-180).*rand;
x(i,:)=theBestVct.*cos(t);
elseif Polarization(i)==3 % Strategy 3: Burrow, Defense, or Shelter, Eq. 15 in the paper
k=0+(0.3-0).*rand;
bin=((-1).^randi(2));
x(i,:)=theBestVct+rand.*bin.*k.*theBestVct;
if bin==1
t=180+(360-180).*rand;
x(i,:)=x(i,:).*cos(t);
end
end
% ::::::::::::::::::::
% Return the search agents that go beyond the boundaries of the search space.
Flag4ub=x(i,:)>ub;
Flag4lb=x(i,:)<lb;
x(i,:)=(x(i,:).*(~(Flag4ub+Flag4lb)))+(Flag4ub+Flag4lb).*(lb+rand(1,dim).*(ub-lb));
end
% ::::::::::::::::::::
Polarization= getPolarization( Positions,Fitness,x,SearchAgents_no);
Positions=x;
%Calculate the fitness value from the new population
for i=1:size(Positions,1)
Fit(i,1)=fobj(Positions(i,:));
end
[VMin ,MinIdx]= min(Fit);
% Update the fitness and the best solution found
if VMin<vMin
theBestVct= Positions(MinIdx,:);
vMin=VMin;
end
Fitness=Fit;
end
end
4.参考文献
参考文献 :Cortez J A S, Vázquez H P, Delgado A F P. A Novel Bio-Inspired Optimization Algorithm Based on Mantis Shrimp Survival Tactics[J]. Mathematics, 2025, 13(9): 1-52
本期算法代码获取
后台回复关键词:
TGDM846
获取更多代码:
或者复制链接跳转:https://docs.qq.com/sheet/DU3NjYkF5TWdFUnpu