旅鼠优化算法(ALA)-2025年SCI顶刊新算法-公式原理详解与性能测评 Matlab代码免费获取

        声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~

目录

原理简介

一、初始化

二、长途迁徙(勘探)

三、挖洞(勘探)

四、觅食(开发)

五、躲避天敌(开发)

六、从勘探到开发的过渡

算法流程图和伪代码

性能测评

参考文献

完整代码


旅鼠优化算法(Artificial Lemming Algorithm, ALA)是一种新型的元启发式算法(智能优化算法),灵感来源于对旅鼠在自然界中的四种不同行为:长途迁徙、挖洞、觅食和躲避捕食者。该算法结构清晰,代码编写完整,发表期刊的等级也很高,适合改进!该成果由Yaning Xiao于2025年1月发表在SCITop期刊《Artificial Intelligence Review上!

由于发表时间较短,谷歌学术上还没人引用!你先用,你就是创新!

原理简介

灵感:旅鼠是一种小型啮齿动物,属于鼠科,主要分布在北极地区,包括苔原、森林苔原和山地苔原栖息地。旅鼠身长约10厘米,身体呈圆形,皮毛的颜色因种类而异,包括灰色、黄色和棕色。它们的尾巴很短,耳朵很小,前脚的第一个脚趾上有一个扁平的爪子,可以帮助它们在雪中挖洞。旅鼠是食草动物,在大多数情况下以草和苔藓为食,但也会觅食雪表面的叶子、浆果、球茎、根和地衣。

、初始化

在初始化阶段,ALA首先在搜索空间内生成一个随机种群作为初始种群,从而开始算法的优化过程。初始总体的计算公式如下:

其中rand为0-1范围内的随机值,LBj为第j维的下限,UBj为第j维的上限。

二、长途迁徙(勘探)

在第一种行为中,当旅鼠数量过多导致食物短缺时,旅鼠会随机进行长距离迁徙。在这里,旅鼠会根据目前的位置和种群中随机个体的位置来探索搜索空间,寻找食物资源丰富的栖息地,从而获得更好的生存条件和资源。同时值得注意的是,旅鼠迁徙的方向和距离并不是一成不变的,受生态环境等多种因素的影响。为了模拟这种行为,提出了以下公式:

其中,Zi (t+1)表示第i个搜索代理在t+1次迭代时的位置。其中,Zbest (t)表示当前最优解。F作为改变搜索方向的标志,由式(7)计算,可以避免局部最优,为搜索代理严格扫描问题域提供更高的机会。→BM代表表征布朗运动的随机数向量,它利用动态和均匀的步长来探索搜索空间中的一些潜在区域。标准布朗运动的步长是通过方差为1,均值为0的正态分布的概率密度函数得到的,如式(6)所示。R是一个大小为1×Dim的向量,其元素是均匀分布在区间[−1,1]内的随机数,该向量控制种群中当前最优个体和随机个体的移动,并用于表示迁移过程中个体之间的相互作用。Zi (t)表示第i个搜索代理的当前位置。Za (t)表示从总体中随机选择的搜索个体,a是1~n之间的整数索引。

其中,⌊·⌋表示向下取整函数。

三、挖洞(勘探)

旅鼠的第二种行为是在它们的栖息地挖洞,形成复杂的隧道,为它们提供安全的避难所和储存食物的地方。旅鼠会根据洞穴的当前位置和种群中随机个体的位置随机挖掘新的洞穴。这种设计帮助它们快速逃离捕食者的威胁、更有效地寻找食物。下图显示了一个挖洞的简单示例。该行为在Eq.(9)中进行了模拟。

其中L是与当前迭代次数相关的随机数。其中,Zb表示从种群中随机选择的搜索个体,b是1到n之间的随机整数指标值。L和Zb用于描述旅鼠个体在挖新洞时的相互作用。L的值计算公式如下:

四、觅食(开发)

在第三种行为中,旅鼠在其栖息地的洞穴内广泛而随意地移动,依靠其敏锐的嗅觉和听觉来定位食物来源。旅鼠通常在其栖息地内建立一个相对较小的觅食区域,这取决于食物的丰富程度和可用性。为了摄取尽可能多的食物,旅鼠会在觅食区域内随意游荡。下图显示了旅鼠的随机觅食行为。考虑螺旋缠绕机制来模拟这一阶段如下:

式中,螺旋表示觅食过程中随机搜索的螺旋形状,由式12和13计算:

五、躲避天敌(开发)

在最后一个阶段,建模的重点是旅鼠在遇到危险时的回避和保护行为。这个洞穴是旅鼠的避难所。一旦发现敌人,旅鼠就会利用它们特殊的奔跑能力逃回洞穴。与此同时,旅鼠也会做出欺骗性的动作来逃避捕食者的追捕。下图展示了旅鼠躲避捕食者的行为。相应的数学表达式如式(14)所示。

式中,G为旅鼠的逃逸系数,表示旅鼠的逃逸能力,随迭代次数的增加而减小,见式(15)。Tmax表示最大迭代次数。Levy(·)是莱维飞行函数,用来模拟旅鼠逃跑时的欺骗动作。莱维飞行函数表示为:

其中u和ν是0-1区间内的随机值,β是等于1.5的常数。

六、从勘探到开发的过渡

