# A Hybrid Framework for Real-Time Dispatching of Airline Unit Load Devices under Demand Variations

Authors: Ching-Hui Tang; Ping-Hsuan Hsieh
Journal: Journal of Advanced Transportation
 (2022)

---

## Abstract

This study is devoted to a new research topic in real-time airline operations, the redispatching of unit load devices (ULDs) under demand variations. We develop a new hybrid framework to solve the problem of ULD redispatch following the time-sequence decision-making required by airlines. The hybrid framework is developed by integrating techniques including the probability distribution technique to simulate different types of operational demand, the adjustable number of stages which is needed to meet the requirements of a decision-making process following a time sequence and the time pressure characteristic of real operations, and the scenario tree and probability rule approaches which are aimed and representing all possible demand scenarios for a stage, while the network flow technique is applied to represent the movement and location of ULDs at each airport over time and is used for the development of the associated mathematical model and the simulation. We performed a simulation of 2,000 cases based on different operational days and types of operational demand. The results show that this hybrid framework is able to achieve stability and also a small variability of both ULD operating costs and solution times, which could allow the airline to save on ULD operating costs, under demand variations in real-time operations.


---

## Body

## 1. Introduction

The unit load device (ULD) is an essential and important piece of equipment in the operation of any airline, being necessary for the loading of passenger baggage and cargo into the aircraft. In practice, the ULD demand for each flight will vary due to changes in the amount of passenger luggage and cargo. This means that an airline needs to make adjustments to its previously planned ULD dispatch schedule (called ULD redispatch hereafter) in real time, to ensure that the correct number of ULDs is at the right place at the right time to satisfy the demand for each flight. Clearly, ULD redispatch is an important problem for the maintenance of regular business operations and efficient ULD utilization in daily operations.The variation of ULD demand with time in real-world airline operations makes ULD redispatch planning a time-sensitive decision-making problem, requiring the adoption of a stage-by-stage time-sequence approach. In the time-sequence approach, the ULD demand for a flight is defined as certain (or uncertain) as the flight departure time approaches (is far away). In addition, the dispatch of ULDs for flights that fall within or across stages needs to be carefully determined stage by stage following the time sequence to ensure that ULD delivery occurs in the right stage (time) to the correct station (place). In addition to following the time-sequence stages and considering demand variations, the ULD redispatch problem needs to be solved quickly in real time, so a short solution time is necessary; otherwise, lack of ULD availability will hinder day-to-day airline operations. For example, a flight cannot depart until the ULDs needed for that flight are ready. The four types of operational demand that an airline might encounter in a day, that is, busy, regular, nonspecific, or nonbusy operational demands, will be introduced in more detail in Section2. The studied airline uses four methods for ULD redispatch deliveries: other flights (owned by the studied airline) assist in delivering ULDs (OFAD_ULD), other airlines assist in delivering ULDs (OAAD_ULD), delaying ULDs for delivery (D_ULD), and borrowing ULDs from other airlines (B_ULD). All of the four redispatch methods entail additional costs for the airline so it seeks to decrease ULD operating costs by optimally manipulating the four redispatch methods. The overall problem focuses on airline ULD redispatch under demand variations in the real-time stage, with consideration of the above operating issues. In other words, the aim is to help an airline with ULD redispatching for time-sequence decision-making under short solution time pressure given certain and uncertain demand and within stage and across stage flights. The four redispatch methods are systematically and optimally manipulated to minimize ULD operating costs considering the four types of operational demand that occur in actual operations.As mentioned above, there are several operating issues that need to be considered in the ULD redispatch. Therefore, we develop a hybrid framework by integrating several techniques to consider the above operating issues. We first apply a probability distribution technique to simulate the four types of operational demand. Then, the day is divided into the number of adjustable stages required to meet the decision-making and solution time constraints entailed in real-time operations. In particular, the certain and uncertain demand flights and flights within and across stages are determined by the division of adjustable stages, a scenario tree is constructed to indicate all possible demand situations, and a probability rule to indicate the associated probabilities for a stage. After that, a network flow technique is used to construct a stage-type network to represent the deliveries of all types of ULDs needed for each stage, resulting in two dimensions, one for the stage and the other for the type of ULD. The stage dimension represents flights within and across stages, and the ULD type dimension indicates the operating constraints for each type of ULD. Based on the stage-type network, a mathematical model is developed to solve the ULD redispatch problem for each stage. Two submodels are applied depending on the attributes of that stage, that is, whether a stage has flights and ULD deliveries crossing into it or not. Finally, a 2,000 case simulation was performed based on data for 500 operational days with the four types of operational demand.Past studies devoted to ULD planning have focused on inventory, safety stock, and rental problems. Roongrat et al. [1] considered the minimum configuration levels for planning ULD inventory. They developed a discrete event simulation model to examine empty ULD delivery policies aimed at avoiding ULD shortages or excesses at each station. Lu and Chen [2] studied the ideal level of ULD safety stock required at each station which would minimize the ULD imbalance in actual operations. They defined the ULD safety stock level as the minimum number needed at period end for utilization in the entire next cycle. Lim [3] considered the problem of ULD rentals through a ULD inventory management system. They designed a blockchain and Internet of things (IoT) based ULD rental system that airlines and air cargo terminals could use cooperatively in a single network. The system would allow airlines and cargo terminals to share ULD information in real time to provide accurate ULD inventory data, as well as make reliable information about ULD condition, exchange, rent, payment, and settlement between network participants directly available in real time.Other studies have focused on the structure and role of ULDs in the airline industry. Baxter et al. [4] considered the design of fire-resistant ULDs. They examined the structures needed to enhance aviation safety including fire-resistant containers and pallet fire containment covers to enhance fire suppression. Baxter and Kourousis [5] studied the application of the temperature-controlled ULDs for air cargo cold-chain shipping. They discussed the role of ULD manufacturers in the development of the ULD structures and the technological and technical innovations for temperature-controlled ULDs for cold-chain air cargo transport. Meincke et al. [6] discussed the important role that the handling of ULDs plays in the ground time and the time it takes to load cargo onto an aircraft. They also discussed the possible development of an unmanned robotic container system in addition to the usual ULD units to make smooth handling between different transport systems within the supply chain possible. Several other similar studies can also be found in the literature [7–12].However, the ULD dispatch problem, which is different from the above [1–12], has rarely been studied in the past. Lu and Chen [13] focused on the problem of weekly airline ULD dispatch planning. They developed a network model with a min-max objective for a planning stage problem. Tang and Yen [14] also examined the dispatch problem for airline ULDs in the planning stage. They considered monthly operations and proposed the idea of the service level to control the number of days and which days the ULD safety stock requirement could be violated in a month. Tang and Chu [15] studied weekly ULD dispatch operations involving Skypooling, which is a free platform for ULD sharing between airlines. They considered how closely the matching success rates for ULD sharing operations in Skypooling reflected actual matches and the number of ULDs in the ULD sharing operations. They demonstrated the advantages of using Skypooling and encouraged the studied airline to cooperate with others within the ULD sharing economy.To the best of the authors’ knowledge, there has been no past study related to problems of ULD redispatch in real time for air transportation. These references [13–15] are the most similar to this current study in that they deal with ULD dispatch. However, they discussed weekly or monthly ULD dispatch in the planning stage, without the consideration of real-time variations in ULD demand. Our study provides the first specific contribution to the ULD redispatch considering uncertain ULD demand variations in the real-time stage. This is thus a new research topic to remedy this break from the theoretical point of view.The rest of the paper is organized as follows: Section2 introduces the hybrid framework, the numerical tests performed are discussed in Section 3, and finally, some conclusions are offered in Section 4.


## 2. Hybrid Framework

The hybrid framework includes several connected elements. First, we consider the types of operational demand encountered in a day, that is, busy, regular, nonspecific, or nonbusy demand. Then, the day is divided into an adjustable number of stages following a time sequence. After the determination of the operational demand, a scenario tree is produced representing all possible demand scenarios and a probability rule for all probabilities for a stage. A stage-type network is designed including the formulation of the four redispatch methods and ULD deliveries in the two dimensions of time stage and ULD type. The ULD redispatch model is then solved to find all ULD redispatches associated with all possible demand situations in a scenario tree for each stage. Specifically, the model solution includes two submodels depending on whether flights or ULD deliveries from previous stages cross into the current or not. The entire procedure and the connections between elements are organized. The application of the hybrid framework is discussed in the next section.Following the above introduction, the hybrid framework has novel contributions and development as follows: the hybrid framework represents a new methodological development integrating several techniques. A stage-type network is developed. It considers two dimensions, the time stage and the ULD type, for flights within and across stages and all types of ULDs. A mathematical model is developed to solve for ULD redispatches for each stage. The model includes two submodels for finding the solution for a stage depending on whether that stage has flights and ULD deliveries crossing into it from another stage or not. These models entail advanced and innovative network, modeling, and model-solving designs. In addition, the hybrid framework has to satisfy practical requirements. Thus, it is based on time-sequence stages to represent the variation in ULD demand over time while still considering solution time pressure, certain and uncertain demands, within and cross-stage flights, different redispatch methods, and different types of operational demands. In other words, the practical operating issues that airlines encounter in the real-time stage are considered in the hybrid framework.


### 2.1. Four Types of Operational Demand

Daily operational demand is affected by several factors such as whether is during the peak or nonpeak seasons. For example, if the day falls in a peak season (e.g., summer or Christmas vacation periods), then a large ULD demand for a flight is likely to occur. In practice, an airline will have to be prepared to meet the busy, regular, nonspecific, and nonbusy operational demands. We simulate the flight demand scenarios based on the probability distribution associated with the four types of operational demand. There are three ULD demand outcomes for a flight: larger than, the same as, or smaller than the planned (i.e., original) ULD demand. We consider the large, planned, and small demand scenarios associated with these three possible outcomes. In practice, these large, planned, and small demand scenarios are likely to occur in association with busy, regular, and nonbusy operational demands, respectively. The three demand scenarios are equally likely for nonspecific operational demand. Therefore, a unimodal probability distribution with a single peak will occur in the busy, regular, and nonbusy operational demands while a symmetric and multimodal probability distribution with three peaks (i.e., a uniform probability distribution) will occur in the nonspecific operational demand. A schematic representation of the probability distributions for the three demand scenarios for the four types of operational demand is shown in Figure1. The greatest probability of the three demand scenarios is 0.8 according to statistical data provided by the studied airline. In the schematic diagram in Figure 1, in this example, the greatest probability for the large, planned, and small demand scenarios in the busy, regular, and nonbusy operational demands is 0.8 (in the other two scenarios, the sum of the probabilities in this example is 0.2). The same probability of 1/3 is set for the three demand scenarios in the nonspecific operational demand. The probability distributions for the four types of operational demand are described as follows:(1)
Busy operational demandA large demand scenario is likely to happen for a flight during busy demand periods. In the probability distribution, the large demand scenario has the greatest probability of occurrence for a flight, forming a unimodal distribution with a single peak indicating the large demand scenario.(2)
Regular operational demandThis occurs when ULD demand follows the planned demand scenario for a flight in practice. In theory, the regular demand operation has a unimodal distribution with a single peak for the planned demand scenario.(3)
Nonspecific operational demandNonspecific demand means all demand scenarios are equally likely for a flight. There is no specific trend in practice. In theory, the three demand scenarios have the same probability of occurrence for a flight, forming a symmetric multimodal distribution with three peaks for the three demand scenarios.(4)
Nonbusy operational demandNonbusy operational demand is the opposite of busy operational demand. The small demand scenario has the largest probability of occurrence for a flight, forming a unimodal distribution with a single peak for the small demand scenario.Figure 1
Schematic representation of the probability distributions for the four types of operational demand.


### 2.2. Dividing into Adjustable Stages

The day is divided into a number of stages following a time sequence. A stage can include certain and uncertain demand flights, provided the flight’s departure time is within the time period of a stage. Before introducing the division into adjustable stages, we first define certain and uncertain demand flights as follows:(1)
Certain demand flightsCertain demand flights are those whose departure time is approaching. In practice, within an hour of a flight’s departure time, most passengers will have finished the check-in process, and most passenger luggage and cargo will already have been loaded into the ULDs, meaning that ULD demand for a flight is known and realized. Thus, a certain demand flight is defined as follows:(i)
The departure time of a certain demand flight is within one hour in the time period of a stage(ii)
There is only one demand scenario for a certain demand flight, either large, planned, or small(2)
Uncertain demand flightsThe uncertain demand flight usually occurs when the flight departure time is not near. The studied airline usually opens the check-in counter for a flight about three hours before the scheduled departure time. At this point, most passengers will not yet have completed the check-in process, meaning that ULD demand for the storage of passenger luggage and cargo is uncertain and varied. An uncertain demand flight is defined as follows:(i)
The departure time of an uncertain demand flight is from one to three hours in the time period of a stage(ii)
There are three demand scenarios for an uncertain demand flight, that is large, planned, or smallThus, we set the time period for a stage to be three hours according to the uncertain demand flight discussed above. However, it is found that when the number of uncertain demand flights in a stage is more than seven, the number of possible demand situations is too large, resulting in a long solution time for a stage (this will be discussed in Section2.3.2). Therefore, if there are more than seven uncertain demand flights in a stage, the time period is adjusted to 1.5 hours (half of the original three hours), and the stage is redivided into two new stages. For example, as shown in Figure 2, the original stage 1 is from 06:00 to 09:00, but it includes one certain demand flight (flight 1) and eight uncertain demand flights (flights 2 to 9). Thus, the time period is decreased to 1.5 hours, dividing the original stage 1 into two new stages, stage 1 (06:00 to 07:30) and stage 2 (07:30 to 09:00). As can be seen, the new stage 1 only includes two uncertain demand flights (flights 2 and 3), and the uncertain demand flights (flights 4 to 6) in the original stage 1 become certain demand flights in the new stage 2 because their departure times are within one hour. The new stage 2 includes only three uncertain demand flights (flights 7 to 9). As a result, the two new stages 1 and 2 both have fewer than seven uncertain demand flights.Figure 2
An example of adjustable stage division.


### 2.3. Scenario Tree and Probability Rule

Based on certain and uncertain demand flights determined by stage division, all possible demand situations and associated probabilities in a stage are presented by a probability rule in a scenario tree. We first introduce scenario tree design. Then, we discuss the number of demand situations for a stage resulting from uncertain demand flights.


#### 2.3.1. Scenario Tree Design

The three trees associated with the three demand scenarios for a flight are labelled: Tree 1: large demand scenario; Tree 2: planned demand scenario; and Tree 3: small demand scenario. Figure3 shows the scenario tree for the new stage 1 described above in which flight 1 is a certain demand flight and flights 2 and 3 are uncertain demand flights. The trees for flights 1, 2, and 3 are distinguished by using upright, italic, and boldfaced lettering, respectively.(1)
Certain demand flights: flight 1Flight 1 only has one tree in the scenario tree associated with its known and certain ULD demand. Assume that the ULD demand for flight 1 is known to be for a large demand scenario, so Tree 1 is set for it.(2)
Uncertain demand flights: flights 2 and 3(a)
Flight 2We set trees 1, 2, and 3 for flight 2 connected with Tree 1 for flight 1, meaning that each demand scenario for flight 2 is a conditional event given the large demand scenario for flight 1. P1, P2, and P3 indicate the conditional probabilities forTrees 1, 2, and 3 for flight 2, respectively. For example, P1 = P (Tree 1 | Tree 1), representing the probability of the large demand scenario for flight 2 given the large demand scenario for flight 1.(b)
Flight 3We setTrees 1, 2, and 3 for flight 3 separately connected with each tree for flight 2, resulting in a total of nine trees for flight 3. Similarly, each tree for flight 3 is a conditional event given the demand scenarios for flights 1 and 2. P4 to P12 are the conditional probabilities of the nine trees for flight 3. For example, P5 = P (Tree 2|Tree 1, Tree 1), indicating the probability of the planned demand scenario for flight 3 given the large demand scenarios for both flights 1 and 2.Figure 3
Structure of the scenario tree.All possible demand situations for a stage are represented in the scenario tree. Each demand situation is a joint event with connected trees (indicating a combination of demand scenarios). According to the multiplication rule, the probability of each demand situation is the joint probability of its connected trees. In Figure3, the red line indicating demand situation 2 (Tree 2,Tree 1, Tree 1) shows that flight 3 is a planned demand scenario flight while flights 1 and 2 are associated with large demand scenarios. The probability of demand situation 2 is the joint probability of P1 × P5 = P (Tree 1|Tree 1) × P (Tree 2|Tree 1, Tree 1).


#### 2.3.2. Number of Demand Situations for a Stage

