ARTICLE IN PRESS
JID: EOR
[m5G;May 27, 2016;17:30]
European Journal of Operational Research 0 0 0 (2016) 1–9
Contents lists available at ScienceDirect
European Journal of Operational Research journal homepage: www.elsevier.com/locate/ejor
Decision Support
A new bid price approach to dynamic resource allocation in network revenue management M. Hosseinalifam a,∗, P. Marcotte b, G. Savard c a
ExPretio Technologies, 200 Laurier Avenue West, Suite 400, H2T 2N8 Montréal, Québec, Canada DIRO, Université de Montréal, C.P. 6128, succursale Centre-Ville, H3C 3J7 Montréal, Québec, Canada c MAGI, École Polytechnique de Montréal, C.P. 6079, succursale Centre-Ville, H3C 3A7 Montréal, Québec, Canada b
a r t i c l e
i n f o
Article history: Received 15 August 2014 Accepted 29 April 2016 Available online xxx Keywords: Bid price Customer choice behavior Network capacity control Revenue management
a b s t r a c t Firms selling perishable products use a variety of techniques to maximize revenue through the dynamic control of their inventories. One of the most powerful and simple approaches to address this issue consists of assigning threshold values (“bid prices”) to each resource, and to accept requests whenever their revenue exceeds the sum of the bid prices associated with its constituent resources. In this context, we propose a new customer choice-based mathematical program to estimate time-dependent bid prices. In contrast with most approaches from the current literature, ours is characterized by its flexibility. Indeed, it can easily embed technical and practical constraints that occur in most central reservation systems (CRS). To solve the model, we develop a column generation algorithm, in which the NP-hard subproblem is addressed via an efficient heuristic procedure. Our computational results illustrate the performance of the method, through comparisons with alternative proposals. Crown Copyright © 2016 Published by Elsevier B.V. All rights reserved.
1. Introduction In network revenue management, capacity control involves the design of rules that specify whether individual requests for products should be accepted or not, taking into account that products use resources that are in limited supply. Since the aim is to maximize revenue by controlling resource availability over a prespecified booking horizon, this issue is the core of the optimization process. A popular means of addressing it is through ‘bid prices’, which were introduced by Simpson (1989) and Williamson (1992). According to this policy, a request for an available product is accepted if and only if the revenue exceeds the sum threshold values (bid prices) associated with the product’s constituent resources (Talluri & Van Ryzin, 2005). Among the many approaches to optimal resource allocation that have been proposed in this context, some take explicitly into account the choice behavior of rational customers. This is the case of the deterministic linear programming formulation CDLP introduced by (Bront, Méndez-Díaz, & Vulcano, 2009). However, due in part to the computational complexity of solving CDLPs of practical sizes, most Central Reservation Systems (CRS) implement bid
prices or set booking limits1 on the number of products that can be accessed (Meissner & Strauss, 2012a). In the airline industry, bid price controls have become the method of choice for seat inventory control problem for other reasons as well. First, since in each period a single value (bid price) is assigned to each resource — the number of which is generally far fewer than the number of products in most real-world network settings — the number of decision parameters is greatly reduced. Next, the decision-making process can be implemented quickly and very simply. Indeed, whenever a request arrives, one only needs to compare the revenue to the sum of the corresponding bid prices. Finally, the concept of bid price control is intuitive and easy to understand. Even if the approach cannot theoretically guarantee the optimal revenue, good bid prices can yet lead to a significant revenue increase. In some cases, asymptotic optimality can even be proved under weak assumptions (Talluri & Van Ryzin, 2005). Talluri and van Ryzin (1998) provided the theoretical foundations for the bid price approach. In particular, they extended the initial approximation of bid price values as the opportunity cost of one additional capacity unit by Simpson (1989) and Williamson (1992). They specified bid prices for each resource, each time
∗
Corresponding author. Tel.: +1 5149671470. E-mail addresses:
[email protected] (M. Hosseinalifam),
[email protected] (P. Marcotte),
[email protected] (G. Savard).
1 In the airline industry, this refers to policies that set bounds on fare products. Bid price policies can be interpreted as ‘dual’ methods that achieve a similar goal.
http://dx.doi.org/10.1016/j.ejor.2016.04.057 0377-2217/Crown Copyright © 2016 Published by Elsevier B.V. All rights reserved.
Please cite this article as: M. Hosseinalifam et al., A new bid price approach to dynamic resource allocation in network revenue management, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.04.057
ARTICLE IN PRESS
JID: EOR 2
M. Hosseinalifam et al. / European Journal of Operational Research 000 (2016) 1–9
period, each capacity. They also provided a two-period counterexample that showed that bid prices do not necessarily yield an optimal control policy. More recently, (Topaloglu, 2009) showed how to compute bid prices that depend on residual resource capacities, through the Lagrangian relaxation of certain capacity constraints. In the context of choice based network revenue management, (Chaneton & Vulcano, 2011) proposed a bid price policy for addressing a continuous capacity/demand model. The model allows a simple calculation of the revenue function’s sample path gradient, which is then embedded within a stochastic steepest ascent algorithm that converges towards a stationary point of the revenue function. In the static case, (Chaneton, Méndez-Díaz, Vulcano, & Zabala, 2010) developed a framework for solving the CDLP linear program, by focusing on offer sets that are compatible with at least one bid price policy. This feature is shared by our model, where the compatibility condition explicitly enters the column generation framework. In a recent work, (Meissner & Strauss, 2012a) describes a heuristic that iteratively improves an initial guess of bid prices. Those bid prices could be provided by a dynamic estimate of the capacities’ marginal values. Based on the customer choice-based deterministic linear programming paradigm, this paper’s main contribution is the design of a procedure for determining time-dependent bid prices that is numerically efficient and achieves strong revenue performance. The model’s structure enables to consider the topology (hub-andspoke) of the network, the business rules specific to the industry, as well as the behavior of customers, who base their purchase decisions upon the products’ attributes of the products and their willingness to pay. In order to solve realistic instances, we develop a column generation algorithm that is based on an efficient heuristic procedure for solving the NP-hard subproblem, in the spirit of Chaneton et al. (2010). In parallel, we introduce two filtering approaches that reduce the size of the problem. These are compatible with arbitrary control policies and allow the exact solution of small instances by off-the-shelf solvers. The rest of the paper is organized as follows. Section 2 is devoted to the formulation of the inventory management model, i.e., a bid price model for choice-based network revenue management. Solution algorithms are presented in Section 3. In Section 4, we provide computational results, as well as comparisons with alternative approaches from the recent literature. Finally, concluding comments and avenues for further research are outlined in Section 5. 2. Problem formulation In this section, we introduce the general definitions and notation, and provide mathematical formulations of the bid price model. 2.1. General definitions and notation Let us consider a set of products j ∈ J = {1, 2, . . . , |J|}, composed of resources i ∈ I = {1, 2, . . . , |I|}. The use of resources i ∈ I = {1, 2, . . . , |I|} by the products is specified by an incidence matrix A of dimension |I| × |J|, whose binary elements are defined as
ai j =
[m5G;May 27, 2016;17:30]
1, 0,
if resource i is used by product j, otherwise.
We associate with each product a revenue (fare) rj , and with each resource a capacity ci . We denote by r (respectively c) the fare (respectively capacity) vector. To account for the heterogeneity of the population, customers are partitioned into segments indexed by l ∈ L = {1, 2, . . . , |L|} and is characterized by attributes: time, price, path preferences, etc.
The probability that a customer belong to segment l is given by pl . We associate with each segment l the consideration set l , which specifies the subset of products considered by a customer belonging to segment l. The utility of product j to a member of segment l is denoted by vl j . Time t ∈ T = {1, 2, . . . , |T |} runs forward in discrete increments. Within each time period t, the firm must decide which subset S ⊆ J of products is made available to customers. The binary variable ξ j (S) is then set to 1 if product j belongs to set S, and to 0 otherwise. The arrival process of customers is governed by independent Poisson processes of respective rates λl = λ pl . The total arrival rate |L| is then λ = l=1 λl . Let Pj (S) denote the probability that a customer select product j, and let P0 (S ) = 1 − j∈S Pj (S ) be the residual probability associated with the no-purchase option. Assuming that customers’ choice probabilities are dictated by a discrete choice model, the probability that customer l select an available product j ∈ S is given by
Pl j (S ) =
=
vl j
vl0 + vl0 +
h∈l ∩S
(1)
vlh
ξ j ( S )vl j h∈J ξh (S )vlh
(2)
This definition is compatible with the multinomial logit choice model, where vl j is the value assigned to product j by a customer from segment l. We set vl j = 0 if ∈ l . Since the firm does not have prior knowledge of the segment associated with an arriving customer, the probability that a product j be selected is given by | L|
Pj (S ) =
pl Pl j (S ).
(3)
l=1
For a specific offer set S, the expected revenue is expressed as
R (S ) =
r j Pj (S ).
(4)
j∈S
Now, let Qi (S) denote the probability of using a unit of resource i ∈ I, regrouped into the vector Q(S). Letting P (S ) = (P1 (S ), . . . , Pn (S )) , we can write
Q (S ) = AP (S ).
(5)
Based on this notation, a bid price policy assigns to each resource i a bid price π i . According to a policy π = (πi )i∈I , a product j ∈ S is offered at time t, i.e., j belongs to S, if and only if
rj ≥
ai j πit .
(6)
i∈I
2.2. Model formulation I For each time index t ∈ T, let us denote by ξ jt the binary variable that specifies whether product j belongs to the set S at time t, and by ξ the vector obtained by concatenation of these variables. The bid price policy that achieves the highest return is than an optimal solution for the mathematical program:
BID-Ia:
max ξ ,π
subject to λ pl ai j t∈T j∈J
rj >
ai j πit
λ pl r j
t∈T j∈J l∈L
ξ jt vl j
vl0 + ⇔
h∈J
ξht vlh
ξ jt vl j
vl0 +
≤ ci
h∈J
ξht vlh
∀ i ∈ I,
ξ jt = 1 ∀ t ∈ T , ∀ j ∈ J,
,
(7)
(8)
(9)
i∈I
Please cite this article as: M. Hosseinalifam et al., A new bid price approach to dynamic resource allocation in network revenue management, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.04.057
ARTICLE IN PRESS
JID: EOR
[m5G;May 27, 2016;17:30]
M. Hosseinalifam et al. / European Journal of Operational Research 000 (2016) 1–9
ξ jt ∈ {0, 1} ∀ t ∈ T , ∀ j ∈ J.
(10)
Upon the introduction of variables
y jt =
ξ jt vl j
vl0 +
h∈J
max y,π ,ξ
ξht vlh
λ pl r j y jt ,
(11)
t∈T j∈J l∈L
subject to λ pl ai j y jt ≤ ci
∀ i ∈ I,
(12)
t∈T j∈J
rj −
i∈I
ai j πit
M1
∀t ∈ T , ∀ j ∈ J, y jt
vl0 +
≤ ξ jt ≤ 1 +
rj −
i∈I
M1
ai j πit
−
(13)
ξht vlh = ξ jt vl j
(14)
(19)
∀ t ∈ T , ∀S ⊆ J,
(20)
Xt (S ) ∈ {0, 1}
which is closely related to the model of Liu and van Ryzin (2008) or Bront et al. (2009), and where the decision variable Xt (S) represents the fraction of the booking period over which the set S is offered. Note that our variant is more flexible, as it allows for time-dependent constraints and controls. Notwithstanding this feature, both formulations can be easily converted to each other (Kunnumkal & Topaloglu, 2008). A drawback of MIP-I is that it may involve sets that are inducible by no bid price policy (Talluri & Van Ryzin, 2005). To sidestep this difficulty, we enforce compatibility between choice sets and some bid price vector π . More precisely, we restrict our attention to the offer sets that satisfy the two inequalities
rj ≥
rj <
(15)
In the above, a product is inserted into S only if its revenue strictly exceeds its bid price by at least the threshold value . To linearize BID-Ib, it suffices to introduce the variables
zh jt = ξht y jt and, for some suitably large constant M2 , the set of constraints:
zh jt ≤ y jt
ai j πit
∀ j ∈ S,
(21)
ai j πit
∀ j ∈ S.
(22)
i
According to these constraints, a request for a product is accepted if and only if its revenue exceeds its bid price and it will be rejected if its revenue is strictly less than its bid price. For practical reasons, and as mentioned previously, one replaces the second strict inequality by
rj ≤
ai j πit −
∀ j ∈ S,
(23)
i
zh jt ≥ y jt + M2 (ξht − 1 )
ξht
for every triple (j, h, t) ∈ J × J × T. BID-Ib provides direct control over products at any booking period. This information is especially useful for implementing business rules involving correlated products, for instance when airlines stop offering promotion fares in all cabins when the capacity of the promotion fare is reached for some cabin. Other popular business rules involve non-reopening, enforcing nested orders, etc., and are discussed in Hosseinalifam, Savard, and Marcotte (2016). Although the number of binary variables in BID-Ib only grows polynomially with respect to the number of products, resources and periods, it is yet very large. For this reason, we developed an alternative formulation whose structure is amenable to efficient algorithmic approaches.
The second formulation is based on the choice-based model introduced by Gallego, Iyengar, Phillips, and Dubey (2004) and further refined by Liu and van Ryzin (2008) and Bront et al. (2009), where customers choice sets may overlap. In this framework, the binary variable Xt (S) denotes whether or not the set S is offered at time t. Let us consider the mixed integer linear program
max X
λR(S )Xt (S )
where is a threshold value that removes the degeneracy issue that would arise when revenue and bid price coincide, and agrees with industry practice. We denote by the set of offer sets that are bid-price compatible. This yields
MIP-II:
max X∈
λR(S )Xt (S )
(24)
t∈T S⊆J
subject to
λQi (S )Xt (S ) ≤ ci ∀ i ∈ I,
(25)
∀ t ∈ T,
(26)
t∈T S⊆J
Xt (S ) ≤ 1,
S⊆J
2.3. Model formulation II
subject to
∀ t ∈ T,
Xt (S ) ≤ 1,
i
∀ j ∈ J, ∀h ∈ J, ∀l ∈ L, ∀t ∈ T , ξ jt ∈ {0, 1} ∀ t ∈ T , ∀ j ∈ J.
MIP-I:
(18)
S⊆J
h∈J
zh jt ≤
λQi (S )Xt (S ) ≤ ci ∀ i ∈ I,
t∈T S⊆J
and a big-M constant M1 , BID-Ia can be recast as the mixed integer nonlinear program
BID-Ib:
3
(16)
t∈T S⊆J
(17)
Xt (S ) ∈ {0, 1}
∀ t ∈ T , ∀ S ⊆ J,
(27)
In contrast with the BID-I formulation, MIP-II involves an exponential number of variables. However, as we shall see in the next section, its structure makes it amenable to efficient algorithms. 3. Solution approaches The MIP-II model involves a number of variables that is exponential with respect to the number |J| of products. Depending on its size, we consider two solution approaches.
Please cite this article as: M. Hosseinalifam et al., A new bid price approach to dynamic resource allocation in network revenue management, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.04.057
ARTICLE IN PRESS
JID: EOR 4
[m5G;May 27, 2016;17:30]
M. Hosseinalifam et al. / European Journal of Operational Research 000 (2016) 1–9
3.1. Small and medium-sized instances When the number of products is small, one can enumerate the sets that belong to and solve MIP-II via an off-the-shelf solver. This could simply be achieved by enumerating all possible combinations of products, and dropping those for which there does not exist a consistent vector π , i.e., a vector that satisfies the system of equations . It is also possible to identify, offline, sets that cannot belong to an optimal solution, through an ‘efficiency’ certificate that takes the form of a probability vector α (S).
subject to λQi (S )Xt (S ) ≤ ci
Definition 3.1. Let {α (S )}S∈2J be a probability distribution on 2J . We say that S¯ ⊆ J is inefficient if the following two inequalities hold:
¯ is a restricted subset of variables compatible with some where bid price control policy. Let κ i be the dual variable (multiplier) associated with the ith capacity constraint, and σ t the multiplier associated with the tth time constraint. A variable with largest positive reduced cost, to ¯ , is then obtained by solving the column be inserted in the set generation subproblem
Q (S¯ ) ≥
α ( S )Q ( S )
S⊆J
R(S¯ ) <
α ( S )R ( S ).
(28)
S⊆J
Xt (S ) ≤ 1,
0 ≤ Xt (S ) ≤ 1
Otherwise, it is efficient.
ES:
max
α
R ( S )α ( S )
(29)
S⊆J
subject to Qi ( S )α ( S ) ≤ Qi ( θ )
∀i,
(30)
S
α ( S ) ≤ 1,
S⊆J
α (S ) ≥ 0 ∀ S
(31)
that involves an exponential number of variables. Whenever the objective of ES exceeds R(θ ), the corresponding set θ is inefficient and can be removed. To solve ES, one may resort to column generation or to heuristics. Note that the operations mentioned in this section need only be performed off-line, and thus might be envisioned if the system needs to be reoptimized on a frequent basis. 3.2. Large instances For problems that are too large to be addressed directly, and taking into account that the ultimate goal is to derive bid prices (rather than offer sets), we propose a column generation approach for solving the linear programming relaxation of MIP-II, which involves a small number |I| + |J| of constraints. At a generic iteration, we consider the Reduced Master Problem (RMP)
RMP:
max X
t∈T S∈ ¯
λR(S )Xt (S )
(32)
(33)
∀ t ∈ T,
(34)
¯, ∀ t ∈ T , ∀S ∈
(35)
¯ S∈
SUB:
According to this definition, a set S¯ is inefficient if a randomization of sets achieves an expected revenue that is strictly greater than the revenue of S¯, with no increase in the conditional usage of capacity Q (S¯ ). It has been proved by Liu and van Ryzin (2008) that any optimal solution of MIP-I must be efficient. Finding efficient sets is computationally NP-Hard, which explains why various heuristic approaches have been developed for addressing this issue, most of them requiring the (implicit) enumeration of feasible subsets, which is computationally challenging for large scale instances. Whenever customer segments are disjoints, a simple ‘nesting by fare’ order yields all efficient sets. However, in the case of overlapping segments, this approach is not valid anymore (Liu & van Ryzin, 2008), and one might have to check efficiency through the solution of the linear program
∀ i ∈ I,
t∈T S∈ ¯
max {λR(S ) − λκ Q (S )} − S∈
σt ,
(36)
t∈T
where the last term can be removed from the maximization, since it is independent of S and therefore has no influence on the optimal solution. Now, let yj be a binary variable that assumes value 1 if j ∈ S, and 0 otherwise. These are in one-to-one correspondence with subsets of J and, upon introduction of a suitably large ‘big-M’ constant M, the bid-price compatibility constraints can be written as
r j + ( 1 − y j )M ≥
a i j πi +
∀ j ∈ J,
(37)
i
a i j πi ≥ r j ( 1 − y j )
∀ j ∈ J,
(38)
i
and we denote by Y¯ the set of bid-price compatible binary vectors y. Now, replacing R(S) and Q(S) by their respective expressions (4) and (5), and letting w j = r j − Aj κ , the subproblem takes the form
SUB:
max y∈Y¯
L l=1
λl
w j vl j y j . v h∈l lh yh + vl0 j∈l
(39)
Whenever the optimum of (39) exceeds t∈T σ t , the offer set cor¯ , which is reoptimized responding to the binary vector y enters on the enriched subset. Otherwise, an optimal solution to the RMP has been found and the algorithm halts. The crux of the method consists in solving the fractional problem (SUB), which has been proved to be NP-hard, even in the absence of compatibility constraints (see Bront et al., 2009). In the next section, we address this issue. 3.3. Solving the column generation subproblem A number of algorithms have been proposed for addressing the fractional problem (39) in the absence of compatibility constraints. A review of these approaches can be found in Bront et al. (2009) and Hosseinalifam (2009). However, these cannot easily be adapted to our subproblem, especially when the number of products becomes large. In this section, our aim is to present a solution procedure that is efficient, both in terms of computational complexity and solution quality. First, let us consider the problem of maximizing the ratio of affine functions
max x
m P (x ) j=1 p j x j = m , D (x ) j=1 d j x j
(40)
Please cite this article as: M. Hosseinalifam et al., A new bid price approach to dynamic resource allocation in network revenue management, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.04.057
ARTICLE IN PRESS
JID: EOR
[m5G;May 27, 2016;17:30]
M. Hosseinalifam et al. / European Journal of Operational Research 000 (2016) 1–9
5
where the denominator D(x) is strictly positive. A classical algorithm, due to Dinkelbach (see Schaible, 1981), is based on the solution of the parametric linear program
max P (x ) − ρ D(x ).
(41)
x
Let x(ρ ) be an optimal solution of the above program. It has been proved that x(ρ ) is an optimal solution of the original fractional program if and only if P (x(ρ )) − ρ D(x(ρ )) = 0. The quest for an optimal ρ can then be performed by binary search or any other suitable technique. For instance, it is natural, at iteration k + 1, to update ρ k according to the formula
ρk =
Fig. 1. Parallel flight example: network.
P ( xk ) . D ( xk )
Table 1 Parallel flight example: products.
Almogy and Levin (1971) proposed an extension of this idea to the sum of ratios problem n Pi (x ) max , Di ( x )
(42)
i=1
which is NP-hard (see Falk & Palocsay, 1992). Specifically, their algorithm iteratively solves the parametric linear program
max x
n
Pi (x ) − ρik Di (x ),
(43)
i=1
where the parameters are updated according to:
ρik
Pi (xk ) = . Di ( xk )
The algorithm halts when the objective is (close to) zero. Although a numerical example provided by Falk and Palocsay (1992) shows that this approach might fail to yield an optimal solution, it has been observed that the performance of this polynomial algorithm is frequently very good. For this reason, we decided to adapt it to our column generation subproblem, yielding algorithm CGSUB described below. Algorithm 1 Algorithm CGSUB Step 1 (Initialization) Set k = 0 and let y0 ∈ Y¯ . Let be a small positive number. Step 2 (parameter update)
ρ = k l
j∈l
i∈l
w j vl j ykj
vl j yki + vl0
,
∀l ∈ L.
Step 3 (solution update)
yk+1 ∈ arg max Gk+1 (ρ ) = y∈Y¯
j∈l
l∈L
w j vl j y j − ρlk ( j∈Cl vl j y j + vl0 ) . k j∈l vl j y j + vl0
Step 4 (stopping criterion) If |Gk+1 (ρ )| ≤ then stop. Step 5 (loop) Return to Step 2. This heuristic procedure, which iteratively solves linear programs, is very fast, and we observed that it delivered an optimal solution in most of our experiments. 4. Numerical results In this section, we compare the performance of our algorithm against alternative approaches. To this aim, we consider three
Product
Leg
Class
Fare
1 2 3 4 5 6
1 1 2 2 3 3
L H L H L H
400 800 500 10 0 0 300 600
Table 2 Segment definition for the parallel flight example. #
λl
Consideration set
Preference vector
Description
1
0.1
{2,4,6}
(5,10,1)
2
0.15
{1,3,5}
(5,1,10)
3
0.2
{1,2,3,4,5,6}
(10,8,6,4,3,1)
4
0.05
{1,2,3,4,5,6}
(8,10,4,6,1,3)
price insensitive, afternoon preference. price sensitive, evening preference. price sensitive, early preference. price insensitive, early preference.
benchmark examples that have been widely used in the literature (e.g., see Chaneton & Vulcano, 2011). The computational results have been carried out on a 2.13 GigaHertz twin-core computer with 4 Gigabyte of RAM. The environment FICO Xpress-Mosel 7.2.1 has been used both to formulate and solve the master problems that arise in our column generation algorithm. In order to validate the quality of the bid prices, we simulated 20 0 0 streams of customer demand over the planning horizon, according to a Poisson process with rate λ. The conditional probability that an arriving customer belongs to the segment l is then pl . Throughout, we assume at most one arrival within any given time period. The arriving customer will choose among available products based on the bid price control policy and according to the utilities of products in his consideration set. These utilities are consistent with a multinomial logit discrete choice model, and therefore involve a Gumbel-distributed random term. In the tables presenting the numerical results, revenues are averaged over the 20 0 0 streams. 4.1. Parallel flight example In this example, we consider a network with three parallel legs (morning, afternoon, evening) with initial capacities of 30, 50 and 40, respectively, together with two fare classes, high (H) and low (L), This induces a total of six products. Data relevant to products and resources’ usage are displayed in Fig. 1 and Table 1. As displayed in Table 2, customers are divided into four overlapping segments based on their origin, end destination, and price sensitivity (time over price ratio). The booking period is divided into τ = 300 periods and an arrival rate of λ = 0.5 yields an average of 150 arrivals. For each of
Please cite this article as: M. Hosseinalifam et al., A new bid price approach to dynamic resource allocation in network revenue management, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.04.057
ARTICLE IN PRESS
JID: EOR 6
[m5G;May 27, 2016;17:30]
M. Hosseinalifam et al. / European Journal of Operational Research 000 (2016) 1–9 Table 3 Expected revenues obtained by different bid price capacity control policies on parallel flight example. #
1 2 3 4 5 6 7 8 9 10 11 12
α
0.6
0.8
1
1.2
v0
(1,5,5,1) (1,10,5,1) (5,20,10,5) (1,5,5,1) (1,10,5,1) (5,20,10,5) (1,5,5,1) (1,10,5,1) (5,20,10,5) (1,5,5,1) (1,10,5,1) (5,20,10,5)
UB
56,884 56,848 53,819 71,936 71,794 61,868 79,155 76,866 63,255 80,371 78,045 63,296
BP-SG
DLP bid-prices
CDLP bid-prices
BP-CG
4 reopt
10 reopt
10 reopt
20 reopt
4 reopt
55,964 55,683 52,029 69,024 69,337 59,132 75,073 74,064 62,105 78,964 74,582 62,118
50,362 50,533 48,788 63,480 64,142 57,329 72,726 71,693 59,098 74,622 73,208 59,511
55,144 55,191 50,960 67,515 66,918 55,826 70,034 67,515 56,068 71,797 69,630 58,110
54,677 54,512 51,451 69,768 69,371 61,724 76,687 74,916 62,733 79,197 76,542 63,108
the four demand segments, three ‘no purchase’ utilities v0 have been considered. Meanwhile, leg capacities have been weighted by a scale factor α in order to assess the quality of the solution with respect to various congestion levels. The total expected revenue obtained by different policies based on our bid price control policy are shown in Table 3. In this Table, column ‘UB’ represents the upper bound obtained from CDLP. The next five columns represent the total expected revenues obtained by different bid price control policies taken from Chaneton and Vulcano (2011). Column ‘BP-SG’ denotes the revenue obtained by the Stochastic Gradient method of Chaneton and Vulcano (2011). The shorthand ‘reopt’ refers to the number of reoptimizations performed over the course of the simulation, taking into account the ‘true’ pseudo-random arrival process to adjust the amount of resources available. For both DLP (Deterministic Linear Programming) and CDLP (Choice-Based DLP), it has been observed that, unless a large number of reoptimizations are performed, the quality of the bid prices suffers. Note, however, that a large number of reoptimizations may actually induce a reduction in total revenue (Jasin & Kumar, 2013), as can be observed in this table. In the last column, the header ‘BP-CG’ refers to our column generation method. In most cases, BP-CG outperformed the alternative approaches. Actually, we could observe a pattern where BP-CG was only dominated by BP-SG in the low congestion instances. In fact, BP-CG performed well over the range of α -values, in contrast with DLP and CDLP, whose performance diminished with an increase of that parameter.
20 reopt 50,462 50,596 48,642 63,265 63,710 55,972 71,424 70,027 58,800 72,604 70,527 57,691
55,178 55,221 51,688 69,034 68,068 58,016 71,861 70,164 58,160 74,148 71,867 59,965
Fig. 2. Hub and Spoke example I: network. Table 4 Hub and Spoke example I: products. Product
Leg
Class
Fare
Product
Leg
Class
Fare
1 2 3 4 5 6 7 8 9 10 11
1 2 3 4 5 6 7 {2,4} {3,5} {2,6} {3,7}
H H H H H H H H H H H
10 0 0 400 400 300 300 500 500 600 600 700 700
12 13 14 15 16 27 28 19 20 21 22
1 2 3 4 5 6 7 {2,4} {3,5} {2,6} {3,7}
L L L L L L L L L L L
500 200 200 150 150 250 250 300 300 350 350
4.2. Hub and spoke example I The second example involves a seven-leg network inducing a total number of 22 products. The network and the product list are shown in Fig. 2. Due to the hub-and-spoke topology, products may use more than one resource (leg) (Table 4). Resources are endowed with initial capacities (100, 150, 150, 150, 150, 80, 80), respectively. The booking horizon consists of τ = 10 0 0 periods. The arrival rate is set to λ = 0.91, which results in an average arrival rate of 910 customers per stream. Based on their respective price sensitivity and origin-destination, customers belong to one of ten overlapping segments. This information is gathered in Table 5. The revenues shown in Table 6 illustrate the performance of BP-CG, with minor revenue losses (with respect to BP-SG) in low congestion instances offset by improved results as congestion increases.
Table 5 Segment definition for the network example I.
λl
Consideration set
Preference vector
Description
1
0.08
{1,8,9,12,19,20}
(10,8,8,6,4,4)
2 3 4 5 6
0.2 0.05 0.2 0.1 0.15
{1,8,9,12,19,20} {2,3,13,14} {2,3,13,14} {4,5,15,16} {4,5,15,16}
(1,2,2,8,10,10) (10,10,5,5) (2,2,10,10) (10,10,5,5) (2,2,10,8)
7
0.02
{6,7,17,18}
(10,8,5,5)
8 9
0.05 0.02
{6,7,17,18} {10,11,21,22}
(2,2,10,8) (10,8,5,5)
10
0.04
{10,11,21,22}
(2,2,10,10)
less price sensitive, early preference. price sensitive. less price sensitive. price sensitive. less price sensitive. price sensitive, slight early preference. less price sensitive, slight early preference. price sensitive. less price sensitive, slight early preference. price sensitive.
#
Please cite this article as: M. Hosseinalifam et al., A new bid price approach to dynamic resource allocation in network revenue management, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.04.057
ARTICLE IN PRESS
JID: EOR
[m5G;May 27, 2016;17:30]
M. Hosseinalifam et al. / European Journal of Operational Research 000 (2016) 1–9
7
Table 6 Expected revenues obtained by different bid price capacity control policies on network example I. #
1 2 3 4 5 6 7 8 9
α
0.6
0.8
1
v0
(1,5) (5,10) (10,20) (1,5) (5,10) (10,20) (1,5) (5,10) (10,20)
UB
215,793 200,515 170,137 266,934 223,173 188,574 281,967 235,284 192,038
BP-SG
DLP bid-prices
CDLP bid-prices
BP-CG
4 reopt
10 reopt
20 reopt
10 reopt
20 reopt
4 reopt
212,459 195,037 165,638 238,041 214,847 185,150 272,569 231,094 189,349
172,091 164,570 154,041 208,185 197,396 178,190 237,675 219,023 186,970
174,913 166,894 154,547 210,170 197,947 178,161 238,923 219,424 186,800
187,683 174,372 158,897 220,013 201,465 175,395 240,243 217,070 188,100
190,384 175,601 159,685 224,069 203,810 175,720 242,195 216,860 186,438
210,412 194,033 165,651 262,445 218,998 185,254 278,980 233,101 191,181
Fig. 3. Hub and Spoke example II:network.
Table 7 Hub and Spoke example II: products.
Table 8 Segment definition for the Hub and Spoke example II.
Product
Leg
Class
Fare
Product
Leg
Class
Fare
#
λl
Consideration set
Preference vector
Description
1 2 3 4 5 6 7 8
1 1 2 2 3 3 4 4
L H L H L H L H
400 800 300 600 400 800 300 600
9 10 11 12 13 14 15 16
5 5 1,4 1,4 1,5 1,5 2,5 2,5
L H L H L H L H
400 800 500 10 0 0 450 900 400 800
1
0.07
{{{2, 4}, 1}, 3}
[[[10, 5], 10], 7]
2
0.05
{{{2, 4}, 3}, 1}
[[[5, 10], 10], 7]
3 4
0.15 0.07
{{{1, 3}}} {{{6, 8, 10} 5} 7, 9}
[[[10, 8]]] [[[10, 5, 1], 10], 7, 3]
5
0.05
{{{6, 8, 10} 9} 7, 5}
[[[1, 5, 10] 10], 7, 5]
6 7
0.15 0.07
{{{5, 7, 9}}} {{{12, 14}, 11}, 13}
[[[5, 10, 5]]] [[[10, 5] 10], 7]
4.3. Hub and spoke example II
8
0.05
{{{16}, 15}, 11, 12}
[[[10], 10], 7, 5]
This example is based on the network illustrated in Fig. 3. It involves five flight legs and three cities, inducing a total number of sixteen products. The flight legs’ initial capacities are c = (12, 8, 8, 8, 8 ), while the remaining parameters are given in Table 7. Customers are divided into nine overlapping segments. For all segments, three different scenarios of low, medium and high level of overlapping have been considered: See Table 8. The booking horizon is divided into τ = 80 booking periods and three demand scenarios have been considered, corresponding to the base arrival rate being scaled by factors α = 0.9, 1, and 1.1, respectively. For this example, we compared BP-CG and BP-SG to four capacity control policies that attempt to solve the exact dynamic programming formulation of the problem, without any bid-price restrictions. These policies are, respectively,
9
0.15
{{{11, 13, 15}}}
[[[5, 8, 10]]]
price insensitive, early preference. price insensitive, late preference. price sensitive. price insensitive, early preference. price insensitive, late preference. price sensitive . price insensitive, early preference. price insensitive, late preference. price sensitive.
•
•
D-CDLP: a network decomposition scheme based on the dual outcome of CDLP, and that matches policy DCOMP analyzed in Bront et al. (2009); TSA (time sensitive approximation): an affine approximation of the dynamic programming value function proposed by Zhang and Adelman (2009);
•
•
TISA (time and inventory sensitive approximation): a nonlinear approximation of the dynamic programming value function proposed by Meissner and Strauss (2012b); D-TSA: a network decomposition scheme based on the outcome of TSA.
As expected, the revenues generated by the bid-price methods are inferior to those generated by the ‘exact’ approaches, the tradeoff being the very long processing times of the latter (Meissner & Strauss, 2012b) versus less than 5 minutes for algorithm BP-CG (Table 9). 4.4. Railroad Our last example is based on a sub-network of the Thalys high-speed railroad system, which was already considered in Hosseinalifam, Marcotte, and Savard (2015). It involves five cities, four legs, and two fare classes, respectively low ‘L’ and high ‘H’ on each leg. Fig. 4 illustrates the network and its associated 10 markets. Ten trains with a common capacity of 100 passengers
Please cite this article as: M. Hosseinalifam et al., A new bid price approach to dynamic resource allocation in network revenue management, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.04.057
ARTICLE IN PRESS
JID: EOR 8
[m5G;May 27, 2016;17:30]
M. Hosseinalifam et al. / European Journal of Operational Research 000 (2016) 1–9 Table 9 Expected revenues obtained by different exact and bid price capacity control policies on Hub and Spoke example II (Italic and Bold values represent the best results among exact and bid-price based approaches, respectively). #
α
Overlap
D-CDLP
TSA
TISA
D-TSA
BP-SG
BP-CG
1 2 3 4 5 6 7 8 9
0.9 0.9 0.9 1 1 1 1.1 1.1 1.1
low medium high low medium high low medium high
21,073 20,156 19,419 22,385 21,544 20,495 22,825 22,367 22,325
21,425 19,190 19,365 21,802 21,257 21,338 23,021 22,490 22,043
21,867 20,793 20,326 22,904 22,013 21,801 23,789 23,116 22,986
21,438 20,324 19,628 22,537 21,710 21,207 23,351 22,633 22,501
20,792 19,393 19,683 21,814 20,945 20,745 22,652 21,725 22,188
20,895 19,966 19,721 21,965 21,086 21,059 22,285 21,981 22,081
Table 11 Segment definition for the railroad network. #
Fig. 4. Thalys railroad system.
Table 10 Market fares. Market
Low fare
High fare
PAR → BRU PAR → RTA PAR → SCH PAR → AMA BRU → RTA BRU → SCH BRU → AMA RTA → SCH RTA → AMA SCH → AMA
200 300 350 350 150 175 200 50 175 50
400 500 525 525 250 275 300 100 300 100
satisfy the markets, which makes up for a total of 200 products (see Table 10). Based on their price sensitivity and origin-destination preferences, customers are divided into 20 segments detailed in Table 11. A comparison of different demand and capacity scenarios is illustrated in Table 12, where the first column relates to the length of the booking horizon. The number of column generation iterations required by the algorithm appears in the third column, and the number of different offer sets in the fourth. The last column displays the optimal revenue that is achieved by a control policy that ignores the bid price compatibility constraints. Clearly, increasing the length of the booking horizon increases the number of variables and consequently the complexity of the problem, with a corresponding increase in processing time. As expected, decreasing the ratio of available capacity over demand (i.e. number of booking periods) also makes the problem more difficult. Nevertheless, computational times for the different scenarios testify to the capability of the algorithm to address realistic problems in a reasonable time frame, which would qualify for quasireal time implementation.
Consideration set
Preference vector
Description
1
{1,…,20}
PAR-BRU (L)
2 3
{11,…,20} {21,…,40}
4 5
{31,…,40} {41,…,60}
6 7
{51,…,60} {61,…,80}
8 9
{71,…,80} {81,…,100}
10 11
{91,…,100} {101,…,120}
12 13
{111,…,120} {121,…,140}
14 15
{131,…,140} {141,…,160}
16 17
{151,…,160} {161,…,180}
18 19
{171,…,180} {181,…,200}
20
{191,…,200}
{10,55,25,15,6,4,3,4,5,6, 15,15,20,4,3,2,1,2,2,3,8} {8,70,60,10,7,4,4,4,5,40,60} {15,30,20,10,3,5,20,25, 10,4,4,4,8,2,1,2,2,3,3,2,2} {7,40,25,10,4,4,5,15,20,25,45} {25,25,20,4,5,5,5,6,6,10, 30,5,2,2,2,3,3,3,4,4,10} {7,32,21,3,3,4,5,15,15,20,30,} {20,20,2,5,5,6,6,7,7,6, 8,15,3,3,4,3,3,4,4,5,4,4} {50,25,20,3,3,4,4,8,20,28,35} {10,60,50,6,4,4,5,20,22,7, 32,10,4,3,2,2,2,3,4,4,15} {20,90,45,5,6,2,3,4,30,60,70} {5,25,10,5,5,6,6,20,20, 10,8,5,4,3,3,3,4,4,5,5,5} {10,35,7,6,4,4,5,6,7,35,40} {30,24,4,4,3,3,5,6,6,10, 10,3,2,2,2,2,3,4,5,5,6} {15,8,6,5,4,5,6,7,10,12,10} {10,25,20,4,4,3,3,4,5, 6,10,4,4,3,2,2,3,3,4,4,4} {4,34,36,3,2,2,4,4,5,25,30} {20,40,10,5,4,3,4,5,5,6, 25,4,2,1,2,2,2,3,4,4,5} {5,50,25,25,3,4,5,6,6,35,40} {30,32,20,5,4,4,4,5,6,7, 20,4,4,3,2,3,3,4,4,5,5} {15,40,20,4,4,4,5,6,6,35,60}
PAR-BRU (H) PAR-RTA (L) PAR-RTA (H) PAR-SCH (L) PAR-SCH (H) PAR-AMA (L) PAR-AMA (H) BRU-RTA (L) BRU-RTA (H) BRU-SCH (L) BRU-SCH (H) BRU-AMA (L) BRU-AMA (H) RTA-SCH (L) RTA-SCH (H) PAR-AMA (L) RTA-AMA (H) SCA-AMA (L) SCA-AMA (H)
5. Conclusion For technical and business reasons, mathematical programming approaches such as CDLP, that can provide high-quality solutions for the optimal allocation of resources in the context of revenue management, have not been widely adopted. Indeed, when facing sale decisions with respect to upcoming streams of demands, most firms adopt alternative approaches. For instance, to control the availability of products over a booking horizon, a common industry practice is based on bid prices, which define rules that are easy to understand and implement. In this paper, we have presented a mathematical programming framework to compute, within a choice-base environment, bid prices that yield the highest possible return. The novelty of our approach is its capability to embed a large array of technical constraints, unlike most existing proposals from the literature. The efficiency of the approach hinges on a tailored column generation algorithm, that iteratively generates sets of products that enhance revenue while being compatible with a bid price control policy.
Please cite this article as: M. Hosseinalifam et al., A new bid price approach to dynamic resource allocation in network revenue management, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.04.057
ARTICLE IN PRESS
JID: EOR
[m5G;May 27, 2016;17:30]
M. Hosseinalifam et al. / European Journal of Operational Research 000 (2016) 1–9
9
Table 12 Comparison of results of Railroad Example. # Periods
γ
T = 100
0.5 1 1.5
3 3 3
1 1 1
18 18 16
31,585 31,585 31,585
33,365 33,365 33,365
T = 500
0.5 1 1.5
7 4 3
4 3 3
592 218 68
146,933 157,927 157,927
159,797 166,163 166,827
T = 10 0 0
0.5 1 1.5
13 5 4
6 3 3
4282 611 398
263,314 295,403 307,849
286,224 319,595 330,053
# Iterations
# Offered sets
The numerical results validate an algorithm that is both fast and outperforms alternative bid price control policies in most cases. While the present paper has focused on the logit choice model, future research should consider more flexible discrete choice models issued from the generalized extreme value family, such as the mixed logit. In parallel, improved algorithms of exact or heuristic nature for addressing the NP-hard subproblems should yield returns in terms of objective (revenue) or speed. Finally, it is worth noting that a thorough study of the advantages and drawbacks of the various capacity control policies proposed in the literature has yet to be performed. Acknowledgments The authors would like to thank two anonymous referees for their helpful comments and suggestions. References Almogy, Y., & Levin, O. (1971). A class of fractional programming problems. Operations Research, 19(1), 57–67. Bront, J., Méndez-Díaz, I., & Vulcano, G. (2009). A column generation algorithm for choice-based network revenue management. Operations Research, 57(3), 769–784. Chaneton, J., Méndez-Díaz, I., Vulcano, G., & Zabala, P. (2010). CDLP-based bid prices for network revenue management. In INFORMS Annual Meeting, Austin, TX. Chaneton, J. M., & Vulcano, G. (2011). Computing bid prices for revenue management under customer choice behavior. Manufacturing & Service Operations Management, 13(4), 452–470. doi:10.1287/msom.1110.0338. Falk, J. E., & Palocsay, S. W. (1992). Optimizing the sum of linear fractional functions. In Recent advances in global optimization (pp. 221–258). Princeton University Press. Gallego, G., Iyengar, G., Phillips, R., & Dubey, A. (2004). Managing Flexible Products on a Network. Technical Report. IEOR Department, Columbia University, Stanford University, School of Operations Research and Industrial Engineering, Cornell University.
CPU time (seconds)
Restricted revenue
Upper bound
Hosseinalifam, M. (2009). A fractional programming approach for choice-based network revenue management. Mémoire de matrise (Ecole Polytechnique de Montréal). Hosseinalifam, M., Marcotte, P., & Savard, G. (2015). Network capacity control under a nonparametric demand choice model. Operations Research Letters, 43(5), 461–466. Hosseinalifam, M., Savard, G., & Marcotte, P. (2016). Computing booking limits under a non-parametric demand model: a mathematical programming approach. Nature Publishing Group. Advance online publication. doi: 10.1057/rpm.2015.47. Jasin, S., & Kumar, S. (2013). Analysis of deterministic LP-based booking limit and bid price controls for revenue management. Operations Research, 61(6), 1312–1320. Kunnumkal, S., & Topaloglu, H. (2008). A refined deterministic linear program for the network revenue management problem with customer choice behavior. Naval Research Logistics, 55(6), 563–580. Liu, Q., & van Ryzin, G. J. (2008). On the choice-based linear programming model for network revenue management. Manufacturing & Service Operations Management, 10(2), 288–310. Meissner, J., & Strauss, A. (2012a). Improved bid prices for choice-based network revenue management. European Journal of Operational Research, 217(2), 417–427. Meissner, J., & Strauss, A. (2012b). Network revenue management with inventory-sensitive bid prices and customer choice. European Journal of Operational Research, 216(2), 459–468. Schaible, S. (1981). Fractional programming: applications and algorithms. European Journal of Operational Research, 7(2), 111–120. Simpson, R. W. (1989). Using network flow techniques to find shadow prices for market demands and seat inventory control. MIT, Department of Aeronautics and Astronautics, Flight Transportation Laboratory. Talluri, K., & van Ryzin, G. (1998). An Analysis of Bid-Price Controls for Network Revenue Management. Management Science, 44(11-Part-1), 1577–1593. doi:10.1287/ mnsc.44.11.1577. Talluri, K., & Van Ryzin, G. (2005). The theory and practice of revenue management: 68. Springer. Topaloglu, H. (2009). Using Lagrangian relaxation to compute capacity-dependent bid prices in network revenue management. Operations Research, 57(3), 637– 649. doi:10.1287/opre.1080.0597. Williamson, E. L. (1992). Airline network seat inventory control: Methodologies and revenue impacts. Technical Report. [Cambridge, Mass.: Massachusetts Institute of Technology, Dept. of Aeronautics & Astronautics], Flight Transportation Laboratory. Zhang, D., & Adelman, D. (2009). An approximate dynamic programming approach to network revenue management with customer choice. Transportation Science, 43(3), 381–394. doi:10.1287/trsc.1090.0262.
Please cite this article as: M. Hosseinalifam et al., A new bid price approach to dynamic resource allocation in network revenue management, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.04.057