## 3 Methodology  
FIPS and SaDE are hybridized owing to the solutions' diversity in FIPS and the quality of optimal solution in SaDE. One of the common drawbacks of using optimization algorithms is the lack of diversity leading to a suboptimal solution [31]. The use of FIPS could improve the drawback. In the FIPS, the neighbors around a solution become the source of influence to improve the solution's diversity. DE is remarkable in finding the optimal solution in a group of solutions. However, choosing suitable control parameter values is tricky as the values need to vary according to each problem. SaDE has the advantage that the user does not need to determine the optimal parameters settings, and time complexity does not increase as the rules for applying SaDE are simple [29]. SaDE performs well in finding the optimal solution in a group of solutions through self-adapting its parameters. Each particle in FIPS receives information from all of its neighbors rather than just the best one. The particle may sometimes trap in local optima, and the FIPS topology network may help to monitor and maneuver the particle's position. Therefore, the operation in FIPS improves the solutions through the exploration of its neighbors and guides the group of solutions moving toward the optimal region. A hybridization between SaDE and FIPS, called FIPSaDE, could improve the performance in solving complex optimization problems. The main process of FIPSaDE is structured according to the usual structure of the PSO algorithm. The solution found in FIPSaDE is called _individual_ or _solution_ interchangeably. The FIPS parameter is updated each time before the mutation process of the SaDE algorithm and again during the selection process in controlling the quality of individuals chosen for the next generation. The process is repeated iteratively until the algorithm reaches the optimum value. The presence of the FIPS process creates a disturbance in the population in which the FIPS is focused on moving the solution to explore its surrounding. This helps in maintaining the diversity of the population created and producing an excellent optimal solution. The pseudocode of FIPSaDE is given in Algorithm 1. In FIPSaDE, a swarm of individuals flies in a \(D\)-dimensional search space seek an optimal solution. Each individual \(i\) possesses a current velocity vector \(v_{i}=[v_{i1},v_{i2},\ldots,v_{iD}]\) and a current position vector \(x_{i}=[x_{i1},x_{i2},\ldots,x_{iD}]\), where \(D\) is the number of dimensions. The FIPSaDE process starts by randomly initializing \(v_{i}\) and \(x_{i}\). ```
```
```
1 Initialization  Define the swarm size \(N_{p}\) for each individual \(i\in[1\ldots N_{p}]\)do  Randomly generate \(x_{i}\) and \(v_{i}\). Evaluate the fitness of \(x_{i}\) denoting it as \(f(x_{i})\). Set \(\mathit{Pbest}_{i}=x_{i}\) and \(f(\mathit{Pbest}_{i})=f(x_{i})\). endfor  Set \(\mathit{Gbest}=\mathit{Pbest}_{1}\) and \(f(\mathit{Gbest})=f(\mathit{Pbest}_{1})\). for each individual \(i\in[1\ldots N_{p}]\)do if\(f(\mathit{Pbest}_{i})<f(\mathit{Gbest})\)then \(f(\mathit{Gbest})=f(\mathit{Pbest}_{i})\) endif endfor while\(t<\) maximum iterations do for each individual \(i\in[1\ldots N_{p}]\)do -Start of SaDE- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



where \(rand_{j}\), for \(j\in\{1,2,3,4\}\) are uniform random values within the range [0, 1]. The parameters \(\tau_{1}\), \(\tau_{2}\), \(F_{l}\), \(F_{u}\) are fixed to values 0.1, 0.1, 0.1, 0.9, respectively in [8]. In the mutation process, for each target vector \(x_{i}\), a mutant vector \(q_{i}\) is generated according to Equation (5)

\[q_{i,\,(t+1)}\ =\ x_{\tau_{1},t}+F_{i,t}*(x_{\tau_{2},t}-x_{\tau_{3},t}) \tag{5}\]

with randomly chosen indexes \(r_{1},r_{2},r_{3}\in[1,N_{p}]\). Then, a crossover operator forms a trial vector \(p_{i}=(p_{i1},p_{i2},\ldots p_{iD})\), with the target vector is mixed with the mutated vector using Equation (6). \[p_{ij,\,(t+1)}\ =\ \left\{