Based on the scenario tree structure, the number of demand situations is 3m (m is the number of uncertain demand flights) for a stage. As shown in Figure 3, 9 (32) demand situations are generated for the stage with two uncertain demand flights. The exponential growth of 3m demand situations makes seven uncertain demand flights the tipping point where a manageable number of demand situations becomes too large, as shown in Figure 4. After performing the calculations for 2,000 cases, we find that, when the number of uncertain demand flights in a stage is seven, the solution time is short, 9.27 minutes. However, when the number in a stage exceeds seven, the solution time lengthens to 159.91 minutes. Such a long solution time for a stage is unacceptable in real-time operations which are subject to time pressure. The results of the numerical tests will be discussed in more detail later. Therefore, we set a constraint that a stage cannot include more than seven uncertain demand flights, as mentioned in Section 2.2.Figure 4
Exponential growth of demand situations for a stage.


### 2.4. Four Redispatch Methods

After division into stages and building a scenario tree for each stage, the four redispatch methods associated with the different strategies are formulated as follows:(1)
OFAD_ULDThe OFAD_ULD represents a strategy where the airline plans delivery of ULDs from its own flights with similar departure times. The OFAD_ULD is thus an internal delivery plan made by the airline for its own flights.(2)
OAAD_ULDIn the OAAD_ULD, the airline asks for assistance from other airlines to help deliver its own ULDs. Differing from the OFAD_ULD, the OAAD_ULD relies on other airlines’ flights, so this is not an internal delivery strategy for the studied airline. In practice, it is the other airlines that control the flight capacity (including payload and available slots) to assist in delivering ULDs. The OAAD_ULD needs to formulate the available capacity under the control of other airlines to deliver ULDs for the studied airline.(3)
D_ULDThe D_ULD is used when ULDs cannot be delivered on time, meaning a delay in the delivery of ULDs. The D_ULD also leads to a delay in ULD deliveries across stages. To avoid an overly long delay time, the airline sets an acceptable delay time for finding alternative flights to convey the delayed ULDs. Thus, a flight may delay the delivery of ULDs across more than one stage if it is within the acceptable delay time.(4)
B_ULDIn this strategy, the airline borrows empty ULDs from other airlines. Note that an airline will not ask other airlines to help deliver borrowed ULDs because, in current practices, the borrower is responsible for the delivery of these ULDs; the lender will not provide the additional service of delivering ULDs rented to other airlines. As a result, there are two possible situations formulated in the B_ULD:(a)
The OFAD_ULD applies to the B_ULD, excluding the OAAD_ULD(b)
The D_ULD applies to the B_ULD but is only applied by the OFAD_ULD


### 2.5. Stage-Type Networks

After the dividing stage and building of the scenario tree, the next step is to build the associated stage-type network involving the four redispatch methods. We consider flights within a stage and across stages for all types of ULD deliveries after the dividing stage and representation in the scenario tree. Therefore, we next build the stage-type network, in which each layer of the network indicates a type of ULD for a stage, resulting in the two dimensions indicating stage and ULD type. An example with two stages and three types of ULD is shown in Figure5. The matrix representation at the top of Figure 5 has a 2×3 structure. The network representation is in the lower part of Figure 5. In the stage dimension, networks are dependent upon flights and ULD deliveries across stages. In the ULD type dimension, networks are dependent upon operating constraints for all types of ULDs, such as the ULD demand, available payload, and available number of slots for each flight.Figure 5
An illustration of the two dimensions in the network.In each stage-type network, the horizontal axis represents the station; the vertical axis stands for the time duration. As shown in Figure6, two additional characteristics of our network are introduced as follows:(1)
Multisides and groups for stationWe construct the studied airline side (called SA side hereafter) and the other airline sides (called OA side hereafter) for a station to indicate ULD deliveries by the studied airline to itself for deliver by other airlines, respectively. We also set the empty and laden ULD groups for both SA and OA sides to represent the deliveries of empty and laden ULDs for a station, respectively.(2)
Crossing nodeWe set a crossing node that is an artificial node in the network. Two crossing nodes are set at the top and bottom of the network. The crossing node aids in formulation indicating the delivery of ULDs across stages. As shown in Figure6, several arcs associated with flights and ULD deliveries across stages flow to and from the crossing nodes (red lines) to connect different stages, which will be introduced in more detail later.Figure 6
A comparison between traditional and our networks.Two kinds of stage-type networks are designed to distinguish between the use of ULDs owned by the studied airline and ULDs borrowed from other airlines for the construction of self-owned ULD networks and other airline ULD networks.


#### 2.5.1. Self-Owned ULD Networks

All ULDs owned by the studied airline flow in the self-owned ULD network. OFAD_ULD, OAAD_ULD, and D_ULD are used to formulate the self-owned ULD networks; B_ULD is not. The flights listed in Table1 are used in an example to introduce the network. Flights 1 to 5 belong to the studied airline, and flights A to C are other airlines’ flights. The origin and destination (called OD hereafter) are indicated by OD 1⟶3 and OD 1⟶4. There are two stages: stages 1 (08:00–11:00) and 3 (14:00–17:00). Flights 1, 2, 5, A, and C serving OD 1⟶3 do not cross a stage, but flights 3, 4, and B serving OD 1⟶4 cross stages 1 to 3 because of the flight times.Table 1
An example with stages 1 and 3 and ODs 1⟶3 and 1⟶4.
ODOD 1⟶ 3OD 1⟶ 4OD 1⟶ 3Flight time2 hours6 hours2 hoursAirlineStudied airlineOther airlinesStudied airlineOther airlinesStudied airlineOther airlinesFlightFlight 1Flight 2Flight AFlight 3Flight 4Flight BFlight 5Flight CDeparture time08:0009:0008:3010:3011:0010:0014:0014:30Arrival time10:0011:0010:3016:3017:0016:0016:0016:30StageDeparture and arrival in stage 1(i) Across stages 1 to 3(ii) Departure in stage 1(iii) Arrival in stage 3Departure and arrival in stage 3Figures7 and 8 show the self-owned ULD networks for stages 1 and 3 associated with the above example. There are eight types of arcs in the self-owned ULD network: (1) ULD delivery arc, (2) OFAD arc, (3) OAAD arc, (4) D arc, (5) Transfer arc (6) Holding arc, (7) Connection arc, and (8) Cycle arc.(1)
ULD delivery arc (orange lines)A ULD delivery arc represents the delivery of ULDs for a flight, which has not been adjusted using the redispatch methods. A ULD delivery arc connects the nodes between two stations on the SA side, indicating delivery by the studied airline. The ULD delivery arc for a flight is set depending on whether the flight is within a stage or across stages:(a)
Flight within a stageWe set the ULD delivery arc for the flight in the network associated with its stage. For example, take OD 1⟶ 3 with empty ULDs. Arcs (1) are set for flights 1 and 2 in stage 1 as shown in Figure 7, and arc (1) is set for flight 5 in stage 3 as shown in Figure 8.(b)
Flight across stagesWe set two ULD delivery arcs for the flight associated with departure and arrival in the two networks for the associated two stages. As shown in Table1, OD 1⟶ 4 crosses stages 1 to 3 and contains flights 3 and 4. Take flight 3 with departure and arrival times of 10:30 and 16:30 with empty ULDs, for example. The two ULD delivery arcs for flight 3 in the two networks for stages 1 and 3 are distinguished by using upright and italic lettering, respectively. The same representation is also used for other arcs hereafter.(i)
In stage 1, arc (1) for flight 3 connects from the node in the empty ULD group on the SA side at departure time 10:30 at station 1 to the crossing node, as shown in Figure 7(ii)
In stage 3, arc (1) for flight 3 connects from the crossing node to the node in the empty ULD group on the SA side at arrival time 16: 30 at station 4, as shown in Figure 8Similar to flight 3, flight 4 includes arc (1) in stage 1 as shown in Figure 7 and arc (1) in stage 3 in Figure 8. Then, we set an arc flow constraint for flights 3 and 4 to connect ULD deliveries across stages 1 to 3 as follows:(1)arc1in stage1in Figure7−arc1in stage3in Figure8=0,for flights3and4.(2)
OFAD arc (blue lines)An OFAD arc represents the OFAD_ULD redispatch method, which connects nodes on the SA side indicating ULD deliveries by the studied airline. We set an OFAD arc for a flight depending on whether the flight is within a stage or across stages. We take the following two examples:(a)
Flight within a stageAssume that flight 2 aids flight 1 with the delivery of laden ULDs (OD 1⟶ 3) within stage 1. To accurately indicate that flight 2 is aiding flight 1 with laden ULDs, we design an OFAD arc (2) for flight 2 connecting the node in the laden ULD group on the SA side at flight 1’s 08:00 departure time from station 1 to the node in laden ULD group on the SA side at fight 2’s arrival time of 11:00 at station 3, as shown in Figure 7.(b)
Flight across stagesAssume that flight 4 aids flight 3 with the delivery of laden ULDs (OD 1⟶ 4) across stages 1 to 3. Similarly, we need to accurately indicate that flight 4 is aiding flight 3 with laden ULDs across stages 1 to 3. This is indicated by the inclusion of two OFAD arcs in the two networks for stages 1 and 3 for flight 4.(i)
In stage 1, OFAD arc (2) for flight 4 connects the node in the laden ULD group on the SA side at flight 3’s departure time of 10:30 at station 1 to the crossing node, as shown in Figure 7(ii)
In stage 3, OFAD arc (2) for flight 4 connects the crossing node to the node in the laden ULD group on the SA side at flight 4’s arrival time of 17:00 at station 4, as shown in Figure 8An arc flow constraint is set to ensure that the OFAD_ULD for flight 4 crosses stages 1 to 3 as follows:(2)arc2in stage1in Figure7−arc2in stage3in Figure8=0,for flights4.(3)
OAAD arc (green lines)An OAAD arc represents the OAAD_ULD redispatch method, which connects nodes on the OA sides indicating ULD deliveries by other airlines. The OAAD arc for a flight is set depending on whether the flight is within or across stages.(a)
Flight within a stageSuppose that flight A aids flight 1 to deliver laden ULDs (OD 1⟶ 3) within stage 1, as shown in Figure7. We design OAAD arc (3) for flight A connecting from the node in the laden ULD group on the OA side for flight 1 with an 08:00 departure time from station 1 to a node in the laden ULD group on the OA side for flight A with an arrival time of 10:30 at station 3.(b)
Flight across stagesSuppose that flight B aids flight 3 to deliver laden ULDs (OD 1⟶ 4) across stages 1 to 3. There are two OAAD arcs for flight B in the two networks for stages 1 and 3.(i)
In stage 1, OAAD arc (3) for flight B connects the node in the laden ULD group on the OA side for flight 3 with a 10:30 departure time from station 1 to the crossing node, as shown in Figure 7(ii)
In stage 3, OAAD arc (3) for flight B connects from the crossing node to the node in the laden ULD group on the OA side for flight B with a 16:00 arrival time at station 4, as shown in Figure 8Similarly, we set an arc flow constraint to ensure that the OAAD_ULD for flight B crosses stages 1 to 3 as follows:(3)arc3in stage1in Figure7−arc3in stage3in Figure8=0,for flightsB.(4)
D arc (red lines)A D arc represents the D_ULD redispatch method. We set D arcs for a flight in the two networks associated with the current stage and later stage within the acceptable delay time. For example, flight 1’s laden ULDs are delayed from stage 1 to stage 3, and flights 5 (studied airline’s flight) and C (other airlines’ flight) in stage 3 aid in the delayed delivery of laden ULDs for flight 1. The D arcs for flight 1 are set in the two networks for stages 1 and 3 as follows:(a)
In stage 1, we set D arc (4) connecting the node in the laden ULD group on the SA side for flight 1 with an 08:00 departure time from station 1 to the crossing node, as shown in Figure 7.(b)
In stage 3, we set two D arcs (4) connecting the crossing node to the nodes in the laden ULD group on the SA side for flight 5 with an arrival time of 16:00 and on the OA side for flight C with an arrival time of 16:30 at station 3, as shown in Figure 8. Thus, the two D arcs (4) represent flights 5 and C aid flight 1 to deliver the delayed laden ULDs in stage 3.A constraint is set to ensure that the D_ULD for flight 1 crosses stages 1 to 3, that is,(4)arc4in stage1in  Figure7−arc4for  flight5+arc4for  flight  C  in  stage3in  Figure8=0,for  flights1.(5)
Transfer arcA transfer arc represents the transfer operation between empty and laden ULDs, as shown by arc (5). The ULD transfer operations include the loading of an empty ULD to become a laden ULD or the unloading of a laden ULD to become an empty ULD ready to be reused.(6)
Holding arcA holding arc indicates the holding of ULDs at a station during the associated time period, as indicated by arc (6). This represents the holding of ULDs in preparation for loading (empty ULD group) or unloading (laden ULD group) at a station.(7)
Connection arc and cycle arcCollection arc (7) flows from the original node to the collection node. Cycle arc (8) is the reverse, connecting the collection node to the original node. Thus, the flow conservation constraint is built by no supply and demand nodes in the network by connection and cycle arcs.Figure 7
Self-owned ULD network for stage 1.Figure 8
Self-owned ULD network for stage 3.


#### 2.5.2. Other Airline ULD Networks

The other airline ULD network represents the borrowing of ULDs from other airlines. The design of the other airline ULD network is similar to the self-owned ULD network but for borrowed ULDs. To save the space, we list the following differences between the other airline ULD and self-owned ULD networks:(1)
Redispatch methodsAs mentioned in Section2.4, an airline will not ask another to help deliver borrowed ULDs; thus, the OFAD_ULD, D_ULD, and B_ULD redispatch are considered in the other airline ULD network; the OAAD_ULD is excluded.(2)
OA side and OAAD arcOnly the SA side for each station is included in the other airline network. The OA side and OAAD arc are excluded. As shown in Figures7 and 8, the two OAAD arcs (3) for flights A and B and the OAAD arc (3) for flight B are not constructed in the other airline ULD networks.(3)
D arcOnly the D arc for the studied airline’s flight is set in the other airline ULD network associated with the later stage within the acceptable delay time. As shown in Figure8, only the D arc (4) for flight 5 is constructed in the other airline ULD network associated with stage 3; the D arc (4) for flight C is excluded.(4)
Cycle arcThe flow of the cycle arc indicates the total number of ULDs borrowed by the studied airline, including those borrowed in previous stages that cross to the current stage and those borrowed in the current stage. The number of ULDs borrowed in the current stage is calculated as follows: the flow of the cycle arc minus the sum of all arcs that flow from the crossing node (i.e., indicating ULDs borrowed in the previous stages). Taking stage 3 in Figure8, for example, the calculation is as follows:(5)number of borrowed ULDs in stage3=arc8−arcs1for flights3and4+arc2for flight4+arcs4for flight5.


### 2.6. ULD Redispatch Model and Solution Method

We first present the ULD redispatch model and then introduce the solution method for a stage, depending on whether there are no flights and ULD deliveries from crossing to it or not.


#### 2.6.1. ULD Redispatch Model

