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

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2020年,K Zervoudakis等人受到自然界蜉蝣交配繁殖行为启发,提出了蜉蝣

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

目录

1.背景2.算法原理2.1算法思想2.2算法过程

3.结果展示4.参考文献

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​+a1​e−βrp2​(pbesti​​−xit​)+a2​e−βrg2​(gbest​−xit​)(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}

∥xi​−Xi​∥=j=1∑n​(xi​−Xi​)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​+α2​e−βrmf2​(xijt​−yijt​),f(yi​)>f(xi​)νit+1​=νit​+f1​r,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​+(1−L)female​off2​=Lfemale​+(1−L)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.

相关推荐