Return to Index
Operations Research Models and Methods
Computation Section
Subunit Stochastic Programming
 - Aircraft Allocation to Routes

An illustration for simple recourse comes from a 1956 article by Allen R. Ferguson and George B. Dantzig, The Allocation of Aircraft to Routes - An Example of Linear Programming under Uncertain Demand, Management Science, Vol. 2, pp 45-73 (1956). The numbers in this example come from the original article and the description was adapted from the Roger Wetts book.


Deterministic Equivalent


An airline has four aircraft types (A, B, C, D) that fly five routes (R1, ..., R5). Data regarding the aircraft and passengers are given below. The figure comes from an Excel worksheet used to solve the problem. The data reflects 1956 prices and is scaled. The data here is linked to data items on the math programming model, so a different instance can easily be constructed and solved. Revenue gives the revenue per passenger on each route. Capacity is the number of passengers per aircraft for each aircraft-route pair. Operating Cost is the cost of operating a single aircraft on a route. The Net Operating Cost is the cost of operating the aircraft less the revenue for a full aircraft. We express this as a negative number because we will be minimizing the objective. Availability gives the maximum number of each aircraft type to be scheduled. Some aircraft cannot be used on some routes as indicated in the tables as zero capacity and high operating cost.

Our goal is to find the number of aircraft to send on each route to minimize the total net operating cost. If the number of passengers willing to travel on each route were known we could write this problem as a linear program. We write the demand constraints as "<=" because it may not be optimal to satisfy all the demand. The negative values of the objective coefficients encourage the demand to be met, but the aircraft availabilities and capacities may make that impossible.

This model has the form of a generalized transportation problem because the variables are multiplied by non-unit coefficients in the demand constraints. The transportation model feature of the Math Programming add-in allows this variation by including flow multipliers. The figure below shows the model with the data of this instance. The aircraft capacities are reflected in the Flow Multiplier matrix. The demands used in the figure are the expected passenger demands computed from the probability distributions given later.

The figure shows the optimum solution with the expected demands. The solution does not meet all the demand for route 5. Indeed there is no feasible solution that meets all the expected demand.

  The solution above allows fractional numbers of aircraft, but of course this is not practical. When we require that all variables be integer, the solution meets more demand but has less profit.


Recourse Model


The deterministic solutions do not recognize the uncertainty in demand. The demand for the routes are independent random variables with the values and probabilities shown in the table below. The table was constructed with the Add Random Variable command from the Random Variables add-in. The case shown is an indexed distribution. There is a column for each route with Dem_k indicating the demand for route k. The probabilities are given at the top of the form and the values of the discrete random variables on the lower part of the form. For example, route 1 has demand of 200 with probability 0.2.

When considering randomness, the aircraft allocation problem is a simple recourse model. We must choose the allocation of aircraft to routes before the demand is known. After the demand is realized we find there is either a shortage of demand (assigned capacity exceeds demand) or an overage of demand (demand exceeds assigned capacity). In case of overage, the aircraft flies fully loaded and there is no penalty since the original objective coefficients were computed assuming full use of capacity. When there is a shortage, the aircraft flies with empty seats. The unit penalty assigned is the revenue not received. The simple recourse model is below. The z variables compute the total capacities allocated to the routes. We use general notation to allow any number of points in the distribution, but for the example, there are five possible demands for each route.

For convenience we have computed the cumulative distribution and the step intervals below. We have also created the transpose of the two matrices because the data is used in the model in the transpose form.

To solve this problem, we create a master problem and subproblems. The master problem has the same format as considered earlier except we do not restrict the maximum passenger flow (row 16). The solution shown is optimum for the master problem when the side problem constraints and variables are included. The "Yes" in K5 indicates that the side problem is to be included in the optimization.


The submodels of the side problem are presented in two parts below. For a side problem linked to a transportation form, the references to the linking variables require two indices. These references are on rows 42 and 43 in columns T through X. Since the transportation variables are arranged in an array, each linking variable is referred to by row and column indices, rather than by a single index as with an LP or network model. The linking variables in this case are the total seats allocated to each route. These numbers are in row 18 of the master problem. For purposes of the indices the transportation flow matrix is extended to include the flow received row (row 18 above) and the flow shipped column (column L). The index for the flow received row is 8. The relevant cells represent the seats allocated are (8,1), (8,2),...,(8,5).

The variables in columns Z through AE are the parts of the piecewise linear representation of the expected recourse cost. The parameters for these variables are in the second part of the side model display. The upper bounds are the demand steps and the objective coefficients are the cumulative probabilities. The shortage costs for the routes are the weights in column R.


The recourse model can be solved for integer flows by simply requesting that the variables be integer through the Change button at the top of the master problem. Results are compiled below for the solutions without and with integer restrictions. The expected value solutions, on the left, restrict the demand met by the allocation to the expected value of demand. The recourse solutions, on the right, recognize the uncertainty of demand through the recourse costs and optimize the net profit with an allowance for demand shortages. Quite different solutions are obtained. Since we are minimizing, the expected value solutions have better (more negative) net costs. This is because they assume all seats allocated are used. In fact, seats may be empty so not all revenue will be realized.


Models representing uncertainty are not too large with simple recourse. The example above could have been easily adjusted for more complex probability distributions. The methods of the Approximation page could have been used for demands with continuous distributions.

This problem is most readily modeled using the transportation format of the Math Programming add-in. The side model feature is adaptable to this structure. With a side model, the problem is actually solved as an LP by the Excel Solver. The free version of the Solver can handle only 200 variables, so the number of master and subproblem variables cannot exceed that amount. The side model grows only linearly with the number of random demands, so quite large models can be constructed on an Excel worksheet. The ability to solve these models depends on the capacity of the Solver.

The Jensen Network Solver does not have the ability to solve models with side problems.

Return to Top

tree roots

Operations Research Models and Methods
by Paul A. Jensen
Copyright 2004 - All rights reserved