The notations used in the model formulation are defined as follows:(1)
SetsT is the set of two kinds of ULD networks (t∈T, t = 1: self-owned ULD network, t = 2: other airline ULD network).K is the set of all types of ULDs ().W is the set of two groups comprising empty and laden ULDs (w∈W, w = 1: empty ULDs, w = 2: laden ULDs).Nt,k, At,k are the sets of nodes and arcs for type k ULDs in a t kind of network, respectively.D is the set of flights for the studied airline (d,e∈D).DD is the set of flights across stages for the studied airline. In the above example, DD  = {flights 3 and 4} as listed in Table 1.B is the set of flights for other airlines (b∈B).BB is the set of flights across stages for other airlines. In the above example, BB  = {flight B} is listed in Table 1.Ldt,k,w is the set of ULD delivery arcs (1) for flight d for group w for type k ULDs in a t kind of network. In the above example, arcs (1) for flights 1 to 4 in stage 1 is shown in Figure 7, and arc (1) for flight 5 for stage 3 is shown in Figure 8.Id,et,k,w is the set of OFAD arcs (2) where flight e helps flight d (d,e∈D, d≠e) for group w for type k ULDs in a t kind of network. In the above example, the arcs (2) for flights 2 and 4 in stage 1 is shown in Figure 7.Jd,bk,w is the set of OAAD arcs (3) where flight b helps flight d (b∈B and d∈D) for group w for type k ULDs in a self-owned ULD network. In the above example, arcs (3) for flights A and B in stage 1 is shown in Figure 7.Qdt,k,wis the set of D arcs (4) of flight d for ULDs for group for type k ULDs in a t kind of network. For example, arc (4) for flight 1 in stage 1 is shown in Figure 7.ALdt,k,w is the set of ULD delivery arcs (1) for flight d across stage (d∈DD) for group w for type k ULDs in a t kind of network. For example, the arcs (1) for flights 3 and 4 in stage 3 is shown in Figure 8.AId,et,k,w is the set of OFAD arcs (2) where flight e helps flight d across stage (d,e∈DD, d≠e) for group w for type k ULDs in a t network. For example, arc (2) for flight 4 in stage 3 is shown in Figure 8.AJd,bk,w is the set of OAAD arcs (3) where flight b helps flight d cross stages (b∈BB and d∈DD) for group w for type k ULD in a self-owned ULD network. For example, arc (3) for flight B in stage 3 is shown in Figure 8.EQd,et,k,w is the set of D arcs (4) where flight e helps flight d (d,e∈D, d≠e) for group w for type k ULDs in a t kind of network. For example, arc (4) for flight 5 in stage 3 is shown in Figure 8.BQd,bk,w is the set of D arcs (4) where flight b helps flight d (b∈B and d∈D) for group w for type k ULDs in a self-owned ULD network. For example, arc (4) for flight C in stage 3 is shown in Figure 8.Gk, Rk is the set of cycle arcs and arcs, respectively, flowing from the crossing node for type k ULDs in the other airline ULD network.(2)
ParametersC_RDdk,w is the cost of ULD delivery for flight d for group w for type k ULDs.C_OFADd,ek,w is the cost of OFAD_ULD where flight e helps flight d for group w for type k ULDs.C_OAADd,bk,w is the cost of OAAD_ULD where flight b helps flight d for group w for type k ULDs.C_Ddk,w is the cost of D_ULD for flight d for group w for type k ULDs.C_Bk is the cost of B_ULD for empty type k ULDs.udk,w is the ULD demands for flight d for group w for type k ULDs, which results from ULD demand situations in the scenario tree.ϕk,wis the weight for group w for type k ULDs (unit: ton)θe is the available payload (unit: tons) for flight e.πek is the available number of slots on flight e for type k ULDs.αd,b is the available payload (unit: tons) for flight b to help flight d to deliver ULDs.pd,bk is the available number of slots for other airline’s flight b to help flight d to deliver type k ULDs.In addition,αd,b and pd,bk indicate the available capacity under the control of other airlines for ULD delivery for each of the studied airline’s flight d in the OAAD_ULD, as introduced in Section 2.4.δk is the number of empty type k ULDs which can be piled in a stack. Currently, the studied airline uses three main types of ULDs, labelled AKE, PMC, and PAG. The AKE is a container type of ULD, and the PMC and PAG are pallet types. In practice, several empty PMC and PAG pallets can be stacked to occupy the same slot as a single laden pallet. The number of empty PMC and PAG pallets which can be stacked in an aircraft is 15, that is, δk  = 15.εk is the number of slots occupied by type k ULD in an aircraft.(3)
Variablesxijt,k is the arc (ij) flow (i.e., the number of ULDs) for type k ULDs in a t kind of network.yek is an artificial variable indicating the number of stacks of empty type k ULDs which can be delivered by flight e.y¯d,bk is an artificial variable indicating the number of stacks of empty type k ULDs that can be delivered by flight b to help flight d.As mentioned above, ifδk  = 15 for type k ULD, then the yek and y¯d,bk will be two for 16 empty pallets stacked.The ULD redispatch model is formulated as follows:(6)∑t∈T∑k∈K∑w∈W∑d∈D∑ij∈Ldt,k,wC_RDdk,wxijt,k+∑t∈T∑k∈K∑w∈W∑d,e∈D,d≠e∑ij∈Id,et,k,wC_OFADd,ek,wxijt,k+∑k∈K∑w∈W∑d∈D∑b∈B∑ij∈Jd,bk,wC_OAADd,bk,wxij1,k+∑t∈T∑k∈K∑w∈W∑d∈D∑ij∈Qdt,k,wC_Ddk,wxijt,k+∑k∈KC_Bk∑ij∈Gkxij2,k−∑ij∈Rkxij2,k,(7)∑ij∈Ldt,k,wxijt,k−∑ij∈ALdt,k,wxijt,k=0,∀t∈T,∀k∈K,∀w∈W,∀d∈DD;(8)∑ij∈Id,et,k,wxijt,k−∑ij∈AId,et,k,wxijt,k=0,∀t∈T,∀k∈K,∀w∈W,∀d,e∈DD,d≠e;(9)∑ij∈Jd,bk,wxij1,k−∑ij∈AJd,bk,wxij1,k=0,∀k∈K,∀w∈W,∀d∈DD,∀b∈BB;(10)∑ij∈Qdt,k,wxijt,k−∑e∈D,e≠d∑ij∈EQd,et,k,wxijt,k+∑b∈B∑ij∈BQd,bk,wxij1,k=0,∀t∈T,∀k∈K,∀w∈W,∀d∈D;(11)∑t∈T∑e∈D,e≠d∑ij∈Ldt,k,w∪Id,et,k,w∪Qdt,k,wxijt,k+∑b∈B∑ij∈Jd,bk,wxij1,k≥udk,w,∀k∈K,∀w∈W,∀d∈D;(12)∑t∈T∑k∈K∑w∈W∑d∈D,d≠e∑ij∈Let,k,w∪Id,et,k,w∪EQd,et,k,wϕk,wxijt,k≤θe,∀e∈D;(13)∑k∈K∑w∈W∑ij∈Jd,bk,w∪BQd,bk,wϕk,wxijt,k≤αd,b,t=1,∀d∈D,∀b∈B;(14)∑t∈T∑d∈D,d≠e∑ij∈Let,k,w∪Id,et,k,w∪EQd,et,k,wxijt,kδk−yek≤0,w=1,∀k∈K,∀e∈D;(15)yek−∑t∈T∑d∈D,d≠e∑ij∈Let,k,w∪Id,et,k,w∪EQd,et,k,wxijt,k+δk−1δk≤0,w=1,∀k∈K,∀e∈D;(16)∑ij∈Jd,bk,w∪BQd,bk,wxijt,kδk−y¯d,bk≤0,t=1,w=1,∀k∈K,∀d∈D,∀b∈B;(17)y¯d,bk−∑ij∈Jd,bk,w∪BQd,bk,wxijt,k+δk−1δk≤0,t=1,w=1,∀k∈K,∀d∈D,∀b∈B;(18)εkyek+∑t∈T∑d∈D,d≠e∑ij∈Let,k,w∪Id,et,k,w∪EQd,et,k,wxijt,k≤πek,w=2,∀k∈K,∀e∈D;(19)εky¯d,bk+∑ij∈Jd,bk,w∪BQd,bk,wxijt,k≤pd,bk,t=1,w=2,∀k∈K,∀d∈D,∀b∈B;(20)∑j∈Nt,kxijt,k−∑h∈Nt,kxhit,k=0,∀i∈Nt,k,∀t∈T,∀k∈K;(21)xijt.k≥0,xijt,k∈integer,∀ij∈At,k,∀t∈T,∀k∈K;(22)yek≥0,yek∈integer,∀k∈K,∀e∈D;(23)y¯d,bk≥0,y¯d,bk∈integer,∀k∈K,∀d∈D,∀b∈B.Objective function (6) aims at minimizing the total cost, including the cost for the delivery of ULDs and the costs for the four redispatch methods. Constraints (7) to (10) are constraints for flights across stages including ULD delivery, OFAD_ULD, OAAD_ULD, and D_ULD. Constraint (11) is the demand constraint that represents the demand for each type of ULD for each of the studied airline’s flights. Constraints (12) and (13) indicate the available payload per flight for the studied airline and the other airlines, respectively. Constraints (14) and (15) are used to calculate the number of stacks of empty ULDs delivered by each studied airline flight. Constraints (16) and (17) are used to calculate the number of stacks of empty ULDs delivered by each of the other airlines’ flights. Constraints (18) and (19) denote the available number of slots for each type of ULD for each flight of the studied airline and other airlines, respectively. Constraint (20) ensures flow conservation at every node in each network. Constraints (21) to (23) define the variables used in the model.


#### 2.6.2. Solving ULD Redispatch Model for a Stage

The ULD redispatch model for a stage is solved in two parts. In the first part, we consider flights and ULD deliveries within a stage and across stages, resulting in the classification of two attributes for each stage depending upon whether it contains flights crossing from previous stages or not. In the second part, we solve all ULD redispatches associated with all ULD demand situations for a stage. One ULD redispatch is selected based on the probabilities for demand situations for a stage:(1)
Stage attributesLetS be the set of previous stages which have flights and ULD deliveries crossing to the current stage. In the example from Section 2.5, we obtain S=∅ for stage 1 which does not have flights and ULD deliveries from previous stages crossing to it. We obtain S=1 for stage 3 which does have flights and ULD deliveries crossing to it from the previous stage 1. Two submodels resulting from the ULD redispatch model are developed to solve the two-stage attributes.(i)
Stages withS=∅Solve for the stages withS=∅ by following submodel 1, by releasing constraints (7) to (10) for flights and ULD deliveries across stages in the ULD redispatch model.Submodel 1Objective function (6)Constraints (11) to (23)(ii)
Stages withS≠∅Flights across stages need to be considered when solving the stage withS≠∅. The variables ∑ij∈Ldt,k,wxijt,k, ∑ij∈Id,et,k,wxijt,k, ∑ij∈Jd,bk,wxij1,k, and ∑ij∈Qdt,k,wxijt,k in constraints (7) to (10) have already been solved in the previous stage (S). Therefore, submodel 2 is used to solve the next stage with constraints (24) to (27) being obtained by modifying constraints (7) to (10). As can be seen, ∑ij∈Ldt,k,wxijt,k, ∑ij∈Id,et,k,wxijt,k, ∑ij∈Jd,bk,wxij1,k, and ∑ij∈Qdt,k,wxijt,k which have been solved in the previous stages are used as inputs on the right hand side in constraints (24) to (27).Submodel 2Objective function (6)s.t.Constraints (11) to (23)(24)∑ij∈ALdt,k,wxijt,k=∑ij∈Ldt,k,wxijt,k,∀t∈T,∀k∈K,∀w∈W,∀d∈DD;(25)∑ij∈AId,et,k,wxijt,k=∑ij∈Id,et,k,wxijt,k,∀t∈T,∀k∈K,∀w∈W,∀d,e∈DD,d≠e;(26)∑ij∈AJd,bk,wxij1,k=∑ij∈Jd,bk,wxij1,k,∀k∈K,∀w∈W,∀d∈DD,∀b∈BB;(27)∑e∈D,e≠d∑ij∈EQd,et,k,wxijt,k+∑b∈B∑ij∈BQd,bk,wxij1,k=∑ij∈Qdt,k,wxijt,k,∀t∈T,∀k∈K,∀w∈W,∀d∈D.(2)
ULD demand situationsThere are 3M possible demand situations for a stage. We repeatedly solve each ULD redispatch model using each demand udk,w for each demand situation in the scenario tree. As a result, there are 3M ULD redispatch solutions associated with 3M demand situations for a stage. In practice, the carrier selects one ULD redispatch solution for each stage, depending on which type of ULD demand situation is happening when putting the framework to use in the real world. In this study, for simulation purposes, we randomly select one ULD redispatch solution for a stage, based on the probabilities for the demand situations. In the simulation process, the larger (or smaller) the probability, the higher (or lower) the chance of being selected.The pseudo-code for solving ULD redispatch model for a stage is shown in Figure9.Figure 9
The pseudo-code for solving the ULD redispatch model for a stage.


### 2.7. Entire Procedure and Connection between Elements

The entire procedure for the hybrid framework and the connection between elements is shown in Figure10. The same elements connected previous and next steps are shown by the same color in Figure 10. To save space, the elements in the framework are not introduced again; please refer the above sections for the details.Figure 10
Entire procedure for the hybrid framework for a day.


### 2.8. Application of the Hybrid Framework

The hybrid framework is especially suitable for solving the ULD redispatch problem in a dynamic, data-sharing operating environment, but there are several considerations which could affect its application. For example, the usage of machine to machine (M2M) will simplify the provision and direct exchange of data between the elements in the hybrid framework. Solutions could be reached with automatically exchanged data. Human in the loop (HITL) will also need to be taken into account in the hybrid framework to facilitate human interaction with the system. Users can make decisions based on their judgment and experience. Sometimes, the result obtained with an automated system, such as M2M, needs to be modified. In addition, the sharing of reliable ULD data may lead to changes in the management of various network chains for airlines, airports, and passengers. For example, the ULD redispatch connects and follows passengers because luggage is linked to passengers. Active data sharing among different stakeholders and systems, including air traffic control (ATC), airport operation plan (AOP), and airport ground handlers, would facilitate the hybrid framework to solve the ULD redispatch in real time, performing good airport collaborative decision-making (A-CDM). Altogether, the above considerations will make the hybrid framework more applicable thereby enhancing its performance in actual operations.


## 2.1. Four Types of Operational Demand

Daily operational demand is affected by several factors such as whether is during the peak or nonpeak seasons. For example, if the day falls in a peak season (e.g., summer or Christmas vacation periods), then a large ULD demand for a flight is likely to occur. In practice, an airline will have to be prepared to meet the busy, regular, nonspecific, and nonbusy operational demands. We simulate the flight demand scenarios based on the probability distribution associated with the four types of operational demand. There are three ULD demand outcomes for a flight: larger than, the same as, or smaller than the planned (i.e., original) ULD demand. We consider the large, planned, and small demand scenarios associated with these three possible outcomes. In practice, these large, planned, and small demand scenarios are likely to occur in association with busy, regular, and nonbusy operational demands, respectively. The three demand scenarios are equally likely for nonspecific operational demand. Therefore, a unimodal probability distribution with a single peak will occur in the busy, regular, and nonbusy operational demands while a symmetric and multimodal probability distribution with three peaks (i.e., a uniform probability distribution) will occur in the nonspecific operational demand. A schematic representation of the probability distributions for the three demand scenarios for the four types of operational demand is shown in Figure1. The greatest probability of the three demand scenarios is 0.8 according to statistical data provided by the studied airline. In the schematic diagram in Figure 1, in this example, the greatest probability for the large, planned, and small demand scenarios in the busy, regular, and nonbusy operational demands is 0.8 (in the other two scenarios, the sum of the probabilities in this example is 0.2). The same probability of 1/3 is set for the three demand scenarios in the nonspecific operational demand. The probability distributions for the four types of operational demand are described as follows:(1)
Busy operational demandA large demand scenario is likely to happen for a flight during busy demand periods. In the probability distribution, the large demand scenario has the greatest probability of occurrence for a flight, forming a unimodal distribution with a single peak indicating the large demand scenario.(2)
Regular operational demandThis occurs when ULD demand follows the planned demand scenario for a flight in practice. In theory, the regular demand operation has a unimodal distribution with a single peak for the planned demand scenario.(3)
Nonspecific operational demandNonspecific demand means all demand scenarios are equally likely for a flight. There is no specific trend in practice. In theory, the three demand scenarios have the same probability of occurrence for a flight, forming a symmetric multimodal distribution with three peaks for the three demand scenarios.(4)
Nonbusy operational demandNonbusy operational demand is the opposite of busy operational demand. The small demand scenario has the largest probability of occurrence for a flight, forming a unimodal distribution with a single peak for the small demand scenario.Figure 1
Schematic representation of the probability distributions for the four types of operational demand.


## 2.2. Dividing into Adjustable Stages

The day is divided into a number of stages following a time sequence. A stage can include certain and uncertain demand flights, provided the flight’s departure time is within the time period of a stage. Before introducing the division into adjustable stages, we first define certain and uncertain demand flights as follows:(1)
Certain demand flightsCertain demand flights are those whose departure time is approaching. In practice, within an hour of a flight’s departure time, most passengers will have finished the check-in process, and most passenger luggage and cargo will already have been loaded into the ULDs, meaning that ULD demand for a flight is known and realized. Thus, a certain demand flight is defined as follows:(i)
The departure time of a certain demand flight is within one hour in the time period of a stage(ii)
There is only one demand scenario for a certain demand flight, either large, planned, or small(2)
Uncertain demand flightsThe uncertain demand flight usually occurs when the flight departure time is not near. The studied airline usually opens the check-in counter for a flight about three hours before the scheduled departure time. At this point, most passengers will not yet have completed the check-in process, meaning that ULD demand for the storage of passenger luggage and cargo is uncertain and varied. An uncertain demand flight is defined as follows:(i)
The departure time of an uncertain demand flight is from one to three hours in the time period of a stage(ii)
There are three demand scenarios for an uncertain demand flight, that is large, planned, or smallThus, we set the time period for a stage to be three hours according to the uncertain demand flight discussed above. However, it is found that when the number of uncertain demand flights in a stage is more than seven, the number of possible demand situations is too large, resulting in a long solution time for a stage (this will be discussed in Section2.3.2). Therefore, if there are more than seven uncertain demand flights in a stage, the time period is adjusted to 1.5 hours (half of the original three hours), and the stage is redivided into two new stages. For example, as shown in Figure 2, the original stage 1 is from 06:00 to 09:00, but it includes one certain demand flight (flight 1) and eight uncertain demand flights (flights 2 to 9). Thus, the time period is decreased to 1.5 hours, dividing the original stage 1 into two new stages, stage 1 (06:00 to 07:30) and stage 2 (07:30 to 09:00). As can be seen, the new stage 1 only includes two uncertain demand flights (flights 2 and 3), and the uncertain demand flights (flights 4 to 6) in the original stage 1 become certain demand flights in the new stage 2 because their departure times are within one hour. The new stage 2 includes only three uncertain demand flights (flights 7 to 9). As a result, the two new stages 1 and 2 both have fewer than seven uncertain demand flights.Figure 2
An example of adjustable stage division.


