基于白鲸优化算法的函数寻优算法

news/2024/7/4 10:06:09

文章目录

  • 一、理论基础
    • 1、白鲸优化算法
      • (1)探索阶段
      • (2)开发阶段
      • (3)鲸落
    • 2、BWO算法流程图
  • 二、仿真实验与结果分析
  • 三、参考文献

一、理论基础

1、白鲸优化算法

文献[1]从白鲸的行为出发,提出了一种新的基于种群的元启发式算法,称为白鲸优化(Beluga whale optimization, BWO)算法,用于求解优化问题。BWO建立了探索、开发和鲸鱼坠落的三个阶段,分别对应于成对游泳、捕食和鲸落的行为。BWO中的平衡因子和鲸落概率是自适应的,对控制探索和开发能力起着重要作用。此外,还引入了莱维飞行来增强开发阶段的全局收敛性。
由于BWO基于种群的机制,白鲸被视为搜索代理,而每头白鲸都是候选解,在优化过程中更新。搜索代理位置矩阵建模为: X = [ x 1 , 1 x 1 , 2 ⋯ x 1 , d x 2 , 1 x 2 , 2 ⋯ x 2 , d ⋮ ⋮ ⋮ ⋮ x n , 1 x n , 2 ⋯ x n , d ] (1) X=\begin{bmatrix}x_{1,1} & x_{1,2} & \cdots & x_{1,d} \\x_{2,1} & x_{2,2} & \cdots & x_{2,d} \\\vdots & \vdots & \vdots & \vdots \\x_{n,1} & x_{n,2} & \cdots & x_{n,d} \end{bmatrix}\tag{1} X=x1,1x2,1xn,1x1,2x2,2xn,2x1,dx2,dxn,d(1)其中, n n n是白鲸的种群数量, d d d代表问题变量的维数。对于所有白鲸,相应的适应度值存储如下: F X = [ f ( x 1 , 1 , x 1 , 2 , ⋯   , x 1 , d ) f ( x 2 , 1 , x 2 , 2 , ⋯   , x 2 , d ) ⋮ f ( x n , 1 , x n , 2 , ⋯   , x n , d ) ] (2) F_X=\begin{bmatrix}f(x_{1,1},x_{1,2},\cdots,x_{1,d}) \\f(x_{2,1},x_{2,2},\cdots,x_{2,d})\\\vdots\\f(x_{n,1},x_{n,2},\cdots,x_{n,d}) \end{bmatrix}\tag{2} FX=f(x1,1,x1,2,,x1,d)f(x2,1,x2,2,,x2,d)f(xn,1,xn,2,,xn,d)(2)BWO算法可以从探索逐渐转换到开发,这取决于平衡因子 B f B_f Bf,其定义为: B f = B 0 ( 1 − T / ( 2 T max ⁡ ) ) (3) B_f=B_0(1-T/(2T_{\max}))\tag{3} Bf=B0(1T/(2Tmax))(3)其中, T T T是当前迭代次, T max ⁡ T_{\max} Tmax是最大迭代次数, B 0 B_0 B0在每次迭代中在 ( 0 , 1 ) (0,1) (0,1)之间随机变化。探索阶段发生在平衡因子 B f > 0.5 B_f>0.5 Bf>0.5时,而开发阶段发生在 B f ≤ 0.5 B_f\leq0.5 Bf0.5。随着迭代次数 T T T的增加, B f B_f Bf的波动范围从 ( 0 , 1 ) (0,1) (0,1)减小到 ( 0 , 0.5 ) (0,0.5) (0,0.5),说明开发和探索阶段的概率发生了显著变化,而开发阶段的概率随着迭代次数 T T T的不断增加而增加。

(1)探索阶段

