## 2 Related Work
### Salp Swarm Algorithm  
#### 2.2.1 Basic Process of Salp Swarm Algorithm  
In nature, salps form a chain like structure by connecting their heads and tails for foraging activities. As shown in Figure 1, the salp chain can be divided into two parts: leader and follower. Leader determines the direction of movement based on the location of the food source (in SSA, the food source represents the global optimal solution position found by the current population search) by guiding followers. [PERSON] [15] proposed an optimization algorithm for salps based on their predatory behavior. In SSA, the first salp on the chain serves as the leader, while the rest are followers. Unlike other swarm intelligence optimization algorithms, the behavior of the leader does not directly affect the movement of the entire group. Followers do not always completely follow the leader, but adjust their position based on the previous individual's position, gradually forming a salp chain. Therefore, the influence of leaders on followers gradually weakens with distance, thus maintaining the diversity of the group. SSA ensures that the current optimal solution is not lost even if the population state deteriorates by saving it and assigning it to the food source variable. SSA only updates the leader's position relative to the food source, as it represents the current optimal solution, and the leader continues to explore the surrounding area; followers improve local search performance by following behavior, reducing the risk of getting stuck in local optima. The SSA is based on population evolution. During initialization, each individual of salps represents a candidate solution in the population. Each solution is randomly generated between the set upper bound \(ub\) and lower bound \(lb\). The initialization position of the salp population is:  
\[X= \begin{bmatrix}X^{1}\\ X^{2}\\ \vdots\\ X^{N}\end{bmatrix} = \begin{bmatrix}x_{1}^{1}&x_{2}^{1}&\dots&x_{D}^{1}\\ x_{1}^{2}&x_{2}^{2}&\dots&x_{D}^{2}\\ \vdots&\vdots&\dots&\vdots\\ x_{1}^{N}&x_{2}^{N}&\dots&x_{D}^{N}\end{bmatrix}  \tag{1}\]  
Among them, \(N\) is the population size, \(D\) is the number of decision variables, and the algorithm initializes the position \(X_{j}^{i}\) (\(i=1,2,\dots,N;j=1,2,\dots,D\)) of each individual salp by generating random numbers. \[X_{j}^{i}(l)=rand(N,D)\big{(}ub_{j}-lb_{j}\big{)}+lb_{j} \tag{2}\]  
Among them, \(l\) is the current iteration number, and \(X_{j}^{i}(l)\) is the position of the \(i\)th salp individual in the \(j\)th dimensional space. After obtaining the population of salps, calculate the fitness function value of each individual salp and sort them. Based on the sorting results, determine the food source, leader, and follower position. The positions of the leader and followers are represented by matrix \(X_{j}^{i}\), and the formula for updating the position of the leader is:  
\[X_{j}^{i}(l)= \begin{cases}F_{j}+c_{1}\big{(}(ub_{j}-lb_{j})c_{2}+lb_{j}\big{)}, \ c_{3}\geq 0.5\\ F_{j}-c_{1}\big{(}(ub_{j}-lb_{j})c_{2}+lb_{j}\big{)},\ c_{3}\geq 0.5\end{cases}  \tag{3}\]  
Among them, \(F_{j}\) represents the position of contemporary food sources in the \(j\)th dimensional space, and \(ub_{j}\), \(lb_{j}\) are the upper and lower limits of the \(j\)th dimensional search space. \(c_{2}\), \(c_{3}\) are random numbers evenly distributed between (0, 1), which play a role in adjusting the position in the leader update formula. \(c_{1}\) is the correlation coefficient used to balance the exploitation of SSA, which decreases with the increase of iteration times to improve the development intensity in the later stage of algorithm iteration. The calculation formula for \(c_{1}\) is:  
Figure 1: Swarm of Salps (salp chain) [15]. \[c_{1}=2e^{-(\frac{4\pi}{max})^{2}} \tag{4}\]  
Among them, \(t\) is the current iteration number of the algorithm, and \(t_{max}\) is the maximum iteration number of the algorithm.