2025年SCI2区TOP:人工旅鼠算法ALA,深度解析+性能实测

发布于:2025-03-13 ⋅ 阅读:(17) ⋅ 点赞:(0)


1.摘要

本文提出了一种人工旅鼠算法(ALA),这是一种基于自然界旅鼠行为的仿生元启发式算法,该算法通过数学建模模拟了旅鼠的四种关键行为:长距离迁徙、挖洞、觅食和躲避捕食者。长距离迁徙和挖洞行为专注于对搜索空间的广泛探索,而觅食和躲避捕食者行为则有助于在优化过程中实现局部开发。ALA还引入了能量递减机制,能够动态调整探索与开发之间的平衡,增强其避免局部最优解的能力,并提升全局收敛的鲁棒性。

2.算法原理

长途迁徙(探索)

在人工旅鼠算法(ALA)中,旅鼠的第一个行为是当食物因过度繁殖而匮乏时,随机进行长距离迁徙。旅鼠通过当前位置和种群中随机个体的位置来探索搜索空间,寻找食物资源丰富的栖息地,以改善其生存条件和获取更多资源:
Z ⃗ i ( t + 1 ) = Z ⃗ b e s t ( t ) + F × B M → × ( R ⃗ × ( Z ⃗ b e s t ( t ) − Z ⃗ i ( t ) ) + ( 1 − R ⃗ ) × ( Z ⃗ i ( t ) − Z ⃗ a ( t ) ) ) \vec{Z}_{i}\left(t+1\right)=\vec{Z}_{best}\left(t\right)+F\times\overrightarrow{BM}\times\left(\vec{R}\times\left(\vec{Z}_{best}\left(t\right)-\vec{Z}_{i}\left(t\right)\right)+\left(1-\vec{R}\right)\times\left(\vec{Z}_{i}\left(t\right)-\vec{Z}_{a}\left(t\right)\right)\right) Z i(t+1)=Z best(t)+F×BM ×(R ×(Z best(t)Z i(t))+(1R )×(Z i(t)Z a(t)))

挖洞(探索)

旅鼠的第二个行为是在人类栖息地中挖掘洞穴,形成复杂的隧道,为它们提供安全的庇护所和食物储存空间。旅鼠会根据当前洞穴的位置以及种群中随机个体的位置,随机挖掘新的洞穴:
Z ⃗ i ( t + 1 ) = Z ⃗ i ( t ) + F × L × ( Z ⃗ b e s t ( t ) − Z ⃗ b ( t ) ) \vec{Z}_{i}\left(t+1\right)=\vec{Z}_{i}\left(t\right)+F\times L\times\left(\vec{Z}_{best}\left(t\right)-\vec{Z}_{b}\left(t\right)\right) Z i(t+1)=Z i(t)+F×L×(Z best(t)Z b(t))

觅食(开发)

旅鼠的第三个行为是随机且广泛地在栖息地的洞穴内移动,依靠敏锐的嗅觉和听觉来寻找食物源。旅鼠通常会在栖息地内设立一个相对较小的觅食区域,其大小取决于食物的丰富程度和可获得性。为了尽可能多地获取食物,旅鼠会在觅食区域内随意游走:
Z ⃗ i ( t + 1 ) = Z ⃗ b e s t ( t ) + F × s p i r a l × r a n d × Z ⃗ i ( t ) \vec{Z}_{i}\left(t+1\right)=\vec{Z}_{best}\left(t\right)+F\times spiral\times rand\times\vec{Z}_{i}\left(t\right) Z i(t+1)=Z best(t)+F×spiral×rand×Z i(t)

其中,螺旋表示觅食过程中随机搜索的螺旋形状,由参数表示:
s p i r a l = r a d i u s × ( sin ⁡ ( 2 × π × r a n d ) + cos ⁡ ( 2 × π × r a n d ) ) r a d i u s = ∑ j = 1 D i m ( z b e s t , j ( t ) − z i , j ( t ) ) 2 \begin{aligned} spiral= & radius\times\left(\sin\left(2\times\pi\times rand\right)+\cos\left(2\times\pi\times rand\right)\right) \\ \\ & radius=\sqrt{\sum_{j=1}^{Dim}\left(z_{best,j}\left(t\right)-z_{i,j}\left(t\right)\right)^{2}} \end{aligned} spiral=radius×(sin(2×π×rand)+cos(2×π×rand))radius=j=1Dim(zbest,j(t)zi,j(t))2

躲避天敌(开发)

洞穴作为旅鼠的避难所,一旦探测到捕食者的存在,旅鼠会迅速利用其出色的奔跑能力逃回洞穴:
Z ⃗ i ( t + 1 ) = Z ⃗ b e s t ( t ) + F × G × L e v y ( D i m ) × ( Z ⃗ b e s t ( t ) − Z ⃗ i ( t ) ) G = 2 × ( 1 − t T m a x ) \begin{aligned} \vec{Z}_i\left(t+1\right) & =\vec{Z}_{best}\left(t\right)+F\times G\times Levy\left(Dim\right)\times\left(\vec{Z}_{best}\left(t\right)-\vec{Z}_i\left(t\right)\right) \\ G & =2\times\left(1-\frac{t}{T_{\mathrm{max}}}\right) \end{aligned} Z i(t+1)G=Z best(t)+F×G×Levy(Dim)×(Z best(t)Z i(t))=2×(1Tmaxt)

流程图

伪代码

3.结果展示


4.参考文献

[1] Xiao Y, Cui H, Khurma R A, et al. Artificial lemming algorithm: a novel bionic meta-heuristic technique for solving real-world engineering optimization problems[J]. Artificial Intelligence Review, 2025, 58(3): 84.

5.代码获取