A non-parametric approach to demand forecasting in revenue ...

18 downloads 16361 Views 296KB Size Report
May 2, 2015 - fare product (buy-up), switch to a lower fare product (buy-down), or renege (spill). ..... To tighten the feasible domain, the lower bound Rc.
Computers & Operations Research 63 (2015) 23–31

Contents lists available at ScienceDirect

Computers & Operations Research journal homepage: www.elsevier.com/locate/caor

A non-parametric approach to demand forecasting in revenue management Sh. Sharif Azadeh a,n, P. Marcotte b, G. Savard a a b

Department of Mathematics and Industrial Engineering, Polytechnique Montréal, Montréal, Québec, Canada H3C 3A7 Department of Computer Science and Operation Research, University of Montréal, Montréal, Québec, Canada H3T 1J4

art ic l e i nf o

a b s t r a c t

Available online 2 May 2015

In revenue management, the profitability of the inventory and pricing decisions rests on the accuracy of demand forecasts. However, whenever a product is no longer available, true demand may differ from registered bookings, thus inducing a negative bias in the estimation figures, as well as an artificial increase in demand for substitute products. In order to address these issues, we propose an original Mixed Integer Nonlinear Program (MINLP) to estimate product utilities as well as capturing seasonal effects. This behavioral model solely rests on daily registered bookings and product availabilities. Its outputs are the product utilities and daily potential demands, together with the expected demand of each product within any given time interval. Those are obtained via a tailored algorithm that outperforms two well-known generic software for global optimization. & 2015 Elsevier Ltd. All rights reserved.

Keywords: Revenue management Forecasting Integer programming Branch-and-bound Heuristics

1. Introduction According to Cross [7], Revenue Management (RM) is the research area that focuses on the study of disciplined tactics for making product availability and pricing decisions, with the aim of maximizing revenue growth. In the service industry, this goal can only be achieved through accurate demand forecasting, which must take into account the volatility of product availabilities over the booking horizon. Clearly, registered bookings alone are not sufficient to depict the true demand. Indeed, as soon as a product reaches its capacity (booking limit), true demand is constrained (censored) and cannot be observed. Upcoming customers can then either switch to a higher fare product (buy-up), switch to a lower fare product (buy-down), or renege (spill). According to Weatherford and Belobaba [30], ignoring the data censorship phenomenon can lead to demand underestimation ranging from 12.5% to 25%, and negatively affect revenue by 1–3%, a significant amount for major rail or airline operators. Although unconstraining techniques may have a big impact on the success of revenue management systems, this topic has not been paid much attention in the literature. In general, two frameworks have been considered to deal with the issue: statistics and optimization. In this paper, we tackle the problem of demand modeling by the use of optimization techniques. However, first, in this section, we

n

Corresponding author. E-mail addresses: [email protected] (Sh. Sharif Azadeh), [email protected] (P. Marcotte), [email protected] (G. Savard). http://dx.doi.org/10.1016/j.cor.2015.03.015 0305-0548/& 2015 Elsevier Ltd. All rights reserved.

present the challenges and rewards of using statistical methods for uncensoring demand. Based on the literature, statistical techniques such as time series, exponential smoothing, or linear regression have mostly been considered in this context. All of these are able to include seasonal effects within their demand forecasts. Zeni [31] and Queenan et al. [21] have provided a comprehensive study of these methods, and have compared their respective impact on revenue. Their main drawback is that they cannot respond to sudden changes in customer behavior when a product becomes unavailable (see [24,15,20,29,14]). On the other hand, there are many researchers who have addressed the problem from optimization point of view [9,13,18,28]. Actually, authors such as van Ryzin [23] have claimed that revenue management systems should focus on customer behavior and choice probabilities, rather than blindly estimating demand from historical booking data. Choice-based models were introduced by Andersson [1], and analyzed by Talluri and van Ryzin [26] and Vulcano et al. [27] within the framework of discrete choice theory. In the latter two works, the parameters of the model have been estimated by maximumlikelihood techniques. In another research, Ratliff et al. [22] have integrated historical demand data within a multi-flight heuristic procedure. Also, Vulcano et al. [28] have applied customer choice models to the estimation of product primary demand (first-choice demand). In all the above-mentioned optimization models, a parametric method of estimation (Expectation–Maximization, or EM in short) is used to estimate the parameters of the choice model, under demand independence assumptions. Although the approaches have

24

Sh. Sharif Azadeh et al. / Computers & Operations Research 63 (2015) 23–31

been used for many years with some success, several issues still need to be addressed:

 Demand across fare products is not independent. Dealing with

  

dependency yields a complex parameter estimation process that has been considered and tested by Stefanescu [25] on small instances. As the proportion of censored demand in historical data grows, the accuracy of the standard estimation methods decreases (see [26,28,10]). Several statistical methods fail to accurately capture seasonal effects. Choice probabilities should enter the optimization process as variables, not as parameters to be estimated. Indeed, these probabilities depend on the set of products available within each time period.

