Available online at www.sciencedirect.com
Procedia Social and Behavioral Sciences 20 (2011) 1029–1040
14th EWGT & 26th MEC & 1st RH
The airline schedule optimization model: validation and sensitivity analysis Obrad Babica,*, Milica Kalica, Danica Babica, Slavica Dozica a
University of Belgrade, Faculty of Transport and Traffic Engineering, Vojvode Stepe 305, Belgrade 11000, Republic of Serbia
Abstract The Airline Schedule Optimization (ASO) Advanced decision support system (DSS) provides a solution as a proposal of a new flight schedule, in situations when an airline’s flight scheduled is disturbed, which would minimize the negative effects of those disturbances. The ASO DSS was successfully tested and validated in Airline Operation Control Centre. Further, the sensitivity analysis was done where the main task was to analyze how the values of the penalties defined in the DSS influence on generated solutions by the ASO Advanced. The results of the model validation as well as the sensitivity analysis are presented in this paper. © 2011 Published by Elsevier Ltd. Open access under CC BY-NC-ND license. Selection and/or peer-review under responsibility of the Organizing Committee. Keywords: integer programming, container loading, aircraft weight and balance problem
1. Introduction The airline operational flight schedule consists of flights including their departure and arrival airports and times, their day of operation, and the assigned fleet types, as well as assignment of specific aircraft and cockpit and cabin crews. The scope of this paper is a daily operational flight schedule as complete plan with aircraft routing in a phase of realization. Every day, during the realization of flight schedule some irregular operations are happened. The dispatchers in Airline Operational Control Centre (AOCC) handle these problems caused by airport closures, weather effects, or unscheduled maintenance, making flight rescheduling with goal to minimize negative effects of disturbances. Flight delays, aircraft and crew swapping, flight cancellations, additional flights, using spare aircraft or crew for realization of planned operations, etc. are the measures that dispatcher used to solve disturbance problem. Dispatchers face with two problems: aircraft schedule recovery and crew re-assignment, taking into account all constraints, factors and regulations, while trying to find solutions in a few minutes. The problem is to keep the effects of disturbances as low as possible and to return to regular operations.
*
Obrad Babic. Tel.: +381113091231; fax: +381112496476. E-mail address:
[email protected]
1877–0428 © 2011 Published by Elsevier Ltd. Open access under CC BY-NC-ND license. Selection and/or peer-review under responsibility of the Organizing Committee doi:10.1016/j.sbspro.2011.08.112
1030
Obrad Babic et al. / Procedia Social and Behavioral Sciences 20 (2011) 1029–1040
This is why, as a matter of major importance, the need for computational methods and techniques arise. Implementation of these methods and techniques in the decision-making process should facilitate the creation of feasible and economic acceptable solutions within a short period of time. The main goal of decision support system (DSS) as a computer-based information system is to help dispatchers in their work by accelerating the decisionmaking process and increasing the quality of decisions made. The example of a decision support system, designed as an interactive software-based system to help in dispatcher decision making, is Airline Schedule Optimization (ASO) Advanced DSS, developed at the Faculty of Transport and Traffic Engineering, University of Belgrade. In situations when an airline’s scheduled activities are disturbed, the ASO Advanced DSS is used to design new flight schedule within a short period of time, which minimizes the negative effects of those disturbances. This original DSS is designed to work in real time as a support for dispatchers, helping them to make right decisions on the solution to problems caused by unexpected disturbances. The ASO Advanced DSS consists of mathematical model, described in Section 2, and heuristic algorithm, described in Section 3. Section 4 illustrates the ASO Advanced DSS by numerical example. The results of the ASO Advanced DSS validation and sensitivity analysis are presented in Section 5 and Section 6, respectively. Finally, Section 7 provides the main conclusions and some directions for further research. 2. ASO Advanced DSS - mathematical model The Airline Schedule Disturbances Problem (ASDP) considered in this paper, can be defined in the following way, (Report on project, 2002-2005, Babic et al, 2010). For a planned daily flight schedule of an airline under conditions when a disturbance has occurred, the dispatcher should design a new daily operational flight schedule as a response to schedule disruptions, such that the total “profit” of the airline is maximized and that the corresponding constraints are satisfied. “The profit” of the airline can be expressed as the difference between the passenger tickets revenue and the costs. In the absence of disturbance, the objective function is expressed as the difference between the passenger tickets revenue and the fix direct operational costs. Additional costs are present only in the case of disturbance and they are: the priority and the non-priority flight cancellation cost, the aircraft regular maintenance disturbance cost, the aircraft balance cost, and the flight delay cost. According to this, the objective function in the case of disturbance is expressed as the difference between the passenger tickets revenue and the total costs: PROFIT = PASSENGER TICKETS REVENUE – (DIRECT OPERATIONAL COSTS + ADDITIONAL COSTS) In order to determine a new daily operational flight schedule, some assumptions are introduced: x A disturbance may occur at an airport or on an aircraft. For each of them the corresponding starting and ending time of the disturbance is defined in advance; x The flight schedule recovery period is the time period from the starting time, corresponding to the identified disturbance, to the last moment at which the timetable for the following day is not disturbed; x The airline has a fleet which consists of different types of aircraft where aircraft of the same type have the same seat capacity; x The aircraft ground handling time depends on the aircraft type and the airport where the handling occurs; x Aircraft can be swapped – larger aircraft can service flights originally assigned to smaller ones, smaller aircraft can service flights originally assigned to larger ones, if the number of passengers is not greater than its seat capacity. The aircraft swapping cost is not considered, i.e. it is assumed that there is no any additional cost; x There are no spare aircraft in the fleet; a set of priority flights is given (flights with the slot time, transfer passengers, etc.); the maximal allowed delay is defined for each flight; ferry flights (flights with no passengers) are not allowed; crew constraints are not considered x Priority flights can be realized according to the so-called VIA principle. Flights i and j are planned flight, where i is a priority flight from airport B to airport C, while j is a non-priority one from airport A to airport C. If at airport B the aircraft assigned to flight i has a failure, the aircraft assigned to flight j can realize an additional unplanned
1031
Obrad Babic et al. / Procedia Social and Behavioral Sciences 20 (2011) 1029–1040
flight i’ (from A to B), and then priority flight i. In this way that aircraft can service both flight i and flight j, but only if time constrains and seat capacity are satisfied. Therefore, for each planned priority flight (i) a set of additional non planned flights (i’), is given in advance. x For each flight the average fare per passenger, the average delay cost per time unit and the cancellation cost for priority and non-priority flights are known in advance. The following constraints for ASDP are specified: (1) Time constraints: Each flight in a new flight schedule should depart no earlier than the departure time planned before the disturbance occurrence and, no earlier than the disturbance end time. If the departure time of a flight in the new schedule is delayed compared to the planned time, this delay should not be greater than the maximal delay allowed for this flight. The take-off and landing of each flight in the new schedule should be serviced at the corresponding airport by the end of its working hours. (2) Aircraft maintenance constraints: Each aircraft, planned to undergo regular technical maintenance at the end of the flight schedule recovery period, should finish its rotation at the defined airport where the maintenance is performed. (3) Aircraft balance constraints: In order to successfully service the planned flights after the recovery period, it is necessary that at the end of this period certain types of aircraft are available at each airport in sufficient numbers. (4) Capacity constraints: The number of passengers on each flight should not be greater than the seat capacity of the aircraft assigned to this flight. Let us introduce the some notations of input parameters (the other notations can be found in: P – profit; F - set of flights that should be serviced in the recovery period; Pr - set of priority flights; Fc - set F enlarged with all additional flights which can be used for the VIA realization of priority flights; TP(i) - the departure time of flight i planned before the disturbance occurrence; pax(i) - the number of passengers on flight i; fare(i) - the average fare per passenger on flight i; k(i) - the cancellation cost of priority flight i; k2(i) - the cancellation cost for non-priority flight i; k1 - the delay cost of a flight per a time unit; AC - set of aircraft available for servicing flights from Fc ; cap(l) - the seat capacity of an aircraft of type l; a(l,k) - the ground handling time for an aircraft of type l at airport k; D(i,j) - the direct operational cost when flight i is serviced by aircraft j; MNT - set of aircraft which should finish its rotation at certain airports for the regular technical maintenance; mnt(j) - the airport where aircraft j should finish its rotation; k3(j) - the penalty cost if aircraft j is not present at airport mnt(j) at the end of the recovery period; PTYPE(k) - set of aircraft types which should be available at airport k at the end of the recovery period; notype(l,k) the number of aircraft with the seat capacity not smaller than cap(l), which should finish their rotation at airport k; pen(l,k) - the penalty cost per aircraft when the number of aircraft, with the seat capacity not smaller than cap(l), which finish their rotation at airport k, is smaller than notype(l,k). The decision variables are defined as follows: TR(i): the earliest possible departure time for flight i; X(i,j) - a binary variable equal to 1 if aircraft j is assigned to flight i, 0 otherwise; can(i) - a binary variable equal to1 if flight i is cancelled, 0 otherwise; ment(i) - a binary variable equal to 1 if aircraft j, requiring the regular technical maintenance, has not finished its rotation at airport mnt(j), 0 otherwise; sat(s,l,j,k) - a binary variable equal to 1 if aircraft j , finishing its rotation at airport k, satisfies the s-th necessity of this airport for aircraft type l, 0 otherwise. Using the previously introduced notations the objective function of ASDP can be formally expressed by relation (1):
max P
§
¦ fare(i) pax(i)1 can(i) ¨¨ ¦ ¦ D(i, j ) X (i, j )
© iF c jAC ¦ k (i )can (i ) k1 ¦ (TR(i ) TP(i ))1 can (i ) iF
iPr
¦k
iF \ Pr
¦
iF
2
(i )can (i )
¦k
jMNT
¦
k AP lPTYPE ( k )
3
(1)
( j )ment ( j )
pen (l , k )notype (l , k )
notype( l , k )
·
¦ ¦ sat ( s, l , j, k ) ¸¸ s 1 j AC
¹
1032
Obrad Babic et al. / Procedia Social and Behavioral Sciences 20 (2011) 1029–1040
The first term in (1) represents the passenger tickets revenue, while the second term (given in brackets) is the cost consisting of the direct operational flight costs, the priority-flight cancellation costs, the flight-delay costs, the nonpriority flight cancellation costs, the aircraft maintenance disturbance costs and the balance disturbance costs. Let us notice that, defining the objective function in form (1), we in fact relax the aircraft maintenance and the aircraft balance constraints, introducing the total penalized violation of these constraints as part of its cost. In this way, although the constraints can be unsatisfied, the maximization of the objective function tends to minimize their violation. As this problem is known to be NP-hard and it should be solved in real-time, instead of making a great effort to find such an appropriate model and try to solve it using an exact method, we focus on a heuristic approach to the problem. Therefore, in the next section we propose a heuristic algorithm for determining a list of feasible “satisfactory” (sub-optimal) daily flight schedules, among which the dispatcher can select and implement the most convenient one. 3. ASO Advanced DSS - heuristic algorithm When disturbance occur the dispatcher enters input to describe the disturbance, and the ASO DSS Advanced generates the set of feasible solutions and the final n solutions list is offered to the dispatcher, sorted by the value of objective function, in descending order, (Report on project, 2002-2005, Babic et al, 2010). In this algorithm rotation is defined as a one-day rotation or part of multi-day rotation during the considered day, which consists of mini rotations (a series of flights linked to each other where the departure airport of the first flight is the same as the arrival airport of the last flight in the series: A-B-A), and simple rotation segments (a series of flights linked to each other where the departure airport of the first flight and the arrival airport of the last flight in the series are different airports: A-B-C). The results of disturbances are flight delay and/or cancellation. The flight can be cancelled temporarily or permanently. A temporarily cancelled flight can be realized by adding (if it is possible) its cancelled mini rotation/simple segment to the rotation of some of the other aircraft before the first flight, between flights, or after the last flight in the rotation. The temporarily cancelled flights and its cancelled mini rotations/simple segments are permanently cancelled if there is no possibility to add them to the rotation of one of the other aircraft by any of previously described ways. Also, priority flight and its mini rotation or all following flights of its simple segment by the end of the considered day, are permanently cancelled if there is no possible way to realize it using the VIA principle. In order to reduce the total delay and/or the balance disturbance cost, the delayed flights can be crossed. Crossing delayed flights can be achieved by two operations: removing part of one and adding it to the other rotation, and interchanging parts of two rotations. Removing part of one and adding to the other rotation refer to the delayed flights whose delay is not directly caused by the airport disturbance. Shifting those flights to the other rotation is an attempt to reduce its delay, i.e. to decrease the value of the objective function (1). Interchanging parts of two rotations is possible only if it leads to delay reduction. In order to interchange parts of two rotations, it is necessary that these parts depart from the same airport within the time period from the planned departure time to the time caused by the maximal allowed delay of the considered flights. Let us mention that not only parts with the delayed flights can be interchanged, but also with delayed and no delayed flights if the total delay is reduced in this way. Starting from the previous considerations special heuristic algorithm (Fig. 1) consists of the four steps (for more details see Babic et al, 2010). The first step is design of the basic feasible schedule. In the second step algorithm tries to reduce the number of temporarily cancelled flights by adding them to the basic feasible solution. The third step refers to rotation crossing i.e. removing parts of the rotation and adding them to some other rotation (the first part of Step 3) and interchanging parts of two rotations (the second part of Step 3) in order to reduce the total delay. The fourth step is the end of the algorithm. As a result the final n solutions list is offered to the dispatcher, sorted in a descending order of the objective function value.
Obrad Babic et al. / Procedia Social and Behavioral Sciences 20 (2011) 1029–1040
1033
Disturbance
Designing the basic feasible schedule
Adding temporarily cancelled flights
Rotation crossing Final n solutions list Figure 1. The scheme of special heuristic algorithm
4. Numerical example The ASO Advanced DSS will be illustrated on a numerical example with reference to a European mid-size airline timetable. For the values of penalties we used one estimated by the dispatchers and those values are in accordance with the airline policy. In the presented numerical example they are: penalty for priority flight cancellation k(i)=20,000 units, penalty for non-priority flight cancellation, k2(i)=10,000 units, penalty for regular maintenance disturbance, k3(j)=5,000 units, penalty for aircraft balance disturbance, pen(l,k)=3,000 units, and penalty for flight delay k1=1 unit per minute. In the considered examples the maximum allowed delay for domestic flights is 360 minutes, and maximum allowed delay for international flight is 180 minutes. Within the given day, operations were serviced by 29 aircraft from sub-fleets Airbus 319, 320, 321, 322 and 32C, Boeing 736, 738, 739 and 73G, as well as from the Fokker F70 sub-fleet. All aircraft are assigned to 126 flights. Example 1: Aircraft 321-YYLBC has a malfunction and it is being repaired from 8:00 AM until 11:00 PM. Disturbance duration is 15 h, i.e. 900 min. At the moment when the disturbance occurred the affected aircraft was situated at Vienna airport and flights affected by disturbance are: XX863 VIE-CAI, XX864 CAI-VIE and XX127 VIE-FRA, originally assigned to the aircraft YYLBC, according to the scheduled rotations for the given day. The situation in the daily schedule at the moment of disturbance occurrence is presented on Fig. 2. After running the ASO Advanced DSS, the following three solutions were obtained †. Solution No 1: In the first step of the algorithm, all flights affected by the disturbance are temporarily cancelled (three non-priority flights). The second step is an attempt to add the temporarily cancelled flights to some other aircraft. Flights XX863 and XX864 are reassigned to aircraft 321-YYLBA (same type (sub-fleet) as originally assigned aircraft) and performed on time. Because adding those flights, mini rotation VIE-CDG-VIE (XX417, XX418), originally assigned to the aircraft YYLBA, are performed with a delay (129 min and 126 min, respectively). Flight XX127 is reassigned to aircraft 321-YYLBF (also belonging to the same sub-fleet as the affected aircraft) and is realized on time. Solution No 2: The first and the second step are the same as in the Solution 1. Flights XX6863 and XX864 are reassigned to the same type of aircraft, 321-YYLBA, and are realized on time. Mini rotation VIE-CDG-VIE (XX417, XX418), originally assigned to the aircraft YYLBA, is performed with delay (129 min and 126 min †
Note: Numerical examples with more complex disturbance and solution obtaining process are available but due to the limited space in this paper they are not presented.
1034
Obrad Babic et al. / Procedia Social and Behavioral Sciences 20 (2011) 1029–1040
respectively) and flight XX127 is reassigned to aircraft 321-YYLBF and is realized on time. The difference is that the second solution is obtained in the third step, where, in the rotations’ crossing, the total delay is reduced. The delayed mini rotation VIE-CDG-VIE is added to aircraft 321-YYLBD and the flights are realized with delays of, respectively, 77 and 74 min. The flight XX357 VIE-BRU, originally assigned to the aircraft YYLBD is also late (delay on this flight equals to 210 min). Solution No 3: This solution is also obtained in the third step. Flights XX863 and XX864 are reassigned to an aircraft from the same sub-fleet, 321-YYLBA, and performed on time, while flights XX417 and XX418 are reassigned from YYLBA to 738-YYLNS and also performed on time, but flights XX9767 VIE-CTA and XX9768 CTA VIE, originally assigned to YYLNS are performed with delays (254 and 229 min, respectively). Flight XX127 is reassigned to aircraft YYLBF and performed on time. The ASO Advanced DSS is installed on PC Pentium IV and in this numerical example it yields a set of solutions in 5 seconds. 5. ASO Advanced DSS – Validation As mentioned earlier, dispatcher reactions to a disturbance occurrence depend on the type of disturbance, the availability of company resources, the required time for decision-making, and on the gravity of the consequences that a decision carries with it. Actions performed in order to accommodate the daily schedule to current situations mostly concern: flight delays, flight cancellations, swapping of aircraft (within the same or different aircraft type) in realization of certain flights, etc. Considering the large variety of airlines operating today with different fleet and network sizes and structures, as well as types of operations and characteristics, it is difficult to define a general business policy to serve as a basis for the formulation of a universal model for solving disturbances that happen during the realization of the airline’s scheduled operations. Because of the impossibility of including all factors that have an impact on solutions in the model, assumptions are often made to simplify and reduce the problem. This is why in modelling it is very important to test the model on real data and to check the validity of the criteria, constraints and assumptions used to assess the model’s ability to generate feasible solutions in real time, as well as to identify and correct possible flaws. The airline, whose daily flight schedule was used for the testing, operates between 130 destinations in 66 countries worldwide, with a daily operations volume of approximately 500 flights in the summer season. Flights between many destinations are performed within short-haul and mid-haul operations (around 95% of the total number of flights per day), while a small number of flights (around 5% of the total number of flights per day) are long-haul operations. The carrier’s fleet is heterogeneous and consists from 23 sub-fleets (aircraft types), with a total of 103 aircraft. The tests of the ASO Advanced DSS were conducted in two phases (Maksimovic, 2006). The first of them considered conducting tests on assumed disturbances, while tests in the second phase were conducted on real disturbances, which the dispatchers at AOCC faced during June 2006. For the conducting of the tests it was necessary to define the company’s goals reflected through the value of penalties included in the ASO Advanced DSS objective function. Because of the lack of this kind of data, penalty coefficients values were estimated by the dispatchers, and for the value of the maximum allowed delay was used the one published by IATA, (International Air Transport Association), which equals 5 h. This test also served to judge if the version of the ASO Advanced DSS created by the goals and preferences of the one airline would be applicable to the daily flight schedule of another airline. To examine all possibilities related to the impact of disturbances on scheduled operations, as well as the ASO Advanced DSS ability to generate feasible solutions in given situations during tests conducting, a large variety of assumptions about aircraft breakdown or closed airport, as well as about moment and duration of disturbance occurrence were included.
1035
Obrad Babic et al. / Procedia Social and Behavioral Sciences 20 (2011) 1029–1040
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
15:25 11:27 05:02 08:39 13:23 17:50 BRU VIE XX351 XX352 VIE XX757 SJJ XX758 VIE XX155 DUS 38 XX156 10:20 06:53 12:33 17:05 19:25 14:40 08:27 05:34 12:37 18:03 05:34 BRU VIE ZRH XX358 VIE XX841 XX842 XX567 DAM 07:23 11:52 16:35 19:28 05:02 11:33 08:58 15:00 VIE VIE XX121 FRA XX122 VIE XX791 OTP XX792 06:30 13:01 10:15 16:38 11:47 05:17 08:22 14:54 18:08 23:25 VIE XX789 OTP XX790 VIE XX779 SKP XX780 VIE XX881 GYD XX882 06:58 13:18 03:42 10:01 16:36 22:04 12:17 17:50 08:57 15:22 05:59 ZRH XX568 VIE XX810 VIE VIE XX809 SKG XX355 BRU XX356 19:28 07:26 14:17 10:47 17:05 08:05 18:03 14:57 11:20 05:03 XX819 IST XX820 VIE VIE XX461 LHR XX462 VIE XX377 AMS 07:07 20:05 13:31 17:03 10:32 06:06 08:26 18:10 15:31 12:01 KBP FRA XX128VIE XX661 XX305 CPH XX306 XX662 VIE VIE 14:06 17:12 19:42 07:30 10:18 05:54 08:37 14:14 17:09 VIE VIE VIE XX371 AMS XX372 XX415 CDG XX416 07:45 10:25 19:11 16:18 05:49 17:53 CPH XX308 VIE XX307 CPH 07:22 19:30 05:15 08:38 11:39 14:29 VIE XX411 CDG XX412 VIE XX777 PRN XX778 VIE 13:34 07:25 10:45 16:26 04:51 06:45 08:44 12:30 18:25 XX602 XX111MUC VIE VIE TLV XX112VIE XX601 SVO XX859 15:08 05:45 07:46 21:39 11:18 05:42 08:45 11:58 15:32 18:07 LHR XX458 VIE XX801 ATH VIE XX125 FRA XX126 VIE XX802 19:26 07:57 11:00 14:30 17:04 15:39 18:38 VIE XX417 CDG XX418 VIE 17:50 20:32 18:31 15:17 XX455 LHR XX456 VIE VIE 20:33 17:38 08:33 13:08 17:52 VIE CAI VIE XX127 FRA XX864 XX863 12:13 19:18 17:03 08:43 12:53 19:01 VIE LCA VIE BRU XX357 XX831 XX832 11:38 20:37 16:11 12:56 08:37 17:54 03:58 TLV XX860 VIE TLV XX858 VIE XX457 LHR XX857 07:50 16:53 11:52 20:20 08:15 13:05 XX4001 XX4002 VIE LIS VIE 11:50 16:30 03:58 08:15 12:08 16:04 XX9725 XX9726 XX9727 XX1436 SZG LIS SZG LIS SZG 07:02 15:18 11:08 19:02 14:22 06:01 17:59 11:19 AMS XX378 VIE XX821 IST XX822 VIE XX331 OSL 16:29 07:40 13:15 20:13 06:25 07:54 13:50 18:47 XX9889 XX9890 XX9890 LNZ XX9889 GRZ FNC GRZ LNZ 06:58 18:02 12:40 19:31 06:43 12:30 18:33 21:47 XX4059 XX4060 XX9755 BCN XX9756 VIE FNC VIE VIE 11:16 20:48 16:49 23:50 03:50 05:50 10:00 13:47 XX1425MUC XX9741 XX9742 MUCXX1426 SZG VIE LIS 04:49 08:50 12:52 14:15 06:48 11:18 17:03 20:27 XX9863 XX9864 XX9767 VIE OPO VIE CTA XX9768 VIE 09:59 19:17 14:20 22:15 08:32 05:16 21:53 15:20 XX451 VIE XX41 DXB VIE XX42 LHR XX452 07:37 10:41 03:42 20:48 05:30 08:34 11:22 13:11 15:21 18:02 20:41 XX620 FCO XX561 VIE XX562 BEGXX649VIE XX650 FCO XX275 VIE XX276 VIE VIE 23:56 12:19 14:18 07:07 10:10 16:51 19:50 17:44 05:25 08:38 11:28 14:43 XX642 VIE XX301 CPH XX302 VIE XX313 ARN XX314 VIE XX605 SVO 04:05 07:02 10:10 16:58 13:35 20:13 15:39 05:00 08:55 11:27 13:20 17:59 20:18 02:00 38 XX620 VIE XX561 ZRH XX562 VIE XX649TSR XX650 VIE XX275 TXL XX276 VIE XX849 TIA 10:15 19:11 04:03 06:25 14:30 21:48 17:05 12:30 08:38 15:10 05:19 11:40 17:34 19:21 VIE XX311 ARN XX312 VIE XX797 SCF XX798 VIE XX757MUCXX605 VIE 07:46 10:51 16:53 18:32 13:18 20:22 VIE
319-YYLDA 319-YYLDB 319-YYLDC 319-YYLDD 319-YYLDE 319-YYLDF 319-YYLDG 320-YYLBN 320-YYLBO 320-YYLBP 320-YYLBS 320-YYLBT 321-YYLBA 321-YYLBB 321-YYLBC 321-YYLBD 321-YYLBE 321-YYLBF 32C-YYLBQ
736-YYLNM 738-YYLNK 738-YYLNQ 738-YYLNR 738-YYLNS 739-YYLNJ 73G-YYLNN 00:32 73G-YYLNO EVN
F70-YYLFP
ODS
F70-YYLFQ
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
Figure 2. Display of situation at the moment when disturbance occurred (Example 1)
15
16
17
18
19
20
21
22
23
24
1036
Obrad Babic et al. / Procedia Social and Behavioral Sciences 20 (2011) 1029–1040
Considering the current method of coping with disturbances at AOCC, some changes were made to the ASO Advanced DSS during the testing process. Precisely, because dispatchers are always looking to do aircraft swaps within the same sub-fleet, then within the fleet that consists of 30 aircraft from sub-fleets Airbus 319, 320, 321, 322 and 32C, Boeing 736, 738, 739, 73G, Fokker F70, and after that within the fleet that consists of all airlines available aircraft, the database was divided into two databases, XX1 (30 aircraft) and XX (entire fleet). In this manner, similar to the work of the dispatchers, the ASO Advanced DSS first tries to find a solution to a given problem within the reduced fleet (XX1) and if it is not possible, it tries to find an acceptable solution within the entire fleet (XX). The first phase of testing the ASO Advanced DSS was conducted in cooperation with a group of dispatchers from AOCC. During this phase a dozen cases of the assumed disturbances were examined and dispatchers gave their opinions of the appearance and quality of the obtained solutions by ASO Advanced DSS. Mostly these opinions were positive; dispatchers often agreed with the obtained solutions, and in several cases there were small corrections suggested with the aim of making those solutions closer to the dispatchers’ solutions. For example, the comments made by dispatchers on the solutions provided by the ASO Advanced DSS in previously described example 1 (Section 4) are listed below: x Solution No 3 is the closest to the solution that dispatchers would implement, so that solution, according to their opinion, should be top ranked, with a change related to choosing aircraft 738-YYLNR for swapping instead of YYLNS. x The solution that dispatchers would implement in this case is: ○ Flights XX863 and XX864 would be reassigned to the aircraft within the same sub-fleet, YYLBA or YYLBB (YYLBA is better solution) and would be realized on time. ○ The flight XX127 can also be reassigned either to aircraft YYLBA or YYLBB – in both cases it would be realized on time. ○ Flights XX417 and XX418, originally assigned to aircraft YYLBA (i.e. flights XX455 VIE-LHR and XX456 LHR-VIE, originally assigned to aircraft YYLBB), would be reassigned to aircraft 738-YYLNR, which would realize them on time. The aim of the second testing phase was to become familiar with the work of dispatchers, their goals, rules, constraints and principles that they are guided by during the decision-making process. The test was conducted on another group of dispatchers in AOCC, in such a way that when the real situation of disturbance occurred, the dispatchers gave their solution to the given situation, and simultaneously and independently the ASO Advanced DSS was run, under the same conditions. At the end of duty time the dispatchers gave their comments on the solutions created by the ASO Advanced DSS, highlighting possible differences between those solutions and the solutions they implemented. Testing of the ASO Advanced DSS on assumed and on real disturbances during the realization of the scheduled operations and discussions with dispatchers about solutions provided by the ASO Advanced DSS leads to the conclusion that solutions obtained by ASO Advanced DSS are satisfying. First of all, dispatchers agreed with the existing way of penalty ranging in the ASO Advanced DSS, with the following modifications: 1) Priority flight cancellation category should be divided into four subcategories, according to their priority ranging; 2) Penalties should be introduced for reassigning flights to different types of aircraft instead of using operational costs. It is important to emphasize that in many cases the solutions provided by the ASO Advanced DSS were identical to those that the dispatchers would implement under the same circumstances. However, there were also the situations when the ASO Advanced DSS offered several solutions and one of them was the solution that dispatchers would choose but it was not the best one proposed (for example, the ASO Advanced DSS ranged the solution to be No 5, but it was the best from the dispatcher’s point of view). These are the cases when some other factors had the strong influence on dispatcher decision making, which is beyond of scope of the ASO Advanced DSS. For example, a large number of transfer passengers on the flight(s) affected by the disturbance, VIP passengers on the flight(s) affected by the disturbance, the need for certain flight(s) affected by the disturbance to be on time because of promotion periods etc. All the listed reasons that could increase the priority of the certain flight are not general and are very difficult to anticipate. This is additional information that the dispatcher could get at the moment of the problem resolving or in the period just before the disturbance occurred. To overcome the noted limitation in the
Obrad Babic et al. / Procedia Social and Behavioral Sciences 20 (2011) 1029–1040
1037
work of the ASO Advanced DSS a sensitivity analysis was applied. The idea was to use the sensitivity analysis for analyzing how much the obtained solutions are sensitive to changes of the penalties values. This kind of information could be useful in dispatcher decision making process enabling them to know how much they should change the penalty value(s) to reach the appropriate solution. 6. ASO Advanced DSS – Sensitivity Analysis
Since penalties (costs) used in the ASO Advanced DSS are difficult to measure and quantify, but, as already mentioned, their values and relationships have a significant impact on the proposed solutions, the sensitivity analysis of the ASO Advanced DSS solutions on changing penalties value is one way that can help in their determination (Pavlovic, 2010). The main task of the sensitivity analysis was to analyze how the obtained solutions are changed by varying the value of only one penalty while the rest of the penalties remain constant, so the several sensitivity analysis were run. By carrying out a sensitivity analysis it was possible to determine the range of penalty values within which the solution is unchanged and finally, limited values for each of the penalties which should not be exceeded to avoid an unacceptable solutions (the solutions which are not in accordance with the airline policy). Also, a two-penalty variation sensitivity analysis was later carried out where two of five penalties were varied while the rest of the penalties remained constant. Because of the nature of the problem, the entire sensitivity analysis and all the obtained results during it should not be viewed as general ones. In another words, each flight brings different “profit” to an airline so the assigned penalty value will have different influence on the solutions proposed by the ASO DSS (depends on the number of passengers on each flight and average ticket price). In any case, the entire sensitivity analysis was done on ASO DSS for assessing the sensitivity of the result (how many proposed solutions in each example and their structure) to small changes in penalty values. The sensitivity analysis was done for number of disturbances (different examples) and this analysis can help to get at least approximate values of the penalties which can further help design the solutions that are in accordance with the company’s goals and preferences. The sensitivity analysis was conducted starting with the solution which was determined based on the penalty values estimated by dispatchers in AOCC. This solution was used as a reference for comparing with the solutions obtained during sensitivity analysis. For better understanding the model it is important to note that the first step in the algorithm is common for all solutions. In this step the model checks what kind of perturbation is in question, how many flights are affected and what type of flights they are (priority or non-priority). At the end of the first step, the model compares the maximum allowed flight delay with the delay of each affected flight, if those flights are going to be executed by the planned aircraft after the perturbation is end. If the delay is longer then the maximum allowed delay for a given flight, that flight will be temporary cancelled. In the given examples the delays of all affected flights are longer than the maximum allowed delay i.e. 300 minutes, so all the affected flights in the first step will be temporary cancelled. According to this, the penalties values have no influence on affected flights, in this first step. The only influence that they have is how the perturbation can be solved i.e. what the proposed solutions will look like. In further steps, the model is checking whether the temporary cancelled flights can be assigned to some other aircraft in the fleet, complying with all defined assumptions and operational constraints. For each provided solution the airline’s profit is calculated and all solutions are then ranked in descending order. The list of the feasible solutions is then presented to the user. Now it will be presented how the airline’s profit (objective function) vary by varying the value only one penalty while the rest of the penalties keep their basic values, the range of penalty intervals within the solution is the same and finally, limited values for each of the penalty which should not be exceeded to avoid an unacceptable solutions, in this case the solutions which are not suitable to the policy of observed airline.
1038
Obrad Babic et al. / Procedia Social and Behavioral Sciences 20 (2011) 1029–1040
175000 170000
Objective function
165000 160000
k(i)
155000
k2(i) pen(l,k)
150000 145000 140000 135000 130000 125000
0
1
2
3
4
5
6 7 8 9 k(i), k2(i), pen(l,k) [Thousands]
10
11
12
13
14
Figure 3. The objective function in regard to the value of k(i) and k2 141000
Objective function
140500 140000 139500 139000 138500 138000 0
1
2
3
4
5
6
7
8
9
10
k1
Figure 4. The objective function in regard to the value of k1
The sensitivity analysis shows that the objective function is very sensitive to varying the value of the cancellation of priority flight penalty cost (k(i)). In Fig. 3 it can be seen that in the first segment, until the k(i) reaches the value of k(i)=1666 units, the value of the objective function is very sensitive while after this the value the objective function is completely insensitive to the value of k(i). Concerning penalty k(i) the sensitivity analysis discovered that for avoiding the unacceptable solutions (the solutions with cancelled priority flights) the k(i) value should not be lower than 1666 units. Also during the sensitivity analysis it was noticed that greater sensitivity of the objective function is obtained by varying the value of k2(i) (the non-priority flight cancellation penalty cost). In Fig. 3 it can be seen that in the first segment, until the k2(i) reaches the value of 4810 units the value of the objective function is sensitive while after this value the objective function is completely insensitive on the value of k2(i). Also, from Fig. 3 it can be noticed that in the first segment (for k2(i) penalty values less than 4810 units) the objective function is not sensitive in the same way for all the values of k2(i) In the first interval from 0 to 2810 units, the function slope is inclined i.e. the function value decreases rapidly for small changes in the k2(i) value. In the second interval from 2810 to 4810 units the objective function sensitivity is smaller and the slope is less inclined. Concerning penalty value of k2(i), the sensitivity analysis showed that for avoiding the unacceptable solutions (the solutions with cancelled non-priority flights) the value k2(i) should not be below 4810 units. The objective function showed certain sensitivity regarding the penalty pen(l,k) (penalty for aircraft balance disturbance). In Fig. 3 it can be noticed that in the first segment the objective function is sensitive and decreases constantly up to the value of 3700 units and after that is totally insensitive on the value of pen(l,k). For penalty
Obrad Babic et al. / Procedia Social and Behavioral Sciences 20 (2011) 1029–1040
1039
pen(l,k), whose estimated initial value was 3000 units, the user should not take a lower value then pen(l,k)≥3700 units if the aim is to avoid the unacceptable solutions (aircraft balance disturbed). Finally, it was noticed that the objective function is highly sensitive to changes in the value of k1 (the delay penalty cost of a flight per a unit time) in the segment where the k1≤3, while after this value the objective function is totally insensitive on value of k1, Fig. 4. The high sensitivity of the objective function regards to the penalty k1 could be view in the sense that each change of the penalty value by 1 up to value 3 will affect the proposed solution and knowing this will help the dispatcher when making a decision on what value to choose depending on which type of solution is desired. This could also be applied on other penalties (k(i) and k2(i)) but their intervals are wider and if the dispatcher wants to find the appropriate solution he/she should follow the above recommended values and limits. The results from the second sensitivity analysis, where two penalties values are changed while the rest of the penalties are fixed, are useful for gaining the values which will lead to “optimal” solution, i.e. to the best solution from the aspect of flight delay and/or flight cancellation. Although all the combinations of the penalties (pairs) were considered, the one with the most important results will be presented here and they follow three penalties: k(i), k1 and k2(i). In this case, the limiting values are higher than the one obtained in previous one-penalty analysis: the k1 value should not be less then 3 units, the k(i) value should not be less then 1952 units and k2(i) should not be less then 5078 units. The solution obtained with these recommended values can be considered to be the best one from the aspect of flight delay and flight cancellation, because in the situation where one aircraft is out of service for more than 15 hours and there is a possibility of cancelling/delaying certain flights, there is still a solution where all planned flights could be realized on time, using the available fleet. Namely, if it is in the dispatcher’s interest is to find a solution with the minimum disturbance on planned flights, the recommended penalty values would lead him/her to a solution where all flights will be realized on time. But this will result in higher costs for the airline because larger aircraft with higher operating costs would be engaged for realizing them (the cost for flight delay/cancellation is higher than the cost of engaging the larger aircraft). Oppositely, if it is in the dispatcher’s interest is to solve the disturbance but also to reduce cost, using the penalty value less than the recommended penalty values (costs for flight delaying and cancellation) would lead him/her to solutions where the flights will be assigned to the aircraft with the same or lower operating costs but they will be realized with certain delay or even cancelled if it is in the airline’s interest. 7. Conclusion and future directions This paper presents a special heuristic algorithm ASO Advance proposed for solving considered problem i.e. DSS for designing a new feasible daily operational flight schedule in case when disturbances occur. This DSS can be used by dispatchers for generating several operationally feasible daily schedules in real time, which are then sorted by decreasing value of the objective function. Any of these flight schedules could be accepted by dispatchers based on his/her preference and all available information at that time. The proposed DSS was successfully tested and validated in the operational centre of one medium-size European airline. Also, sensitivity analysis of the obtained solution on changing the value of penalty cost was performed, with the aim to helping dispatchers in selecting the values of penalties to apply when solving the disturbance problem that will satisfy the airline policy. The costs that arise when disturbance occur are not presented by real value, but rather expressed as penalties; the dispatcher can change these penalties according to experience, instantaneous traffic situation which has to be solved, or airline policy. The DSS are usually created for specific airline needs; a great advantage of the DSS presented in this paper is the possibility of changing penalty values which can adapt the DSS for different airline needs. This was successfully demonstrated during testing and validation process. The ASO Advance DSS presented in this paper do not considered passenger costs, which can be a possibility for future research. Some airlines have several priority flight categories. Therefore, priority flight categories could be divided into subcategories, with different penalties. Also, ferry flights as well as spare aircraft use could be subject of further research.
1040
Obrad Babic et al. / Procedia Social and Behavioral Sciences 20 (2011) 1029–1040
Acknowledgments This research was supported by Serbian Ministry of Science and Technological Development (MSTD) and JAT airways, as a part of the project “Airline Schedule Optimization” (2002-2005). Further research has been supported by the MSTD, Republic of Serbia, as a part of the projects TR15023 (2008-2010) and TR36033 (2011-2014).
References Babic, O., Kalic, M., Pavkovic, G., Dozic, S., Cangalovic M., (2010) Heuristic approach to the airline schedule disturbances problem. Transportation Planning and Technology, 33(3), 257 – 280. Maksimovic, D., (2006). Testing of the ASO Model on Austrian Airlines’ Daily Schedule. The Faculty of Transport and Traffic Engineering. Graduation theses. Pavlovic, D., (2010). Sensitivity Analysis of the Airline Schedule Optimization (ASO) Advanced Model. The Journal of Air Transport Studies, 1 (2), 1791-6771. Report on project: Airline Schedule Optimization (2002-2005). Institute of Faculty of Transport and Traffic Engineering. Clients: Ministry of Science, Technology and Development of Republic of Serbia and JAT Airways as participant.