# A Hybrid Adaptive Particle Swarm Optimization Algorithm for Enhanced Performance
## 3 Improved PSO Algorithm
### Adaptive Inertia Weights  
Adaptive inertia weighting is a mechanism designed to optimize the fitness value by dynamically adjusting the particle inertia weights. This approach allows the algorithm to  
Figure 1: Initialized population distribution map using two methods. flexibly modify its search strategy in various situations, thereby enhancing its effectiveness in locating the optimal solution to a given problem. Specifically, when a particle's fitness evaluation result is lower than the overall performance of the population, the strategy assigns smaller inertia weights to facilitate a fine local search. Conversely, when a particle's fitness exceeds the average fitness of the population, larger inertia weights are assigned to improve global search capabilities. The expression for these adaptive weights is presented below:  
\[\omega_{i}^{t}= \begin{cases}m_{1},&ftn_{i}(t)\geq ftn_{avg}(t)\\ m_{1}+\{m_{1}-m_{2}\}\frac{ftn(t)-ftn_{avg}(t)}{ftn_{avg}(t)-ftn_{gtt}(t)},& ftn_{i}(t)<ftn_{avg}(t)\end{cases}  \tag{7}\]  
where \(\omega_{i}^{t}\) denotes the adaptive inertia weight of particle \(i\) at the \(t\)-th iteration; \(m_{1}\) and \(m_{2}\) denote the maximum and minimum values of the inertia weights, respectively; \(ftn_{i}(t)\), \(ftn_{gbt}(t)\), and \(ftn_{avg}(t)\) denote the current, the best, and the average fitness values of particle \(i\) at the \(t\)-th iteration, respectively. \(ftn_{avg}(t)\) is computed using Equation (8):  
\[ftn_{avg}(t)=\sum_{i=1}^{N}\frac{f(x_{i}(t))}{N} \tag{8}\]  
The average fitness is significantly influenced by extreme values, resulting in sensitive and frequent adjustments of inertia weights. This sensitivity can greatly diminish the stability and efficiency of the algorithm. Furthermore, the average fitness value is particularly responsive to the selection of the fitness function, which complicates the accurate representation of individual differences within the population. This, in turn, leads to a conflation of the search history of individuals with the current position information of particles. Consequently, the algorithm becomes more complex and challenging to fine-tune in practice. This issue is especially pronounced when a majority of individuals in the particle population cluster around a local optimum, potentially leading to a misjudgment of the average fitness value and premature convergence to a local optimal solution. Therefore, relying solely on the average fitness value of the population to adjust inertia weights presents several drawbacks, despite its potential to enhance algorithm performance in certain contexts. To address these challenges, the particle population can be segmented, and the proportion of individual particles can be utilized as a criterion for adjusting inertia weights. This approach aims to more accurately reflect the differences among individuals in the particle population while reducing reliance on specific fitness values. Such a method allows for more flexible and dynamic weight adjustments, balancing global and local search capabilities and ultimately improving the accuracy and convergence speed of the algorithm. The following expression delineates the adaptive inertia weights based on the proportionality division criterion of the particle swarm. \[\omega_{i}^{t}= \begin{cases}\alpha m_{2}(m_{3-}m_{2})\Big{(}1-\frac{1}{deg_{i} (t)}\Big{)},&deg_{i}(t)\geq 1\\ m_{2}+deg_{i}(t)(m_{3-}m_{2}),&deg_{i}(t)<1\end{cases}  \tag{9}\]  
where \(deg_{i}(t)\) denotes the degree of deviation of particle \(i\) from the optimal particle or the dominant particle swarm at the \(t\)-th iteration, \(m_{3}\) denotes the upper limit of the inertia weight of the dominant particle swarm, and \(\alpha\) denotes the coefficient of \(m_{2}\), which is designed to make the adaptive inertia weight transition smoothly throughout the iteration process. The degree of deviation of a particle from the optimal particle or the dominant particle population is calculated using Equation (10):  
\[deg_{i}(t)=