## 2.3. Scenario Tree and Probability Rule

Based on certain and uncertain demand flights determined by stage division, all possible demand situations and associated probabilities in a stage are presented by a probability rule in a scenario tree. We first introduce scenario tree design. Then, we discuss the number of demand situations for a stage resulting from uncertain demand flights.


### 2.3.1. Scenario Tree Design

The three trees associated with the three demand scenarios for a flight are labelled: Tree 1: large demand scenario; Tree 2: planned demand scenario; and Tree 3: small demand scenario. Figure3 shows the scenario tree for the new stage 1 described above in which flight 1 is a certain demand flight and flights 2 and 3 are uncertain demand flights. The trees for flights 1, 2, and 3 are distinguished by using upright, italic, and boldfaced lettering, respectively.(1)
Certain demand flights: flight 1Flight 1 only has one tree in the scenario tree associated with its known and certain ULD demand. Assume that the ULD demand for flight 1 is known to be for a large demand scenario, so Tree 1 is set for it.(2)
Uncertain demand flights: flights 2 and 3(a)
Flight 2We set trees 1, 2, and 3 for flight 2 connected with Tree 1 for flight 1, meaning that each demand scenario for flight 2 is a conditional event given the large demand scenario for flight 1. P1, P2, and P3 indicate the conditional probabilities forTrees 1, 2, and 3 for flight 2, respectively. For example, P1 = P (Tree 1 | Tree 1), representing the probability of the large demand scenario for flight 2 given the large demand scenario for flight 1.(b)
Flight 3We setTrees 1, 2, and 3 for flight 3 separately connected with each tree for flight 2, resulting in a total of nine trees for flight 3. Similarly, each tree for flight 3 is a conditional event given the demand scenarios for flights 1 and 2. P4 to P12 are the conditional probabilities of the nine trees for flight 3. For example, P5 = P (Tree 2|Tree 1, Tree 1), indicating the probability of the planned demand scenario for flight 3 given the large demand scenarios for both flights 1 and 2.Figure 3
Structure of the scenario tree.All possible demand situations for a stage are represented in the scenario tree. Each demand situation is a joint event with connected trees (indicating a combination of demand scenarios). According to the multiplication rule, the probability of each demand situation is the joint probability of its connected trees. In Figure3, the red line indicating demand situation 2 (Tree 2,Tree 1, Tree 1) shows that flight 3 is a planned demand scenario flight while flights 1 and 2 are associated with large demand scenarios. The probability of demand situation 2 is the joint probability of P1 × P5 = P (Tree 1|Tree 1) × P (Tree 2|Tree 1, Tree 1).


### 2.3.2. Number of Demand Situations for a Stage

Based on the scenario tree structure, the number of demand situations is 3m (m is the number of uncertain demand flights) for a stage. As shown in Figure 3, 9 (32) demand situations are generated for the stage with two uncertain demand flights. The exponential growth of 3m demand situations makes seven uncertain demand flights the tipping point where a manageable number of demand situations becomes too large, as shown in Figure 4. After performing the calculations for 2,000 cases, we find that, when the number of uncertain demand flights in a stage is seven, the solution time is short, 9.27 minutes. However, when the number in a stage exceeds seven, the solution time lengthens to 159.91 minutes. Such a long solution time for a stage is unacceptable in real-time operations which are subject to time pressure. The results of the numerical tests will be discussed in more detail later. Therefore, we set a constraint that a stage cannot include more than seven uncertain demand flights, as mentioned in Section 2.2.Figure 4
Exponential growth of demand situations for a stage.


## 2.3.1. Scenario Tree Design

The three trees associated with the three demand scenarios for a flight are labelled: Tree 1: large demand scenario; Tree 2: planned demand scenario; and Tree 3: small demand scenario. Figure3 shows the scenario tree for the new stage 1 described above in which flight 1 is a certain demand flight and flights 2 and 3 are uncertain demand flights. The trees for flights 1, 2, and 3 are distinguished by using upright, italic, and boldfaced lettering, respectively.(1)
Certain demand flights: flight 1Flight 1 only has one tree in the scenario tree associated with its known and certain ULD demand. Assume that the ULD demand for flight 1 is known to be for a large demand scenario, so Tree 1 is set for it.(2)
Uncertain demand flights: flights 2 and 3(a)
Flight 2We set trees 1, 2, and 3 for flight 2 connected with Tree 1 for flight 1, meaning that each demand scenario for flight 2 is a conditional event given the large demand scenario for flight 1. P1, P2, and P3 indicate the conditional probabilities forTrees 1, 2, and 3 for flight 2, respectively. For example, P1 = P (Tree 1 | Tree 1), representing the probability of the large demand scenario for flight 2 given the large demand scenario for flight 1.(b)
Flight 3We setTrees 1, 2, and 3 for flight 3 separately connected with each tree for flight 2, resulting in a total of nine trees for flight 3. Similarly, each tree for flight 3 is a conditional event given the demand scenarios for flights 1 and 2. P4 to P12 are the conditional probabilities of the nine trees for flight 3. For example, P5 = P (Tree 2|Tree 1, Tree 1), indicating the probability of the planned demand scenario for flight 3 given the large demand scenarios for both flights 1 and 2.Figure 3
Structure of the scenario tree.All possible demand situations for a stage are represented in the scenario tree. Each demand situation is a joint event with connected trees (indicating a combination of demand scenarios). According to the multiplication rule, the probability of each demand situation is the joint probability of its connected trees. In Figure3, the red line indicating demand situation 2 (Tree 2,Tree 1, Tree 1) shows that flight 3 is a planned demand scenario flight while flights 1 and 2 are associated with large demand scenarios. The probability of demand situation 2 is the joint probability of P1 × P5 = P (Tree 1|Tree 1) × P (Tree 2|Tree 1, Tree 1).


## 2.3.2. Number of Demand Situations for a Stage

Based on the scenario tree structure, the number of demand situations is 3m (m is the number of uncertain demand flights) for a stage. As shown in Figure 3, 9 (32) demand situations are generated for the stage with two uncertain demand flights. The exponential growth of 3m demand situations makes seven uncertain demand flights the tipping point where a manageable number of demand situations becomes too large, as shown in Figure 4. After performing the calculations for 2,000 cases, we find that, when the number of uncertain demand flights in a stage is seven, the solution time is short, 9.27 minutes. However, when the number in a stage exceeds seven, the solution time lengthens to 159.91 minutes. Such a long solution time for a stage is unacceptable in real-time operations which are subject to time pressure. The results of the numerical tests will be discussed in more detail later. Therefore, we set a constraint that a stage cannot include more than seven uncertain demand flights, as mentioned in Section 2.2.Figure 4
Exponential growth of demand situations for a stage.


## 2.4. Four Redispatch Methods

After division into stages and building a scenario tree for each stage, the four redispatch methods associated with the different strategies are formulated as follows:(1)
OFAD_ULDThe OFAD_ULD represents a strategy where the airline plans delivery of ULDs from its own flights with similar departure times. The OFAD_ULD is thus an internal delivery plan made by the airline for its own flights.(2)
OAAD_ULDIn the OAAD_ULD, the airline asks for assistance from other airlines to help deliver its own ULDs. Differing from the OFAD_ULD, the OAAD_ULD relies on other airlines’ flights, so this is not an internal delivery strategy for the studied airline. In practice, it is the other airlines that control the flight capacity (including payload and available slots) to assist in delivering ULDs. The OAAD_ULD needs to formulate the available capacity under the control of other airlines to deliver ULDs for the studied airline.(3)
D_ULDThe D_ULD is used when ULDs cannot be delivered on time, meaning a delay in the delivery of ULDs. The D_ULD also leads to a delay in ULD deliveries across stages. To avoid an overly long delay time, the airline sets an acceptable delay time for finding alternative flights to convey the delayed ULDs. Thus, a flight may delay the delivery of ULDs across more than one stage if it is within the acceptable delay time.(4)
B_ULDIn this strategy, the airline borrows empty ULDs from other airlines. Note that an airline will not ask other airlines to help deliver borrowed ULDs because, in current practices, the borrower is responsible for the delivery of these ULDs; the lender will not provide the additional service of delivering ULDs rented to other airlines. As a result, there are two possible situations formulated in the B_ULD:(a)
The OFAD_ULD applies to the B_ULD, excluding the OAAD_ULD(b)
The D_ULD applies to the B_ULD but is only applied by the OFAD_ULD


## 2.5. Stage-Type Networks

After the dividing stage and building of the scenario tree, the next step is to build the associated stage-type network involving the four redispatch methods. We consider flights within a stage and across stages for all types of ULD deliveries after the dividing stage and representation in the scenario tree. Therefore, we next build the stage-type network, in which each layer of the network indicates a type of ULD for a stage, resulting in the two dimensions indicating stage and ULD type. An example with two stages and three types of ULD is shown in Figure5. The matrix representation at the top of Figure 5 has a 2×3 structure. The network representation is in the lower part of Figure 5. In the stage dimension, networks are dependent upon flights and ULD deliveries across stages. In the ULD type dimension, networks are dependent upon operating constraints for all types of ULDs, such as the ULD demand, available payload, and available number of slots for each flight.Figure 5
An illustration of the two dimensions in the network.In each stage-type network, the horizontal axis represents the station; the vertical axis stands for the time duration. As shown in Figure6, two additional characteristics of our network are introduced as follows:(1)
Multisides and groups for stationWe construct the studied airline side (called SA side hereafter) and the other airline sides (called OA side hereafter) for a station to indicate ULD deliveries by the studied airline to itself for deliver by other airlines, respectively. We also set the empty and laden ULD groups for both SA and OA sides to represent the deliveries of empty and laden ULDs for a station, respectively.(2)
Crossing nodeWe set a crossing node that is an artificial node in the network. Two crossing nodes are set at the top and bottom of the network. The crossing node aids in formulation indicating the delivery of ULDs across stages. As shown in Figure6, several arcs associated with flights and ULD deliveries across stages flow to and from the crossing nodes (red lines) to connect different stages, which will be introduced in more detail later.Figure 6
A comparison between traditional and our networks.Two kinds of stage-type networks are designed to distinguish between the use of ULDs owned by the studied airline and ULDs borrowed from other airlines for the construction of self-owned ULD networks and other airline ULD networks.


### 2.5.1. Self-Owned ULD Networks

All ULDs owned by the studied airline flow in the self-owned ULD network. OFAD_ULD, OAAD_ULD, and D_ULD are used to formulate the self-owned ULD networks; B_ULD is not. The flights listed in Table1 are used in an example to introduce the network. Flights 1 to 5 belong to the studied airline, and flights A to C are other airlines’ flights. The origin and destination (called OD hereafter) are indicated by OD 1⟶3 and OD 1⟶4. There are two stages: stages 1 (08:00–11:00) and 3 (14:00–17:00). Flights 1, 2, 5, A, and C serving OD 1⟶3 do not cross a stage, but flights 3, 4, and B serving OD 1⟶4 cross stages 1 to 3 because of the flight times.Table 1
An example with stages 1 and 3 and ODs 1⟶3 and 1⟶4.
ODOD 1⟶ 3OD 1⟶ 4OD 1⟶ 3Flight time2 hours6 hours2 hoursAirlineStudied airlineOther airlinesStudied airlineOther airlinesStudied airlineOther airlinesFlightFlight 1Flight 2Flight AFlight 3Flight 4Flight BFlight 5Flight CDeparture time08:0009:0008:3010:3011:0010:0014:0014:30Arrival time10:0011:0010:3016:3017:0016:0016:0016:30StageDeparture and arrival in stage 1(i) Across stages 1 to 3(ii) Departure in stage 1(iii) Arrival in stage 3Departure and arrival in stage 3Figures7 and 8 show the self-owned ULD networks for stages 1 and 3 associated with the above example. There are eight types of arcs in the self-owned ULD network: (1) ULD delivery arc, (2) OFAD arc, (3) OAAD arc, (4) D arc, (5) Transfer arc (6) Holding arc, (7) Connection arc, and (8) Cycle arc.(1)
ULD delivery arc (orange lines)A ULD delivery arc represents the delivery of ULDs for a flight, which has not been adjusted using the redispatch methods. A ULD delivery arc connects the nodes between two stations on the SA side, indicating delivery by the studied airline. The ULD delivery arc for a flight is set depending on whether the flight is within a stage or across stages:(a)
Flight within a stageWe set the ULD delivery arc for the flight in the network associated with its stage. For example, take OD 1⟶ 3 with empty ULDs. Arcs (1) are set for flights 1 and 2 in stage 1 as shown in Figure 7, and arc (1) is set for flight 5 in stage 3 as shown in Figure 8.(b)
Flight across stagesWe set two ULD delivery arcs for the flight associated with departure and arrival in the two networks for the associated two stages. As shown in Table1, OD 1⟶ 4 crosses stages 1 to 3 and contains flights 3 and 4. Take flight 3 with departure and arrival times of 10:30 and 16:30 with empty ULDs, for example. The two ULD delivery arcs for flight 3 in the two networks for stages 1 and 3 are distinguished by using upright and italic lettering, respectively. The same representation is also used for other arcs hereafter.(i)
In stage 1, arc (1) for flight 3 connects from the node in the empty ULD group on the SA side at departure time 10:30 at station 1 to the crossing node, as shown in Figure 7(ii)
In stage 3, arc (1) for flight 3 connects from the crossing node to the node in the empty ULD group on the SA side at arrival time 16: 30 at station 4, as shown in Figure 8Similar to flight 3, flight 4 includes arc (1) in stage 1 as shown in Figure 7 and arc (1) in stage 3 in Figure 8. Then, we set an arc flow constraint for flights 3 and 4 to connect ULD deliveries across stages 1 to 3 as follows:(1)arc1in stage1in Figure7−arc1in stage3in Figure8=0,for flights3and4.(2)
OFAD arc (blue lines)An OFAD arc represents the OFAD_ULD redispatch method, which connects nodes on the SA side indicating ULD deliveries by the studied airline. We set an OFAD arc for a flight depending on whether the flight is within a stage or across stages. We take the following two examples:(a)
Flight within a stageAssume that flight 2 aids flight 1 with the delivery of laden ULDs (OD 1⟶ 3) within stage 1. To accurately indicate that flight 2 is aiding flight 1 with laden ULDs, we design an OFAD arc (2) for flight 2 connecting the node in the laden ULD group on the SA side at flight 1’s 08:00 departure time from station 1 to the node in laden ULD group on the SA side at fight 2’s arrival time of 11:00 at station 3, as shown in Figure 7.(b)
Flight across stagesAssume that flight 4 aids flight 3 with the delivery of laden ULDs (OD 1⟶ 4) across stages 1 to 3. Similarly, we need to accurately indicate that flight 4 is aiding flight 3 with laden ULDs across stages 1 to 3. This is indicated by the inclusion of two OFAD arcs in the two networks for stages 1 and 3 for flight 4.(i)
In stage 1, OFAD arc (2) for flight 4 connects the node in the laden ULD group on the SA side at flight 3’s departure time of 10:30 at station 1 to the crossing node, as shown in Figure 7(ii)
In stage 3, OFAD arc (2) for flight 4 connects the crossing node to the node in the laden ULD group on the SA side at flight 4’s arrival time of 17:00 at station 4, as shown in Figure 8An arc flow constraint is set to ensure that the OFAD_ULD for flight 4 crosses stages 1 to 3 as follows:(2)arc2in stage1in Figure7−arc2in stage3in Figure8=0,for flights4.(3)
OAAD arc (green lines)An OAAD arc represents the OAAD_ULD redispatch method, which connects nodes on the OA sides indicating ULD deliveries by other airlines. The OAAD arc for a flight is set depending on whether the flight is within or across stages.(a)
Flight within a stageSuppose that flight A aids flight 1 to deliver laden ULDs (OD 1⟶ 3) within stage 1, as shown in Figure7. We design OAAD arc (3) for flight A connecting from the node in the laden ULD group on the OA side for flight 1 with an 08:00 departure time from station 1 to a node in the laden ULD group on the OA side for flight A with an arrival time of 10:30 at station 3.(b)
Flight across stagesSuppose that flight B aids flight 3 to deliver laden ULDs (OD 1⟶ 4) across stages 1 to 3. There are two OAAD arcs for flight B in the two networks for stages 1 and 3.(i)
In stage 1, OAAD arc (3) for flight B connects the node in the laden ULD group on the OA side for flight 3 with a 10:30 departure time from station 1 to the crossing node, as shown in Figure 7(ii)
In stage 3, OAAD arc (3) for flight B connects from the crossing node to the node in the laden ULD group on the OA side for flight B with a 16:00 arrival time at station 4, as shown in Figure 8Similarly, we set an arc flow constraint to ensure that the OAAD_ULD for flight B crosses stages 1 to 3 as follows:(3)arc3in stage1in Figure7−arc3in stage3in Figure8=0,for flightsB.(4)
D arc (red lines)A D arc represents the D_ULD redispatch method. We set D arcs for a flight in the two networks associated with the current stage and later stage within the acceptable delay time. For example, flight 1’s laden ULDs are delayed from stage 1 to stage 3, and flights 5 (studied airline’s flight) and C (other airlines’ flight) in stage 3 aid in the delayed delivery of laden ULDs for flight 1. The D arcs for flight 1 are set in the two networks for stages 1 and 3 as follows:(a)
In stage 1, we set D arc (4) connecting the node in the laden ULD group on the SA side for flight 1 with an 08:00 departure time from station 1 to the crossing node, as shown in Figure 7.(b)
In stage 3, we set two D arcs (4) connecting the crossing node to the nodes in the laden ULD group on the SA side for flight 5 with an arrival time of 16:00 and on the OA side for flight C with an arrival time of 16:30 at station 3, as shown in Figure 8. Thus, the two D arcs (4) represent flights 5 and C aid flight 1 to deliver the delayed laden ULDs in stage 3.A constraint is set to ensure that the D_ULD for flight 1 crosses stages 1 to 3, that is,(4)arc4in stage1in  Figure7−arc4for  flight5+arc4for  flight  C  in  stage3in  Figure8=0,for  flights1.(5)
Transfer arcA transfer arc represents the transfer operation between empty and laden ULDs, as shown by arc (5). The ULD transfer operations include the loading of an empty ULD to become a laden ULD or the unloading of a laden ULD to become an empty ULD ready to be reused.(6)
Holding arcA holding arc indicates the holding of ULDs at a station during the associated time period, as indicated by arc (6). This represents the holding of ULDs in preparation for loading (empty ULD group) or unloading (laden ULD group) at a station.(7)
Connection arc and cycle arcCollection arc (7) flows from the original node to the collection node. Cycle arc (8) is the reverse, connecting the collection node to the original node. Thus, the flow conservation constraint is built by no supply and demand nodes in the network by connection and cycle arcs.Figure 7
Self-owned ULD network for stage 1.Figure 8
Self-owned ULD network for stage 3.


