## 4 Rule-Based Large Neighborhood Search Algorithm (RLNS)
### Heuristic Rules and Various Operators
#### 4.2.5. Onboard Data First-Come-First-Served Transmission Operator  
An on-orbit data transmission tasks scheduling operator is based on the target data transmission allocation scheme and the observation task scheduling results: after determining the allocation scheme for the target ground station, the satellite observation task scheduling results are combined to downlink satellite data according to the first-come, first-served rule, while satisfying the logical constraints of observation and data transmission. When determining the transmission time for each data transmission opportunity, the observation end time of the corresponding targets that have been observed but not yet transmitted is used to sequentially select the targets that need to be transmitted, ensuring that the difference between the end time of the time window and the start time of the transmission does not exceed the specified limit, as shown in Algorithm 4. ```
0: Transmission Tasks Allocations: \(matrix\_y\)
0: Transmission Tasks Scheduling Scheme: \(is\_downloaded\)\(\triangleright\) also contains other informations such as starttime, endtime et al. if\(matrix\_y==1\)then\(timeNodes.push\_back(timenode)\) endif
1:\(sort(timeNodes.begin(),timeNodes.end())\)\(is\_scheduled[]\gets 0\) while\(i\leq size\_of\_(timeNodes)\)doif\(timeNodes[i].endtime>sat\_temptime\) &&\(timeNodes[i].endtime>sta\_temptime\)then
2:\(g\_start[timeNodes[i].sta]\gets max\{timeNodes[i].endtime,sat\_temptime+sat\_slewtime\}\) while\(duration\leq max\_duration\) &&\(j\leq n\)doif\(x\_end[j]>temptime\) &&\(is\_downloaded[j]\
eq 1\)then\(duration\gets duration+time[j]\)
3:\(is\_downloaded[timeNodes[i].task]\gets 1\) endif endwhile \(sat\_temptime\gets g\_end[timeNodes[i].sat]\)
4:\(sta\_temptime\gets g\_end[timeNodes[i].sta]\)
5:endif endwhile
```  
**Algorithm 4** Observation Task Scheduling  
#### 4.2.5. Onboard Data First-Come-First-Served Transmission Operator  
An on-orbit data transmission tasks scheduling operator is based on the target data transmission allocation scheme and the observation task scheduling results: after determining the allocation scheme for the target ground station, the satellite observation task scheduling results are combined to downlink satellite data according to the first-come, first-served rule, while satisfying the logical constraints of observation and data transmission. When determining the transmission time for each data transmission opportunity, the observation end time of the corresponding targets that have been observed but not yet transmitted is used to sequentially select the targets that need to be transmitted, ensuring that the difference between the end time of the time window and the start time of the transmission does not exceed the specified limit, as shown in Algorithm 4. ```
0: Transmission Tasks Allocations: \(matrix\_y\)
0: Transmission Tasks Scheduling Scheme: \(is\_downloaded\)\(\triangleright\) also contains other informations such as starttime, endtime et al. if\(matrix\_y==1\)then\(timeNodes.push\_back(timenode)\)\(\triangleright\) also contains other informations such as starttime, endtime et al. #### 4.2.6 Sequence-Based Observation Tasks Scheduling Algorithm

The observation tasks scheduling operator is based on task sequences: after perturbing the task sequence, it is necessary to arrange the start and end times of observation tasks according to the new task sequence.