Optimal dynamic price selection under attraction choice models

Optimal dynamic price selection under attraction choice models

European Journal of Operational Research 205 (2010) 650–660 Contents lists available at ScienceDirect European Journal of Operational Research journ...

320KB Sizes 1 Downloads 257 Views

European Journal of Operational Research 205 (2010) 650–660

Contents lists available at ScienceDirect

European Journal of Operational Research journal homepage: www.elsevier.com/locate/ejor

Decision Support

Optimal dynamic price selection under attraction choice models Cornelia Schön GISMA Business School, Leibniz University Hannover, 30167 Hannover, Germany

a r t i c l e

i n f o

Article history: Received 13 April 2007 Accepted 7 January 2010 Available online 22 January 2010 Keywords: Pricing Revenue management Stochastic multi-product dynamic pricing Discrete choice behavior Fractional programming

a b s t r a c t We present a single-resource finite-horizon Markov decision process approach for a firm that seeks to maximize expected revenues by dynamically adjusting the menu of offered products and their prices to be selected from a finite set of alternative values predetermined as a matter of policy. Consumers choose among available products according to an attraction choice model, a special but widely applied class of discrete choice models. The fractional substructure inherent to attraction choice models enables the derivation of structural properties that significantly simplify the computation of an optimal policy. We show that the more capacity (or less time) is remaining, the lower are the optimal prices. We develop an exact solution procedure for preprocessing and recursively solving price selection problems that clearly outperforms current revenue management approaches with respect to computational complexity. Furthermore, we demonstrate that the potential revenue improvements from dynamic compared to fixed pricing can be significant, ranging from 4.5% up to 149% for selected examples from the literature. Extensions to multiple resources and to related discrete choice models are discussed. Ó 2010 Elsevier B.V. All rights reserved.

1. Introduction 1.1. Problem description and motivation Consider an airline that offers different fare classes on each of its scheduled flights. A flight leg has a limited seat capacity which is gradually consumed whenever a seat reservation for a particular fare class on that flight is accepted, and unused capacity is lost after the flight’s departure. Potential customers arrive stochastically over time and their decision to make a reservation for a fare class depends on what other alternative offers are available at the time of the request. In order to compensate for fluctuations in demand and to extract heterogeneous willingness-to-pay the airline dynamically controls the availability and/or prices of the different fare classes with the objective to maximize the total expected revenue until departure. Revenue management (RM) problems of that sort are one of the most successful applications of Operations Research that date back to the deregulation of the US airline industry in 1978 (Chiang et al., 2007). Today, airlines successfully rely on powerful RM systems that enable air carriers like United Airlines to make millions of price changes per year in pursuit of higher revenues. Speaking more generally of products and resources rather than of fare classes and flight legs, applications have rapidly diffused beyond airlines to the retailing, hospitality, rental car, and many other industries.

E-mail address: [email protected] 0377-2217/$ - see front matter Ó 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2010.01.008

The RM problem described above is referred to as capacity control problem or as dynamic pricing problem depending on whether availability controls or price variables are primarily used for managing demand (Talluri and van Ryzin, 2004b).1 In capacity control problems, product prices are exogenously predetermined at a constant level, and the firm only decides on whether to accept or reject a reservation at the given price whenever a customer request occurs. Compared to the case where the seller has full pricing flexibility, assuming fixed prices can reduce profits significantly, especially when products are mispriced or when demand is not time-homogeneous (see Gallego and van Ryzin (1997) and the numerical example in Section 5). However, the flexibility to vary prices unrestrictedly over time is rarely achievable in reality (Gallego and van Ryzin, 1994, 1997). Rather, it is often desirable in practice to constrain prices to discrete values as a matter of policy (Talluri and van Ryzin, 2004b, p. 193). Price levels are usually determined in strategic product design decisions, whereas some pricing flexibility within these commitments may be exploited in the short-run to increase revenue. On a tactical level, a firm is then able to control only the availability of products and, if a product is offered, to choose the most profitable price among a set of alternative, but predetermined, discrete prices (e.g. promotional discounts). Furthermore, prices with certain endings (e.g. ‘‘odd prices” – prices just below a round number such as $19.99, or ‘‘even prices” – prices at round numbers) are supposed 1 While pricing and capacity control decisions have traditionally been carried out independently under different assumptions, e.g. Feng and Xiao (2006) have recently provided an integrated perspective on both problems.

C. Schön / European Journal of Operational Research 205 (2010) 650–660

to produce a desirable announcement effect on consumer perception (see e.g. Stiving and Winer, 1997; Schindler, 2006). Finally, restricting prices to discrete values may overcome some technical difficulties when demand is not monotone in prices because of psychological effects. In this case, the revenue manager can focus only on a set of price points, over which it is much more likely to be monotone. We refer to the problem where product prices are dynamically chosen from a discrete set of admissible prices also as dynamic price selection problem which is the focus of this paper. RM problem formulations can be further distinguished by the number of products and resources considered, as well as by what type of demand model is assumed. In reality, many RM applications are best represented by problems with multiple products linked jointly by one or more shared resources and by cross-effects in stochastic demand (Talluri and van Ryzin, 2004b, p. 27 and 215).2 Needless to say, these problems present severe modeling and optimization challenges. In particular, much attention has been recently given to (a) modeling how consumers choose among a set of multiple products, and to (b) accommodating realistic discrete choice models of consumer behavior in normative RM while simultaneously keeping problem complexity at a reasonable level. Particularly the latter is still an unresolved issue. With respect to choice modeling, airline passengers for example choose among various competing flights and fare classes in response to the offered prices, fare class conditions, and schedule. A large number of empirical studies has been successfully carried out to formally capture consumer choice behavior as a function of any relevant variables in discrete choice models (Anderson et al., 1992). Among the most commonly applied models across industries are attraction choice models (Cooper and Nakanishi, 1988), since by their nature, they capture demand interdependencies when consumers choose among a set of alternative products (see e.g. Ben-Akiva and Lerman, 1985; Train, 2003; Coldren et al., 2003 and the literature cited therein). This class of models, introduced formally in Section 2.1, includes the multinomial logit (MNL), the Bratley–Terry–Luce (BTL), the multiplicative competitive interaction (MCI) and asymptotically the first choice model. The popularity of these models further stems from their analytical tractability, their accuracy, and from the availability of estimation software. Despite this progress on the empirical side, statistically validated discrete choice models have heretofore hardly been incorporated directly into normative RM problems. This is particularly surprising because both practitioners and researchers are well aware of the additional revenue potential that can be extracted by explicitly accounting for consumer choice behavior in RM decisions. However, many traditional problem formulations (see the review in Section 1.2) largely neglect cross-demand effects between products either by (a) assuming a priori a single-product setting (predominant in dynamic pricing) or by (b) assuming the independent-demand model in a multi-product setting (predominant in capacity control). At the other extreme, more recent RM problem formulations incorporate a general discrete choice model of consumer behavior without any further assumptions on its functional form. This generality naturally leads to complex optimization problems whose solution poses major computational challenges to Operations Researchers. This motivates us to analyze the stochastic dynamic price selection problem as described above, focusing on the special but common class of attraction choice models. Based on the special structure underlying these choice models, we derive useful structural properties and develop a constructive solution procedure that enables us to exactly solve even large

2 In the airline context, this problem is also referred to as multi-fare-class multi-leg (or network) problem.


problem instances, heretofore having been tackled heuristically, in reasonable time. We thereby contribute to the recent research on choice-based normative RM. 1.2. Related RM literature In the following, we briefly review the relevant RM literature on stochastic dynamic capacity control and pricing, and subsequently position our contributions to the field in detail. A comprehensive survey on recent RM research is provided e.g. in Chiang et al. (2007). Fundamental discrete-time Markov decision process (MDP) formulations to dynamically allocate a single-leg capacity to different fare classes are presented in Lee and Hersh (1993) and Lautenbacher and Stidham (1999). The problem formulations are based on the independent-demand model that restrictively assumes that the choice probability for a fare class is independent of which other fare classes are available at the time of the request. Thereby, cross-effects between products are largely ignored (Talluri and van Ryzin, 2004b, Chapter 7.1). To address this shortcoming, Talluri and van Ryzin (2004a) incorporate a general discrete choice model of consumer behavior into a single-leg capacity control problem (see also Talluri and van Ryzin, 2004b, Chapter 2.6.2). Given a set of potential fare classes, the decision is to select an optimal subset of fare classes to offer at each decision epoch for each state of remaining capacity. Since the number of possible product subsets can quickly become very large, the authors develop a ‘‘largest marginal revenue (LMR) procedure” to exclude a priori those subsets from the action space that are dominated with respect to per-period capacity consumption and per-period expected revenue from offering a product subset. The authors show that only non-dominated, ‘‘efficient” subsets can be included in an optimal policy. Still, identifying the efficient subsets can be a formidable task with exponential time complexity in the number of potential fare classes. This complexity arises from the generality of the choice model that requires to introduce a decision variable for each product subset and does not allow a problem formulation at individual product level. The model by Talluri and van Ryzin (2004a) has been originally intended for pure capacity control of different fare classes with exogenously fixed prices on a single flight leg. In their model for dynamically pricing parallel flights under a general discrete choice model of consumer behavior, Zhang and Cooper (2006) adapt the approach of Talluri and van Ryzin (2004a) to the alternative discrete price setting to further exploit the information on consumers’ price reaction inherent in the choice model. This is accomplished by viewing each alternative price as a virtual product and properly constructing product subsets. However, with an even larger number of product subsets than in the fixed price case, solution methods for the price selection problem (including the LMR procedure for preprocessing) suffer even more from the curse of dimensionality of the action space (see the numerical study in Zhang and Cooper (2006)). In general, stochastic multi-product dynamic pricing problems are very difficult solve when no further assumptions regarding the demand model can be made. A common approach to reduce complexity is to decompose a multi-product problem into singleproduct problems and thereby, again, to neglect cross-effects in demand (Talluri and van Ryzin, 2004b, p. 187). In fact, most of the work on stochastic dynamic pricing concentrates on singleproduct problems (see the recent overview by Bitran and Caldentey (2003) and the literature cited therein). As an exception, Gallego and van Ryzin (1997) and Maglaras and Meissner (2006) suggest several heuristics based on solving the deterministic approximation of the stochastic multi-product problem with continuous prices. Demand interdependencies are captured in a multidimensional demand function which is assumed to satisfy some


