智能优化算法:算术优化算法-附代码
摘要:AOA 算法是在 2021 年由 Abualigah 等人提出的基于四则混合运算思想设计的元启发式优化算法,该算法利用数学中的乘除运算提高位置更新的全局分散性,利用加减运算提高位置更新在局部区域的精确性。具有收敛速度快,精度高等特点。
1.算法原理
算术优化算法根据算术操作符的分布特性来实现全局寻优,是一种元启发式优化算法。算法分为三部分,通过数学优化器加速函数选择优化策略,乘法策略与除法策略迚行全局搜索,提高解的分散性,增强算法的全局寻优与克服早熟收敛能力,实现全局探索寻优。开发阶段利用加法策略与减法策略降低解的分散性,有利于种群在局部范围内充分开发,加强算法的局部寻优能力。
1.1 数学优化器加速函数
AOA 通过数学优化器加速函数(Math Opti-mizer Accelerated, MOA)选择搜索阶段,当
r
1
>
M
O
A
r_1 >MOA
r1>MOA 时,AOA 进行全局探索,当
r
1
<
M
O
A
r_1<MOA
r1<MOA 时,AOA 进入局部开发阶段。
M
O
A
(
t
)
=
M
i
n
+
t
M
a
x
−
M
i
n
T
(1)
MOA(t)=Min+t\frac{Max-Min}{T}\tag{1}
MOA(t)=Min+tTMax−Min(1)
其中,
r
1
r_1
r1 代表 0 到 1 之间的随机数,
M
i
n
Min
Min 与
M
a
x
Max
Max分别是加速函数的最小值和最大值,为 0.2 和 1。
1.2 探索阶段
AOA 通过乘法运算与除法运算实现全局搜索,当
r
2
<
0.5
r_2 < 0.5
r2<0.5 时,执行除法搜索策略,当
r
2
>
0.5
r_2 > 0.5
r2>0.5时,执行乘法搜索策略,其位置更新公式如下:
X
(
t
+
1
)
=
{
X
b
(
t
)
/
(
M
O
P
+
ξ
)
∗
(
(
(
U
B
−
L
B
)
∗
u
+
L
B
)
)
,
r
2
<
0.5
X
b
(
t
)
∗
M
O
P
∗
(
(
U
B
−
L
B
)
∗
u
+
L
B
)
,
e
l
s
e
(2)
X(t+1)=\begin{cases} X_b(t)/(MOP + \xi)*(((UB-LB)*u+LB)),r_2<0.5\\ X_b(t)*MOP*((UB-LB)*u+LB),else \end{cases} \tag{2}
X(t+1)={Xb(t)/(MOP+ξ)∗(((UB−LB)∗u+LB)),r2<0.5Xb(t)∗MOP∗((UB−LB)∗u+LB),else(2)
其中,
r
2
∈
[
0
,
1
]
r_2∈[0,1]
r2∈[0,1], u 是调整搜索过程的控制参数,值为 0.499,
ξ
\xi
ξ为极小值数学优化器概率(MathOptimizer Probability, MOP)计算公式如下:
M
O
P
(
t
+
1
)
=
1
−
t
1
/
α
/
T
1
/
α
(3)
MOP(t+1)=1-t^{1/\alpha}/T^{1/\alpha}\tag{3}
MOP(t+1)=1−t1/α/T1/α(3)
α
\alpha
α 是敏感参数,定义了迭代过程中的局部开发精度,取值为5。
1.3 开发阶段
AOA 利用加法运算与减法运算实现局部开发,位置更新公式如下:
X
(
t
+
1
)
=
{
X
b
(
t
)
−
M
O
P
∗
(
(
U
B
−
L
B
)
∗
u
+
L
B
)
,
r
3
<
0.5
X
b
(
t
)
+
M
O
P
∗
(
(
U
B
−
L
B
)
∗
u
+
L
B
)
,
e
l
s
e
X(t+1)=\begin{cases} X_b(t)-MOP*((UB-LB)*u+LB),r_3<0.5\\ X_b(t)+MOP*((UB-LB)*u+LB),else \end{cases}
X(t+1)={Xb(t)−MOP∗((UB−LB)∗u+LB),r3<0.5Xb(t)+MOP∗((UB−LB)∗u+LB),else
其中,
r
3
r_3
r3 为 0 到1之间的随机数。
算法步骤
step1.初始化算法相关参数和种群;
step2.计算适应度值,并记录最优位置。
step3.计算MOA,并根据其值,进行探索阶段或者开发阶段。并更新位置
step4.计算适应度值,并记录最优位置。
step5.判断是否满足结束条件,如果满足则输出最优解,否则重复步骤step3-step4.
2.算法结果
3.参考文献
[1]贾鹤鸣,刘宇翔,刘庆鑫,王爽,郑荣.融合随机反向学习的黏菌与算术混合优化算法[J/OL].计算机科学与探索:1-12[2021-08-18].http://kns.cnki.net/kcms/detail/11.5602.TP.20210714.1817.006.html.
[1]Abualigah Laith,Diabat Ali,Mirjalili Seyedali,Abd Elaziz Mohamed,Gandomi Amir H… The Arithmetic Optimization Algorithm[J]. Computer Methods in Applied Mechanics and Engineering,2021,376: