智能优化算法:黑翅鸢优化算法
BKA 是 2024 年 3 月由王文川等提出的一种新元启发式算法,其主要思想是模拟黑翅鸢迁徙和捕食行为。算法过程主要包括 3 个阶段:初始化种群、攻击和迁徙阶段。
1.算法原理
1.1 初始化种群阶段
- 初始化种群位置,每只黑翅鸢的位置如式(1)所示。
X = [ X 1 , 1 X 1 , 2 X 1 , 3 ⋯ ⋯ X 1 , n X 2 , 1 X 2 , 2 X 2 , 3 ⋯ ⋯ X 2 , n ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ X i , j ⋮ ⋮ X m − 1 , 1 X m − 1 , 2 ⋯ ⋯ ⋱ X m − 1 , n X m , 1 X m , 2 ⋯ ⋯ X m , n − 1 X m , n ] (1) \boldsymbol{X} = \begin{bmatrix} X_{1,1} & X_{1,2} & X_{1,3} & \cdots & \cdots & X_{1,n} \\ X_{2,1} & X_{2,2} & X_{2,3} & \cdots & \cdots & X_{2,n} \\ \vdots & \vdots & \ddots & \vdots & \vdots & \vdots \\ \vdots & \vdots & \vdots & X_{i,j} & \vdots & \vdots \\ X_{m-1,1} & X_{m-1,2} & \cdots & \cdots & \ddots & X_{m-1,n} \\ X_{m,1} & X_{m,2} & \cdots & \cdots & X_{m,n-1} & X_{m,n} \end{bmatrix} \tag{1} X= X1,1X2,1⋮⋮Xm−1,1Xm,1X1,2X2,2⋮⋮Xm−1,2Xm,2X1,3X2,3⋱⋮⋯⋯⋯⋯⋮Xi,j⋯⋯⋯⋯⋮⋮⋱Xm,n−1X1,nX2,n⋮⋮Xm−1,nXm,n (1)
式中: X \boldsymbol{X} X——初始黑翅鸢种群的位置; m m m——潜在解决方案的数量; n n n——维度; X i , j X_{i,j} Xi,j——第 i i i 只黑翅鸢的第 j j j 维度,其中 i = 1 , 2 , … , m i=1,2,\dots,m i=1,2,…,m; j = 1 , 2 , … , n j=1,2,\dots,n j=1,2,…,n。
- 均匀分配每一只黑翅鸢的初始位置。
Y Q = Y min + rand ⋅ ( Y max − Y min ) (2) Y_Q = Y_{\min} + \text{rand} \cdot (Y_{\max} - Y_{\min}) \tag{2} YQ=Ymin+rand⋅(Ymax−Ymin)(2)
式中: Q Q Q——介于 1 1 1 和 m m m 之间的整数; Y min Y_{\min} Ymin——第 j j j 维中第 i i i 只黑翅鸢的下界; Y max Y_{\max} Ymax——第 j j j 维中第 i i i 只黑翅鸢的上界。
- 在初始化过程中,选择最优适应度值的个体作为初始种群中的领导者 X L X_L XL,这是黑翅鸢的最佳位置,其数学模型为:
{ f best = min ( f ( X k ) ) X L = X ( find ( f best = f ( X k ) ) ) (3) \begin{cases} f_{\text{best}} = \min(f(X_k)) \\ X_L = X(\text{find}(f_{\text{best}} = f(X_k))) \end{cases} \tag{3} {fbest=min(f(Xk))XL=X(find(fbest=f(Xk)))(3)
式中: f best f_{\text{best}} fbest——最佳适应度; X k X_k Xk——第 k k k 只黑翅鸢; find \text{find} find——判断函数。
1.2 攻击行为阶段
黑翅鸢攻击行为的数学模型可表示为:
n = 0.05 × e − 2 × ( t T ) 2 (4) n = 0.05 \times \mathrm{e}^{-2 \times \left( \frac{t}{T} \right)^2} \tag{4} n=0.05×e−2×(Tt)2(4)
y t + 1 i j = { y t i j + n ( 1 + sin r ) × y t i j , 0.9 < r y t i j + n ( 2 r − 1 ) × y t i j , 其他 (5) y_{t+1}^{ij} = \begin{cases} y_t^{ij} + n(1 + \sin r) \times y_t^{ij}, & 0.9 < r \\ y_t^{ij} + n(2r - 1) \times y_t^{ij}, & \text{其他} \end{cases} \tag{5} yt+1ij={ytij+n(1+sinr)×ytij,ytij+n(2r−1)×ytij,0.9<r其他(5)
式中: t t t——到目前为止已完成的迭代次数; T T T——迭代总数; y t + 1 i j y_{t+1}^{ij} yt+1ij——第 ( t + 1 ) (t+1) (t+1) 迭代步骤中第 i i i 只黑翅鸢在第 j j j 维度中的位置。
1.3 迁徙行为阶段
黑翅鸢算法引入鸟类迁徙机制,若当前种群适应度劣于随机种群,领航个体将主动放弃领导权并融入迁徙群体,反映出该个体不再具备引领种群进化的能力;反之,若当前种群表现出更优的适应度,则继续执行导航职能直至种群抵达目标区域。该迁徙行为的数学模型为:
m = 2 × sin ( r + π 2 ) (6) m = 2 \times \sin\left(r + \frac{\pi}{2}\right) \tag{6} m=2×sin(r+2π)(6)
y t + 1 i j = { y t i j + C ( 0 , 1 ) × ( y t i j − L t j ) , F i < F r i y t i j + C ( 0 , 1 ) × ( L t j − m × y t i j ) , 其他 (7) y_{t+1}^{ij} = \begin{cases} y_t^{ij} + C(0,1) \times \left(y_t^{ij} - L_t^j\right), & F_i < F_{ri} \\ y_t^{ij} + C(0,1) \times \left(L_t^j - m \times y_t^{ij}\right), & \text{其他} \end{cases} \tag{7} yt+1ij=⎩ ⎨ ⎧ytij+C(0,1)×(ytij−Ltj),ytij+C(0,1)×(Ltj−m×ytij),Fi<Fri其他(7)
式中: C ( 0 , 1 ) C(0,1) C(0,1)——柯西变异算子,其数学模型如式(8)、式(9)所示; L t j L_t^j Ltj——在第 t t t 次迭代时第 j j j 维度中黑翅鸢的领导者; F i F_i Fi——当前迭代中黑翅鸢个体在第 j j j 维的位置; F r i F_{ri} Fri——随机选取的黑翅鸢个体在第 j j j 维位置的适应度值。
2.算法结果Matlab&Python

3.参考文献
【1】 Wang J, Wang W C, Hu X X, et al. Black-winged kite algorithm: a nature-inspired meta-heuristic for solving benchmark functions and engineering problems[J]. Artificial Intelligence Review, 2024, 57(4): 98.


被折叠的 条评论
为什么被折叠?