C. Schön / European Journal of Operational Research 205 (2010) 650–660

regularity conditions. Among these requirements are, for example, the existence of the inverse (to facilitate the optimization by viewing demand rather than price as the decision variable), and concavity of the resulting revenue function in demand. However, in the discrete price setting, these continuity and concavity properties as well as the efficiency gains from viewing demand rather than price as the decision variable are lost (Talluri and van Ryzin, 2004b, p. 193). 1.3. Main results and outline We present an MDP formulation and an efficient exact constructive solution method for a single-leg dynamic price selection problem where consumers choose among available fare classes according to an attraction choice model. The airline’s objective is to maximize the total expected revenue from customer bookings over a finite selling horizon. The fundamental decision at each decision epoch is to select a menu of products to be offered and, if a product is offered, to choose the most profitable price from a discrete set of admissible prices. In formulating and solving the problem, we do not follow the conventional approaches that view product prices/demands or availability of whole product subsets as the primary decision variable; rather, optimal attraction values at product level are selected. This artifact leads to a constrained binary fractional programming subproblem for each state of remaining capacity at each decision epoch. Exploring this structure, we derive necessary and sufficient optimality conditions that allow to efficiently determine both the efficient sets in the sense of Talluri and van Ryzin (2004a) in advance as well as the optimal solution of each subproblem during the dynamic programming recursion. Furthermore, we show that the more capacity (or less time) is remaining, the lower are the optimal prices. To evaluate the performance of our method, we present an experimental analysis where the adoption of Talluri and van Ryzin (2004a) (in particular their LMR procedure) to the multiple-price case as described above serves as a benchmark. This is to the author’s knowledge the only alternative exact approach to our problem in the existing RM literature. While the computational requirements of the LMR procedure are prohibitive for solving problems when the number of (virtual) product candidates becomes larger, our constructive method solves such instances within seconds. The paper thereby contributes to the literature on stochastic multi-product single-resource dynamic pricing (SMSDP) problems, that have heretofore been solved only approximately for real-world instances. Moreover, in contrast to pure capacity allocation with fixed prices, significant profit increases are possible, ranging from 4.5% to 149% in our experiments based on examples from the literature. While our basic approach is restricted to a single-resource, the procedure can be easily adapted to the optimal or approximate solution of the network pricing problem. Furthermore, we outline how our approach based on simple attraction choice models can serve to obtain good approximate solutions for problems incorporating more sophisticated choice behavior, in particular the popular nested logit (NL) model. The paper is organized as follows: The model is introduced in Section 2 while in Section 3, we prove our structural results. The constructive algorithm is presented in Section 4. Section 5 presents the computational performance analysis and demonstrates the potential revenue improvement gained from having some dynamic pricing flexibility in contrast to pure allocation in a numerical example. In Section 6, we discuss our extensions and Section 7 concludes with a summary and future research directions. To maintain brevity, we concentrate on the airline RM applications of our model.

2. Model 2.1. Preliminaries 2.1.1. Products and prices Over a planning horizon of T discrete-time periods, a seller has a set J ¼ f1; . . . ; Jg of potential products to offer. As an airline example, the set J might consist of the different fare classes of a single flight uniquely characterized by their non-price fare class conditions. At the beginning of each period (decision epoch) t ¼ 0; . . . ; T  1, the seller makes a decision about which products to offer and at which price, so that the total expected revenue over the remaining planning horizon is maximized. Decision epoch t ¼ 0 corresponds to the start of the planning horizon, and time T denotes the departure date, i.e. the end of the planning horizon where no decision is to be made. The products share the same resource with a total capacity of C, and each unit of any of these products uses one unit of capacity. Denote by z ¼ 0; . . . ; C the state of the system, indicating the number of reservations already accepted. The discrete set of admissible price values for product j 2 J is denoted by Rj :¼ fqj0 ; qj1 ; . . . ; qjSj g with qj0 > qj1 >    > qjSj . Let S j :¼ f0; . . . ; Sj g be the corresponding price index set. The value qj0 denotes a (sufficiently high) null price that cuts off demand and which corresponds to not offering the product (Bitran and Caldentey, 2003), and so qj1 is the maximum real price. Without loss of generality, let products be ordered non-increasingly according to the maximum real price in the product’s price set, i.e. Q qj1 P qjþ1;1 . Let R :¼ j2J Rj be the set of all admissible price vecQ tors and S :¼ j2J S j be the corresponding set of price index vectors. For each possible price qjs of product j 2 J , and for each decision epoch t ¼ 0; . . . ; T  1 and each state z ¼ 0; . . . ; C  1, define a binary decision variable

8 > < 1; if product j 2 J is offered at price qjs 2 Rj xjs ðt; zÞ :¼ in period t and state z; > : 0; otherwise: ð1Þ As exactly one price must be assigned to each product, the vector x ¼ ðxjs ðt; zÞÞj2J ;s2S j is for each t ¼ 0; . . . ; T  1 and each z ¼ 0; . . . ; C  1 constrained to the finite feasible set

8 9 < = X N X :¼ x 2 f0; 1g : xjs ðt; zÞ ¼ 1 8j 2 J ; : ; s2S



P where N :¼ j2J ð1 þ Sj Þ denotes the total number of decision vari3 ables. For notational convenience, we omit the time and state indices when referring to the vector x, and note that x always relates to decision epoch t and state z unless otherwise stated. Note that for t ¼ T, as well as for z ¼ C, there is no decision to be made since capacity is no longer available. 2.1.2. Discrete choice model Consumer choice is modeled as a two-stage process: Arrival of a potential customer request and the consumer’s choice among the set of available alternatives. In accordance with the MDP formulations in Lautenbacher and Stidham (1999) and Talluri and van Ryzin (2004a), we assume that the planning horizon is divided into periods in such a way that, during each period, there is at most one arrival of a potential customer, and the probability of two or more requests can be ignored. Let kt 2 ½0; 1 be the probability of a customer arrival during period t. Denote by pjst the probability 3 Throughout the paper, vectors will be denoted by bold face letters to distinguish them from scalars.


C. Schön / European Journal of Operational Research 205 (2010) 650–660

that a potential customer purchases (one unit of) a particular product j 2 J at price qjs in period t – conditional on arrival. For attraction choice models, the purchase probability of a product corresponds to its relative attraction (see e.g. Cooper and Nakanishi, 1988) which depends on the offered products and prices given by x with

pjst ðxÞ ¼

Act þ


Ajst xjs ðt; zÞ P s2S i Aist xis ðt; zÞ

ðj 2 J ; s 2 S j ; x 2 XÞ:



