Chapter 12 - Airline Industry Operations Research based models have been developed extensively for the airline industry in the last five decades. Different types of formulations and solutions based on several optimization and heuristic methods have been developed for a variety of problems and applications in this industry (Yu, 1998). One of the familiar applications of assignment problem is the problem of assigning fleet to flight legs. This fleet allocation and scheduling problem along with crew scheduling problem has been addressed extensively. Nowadays the applications involve revenue management and demand forecasting. In this course we present five situations where the principles of Operations Research are applied. These are simple instances of otherwise complex situations modelled by earlier and present day researchers. The applications are 1. 2. 3. 4. 5. Network design using flow based models Routeing problem Fleet Allocation Crew Scheduling Baggage handling Application 1 – Airline Network Design using flow based models Most airlines operate on a hub-spoke model where some cities are identified as hubs and other cities are connected to the hub. Every passenger going from i to j (where i and j are not the chosen hubs) goes through a hub. The alternative to this approach is to allow one stop movements from city i to city j. Here every passenger going from any city i to any city j goes directly from i to j or goes through a maximum of one stop. This application formulates this one-stop problem and we test it with an example. The formulation presented is based on the work of Jaillet at al (1996) and has been modified suitably. Consider 8 cities (nodes 1 to 8) whose distance matrix (symmetric matrix) is given in Table 12.1 -- 12 -- 22 19 -- 26 27 33 -- Table 12.1 – Distance matrix 30 32 38 27 -- 18 26 18 22 26 -- 27 24 16 20 25 30 -- 32 23 19 30 20 19 27 The number of passengers who wish to travel from city i to city j is given in Table 12.2 -- 60 -- 40 50 -- 50 35 28 -- 75 20 32 36 -- 45 25 33 37 40 -- 35 40 15 35 29 19 29 28 65 68 61 59 -47 Table 12.2 – Number of passengers travelling between cities It is assumed that the same number of passengers travel from j to i. There is one type of plane used and this has a capacity of 144. At present the company operates with city 1 as the hub. The company would like to explore one stop models. The total number of passengers visiting the eight cities is 345, 240, 231, 243, 336, 300, 281 and 296 respectively. Since city 1 is the hub, we require 2, 2, 2, 3, 3, 2, 3 planes from each of the remaining cities to the hub and back. This gives us 17 planes or trips on way and 34 trips or planes in all. Let Yij be the number of planes going from city i and city j. Let Xilj be the fraction of the demand dij met by travelling through city l. Let Cij be the cost of flying a plane from i to j. This cost would depend on the distance between i and j. The objective is to Minimize ∑8𝑖=1 ∑8𝑗=1 𝐶𝑖𝑗 𝑌𝑖𝑗 𝑗≠𝑖 The constraints are 𝑑𝑖𝑗 + ∑𝑡≠𝑖,𝑗(𝑑𝑖𝑡 𝑋𝑖𝑗𝑡 + 𝑑𝑡𝑖 𝑋𝑡𝑖𝑗 − 𝑑𝑖𝑗 𝑋𝑖𝑡𝑗 ) ≤ 144𝑌𝑖𝑗 . Xitj ≤ 1 for t ≠ i, j; i ≠ j; Xitj ≤ Yij Xitj ≥ 0, Yij ≥ 0 and integer The first constraint ensures that the demand for the passengers is met between every i and j. It also ensures that the amount of passengers flowing in arc i-j is less than the capacity available in the number of airplanes flowing between i and j. The Xitj being fractions of the demand should be less than or equal to 1. Also there is flow in an arc only when airplanes are allocated to that arc. Our problem with 8 cities has 56 Yij variables and 336 Xitj variables. There are 56 flow constraints 336 constraints restricting the fractions and another 336 constraints ensuring that there is flow only when airplanes are allotted. There are 392 variables and 728 constraints. The original formulation has fewer constraints than the one presented here. The first of the flow constraints between cities 1 and 2 is given by 144Y12 - 40X123 - 50X124 - 75X125 - 45X126 - 35X127 - 40X128 - 50X312 - 35X412 - 20X512 - 25X612 15X712 - 35X812 + 60X132 + 60X142 + 60X152 + 60X162 + 60X172 + 60X182 ≥ 60. The optimum solution to our IP is given by Y12 = Y15 = Y16 = Y17 = Y21 = Y26 = Y31 = Y36 = Y37 = Y41 = Y48 = Y51 = Y57 = Y58 = Y61 = Y63 = Y64 = Y68 = Y73 = Y74 = Y75 = Y83 = Y85 = Y86 = 1. We also have X263= X264 = X215 = X217 = X268 = X321 = X375 = X368 = X412 = X483 = X485 = X417 = X512 = X574 = X586 = X612 = X615 = X751 = X732 = X736 = X832 = X864 = 1. We also have X163 = 0.2, X173 = 0.8, X164 = X174 = 0.5, X158 = 0.225, X168 = 0.775, X216 = 0.2, X364 = 0.6785, X374 = 0.3215, X326 = 0.1212, X416 = 0.81, X486 = 0.19, X573 = 0.318, X583 = 0.781, X617 = 0.13, X631 = 0.87, X748 = 0.96, X758 = 0.04, X851 = 0.35, X861 = 0.65, X837 = 0.446, X857 = 0.553. Figure 12.1 shows the arcs corresponding to the flights. There are 25 flights. The value of Xilj gives us the number of people travelling in each flight. We consider arc 4-1. From the Xilt values we observe that X412 = X417 = 1 and X416 = 0.81. This means that the demand from 4-2 use 4-1 and 1-2. This gives us 35. From X417 = 1 we get another 29 travelling in the arc 4-1. X416 = 0.81 gives us a load of 0.81* 37 = 30 along the arc 4-1. Since X4t1 = 0 and since Y41 = 1 it means that all the demand from 4 to 1 go directly from 4 to 1. This gives us a load of 50. The total load on 4-1 is 35 + 29 + 30 + 50 = 144. From the optimum solution, we observe that X326 = 0.1212 and Y36 = 1. This means that 0.1212*33 = 4 people go from 3 to 6 using 3-2 and 3-6. Since the other X3t6 = 0, the remaining 29 people go directly from 3 to 6. For some arcs, the load is less than 144. For example, arc 6-8 has a load of 35 + 19 + 59 = 113. 4 2 7 1 5 8 3 Figure 12.1 – Arcs corresponding to flights 6 We can also formulate two stop scenarios where demand from any i to j is sent through a maximum of 2 stops. Application 2 – Routeing problem This is a simple application of the aircraft routeing problem. We consider a company operating within a fixed number of cities and having a small number of aircrafts. Each aircraft starts from a city and goes to another city in the next time slot. This way it goes to different cities and finally returns to the starting city after a fixed number of slots. It can visit a city multiple times but from different cities each time. The demands form city i to city j in slot k are given in Table 12.3 for six slots. i-j 1 2 3 4 5 /slot 1-2 50 60 70 60 45 1-3 70 80 70 65 55 1-4 60 60 65 75 80 1-5 80 70 60 70 75 2-1 40 50 40 60 30 2-3 60 70 60 40 80 2-4 90 80 80 60 60 2-5 100 90 80 80 90 3-1 40 50 45 55 60 3-2 60 70 75 45 80 Table 12.3 – Demand between cities 6 70 75 60 65 70 90 55 75 65 60 i-j/ slot 3-4 3-5 4-1 4-2 4-3 4-5 5-1 5-2 5-3 5-4 1 2 3 4 5 6 80 75 65 80 65 55 60 70 40 80 75 45 60 70 75 60 50 60 50 90 65 50 55 65 80 70 55 65 55 85 35 55 40 80 70 60 75 80 65 75 70 60 60 70 65 60 65 70 60 70 60 65 50 70 60 55 60 75 65 90 It is assumed that the demand from city i to city j can be met using one aircraft and therefore only one aircraft flies between any two cities in a slot. Assume 2 aircrafts and assume that both start and end at city 1. Also what happens if the second aircraft starts at city 2 and ends in city 2? We initially solve the case where both the aircraft start in city 1 and end in city 1. We formulate and solve the problem as a network problem. The corresponding network is shown in Figure 12.2 The network has 25 nodes and several arcs connecting these 25 nodes. All the arcs are not shown in the figure. Nodes 1 to 5 represent cities 1 to 5. Both the aircrafts start from city 1 and reach one of cities 2 to 5 in slot 2. Nodes 6 to 10 represent cities 1 to 5 in slot 3. There is no arc between 2 and 7 because node 7 represents city 2. Here each of the four nodes ( 2 to 5) are connected to 4 out of the five nodes (6 to 10). At the next stage, nodes 11 to 15 represent cities 1 to 5. Again each of the 5 nodes (6 to 10) are connected to four out of the five nodes (11 to 15). Similarly nodes 16 to 20 represent cities 1 to 5 in slot 4 to 5. Again each of the five nodes 11 to 15 are connected to four out of the five nodes 16 to 20. 6 1 1 1 6 1 2 1 7 1 3 1 8 1 4 1 9 1 5 2 0 2 7 2 2 3 8 1 4 9 5 1 0 2 1 2 5 2 3 2 4 Figure 12.2 – Network for routeing problem. Nodes 21 to 24 represent cities 2 to 5. Node 16 is connected to nodes 21 to 24. Nodes 17 to 20 are connected to three out of the four nodes 21 to 25. Node 17 (city 2) is not connected to node 21 (city 2) and so on. Nodes 21 to 24 are connected to node 25 which represents city 1 so that the aircrafts come back to city 1. There are 4 + 4*4+ 5*4+5*4+4+ 4*3+4 = 80 arcs. Let Xij = 1 if aircraft 1 goes from node i to node j. The relationships among the node numbers and the cities have already been explained. Let Yij = 1 if aircraft 2 goes from node i to node j. The objective is to maximize ∑𝑖−𝑗 𝑛𝑖𝑗 𝑋𝑖𝑗 + 𝑛𝑖𝑗 𝑌𝑖𝑗 . The objective function has 160 terms, with two terms for arc. There are two sets of constraints for Xij and for Yij (for each aircraft). The constraints for nodes 1 and 25 for Xij variables are X12 + X13 + X14 + X15 = 1 and X2125 + X2225 + X2325 + X2425 = 1. For nodes 2 to 24, the constraints are ∑𝑘 𝑋𝑘𝑖 − ∑𝑗 𝑋𝑖𝑗 = 0 for i = 2 to 24. Here k represents the arcs that enter node i and j represents arcs that go out of i. We also have the constraint Xij + Yij ≤ 1 (80 constraints – one for each arc) and Xij, Yij ≥ 0. There are 160 binary variables and 50 + 80 = 130 constraints. The optimum solution to this binary IP is given by X15 = X59 = X15 = X17 = X24 = X25 = 1; Y12 = Y210 = Y1014 = Y1417 = Y1722 = Y2225 = 1. The objective function value is 920. Aircraft 1 take the route 1-5-9-15-17-24-25. From the node city relationship the route is 1-54-5-2-5-1 with total number of passengers = 80+90+70+80+90+60 = 470. Aircraft 2 takes the route 1-2-5-4-2-3-5 with total number of passengers = 50+90+85+80+80+65 = 450. The total is 920. We consider the situation where aircraft starts from city 1 and returns to city 1 while aircraft starts from city 2 and returns to city 2. Figure 12.3 shows the corresponding network where all nodes are shown but all arcs are not shown. 1 2 6 1 1 1 6 7 1 2 1 7 2 8 3 8 1 3 2 9 1 8 2 1 2 2 2 3 4 9 1 4 1 9 2 4 5 1 0 1 5 2 0 2 5 2 6 2 7 Figure 12.3 – Network considering two different starting cities Here nodes 1 to 25 represent the corresponding 5 cities at slots 2 to 6. Nodes 1 to 5 represent the five cities; nodes 6 to 10 represent cities 1 to 5 and so on. Nodes 26 and 27 are the two destinations for the two aircrafts with node 26 representing city 1 and node 27 representing city 2. Similarly, nodes 28 and 29 are the two start nodes representing cities 1 and 2 respectively. Since aircraft starts from city 1, there is no arc connecting 28-1. Similarly there is no arc connecting 29-2. Similarly there is no arc 21-26 and 22-27 since they represent cities 1 and 2 respectively. The Xij variables are for aircraft 1 and the Yij variables are for aircraft 2. The corresponding arcs are shown as continuous arcs for Xij and dotted for Yij variables. We do not have arcs 1-6, 2-7, 3-8 etc (same cities) for both Xij and Yij variables. We also do not have 1-7, 1-8, 1-9, 1-10 for Xij and 2-6, 2-8, 2-9, 2-10 for the Yij variables. We do not have arcs entering and leaving node 21 for Xij and for node 22 for the Yij variables. The objective function is to maximize the number of passengers given by Maximize ∑𝑖−𝑗 𝑛𝑖𝑗 𝑋𝑖𝑗 + 𝑛𝑖𝑗 𝑌𝑖𝑗 . The constraints are ∑𝑘 𝑋𝑘𝑖 − ∑𝑗 𝑋𝑖𝑗 = 0 and ∑𝑘 𝑌𝑘𝑖 − ∑𝑗 𝑌𝑖𝑗 = 0. We also have Xij + Yij ≤ 1 and Xij, Yij ≥ 0. The network has 29 nodes and 80 arcs for Xij and 80 arcs for Yij variables. The objective function has 160 terms. We have 25 nodes for the Xij part of the network for another 25 nodes for Yij part and there are 50 constraints. We also have 64 constraints for Xij + Yij ≤ 1 considering the common arcs that have both Xij and Yij variables. There are 114 constraints. The optimum solution to the binary IP is given by X282 = X210 = X1014 = X1417 + X1723 = X2326 = 1; Y295 = Y59 = Y915 = Y1517 = Y1725 = Y2527 = 1 with total people = 955. Aircraft 1 takes the route 12-5-4-2-3-1. The number of people are 50+90+85+80+80+65 = 450; Aircraft 2 takes the route 2-5-4-5-2-5-2 with people = 100+90+70+80+90+75= 505. It is also observed that LP relaxation of this formulation gives integer solutions for the X ij and Yij variables. Application 3- Fleet allocation Fleet assignment is an important area where Operations Researchers have built models for the airline industry (Bernhart et al, 2002, Hane et al, 1995). In the application presented here, we assign fleet to trips that comprise of flight legs. An airline operates flights among four cities (A to D). The demand of passengers from city i to city j is given in Table 12.4. From -To Demand From-To Demand From-To A-B 130 B-D 100 D-A A-C 100 C-D 80 C-B A-D 50 B-A 120 D-B B-C 80 C-A 90 D-C Table 12.4 – Demand for passengers between cities Demand 70 100 80 90 The airline operates the following 12 trips. These are A-B, A-B-C, A-C-D, B-D, B-C-D, B-A-D,CA, C-A-B, D-B-C, D-B-A, B-C-A and D-C-B. The airline has 3 aircrafts and the capacities of each are 80, 100 and 80 respectively. Each trip is a direct flight between two cities or a one stop flight. Each trip therefore is a flight leg or has two flight legs. A flight leg is a movement from one city to another involving one departure and one arrival. The airline wishes to choose the optimum trips that can maximize total number of people served while meeting flight, capacity and other relevant constraints. We start by defining distinct origin-destination (OD) points from the trips. These ODs have the notation (X,Y,Z) where X and Y are the origin and destination of the part of the trip or full trip (if it is a flight leg) and Z is the corresponding trip number. For example, trip 1 is a direct trip and results in a flight leg (A, B, 1). Trip 2 has two flight legs A-B and B-C but has three OD points. These are given by (A, B, 2), (B, C, 2) and (A, C, 2). This is because customers from A to B, B to C and A to C can use flight trip 2. Each direct trip gives one OD point while each one stop trip gives three OD points. For our example we have 30 OD points from the 12 trips. We define nijk as the number of people travelling from city i to city j using trip k. There are 30 nijk variables based on the above description. The variable nAB1 is associated with trip 1 while variables nAB2, nBC2 and nAC2 are associated with trip 2 and so on. The objective function is to Maximize ∑30 𝑃𝑄𝑖=1 𝑛𝑃𝑄𝑖 . There are 30 terms in the objective function. We have the constraints that the number of people who will be travelling from one city to another will not be more than the demand given. This is given by ∑𝑃𝑄𝑖 𝑛𝑃𝑄𝑖 ≤ 𝐷𝑃𝑄 . This constraint is explained as follows: If we consider going from B to A (say), the variables nBA6, nBA10 and nBA11 are involved. The constraint for the OD pair B-A is given by nBA6 + nBA10 + nBA11 ≤ 120. We have 4 cities and 6 OD pairs in the forward and six in the reverse direction. There are 12 constraints. We define Yi = 1 if trip i is chosen. If a trip is chosen, we have to assign an aircraft for the trip. Let Zij = 1 if trip i is assigned to aircraft k. We have 12 Yi variables – one for each trip and 36 Zik variables for 12 trips and three aircrafts. Every chosen trip should be assigned one aircraft. This is given by ∑3𝑗=1 𝑍𝑖𝑗 = 𝑌𝑖 . There are 12 constraints – only one for each trip. A chosen trip is assigned an aircraft while a trip that is not selected does not have an aircraft assigned to it. The aircraft assigned to the chosen trip should have the capacity to take the people who are going to travel in that trip. This is given by ∑30 𝑃𝑄𝑖=1 𝑛𝑃𝑄𝑖 ≤ 80𝑍𝑖1 + 100𝑍𝑖2 + 80𝑍𝑖3 . This constraint is explained as follows: Even though we have used ∑30 𝑃𝑄𝑖=1 𝑛𝑃𝑄𝑖 in the left hand side of the equation, we use the relevant terms only. Direct trips have one constraint while trips involving one stop will have two constraints. Trip A-B will have a constraint nAB1 ≤ 80Z11 + 100Z12 + 80Z13. Trip D-B-A (Trip #10) will have the two constraints nDB10 + nDA10 ≤ 80Z101 + 100Z102 + 80Z103 and nDA10 + nBA10 ≤ 80Z101 + 100Z102 + 80Z103. This is because people travelling from D to B as well as from D to A are going to be in the flight in the first leg and people between B to A and D to A will be in the second leg. Nine trips involve one stop and we have 18 constraints while the remaining three trips have one constraint each resulting in 21 constraints. Considering each city, since the aircrafts take round routes, the number of trips coming in should be equal to the number of trips going out. This is because each trip that enters a city will leave the city as another trip. We also have to ensure that if trip k entering a city leaves as trip l, then the two trips should be assigned the same flight. This is given by ∑𝑗 𝑍𝑗𝑘 ≥ 𝑍𝑖𝑘 . We explain this constraint as follows. We create a Table 12.5 where we list the trips that come into city i and trips that leave city i. City Trips that enter Trips that leave A 7, 10, 11 1, 2, 3 B 1, 8, 12 4, 5, 6, 11 C 2, 9 7, 8 D 3, 4, 5, 6 9, 10, 12 Table 12.5 – Trips entering and leaving the cities. We consider city A and outgoing trip 1. Assuming that trip #1 (outbound trip) is chosen it has to be allocated an aircraft. This means that one out of Z11, Z12, Z13 should be equal to 1. Also one out of the inbound trips 7, 10, 11 should be chosen and be assigned the same aircraft type. This leads to three constraints: Z71 + Z101 + Z111 ≥ Z11, Z72 + Z102 + Z112 ≥ Z12, Z72 + Z102 + Z112 ≥ Z12. We have three constraints (as many aircraft types) for each out bound trip, resulting in 36 constraints. Considering each city, we should have an equal number of chosen inbound trips and outbound trips. This is given by ∑𝑖 𝑍𝑖𝑘 = ∑𝑗 𝑍𝑗𝑘 . There are 12 constraints, considering 4 cities and three aircrafts. The constraint for city B, aircraft type 2 will be will be Z12 + Z82 + Z122 = Z42 + Z52 + Z62 + Z112. The formulation has 30 nPQi variables, 12 Yi variables and 36 Zik variables resulting in 78 variables. There are 12 + 21 + 36 + 12 = 81 constraints. The optimum solution to this MILP chooses 9 out of the 12 trips and carries 1040 out of the maximum possible 1090 customers. The solution is Y1 = Y3 = Y4 = Y6 = Y8 = Y9 = Y10 = Y11 = Y12 = Z12 = Z31 = Z42 = Z63 = Z83 = Z93 = Z102 = Z111 = Z121 = 1. Trips 1, 3, 4, 6, 8, 9, 10, 11 and 12 are chosen resulting in nine chosen trips. Trips 1, 4 and 10 use aircraft 2, trips 3, 11 and 12 use aircraft 1 and trips 6, 8 and 9 use aircraft 3. The aircraft for trip 1 that starts at city A and enters city B will leave as trip 4 from city B. It enters city D and leaves again for city A as trip 10. Aircraft 1 leaves city A as trip 3 reaches city D. It leaves city D as trip 12 and reaches city B. It leaves city B as trip 11 and reaches city A. Aircraft 3 starts from city D as trip 9 reaches city C. It leaves city C as trip 8 and reaches city B. It leaves city B as trip 6 and comes back to city D. The trips are then repeated. The number of people travelling in various ODs in the trips are n AB1 = nBD4 = 100, nAC3 = nCD3 = nBA6 = nBC9 = 80, nDC12 = 90, nCA11 = n DA10= 70, nCB8 = 60, nCB12 = nDB12 = 40, nDB10 = nBA10 = 30, nAD6 = 20, nDB9 = nBA11 = 10. We can restrict the total number of trips to be chosen. This is given by ∑12 𝑖=1 𝑌𝑖 ≤ 𝑄 . Without this constraint, the maximum value Q took is 9. Q=8 gives us a solution where we serve 1000 customers. The relevant part of the solution is Z12 = Z31 = Z43 = Z62 = Z71 = Z91 = Z102 = Z123 = 1. For Q = 6 we will be able to serve 910 customers. The relevant part of the solution is Z12 = Z33 = Z62 = Z102 = Z 113 = Z123 = 1.
© Copyright 2026 Paperzz