All these issues have motivated us to develop a non-parametric and distribution-free estimation procedure that, based upon historical bookings, takes explicitly into account the set of available products. The contribution of this work is twofold. First, we formulate a model for minimizing the difference between estimated and registered bookings. In order to obtain a realistic representation of customer behavior, cross-temporal utilities enter the model as variables, and seasonal effects are captured by classifying daily demand flows into a predefined number of clusters. Next, we formulate the problem as a MINLP (mixed-integer nonlinear program) , for which we develop a semiglobal optimization algorithm. We close this introductory section with an outline of the paper's structure. Following the description of the problem, together with its underlying assumptions and mathematical formulation (Section 2), we provide a detailed description of the solution algorithm, including the node selection strategy and the valid inequalities used for enhancing the branch-and-bound framework (Section 3). Computational results on synthetic data are analyzed in Section 4, while the concluding Section 5 opens avenues for future research. 2. Problem formulation To illustrate demand censorship, let us consider the twoproduct example involving the data displayed in Table 1. As soon as demand for product A exceeds its booking limit 35, which it does since true demand is equal to 40, the data collection system stops counting the number of upcoming customers. As a result, the real demand for A is censored and may exceed 35. In the present case, one A-customer switched to B, while the other 4 reneged. The main objective of our mathematical model is to minimize the difference between temporal registered bookings and their estimates. Let us introduce its main elements: a product i corresponds to a fare class offered at a given period,1 and is endowed with a utility ui. The set of products available at a given period j is the choice set Sj. A cluster c denotes the set of periods that share common features based on the demand flow, such as weekdays, weekends, and holidays. Each daily potential demand dj is associated with a unique cluster. For given utilities ui and choice sets Sj the choice probability pij of selecting product i on day j is computed according to the multinomial logit (MNL) formula [16] 0 1 8 > P > < expðu Þ=@ expðuk Þ þ expðu0 ÞA if i A Sj i ð1Þ pij ðSj ; ui Þ ¼ k A Sj > > : 0 otherwise; where u0 represents the utility of the no-choice option.

Table 1 Demand censorship. Product

A

B

Availability status Observed demand Booking limit Real demand

Yes 35 35 40

Yes 5 6 4

Table 2 Summary of notations (MINLP). Sets Product iA I ¼ f1; …; j Ij g Day j A J ¼ f1; …; j Jj g Cluster c A C ¼ f1; …; j C j g Choice set Sj , set of products available on day j Parameters Oij Observed bookings for product i A I on day j A J Aij Availability status of product i A I on day jA J Variables dj Daily potential demand (integer) pij Probability of selecting product i A I on day jA J zjc Cluster membership variable (binary) ui Utility of product i δc Potential demand of cluster c

Table 3 Additional summary of notations (RELAX). Parameters Upper bound on potential demand for cluster c A C RUc RLc

Lower bound on potential demand for cluster c A C

DUj

Upper bound on potential demand on day j A J

DLj P Uij P Lij

Lower bound on potential demand on day j A J

Throughout, the terms ‘time period’ and ‘day’ are used interchangeably.

Lower bound on choice probability of product i A I on day jA J

Variables eij Difference between estimated demand wij and observed bookings Oij wij Expected demand for product iA I on day j A J N Normalized daily potential demand A ½0; 1 d jc

rN c

Normalized potential demand for each cluster A ½0; 1

For a given time horizon, d1 ; d2 ; …; d j J j and a set of products I, we wish to minimize the discrepancy eij between the expected bookings wij of each available product i at a given day j and its associated observed registered booking Oij , thus simultaneously capturing seasonal effects and customer behavior. We will therefore have achieved the three following goals:

 external segmentation (classification of days within clusters);  estimation of daily potential demand;  estimation of product utilities. A summary of the notation used in the model is displayed in Tables 2 and 3. The objective of the model is to minimize the difference between estimated and observed reservations, through the estimation of potential demand, product utilities, and cluster membership. This is achieved by solving the following mathematical model: MINLP :

1

Upper bound on choice probability for product iA I on day j A J

min

δc ;u;z;dj

XX j A J i A Sj

ðpij ðSj ; ui Þdj Aij  Oij Þ2

ð2Þ

Sh. Sharif Azadeh et al. / Computers & Operations Research 63 (2015) 23–31

subject to dj ¼

X

pij ðSj ; ui Þ ¼ P

δc zjc ;

expðui Þ k A Sj expðuk Þ þ expðu0 Þ

;

i A Sj

jAJ

ð3Þ

zjc ¼ 1;

jA J

N

ð4Þ

j A J; c A C:

ð6Þ

ð9Þ

one derives the linear equation X N U dj ¼ djc Rc :

ð5Þ

cAC

zjc A f0; 1g;

and, upon the change of variable djc ¼ r N c zjc ;

c

X

25

ð10Þ

c

Using the fact that zjc is binary-valued, Eq. (9) can be linearized. N Indeed, if zjc ¼ 1, then djc ¼ r N c . Since zjc r 1, we have that N

In the objective function of the model, predicted booking for product i is set to the product of the relevant choice probability, potential demand of day j (in constraint (4), for algorithmic purposes, dj is defined as an integer variable) and products availability status. Solving the above-mentioned problem is challenging as there are several sources of nonconvexity and nonlinearity in this model: First, the product of choice probabilities and daily potential demand, second the fractional presentation of choice probabilities and finally the existence of class membership binary variables. In the following section, we will address all these challenges and we will introduce a linearized model.

zjc þ djc rr N c þ1

ð11Þ

and N

zjc þ r N c r djc þ 1 If zjc ¼ 0, then N

djc rzjc ;

N djc

ð12Þ ¼ 0, i.e.,

i A I; j A J:

ð13Þ

To tighten the feasible domain, the lower bound RLc on cluster demand dj has been set to the minimum value of daily cumulative registered reservations. 3.2. Relaxation and convexification

3. Algorithmic framework While the mathematical formulation of the problem is concise, its numerical resolution is challenging, due to both its combinatorial and nonlinear (fractional or multiplicative) nature. As we will observe later in the paper, it is not amenable to solution by global optimization software, its continuous relaxation being itself a difficult nonconvex program. The line of attack that we have pursued is based on an approximate mixed integer linear reformulation, which was strengthened by valid inequalities. Provided with an appropriate initial solution, and through the application of efficient branching rules, quasi-optimal solutions could be obtained from an off-the-shelf MIP software such as CPLEX. The key elements of the algorithmic framework are presented in more detail as follows: General Solution Framework Input: Registered bookings Oij, set of available products, Sj Output: Daily demand flows dj, cluster memberships zjc, utilities ui (1) Transformation into a MIP (i) Linearization (ii) Relaxation (iii) Convexification (2) Preprocessing at root node (iv) Valid inequalities (v) Initial solution (vi) Domain reduction (3) Branch-and-bound (vii) Branching strategy (viii) Adjustment of bounds at branching nodes

