【智能算法】蜉蝣算法(MA)原理及实现

本文介绍了KZervoudakis等人提出的受自然界蜉蝣繁殖行为启发的MayflyAlgorithm(MA),阐述了算法的灵感来源、雄性和雌性种群的行为模型,包括个体和社会经验的交互、速度更新规则以及交配过程。MA展示了在优化问题中的应用潜力和智能算法的特性。
摘要由CSDN通过智能技术生成

在这里插入图片描述


1.背景

2020年,K Zervoudakis等人受到自然界蜉蝣交配繁殖行为启发,提出了蜉蝣算法(Mayfly Algorithm, MA)。
在这里插入图片描述
在这里插入图片描述

2.算法原理

2.1算法思想

MA灵感来自蜉蝣交配过程, 每只蜉蝣在空间位置上代表了问题的可行解。MA 先产生两组蜉蝣, 分别代表雄性和雌性种群,蜉蝣的飞行方向是个体和社会经验的交互作用, 而每只蜉蝣会调整自己的轨迹, 朝着个体最优以及全局最优位置移动。

2.2算法过程

雄性蜉蝣运动更新

雄性蜉蝣成群地聚集, 每只雄性蜉蝣的位置是根据临近经验调整自身位置:
x i ι + 1 = x i t + v i ι + 1 (1) x_i^{\iota+1} = x_i^t + v_i^{\iota+1}\tag{1} xiι+1=xit+viι+1(1)
雄性蜉蝣在水面上表演舞蹈,蜉蝣不断的移动,速度更新为:
v i t + 1 = v i t + a 1 e − β r p 2 ( p b e s t i − x i t ) + a 2 e − β r g 2 ( g b e s t − x i t ) (2) \boldsymbol{v}_{i}^{t+1} =\boldsymbol{v}_{i}^{t} + a_{1} \mathrm{e}^{-\beta r_{\mathrm{p}}^{2}}\left(\boldsymbol{p}_{\mathrm{best}_{i}}-\boldsymbol{x}_{i}^{t}\right) + a_{2} \mathrm{e}^{-\beta r_{\mathrm{g}}^{2}}\left(\boldsymbol{g}_{\mathrm{best}}-\boldsymbol{x}_{i}^{t}\right)\tag{2} vit+1=vit+a1eβrp2(pbestixit)+a2eβrg2(gbestxit)(2)

PS:和PSO速度更新类似,权重系数为自适应参数

其中, β \beta β为蜉蝣定能见度系数; rp 为当前位置和 pbesti 之间的笛卡尔距离; rg 为当前位置和gbest之间的笛卡尔距离:
∥ x i − X i ∥ = ∑ j = 1 n ( x i − X i ) 2 (3) \parallel\boldsymbol{x}_i -\boldsymbol{X}_i\parallel = \sqrt{\sum_{j=1}^n (\boldsymbol{x}_i -\boldsymbol{X}_i)^2}\tag{3} xiXi∥=j=1n(xiXi)2 (3)
为了得到更好的位置, 团队中最好的蜉蝣继续表演舞蹈, 更新速度:
v i t + 1 = v i t + d r (4) v_i^{t+1} = v_i^t + dr\tag{4} vit+1=vit+dr(4)
其中,d为舞蹈系数。

雌性蜉蝣运动更新

雄性蜉蝣容易聚集而雌性蜉蝣不会群体聚集,但是雌性蜉蝣会飞来与雄性蜉蝣交配繁殖。雌性蜉蝣的位置通过增加速度来更新, 位置更新:
y i t + 1 = y i t + v i t + 1 (5) y_i^{t+1}=y_i^t+v_i^{t+1}\tag{5} yit+1=yit+vit+1(5)
最好的雌性吸引最优秀的雄性, 次优的雌性吸引次优的雄性,速 度更新:
ν i t + 1 = ν i t + α 2 e − β r m f 2 ( x i j t − y i j t ) , f ( y i ) > f ( x i ) ν i t + 1 = ν i t + f 1 r , f ( y i ) ≤ f ( x i ) (6) \begin{aligned}&\boldsymbol{\nu}_i^{t+1}=\boldsymbol{\nu}_i^t+\alpha_2\mathrm{e}^{-\beta r_{mf}^2}(\boldsymbol{x}_{ij}^t-\boldsymbol{y}_{ij}^t)\text{,}f(\boldsymbol{y}_i)>f(\boldsymbol{x}_i)\\&\boldsymbol{\nu}_i^{t+1}=\boldsymbol{\nu}_i^t+f_1\boldsymbol{r},f(\boldsymbol{y}_i)\leq f(\boldsymbol{x}_i)\end{aligned}\tag{6} νit+1=νit+α2eβrmf2(xijtyijt),f(yi)>f(xi)νit+1=νit+f1r,f(yi)f(xi)(6)
其中,a2为吸引力常数,rmf为雌性蜉蝣距离。

蜉蝣交配

雄性蜉蝣根据适应度函数选择雌性蜉蝣进行交配:
o f f 1 = L m a l e + ( 1 − L ) f e m a l e o f f 2 = L f e m a l e + ( 1 − L ) m a l e (7) \mathrm{off}_1 = Lm_{\mathrm{ale}} + (1 - L)f_{\mathrm{emale}}\\\mathrm{off}_2 = Lf_{\mathrm{emale}} + (1 - L) m_{\mathrm{ale}}\tag{7} off1=Lmale+(1L)femaleoff2=Lfemale+(1L)male(7)

伪代码

在这里插入图片描述

3.结果展示

使用测试框架,测试MA性能 一键run.m

CEC2017-F1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.参考文献

[1] Zervoudakis K, Tsafarakis S. A mayfly optimization algorithm[J]. Computers & Industrial Engineering, 2020, 145: 106559.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小O的算法实验室

谢谢大佬的肯定!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值