### 2.5.2. Other Airline ULD Networks

The other airline ULD network represents the borrowing of ULDs from other airlines. The design of the other airline ULD network is similar to the self-owned ULD network but for borrowed ULDs. To save the space, we list the following differences between the other airline ULD and self-owned ULD networks:(1)
Redispatch methodsAs mentioned in Section2.4, an airline will not ask another to help deliver borrowed ULDs; thus, the OFAD_ULD, D_ULD, and B_ULD redispatch are considered in the other airline ULD network; the OAAD_ULD is excluded.(2)
OA side and OAAD arcOnly the SA side for each station is included in the other airline network. The OA side and OAAD arc are excluded. As shown in Figures7 and 8, the two OAAD arcs (3) for flights A and B and the OAAD arc (3) for flight B are not constructed in the other airline ULD networks.(3)
D arcOnly the D arc for the studied airline’s flight is set in the other airline ULD network associated with the later stage within the acceptable delay time. As shown in Figure8, only the D arc (4) for flight 5 is constructed in the other airline ULD network associated with stage 3; the D arc (4) for flight C is excluded.(4)
Cycle arcThe flow of the cycle arc indicates the total number of ULDs borrowed by the studied airline, including those borrowed in previous stages that cross to the current stage and those borrowed in the current stage. The number of ULDs borrowed in the current stage is calculated as follows: the flow of the cycle arc minus the sum of all arcs that flow from the crossing node (i.e., indicating ULDs borrowed in the previous stages). Taking stage 3 in Figure8, for example, the calculation is as follows:(5)number of borrowed ULDs in stage3=arc8−arcs1for flights3and4+arc2for flight4+arcs4for flight5.


## 2.5.1. Self-Owned ULD Networks

All ULDs owned by the studied airline flow in the self-owned ULD network. OFAD_ULD, OAAD_ULD, and D_ULD are used to formulate the self-owned ULD networks; B_ULD is not. The flights listed in Table1 are used in an example to introduce the network. Flights 1 to 5 belong to the studied airline, and flights A to C are other airlines’ flights. The origin and destination (called OD hereafter) are indicated by OD 1⟶3 and OD 1⟶4. There are two stages: stages 1 (08:00–11:00) and 3 (14:00–17:00). Flights 1, 2, 5, A, and C serving OD 1⟶3 do not cross a stage, but flights 3, 4, and B serving OD 1⟶4 cross stages 1 to 3 because of the flight times.Table 1
An example with stages 1 and 3 and ODs 1⟶3 and 1⟶4.
ODOD 1⟶ 3OD 1⟶ 4OD 1⟶ 3Flight time2 hours6 hours2 hoursAirlineStudied airlineOther airlinesStudied airlineOther airlinesStudied airlineOther airlinesFlightFlight 1Flight 2Flight AFlight 3Flight 4Flight BFlight 5Flight CDeparture time08:0009:0008:3010:3011:0010:0014:0014:30Arrival time10:0011:0010:3016:3017:0016:0016:0016:30StageDeparture and arrival in stage 1(i) Across stages 1 to 3(ii) Departure in stage 1(iii) Arrival in stage 3Departure and arrival in stage 3Figures7 and 8 show the self-owned ULD networks for stages 1 and 3 associated with the above example. There are eight types of arcs in the self-owned ULD network: (1) ULD delivery arc, (2) OFAD arc, (3) OAAD arc, (4) D arc, (5) Transfer arc (6) Holding arc, (7) Connection arc, and (8) Cycle arc.(1)
ULD delivery arc (orange lines)A ULD delivery arc represents the delivery of ULDs for a flight, which has not been adjusted using the redispatch methods. A ULD delivery arc connects the nodes between two stations on the SA side, indicating delivery by the studied airline. The ULD delivery arc for a flight is set depending on whether the flight is within a stage or across stages:(a)
Flight within a stageWe set the ULD delivery arc for the flight in the network associated with its stage. For example, take OD 1⟶ 3 with empty ULDs. Arcs (1) are set for flights 1 and 2 in stage 1 as shown in Figure 7, and arc (1) is set for flight 5 in stage 3 as shown in Figure 8.(b)
Flight across stagesWe set two ULD delivery arcs for the flight associated with departure and arrival in the two networks for the associated two stages. As shown in Table1, OD 1⟶ 4 crosses stages 1 to 3 and contains flights 3 and 4. Take flight 3 with departure and arrival times of 10:30 and 16:30 with empty ULDs, for example. The two ULD delivery arcs for flight 3 in the two networks for stages 1 and 3 are distinguished by using upright and italic lettering, respectively. The same representation is also used for other arcs hereafter.(i)
In stage 1, arc (1) for flight 3 connects from the node in the empty ULD group on the SA side at departure time 10:30 at station 1 to the crossing node, as shown in Figure 7(ii)
In stage 3, arc (1) for flight 3 connects from the crossing node to the node in the empty ULD group on the SA side at arrival time 16: 30 at station 4, as shown in Figure 8Similar to flight 3, flight 4 includes arc (1) in stage 1 as shown in Figure 7 and arc (1) in stage 3 in Figure 8. Then, we set an arc flow constraint for flights 3 and 4 to connect ULD deliveries across stages 1 to 3 as follows:(1)arc1in stage1in Figure7−arc1in stage3in Figure8=0,for flights3and4.(2)
OFAD arc (blue lines)An OFAD arc represents the OFAD_ULD redispatch method, which connects nodes on the SA side indicating ULD deliveries by the studied airline. We set an OFAD arc for a flight depending on whether the flight is within a stage or across stages. We take the following two examples:(a)
Flight within a stageAssume that flight 2 aids flight 1 with the delivery of laden ULDs (OD 1⟶ 3) within stage 1. To accurately indicate that flight 2 is aiding flight 1 with laden ULDs, we design an OFAD arc (2) for flight 2 connecting the node in the laden ULD group on the SA side at flight 1’s 08:00 departure time from station 1 to the node in laden ULD group on the SA side at fight 2’s arrival time of 11:00 at station 3, as shown in Figure 7.(b)
Flight across stagesAssume that flight 4 aids flight 3 with the delivery of laden ULDs (OD 1⟶ 4) across stages 1 to 3. Similarly, we need to accurately indicate that flight 4 is aiding flight 3 with laden ULDs across stages 1 to 3. This is indicated by the inclusion of two OFAD arcs in the two networks for stages 1 and 3 for flight 4.(i)
In stage 1, OFAD arc (2) for flight 4 connects the node in the laden ULD group on the SA side at flight 3’s departure time of 10:30 at station 1 to the crossing node, as shown in Figure 7(ii)
In stage 3, OFAD arc (2) for flight 4 connects the crossing node to the node in the laden ULD group on the SA side at flight 4’s arrival time of 17:00 at station 4, as shown in Figure 8An arc flow constraint is set to ensure that the OFAD_ULD for flight 4 crosses stages 1 to 3 as follows:(2)arc2in stage1in Figure7−arc2in stage3in Figure8=0,for flights4.(3)
OAAD arc (green lines)An OAAD arc represents the OAAD_ULD redispatch method, which connects nodes on the OA sides indicating ULD deliveries by other airlines. The OAAD arc for a flight is set depending on whether the flight is within or across stages.(a)
Flight within a stageSuppose that flight A aids flight 1 to deliver laden ULDs (OD 1⟶ 3) within stage 1, as shown in Figure7. We design OAAD arc (3) for flight A connecting from the node in the laden ULD group on the OA side for flight 1 with an 08:00 departure time from station 1 to a node in the laden ULD group on the OA side for flight A with an arrival time of 10:30 at station 3.(b)
Flight across stagesSuppose that flight B aids flight 3 to deliver laden ULDs (OD 1⟶ 4) across stages 1 to 3. There are two OAAD arcs for flight B in the two networks for stages 1 and 3.(i)
In stage 1, OAAD arc (3) for flight B connects the node in the laden ULD group on the OA side for flight 3 with a 10:30 departure time from station 1 to the crossing node, as shown in Figure 7(ii)
In stage 3, OAAD arc (3) for flight B connects from the crossing node to the node in the laden ULD group on the OA side for flight B with a 16:00 arrival time at station 4, as shown in Figure 8Similarly, we set an arc flow constraint to ensure that the OAAD_ULD for flight B crosses stages 1 to 3 as follows:(3)arc3in stage1in Figure7−arc3in stage3in Figure8=0,for flightsB.(4)
D arc (red lines)A D arc represents the D_ULD redispatch method. We set D arcs for a flight in the two networks associated with the current stage and later stage within the acceptable delay time. For example, flight 1’s laden ULDs are delayed from stage 1 to stage 3, and flights 5 (studied airline’s flight) and C (other airlines’ flight) in stage 3 aid in the delayed delivery of laden ULDs for flight 1. The D arcs for flight 1 are set in the two networks for stages 1 and 3 as follows:(a)
In stage 1, we set D arc (4) connecting the node in the laden ULD group on the SA side for flight 1 with an 08:00 departure time from station 1 to the crossing node, as shown in Figure 7.(b)
In stage 3, we set two D arcs (4) connecting the crossing node to the nodes in the laden ULD group on the SA side for flight 5 with an arrival time of 16:00 and on the OA side for flight C with an arrival time of 16:30 at station 3, as shown in Figure 8. Thus, the two D arcs (4) represent flights 5 and C aid flight 1 to deliver the delayed laden ULDs in stage 3.A constraint is set to ensure that the D_ULD for flight 1 crosses stages 1 to 3, that is,(4)arc4in stage1in  Figure7−arc4for  flight5+arc4for  flight  C  in  stage3in  Figure8=0,for  flights1.(5)
Transfer arcA transfer arc represents the transfer operation between empty and laden ULDs, as shown by arc (5). The ULD transfer operations include the loading of an empty ULD to become a laden ULD or the unloading of a laden ULD to become an empty ULD ready to be reused.(6)
Holding arcA holding arc indicates the holding of ULDs at a station during the associated time period, as indicated by arc (6). This represents the holding of ULDs in preparation for loading (empty ULD group) or unloading (laden ULD group) at a station.(7)
Connection arc and cycle arcCollection arc (7) flows from the original node to the collection node. Cycle arc (8) is the reverse, connecting the collection node to the original node. Thus, the flow conservation constraint is built by no supply and demand nodes in the network by connection and cycle arcs.Figure 7
Self-owned ULD network for stage 1.Figure 8
Self-owned ULD network for stage 3.


## 2.5.2. Other Airline ULD Networks

The other airline ULD network represents the borrowing of ULDs from other airlines. The design of the other airline ULD network is similar to the self-owned ULD network but for borrowed ULDs. To save the space, we list the following differences between the other airline ULD and self-owned ULD networks:(1)
Redispatch methodsAs mentioned in Section2.4, an airline will not ask another to help deliver borrowed ULDs; thus, the OFAD_ULD, D_ULD, and B_ULD redispatch are considered in the other airline ULD network; the OAAD_ULD is excluded.(2)
OA side and OAAD arcOnly the SA side for each station is included in the other airline network. The OA side and OAAD arc are excluded. As shown in Figures7 and 8, the two OAAD arcs (3) for flights A and B and the OAAD arc (3) for flight B are not constructed in the other airline ULD networks.(3)
D arcOnly the D arc for the studied airline’s flight is set in the other airline ULD network associated with the later stage within the acceptable delay time. As shown in Figure8, only the D arc (4) for flight 5 is constructed in the other airline ULD network associated with stage 3; the D arc (4) for flight C is excluded.(4)
Cycle arcThe flow of the cycle arc indicates the total number of ULDs borrowed by the studied airline, including those borrowed in previous stages that cross to the current stage and those borrowed in the current stage. The number of ULDs borrowed in the current stage is calculated as follows: the flow of the cycle arc minus the sum of all arcs that flow from the crossing node (i.e., indicating ULDs borrowed in the previous stages). Taking stage 3 in Figure8, for example, the calculation is as follows:(5)number of borrowed ULDs in stage3=arc8−arcs1for flights3and4+arc2for flight4+arcs4for flight5.


## 2.6. ULD Redispatch Model and Solution Method

We first present the ULD redispatch model and then introduce the solution method for a stage, depending on whether there are no flights and ULD deliveries from crossing to it or not.


### 2.6.1. ULD Redispatch Model

