## 3 Methodology
### Grey Wolf Optimization
#### 3.2.2 Improved Grey Wolf Optimization  
Since the method used by the gray wolf algorithm to initialize the gray wolf population is an ordinary random number generator, these generators may have the problems of short period and poor randomness, resulting in the generation of the initial population of low quality and may also lead to the initial population may not be able to cover the entire search space well, thus affecting the global search capability of the algorithm. In order to solve this problem, we proposed Mersenne Twister-based Grey Wolf Optimization on the basis of the Grey Wolf Optimization algorithm, which uses Mersenne Twister to generate random numbers with long period and good randomness to improve the diversity and coverage of the initial populations, and effectively solves the problem of Grey Wolf Optimization.  
The Mersenne Twister algorithm is used to initialize the grey wolf population in the GWO algorithm. This initialization step is crucial, as it generates a set of initial solutions for the population, which serves as the starting point for the optimization process. By employing the Mersenne Twister, we ensure that the initial solutions are distributed uniformly and randomly, which enhances the diversity of the population. A diverse population allows the algorithm to explore the solution space more effectively, thereby improving its overall performance and convergence speed.  
The pseudo-code for the algorithm begins by initializing the grey wolf population \(X_{i}=(where\ i=1,2,\ldots,n)\) using the Mersenne Twister. Additionally, the parametersA C are initialized to control the search process. The fitness of each search agent is then calculated, identifying the positions of the best, second-best, and third-best search agents, denoted as \(X_{\alpha}\), \(X_{\beta}\) and, \(X_{\delta}\), respectively.  
The algorithm then enters a loop that continues until the maximum number of iterations is reached. In each iteration, the positions of all search agents are updated based on their current position and their proximity to the best positions found so far. The parameters \(\alpha\), \(A\) and \(C\) are updated, and the fitness of all agents is recalculated. The positions of the best agents \(X_{\alpha}\), \(X_{\beta}\) and \(X_{\delta}\) are updated accordingly. The loop continues until the stopping criterion, defined by the maximum number of iterations, is satisfied.  
Finally, the best solution, represented by \(X_{\alpha}\), is returned as the optimal solution found by the algorithm. This process allows the GWO algorithm to balance exploration and exploitation, effectively converging toward an optimal solution. The pseudo-code for the Algorithm 1 is as follows:  
```
The pseudo-code of the algorithm is as follows Initialize the grey wolf population \(X_{i}\) (\(i\) = 1, 2, \(\ldots\), \(n\)) with Mersenne Twister Initialize \(\alpha\), \(A\), and \(C\) Calculate the fitness of each search agent \(X_{\alpha}\) = the best search agent \(X_{\beta}\) = the second best search agent \(X_{\delta}\) = the third best search agent  While (\(t\) < Max number of iterations)  for each search agent  Update the position of the current search  end for  Update \(a\), \(A\), and \(C\)  Calculate the fitness of all search agents  Update \(X_{\alpha}\), \(X_{\beta}\), \(X_{\delta}\) \(t\) = \(t+1\) end while  return \(X_{\alpha}\)
```  
**Algorithm 1**The Pseudo-Code of the IGWO Algorithm  
The overall workflow of the IGWO algorithm is illustrated in Figure 2.