声明:文章是从本人GZH中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的GZH:强盛机器学习,不定期会有很多免费代码分享~
目录
大蔗鼠优化算法(Greater cane rat algorithm ,GCRA)是一种新型的元启发式算法(智能优化算法),灵感来源于自然界中大蔗鼠的觅食和交配行为。该成果由Jeffrey等人于2024年5月发表在Cell旗下子刊《Heliyon》上!
注意,该算法的作者中包括了Seyedali Mirjalili等优化算法领域大名鼎鼎的学者。熟悉该作者的小伙伴都知道,非常经典的灰狼优化算法GWO、河马优化算法HO、海洋捕食者算法MPA等性能优异的算法都是由他发明的,看见他的名字,说明这个算法的性能是有保证的,此次发明的大蔗鼠算法效果也同样不错!
由于发表时间较短,谷歌学术上还没人引用!你先用,你就是创新!
原理简介
灵感:草是大蔗鼠的主要食物,尽管它们吃其他植物、水果和树皮。如下图所示,大蔗鼠居住在图底部阴影部分所示的水源附近,可以明显地描绘出高大的手杖状草,白色的空间和路径代表了通过手杖状特征到达以前已知的食物来源的路径。
一、初始化阶段
使用下式在第j维随机生成第i个位置的个体大鼠(xi,j)。最后,n和d分别表示种群规模和问题维度。
其中rand是0到1之间的随机数。
二、大蔗鼠模型
GCR概念模型如下图所示。假设目标食物源在位置(X',Y')。雄性首领知道通往食物来源的路径,然后它把这个信息传递给其他家庭成员,并根据传递的信息更新自己的位置。位置(X, Y)的alpha知道位置(X',Y')的食物来源,以及根据公式(6)和(7)的影响可以到达的不同相邻位置。在另一次迭代中,位置(X'-X, Y'-Y)的alpha经历相同的过程。在交配季节,通往丰富食物来源的路径信息是共享的。这促使家庭根据性别分成群体,男性和女性群体都搬迁到食物来源的地区建立自己的营地。
在GCRA设计的框架内,被认为是优势的大鼠被认为是最适合的,或者位置向量产生目标函数的最佳值。考虑到这只最适合的大鼠引导群体,并且知道过去的食物或住所路线,其他大鼠的位置根据优势雄鼠的位置进行调整,如下式所示。
其中xnew i,j表示新的GCR位置,xi,j表示当前GCR位置,xk,j是第j维的雄性优势。
优势大鼠位置用Xk表示。GCRA根据ρ值进入勘探或开发阶段,ρ值是决定是否为雨季的变量。ρ的值是精心选择的,以平衡勘探和开采。经过严格的参数分析,ρ的值被仔细地调整为0.5。
(一)勘探阶段
下图显示了大蔗鼠在它们的领地内到处寻找食物,看起来在行走的老鼠代表了优势老鼠的不同位置,在吃的老鼠代表了找到的食物来源。据推测,占主导地位的雄鼠保留了这些踪迹的信息,而其他老鼠则根据这些数据调整自己的位置。
根据优势雄鼠的位置确定剩余鼠群在搜索空间中的新位置,如式(4)所示。在GCR运动模拟的这一阶段,如果另一只大鼠的目标函数值超过最适大鼠,则更新最适大鼠,并根据新建立的最适大鼠调整其他大鼠的位置。如果不是,它就会偏离最适合老鼠的位置。该GCR移动策略如式(5)所示。探索阶段的最后一步表明,只有在新位置目标函数值提高时,GCR才会迁移到新计算的位置;否则,GCR维持原来的位置。
式中,Xi表示第i个GCR的即将或新的状态,xnew i,j表示其在第j维的值,Xi,j表示当前GCR的位置,xk,j是第j维的优势雄性,Fxk是优势雄性的目标函数值,Fxi是目标函数的当前值,C是在问题空间边界内定义的随机数,用来模拟分散的食物来源和庇护所;r模拟丰富的食物来源的影响,从而促使更多的开发,在式(6)中定义;α是一个模拟食物来源减少的系数,它迫使寻找新的食物来源或庇护所,在式(7)中定义;β是促使GCR移动到繁殖区域内其他可用的丰富食物来源的系数,在式(8)中定义。
其中Citer是当前迭代次数,Maxiter是最大迭代次数。
(二)开发阶段
繁殖季节因生境而异,通常发生在雨季。众所周知,雄性在繁殖季节会脱离群体。假设是,一旦群体分开,觅食活动集中在食物来源丰富的地区。下图显示了单独的群体只在有希望的区域内觅食。
这个阶段的模拟开始于随机选择一个雌性m,使m≠k(占统治地位的雄性)。因为繁殖发生在丰富的食物来源周围,所以这种强化发生在被选中的雌性周围。该过程的建模如下式所示。如果新计算的GCR位置增强了目标函数的值,如式(5)所示,则它将取代先前的位置。
其中xm,j表示随机选择的雌性在第j维中的位置,μ随机取1 ~ 4的值,模拟每只雌性GCR每年产生的幼崽数量。
算法伪代码
为了使大家更好地理解,这边给出作者算法的流程图和伪代码,非常清晰!
如果实在看不懂,不用担心,可以看下源代码,再结合上文公式理解就一目了然了!
性能测评
原文作者采用22个经典基准函数、10个CEC 2020复合函数和CEC 2011连续基准问题与工程领域的六个经典问题对GCRA的性能进行了测试。结果表明,GCRA产生了最优或接近最优的解决方案,并避免了局部最小值的陷阱,能够显著区分与用于解决类似问题的竞争对手优化算法。
这边为了方便大家对比与理解,采用23个标准测试函数,即CEC2005,并与2022年广受认可的蜣螂优化算法DBO进行对比!这边展示其中5个测试函数的图,其余十几个测试函数大家可以自行切换尝试!
可以看到,GCRA在大部分函数上性能都超过了经典的DBO算法,尽管前三个函数差异不是很大,但是明显可以看出其收敛速度更快、寻优能力更强,大家应用到各类预测、优化问题中是一个不错的选择~
参考文献
[1]Agushaka J O, Ezugwu A E, Saha A K, et al. Greater Cane Rat Algorithm (GCRA): A Nature-Inspired Metaheuristic for Optimization Problems[J]. Heliyon, 2024.
完整代码
如果需要免费获得图中的完整测试代码,只需后台回复关键字:
GCRA
也可后台回复个人需求(比如GCRA-ELM)定制以下大蔗鼠算法优化模型(看到秒回):
1.回归/时序/分类预测类:SVM、RVM、LSSVM、ELM、KELM、HKELM、DELM、RELM、DHKELM、RF、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.其他:机器人路径规划、无人机三维路径规划、DBSCAN聚类、VRPTW路径优化、微电网优化、无线传感器覆盖优化、故障诊断等等均可~
5.原创改进优化算法(适合需要创新的同学):原创改进大蔗鼠优化算法GCRA以及麻雀SSA、蜣螂DBO等任意优化算法均可,保证测试函数效果!