Here, Ajst :¼ fjt ðqjs Þ P 0 is the value of a possibly time-heterogeneous attraction function fjt : ð0; qj0  # Rþ (discussed below) for product j 2 J at price qjs 2 Rj to the customer, with Aj0t :¼ 0 (attraction value at the null price qj0 ).4 Act > 0 denotes the aggregated attraction value of all competitor products including the option to make no purchase. The normalizing denominator in (3) captures that consumers can choose among external alternatives condensed in At c and among the product subset that the seller effectively offers at the time of the request. For products j 2 J that are unavailable we have pjst ðxÞ ¼ 0 for all s ¼ 0; . . . ; Sj , since xjs ðt; zÞ ¼ 0 for s ¼ 1; . . . ; Sj , and xj0 ðt; zÞ ¼ 1 with Aj0t ¼ 0. Attraction models are consistent in that they imply that each product’s sales probability is non-negative and the sum of probabilities for all alternatives P P offered in the market is unity (i.e. j2J s2Sj pjst þ pct ¼ 1, where pct denotes the probability that a potential customer buys a competitive product or nothing). Regarding the attraction function fjt ðj 2 J ; t ¼ 0; . . . ; T  1Þ, we first note that the function is product-specific. Each product is uniquely characterized by a set of buyer-relevant non-price related product attributes (e.g. fare class conditions, schedule convenience, etc.) consistent with the theory on product differentiation and discrete choice (Anderson et al., 1992). We assume these attributes to be predetermined, and their value-to-the-customer is considered via product-specific parameters in the attraction function (see the functional specifications below). Before turning to some common specifications, we make the following regularity assumptions on each attraction function fjt 5: (i) fjt is bounded, and, all other non-price product characteristics being equal, strictly decreasing in price; furthermore, there exists a price qj0 (i.e. the ‘‘null price”; possibly þ1) with fjt ðqj0 Þ ¼ 0. Note that due to its monotonicity, fjt has an inverse fjt1 on its range. (ii) For all attraction values A 2 Rþ for which there exists a price r 2 ð0; qj0  with A ¼ fjt ðrÞ, the function fjt1 ðAÞA is concave in A and satisfies the condition fjt1 ðAÞA ! 0 for A ! 0. There are various empirically supported functional specifications for relating the attraction of a product to its price (and to other product attributes considered only implicitly via parameters here). Most common specifications like the MNL, the MCI, and the BTL model satisfy for reasonable parameter estimates our regularity assumptions as can be easily verified. For the MNL model (Anderson et al., 1992), we have fjt ðrÞ ¼ expðajt þ bjt rÞ, where ajt P 0; bjt < 0 are (possibly time-dependent) parameters to be estimated. While bjt reflects price-sensitivity, the parameter ajt represents the (gross) utility for a consumer in period t from buying product j as a function of the product’s non-price attribute levels. For the MCI model (Cooper and Nakanishi, 1988), attraction is given in the multiplicative form with fjt ðrÞ ¼ ajt ðrÞbjt ; ajt > 0; bjt < 1. For the extended BTL model (Green and Krieger, 1988; Anderson et al., 1992), we have fjt ðrÞ ¼ ðajt þ bjt rÞc ; ajt P 0; bjt < 0; c > 0, and r 6 ajt =bjt . If c is sufficiently large, this model approximates the first choice situation corresponding to 4

Rþ denotes the set of non-negative real numbers. 5 Similar regularity assumptions are commonly made on the demand function in dynamic pricing models (see e.g. Gallego and van Ryzin, 1997; Talluri and van Ryzin, 2004b, Sections 7.3.1 and 7.3.2).

the lowest open fare model, in which consumers only consider the lowest priced product and the no-purchase option. 2.2. Dynamic programming model Denote by V t ðzÞ the maximum total expected revenue obtainable from periods t; t þ 1; . . . ; T, given that z units of capacity have already been sold before period t. The Bellman equation for the stochastic dynamic price selection problem is given by (compare similar formulations by Talluri and van Ryzin (2004a) and Zhang and Cooper (2006))

V t ðzÞ ¼ kt max x2X

9 =

pjst ðxÞðqjs  DV tþ1 ðzÞÞ þ V tþ1 ðzÞ



s2S j

(t ¼ 0; . . . ; T  1 and z ¼ 0; . . . ; C  1), where DV tþ1 ðzÞ :¼ V tþ1 ðzÞ  V tþ1 ðz þ 1Þ is the marginal cost of capacity. The boundary conditions are V T ðzÞ :¼ 0 for all z and V t ðCÞ :¼ 0 for all t. Sometimes it may be more convenient to rewrite (4) as

V t ðzÞ ¼ kt maxfRt ðxÞ  Pt ðxÞDV tþ1 ðzÞg þ V tþ1 ðzÞ;




Rt ðxÞ :¼


qjs pjst ðxÞ and Pt ðxÞ :¼


j2J s2S j

pjst ðxÞ


j2J s2S j

are the period-t expected revenue from offering x and the period-t expected capacity consumption from offering x. For the special case of attraction choice models replacing pjst ðxÞ in (4) with (3) we can formulate the problem as

( V t ðzÞ ¼ kt max g t ðx; zÞ :¼ x2X

þ V tþ1 ðzÞ:




s2S j ½

Act þ


qjs  DV tþ1 ðzÞAjst xjs ðt; zÞ




s2S j Ajst xjs ðt; zÞ


A policy that specifies a maximizing action xðt; zÞ for (7) in each state z ¼ 0; . . . ; C  1 for each decision epoch t ¼ 0; . . . ; T  1 is optimal. The dynamic price selection (DPS) problem involves to recursively compute V t ðzÞ in (7) for t ¼ T  1; . . . ; 0 and z ¼ C  1; . . . ; 0, and thereby to determine an optimal policy. The model with general choice probability in (4) is closely related to Talluri and van Ryzin (2004a) as each vector x 2 X represents a subset of priced products. Thus it is straightforward to extend their model with fixed prices to the multiple discrete price setting from the modeling perspective by properly constructing product subsets. However, with Sj þ 1 alternative prices for each Q product j 2 J , there are j2J ðSj þ 1Þ feasible elements in X whose evaluation may be computationally challenging. For attraction choice models this problem can be overcome by the alternative modeling approach in (7): Instead of considering aggregate subsets of products as decision variables, here, the optimization takes place at the individual product level significantly reducing the computational requirements to determine an optimal solution (see Section 4). We now present some structural properties of (7) that are useful for efficiently solving the problem. 3. Structural properties The price selection subproblem at each decision epoch t ¼ 0; . . . ; T  1 for a given state z ¼ 0; . . . ; C  1 in (7) is a constrained binary linear fractional programming problem of the form

max x2X

c dt

cTt x T ; þ dt x


where the vectors ct and dt have components cjst :¼ ½qjs  DV tþ1 ðzÞ c Ajst ; djst :¼ Ajst , and dt :¼ Act (the constants kt and V tþ1 ðzÞ in (7) are


C. Schön / European Journal of Operational Research 205 (2010) 650–660

omitted here to keep the notation simple). We can assume that cjst > 0 for j 2 J ; s ¼ 1; . . . ; Sj because otherwise it would be optimal to set xjs ðt; zÞ ¼ 0 for s ¼ 1; . . . ; Sj (and thus to offer the null price with Aj0t ¼ 0). For this type of problem, it is well-known that the objective function is both strictly quasi-concave and strictly quasi-convex c in x P 0 for djst P 0 and dt > 0 (see Stancu-Minasian, 1997). Therefore, any local maximum of the objective function is also a global one, and the maximum point of the relaxed problem with x 2 ½0; 1N must be an extreme point of the feasible set. Furthermore, the coefficient matrix associated with the constraints in (2) is totally unimodular and thus, all extreme points of the relaxed feasible set are binary. Therefore, the relaxed problem could be solved globally by standard fractional programming techniques like Charnes–Cooper transformation/linear programming or parametric optimization (see e.g. Stancu-Minasian, 1997). However, applying such a standard routine within a stochastic dynamic programming algorithm may be quite time-consuming when T and C are large (see the performance analysis of Section 5). The method developed in Section 4 is mainly based on the following wellknown lemma concerning fractions that is needed throughout the paper. Lemma 1. Consider the fractions b1 ; b2 > 0; a1 =b1 – a2 =b2 . Then,

a1 =b1


a2 =b2


minfa1 =b1 ; a2 =b2 g < ða1 þ a2 Þ=ðb1 þ b2 Þ < maxfa1 =b1 ; a2 =b2 g:


Obviously, for a1 =b1 ¼ a2 =b2 , (9) holds with equalities. The following proposition generalizes the results of Talluri and van Ryzin (2004a) concerning ‘‘completeness” of an optimal solution to the multiple-price case.6 Proposition 1. Assume that price sets and prices are ordered as described in Section 2.1. Then, for every t ¼ 0; . . . ; T  1 and every z ¼ 0; . . . ; C  1 there exists an optimal solution x to the price selection problem in (7) and an index n 2 J with Sj X

xjs ðt; zÞ ¼


1 j 6 n 0

j > n


ðj 2 J Þ:

Proof. For the proof, we show based on Lemma 1 that if the structure of a feasible solution is not complete as given by (10), then the solution is either not optimal or there exists another optimal solution with complete structure. Without loss of generality we omit the constants kt and V tþ1 ðzÞ in (7) for the proof. Let P J  :¼ fj 2 J : s¼1;...;Sj xjs ¼ 1g be the set of products that are offered in an optimal solution x and denote by qjqj the optimal price for j 2 J  with corresponding attraction value Ajqj t ¼ fjt ðqjqj Þ. Since l 2 J  it follows from Lemma 1 that

P g t ðx ; zÞ ¼

product set J  . It follows from Lemma 1 that ða1 þ a2 Þ= ðb1 þ b2 Þ 6 a2 =b2 which is equivalent to (11). Now, suppose that in the optimal solution x , product l 2 J is offered but product k 2 J with k < l is not (i.e. xk0 ¼ 1, thus k is assigned the null price with Ak0t ¼ 0). Given (11), we have for any k with k < l (hence, qk1 P ql1 P qlql ) that g t ðx ; zÞ 6 qk1  DV tþ1 ðzÞ. Thus by Lemma 1, if the inequality is strict, adding product k R J  at its maximum real price qk1 would increase g t ðx ; zÞ and V t ðzÞ. This contradicts the optimality of V t ðzÞ. In the equality case, V t ðzÞ remains unchanged by adding product k and there is more than one optimal solution. h Some intuitive properties shared by many RM models are the following (without proof). Proposition 2 (i) V t ðzÞ P 0 for all t and z. (ii) V t ðzÞ is non-increasing in t for fixed z. V t ðzÞ is non-increasing in z for fixed t. (iii) DV t ðzÞ is non-decreasing in z for all t and non-increasing in t for all z. The monotonicity property in (iii) is a direct extension of the results in Talluri and van Ryzin (2004a) to the multiple discrete price case: The marginal cost of capacity is non-decreasing in the number of already accepted reservations and non-increasing in time. The proof of the first part is by induction over t, while monotonicity in t can easily be shown given the monotonicity in z. Based on Proposition 2(iii), we can now show in Proposition 3 that the more capacity (or less time) is remaining, the lower are the optimal prices.7 Proposition 3. Under a regular attraction model, there exists an optimal policy solving (7) such that (i) for any fixed time t, optimal prices for each product j 2 J are non-decreasing in z, and (ii) for any fixed state z, optimal prices for product j 2 J are non-increasing in t for periods with time-homogeneous attraction function. The monotonicity in price can be used to fix a number of variables during the dynamic programming recursion, as outlined in the following example. Since prices for a product are non-decreasing in z for fixed t, it follows that if a product is priced at $500 at time t when the number of reservations is 100, the same product will not be offered at time t at a price lower than $500 when already 150 reservations have been made (capacity is more scarce). Formally, we have xjs ðt; z1 Þ ¼ 1 ) xjq ðt; z2 Þ ¼ 0 for z1 6 z2 ; s; q 2 S j : s < q. Furthermore, when demand is time-homogeneous, we can say that when product j is offered at price $500 at time 20 then the price for the same product at an earlier time 15 will not be lower than $500, given the same capacity state. We have xjs ðt2 ; zÞ ¼ 1 ) xjq ðt 1 ; zÞ ¼ 0 for t 1 6 t 2 ; s; q 2 S j : s < q. 4. Solution procedure