BWO的探索阶段是通过考虑白鲸的游泳行为建立的。搜索代理的位置由白鲸的配对游泳决定,白鲸的位置更新如下: { X i , j T + 1 = X i , p j T + ( X r , p 1 T − X i , p j T ) ( 1 + r 1 ) sin ⁡ ( 2 π r 2 ) , j = e v e n X i , j T + 1 = X i , p j T + ( X r , p 1 T − X i , p j T ) ( 1 + r 1 ) cos ⁡ ( 2 π r 2 ) , j = o d d (4) \begin{dcases}X_{i,j}^{T+1}=X_{i,p_j}^T+\left(X_{r,p_1}^T-X_{i,p_j}^T\right)(1+r_1)\sin(2\pi r_2),\quad j=even\\[2ex]X_{i,j}^{T+1}=X_{i,p_j}^T+\left(X_{r,p_1}^T-X_{i,p_j}^T\right)(1+r_1)\cos(2\pi r_2),\quad j=odd\end{dcases}\tag{4} Xi,jT+1=Xi,pjT+(Xr,p1TXi,pjT)(1+r1)sin(2πr2),j=evenXi,jT+1=Xi,pjT+(Xr,p1TXi,pjT)(1+r1)cos(2πr2),j=odd(4)其中, T T T是当前迭代次数, X i , j T + 1 X_{i,j}^{T+1} Xi,jT+1是第 i i i条白鲸在第 j j j维上的新位置, p j ( j = 1 , 2 , ⋯   , d ) p_j(j=1,2,\cdots,d) pj(j=1,2,,d)是从 d d d维中选择的随机整数, X i , p j T X_{i,p_j}^{T} Xi,pjT是第 i i i条白鲸在 p j p_j pj维度上的位置, X i , p j T X_{i,p_j}^{T} Xi,pjT X r , p 1 T X_{r,p_1}^{T} Xr,p1T分别是第 i i i条和第 r r r条白鲸的当前位置( r r r是随机选择的白鲸), r 1 r_1 r1 r 2 r_2 r2 ( 0 , 1 ) (0,1) (0,1)的随机数, sin ⁡ ( 2 π r 2 ) \sin(2\pi r_2) sin(2πr2) sin ⁡ ( 2 π r 2 ) \sin(2\pi r_2) sin(2πr2)表示镜像白鲸的鳍朝向水面。根据奇偶数选择的维数,更新后的位置反映了白鲸在游泳或跳水时的同步或镜像行为。两个随机数 r 1 r_1 r1 r 2 r_2 r2用于增强探索阶段的随机算子。

(2)开发阶段

BWO的开发阶段受到白鲸捕食行为的启发。白鲸可以根据附近白鲸的位置合作觅食和移动。因此,白鲸通过共享彼此的位置信息来捕食,同时考虑最佳候选者和其他候选者。在BWO的开发阶段引入了莱维飞行策略,以增强收敛性。假设它们可以使用莱维飞行策略捕捉猎物,数学模型表示为: X i T + 1 = r 3 X b e s t T − r 4 X i T + C 1 ⋅ L F ⋅ ( X r T − X i T ) (5) X_i^{T+1}=r_3X_{best}^T-r_4X_i^T+C_1\cdot L_F\cdot\left(X_r^T-X_i^T\right)\tag{5} XiT+1=r3XbestTr4XiT+C1LF(XrTXiT)(5)其中, T T T是当前迭代次数, X i T X_i^T XiT X r T X_r^T XrT分别是第 i i i条白鲸和随机白鲸的当前位置, X i T + 1 X_i^{T+1} XiT+1是第 i i i条白鲸的新位置, X b e s t T X_{best}^T XbestT是白鲸种群中的最佳位置, r 3 r_3 r3 r 4 r_4 r4 ( 0 , 1 ) (0,1) (0,1)之间的随机数, C 1 = 2 r 4 ( 1 − T / T max ⁡ ) C_1=2r_4(1-T/T_{\max}) C1=2r4(1T/Tmax)是衡量莱维飞行强度的随机跳跃强度。
L F L_F LF是莱维飞行函数,计算如下: L F = 0.05 × u × σ ∣ v ∣ 1 / β (6) L_F=0.05\times\frac{u\times\sigma}{|v|^{1/\beta}}\tag{6} LF=0.05×v1/βu×σ(6) σ = ( Γ ( 1 + β ) × sin ⁡ ( π β / 2 ) Γ ( ( 1 + β ) / 2 ) × β × 2 ( β − 1 ) / 2 ) 1 / β (7) \sigma=\left(\frac{\Gamma(1+\beta)\times\sin(\pi\beta/2)}{\Gamma((1+\beta)/2)\times\beta\times2^{(\beta-1)/2}}\right)^{1/\beta}\tag{7} σ=(Γ((1+β)/2)×β×2(β1)/2Γ(1+β)×sin(πβ/2))1/β(7)其中, u u u v v v为正态分布随机数, β \beta β为默认常数,等于1.5。

(3)鲸落

为了在每次迭代中模拟鲸鱼坠落的行为,从种群中的个体中选择鲸鱼坠落的概率作为主观假设,以模拟群体中的小变化。假设这些白鲸要么移到别处,要么被击落并坠入深海。为了确保种群大小的数量恒定,使用白鲸的位置和鲸鱼落体的步长来建立更新的位置。数学模型表示为: X i T + 1 = r 5 X i T − r 6 X r T + r 7 X s t e p (8) X_i^{T+1}=r_5X_i^T-r_6X_r^T+r_7X_{step}\tag{8} XiT+1=r5XiTr6XrT+r7Xstep(8)其中, r 5 r_5 r5 r 6 r_6 r6 r 7 r_7 r7 ( 0 , 1 ) (0,1) (0,1)之间的随机数, X s t e p X_{step} Xstep是鲸鱼坠落的步长,定义为: X s t e p = ( u b − l b ) exp ⁡ ( − C 2 T / T max ⁡ ) (9) X_{step}=(u_b-l_b)\exp(-C_2T/T_{\max})\tag{9} Xstep=(ublb)exp(C2T/Tmax)(9)其中, C 2 C_2 C2是与鲸鱼下降概率和种群规模相关的阶跃因子( C 2 = 2 W f × n C_2=2W_f\times n C2=2Wf×n), u b u_b ub l b l_b lb分别是变量的上下限。可以看出,步长受问题变量边界、当前迭代次数和最大迭代次数的影响。
在该模型中,鲸鱼坠落概率( W f W_f Wf)作为线性函数计算: W f = 0.1 − 0.05 T / T max ⁡ (10) W_f=0.1-0.05T/T_{\max}\tag{10} Wf=0.10.05T/Tmax(10)鲸鱼坠落的概率从初始迭代的0.1降低到最后一次迭代的0.05,表明在优化过程中,当白鲸更接近食物源时,白鲸的危险性降低。

2、BWO算法流程图

根据之前的理论,BWO包括三个主要阶段:模拟游泳行为的探索阶段,模仿捕食行为的开发阶段,以及受白鲸坠落启发的鲸鱼坠落阶段。在优化过程中,在每次迭代中完成探索阶段和开发阶段时,将执行鲸鱼坠落阶段。BWO算法的流程图如图1所示。
在这里插入图片描述

图1 BWO算法伪代码

二、仿真实验与结果分析

将BWO与PSO、AOA、GSA、GWO、HHO、TLBO和WOA进行对比,以文献[1]中表1和表2的F4、F5、F6、F7(单峰函数/30维)、F13、F14(多峰函数/30维)、F21、F22(固定维度多峰函数/2维、4维)为例,实验设置种群规模为50,最大迭代次数为1000,每种算法独立运算30次,结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F4
BWO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
PSO:最差值: 752.8063, 最优值: 214.8991, 平均值: 414.1921, 标准差: 134.6102, 秩和检验: 1.2118e-12
AOA:最差值: 0.0060669, 最优值: 0, 平均值: 0.00033737, 标准差: 0.0013108, 秩和检验: 6.247e-10
GSA:最差值: 550.6107, 最优值: 107.2335, 平均值: 256.449, 标准差: 109.0837, 秩和检验: 1.2118e-12
GWO:最差值: 6.4412e-18, 最优值: 4.2628e-26, 平均值: 2.5988e-19, 标准差: 1.1717e-18, 秩和检验: 1.2118e-12
HHO:最差值: 1.5056e-153, 最优值: 1.2166e-189, 平均值: 5.0185e-155, 标准差: 2.7488e-154, 秩和检验: 1.2118e-12
TLBO:最差值: 4.2094e-235, 最优值: 2.3088e-239, 平均值: 2.9163e-236, 标准差: 0, 秩和检验: 1.2118e-12
WOA:最差值: 31345.6497, 最优值: 93.0914, 平均值: 11833.1551, 标准差: 8066.9687, 秩和检验: 1.2118e-12
函数:F5
BWO:最差值: 1.9396e-253, 最优值: 1.2793e-261, 平均值: 1.2476e-254, 标准差: 0, 秩和检验: 1
PSO:最差值: 19.5402, 最优值: 4.7078, 平均值: 9.6069, 标准差: 3.1938, 秩和检验: 3.0199e-11
AOA:最差值: 0.044329, 最优值: 2.2557e-182, 平均值: 0.0087681, 标准差: 0.015974, 秩和检验: 3.0199e-11
GSA:最差值: 0.62272, 最优值: 2.2655e-09, 平均值: 0.020757, 标准差: 0.11369, 秩和检验: 3.0199e-11
GWO:最差值: 5.331e-17, 最优值: 4.8381e-19, 平均值: 1.1648e-17, 标准差: 1.4123e-17, 秩和检验: 3.0199e-11
HHO:最差值: 3.8924e-95, 最优值: 1.9819e-108, 平均值: 1.3605e-96, 标准差: 7.098e-96, 秩和检验: 3.0199e-11
TLBO:最差值: 2.7918e-112, 最优值: 1.5435e-115, 平均值: 1.6526e-113, 标准差: 5.0994e-113, 秩和检验: 3.0199e-11
WOA:最差值: 86.6138, 最优值: 0.0081821, 平均值: 26.7168, 标准差: 27.1796, 秩和检验: 3.0199e-11
函数:F6
BWO:最差值: 6.206e-14, 最优值: 3.6684e-19, 平均值: 3.7484e-15, 标准差: 1.2736e-14, 秩和检验: 1
PSO:最差值: 735.448, 最优值: 77.5689, 平均值: 352.8469, 标准差: 173.3463, 秩和检验: 3.0199e-11
AOA:最差值: 28.8842, 最优值: 27.2905, 平均值: 27.9859, 标准差: 0.44877, 秩和检验: 3.0199e-11
GSA:最差值: 163.9406, 最优值: 25.7558, 平均值: 36.6019, 标准差: 33.2075, 秩和检验: 3.0199e-11
GWO:最差值: 28.5291, 最优值: 25.0965, 平均值: 26.6803, 标准差: 0.76805, 秩和检验: 3.0199e-11
HHO:最差值: 0.0073894, 最优值: 3.2e-06, 平均值: 0.0012758, 标准差: 0.0019969, 秩和检验: 3.0199e-11
TLBO:最差值: 28.9443, 最优值: 28.8527, 平均值: 28.9022, 标准差: 0.026154, 秩和检验: 3.0199e-11
WOA:最差值: 27.0758, 最优值: 26.0243, 平均值: 26.5589, 标准差: 0.30841, 秩和检验: 3.0199e-11
函数:F7
BWO:最差值: 4.1828e-27, 最优值: 2.0954e-30, 平均值: 2.5583e-28, 标准差: 7.5215e-28, 秩和检验: 1
PSO:最差值: 19.3792, 最优值: 2.655, 平均值: 9.3548, 标准差: 4.7822, 秩和检验: 3.0199e-11
AOA:最差值: 2.9138, 最优值: 1.8356, 平均值: 2.4748, 标准差: 0.25303, 秩和检验: 3.0199e-11
GSA:最差值: 3.8873e-17, 最优值: 9.0711e-18, 平均值: 2.0446e-17, 标准差: 6.78e-18, 秩和检验: 3.0199e-11
GWO:最差值: 0.75858, 最优值: 9.435e-06, 平均值: 0.37809, 标准差: 0.27301, 秩和检验: 3.0199e-11
HHO:最差值: 5.0413e-05, 最优值: 9.5991e-08, 平均值: 1.0241e-05, 标准差: 1.2227e-05, 秩和检验: 3.0199e-11
TLBO:最差值: 6.7383, 最优值: 3.1803, 平均值: 5.1151, 标准差: 0.92889, 秩和检验: 3.0199e-11
WOA:最差值: 0.012066, 最优值: 0.0016714, 平均值: 0.0044716, 标准差: 0.0021948, 秩和检验: 3.0199e-11
函数:F13
BWO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
PSO:最差值: 67.4637, 最优值: 26.2061, 平均值: 44.7766, 标准差: 10.6501, 秩和检验: 1.2118e-12
AOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
GSA:最差值: 31.8387, 最优值: 7.9597, 平均值: 17.7766, 标准差: 5.7882, 秩和检验: 1.2088e-12
GWO:最差值: 6.2044, 最优值: 0, 平均值: 0.35312, 标准差: 1.3648, 秩和检验: 0.081523
HHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
TLBO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
WOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F14
BWO:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
PSO:最差值: 4.9853, 最优值: 2.4299, 平均值: 3.6859, 标准差: 0.67742, 秩和检验: 1.2118e-12
AOA:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
GSA:最差值: 4.5756e-09, 最优值: 2.5861e-09, 平均值: 3.6057e-09, 标准差: 5.1103e-10, 秩和检验: 1.2118e-12
GWO:最差值: 1.5099e-14, 最优值: 7.9936e-15, 平均值: 1.3323e-14, 标准差: 2.5973e-15, 秩和检验: 4.3542e-13
HHO:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
TLBO:最差值: 4.4409e-15, 最优值: 8.8818e-16, 平均值: 4.3225e-15, 标准差: 6.4863e-16, 秩和检验: 1.1651e-13
WOA:最差值: 7.9936e-15, 最优值: 8.8818e-16, 平均值: 4.204e-15, 标准差: 2.0723e-15, 秩和检验: 7.7452e-10
函数:F21
BWO:最差值: -1.0315, 最优值: -1.0316, 平均值: -1.0316, 标准差: 4.4466e-05, 秩和检验: 1
PSO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 6.7122e-16, 秩和检验: 1.7203e-12
AOA:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 6.2926e-08, 秩和检验: 3.0199e-11
GSA:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 5.6082e-16, 秩和检验: 1.4059e-11
GWO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 2.4521e-09, 秩和检验: 3.0199e-11
HHO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 1.4742e-12, 秩和检验: 2.9673e-11
TLBO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 6.7752e-16, 秩和检验: 1.2118e-12
WOA:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 1.4986e-11, 秩和检验: 3.0199e-11
函数:F22
BWO:最差值: -10.1532, 最优值: -10.1532, 平均值: -10.1532, 标准差: 7.743e-07, 秩和检验: 1
PSO:最差值: -2.6305, 最优值: -10.1532, 平均值: -6.7269, 标准差: 3.3781, 秩和检验: 0.6618
AOA:最差值: -2.0629, 最优值: -6.4671, 平均值: -3.7606, 标准差: 0.9115, 秩和检验: 3.0199e-11
GSA:最差值: -5.0552, 最优值: -5.0552, 平均值: -5.0552, 标准差: 9.0336e-16, 秩和检验: 1.2118e-12
GWO:最差值: -5.0552, 最优值: -10.1531, 平均值: -9.1363, 标准差: 2.0678, 秩和检验: 3.0199e-11
HHO:最差值: -5.0552, 最优值: -10.1531, 平均值: -5.395, 标准差: 1.2933, 秩和检验: 3.0199e-11
TLBO:最差值: -5.0552, 最优值: -10.1532, 平均值: -8.4539, 标准差: 2.4443, 秩和检验: 0.024923
WOA:最差值: -2.6305, 最优值: -10.1532, 平均值: -9.5618, 标准差: 1.839, 秩和检验: 3.0199e-11

实验结果表明:BWO算法可以提供良好的能力来平衡探索和开发阶段,以确保全局收敛,且在单峰和多峰函数方面表现良好,尤其是在可扩展性分析方面表现突出,并为复合函数提供了竞争力。

三、参考文献

[1] Changting Zhong, Gang Li, Zeng Meng. Beluga whale optimization: A novel nature-inspired metaheuristic algorithm[J]. Knowledge-Based Systems, 2022, 251: 109215.


http://www.niftyadmin.cn/n/2132486.html

相关文章

(Ajax)axios源码简析(一)——axios入口文件

传送门: axios源码简析(一)——axios入口文件axios源码简析(二)——Axios类与拦截器axios源码简析(三)——请求与取消请求axios简介 axios是时下最流行的http请求库,可以用于浏览器环…

基于引力搜索机制的花朵授粉算法

文章目录一、理论基础1、花朵授粉算法2、基于引力搜索策略的花朵授粉算法2.1 引力搜索算法2.2 引力机制的FPA2.3 算法的实现二、仿真实验与结果分析三、参考文献一、理论基础 1、花朵授粉算法 请参考这里。 2、基于引力搜索策略的花朵授粉算法 2.1 引力搜索算法 请参考这里…

融合振幅随机补偿与步长演变机制的改进原子搜索优化算法

文章目录一、理论基础1、原子搜索优化算法(ASO)2、改进的原子搜索优化算法(IASO)(1)初始原子种群的混沌优化(2)振幅函数随机参数优化(3)步长演变搜索机制(4)IASO算法的实现二、仿真实…

JAVA中String.format的用法 格式化字符串,格式化数字,日期时间格式化,

1.对整数进行格式化:%[index$][标识][最小宽度]转换方式 我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解,就是最终该整数转化的字符串最少包含多少位数…

采用混合搜索策略的阿奎拉优化算法

文章目录一、理论基础1、AO算法2、HAO算法(1)动态调整(2)混沌自适应权重(3)改进型差分变异策略(4)HAO算法流程二、仿真实验与结果分析三、参考文献一、理论基础 1、AO算法 请参考这…

说一说MVC的MenuCard(五)

1.数据库设计 1 2 create database BookShop3 go4 5 use bookshop6 go7 8 --模块表9 create table Module 10 ( 11 ModuleID int not null primary key identity(1,1), 12 ModuleName varchar(50) not null unique, 13 ModuleIcon varchar(20) not null defa…

基于战争策略优化算法的函数寻优算法

文章目录一、理论基础1、战争策略优化算法(1)攻击策略(2)排名(军衔)和权重更新(3)防御策略(4)弱势士兵的替换/重新安置2、WSO算法伪代码二、仿真实验与结果分析三、参考文献一、理论…

HTTP 缓存验证

缓存验证 坑:缓存验证的时机 在用户点击刷新按钮时浏览器会进行缓存验证被缓存的response头部包含"Cache-Control:must-revalidate"ETags 作为缓存的一种强校验器,ETag 响应头是一个对用户代理(User Agent, 下面简称UA)不透明(译者…