c

fractional term;

 the estimated demand for a given product on a given day involves the bilinear term ðwij ¼ pij dj Þ;

 variables zjc are binary-valued.

To deal with the first source of nonconvexity, we base our relaxation on choice probabilities pij (versus utilities), we approximate the bilinear terms wij by their convex envelopes, and resort to classical continuous relaxations for the binary variables zjc. Note that substituting the independent choice probability variables pij to the utilities ui in the original problem may induce infeasibilities. To address the issue we check that, for each product i and day j, the inequality expðui Þ k A Sj expðuk Þ þexpðu0 Þ

rP Uij ;

i A I; j A J

ð14Þ

holds in the MINLP model solved by a nonlinear solver. There are several ways to linearize products. Whenever bilinear terms involve integer variables, this can be achieved by performing a sequence of Fortet inequalities to obtain a Mixed Integer Linear program (MILP) [5,4]. Alternatively, if variables are continuous, one must resort to solution techniques for nonconvex programs, such as McCormick inequalities, where a linear approximation of the bilinear terms involves additional variables and constraints [17]. Therefore, in our case, to deal with the bilinear term wij ¼ pij dj , we contrast the concave and convex envelopes of these functions against the relaxations. Each bilinear term is relaxed independently. Making use of the bounds n o ð15Þ E ¼ wij ¼ pij dj A ½P Lij ; P Uij   ½DLj ; DUj   R ;

Let us assume that the potential demand for cluster c lies within predetermined bounds, i.e., δc A ½RLc ; RUc , and let us introduce the normalized variable

Eq. (4) then takes the form X U dj ¼ ðr N c Rc Þzjc

 the choice probabilities, pij derived from MNL model involve a

P Lij rpij ¼ P

3.1. Linearization

U L U rN c ¼ δc =Rc A ½Rc =Rc ; 1:

Three sources of nonconvexity occur in the MINLP mathematical model:

ð7Þ

ð8Þ

we locally convexify the bilinear term based on the following inequalities, which are only valid if product i is available on day j, i.e., Aij ¼ 1: wij ZDUj pij þ P Lij dj  P Lij DUj ; wij Z DLj pij þ P Lij dj  DLij P Lij ;

iA I; j A J i A I; j A J

wij r DUj pij þ P Lij dj  P Lij DUj ;

i A I; jA J

wij r DLj pij þ P Uij dj  P Uij DLj ;

i A I; j A J:

26

Sh. Sharif Azadeh et al. / Computers & Operations Research 63 (2015) 23–31

We then iteratively update, for each subproblem and at each node of the enumeration tree, the upper and lower bounds of the choice probabilities of available products. This yields the convex quadratic program XX RELAX : min e2ij ð16Þ p;d;z

iAI jAJ

wij Aij Oij ¼ eij ;

i A I; j A J

P Lij dj þ DLj pij  P Lij DLj r wij ;

i A I; j A J

P Uij dj þ DLj pij  P Uij DLj Z wij ;

i A I; j A J

P Lij dj þ DUj pij  P Lij DUj Z wij ;

iA I; j A J

N

djc r zjc ;

j A J; c A C

N zjc þ r N j A J; c A C c r djc þ 1; N N zjc þ djc rr c þ 1; j A J; c A C X N U djc Rc ; j A J dj ¼ cAC cAC RLc =RUc r r N c;

X

zjc ¼ 1;

jAJ

cAC

0 r zjc r 1

δ1 o δ2 r ⋯ r δ k r ⋯ r δ j C j :

j A J; c A C

where the second to fifth constraints express the McCormick inequalities of the bilinear terms, while the next six constraints assign each day to a specific cluster.

4. Solution algorithm The algorithm for globally solving the original problem is a branch-and-bound based on RELAX, and where branching is performed with respect to the integer variables δc, the integer variables dj, as well as the continuous variables pij. While a linear solver is put to contribution for the first two sets of variables, a nonlinear solver is required for computing the choice probabilities. We now provide a detailed description of the main elements of the algorithm.

Equivalently

4.1.3. Domain reduction Prior to branching, the respective ranges of the variables wij, pij and dj can be tightened. For example, the sum of registered bookings on a given day dj provides the lower bound X dj ZDLj ¼ Oij ; j A J: ð20Þ i

When F n shows the best integer solution, an upper bound DUj ð0Þ on dj can be set to the optimum of the convex optimization problem max d

dj

4.1.1. Valid inequalities Based on the set of available products, one can derive logical relations that must be satisfied by any optimal solution. In general, considering the choice sets of two separate days, Sj and Sj0 , three cases may happen: (i) the choice probabilities of two products are equal, pij ¼ pij0 , (ii) one of them is less than the other one, pij 4 pij0 (iii) we cannot establish a logical relation between two probabilities. Valid inequality 1: It is a property of the multinomial logit that if the choice set of day j is a subset of the choice set of day j0 , that is Sj D Sj0 , then we have expðui Þ expðui Þ ZP ¼ pij0 expðuk Þakj þ expðu0 Þ expðu k Þakj0 þ expðu0 Þ k A S j0 ð17Þ

i A I; j A J

j

constraints of RELAX: In a similar fashion, upper bounds P Uij ð0Þ on the choice probabilities pij are obtained by solving the convex program max p

pij

subject to

k A Sj

XX e2ij r F n ; i

The performance of the enumeration scheme can be greatly enhanced through three procedures: introduction of valid inequalities at the root node, warm-starting the algorithm with a feasible solution provided by a heuristic algorithm, and tightening the feasible domain at each node of the branch-and-bound tree.

ð19Þ

