ESO:一种增强型蛇优化算法

文章来源:

ESO: An enhanced snake optimizer for real-world engineering problems .https://doi.org/10.1016/j.eswa.2023.120594

蛇优化器(Snake Optimizer, SO)是一种具有良好优化效果的新算法。然而,由于自然规律的限制,在勘探开发阶段,参数是较为固定的值,使得so算法很快陷入局部优化,收敛速度较慢。本文通过引入一种新的基于对立的学习策略和新的动态更新机制(参数动态更新策略、正弦余弦复合摄动因子、Tent-chaos和Cauchy mutation),提出了一种增强型Snake优化器(ESO),以获得更好的性能。在23个经典基准函数和CEC 2019函数集上测试了ESO的有效性。

改进策略

1,对原算法中的固定参数 c1 修改

c_{1}^{\text{new}} = c_{1} + \frac{1}{10} \times \cos\left(r_{1}^{4} \times \frac{\pi}{2}\right)

2,对原算法中的固定参数 c2 修改

c_{2}^{\text{new}} = c_{2} + \frac{1}{1000} \times \cos\left(r_{2}^{4} \times \frac{\pi}{2}\right)

3,对原算法中的固定参数 c3 修改

c_{3}^{\text{new}} = c_{3} - 2 \times \sin\left(\left(\frac{t}{T}\right)^{4} \times \frac{\pi}{2}\right)

4,基于凸透镜成像的镜面成像策略

X_{k}^{*} = \frac{UB_{k} + LB_{k}}{2} + \frac{UB_{k} + LB_{k}}{2\delta} - \frac{X_{k}}{\delta}

其中\delta = \delta_{\max} \times \left[ \left( \delta_{\max} - \delta_{\min} \right) - 2 \times \left( \frac{t}{T} \right)^2 \right]\delta_{max}=10,\delta_{min}=9

5,正弦-余弦复合扰动因子

\lambda_1 = 1 + \frac{1}{10000} \times (\sin(a \times 4\pi \times t) + \cos(a \times 6\pi \times t)) \times e^{\left(\frac{\pi}{100} \times \frac{T - t}{4}\right)}

\lambda_2 = 1 + \frac{1}{10000} \times (\cos(a \times 4\pi \times t) + \sin(a \times 6\pi \times t)) \times e^{\left(\frac{\pi}{100} \times \frac{T - t}{4}\right)}

扰动图

加入扰动后的位置更新公式为

S_{i}^{m}(t+1) = \lambda_{1} \times S_{i}^{m}(t) + c_{3} \times e^{-f_{\text{best}}^{f} / f_{i}} \times \operatorname{rand}_{i} \times (FQ \times S_{\text{best}}^{f} - S_{i}^{m}(t))

S_{i}^{f}(t+1) = \lambda_{2} \times S_{i}^{f}(t) + c_{3} \times e^{-f_{\text{best}}^{m} / f_{i}} \times \operatorname{rand}_{i} \times (FQ \times S_{\text{best}}^{m} - S_{i}^{f}(t))

后面还有两个策略就不介绍了。文章实际使用了两个测试集,一个为CEC2005测试集一个是CEC2019,比较算法有GWO、HHO、SCA、GJO、ALO、SOA、AGWO、MPSO、TACPSO、SO、SHADE、LSHADE、LSHADE-EpSin,检验结果均排在第一位。

并对算法的可行性进行了分析。

代码:改进蛇优化算法(ESO)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值