## 3 Rolling Horizon Dynamic Scheduling Strategy
If the latest completion time in the rescheduling of all of the activities occurs, the rolling process needs to be terminated. In an RH window, the scheduling procedure will go through four states based on the current scheduling time: (i) a new task; (ii) waiting tasks; (iii) running tasks; and (iv) finished tasks. In detail, a new task will be generated in the current RH window from the waiting tasks; it should be run and become the finished tasks. Then, another new task is scheduled again through the same procedure. The detail of the dynamic RH scheduling strategy is shown in Figure 3.  
In the periodic RH scheduling strategy, the number of RH scheduling and the system adaptability to dynamic factors are determined by the size of time window \(\Delta T\). If the \(\Delta T\) is too small, the amount of computation is reduced, but it considers less global information, and can lead to a decline in global performance. If \(\Delta T\) is too large, the computation time may increase by the heuristic algorithm, but the final performance may enhance the global solution. No fixed standard for the setting of \(\Delta T\) existed. In this paper, the \(\Delta T\) is specified according to the general characteristics of the scheduling problem and the scheduling algorithm efficiency. We will make an intensive discussion in the Section 5 to get an appropriate value in the RH scheduling strategy. Figure 2: Illustration of the dynamic rolling horizon (RH) strategy. The pseudo-code of the RH dynamic scheduling strategy algorithm is described in Algorithm 1  
```
Input: The object network data, priority of support operations, resource restraint, time window \(Tn\), and disruption type. Output: A dynamic scheduling project. 01: Generate a baseline static schedule by optimization algorithm. /*The pseudo-code of the optimization algorithm is given in the following Algorithm 2*/
02: For each activity of carrier aircraft \(I\) waiting for operation in set \(J_{i}\)
03: RH\(\leftarrow\)NULL; Finished \(Sn\leftarrow\)NULL;/*Initialization*/
04: For time window \(Tn=1\) to \(n\), do
05: Select the timing of activities (\(An\)) in time window \(Tn\); /*\(Tn\) is the nth time window*/
06: For Ai \(\in\)\(An\). Each activity that arrives before \(Tn\) does
07: If no disruption occurs
08: Add Ai to set RH; /*RH is the rolling horizon*/
09: Sort all of the activities in set RH, and schedule each activity by optimization algorithm; /Algorithm 2*/
10: Else if dynamic disruption occurs
11: Select the timing of activities (\(An\)) in a new time window for the set of the incomplete activities \(J_{i}\);
12: Add Ai to set RH;
13: Sort all of the unprocessed activities in set RH, and reschedule each activity by optimization algorithm; /*The pseudo-code of the optimization algorithm is given in the following Algorithm 2*/
14: End if
15: Add activity \(Ai\) to set of finished \(Sn\);
16: End for
17: Call Algorithm 2 in order to reschedule in RH;
18: End for
19: Update the scheduling decisions;
20: End for
```  
**Algorithm 1** Pseudo-code of rolling horizon dynamic scheduling strategy algorithm for carrier aircraft dynamic support scheduling under uncertain conditions. Figure 3: The flow chart of the dynamic rolling horizon scheduling strategy.