ARCHIVES FLIGHT TRANSPORTATION LABORATORY REPORT R86-6 INTERACTIVE DYNAMIC AIRCRAFT SCHEDULING AND FLEET ROUTING WITH THE OUT-OF-KILTER ALGORITHM JAN VAN COTTHEM INTERACTIVE DYNAMIC AIRCRAFT SCHEDULING AND FLEET ROUTING WITH THE OUT-OF-KILTER ALGORITHM by JAN VAN COTTHEM ABSTRACT A decision support system is introduced that automates dynamic aircraft scheduling and fleet routing. Interactive graphics-based schedule construction and modification tools automate the dynamic scheduling of aircraft of a single-type aircraft fleet and the out-of-kilter algorithm is employed to automate their routing. With the out-of-kilter algorithm, either the minimum fleet size required to serve a complete schedule or the routes that aircraft of a fleet of fixed size should serve in order to maximize fleet income can be determined. Since many scheduling scenarios can be easily constructed and evaluated, fleet routing solutions that achieve planning goals, while satisfying organizational constraints, can be quickly obtained. As a result, significant improvements in aircraft scheduling and fleet routing productivity and quality are possible. ACKNOWLEDGEMENTS Programming the software for the decision support system presented in this thesis was largely a painstaking and solitary activity. Nonetheless, I would like to thank the people who contributed in various ways to the undertaking: Professor Simpson, who proposed additions to the software and corrected my faulty reasoning, D.F.X Mathaisel, Research Engineer, who demonstrated an intermediate version of the program to an airline, Boon Chai Lee, graduate student, who in the course of many discussions on the topic, made several helpful suggestions, and Dionyssios Trivizas, graduate student, who introduced me to the LATex word processor. LIST OF FIGURES Figure 1 - The kilter diagram of arc ij. .................... 41 Figure 2 - Acceptable kilter states for forward and reverse arcs to be included in the flow-augmenting path. . . . . . . . . 42 Figure 3 - Kilter states of arcs linking labelled and unlabelled nodes of which the node multipiers will be changed. . . . . . . . 43 Figure 4 - Daily schedule plan schedule chart. . . . . . . . . . . . . . .44 Figure 5 - Multiple-day schedule plan schedule chart. . . . . . . . . . 45 Figure 6 - Network arc parameters by schedule plan and optimization option. . . . . . . . . . . . . . . . . *. . .46 Figure 7 - Mathematical formulations by schedule plan and optimization option. ................. .. . 47 Figure 8 - Iteration scenario when specified fleet size is less than maximum fleet size. ............. .. . 48 Figure Segment number input. .................. .. . 49 Figure - Origin station code name input. ............ .. . 50 Figure - Destination station code name input ......... .. . 51 Figure - Flight segment value input. ............... Figure - Flight segment duration input. ............. Figure - The flight segment rectangle is moved to the appropriate position. ................ . . . .52 .. . 53 . . . .54 55 Figure Flight segment 101 has been scheduled. ............ Figure Flight segment characteristics display. . . . . . . . . . . . 56 Figure Flight segment 101's value is increased. . . . . . . . . . . .57 Figure A schedule plan consisting of four flight segments. . . . . 58 Figure 19 - Flight segment 104 is about to be selected for rescheduling . . - . . . . . . . . . . . . . . . . .. *. .59 Figure 20 - Flight segment 104 is being rescheduled. . . . . . . . . . .60 Figure 21 - Flight segment 104 is about to be deleted. . . . . . . . . .61 Figure 22 - Flight segment 104 has been deleted. . . . . . . . .. Figure 23 - A new time interval is selected . . . . . . . . . . . . .. .62 . . . .63 Figure 24 - The visible portion of the schedule chart has been changed. . . . . . . . . . . . . . . . . . . . . Figure 25 - The schedule plan of Figure 23 is tabulated. . . . . . . . 64 . Figure 26 - Station display for stations AAA and BBB. . . . . . . 65 .. 66 Figure 27 - Flight segment 103 will be deleted. . . . . . . . . . . . . .67 Figure 28 - Flight segment 103 has been deleted. . . . . . . . . . . . 68 Figure 29 - Flight segment 107 is being added to the schedule plan. . . . . . . . . . . . . . . . . . . . . . . . 69 Figure 30 - The value of flight segment 107 is 350. . . . . . . . . . . .70 Figure 31 - The duration of the flight segment is 2.5 hrs. . . . . .71 Figure 32 - Flight segment 107's departure time is selected. . . . . .72 Figure 33 - Flight segment 107 has been rescheduled. . . . . . . . . . 73 Figure 34 - The "time fields" for the selection of arrival or departure times. . . . . . . . . . . . . . . . . . .74 Figure 35 - Flight segment 101 is selected for rescheduling. . . . .75 Figure 36 - The arrow is moved to the new departure time. . . . .76 Figure 37 - Flight segment 101 has been rescheduled. . . . . . . . . .77 Figure 38 - The time axis of either AAA or BBB can be translated. . . . . . . . . . . . . . . . . . . . . . . .78 Figure 39 - BBB's visible time axis interval will be from 0800 to 1800. . . . . . . . . . . . . . . . . . . . . . . .79 Figure 40 - BBB's time axis has been translated. ............ .80 Figure 41 - Schedule plan resulting from previous flight segment manipulations. . . . . . . . . . . . . . . . .81 Figure 42 - Daily schedule plan for fleet routing demonstrations ... .82 Figure 43 - Answer to the first optimization option. . . . . . . . . . .83 Figure 44 - Fleet size input for the fleet routing option. . . . . . . . .84 Figure 45 - Generic daily ownership cost (doc) input for the fleet routing option. . . . . . . . . . . . . . . . . . .85 Figure 46 - Answer to the second optimization option with fs=1 and doc=-200. . . . . . . . . . . . . . . . . . . .86 Figure Flight of aircraft 001. . . . . . . . . . . . . . . . . . . . . .87 Figure Answer to the second optimization option with fs=4 and doc=-500. . . . . . . . . . . . . . . . . . . .88 Figure Flights for aircraft in a fleet of four. . . . . . . . . . . .. Figure Flight of one aircraft. AAA-BBB-AAA 89 and CCC-DDD-CCC also qualify. . . . . . . . . . . . . . . . .90 Figure 51 - Attempt to delete flight segment 109 leads to an imbalanced flow in the network. . . . . . . . . . . .91 Figure 52 - After flight segment 109 has been "removed", aircraft 001 is rerouted. . . . . . . . . . . . . . . . . . . . .92 Figure 53 - The flow bounds on a cycle arc are going to be changed. . . . . . . . . . . . . . . . . . . . . . . . . .93 Figure BBB's cycle arc is selected. . . . . . . . . . . . . . . . . . .94 Figure BBB's cycle arc lower bound remains 0. . . . . . . . . . .95 Figure 56 - BBB's cycle arc upper bound becomes 2........... .96 Figure 57 - The flow bounds on a flight arc are going to be changed. . . . . . . . . . . . . . . . . . . . . . . . . . 97 Figure 58 - Flight segment 103 is selected. . . . . . . . . . . . . . . . .98 Figure 59 - Flight segment 103's flight arc lower bound remains at 0. . . . . . . . . . . . . . . . . . . . . . . . . . .gg Figure 60 - Flight segment 103's flight arc upper bound becomes 2. . . . . . . . . . . . . . . . . . . . . . . . .. 100 Figure 61 - Two aircraft now overnight at BBB. . . . . . . . . . . . .101 Figure 62 - A "shuttle" schedule plan between AAA and BBB.. . . 102 Figure 63 - Two aircraft are needed to serve the shuttle. . . . . . . 103 Figure 64 - Only one aircraft seems to be required........... .104 Figure 65 - First part of a SAS schedule plan. ............... 105 Figure 66 - Second part of a SAS schedule plan. . . . . . . . . . . . 106 Figure 67 - Six aircraft are needed to serve all flight segments. . . . 107 Figure 68 - Answer to the second optimization option with fs=6 and doc=-100. . . . . . . . . . . . . . . . . . . 108 Figure 69 - Aircraft flights with fs=6 (first part). . . . . . . . . . . .109 Figure 70 - Aircraft flights with fs=6 (second part). . . . . . . . . . 110 Figure 71 - The aircraft flights have been manually rearranged (first part). . . . . . . . . . . . . . . . . . . . 111 Figure 72 - The aircraft flights have been manually rearranged (second part) . . . . . . . . . . . . . . . . . . 112 Figure 73 - Answer to the second optimization option with fs=5 and doc=-100. . . . . . . . . . . . . . . . . . . 113 Figure 74 - Aircraft flights with fs=5 (first part). . . . . . . . . . . . 114 Figure 75 - Aircraft flights with fs=5 (second part). . . . . . . . . . 115 Figure 76 - Aircraft flight with fs=1 (first part). . . . . . . . . . . . 116 Figure 77 - Aircraft flight with fs=1 (second part). . . . . . . . . . . 117 Figure 78 - Change in computation time with number of rotations. 118 Figure 79 - Change in computation time with fleet size. . . . . . . . 119 Figure 80 - Input of day of occurrence of a flight segment of a multiple-day schedule plan. . . . . . . . . . . . . . . 120 Figure 81 - Flight segment 101 has been scheduled for day 14. . . . 121 Figure 82 - Flight segment 101's day of occurrence will be changed. 122 Figure 83 - Flight segment 101 is rescheduled for day 39. . . . . . . 123 Figure 84 - Flight segment 101 has been scheduled for day 39.. . . 124 Figure 85 - Station display for flight segment 101. . . . . . . . . . . 125 Figure 86 - One aircraft flies from AAA to FFF in 17 days. . . . . . 126 Figure 87 - Answer to the first optimization option. . . . . . . . . . 127 Figure 88 - Answer to the second optimization option. . . . . . . . 128 Figure 89 - Flight ZZZ-BBB-CCC has been selected, but AAA-BBB-CCC is also possible. . . . . . . . . . . . 129 Figure 90 - Multiple-day schedule plan between days 1 and 12. . . . 130 Figure 91 - Answer to the second optimization option with fs=3 and doc=-300. ..................... 131 Figure 92 - The flights selected for the three aircraft......... .132 Figure 93 - The flights selected for two aircraft............ .133 Figure 94 - Schedule chart with maintenance arc. ............ 134 Figure 95 - Schedule plan consisting of two flights.......... .. 135 Figure 96 - Aircraft are rerouted after a maintenance - stopover has been introduced............... 136 Figure 97 - Loss of service on a flight segment when maintenance stopover is too long. . . . . . . . . . 137 Figure 98 - The network data structure consists of a node linked list and an arc linked list. . . . . . . . . . . . . . 138 Contents 1 introduction 11 2 The Out-of-kilter Algorithm 13 2.1 The Minimum Cost Flow Problem .............. 13 2.2 The Out-of-kilter Algorithm ....................... 14 2.3 Fleet Routing With The Out-of-kilter Algorithm . . . . . . 18 3 Interactive Dynamic Aircraft Scheduling and Fleet Routing , 26 3.1 The IASP for .the Daily Schedule Plan ................ 26 3.2 Fleet Routing with the Daily Schedule Plan ......... 30 3.3 Provision for Maintenance Stopovers ................ 34 3.4 The IASP for the Multiple-day Schedule Plan . . . . . . . . 35 3.5 Fleet Routing with the Multiple-day Schedule Plan 36 . . . . 4 Conclusions 38 A Figures 40 B Data Structure 139 Chapter 1 introduction The development of a working aircraft schedule plan' within an air transportation organization is a formidable task. A schedule plan has to be constructed that not only achieves the goals of geographic, frequency and departure time planning,but also satisfies the constraints of fleet size and maintenance and crew schedules. The development of a working schedule plan is an iterative process that tries to route aircraft onto flights of a schedule, meet the planning goals and satisfy operational constraints. Presently, the development occurs manually, whereby aircraft are routed on a schedule chart. Since adjustments to the schedule plan or the aircraft routes can require the erasure of existing flights and the addition of new ones onto the chart, the iterative construction of a schedule plan can be time-consuming. After a working schedule plan has been finalized, many occurrences can require rescheduling of flights and rerouting of aircraft: maintenance and 'Definitions of schedule-related terms are given on p.18. crew schedule changes, adverse weather conditions, or new demands for service. This rescheduling is called dynamic scheduling and usually occurs under time-pressure. Because even dynamic scheduling can be time-consuming, the need has been recognized for a computer-based system that would facilitate the development of working schedule plans. However, since the computer is still less versatile than the human mind in making decisions, the development of an efficient man-computer interface has been focused upon [1]. Such an interface has been referred to as a decision support system (DSS) 12,3]. In order to gain acceptance, a DSS should, ideally, simulate tried and true schedule construction and modification methods. As part of an evolutionary increase in the effectiveness of a DSS, however,it is desirable to also include operations research models for optimization of fleet routing. In this work, a DSS is presented that combines both features. It employs interactive graphics-based schedule construction and modification tools and optimization routines based on the out-of-kilter algorithm [4,5,6,7 for fleet size determination and fleet routing. The use of the out-of-kilter algorithm for fleet routing was already proposed by Simpson [8] in 1969. The following chapter covers respectively the theory of the out-of-kilter algorithm, its application to fleet routing, the tools for schedule plan construction and modification, and examples of fleet routing optimization. Chapter 2 The Out-of-kilter Algorithm 2.1 The Minimum Cost Flow Problem The minimum cost flow problem is a linear programming problem which has the following formalization: minimize E cijz;; isjEA subject to : zik ikEA , zki = 0 VEN kiEA 0 4, ix,,uq; WjEA Vij ,where zig is the amount of flow in arc ij, cii is the cost a unit of flow incurs in ij, 4, and u,, are respectively the lower and upper bounds on z;;, and A is the set of arcs and N is the set of nodes in the graph of the network. The optimal solution to the minimm cost flow problem is a set of flows in the arcs of a network which has a minimum total cost. In addition, the flows in this set are conserved at every node of the network and remain between the upper and lower bounds on the flows in the arcs of the network. The optimal solution to the minimum cost flow problem is obtained when any of the following conditions are satisfied for every arc in the network: k = ci; +h - IL < 0 when x; = ugg Ziy > 0 when zig = t5 k= 0 when 153;ziy<_ugy ,where Il; is the simplex multiplier for node i. An arc that satisfies one of the above optimality conditions is said to be in-kilter, otherwise, it is out-of-kilter. Since Zij appears as a single variable in the optimality conditions, the kilter state of the arc ij can be conveniently represented in a Z5 vs zij or kilter diagram. The mapping of the kilter states corresponding to the optimality conditions for arc ij then results in a kilterline of the form shown in Figure 1 (see Appendix A). 2.2 The Out-of-kilter Algorithm An algorithm has been developed that modifies the arc flows and node multipliers in order to bring every arc of the network in-kilter; it is called the out-of-kilter algorithm. The out-of-kilter algorithm requires an initial set of values for the arc flows and the node multipliers; usually, all of these values are equal to zero, but this need not be the case. Indeed, the values of the arc flows and node multipliers of a problem that differs only slightly from the one studied are also acceptable. After the arc flows and node multipliers have been initialized, the algorithm searches for all out-of-kilter arcs in the network and attempts to bring them in-kilter, one by one. There are two algorithms in the out-of-kilter algorithm which can accomplish this task: one that adjusts the arc flows and one that modifies the node multipliers. The former algorithm is a labelling algorithm that seeks to change the flow in an arc ij that is out-of-kilter. Depending on the value of Zi,, either increases or decreases the flow from i to flow-augmenting path from respectively j j. In both instances, a to i or i to j has to exist in the network in order for the flow to be conserved at i and labels - i and j it j. The node - are by convention reversed in the first case, so that the flow augmenting path always goes from i to j. The arcs that are included in the flow-augmenting path can be forward or reverse. A forward arc is included in the path if either 'eg > 0 and z,,> t; or Egy < 0 and z,, > uq and a reverse arc is added if either Egg < 0 or and zig > uq Eg > 0 and z;; > i. These acceptable kilter states are shown in Figure 2. Since no arc that is already in-kilter should be brought out-of-kilter and no distance between an out-of-kilter arc's position in the kilter diagram and its kilter line should be increased, flow changes of too great a magnitude in the arcs of the flow-augmenting path are prohibited. To this end, the labelling algorithm assigns two labels to every new node of the path. One label is the label of the node that precedes the new node in the path from i (with, in addition, a + or - that indicates whether the new arc is forward or reverse). The other label is an integer whose value is the maximum additional amount of flow that can be sent along the path without moving any arc in the path beyond its kilter line. This flow increment is the smaller of the previous flow increment and the maximum flow increment possible in the new arc of the path. The new arc's maximum flow increment equals: for a forward arc ij: 1, - xi when Egg > 0 u,; - xi when Eg <; 0 for a reverse arc ij 4, when gij> 0 z;; - ugg when Egg < 0. xig - When the endnode j of the out-of-kilter arc ij has been labelled, a flowaugmenting path has been found (a breakthrough has occurred) and the value of j's flow increment label is added to the flow in every arc of the flow augmenting path. Hereafter, all label pairs of the nodes of the path are discarded and the kilter state of ij is determined once more. The labelling algorithm is applied to ij until ij is either in-kilter or no flow-augmenting path is found (a non-breakthrough has occurred). In the latter case, the second algorithm is employed to aid in bringing the out-of-kilter arc in-kilter. This algorithm changes the value of the node multipliers of the labelled nodes whose incidents arcs link labelled and unlabelled nodes by an amount M which is the minimum of: -The minimum of Egg for all forward arcs ij linking labelled and unlabelled nodes for which Eg > 0 and tq<xi < ug. -The minimum of |eq | for all reverse arcs ij linking labelled and unlabelled nodes for which Eg < 0 and t4 < xzjgujg. -Infinity. The first two cases are shown in Figure 3. The new values of the reduced costs of the forward and reverse arcs will therefore be, respectively, ?Eg-M and Z,,+M. As a result, at least one arc's new position in its kilter diagram will be on the horizontal segment of the kilter line and no arc's position will be beyond this segment. If M has an infinite value, however, no feasible flow exists and the out-of-kilter algorithm then terminates. If infeasibility has not occurred, the second algorithm will have prepared at least one more node for labelling by the first algorithm - thereby extending the flowaugmenting path - or the out-of-kilter arc will have been brought in-kilter. In the latter case, the out-of-kilter algorithm searches for a new out-ofkilter arc; otherwise, it restarts the labelling process from node i, since changes in the node multipliers may have affected the effective capacity of the flow-augmenting path. Eventually, the out-of-kilter algorithm either has brought all out-ofkilter arcs in-kilter, in which case a minimum cost flow has been found, or has not been able to find a flow augmenting path for an out-of-kilter arc, in which case no feasible flow can exist in the network, due to a conflict between flow constraints. 2.3 Fleet Routing With The Out-of-kilter Algorithm The out-of-kilter algorithm can be applied to various network-related mathematical models of realistic problems when the cost parameters of the minimum cost flow objective function are changed, or arcs or arc parameters are added to the original network. Consequently, the out-of-kilter algorithm can solve some of the most common network flow problems: maximum flow, shortest path, assignment, transportation and transshipment problems. This fact clearly demonstrates its power and usefulness. On the following pages, the application of the out-of-kilter algorithm to mathematical models of two common and closely related air transportation problems is discussed: - Find the minimum size of an aircraft fleet, so that all flight segments of the schedule plan are served. - Find the optimal flights (which accomodate the flight segments of highest "value") over a schedule plan for an aircraft fleet of fixed size. A flight segment of a schedule plan is a non-stop connection between two airfields at a paricular date and time and a flight represents the sequence of flight segments assigned to a single aircraft for service; the geographic trace of a flight is called a route. The schedule plan is then a collection of flight segments that are to be served, or can be served, within a planned time horizon. Two types of schedule plans will be converted into mathematical models that are suitable for solution with the out-of-kilter algorithm. The first type of schedule plan, the daily schedule plan, consists of flight segments that are to be served on a daily basis and whose flights (rotations) usually1 originate and terminate at the same airfield, where the aircraft will overnight. The second type of schedule plan, the multiple-day schedule plan, contains flight segments that have been planned for service during a period of at least one day. The aircraft of a fleet assigned to this schedule plan can therefore overnight at stations along their route and do not have to return to the station at which their flight originated. The value of a flight segment can have several meanings, depending on the nature and circumstances of the flight segment or the objectives of the people who have an interest in it. The value of a commercial flight segment, for example, might be its revenue, whereas the value of a military flight segment might be directly related to the priority of its cargo. 'An exception is presented on p.31. One important restriction to the application of the models is that neither one can satisfy the optimization criteria for a fleet of aircraft of mixed type. A fleet routing problem for a mixed-type aircraft fleet will therefore have to be decomposed into subproblems according to each aircraft type. The type of schedule plan determines the form of its equivalent network, which in turn influences the identity of the mathemathical model. Arcs, nodes, lower and upper bounds and flow costs on the arcs are the building blocks of a network that corresponds to a schedule plan. Flight, ground and cycle arcs and station event nodes provide the framework of the network. Here, a station event corresponds to an arrival' or departure of a flight segment and a ground arc connects two successive station events. In the case of a daily schedule plan, the cycle (overnight) arc links the last station event to the first at each station in the schedule plan. The arcs and nodes of this schedule plan can be graphically represented as a schedule chart, as shown in Figure 4. In the case of the multiple-day schedule plan, the network also contains arcs that connect the "first" station events with a source node and arcs that connect the "last" station events with a sink node. One cycle arc connects the sink node with the source node and there are no overnight arcs in this network, which is shown in Figure 5. The optimization problem and the type of schedule plan determine the mathematical model and the values of the parameters of the arcs in the network. The arc parameters are presented in Figure 6 and the mathematical model formulations in Figure 7. 2 In practice, the arrival time is converted into an earliest time of departure, or "ready" time. The values of the arc parameters for the first optimization problem determining the minimum fleet size - are identical for the daily and multipleday schedule plans. The "value" of a flight arc is negative, reflecting its revenue or negative cost. Since the first optimization problem is actually reduced to the counting of the minimum number of aircraft needed to serve all flight segments of the schedule plan, both the lower and upper bound on the flow in the flight arcs are equal to one, so that exactly one aircraft will serve each flight segment. As is shown in Figure 7, for the daily schedule plan network the sum of all cycle arc flows equals the fleet size: E cxzi = ijEA E z,,. For the multiple-day schedule plan network,no ijEcycle arc overnight arcs exist and the fleet size is consequently equal to the flow in the cycle arc ts, zt,. The mathematical models for the second optimization problem - finding the optimal flights in a schedule plan for an aircraft fleet of fixed size - are not as straightforward as the previous mathematical models; a few concepts need to be introduced before they can be explained: -The daily ownership cost of an aircraft, doc, is a measure of the daily expense associated with the ownership and operation of an aircraft; it has a positive value. -The take of an aircraft: E cixji , where ij is an arc in ijEflight arC the network representing a flight segment of the aircraft's flight. -The net take of an aircraft: E ci zij + doe ijfligMs arcs -The net take of an aircraft fleet is the sum of the takes of all aircraft in the fleet: -for the daily schedule plan: cijzi + doc ( E ijEflight -for the multiple-day schedule plan: zij) ijEcyle arc area E c,,zxi + doc zg ijEflight are* -The maximum doc is that doc for which the net take of the aircraft fleet becomes zero. For the second optimization problem, the objective is to maximize the net take of the aircraft fleet. In order to describe the mathematical models in minimum cost form, the objective functions in Figure 7 are the negative of the fleet net takes given above. Both mathematical models now contain the additional constraint that the fleet size cannot exceed a given number, FS. As is shown in Figure 6, the lower and upper bounds on the flow in the cycle arcs of the daily schedule plan network, t, and uc, can be set to values that reflect restrictions imposed on the number of aircraft that can overnight at the airfields. The default values are respectively 0 and oo, so that an indefinite number of aircraft can overnight at each airfield. The lower and upper bounds on the flight arcs, if and u, can also be changed, so that several aircraft can simultaneously serve a given flight segment. For the multiple-day schedule network, u, determines the maximum fleet size, while the flight arc flow bounds allow for not more than one aircraft to serve each flight segment. For both networks, the daily ownership cost is assigned to the cycle arc(s). As was described above, the solution to the first optimization problem consists of the minimum fleet size necessary to serve all flight segments of the schedule plan. It is obtained by employing the out-of-kilter algorithm once and summing the flows in all the cycle arcs. The solution to the second optimization problem consists of the fleet size and the flights assigned to each aircraft in the fleet. The solution method for the fleet size determination is based upon the fact that the net take of each aircraft in the fleet has to be positive; if there are aircraft whose take is less than the daily ownership cost, they are to be removed from the aircraft fleet and the aircraft in the remainder of the fleet can then be assigned new flights, which may include individual flight segments of the discarded flights if these increase their take. Since the daily ownership cost thus indirectly sizes the aircraft fleet, it assumes the role of control variable in the iteration procedure that maximizes the fleet's net take, while satisfying the fleet size constraint. The iteration procedure arises from the use of a Lagrange multiplier technique and is explained with the aid of the following scenario. Suppose that an initial doc, doc1, results in a fleet size fs, larger than FS, as shown in Figure 8. This situation can occur when FS is less than the fleet size necessary to serve all flights in the schedule plan. Since fs decreases with increasing doc, doc1 is added to doc until fs is less than or equal to FS. At doc3, fs is less than FS and doc3 is therefore decreased by an amount equal to one-half of the original increase in an attempt to reach the FS mark. Since fs is still less than FS at doc4, doc4 is again decreased, so that doc2 is reached anew. Now, however, only one-quarter of the original increase (one-half of the previous decrease) is added to doc2. In this case, the iteration procedure terminates at doc5 because the termination criterion is now satisfied: fs is equal to FS. If the aircraft fleet is larger than is necessary to serve all flight segments in the schedule plan, it is decreased to the maximum fleet size for the given schedule plan before the iteration procedure is started. In section 3.2, it is shown that this procedure results in a significant reduction in computation time, because the solution is obtained after fewer iterations. Upon termination of the iteration procedure described above, the out-ofkilter algorithm has determined the fleet size and the set of flight segments of the schedule plan that are served, but not the aircraft flights. The latter are determined in a final employment of the out-of-kilter algorithm. First, the arc flows and node multipliers are reinitialized and the cycle arc costs are set to the final value of doc. Then, as each arc of the network is brought in-kilter for the first time, the set of flight segments that are brought inkilter along with it are assigned a unique label. The time-ordered sequence of those flight segments then forms the flight of a single aircraft in the fleet. In this section, the determination of the minimum fleet size and the set of flights corresponding to a given fleet size was presented as a pair of optimization problems for two schedule plans, a daily and a multiple-day schedule plan. A solution to these problems with the out-of-kilter algorithm led to the conversion of the optimization problems and schedule plans into four distinct mathematical models. Whereas the solution to the former optimization problem could be determined after a single employement of the out-of-kilter algorithm, the latter optimization problem dictated an iterative solution to the fleet size constraint, based on the variation of the generic daily ownership cost of the aircraft in the fleet. Aircraft flights came into existence as batches of flight segments simultaneously brought in-kilter. In the following chapter, the working of the schedule planning/fleet routing DSS will be discussed. Chapter 3 Interactive Dynamic Aircraft Scheduling and Fleet Routing The PASCAL procedures that collectively solve both optimization problems exist as two sets, one for the daily schedule plan and one for the multiple-day schedule plan, and each set is imbedded within a copy of an interactive aircraft scheduling program (IASP) that has been developed under Version 3 of the Apple Macxl PASCAL Workshop. The features of the IASP and the optimization problem solvers will be described hereafter. Appendix B explains the data structure behind the networks that represent the schedule plans. 3.1 The IASP for the Daily Schedule Plan The IASP allows for the dynamic construction and modification of a schedule plan because menu options can be moused to activate PASCAL procedures that add, delete, move, or modify flight segments displayed on a schedule chart; presently, a maximum of 104 flight segments can be created. Figures 9 through 22 animate the construction of a simple daily schedule plan and the alteration of flight segment characteristics. Upon selection of the add option, the IASP prompts for the flight segment's number, origin code name, destination code name, value and duration, as may be seen in Figures 9 through 131. After this information has been input, a rectangle that depicts the flight segment appears and can be moved with the mouse to the desired position on the schedule chart. For any particular departure time, the vertical position on the schedule chart is unimportant. The minutes past the hour of the departure time are displayed in the upper-righthand corner, as shown in Figure 14. Figure 15 presents a flight segment that departs from AAA at 2 pm and arrives at BBB at 5 pm and has a value of 100. In order to alter any flight segment characteristic, both the modify option and the flight rectangle must be moused; a new display then appears as presented in Figure -16. If, for example, the flight segment's value is to be increased to 200, the value bar is moused and the new value is input, as is shown in Figure 17. Figure 18 presents a schedule plan consisting of four flight segments between stations AAA, BBB and CCC. Any flight segment can be moved or deleted by mousing both the corresponding option and the flight segment rectangle itself. The result of selecting each option is shown in Figures 19 through 22; flight segment 104 is first moved and then deleted. 1Although the cost parameter of a flight segment is negative, the value of the flight segment is input as a positive number,corresponding to the inflow of 'value". The display can also be translated along the time axis of the schedule chart. To this end, the time axis option is moused and the "time rectangle" is moved; only hourly translations can be made. The time axis option display is shown in Figure 23 (the time interval of the portion of the schedule chart currently displayed is painted black) and the display resulting from the translation of the time rectangle is shown in Figure 24. Mousing the schedule option results in a tabular display of the schedule plan, which may be seen in Figure 25. With the station option, all arrivals and departures at two airfields of the schedule plan can be seen. In addition, new flight segments between those airfields can be added and existing flight segments can be deleted and moved. The modify, schedule and end options all return the display to the original schedule chart. Figure 26 presents the station display for stations AAA and BBB. In order to delete a flight segment, the delete option is selected and the mousebutton is pressed when the mouse arrow is positioned over the flight segment number of either the arrival or departure arrow, as shown in Figures 27 and 28. In order to add a flight segment, its number, duration and value are input and its arrival or departure time is selected by positioning the mouse arrow in the desired "time field" and mousing at the desired time. This sequence of events is shown in Figures 29 through 33. Flight segment 107 departs from AAA at 1530 and arrives at BBB at 1730. In Figure 34, the four time fields are indicated; mousing in any one is sufficient to schedule a flight segment between AAA and BBB. If the departure time is DT and the arrival time is AT, then mousing in time field 1 fixes the AT of BBB to AAA, 2 fixes the DT of AAA to BBB, 3 fixes the AT of AAA to BBB, 4 fixes the DT of BBB to AAA. A flight segment's arrival or departure time can be moved by selecting the slide option, marking the arrival or departure arrow, as before, and mousing at the new arrival or departure time, as shown in Figures 35, 36 and 37, where the departure time of flight segment 101 has been moved to 1410. With the time axis option, the visible portion of each station's time window can be changed independently. It suffices to select the desired station option and move the time rectangle to its new position, as was explained before. In Figures 38, 39 and 40, station BBB is selected and the visible portion of its time axis is translated. As a result of the flight segment manipulations described above, the schedule chart display now appears as shown in Figure 41. The IASP offers an array of tools with which a schedule plan can be constructed and modified. It also employs the schedule plan as an input to both optimization options. Hereafter, the input to and output from both optimization options will be described and evaluated for the daily schedule plan. 3.2 Fleet Routing with the Daily Schedule Plan The input-output features of the optimization options will be identified with the aid of the schedule plan presented in the form of the schedule chart of Figure 42. Upon selecting the first optimization option (1), the display becomes as given in Figure 43. Four aircraft are needed to serve all flight segments and they overnight at stations AAA, BBB, and DDD. The response time of .2 sec demonstrates the high speed with which the network is constructed and the minimum fleet size problem is solved. The second optimization option (2) requires as input the maximum number of aircraft in the fleet and the daily ownership cost of the aircraft, in addition to the schedule plan. As is shown in Figures 44 and 45, the flight of one aircraft witha doc of -200 is to be found 2. The first part of the so- lution is presented in Figure 46. The aircraft's net take is 360 - 200 = 160, 2 Again, the cost parameter of a cycle arc is positive, but the doc is input as a negative number to account for the outflow of "value". its maximum doc is 360 and it overnights at station AAA. The message "grey flights are flown" points to the second part of the solution, which can be seen after mousing. The grey (black here) flight segment rectangles that are tagged with the aircraft number belong indeed to the flight aircraft 001 can serve, as may be seen in Figure 47. Aircraft 001's take is the highest take a single aircraft can achieve for this schedule plan. Figures 48 and 49 confirm the answer of the first optimization option: four aircraft are needed to serve all flight segments in the schedule plan. Since the doc was set at -500, which is higher than the maximum doc of -265, the fleet net take is negative. Although flight DDD-CCC-DDD has the same total value as flight BBB-CCC-BBB, the progam assigns one aircraft to each flight. As a result, flights that are not included in the final schedule plan, but could be preferrable to flights of equal total value that are included, should be checked for. An example is given in Figure 50. If only one aircraft is available, the program selects flight EEE-FFF-EEE, but either one of the other two flights may be preferrable. Under realistic conditions, some flight segments may become unservicable at certain moments. Rather than deleting from the schedule plan the flights whose flight segments cannot all be served, the IASP offers the opportunity to "remove" those flight segments and reoptimize the fleet routing for the modified schedule plan. An obvious step would be to employ the delete option to this end; however, if, for example, flight segment 109 of Figure 47 is thus deleted, the display becomes as shown in Figure 51, because of a violation of the flow conservation constraint at stations CCC and EEE: their number of arrivals does not equal their number of departures. Instead of deleting the non-servicable flight segments, the modify option should be employed; it suffices to select the value bar and input "out" to "remove" the flight segment from the schedule plan3 . The flight segment will then be displayed in light gray on the schedule chart. If flight segment 109 has become unservicable, a single aircraft will be rerouted from the optimal flight shown in Figure 47 to the one shown in Figure 52. With the u,l option, the flow bounds on any flight arc or cycle arc can be adjusted. If the number of overnight aircraft at an airfield has to be restricted, the word "stat" (short for station) and the station code name and the upper and lower bounds have to be input, as shown in Figures 53 through 56 for station BBB, where the upper bound is set to 2. The number of aircraft that can simultaneously serve a flight segment can be changed by respectively inputting "fit", selecting the flight segment rectangle and inputting the upper and lower bounds on the flow in its corresponding flight arc, as shown in Figures 57 through 60 for flight segment 103. If both flight segment 103 and 104 have an upper bound equal to 2 and the fleet size is set to 5, the solution to option 2 is as shown in Figure 61. Two aircraft now overnight at station BBB and serve flight segments 103 and 104. Figure 62 presents a "shuttle" schedule plan between stations AAA and BBB. The solution to option 2 reveals that two aircraft are needed to serve both flight segments, as shown in Figure 63 (the doc was -100). In Figure 64, however, all flight segments have been labelled with '001'. The reason is that they were all brought in-kilter simultaneously and therefore labelled 'in' reinserts the flight segment into the schedule plan. accordingly. For any schedule plan, the presence of "shuttles", if not immediately visible on the schedule chart, will always be noticeable from the discrepancy between the actual fleet size and the maximum label number of the flight segments in the schedule plan. The schedule plan discussed above has served to explain the characteristics of the IASP and the optimization options; a final, somewhat more realistic schedule plan, will now be presented. This schedule plan will also serve as a test case for the performance measurement of the optimization algorithms for the daily schedule plan. The schedule plan is shown in Figures 65 and 66 and has been derived from a portion of an actual Scandinavian Airline System flight schedule. Each row of flight segments represents a complete rotation. Since there are six rotations, six aircraft should be required in order to serve all flight segments of the schedule plan. The solution to option 1 confirms the fleet size and the overnight stations and is shown in Figure 67; it was found after .8 sec. The solution to option 2 - with an input of six aircraft for the fleet size and -100 for the doc - also confirms the above result, but includes rotations different from the ones that were apparent. This solution is presented in Figures 68, 69 and 70. The flight segments belonging to the same aircraft can now be manually rearranged so that they appear on the same horizontal line, as shown in Figures 71 and 72. The fleet net take for an aircraft fleet that flies the original rotations or the ones found by the optimization procedures will naturally be the same; if, however, one aircraft breaks down, it may not be obvious which rotations should be served so as to minimize the loss in take; the optimization algorithms will provide that answer. For the solution shown in Figures 73, 74 and 75, the fleet size was set to five, while the doc was kept at -100. The fleet net take has decreased to 3815, which is attributable to the unservicable flight. It is worth noting that the flights shown in Figures 74 and 75 are different from those in Figures 69 and 70 because the reoptimization has reallocated the flight segments to the aircraft of the fleet. If only one aircraft was available, it would serve the flight shown in Figures 76 and 77. The SAS schedule plan example has been used to determine the performance of the software. Figure 78 shows that the computation time grows linearly with the schedule plan size. Figure 79 shows the variation of computation time with fleet size for a fixed schedule plan. The computation time for fleet sizes smaller than the maximum fleet size (6) varies from two to three times the computation time for the maximum fleet size case, because the number of iterations required to obtain a solution varies with the fleet size. The computation time for fleet sizes larger than the maximum fleet size is, however, constant and approximately equal to the minimum computation time, because the fleet size is automatically decreased to the maximum fleet size before the iteration is started. 3.3 Provision for Maintenance Stopovers Maintenance checks, regular or unexpected, are performed on all operating aircraft. They are represented as maintenance arcs in the daily schedule plan network, which force aircraft to undergo maintenance at a particular station and time. A maintenance arc is depicted in Figure 94; the cost of the arc is set to zero because maintenance accounting is normally distinguished from flight service accounting. The addition of a maintenance arc should not change the flow in the arcs whose finish time is less than the start time of the maintenance arc if an out-of-kilter flow solution already existed for the original network, this to avoid rerouting of the aircraft prior to the maintenance stopover. Figures 95 and 96 demonstrate the rerouting that can occur after a maintenance stopover that has been introduced into a schedule plan. In Figure 95, the flights of two aircraft have been determined with the second optimization option. One flight includes flight segments 101 and 102, the other includes flight segments 103 and 104. In Figure 96, a maintenance stopover of 3 hours at station BBB - depicted by segment M01 - was added and the flow bounds of segments 101 and M01 were set to 1 with the u,l option. All flight segments are still served, but the flights have changed. Whereas one flight now consists of flight segments 102 and 103, the other consists of flight segments 101 and 104 and the maintenance stopover at station BBB. Figure 97 shows that aircraft 001 is not able to serve flight segment 104 if the maintenance stopover lasts until a time later than the departure time of the flight segment. 3.4 The IASP for the Multiple-day Schedule Plan The flight segments of a multiple-day schedule plan are distinguished, not only by the characteristics they have in common with the daily schedule plan flight segments, but also by their day of occurrence. With this program, flight segments can be scheduled within a time horizon of 999 days. The day for which the flight segment is scheduled simply has to be input as part of the input of the flight segment characteristics, as shown in Figure 80. In Figure 81, flight segment 101 has been scheduled for day 14. If it has to be rescheduled, the day option should be selected and a new day input, as demonstrated in Figures 82, 83 and 84, where flight segment 101 has been rescheduled for day 39. Figure 85 presents the station display for flight segment 101. The day for which the flight segment is scheduled now marks both the arrival and departure arrows. 3.5 Fleet Routing with the Multiple-day Schedule Plan Figures 86, 87 and 88 show the solution to respectively option 1 and option 2 for a flight scheduled for one aircraft that has a doc of -100. The flight starts at station AAA at day 12 and ends 17 days later at station FFF. The overnight stations of the flight are not explicitly shown, but can be inferred from the days of occurrence of succesasive flight segments. When two aircraft compete for the same flight segment and the take of either aircraft would be the same, the program assigns the flight segment to one aircraft, as shown in Figure 89, where the fleet size was set to one. Flight segments that are not included in the final solution, but may be preferrable, should therefore be inspected. Figure 90 presents a schedule plan set to occur between days 1 and 12. The schedule plan consists of three flights, as shown in Figures 91 and 92 (the doc was -100) . The solution was obtained after barely .3 sec. If only two aircraft were available, their flights would become as indicated in Figure 93. The flight of aircraft 001 is now different from the one of Figure 92 because the aircraft had access to the flight segments of the "third" aircraft. In this chapter, schedule construction and modification with the IASP and fleet routing with imbedded optimization procedures based upon the out-of-kilter algorithm have been described. It has been shown that a schedule plan is easily built and modified and that optimal flights and minimal fleet sizes are, in most cases, quickly obtained. Maintenance stopovers, if carefully scheduled, can be integrated into a schedule plan with a minimal loss of regular service. The usefulness of the solutions to the optimization problems, however, ultimately have to be considered relative to constraints and demands other than those related to the schedule plan itself. This fact will be expanded upon in the conclusion presented hereafter. Chapter 4 Conclusions Computer-based schedule plan construction and modification tools, in combination with out-of-kilter-based fleet routing optimization functions create an effective decision support system for dynamic scheduling. Efficient dynamic scheduling is achieved because of the straightforward interaction between keyboard and mouse inputs and graphically displayed information. The fleet routing optimization procedures provide answers quickly, but their quality and applicability has to be assessed: -Flight segments not included in the solution may be preferrable to flight segments of equal value that are included. -Schedule plan or fleet size changes may lead to a complete reconfiguration of the aircraft flights. It would be necessary to reconfigure maintenance and crew schedules accordingly. -The proposed overnight stations in a daily schedule plan may not be desirable, but constraints can be imposed to produce the desired overnighting. The need for assessing the quality of fleet routing optimization solutions is unavoidable and defines and restricts the role of a decision support system. This does not represent a real drawback, however, for many scheduling scenarios can be quickly staged and interpreted in succession, so that a realistic solution can be found which is fairly close to the "blind" optimum. Since many alternatives can be evaluated, such a solution will certainly be better than one that is obtained manually within the same time-frame. The functions of the DSS presented in this work can be expanded and refined. For example: -The manual rearrangement of flight segments on the schedule chart according to aircraft number can be automated. -The input of maintenance segment characteristics can be separated from the input of the flight segment characteristics; flow bounds on the maintenance arcs can then be set automatically. The fixation of flows in segments that finish at times before a given time can also be automated. -Software that correctly labels the flights of aircraft for shuttle plans can be developed. The software of this DSS, written in PASCAL, should be easily transferrable to computer systems with more advanced graphics features and larger database capacities. In addition, this DSS should also be useful to organizations other than those in the air transportation field, because the segment rectangles and their characteristics can be easily redefined. Appendix A Figures C . 0 X.. 1J kilterline Figure 1 - The kilter diagram of arc ij C.. 1") . 1I 9 9 9 . I , , , I I i I I . . .. .reverse I I .* . e e . e S .. . . . i I I S I I I I I I I I I I .1 . forward . .. 0 I.- I I Figure 2 - Acceptable kilter states for forward and reverse arcs to be included in the flow-augmenting path' 42 C. forward Ox If I I I ,reverse I II I I , f I I Figure 3 - Kilter states of arcs linking labelled and unlabelled nodes of which the node multipiers will be changed station cycle arc , service arc station event Figure 4 - Daily schedule plan schedule chart source cycle service station event - sink arc sink Figure 5 - Multiple-day schedule plan schedule chart Minimum Fleet Size Fleet Routing ground arts: cycle arcs: flight arcs: I = 0,u = oo, = 0 I = 0,u = co,c = 1 I = 1,u = Ic = value I = 0,u = oo,c = 0 I = ,(0), u = u,(oo), c = doc I I (0), u = uy(1), = value ground arcs: cycle arcs: flight arcs: source,sink arcs: I I I I = 0, u = Optimization Problem Schedule Plan Daily Multiple-day O,u = = 0,u = = 1,u = I = O,u = = oo,C = 0 oo,c = 1 1,C = value oo, = 0 0, c = 0 = doe u,,c t = 0,u = 0, u = 1,c = value I I = 0,u = oo,c = 0 I =lower bound u =upper bound C =cost doc =daily ownership cost Figure 6 - Network arc parameters by schedule plan and optimization option Optimization Problem Fleet Routing Minimum Fleet Size Schedule Plan min E min Xii -[ = 0 zxi xi - E Daily <_li<zi;<ui; 0 ci.xi + doc( >j ijE flight x; ijEcycle are, ViEN arc, I ijEcycle arc, xi;FS ijEccdl are VijEA 1: zik ik Vi EN xzu = 0 hi VijEA min Multiple-day min it. E x, ik - = 0 zti ki Xi - L E ViEN -[ (: cizij + doc t.] ijE flight are# zts<FS ( zik - x 1, = 0 xzi = 0 ViEN #i LXit - its = 0 Xj- xt* 0 it Z zit - Xs = 0 it VijcEA 0<ti;<xi;<ui; a =source Figure 7 - Mathematical formulations by schedule plan and optimization option t =sink fs fs2 FS fs4 fs3 - ~ ~ - docl doc4 doc2 doc3 doc5 Figure 8 - Iteration scenario when specified fleet size is less than maximum fleet size 11 TIME AX IS 12 DELETE 13 14 ADD 15 SLIDE 16 17 MODIFY Figure 9 - Segment number input 18 SCHEDULE 2 1 UL 101 SEGMENT NO.: 19 20 STATION 21 END AAA ORIGIN: 12 13 14 16 17 Figure 10 - Origin station code name input 19 20 21 DESTINATION: 11 BBB 12 13 14 16 17 Figure 11 - Destination station code name input 19 20 VALUE: 100 13 14 15 16 17 Figure 12 - Flight segment value input 19 20 21 FLYING TIME: 300 13 14 15 16 17 Figure 13 - Flight segment duration input 18 19 20 SELECT DEPARTURE TIME .... 11 12 13 14 MOUSE TO CONTINUE 15 16 18 Figure 14 - The flight segment rectangle is moved to the appropriate position 19 20 21 11 12 13 14 15 16 17 18 0100 AAA "o, 0 BOB 0 Figure 15 - Flight segment 101 has been scheduled 19 20 21 SELECT FLIGHT DATA ELEMENT TO BE CHANGED FLYING TIME = 0300 Figure 16 - Flight segment characteristics display I NEW VALUE: SEGMENT & 200 NUMBER ORIGIN DES'TINATION Figure 17 - Flight segment 101's value is increased OPTIMIZATION OPTIONS U,L 11 16 oloo AAAE 012 0 10 851 06 TIME DELETE ADD 1 18 19 sf# 488 IMMMM913i 2 20 21 * AAA to 0204 Ii BOB rCCL Ite SLIDE MODIFY U SCHEDULE AXIS Figure 18 - A schedule plan consisting of four flight segments STATION END SELECT SEGMENT TO BE MOVED....MOUSE DURING FLYING TIME 11 12 13 14 15 16 17 18 0100 AAA 101 o6 TIME DELETE 40 ( 21 AAA 10 .- 888 iI Zi ADD 20 020 0120 to 88 0 30 I 2 8 5 19 SLIDE MODIFY 23 SCHEDULE AXIS Figure 19 - Flight segment 104 is about to be selected for rescheduling STATION END SELECT NEW DEPARTURE TIME FOR FLIGHT SEGMENT 12 13 AAA 14 - 15 0104 101 101 - 17 88 012 06 16 -2c C Figure 20 - Flight segment 104 is being rescheduled 18 20 19 AAA 21 15 13 12 AAA AA 1 m- - I 01601 16 18 pas in, .lot! oil 888 06 21 Figure 21 - Flight segment 104 is about to be deleted 19 20 21 13 AAA 14 15 18 88 Cdc Figure 22 - Flight segment 104 has been deleted 19 AAA 03 0r o5 o6 07 0S 0 10 010oom M01 AAAM IL, 15 13 11 it - 13 16 14 15 16 1? 18 17 19 10 18 Ieop0 Ida 1,8 21 22 23 19 20 Z1# o 01 21 AAA Oil 88E 1Ce 06 TIM'E AXIS_ DELETE ADD SLIDE MODIFY SCHEDULE Figure 23 - A new time interval is selected STATION END os 16 17 18 19 20 21 22 23 24 01 02 0230 888 Iet IAan 'to DELETE to- ADD SLIDE MODIFY SCHEDULE Figure 24 - The visible portion of the schedule chart has been changed STATION END SCHEDULE DATABASE FLT# ORIG DEST DEPT ARRV 101 AAA BBB 1145 1450 102 BBB AAA 1640 1920 103 BBB COJ 1306 1421 Cn' Figure 25 - The schedule plan of Figure 23 is tabulated STATIM ACI'IVITY 11 12 13 14 15 16 17 18 19 20 21 20 21 102 888 AAA 0lI 11 12 13 14 15 l01 A 16 17 18 2 BBB I C(CI 103 AAA 102 Figure 26 - Station display for stations AAA and BBB 19 14 15 20 102 IO AAA 1 [1 101 12 13 16 17 18 BBB Figure 27 - Flight segment 103 will be deleted 19 20 STATIM ACrIVITY 13 16 14 17 18 20 I0CZ Bs I AAA OB 11 | 14 18 15 101 AAA IO BBB I II ~I 1 110 I R Figure 28 - Flight segment 103 has been deleted 1 SEGlMNT NO.: 107 13 14 16 17 18 20 I. 1*2 I I U I I 1 AAA Be. I I. I 15 i 16 1o II BBB AAA Figure 29 - Flight segment 107 is being added to the schedule plan 21 r 13 15 16 17 20 21 20 21 102 I88 AAA 101 13 1 14 15 I BBB || A~1011 Figure 30 - The value of flight segment 107 is 350 FLYING TIME: 11 230 12 13 14 15 17 20 I 21 1 AAA 101i .1 12 13 14 15 17 16 18 19 20 101 A41 BBB I 1 I AAA 1021 Figure 31 - The duration of the flight segment is 2.5 hrs I 21 14 15 21 16 I02 I AAA OI 12 13 16 17 18 BBB I oz Figure 32 - Flight segment 107's departure time is selected 19 20 STATIM ACrIVITY 13 16 19 20 21 I I lot 888 I. I T 1 -~ I AAA r . 4 BOB ;s W8 101 .1 12 1 13 14 15 16 18 17 lot I o? AAAI BBB lAAA I02 Figure 33 - Flight segment 107 has been scheduled I W _________ STATICN ACTIVITY 11 13 14 16 17 18 AAA BBB Figure 34 - The "time fields' for the selection of arrival or departure times 20 21 16 15 18 lot sob I AAA 48 Bee 47 5B 1*7 11 12 13 14 to) I BBB 18 15 I 7 Ann I~ AA 12 1 Figure 35 - Flight segment 101 is selected for rescheduling 1 20 12 lot 980 AAA 17 12 13 16 17 18 BBB Figure 36 - The arrow is moved to the new departure time 19 STATIm1 ACIIVITY 11 13 15 16 17 20 lo_ I I ______________ I I I IW1w~ I______________ £ I AAA 40 OB Fos I0I 13 r 107 15 101 107 AAA I I BBB Ilotl I - Figure 37 - Flight segment 101 has been rescheduled I 21 13 16 14 2 20 131 1617 18 l~ I . AAA 47 Bag 888 foi 107 15 16 17 BBB Figure 38 - The time axis of either AAA or BBB can be translated 20 21 05 0. 12 Or *6 13 10 o7 o 0 14 12 I 15 , K' 014 16 17 18 19 I 20 . 102oZ I AA 4 BOB I, BB8 197 101 12 13 16 17 lot 20 10o AAAi & £ 1~ I 11 I A_______ BBB II2 Figure 39 - BBB's visible time axis interval will be from 0800 to 1800 I 21 STATION ACTIVITY 13 11 14 15 20 19 16 loz 1 F I - 56 AAA 40 S7 BB I @1 08 09 107 14 11 15 107 lei AAA1 FIA~ I~ Ip BBB ____ ___ I I . ___ ___ 1 *I Figure 40 - BBB's time axis has been translated - AA OPTIMIZATION OPTIONS 11 12 UL 14 13 15 16 18 17 q0 ADD SLIDE 21 AAA 20 30 30 DELETE 20 19 r1 or08 it17 TIME AXIS 2 021;0 0100 A inA 1 MODIFY SCHEDULE Figure 41 - Schedule plan resulting from previous flight segment manipulations STATION END DDD 20 16 15 12 CCL 4 amo mm 00 CC' - AAAA~,o,0900 AAA -I TIME AXIS DELETE 00 01 888 ADD @0 - CCC DO SLIDE e9 00 000 -0 ao 20 MODIFY 4o 000 AAA Pog EE, "mI~ (CL 21 0 DOD o 00 00 00 2 1 UL OPTIMIZATION OPTIONS tIs SCHEDULE STATION Figure 42 - Daily schedule plan for fleet routing demonstrations END fleet size: 004 overnight stations: DDD (01) , BBB(01) , AAA (02) nouse to continue Figure 43 - Answer to the first optimization option NO. OF A/C: 11 0100 DOD I 000S 00 o 00 c cc M 010 t 00 TIME AXIS 00 DELETE . e0 ADD o 00 cc( 006 M ccc 30 SLIDE 000 888 o 00 o A 00030,0 90 S866 AAS 00 00 20 ccc 00 IDDP I', 00 o BOI AA o 21 Of10 10cc 00 20 19 18 17 16 15 14 13 12 2 1 UL 1 0 EEEJ to MODIFY L, SCHEDULE Figure 44 - Fleet size input for the fleet routing option g0 444 0 io STATION END DAILY A/C COST: 11 -200 12 UL 13 15 14 010 li Ppp 00 16 18 17 I @0 00 Ccc toll 00 to 0 00 TIME 00 09o00 17 DELETE 0~ ovi o 8 CccA 00000 00 21 pop .1 00 ? 20 Vito to AnA 2 D0 00 0100 oo 19 CLc 00 896 1 o ADD EE 3o SLIDE .o MODIFY o y SCHEDULE AXIS Figure 45 - Generic daily ownership cost (doc) input for the fleet routing option o STATION END fleet size: 001 fleet net take: max doc: 0160 -360 max fleet size: overnight stations: 001 AAA(01) grey flights are flown nouse to continue Figure 46 - Answer to the second optimization option with fs=1 and doc=-200 OPTIMIZATION OPTIONS UL 0100 to DD BOB 1c08 TIME AXIS DELETE 020 IsA9 000 0 09 00 0eg CCC 00 00 00 00 0 00 9e5 7.0 c C 0 ADD 0 90 00090 88B -7 Sao88 00 0o AAA DOD 00oc CCC 00 ARA 2 010 C<. Do 00 1 00 20 SLIDE ):C 20 MODIFY Figure 47 - Flight of aircraft 001 EE F 40 110 % SCHEDULE AAA 0al STATION END fleet size: 004 fleet net take: -0940 max doc: -0265 DDD (01) , BBB(01) , AAA (02) overnight stations: muse to continue grey flights are flown Figure 48 - Answer to the second optimization option with fs=4 and doc=-500 OPTIMIZATION OPTIONS 11 12 UL 13 14 V11O let 000 ( AAA 0e 00 or1 I 00o 090 TIME AXIS to ' DELETE C ADD 00 t oe 00 o" 3 0 00 00 or I 20 21 o1 30 SLIDE NW > to e AAA 0090 EE I0 2 o 140 MODIFY ODD 0C . 0)90 CCC Ia 1o r00 19 00 ct 0090 966 18 L m2 tSoo 00 17 2 010 0 00 16 CCL 00 Be AA 15 1 SCHEDULE Figure 49 - Flights for aircraft in a fleet of four O AAA o STATION END OPTIMIZATION OPTIONS 12 UL 13 14 *oo 101 AAAR 18 15 6220 598B 00 00 0 0 00 CCC 09 00 ADD 30 FFF EEE DELETE 21 oc 1 og TIME AXIS 20 AAA DOD 00 19 pc 00 of (CC- .1 0 SLIDE EEE 00 61 1 MODIFY 00 SCHEDULE Figure 50 - Flight of one aircraft. AAA-BBB-AAA and CCC-DDD-CCC alo qualify STATION END inbalanced stations: EEE-, CCC inouse to continue Figure 51 - Attempt to delete flight segment 109 leads to an imbalanced flow in the network OPTIMIZATION OPTIONS UL 14 13 1 2 1 o i 3a CC( I,___I VDD 00 0 01ID 0'+ C CC 00 00 00 O0 -L 000 o or 00 CCC 6 300 00 - 00 AAA oo TIME AXIS Er DELETE 0to -0 00 001 SLIDE to MODIFY 00 04 04 Scc &as ADD 00 oc (to I- E , LI SCHEDULE Figure 52 - After flight segment 109 has been "removed", aircraft 001 is rerouted $so AAA 00 STATION END STAT STAT/ELT: 11 12 UL 13 14 15 DD 16 17 .2 1 18 19 C 20 21 OD .6 1 vi<<. 610 08 ol 00 0o 000 oe 00 0100O02a CCC A q *0 AAA 10 TIME AXIS oo0 00 I~ 00 g86 20 DELETE I ADD so 90.0 4o CCC I 00 3 SLIDE 91 E go4 MODIFY i1 4Aq 00 SCHEDULE Figure 53 - The flow bounds on a cycle arc are going to be changed AAA STATION END STAAME: 2 UL BBB 19 15 14 21 20 01 '0 -~ =-I DOD 60 -'4 00 00 o vi 00 0 ccc 3Bo 00 00 02 ao to'M CCC. AAAA 00 AAA AIS xe t 7? E DELETE 00 B6 ADD 3oC o EM0 SLIDE ot 90 EmEl to MODIFY 1050 4. 2% SCHEDULE Figure 54 - BBB's cycle arc is selected AAA 00 STATION END 11 12 14 13 16 15 01~o 19 18 17 P1 0 0ok Te ccc. , 00 TIME AXIS Do 00 090 100VI BO 6 7 AAA 20 DELETE CCC o0 ADD AA - A0oCCC no 21 20 D 00O o 2 1 UL 0 ILMER: 30 SLIDE Zo MODIFY 0 001 Ef 6 9 4o 1 25 SCHEDULE Figure 55 - BBB's cycle arc lower bound remains 0 AA 00 STATION END 16 17 20 if T0 Duo 21 0i o0 Ccc 00 2 1 UL 2 UPPER: ODD 00 00 00 oto 00 n 00 00 Cte Do1s0 021o AAA 00 A Milo A 7 O0~O ova38 DO TIME AXIS DELETE ADD = CCC ofma 1+ 1oi ew 90 00 . 2 3o SLIDE 106 A4AA 00 MODIFY SCHEDULE Figure 56 - BBB's cycle arc upper bound becomes 2 STATION END STAT/FLT: 11 LqT 12 13 14 Oo 15 16 17 It .o 18 19 i oCC 00 00 21 oJO 6100 00 00 o 0 0 CCC ~ 0000s oo0 A lo DELETE 20 oc0 $o<0 A76 2 000 #tooo TIME AXIS 1 UL ADD so SLIDE 00 :0 ze MODIFY 6i v2 o 2 SCHEDULE Figure 57 - The flow bounds on a flight arc are going to be changed 0 IE tAn STATION END SELEC'W SEGMEN1 4T TO BE MODIFIED . . . MOUSE DURING FLYING TIME 11 12 15 16 18 17 0I b ob 20 19 21 to Cce00 0100 k. - to 090 of TIME AXIS DELETE Io. o 00oi AAA ccc I -M 000 >O AA AAA ccc 00 ADD Mccc 30 SLIDE ON to0 10 jIU LEE -0 MODIFY Figure 58 - Flight segment 103 is selected SCHEDULE 0090 *0 STATION MA END LOWER: 11 0 12 UL1 13 14 at ODD g 15 16 17 18 cccc 666~~/ it 00 00 et ooo o it CCC 0* TIME AXIS 00 to 00 ADD 00 90 00100 Z0 DELETE Ic o 01 06 21 0 <C88 0 e 10 20 DDD 00 0o AAA7 19 ol 0o _ , A 2 CCC N SLIDE 0000 EEf :o o2 4. MODIFY SCHEDULE Figure 59 - Flight segment 103's flight arc lower bound remains at 0 AAA AA 00 STATION END 11 e o 03 _ zy cc DD 21 20 19 18 17 16 15 14 13 12 2 1 UL 2 UPPER: ooCDC 063 <C 13 00 0 TIME AX IS to DELETE 1 % 0 CCc Do 30 00 ADD 00 Do 00 666 1e? 00 00 DoCCC c l A Ao AAA 6 0 SLIDE MODIFY EEF 4a A 11 25 SCHEDULE Figure 60 - Flight segment 103's flight arc upper bound becomes 2 4A0 0010 16 20 AA 00 STATION END fleet size: 005 fleet net take: 1760 max doc: 0252 max fleet size: 005 bvernight stations: DDD(01), BBB(02), AAA(02) grey flights are flown Figure 61 - Two aircraft now overnight at BBB nouse to continue 17 13 AAA 19 688 BOB Figure 62 - A "shuttle" schedule plan between AAA and BBB 21 fleet size: 002 fleet net take: 0060 max doc: max fleet size: overnight stations: -0130 002 BBB(01), AAA(01) grey flights are flown Figure 63 - Two aircraft are needed to serve the shuttle nouse to continue 15 16 17 18 1 2. AAA .ei 00 588 * I 886 AAA .el00 8 00 _ o@ e* e. Figure 64 - Only one aircraft seems to be required 19 20 21 OPTIMIZATION OPTIONS U,L 1 2 .. I 05 09 06 13 oil Pof 0 IIf~5* 5, So o 0,0 L4L C PHi If 35- C 0C rE4 4g OilS bus r fePH 00 to o0 4-0 '5', cp# ;o oil* 0i C ?qt to C DELETE Ille 1r Oil ADD rn AW SLIDE r ole FIRN 00 TIME AXIS S I <<< to'f ol fOSL to 0lI5* U iR Isr ePs' FAo 20 Is 00 4 PH FK Im 30 o01S4 oIQ 00 14 r~i AA I.Ak off* 413JU 5-5- MODIFY SCHEDULE Figure 65 - First part of a SAS schedule plan STATION EN OPTIMIZATION OPTIONS U,L 14 13 18 15 seo* Ito IMa PO ~ ei f o OSL. £~ oE0 35" 00 38 16 FA ARM I. r. jm . aP" =06 11512e 6 LS DELETE ADD 2o Ott it Cue TIME AXISIIII U 0 600 to '95s 1010 Dos i 15 0okI@ CP1 A" c PH 4o e' e its3 0o)-0 e A -r 00 9-f 00 *. I 004s, C PH M4 CIh 4 0g to 2 20 19 .e o Itt. 003 -1 1 $5 4 35 SLIDE MODIFY SCHEDULE Figure 66 - Second part of a SAS schedule plan STATION END fleet size: 006 overnight stations: OSL(01), FPA(01), CPII(02), BGO(01), AlM (01) rnouse to continue Figure 67 - Six aircraft are needed to serve all flight segments fleet size: 006 fleet net take: 4335 max doc: max fleet size: overnight stations: -622 006 OSL (0 1) , FRA (0 1) , CPH (0 2) , BGO (0 1) , Arlq (0 1) grey flights are flown mouse to continue Figure 68 - Answer to the second optimization option with fs=6 and doc=-100 OPTIMIZATION OPTIONS 1 U,L I I 05 09 06 oil C PH 00 o l't-S* 001 00?.. 6w f - o.3 *. 0 o$Z.f C PH ee5 I* r411 foS 00 2 oo 35*too4 FR 031 *A C PH CPl1 UOSL Zo U £0 0 elf 10lo 060 olr "r IS. '4s ,Q- ij.5T 5', ~ *o6 to00! .115 oo5 off 0I1 *I 00 Otto DIP 00 DELETE 41 C Pit ot* C TIME AX IS IIAN L 10 * if* NEA-13m to00Oc ADD SLIDE MODIFY SCHEDULE Figure 69 - Aircraft flights with fs=6 (first part) STATION END 4(< Ses95 ,CH 01 C 419 1= 35 o 6 00 Fi* o its0 oAAt 01'a i o ao . ***'te ef TIME AXIS 0ol CPH I DELETE 01; qI CLelo of o 6'0 ree W tJ3 e vo6 0 eoo'6 0 -e oito 0 21 0 5 o0 elo 2 20 19 V f' US oi5 0 ios o% 18 17 16 15 14 13 12 11 1 UL OPTIMIZATION OPTIONS f o 20 35 **I , I oil ? 001ot f D SS 6 eicvita LS 0ol ADD 55 SLIDE 4f MODIFY SCHEDULE Figure 70 - Aircraft flights with fs=6 (second part) STATION END OPT IMIZATION OPTIONS 04 05 1 U,L 09 06 2 10 of#* C Plf ,Vito -Io u oP il ite ~4P.N Off 5 o V 0114 LGW oe so 'iii .e~ ze ~C 156 - oe3 3. I PR II r 55 A4~ 00 oils. 04 1.<<. *j Ge 'ge KI~1U 6 2. r ~0 @*~ 'fO it. o OSL - -oleo 00*ofi e cPn 2.do C efi I Dos V.3 if eel 10 w oleo W5 oftL5 141 CPM TIME AX IS DELETE ADD SLIDE 006 to MODIFY po o( *e SCHEDULE Figure 71 - The aircraft flights have been manually rearranged (first part) 'U o.5 I 0.1 0100o 2.o @125 0 6 Os'- SS' 0 STATION END OPTIMIZATION OPTIONS 11 12 UL 13 14 Otto 15 oft if~~~I 25ool )5 20 21 g 'AAt 30 **00o 8_ CPH ** MI 45 ~r o&w *0 4An 66 T 3f 0 o003 Ds 4a'to oo3 oi CPH *S of Do%" .. $ * eiryosy Oels 6 oo4 ! 860 'S . lW r 07e 1e*44 ADD (PH otis 76 P5 to Ire toee) to gg lv-05 of 0 DELETE PH FAA 46e o*f u1 -5 0e2 55 'if p TIME AXIS 19 ol1 (PH -PM 18 AQ4ct $ i 3M o.1 t to oot CPH 17 2 lie oIt NL 16 1 SLIDE eFr o 0e" &I MODIFY SCHEDULE Figure 72 - The aircraft flights have been manually rearranged (second part) STATION END 0-4 grey flights are flown TIME AXIS DELETE ADD SLIDE MODIFY SCHEDUL Figure 73 - Answer to the second optimization option with fs=5 and doc=-100 OPTIMIZATION OPTIONS I 05 2 - - 09 06 015 C Pf1 00 13 o off f L 6w fo Vol *0 4. 009-* cP1 00 14 0140i *N~fC- AoI S's. CPm J3M 05 ~u i AR 9I-sc DCPH~ 7 0)jL -Io- 1 U,L K(( Oe ~ 0~L ;r *#g 2045 oIZf FAA ~460 00 to Do eeL Zof 90001 S7 01 eggs b'us F0 3' 4 is lme o0evq4o 6&r 005 set oil* 00 OIRN 0? oo3 C Pig F (gotI 55 to erPH I .110 .03 TIME Ax is DELETE ADD SLIDE 5*5~ MODIFY Ao. Otto 4IA13 to eel SCHEDULE Figure 74 - Aircraft flights with fs=5 (first part) STATION END I OPTIMIZATION OPTIONS 11 UL 12 16 003 1 19 2 21 o yf I "0 'f-c '0 0 oef ~% 00 ce)q.5 35 ve3 U to LS4W it i 00 D(US ( PH SFO A T005 60 £90 12. 00 .0 !-00 I FAA 10 Z 415 ov"o 049" ovi , 'p0f **e. wfoo |412 0f c'o TIME AX IS oct CP A" DELETE 20 4 fl '..7f 355 oie 1 Vol 860 . I opa A9.0 3$.i of t Or I 0(10 CP L Ite LI ' Oog ADD SLIDE ' MODIFY SCHEDULE Figure 75 - Aircraft flights with fs=5 (second part) STATION END 05 04 06 OSL CPHE 'Pb,' 8GO Figure 76 - Aircraft flight with fs=1 (first part) rKA OPTIMIZATION OPTIONS 11 12 UL 13 14 j3AX c~ pit 157 PH 5-06 00 ~ 0 0(1. ,5 o oil TIME AXIS I DELETE *If Otisc 45c I CPH .5 **' ADD 20 21 C PM ot Vio 5e 19 A o ei offfdi $? DHus A"1I o 'F E -60 M5M|' 00 6T Ir 2. 18 2 It4 o *0 17 s)U Io o.'t-& 0 *04 * 16 L 4; kf "h3 11 = j 5os35 35 15 1 35 i5 SLIDE l oo t1Co 2 16O el ' o9 t e n Ij q W 4f MODIFY SCHEDULE Figure 77 - Aircraft flight with fs=1 (second part) STATION END t (seC) 9 14rotations 1 2 3 4 5 6 Figure 78 - Change in computation time with number of rotations 118 t (sec) 27 - 24 21 18 15 12 9 *0 -0 6 3 1 2 3 4 5 6 7 8 9 1Q Figure 79 - Change in computation time with fleet size . 119 TIME AX IS DELETE ADD SLIDE MODIFY SCHEDULE --..-- Figure 80 - Input of day of occurrence of a flight segment of a multiple-day schedule plan STATION END 11 12 13 14 15 ety- 44A Jo 16 17 18 67-o let 06 o3 Figure 81 - Flight segment 101 has been scheduled for day 14 19 20 21 12 13 14 16 18 17 19 66 Figure 82 - Flight segment 101's day of occurrence will be changed 20 21 39 11 12 4AY 13 14 15 16 17 18 oletto AnAse T' Figure 83 - Flight segment 101 is rescheduled for day 39 19 20 21 Bob Figure 84 - Flight segment 101 has been scheduled for day 39 STATIO AC1IVITY 13 16 17 16 17 19 AAA II 11 12 1581 'eI Bob 15 18 013 1 01 AAA I IBB Figure 85 - Station display for flight segment 101 2 11 '12 13 17 14 AAA all. 01 00 0C 1 o210 00 DO 00 00 DDD 0w I IO9 Olo 00 0 . FFF ODD 1 00 Figure 86 - One aircraft flies from AAA to FFF in 17 days 19 TIME AXIS DELETE ADD SLIDE MODIFY SCHEDI Figure 87 - Answer to the first optimization option fleet size: 001 fleet net take: 0300 max doc: -400 001 max fleet size: grey flights are flown Figure 88 - Answer to the second optimization option nouse to continue Figure 89 - Flight ZZZ-BBB-CCC has been selected, but AAA-BBB-CCC is also possible OPTIMIZATION OPTIONS DAY 2 15 13 DD 1 127 o 00 fim 005 030 55S 333 ) ISKJO o00 INN of 0 mI4m 373 010 103to IsI KMK 0to00 DKKKN FFF V2 KKK '1 o3 12.0 35- 00 KKK FFF =L1 QQq 00 TIME AXIS DELETE ADD SLIDE MODIFY SCHEDULE Figure 90 - Multiple-day schedule plan between days 1 and 12 STATION END Figure 91 - Answer to the second optimization option with fs=3 and doc=-300 OPTIMIZATION OPTIONS DAY 15 14 04.o ot 000 16 18 2 20 19 21 3o Vol eo ve ce L 3jj 00 1 55 0 0to| 5 of ofo 6 001 NNNv FFF 00 KKKWU 33 " >3 'to D 003 lo 00 0o1 6 eUc qqcK - FF9: 3% 0I -og TIME AXIS DELETE ADD SLIDE MODIFY SCHEDULE Figure 92 - The flights selected for the three aircraft 00 STATION END OPTIMIZATION OPTIONS 11 12 ol 00 DAY 13 14 15 61'0 Vel *wL 16 17 19 20 2 21 000 00 0 o0 18 1 1 FFF 003 NNN KX K 7333 I 00 0o2.o elo 0lso 05 Lo9 00 35 *2. 'e - AXISK TIME AXIS DELETE ADD SLIDE MODIFY 0K 001000 0O9 lo oo ol o6 olot So ool SCHEDULE Figure 93 - The flights selected for two aircraft 35 0. STATION END station cycle arc , time service arc station event-w maintenance arc Figure 94 - Schedule chart with maintenance arc 134 OPTIMIZATION OPTIONS UL 13 AAA 14 C3+1 15 1 2 20 19 21 688 .4.1± *I o AAA TIME AXIS DELETE -O 00 04 ADD 1 58 O 1. Do SLIDE MODIFY SCHEDULE Figure 95 - Schedule plan consisting of two flights 0 . -O q4A 64 STATION END OPTIMIZATION OPTIONS 11 12 UL 13 14 15 16 17 18 888 e AAA t **0 . AA o 1 19 2 20 21 AAA . BBb AAA Sopes TIME AXIS DELETE ADD SLIDE MODIFY SCHEDULE STATION Figure 96 - Aircraft are rerouted after a maintenance stcpover has been introduced END OPTIMIZATION OPTIONS 11 12 UL 13 AAA 14 15 16 17 18 2 20 21 AAA 2.t04 010 o. 00 888AAA AAA SSB DELETE 19 88I it @100 TIME AXIS 1 ADD Soo SLIDE ini_8 MODIFY SCHEDULE Figure 97 - Loss of service on a flight segment when maintenance stopover is too long STATION END decreasing station code names and station event times start finish flight arc station X start --- finish ground arc base NODE LIST sta-t finish cycle arc base Figure 98 - The network data structure consists of a node ARC LIST 138 linked list and an are linked list Appendix B Data Structure There is only one network that corresponds to a single type of schedule plan, but there are many data structures that can represent a network. The linked list, being a dynamic data structure, is an obvious choice here considering the demands of a dynamic scheduling environment; it not only conserves memory space, but also allows for rapid access to its records. A node linked list and an arc linked list that are composed of records of the format given below describe the network of a schedule plan: node: record with -a pointer to the next record -the station code name .-the time of arrival or departure -the day of arrival or departure -the simplex multiplier -the first node label: a pointer to the preceding node in the flow-augmenting path -the sign of the first node label 139 -the second node label: the maximum allowable flow in the flow-augmenting path -a pointer to the arc record of which this node represents one station event arc: record with -a pointer to the next arc record -a pointer to a node containing information on the start of this arc's flight segment -a pointer to a node containing information on the finish of this arc's flight segment -the day of occurrence of the flight segment -the lower bouad on the arc flow -the upper bound on the arc flow -the flight arc value or the aircraft daily ownership cost -the arc flow -the number of the corresponding flight segment -the arc label: the number of the flight to which this flight segment belongs The node records are ranked alphabetically and sequentially; one node precedes another in the linked list if it has an alphabetically higher station code name or if it has the same station code name, but a later event time. Ground and cycle arc records, identical to flight segment arc records, can be created and linked to the arc list only after the node list has been created because: 140 -The start and finish fields of the ground arc records have to point to consecutive event pairs at each station in the node list. -For the daily schedule plan, the cycle arcs have to point respectively to the last and the first event at each station. -For the multiple-day schedule plan, the source and sink arcs have to point to all last and first stations events. The node linked list and arc linked list of the daily schedule plan and the relationship between their records are presented in Figure 98. 141 Bibliography [1] Etschmaier, M.M. and Mathaisel, D.F.X. Aircraft Scheduling: the State of the Art, Proc. of XXIV AGIFORS Symposium, Strasbourg, France, 1984. [2] Keen, P.G. and Morton M.S. Decision Support Systems An Organizational Perspective, Addison-Wesley, Reading, Mass., 1978. [3] Sprague,R.H. and Carlson, E.D. Building Effective Decision Support Systems, Prentice-Hall, New Jersey, 1982. [4] Ford, L.R. and Fulkerson, D.R. Flows in Networks, Princeton U. Press, New Jersey, 1962. [5] Basaraa, M.S. and Jarvis, J.J. Linear Programming and Network Flows, Wiley, New york, 1977. [6] Lawler, E.L. Combinatorial Optimization: Networks and Matroids, Winston, 1976. [7] Magnanti,T.L. and Golden, B.L. Network Optimization, MIT, Cambridge, Mass., 1980. 142 [8] Simpson, R.W. Scheduling and Routing Models for Airline Systems, FTL-report R68-3, MIT, Cambridge, Mass., 1969. 143