为了保持勘探和开采之间的平衡,设计了一个能量因子,使其在迭代过程中减少。当旅鼠有足够的能量时,它们会选择性地迁移或挖洞;否则,它们就四处觅食,躲避捕食者。能量因子的计算公式如下:

算法流程图和伪代码

为了使大家更好地理解,这边给出作者算法的流程图和伪代码,非常清晰!

如果实在看不懂,不用担心,可以看下源代码,再结合上文公式理解就一目了然了!

性能测评

原文作者在CEC2017基和CEC2022基准测试套件上,将ALA与其他17种最先进的元启发式算法进行了比较。实验结果表明,该算法具有可靠的综合优化性能,在大多数测试用例中都能取得优异的解精度、收敛速度和稳定性。

这边为了方便大家对比与理解,采用23个标准测试函数,即CEC2005,设置种群数量为30,迭代次数为1000,和经典的正余弦优化算法SCA进行对比!这边展示其中5个测试函数的图,其余十几个测试函数大家可以自行切换尝试!

可以看到,这个算法在大部分函数上均优于经典的正余弦优化算法算法,说明该算法性能还是比较不错的!大家应用到各类预测、优化问题中也是一个不错的选择~

参考文献

[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.

完整代码

如果需要免费获得图中的完整测试代码,只需点击下方小卡片,再后台回复关键字,不区分大小写:

ALA

也可点击下方小卡片,再后台回复个人需求(比如ALA-LightGBM)定制以下ALA算法优化模型(看到秒回):

1.回归/时序/分类预测类:SVM、RVM、LSSVM、ELM、KELM、HKELM、DELM、RELM、DHKELM、RF、SAE、LSTM、BiLSTM、GRU、BiGRU、PNN、CNN、BP、XGBoost、LightGBM、TCN、BiTCN、ESN、Transformer等等均可~

2.组合预测类:CNN/TCN/BiTCN/DBN/Transformer/Adaboost结合SVM、RVM、ELM、LSTM、BiLSTM、GRU、BiGRU、Attention机制类等均可(可任意搭配非常新颖)~

3.分解类:EMD、EEMD、VMD、REMD、FEEMD、TVFEMD、CEEMDAN、ICEEMDAN、SVMD、FMD等分解模型均可~

4.路径规划类:机器人路径规划、无人机三维路径规划、冷链物流路径优化、VRPTW路径优化等等~

5.优化类:光伏电池参数辨识优化、光伏MPPT控制、储能容量配置优化、微电网优化、PID参数整定优化、无线传感器覆盖优化、图像分割、故障诊断等等均可~~

6.原创改进优化算法(适合需要创新的同学):原创改进2025年的旅鼠优化算法ALA以及鱼鹰OOA、蛇鹫SBOA等任意优化算法均可,保证测试函数效果,一般可直接核心!

### 人工旅鼠优化算法简介 人工旅鼠优化算法(Artificial Lemming Algorithm, ALA)是一种受自然界旅鼠行为启发的新型元启发式优化算法。该算法通过模拟旅鼠在自然环境中觅食、迁徙以及应对危险的行为模式,构建了一种高效的全局优化方法[^4]。 #### 基本原理 人工旅鼠优化算法的核心在于模仿旅鼠群体在复杂地形中的运动规律及其决策机制。具体而言,算法主要考虑以下几个方面: - **觅食行为**:旅鼠为了寻找食物会不断探索周围的环境,在算法中表现为粒子对解空间的随机搜索。 - **迁移行为**:当资源匮乏时,旅鼠会选择大规模迁移到新的区域。这种行为被用来跳出局部最优并促进全局搜索能力。 - **避险策略**:面对捕食者或其他威胁,旅鼠表现出规避动作。这一特性可以有效防止陷入早熟收敛的情况。 这些生物习性的数字化表达使得ALA具备较强的寻优能力和抗干扰性能。 #### 应用领域 由于其良好的通用性和灵活性,人工旅鼠优化算法已被广泛应用于多个实际工程和技术场景之中: 1. **路径规划** 利用人造旅鼠对于未知环境下的快速适应特点,能够很好地解决机器人或者无人驾驶车辆等设备在动态障碍物存在条件下的导航难题。 2. **参数调优** 在机器学习模型训练过程中涉及到众多超参设定问题上,采用此技术可显著提升效率准确性。 3. **图像处理** 包括但不限于特征提取、分割操作等领域也可见到它的身影;凭借独特优势帮助改善视觉分析质量。 4. **电力系统调度** 面向新能源接入背景下的电网经济运行研究课题里发挥重要作用,有助于降低运营成本的同时保障供电可靠性。 ```matlab % MATLAB代码示例展示简单形式下的人工旅鼠优化流程框架 function [bestPosition,bestFitness]=ALA(maxIter,popSize,dim,lb,ub,fobj) % 初始化种群位置矩阵X(popSize*dim),速度V(popSize*dim),及其他必要变量... for iter=1:maxIter for i=1:popSize fitness(i)=fobj(X(i,:)); if fitness(i)<pBestFit(i) pBestPos(i,:)=X(i,:); pBestFit(i)=fitness(i); if pBestFit(i)<gBestFit gBestFit=pBestFit(i); gBestPos=X(i,:); end end end % 更新规则部分省略...依据特定公式完成个体更新逻辑计算 end end ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值