## 4 Algorithm Design
### The Design of MOLM  
The MOLM algorithm first checks for network congestion using the method shown in Algorithm 1. Second, if congestion occurs, it uses the method shown in Algorithm 2 to establish the continuous neighbor set. Last, MOLM will select an element from the persistent neighbor set to replace congested nodes. The MOLM algorithm employs the multi-objective simulated annealing (MOSA) framework to iteratively select the optimal nodes from the continuous neighbor set to replace congested nodes. During each iteration, a random element is selected from the continuous neighbor set to replace the congested node, generating a temporary new path as a new solution. The stability and latency of the new path are compared with those of the original path. If the new solution is superior  
Figure 3: Topology matrix table. to the original one, it is accepted directly. If the new solution is worse than the original one, it is accepted with a certain probability. The algorithm of MOLM can be described using Algorithm 3. The argument \(T\) means the temperature at the current moment, and \(min_{T}\) means the minimum temperature. The argument \(n\) means the number of iterations, and \(max_{n}\) means the maximum number of iterations. When the temperature reaches the minimum temperature or the number of iterations reaches the maximum number of iterations, the iteration will stop. ```
Input:\(T\), \(min\_T\), \(n\), \(max\_n\), \(path1\), \(path2\) Output:\(path1\), \(initial\_path\)
1 Check for network congestion using Algorithm 1;
2 ifcongestion occurs on path1 and path2 then
3 Establish the continuous neighbor set using Algorithm 2;
4 // Use the multi-objective simulated annealing framework to iteratively find the optimal nodes in the continuous neighbor set;
5\(T\) = 1000;
6\(n\) = 0;
7 while\(T\) > \(min\_T\) and \(n\) < \(max\_n\)do
8 Let \(initial\_path\) = \(path2\);
9 Calculate the \(d_{A}\) and \(c_{A}\) of the \(initial\_path\);
10 Randomly select an element from the continuous neighbor set to replace the congested node in the \(initial\_path\) > \(new\_path\);
11 Calculate the \(d_{A}^{*}\) and \(c_{A}^{*}\) of the \(new\_path\) ;
12 if\(d_{A}^{*}<d_{A}\) and \(c_{A}^{*}>c_{A}\)then
13 Let \(initial\_path\) = \(new\_path\) ;
14
15 else
16\(P=e^{(d_{A}-d_{A}^{*})*(c_{A}-c_{A}^{*})/T}\);
17 Accept \(new\_path\) with the probability \(P\) -> \(initial\_path\) = \(new\_path\) ;
18 Maintain the \(initial\_path\) with the probability \(1-P\) -> \(initial\_path\);
19\(T\) = \(T\) * cooling_rate;
20\(n\) = \(n+1\);
21 return\(path1\), \(initial\_path\);
22
23 else
24 return\(path1\), \(path2\);
```  
**Algorithm 3**MOLM  
From line 2 to line 7 in the MOLM algorithm, we show that it solves the congestion problem with dual optimization objectives related to path stability and latency, which are described as maximizing the average path duration and minimizing the average latency. The mathematical model of the multi-objective optimization problem is expressed as  
\[f:L\rightarrow\left\{ \begin{array}{l}\min d_{A}\\ \max c_{A}\end{array} \right. \tag{1}\]  
In the given context, where \(f\) is the optimization objective function, \(L=[l_{ij}[t]]\), \(i,j=1,2,3,4\ldots N\). \(L=[l_{ij}[t]]\) represents the link from the starting point \(i\) to the ending point \(j\) at time \(t\), where \(d_{A}\) is the average latency of these paths and \(c_{A}\) is the average duration of these paths. The constraints for establishing a link are as follows:\[v_{ij}\in\{0,1\},\quad\forall i,j \tag{2}\] \[v^{*}_{ij}\in\{0,1\},\quad\forall i,j\] (3) \[v_{ij}\geq l_{ij},\quad\forall i,j\] (4) \[v_{ij}=v_{ji},\quad\forall i,j \tag{5}\]  
In the given context, Equations (2) and (3) involve \(v_{ij}\) and \(v^{*}_{ij}\), representing whether satellite \(i\) and satellite \(j\) are visible and continuously visible, respectively. When visible, \(v_{ij}\) takes the value of 1; otherwise, it is 0. When continuously visible, \(v^{*}_{ij}\) takes the value of 1; otherwise, it is 0.