Professional Documents
Culture Documents
Abstract
We consider a network revenue management problem where customers choose among open
fare products according to some pre-specified choice model. Starting with a Markov decision
process (MDP) formulation, we approximate the value function with an affine function of the
state vector. We show that the resulting problem provides a tighter bound for the MDP value
than the choice-based linear program proposed by Gallego et al. (2004) and van Ryzin and Liu
(2004). We develop a column generation algorithm to solve the problem for a multinomial logit
choice model with disjoint consideration sets. We also provide new results on the well-known
decomposition heuristic. Our numerical study shows the policies from our solution approach
can significantly outperform heuristics from the choice-based linear program.
While a substantial amount of research has been done on methods for solving the network
revenue management problem, much less work has been done in solving the version where customers choose among available network products. Usually, when airlines open up a menu of fares
for a given set of flights, customers will make substitutions between those available, or purchase
nothing. Although incorporating customer choice is important in practice, methodologically it is
more difficult than the independent demand case, which already suffers from Bellmans curse of
dimensionality.
Recently, van Ryzin and Liu (2004) studied a linear programming formulation, which they
call the choice-based linear program, to construct heuristics that parallel the bid-price control and
decomposition heuristic approaches from traditional network revenue management. In essence, their
LP formulation is the choice equivalent of the widely used deterministic linear program (DLP)
for network revenue management. It approximates the original stochastic problem by replacing
stochastic demand with its expected value. They provide a column generation algorithm to solve
the problem for the multinomial logit choice model with disjoint consideration sets (MNLD). The
LP formulation is closely related to the model proposed in Gallego et al. (2004), where the focus
is on analyzing so-called flexible products.
The purpose of this paper is to extend the approximate dynamic programming approach of
Adelman (2006) to the customer choice setting, and compare it with van Ryzin and Liu (2004).
dan.zhang@chicagogsb.edu
dan.adelman@chicagogsb.edu, corresponding author
This is an emerging approach to a wide variety of problems in operations research, for which a
lot of active research is ongoing; see, e.g., de Farias and Van Roy (2003). The idea here is to
formulate the underlying dynamic program as a linear program, and then make an affine functional
approximation to the value function to obtain dynamic bid-prices. In the independent demand
setting, these dynamic bid-prices perform better, in terms of both the bound and policy obtained,
than the static bid-prices obtained from the standard linear program. We discover in this paper
that this statement remains true when the method is extended to the choice setting. In fact, the
gap between the bounds obtained empirically can be as much as 50%. However, even when the two
bounds are close, the performance of policies based on the dynamic bid-prices can be much better.
In addition to showing that the basic results of Adelman (2006) continue to hold in the choice
case, there are two unique contributions in the present paper:
1. Solving the subproblem: Unlike in Adelman (2006), the column generation subproblem
for solving our linear program is a non-trivial nonlinear integer programming problem for
general discrete choice models. For the MNLD choice model, the subproblem belongs to the
class of integer generalized fractional programs. General algorithms for efficient solution of
such problems are not currently available (Schaible and Shi (2003)). However, we show that
in this case the subproblem is equivalent to a linear mixed integer programming problem
which can be solved easily.
2. New decomposition results: We provide new theory and results on the decomposition
heuristic, which was extended by van Ryzin and Liu (2004) to the choice setting. (See Talluri
and van Ryzin (2004b) for a discussion of the decomposition heuristic for network revenue
management.) In this scheme, the network problem is decomposed into many tractable singleleg problems, which then give single-leg value functions that are both time and capacity
dependent. These are then substituted into the right-hand side of Bellmans equation to
construct a control policy.
We show that the value function approximation obtained from the decomposition heuristic
with static bid-prices, proposed by van Ryzin and Liu (2004), yields a state-wise upper bound
on the optimal value function. Furthermore, we show that when used with our dynamic bidprices, the value function approximation obtained from the decomposition heuristic yields a
lower upper bound than our approximate linear program. To our knowledge, this new and
improved bound is the strongest reported thus far in the literature, and until now it has not
been known that the decomposition heuristic even provides a bound at all. Empirically, we
find that the decomposition heuristic with dynamic bid-prices gives superior policy performance as compared with the version using static bid-prices in van Ryzin and Liu (2004).
This is significant in practice, because the decomposition heuristic with static bid-prices is
generally regarded as one of the best strawmen available, and is widely used in industry. For
example, one of the leading software houses uses it.
We also relate the notion of efficient choice sets (Talluri and van Ryzin, 2004a) to optimal solutions
of our approximate linear program, giving additional insight into their structure.
2
Brief review of literature. Our work is closely related to the revenue management and approximate dynamic programming literatures. For a comprehensive review of revenue management
literature, see Talluri and van Ryzin (2004b). Many researchers have realized the deficiency of
independent demand models, and therefore have studied problems with rich customer choice activities. Examples include Brumelle et al. (1990), Belobaba and Weatherford (1996), Zhao and Zheng
(2001), among many others. Talluri and van Ryzin (2004a) consider customer choice among fare
classes on a single-leg flight. Zhang and Cooper (2005,2006) consider seat allocation and pricing
issues for multiple flights on the same origin and destination. van Ryzin and Vulcano (2004) introduce a simulation-based optimization approach for network revenue management under a fairly
general choice scheme.
The body of literature on approximate dynamic programming is relatively small but growing;
see Bertsekas and Tsitsiklis (1996) for a review. Our approach is most closely related to the linear
programming approach for dynamic programs. Puterman (1994) gives an excellent review of the
area. The functional approximation idea was first considered by Schweitzer and Seidmann (1985).
Organization of the paper. The rest of the paper is organized as follows. Section 1 introduces
the problem. Section 2 considers the affine functional approximation. Section 3 studies structural
properties of the approximate linear program. Section 4 provides a column generation algorithm.
Section 5 introduces heuristics from solutions of the approximate linear program. Section 6 reports
numerical results.
Problem formulation
In this section, we provide the basic formulations used in the paper. The MDP formulation in
Section 1.1 is essentially the same as the one presented in van Ryzin and Liu (2004). The LP
formulation in Section 1.2 was first studied by Gallego et al. (2004), and later considered by van
Ryzin and Liu (2004).
1.1
MDP formulation
For ease of exposition, we use airline terminology throughout the paper. Consider a flight network
with m legs and the set of capacities c = (c1 , . . . , cm ), where ci is the capacity of leg i. There
are n products offered, where a product is a flight itinerary and fare class combination. Let
N = {1, . . . , n} be the set of products. The fare for product j is fj . The consumption matrix is
an (m n)-matrix A (aij ). The entry aij represents the integer amount of resource i required
by a class j customer. The i-th row Ai is the incidence vector for leg i, and the j-th column Aj
is the incidence vector for product j. There are discrete time periods that are counted forward,
so period is the last period. To simplify notation, we reserve the symbols i, j, and t for legs,
products, and time, respectively.
In each period, there is one customer arrival with probability , and no customer arrival with
probability 1 . When a customer arrives, the firm must decide what products to offer. Let
S N be the offer set of the firm. Note that S = means that no product is offered. The
3
customer chooses the product j S with probability Pj (S), and makes no purchase with probability
P
P0 (S) = 1 jS Pj (S).
The state at the beginning of any period t is an m-vector of unsold seats x. So the state space is
X = {0, . . . , c1 } {0, . . . , cm }. Let vt (x) be the maximum total expected revenue over periods
t, . . . , starting at state x at the beginning of period t. The optimality equation is
vt (x) = max
Pj (S)(fj + vt+1 (x Aj )) + (P0 (S) + 1 )vt+1 (x)
SN (x)
jS
SN (x)
jS
The boundary conditions are v +1 (x) = 0 for all x. In the above, the set N (x) = {j N : x Aj }
is the set of products that can be offered when the state is x.
The value function at the initial state c can be computed by the following linear program
(D0)
min v1 (c)
v()
X
vt (x)
Pj (S)(fj + vt+1 (x Aj )) + (P0 (S) + 1 )vt+1 (x)
t, x, S N (x)
jS
1.2
van Ryzin and Liu (2004) propose a linear programming formulation to generate heuristics for the
problem in (1). A similar formulation is studied in Gallego et al. (2004) in a different problem
context. The model, which ignores the randomness in the system, can be viewed as a deterministic
expected value formulation of (1). Let S denote the firms offer set. Customer demand (viewed as
continuous quantity) flows in at rate . If the set S is offered, product j is sold at rate Pj (S) (i.e.,
a proportion Pj (S) of the demand is satisfied by product j). Let R(S) denote the revenue from
one unit of customer demand when the set S is offered. Then
R(S) =
fj Pj (S).
jS
Note that R(S) is a scalar. Similarly, let Qi (S) denote the resource consumption rate on flight i,
i = 1, . . . , m, given that the set S is offered. Let Q(S) = (Q1 (S), . . . , Qm (S))T . The vector Q(S)
satisfies Q(S) = AP (S), where P (S) = (P1 (S), . . . , Pn (S))T is the vector of purchase probabilities.
4
Let h(S) be the total time the set S is offered. Since the demand is deterministic as seen by
the model and the choice probabilities are time-homogeneous, only the total time a set is offered
matters; i.e., we do not care about the order in which different offer sets are used. The objective is
to find the total time h(S) each set S should be offered to maximize the firms revenue. The linear
program can be written as follows
(LP)
zLP = max
h
R(S)h(S)
SN
Q(S)h(S) c
(2)
h(S) =
(3)
SN
SN
h(S) 0,
S N.
Note that using equality instead of inequality in (3) is without loss of optimality since N ,
so there is a slack variable h().
In the no-choice case, i.e., when Pj (S) = pj j S and Pj (S) = 0 otherwise, it can be
shown that (LP) is equivalent to the deterministic linear programming (DLP) model in revenue
management literature. In this sense, the (LP) model is an extension of (DLP) to the choice case.
The dual values corresponding to (2) can be used to approximate the value of each resource.
Such an approach is taken in van Ryzin and Liu (2004) and Gallego et al. (2004). The (LP) model
is a static model where a single value i is attached to resource i for each i. We can use the
approximation
vt (x) vt (x Aj )
aij i
t.
(4)
A policy can be determined by using the approximation (4) in the dynamic programming recursion
(1). We need to solve
"
#
X
X
max
Pj (S) fj
aij i .
(5)
SN
jS
We have limited ourselves to the homogeneous case where the problem parameters, including
arrival rates and choice parameters, are stationary over time. One way to accommodate nonstationary parameters is to define a decision variable ht (S) for each possible set S in each period t.
Such an extension will have the same number of capacity constraints as (LP) with one constraint
for each resource; hence, a single dual value is attached to each resource. In contrast, the dynamic
programming formulation and the formulation (D0) are both dynamic models that can easily
accommodate non-stationary problem parameters.
The (LP) model has an exponential number of decision variables. Solving (LP) is in general a
hard problem. Furthermore, solving (5) for general choice probability P is a non-trivial problem.
For the MNLD choice model, van Ryzin and Liu (2004) provide an efficient column generation
5
algorithm to solve (LP) and a ranking procedure for solving (5). In MNLD, each customer is
interested in a subset of the products. Let L = {1, . . . , l} be the set of customer segments. We
assume that customer segment l L has consideration set Nl N . We assume l1 6= l2 , Nl1 Nl2 =
; i.e., different customer segments have disjoint consideration sets. Within each segment, customer
choice follows a Multinomial Logit (MNL) model. Under MNL, the choice probability can be defined
by a choice vector. To completely specify the choice probability, we need to specify the preference
value vlj for l L, j Nl , and the no-purchase value vl0 for l L. In general, a choice set S can
also be represented by an availability vector. We use a vector ul to denote the product availability
for segment l such that
(
1 if product k is available
ulk =
k Nl .
0 if product k is not available
For convenience, we use vector and set notations interchangeably. Then the probability a segment
l customer purchases product j Nl is
ulj vlj
.
jNl ulj vlj + vl0
Plj (ul ) = P
To accommodate MNLD choice model in the framework of Section 1.1, we can assume an
arriving customer first chooses which segment he belongs to, and then chooses products within the
given segment. In particular, we assume the probability an arriving customer belongs to segment
P
l is l / where l l = . It then follows that for j Nl ,
Pj (S) =
where
ulk (S) =
1 if k S
0 if k
/S
k Nl .
Functional approximation
The formulation (D0) has a huge number of decision variables and constraints, making its exact
solution impractical for moderately sized problem instances. One way to reduce the size of the
problem is to approximate vt () by a set of pre-selected basis functions. One potential approach is
to use a linearly parameterized function class
vt (x)
K
X
Vt,k k (x),
(6)
k=1
where k (x) is a pre-specified basis function and Vt,k is the weight on k (x). After plugging (6) into
(D0), the weights can then be determined by solving the resulting linear program. In this paper,
we consider an affine functional approximation, which is a special case of (6).
2.1
Formulation
Vt,i xi ,
(7)
where Vt,i estimates the marginal value of a seat on flight i in period t, and t is a constant offset.
We assume +1 = 0 and V +1,i = 0 i.
Plugging (7) to (D0), we obtain
X
(D1) min 1 +
V1,i ci
(8)
,V
t t+1 +
X
i
X
jS
Pj (S)aij )
Pj (S)fj
t, x, S N (x).
jS
(9)
t,x,SN (x)
xi Yt,x,S =
x,SN (x)
x,SN (x)
Y 0.
Yt,x,S =
X
jS
Pj (S)fj Yt,x,S
ci
if t = 1
P
x,SN (x) xi
jS Pj (S)aij Yt1,x,S t = 2, . . . ,
if t = 1
t = 2, . . . ,
i, t
(10)
(11)
The constraint (10) is a flow-balance constraint, which says that the mass of each resource i
flowing into time t must equal that flowing out. The constraint (11) can be replaced by
X
Yt,x,S = 1 t.
(12)
x,SN (x)
Therefore, we can interpret the decision variables Yt,x,S as approximate state-action probabilities.
2.2
Relationship to LP
Yt,x,S
S N.
(13)
t,x
Note that Yt,x,S = 0 S * N (x). Since Yt,x,S can be interpreted as the probability that the set S
is offered in period t given capacity level x, the right hand side of (13) can be interpreted as the
7
total time the set S is offered throughout the time horizon, which is exactly the interpretation of
decision variable h(S) in (LP). Then the objective function in (P1) can be written as
X
X X
Pj (S)fj h(S) =
R(S)h(S).
SN
jS
SN
xi Yt,x,S = ci +
X
X
t=2 x,SN
t,x,SN
1 X X
X
xi
X
jS
Pj (S)aij Yt1,x,S
Pj (S)aij Yt,x,S +
t=1 x,SN jS
xi Y,x,S
x,SN
xi Y,x,S .
(14)
x,SN
i.
X X
jS
Pj (S)aij Y,x,S .
x,SN jS
XX
Pj (S)aij Yt,x,S =
t,x,S jS
Qi (S)h(S).
SN
h(S) = .
SN
Structural properties
We discuss some structural properties of (D1)-(P1). First, we show that only efficient sets are
used in the solution to (P1); i.e., Yt,x,S > 0 only if S is an efficient set. Such a result parallels
that discussed in van Ryzin and Liu (2004) for (LP). In view of the definition of efficient sets
given below, this result has some intuitive appeal. On the other hand, it is not clear that only
8
efficient sets are used in an optimal solution to the dynamic programming formulation (1); therefore,
(P1) inherits the limitation of a linear additive structure of the functional approximation (7),
which is not necessarily satisfied by the value function v(). Second, we show that an optimal
is non-increasing over
solution (V , ) satisfies a time-monotonicity property. In particular, Vt,i
time for each i. Since Vt can be interpreted as the value of a unit of resource i, and less selling
opportunities exist as time moves forward, this property is also quite intuitive. Furthermore, adding
time monotonicity constraints to (D1)-(P1) speeds up the solution algorithm substantially in our
numerical experiments. Hence, such a property is also quite useful from a practical standpoint.
van Ryzin and Liu (2004) study the concept of efficient sets in the context of network revenue
management with customer choice. They show that only efficient sets are used in the solution to
(LP); i.e., if h(S) > 0 in an optimal solution to (LP) for some offer set S, then S must be an
efficient set. The idea of efficient sets is closely related to the earlier work of Talluri and van Ryzin
(2004a) for a single-leg revenue management problem with customer choice, where they show that
only efficient sets are offered in an optimal solution to the dynamic programming formulation of
the problem. Informally, an offer set is inefficient if on average it consumes no less resource but
produces less revenue compared with another (possibly randomized) offer set.
The following definition and lemma are taken from van Ryzin and Liu (2004).
Definition 1 A set T is said to be inefficient if there exists a set of weights (S), S N satisfying
P
SN (S) = 1 and (S) 0 S N such that
R(T ) <
(S)R(S)
SN
Q(T )
(S)Q(S).
SN
In the following we show that only efficient sets are used in the solution to (P1).
Proposition 2 If Yt,x,T > 0 in the optimal solution to (P1), then T is an efficient set.
Proof. Fix t, x. From (D1), the reduced cost of column S is
X
X
X
Vt,i xi Vt+1,i (xi
Pj (S)fj t + t+1
Pj (S)aij ) .
jS
jS
If Yt,x,T > 0, then the set T has a reduced cost of zero at an optimal solution ( , V ) to (D1). It
then follows that for all S
X
X
X
Vt,i
Pj (S)fj t + t+1
xi Vt+1,i
(xi
Pj (S)aij )
i
jS
0=
Pj (T )fj t + t+1
jS
X
i
jT
Vt,i
xi Vt+1,i
(xi
X
jT
Pj (T )aij ) .
Pj (S)fj
Vt+1,i
Pj (S)aij
Pj (T )fj
Vt+1,i
Pj (T )aij .
jS
jS
jT
jT
max
Pj (S)fj
Vt+1,i
Pj (S)aij .
SN
jS
jS
X
ti = arg min t {1, . . . , } : x, s with Yt,x,S > 0,
Pj (S)aij > 0 .
(15)
jS
Theorem 1 Assume ci > 0 i. There exists an optimal solution ( , V ) of (D1) and a set of
indices {ti : i} such that
t t+1
Vt,i
= Vt+1,i
Vt,i
(16)
i, t = 1, . . . , ti 1
Vt+1,i
i, t =
V , 0.
ti , . . . ,
(17)
(18)
(19)
10
700
resource 1
resource 2
resource 3
resource 4
600
500
400
300
200
100
0
10
t
15
20
The program (P1) has a large number of variables but relatively few constraints, so it can be
potentially solved via column generation. In this section, we develop such an algorithm.
First, it is easy to find an initial feasible solution to start the column generation algorithm.
There is one corresponding to closing all products in each period; i.e. let
(
1 if x = c, S =
Yt,x,S =
t, x, S.
0 otherwise
At a given iteration, suppose the primal solution is (V, ). Let t,x,S be the reduced profit of
the column corresponding to x, S in period t. The maximum reduced profit can be computed by
solving
X
X
X
Vt,i xi Vt+1,i (xi
max t,x,S = max
Pj (S)fj
Pj (S)aij ) t + t+1
t,x,SN (x)
t,x,SN (x)
max
t,x,SN (x)
jS
X
jS
"
Pj (S) fj
jS
aij Vt+1,i
11
X
i
If the objective value is greater than 0, then we add the column corresponding to the optimal
solution to the existing set of columns for (P1); otherwise, optimality is attained.
For fixed t > 1, we need to solve the following optimization problem
"
#
X
X
X
(S0)
max
Pj (S) fj
aij Vt+1,i
(Vt,i Vt+1,i )xi t + t+1
x,S
jS
xi aij
i, j S
xi {0, . . . , ci }
(20)
i.
The effectiveness of a column generation algorithm hinges on efficient solution of the column
generation subproblems. For general choice probability P , (S0) is potentially a nonlinear integer
constrained optimization problem, which is quite difficult to solve. Because of constraint (20), the
optimization problem is not separable in x and S. Even if x is fixed, the optimization on S is a
combinatorial optimization which is potentially difficult by itself. For the multinomial logit choice
model with disjoint consideration sets (MNLD), van Ryzin and Liu (2004) develop an efficient
ranking procedure to solve the optimization on S; see also Gallego et al. (2004). However, such a
procedure cannot be extended to solve (S0) which also optimizes over x.
In the following we show that for MNLD, (S0) can be reduced to a linear integer program, the
solution of which is relatively easy. MNLD was first introduced by van Ryzin and Liu (2004) in
the airline network revenue management context.
P
Let l l L be such that lL l = , where l is the probability of a customer arrival in
segment l for a given period. Plugging in the MNLD choice probabilities, (S0) becomes
!
P
P
X l jN ulj vlj [fj i aij Vt+1,i ]
X
l
P
(S-MNLD) max
lL
xi aij ulj
i, j Nl , l L
xi {0, . . . , ci } i
ul {0, 1}|Nl |
l L.
If the integrality constraints are relaxed, the optimization problem above belongs to a class of
optimization problems called Generalized Linear-Fractional Programs (see,e.g. Boyd and Vandenberghe, 2004). A general approach to solve such a problem efficiently is not available. See Schaible
and Shi (2003) for a recent review of literature on this subject.
If x is fixed, (S-MNLD) becomes a linear fractional program with integrality constraints,
which can be reduced to a linear integer program through change of variables. In van Ryzin and
Liu (2004), an efficient greedy algorithm is devised to solve the problem in that case. When the
optimization is on both x and u as in (S-MNLD), one way to solve the problem is to optimize
over x and u sequentially and iterate. It can be shown that such a procedure will not necessarily
lead to an optimal solution.
In the following, we show that (S-MNLD) can be reduced to an equivalent linear integer program by exploiting the structure of the problem. In particular, we use the fact that the consideration
sets are disjoint and that ulj is binary.
12
Let
ulj
jNl vlj ulj + vl0
1
l = P
jNl vlj ulj + vl0
zlj = P
j Nl , l L
(21)
l L.
(22)
jNl
l 0 l.
(23)
lL jNl
aij zlj
xi
l
i, j Nl , l L
(24)
xi {0, . . . , ci } i
zlj {0, l } j Nl , l L
X
vlj zlj + vl0 l = 1 l L
(25)
l 0
(27)
(26)
jNl
l.
Lemma 2 (S-MNLD) is equivalent to (S-MNLD1); i.e., both optimization problems have the
same optimal objective value and an optimal solution to one can be obtained from an optimal
solution of the other.
Proof. Since (S-MNLD1) is obtained from (S-MNLD) through change of variables, it can
be easily shown that an optimal solution to (S-MNLD) is a solution to (S-MNLD1) and both
optimization problems have the same objective value at the solution.
Suppose (
x, z,
) is an optimal solution to (S-MNLD1). From (25) and (26), we must have
>
0. Let u
lj = zlj /
l l, j. Then (
x, u
) clearly satisfies the constraints in (S-MNLD). Furthermore,
l, j,
u
lj
u
lj
l
zlj
P
=P
=P
= zlj ,
lj vlj + vl0
lj vlj
l + vl0
l
lj vlj + vl0
l
jNl u
jNl u
jNl z
where the last equation follows by using (26). It then follows that the two optimization problems
have the same objective value at the given solution. This completes the proof.
From Lemma 2, it suffices to solve (S-MNLD1). There is potentially one difficulty in solving
(S-MNLD1): the constraint (24) is nonlinear. However, we show that if vl0 > 0 l L and
aij {0, 1} i, j it can be replaced by an equivalent linear constraint.
13
Theorem 2 Suppose vl0 > 0 for all l L and aij {0, 1}. We only need to solve the following
linear integer program to find the maximum reduced profit for each t > 1
"
#
XX
X
X
(S-MNLD2)
max
l vlj fj
aij Vt+1,i zlj
(Vt,i Vt+1,i ) xi t + t+1
x,z,
lL jNl
i, j Nl , l L
xi {0, . . . , ci }
(28)
zlj {0, l } j Nl , l L
X
vlj zlj + vl0 l = 1 l L
(29)
jNl
l 0
l.
Proof. We will show that the feasible region does not change before and after replacing the
constraint (24) by (28). From (26),
1
1
l
v
+
v
v
l0
l0
jNl lj
xi
aij zlj
aij vl0 zlj
l
l L.
(30)
i, j Nl , l L.
Hence all feasible solutions to (S-MNLD1) satisfy (28). Next we show that by replacing (24) with
(28), all feasible solutions satisfy (24). Let (
x, z, )
be a feasible solution after (24) is replaced by
i 1, then
(28). For fixed i, if x
i = 0, then zlj = 0 from (28) for all j such that aij > 0; if x
aij zlj
zlj
x
i 1 l since l {0, 1} and aij {0, 1}; note that from (30)
> 0. This shows that any
feasible solution after replacing the constraint is also feasible for (24). This completes the proof.
Subsequently, we will refer to (S-MNLD2) as the column generation subproblem.
Some existing linear programming solvers, such as CPLEX, provide ways to handle (29) directly.
If the constraint needs to be dealt with explicitly, we can replace it with several linear constraints.
Let M be a big number. Then (29) can be replaced by the following set of constraints
zlj l M (1 lj ) j Nl , l L
zlj M lj
0 zlj l
lj {0, 1}
j Nl , l L
j Nl , l L
l L, j N.
If lj = 1, then zlj = l ; otherwise if lj = 0, then zlj = 0. Let v = minl vl0 , then M can be any
number greater than 1/v.
In this section we show how to use the value function approximations to construct control policies.
14
5.1
vt (x) vt (x Aj )
aij Vt,i
,
i
a control policy in period t and state x can be computed by solving for each l
h
i
P
P
v
u
a
V
f
j
jNl lj lj
i ij t+1,i
.
P
max
v
u
+
v
ulj {0,1{xAj } }jNl
lj
lj
l0
jNl
(31)
The constraint ulj {0, 1{xAj } } in (31) incorporates the constraint on capacity. The heuristic is
motivated by the dynamic programming recursion (1). The maximization in (31) can be solved
efficiently using a simple ranking procedure. This fact was previously established by van Ryzin and
Liu (2004) and Gallego et al. (2004). The resulting policy is called ADP in Section 6.
5.2
LP Decomposition
Decomposition approaches where a network program is decomposed into many single resource
problems are widely used in practice. In van Ryzin and Liu (2004), this approach is extended
to the network revenue management problem with customer choice. Let be the vector of dual
values of the resource constraints in (LP). Given i, the value function vt (x) can be approximated
by taking
X
vt (x) vti (xi ) +
k xk .
k6=i
k akj .
(32)
k6=i
Plugging (32) into the optimality equation (1) and rearrange, we obtain
X
X
i
vti (xi ) = max
P (S) fj vti (xi ) + vti (xi aij )
i akj + vt+1
(xi ).
SN (x)
(33)
k6=i
jS
Equation (33), together with boundary conditions vi +1 (xi ) = 0 xi , determines a value function
vti () for resource i.
Repeating the above for i = 1, . . . , m gives a set of value functions {
vti ()}i , which can be used
to compute a control policy. Specifically, we use the approximation
X
vt (x)
vti (xi ).
i
Plugging this approximation into the dynamic programming recursion as in (1), a policy can be
determined by solving for each l
!
P
P i
i (x a ))
v
u
f
(
v
(x
)
j
i
i
ij
lj
lj
t
jNl
i t
P
max
t, x.
v
u
+
v
ulj {0,1{xAj } }jNl
lj
lj
l0
jNl
15
k6=i k xk
vt (x) i.
Proof. Note that vti () is the solution to the linear program (D0) with vt (x) replaced by vti (xi ) +
P
k6=i k xk . The proof is similar to the proof for Part (i) in Proposition 4 and is omitted.
Proposition 3 shows that LP decomposition produces a bound for the value function of the
problem. Although decomposition heuristic is studied in much of existing literature (see, e.g.,
Talluri and van Ryzin, 2004b), the bound in Proposition 3 is new.
5.3
where vti () is the value function for the leg-i problem. It then follows that
X
Vt,k
akj .
vt (x) vt (x Aj ) vti (xi ) vti (xi aij ) +
k6=i
(LPi )
min v1i (ci ) +
V1,k
ck
vti ()
k6=i
vti (xi )
Vt,k
xk
k6=i
i
Pj (S)(fj + vt+1
(x aij ) +
jS
i
+ (P0 (S) + 1 )(vt+1
(xi ) +
xk Vt+1,k
)
t, x, S N (x).
(35)
k6=i
Proposition 4 relates the objective value from (LPi ) to zLP , zP 1 , and the MDP value.
Proposition 4
k6=i Vt,k xk }
k6=i Vt,1 ck }
vt (x) t, x;
k6=i Vt,1 ck }
v1 (c).
P
x } v (x) for all i, t, x. We prove the
Proof. (i) We only need to prove vti (xi ) + k6=i Vt,k
t
k
proposition by induction. For t = , we note from (35) that
X
X
vi (xi ) +
V,k
xk
Pj (S)fj
x, S N (x).
k6=i
jS
It follows that
vi (xi ) +
X
k6=i
V,k
xk max
SN (x)
16
X
jS
Pj (S)fj = v (x).
This shows that the proposition holds for t = . Next, assume the proposition holds for t + 1. Then
by (35) and the inductive assumption for all x, S we have
X
X
vti (xi ) +
Vt,k
xk
Pj (S)(fj + vt+1 (x Aj )) + (P0 (S) + 1 )vt+1 (x).
k6=i
jS
vti (xi ) +
Vt,k
xk vt (x).
k6=i
(ii) The first inequality is established in Proposition 1, and the third inequality is immediate.
The last inequality is implied by Part (i). So we will only need to show the second inequality. It
P
c i. Let (V , ) be an optimal solution to (D1). From
suffices to show zP 1 v1i (ci ) + k6=i Vt,1
k
i
x t, x is a feasible solution to (LP ). This
the feasibility of (V , ) to (D1), vt (xi ) = t + Vt,i
i
i
i
establishes the inequality.
P
c } is a tighter bound of v (c) than
Part (ii) in Proposition 4 shows that mini {v1i (ci ) + k6=i Vt,1
1
k
zP 1 . Such a bound is useful because it provides a better benchmark in numerical studies.
(LPi ) has the same number of constraints as (D1) but more decision variables. So solving
(LPi ) is potentially even harder than solving (D1), although it is possible to solve the program via
column generation. Instead, we consider the following dynamic program
(
X
X
max
P (S) fj vti (xi ) + vti (xi aij )
Vt,k
akj
vti (xi ) =
xi ,SN (x)
k6=i
jS
(Vt,k
Vt+1,k
)xk
k6=i
i
(xi ).
+ vt+1
(36)
with boundary conditions vi +1 (xi ) = 0 xi , i. We can use backward recursion algorithm for dynamic programs to solve for vti (). In each iteration, the maximization problem in (36) is almost the
same as the column generation subproblem (S0). The only difference is that here in each iteration
the value of xi is fixed. As discussed in Section 4, for MNLD choice model we only need to solve
a linear mixed integer program. Proposition 5 shows that v1i (ci ) from (36) is equal to v1i (ci ) from
(LPi ).
Proposition 5 v1i (ci ) = v1i (ci ) i.
Proof. We first show that vti (xi ) vti (xi ). The proof is by induction and is similar to the proof of
Part (i) in Proposition 4. It then follows that v1i (ci ) v1i (ci ). Furthermore, by (36), vti () satisfies
the constraints in (LPi ), and is therefore feasible for (LPi ). Hence, v1i (ci ) v1i (ci ). This completes
the proof.
After vti () is determined for each i, we can use the approximation
vt (x) vt (x Aj )
n
X
i=1
17
vti (xi ) vti (xi aij )
"
#
n
X
X
i
i
max
Pj (S) fj
vt (xi ) vt (xi aij )
.
SN (x)
jS
i=1
This optimization again can be done easily for MNLD choice model.
Numerical experiments
We conducted numerical experiments to study the performance of the proposed solution approach
for (P1), the relationships among the different bounds, and the performance of the proposed policy
approaches.
In the no-choice (independent demand) setting, Adelman (2006) shows that the performance of
policies based on dynamic bid-prices depends heavily on the load factor. Because demand depends
on the offer set, the notion of load factor is not immediately clear for network choice problems.
Given choice probability P , let
X
S arg max
Pj (S)fj .
SN
jS
Note that S is a revenue-maximizing set of open products when there is ample capacity of each
resource. We call
P P
P
t=1 jS m
aij Pj (S )
Pm i=1
=
(37)
i=1 ci
the load factor. In the no-choice setting S = N and the load factor defined in (37) is the same as
the one commonly used in the literature; see, e.g., Adelman (2006).
6.1
We study the performance of the proposed algorithm to solve (P1) on randomly generated huband-spoke network instances. We implemented the solution methods using C++ and CPLEX on
an Intel Xeon 3.6GZ workstation. In the column generation algorithm for (P1), the objective value
of the restricted problem plus the sum over time of the maximum reduced profit in each period
serves as an upper bound for the optimal objective value (see Adelman, 2006). In this subsection,
we use a 5% optimality tolerance; that is the column generation procedure terminates when the
sum of the maximum reduced profit in each period over time is within 5% of the objective value of
the restricted problem.
We consider a set of hub-and-spoke network instances with K {2, 4, 8, 12} non-hub locations.
This set of instances is called HS1 subsequently. Figure 2 shows the network structure when K = 4,
where each arc in the network represents a flight leg. Half of the non-hub locations each have two
parallel flights to the hub, and the other half each have two parallel flights from the hub. There
are 2K flights in total. Table 1 shows key statistics for HS1 instances. For K = 12, there are
48 customer segments and 336 products. We assume that all products with the same origin and
destination belong to the same segment, so the number of segments is the same as the number of
18
19
6.2
We studied the relative performance of four different heuristic policies. LP is the policy specified
by (5). LPD was introduced in Section 5.2. Both LP and LPD are based on dual values from (LP)
and were previously studied by van Ryzin and Liu (2004). ADP was introduced in Section 5.1,
and ADPD was introduced in Section 5.3. In addition, we also tested each heuristic where (LP)
and (P1) are resolved 5 times for equally-spaced time intervals. Each heuristic is simulated 100
times using the same arrival streams. We tested the heuristics on four sets of instances. Table 7
reports the capacity configuration and load factor of the test instances, and Table 8 summarizes
key statistics of the simulated instances. These test instances cover a wide variety of cases with
different network structure and randomly generated choice parameters. For each set of instances,
we consider {20, 50, 100, 200, 400}.
PF1 (4 parallel flights). Parallel flights are scheduled flights on the same origin and destination on the same day. In practice, substitution among parallel flights is widely observed. We
randomly generated instances with 4 parallel flights. A single class is offered on each flight. All the
products belongs to the same segment, and the arrival probability is 0.9 in each period. The fare
is generated from Uniform[10,100]. The MNL choice parameter for product j, vj , is generated from
P
the Poisson distribution with mean 100. The no-purchase weight, v0 , equals 0.5 nj=1 vj ; hence
20
6.3
Policy results
The bounds and simulated averages for the test instances are reported in Tables 912. To make it
easy to compare the bounds and performance, we also report the relative difference of bounds and
policy performance in Tables 13 and 14.
We report four different bounds. (LP) is solved to optimality in all the examples, and the
P
v1i (ci ) + k6=i k ck }
objective value zLP is reported in the LP bound column. The value mini {
is reported in the LPD bound column. The objective value from (P1) is reported in P1 bound
P
c } is reported in
column . (P1) is solved to 0.5% of optimality. The value mini {v1i (ci ) + k6=i V1,k
k
the ADPD bound column. Note that since (P1) is not solved to optimality, the ADPD bound
inherits errors from the solution of (P1). Consequently, the reported ADPD bound is not always
tighter than P1 bound, as suggested by Proposition 4.
Our numerical results indicate that ADP can outperform LP with a revenue difference of up to
440%. Even with resolving, ADP beats LP by up to 8%. Such a difference in revenue performance
is quite significant for revenue management applications. We postulate that the difference in performance is due to the fact that (P1)-(D1) gives better bid-prices, which are time-dependent. We
should also note that the bid-price of one resource affects the set of products offered; even products
that do not use this particular resource can be affected because of customer choice among products.
This should be contrasted with the bid-price controls for the independent demand case, where the
bid-price of a particular resource only affects the controls of products that use this resource. We
also note that the performance difference between LP and ADP tends to, although not always,
21
be smaller for problems with longer time horizon. This behavior again can be attributed to the
asymptotic result of van Ryzin and Liu (2004).
6.4
Decomposition
LPD and ADPD are both based on decomposition of the network problem into many leg-based
problems. van Ryzin and Liu (2004) report that LPD performs consistently better than LP. It
is also our experience that decomposition-based approaches, including LPD and ADPD, usually
perform better than naive bid-price controls.
We are however more interested in the relative performance of LPD and ADPD. Tables 13 and
14 show that without resolving ADPD can perform up to 9% better than LPD. With resolving,
the difference can still be as high as 6%. Of course, to use ADPD, we need to solve (P1) and the
harder dynamic programming recursion outlined in Section 5.3.
The relative performance of LPD and ADPD is affected by several factors. First, it depends
on the decomposability of a particular problem. The basic decomposition idea is to decompose the
dynamic programming value function vt (x) so that
vt (x)
m
X
vti (xi ) t, x
(38)
i=1
for a set of functions {vti ()}t,i . We say a problem is fully decomposable if the approximation in
(38) is exact. To gain insights into the performance of decomposition heuristics, consider two fully
decomposable problems:
1. One flight with multiple fare classes;
2. A parallel flights problem with independent demand for each flight.
In both cases, the problems can be trivially decomposed into single-leg problems. Consequently,
the decomposition heuristics actually give an optimal policy for both problems. In fact, the bidprices from (LP) and (P1) are not needed for the decomposition.
Now, consider two modified problems:
1. A hub-and-spoke network problem with one flight for each local itinerary and very low arrival
rates for through itineraries;
2. A parallel flights problem where only a small portion of customers switch flights if their most
preferred flight is not offered.
Both problems listed above are clearly not fully decomposable because of a network effect and
a customer choice effect, respectively. However, we expect that decomposition-based approaches
work well for these problems, because the network effect and customer choice effect are weak. On
the other hand, we usually see that the relative performance difference is bigger for problems with
a stronger network effect or customer choice effect. The customer choice effect is demonstrated by
22
the results of PF1 and PF2. The two example sets differ only in the number of parallel flights.
With more parallel flights, the customer choice effect is more pronounced. Table 13 shows the
difference between LPD and ADPD is much larger for PF2 than PF1 cases.
Other factors that affect the relative performance between LPD and ADPD includes load
factor and capacity asymmetry. When load factor is either very high or very low, the performance
difference is usually small. This is not surprising since effective revenue management control is most
needed when the load factor is in an intermediate range. We also observe that when flights differ
significantly in their capacity, the performance difference is usually bigger. When flight capacity is
asymmetric, it is more likely that some resources are more critical than others. Hence, it is more
important to use accurate bid-prices in such cases.
jS
jS
For period
ti
+ 1,
xi Yti +1,x,S =
x,SN (x)
x,SN (x)
xi
xi
jS
< ci .
X
jS
Pj (S )aij Yti ,x ,S +
ci Yti ,x,S
x6=x ,S6=S
If xi = ci for all x, S such that Yti +1,x,S > 0, the left hand side equals ci , a contradiction. Repeat
the argument shows Part (i).
The proof for Part (ii) is by induction. The statement is true for t = 1 from problem definition
(xi = ci for t = 1). For 1 < t ti , suppose the statement is true for t 1. Then
X
X
X
xi Yt,x,S =
xi Yt1,x,S = ci
Yt1,x,S = ci .
x,SN (x)
x,SN (x)
x,SN (x)
x6=x ,S6=S
23
1. Vt,i
t+1,i t > ti .
V
2. Vt,i
t+1,i t < ti .
< V t + 1, i for some t t , then we can raise V to V
3. If Vt,i
i
t,i
t+1,i without loss of optimality.
Pj (S) fj
aij Vt+1,i
Vt,k
Vt+1,k
xk t + t+1
= 0.
(39)
i
jS
Vt,k
xk Vt,i
(xi + 1)
Pj (S) fj
aij Vt+1,i
Vt+1,k
Vt+1,i
jS
k6=i
0.
t + t+1
(40)
exists a Yt,x,S
> 0 for some x and S. From Lemma 3, it has the property xi = ci . By complementary
slackness, we have
"
#
X
X
X
Vt,k
xk Vt,i
ci
Pj (S) fj
aij Vt+1,i
Vt+1,k
Vt+1,i
i
jS
k6=i
t + t+1
0.
(41)
P
Now consider an x equals to x except xi = ci 1 0. From definition of ti , j Pj (S)aij = 0 for
all t < ti . Hence S is still feasible. By dual feasibility
"
#
X
X
X
Pj (S) fj
aij Vt+1,i
Vt,k
Vt+1,k
xk Vt,i
Vt+1,i
(ci 1)
jS
k6=i
t + t+1
0.
(42)
V
Combining (41) and (42) yields Vt,i
t+1,i .
Step 3. Given an optimal primal-dual solution Y , ( , V ), consider the largest t ti such
< V
that Vt,i
t+1,i . We will construct an optimal solution that satisfies (17) (or (18) if t = ti )
24
by showing the solution preserves dual feasibility and complementary slackness. Denote the new
solution ( , V ), and let it be the same as ( , V ) except that
= Vt+1,i
Vt,i
t = t + (Vt , i Vt+1,i
)ci .
Pj (S) fj
aij Vt+1,i
Vt,k
Vt+1,k
xk Vt,i
Vt+1,i
xi t + t+1
=
k6=i
jS
"
Pj (S) fj
jS
aij Vt+1,i
X
k6=i
0.
Vt,k
xk t Vt,i
ci + t+1
Vt+1,k
Vt+1,i
(43)
The inequality follows because (43) is the reduced profit under dual feasible solution ( , V ) for an
> 0. Because
x with xi = ci and a feasible set S. In particular, consider any x, S such that Yt,x,S
t ti , it follows from Lemma 3 that xi = ci and (41) holds under ( , V ). Observe that the
expression in (43) is the same as (41); i.e., the reduced profit is the same under ( , V ) as under
( , V ). Therefore, complementary slackness is preserved.
Next, we check dual feasibility and complementary slackness for period t 1 inequalities (9),
assuming t > 1. For given x, S, (9) can be rewritten as
"
#
X
X
X
Pj (S) fj
aij Vt,i
Vt1,k
Vt,k
xk Vt1,i
Vt,i
xi
k6=i
jS
t1
+ t 0.
X
X
X
Pj (S) fj
akj Vt,k
aij Vt+1,i
Vt1,k
Vt,k
xk Vt1,i
Vt+1,i
xi
jS
k6=i
(44)
k6=i
t1
+ t + (Vt,i
Vt+1,i
)ci .
(45)
(Vt,i
Vt+1,i
)
X
jS
Pj (S)aij + (ci xi ) 0.
that xi = ci and from the definition of ti that jS Pj (S)aij = 0. Therefore, the last inequality
changes to equality; i.e., complementary slackness is preserved.
and appear no where else besides considered above, and hence
The modified variables Vt,i
t
overall complementary slackness and dual feasibility is preserved. The same argument applied
successively for each smaller t leads to (17).
25
V
If no ti exists, step 2 of the argument above shows that Vt,i
t+1,i for all 1 t . The
construction procedure in step 3 can be applied to achieve Vt,i = Vt+1,i for all t. Because V+1,i = 0,
= 0 for all t, hence (17) holds for t = .
it follows that Vt,i
i
The nonnegativity of Vt,i in (19) follows from (18) and V+1,i = 0. The time monotonicity of
t given in (16) follows from (9) because x = 0 and S = is a feasible state-action pair. The
nonnegativity of in (19) follows from (16) and +1 = 0.
26
Case
# of non-hub locations
# of O-D pairs (segments)
# of resources
# of itineraries
# of products
HS1
K {2, 4, 8, 12}
2
K + K4
2K
2K + K 2
4K + 2K 2
HS2
K {2, 4, 8.16}
2K + K(K 1)
2K
2K + K(K 1)
4K + 2K(K 1)
27
50
100
200
400
800
load
factor
1.37
1.35
1.36
1.35
1.40
2,4,16
capacity
per leg
10
21
38
79
156
CPU
seconds
0.33
0.85
1.24
3.59
6.73
# non-hub locations, #
4,8,48
load
capacity
CPU
factor
per leg
seconds
1.31
6
1.98
1.39
11
2.66
1.39
22
5.87
1.42
45
12.31
1.38
88
24.93
resources, # products
8,16,160
load
capacity
CPU
factor
per leg
seconds
1.42
3
18.74
1.47
6
35.15
1.46
12
55.04
1.43
25
164.98
1.42
49
239.12
load
factor
1.54
1.53
1.37
1.43
1.43
50
100
200
400
800
2
0.24
0.42
0.86
1.18
5.72
locations
4
8
0.33 6.15
0.99 5.09
2.14 22.16
3.83 42.19
7.46 50.35
12
104.42
29.31
34.36
100.14
525.17
Table 3: CPU seconds to solve (P1) for HS1 with half the load factor.
12,24,336
capacity
CPU
per leg
seconds
2
332.77
4
150.42
9
270.63
17
557.12
34
1432.72
locations
50
100
200
400
800
zLP
4769.99
10400.20
16996.20
39471.10
69810.90
2
zP 1
4685.68
10286.70
16748.40
39334.40
69079.90
4
zLP
zP 1
1.02
1.01
1.01
1.00
1.01
zLP
7829.55
14512.40
28820.00
59009.30
114076.00
zP 1
7681.12
14304.70
28540.00
58415.30
112267.00
zLP
zP 1
1.02
1.01
1.01
1.01
1.02
zLP
8865.23
17906.80
34230.40
70714.00
137934.00
zP 1
8400.01
17343.90
33448.50
69336.90
135953.00
zLP
zP 1
1.06
1.03
1.02
1.02
1.01
zLP
8756.77
17266.10
38154.10
73638.30
144887.00
28
20
50
100
200
400
800
2,4,12
load
capacity
factor
per leg
1.81205
3
1.5718
8
1.59299
19
1.5843
34
1.58434
68
1.58774
126
# non-hub locations, #
4,8,40
load
capacity
factor
per leg
1.57753
2
1.54017
5
1.6015
10
1.58113
20
1.60127
40
1.58524
81
resources, # products
8,16,144
16,32,544
load
capacity
load
capacity
factor
per leg
factor
per leg
1.79335
1
0.92483
1
1.47362
3
2.29805
1
1.46147
6
1.53856
3
1.5985
11
1.54098
6
1.61746
22
1.66522
11
1.57865
43
1.62501
23
20
50
100
200
400
800
2
1.05
1.02
1.01
1.01
1.01
1.00
locations
4
8
1.17 1.41
1.05 1.12
1.03 1.07
1.02 1.04
1.02 1.03
1.02 1.03
16
1.53
1.35
1.13
1.07
1.05
1.04
12
zP 1
8125.07
16648.40
37198.00
72106.40
142255.00
zLP
zP 1
1.08
1.04
1.03
1.02
1.02
PF1
20
50
100
200
400
Capacity
1133
4488
8 8 16 16
20 20 30 30
40 40 60 60
PF2
Load
Factor
1.11
1.12
0.59
1.09
1.2
Capacity
11111111
22224444
44448888
9 9 9 9 16 16 16 16
20 20 20 20 30 30 30 30
HS3
Load
Factor
1.26
1.1
1.04
1.09
1.09
Capacity
11111111
22442244
44884488
9 9 15 15 9 9 15 15
17 17 31 31 17 17 31 31
HS4
Capacity
Capacity
22222222
55555555
11 11 11 11 11 11 11 11
21 21 21 21 21 21 21 21
43 43 43 43 43 43 43 43
Load
Factor
1.56
1.41
1.25
1.48
1.48
Load
Factor
1.52
1.48
1.35
1.42
1.36
29
Case
# of non-hub locations
# of O-D pairs (segments)
# of resources
# of itineraries
# of products
PF1
1
4
4
4
PF2
1
8
8
8
HS3
2
3
8
24
24
HS4
4
8
8
24
48
Re-solving
20
50
100
200
400
20
50
100
200
400
LP
bound
305.499
1734.61
1609.69
3550.27
7359.56
LPD
bound
304.261
1733.54
1609.63
3550.27
7359.56
LP
128.56
378.69
1422.97
3075.73
3393.99
281.49
1566.05
1546.57
3385.39
6932.41
Stdev
(6.41)
0.00
(194.74)
(266.17)
0.00
(34.32)
(155.77)
(77.32)
(132.20)
(283.70)
LPD
286.95
1589.82
1486.29
3341.04
7175.14
290.44
1636.20
1531.20
3433.37
7232.18
Stdev
(36.93)
(153.29)
(110.67)
(173.92)
(232.30)
(28.18)
(118.83)
(76.06)
(115.59)
(152.03)
P1
bound
301.918
1728
1608.83
3550.24
7359.56
ADPD
bound
300.085
1721.08
1608.62
3550.35
7377.72
ADP
295.74
1666.95
1462.21
3526.60
7351.05
296.18
1670.61
1564.52
3525.36
7318.45
Stdev
(19.72)
(123.85)
(163.93)
(56.33)
(42.54)
(22.04)
(114.00)
(74.23)
(55.95)
(128.24)
ADPD
289.28
1642.89
1551.98
3460.37
7295.36
296.11
1666.27
1575.57
3518.41
7338.04
Stdev
(31.14)
(117.78)
(83.33)
(137.83)
(144.87)
(23.19)
(102.39)
(50.46)
(70.71)
(67.18)
Re-solving
20
50
100
200
400
20
50
100
200
400
LP
bound
424.272
1177.18
2498.59
6263.01
12620.3
LPD
bound
422.495
1172.82
2498.59
6262.97
12620.3
LP
166.18
1071.83
1573.23
4596.93
11500.01
360.35
1047.74
2276.78
5867.58
12029.51
Stdev
(14.04)
(107.29)
(21.80)
(520.95)
(454.43)
(55.75)
(96.35)
(135.91)
(238.17)
(393.85)
LPD
390.77
1001.83
2249.15
5294.28
11427.90
389.41
1069.40
2346.49
5899.84
12131.83
Stdev
(40.86)
(125.58)
(174.79)
(400.87)
(651.68)
(39.64)
(90.52)
(128.18)
(251.61)
(336.61)
P1
bound
399.752
1149.93
2493.98
6250.53
12618.3
ADPD
bound
399.925
1135.45
2496.9
6260.75
12663.7
ADP
395.81
1106.87
2443.76
6040.58
12543.88
391.99
1105.67
2449.23
6145.10
12496.28
Stdev
(36.65)
(87.33)
(78.10)
(213.50)
(161.25)
(41.23)
(91.97)
(71.97)
(136.46)
(182.70)
ADPD
395.04
1094.14
2397.51
5998.74
12354.94
393.57
1114.75
2445.00
6116.54
12520.95
Stdev
(38.32)
(99.16)
(119.18)
(297.17)
(370.28)
(38.61)
(82.59)
(70.29)
(182.68)
(163.59)
30
Re-solving
20
50
100
200
400
20
50
100
200
400
LP
bound
282.75
885.26
936.57
3322.46
6680.41
LPD
bound
276.20
873.80
931.79
3316.06
6674.38
LP
198.47
708.21
828.25
2787.66
6123.25
219.84
748.63
844.74
3088.68
6368.18
Stdev
(69.10)
(133.30)
(107.30)
(277.20)
(403.73)
(61.51)
(113.22)
(81.24)
(184.74)
(242.72)
LPD
215.59
728.02
849.25
3110.89
6393.09
223.02
768.14
875.66
3169.09
6486.49
Stdev
(61.70)
(131.93)
(96.11)
(242.15)
(319.41)
(60.54)
(99.57)
(74.21)
(167.84)
(222.64)
P1
bound
250.24
854.10
923.70
3307.20
6664.83
ADPD
bound
250.49
843.17
920.54
3314.41
6681.96
ADP
235.58
772.03
847.81
2894.62
6226.28
237.25
785.59
877.89
3166.23
6432.14
Stdev
(51.41)
(109.20)
(72.71)
(275.36)
(305.55)
(48.66)
(98.27)
(73.81)
(176.80)
(278.87)
ADPD
235.58
779.50
881.78
3134.01
6480.61
237.17
791.82
885.71
3229.29
6522.37
Stdev
(51.23)
(113.09)
(70.62)
(220.60)
(275.52)
(48.05)
(93.28)
(62.41)
(122.21)
(214.97)
Re-solving
20
50
100
200
400
20
50
100
200
400
LP
bound
2534.41
6418.83
13889.00
26454.40
55660.10
LPD
bound
2501.63
6388.56
13877.90
26422.00
55611.30
LP
1790.82
3965.17
11110.40
22504.33
51122.14
1963.30
5398.34
12279.58
24357.47
51863.12
Stdev
(386.52)
(753.34)
(1115.40)
(1341.46)
(2409.41)
(379.91)
(537.58)
(862.97)
(1169.01)
(1961.96)
LPD
1975.15
5478.94
12933.26
24437.91
53684.53
2054.06
5642.24
12929.16
24901.04
53722.25
Stdev
(367.98)
(579.81)
(728.68)
(1243.38)
(1666.95)
(332.89)
(460.03)
(687.85)
(947.68)
(1315.53)
P1
bound
2371.81
6300.67
13660.20
26347.20
55409.80
ADPD
bound
2369.42
6292.95
13671.60
26413.10
55541.50
ADP
2053.02
5626.97
12848.76
24319.58
51638.53
2095.46
5769.49
12805.56
24783.93
52225.56
Stdev
(328.91)
(558.80)
(716.39)
(1261.57)
(2300.02)
(312.13)
(486.50)
(796.65)
(1060.12)
(1864.89)
ADPD
2095.84
5783.79
12912.86
25081.66
53712.35
2082.81
5793.13
12980.10
25117.72
53855.08
31
PF1
Re-solving
20
50
100
200
400
20
50
100
200
400
LP bound
P1 bound
101.19%
100.38%
100.05%
100.00%
100.00%
LPD bound
ADPD bound
101.39%
100.72%
100.06%
100.00%
99.75%
PF2
ADP
LP
230.04%
440.19%
102.76%
114.66%
216.59%
105.22%
106.68%
101.16%
104.13%
105.57%
ADPD
LPD
100.81%
103.34%
104.42%
103.57%
101.68%
101.95%
101.84%
102.90%
102.48%
101.46%
LP bound
P1 bound
106.13%
102.37%
100.18%
100.20%
100.02%
LPD bound
ADPD bound
105.64%
103.29%
100.07%
100.04%
99.66%
ADP
LP
238.18%
103.27%
155.33%
131.40%
109.08%
108.78%
105.53%
107.57%
104.73%
103.88%
ADPD
LPD
101.09%
109.21%
106.60%
113.31%
108.11%
101.07%
104.24%
104.20%
103.67%
103.21%
Table 13: Relative difference in bounds and policy performance for parallel flights instances PF1 and PF2.
Stdev
(338.19)
(462.26)
(736.21)
(1095.66)
(1654.14)
(313.85)
(459.11)
(690.57)
(946.74)
(1369.68)
HS3
Re-solving
32
5
20
50
100
200
400
20
50
100
200
400
LP bound
P1 bound
112.99%
103.65%
101.39%
100.46%
100.23%
LPD bound
ADPD bound
110.27%
103.63%
101.22%
100.05%
99.89%
HS4
ADP
LP
118.70%
109.01%
102.36%
103.84%
101.68%
107.92%
104.94%
103.92%
102.51%
101.00%
ADPD
LPD
109.27%
107.07%
103.83%
100.74%
101.37%
106.34%
103.08%
101.15%
101.90%
100.55%
LP bound
P1 bound
106.86%
101.88%
101.67%
100.41%
100.45%
LPD bound
ADPD bound
105.58%
101.52%
101.51%
100.03%
100.13%
ADP
LP
114.64%
141.91%
115.65%
108.07%
101.01%
106.73%
106.88%
104.28%
101.75%
100.70%
ADPD
LPD
106.11%
105.56%
99.84%
102.63%
100.05%
101.40%
102.67%
100.39%
100.87%
100.25%
Table 14: Relative difference in bounds and policy performance for hub-and-spoke network instances HS3 and HS4.
References
D. Adelman. Dynamic bid-prices in revenue management. Forthcoming in Operations Research,
2006.
P. P. Belobaba and L. R. Weatherford. Comparing decision rules that incorporate customer diversion in perishable asset revenue management situations. Decision Sciences, 27(2):343363,
1996.
D. P. Bertsekas and J. N. Tsitsiklis. Neuro-Dynamic Programming. Athena Scientific, Belmont,
MA, 1996.
S. Boyd and L. Vandenberghe. Convex Programming. Cambridge University Press, 2004.
S. L. Brumelle, J. I. McGill, T. H. Oum, K. Sawaki, and M. W. Tretheway. Allocation of airline
seats between stochastically dependent demands. Transportation Science, 24(3):183192, 1990.
D. de Farias and B. Van Roy. The linear programming approach to approximate dynamic programming. Operations Research, 51(6):850865, 2003.
G. Gallego, G. Iyengar, R. Phillips, and A. Dubey. Managing flexible products on a network. CORC
Technical Report Tr-2004-01, IEOR Department, Columbia University, 2004.
M. L. Puterman. Markov Decision Processes: Discrete Stochastic Dynamic Programming. John
Wiley & Sons, New York, 1994.
S. Schaible and J. Shi. Fractional programming: The sum-of-ratios case. Optimization Methods
and Software, 18(2):219229, 2003.
P. Schweitzer and A. Seidmann. Generalized polynomial approximations in Markovian decision
processes, 1985.
K. Talluri and G. van Ryzin. Revenue management under a general discrete choice model of
consumer behavior. Management Science, 50(1):1533, 2004a.
K. Talluri and G. van Ryzin. The Theory and Practice of Revenue Management. Kluwer Academic
Publishers, 2004b.
G. van Ryzin and Q. Liu. On the choice-based linear programming model for network revenue
management. Working paper, Columbia Graduate School of Business, 2004.
G. van Ryzin and G. Vulcano. Simulation-based optimization of virtual nesting controls under
consumer choice behavior. Working paper, Columbia Graduate School of Business, 2004.
D. Zhang and W. L. Cooper. Revenue management for parallel flights with customer-choice behavior. Operations Research, 53(3):415431, 2005.
33
D. Zhang and W. L. Cooper. Pricing substitutable flights in airline revenue management. Working
paper, Graduate School of Business, University of Chicago, 2006.
W. Zhao and Y.-S. Zheng. A dynamic model for airline seat allocation with passenger diversion
and no-shows. Transportation Science, 35(1):8098, 2001.
34