赞
踩
与其他优化算法类似,在寻优空间里随机初始化种群:
x
i
,
j
=
l
b
j
+
r
⋅
(
u
b
j
−
l
b
j
)
(2)
x_{i, j}=l b_j+r \cdot\left(u b_j-l b_j\right) \tag{2}
xi,j=lbj+r⋅(ubj−lbj)(2)
其中
x
i
,
j
x_{i,j}
xi,j为个体,
l
b
j
lb_j
lbj为寻优下边界,
u
b
j
ub_j
ubj为寻优上边界,
r
r
r为[0,1]之间的随机数。
SABO设计的基本灵感来自数学概念,如平均值、搜索代理位置的差异以及目标函数的两个值的差异符号。使用所有搜索代理的算术平均位置(即第t次迭代的总体成员),而不是仅仅使用例如最佳或最差搜索代理的位置来更新所有搜索代理(即第(t+1)次迭代的所有总体成员的构造)的位置,这不是新的想法,但是SABO的算术平均值的计算概念是完全唯一的,因为它是基于一个特殊的操作“-v”,称为搜索代理B从搜索代理A的v减法,其定义如下:
A
−
v
B
=
sign
(
F
(
A
)
−
F
(
B
)
)
(
A
−
v
⃗
∗
B
)
,
(4)
A-v B=\operatorname{sign}(F(A)-F(B))(A-\vec{v} * B),\tag{4}
A−vB=sign(F(A)−F(B))(A−v
∗B),(4)
其中v是一组从集合{1,2}中随机产生数据的向量。F(A)和F(B)是个体A和B的适应度值。
在所提出的SABO中,任何搜索代理Xi在搜索空间中的位移都是通过每个搜索代理Xj的v减法的算术平均值来计算的,j=1,2,N、 来自搜索代理Xi。因此,使用(5)来计算每个搜索代理的新位置。
X
i
n
e
w
=
X
i
+
r
⃗
i
∗
1
N
∑
j
=
1
N
(
X
i
−
v
X
j
)
,
i
=
1
,
2
,
…
,
N
(5)
X_i^{n e w}=X_i+\vec{r}_i * \frac{1}{N} \sum_{j=1}^N\left(X_i-v X_j\right), i=1,2, \ldots, N\tag{5}
Xinew=Xi+r
i∗N1j=1∑N(Xi−vXj),i=1,2,…,N(5)
其中r 为[0,1]之间的随机数, N为个体总数。
X
n
e
w
X^{new}
Xnew为更新后新位置, 如果更新后的位置更优则替换原来的位置,否则保持原状:
X
i
=
{
X
i
n
e
w
,
F
i
new
<
F
i
X
i
,
else
,
(6)
X_i=
算法流程图如下:
[1] Trojovský, P.; Dehghani, M. Subtraction-Average-Based Optimizer: A New Swarm-Inspired Metaheuristic Algorithm for Solving Optimization Problems. Biomimetics 2023, 8, 149. https://doi.org/10.3390/biomimetics8020149.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。