Arithmetic Optimization Algorithm (AOA)

1. Algorithm inspiration

  Arithmetic Optimization Algorithm (AOA) is a new meta-heuristic optimization algorithm proposed by scholar Laith Abualigah and others in 2021. It is inspired by the four mixed operations in arithmetic. The algorithm selects an optimization strategy through a mathematical function accelerator and divides the entire process into exploration and development, that is, using multiplication and division operations for global exploration and addition and subtraction operations for local development.

2. Algorithm introduction

2. 1 Initialization

  First, AOA generates a uniformly distributed random population. The initial population can be obtained by the following formula:
X ( i , j ) = R and × ( U b − L b ) + L b (1) Ub - Lb} \right) + Lb \tag{1}X(i,j)=Rand×(UbLb)+Lb( 1 ) Among them,U b UbU b is the upper bound,L b LbL b is the lower bound,R and RandR an d is[ 0 , 1 ] [0,1][0,1 ] random number,X (i, j) X(i, j)X ( i , j ) is thesecondThe i solution is at thejjthposition in j- dimensional space.

2. 2 Math Function Accelerator MOA

  Determine whether to perform global exploration or local development based on the value of MOA:
MOA ( t ) = M in + t × ( M ax − M in ) T (2) MOA\left( t \right) = Min + t \times { { \ left( {Max - Min} \right)} \over T} \tag{2}MOA(t)=Min+t×T(MaxMin)( 2 ) Among them,r 1 r_{1}r1is [ 0 , 1 ] [0,1][0,1 ] ,MOA (t) MOA(t)MO A ( t ) is the current acceleration function value,M in MinM in is the minimum value of the acceleration function,M ax MaxM a x is the maximum value of the acceleration function,TTT is the maximum number of iterations,ttt is the current number of iterations; whenr 1 < MOA ( t ) r_{1}<MOA(t)r1<When MO A ( t ) , the function will enter the global exploration stage, otherwise it will enter the local development stage.

2.3 Exploration stage

  According to the random number r 2 r_{2}r2Decide to adopt the multiplication or division strategy. The two strategies have high discreteness and are conducive to the exploration of particles in the algorithm space. The calculation formula is as follows:
X (t + 1) = { X b (t) ÷ (MOP + ε) × ( ( U b − L b ) × μ + L b ) , r 2 < 0.5 , X b ( t ) × MOP × ( ( U b − L b ) × μ + L b ) , otherwise. (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+e )×((UbLb)×m+Lb)  ,r2<0.5,Xb(t)×MOP×((UbLb)×m+Lb),otherwise.( 3 ) Among them,r 2 r_{2}r2is [ 0 , 1 ] [0,1][0,1 ] random number,X ( t + 1 ) X(t+1)X(t+1 ) is the position of the next generation particle,X b (t) X_{b}(t)Xb( t ) is the position of the current particle with the best fitness,μ μμ is the search process control coefficient (value is 0.499),ε εε is a minimum value,MOP MOPMOP is the mathematical optimizer probability, and its calculation formula is as follows:
MOP ( 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)a1( 4 ) In the formula,MOP (t) MOP(t)MOP ( t ) is the current mathematical optimizer probability,α αα is the iteration sensitivity coefficient,α αThe higher the value of α , the greater the number of iterations forMOP (t) MOP(t)The greater the impact of MOP ( t ) .

2. 4 Development Phase

  The arithmetic optimization algorithm is locally developed through addition strategies and subtraction strategies. Both strategies have significant low dispersion and can easily approach the target, which is beneficial to the algorithm to find the optimal solution faster. The calculation formula is as follows:
X ( t + 1 ) = { X b ( t ) − MOP × ( ( U b − L b ) × μ + L b ) , r 3 < 0.5 , ( U b − L b ) × μ + L b ) , otherwise . (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×((UbLb)×m+Lb),Xb(t)+MOP×((UbLb)×m+Lb),r3<0.5,otherwise.( 5 ) Among them,r 3 r_{3}r3is 0 00 to1 1A random number between 1 .

2.5 Algorithm pseudocode

  1. Initialize arithmetic optimization algorithm parameters α αa ,m mm
  2. Randomly initialize the solution positions X i ( i = 1 , 2 , . . . , N ) X_{i}(i=1, 2, ..., N)Xi(i=1,2,...,N)
  3. While t < T t < T t<T do
  4.   Calculate the fitness value of each solution
  5.   Find the solution with the smallest fitness value (the best solution)
  6.   Use formula (2) to update MOA MOAMO A value
  7.   Use formula (4) to update MOP MOPMOP value.
  8.   For i = 1 i=1 i=1 to NNN do
  9.     For j = 1 j=1 j=1 to D i m Dim Thank you _
  10.       generate [0,1][0,1]Random value between [ 0 , 1 ] ( r 1 r_{1}r1 r 2 r_{2} r2and r 3 r_{3}r3)
  11.       If r 1 > M O A r_{1}>MOA r1>MOA then
  12.         If r 2 < 0.5 r_{2}<0.5 r2<0.5 then
  13.           Apply the division operator using the first formula in equation (3) to update the iiThe position of i solution
  14.         Else
  15.           Apply the multiplication operator using the second formula in equation (3) to update the iiThe position of i solution
  16.         End If
  17.       Else
  18.         If r 3 < 0.5 r_{3}<0.5 r3<0.5 then
  19.           Apply the subtraction operator using the first formula in equation (5) to update the iiThe position of i solution
  20.         Else
  21.           Apply the addition operator using the second formula in equation (5) to update the iiThe position of i solution
  22.         End If
  23.       End If
  24.     End For
  25.   End For
  26.    t = t + 1 t = t + 1 t=t+1
  27. End While
  28. Return optimal solution

3. Experimental results

AOA in 23 classic test functions (set dimension dim = 30 dim=30dim=30 ) The convergence curves in F4, F6, and F8, the test function formula is as follows:

function official Theoretical value
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,1id} 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.000.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=1dxisin(xi ) − 418.9829 × d i m -418.9829×dim 418.9829×dim

3. 1 F4 convergence curve

\end{aligned}

3. 2 F6 convergence curve

Insert image description here

3. 3 F8 convergence curve

Insert image description here

4. References

[1] Abualigah L, Diabat A, Mirjalili S, et al. The Arithmetic Optimization Algorithm[J]. Computer Methods in Applied Mechanics and Engineering, 2021, 376, 113609.

Guess you like

Origin blog.csdn.net/jiaheming1983/article/details/129345893
Recommended