## 3 Energy Efficiency Problem Model for SONs
### GreenRP Algorithm
```
Input: Satellite_Network_Topology, Previous_Best_Topology Output: Final_Energy_Saving_Topology
1: initialize Population_Size, Gene_Length, Best_Fitness \(\leftarrow\) \(\infty\), No_Improve_Count \(\leftarrow\) 0;
2: Mean \(\leftarrow\) Previous_Best_Topology? Count_Off_Links(Previous_Best_Topology): Gene_Length/2;
3: Population \(\leftarrow\) [GenerateGene(Gene_Length, NormalDistribution(Mean, \(\sigma\))) for i in 1..(0.75*Population_Size)] + [Copy(Previous_Best_Topology) for i in 1..(0.25*Population_Size)];
5:for Iteration from 1 to Max_Iterations do
6:for each Gene IN Population do
7: Gene_Fitness \(\leftarrow\) w1 * Norm_Energy + w2 * Norm_Packet_Loss + w3 * Norm_Avg_Delay;
8:endfor
9: Current_Best_Fitness \(\leftarrow\) Population.Best.Fitness;
10:if Current_Best_Fitness < Best_Fitness then
11: Best_Fitness \(\leftarrow\) Current_Best_Fitness;
12: No_Improve_Count \(\leftarrow\) 0;
13:else
14: No_Improve_Count \(\leftarrow\) No_Improve_Count + 1;
15:if No_Improve_Count \(\geq\) 3 then break;
16:endif
17:while New_Population.SIZE < Population_Size do
18: Parent1, Parent2 \(\leftarrow\) SelectParents(Population);
19: Child1, Child2 \(\leftarrow\) (Random) < CrossoverProb)? SinglePointCrossover: Copy;
20: New_Population.ADD(Mutate(Child1, MutationProb));
21: New_Population.ADD(Mutate(Child2, MutationProb));
22:endwhile
23: Population \(\leftarrow\) New_Population;
24:endfor
25: Best_Gene \(\leftarrow\) Population.Best;
26: Path_Set \(\leftarrow\) [ ShortestPathAlgorithm(Best_Gene, Pair).Links for Pair in Satellite_Regions.Pairs ];
27:for each Link in Path_Set do
28: Best_Gene[Link] \(\leftarrow\) 1;
29:endfor
30: Final_Topology \(\leftarrow\) Best_Gen;
31: return Final_Topology. ```  
**Algorithm 1**Green Routing Planning (GreenRP) algorithm  
The algorithm commences with the generation of an initial set of these encoded genes, which constitutes the starting population. To prevent extremes in the initial solution set and to foster a balanced exploration of the solution space, the number of initially removed (or dormant) links in each gene is determined by a normal distribution, with its mean initially set to half the gene length. Recognizing the regular, predictable motion of satellite networks and the consequent topological similarity often observed between consecutive operational snapshots, the GreenRP algorithm incorporates a mechanism to leverage solutions from previous states. Specifically, the optimal energy-efficient topology derived from the preced  
Figure 3: Energy-efficient topology planning principles. ing snapshot is integrated into the initialization of the new solution space. This is achieved by adjusting the mean of the normal distribution to match the number of dormant links present in the last known optimal topology. Following this adjusted distribution, 75% of the genes in the initial population are generated. The remaining 25% of the population consists of direct copies of the energy-efficient topology from the immediately preceding solution, thereby ensuring that valuable prior knowledge is carried forward. Fitness calculation in GreenRP involves the careful normalization of interdependent optimization objectives, such as packet loss rate and average service delay, to ensure that all objectives are equated on the same scale for fair assessments. The strategy includes creating an energy-efficient topology through hibernating links and nodes and planning service paths using a shortest path strategy, aiming for performance close to that of regular load conditions after energy savings. \(L\), \(B\), and \(D\) represent the network-wide life consumption, packet loss rate, and average service delay when using this algorithm, respectively. \(L_{SP}\), \(B_{SP}\), and \(D_{SP}\) serve as benchmark indicators under the SP strategy. The fitness function is defined in Equation (21). Weight coefficients \(X\), \(Y\), and \(Z\) influence the prioritization of these objectives.