• Tidak ada hasil yang ditemukan

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.