【智能算法】指数分布优化算法(EDO)原理及实现

在这里插入图片描述


1.背景

2023年,M Abdel-Basset等人受到指数分布理论启发,提出了指数分布优化算法(Exponential Distribution Optimizer, EDO)。

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

2.算法原理

2.1算法思想

EDO来源于基于指数概率分布的数学模型,该算法初始化一群代表多个指数分布模型的随机解,每个解的位置代表一个指数随机变量。EDO依据无记忆性、引导解和指数随机变量间的关系来更新当前解。根据无记忆性原则,过去的失败被视为独立事件,不影响未来,因此,即使是输家也可能在下一轮更新中贡献新解。整个探索阶段,从原始种群中导出的指数分布中选择两个解进行更新。

在这里插入图片描述

2.2算法过程

开发阶段

开发阶段利用了指数分布模型的无记忆性、指数率、标准差和均值等特点。EDO采用一个导向解将搜索过程导向全局最优,引导解(Xguide)定义为排序总体前三个最优解的均值:
X g u i d e t i m e = X w i n n e r s b e s t 1 t i m e + X w i n n e r s b e s t 2 t i m e + X w i n n e r s b e s t 3 t i m e 3 (1) Xguide^{time}=\frac{Xwinners_{best1}^{time}+Xwinners_{best2}^{time}+Xwinners_{best3}^{time}}3\tag{1} Xguidetime=3Xwinnersbest1time+Xwinnersbest2time+Xwinnersbest3time(1)
在这里插入图片描述

利用优化模型来更新当前服从指数分布的新解,该模型依赖于两种类型的解赢家和输家:
V i t i m e + 1 = { a . ( m e m o r y l e s s i t i m e − σ 2 ) + b . X g u i d e t i m e i f X w i n n e r s i t i m e = m e m o r y l e s s i t i m e b . ( m e m o r y l e s s i t i m e − σ 2 ) + log ⁡ ( ϕ ) . X w i n n e r s i t i m e , o t h e r w i s e (2) V_i^{time+1}=\begin{cases} a.(memoryless_i^{time}-\sigma^2)+b.Xguide^{time} if Xwinners_i^{time}=memoryless_i^{time}\\ b.(memoryless_i^{time}-\sigma^2)+\log(\phi).Xwinners_i^{time} ,otherwise\end{cases} \tag{2} Vitime+1={a.(memorylessitimeσ2)+b.XguidetimeifXwinnersitime=memorylessitimeb.(memorylessitimeσ2)+log(ϕ).Xwinnersitime,otherwise(2)
参数表述为:
a = ( f ) 10 b = ( f ) 5 f = 2 × r a n d − 1 (3) a=(f)^{10}\\b=(f)^{5}\\f=2\times rand-1\tag{3} a=(f)10b=(f)5f=2×rand1(3)
指数率为:
λ = 1 μ μ = ( m e m o r y l e s s i t i m e + X g u i d e t i m e ) / 2 (4) \lambda=\frac1\mu \\ \mu=(memoryless_i^{time}+Xguide^{time})/2\tag{4} λ=μ1μ=(memorylessitime+Xguidetime)/2(4)

探索阶段

算法的探索阶段识别搜索空间中被认为具有全局最优解的有希望区域,利用服从指数分布的原始种群中的两个优胜者:
V i t i m e + 1 = X w i n n e r s i t i m e − M t i m e + ( c . Z 1 + ( 1 − c ) . Z 2 ) , M t i m e = 1 N . ∑ i = 1 N X w i n n e r s j , i t i m e , j = 1 , 2 , . . . . . . , d . (5) V_{i}^{time+1}=Xwinners_{i}^{time}-M^{time}+(c.Z_{1}+(1-c).Z_{2}),\\M^{time}=\frac{1}{N}.\sum_{i=1}^{N}Xwinners_{j,i}^{time},\quad j=1, 2, ......, d.\tag{5} Vitime+1=XwinnersitimeMtime+(c.Z1+(1c).Z2),Mtime=N1.i=1NXwinnersj,itime,j=1,2,......,d.(5)
c是调整参数:
c = d × f , d = 1 − t i m e M a x _ t i m e . (6) c=d\times f,\\d=\frac{1-time}{Max\_time}.\tag{6} c=d×f,d=Max_time1time.(6)
d是一个自适应参数:
Z 1 = M − D 1 + D 2 , Z 2 = M − D 2 + D 1 , D 1 = M − X w i n n e r s r a n d 1 , D 2 = M − X w i n n e r s r a n d 2 . (7) \begin{gathered} Z_{1}=M-D_{1}+D_{2}, \\ Z_2=M-D_2+D_1, \\ D_{1}=M-Xwinners_{rand1}, \\ D_{2}=M-Xwinners_{rand2}. \end{gathered}\tag{7} Z1=MD1+D2,Z2=MD2+D1,D1=MXwinnersrand1,D2=MXwinnersrand2.(7)
D1和D2表示平均解与Xwinnersrand1和Xwinnersrand2的距离,Xwinnersrand1和Xwinnersrand2是相对于从原始总体中随机选择的指数分布的赢家。

流程图

在这里插入图片描述

伪代码

在这里插入图片描述

3.结果展示

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

CEC2017-F20

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

4.参考文献

[1] Abdel-Basset M, El-Shahat D, Jameel M, et al. Exponential distribution optimizer (EDO): A novel math-inspired algorithm for global optimization and engineering problems[J]. Artificial Intelligence Review, 2023, 56(9): 9329-9400.

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值