The notations used in the model formulation are defined as follows:(1)
SetsT is the set of two kinds of ULD networks (t∈T, t = 1: self-owned ULD network, t = 2: other airline ULD network).K is the set of all types of ULDs ().W is the set of two groups comprising empty and laden ULDs (w∈W, w = 1: empty ULDs, w = 2: laden ULDs).Nt,k, At,k are the sets of nodes and arcs for type k ULDs in a t kind of network, respectively.D is the set of flights for the studied airline (d,e∈D).DD is the set of flights across stages for the studied airline. In the above example, DD  = {flights 3 and 4} as listed in Table 1.B is the set of flights for other airlines (b∈B).BB is the set of flights across stages for other airlines. In the above example, BB  = {flight B} is listed in Table 1.Ldt,k,w is the set of ULD delivery arcs (1) for flight d for group w for type k ULDs in a t kind of network. In the above example, arcs (1) for flights 1 to 4 in stage 1 is shown in Figure 7, and arc (1) for flight 5 for stage 3 is shown in Figure 8.Id,et,k,w is the set of OFAD arcs (2) where flight e helps flight d (d,e∈D, d≠e) for group w for type k ULDs in a t kind of network. In the above example, the arcs (2) for flights 2 and 4 in stage 1 is shown in Figure 7.Jd,bk,w is the set of OAAD arcs (3) where flight b helps flight d (b∈B and d∈D) for group w for type k ULDs in a self-owned ULD network. In the above example, arcs (3) for flights A and B in stage 1 is shown in Figure 7.Qdt,k,wis the set of D arcs (4) of flight d for ULDs for group for type k ULDs in a t kind of network. For example, arc (4) for flight 1 in stage 1 is shown in Figure 7.ALdt,k,w is the set of ULD delivery arcs (1) for flight d across stage (d∈DD) for group w for type k ULDs in a t kind of network. For example, the arcs (1) for flights 3 and 4 in stage 3 is shown in Figure 8.AId,et,k,w is the set of OFAD arcs (2) where flight e helps flight d across stage (d,e∈DD, d≠e) for group w for type k ULDs in a t network. For example, arc (2) for flight 4 in stage 3 is shown in Figure 8.AJd,bk,w is the set of OAAD arcs (3) where flight b helps flight d cross stages (b∈BB and d∈DD) for group w for type k ULD in a self-owned ULD network. For example, arc (3) for flight B in stage 3 is shown in Figure 8.EQd,et,k,w is the set of D arcs (4) where flight e helps flight d (d,e∈D, d≠e) for group w for type k ULDs in a t kind of network. For example, arc (4) for flight 5 in stage 3 is shown in Figure 8.BQd,bk,w is the set of D arcs (4) where flight b helps flight d (b∈B and d∈D) for group w for type k ULDs in a self-owned ULD network. For example, arc (4) for flight C in stage 3 is shown in Figure 8.Gk, Rk is the set of cycle arcs and arcs, respectively, flowing from the crossing node for type k ULDs in the other airline ULD network.(2)
ParametersC_RDdk,w is the cost of ULD delivery for flight d for group w for type k ULDs.C_OFADd,ek,w is the cost of OFAD_ULD where flight e helps flight d for group w for type k ULDs.C_OAADd,bk,w is the cost of OAAD_ULD where flight b helps flight d for group w for type k ULDs.C_Ddk,w is the cost of D_ULD for flight d for group w for type k ULDs.C_Bk is the cost of B_ULD for empty type k ULDs.udk,w is the ULD demands for flight d for group w for type k ULDs, which results from ULD demand situations in the scenario tree.ϕk,wis the weight for group w for type k ULDs (unit: ton)θe is the available payload (unit: tons) for flight e.πek is the available number of slots on flight e for type k ULDs.αd,b is the available payload (unit: tons) for flight b to help flight d to deliver ULDs.pd,bk is the available number of slots for other airline’s flight b to help flight d to deliver type k ULDs.In addition,αd,b and pd,bk indicate the available capacity under the control of other airlines for ULD delivery for each of the studied airline’s flight d in the OAAD_ULD, as introduced in Section 2.4.δk is the number of empty type k ULDs which can be piled in a stack. Currently, the studied airline uses three main types of ULDs, labelled AKE, PMC, and PAG. The AKE is a container type of ULD, and the PMC and PAG are pallet types. In practice, several empty PMC and PAG pallets can be stacked to occupy the same slot as a single laden pallet. The number of empty PMC and PAG pallets which can be stacked in an aircraft is 15, that is, δk  = 15.εk is the number of slots occupied by type k ULD in an aircraft.(3)
Variablesxijt,k is the arc (ij) flow (i.e., the number of ULDs) for type k ULDs in a t kind of network.yek is an artificial variable indicating the number of stacks of empty type k ULDs which can be delivered by flight e.y¯d,bk is an artificial variable indicating the number of stacks of empty type k ULDs that can be delivered by flight b to help flight d.As mentioned above, ifδk  = 15 for type k ULD, then the yek and y¯d,bk will be two for 16 empty pallets stacked.The ULD redispatch model is formulated as follows:(6)∑t∈T∑k∈K∑w∈W∑d∈D∑ij∈Ldt,k,wC_RDdk,wxijt,k+∑t∈T∑k∈K∑w∈W∑d,e∈D,d≠e∑ij∈Id,et,k,wC_OFADd,ek,wxijt,k+∑k∈K∑w∈W∑d∈D∑b∈B∑ij∈Jd,bk,wC_OAADd,bk,wxij1,k+∑t∈T∑k∈K∑w∈W∑d∈D∑ij∈Qdt,k,wC_Ddk,wxijt,k+∑k∈KC_Bk∑ij∈Gkxij2,k−∑ij∈Rkxij2,k,(7)∑ij∈Ldt,k,wxijt,k−∑ij∈ALdt,k,wxijt,k=0,∀t∈T,∀k∈K,∀w∈W,∀d∈DD;(8)∑ij∈Id,et,k,wxijt,k−∑ij∈AId,et,k,wxijt,k=0,∀t∈T,∀k∈K,∀w∈W,∀d,e∈DD,d≠e;(9)∑ij∈Jd,bk,wxij1,k−∑ij∈AJd,bk,wxij1,k=0,∀k∈K,∀w∈W,∀d∈DD,∀b∈BB;(10)∑ij∈Qdt,k,wxijt,k−∑e∈D,e≠d∑ij∈EQd,et,k,wxijt,k+∑b∈B∑ij∈BQd,bk,wxij1,k=0,∀t∈T,∀k∈K,∀w∈W,∀d∈D;(11)∑t∈T∑e∈D,e≠d∑ij∈Ldt,k,w∪Id,et,k,w∪Qdt,k,wxijt,k+∑b∈B∑ij∈Jd,bk,wxij1,k≥udk,w,∀k∈K,∀w∈W,∀d∈D;(12)∑t∈T∑k∈K∑w∈W∑d∈D,d≠e∑ij∈Let,k,w∪Id,et,k,w∪EQd,et,k,wϕk,wxijt,k≤θe,∀e∈D;(13)∑k∈K∑w∈W∑ij∈Jd,bk,w∪BQd,bk,wϕk,wxijt,k≤αd,b,t=1,∀d∈D,∀b∈B;(14)∑t∈T∑d∈D,d≠e∑ij∈Let,k,w∪Id,et,k,w∪EQd,et,k,wxijt,kδk−yek≤0,w=1,∀k∈K,∀e∈D;(15)yek−∑t∈T∑d∈D,d≠e∑ij∈Let,k,w∪Id,et,k,w∪EQd,et,k,wxijt,k+δk−1δk≤0,w=1,∀k∈K,∀e∈D;(16)∑ij∈Jd,bk,w∪BQd,bk,wxijt,kδk−y¯d,bk≤0,t=1,w=1,∀k∈K,∀d∈D,∀b∈B;(17)y¯d,bk−∑ij∈Jd,bk,w∪BQd,bk,wxijt,k+δk−1δk≤0,t=1,w=1,∀k∈K,∀d∈D,∀b∈B;(18)εkyek+∑t∈T∑d∈D,d≠e∑ij∈Let,k,w∪Id,et,k,w∪EQd,et,k,wxijt,k≤πek,w=2,∀k∈K,∀e∈D;(19)εky¯d,bk+∑ij∈Jd,bk,w∪BQd,bk,wxijt,k≤pd,bk,t=1,w=2,∀k∈K,∀d∈D,∀b∈B;(20)∑j∈Nt,kxijt,k−∑h∈Nt,kxhit,k=0,∀i∈Nt,k,∀t∈T,∀k∈K;(21)xijt.k≥0,xijt,k∈integer,∀ij∈At,k,∀t∈T,∀k∈K;(22)yek≥0,yek∈integer,∀k∈K,∀e∈D;(23)y¯d,bk≥0,y¯d,bk∈integer,∀k∈K,∀d∈D,∀b∈B.Objective function (6) aims at minimizing the total cost, including the cost for the delivery of ULDs and the costs for the four redispatch methods. Constraints (7) to (10) are constraints for flights across stages including ULD delivery, OFAD_ULD, OAAD_ULD, and D_ULD. Constraint (11) is the demand constraint that represents the demand for each type of ULD for each of the studied airline’s flights. Constraints (12) and (13) indicate the available payload per flight for the studied airline and the other airlines, respectively. Constraints (14) and (15) are used to calculate the number of stacks of empty ULDs delivered by each studied airline flight. Constraints (16) and (17) are used to calculate the number of stacks of empty ULDs delivered by each of the other airlines’ flights. Constraints (18) and (19) denote the available number of slots for each type of ULD for each flight of the studied airline and other airlines, respectively. Constraint (20) ensures flow conservation at every node in each network. Constraints (21) to (23) define the variables used in the model.


### 2.6.2. Solving ULD Redispatch Model for a Stage

The ULD redispatch model for a stage is solved in two parts. In the first part, we consider flights and ULD deliveries within a stage and across stages, resulting in the classification of two attributes for each stage depending upon whether it contains flights crossing from previous stages or not. In the second part, we solve all ULD redispatches associated with all ULD demand situations for a stage. One ULD redispatch is selected based on the probabilities for demand situations for a stage:(1)
Stage attributesLetS be the set of previous stages which have flights and ULD deliveries crossing to the current stage. In the example from Section 2.5, we obtain S=∅ for stage 1 which does not have flights and ULD deliveries from previous stages crossing to it. We obtain S=1 for stage 3 which does have flights and ULD deliveries crossing to it from the previous stage 1. Two submodels resulting from the ULD redispatch model are developed to solve the two-stage attributes.(i)
Stages withS=∅Solve for the stages withS=∅ by following submodel 1, by releasing constraints (7) to (10) for flights and ULD deliveries across stages in the ULD redispatch model.Submodel 1Objective function (6)Constraints (11) to (23)(ii)
Stages withS≠∅Flights across stages need to be considered when solving the stage withS≠∅. The variables ∑ij∈Ldt,k,wxijt,k, ∑ij∈Id,et,k,wxijt,k, ∑ij∈Jd,bk,wxij1,k, and ∑ij∈Qdt,k,wxijt,k in constraints (7) to (10) have already been solved in the previous stage (S). Therefore, submodel 2 is used to solve the next stage with constraints (24) to (27) being obtained by modifying constraints (7) to (10). As can be seen, ∑ij∈Ldt,k,wxijt,k, ∑ij∈Id,et,k,wxijt,k, ∑ij∈Jd,bk,wxij1,k, and ∑ij∈Qdt,k,wxijt,k which have been solved in the previous stages are used as inputs on the right hand side in constraints (24) to (27).Submodel 2Objective function (6)s.t.Constraints (11) to (23)(24)∑ij∈ALdt,k,wxijt,k=∑ij∈Ldt,k,wxijt,k,∀t∈T,∀k∈K,∀w∈W,∀d∈DD;(25)∑ij∈AId,et,k,wxijt,k=∑ij∈Id,et,k,wxijt,k,∀t∈T,∀k∈K,∀w∈W,∀d,e∈DD,d≠e;(26)∑ij∈AJd,bk,wxij1,k=∑ij∈Jd,bk,wxij1,k,∀k∈K,∀w∈W,∀d∈DD,∀b∈BB;(27)∑e∈D,e≠d∑ij∈EQd,et,k,wxijt,k+∑b∈B∑ij∈BQd,bk,wxij1,k=∑ij∈Qdt,k,wxijt,k,∀t∈T,∀k∈K,∀w∈W,∀d∈D.(2)
ULD demand situationsThere are 3M possible demand situations for a stage. We repeatedly solve each ULD redispatch model using each demand udk,w for each demand situation in the scenario tree. As a result, there are 3M ULD redispatch solutions associated with 3M demand situations for a stage. In practice, the carrier selects one ULD redispatch solution for each stage, depending on which type of ULD demand situation is happening when putting the framework to use in the real world. In this study, for simulation purposes, we randomly select one ULD redispatch solution for a stage, based on the probabilities for the demand situations. In the simulation process, the larger (or smaller) the probability, the higher (or lower) the chance of being selected.The pseudo-code for solving ULD redispatch model for a stage is shown in Figure9.Figure 9
The pseudo-code for solving the ULD redispatch model for a stage.


## 2.6.1. ULD Redispatch Model

The notations used in the model formulation are defined as follows:(1)
SetsT is the set of two kinds of ULD networks (t∈T, t = 1: self-owned ULD network, t = 2: other airline ULD network).K is the set of all types of ULDs ().W is the set of two groups comprising empty and laden ULDs (w∈W, w = 1: empty ULDs, w = 2: laden ULDs).Nt,k, At,k are the sets of nodes and arcs for type k ULDs in a t kind of network, respectively.D is the set of flights for the studied airline (d,e∈D).DD is the set of flights across stages for the studied airline. In the above example, DD  = {flights 3 and 4} as listed in Table 1.B is the set of flights for other airlines (b∈B).BB is the set of flights across stages for other airlines. In the above example, BB  = {flight B} is listed in Table 1.Ldt,k,w is the set of ULD delivery arcs (1) for flight d for group w for type k ULDs in a t kind of network. In the above example, arcs (1) for flights 1 to 4 in stage 1 is shown in Figure 7, and arc (1) for flight 5 for stage 3 is shown in Figure 8.Id,et,k,w is the set of OFAD arcs (2) where flight e helps flight d (d,e∈D, d≠e) for group w for type k ULDs in a t kind of network. In the above example, the arcs (2) for flights 2 and 4 in stage 1 is shown in Figure 7.Jd,bk,w is the set of OAAD arcs (3) where flight b helps flight d (b∈B and d∈D) for group w for type k ULDs in a self-owned ULD network. In the above example, arcs (3) for flights A and B in stage 1 is shown in Figure 7.Qdt,k,wis the set of D arcs (4) of flight d for ULDs for group for type k ULDs in a t kind of network. For example, arc (4) for flight 1 in stage 1 is shown in Figure 7.ALdt,k,w is the set of ULD delivery arcs (1) for flight d across stage (d∈DD) for group w for type k ULDs in a t kind of network. For example, the arcs (1) for flights 3 and 4 in stage 3 is shown in Figure 8.AId,et,k,w is the set of OFAD arcs (2) where flight e helps flight d across stage (d,e∈DD, d≠e) for group w for type k ULDs in a t network. For example, arc (2) for flight 4 in stage 3 is shown in Figure 8.AJd,bk,w is the set of OAAD arcs (3) where flight b helps flight d cross stages (b∈BB and d∈DD) for group w for type k ULD in a self-owned ULD network. For example, arc (3) for flight B in stage 3 is shown in Figure 8.EQd,et,k,w is the set of D arcs (4) where flight e helps flight d (d,e∈D, d≠e) for group w for type k ULDs in a t kind of network. For example, arc (4) for flight 5 in stage 3 is shown in Figure 8.BQd,bk,w is the set of D arcs (4) where flight b helps flight d (b∈B and d∈D) for group w for type k ULDs in a self-owned ULD network. For example, arc (4) for flight C in stage 3 is shown in Figure 8.Gk, Rk is the set of cycle arcs and arcs, respectively, flowing from the crossing node for type k ULDs in the other airline ULD network.(2)
ParametersC_RDdk,w is the cost of ULD delivery for flight d for group w for type k ULDs.C_OFADd,ek,w is the cost of OFAD_ULD where flight e helps flight d for group w for type k ULDs.C_OAADd,bk,w is the cost of OAAD_ULD where flight b helps flight d for group w for type k ULDs.C_Ddk,w is the cost of D_ULD for flight d for group w for type k ULDs.C_Bk is the cost of B_ULD for empty type k ULDs.udk,w is the ULD demands for flight d for group w for type k ULDs, which results from ULD demand situations in the scenario tree.ϕk,wis the weight for group w for type k ULDs (unit: ton)θe is the available payload (unit: tons) for flight e.πek is the available number of slots on flight e for type k ULDs.αd,b is the available payload (unit: tons) for flight b to help flight d to deliver ULDs.pd,bk is the available number of slots for other airline’s flight b to help flight d to deliver type k ULDs.In addition,αd,b and pd,bk indicate the available capacity under the control of other airlines for ULD delivery for each of the studied airline’s flight d in the OAAD_ULD, as introduced in Section 2.4.δk is the number of empty type k ULDs which can be piled in a stack. Currently, the studied airline uses three main types of ULDs, labelled AKE, PMC, and PAG. The AKE is a container type of ULD, and the PMC and PAG are pallet types. In practice, several empty PMC and PAG pallets can be stacked to occupy the same slot as a single laden pallet. The number of empty PMC and PAG pallets which can be stacked in an aircraft is 15, that is, δk  = 15.εk is the number of slots occupied by type k ULD in an aircraft.(3)
Variablesxijt,k is the arc (ij) flow (i.e., the number of ULDs) for type k ULDs in a t kind of network.yek is an artificial variable indicating the number of stacks of empty type k ULDs which can be delivered by flight e.y¯d,bk is an artificial variable indicating the number of stacks of empty type k ULDs that can be delivered by flight b to help flight d.As mentioned above, ifδk  = 15 for type k ULD, then the yek and y¯d,bk will be two for 16 empty pallets stacked.The ULD redispatch model is formulated as follows:(6)∑t∈T∑k∈K∑w∈W∑d∈D∑ij∈Ldt,k,wC_RDdk,wxijt,k+∑t∈T∑k∈K∑w∈W∑d,e∈D,d≠e∑ij∈Id,et,k,wC_OFADd,ek,wxijt,k+∑k∈K∑w∈W∑d∈D∑b∈B∑ij∈Jd,bk,wC_OAADd,bk,wxij1,k+∑t∈T∑k∈K∑w∈W∑d∈D∑ij∈Qdt,k,wC_Ddk,wxijt,k+∑k∈KC_Bk∑ij∈Gkxij2,k−∑ij∈Rkxij2,k,(7)∑ij∈Ldt,k,wxijt,k−∑ij∈ALdt,k,wxijt,k=0,∀t∈T,∀k∈K,∀w∈W,∀d∈DD;(8)∑ij∈Id,et,k,wxijt,k−∑ij∈AId,et,k,wxijt,k=0,∀t∈T,∀k∈K,∀w∈W,∀d,e∈DD,d≠e;(9)∑ij∈Jd,bk,wxij1,k−∑ij∈AJd,bk,wxij1,k=0,∀k∈K,∀w∈W,∀d∈DD,∀b∈BB;(10)∑ij∈Qdt,k,wxijt,k−∑e∈D,e≠d∑ij∈EQd,et,k,wxijt,k+∑b∈B∑ij∈BQd,bk,wxij1,k=0,∀t∈T,∀k∈K,∀w∈W,∀d∈D;(11)∑t∈T∑e∈D,e≠d∑ij∈Ldt,k,w∪Id,et,k,w∪Qdt,k,wxijt,k+∑b∈B∑ij∈Jd,bk,wxij1,k≥udk,w,∀k∈K,∀w∈W,∀d∈D;(12)∑t∈T∑k∈K∑w∈W∑d∈D,d≠e∑ij∈Let,k,w∪Id,et,k,w∪EQd,et,k,wϕk,wxijt,k≤θe,∀e∈D;(13)∑k∈K∑w∈W∑ij∈Jd,bk,w∪BQd,bk,wϕk,wxijt,k≤αd,b,t=1,∀d∈D,∀b∈B;(14)∑t∈T∑d∈D,d≠e∑ij∈Let,k,w∪Id,et,k,w∪EQd,et,k,wxijt,kδk−yek≤0,w=1,∀k∈K,∀e∈D;(15)yek−∑t∈T∑d∈D,d≠e∑ij∈Let,k,w∪Id,et,k,w∪EQd,et,k,wxijt,k+δk−1δk≤0,w=1,∀k∈K,∀e∈D;(16)∑ij∈Jd,bk,w∪BQd,bk,wxijt,kδk−y¯d,bk≤0,t=1,w=1,∀k∈K,∀d∈D,∀b∈B;(17)y¯d,bk−∑ij∈Jd,bk,w∪BQd,bk,wxijt,k+δk−1δk≤0,t=1,w=1,∀k∈K,∀d∈D,∀b∈B;(18)εkyek+∑t∈T∑d∈D,d≠e∑ij∈Let,k,w∪Id,et,k,w∪EQd,et,k,wxijt,k≤πek,w=2,∀k∈K,∀e∈D;(19)εky¯d,bk+∑ij∈Jd,bk,w∪BQd,bk,wxijt,k≤pd,bk,t=1,w=2,∀k∈K,∀d∈D,∀b∈B;(20)∑j∈Nt,kxijt,k−∑h∈Nt,kxhit,k=0,∀i∈Nt,k,∀t∈T,∀k∈K;(21)xijt.k≥0,xijt,k∈integer,∀ij∈At,k,∀t∈T,∀k∈K;(22)yek≥0,yek∈integer,∀k∈K,∀e∈D;(23)y¯d,bk≥0,y¯d,bk∈integer,∀k∈K,∀d∈D,∀b∈B.Objective function (6) aims at minimizing the total cost, including the cost for the delivery of ULDs and the costs for the four redispatch methods. Constraints (7) to (10) are constraints for flights across stages including ULD delivery, OFAD_ULD, OAAD_ULD, and D_ULD. Constraint (11) is the demand constraint that represents the demand for each type of ULD for each of the studied airline’s flights. Constraints (12) and (13) indicate the available payload per flight for the studied airline and the other airlines, respectively. Constraints (14) and (15) are used to calculate the number of stacks of empty ULDs delivered by each studied airline flight. Constraints (16) and (17) are used to calculate the number of stacks of empty ULDs delivered by each of the other airlines’ flights. Constraints (18) and (19) denote the available number of slots for each type of ULD for each flight of the studied airline and other airlines, respectively. Constraint (20) ensures flow conservation at every node in each network. Constraints (21) to (23) define the variables used in the model.