j2J  ½

qjqj  DV tþ1 ðzÞAjqj t

Act þ


j2J  Ajqj t

¼ qlql  DV tþ1 ðzÞ:


½qlql  DV tþ1 ðzÞAlql t Alql t ð11Þ

To see (11), we rewrite g t ðx ; zÞ as a fraction ða1 þ a2 Þ=ðb1 þ b2 Þ with h i h i P a1 :¼ j2J  ;j–l qjqj  DV tþ1 ðzÞ Ajqj t ; a2 :¼ qlql  DV tþ1 ðzÞ Alql t ; b1 :¼ Act þ P  j2J  ;j–l Ajqj t , and b2 :¼ Alql t . Since g t ðx ;zÞ is maximal, we have a1 =b1 6 ða1 þ a2 Þ=ðb1 þ b2 Þ, where a1 =b1 corresponds to the feasible solution obtained from x by removing product l from the offered 6 Completeness as defined by Talluri and van Ryzin (2004a) means that if product k is offered in an optimal solution then all products with prices higher than k are offered for sale.

In Section 4.1, we consider the price selection subproblem (8) to be solved at each decision epoch and for each state of capacity during the dynamic programming recursion. We present optimality conditions based on Lemma 1, and a method to efficiently determine an optimal solution for each subproblem. Then, in Section 4.2, we use these optimality conditions to also compute the efficient sets in the sense of Talluri and van Ryzin (2004a) in a preprocessing step of the dynamic programming algorithm. Finally, the complete algorithm for determining an optimal policy for the DPS problem is summarized in Section 4.3. To simplify the exposition, 7 The proof of Proposition 3 is given in the Appendix. We remark that Proposition 3 does not necessarily hold for arbitrary choice models.


C. Schön / European Journal of Operational Research 205 (2010) 650–660

we outline the whole procedure for the case with time-homogeneous attraction function. Extending the method to the time-variant case is very straightforward.

Table 1 Assignment of prices to intervals. Price Interval

4.1. The price selection subproblem Since the objective function of the price selection subproblem for each fixed t and z in (7) is quasi-convex and quasi-concave (see Section 3), we can test a feasible solution x 2 X for global optimality by checking whether or not this point can be locally improved within its neighborhood, i.e. by switching prices for a particular product. For each product j 2 J , the trade-off between any two alternative prices indexed by s; q 2 S j ; q – s can be evaluated by exploring the ratios

ujqs :¼ ðqjs Ajs  qjq Ajq Þ=ðAjs  Ajq Þ:


These symmetric ratios which we call switching threshold values can be used in a test for optimality of any given solution by comparing the current objective function value with the switching threshold values at the current solution point.8 To explain the intuition behind it, assume for the moment for simplicity that DV tþ1 ðzÞ ¼ 0 in (7) and that we have a feasible solution where product j is currently offered at price with index q. Now consider any other price with index s for that product with Ajs  Ajq P 0. If the switching threshold value ujqs is larger than the current objective function value, then this objective function value can be further improved by switching from price index q to s. This observation, applied to all alternative price pairs, is generally captured in the following necessary and sufficient optimality condition.9 Proposition 4. Consider a fixed decision epoch t and a fixed state z. A   given price vector q ¼ q1s1 ; . . . ; qjsj ; . . . ; qJsJ 2 R (and the corresponding binary vector x with xjs ðt; zÞ ¼ 1 for s ¼ sj and xjs ðt; zÞ ¼ 0 otherwise, j 2 J ; s 2 S j ) with objective function value g t ðx; zÞ ¼ RðxÞ  DV tþ1 ðzÞPðxÞ is optimal for the price selection subproblem in (7), if and only if for the shifted objective function value g t ðx; zÞ þ DV tþ1 ðzÞ the following holds:

max ujsj þ1;sj 6 g t ðx; zÞ þ DV tþ1 ðzÞ 6 min ujsj ;sj 1 ; j2J

with ujqs given ujSj þ1;Sj :¼ 1.





s; q 2 S j ; q – s; uj0;1 :¼ 1,

ð13Þ and

Condition (13) is very useful for algorithmic purposes since it allows to generate a small set of candidate solutions corresponding to non-empty intervals in (13) and to simultaneously test for optimality. For each product j 2 J , the (non-increasing) sequence of n o switching threshold values given by P j :¼ uj10 ; uj21 ; . . . ; ujSj ;Sj 1 partitions the real-number line R into Sj þ 1 non-empty intervals h i U js :¼ ujsþ1;s ; ujs;s1 ðs 2 S j Þ, such that qjs is the best price among



uj10 ; 1

qj1 h

uj21 ; uj10


... ...

qjs h

ujsþ1;s ; ujs;s1


... ...


 i 1; ujSj ;Sj 1

