Integrated Airline Scheduling
4.3 Sequential Approach .1 Overview.1Overview
4.3.2 Solution Steps
4.3.2.3 Schedule Optimization
108 4 Integrated Airline Scheduling time). This is accomplished by including new flights into the schedule. First, ad- ditional flights are inserted to connect two components. If additional flights cannot be included because there is not enough time left between the existing flights, the available time is increased by deleting other flights. The number of flights deleted is increased until sufficient connecting flights can be included (at maximum, all flights of one LOF are deleted to allow the unlocking). Like the Unlocker of Gopalan and Talluri (1998a), any modification is only allowed if all constraints are satisfied (cur- few restrictions, airport operating hours, turn times, operational restrictions etc.).
Although this procedure might result in large changes to the schedule with reduced profit, it has to be included to obtain feasible solutions.
The maintenance routing model assumes that each LOF begins with a flight de- parting after 2 a.m. The routing for each fleet type then is constructed by connecting these LOFs via the overnighting stations to a single circle. However, because the maintenance routing algorithm only considers the origin and destination airport of each LOF when connecting, it might be possible that an LOF starting at 2 a.m. is attached to an LOF ending after 2 a.m., if for example the last flight of the first LOF departs before and arrives after 2 a.m. Although not violating the constraints of the maintenance routing algorithm, this situation would lead to an infeasible routing sequence. In such cases, the routings have to be modified. If there is an LOF that exceeds the departure time of the following LOF, the amount of time that has to be saved to produce a feasible solution is removed from idle ground times between the flights of the LOF. If there is not enough ground time available, two succeeding flights (with the smallest market size) are replaced by one direct flight. To produce a feasible solution, any constraints (curfew restrictions, airport operating hours, fleet ranges, etc.) are taken into account when applying the changes.
Fig. 4.21 Schedule optimization steps
deleting or inserting flights while maintaining feasibility. A modification is kept if it increases the operating profit. If there is no further increase in profit or a maximum number of iterations ioptimizemax is achieved, the algorithm stops. ioptimizemax is determined by a parameter poptimizeand the number of flights|F|in the current schedule:
ioptimizemax =poptimize· |F|. (4.51) The last two steps (Flight Choice and Flight Addition) do not directly change the schedule but work in conjunction with the fleet assignment step in the next iteration of the complete planning approach. Compared to the first three optimization steps, these methods are of minor importance to the overall schedule optimization. In the following, the first three optimization steps are presented including their details as pseudo-code. Then, the last two optimization steps are described.
Slack Reduction. The objective of the step Slack Reduction is to minimize idle ground time of aircraft by including new flights into the schedule. Every routing of every aircraft is checked for sufficient ground time between any two succeeding flights. If there is enough time available (the second flight might be shifted back- wards), two round-trip flights are inserted at this position. All restrictions have to remain fulfilled. The departure times of both new flights are evenly distributed over the free time period, leading to ground times of the same lenghts between the af- fected flights. The departure and arrival airport of the round-trip is given by the surrounding flights. Candidates of the airports connecting both flights of the new round-trip are selected by testing all possible airports. All possible round-trip candi- dates are evaluated according to their contribution to the overall operating profit, the one with the highest contribution is selected. The calculation of the profit contribu- tion of a round-trip candidate requires the evaluation of the schedule including this round-trip, because the connectivity of the flights is changed resulting in different passenger flows. The complete specification of the Slack Reduction step is presented as a pseudo-code in algorithm 4.
Airport Removal. The algorithm Airport Removal removes the connecting airport of two succeeding flights and, thus, replaces the two flights by one direct flight.
This procedure allows the reduction of the number of less profitable flights and creates more slack time that could be filled with new flights using the Slack Re- duction procedure. Given all candidates of airports between two connecting flights, the one resulting in a maximum increase in operating profit is removed. The com- plete specification of the Slack Reduction step is presented as a pseudo-code in algorithm 5.
110 4 Integrated Airline Scheduling Algorithm 4. Slack Reduction
1: read schedule F
2: read available set of airports A 3: i=0
4: repeat 5: i=i+1
6: Fm=F {Fmis working schedule} 7: Ft=F {Ftis temporary best schedule} 8: for all flights f of F do
9: e is direct predecessor of f 10: g is direct successor of f
11: calculate available ground time te fbetween e and f 12: calculate available ground time tf gbetween f and g 13: for all airports a of A do
14: create flights x and y connecting e and f via a 15: if x,y satisfy fleet restrictions
and x,y satisfy maintenance restrictions and x,y satisfy curfew restrictions then 16: if te f+tf glong enough for x and y then
17: fm=f
18: if te f not long enough for x and y then 19: postpone fmuntil te flong enough for x and y
20: end if
21: if f,x,y satisfy airport operating hours then
22: Fm=F
23: replace f by fm
24: include x and y between e and fmin Fm
25: if profit of Fmhigher than profit Ftthen
26: Ft=Fm
27: end if
28: end if
29: end if
30: end if
31: end for
32: end for
33: if profit of Fthigher than profit F then 34: F=Ft
35: end if
36: until profit of Ftlower than profit F or i>ioptimizemax
37: return schedule F
Algorithm 5. Airport Removal 1: read schedule F
2: read available set of airports A 3: i=0
4: repeat 5: i=i+1
6: Fm=F {Fmis working schedule} 7: Ft=F {Ftis temporary best schedule} 8: for all flights f of F do
9: e is direct predecessor of f 10: g is direct successor of f 11: h is direct successor of g 12: create flight x connecting e and h 13: if x satisfies fleet restrictions
and x satisfies maintenance restrictions and x satisfies curfew restrictions and x satisfies airport operating hours then
14: Fm=F
15: include x, remove f and g from schedule Fm
16: if profit of Fmhigher than profit Ftthen
17: Ft=Fm
18: end if
19: end if 20: end for
21: if profit of Fthigher than profit F then 22: F=Ft
23: end if
24: until profit of Ftlower than profit F or i>ioptimizemax
25: return schedule F
Airport Optimization. The Airport Optimization step changes airports of connect- ing flights to improve the schedule. Each airport represents a departure airport and arrival airport of two flights, thus, if the airport is changed, the two corresponding flights are replaced. The new airport and the one to be replaced are selected accord- ing to the highest increase of the operating profit by the two corresponding new flights. The complete specification of the Airport Optimization step is presented as a pseudo-code in algorithm 6.
112 4 Integrated Airline Scheduling
Algorithm 6. Airport Optimization 1: read schedule F
2: read available set of airports A 3: i=0
4: repeat 5: i=i+1
6: Fm=F {Fmis working schedule} 7: Ft=F {Ftis temporary best schedule} 8: for all flights f of F do
9: e is direct predecessor of f 10: g is direct successor of f 11: h is direct successor of g
12: calculate available time tehbetween e and h 13: for all airports a of A do
14: create flights x and y connecting e and h via a 15: if x,y satisfy fleet restrictions
and x,y satisfy maintenance restrictions and x,y satisfy curfew restrictions and x,y satisfy airport operating hours and tehlong enough for x and y then
16: Fm=F
17: replace f and g by x and y in Fm
18: end if
19: end for
20: end for
21: if profit of Fthigher than profit F then 22: F=Ft
23: end if
24: until profit of Ftlower than profit F or i>ioptimizemax
25: return schedule F
Flight Choice. The objective of this step is to remove non-beneficial flights from the flight schedule. The number of flights being subject to removal is controlled as per- centage popt∈[0,1]of the total number of flights in the schedule. Then, the flights with the lowest profit contribution are chosen as candidates for deletion. Instead of immediately removing the flights, this operator assigns the attribute optional to these flights. The fleet assignment actually removes the flights if they are not necessary to meet fleet assignment constraints.
Flight Addition. In this step, new round-trip flights are created and included in the schedule. The number of new flights is chosen according to a percentage pnew∈[0,1]of the number of flights in the current schedule. The markets in which new flights are added are chosen randomly according to the size of the remaining demand in this market (high demand markets receive a higher selection probabil- ity). The parameter twnew=2·tw controls the length of the time window for the fleet assignment step (see page 103). The larger time window increases the flexi- bility which is necessary to fit the new flights into the schedule. The probability of assigning the attribute optional for the new flights is 1−popt.