## 2.6.2. Solving ULD Redispatch Model for a Stage

The ULD redispatch model for a stage is solved in two parts. In the first part, we consider flights and ULD deliveries within a stage and across stages, resulting in the classification of two attributes for each stage depending upon whether it contains flights crossing from previous stages or not. In the second part, we solve all ULD redispatches associated with all ULD demand situations for a stage. One ULD redispatch is selected based on the probabilities for demand situations for a stage:(1)
Stage attributesLetS be the set of previous stages which have flights and ULD deliveries crossing to the current stage. In the example from Section 2.5, we obtain S=∅ for stage 1 which does not have flights and ULD deliveries from previous stages crossing to it. We obtain S=1 for stage 3 which does have flights and ULD deliveries crossing to it from the previous stage 1. Two submodels resulting from the ULD redispatch model are developed to solve the two-stage attributes.(i)
Stages withS=∅Solve for the stages withS=∅ by following submodel 1, by releasing constraints (7) to (10) for flights and ULD deliveries across stages in the ULD redispatch model.Submodel 1Objective function (6)Constraints (11) to (23)(ii)
Stages withS≠∅Flights across stages need to be considered when solving the stage withS≠∅. The variables ∑ij∈Ldt,k,wxijt,k, ∑ij∈Id,et,k,wxijt,k, ∑ij∈Jd,bk,wxij1,k, and ∑ij∈Qdt,k,wxijt,k in constraints (7) to (10) have already been solved in the previous stage (S). Therefore, submodel 2 is used to solve the next stage with constraints (24) to (27) being obtained by modifying constraints (7) to (10). As can be seen, ∑ij∈Ldt,k,wxijt,k, ∑ij∈Id,et,k,wxijt,k, ∑ij∈Jd,bk,wxij1,k, and ∑ij∈Qdt,k,wxijt,k which have been solved in the previous stages are used as inputs on the right hand side in constraints (24) to (27).Submodel 2Objective function (6)s.t.Constraints (11) to (23)(24)∑ij∈ALdt,k,wxijt,k=∑ij∈Ldt,k,wxijt,k,∀t∈T,∀k∈K,∀w∈W,∀d∈DD;(25)∑ij∈AId,et,k,wxijt,k=∑ij∈Id,et,k,wxijt,k,∀t∈T,∀k∈K,∀w∈W,∀d,e∈DD,d≠e;(26)∑ij∈AJd,bk,wxij1,k=∑ij∈Jd,bk,wxij1,k,∀k∈K,∀w∈W,∀d∈DD,∀b∈BB;(27)∑e∈D,e≠d∑ij∈EQd,et,k,wxijt,k+∑b∈B∑ij∈BQd,bk,wxij1,k=∑ij∈Qdt,k,wxijt,k,∀t∈T,∀k∈K,∀w∈W,∀d∈D.(2)
ULD demand situationsThere are 3M possible demand situations for a stage. We repeatedly solve each ULD redispatch model using each demand udk,w for each demand situation in the scenario tree. As a result, there are 3M ULD redispatch solutions associated with 3M demand situations for a stage. In practice, the carrier selects one ULD redispatch solution for each stage, depending on which type of ULD demand situation is happening when putting the framework to use in the real world. In this study, for simulation purposes, we randomly select one ULD redispatch solution for a stage, based on the probabilities for the demand situations. In the simulation process, the larger (or smaller) the probability, the higher (or lower) the chance of being selected.The pseudo-code for solving ULD redispatch model for a stage is shown in Figure9.Figure 9
The pseudo-code for solving the ULD redispatch model for a stage.


## 2.7. Entire Procedure and Connection between Elements

The entire procedure for the hybrid framework and the connection between elements is shown in Figure10. The same elements connected previous and next steps are shown by the same color in Figure 10. To save space, the elements in the framework are not introduced again; please refer the above sections for the details.Figure 10
Entire procedure for the hybrid framework for a day.


## 2.8. Application of the Hybrid Framework

The hybrid framework is especially suitable for solving the ULD redispatch problem in a dynamic, data-sharing operating environment, but there are several considerations which could affect its application. For example, the usage of machine to machine (M2M) will simplify the provision and direct exchange of data between the elements in the hybrid framework. Solutions could be reached with automatically exchanged data. Human in the loop (HITL) will also need to be taken into account in the hybrid framework to facilitate human interaction with the system. Users can make decisions based on their judgment and experience. Sometimes, the result obtained with an automated system, such as M2M, needs to be modified. In addition, the sharing of reliable ULD data may lead to changes in the management of various network chains for airlines, airports, and passengers. For example, the ULD redispatch connects and follows passengers because luggage is linked to passengers. Active data sharing among different stakeholders and systems, including air traffic control (ATC), airport operation plan (AOP), and airport ground handlers, would facilitate the hybrid framework to solve the ULD redispatch in real time, performing good airport collaborative decision-making (A-CDM). Altogether, the above considerations will make the hybrid framework more applicable thereby enhancing its performance in actual operations.


## 3. Numerical Tests

Numerical testing was performed on a computer with an Intel Core i7-8300 with 64 GB of RAM in the environment of Microsoft Windows 10. The C++ computer language and GUROBI 8.0.1 were used to perform the framework.


### 3.1. Data Analysis

For the analysis, we use data for 500 operational days starting from 2018/01/01 for a major airline in Taiwan. In the numerical tests, the four types of operational demand (busy, regular, nonspecific, and nonbusy) are simulated for each operational day, resulting in 2,000 cases for 10 major operational stations, including TPE, HKG, KIX, LAX, PVG, CAN, NRT, JFK, NKG, and BKK airports. Table2 shows the data for the three types of ULDs used by the studied airline. Here, AKE is the standard unit used to measure the equivalent number of slots occupied by other types of ULDs. Both PMC and PAG occupy three slots and can be piled up to a maximum of 15 tiers in a stack.Table 2
ULD data.
ContainerPalletULD typeAKEPMCPAGEquivalent number of slots occupied133Maximum number of empty ULDs piled upNo1515Net weight (tons)0.100.120.13No: no allowance for piling up.The costs obtained with the different redispatch methods for the studied airlines and the other airlines flights are different. The studied airline specifies this type of information as confidential business information so we are not permitted to show the exact costs. Therefore, we give the average cost for each redispatch method for each type of ULD. As can be seen in Table3, the costs for PMC and PAC are similar for all four redispatch methods. Specifically, D_ULD gives the largest cost of the four methods, for all three types of ULD with the largest costs being for the AKE, regardless of which redispatch method is used.Table 3
Average costs of redispatch methods (US$ per ULD).
AKEPMCPAGOFAD_ULD63.2726.3323.64OAAD_ULD94.9039.5035.01B_ULD75.9331.6030.16D_ULD316.37131.67130.88According to statistical data provided by the studied airline, the demand per flight for the large and small demand scenarios (Trees 1 and 3) is usually 6/5 and 4/5 times the demand of the planned demand scenario (Tree 2). In addition, the largest probability for a demand scenario is 4/5. The ULD demands and probabilities are set accordingly as shown in Table4. For example, the busy operational demand has the largest probability of 4/5 for the large demand scenario and a small probability of 1/10 for both planned and small demand scenarios for a flight. The nonbusy operational demand, which is opposite to the busy operational demand, has the largest probability of 4/5 for the small demand scenario for a flight.Table 4
ULD demands and probabilities of demand scenarios for a flight.
Demand scenarios (trees) for a flightULD demandsProbabilities (types of operational demands)BusyRegularNonspecificNonbusyLarge (tree 1)6/5 time of planned ULD demand4/51/101/31/10Planned (tree 2)Planned ULD demand1/104/51/31/10Small (tree 3)4/5 time of planned ULD demand1/101/101/34/5


### 3.2. Test Results

#### 3.2.1. Number of Uncertain Demand Flights in a Stage

Table5 shows the results for different numbers of uncertain demand flights and the associated solution times for a stage for 2,000 cases. We find that the cut-off point for keeping the solution times for all 2,000 cases within 16.05 minutes is seven uncertain demand flights; the solution time significantly increases after eight uncertain demand flights. The maximization solution times for eight and nine uncertain demand flights are 50.11 and 159.91 minutes, too high to be acceptable under solution time pressure in real-time operations. Therefore, we set a requirement that the number of uncertain demand flights needs to be smaller than or equal to seven for a stage.Table 5
Results for different numbers of uncertain demand flights in a stage.
Number of stochastic flights23456789Number of demand situations927812437292,1876,56119,683Solution time (minutes)Maximization0.050.160.501.515.3316.0550.11159.91Minimization0.030.100.310.963.039.2729.8792.92Figure 11
Objective values.Table 6
Numerical descriptive measures for objective values.
Types of operational demandBusyRegularNonspecificNonbusyAverage value (US$)51027.7245292.4144773.8236784.03Standard deviation (US$)666.21785.34896.28790.13CV (%)1.311.732.002.15Table 7
Results for solution times for a stage.
Types of operational demandBusyRegularNonspecificNonbusyAverage value (minutes)10.9312.7212.3010.21Maximization (minutes)16.0514.2514.4012.25Minimization (minutes)9.6511.539.279.73Standard deviation (minutes)1.530.380.940.34CV (%)0.140.030.080.03


#### 3.2.2. Results for 500 Operational Days

(1)
Objective value (i.e., cost)As can be seen in Figure11, the busy and nonbusy operational demands result in the largest and smallest objective values, respectively. The result reflects the realistic situation that there is greater (or less) ULD demand in busy (or nonbusy) operational demand, resulting in more (or less) ULD operating costs for the airline. In addition, there is no rapid drop or increase in the objective values over 500 operational days, regardless of the four types of operational demands. The numerical descriptive measures for the objective values are shown in Table 6. The standard deviations are small, between US$ 666.21 and US$ 896.28, given that the average values are between US$ 51027.72 and US$ 36784.03, resulting in a small coefficient of variation (CV), from 1.31% to 2.15%. This demonstrates that the proposed framework provides stability and small variability in the objective values over 500 operational days, regardless of the different types of operational demand.(2)
Solution time for a stageThe solution times for all stages for 500 operational days for each operational demand are shown in Table7. We find that the solution times for all stages are similar, with the average solution times being between 10.21 and 12.72 minutes. The minimum and maximum times are 9.27 and 16.05 minutes for all stages of 2,000 cases. The results indicate that the solution time is short enough to make the framework practical for application in real-time operations. In addition, the standard deviations and the CVs are very small, between 0.03% and 0.14%, showing the stability and small variability of the solution times.


#### 3.2.3. Comparison with Planned ULD Dispatch

The cost for planned ULD dispatch for each operational day is provided by the studied airline. However, the real cost after ULD redispatch (i.e., the real ULD operating cost) is regarded as confidential data related to the operating margin and cost control of the studied airline, so cannot be disclosed. Therefore, we compare our results with the planned ULD dispatch costs. The difference percentage (%) is calculated by(28)difference percentage%=objective value−cost of planned dispatchcost of planned dispatch×100%.As shown in function (28), a positive or negative difference in percentage represents an increase or decrease in the ULD operating costs after ULD redispatching using our framework. As shown in Figure 12, we find no specific trend in the difference percentages for regular and nonspecific operational demands. The difference percentages are close to zero for the two operational demands, indicating a slight increase or decrease in ULD operating cost compared with the cost of planned ULD dispatches. In general, the two operational demands have negative average difference percentages of -2.38% and -3.50%, showing a saving in the ULD operating costs.Figure 12
Difference percentages.Different from regular and nonspecific operational demands, there is a specific trend in the difference percentages for busy and nonbusy operational demands. All difference percentages for all 500 operational days are positive (or negative) for busy (or nonbusy) operational demands, with averages of 9.97% (or -20.72%). This result is consistent with the results in Section3.2.2 showing that an increase (or decrease) in ULD operating costs will result from busy (or nonbusy) operational demand. Note that, the cost increment of 9.97% for the busy operational demand is significantly small compared with the cost savings of 20.72% for the nonbusy operational demand. From this, it can be seen that the framework not only can save ULD operating costs in most types of operational demand but also can reduce the cost increment even when an increase in the cost is a necessary and natural result of busy operational demand.


#### 3.2.4. Results for the Four Redispatch Methods

Table8 shows the total number of ULDs used for the four redispatch methods. The results are organized into two parts according to the functions of the four redispatch methods; that is, one is for the OFAD_ULD, OAAD_ULD, and D_ULD, and the other is for the B_ULD:(1)
OFAD_ULD, OAAD_ULD, and D_ULDThe OFAD_ULD, OAAD_ULD, and D_ULD are used to solve the problem of ULD delivery when there is insufficient capacity on flights in real-time operations. As shown in Table8, OFAD_ULD and D_ULD are used most often and least often, respectively. The result indicates that the airline will first seek to use its other flights to help deliver ULDs, showing that the OFAD_ULD is the most important and commonly used redispatch method and is essential for optimal ULD delivery in real-time operations. A delay in delivery with D_ULD is the worst-case scenario.(2)
B_ULDThe B_ULD is used to solve the problem of insufficient ULDs at an airport. We find that the B_ULD is only employed in the busy operational demand, borrowing only 30 ULDs over 500 operational days. This shows that the ULD is an essential piece of equipment for airline operations. An airline usually holds onto a certain number of ULDs at an airport as a buffer to avoid shortages and ensure regular operations. Therefore, the B_ULD is used in the busy operational demand.Table 8
Number of ULDs used for four redispatch methods for 500 operational days.
Redispatch methodsTypes of operational demandBusyRegularNonspecificNonbusyOFAD_ULD423,050402,200398,950362,820OAAD_ULD6,5954,6855,0203,975B_ULD30000D_ULD1,020500540315


