【智能算法】平衡优化器(EO)原理及实现

在这里插入图片描述


1.背景

2020年,Afshin Faramarzi等人受到估计动态和平衡状态的控制体积质量平衡模型启发,提出了平衡优化器(Equilibrium Optimizer, EO)。(PS:酒桶摇摇晃晃~)

2.算法原理

2.1算法思想

在这里插入图片描述

EO基于质量平衡方程,描述为一阶微分方程:
V d C d t = Q C e q − Q C + G (1) V\frac{dC}{dt}=QC_{eq}-QC+G \tag{1} VdtdC=QCeqQC+G(1)
其中,V 为容器的容积,C 为溶液密度,Q 为容量流率,Ceq 表示平衡状态下的浓度,G 为容器内的质量生成速率。
求解可以得到方程的解为:
C = C e q + ( C 0 − C e q ) F + G λ V ( 1 − F ) F = exp ⁡ [ − λ ( t − t 0 ) ] (2) C=C_{eq}+\left(C_{0}-C_{eq}\right)F+\frac{G}{\lambda V}(1-\mathrm{F})\\ F=\exp\left[-\lambda\left(t-t_0\right)\right] \tag{2} C=Ceq+(C0Ceq)F+λVG(1F)F=exp[λ(tt0)](2)

2.2算法过程

EO基于等式(2)进行更新,具体而言,C代表新解,C0代表旧解,Ceq代表当前最优解。
平衡池
EO是领导者-跟随者类型算法, 这里采用排名前4个体进行引导,避免陷入局部解:
C ⃗ e q , p o o l = { C ⃗ e q ( 1 ) , C ⃗ e q ( 2 ) , C ⃗ e q ( 3 ) , C ⃗ e q ( 4 ) , C ⃗ e q ( a v e ) } (3) \vec C_{eq,pool}=\left\{\vec C_{eq(1)},\vec C_{eq(2)},\vec C_{eq(3)},\vec C_{eq(4)},\vec C_{eq(ave)}\right\}\tag{3} C eq,pool={C eq(1),C eq(2),C eq(3),C eq(4),C eq(ave)}(3)
其中, C ⃗ e q ( a v e ) \vec C_{eq(ave)} C eq(ave)为4个体平均值,五者以等概率选择(0.2)。
系数F:
EO为了平衡全局探索与局部开发,对等式(2)中的F进行修正:
F ⃗ = a 1 s i g n ( r ⃗ − 0.5 ) [ e − λ ⃗ t − 1 ] (4) \vec{F}=a_1sign\left(\vec{r}-0.5\right)\left[e^{-\vec{\lambda}t}-1\right] \tag{4} F =a1sign(r 0.5)[eλ t1](4)
质量生成速率G
参数G控制局部开发收敛性:
G ⃗ = G ⃗ 0 e − λ ⃗ ( t − t 0 ) = G ⃗ 0 F ⃗ \vec{G}=\vec{G}_0e^{-\vec{\lambda}(t-t_0)}=\vec{G}_0\vec{F} G =G 0eλ (tt0)=G 0F
G 0 → = G C P → ( C e q → − λ ⃗ C ⃗ ) G C P → = { 0.5 r 1 r 2 ≥ G P 0 r 2 < G P (5) \overrightarrow{G_0}=\overrightarrow{GCP}\left(\overrightarrow{C_{eq}}-\vec{\lambda}\vec{C}\right)\\\overrightarrow{GCP}=\begin{cases}0.5r_1&r_2\geq GP\\\\0&r_2<GP\end{cases}\tag{5} G0 =GCP (Ceq λ C )GCP = 0.5r10r2GPr2<GP(5)
位置更新:
C ⃗ = C ⃗ e q + ( C ⃗ − C ⃗ e q ) . F ⃗ + G ⃗ λ V ⃗ ( 1 − F ⃗ ) (6) \vec{C}=\vec{C}_{eq}+\left(\vec{C}-\vec{C}_{eq}\right).\vec{F}+\frac{\vec{G}}{\vec{\lambda V}}\big(1-\vec{F}\big)\tag{6} C =C eq+(C C eq).F +λV G (1F )(6)
在这里插入图片描述
伪代码
在这里插入图片描述

3.代码实现

公众号:小O的算法实验室,免费获取
在这里插入图片描述

4.参考文献

[1] Faramarzi A, Heidarinejad M, Stephens B, et al. Equilibrium optimizer: A novel optimization algorithm[J]. Knowledge-based systems, 2020, 191: 105190.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值