当前位置:   article > 正文

鹅优化算法(GOOSE)-2024年新SCI算法-公式原理详解与性能测评 Matlab代码免费获取

鹅优化算法

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

目录

原理简介

一、种群初始化

二、开发和勘探过程

(1)开发阶段

(2)勘探阶段

三、总结

算法流程图和伪代码

性能测评

参考文献

完整代码


        ​鹅优化算法(GOOSE)是一种新型的元启发式算法(智能优化算法),灵感来源于鹅在休息和觅食时的行为,名字非常有趣,也为动物园算法家族增添了一名成员。该成果由Rebwar Khalid Hamad等人于2024年1月发表在Springer旗下的非开源SCI知名期刊《Evolving Systems上。从原理上看,该算法实现简单、易于改进,没有特别复杂的公式,也没有加莱维飞行等混合拼凑策略,适合新手小白练手~

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

原理简介

        GOOSE的算法灵感来源于鹅在休息和觅食时的行为。在休息期间,鹅成群结队地聚集在一起,其中一只靠一条腿保持平衡。偶尔,他抬起一条腿,拿着一块小石头,这样当他睡着时,石头又掉了下来,鹅就会醒过来。当群里的其他人注意到任何意外的噪音或活动时,鹅会发出响亮的鸣叫声,提醒他们注意安全。

一、种群初始化

        GOOSE首先初始化总体,也称为X矩阵。鹅的位置是X。在goose初始化种群后,返回超出搜索空间的搜索代理。然后通过标准化的基准函数在每次迭代中确定每个搜索代理的适合度。测量搜索中的每个代理(X网格内的每条线)的适合度值,并将其与其余代理(其他线)的适应度进行对比,以检查最佳适合度和最佳位置(BestX)。BestFitness和BestX是比较每个当前行(fitnessi+1)的适合度的操作,并且在迭代期间,返回该行之前的适合度(fitnessi)。

二、开发和勘探过程

        在接下来的步骤中,通过使用条件和随机变量来平衡勘探和开发阶段。该变量的值希望根据迭代次数均匀分布相位。使用指定的随机变量给出了在GOOSE中开发或勘探的50%概率作为“rnd”。按照顺序,迭代使用条件在探索和开发之间平均分配。

        此外,还引入了其他几个变量,如pro、rnd和coe,变量pro、rnd和coe的值在0和1之间。设置一个条件来检查coe的值是否小于或等于0.17;将等于0.17。pro变量的作用是找出哪个方程有效。

(1)开发阶段

        我们将找到鹅储存在脚里的石头的重量,估计在5到25克之间。通过这个下列公式,随机找到任何迭代过程中的石头重量:

        然后,在下列公式中,应该找到石头落下时到达地球所需的时间T_o_A_Oit。它在上述公式和循环中每次迭代的维数之间随机变化:

        随后,找到物体撞击地面并发出声音并传输到群中单个鹅的时间T_o_A_Sit:

        在下一个方程中,找出声音在整个迭代过程中传播并到达群中个体鹅所需的总时间。如下列第一个公式所示。为了获得所需的平均时间,我们将总时间除以2,如下列第二个公式所示:

        有一个随机变量rnd负责开采和勘探阶段的分布。变量pro的值是从[0,1]的范围中随机选择的。考虑变量pro的值大于0.2并且S_Wit大于或等于12。在下列公式中,T_o_A_Oit乘以S_Wit的平方根除以物体在9.81米/平方秒下的加速度m/S2。为了保护和唤醒团队中的鹅,应该计算出这些方程:

        为了求出声音传播的距离D_S_Tit,它必须是声音在空气中的速度S_S乘以声音传播的时间T_o_A_Sit,如下列公式所示。声音在空气中的速度是每秒343.2米。下图解释了声音传播的距离。

        在这一步中,我们发现D_Git是守护鹅和另一只正在休息或进食的鹅之间的距离。接着,使用声音传播的距离D_S_Tit乘以1/2或0.5,因为我们只需要声音传播的时间,而不需要声音返回的时间。

        要唤醒鹅群中的个体,我们必须找到最佳Xit。下列方程由落下物体的速度F_F_S加上鹅的距离D_Git乘以时间平方T_A的平均值组成。

        相反,如果两个变量都是石头的重量S_Wit和pro,一个接一个地小于12并且小于或等于0.2,则找到新的X,如下列公式所示。为了获得下落物体的速度F_F_S,将到达物体所需的时间T_o_a_Oit乘以石头的重量S_Wit除以重力。

        另一方面,我们在新的数学方程中找到了一个新的X。在下列公式中,所有变量,如落下的物体速度、鹅的距离、时间的平均值和coe依次相乘。

        在开发阶段,使用两个方程来发现新的鹅位置(第9和第11个公式)。变量pro和W_Sit生成的这些值决定了执行哪个公式。

(2)勘探阶段

        在鹅的行为中,若其中一只鹅一醒来,就开始尖叫以保护群中的所有个体,此时开始进入勘探阶段。从前几节中已经提到的内容中可以明显看出,如果变量rnd的值小于0.5,则应用以下方程。

        其中dim是问题维度的数量,Best_pos是我们在搜索区域中找到的最佳X或最佳位置。变量alpha的值范围从2到0。该值随着循环中的每次迭代而显著降低,alpha的值如下列公式所示:

三、总结

        在该算法中,三种公式用于鹅在搜索空间中找到新的位置。在开发阶段,使用了两个公式,即第9和第11个公式。在勘探阶段,仅用了一个公式,其余不过是一些参数公式和使用各个公式的机制而已,大同小异。总体上看,整个算法的流程还是比较清晰的,我把所有公式都打出来也是为了大家更好地理解~

算法流程图和伪代码

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

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

性能测评

        原文作者以19个CEC2005基准测试函数为基准,与遗传算法(GA)、粒子群优化算法(PSO)、蜻蜓算法(DA)和适应度优化器(FDO)进行比较。同时,在10个CEC2019函数上对所提出的算法进行了测试,并将所得结果与蜻蜓算法(DA)、鲸鱼优化算法(WOA)和萨尔普群算法(SSA)进行比较,所提出的算法具有优越的性能。

        这边为了方便大家对比与理解,采用23个标准测试函数,即CEC2005,并与经典的粒子群算法PSO进行对比!这边展示其中5个测试函数的图,其余十几个测试函数大家可以自行切换尝试!

参考文献

        [1]Hamad R K, Rashid T A. GOOSE algorithm: a powerful optimization tool for real-world engineering challenges and beyond[J]. Evolving Systems, 2024: 1-26.

完整代码

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

GOOSE

        也可后台回复个人需求(比如GOOSE-SVM)定制鹅优化算法GOOSE优化模型(看到秒回):

        1.回归/时序/分类预测类:SVM、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、TVF-EMD、CEEMDAN、ICEEMDAN、SVMD等分解模型均可~

        4.其他:机器人路径规划、无人机三维路径规划、DBSCAN聚类、VRPTW路径优化、微电网优化、无线传感器覆盖优化、故障诊断等等均可~

        5.原创改进优化算法(适合需要创新的同学):2024年的鹅优化算法GOOSE以及麻雀SSA、蜣螂DBO等任意优化算法均可,保证测试函数效果!

        更多免费代码链接:

更多免费代码链接

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/561790
推荐阅读
相关标签
  

闽ICP备14008679号