## 3 Solution Methodology
### Master Stage: Salp Swarm Algorithm
#### 3.2.3 Salp Chain Movement  
The proposed salp swarm algorithm employs an iterative process, i.e., with each iteration, a new chain is generated and the salps are divided into two: the leader and the followers [27]. The leader is the head of the chain, while the others follow it. The leader is responsible for leading the swarm throughout the solution space [29]. The salp with the highest impact on the network (i.e., the lowest objective function) is chosen as the leader \(S_{l}\).  
\[S_{\text{best}}=S_{1}, \tag{22}\]with \(S_{1}\) being the first row of the matrix \(M_{S}\), which has been organized from lowest to highest with respect to the objective function value.  
The leader is updated in each iteration outside the iterative algorithm. Moreover, in the first cycle, the leader is chosen as food (phytoplankton). This is due to the fact that the leader is the one that finds the area with the best food, which translates to the solution space, and it is within this same space that advancing with the chain is decided. The phytoplankton is represented by a vector of dimension \(1 xd\), as it stores the information of each chain leader. Note that there will be as many leaders as variables \(d\) in the problem under study.  
Modifying the Population by Means of the Leader  
Within this first strategy, the initial population is sectioned in two equal parts. The first half is updated using the information of the leader, as expressed in Equation (23).  
\[S_{(i,j)}=\begin{bmatrix}S_{(\text{best},i)}+C_{1}\Big{(}(X_{j}^{\text{max}}-X _{j}^{\text{min}})C_{2}+X_{j}^{\text{min}}\Big{)}&C_{3}\leq 0.5\\ S_{(\text{best},i)}-C_{1}\Big{(}(X_{j}^{\text{max}}-X_{j}^{\text{min}})C_{2}+X_ {j}^{\text{min}}\Big{)}&C_{3}>0.5\end{bmatrix} \tag{23}\]  
Equation (23) is made up of the actual position of the salp in the variable \(S_{(i,j)}\) and a set of control constants that allow the salp chain to be exclusively within the solution space. The equation is the movement mechanism used by the first part of the salp chain, where the position is updated in \(S_{i,j}\). \(C_{2}\) and \(C_{3}\) are constants with a uniform distribution within a range of 0 to 1 which limit the movement of the chain in order to guarantee that it is in the best problem solution space. In addition to these constants is \(C_{1}\), which is entrusted with controlling the exploration and exploitation of the solution within the movement, as given by the following equation.  
\[C_{1}=2e^{-4\left(\frac{l}{l}\right)^{2}} \tag{24}\]  
where the variables \(l\) are the program's current iteration, and \(L\) is the maximum number of iterations.  
Modifying the Population Using [PERSON]'s Movement Laws  
For this part of the algorithm, the chain moves using [PERSON]'s third law, which is represented via the following equation:  
\[S_{i,j}=\frac{(S_{i,j}-S_{i-1,j})}{2} \tag{25}\]  
This movement mechanism involves the salps sharing information with each other in order to move through the solution space and generate new potential solutions to the nonlinear programming problem. However, with this movement, it must be verified that the variable limits are still fulfilled. If not, the necessary corrections for the new possible candidate solution.  
**Remark 1**.: _Note that the SSA approach evolves through the solution space by using the evolution rules proposed in [27], which were designed for continuous optimization problems. However, this research applied the same rules, and, after each iteration, the component of the coding regarding the nodes where the \(D\)-STATCOMs must be placed is rounded as recommended in [30] for optimization problems with discrete variables._