算术优化算法(Arithmetic Optimization Algorithm,AOA)
一、算法灵感
算术优化算法(Arithmetic Optimization Algorithm, AOA)是由学者 Laith Abualigah 等人于2021年提出的一种新型元启发式优化算法,其灵感来源于算术中的四则混合运算。算法通过数学函数加速器选择优化策略,将整个过程分为探索和开发,即利用乘除运算进行全局探索,利用加减运算进行局部开发。
二、算法介绍
2. 1 初始化
首先,AOA会生成一个均匀分布的随机种群。初始种群可由以下公式求得
X ( i , j ) = R a n d × ( U b − L b ) + L b (1) X\left( {i,j} \right) = Rand \times \left( {Ub - Lb} \right) + Lb \tag{1} X(i,j)=Rand×(Ub−Lb)+Lb(1)其中, U b Ub Ub 为上界, L b Lb Lb 为下界, R a n d Rand Rand 为 [ 0 , 1 ] [0,1] [0,1] 之间的随机数, X ( i , j ) X(i,j) X(i,j) 是第 i i i 个解在第 j j j 维空间的位置。
2. 2 数学函数加速器MOA
根据MOA的值判断进行全局探索还是局部开发:
M O A ( t ) = M i n + t × ( M a x − M i n ) T (2) MOA\left( t \right) = Min + t \times {
{\left( {Max - Min} \right)} \over T} \tag{2} MOA(t)=Min+t×T(Max−Min)(2)其中, r 1 r_{1} r1 为 [ 0 , 1 ] [0,1] [0,1] 之间的随机数, M O A ( t ) MOA(t) MOA(t) 为当前的加速函数值, M i n Min Min 为加速函数的最小值, M a x Max Max 为加速函数最大值, T T T 为最大迭代次数, t t t 为当前迭代次数;当 r 1 < M O A ( t ) r_{1}<MOA(t) r1<MOA(t) 时,函数将进入全局探索阶段,反之则进入局部开发阶段。
2. 3 探索阶段
根据随机数 r 2 r_{2} r2 决定采用乘法或除法策略,两种策略离散度高,有利于粒子在算法空间内探索,计算公式如下:
X ( t + 1 ) = { X b ( t ) ÷ ( M O P + ε ) × ( ( U b − L b ) × μ + L b ) , r 2 < 0.5 , X b ( t ) × M O P × ( ( U b − L b ) × μ + L b ) , o t h e r w i s e . (3) {X_{\left( {t + 1} \right)}} = \left\{ {
{ \begin{aligned} & {
{X_b}\left( t \right) \div \left( {MOP + \varepsilon } \right) \times \left( {\left( {Ub - Lb} \right) \times \mu + Lb} \right)\ \ ,} {
{r_2} < 0.5,} \cr &{
{X_b}\left( t \right) \times MOP \times \left( {\left( {Ub - Lb} \right) \times \mu + Lb} \right)\quad\quad\quad,} {otherwise.} \cr \end{aligned} } } \right. \tag{3} X(t+1)={
Xb(t)÷(MOP+ε)×((Ub−Lb)×μ+Lb) ,r2<0.5,Xb(t)×MOP×((Ub−Lb)×μ+Lb),otherwise.(3)其中, r 2 r_{2} r2 为 [ 0 , 1 ] [0,1] [0,1] 的随机数, X ( t + 1 ) X(t+1) X(t+1) 为下一代粒子的位置, X b ( t ) X_{b}(t) Xb(t) 为当前适应度最佳粒子的位置, μ μ μ 为搜索过程控制系数(值为0.499), ε ε ε 为极小值, M O P MOP MOP 为数学优化器概率,其计算公式如下:
M O P ( t ) = 1 − ( t T ) 1 α (4) MOP\left( t \right) = 1 - {\left( {
{t \over T}} \right)^{1 \over \alpha} } \tag{4} MOP(t)=1−(Tt)α1(4)式中, M O P ( t ) MOP(t) MOP(t) 为当前数学优化器概率, α α α 为迭代敏感系数, α α α 值越高迭代次数对 M O P ( t ) MOP(t) MOP(t) 影响越大。
2. 4 开发阶段
算术优化算法通过加法策略和减法策略进行局部开发,两种策略均具有显著的低分散性,可以容易地接近目标,有利于算法更快寻找最优解。其计算公式如下:
X ( t + 1 ) = { X b ( t ) − M O P × ( ( U b − L b ) × μ + L b ) , r 3 < 0.5 , X b ( t ) + M O P × ( ( U b − L b ) × μ + L b ) , o t h e r w i s e . (5) {X_{\left( {t + 1} \right)}} = \left\{ {\begin{aligned} {
{X_b}\left( t \right) - MOP \times \left( {\left( {Ub - Lb} \right) \times \mu + Lb} \right),} & {
{r_3} < 0.5,} \cr {
{X_b}\left( t \right) + MOP \times \left( {\left( {Ub - Lb} \right) \times \mu + Lb} \right),} & {otherwise.} \cr \end{aligned} } \right. \tag{5} X(t+1)={
Xb(t)−MOP×((Ub−Lb)×μ+Lb),Xb(t)+MOP×((Ub−Lb)×μ+Lb),r3<0.5,otherwise.(5)其中, r 3 r_{3} r3 为 0 0 0 到 1 1 1 之间的随机数。
2. 5 算法伪代码
- 初始化算术优化算法参数 α α α, µ µ µ
- 随机初始化解决方案的位置 X i ( i = 1 , 2 , . . . , N ) X_{i}(i=1, 2, ..., N) Xi(i=1,2,...,N)
- While t < T t < T t<T do
- 计算每个解的适应度值
- 找到适应度值最小的解(最佳解)
- 利用公式(2)更新 M O A MOA MOA 值
- 利用公式(4)更新 M O P MOP MOP 值。
- For i = 1 i=1 i=1 to N N N do
- For j = 1 j=1 j=1 to D i m Dim Dim do
- 生成 [ 0 , 1 ] [0,1] [0,1] 之间的随机值( r 1 r_{1} r1, r 2 r_{2} r2 和 r 3 r_{3} r3)
- If r 1 > M O A r_{1}>MOA r1>MOA then
- If r 2 < 0.5 r_{2}<0.5 r2<0.5 then
- 使用等式(3)中的第一条公式应用除法运算符更新第 i i i 个解的位置
- Else
- 使用等式(3)中的第二条公式应用乘法运算符更新第 i i i 个解的位置
- End If
- Else
- If r 3 < 0.5 r_{3}<0.5 r3<0.5 then
- 使用等式(5)中的第一条公式应用减法运算符更新第 i i i 个解的位置
- Else
- 使用等式(5)中的第二条公式应用加法运算符更新第 i i i 个解的位置
- End If
- End If
- End For
- End For
- t = t + 1 t = t + 1 t=t+1
- End While
- 返回最优解
三、实验结果
AOA在23个经典测试函数(设置维度 d i m = 30 dim=30 dim=30)的F4、F6、F8中的收敛曲线,测试函数公式如下:
函数 | 公式 | 理论值 |
---|---|---|
F4 | F 4 ( x ) = max { ∣ x i ∣ , 1 ≤ i ≤ d } {F_4}(x) = \max \{ \left| { {x_i}} \right|,1 \le i \le d\} F4(x)=max{ ∣xi∣,1≤i≤d} | 0.00 0.00 0.00 |
F6 | F 6 ( x ) = ∑ i = 1 n ( x i + 5 ) 2 {F_6}(x) = {\sum\nolimits_{i = 1}^n {({x_i} + 5)} ^2} F6(x)=∑i=1n(xi+5)2 | 0.00 0.00 0.00 |
F8 | F 8 ( x ) = ∑ i = 1 d − x i sin ( ∣ x i ∣ ) {F_8}(x) = \sum\nolimits_{i = 1}^d { - {x_i}\sin (\sqrt {|{x_i}|} )} F8(x)=∑i=1d−xisin(∣xi∣) | − 418.9829 × d i m -418.9829×dim −418.9829×dim |