蚱蜢优化算法(GOA)
一 蚱蜢优化算法的概念
蚱蜢是昆虫。由于它们对农作物生产和农业造成损害,因此被认为是有害生物。尽管蚱蜢在自然界中通常是单独出现的,但它们是所有生物中最大的群体之一。蜂群的规模可能是可控的,对农民来说是一场噩梦。蚱蜢群的独特之处在于,无论是在若虫期还是成年期,都可以发现蝗虫的群集行为。数以百万计的若虫蚱蜢像滚动的圆柱体一样跳跃和移动。在他们的道路上,他们几乎吃掉了所有的植被。在这种行为之后,当它们成年后,它们会在空中形成一个蜂群。这就是蝗虫长距离迁徙的方式。
幼虫期蝗虫群的主要特征是行动缓慢,步幅小。相比之下,长距离和突然的移动是成年期蜂群的基本特征。寻找食物来源是蝗虫群集的另一个重要特征。正如简介中所讨论的,受自然启发的算法在逻辑上将搜索过程分为两种趋势:探索和利用。在爆炸中,搜索代理被鼓励突然移动,而在攻击过程中,他们倾向于在本地移动。这两个功能以及目标搜索都是由蚱蜢自然完成的。因此,如果我们找到一种方法对这种行为进行数学建模,可以设计一种新的自然启发算法。该算法通过数学建模和模拟自然界中蝗虫群的行为来解决优化问题。
二 算法数学模型
用于模拟蝗虫群集行为的数学模型如下
其中,Xi表示第i只蚱蜢的位置,Si表示社会相互作用,Gi表示第i只蚱蜢上的重力,Ai表示风平流。Si由如下方程求解:
式中,dij是第i个和第j个蚱蜢之间的距离。
定义s函数计算如下:
G分量计算如下:
A分量计算如下:
通过将各分量代入公式可得:
然而,这个数学模型不能直接用于解决优化问题,主要是因为蝗虫很快到达舒适区,而蝗虫群不会收敛到指定的点。为了解决优化问题,该方程的修改版本:
式中ubd是d维的上界,lbd是d维的下界。
:目标中第D维度的值;c: 缩小舒适区、排斥区和吸引区的递减系数。
式表明,蚱蜢的下一个位置是根据其当前位置、目标位置和所有其他蚱蜢的位置来确定的。请注意,该方程式的第一部分考虑了当前蝗虫相对于其他蝗虫的位置。事实上,我们已经考虑了所有蚱蜢的状态来定义目标周围搜索代理的位置。这与PSO不同,PSO是文献中最受欢迎的群体智能技术。在粒子群优化算法中,每个粒子有两个向量:位置向量和位置向量。然而,GOA中每个搜索代理只有一个位置向量。GOA根据搜索代理的当前位置、全球最佳位置和所有其他搜索代理的位置更新搜索代理的位置。这意味着在粒子群优化算法中,没有任何其他粒子有助于更新粒子的位置,而GOA要求所有搜索代理参与定义每个搜索代理的下一个位置。
三 GOA算法性能测试
图1. S函数
图2. S函数随l和f变化的行为
图3. F1函数的寻优
参考文献::Saremi Shahrzad, Mirjalili Seyedali, Lewis Andrew. Grasshopper Optimisation Algorithm: Theory and application[J]. Advances in Engineering Software, 2017, 105: 30-47. Doi: https://doi.org/10.1016/j.advengsoft.2017.01.004.
GOA算法matlab版本下载地址:智能优化算法-GOA.zip-其它文档类资源-CSDN下载智能优化算法之GOA算法matlab代码更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/weixin_46263379/75848308