## 3 Methodology
### PSO Search  
The procedure for PSO is detailed in Algorithm 4. The PSO method is employed to update the population \(P\). Before updating the solutions' position information, it is crucial to determine _pbest_ and _gbest_. In multi-objective optimization problems, solutions cannot be directly compared using a single objective value; however, Pareto dominance can be utilized. In contrast, for many-objective optimization problems, most solutions are non-dominated, which complicates the selection of suitable solutions (_pbest_ and _gbest_) for updating the population. Therefore, _pbest_ and _gbest_ are chosen based on the particle angle size. Similar to conventional PSO, this process includes selecting _pbest_ and _gbest_ and updating the velocity and position (lines 2-3 of Algorithm 4). The specific steps are as follows:  
Choosing _pbest_ and _gbest_: \(A\) penalty factor \(\theta_{i}\) balances population diversity and convergence when choosing _pbest_ and _gbest_. \(A\) higher \(\theta_{i}\) encourages diversity, while a lower \(\theta_{i}\) favors convergence. The equation for calculating \(\theta_{i}\) is given in Equation (20):  
\[\theta_{i}=k\times\angle(p_{i},\lambda_{i})\in 1,2,\ldots,N \tag{20}\]  
Figure 5: The minimum angle selection diagram. \(k\) represents a scaling parameter, and \(\angle(p_{i},\lambda_{i})\) denotes the vector angle between \(p_{i}\) and \(\lambda_{i}\), with \(N\) as the population size. This vector angle is normalized to range between \(0^{\circ}\) and \(90^{\circ}\). ```
Input: Population \(P\), external repository \(A\), population size \(N\) Output: new population \(P\)
1. for\(I=1\) to \(N\)do
2. Select \(\mathit{pbest}_{i}\) and \(\mathit{gbest}_{i}\) based on the vector angle in \(A\)
3. Update the velocity \(v\) and position \(x\)
4. endfor
5. Return \(P\)
```  
**Algorithm 4** PSO Algorithm  
Figure 6 illustrates the selection of _pbest_. The red lines represent the reference vectors \(\lambda_{1}\) and \(\lambda_{2}\). \(A\) smaller vector angle between \(p_{1}\) and \(\lambda_{1}\) indicates that \(p_{1}\) has good diversity. By using the equation above to calculate \(\theta_{1}\), a particle with a smaller angle can be chosen as \(\mathit{pbest}_{1}\) to guide \(p_{1}\) rather than another particle with better diversity but worse convergence. Similarly, \(p_{2}\) should be selected as \(\mathit{gbest}_{2}\) for its diversity rather than \(p_{1}\), which might have better convergence. For MAOP, there is no single optimal solution, so a solution close to \(\lambda_{i}\) from \(A\) is selected as \(\mathit{gbest}_{i}\) to improve diversity. In Figure 6, \(p_{1}\) and \(p_{2}\) will be chosen as \(\mathit{gbest}_{1}\) and \(\mathit{gbest}_{2}\), respectively. Sometimes, \(\mathit{pbest}_{i}\) and \(\mathit{gbest}_{i}\) are equal, indicating that the solution can provide diversity and convergence directions. Updating particle position and velocity: Once _pbest_ and _gbest_ have been identified, the particle's velocity \(v_{i}\) is determined using the following Equation (21):  
\[v_{i}(t+1)=\omega v_{i}(t)+cr_{1}(x_{\mathit{pbest}_{i}}(t)-x_{i}(t))+sgn( \mathit{fit}(\mathit{gbest}_{i})-\mathit{fit}(p_{i}))F_{i}r_{2}(x_{\mathit{ gbest}_{i}}(t)-x_{i}(t)) \tag{21}\]  
where \(x_{i}\) represents the position of the \(i\)-\(th\) solution in the population, \(r_{1}\) and \(r_{2}\) are evenly dispersed within the range of [0, 1], \(\omega\) denotes the inertia weight, and \(c\) represents the learning factor. \(F_{i}\) balances the search direction between \(\mathit{pbest}_{i}\) and \(\mathit{gbest}_{i}\), calculated as Equation (22):  
\[F_{i}=\frac{\frac{\pi}{2}-\angle(\mathit{gbest}_{i},\lambda_{i})}{\frac{\pi}{ 2}}+\frac{\mathit{fit}(\mathit{pbest}_{i})}{\mathit{fit}(\mathit{gbest}_{i})} \tag{22}\]  
Based on Equation (22), the overall search direction is primarily influenced by \(\mathit{pbest}_{i}\) and \(\mathit{gbest}_{i}\).