# Optimal Solution of Environmental Economic Dispatch Problems Using QPGPSO-\(\omega\)
## 3 Description of the Proposed Algorithm
### Overview of QPGPSO-\(\omega\)  
Opposition-based learning (OBL) was, at first, suggested by [PERSON] in 2005 for initiating the population to improve the convergence speed of existent meta-heuristic optimization methodologies [61]. The quasi-opposition population (QOP) strategy is based on quasi-opposition initialization and quasi-opposition generation jumping, which allow optimal starting candidate arrangements to be obtained by utilizing inverse points, even when past data about the solutions are not available. The QOP technique considers both the population, at present, and its quasi-inverse population, simultaneously, in order to attain an optimal candidate arrangement. An equivalent strategy can be constantly applied to each solution in the present population [62]. This methodology has been widely incorporated into many optimization techniques to enhance their optimization potential. QPGPSO-\(\omega\) is a variant of PSO that incorporates an opposition-based mechanism, which aids in avoiding local minima and enhances the possibility to find a global optimal solution. QPGPSO-\(\omega\) divides the swarm's particles into two categories: explorer and opponent particles. Explorer particles move towards the global optimum, while the opponent particles move away from it. The quasi-opposite population advances in the following manner:  
An inverse number is defined for each configuration in the population as follows:  
\[X_{0}=min+max-X_{i} \tag{15}\]  
\[X_{qui}=rand\bigg{[}\frac{(min+\max)}{2},(X_{0})\bigg{]} \tag{16}\]  
where \(X_{i}\) is the \(i^{\text{th}}\) d-dimensional solution at a specific iteration. \(X_{0}\) denotes the inverse number of this \(i^{\text{th}}\) solution and \(X_{qui}\) represents the respective opposite population [53]. In Equation (15), the inverse number is calculated by subtracting the original number from the sum of the minimum and maximum values in the range. Essentially, it transforms the original number in such a way that the closer the original number is to the maximum value, the closer the inverse number will be to the minimum value, and vice versa. The difference between GPSO-\(\omega\) and QPGPSO-\(\omega\) lies in their update mechanisms that are elaborated below:  
* In GPSO-\(\omega\), the velocity and position of each particle are updated based on the global best solution found to date by the entire swarm. On the other hand, in QPGPSO-\(\omega\), the velocity and position of each particle are updated based on the quasi-best solution found by a subset of particles, called the quasi-population, randomly selected from the entire swarm. * The quasi-population is updated in each iteration by selecting the best particles from the entire swarm. * In QPGPSO-\(\omega\), the velocity update includes three components:  
1. The inertia component that helps the particle maintain its previous velocity. 2. The cognitive component that encourages the particle to move towards its personal best solution. 3. The social component that causes the particle to move towards the quasi-best solution found by the quasi-population. * By using a subset of particles to update the velocity and position of each particle, QPGPSO-\(\omega\) reduces the computational cost and enhances the exploration capability of the algorithm. * Moreover, by incorporating the quasi best solution found by the quasi population, QPGPSO-\(\omega\) is able to avoid premature convergence and achieve better solutions in terms of cost and emissions. The flowchart of the proposed QPGPSO-\(\omega\) is presented in Figure 1. The decision-making block illustrated in Figure 1 shows the process of updating the best-position value (Pbest) in each iteration. If the recently calculated value of Pbest is found to be better than the previous value, it is adopted as the current best value (represented by the branch \"yes\"). On the other hand, if the recently calculated value is not better, the previous value is retained as the Pbest (represented by the branch \"no\").