Taking all products j 2 J simultaneously into account, the nonh  empty intervals maxj2J ujsj þ1;sj ; minj2J ujsj ;sj 1 can be easily identified by two successive elements in [j P j of switching threshold valP ues.10 Therefore, there are at most 1 þ j2J Sj such non-empty intervals and thus candidate solutions for the index-minimal optimal price vector. Starting with the smallest price index vector (the null price) we can successively generate intervals and candidate solutions q (x, respectively) with increasing indices, compute the corresponding actual value of RðxÞ þ DV tþ1 ðzÞð1  PðxÞÞ and check if this value belongs to the right half-open interval. If so, we have found the index-minimal optimal price vector. Example. Consider three products and four alternative prices given by R1 ¼ fq10 ;900; 850; 790g; R2 ¼ fq20 ; 800;750; 690g; R3 ¼ fq30 ;800; 650; 500g. Consumers make their choice according to an MNL model with Ajs ¼ expðbj qjs Þ where b1 ¼ 0:001; b2 ¼ 0:002; b3 ¼ 0:0035 and Ac ¼ 1. Suppose that k ¼ 1 and DV t ðzÞ ¼ 10 for the current state z at the actual decision epoch t. Using the results above, we can identify best prices for each product: For j ¼ 1, the best price is q10 (corresponding to not offering the product) if the final value of the shifted objective function lies in the interval U 10 ¼ ½900; 1Þ, and 900 for U 11 ¼ ½ð363:3  365:9Þ=ð0:43  0:41Þ ¼ 125:2; 900Þ (note that 850 for U 12 ¼ ½180:3; 125:2Þ and 790 for U 13 ¼ ð1; 180:3Þ will never be optimal since the optimal objective function value is non-negative). For product j ¼ 2, we have q20 for U 20 ¼ ½800; 1Þ, 800 for U 21 ¼ ½274:6; 800Þ, 750 for U 22 ¼ ½219:4; 274:6Þ and 690 for U 23 ¼ ð1; 219:4Þ. Product j ¼ 3 yields q30 for U 30 ¼ ½800; 1Þ, 800 for U 31 ¼ ½432:8; 800Þ, 650 for U 32 ¼ ½282:8; 432:8Þ and 500 for U 33 ¼ ð1; 282:8Þ. Combining these intervals provides seven nonempty intervals and thus candidate solutions out of 43 ¼ 64 price points for the optimal price vector as given in Table 2. The first column presents the iteration number, the second column the interval, columns 3–5 are the corresponding candidate solutions. Columns 6 and 7 show the current-period expected revenue RðxÞ and capacity consumption PðxÞ at price vector q or x, respectively, and column 8 displays the actual shifted objective function value. The price vector (900, 800, 650) in row 4 is optimal since its value of 353.1 belongs to the corresponding interval. Note that the solution procedure could stop after the 4th iteration but rows 5–7 are added for illustration.

4.2. Preprocessing: Efficient price vectors

the alternative prices in Rj for any value of the shifted objective function that lies in the interval U js (see Table 1). Since the intervals overlap at the interval endpoints, an optimal price qjs is unique in Rj unless the shifted objective function value is equal to an interval endpoint. If the right (left) interval endpoint is reached, qj;s1 ðqj;sþ1 Þ is also optimal in addition to qjs . Thus, there exists always an index-minimal (-maximal) price vector among the set of optimal solutions. Obviously, if we replace the inequality at the upper bound in (13) by a strict inequality, there is a one-to-one assignment between any potential real value of the optimum and the index-minimal optimal price.

Embedding the solution procedure from the price selection problem example into a dynamic programming algorithm, one should note that interval endpoints and thus candidate solutions remain constant over periods with time-invariant choice model parameters. In fact, we can use the method described above in a preprocessing stage to directly identify the efficient sets in the sense of Talluri and van Ryzin (2004a). In the multiple-price context, we speak of efficient price vectors rather than of efficient sets (see also Zhang and Cooper, 2006) and adapt the definition of Talluri and van Ryzin (2004a) as follows: Efficiency definition. We call a price vector q 2 R or, equivalently the corresponding binary vector x 2 X as defined in (1),

8 We note that for the time-variant case, attraction values Ajst and Ajqt and thus switching threshold values ujtqs would depend on t. 9 The proof of Proposition 4 is given in the Appendix.

10 We assume that the elements are ordered non-increasingly; note that [j P j represents the common refinement partition of P j ; j 2 J .


C. Schön / European Journal of Operational Research 205 (2010) 650–660

Table 2 Candidate solutions for the optimal price vector. #

h  maxj ujsj þ1;sj ; minj ujsj ;sj 1

1 2 3 4 5 6 7

½900:0; 1Þ [800.0; 900.0) [432.8; 800.0) [282.8; 432.8) [274.6; 282.8) [219.4; 274.6) [125.2; 219.4)






RðxÞ þ DVð1  PðxÞÞ


q20 q20

q30 q30

800 800 800 750 690

800 650 500 500 500

0.00 260.15 345.11 347.26 344.69 343.86 341.93

0.00 0.29 0.40 0.42 0.44 0.45 0.45

10.00 267.25 351.10 353.10 350.30 349.41 347.39

900 900 900 900 900 900

P ^ :¼ y2X xðyÞy of inefficient, if there exists a convex combination y P price vectors y 2 X (with weights xðyÞ 2 Rþ , y2X xðyÞ ¼ 1) that ^Þ strictly greater than produces a per-period expected revenue Rðy ^Þ not larRðxÞ and a per-period expected capacity consumption Pðy ger than PðxÞ (with RðxÞ and PðxÞ given by (6)). Otherwise, the price vector is called efficient. As shown in Talluri and van Ryzin (2004a), the following efficiency condition is equivalent to this definition. Efficiency condition. A price vector q 2 R with binary representation x 2 X as given by (1) is efficient if and only if, for some v P 0, x is an optimal solution to maxy2X RðyÞ  v PðyÞ. Thus, an efficient price vector corresponds to a point on the efficient frontier of the set of points fðPðyÞ; RðyÞÞ : y 2 X g, and an inefficient price vector can never be an optimal solution to the price selection problem (see Talluri and van Ryzin (2004a) for a graphical representation and a proof). Furthermore, we note that the index-minimal optimal price vector must correspond to a vertex of the efficient frontier, where the vertices can be characterized by the above efficiency condition with the additional requirement that the value v P 0 is not unique. Following Charnes et al. (1991), we call those price vectors q ðx 2 X , respectively) corresponding to vertices of the efficient frontier extreme-efficient.11 We next show that exactly those price vectors are extreme-efficient that are iteratively generated by our method outlined in the previous section until the price vector that maximizes per-period expected revenue RðxÞ is found:   Proposition 5. Let q ¼ q1s ; . . . ; qjsj ; . . . ; qJsJ 2 R be a price vec1

tor that maximizes per-period expected revenue, i.e. for x 2 X with components xjs ¼ 1 if s ¼ sj and xjs ¼ 0 otherwise ðj 2 J ; s 2 S j Þ, we RðyÞ. Then, a price vector have Rðx Þ ¼ maxy2X  q ¼ q1s1 ; . . . ; qjsj ; . . . ; qJsJ 2 R is extreme-efficient if and only if

ðiÞ max ujsj þ1;sj < min ujsj ;sj 1 j2J


and ðiiÞ min ujsj ;sj 1 P min ujs ;s 1 : j2J




ð14Þ Proof. First, we operationalize the efficiency condition into an equivalent, more manageable condition in terms of switching threshold values (see (15) below) by using Proposition 4, and then show the equivalence of (14) and (15): Let x be the binary representation of q. Then, q (or x, respectively) is extreme-efficient () 9v k P 0 ðk ¼ 1; 2Þ; v 1 – v 2 : RðxÞ  v k PðxÞ ¼ maxy2X RðyÞ v k PðyÞ. () 9v k P 0 ðk ¼ 1; 2Þ; v 1 – v 2 such that 8j 2 J : (acc. to Proposition 4 and reformulated)

    ujsj þ1;sj  RðxÞ ð1  PðxÞÞ1 6 v k 6 ujsj ;sj 1  RðxÞ ð1  PðxÞÞ1 :

() maxj2J ujsj þ1;sj < minj2J ujsj ;sj 1 ð1  PðxÞÞ1 > 0.

8j 2 J : ujsj ;sj 1  RðxÞ

Since ð1  PðxÞÞ1 > 0, we know that q is extreme-efficient if and only if

max ujsj þ1;sj < min ujsj ;sj 1 j2J


and RðxÞ < min ujsj ;sj 1 :



Note that the first part of condition (15) means that the non-emptiness of the interval corresponding to price vector q is a necessary condition for efficiency. Thus, only price vectors generated by our non-empty interval method are potential candidates for being extreme-efficient, and thus for being the index-minimal optimal solution. We now show in two parts that condition (15) is equivalent to (14). First, (14) ) (15) since RðxÞ 6 Rðx Þ < minj2J ujs ;s 1 by optimalj j ity of x and minj2J ujs ;s 1 6 minj2J ujsj ;sj 1 given (14). Thus, j j j RðxÞ < minj2J usj ;sj 1 , i.e. q is an extreme-efficient price vector according to (15). Second, to see that (15) ) (14), assume that q is an extremeefficient price vector but (14) does not hold. In particular for the nontrivial case, assume that part (ii) of (14) does not hold, i.e. maxj2J ujsj þ1;sj < minj2J ujsj ;sj 1


minj2J ujsj ;sj 1 < minj2J ujs ;s 1 . j


Then, by construction of the partitioning intervals, we must have q < q . Consequently, since the purchasing probability decreases in price, PðxÞ > Pðx Þ. Simultaneously, since q is the price that maximizes per-period expected revenue, it follows that RðxÞ 6 Rðx Þ. In summary, price q leads to a smaller or equal perperiod expected revenue and a larger per-period expected capacity consumption than price q . Therefore, q could not have been efficient according to the efficiency definition, contradicting our assumption. h Proposition 5 is very useful since it allows to use the intervalbased algorithm as outlined in our example to generate all extreme-efficient price vectors (vectors 1–4), and to stop as soon as the price vector that maximizes per-period expected revenue is found, here in iteration 4 with value 347:26 2 ½282:8; 432:8Þ. The complete algorithm is summarized in the next section. 4.3. DPS algorithm Note again that the algorithm for solving the dynamic price selection problem is outlined for the time-homogeneous case. When demand parameters in the choice model change over time, switching threshold values must be recomputed with Step 1 of the algorithm during the dynamic programming procedure in Step 2. Step 1: Preprocessing 1.1 Determination of switching threshold values For j ¼ 1; . . . ; J and s ¼ 0; . . . ; Sj , determine ujsþ1;s   according to (12) ujSj þ1;Sj :¼ 1 .


