【智能算法】海象优化算法(WO)原理及实现

在这里插入图片描述


1.背景

2024年,M Han等人受到海象群体自然行为启发,提出了海象优化算法(Walrus Optimizer, WO)。

在这里插入图片描述

在这里插入图片描述

2.算法原理

2.1算法思想

WO灵感来自海象通过接收关键信号(危险信号和安全信号)选择迁徙、繁殖、栖息、觅食、聚集和逃跑等行为。

在这里插入图片描述

2.2算法过程

危险信号和安全信号

海象在觅食和栖息时都非常警惕。周围会有1 ~ 2只海象作为警卫巡逻,一旦发现意外情况会立即发出危险信号。WO中的危险信号和安全信号定义:
D a n g e r _ s i g n a l = A ∗ R α = 1 − t / T A = 2 × α R = 2 × r 1 − 1 (1) Danger\_signal= A^{\ast }R\\ \alpha=1-t/T\\ A=2\times\alpha\\ R=2\times r_1-1\tag{1} Danger_signal=ARα=1t/TA=2×αR=2×r11(1)
A、R为危险因素,α随迭代次数t先从1减小到0,t为最大迭代次数。WO中危险信号对应的安全信号定义:
S a f e t y _ s i g n a l = r 2 (2) Safety\_signal=r_2\tag{2} Safety_signal=r2(2)

迁移行为

当危险因素过高时,海象群就会迁移到其他地区:
X i , j t + 1 = X i , j t + Migration − s t e p M i g r a t i o n _ s t e p = ( X m t − X n t ) ∙ β ∙ r 3 2 β = 1 − 1 1 + exp ⁡ ( − t − T 2 T × 10 ) (3) X_{i,j}^{t+1}=X_{i,j}^t+\text{Migration}_-step\\ \mathrm{Migration\_step}=(X_m^t-X_n^t)\bullet\beta\bullet{r_3}^2\\ \beta=1-\frac{1}{1+\exp(-\frac{t-\frac{T}{2}}{T}\times10)} \tag{3} Xi,jt+1=Xi,jt+MigrationstepMigration_step=(XmtXnt)βr32β=11+exp(Tt2T×10)1(3)
β是迁移步骤控制因素。

繁殖行为

在研究海象群的繁殖行为时,主要考虑了海象在陆地栖息和水下觅食这两种行为模式。海象群体分为雄性、雌性和幼年个体,每个群体成员在栖息地的选择和更新行为中表现出不同的策略,以适应环境和提高繁殖效率。
雄性海象的位置更新采用拟蒙特卡罗方法中的Halton序列,这种方法通过生成随机但均匀分布的序列来确保种群在搜索空间中的广泛分布。Halton序列的使用能够有效地均匀覆盖整个搜索区域,提高种群多样性,从而有利于在迭代过程中找到更优的解。
雌海象的位置更新则受到雄海象和领头海象的双重影响。随着迭代过程的进行,雌性海象逐渐减少对配偶的依赖,而增加对领头海象的跟随,这种策略有助于雌性海象在繁殖期间更有效地寻找食物和安全的栖息地,确保幼崽的成活率:
F e m a l e i , j t + 1 = F e m a l e i , j t + α ∙ ( M a l e i , j t − F e m a l e i , j t ) + ( 1 − α ) ∙ ( X b e s t t − F e m a l e i , j t ) (4) \begin{aligned} Female_{i,j}^{t+1} =Female_{i,j}^{t}+\alpha\bullet\left(Male_{i,j}^{t}-Female_{i,j}^{t}\right)+(1-\alpha)\bullet\left(X_{best}^t-Female_{i,j}^t\right) \end{aligned}\tag{4} Femalei,jt+1=Femalei,jt+α(Malei,jtFemalei,jt)+(1α)(XbesttFemalei,jt)(4)
海象幼崽的位置更新处于种群边缘的海象幼崽经常成为虎鲸和北极熊的目标,幼海象需要调整当前的位置以避免被捕食:
J u v e n i l e i , j t + 1 = ( O − J u v e n i l e i , j t ) ∙ P O = X b e s t t + J u v e n i l e i , j t ∙ L F (5) \begin{aligned}&Juvenile_{i,j}^{t+1}=\left(O-Juvenile_{i,j}^t\right)\bullet P\\&O=X_{best}^t+Juvenile_{i,j}^t\bullet LF\end{aligned}\tag{5} Juvenilei,jt+1=(OJuvenilei,jt)PO=Xbestt+Juvenilei,jtLF(5)
LF为莱维飞行,水下觅食行为包括逃离和聚集行为,逃跑行为海象在水下觅食时也会受到自然捕食者的攻击,它们会根据同伴发出的危险信号逃离当前活动区域:
X i , j t + 1 = X i , j t ⋅ R − ∣ X b e s t t − X i , j t ∣ ⋅ r 4 2 (6) X_{i,j}^{t+1}=X_{i,j}^{t}\cdot R-\left|X_{best}^{t}-X_{i,j}^{t}\right|\cdot{r_{4}}^{2}\tag{6} Xi,jt+1=Xi,jtR XbesttXi,jt r42(6)
海象可以根据种群中其他海象的位置合作觅食和移动,共享位置信息可以帮助整个海象群找到食物丰富度更高的海域:
X i , j t + 1 = ( X 1 + X 2 ) / 2 { X 1 = X b e s t t − a 1 × b 1 × ∣ X b e s t t − X i , j t ∣ X 2 = X s e c o n d t − a 2 × b 2 × ∣ X s e c o n d t − X i , j t ∣ a = β × r 5 − β b = tan ⁡ ( θ ) (7) \begin{aligned} &X_{i,j}^{t+1}=(X_{1}+X_{2})/2 \\ &\left.\left\{\begin{array}{c}X_1=X_{best}^t-a_1\times b_1\times\left|X_{best}^t-X_{i,j}^t\right|\\\\X_2=X_{second}^t-a_2\times b_2\times\left|X_{second}^t-X_{i,j}^t\right|\end{array}\right.\right. \\ &a=\beta\times r_{5}-\beta \\ &b=\tan(\theta) \end{aligned}\tag{7} Xi,jt+1=(X1+X2)/2 X1=Xbestta1×b1× XbesttXi,jt X2=Xsecondta2×b2× XsecondtXi,jt a=β×r5βb=tan(θ)(7)

伪代码

在这里插入图片描述

3.结果展示

使用测试框架,测试WO性能 一键run.m

CEC2005-F14
在这里插入图片描述

在这里插入图片描述

4.参考文献

[1] Han M, Du Z, Yuen K F, et al. Walrus optimizer: A novel nature-inspired metaheuristic algorithm[J]. Expert Systems with Applications, 2024, 239: 122413.

  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值