# An Improved Multi-Objective Grey Wolf Optimizer for Aerodynamic Optimization of Axial Cooling Fans
## 2 Improved Multi-Objective Grey Wolf Optimizer
### Associative Learning for Archive Update  
In MOGWO, the external archive stores non-dominated solutions from the population. This mechanism effectively preserves elite information in the early iterations. However, as iterations progress, the number of non-dominated solutions increases rapidly. Although the crowding distance deletion ensures solution quality to some extent, some optimal solutions may still be lost. Additionally, a large number of similar solutions in the later iterations may cause the population to fall into local optima. Therefore, the solution diversity needs to be enhanced by performing perturbation and mutation in the crowded parts of the archive. The associative learning is an update strategy that can improve the exploration performance of algorithms [30]. Therefore, this paper introduces associative learning to update some individuals in the archive, with the formula as follows:  
\[ \begin{split} X(t+1)=X(t)+0.001G(X(t)-lb,ub-X(t))+b_{0}S_{1}r_{1}( X_{r}(t)-X(t))\\ +b_{0}S_{2}r_{2}(X_{P}(t)-X(t))\end{split}  \tag{17}\] \begin{table}
\begin{tabular}{l} \% Calculate weight factor w and factor b (Equations (15) and (16)) \\ \%w = (wmax – wmin) * current_iteration/max_iterations + wmin \\ \%ob = (max_iterations – current_iteration + 1)/max_iterations \\ \(w=(w_{max}-w_{min})\frac{t}{T_{max}}+w_{min}\) \\ \(b=\frac{T_{max}-t+1}{T_{max}}\) \\ \% Generate random vector r3 and calculate \(\kappa\) \\ r3 = random_vector(1, num_variables) \\ \%\(\kappa=2\text{exp}(r3\text{ b})\sin(2\pi r3)\) \\ \(\kappa=2e^{r_{3}\frac{T-t+1}{t}}\sin(2\pi r_{3})\) \\ \% Select a random individual \\ random_selection = random_individual (population_size) \\ \% Update grey wolf position with Manta Ray Foraging (Equations (11)) \\ Grey Wolves[i].Position = \\ \(w\frac{X_{1}(t)+X_{2}(t)+X_{3}(t)}{3}+a_{0}(1-w)(r_{2}(X_{r}(t)-X(t))+a_{0} kr_{4}(X_{d}(t)-X(t)))\) \\ \% Boundary checking \\ Grey Wolves[i].Position = apply_bounds(Grey Wolves[i ].Position, lower_bound, upper_bound) \\ \% Calculate the cost of the new position \\ Grey Wolves[i].Cost = evaluate_cost(Grey Wolves[i ].Position) \\ \end{tabular}
\end{table} 
Table 2: The pseudo-code of grey wolf hunting that integrates Manta Ray Foraging. where \(r_{1}\) and \(r_{2}\) are random numbers between 0 and 1, \(X_{P}(t)\) is the current optimal solution (understood as the \(\alpha\) wolf), and \(X_{r}\) denotes a random leader from the preceding generation. \(b_{0}\) is a constant, and \(S_{1}\) and \(S_{2}\) are adaptive cognitive and social factors calculated as follows:  
\[S_{1}=(1-t/T_{max}) \tag{18}\]  
\[S_{2}=2(t/T_{max}) \tag{19}\]  
As iterations increase, the value of the adaptive cognitive parameter \(S_{1}\) increases to reduce the impact of the random leader on the search pattern of wolves. On the other hand, the value of \(S_{2}\) increases to enhance the impact of the leader wolf. The rule is designed to approach the optimal value by learning from other wolves and the leader simultaneously. The pseudo-code of associative learning for archive update is presented in Table 3.  
The flowchart in Figure 4 explains how the improved multi-objective grey wolf optimizer (IMOGWO) works for solving multi-objective optimization problems. It begins by initializing the population using Bloch coordinates of qubits and creating an archive of non-dominated solutions. Parameters (\(a\)), (\(A\)), and (\(C\)) are updated, followed by selecting \(\alpha\), \(\beta\), and \(\delta\) wolves using roulette wheel selection. The GWO update mechanism integrates the Manta Ray Foraging behavior to enhance exploration and exploitation. The algorithm then calculates fitness, performs boundary checking, and updates the archive with the associative learning method. This iterative process continues until the stopping criteria are met, ensuring diverse and optimal solutions.