智能优化算法:基于减法平均的优化算法
文章目录
- 智能优化算法:基于减法平均的优化算法
- 1.基于减法平均优化算法
- 1.1 初始化
- 1.2 SABO的数学建模
- 2.实验结果
- 3.参考文献
- 4.Matlab
摘要:基于减法平均的优化算法(Subtraction-Average-Based Optimizer (SABO)),是于2023年提出的一种基于数学行为的优化算法,该算法通过使用个体的减法平均值来更新群体成员在搜索空间中的位置,具有寻优能力强,收敛速度快等特点。
1.基于减法平均优化算法
1.1 初始化
与其他优化算法类似,在寻优空间里随机初始化种群:
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]之间的随机数。
1.2 SABO的数学建模
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+ri∗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= \begin{cases}X_i^{n e w}, & F_i^{\text {new }}<F_i \\ X_i, & \text { else },\end{cases}\tag{6}
Xi={Xinew,Xi,Finew <Fi else ,(6)
算法流程图如下:
2.实验结果
3.参考文献
[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.