# MAOA: A Swift and Effective Optimization Algorithm for Linear Antenna Array Design
## 3 MAOA Algorithm
### Computational Complexity Analysis of MAOA  
The computational complexity of the MAOA is analyzed using Big O notation to assess its scalability with respect to the population size \(N\), dimensionality \(D\), and maximum number of iterations \(\tau^{max}\). The proposed MAOA integrates three major innovations over the original AOA, i.e., a modified initialization strategy using chaotic maps and ROLM, a unique guidance mechanism for solution update, and an additional mutual learning phase. Each component is carefully examined below.  
The initialization phase of MAOA is divided into two stages, i.e., the first half of the population is generated using the circle chaotic map, and the second half is constructed via the ROLM. For each solution, the chaotic map requires \(Q\) internal iterations to compute chaotic variables before transforming them into positional values across \(D\) dimensions. Assuming \(Q\) is constant, the cost to initialize half the population is \(O(ND)\). Similarly, ROLM operates over all \(D\) dimensions for the second half of the population, also incurring \(O(ND)\). Thus, the total complexity for population initialization of MAOA is \(O(ND)\).  
The core iterative phase of MAOA consists of three nested operations, namely computing unique guidance, updating positions through exploration/exploitation arithmetic operators, and performing mutual learning. Each of these operations involves processing over all individuals and all dimensions.  
In the unique guidance phase, the MAOA first sorts the population by fitness, which has a cost of \(O(N\log N)\). Then, for each solution, it creates a ranked set \(\Psi_{n}\), randomly samples a guide from \(\Psi_{n}\), and updates position based on guidance rules. This involves \(O(ND)\) operations per iteration. Hence, the guidance phase per iteration is \(O(N\log N+ND)\). During the solution update phase using arithmetic operators, the new position of each solution is calculated across all \(D\) dimensions, incorporating guidance from the selected peer. The arithmetic update operations involve simple expressions (addition, subtraction, multiplication, and division), which result in \(O(ND)\) per iteration.  
The mutual learning phase allows each solution to independently update its dimensions by learning from a randomly selected peer solution. For each \(d\)-th dimension, the solution selects a random mutual, and the corresponding component is adopted based on Equation (24). This dimension-wise recombination is done for all \(N\) solutions, across all \(D\) dimensions, resulting in another \(O(ND)\) complexity per iteration.  
Finally, after the new and original populations are merged, MAOA performs a sorting step on the merged population of size \(2N\), requiring \(O(N\log N)\) times. The top \(N\) individuals are then selected for the next generation in constant time relative to sorting. Summarizing the total time complexity per iteration incurred by the sorting, guidance, position updates, and mutual learning, the total per-iteration complexity of MAOA becomes \(O(N\log N+ND)\). Considering the algorithm runs for \(\tau^{max}\) iterations, the overall computational complexity of MAOA becomes \(O(\tau^{max}(N\log N+ND))\).  
This expression shows that MAOA scales linearly with the number of dimensions \(D\) and the number of iterations \(\tau^{max}\), and near-linearly with the population size \(N\), aside from the \(\log N\) term introduced by sorting. Notably, despite introducing multiple learning mechanisms, the algorithm avoids excessive overhead by keeping update operations lightweight and avoiding extra nested loops or parameter tuning routines. This makes MAOA computationally competitive and suitable for large-scale or high-dimensional optimization tasks.