Note that in general, there may be efficient price vectors which are not extremeefficient, depending on the choice model. Then, these solutions may well be optimal for the price selection problem. In this case, however, there always exists another optimal solution, which is extreme-efficient.



Determination of efficient price vectors


C. Schön / European Journal of Operational Research 205 (2010) 650–660

1.2.1 Initialization Set sj :¼ 0 8j ¼ 1; . . . ; J (null price) with corresponding x; RðxÞ ¼ PðxÞ :¼ 0. Set the iteration counter i :¼ 0, and the upper bound UBðiÞ :¼ 1. Initialize the set of extreme-efficient price vectors I :¼ ;.   Let L be a list with elements j; ujsj þ1;sj ; j ¼ 1; . . . ; J, sorted in descending order with respect to u. Set PRE :¼ 1 (Boolean to stop Preprocessing). 1.2.2 Generating bounds and candidate solutions While PRE = 1 Let k be the product index of the first (i.e. largest) element in L. Set the lower bound LBðiÞ :¼ uksk þ1;sk . If LBðiÞ < UBðiÞ then save yðiÞ :¼ x (with RðxÞ; PðxÞ) and set I :¼ I [ fig. If LBðiÞ 6 RðxÞ < UBðiÞ then set PRE :¼ 0. If sk < Sk then Update x by setting sk :¼ sk þ 1, update RðxÞ and PðxÞ accordingly. Update L by deleting its first element and  inserting k; uksk þ1;sk into L.

Table 3 Expected revenue increase from dynamically adjusting prices.

High Low

Fixed prices

5 prices

500 prices

37,978 67,854

40,611 (+7%) 70,920 (+4.5%)

49,408 (+23%) 169,398 (+149%)

The preprocessing step has a worst time complexity of OðM log J) P with M ¼ j¼1;...;J Sj governed by at most 1 þ M calls to the while-loop (1.2.2) in which an element is inserted into a sorted list of size J  1. The dynamic programming step runs in time of OðTCMÞ.

(H). The two instances with 50110 possible price combinations could be solved in less than 5 seconds with the DPS algorithm coping with almost any degree of pricing flexibility. Table 4 shows the results of a computational performance analysis (implemented in C on a MS Win XP Pentium 4, 3.2 GHz) that compares the running times of three exact approaches to solve the dynamic program (7): (1) DPS – the proposed dynamic price selection approach, (2) LMR/DP – the ‘‘largest marginal revenue” procedure/dynamic programming approach of Talluri and van Ryzin (2004a) adapted to the multiple-price setting, and (3) LP – the standard Charnes–Cooper/linear programming approach for fractional programs, embedded into the backward recursion. For each problem size, the data in Table 4 represent the average over 10 randomly generated instances, where problem size differs with respect to the planning horizon T, the capacity C, the number J of products, and the number Sj ¼ S of alternative prices for each product. In addition to the CPU time, the average number of decision variables for the DPS before preprocessing as well as for the setbased approach of Talluri and van Ryzin (2004a) before (LMR) and after (DP) preprocessing are displayed in the last three columns. As expected given the time complexity of OðSJ log JÞ þ OðTCSJÞ, the DPS method with less than 2 seconds for each instance clearly outperforms the two alternative approaches. For LP without any preprocessing, TC linear programs with SJ þ 1 variables each are solved by a standard LP procedure from the NAG C library. For the LMR/DP approach, the running time of the preprocessing step is of order OðSJ Þ such that instances with 10 products and 10 or more alternative prices could not be solved within a time limit of 12 hours (indicated by a dash in Table 4). For the instances solved, the à-priori identification of the efficient sets with the LMR procedure accounts for more than 99.9% of the total LMR/DP running time on average.

5. Performance analysis

6. Extensions

Before we turn to the computational performance analysis of the proposed DPS algorithm, we demonstrate the potential impact on revenue from dynamically adjusting prices in contrast to pure allocation. Consider the 10-product airline example in Talluri and van Ryzin (2004a) based on the MNL choice model where price is the only attribute with attraction function fj ðrj Þ ¼ expðbr j Þ. The price-sensitivity parameter b is given by bL ¼ 0:0014 for a lowsensitive scenario and bH ¼ 0:0048 for higher sensitivity. Other model parameters are given by k ¼ 0:5; T ¼ 410; C ¼ 185, and Ac ¼ 1. For the pure allocation-oriented approach, prices for the 10 products are fixed at 600, 550, 475, 400, 300, 280, 240, 200, 185, and 175. The optimal policy yields an expected revenue of 67,854 in scenario L and 37,978 in scenario H. Given some pricing flexibility the airline might now consider five alternative (real) prices for each product by varying each of the prices given above by ±10 and ±20. In scenario L (H), this flexibility yields a revenue increase by more than 4.5% (7%) compared to the fixed price case (see Table 3). Further substantial improvements are possible by extending the set of admissible prices. If we allow 500 alternative prices between 150 and 2645 with stepsize 5$ for each of the 10 products (and the null price), the expected revenue can be increased by +149% (+23%) in scenario L

In this section, we discuss extensions of our approach to the setting with multiple resources as well as to the case where consumers choose according to a nested logit model rather than an attraction choice model. To keep the notation simple, we focus on time-homogeneous demand.

Set i :¼ i þ 1; UBðiÞ :¼ LBði1Þ

Step 2: Dynamic programming Boundary conditions: set V T ðzÞ :¼ 0 8z ¼ 0; . . . ; C  1; V t ðCÞ :¼ 0 8t ¼ 1; . . . ; T For t ¼ T  1; . . . ; 1 and z ¼ C  1; . . . ; 0 Let i be the first element in I While not LBðiÞ 6 RðyðiÞ Þ þ DV tþ1 ðzÞð1  PðyðiÞ ÞÞ < UBðiÞ : let i be the next element in I An optimal action for the current state z at the current decision epoch t is given by x :¼ yðiÞ with V t ðzÞ ¼ k½Rðx Þ  Pðx ÞDV tþ1 ðzÞ þ V tþ1 ðzÞ

6.1. Multiple resources The model in (7) can be easily extended to the case where J products are provided by H resources rather than a single one. Let the whole product set J ¼ f1; . . . ; Jg from the seller be partitioned into product sets J k belonging to different markets k 2 K such that there is no demand interdependence between markets, while alternatives within a market k are requested with probability kk and chosen according to an attraction model. As an airline example, H ¼ f1; . . . ; Hg may represent the airline’s fleet (e.g. 5 large aircraft each with a capacity of 400 seats and 10 small aircraft each with 150 seats); K may contain different origin–destination pairs offered in the flight schedule (e.g. FRA–BOS, FRA–JFK, MUC–JFK, . . .) and J k the fare classes on various itineraries in market k (e.g. for the market FRA–BOS j = 1: a business class ticket on a direct flight departing at 10:00 a.m. at price 900, j = 2: an economy class


C. Schön / European Journal of Operational Research 205 (2010) 650–660

Table 4 Results of the computational performance analysis. Problem size

CPU time (seconds)

# variables











1 1 1 1 1 10 100 700 700 700 700

1 1 1 1 1 3 70 150 150 150 150

5 5 10 10 10 5 5 5 10 10 10

1 10 4 10 100 10 10 10 4 20 100

0.0000 0.0000 0.0000 0.0000 0.0016 0.0000 0.0015 0.0125 0.0031 0.1281 1.5812

0.0000 0.0031 0.0031 0.0063 0.0827 0.0110 1.8594 21.5969 16.2719 323.7594 8212.2296

0.0016 0.6798 1094.3767 – – 0.5999 0.9516 1.4610 1082.2007 – –

5 50 40 100 1000 50 50 50 40 200 1000

32 161,051 9,765,625 2.59E+10 1.10E+20 161,051 161,051 161,051 9,765,625 1.67E+13 1.10E+20

4.4 4.4 7.7 – – 4.6 10.6 15.5 6.9 – –

ticket on the same flight at price 500, j = 3: a business class ticket on a ‘‘parallel” flight departing at 10:05 a.m. with a stopover in JFK at price 800). A sale of product j 2 J k requires one seat capacity of one or more resources h 2 H assigned to the legs in the underlying flight network (e.g. product j = 3 may require one seat of a specific large aircraft for the flight leg from FRA to JFK and one seat of a small aircraft for the flight leg from JFK to BOS). Let dhj ¼ 1 if product j 2 J uses resource h 2 H on one of its legs and dhj ¼ 0 otherwise, and denote by dj the jth column vector of the incidence matrix ½dhj HJ . The state of the network at any point of time is described by a vector z ¼ ðz1 ; . . . ; zH Þ of accepted reservations with maximum capacity C ¼ ðC 1 ; . . . ; C H Þ. Accordingly, the feasible set X in (2) is now state dependent since we need to fix xj0 ðt; zÞ ¼ 1 for all j 2 J with z þ dj > C. The Bellman equation for the multi-resource multi-market setting is then

