# Tethered Balloon Cluster Deployments and Optimization for Emergency Communication Networks
## 4 Methodology
```
Input: Swarm size \(S\), iteration size \(T\), cognitive coefficient \(C_{1}\), social coefficient \(C_{2}\), search region bounds \([x_{min},x_{max}]\), \([y_{min},y_{max}]\), \([h_{min},h_{max}]\), and minimum distance \(d_{min}\) Output: Pareto optimal set \(G_{Best}\)
1\(G_{Best}\leftarrow\varnothing\)for\(i=1\) to \(S\)do
2 Initialize \(X_{i}\gets randomvalue\) in bounds \(V_{i}\gets 0\) \([f_{1}(X_{i}),f_{2}(X_{i})]\leftarrow\text{Evaluate fitness}(X_{i})\)\(P_{Best[i]}\gets X_{i}\)if\(X_{i}\) dominates \(G_{Best}\)then
3\(G_{Best}\gets X_{i}\)
4 end if
5
6 end for
7 for\(t=1\) to \(T\)do
8 for\(i=1\) to \(S\)do
9 Update \(V_{i}\) according to Equation (20) Update \(X_{i}\) according to Equation (21) \(X_{i}\leftarrow\text{Apply constraints}(d_{min})\)\([f_{1}(X_{i}),f_{2}(X_{i})]\leftarrow\text{Evaluate fitness}(X_{i})\)if\(X_{i}\) dominates \(P_{Best[i]}\)then
10\(P_{Best[i]}\gets X_{i}\)
11 end if
12 foreach\(p\) in \(P_{Best[i]}\)do
13 if\(p\) dominates \(G_{Best}\)then
14\(G_{Best}\gets p\)
15 end if
16
17 end for
18
19 end for
20
21 end for return\(G_{Best}\)
```  
**Algorithm 1**MOPSO for Balloon Deployment Optimization  
The velocity, position, and individual optimal position of particle \(i\) in the next iteration are updated by  
\[V_{i}(t+1)=wV_{i}(t)+C_{1}R_{1}(P_{Best[i]}(t)-X_{i}(t))+C_{2}R_{2}(G_{Best}(t) -X_{i}(t)), \tag{20}\]  
\[X_{i}(t+1)=X_{i}(t)+V_{i}(t+1), \tag{21}\]  
\[w=0.9-0.5\times\frac{t}{T}, \tag{22}\]\[P_{Best[i]}(t+1)=\left\{ \begin{array}{ll}X_{i}(t+1),&\text{if}\ \ \ X_{i}(t+1)\ \ \text{dominates}\ \ P_{Best[i]}(t),\\ P_{Best[i]}(t),&\text{otherwise},\end{array} \right. \tag{23}\]  
\[G_{Best}(t+1)=\left\{ \begin{array}{ll}P_{Best[i]}(t+1),&\text{if}\ \ \ P_{Best[i]}(t+1)\ \ \text{dominates}\ \ G_{Best}(t),\\ G_{Best}(t),&\text{otherwise}.\end{array} \right. \tag{24}\]  
In Equations (20) and (21), \(V_{i}(t)\) is the velocity of the \(i\)th particle at the \(t\)th iteration, \(X_{i}(t)\) is the position of the \(i\)th particle at the \(t\)th iteration, and \(X_{i}(t)\in\mathbb{R}^{3}\). \(C_{1}\) and \(C_{2}\) are constants defining the cognitive learning coefficient and social learning coefficient of the particle, respectively. \(R_{1}\) and \(R_{2}\) are random numbers between 0 and 1. \(P_{Best[i]}\) is the best position found by particle \(i\). \(t\) and \(T\) represent the number of current iterations and the total number of iterations, respectively [26]. The inertia weight \(w\) determines how much momentum the particle velocity maintains during the iteration. Larger inertia weights give the particle a faster velocity and a greater likelihood of performing a global search throughout the solution space, which helps to explore more potential solutions. Smaller inertia weights, on the other hand, give the particles lower speeds and more focus on local search in the current region, which helps to finely optimize the solution. Equation (22) describes a linearly decreasing inertia weighting strategy, which gives the algorithm a stronger global exploration capability initially by gradually decreasing \(w\) during the iteration process. At the later stage, it will gradually decrease \(w\) to enhance the local search capability, thus achieving full exploration and fine exploitation of the solution space and improving the solution quality. We also introduce the stochastic algorithm (SA) as a benchmark comparison for MOPSO. SA is a purely stochastic search optimization method; the core idea is to randomly sample a given search space and find an approximate optimal solution through many iterations and random attempts. Each iteration is independent of the other and generates new random locations, and for each newly generated deployment scenario, two objective function values are computed. If the new solution outperforms the historical optimal solution on both metrics simultaneously, the corresponding optimal record is updated and retained. The main steps of SA are denoted as Algorithm 2.