revenue is also lost if the company rejects too many lower-value bookings and ... Based on these approximate models, several inventory control (or booking).
A Lagrangian Relaxation Approach for Network Inventory Control of Stochastic Revenue Management with Perishable Commodities Houyuan Jiang
Judge Business School, University of Cambridge, Trumpington Street, Cambridge, CB2 1AG, UK.
Abstract Airline seat inventory control is the allocation of seats in the same cabin to different fare classes such that the total revenue is maximized. Seat allocation can be modelled as dynamic stochastic programs, which are computationally intractable in network settings. Deterministic and probabilistic mathematical programming models are therefore used to approximate dynamic stochastic programs. The probabilistic model, which is the focus of this paper, has a nonlinear objective function, which makes the solution of large scale practical instances with off-the-shelf solvers prohibitively time-consuming. In this paper, we propose a Lagrangian relaxation method for solving the probabilistic model by exploring the fact that Lagrangian relaxation problems are decomposable. We show that the solutions of the Lagrangian relaxation problems admit a simple analytical expression which can be resolved directly. Both the booking limit policy and the bid-price policy can be implemented using this method. Numerical simulations demonstrate the effectiveness of the proposed method.
Keywords: Allocation, transport, revenue management, seat inventory control, mathematical programming, Lagrangian relaxation.
1
Seat inventory control is an important research problem in revenue management (Belobaba 1989, Bertsimas & Popescu 2003, Brumelle & McGill 1993, Chen & de Mello 2004, Talluri & van Ryzin 2004, Williamson 1992). Its purpose is to decide whether to accept or reject a booking request during the booking horizon. On the one hand, it is costly for the company to accept too many lower-value bookings if no seats are available to higher-value customers who make bookings closer to the time when products perish. On the other hand, revenue is also lost if the company rejects too many lower-value bookings and leaves products unsold when they perish. Dynamic (and stochastic) programming (DP) models can be used for optimal seat inventory control (Talluri & van Ryzin 2004). Unfortunately, these DP models are computationally intractable even for small sized networks. In the academic literature and in practice, dynamic programming models are therefore approximated by various mathematical programming models. Two well-known approximations are the deterministic linear program (DLP) and the probabilistic nonlinear program (PNLP) (Glover et al. 1982, Talluri & van Ryzin 2004, Williamson 1992). Based on these approximate models, several inventory control (or booking) policies such as booking limits, bid-price controls and virtual nesting control can be implemented (Talluri & van Ryzin 1999a, 2004, Williamson 1992). Several numerical studies have been carried out to determine the effectiveness and efficiency of the DLP and the PNLP in conjunction with different booking policies (Chen & de Mello 2004, de Boer et al. 2002, Higle & Sen 2004, Talluri & van Ryzin 1999a,b, Williamson 1992). There is no doubt that the DLP is much easier to solve than the PNLP. An interesting observation is that the nested booking limit policy based on the DLP frequently produces higher revenues than the same policy based on the PNLP (de Boer et al. 2002, Williamson 1992). This seems to contradict the intuition that on average, results from the DLP should be no better than those from the PNLP since the former is a simplified version of the latter. This phenomenon is explained in de Boer et al. (2002) as a result of the nested booking process, which is not taken into account
2
in either the DLP or the PNLP. Indeed this interpretation is reinforced by the numerical results presented in Ciancimino et al. (1999), where the PNLP does perform better than the DLP when the booking process is not nested. This shows that it is advantageous to use the PNLP rather than the DLP in some applications such as railway revenue management. As has been mentioned, it is generally more difficult to solve the PNLP than the DLP because the former involves a nonlinear objective function. Sometimes it may not be computationally acceptable in terms of CPU time to solve large-scale PNLP examples in practice. To remedy this problem, Talluri & van Ryzin (1999b) propose a randomized linear programming approach which approximates Lagrangian multipliers of the PNLP by taking the average of the Lagrangian multipliers obtained from solving a number of sampling DLPs of the PNLP. Ciancimino et al. (1999) describe a nonlinear algorithm for the solution of the PNLP which is computationally more efficient than generic nonlinear programming algorithms. The numerical results in Ciancimino et al. (1999) show that higher revenues can be generated from the PNLP than the DLP when a non-nested booking limit policy is used. It is thus desirable to develop further some efficient algorithms for solving the PNLP by exploring its special structure. Lagrangian relaxation (LR) tends to be most useful when a problem can be characterized as “easy, except for a few complicating constraints” (Lemarechal 2001, Magee & Glover 1996). The optimal solution of the original optimization problem is recovered under certain conditions by solving the so-called Lagrangian dual (LD). Typically the LD is piecewise smooth and can be solved using subgradient algorithms or other nonsmooth optimization methods. In this paper, we shall propose a Lagrangian relaxation method as an alternative for solving the PNLP. Our method will provide both partitioned booking limits and Lagrangian multipliers for the PNLP which allow us to implement both the booking limit policy and the bid-price policy for accepting or rejecting booking requests, whereas the method proposed in Talluri & van Ryzin (1999b) can only approximate Lagrangian
3
multipliers. Compared with Ciancimino et al. (1999), our method is particularly suitable for seat inventory control with large-sized networks because the resulting Lagrangian relaxation problem can be decomposed into many one-dimensional optimization problems with simple bounds. It turns out that the solutions of the Lagrangian relaxation problems admit a simple analytic expression which can be resolved directly. This simple but powerful result is the main contribution of this paper. The paper is organized as follows. In the next section, we shall introduce the DLP and the PNLP models for the seat inventory allocation problem, and then discuss some basic properties of the PNLP. In Section 2, we define the Lagrangian relaxation problem of the PNLP and its Lagrangian dual. We also present analytical solutions of the Lagrangian relaxation problem and the equivalence between the PNLP and the Lagrangian dual problem. A standard subgradient optimization method for solving the Lagrangian dual is explained in Section 3. Numerical results are reported in Section 4. We make concluding remarks in Section 5.
Seat inventory control
We consider seat inventory control over a network with m types of resources which are used to form n products. For airlines, resources are flight seats on all m flight legs and products are origin-destination tickets of various fare classes. Let i and j be indices of resources and products, respectively. Let A = [aij ] be the incidence matrix, where aij = 1 if and only if product j uses resource i. Assume Ci is the remaining capacity of resource i, rj the unit revenue of product j, and dj the stochastic demand for product j over the remaining booking horizon. Let xj denote the decision variable, representing the amount of resources allocated to product j. The objective of seat inventory control is to maximize the expected total revenue by optimally allocating resources to products. This results in the following probabilistic nonlinear program
4
(PNLP): max fPNLP :=
X
rj E[min{xj , dj }]
j
s.t.
Ax ≤ C xj ≥ lj , ∀j
where E[] denotes the expectation operator and lj ≥ 0. lj = 0 is often assumed in the literature. However, it is quite useful to allow positive values for lj , in particular when we attempt to re-optimise the same PNLP model during the booking period (Ciancimino et al. 1999). Note that a further integrality condition stating that xj is an integer could be added to the above formulation, but this addition makes the PNLP a mixed integer nonlinear program which is computationally very hard to solve. All approximation models presented in Chapter 3 of Talluri and van Ryzin (2004) use continuous values for capacity allocation. The above model is an approximation of the optimal model which can be formulated as a dynamic stochastic program (Talluri & van Ryzin 2004), which is computationally intractable, due to the curse of dimensionality associated with such models. To our knowledge, unlike dynamic programs for seat inventory control in singleresource settings, no dynamic stochastic program arising from seat inventory control in network settings has been solved optimally. It is worth noting that in the PNLP, we assume that the stochastic demand dj for product j is independent of that for other products. In reality, demands for different products are correlated. Some customers may buy up, or buy down or switch to different itineraries depending on product availability. Some recent research on buy-up models and choice modelling can be found from Talluri & van Ryzin (2004). We next give a simple example of the PNLP as well as other models to be introduced in the rest of this paper. Figure 1 is a small hub-and-spoke network consisting of four nodes A, B, C and D and three legs AB, BC and BD. Assume there are only five itineraries on one traffic direction: AB, BC, BD, ABC and ABD, and for each itinerary there are exactly two classes: high fare and low fare. In total, there are 10 products over the network. The capacities of all legs and the fares and average demands of all products are
5
shown in Tables 1 and 2, respectively.
C
A
B
D
Figure 1: A simple airline hub-and-spoke network.
Leg
AB
BC
BD
Capacity
200
120
100
Table 1: Leg capacities.
High
Low
Fare
Average demand
Fare
Average demand
AB
240
30
100
100
BC
200
20
80
60
BD
200
10
80
50
ABC
400
5
150
35
ABD
400
5
150
20
Table 2: Product fares and average demands.
6
The PNLP for this example is Z
max 240
Z
Z
min(x1AB , d1AB ) dF1AB + 200
min(x1BC , d1BC ) dF1BC + 200
Z
+400
min(x1ABC , d1ABC ) dF1ABC + 400 Z
+100
s.t.
min(x1ABD , d1ABD ) dF1ABD
Z
min(x2AB , d2AB ) dF2AB + 80
Z
min(x2BC , d2BC ) dF2BC + 80
Z
+150
min(x1BD , d1BD ) dF1BD
Z
min(x2BD , d2BD ) dF2BD
Z
min(x2ABC , d2ABC ) dF2ABC + 150
min(x2ABD , d2ABD ) dF2ABD
x1AB + x1ABC + x1ABD + x2AB + x2ABC + x2ABD ≤ 200 x1BC + x1ABC + x2BC + x2ABC ≤ 120 x1BD + x1ABD + x2BD + x2ABD ≤ 100 x1AB , x1BC , x1BD , x1ABC , x1ABD , x2AB , x2BC , x2BD , x2ABC , x2ABD ≥ 0
where Fj represents the cumulative probability distribution of the demand for product j. In the PNLP, we add an upper bound to xj : uj ≥ xj for ∀j, where uj = max{Ci : aij = 1}. This constraint is obviously implied by Ax ≤ C and is hence redundant. However, this cut will be useful for the Lagrangian relaxation problem to be introduced in the next section. See the remark after Proposition 1. After adding this cut, the PNLP becomes: max
X
rj E[min{xj , dj }]
j
s.t.
Ax ≤ C lj ≤ xj ≤ uj , ∀j.
A further simplification of the PNLP is the following deterministic linear program (DLP), which replaces the stochastic random demand variable dj by its expectation d¯j for all j: max fDLP :=
X
rj xj
j
s.t.
Ax ≤ C lj ≤ xj ≤ d¯j , ∀j.
7
In particular, the concrete DLP for our simple example is max 240x1AB + 200x1BC + 200x1BD + 400x1ABC + 400x1ABD +100x2AB + 80x2BC + 80x2BD + 150x2ABC + 150x2ABD s.t.
x1AB + x1ABC + x1ABD + x2AB + x2ABC + x2ABD ≤ 200 x1BC + x1ABC + x2BC + x2ABC ≤ 120 x1BD + x1ABD + x2BD + x2ABD ≤ 100 x1AB ≤ 30, x1BC ≤ 20, x1BD ≤ 10, x1ABC ≤ 5, x1ABD ≤ 5 x2AB ≤ 100, x2BC ≤ 60, x2BD ≤ 50, x2ABC ≤ 35, x2ABD ≤ 20, x1AB , x1BC , x1BD , x1ABC , x1ABD , x2AB , x2BC , x2BD , x2ABC , x2ABD ≥ 0.
Both booking limits xj and the dual prices or Lagrangian multipliers can be obtained from solving either the PNLP or the DLP. In the literature as well as in practice (Talluri & van Ryzin 2004), these solutions are used to form several booking policies to be discussed below: partitioned booking limits and bid price control among others. Partitioned booking limits in the network setting are an extension of partitioned booking limits in the single-resource setting (Talluri & van Ryzin 2004). In the network setting, a fixed amount of capacity of each resource is allocated to every product offered. The demand for each product has access only to its allocated capacity and no other product may use this capacity. In both the DLP and the PNLP, these booking limits are set to be the respective optimal solutions x. In the network setting, a bid-price control policy sets a threshold price or bid price for each resource in the network. Roughly this bid price is an estimate of the marginal cost of consuming the next incremental unit of the resource’s capacity. When a booking request for a product arrives, the revenue from the request is compared to the sum of the bid prices of all the resources required by the product. If the revenue exceeds the sum of the bid prices, the request is accepted, provided all the resources associated with the requested 8
product are still available; if not, the request is rejected. In the DLP, the optimal dual variables associated with the constraints Ax ≤ C are used as bid prices. If the optimal solution is not degenerate (i.e., active constraints of Ax ≤ C are linearly independent at the optimal solution), then the first-order derivative of the value function
1
of the deterministic model exists
and is given by the unique vector of the optimal dual prices. If the optimal solution is degenerate, then there are multiple optimal dual price vectors, each of which is only a subgradient of the value function. See Talluri & van Ryzin (2004) for further discussion on this point. Similarly the bid prices for the PNLP are the Lagrangian multipliers at its optimal solution. Another popular booking policy, virtual nesting control, is based on the fact that the nested booking limit policy is optimal in a single-resource setting. In a single-resource setting, all products are ordered according to revenue values. In the nested booking policy, any higher-value product can always access seats allocated to lower-value products, but not vice versa. An extension of this policy to a network setting is not obvious. Firstly, the ordering of fare classes is no longer straightforward. Secondly, the multiple capacities involved make it difficult to specify protection levels or booking limits for product combinations which use different resources in the network. Nevertheless, the virtual nesting control can be formed using the so-called indexing technique and virtual classes. This booking policy is discussed in Talluri & van Ryzin (2004) and will not be used in this paper.
We conclude this section by presenting some analytical properties of the PNLP, which are well known in the literature, see Ciancimino et al. (1999), de Boer et al. (2002). With these properties, we are able to employ Lagrangian relaxation and to ensure equivalence between the Lagrangian dual and the PNLP. 1
The value function is the objective of the optimization problem as a function of some parameters; in our case, the parameter
is the remaining capacity C.
9
Lemma 1 (1) The objective function of the PNLP is concave. (2) The objective function of the PNLP is continuously differentiable if the demand random variable dj is continuous for all j. (3) Suppose D is a continuous random variable. Let G(x) = E[min(x, D)]. Then the first-order derivative of G at x is G0 (x) = 1 − F (x) where F is the cumulative distribution function of the random variable D.
We remark that in the above lemma we assume that the demand is a continuous random variable. In realworld applications, passenger demands should be modelled by discrete random variables. In the revenue management literature and in practice, approximations using continuous random variables are a common strategy to simplify both analysis and computational processes; see page 96 of Talluri and van Ryzin (2004). If the probability distribution of the demand is not known, there are two on-going research directions: a combination of sampling and simulation; and robust optimization techniques. When the probability distribution is discrete, the Lagrangian relaxation method proposed in this paper is not valid any more, and the PNLP is equivalent to a large-sized linear program, for which the column generation approach is an alternative.
Lagrangian relaxation
Unlike the DLP, the solution of the PNLP requires nonlinear algorithms. Existing general nonlinear programming codes could not exploit the specific structure of the PNLP and are likely to be computationally inefficient. Talluri & van Ryzin (1999b) propose a randomized linear programming approach for approximating Lagrangian multipliers or bid prices. Ciancimino et al. (1999) describe a penalty Lagrangian algorithm 10
for the optimal solution, and thus the booking limit of the PNLP. In this section, we propose a Lagrangian relaxation approach for finding both booking limits and bid prices of the PNLP.
Lagrangian relaxation
Let µi ≥ 0 be the Lagrangian multipliers for the constraints of the PNLP. We obtain a Lagrangian relaxation (LR) of the PNLP by dualizing the constraint Ax ≤ C: (LR) max
X
E[rj min(xj , dj )] −
j
s.t.
X
X
µi (
i
aij xj − Ci )
j
lj ≤ xj ≤ uj , ∀j
which decomposes into a sum of one-dimensional optimization problems. For each product j, LRj is defined by X
(LRj ) max E[rj min(xj , dj )] − (
µi aij )xj
i
s.t.
lj ≤ xj ≤ uj .
The objective function for the LRj is equivalent to rj E[min(xj , dj )] − Bj xj where Bj =
P
i µi aij
and Bj is non-negative as µi ≥ 0 for all i.
From Lemma 1, the objective function of (LR) as well as (LRj ) is concave, and continuously differentiable if the demand random variable dj is continuous for all j. The following lemma shows that the optimal solution of (LR) can be found analytically. See Appendix for a proof.
Proposition 1 Suppose the demand random variable dj is continuous for all j. Then there exists an optimal solution to (LR). Let x∗ be such an optimal solution. We have (1) If rj ≥ Bj , then x∗j = min{max{lj , vj }, uj } with vj satisfying rj (1 − Fj (vj )) = Bj , where Fj is the cumulative distribution function of the demand dj for product j. 11
(2) If rj < Bj , then x∗j = lj .
Remark: The above proposition shows that it is necessary to include the redundant upper bound uj for xj in the PNLP. Without this upper bound, the existence of a feasible solution to (LR) is not guaranteed when Bj = 0 for some j. Even if a feasible solution exists for (LR), it does not seem desirable to have a feasible solution so that xj > uj for some j, which clearly violates the constraint Ax ≤ C of the PNLP. For our simple example, the LR for product 1AB is the following simple one-dimensional optimization problem: Z
max 240
min(x1AB , d1AB ) dF1AB − µAB x1AB
s.t. l1AB ≤ x1AB ≤ u1AB .
Lagrangian dual
The optimal objective function value of (LR) with any multipliers µ ≥ 0 provides an upper bound to the optimal objective function value of the PNLP. But which multipliers provide the best upper bound and how can they be found? This question is answered by solving the Lagrangian dual. Let L(x, µ) be the objective function of (LR) and q(µ) the optimal objective function value of (LR). The Lagrangian dual (LD) is the following optimization problem: min q(µ) s.t. µ ≥ 0. Remarks: Since the objective function of the PNLP is concave and its constraints are linear, it can be shown (Lemarechal 2001, Magee & Glover 1996) that (1) The LD is a convex optimization problem with simple bounds; (2) For any µ ≥ 0, the objective function value q(µ) of the LR provides an upper bound to the optimal objective function value of the LD; and (3) solving the LD is equivalent to solving the PNLP. 12
Subgradient optimization
We remarked at the end of the last section that solving the PNLP is equivalent to solving the LD, which is a nonsmooth convex optimization problem with simple bounds. In this section, we present a standard subgradient method for solving the LD (Magee & Glover 1996).
13
Subgradient Method:
(Input) - A lower bound q ∗ for the LD; see Remark (I). - A stopping criterion ε > 0. - An initial value µ0 ≥ 0; see Remark (II). (Initialization) - θ0 = 2 (Subgradient iterations) for n := 0, 1, . . . , do - Solve (LR) when µ = µn . Let xµn be the optimal solution of (LR). - Calculate a subgradient of q(µ) at µn : γ n ; see Remark (III). - Choose a step length: tn > 0; see Remark (IV). - Update µ: µn+1 = max{0, µn + tn γ n }. - Termination check: If kµn+1 − µn k < ε, then stop. See Remarks (V) and (VI). - Update θ: If the minimum objective function value for (LR) in the last K iterations is not smaller than the minimum objective function value for (LR) prior to the last K iterations, then θn+1 = θn /2; otherwise, θn+1 = θn . - Update q ∗ : q ∗ = q(µn ) if xµn is feasible to the PNLP; see Remark (I). - Update iterations: n := n + 1.
A number of points need to be clarified about the above subgradient method. We start with a result related to lower and upper bounds for the PNLP, which is required for determining the initial lower bound q ∗ in the subgradient method. See Appendix for a short proof.
14
Lemma 2 Let x∗ be an optimal solution to the DLP. Then fDLP (x∗ ) and fPNLP (x∗ ) are upper and lower bounds respectively for the LD (or the PNLP equivalently).
Remarks: (I) Let x∗ be an optimal solution of the DLP. By Lemma 2, fPNLP (x∗ ) can be used as an initial value for q ∗ in the subgradient method. If xµn is feasible to the PNLP, then fPNLP (xµn ) provides a lower bound for the PNLP. If q ∗ < fPNLP (xµn ), then we can replace q ∗ by fPNLP (xµn ). (II) The DLP often gives a good upper bound to the PNLP. Hence its optimal Lagrangian multiplier should give a good estimate for the optimal Lagrangian multiplier, i.e., a good choice for µ0 . (III) For any µ ≥ 0, C − Axµ is a subgradient of q(µ). (IV) A popular choice of the step length tn is ∗ µn tA − Ck2 . n = θn (q(µn ) − q )/kAx
Other choices are also available in the literature (Magee & Glover 1996). It is known that the subgradient algorithm converges when the stepsize satisfies the following conditions: tB n =
σn , µ n kAx − Ck2
σn → 0,
X
σn = +∞,
n
see Lemarechal (2001). However, the method using this step length converges very slowly and it can often only offer an approximate solution to the LD. (V) If xµn is feasible to the PNLP and if the complementarity condition µTn (Axµn − C) = 0 is satisfied, then xµn is an optimal solution to the LD (and the PNLP). This can be proved as follows. On the one hand, fPNLP (xµn ) is an upper bound to the PNLP by Lemma 2 because fPNLP (xµn ) = L(xµn , µn ). On the other hand, fPNLP (xµn ) is also a lower bound to the PNLP since xµn is feasible to the PNLP.
15
(VI) Note that the statement “If xµn is feasible to the PNLP and if the complementarity condition µTn (Axµn − C) = 0 is satisfied” is equivalent to the statement “q(µn ) ≤ q ∗ , where q ∗ is the current best lower bound of the LD”. Therefore q(µn ) ≤ q ∗ can be used as a termination criterion of the algorithm. Sometimes the subgradient method converges slowly and can be terminated using the criterion kµn+1 − µn k < ε or when the number of iterations exceeds a pre-specified number.
Numerical results
In this section we demonstrate effectiveness of the proposed method through simulation. The subgradient method presented in Section 3 is implemented in Matlab Version 6.5 (MATLAB 6.5 2002) on a Windows XP machine. The DLP model is also implemented in Matlab for comparison and the DLP is solved using linprog. As the booking limits and Lagrangian multipliers can be obtained from solving both the PNLP and the DLP, both the booking limits policy and the bid-price policy are used in the booking process. Hence we have implemented four booking schemes: the booking limit policy based on the DLP, the booking limit policy based on the PNLP, the bid-price policy based on the DLP, and the bid-price policy based on the PNLP. In order to take into account new information, including updated demand forecasts and remaining capacities, and to improve revenue by adjusting seat allocation adequately, both the PNLP and the DLP are resolved over the booking horizon. In our experiments, the booking horizon is divided into several booking periods and both the DLP and the PNLP models are resolved at the beginning of each booking period. We follow the procedure described in Talluri & van Ryzin (1999b) for our simulation experiments. For each test example with a particular booking scheme, we simulate the booking process 1000 times. In each simulation, booking requests are randomly generated in two steps. In step 1, the number of requests for each
16
product is randomly generated according to a truncated normal distribution (left truncated at zero) with the given expected demand. In step 2, booking arrival times for each product are randomly generated according to the pre-specified booking curve. When a booking request arrives, it is either accepted or rejected based on either the booking limits in the booking limit policy or the bid price in the bid-price policy. The total revenue is calculated for all accepted bookings for each booking scheme in each simulation run. Finally, the average total revenue from 1000 simulation runs as well as its 95% confidence interval is calculated for each booking scheme. For a fair comparison, the same booking arrivals are used for all four booking schemes in each simulation run. Our first two airline test problems T1 and T2 are from Higle & Sen (2004). In T1, the airline network consists of 7 cities and 7 legs with 8 itineraries. For each itinerary, there are two fare classes which result in 16 products in total. Bookings start from 180 days prior to the flight departure time. Demand forecasts for all products are updated on day 180, 120, 60, 30, 14 prior to the departure time. Those five days are used to divide the booking horizon into 5 booking periods. A fixed percentage of demand is assumed in each booking period for each product. More high fare customers are assumed to arrive in later booking periods while low fare customers are assumed to arrive in earlier booking periods. These percentages form a booking curve for each product. The expected demand for each product and the capacity on each leg and other detailed information can be found in Higle & Sen (2004). Test problem T2 is similar to T1 but with a different network. In particular, T2 is a hub-spoke network with one hub, 20 spoke cities and 20 legs, and it has two fares and 50 itineraries (and hence 100 products). Two more test problems T3 and T4 are randomly generated in a way similar to test examples S1 and S2 used in Ciancimino et al. (1999) where chain networks in railway systems are considered. In T3, the number of legs and the number of products are 5 and 15 respectively. In T4, those numbers are 10 and 55, respectively. The following characteristics are the same for both T3 and T4. Bookings are open 60 days prior to the
17
train departure time. The 60-day booking horizon is divided into 15 periods which are separated by day 46, 31, 24, 17, 10, 9, 8, 7, 6, 5, 4, 3, 2, and 1 prior to the train departure time. For each product, the same percentage (that is 1/15) of demand is assumed in each booking period. The average revenues, as well as their 95% confidence intervals, generated by four different booking methods for four test problems are shown in Table 3. It can been seen that with a non-nested booking limit policy, the PNLP outperforms the DLP for all four test problems. This confirms the numerical results of Ciancimino et al. (1999). However, using a bid-price booking policy, the DLP dominates the PNLP for all four test problems. In our admittedly limited simulations, on average, the booking limit policy based on the PNLP and the bid-price policy based on the DLP appeared to outperform the other two methods. Between those two “better” methods, neither completely dominates the other. It would be nice to the have optimal expected value available for each of the test problems. However, this is not possible because with modern computer power there is no way to solve the stochastic dynamic program of seat inventory control over even a very small network. For example, the capacity management problem has to be solved based on some approximation approaches for a single-leg network with multiple but substitutable flights; see Zhang & Cooper (2005). One way to roughly measure the quality of the solutions of the DLP and the PNLP is to provide an upper bound for the optimal total expected revenue for each test problem. It is known (Talluri & van Ryzin 2004) that the optimal objective function value of the DLP is an upper bound to the optimal total expected revenue for a network seat inventory control problem. However, it is not known how good this upper bound is, though asymptotically this upper bound is tight when both product demand and resource capacity are scaled up at the same speed (Talluri & van Ryzin 2004). Nevertheless we provide this upper bound for each test problem in Table 3. The CPU times in seconds for solving the LD (or the PNLP equivalently) are shown in Table 4. It is not surprising to note that the CPU times for the methods based on the booking limit policy and the bid-
18
price policy are comparable on average. It is noticeable that the CPU time increases as the network size increases. We expect that the CPU time for solving the PNLP can be reduced significantly if the algorithm is implemented in other programming languages such as C++. We remark that due to its slow convergence, the subgradient method terminates before an optimal solution is obtained for the LD and hence sometimes we only obtain approximations of the optimal solution and the optimal Lagrangian dual of the LD. We have also solved the PNLP using an available algorithm called fmincon in Matlab. Our experience is that on average, it takes considerably more CPU time than our Lagrangian relaxation method. More seriously, the code did not terminate after two hours of computer elapsed time for one simulation run of either T1 or T2 even if values of tolerance for several stopping criteria in fmincon were set to be much larger than their default values.
Problem
T1
T2
T3
T4
DLP
PNLP
Booking limit
Bid price
Booking limit
Bid price
292,244.3
272,093.2
293,995.1
271,340.0
(290,958.3, 293,530.2)
(270,382.1, 273,804.2)
(292,606.7, 295,383.5)
(269,751.9, 272,928.1)
1,381,032.4
1,387,620.6
1,417,448.9
1,323,439.3
(1,378,196.1, 1,383,868.7)
(1,383,964.1, 1,391,277.2)
(1,413,960.4, 1,420,937.4)
(1,318,083.9, 1,328,794.7)
307,792.8
311,038.3
308,436.7
309,239.7
(306,454.9, 309,130.8)
(309,727.6, 312,349.1)
(307,156.1, 309,717.3)
(307,974.6, 310,504.8)
407,646.7
412,588.3
410,403.2
411,870.5
(407,346.0, 407,947.5)
(412,335.1, 412,841.5)
(410,138.4, 410,668.0)
(411,643.0, 412,097.9)
Upper bound
330,250.0
1,573,375.0
325,510.00
418,061.0
Table 3: Average revenues and 95% confidence intervals for various booking policies. Problem
Booking Limits
Bid Prices
T1
0.624
0.772
T2
2.179
2.177
T3
0.991
0.986
T4
1.300
1.292
Table 4: Average CPU time in seconds for solving the PNLP.
19
Conclusions
It is known that the PNLP is an approximation of the intractable dynamic program for seat inventory control. In this paper we have proposed a Lagrangian relaxation approach for solving the PNLP by exploiting its separable structure and its concavity. The solution of the Lagrangian relaxation subproblem admits a simple analytical expression. Numerical results have confirmed that the PNLP is useful in some revenue management applications where non-nested booking policies are employed in practice, and demonstrated that the subgradient method is a simple way of solving medium to large-scale problem instances and may well outperform conventional off-the-shelf solvers. It is well known that considerable progress has been made in solving the Lagrangian dual in the recent past; see Guignard (2003). A possible research topic is how we can extend the techniques developed in Barahona & Anbil (2000), and du Merle et al. (1998) for solving the PNLP, which is stochastic and nonlinear.
Acknowledgement
I am grateful to Danny Ralph and Stefan Scholtes for their valuable discussions and comments, and to referees for their constructive comments, which have helped to improve the presentation of this paper. The author is also thankful to Giovanna Miglionico for pointing out data inconsistency of some test problems in an early version of the paper.
References Barahona, F. & Anbil, R. (2000), ‘The volume algorithm: Producing primal solutions with a subgradient method’, Mathematical Programming 87, 385–399.
20
Belobaba, P. (1989), ‘Application of a probabilistic decision model to airline seat inventory control’, Operations Research 37, 183–197. Bertsimas, D. & Popescu, I. (2003), ‘Revenue management in a dynamic network environment’, Transportation Science 37, 257–277. Brumelle, S. & McGill, J. (1993), ‘Airline seat allocation with multiple nested fare classes’, Operations Research 41, 127–137. Chen, L. & de Mello, T. H. (2004), Multi-stage stochastic programming models for airline revenue management, Technical report, Northwestern University. Ciancimino, A., Inzerillo, G., Lucidi, S. & Palagi, L. (1999), ‘A mathematical programming approach for the solution of the railway yield management problem’, Transportation Science 33, 168–181. de Boer, S., Freling, R. & Piersma, N. (2002), ‘Mathematical programming for network revenue management revisited’, European Journal of Operational Research 37, 72–92. du Merle, O., Goffin, J. & Vial, J. (1998), ‘On improvements to the analystic center cutting plane method’, Computational Optimization and Applications 11, 37–52. Glover, F., Glover, R., Lorenzo, J. & McMillan, C. (1982), ‘The passenger mix problem in the scheduled airlines’, Interfaces 12, 73–79. Guignard, M. (2003), ‘Lagrangean relaxation’, TOP 11 (2), 151–228. Higle, J. & Sen, S. (2004), A stochastic programming model for network resource utilization in presence of multi-class demand uncertainty, in W. Ziemba & S. Wallace, eds, ‘Applications of Stochastic Programming’, SIAM Series on Optimization.
21
Lemarechal, C. (2001), Lagrangian relaxation, in M. Juenger & D. Naddef, eds, ‘Computational Combinatorial Optimization, Lecture Notes in Computer Science’, Vol. 2241, Springer Verlag, pp. 115–160. Magee, T. & Glover, F. (1996), Integer programming, in B. Golany & M. Avriel, eds, ‘Mathematical Programming for Industrial Engineering’, M. Dekker, Inc., New York, pp. 123–269. MATLAB 6.5 (2002), The MathWorks, Inc, 24 Prime Park Way, Natick MA. Talluri, K. & van Ryzin, G. (1999a), ‘An analysis of bid-price controls for network revenue management’, Management Science 44, 1577–1593. Talluri, K. & van Ryzin, G. (1999b), ‘A randomized linear programming method for computing network bid prices’, Transportation Science 33, 207–216. Talluri, K. & van Ryzin, G. (2004), The Theory and Practice of Revenue Management, Kluwer Academic Publishers, Boston, MA. Williamson, E. (1992), Airline Network Seat Inventory Control: Methodologies and Revenue Impacts, PhD thesis. Zhang, D. & Cooper, W. (2005), ‘Revenue management for parallel fights with customer-choice behavior’, Operations Research 53, 415–431.
1
Appendix
Proof of Proposition 1. Let Fj and fj be the cumulative probability distribution and the probability density function of the demand for product j, respectively. Let Hj (xj ) be the objective function of (LRj ).
22
Then Hj (lj ) = rj E[min(lj , dj )] − Bj lj
Z
= rj [
lj
uj
Z
−∞
Dfj (D)dD +
Z
∞
lj fj (D)dD] − Bj lj .
lj fj (D)dD + uj
lj
Hj (uj ) = rj E[min(uj , dj )] − Bj uj
Z
= rj [
lj
−∞
Z
uj
Dfj (D)dD +
Z
∞
Dfj (D)dD + lj
uj fj (D)dD] − Bj uj .
uj
By Lemma 1, Hj is continuously differentiable and the first-order derivative of Hj at xj is Hj0 (xj ) = rj (1 − Fj (xj )) − Bj . Obviously, Hj0 (xj ) = 0 has a solution if and only if rj ≥ Bj . (1) If rj − Bj ≥ 0, then the following equation has a solution Bj = 1 − Fj (vj ), rj
(1)
as Bj ≥ 0. Let vj be such a solution. It follows from the concavity of Hj that the only candidates for the optimal solution of (LRj ) are lj , uj and vj . If lj ≤ vj ≤ uj , then vj is a unique stationary point and hence a unique optimal solution of (LRj ).
23
If lj > vj , then 1 − Fj (vj ) ≥ 1 − Fj (lj ) and uj
Z
Hj (uj ) − Hj (lj ) = rj [
(D − lj )fj (D)dD +
∞
(uj − lj )fj (D)dD] − Bj (uj − lj )
uj
lj
≤ rj
Z
∞
Z
(uj − lj )fj (D)dD − Bj (uj − lj )
lj
≤ rj (uj − lj )(1 − Fj (lj )) − Bj (uj − lj )
≤ rj (uj − lj )(1 − Fj (vj )) − Bj (uj − lj )
= 0, where the last equality follows from (1). In this case, lj is an optimal solution. Similarly, it is easy to prove that uj is an optimal solution if uj < vj . (2) If rj − Bj < 0, then uj
Z
(D − lj )fj (D)dD +
Hj (uj ) − Hj (lj ) = rj [
≤ rj
∞
(uj − lj )fj (D)dD] − Bj (uj − lj )
uj
lj
Z
Z
∞
(uj − lj )fj (D)dD − Bj (uj − lj )
lj
≤ Bj (uj − lj )
Z
∞
fj (D)dD − Bj (uj − lj )
lj
≤ Bj (uj − lj ) − Bj (uj − lj )
= 0, 24
which implies that Hj (uj ) ≤ Hj (lj ). Since Hj is continuously differentiable and Hj (x) has no stationary point, the optimal solution must be attained at either lj and uj . The result follows. Proof of Lemma 2. If x∗ is an optimal solution to the DLP, then x∗ is feasible to the PNLP. Hence fPNLP (x∗ ) provides a lower bound to the LD. The fact that fDLP (x∗ ) provides an upper bound for the PNLP is well known in the literature (Talluri & van Ryzin 2004) and follows Jensen’s inequality.
25