# Improved Binary Grey Wolf Optimization Approaches for Feature Selection Optimization
## 4 Proposed Approaches  
An optimization problem entails determining the most effective and optimal solution from all possible solutions. The FS process is an optimization problem that aims to obtain the best and most optimized features in a given dataset. Four different SI approaches are described in this section as wrapper-based FS methods. These approaches are used to identify the most significant feature subsets that optimize the classification task. Searching strategies must provide a balance between the exploration and exploitation phases to identify the optimum solution. Throughout this paper, the PSO algorithm with powerful exploration potential is combined with the GWO algorithm, which has a good exploitation capability. This combination is employed in four different approaches to increase search efficiency and decrease the chances of falling in the local optimum. In this work, the continuous solutions are converted to binary solutions using the S2 and V2 TFs mentioned in [22,37].  
The GWO algorithm has a good exploitation ability; however, new wolves may drop in a local optimum [70]. According to the GWO algorithm's searching strategy, the new wolves in the pack follow the three best solutions, \(\alpha\), \(\beta\), and \(\delta\). These best solutions may not be the optimal ones, particularly when the search is in a high-dimensional space. This increases the probability of being trapped in a local optimum. To improve GWO's searching capability and the accuracy of its solutions, GWO is combined with PSO. This combination is proposed and implemented in the form of four different approaches. These approaches are explained in more detail in the following subsections.  
* IBGWO1  
The first approach is named Improved Binary Grey Wolf Optimization 1 (IBGWO1). This approach was previously proposed in [19]. IBGWO1 is presented here for completeness and comparison with three newly proposed approaches in this paper. Figure 2 shows the flowchart of IBGWO1. As shown in the figure, IBGWO1 applies GWO followed by PSO to obtain a new population in each iteration. The initial population of GWO is generated  
```
1:Start
2: Set the maximum number of iterations T
3: Set the population size P
4: Initialize the individuals' positions and velocities
5: Initialize the GWO parameters \(a\), \(A\), \(C\)
6: Initialize the PSO \(c1\) and \(c2\)
7: \(t\gets 1\)
8:While \(t<T\)do
9: Calculate individuals' fitness values
10: Find best three solutions \(X_{\alpha}\), \(X_{\beta}\), and \(X_{\alpha}\)
11:\(p\gets 1\)
12:For\(p<P\)do
13: Update GWO individuals' positions using Equations (3)-(9)
14: Convert the new individuals' positions to binary using Equations (13) and
14: Update \(a\), \(A\), \(C\) using Equations (10)-(12)
16:EndFor
17: Save the GWO population
18:\(p\gets 1\)
19:For\(p<P\)do
20: Find _pbest_
21: Update individuals' velocities using Equation (1)
22: Update individuals' positions using Equation (2)
23: Convert the new individuals' positions to binary using Equations (13) and (14)
24:EndFor
25: Save the PSO population
26:\(p\gets 1\)
27:For\(p<P\)do
28:Compare GWO's solutions with its corresponding pair in PSO's solutions
29: Save the fittest solutions for the next iteration
30:EndFor
31:t++
32:EndWhile
33: Return the best solution
34:End
```  
**Algorithm 1** IBGWO2