V t ðzÞ ¼ max g t ðx; zÞ þ V tþ1 ðzÞ;




g t ðx; zÞ :¼




j2J k



Ac þ


s2S j



qjs  Dj V tþ1 ðzÞ Ajs xjs ðt; zÞ j2J k


s2S j Ajs xjs ðt; zÞ



with marginal costs of capacity Dj V tþ1 ðzÞ :¼ V tþ1 ðzÞ  V tþ1 ðz þ dj Þ and boundary conditions V T ðzÞ :¼ 0 ðz P 0Þ; V t ðCÞ :¼ 0 ðt ¼ 0; .. . ; TÞ. If the dimension of the state space is very small in certain applications, the backward recursion can be applied to obtain an optimal policy. In fact, the DPS procedure can be adapted for exact solution: for every t and z, the problem to maximize g t ðx; zÞ is a binary sum-of-ratios (SOR) problem separable in k such that an optimal solution to each subproblem denoted by P ðkÞ is a partial solution to the original SOR problem. P ðkÞ itself is a fractional program of the form (8), but with cjs :¼ ½qjs  Dj V tþ1 ðzÞAjs . Since the marginal costs of capacity are product-specific, they must be included in the computation of the lower and upper interval bounds on the objective function value in Proposition 4. The optimality condition (13) on the minimal price index vector ðsj Þj2J k that is optimal for problem PðkÞ then becomes:

n o n o max ujsj þ1;sj  Dj V tþ1 ðzÞ 6 Z k < min ujsj ;sj 1  Dj V tþ1 ðzÞ ; j2J k

with Z k :¼

j2J k


j2J k

pjsj t

However, given a H-dimensional state space, the computational effort of the backward recursion will be overwhelming even for moderate H and approximations present the only feasible approach in most practical situations. Several common network RM heuristics applicable to (16) like decomposition (van Ryzin and Liu, 2004) or inventory pooling of parallel resources (Zhang and Cooper, 2006) rely on the ability to efficiently solve single-resource models. The DPS approach (again with product-specific marginal costs of capacity) serves as a highly efficient procedure to exactly solve the single-resource subproblems in such approximations. 6.2. Nested logit choice models While the simplicity of attraction choice models like the MNL is highly appreciated in applications on one hand, this naturally comes along with strong assumptions on the other hand and has motivated researchers to develop a variety of alternative formulations. In particular, attraction choice models possess the independence of irrelevant alternatives (IIA) property stating that the relative likelihood of choosing two alternatives is independent of the choice set containing these alternatives. If this cannot be justified by the data, NL models often provide a suitable alternative. The NL model is currently the preferred extension to the MNL model because of its ability to represent similarities (covariance of error terms) among groups/nests of alternatives (see e.g. Train, 2003; Coldren and Koppelman, 2005). NL models do not belong to the class of attraction choice models considered here, but within each nest, consumers choose according to an MNL model. Exploring this structure, we developed a heuristic that decomposes the optimization problem by nest and uses the DPS approach to efficiently solve each subproblem. Our experimental results for a two-level NL model with 2 and 3 nests show that this approximation performs very well with an average (maximum) percentage deviation of objective function values from the optimum of <0.01% (<0.08%). More details on this heuristic can be obtained from the author. 7. Conclusion


 qjsj  Dj V tþ1 ðzÞ . Accordingly, we solve jKj

price selection problems for every t and z, where for each k 2 K the non-empty (and non-negative) intervals in (18) and the corresponding candidate solutions (formerly Step 1.2 of the DPS algorithm) must be recomputed during the backward recursion simultaneously with the test for optimality of the current partial solution. Thus, the price selection problem at each decision epoch P  can still be efficiently solved in O k2K M k log N k with N k :¼ jJ k j P and Mk :¼ j2J k Sj .

The DPS approach provides a way of efficiently determining an optimal policy for an SMSDP problem with discrete prices for the special but widely applied class of attraction choice models. While SMSDP problems are difficult to solve in general we have shown how the fractional problem structure under attraction choice can be exploited for solving the price selection subproblems at each decision epoch of the dynamic program as well as for determining the efficient prices in a preprocessing step. The method can easily cope with time-varying demand and with almost any degree of pricing flexibility offering a huge potential for revenue improvement. Furthermore, we have discussed how to extend our results


C. Schön / European Journal of Operational Research 205 (2010) 650–660

to the multiple-resource multiple-market case. Finally, the DPS approach may be used as a reasonable approximation when a more sophisticated choice model like the NL applies, and further research effort in this area is needed. Moreover, the coordination of operational pricing and more strategic product design decisions is challenging but worthwhile to be considered. Then, from a practical perspective, time-based separation of allocation and pricing decisions would be interesting, for example when price changes are only possible in pre-specified periods. Finally, the extension to the case where customers buy multiple units of the same product is another highly interesting aspect for future research for choice-based RM that would require to not only accommodate the discrete choice but also the quantity decision of the buyer.

½qð2Þ  DV tþ1 ðz2 Þfkt ðqð2Þ Þ  ½qð1Þ  DV tþ1 ðz2 Þfkt ðqð1Þ Þ fkt ðqð2Þ Þ  fkt ðqð1Þ Þ

Appendix A. Proofs

which is equivalent to

A.1. Proof of Proposition 3

½qð2Þ  DV tþ1 ðz1 Þfkt ðqð2Þ Þ  ½qð1Þ  DV tþ1 ðz1 Þfkt ðqð1Þ Þ fkt ðqð2Þ Þ  fkt ðqð1Þ Þ

(i) Consider a fixed decision epoch t ¼ 0; . . . ; T  1 and any two state variables z1 ; z2 ¼ 0; . . . ; C  1 with z1 < z2 . Denote by  q1q1 ; . . . ; qjqj ; . . . ; qnqn 2 R the optimal price vector for (7) at decision epoch t and state z1 , and let x ðt; z1 Þ 2 X be the corresponding binary vector with components xjs ðt; z1 Þ ¼ 1 if s ¼ qj , and xjs ðt; z1 Þ ¼ 0 otherwise. Similarly, let q1s1 ; . . . ; qjsj ; . . . ; qnsn be the optimal price vector for (7) at decision epoch t and state z2 with corresponding binary vector x ðt; z2 Þ 2 X with xjs ðt; z2 Þ ¼ 1 if and only if s ¼ sj . For ease of notation we use xð1Þ for x ðt; z1 Þ and xð2Þ for x ðt; z2 Þ. Since we need to show that there exists an optimal policy with qjqj 6 qjsj for all j 2 J , assume there exists an index k 2 J with qkqk > qksk and define, again for ease of notation, qð1Þ :¼ qkqk and qð2Þ :¼ qksk . We will show that a switch from price qð1Þ to qð2Þ at time t and state z1 would not decrease V t ðz1 Þ, given the optimality of price qð2Þ for state z2 . Recall that from optimality of xð2Þ we have V t ðz2 Þ ¼ kt g t ðxð2Þ ; z2 Þ þ V tþ1 ðz2 Þ P kt g t ðx; z2 Þ þ V tþ1 ðz2 Þ 8x 2 X , with g t ðx; z2 Þ given by (7). The inequality can be rewritten exclusive of constant terms kt and V tþ1 ðz2 Þ that do not affect the optimal solution of the price selection problem, i.e. g t ðxð2Þ ; z2 Þ P g t ðx; z2 Þ 8x 2 X . Then, optimality of g t ðxð2Þ ; z2 Þ implies that

P Rt ðxð1Þ Þ  Pt ðxð1Þ ÞDV tþ1 ðz2 Þ: This inequality is also valid if DV tþ1 ðz2 Þ is replaced by DV tþ1 ðz1 Þ as shown in the following. Adding DV tþ1 ðz2 Þ on both sides yields

qð2Þ fkt ðqð2Þ Þ  qð1Þ fkt ðqð1Þ Þ P Rt ðxð1Þ Þ þ ð1  Pt ðxð1Þ ÞÞDV tþ1 ðz2 Þ: fkt ðqð2Þ Þ  fkt ðqð1Þ Þ Since 1  Pt ðxð1Þ Þ P 0 and DV tþ1 ðz1 Þ 6 DV tþ1 ðz2 Þ for z1 < z2 by Proposition 2(iii) it follows that

qð2Þ fkt ðqð2Þ Þ  qð1Þ fkt ðqð1Þ Þ P Rt ðxð1Þ Þ þ ð1  Pt ðxð1Þ ÞÞDV tþ1 ðz1 Þ; fkt ðqð2Þ Þ  fkt ðqð1Þ Þ

