## 3 System Model and Problem Formulations
### Advanced Load Balancing Scheme Based on Optimized GA  
In the first two parts of this Section, we modeled the solution using the original GA and improved genetic crossover and mutation. According to this work, we designed an advanced load balancing scheme based on an optimized GA (LB-CAGA) in this part. Before the start of each satellite service period, the service satellite inputs the relevant prior information and user information of Ser-Beams and sets parameters for the GA. Next, the GA figures out the traffic load balancing scheme for the service period. The specific solution process is as follows:  
The pseudocode of the algorithm is shown in Algorithm 1:  
```
1. Input:\(Tra\big{(}b_{ij}\big{)};BW_{i};P(B_{i});A_{ij}(T_{i-\delta}),P\big{(}A_{ij}(T_ {i-\delta})\big{)},\delta=1\cdots\)\(h\);
2. Output:\(A_{ij\_best},fitness\_best\)
3. Create a population matrix \(Population[N,k]\);
4. for\(i\) from \(1\) to \(N\)
5. \(Population[i,:]\leftarrow\text{rand}\ \big{(}A_{ij}\big{)}\)
6. \(Tra_{total}\leftarrow\sum_{j=1}^{k}Tra\big{(}b_{ij}\big{)}\times Population[i,k]\)
7. \(T\_delay_{ave}\leftarrow\frac{Tra_{total}}{BW_{i}\times k}\)
8. \(fitness(i)\leftarrow\frac{k_{1}\times T_{total}}{k_{2}\times T_{total}}\)
9. endfor
10. Row vectors in matrix \(Population[N,k]\) sorted by fitness in descending order
11. \(fitness_{ave}=\frac{1}{N}\times\sum_{l=1}^{k}\ fitness(i)\)
12. Perform crossover operations \(Crossover\ (Population[i,:])\)
13. Perform mutation operations \(Mutation(Population[i,:])\)
14. for\(i\) from \(1\) to end
15. \(Tra_{total}\leftarrow\sum_{j=1}^{k}Tra\big{(}b_{ij}\big{)}\times Population[i,k]\)
16. \(T\_delay_{ave}\leftarrow\frac{Tra_{total}}{BW_{i}\times\sum_{l=1}^{k}Population[i,k]}\)
17. \(fitness\leftarrow\frac{k_{1}\times T_{total}}{k_{2}\times T\_delay_{ave}}\)
18. endfor
19. Row vectors in matrix \(Population[end,k]\) sorted by fitness in descending order
```  
**Algorithm 1** Load balance based on GAThe load balancing scheme inputs the service traffic of the Ser-Beams, satellite total bandwidths, the optimal solution of the load balancing scheme in the former \(h\) periods, the selection probability of optimal solution, and the selection probability of a single gene. The GA is initialized first, creates a population matrix \(Population[N,k]\), and generates an initial population. Next, it calculates individual fitness and the average fitness of the group. Evolution starts when initialization is complete: First, it sorts the individuals in descending order of fitness. Second, crossover and mutation operations are performed. The generated new individuals join the original population to form a new group. Third, the fitness of the new individuals and the average fitness of the new group are calculated. Finally, the population of the next generation is selected by tournament. If this evolution generation reaches the maximum evolution generation, it outputs the optimal solution and its fitness. Otherwise, it enters the next generation evolution and repeats the crossover mutation operation. The crossover module inputs population matrix \(Population[N,k]\), the fitness of all the individuals, the average fitness of the population \(fitness_{ave}\), the optimal solution \(A_{ij}(T_{i-\delta})\) of load balancing scheme in the former h periods, and the selection probability \(P\big{(}A_{ij}(T_{i-\delta})\big{)}\) of the optimal solution. The crossover module judges the crossover probability and crossover mode of the individuals according to individual fitness. The individual whose fitness is greater than the average fitness of the population takes the individual behind itself as the crossover object and randomly selects the crossover starting point and crossover length. After crossover, the two sub-individuals generated are inserted at the end of the population. Individuals whose fitness is less than the average fitness of the  
Figure 6: Flow Chart of load balancing method for satellite IoT beam.