改两个数字就能发SCI?来看看2024年新出的伞蜥优化算法(FLO)! Matlab代码免费获取

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

目录

原理简介

一、种群初始化

二、狩猎策略(勘探)

三、向上爬树(开发)

算法流程图和伪代码

性能测评

参考文献

完整代码


今天给大家介绍一个2024年的新算法,伞蜥优化算法(Frilled Lizard Optimization, BSLO)。之前也发过介绍很多新算法的文章,起码都还是有一些新意的。但这个算法实在是和2023年的鱼鹰算法太像了,仅改动两个变量就直接又发了篇SCI。

废话不多说,来看看这位神奇的作者是如何做到的。

上图是2024年新出的伞蜥优化算法,下图是2023年新出的鱼鹰算法,两篇文章中均有同一作者。

这是一种新型的智能优化算法,灵感来自伞蜥的狩猎行为。该成果由Ibraheem Abu Falahah等人于2024年6月发表在SCI期刊《Computers Materials & Continua上。

首先看下源代码:

第一部分:完全没有任何区别,仅改动了算法名称。

第二部分:也几乎完全没有任何区别,只是改动了变量名称,把OOA算法中的fish改成了prey,以迎合新创算法的写作需要,对算法构成毫无影响。

第三部分:唯一的改动点,将鱼鹰算法中的下界+随机数改成了1-2*随机数。当然,你可以说这能使得算法的性能更好(后文也给了测试结果,收敛速度会稍微快一些)。更何况,这两个算法的模板几乎一模一样。尽管作者都来自同一人,但如果这种改动都能称之为一个新的算法,那我一天可以编出10个这种算法出来,无非就是加几个随机数而已。

虽然作者均为同一人,但我还是倾向于认为他们构成了学术不端当然,严格按定义来讲是够不上的,但你要说灌水那肯定是没跑的了。

如果你也对这个算法有什么看法,可以直接评论区留言,我会全部精选。

说了这么多,还是先一起来看下这个算法的原理。

原理简介

伞蜥是一种原产于新几内亚南部和澳大利亚北部的蜥科蜥蜴。伞蜥是一种树栖物种,每天有90%以上的时间在树上度过。在这种动物在地面上的短暂时间内,它忙于觅食、社交或前往新树。

一、种群初始化

BSLO首先在解空间中初始化一组随机分布的候选解:

Xi,d表示它在搜索空间(决策变量)中的第d维,N表示伞蜥的数量,r表示区间[0,1]中随机取的一个数字,lbd和ubd分别是第d个决策变量的下界和上界。

二、狩猎策略(勘探)

伞蜥最典型的自然行为之一就是它的捕猎策略。伞蜥是一种坐等捕食者,看到猎物后就会攻击它。对伞蜥向猎物移动的模拟,使得种群成员在问题求解空间中的位置发生了广泛的变化,从而提高了算法全局搜索的探索能力。在FLO的第一阶段,种群个体在问题解空间中的位置根据伞蜥的狩猎策略进行更新。在FLO的设计中,对于每只伞蜥,将目标函数值更优的种群成员的位置作为猎物位置。据此,利用式(4)确定每只伞蜥的候选猎物位置集:

其中CP为第i条伞蜥的候选猎物集,Xk为目标函数值优于第i条伞蜥的种群成员,Fk为其目标函数值。

在FLO设计中,假设伞蜥随机选择其中一个候选猎物并攻击它。基于伞蜥向选定猎物移动的建模,使用Eq.(5)计算种群中每个个体的新位置。然后,如果目标函数值更好,则使用Eq.(6)替换相应个体的先前位置:

其中XP1i表示基于FLO第一阶段的第i条伞蜥的新位置,XP1i,d表示它的第d维,FP1i表示它的目标函数值,r为一个区间[0,1]的正态分布随机数,SPi,d表示第I条伞蜥选择猎物的第d维,I是从集合{1,2}中随机取的数字,N表示伞蜥的数量,m表示决策变量的数量。

三、向上爬树(开发)

进食后,这只伞蜥会退到它所在位置附近的树顶。通过模拟伞蜥向树顶的移动,使得种群个体在问题解空间中的位置发生了微小的变化,从而提高了算法对局部搜索的利用能力。在FLO的第二阶段,种群个体在解空间中的位置根据进食后退回树顶时的策略进行更新。

基于对伞蜥移动到附近树顶的建模,使用Eq.(7)计算每个种群个体的新位置。然后,如果这个新位置改善了目标函数值,则使用Eq.(8)替换相应个体的先前位置:

其中XP2i表示基于FLO第二阶段的第i条伞蜥的新位置,XP2i,d表示它的第d维,FP2i表示它的目标函数值,t表示算法的迭代计数器,T表示算法的最大迭代次数。

算法流程图和伪代码

以下提供FLO算法的流程图和伪代码,非常清晰!

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

性能测评

原文作者在CEC2017以及CEC2011中的22个约束优化问题和4个复杂的工程设计问题验证了BSLO的鲁棒性和通用性。

这边为了方便大家对比与理解,采用23个标准测试函数,即CEC2005,设置迭代次数为1000,并与上文提到的鱼鹰算法OOA进行对比!这边展示其中5个测试函数的图,其余十几个测试函数大家可以自行切换尝试!

这个算法和鱼鹰算法很像,性能也非常相似,但比鱼鹰的收敛速度更快,基本在CEC2005中是一个天花板的存在。当然,我这里只测试了CEC2005,大家也可以测试了CEC2017的效果如何~大家应用到各类预测、优化问题中也是一个不错的选择。

参考文献

[1]Falahah I A, Al-Baik O, Alomari S, et al. Frilled Lizard Optimization: A Novel Bio-Inspired Optimizer for Solving Engineering Applications[J].

完整代码

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

FLO

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

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

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

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

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

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

6.原创改进优化算法(适合需要创新的同学):原创改进2024年的伞蜥优化算法FLO以及蛇鹫SBOA、蜣螂DBO等任意优化算法均可,保证测试函数效果!

 更多免费代码链接:

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值