Notations:
Sets:
N = the number of aircraft in the sequence
NFCFS = the final set of aircraft in the FCFS algorithm
= the set of aircraft landing in position p with the FCFS algorithm
= the set of aircraft in FCFS with a time window for each aircraft
NCAS-TW = the final set of aircraft on the landing sequence after the CAS-TW algorithm
= the set of aircraft landing in position p with the CAS-TW algorithm
Csolp = the set of candidate solutions for position p in the landing sequence
= the aircraft selected in
Nop = the set of aircraft that were not initially chosen in the CAS-TW algorithm
= the aircraft in position i from Nop
Index:
p = position of the aircraft in the sequence,
i, j = indices representing aircraft
Parameters:
nMECPS = the maximum number of earliest CPS
nMLCPS = the maximum number of latest CPS
dlpd = the largest pairwise distance in the set
ei = earliest landing time for aircraft i
li = latest landing time for aircraft i
plt = present landing time
ti = FCFS time for aircraft i. It is the landing time that the aircraft i is scheduled to land after wake vortex separation.
= the separation time between two aircraft i and j when landing
We propose a systematic way to create a better landing sequence compared to the FCFS sequence. Our algorithm is divided into three modules. First, it generates all the time windows for each aircraft in the set. Second, it uses a constructive heuristic based on the nearest neighbour algorithm to determine the aircraft sequence. Finally, if the algorithm fails to provide a final landing sequence, an insertion heuristic based on the cheapest insertion algorithm inserts an aircraft, orphan point, between a pair, already included, respecting all time windows. A pseudocode for the main procedures is shown in Algorithm 1.
| Algorithm 1 Pseudocode for the CAS-TW main procedures |
| Initialization |
| Input: NFCFS |
| Output: NCAS-TW |
| 1. | CAS-TW.TIME-WINDOWS module |
| 2. | while NFCFS ≠ Ø |
| 3. | CAS-TW.CONSTRUCTION module |
| 4. | if NFCFS > 0 and the search stopped |
| 5. | CAS-TW.INSERTION module |
| 6. |
else |
| |
end while |
| 7. | end while |
| 8. | End |
Time-Window Module in the CAS-TW Procedure
The time-window module aims to calculate the time window constraint for each aircraft in the set. The time-window calculation follows the equity-based approach proposed by Bennell et al. [
6], which defines fairness using time shifting rather than position shifting constraints.
Constrained position shifting (CPS) restricts how far an aircraft can be moved within the FCFS landing sequence, preventing the indefinite delay of any aircraft. Aligned with previous studies [
8,
12,
13,
39,
40], CPS was adopted as a key sequencing constraint that limits the extent of scheduling revisions. It may incorporate the following parameters for the determination of the landing sequence: aircraft order—from one up to three [
8] or from one up to nine [
40]—or a defined time window, bounded by the earliest and latest time. The earliest time represents the earliest an aircraft is able to land if it flies at its maximum airspeed. The latest time represents the latest an aircraft can land if it flies at its most fuel-efficient airspeed while also holding (circling) for the maximum allowable time. Some studies establish the maximum landing time according to fuel requirements and assume that this maximum duration is sufficiently long so as to have no consequences [
39]. Bennell et al. [
6] suggested a preferable alternative to CPS that adopts the maximum time shifting, where an aircraft’s landing time cannot deviate by more than a given amount of time from its unconstrained landing time. Because the frequency of air traffic changes during the day, applying restraints on time shifts avoids the volatility in a flight’s delay that can occur when applying constraints on position shifts. In our study, we have used Bennell’s alternative.
Algorithm 2 shows the pseudocode for the time-window module.
| Algorithm 2 Pseudocode for the time-window module in the CAS-TW heuristic |
| Initialization |
| Input: NFCFS |
| Output: |
| 1. | Set nMECPS, nMLCPS, dlpd |
| 2. | Set plt = 0, p = 1 |
| 3. | Calculate ei |
| 4. | if ei < 0: |
| 5. | Set ei = 0 |
| |
end if |
| 6. |
Else |
| 7. | Maintain ei |
| 8. |
end else |
| 9. | Calculate li |
This module takes the FCFS sequence as input. One contribution of our proposed method is the definition of the time windows for each aircraft using the original (FCFS) sequence. The output of this module is the FCFS arrangement along with the earliest and latest allowed landing time. This is treated as a hard constraint in our algorithm. If a proposed solution violates this hard constraint, the result is considered infeasible. We use the largest pairwise distance in the set (dlpd) in all calculations, and this distance depends on the greatest wake vortex separation across all sets.
Equation (11) is adopted to calculate the earliest landing time of aircraft
i (e
i) as a function of the FCFS time for aircraft
i (t
i), the maximum number of earliest CPS (n
MECPS), and the largest pairwise distance in the set (d
lpd). The term e
i may take on negative values, especially for the first elements in the set. In this case, e
i is set to zero.
Equation 12 shows the steps to calculate the latest landing time (l
i) for aircraft
i. It uses the same parameters as the e
i calculation.
The next step in our algorithm is the construction module.
Construction Module in the CAS-TW Procedure
Algorithm 3 shows the pseudocode for the construction module in the CAS-TW.
| Algorithm 3 Pseudocode for the construction module in the CAS-TW heuristic |
| Input: |
| Output: NCAS-TW |
| 1. | Set plt = 0, p = 1 |
| 2. | , remove from NFCFS, p += 1 |
| 3. | while NFCFS ≠ Ø |
| 4. | if ei ≥ plt and li ≤ plt |
| 5. | Add aircraft i to Csolp |
| |
end if |
| 6. |
Else |
| 7. | Disregard aircraft i |
| 8. |
end else |
| 9. | Set |
| 10. | Remove from NFCFS, p += 1 |
| 11. | if NFCFS > 0 and the search stopped |
| 12. | CAS-TW.INSERTION module |
| 13. | else |
| 14. |
end while |
| 15. | end while |
The construction module relies on the Nearest Neighbour (NN) algorithm. The CAS-TW uses a combination of constructive and insertion heuristics. The NN heuristic [
41] enables the fast generation of initial sequences by minimizing local separation times, while the cheapest insertion heuristic [
42,
43] ensures that orphan aircraft are reintroduced into the sequence without violating time-window constraints.
NN is a tour constructive heuristic, which picks an arbitrary city from a collection of cities and later incrementally constructs a feasible TSP tour by including new cities that are elected following a specific heuristic procedure. To construct our algorithm, we used a concept from NN: in the search process for the next aircraft spot in the landing sequence, we chose from the available candidates the one that had the lowest pairwise separation from the preceding aircraft in the landing sequence. In the primary NN algorithm, the initial starting point is an arbitrary node. In our proposed method, the first aircraft is selected in advance. We select the first aircraft in the FCFS sequence to be the starting point in our sequence. The starting input in the NN is a two-dimensional distance matrix, and in the CAS-TW, is a two-dimensional wake vortex separation matrix and a one-dimensional earliest and latest time matrix. In the search process for the next point, the NN algorithm uses the shortest distance between the last node and the next node as the specific parameter. In the CAS-TW, choosing the next point is a direct function of the shortest distance, but it is constrained by the time window.
For each aircraft position in the CAS-TW algorithm (
), all aircraft that are inside the time window are combined with the candidate solution set (Csolp). The selected aircraft (
) is the one with the smallest value in the wake vortex separation time (s
ij), where
i is the
aircraft, and
j is an aircraft in Csolp. The selected aircraft is then removed from the FCFS set (N
FCFS), and the algorithm searches for the next aircraft in the sequence until the FCFS set is empty. Construction heuristics visit most points, but some points may be left out, especially the ones that cross the TSP path, because the distances to proceed to another neighbourhood of the problem or to go to left-over positions are generally much longer than the distances inside a neighbourhood [
42]. The insertion module is implemented when there are aircraft that are not sequenced for landing.
Insertion Module in the CAS-TW Procedure
Algorithm 4 presents the pseudocode for the insertion module in the CAS-TW heuristic.
| Algorithm 4 Pseudocode for the insertion module in the CAS-TW heuristic |
| Input: NFCFS |
| Output: NCAS-TW |
| 1. | if NFCFS > 0 and the search stopped |
| | Set Nop, Set NCAS-TW |
| 2. | while Nop ≠ Ø |
| 3. | For and each pair of aircraft (i-j) in NCAS-TW at the same time window |
| 4. |
|
| 5. | Add to NCAS-TW |
| 6. |
end while |
The main problem of construction heuristics is when the algorithm fails to visit some nodes on the route (orphan points). To overcome this problem, we opted to implement the cheapest insertion heuristic. This heuristic first rules that, for every remaining free or unvisited point, there is an optimal link that introduces this point. The algorithm chooses the position that has the minimum associated insertion penalty to introduce the point. The insertion cost is the sum of the distance to the free point, minus the distance of the link that will be cut out. This refers to the minimization in Equation (13), where
k is the orphan point,
i-
j are the links of the tour, and
c is the cost of the tour [
42]. Insertion heuristics can be adapted to address specific constraints in real-world TSP variants, such as time windows, asymmetric costs, and precedence constraints [
43].
In the original cheapest insertion heuristic, the only criterion of choice is to establish the minimum cost of the inserted point. In the CAS-TW, another factor is that the inserted point must respect the allowed time window.
Our proposed solution maintains the greedy behaviour of both the NN and the cheapest insertion heuristics. Greedy algorithms exclusively focus on the next step (local optimum) and do not change prior decisions, are effective in real-time scenarios like ATM. Even in classic optimization problems such as the TSP, heuristic strategies like Dijkstra’s algorithm have proven useful [
42]. This reinforces that even complex scheduling problems benefit from heuristic strategies, especially when real-time applicability is the main issue.
To illustrate in a practical way how the CAS-TW works under operational restrictions, an example with four aircraft has been included. This example highlights the logic behind the aircraft prioritization, focusing on viable sequences that respect the assigned time window for each aircraft in the sequence.
Consider four aircraft (A1, A2, A3, and A4) with an arriving sequence based on the FCFS algorithm. Each aircraft belongs to the following wake vortex category:
A1: Heavy;
A2: Medium;
A3: Light; and
A4: Medium.
The minimum separation among aircraft pairs, according to each aircraft category, is presented in
Table 2.
Let us suppose that the FCFS sequence estimates the following landing times for each aircraft, resulting in a final makespan (landing time) of 300 s:
A1: 0 s;
A2: 120 s;
A3: 210 s; and
A4: 300 s.
Considering nMECPS = 1, nMLCPS = 1, and dlpd = 167 s (the greatest separation time among the aircraft in the sequence), each aircraft has the following time window:
A1: [0, 167] s;
A2: [0, 287] s;
A3: [43, 377] s; and
A4: [133, 467] s.
With this information, there are 24 possible aircraft landing sequences. For simplicity, we analyze three of them to illustrate the concepts previously presented:
(a) Landing Sequence 1 (FCFS): A1; A2; A3; A4;
Landing time: [0, 114, 252, 326] s;
Makespan: 326 s; and
Viable sequence: all time windows are respected.
(b) Landing Sequence 2: A1; A3; A2; A4;
Landing time: [0, 167; 241; 315] s;
Makespan: 315 s;
Viable sequence: all time windows are respected; and
Better sequence than Landing Sequence 1.
(c) Landing Sequence 3: A3; A1; A2; A4;
Table 3 shows the scheduled landing times for the three landing sequences analyzed above.
To better illustrate the above example,
Figure 1 shows a Gantt chart comparing the landing sequences, including the standard FCFS (Landing Sequence 1) and two alternative sequences. Landing Sequence 2 is a viable option, while Landing Sequence 3 violates one time-window constraint (unviable sequence).
Even with a better makespan, unviable sequences are not used. This example considers only a sequence with four aircraft. In real-world problems, however, aircraft sequences may involve more than 30 aircraft, which exponentially increases the computational time required to solve the problem (NP-Hard). To avoid solving this problem by brute force, the CAS-TW algorithm selects only candidate aircraft with feasible times for each available time window, as previously described in the Section Insertion Module in the CAS-TW Procedure.