The aim of the IP is to generate a set of promising solutions to be used as starting points in the simulation optimisation process. This will result in a set of aircraft allo-cations and initial values for the planned delays. As the overall problem has multiple conflicting objectives (for example, fewer aircraft exchanges gives less flexibility for reducing cost), we take the view that the importance of each objective is not known a priori, so presenting a range of solutions allows the decision maker to decide on the preferences. The -constraint method (Haimes et al., 1971) is used to produce several
solutions by treating all but one objective as problem constraints. In this case, the objectives of minimising the number of aircraft reassignments (3.3.3) and minimising total delay (3.3.4) are added to the IP as constraints:
X
The limits of these constraints determine the priority levels of each objective by forcing the IP solver to search particular areas of the feasible region. Thus, by changing these limits systematically and solving the IP problem for each set of limits (with cost as the objective), one can find multiple Pareto optimal solutions corresponding to different priority levels for the objectives.
In theory, if all possible combinations of lE, uE, lD, and uD are used, the entire Pareto frontier will be discovered. However, this can be a very time consuming pro-cess, sometimes leading to the same solution being found multiple times, so several algorithms have been designed to systematically vary the limits lE, uE, lD and uD to find the Pareto frontier quickly. Here we use an efficient method proposed by Lau-manns et al. (2006). An example of this process is shown in Figure 3.4.1, each plot showing the result of one iteration of the algorithm.
In iteration 1, the IP is solved without (3.4.1) and (3.4.2) constraining the problem, or with a maximum value considered a limit by the airline (which may be particu-larly relevant for aircraft exchanges). Due to the nature of the quantities, having no constraints is equivalent to defining lD = lE = 0 (that is, no delays and no exchanges) and uD = nM (all flights delayed by the maximum amount) and uE = n (no flights
Delay
Iteration 1 Solve IP Iteration 2 Solve IP Iteration 3
Solve IP
Iteration 4 Solve IP Iteration 5 Infeasible IP Iteration 6
Figure 3.4.1: An example of the -constraint approach proposed by Laumanns et al.
(2006).
operated using their original aircraft). This results in an optimal cost solution (x1, d1) (the first plot in Figure 3.4.1). Say that this solution has E1 aircraft exchanges and a total delay of D1. These values are then used to partition the objective space into four sectors:
[0, E1) × [0, D1), [E1, n] × [0, D1), [0, E1) × [D1, nM ], [E1, n] × [D1, nM ].
The solution (x1, d1) is the best solution in [E1, n]×[D1, nM ] (top right in the first plot of Figure 3.4.1) as no other solution in this region could have lower costs, exchanges or delay. Therefore, this region is considered searched, indicated by the gray shading.
The algorithm does not choose limits within this region again.
In each iteration, the algorithm must select one of the unsearched sectors to define a new set of limits for constraints (3.4.1) and (3.4.2). To do this, it considers the individual sectors of the grid resulting from the partitions defined by the solutions found so far (the dashed lines in Figure 3.4.1). The selection procedure begins in the sector with the highest delay and exchanges (top right in each plot of Figure 3.4.1). It then iteratively moves right to left (reducing the number of exchanges whilst retaining the delay limits) through the sectors of a row, a row at a time, until it reaches an unsearched sector. Note that it will return an individual sector, not a combination of sectors. In the first iteration of Figure 3.4.1, moving left (and thus reducing exchanges) from [E1, n] × [D1, nM ] leads to [0, E1) × [D1, nM ], which is unsearched and so selected as the next region (shaded in yellow). In Iteration 2, starting in the top right and moving left along the top row takes us through one searched area and into [0, E2) × [D2, nM ], which is unsearched and so selected for the next iteration. In the third iteration of Figure 3.4.1, the top row is entirely searched (as the solution at E3 = 0), and so the selection procedure moves left along the second row of sectors; the first two are searched and so [0, E2) × [D2, D3) is selected.
Choosing to reduce the exchanges before the delays means that finding solutions with fewer exchanges is prioritised. Note that the ends of the interval may be open to prevent the optimisation reaching a previous solution again.
Once the region has been selected, the IP is solved with the corresponding con-straint limits. If the solver finds a new solution, with E0 exchanges and a total delay D0, this is added to the list of solutions producing the grid partitioning the space and the searched region is extended by the sector [E0, uE) × [D0, uD) (no better solution
could exist in this sector). The partitions of the space become finer with each iter-ation, though the minimum granularity is restricted by the discrete nature of both exchanges and delay in the IP. For our example, in Iteration 2 of Figure 3.4.1, the new solution (x2, d2) has E2 exchanges and a total delay of D2. Therefore, the region [E2, uE) × [D2, uD) is labelled searched and more partitions are added (see the second plot in Figure 3.4.1, which now has nine regions). On the other hand, if the solver identifies the region as infeasible, and so contains no solution, its entirety will be la-belled searched. Otherwise the grid does not change from the previous iteration. In our example, the transition from Iteration 5 to Iteration 6 in Figure 3.4.1, the solver could not find any solutions in [E2, E5) × [D5, D4), and so this entire region is shaded gray in Iteration 6.
Once a solution has been found (or the sector labelled infeasible) and the partitions have been updated, the algorithm selects a new unsearched region (an area shaded in yellow). This process of selecting a sector, solving to find a new solution, splitting the sectors further and blocking off searched regions is repeated, corresponding to iterations 3, 4, 5 etc. In practise, this procedure produces solutions where the number of exchanges is decreased at the expense of cost and delay, until the zero-exchange option is found (if feasible), see Iterations 1 to 3 in Figure 3.4.1. This takes at most E1 iterations. This first ‘round’ is followed by a sequence of iterations with a stricter limit on the total delay objective, each working its way toward a zero exchange option before making uD smaller again and repeating.
Given sufficient time, i.e., polynomial in the number of Pareto optimal solutions, the algorithm will eventually search the whole space and find all of the solutions on
the Pareto frontier (Laumanns et al., 2006). In our application, however, the process stops after a time limit. For each sector, we use the Gurobi Optimizer 7.0.2 (Gurobi Optimization, LLC., 2017) to find the optimal solution for the IP, or the best solution so far if the time limit is reached. Due to the time limit, the algorithm is likely to leave some sectors unsearched or with a sub-optimal solution so that we do not have the complete Pareto optimal set. Furthermore, it may take time to find the first Pareto optimal result. The solver may find a sequence of cost optimal solutions that are only weakly Pareto optimal, as fewer aircraft exchanges can be made whilst achieving the same cost (this is often due to reallocating flights that are not part of the disruption).
This is demonstrated in the computational experiments in Chapter 5. Thus, within the time limit, Pareto optimal solutions cannot be guaranteed.
The result is a set of solutions, X , each with an aircraft allocation, a set of cancelled flights, and a delay value for all flights in the programme. Due to the time limitations, it is not possible to guarantee the properties of the solutions within X . However, if more than one solution is produced, we will have a cost optimal solution and multiple aircraft allocations to offer options to the airline. On the other hand, if a cost optimal Pareto solution is found quickly this method can find a number of Pareto optimal solutions that represent the trade-off between the objectives. Whilst the solutions in X may be incomplete and possibly sub-optimal, they are nevertheless the result of a purposeful search over the solution space of the low-fidelity problem. As such, the solutions will be used as a set of sensible starting points within the simulation optimisation procedure, described in Chapter 4.