智能优化算法:蝗虫优化算法

智能优化算法:蝗虫优化算法-附代码

@[toc]
摘要:蝗虫算法( Grasshopper Optimization Algorithm,GOA ) 是 由 Saremi 等[1]于2017 年提出的一种元启发式仿生优化算法,具有较高的搜索效率和较快的收敛速度,且算法本身特殊的自适应机制能够很好地平衡全局和局部搜索过程,具有较好的寻优精度。

1.算法原理

根据蝗虫算法模拟蝗虫在自然界中的种群迁移和觅食行为将搜索分为: 探索和开发。对该过程进行数学建模,蝗虫算法的数学公式如下:
X_{i}=S_{i}+G_{i}+A_{i}
式中: X_{i}为第 i 个蝗虫的位置; S_{i}为个体间相互影响力; G_{i}为第 i 个蝗虫受到的重力; A_{i}为第i 个蝗虫受到的风力。蝗虫的社会作用对蝗虫位置的影响最大。S_{i}计算如下:
S_{i}=\sum_{j=1,j\neq i}^{N}s(d_{ij})\bold{d_{ij}}
式中: d_{ij} = |x_{i}-x_{j}|为第 i 个蝗虫与第 j 个蝗虫之间的距离;\bold{d_{ij}}=(x_{j}-x{i})/d_{ij}为第 i 个蝗虫指向第 j 个蝗虫的单位向量; s 为社会力量,其为负数时表示相互排斥,为正数时表示相互吸引,计算方法如下:
s=fe^{\frac {-r}{l}}-e^{-r}
式中: f 为吸引强度; l 为吸引长度尺度。当 l=1. 5,f= 0. 5 时,函数s 的曲线显示了蝗虫之间的相互作用力( 吸引和排斥)。

在这里插入图片描述

<center> 图1.s函数

在这里插入图片描述

<center> 图2.改变参数f,l时的s

由图 1 可知,在区间( 1. 000,2. 079) 内,存在排斥力; 当距离等于 2. 079 时,即没有吸引力也没有排斥力,称这一区域为舒适区; 当距离从 2. 079 增加到4.000 的过程中,存在吸引 力,且开始 是 逐 渐 增加的,然后吸引力逐渐减少。改变式中的fl 参数时,蝗虫之间的相互力会改变,如图 2 所示。根据图 2 中的函数曲线,选择参数 l=1. 5,f=0. 5

在这里插入图片描述

<center> 图3.蝗虫个体之间的相互作用

可以直观地显示蝗虫之间相对于舒适区域的相互作用的概念性示意图如图 3 所示。函数 s 存在一个不足,即当蝗虫之间的距离过大时作用力将不存在,因此要将蝗虫之间的距离做标准化处理。

G_{i}可计算如下:
G_{i}=-ge_{g}
式中: g 为重力常数; e_{g}为指向地球中心的单位向量。

A_{i}可计算如下:
A_{i}=ue_{w}
式中:u 为风力常量; e_{w}为指向风向的单位向量。于是X_{i}可表示为:
X_{i}=\sum_{j=1,j\neq i}^{N}s(|x_{j}-x{i}|)\frac {x_{j}-x_{i}}{d_{ij}}-ge_{g}+ue_{w}
通常当蝗虫群到达舒适区时,虫群仍旧没有收敛,为了适应优化问题的求解,协调全局和局部优化过程,通过引入参数以区分不同阶段的寻优。改进后的数学模型如下:
X_{i}=\sum_{j=1,j\neq i}^{N}c\frac {ub_{d}-lb_{d}}{2}s(|x_{j}-x{i}|)\frac {x_{j}-x_{i}}{d_{ij}}+T_{d}
式中: c 为递减系数,决定着舒适区、斥力区和吸引区的大小; N 为蝗虫数量; ub_{d}lb_{d}分别为函数s(r)=fe^{\frac {-r}{l}}-e^{-r}d 维空间上的上下界;T_{d}为目前为止蝗虫位置在d 维空间上的最佳解。式中不考虑重力影响,且假定风向总指向最优解。内部的 c 有助于减少蝗虫之间的斥力或吸引力,且与迭代次数成正比,外部的 c 随着迭代次数
的增加会减少对目标周围的搜索区域。利用下式(更新参数c,随着迭代次数的增加,减少全局搜索,并增加局部精度搜索。
c = c_{max}-n\frac {c_{max}-c_{min}}{L}
式中: c_max为最大值; c_min为最小值; n 为当前迭代次数; L 为 最 大 迭 代 次 数; 本 文 取c_{max}= 1,c_{min}=0.00004

2.算法流程

算法步骤如下:
( 1) 初始化。首先初始化蝗虫种群 和算法中各参数。
( 2) 计算每个蝗虫的适应度;
( 3) 计算当前最佳适应度;
( 4) 判断是否达到迭代次数,若达到,则程序结束,当前的全局最优解的位置即为最优解
( 5) 更新参数 c;
( 6) 标准化蝗虫之间的距离,归一化区间为[1,4];
( 7) 更新蝗虫的位置,并计算更新后的蝗虫适应度,与历史最佳进行比较,若适应度优于历史最佳,则更新,否则不更新;
( 8) 更新迭代次数,并返回到( 4)

3.算法结果

在这里插入图片描述

4.参考文献:

[1]Shahrzad Saremi,Seyedali Mirjalili,Andrew Lewis. Grasshopper Optimisation Algorithm: Theory and application[J]. Advances in Engineering Software,2017,105.

[2]程泽新,李东生,高杨.基于蝗虫算法的无人机三维航迹规划[J].飞行力学,2019,37(02):46-50+55.

5.matlab代码:

https://mianbaoduo.com/o/bread/mbd-Z5ealZ0=

文献复现代码
[1]赵然,郭志川,朱小勇.一种基于Levy飞行的改进蝗虫优化算法[J].计算机与现代化,2020(01):104-110.
https://mianbaoduo.com/o/bread/mbd-YZaUlZZy
[1]李洋州,顾磊.基于曲线自适应和模拟退火的蝗虫优化算法[J].计算机应用研究,2019,36(12):3637-3643.
https://mianbaoduo.com/o/bread/mbd-YZaUlZ1w
[1]何庆,林杰,徐航.混合柯西变异和均匀分布的蝗虫优化算法[J/OL].控制与决策:1-10[2021-01-08].https://doi.org/10.13195/j.kzyjc.2019.1609.
https://mianbaoduo.com/o/bread/YZaUlpZp

6.python代码:

https://mianbaoduo.com/o/bread/YZmXmJ9w

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容