求解函数优化问题的改进鲸鱼优化算法

一、理论基础

1、基本鲸鱼优化算法

请参考这里

2、改进鲸鱼优化算法

(1)自适应非线性位置更新

本文将自适应策略引入WOA算法的位置更新公式中,加快算法收敛速度、提高算法的寻优精度。具体公式如下: X → ( t + 1 ) = S 1 ⋅ X → ∗ ( t ) − S 2 ⋅ A → ⋅ D → , ∣ A ∣ < 1     p < 0.5 (1) \overrightarrow X(t+1)=S_1\cdot\overrightarrow X^*(t)-S_2\cdot\overrightarrow A\cdot\overrightarrow D,\quad |A|<1\,\,\, p<0.5\tag{1} X (t+1)=S1X (t)S2A D ,A<1p<0.5(1) X → ( t + 1 ) = S 1 ⋅ X → r a n d ( t ) − S 2 ⋅ A → ⋅ D → , ∣ A ∣ ≥ 1     p < 0.5 (2) \overrightarrow X(t+1)=S_1\cdot\overrightarrow X_{rand}(t)-S_2\cdot\overrightarrow A\cdot\overrightarrow D,\quad |A|≥1\,\,\, p<0.5\tag{2} X (t+1)=S1X rand(t)S2A D ,A1p<0.5(2) X → ( t + 1 ) = S 1 ⋅ X → ∗ ( t ) + D → ′ ⋅ e b l ⋅ c o s ( 2 π l ) , p ≥ 0.5 (3) \overrightarrow X(t+1)=S_1\cdot\overrightarrow X^*(t)+\overrightarrow D'\cdot e^{bl}\cdot cos(2\pi l),\quad p≥0.5\tag{3} X (t+1)=S1X (t)+D eblcos(2πl),p0.5(3)其中, S 1 S_1 S1 S 2 S_2 S2分别为当前最优位置和包围步长的自适应调整系数,具体公式表示为: S 1 = − γ ⋅ [ c o s ( π ⋅ t T ) − λ ] (4) S_1=-\gamma\cdot[cos(\pi\cdot \frac tT)-\lambda]\tag{4} S1=γ[cos(πTt)λ](4) S 2 = γ ⋅ [ c o s ( π ⋅ t T ) + λ ] (5) S_2=\gamma\cdot[cos(\pi\cdot\frac tT)+\lambda]\tag{5} S2=γ[cos(πTt)+λ](5)其中, γ \gamma γ表示 S 1 S_1 S1 S 2 S_2 S2变化取值范围; λ \lambda λ表示 S 1 S_1 S1 S 2 S_2 S2取值步长,其取值分别为0.5和1。
从式(4)和式(5)不难看出,自适应调整系数 S 1 S_1 S1随着算法迭代进化呈非线性增大趋势,使种群能够充分朝向精英猎物位置移动;而 S 2 S_2 S2随着算法迭代进化而不断减小,使种群在进化后期具有较小的包围步长而加快收敛速度,从而实现算法全局探索与局部搜索能力的平衡,同时加快算法收敛速度,提高算法的寻优精度。

(2)引入差分变异操作

本文针对WOA算法容易陷入局部最优这一问题,引入差分变异思想,改善算法易陷入局部最优及出现早熟收敛现象。
差分变异思想具体描述如下:
(1)变异操作
选取当前种群中较优的鲸鱼个体进行变异,能够有效扩大算法的搜索域,避免算法陷入局部最优。具体操作如下: V → i ( t + 1 ) = X → i ( t ) + F ( X → r 1 ( t ) − X → r 2 ( t ) ) (6) \overrightarrow V_i(t+1)=\overrightarrow X_i(t)+F(\overrightarrow X_{r_1}(t)-\overrightarrow X_{r_2}(t))\tag{6} V i(t+1)=X i(t)+F(X r1(t)X r2(t))(6)其中, V → i ( t + 1 ) \overrightarrow V_i(t+1) V i(t+1)表示变异后的第 i i i只鲸鱼的位置; F F F表示缩放比例因子; X → r 1 ( t ) − X → r 2 ( t ) \overrightarrow X_{r_1}(t)-\overrightarrow X_{r_2}(t) X r1(t)X r2(t)表示当前迭代次数下鲸鱼位置的差异向量。
(2)选择操作
选择操作是将变异后的新个体与原始个体进行比较,判断其适应度值是否较优,如果较优,则保留,否则舍弃。差分进化算法中通常采用贪婪选择,具体公式如下: X → i ( t + 1 ) = { V → i ( t + 1 ) , f i t ( V → i ( t + 1 ) ) < f i t ( X → i ( t ) ) X → i ( t + 1 ) , f i t ( V → i ( t + 1 ) ) ≥ f i t ( X → i ( t ) ) (7) \overrightarrow X_i(t+1)=\begin{dcases}\overrightarrow V_i(t+1),\quad fit(\overrightarrow V_i(t+1))<fit(\overrightarrow X_i(t))\\\overrightarrow X_i(t+1),\quad fit(\overrightarrow V_i(t+1))≥fit(\overrightarrow X_i(t))\end{dcases}\tag{7} X i(t+1)={V i(t+1),fit(V i(t+1))<fit(X i(t))X i(t+1),fit(V i(t+1))fit(X i(t))(7)

二、EWOA算法流程图

在这里插入图片描述

图1 EWOA算法流程图

三、仿真实验与结果分析

实验中,设置算法的种群规模为 N = 30 N=30 N=30,最大迭代次数为 T = 500 T=500 T=500。以F1、F2、F3为例。
在这里插入图片描述

图2 F1

在这里插入图片描述

图3 F2

在这里插入图片描述

图4 F3

实验结果表明,本文算法具有较好的有效性和优越性。

四、参考文献

[1] 何庆, 魏康园, 徐钦帅. 求解函数优化问题的改进鲸鱼优化算法[J]. 微电子学与计算机, 2019, 36(4): 72-77+83.

  • 3
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心️升明月

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值