4.1.2. Initial solution At the root node, initially, we find estimated daily potential demand, dj, by solving RELAX problem. Then, an integer initial solution is obtained via a K-nearest neighbor algorithm to fix class membership variables, zjc [6,8]. First, one matches each day to its own cluster. Then, one iteratively merges the two clusters having the closest averages, until the required number of clusters is attained. Since ties are broken arbitrarily, different choices could yield different partitions of the set of days into clusters. Table 4 shows the progression of the algorithm corresponding to the vector of daily potential demands f36; 6; 30; 14; 42g, and a number of final clusters set to two. In this example, the same solution would have been achieved if 36 and 42 had been merged at the first iteration. Of course, this result does not hold in general, as can be readily verified on the demand vector f1; 3; 5g with two clusters yielding either the partition f1; 3g f5g or f1g f3; 5g. By using fixed zjc's, we again solve the RELAX model. As soon as the solution of RELAX assumes integer values for δc, i.e., all days are assigned to one of the clusters, we switch to MINLP, which is solved by the nonlinear solver to find product utilities ui.

subject to

4.1. Preprocessing

pij ¼ P

ð18Þ

U U N U N U N rN 1 R1 r r 2 R2 r ⋯ rr k Rk r ⋯ r r j C j R j C j :

i A I; jA J

P Uij dj þ DUj pij  P Uij DUj rwij ;

Valid inequality 2: In order to discard symmetric and equivalent solutions we order, without loss of generality, the demands associated with the cluster indices, i.e.,

XX e2ij r F n ; i

i A I; j A J

j

constraints of RELAX: Table 4 Clustering algorithm for determining initial solution. Iteration 0

Clusters Averages

f36g 36

f6g 6

f30g 30

f14g 14

1

Clusters Averages

f36; 30g 33

f6g 6

f14g 14

f42g 42

2

Clusters Averages

f36; 30; 42g 36

f6g 6

f14g 14

3

Clusters Averages

f36; 30; 42g 36

f6; 14g 10

f42g 42

Sh. Sharif Azadeh et al. / Computers & Operations Research 63 (2015) 23–31

A total of 2j Ij þ 2j Ij j Jj optimization problems are solved to derive the above upper bounds. Finally, it follows from the inequality: XX e2ij r F n iAI jAJ

that wij can be upper bounded by

 In case of a tie, branch on the deepest node.  In case of yet another tie (this rarely occurs in practice), branch on any node having the maximum number of overlapping intervals with respect to variables dj and δc, i.e., ½DLj ðnÞ; DUj ðnÞ \ ½RLc ðnÞ; RUc ðnÞ a ∅.

pffiffiffiffiffiffinffi F þ Oij .

4.2. Branch-and-bound The optimum of the relaxed program provides a lower bound on the true optimal value, while the corresponding solution can be used to construct a feasible solution that yields an upper bound on the optimum. Note that the performance of the partial enumeration process rests in large part on the quality of the upper bounds on the variables, hence the importance of tightening these. At each node of the enumeration tree, we implement a series of range reductions with respect to daily potential demand, choice probabilities, potential demand of each cluster RLc o δc oRUc , and the bilinear term wij . Several techniques, such as interval arithmetic, have been implemented. For instance one can fix the value of zjc without branching. Indeed, if for a given node n, the set ½DLj ðnÞ; DUj ðnÞ \ ½RLc ðnÞ; RUc ðnÞ is empty, then zjc must be zero. For node n, the bounds on cluster demand δc can be set to   RLc ðnÞ ¼ max RLc ðnÞ; minDLj ðnÞ j   U U Rc ðnÞ ¼ min Rc ðnÞ; maxDUj ðnÞ : j

The lower bound can be updated according to the formula ( ( U )) wij ðnÞ wUij ðnÞ wLij ðnÞ wLij ðnÞ L L ; ; ; i A I; jA J Dj ðnÞ ¼ max Dj ðnÞ; min P Lij ðnÞ P Uij ðnÞ P Lij ðnÞ P Uij ðnÞ ð21Þ The upper bounds DUj ðnÞ on daily potential demand, as well as the bounds on choice probabilities are updated in a similar fashion. Next, we adjust the upper and lower bounds of daily potential demand dj, and potential demand of each cluster δc. Meanwhile, we fix the value of assignment variables zjc, whenever the ranges of dj and δc intersect. For a given node, if the range of a variable dj obtained from the relaxation model overlaps with the ranges of two or more clusters, then its lower bound is updated to n o DLj ðnÞ ¼ max RLc ðnÞ; DLj ðnÞ : ð22Þ Similarly, the upper bound is set to n o DUj ðnÞ ¼ min RUc ðnÞ; DUj ðnÞ :

27

As far as variable selection is concerned, we prioritize the cluster demand variables δc for branching, but switch to daily potential demand dj when all clusters are disjoint. A variable δc is selected if it achieves maximum interval length, ties being broken in favor of clusters with large I(n)-values in RELAX. The assignment of each day to a single disjunctive cluster is achieved by branching on dj . To reduce each cluster to a singleton, we branch again on δc . As mentioned above, we branch on dj to fix zjc, and select variables for which the difference between lower and upper bounds is the largest. Once all days have been assigned to clusters and δc is integervalued, we solve MINLP to find product utilities ui. Finally, if the gap between the RELAX and MINLP solutions is larger than a predefined threshold, we branch on variables pij, with the aim of either fathoming the current node or obtain a better feasible solution.

5. Computational results The algorithm has been tested on a number of synthetic instances, and its performance assessed with respect to three criteria:

 Calibration: This criterion is used to verify whether the algo



rithm is able to recover exactly the data used to generate the synthetic instances, i.e., achieves a zero objective for MINLP. Classification: This criterion is used to determine the error level achieved by the algorithm on perturbed instances, and also to compare the performance of the algorithm against two wellknown global and nonlinear solvers. Generalization: This criterion is used to assess the robustness of the estimation process, i.e., verifying how well the parameters calibrated on a set of controlled instances can generalize to distinct perturbed datasets, thus constituting a reliable tool for decision making.

In this paper, the main focus is on the algorithmic comparison with existing solvers, however, the impact of the choice of parametric or non-parametric demand models on revenue has been addressed in a separate article by the authors [2].

ð23Þ 5.1. Data generation