P Rt ðxð1Þ Þ  Pt ðxð1Þ ÞDV tþ1 ðz1 Þ : |fflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl} g t ðxð1Þ ;z1 Þ

Analogously to the above, Lemma 1 implies that if the last inequality is strict, g t ðxð1Þ ; z1 Þ and thus V t ðz1 Þ ¼ kt g t ðxð1Þ ; z1 Þ þ V tþ1 ðz1 Þ can be increased by selecting price qð2Þ instead of qð1Þ , contradicting optimality of V t ðz1 Þ. In the equality case, V t ðz1 Þ remains unchanged if price qð2Þ rather than qð1Þ is charged. (ii) The price monotonicity in time can be shown analogously to part (i) of the proof, considering a fixed state and any two decision epochs with time-homogeneous attraction function (i.e. fjt1 ¼ fjt2 for j 2 J ). The argumentation is similar, making use of the property from Proposition 2(iii) that marginal cost of capacity is nonincreasing in time. h A.2. Proof of Proposition 4

where Rt ðx Þ and Pt ðx Þ are the period-t expected revenue and capacity consumption from offering xð1Þ according to (6). Simultaneously, given optimality of g t ðxð2Þ ; z2 Þ, it follows from Lemma 1 that

To show that x 2 X is optimal for decision epoch t and state z, it is equivalent to show that for any other point y 2 X neighboring x, the objective function value g t ðy; zÞ is not larger than g t ðx; zÞ. Assume that y is obtained from x by switching from price indexed P by sj to qj 2 S j for a product j 2 J . Denote by C :¼ j2J cjsj the P c numerator and by D :¼ d þ j2J djsj the denominator of g t ðx; zÞ (with c and d according to (8)) and by Cðqj Þ; Dðqj Þ the numerator and denominator of g t ðy; zÞ, respectively. Then, x is a (local) optimal solution, if and only if g t ðy; zÞ ¼ Cðqj Þ=Dðqj Þ 6 g t ðx; zÞ ¼ C=D 8j 2 J ; qj – sj , which can be reformulated as

½qð2Þ  DV tþ1 ðz2 Þfkt ðqð2Þ Þ  ½qð1Þ  DV tþ1 ðz2 Þfkt ðqð1Þ Þ fkt ðqð2Þ Þ  fkt ðqð1Þ Þ

Cðqj Þ þ cjsj  cjqj Cðqj Þ C 6 ¼ Dðqj Þ D Dðqj Þ þ djsj  djqj

g t ðxð2Þ ; z2 Þ P g t ðxð1Þ ; z2 Þ ¼ Rt ðxð1Þ Þ  Pt ðxð1Þ ÞDV tþ1 ðz2 Þ; ð1Þ



P g t ðxð2Þ ; z2 Þ:

ð20Þ ð2Þ

To see (20), recall that g t ðx ; z2 Þ ¼



½qjs DV tþ1 ðz2 Þfjt ðqjs Þ



Ac þ


f ðqjs Þ j2J jt j


according to

(7). We may extend the numerator and the denominator of g t ðxð2Þ ; z2 Þ and rewrite it as a fraction ða1 þ a2 Þ=ðb1 þ b2 Þ with P a1 :¼ j–k ½qjsj  DV tþ1 ðz2 Þfjt ðqjsj Þ þ ½qð1Þ  DV tþ1 ðz2 Þfkt ðqð1Þ Þ; a2 :¼ P ½qð2Þ  DV tþ1 ðz2 Þfkt ðqð2Þ Þ  ½qð1Þ  DV tþ1 ðz2 Þfkt ðqð1Þ Þ; b1 :¼ Ac þ j–k

C þ cjqj  cjsj C 6 D þ djqj  djsj D

Cðqj Þ Dðqj Þ

8j; qj > sj :


Regarding the first part of (21), we know from Lemma 1 that


Cðqj Þ cjsj  cjqj min ; Dðqj Þ djsj  djqj

fjt ðqjsj Þ þ fkt ðqð1Þ Þ, and b2 :¼ fkt ðqð2Þ Þ  fkt ðqð1Þ Þ. Note that b1 > 0 by definition of the attraction, and b2 > 0 for qð2Þ < qð1Þ since the attraction function fkt is strictly decreasing in price. Therefore, we can apply Lemma 1: Optimality of g t ðxð2Þ ; z2 Þ yields a1 =b1 6 g t ðxð2Þ ; z2 Þ ¼ ða1 þ a2 Þ=ðb1 þ b2 Þ (note that a1 =b1 is the value of g t ðx; zÞ at a feasible point x that is obtained from xð2Þ by switching from price qð2Þ to price qð1Þ for product k). Thus, we have from Lemma 1 that g t ðxð2Þ ; zÞ 6 a2 =b2 which is equivalent to (20). Combining (19) and (20) it follows that

8j; qj < sj and

) 6

Cðqj Þ þ cjsj  cjqj

Dðqj Þ þ djsj  djqj ( ) Cðqj Þ cjsj  cjqj ; 6 max Dðqj Þ djsj  djqj


holds for qj < sj . Note that we can apply Lemma 1 since for qj < sj we have qjqj P qjsj (prices in descending order), and thus djsj  djqj > 0 (attraction decreasing in price). On the other hand, we know from Lemma 1 that for the second part of (21) with qj > sj


C cjqj  cjsj min ; D djqj  djsj


( ) C þ cjqj  cjsj C cjqj  cjsj 6 : 6 max ; D djqj  djsj D þ djqj  djsj



C. Schön / European Journal of Operational Research 205 (2010) 650–660

Thus, (21) is equivalent to

cjs  cjqj g t ðx; zÞ 6 j djsj  djqj

8j; qj < sj and

cjqj  cjsj djqj  djsj

6 g t ðx; zÞ 8j; qj > sj () max

qjqj Ajqj  qjsj Ajsj

qj >sj

Ajqj  Ajsj


6 g t ðx; zÞ þ DV tþ1 ðzÞ 6 min qj
Note that ujqs ¼ fj1 ðAÞA,

qjq Ajq qjs Ajs Ajq Ajs

qjsj Ajsj  qjqj Ajqj Ajsj  Ajs



is the difference quotient of the function

where fj is the attraction function for product j 2 J . Since

the function fj1 ðAÞA is concave in A for regular attraction models (see Section 2.1), ujqs is decreasing in Ajq and q, respectively. Therefore, we have for s 2 S j : maxq>s ujqs ¼ ujsþ1;s 6 minq
Coldren, G., Koppelman, F., Kasturirangan, K., Mukherjee, A., 2003. Modeling aggregate air-travel itinerary shares. Journal of Air Transport Management 9 (6), 361–369. Cooper, L., Nakanishi, M., 1988. Market Share Analysis. Kluwer Academic Publishers, Boston. Feng, Y., Xiao, B., 2006. Integration of pricing and capacity allocation for perishable products. European Journal of Operational Research 168 (1), 17–34. Gallego, G., van Ryzin, G., 1994. Optimal dynamic pricing of inventories with stochastic demand over finite horizons. Management Science 40, 999– 1020. Gallego, G., van Ryzin, G., 1997. A multi-product dynamic pricing problem and its applications to network yield management. Operations Research 45, 24– 41. Green, P., Krieger, A., 1988. Choice rules and sensitivity analysis in conjoint simulators. Journal of the Academy of Marketing Science 16 (1), 114– 127. Lautenbacher, C., Stidham, S., 1999. The underlying markov decision process in the single-leg airline yield-management problem. Transportation Science 33 (2), 136–146. Lee, T., Hersh, M., 1993. A model for dynamic airline seat inventory control with multiple seat bookings. Transportation Science 27 (3), 252–265. Maglaras, C., Meissner, J., 2006. Dynamic pricing strategies for multi-product revenue management problems. Manufacturing & Service Operations Management 8 (2), 136–148. Schindler, R., 2006. The 99 price ending as a signal of a low-price appeal. Journal of Retailing 82 (1), 71–77. Stancu-Minasian, I., 1997. Fractional Programming. Kluwer Academic Publishers, Boston. Stiving, M., Winer, R., 1997. An empirical analysis of price endings with scanner data. Journal of Consumer Research 24 (1), 57. Talluri, K., van Ryzin, G., 2004a. Revenue management under a general discrete choice model of consumer behavior. Management Science 50 (1), 15–33. Talluri, K., van Ryzin, G., 2004b. The Theory and Practice of Revenue Management, first ed. Kluwer Academic Publishers, Boston. Train, K., 2003. Discrete Choice Methods with Simulation. Cambridge University Press, Cambridge, UK. van Ryzin, G., Liu, Q., 2004. On the choice-based linear programming model for network revenue management. Columbia Bus. School – Decision, Risk & Operations Work, Paper Series. Zhang, D., Cooper, W., 2006. Pricing substitutable flights in airline revenue management. European Journal of Operational Research. .