## 3.1. Data Analysis

For the analysis, we use data for 500 operational days starting from 2018/01/01 for a major airline in Taiwan. In the numerical tests, the four types of operational demand (busy, regular, nonspecific, and nonbusy) are simulated for each operational day, resulting in 2,000 cases for 10 major operational stations, including TPE, HKG, KIX, LAX, PVG, CAN, NRT, JFK, NKG, and BKK airports. Table2 shows the data for the three types of ULDs used by the studied airline. Here, AKE is the standard unit used to measure the equivalent number of slots occupied by other types of ULDs. Both PMC and PAG occupy three slots and can be piled up to a maximum of 15 tiers in a stack.Table 2
ULD data.
ContainerPalletULD typeAKEPMCPAGEquivalent number of slots occupied133Maximum number of empty ULDs piled upNo1515Net weight (tons)0.100.120.13No: no allowance for piling up.The costs obtained with the different redispatch methods for the studied airlines and the other airlines flights are different. The studied airline specifies this type of information as confidential business information so we are not permitted to show the exact costs. Therefore, we give the average cost for each redispatch method for each type of ULD. As can be seen in Table3, the costs for PMC and PAC are similar for all four redispatch methods. Specifically, D_ULD gives the largest cost of the four methods, for all three types of ULD with the largest costs being for the AKE, regardless of which redispatch method is used.Table 3
Average costs of redispatch methods (US$ per ULD).
AKEPMCPAGOFAD_ULD63.2726.3323.64OAAD_ULD94.9039.5035.01B_ULD75.9331.6030.16D_ULD316.37131.67130.88According to statistical data provided by the studied airline, the demand per flight for the large and small demand scenarios (Trees 1 and 3) is usually 6/5 and 4/5 times the demand of the planned demand scenario (Tree 2). In addition, the largest probability for a demand scenario is 4/5. The ULD demands and probabilities are set accordingly as shown in Table4. For example, the busy operational demand has the largest probability of 4/5 for the large demand scenario and a small probability of 1/10 for both planned and small demand scenarios for a flight. The nonbusy operational demand, which is opposite to the busy operational demand, has the largest probability of 4/5 for the small demand scenario for a flight.Table 4
ULD demands and probabilities of demand scenarios for a flight.
Demand scenarios (trees) for a flightULD demandsProbabilities (types of operational demands)BusyRegularNonspecificNonbusyLarge (tree 1)6/5 time of planned ULD demand4/51/101/31/10Planned (tree 2)Planned ULD demand1/104/51/31/10Small (tree 3)4/5 time of planned ULD demand1/101/101/34/5


## 3.2. Test Results

### 3.2.1. Number of Uncertain Demand Flights in a Stage

Table5 shows the results for different numbers of uncertain demand flights and the associated solution times for a stage for 2,000 cases. We find that the cut-off point for keeping the solution times for all 2,000 cases within 16.05 minutes is seven uncertain demand flights; the solution time significantly increases after eight uncertain demand flights. The maximization solution times for eight and nine uncertain demand flights are 50.11 and 159.91 minutes, too high to be acceptable under solution time pressure in real-time operations. Therefore, we set a requirement that the number of uncertain demand flights needs to be smaller than or equal to seven for a stage.Table 5
Results for different numbers of uncertain demand flights in a stage.
Number of stochastic flights23456789Number of demand situations927812437292,1876,56119,683Solution time (minutes)Maximization0.050.160.501.515.3316.0550.11159.91Minimization0.030.100.310.963.039.2729.8792.92Figure 11
Objective values.Table 6
Numerical descriptive measures for objective values.
Types of operational demandBusyRegularNonspecificNonbusyAverage value (US$)51027.7245292.4144773.8236784.03Standard deviation (US$)666.21785.34896.28790.13CV (%)1.311.732.002.15Table 7
Results for solution times for a stage.
Types of operational demandBusyRegularNonspecificNonbusyAverage value (minutes)10.9312.7212.3010.21Maximization (minutes)16.0514.2514.4012.25Minimization (minutes)9.6511.539.279.73Standard deviation (minutes)1.530.380.940.34CV (%)0.140.030.080.03


### 3.2.2. Results for 500 Operational Days

(1)
Objective value (i.e., cost)As can be seen in Figure11, the busy and nonbusy operational demands result in the largest and smallest objective values, respectively. The result reflects the realistic situation that there is greater (or less) ULD demand in busy (or nonbusy) operational demand, resulting in more (or less) ULD operating costs for the airline. In addition, there is no rapid drop or increase in the objective values over 500 operational days, regardless of the four types of operational demands. The numerical descriptive measures for the objective values are shown in Table 6. The standard deviations are small, between US$ 666.21 and US$ 896.28, given that the average values are between US$ 51027.72 and US$ 36784.03, resulting in a small coefficient of variation (CV), from 1.31% to 2.15%. This demonstrates that the proposed framework provides stability and small variability in the objective values over 500 operational days, regardless of the different types of operational demand.(2)
Solution time for a stageThe solution times for all stages for 500 operational days for each operational demand are shown in Table7. We find that the solution times for all stages are similar, with the average solution times being between 10.21 and 12.72 minutes. The minimum and maximum times are 9.27 and 16.05 minutes for all stages of 2,000 cases. The results indicate that the solution time is short enough to make the framework practical for application in real-time operations. In addition, the standard deviations and the CVs are very small, between 0.03% and 0.14%, showing the stability and small variability of the solution times.


### 3.2.3. Comparison with Planned ULD Dispatch

The cost for planned ULD dispatch for each operational day is provided by the studied airline. However, the real cost after ULD redispatch (i.e., the real ULD operating cost) is regarded as confidential data related to the operating margin and cost control of the studied airline, so cannot be disclosed. Therefore, we compare our results with the planned ULD dispatch costs. The difference percentage (%) is calculated by(28)difference percentage%=objective value−cost of planned dispatchcost of planned dispatch×100%.As shown in function (28), a positive or negative difference in percentage represents an increase or decrease in the ULD operating costs after ULD redispatching using our framework. As shown in Figure 12, we find no specific trend in the difference percentages for regular and nonspecific operational demands. The difference percentages are close to zero for the two operational demands, indicating a slight increase or decrease in ULD operating cost compared with the cost of planned ULD dispatches. In general, the two operational demands have negative average difference percentages of -2.38% and -3.50%, showing a saving in the ULD operating costs.Figure 12
Difference percentages.Different from regular and nonspecific operational demands, there is a specific trend in the difference percentages for busy and nonbusy operational demands. All difference percentages for all 500 operational days are positive (or negative) for busy (or nonbusy) operational demands, with averages of 9.97% (or -20.72%). This result is consistent with the results in Section3.2.2 showing that an increase (or decrease) in ULD operating costs will result from busy (or nonbusy) operational demand. Note that, the cost increment of 9.97% for the busy operational demand is significantly small compared with the cost savings of 20.72% for the nonbusy operational demand. From this, it can be seen that the framework not only can save ULD operating costs in most types of operational demand but also can reduce the cost increment even when an increase in the cost is a necessary and natural result of busy operational demand.


### 3.2.4. Results for the Four Redispatch Methods

Table8 shows the total number of ULDs used for the four redispatch methods. The results are organized into two parts according to the functions of the four redispatch methods; that is, one is for the OFAD_ULD, OAAD_ULD, and D_ULD, and the other is for the B_ULD:(1)
OFAD_ULD, OAAD_ULD, and D_ULDThe OFAD_ULD, OAAD_ULD, and D_ULD are used to solve the problem of ULD delivery when there is insufficient capacity on flights in real-time operations. As shown in Table8, OFAD_ULD and D_ULD are used most often and least often, respectively. The result indicates that the airline will first seek to use its other flights to help deliver ULDs, showing that the OFAD_ULD is the most important and commonly used redispatch method and is essential for optimal ULD delivery in real-time operations. A delay in delivery with D_ULD is the worst-case scenario.(2)
B_ULDThe B_ULD is used to solve the problem of insufficient ULDs at an airport. We find that the B_ULD is only employed in the busy operational demand, borrowing only 30 ULDs over 500 operational days. This shows that the ULD is an essential piece of equipment for airline operations. An airline usually holds onto a certain number of ULDs at an airport as a buffer to avoid shortages and ensure regular operations. Therefore, the B_ULD is used in the busy operational demand.Table 8
Number of ULDs used for four redispatch methods for 500 operational days.
Redispatch methodsTypes of operational demandBusyRegularNonspecificNonbusyOFAD_ULD423,050402,200398,950362,820OAAD_ULD6,5954,6855,0203,975B_ULD30000D_ULD1,020500540315


## 3.2.1. Number of Uncertain Demand Flights in a Stage

Table5 shows the results for different numbers of uncertain demand flights and the associated solution times for a stage for 2,000 cases. We find that the cut-off point for keeping the solution times for all 2,000 cases within 16.05 minutes is seven uncertain demand flights; the solution time significantly increases after eight uncertain demand flights. The maximization solution times for eight and nine uncertain demand flights are 50.11 and 159.91 minutes, too high to be acceptable under solution time pressure in real-time operations. Therefore, we set a requirement that the number of uncertain demand flights needs to be smaller than or equal to seven for a stage.Table 5
Results for different numbers of uncertain demand flights in a stage.
Number of stochastic flights23456789Number of demand situations927812437292,1876,56119,683Solution time (minutes)Maximization0.050.160.501.515.3316.0550.11159.91Minimization0.030.100.310.963.039.2729.8792.92Figure 11
Objective values.Table 6
Numerical descriptive measures for objective values.
Types of operational demandBusyRegularNonspecificNonbusyAverage value (US$)51027.7245292.4144773.8236784.03Standard deviation (US$)666.21785.34896.28790.13CV (%)1.311.732.002.15Table 7
Results for solution times for a stage.
Types of operational demandBusyRegularNonspecificNonbusyAverage value (minutes)10.9312.7212.3010.21Maximization (minutes)16.0514.2514.4012.25Minimization (minutes)9.6511.539.279.73Standard deviation (minutes)1.530.380.940.34CV (%)0.140.030.080.03


## 3.2.2. Results for 500 Operational Days

(1)
Objective value (i.e., cost)As can be seen in Figure11, the busy and nonbusy operational demands result in the largest and smallest objective values, respectively. The result reflects the realistic situation that there is greater (or less) ULD demand in busy (or nonbusy) operational demand, resulting in more (or less) ULD operating costs for the airline. In addition, there is no rapid drop or increase in the objective values over 500 operational days, regardless of the four types of operational demands. The numerical descriptive measures for the objective values are shown in Table 6. The standard deviations are small, between US$ 666.21 and US$ 896.28, given that the average values are between US$ 51027.72 and US$ 36784.03, resulting in a small coefficient of variation (CV), from 1.31% to 2.15%. This demonstrates that the proposed framework provides stability and small variability in the objective values over 500 operational days, regardless of the different types of operational demand.(2)
Solution time for a stageThe solution times for all stages for 500 operational days for each operational demand are shown in Table7. We find that the solution times for all stages are similar, with the average solution times being between 10.21 and 12.72 minutes. The minimum and maximum times are 9.27 and 16.05 minutes for all stages of 2,000 cases. The results indicate that the solution time is short enough to make the framework practical for application in real-time operations. In addition, the standard deviations and the CVs are very small, between 0.03% and 0.14%, showing the stability and small variability of the solution times.


## 3.2.3. Comparison with Planned ULD Dispatch

The cost for planned ULD dispatch for each operational day is provided by the studied airline. However, the real cost after ULD redispatch (i.e., the real ULD operating cost) is regarded as confidential data related to the operating margin and cost control of the studied airline, so cannot be disclosed. Therefore, we compare our results with the planned ULD dispatch costs. The difference percentage (%) is calculated by(28)difference percentage%=objective value−cost of planned dispatchcost of planned dispatch×100%.As shown in function (28), a positive or negative difference in percentage represents an increase or decrease in the ULD operating costs after ULD redispatching using our framework. As shown in Figure 12, we find no specific trend in the difference percentages for regular and nonspecific operational demands. The difference percentages are close to zero for the two operational demands, indicating a slight increase or decrease in ULD operating cost compared with the cost of planned ULD dispatches. In general, the two operational demands have negative average difference percentages of -2.38% and -3.50%, showing a saving in the ULD operating costs.Figure 12
Difference percentages.Different from regular and nonspecific operational demands, there is a specific trend in the difference percentages for busy and nonbusy operational demands. All difference percentages for all 500 operational days are positive (or negative) for busy (or nonbusy) operational demands, with averages of 9.97% (or -20.72%). This result is consistent with the results in Section3.2.2 showing that an increase (or decrease) in ULD operating costs will result from busy (or nonbusy) operational demand. Note that, the cost increment of 9.97% for the busy operational demand is significantly small compared with the cost savings of 20.72% for the nonbusy operational demand. From this, it can be seen that the framework not only can save ULD operating costs in most types of operational demand but also can reduce the cost increment even when an increase in the cost is a necessary and natural result of busy operational demand.


## 3.2.4. Results for the Four Redispatch Methods

Table8 shows the total number of ULDs used for the four redispatch methods. The results are organized into two parts according to the functions of the four redispatch methods; that is, one is for the OFAD_ULD, OAAD_ULD, and D_ULD, and the other is for the B_ULD:(1)
OFAD_ULD, OAAD_ULD, and D_ULDThe OFAD_ULD, OAAD_ULD, and D_ULD are used to solve the problem of ULD delivery when there is insufficient capacity on flights in real-time operations. As shown in Table8, OFAD_ULD and D_ULD are used most often and least often, respectively. The result indicates that the airline will first seek to use its other flights to help deliver ULDs, showing that the OFAD_ULD is the most important and commonly used redispatch method and is essential for optimal ULD delivery in real-time operations. A delay in delivery with D_ULD is the worst-case scenario.(2)
B_ULDThe B_ULD is used to solve the problem of insufficient ULDs at an airport. We find that the B_ULD is only employed in the busy operational demand, borrowing only 30 ULDs over 500 operational days. This shows that the ULD is an essential piece of equipment for airline operations. An airline usually holds onto a certain number of ULDs at an airport as a buffer to avoid shortages and ensure regular operations. Therefore, the B_ULD is used in the busy operational demand.Table 8
Number of ULDs used for four redispatch methods for 500 operational days.
Redispatch methodsTypes of operational demandBusyRegularNonspecificNonbusyOFAD_ULD423,050402,200398,950362,820OAAD_ULD6,5954,6855,0203,975B_ULD30000D_ULD1,020500540315


## 4. Conclusions

We consider the problem of ULD redispatch under ULD demand variations in actual operations. The hybrid framework developed to handle ULD redispatch follows a time sequence, as is needed in practice. The hybrid framework can handle operating issues including the time-sequence stages, certain and uncertain flight demands, flights within or across stages, solution time pressure, redispatch methods, and different types of operational demands. In the numerical tests, 2,000 cases are simulated over 500 operational days with four types of operational demand. The important findings and implications for airline operations are summarized as follows:(1)
The proposed framework can provide stability and small variability of both objective values and solution times over 500 operational days given four types of operational demand. In addition, the solution time is between 9.27 and 16.05 minutes for a stage, which is short enough to meet the time pressure in ULD redispatch decisions.(2)
An increase in the ULD operating cost is a necessary and natural result of busy operational demand, but the cost increment is small (9.97%) compared to the 20.72% saved for the nonbusy operational demand which is the opposite of busy operational demand.(3)
The airline should keep in mind that there is no specific trend shown in the ULD operating costs for regular and nonspecific operational demands. However, with this method, the airline could obtain average savings of 2.38% and 3.50% in ULD operating costs for these two types of operational demand.(4)
The airline should make good use of the OFAD_ULD strategy which is the most important and commonly used redispatch method. It is essential for ULD redispatch planning.(5)
The airline should not be concerned that the B_ULD strategy is only applied for busy operational demand; it is not needed for regular, nonspecific, or nonbusy operational demands.Finally, the focus here is on the ULD redispatch problem with consideration of variations in ULD demand. However, there are other factors that could disrupt ULD dispatch planning problems such as flight delays or aircraft malfunctions. The ULD redispatch solution method needs to be able to cope with multiple disturbance factors. The associated scenario tree, stage-type network, and ULD redispatch model need to be designed to consider multiple disturbance factors. Naturally, considerable effort is still needed to extend our framework to the above issues, but this could be a direction for future research.



---

*Source: 9009364-2022-08-08.xml*