Finally, feasibility conditions are verified by using (14) and (19). In addition, the solution of RELAX and MINLP problems is used to prune the partial enumeration tree. We close this section with a description of the branching strategy. At node n, the binary variables zjc are relaxed, and dj can therefore ‘partially’ belong to more than one class. Let d^j ðnÞ be the estimated potential demand of day j obtained from optimal solution of the RELAX problem. Let ( 1 if d^j ðnÞ A ½RLc ðnÞ; RUc ðnÞ; c A C ^ I c ðdj ðnÞÞ ¼ ð24Þ 0 otherwise IðnÞ ¼

X I c ðd^j ðnÞÞ;

c A C:

ð25Þ

jAJ

In the branching scheme, node selection follows these rules:

 Branch on the node from which the relaxed optimum is minimal.

Each instance is characterized by a triple (C; J; I) where C denotes the number of clusters (2, 3, or 4), J the number of days (7, 14, 21, or 28) and I the number of products (4, 6, or 8). Observed bookings (Oij) have been generated according to the formula Oij ¼ Aij pij dj;

ð26Þ

which requires knowledge of the set of available products, as well as the utilities ui from which the probabilities pij are derived. In this process, the product utilities and the potential demand δc of each cluster are exogenous. The availability parameters Aij associated with product i on a given day j are generated according to a Bernoulli random variable. Finally, each day j has been randomly assigned to one of the clusters. A first set of 33 unperturbed instances allowed to check whether the algorithm could actually replicate the original values zjc, dj and ui. Next, a second set of 33 perturbed samples were created to test the generalization ability of the model. Keeping the

28

Sh. Sharif Azadeh et al. / Computers & Operations Research 63 (2015) 23–31

other parameters (choice set, potential cluster demand, class membership, product utilities) fixed, the daily demand was modified according to the formula dj ¼ dj ð1 þ γ ð2ϵj  1ÞÞ;

j A J;

ð27Þ

where the perturbation parameter γ was fixed to 0.1, and ϵj was uniformly distributed between 0 and 1. The outcomes of our proposed model have been compared with those of two of the most acknowledged softwares: Knitro 8 [32], a nonlinear solver [12], and Baron 11.0, a global optimization solver [3]. Our algorithm has been halted whenever no improvement occurred within 60 min of CPU time. The computational experiments have been carried out on a Quad-core computer with 2.4 GHz CPU and 8 GB of RAM. The branching algorithm was implemented in Cþ þ, and we resorted to the Quadratic Solver of CPLEX 12.3 (sequential quadratic programming) and IPOPT 3.11 (interior point method) as nonlinear solvers. The software Baron was accessed through the NEOS server (see [11,19]). 5.2. Numerical experiments The non-perturbed instances used for calibration purposes are displayed in Table 5. For all instances, the global optimum with zero value was reached. Moreover, the algorithm was able to reproduce the exact original product utilities ui and cluster potential demand δc from which the data was initially generated. The numerical results corresponding to the 33 perturbed instances are summarized in Table 6. The first three columns

describe instances and their characteristics: number of clusters, number of days and number of products. The four ‘Time’ columns contain execution time (CPU time in seconds) of different parts of the algorithm: ‘Total’ (sum of the next two columns plus the time spent to implement branching strategy), ‘Relax’ (time spent solving the RELAX model), ‘NLP’ (time spent solving MINLP using IPOPT), ‘Pre-Proc.’ (time spent implementing the pre-processing at root node). Cases where the run time is significantly less than 3600 s attested to the efficiency of the branching strategy. The next four columns under ‘Node’ provide statistics related to the branch-and-bound tree. The first column ‘Gen.’ represents the total number of nodes generated during the branch-and-bound procedure. Although reasonable for small instances, it increases quickly with the number of products and clusters. Column ‘Br.’ represents the number of branched nodes, which is significantly lowered by implementing the feasibility conditions and valid inequalities. The caption ‘Dis.’ refers to the number of nodes that have been discarded during the branching process, through the violation of the feasibility conditions (14) and (19). The heading ‘Domin.’ refers to the number of nodes dominated by the current best solution. Data in these two columns attest to the efficiency of the algorithm, more precisely to the large number of subtrees that could be pruned. Column ‘# NLP’ refers to the number of times the algorithm resorted to IPOPT for solving MINLP, i.e., the number of times the relaxation problem reached an integer feasible solution. Numbers under the heading ‘VI#1’ correspond to the number of valid inequalities appended to the model, and thus are a measure of the contribution of constraint (17).

Table 5 Non-perturbed instances. Class

Days

Product

Time Total

2

7

14

21

28

3

7

14

21

28

4

14

21

28

Node Relax

NLP

Pre-Proc.

Gen.

Br.

Dis.

#IPOPT

VI#1

Ini Sol.

Dom.

4 6 8 4 6 8 4 6 8 4 6 8 4

1.38 0.28 19.30 3.00 3.84 9.80 0.70 32.27 5.92 4.19 11.50 45.27 3.94

0.94 0.28 10.84 1.72 2.52 5.09 0.25 17.17 2.98 2.31 5.88 20.44 2.42

0.02 0.00 0.00 0.00 0.00 0.06 0.02 0.00 0.00 0.00 0.00 0.00 0.03

0.73 1.98 1.69 3.27 6.39 9.47 7.88 12.75 21.72 13.69 27.05 136.34 0.66

221 76 2367 339 301 657 55 1461 242 179 329 1022 625

81 30 1034 135 117 457 21 655 109 79 138 420 227

14 46 73 12 9 6 8 12 19 6 6 21 12

4 0 53 32 4 178 5 12 3 27 37 0 13

2 2 54 4 4 179 1 13 4 3 3 1 13

12 32 5 67 75 54 138 134 116 218 227 283 14

172.87 419.99 341.65 276.54 369.85 1684.91 71.74 449.93 1364.69 314.34 178.34 2720.01 136.63

6 8 4 6 8 4 6 8 4 6 8

82.34 17.42 2.45 37.36 10.14 5.50 14.00 155.17 28.05 149.88 3396.59

1.72 9.88 1.44 17.33 5.33 3.05 7.27 84.11 12.86 72.53 1505.86

0.13 0.05 0.00 0.45 0.06 0.00 0.00 0.00 0.02 0.02 0.00

2.56 2.48 3.55 2.20 2.48 8.97 14.55 34.39 14.52 31.11 203.69

1100 1620 189 4026 1313 338 594 4385 1102 3656 51 052

800 708 77 2284 615 134 236 1667 453 1463 21 811

213 34 6 24 50 17 19 240 24 84 1981

32 58 0 633 106 4 0 5 1 26 0

126 59 1 634 107 1 1 6 2 27 0

23 19 80 16 7 152 139 163 233 277 302

534.00 794.63 484.42 830.42 896.69 350.19 912.96 2956.55 2666.03 929.66 2675.14

4 6 8 4 6 8 4 6 8

1234.98 18.94 179.41 136.69 7.08 1669.09 169.84 38.17 212.00

408.80 10.52 81.27 67.05 3.58 733.95 70.72 17.91 106.64

1.11 0.00 0.05 0.02 0.00 0.02 0.00 0.00 0.00

3.92 9.48 17.39 11.72 23.34 151.38 19.63 41.47 217.91

72 210 1172 8835 6651 236 40 997 5367 785 2813

31 117 433 3640 2044 74 13 503 1728 269 1032

1339 55 39 113 8 1213 66 10 6

2050 0 56 0 0 50 1 0 2

1951 1 57 1 1 27 2 1 3

76 106 141 143 242 252 260 340 342

358.54 1827.04 2171.08 1093.43 1555.92 2479.78 1307.35 1937.09 3822.17

Sh. Sharif Azadeh et al. / Computers & Operations Research 63 (2015) 23–31

29

Table 6 Perturbed instances. Class

Days

Product

Time Total

2

7

14

21

28

3

7

14

21

28

4

14

21

28

Node Relax

NLP

Pre-Proc.

Gen.

Br.

Dis.

Dom.

#NLP

VI#1

Ini Sol.

Best

Bound

Gap(%)

4 6 8 4 6 8 4 6 8 4 6 8

0.70 4.06 4.23 4.33 15.69 9.89 19.02 107.64 133.75 13.63 55.95 124.27

0.48 2.31 2.59 2.30 7.53 4.80 9.05 51.44 55.98 6.22 24.56 62.31

0.00 0.11 0.17 0.13 0.36 0.14 0.36 1.17 1.50 0.11 0.17 0.38

1.14 2.64 4.19 4.59 8.77 70.59 8.41 14.72 65.63 15.31 33.97 179.95

125 539 468 436 1089 590 1162 4687 4492 557 1593 2177

54 438 362 339 902 476 904 4019 3988 376 1142 1599

26 30 36 40 40 61 47 135 133 14 54 61

24 34 51 55 137 46 116 518 313 48 378 413

6 228 173 168 467 234 426 2052 2156 144 446 631

32 38 44 94 115 109 190 136 181 320 326 413

154.55 761.24 561.02 536.44 1589.76 1212.62 2095.22 2853.39 3046.96 2521.28 476.92 2941.36

5.70 7.53 6.66 30.75 28.70 16.56 38.80 32.46 48.83 48.69 47.02 27.30

5.68 6.96 6.30 30.01 27.90 15.72 38.20 31.80 47.94 48.46 46.60 26.31

0.02 0.57 0.36 0.74 0.80 0.84 0.60 0.66 0.89 0.23 0.42 0.99

4 6 8 4 6 8 4 6 8 4 6 8

5.16 370.47 31.39 127.33 3619.84 3709.91 2362.35 3119.17 3954.83 1473.64 3691.58 3670.41

3.23 174.22 16.63 62.52 903.67 1098.17 962.11 1026.05 1144.75 601.23 1225.94 1515.92

0.08 9.06 0.92 2.03 28.56 31.66 4.19 15.92 14.64 3.41 13.97 3.00

0.89 2.23 4.59 4.59 7.69 13.34 20.81 22.28 28.23 19.50 40.33 250.94

728 36 309 3045 10 965 128 032 117 360 48 931 95 000 84 114 45 650 70 195 51 928

359 29 545 2446 8029 112 342 102 422 27 561 66 618 64 588 24 643 53 171 34 237

83 469 188 282 4118 2920 1493 3366 4043 1361 3501 1822

54 1530 129 1634 1711 2262 19653 17 583 2885 18775 5069 5114

83 13914 1150 3485 45 030 44 936 6349 24 113 20 754 5151 18 088 4210

16 35 50 91 81 87 293 252 137 300 351 260

363.41 756.64 959.91 1890.64 216.42 1566.21 1768.88 103.92 1214.47 2974.46 1837.06 2430.05

11.27 4.98 4.06 17.31 15.07 20.46 71.78 25.10 28.51 75.63 36.76 29.89

10.28 3.99 3.24 16.50 10.89 15.94 70.99 24.37 23.69 74.70 32.73 25.59

0.99 0.99 0.83 0.81 4.18 4.52 0.79 0.72 4.82 0.93 4.03 4.30

4 6 8 4 6 8 4 6 8

4238.61 4247.70 7302.53 8083.58 6189.22 5645.56 4064.64 9252.73 11 689.00

1243.47 1500.89 1864.11 2306.41 1774.72 2245.20 1112.59 3292.19 3746.00

0.55 0.84 11.11 11.50 9.89 10.13 15.48 7.67 9.83

3.94 7.80 12.41 11.52 17.52 29.92 23.00 43.23 296.54

121 336 110 504 155 860 180 764 118 253 140 178 94 901 132 019 147 664

71 764 62 968 93 126 102 470 72 650 94 594 60 890 87 375 90 428

5178 3582 4153 5470 4220 4552 2288 5832 6373

40 387 31 329 41 149 60 386 23 518 27 345 13 886 29 557 32 346

916 1104 13 749 15 246 13 046 14 177 19 503 13 077 15 746

90 78 50 169 165 102 386 343 368

1361.45 1688.36 859.01 248.52 1328.48 1696.79 416.61 953.01 1234.02

11.87 12.60 12.13 39.63 34.23 38.47 53.68 56.95 45.63

11.03 9.43 7.45 37.23 29.72 33.85 49.64 52.10 40.93

0.84 3.17 4.68 2.40 4.51 4.62 4.04 4.85 4.70

The next three columns show the initial solution ‘Ini Sol’ obtained from a variant of K-nearest neighbor algorithm, the best feasible solution ‘Best’ and the best bound ‘Bound’. They illustrate the sharp improvement of the initial solution. The iterative process halts if one of two conditions holds: either the gap between the best solution (MINLP) and the best bound (RELAX) is less than 1%, or the algorithm makes no improvement for a period of 3600 s. The ‘Gap’, set to the value (Best bound-Best solution)/100, is displayed in the last column. In Fig. 1, for an instance involving three classes, 28 days and four products, we illustrate the effectiveness of the algorithm by plotting the best bound and the best solution against CPU time. The figure is logarithmically scaled for the ease of presentation. The final gap between MINLP and RELAX models for this example is equal to 0.98%. In Table 7, we contrast the performance of our algorithm against those of Knitro and Baron, on the 33 perturbed instances of Table 6. The first three columns specify the dimensions of the instances. The next three under ‘BB Sol’ show the outcomes of our demand model, initialized with ‘Ini Sol’, the prediction error (objective function or calibration error) ‘MSE’, and the classification error ‘Class.%’. The latter indicates whether each day has been properly assigned to one of the clusters, based on its demand flow. This information helps us to accurately predict demand seasonal features. We observe that the algorithm has been successful in correctly assigning each day to one of the clusters. From a theoretical point of view, small gaps between the solutions of MINLP and RELAX, as well as null classification errors, testify to the effectiveness of the algorithm.

Under the heading ‘Baron’, the next two columns show the prediction (MSE) and classification (Class) errors associated with the global optimizer Baron. While Baron is efficient on small instances, it is highly sensitive to the size of the problem. It actually fails to solve problems involving more than 14 days and four clusters. Likewise, the two columns under ‘Knitro’ correspond to prediction and classification errors for that solver. Once again, this solver successfully classifies days into clusters for small instances, with prediction errors similar to those of Baron and our algorithm. Besides size (based on the number of clusters, days and products), Knitro is also sensitive to product availabilities. When the number of available products for a given day decreases, the values of MSE and classification error sharply increase. The figures in the last column (Generalization) of Table 7 illustrate the good performance of our algorithm on perturbed data. This stability actually depends on the availability of the products. In some cases, the error is slightly lower than the calibration error (MSE), due to the number of available products being small compared to the number used for calibrating the model. In all cases, the proposed algorithm outperformed by a large margin both Knitro and Baron.

6. Conclusion In revenue management, dealing with censored demand is a complex issue, especially when a large proportion of products are not available to customers, a situation that occurs in practice. To address this problem, we have proposed a choice-based non-parametric method whose output is the demand for any given product within

30

Sh. Sharif Azadeh et al. / Computers & Operations Research 63 (2015) 23–31

Table 7 Comparison framework. Class

2

Days

Product

7

14

21

28

3

7

14

21

28

4

14

21

28

BB Sol

Baron

Knitro

Ini Sol

MSE

Class. (%)

MSE

Class. (%)

4 6 8 4 6 8 4 6 8 4 6 8

154.55 761.24 561.02 536.44 1589.76 1212.62 1768.88 2853.39 3046.96 2521.28 476.92 2941.36

5.70 7.53 6.66 30.75 28.70 16.56 71.78 32.46 48.83 48.69 47.02 27.30

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

5.70 7.53 8.08 3682.29 3441.98 456.94 17 983.55 880.03 5830.66 499.01 463.12 827.22

0.00 0.00 14.29 28.57 50.00 14.29 76.19 23.81 66.67 14.29 21.43 17.86

4 6 8 4 6 8 4 6 8 4 6 8

363.41 756.64 959.91 1890.64 216.42 1566.20 2095.22 103.92 1214.47 2974.46 1837.06 2430.05

11.27 4.98 4.06 17.31 15.07 20.46 38.80 25.10 28.51 75.63 36.76 29.89

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

161.32 149.63 18.64 604.04 1954.43 117.07 2314.24 9283.33 9308.44 21 006.68 15 188.60 2054.74

4 6 8 4 6 8 4 6 8

1361.45 1688.36 859.01 248.52 1328.48 1696.79 416.60 953.01 1234.02

11.87 12.60 12.13 39.63 34.23 38.47 53.68 56.95 45.63

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

796.87 5620.43 4235.06 n/a n/a n/a n/a n/a n/a

MINLP Relax

Class. (%)

MSE

5.63 7.53 8.12 157.58 147.56 232.32 239.75 165.07 180.49 548.69 347.69 247.26

0.00 0.00 14.29 21.43 42.86 21.43 38.10 38.10 47.62 25.00 14.29 46.43

32.95 22.17 14.01 54.58 37.94 53.14 66.28 40.39 83.47 43.28 38.84 36.51

57.14 42.86 14.29 14.29 28.57 42.86 28.57 71.43 76.19 67.86 67.86 25.00

132.84 171.26 19.15 207.60 135.67 157.09 91.38 124.95 279.36 198.67 856.47 1146.00

28.57 42.86 28.57 42.86 28.57 28.57 14.29 52.38 47.62 32.14 57.14 32.14

23.33 11.72 17.32 49.09 34.02 18.25 36.77 33.79 41.72 93.28 63.89 45.76

64.29 57.14 71.43 n/a n/a n/a n/a n/a n/a

456.36 2345.00 4235.06 n/a n/a n/a n/a n/a n/a

42.86 57.14 57.14 n/a n/a n/a n/a n/a n/a

23.67 69.58 14.44 41.12 44.48 33.67 58.51 69.58 58.63

small number of scenarios retained. In a future work, we intend to investigate situations involving more sophisticated segmentation models, with the aim of accurately estimating the probabilities of buy-ups or buy-downs.

Gap

103

MSE

Generalization

102

References

102

103

Time Fig. 1. Algorithm effectiveness in reducing the gap.

any given time period, and proposed for its solution an efficient algorithm that has been validated on synthetic data. Simultaneously, we obtained a variety of solutions for class potential demands, product utilities and daily assignments, depending on the features of historical data. The size of the real-life problems is of course context dependent. For example, in high speed rail and airlines networks, the number of alternatives could reach 15–20. As for clusters, their number and respective widths should be set such that data scarcity is avoided. Through the introduction of exogenous customer segmentation into the mathematical model, or through the implementation of a revenue maximization model, these sets could be reduced, and a

[1] Andersson S. Passenger choice analysis for seat capacity control: a pilot project in Scandinavian Airlines. Int Trans Oper Res 1998;5:471–86. [2] Azadeh SS, Hosseinalifam M, Savard G. The impact of customer behavior models on revenue management systems. Comput Manag Sci 2014:1–11. [3] BARON. Baron, 〈http://www.gams.com/dd/docs/solvers/baron.pdf〉; 2013. [4] Belotti P, Lee J, Liberti L, Margot F, Wächter A. Branching and bounds tightening techniques for non-convex MINLP. Optim Methods Softw 2009;24:597–634. [5] Costa A, Liberti L. Relaxations of multilinear convex envelopes: dual is better than primal. In: Experimental Algorithms. Berlin, Heidelberg: Springer; 2012. p. 87–98. [6] Cover T, Hart P. Nearest neighbor pattern classification. IEEE Trans Inf Theory 1967;13:21–7. [7] Cross RG. Revenue management: hard-core tactics for market domination. New York, Broadway: Universities Press; 1997. [8] Dudani SA. The distance-weighted k-nearest-neighbor rule. IEEE Trans Syst Man Cybern 1976:325–7. [9] Escudero LF, Monge JF, Morales DR, Wang J. Expected future value decomposition based bid price generation for large-scale network revenue management. Transp Sci 2013;47:181–97. [10] Haensel A, Koole G. Estimating unconstrained demand rate functions using customer choice sets. J Revenue Pricing Manag 2010;10:438–54. [11] IBM. Cplex, 〈http://www-01.ibm.com/software/commerce/optimization/cplexoptimizer/〉; 2013. [12] IPOPT, 〈https://projects.coin-or.org/Ipopt〉; 2013.

Sh. Sharif Azadeh et al. / Computers & Operations Research 63 (2015) 23–31

[13] Kunnumkal S, Topaloglu H. A new dynamic programming decomposition method for the network revenue management problem with customer choice behavior. Prod Oper Manag 2010;19:575–90. [14] Lee A. Airline reservations forecasting: probabilistic and statistical models of the booking process. Technical report. Cambridge, MA. Flight Transportation Laboratory, Departmen of Aeronautics and Astronautics, Massachusetts Institute of Technology; 1990. [15] Littlewood K. Special issue papers: forecasting and control of passenger bookings. J Revenue Pricing Manag 2005;4:111–23. [16] Liu Q, van Ryzin G. On the choice-based linear programming model for network revenue management. Manuf Serv Oper Manag 2008;10:288–310. [17] McCormick G. Computability of global solutions to factorable nonconvex programs convex underestimating problems. Math Program 1976;10:147–75. [18] Möller A, Römisch W, Weber K. Airline network revenue management by multistage stochastic programming. Comput Manag Sci 2008;5:355–77. [19] NEOS, 〈http://www.neos-server.org/neos/〉; 2013. [20] Pölt S. From bookings to demand: the process of unconstraining. New York: AGIFORS Reservations and Yield Management Study Group; 2000. [21] Queenan C, Ferguson M, Higbie J, Kapoor R. A comparison of unconstraining methods to improve revenue management systems. Prod Oper Manag 2009;16:729–46. [22] Ratliff R, Rao B, Narayan C, Yellepeddi K. A multi-flight recapture heuristic for estimating unconstrained demand from airline bookings. J Revenue Pricing Manag 2008;7:153–71.

31

[23] van Ryzin G. Future of revenue management: models of demand. J Revenue Pricing Manag 2005;4:204–10. [24] Sa J. Reservations forecasting in airline yield management. Technical Report. Cambridge, MA: Flight Transportation Laboratory, Massachusetts Institute of Technology; 1987. [25] Stefanescu C. Multivariate customer demand: modeling and estimation from censored sales. Technical Report. Berlin, Germany: London Business School; 2009. [26] Talluri K, van Ryzin G. Revenue management under a general discrete choice model of consumer behavior. Manag Sci 2004;50:15–33. [27] Vulcano G, van Ryzin G, Chaar W. OM practice-choice-based revenue management: an empirical study of estimation and optimization. Manuf Serv Oper Manag 2010;12:371–92. [28] Vulcano G, Van Ryzin G, Ratliff R. Estimating primary demand for substitutable products from sales transaction data. Oper Res 2012;60:313–34. [29] Weatherford L. Unconstraining methods. In: AGIFORS Reservations and Yield Management Study Group; 2000. [30] Weatherford L, Belobaba P. Revenue impacts of fare input and demand forecast accuracy in airline yield management. J Oper Res Soc 2002;52: 811–821. [31] Zeni R. Improved forecast accuracy in airline revenue management by unconstraining demand estimates from censored data [Ph.D. thesis]. New Jersey: MITl; 2001. [32] Ziena. Knitro, 〈http://www.ziena.com/docs/Knitro70_UserManual.pdf〉; 2013.