Hotel revenue management: Benefits of simultaneous overbooking and allocation problem formulation in price optimization

Hotel revenue management: Benefits of simultaneous overbooking and allocation problem formulation in price optimization

Computers & Industrial Engineering 137 (2019) 106073 Contents lists available at ScienceDirect Computers & Industrial Engineering journal homepage: ...

1MB Sizes 0 Downloads 57 Views

Computers & Industrial Engineering 137 (2019) 106073

Contents lists available at ScienceDirect

Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie

Hotel revenue management: Benefits of simultaneous overbooking and allocation problem formulation in price optimization Victor Pimentela, Aishajiang Aizezikalib, Tim Bakerc,

T



a

New Mexico State University, College of Business, MSC 3DJ, PO Box 30001, Las Cruces, NM 88003, USA Ivey Business School, University of Western Ontario, Campus 2322, London, Ontario, Canada c Carson College of Business, Washington State University, 2710 Crimson Way, Floyd 207P, Richland, WA 99354, USA b

ABSTRACT

We develop a hotel revenue management optimization method in an environment where market segment prices are optimized via demand curves ahead of a planning horizon. This new method simultaneously optimizes overbooking levels and allocation (of capacity to market segments) levels, as opposed to the traditional sequential approach. We test our method against the reference in a simulation of a hotel reservation system that has all the functionality of a real-world revenue management system: the estimation of true demand from censored demand; different market segments with different demand patterns; price elasticities; varying propensities to stay certain lengths of time; short- and long-term forecasting with periodic reoptimization of all forecaster parameters; explicit optimization of market segment prices based on estimated demand curves; and optimization routines for overbooking and allocation. A walkthrough of this simulation was performed by the revenue management staff at a major hotel. This simulation has been scaled down to permit extensive experimentation. Our new method outperforms the reference method by an average of 20.2% with respect to nightly net revenue. The improvement is much larger in situations where demand is more saturated. Our new method takes less than two minutes of computing time from a cold start on a realistically sized problem, which is sufficiently fast for hotel managers who want the capability of rerunning the algorithm many times during the course of a day.

1. Introduction Revenue management is essentially the utilization of perishable assets—hotel rooms, airline seats, rental cars, cruise line space, broadcast advertising slots—to maximize a firm’s revenues over a shortterm horizon given that costs are effectively fixed over that horizon (McGill & Van Ryzin, 1999). These assets can be utilized in two different fashions: through implicit price optimization only or through explicit price optimization as a periodic preprocessor to implicit price optimization (Duffy, 2015). Implicit price optimization in the hotel industry involves utilizing a variety of service packages—combinations of room rate-arrival date-duration of stays-amenities-advanced purchase restrictions—to serve a single physical room type (Duffy, 2015). Note that a rate class is a room rate-amenities-advanced purachase restriction combination. Implicit price optimization results from dynamically making only certain service packages available for sale at a point in time—for instance, making only the higher-priced packages available for projected high-demand periods. Thus, price is effectively, but indirectly, manipulated. Explicit price optimization (Elmaghraby & Keskinocak, 2003) involves dynamically changing the prices of service packages to maximize revenues over a short-term horizon; this sets the prices for subsequent implicit price optimization. Explicit and implicit price optimization both involve determining the effective total ⁎

perishable asset capacity levels across all service packages that apply to one type of physical asset (e.g., one hotel room configuration) (Chew, Lee, & Liu, 2009). The effective capacity used as a parameter in the implicit price optimization is often greater than the actual capacity to account for reservation cancellations and no-shows: the hotel, all things being equal, does not want unsold rooms. The determination of effective capacity levels is commonly referred to as “overbooking”, and implicit price optimization is often equivalently referred to as “allocation”—how to divide the effective capacity across the different service packages. State-of-the-art revenue management decision support systems perform overbooking, allocation, and explicit price optimization (Duffy, 2015), with explicit price optimization being the first module executed and overbooking the second (Duffy, 2015). Earlier systems performed only overbooking and allocation (Duffy, 2015), with overbooking being done first. These decision support systems usually garner an approximately 6% increase in revenue for the adopting firm (Boyd & Bilegan, 2003). These systems have been modified for rental properties, where they have increased revenues by 8.7% (Druckman, 2003). American Airlines (Smith, Leimkuhler, & Darrow, 1992) reported revenue increases in the 4–7% range. Thus, the potential bottom-line impact of improving a revenue management decision support system is substantial. In practice, overbooking and allocation are performed in sequence

Corresponding author. E-mail addresses: [email protected] (V. Pimentel), [email protected] (A. Aizezikali), [email protected] (T. Baker).

https://doi.org/10.1016/j.cie.2019.106073 Received 29 January 2019; Received in revised form 22 August 2019; Accepted 16 September 2019 Available online 18 September 2019 0360-8352/ © 2019 Elsevier Ltd. All rights reserved.

Computers & Industrial Engineering 137 (2019) 106073

V. Pimentel, et al.

(Duffy, 2015). Overbooking is usually accomplished by a stochastic dynamic program. Typically, a user-specified ratio of oversell to undersell costs is obtained, with the undersell cost anchored as the average selling price for an arc (e.g., a stayover night in hotels, a single leg in an airline flight network) in the optimization network. The oversell cost predominantly represents the discounted future lost revenues due to the overbooking event; this is subjective. Thus, this judgmental ratio serves as the objective function for the dynamic program (Duffy, 2015), and the optimal number of assets to reserve for sale in excess of physical capacity for the upcoming arc is determined. This optimal number of assets to reserve is termed the “effective capacity”. For hotels, the effective capacity is usually applied to all service packages for a single stayover night: this overbooking optimization is myopic in the sense that it focuses only on a single stayover night. Variable demand, no-shows, and cancellation rates make this dynamic program stochastic. Allocation is usually performed via a mathematical program, the current best practice being a nonlinear program (Duffy, 2015), with the decision variables for hotels being the number of assets to allocate to each service package over a planning horizon of many stayover nights. The objective is to maximize expected revenue across the horizon, where the demand forecast error distribution about point estimates drives the expectation. The constraint limits the allocations on each arc in the network (e.g., stayover night at a hotel). The final allocation is performed using bid prices (i.e., the sum of dual variables across the proposed stayover nights) so that a reservation request is accepted only if total room revenue exceeds the bid price. Finally, after the overbooking and allocation routines have executed and reservation requests are ready to be evaluated one-by-one, a reservation request is accepted only if (1) the overbooking effective capacities imply that the asset can be sold and (2) the allocation’s bid price comparison implies that the asset should be sold. The explicit price optimization preprocess involves (1) estimating the historical price-demand relations from data and (2) using these relations as inputs to a quadratic programming objective function to solve for the best prices, given the capacity constraints (Duffy, 2015). This paper’s contribution lies in the realm of explicit price optimization, where overbooking and allocation are performed simultaneously, rather than sequentially; this case has not been considered in the hotel literature. The focus is on the transient retail segment (see Koushik, Higbie, & Eister, 2012), a major market segment that drives total profitability for many hotels. We could have expanded the study to include group booking segments and negotiated rate segments (Koushik et al.), but the methods used to optimize these segments are quite different and should be the subject of another work. Note that negotiated rates are customers who typically have repeated bookings through their organization, and the rates are set for the organization over a longer time horizon. This feature has not been considered in an explicit price optimization setting, with the exception of Gallego and Van Ryzin (1997) and De Véricourt and Lobo (2009); these papers did not demonstrate that their methods could be solved sufficiently fast on realistically sized problems. We first demonstrate that our joint overbooking-allocation algorithm has a practical computation time for realistically sized problems (Duffy, 2015), as well as having an acceptable computational complexity. Then, we quantify the revenue improvement of performing overbooking and allocation jointly in a simulation of a hotel reservation system environment. This simulation was validated by Duffy (2015). The standard room demand time series forecasting techniques are enmeshed in the simulation as inputs to our optimizations. Our reference optimization algorithms are (1) a discrete time adaptation of Chatwin (1996) backward recursion stochastic dynamic program for overbooking, an industry standard (Duffy, 2015), where no upsell (patrons denied at a lower rate move to a higher rate) and no correlations between service packages are allowed, (2) the price setting method (PSM) (Baker & Collier, 2003) for explicit price optimization, and (3) the bid price method (Baker & Collier, 2003) for

allocation. PSM’s explicit price optimization preprocessor is a quadratic program in which the objective function multiplies the price per service package by a linear demand function of price. Duffy (2015) claims that this PSM quadratic program is the approach that they would use if they conducted explicit price optimization. Then, once the optimized prices are set, they are frozen for a long time, and backward recursion overbooking followed by the bid price method is used to perform overbooking and allocation until the next explicit price optimization occurs. Our new optimization algorithm, simultaneous PSM, is identical to the allocation and overbooking methods in PSM, except that a separate overbooking algorithm is unnecessary because in our modified bid price method, a metaheuristic (genetic algorithm, particle swarm optimization, firefly algorithm, or ant colony optimization) is used to simultaneously set both the effective room capacities and service package allocations. We still use the Baker and Collier (2003) quadratic program as a preprocessor to set prices explicitly. Although our new algorithm utilizes a metaheuristic, the genetic algorithm takes only 118 s to run on a realistically sized problem, and the particle swarm optimization only takes 123 s on average to run on the same problem, in part because our genetic algorithm has very loose stopping rules. These algorithms enable fast computation without sacrificing the bottom-line revenue-generating potential. Our tests were run on an Intel Corel 15-4590 CPU with a 3.30 GHZ processor, 8 GB of installed RAM, and a 64 bit operating systemx64-based processor. The rest of the paper is organized as follows. Section 2 is a literature review of the main subsections of revenue management that are pertinent to our new hotel simultaneous overbooking-allocation algorithms. Section 2 concludes with (a) a synopsis of the voids in the literature that has led to the development of our algorithms, and (b) the contribution of this paper. Section 3 contains the methods by which we test our algorithms: (a) a description of the hotel reservation system simulation that is the basis for our tests, and (b) the experimental design that we use to test our algorithms. Section 4 contains all of the notation used in the remainder of the paper. Section 5 is a description of the reference algorithm. This is the base case algorithm, with overbooking done prior to allocation, that we will compare our new algorithms with. Section 6 contains the four variants of our new simultaneous overbooking-allocation algorithm. These four variants produce four new algorithms, with each variant a different metaheuristic as the core approximation to our simultaneous overbooking-allocation optimization problem. Section 7 contains a computational complexity analysis of one of these variants. Section 8 covers the results of our experimental design. We break Section 8 into five subsections. The first four compare the reference algorithm against each of the four new algorithms. The last subsection summarizes the results of the computation time comparisons of our four new algorithms on realistic sized problems. Finally, Section 9 contains our conclusions. 2. Literature review 2.1. Overbooking Alstrup, Andersson, Boas, Madsen, and Vidal (1989) was the first to mark the move into overbooking via dynamic programming. Alstrup et al. (1989) model was for the airline industry and was limited to a single flight leg with two service packages serving one cabin. The model was used by Scandinavian Airlines. Brumelle, McGill, Oum, Sawaki, and Tretheway (1990) extended Alstrup et al. (1989) work by (1) allowing for correlation of demands between the two service packages and (2) allowing for upsell: the probability that a customer denied a reservation at the lower paying service package would take a reservation at a higher paying one. Chatwin (1996) extended Brumelle et al. (1990) formulation to continuous time. Kasilingam (1997) extended Brumelle et al. (1990) work to the air cargo industry by allowing for uncertainty in capacity levels. Chatwin (1999) extended Brumelle et al. (1990) formulation to allow for a general cancellation distribution 2

Computers & Industrial Engineering 137 (2019) 106073

V. Pimentel, et al.

rather than assuming the standard binomial mass function. Karaesmen and Van Ryzin (2004) extended Brumelle et al. (1990) work by allowing more general movements between service packages, rather than just restricting the model to upsell. Huang, Ge, Zhang, and Xu (2013) extended Karaesmen and Van Ryzin (2004) work in the airline industry to allow movement of service packages across different flight times between the same city pairs. Wannakrairot and Phumchusri (2016) extended Kasilingam (1997) work in air cargo to a two-dimensional formulation involving weight and volume. Capacity uncertainty was not modeled. Instead, no-show rates and booking request densities formed the core of the formulation. The objective was to minimize a combination of spoilage and offloading costs by controlling the overbooking level. The optimal solution was too slow for real-time usage, so they created a database of true optimal solutions and then fitted a regression function that predicted total cost as a function of overbooking level. This function could then easily be optimized in real time. Although overbooking work has focused on the airline industry, other similar algorithms have been developed for other industries. For instance, Li (2014) extended these approaches to the cruise line industry. Kim and Giachetti (2006) adapted these methods to the healthcare industry. LaGanga and Lawrence (2007) developed an overbooking approach for scheduling in health care clinics and developed utility functions that allowed trade-offs between patient dissatisfaction with excessive waits and the cost of unused capacity.

and allocation. Gosavi, Ozkaya, and Kahraman (2007) performed optimization in simulation for joint optimization in an airline application. Gallego and Van Ryzin (1997) and De Véricourt and Lobo (2009) base algorithms can be adapted to perform overbooking and allocation in a joint fashion. Zhou, Li, Guo, and Lin (2017) developed optimal booking limit structures from a finite horizon Markov decision process formulation of a joint overbooking-allocation problem in scheduling hospital CT equipment in which various nonemergency patient classes vie for CT usage in an environment of random preemption from emergency cases. Their objective function is essentially the same as the standard overage versus underage function used in classic revenue management overbooking. The problem structure is fundamentally different from our hotel problem in that their network is not linear; additionally, they do not consider optimal pricing. 2.4. Explicit price optimization Most explicit price setting algorithms in the literature have limitations with regard to problem size that our method does not have. For instance, Chew et al. (2009) simultaneously determined the optimal prices and inventory allocation for only a single perishable asset via discrete time dynamic programming. Additionally, Gallego and Van Ryzin (1997) developed a two-stage explicit price optimization algorithm. Their first stage is identical to our quadratic program, and their second stage is a dynamic program that conducts the allocation done by our metaheuristic. Their second stage method ignores daily cancellation patterns; moreover, their dynamic programming method is not be computationally feasible for allocation at a large hotel. For example, if the number of service packages is approximately 25 (Duffy, 2015), the length of stay is up to 7 days, the actual capacity is approximately 500 rooms, and the planning horizon is 365 days, the dynamic program would have 8750 possible (25 * 7 * 500) states with 365 stages. This result is untenable with multiple updates per day that require turnarounds of less than a couple of minutes (Duffy, 2015). De Véricourt and Lobo (2009) managed to integrate overbooking and allocation with pricing to make these decisions about a nonprofit’s activities. However, the stochastic dynamic program that tied all three factors together would not be computationally feasible for a large-scale hotel, as in the case of Gallego and Van Ryzin (1997). Elmaghraby and Keskinocak (2003) and Baker and Collier (2003) also performed explicit price optimization. None of the aforementioned explicit price optimization approaches conducted computational tests on realistically sized problems. Garcia-Diaz and Kuyumcu (1997) and Kuyumcu and Garcia-Diaz (2000) developed an explicit price optimization procedure that integrated allocation; their approach, unlike the others, did not suffer from computational slowness on large problems. They formulated the joint price optimization-allocation problem for airlines as a mixed integer program. Then, they took advantage of the data structure of this integer program to develop a much faster solution procedure than standard commercial code based on split graphs and cutting planes. However, their formulation has two limitations that our model does not have: (1) they do not consider overbooking, and (2) they do not consider errors in estimating price-demand relationships. Koch, Gönsch, and Steinhardt (2017) developed a baseline choicebased generic revenue management model that does not assume independence among the various rate class demands over time. The basic formulation is a stochastic dynamic program that directly optimizes prices for rate class-stayover night combinations in a hotel context. There are many extensions to this base model. Sierag (2017) extends this model to allow customers, in a hotel context, to book several rate classes at the same time. Then, the customer can choose one at arrival time. Strauss and Talluri (2017) extended Koch et al. (2017) by allowing certain commonalities between rate classes. Feldman and Topaloglu (2017) extended Koch et al. (2017) base model by explicitly modeling an individual customer’s sequential search from one rate class

2.2. Allocation The most fundamental allocation research involved allocating single airline leg seats among the different service packages within a given cabin. Littlewood (1972) developed the optimal closed form solution to the two service package case with stochastic demand. Belobaba (1987) extended Littlewood’s work to an unlimited number of service packages via a heuristic procedure. Curry (1990), Wollmer (1992), and Brumelle and McGill (1993) all independently extended Belobaba’s work by deriving optimal solutions to the unlimited number of service packages case. Park and Seo (2011) extended the single-leg optimal booking limits model to a series of identical single-leg flights, where customers can choose which flight to take as a function of relative fares and current booking limit structures. The solution approach is based on a simulation of expected revenue across all flights. This simulation is embedded in a grid search whereby the quasi-optimal booking limits are found via a greedy search. Williamson (1992) was the first to lay out the various mathematical programming approaches that are the foundation of this paper’s baseline algorithm. Mathematical programming enables allocation across a network of flight legs (airline)/stayover nights (hotel)/usage nights (rental car)/etc. Williamson’s methods were tailored to the airline industry. These mathematical programming approaches have also been extended to other industries. For instance, Bertsimas and Shioda (2003) developed a dynamic programming allocation model for restaurants. Savin, Cohen, Gans, and Katalan (2005) developed an allocation procedure for rental equipment. Guerriero, Miglionico, and Olivito (2012) utilized a linear programming approach for allocating fleets of trucks. Optimization in simulation metaheuristics such as ours has been used before. Zhang and Cooper (2005) developed an optimization in simulation approach to allocating seats among two flights going simultaneously from the same origin to the same destination, where customers can shop between the two flights and switch over time. Ji and Mazzarella (2007) utilized an optimization in simulation allocation approach for the cruise line industry. 2.3. Joint Overbooking-Allocation Some effort has been made to simultaneously perform overbooking 3

Computers & Industrial Engineering 137 (2019) 106073

V. Pimentel, et al.

to the next (if in a hotel context), until they either reserve a room or terminate the booking search. Cleophas, Kadatz, and Vock (2017) extended the Koch et al. (2017) base model by developing a modeling framework that is more robust to large demand uncertainties. Gönsch (2017) extended Koch et al. (2017) by being the only work that does not assume a risk-neutral decision maker; Gonsch’s model allows the degree of risk aversion/risk seeking behavior as an input. A key precursor to these stochastic dynamic programs is the unconstraining of demand. Because a hotel’s reservation system often does not track regrets and denials—customers that shop for a room at a given hotel but do not book there or are denied a reservation due to capacity constraints—true demand must be estimated from observed demand (note that Duetto (2018) is the only third party hotel revenue management system vendor that tracks regrets and denials). Van Ryzin and Vulcano (2017) developed a very fast method for the general unconstraining of demand. Guo, Ling, and Gao (2016) developed a model that uses game theory to find the equilibrium rate at which online travel agents (OTAs) should be paid from their client hotel. This model is very relevant in today’s environment, where hotels are using OTAs at an increasing rate to broaden their marketing reach and save on some infrastructure costs. Bodea, Ferguson, and Garrow (2009) conducted a case study of five hotel properties that attempted to extract the data necessary to estimate a choice-based revenue management system. The exercise was a failure, as some of the required data could not be obtained/estimated well from the hotel databases. This limitation remains a significant problem today (JDA Software, 2018; Revenue Analytics, 2018), which is why choicebased systems are not common. Our model formulation in this paper is relevant today: overbookingallocation is still done (Revenue Analytics, 2018). An example of how both procedures are embedded in a real-world hotel revenue management system can be found in Koushik et al. (2012). Moreover, joint overbooking-allocation is particularly relevant in hotels that derive a significant portion of their revenues from gaming because demand can often exceed capacity (JDA Software, 2018; Metters et al., 2008; Revenue Analytics, 2018). Wang (2001) extended the traditional threshold curve method for pricing to greater than two dimensions so that price optimization could account for a broader array of factors. In two-dimensional threshold curves, upper and lower bands on the cumulative number of reservations in advance of an arrival date are generated. The two dimensions are the number of days before arrival and the number of reservations. Price is increased when the cumulative number of reservations lies above the upper band and is decreased when price is below the lower band. One problem with this approach is that optimal prices are not determined. Second, the quasi-optimization is performed only in two dimensions. Wang built a neural network formulation in which price and other factors are inputs and the number of reservations is the output. The network is solved to define multidimensional bands, and then dynamic programming is used to find the optimal prices.

our hotel environment is a linear network, not a hub-spoke—computational results from a hub-spoke network will not necessarily generalize to a linear network, (2) they used simulated annealing and simultaneous perturbation in their simulation optimization software, whereas we use genetic algorithms/particle swarm optimization/firefly algorithms/ant colony optimization in our software, and (3) their solution times would be unacceptable in a hotel operating environment—it took them 15 min to solve a realistically sized 24-leg network, whereas we solve a realistically sized hotel problem in two minutes. Gallego and Van Ryzin (1997) develop good deterministic approximations to their stochastic dynamic programs that can simultaneously perform explicit pricing-overbooking-allocation. However, as with Gosavi et al. (2007), their computational experiments focus exclusively on airline hub-and-spoke networks. Additionally, they do not consider cancellations in their overbooking evaluation. Finally, their pricing system assumes no prediction error, whereas our approach does consider estimation error. De Véricourt and Lobo (2009) formulation is based on a newsvendor structure, where all revenue-costs can be collapsed into overage/underage costs. This process is fundamentally different from our formulation, which is multiperiod and takes into consideration differing prices in each period in addition to the overage/underage overbooking costs in each stage. Thus, their model, based on a structure in health care and another in banking, would not be transferrable to our hotel linear network structure. Moreover, their computational tests cover only 24 periods, as opposed to our realistic tests with a one-year planning horizon. Zhou et al. (2017) model is not the linear network of a hotel; rather, they model hospital equipment usage. Moreover, their objective function is focused solely on the classic overage versus underage costs of overbooking, rather than also incorporating room revenues from traditional allocations such as our method. 2.6. Contribution In sum, our model is the only one that addresses overbooking and allocation simultaneously in a linear network setting, the fundamental network structure that hotels operate under. Moreover, our algorithm is the only one that has been proven to be sufficiently fast in computational experiments in realistic settings. We ran test cases on full-sized real-world problems (eight rate classes, 14 different lengths of stay, and 365 day planning horizon), and our solution time for our simultaneous PSM method was always close to two minutes on an Intel Corel 15-4590 CPU with a 3.30 GHZ processor, 8 GB of installed RAM, and a 64 bit operating systemx64-based processor. 3. Algorithm testing methods: simulation and experimental design 3.1. Hotel reservation system simulation

2.5. Voids in the literature

3.1.1. Simulation overview We compare the revenue-generating performance of the reference optimization algorithm (Baker & Collier, 2003) with that of the simultaneous PSM algorithm (our new algorithm) by embedding both approaches in a validated (Duffy, 2015) simulation model of a hotel’s reservation system. This simulation has all the functionality of a realworld hotel reservation and revenue management system; however, it is scaled down significantly so that our extensive computational experiments can be performed in a reasonable amount of time (a week instead of a month or more). However, we also perform some realistically sized runs to ensure that our method would be sufficiently fast in practice. See the Appendix A Glossary of terms for definitions of all terms, variables, and parameters used in the simulation. We then model actual true demand as a Poisson process, where “true” means the number of

Our paper synthesizes overbooking and allocation. Only four papers in the literature have done this: Zhou et al. (2017), Gosavi et al. (2007), Gallego and Van Ryzin (1997), and De Véricourt and Lobo (2009). As the prior literature review details, overbooking and allocation are two fundamentally different formulations—the former involves setting the overall effective capacity of the system, whereas the latter is concerned with parsing whatever effective capacity is available in the most profitable manner to the different service packages. Thus, attempts to perform these two tasks simultaneously represent formulating the revenue management problem in a fundamentally different way. Gosavi et al. (2007) work developed two solution procedures to a simulation optimization approach to overbooking allocation for a huband-spoke airline network. Our work is different in three key areas: (1) 4

Computers & Industrial Engineering 137 (2019) 106073

V. Pimentel, et al.

true net demand estimation approach “standard unconstraining”. The seasonal cycle for the Holt-Winters forecast is seven days. The true demand for the booking profile forecast is estimated in a different way. Because we must estimate true net demand for each reading period as the arrival day approaches, true demand equals the historical average observed (when that reading period was open) demand for a reading period that has been closed for sale at least once before. The booking profile forecast keeps the cumulative historical function of the percent of final true net demand typically attained by this reading period prior to the arrival date. Thus, a forecast using the booking profile divides the estimated true net demand to the given point in time prior to arrival by the historical fraction of arrival date true net demand attained at this point in time. The booking profile forecast is therefore more reactive to short-term changes in the demand time series, whereas the Holt-Winter’s forecast is more stable. These two forecasts are linearly combined to produce the final forecast, whose point estimate is used in the optimizations. A systematic approach was used to determine the best-fitting probability distribution to model demand forecast errors. First, final forecasts were compared against true net demand (i.e., actual people showing up on the arrival date, inflated by our standard unconstraining method) for all rate class-duration-arrival date combinations covering an entire year of data. Second, histograms for each rate class-durationarrival day-of-week combination were generated for the difference between final forecasts and true net demand. Third, from a visual inspection of these histograms, several candidate probability distributions emerged to represent the differences: beta, normal, gamma, and lognormal. Fourth, the Cramer-von Mises goodness-of-fit test was performed on each of these distributions. The p-values, across all rate classduration-arrival day of week combinations, were highest for the gamma distribution. Therefore, the gamma distribution was selected to represent final forecast errors (Duffy, 2015). Then, given the up-to-date shape and scale parameters of the gamma forecast distribution error, the relevant optimization can then be run to update the reservation accept/reject criteria. One of these criteria is in the form of a bid price—the estimated opportunity cost of reserving a room for sale to that customer for their intended duration. For the simultaneous PSM optimizations, this bid price is obtained by subtracting the metaheuristic’s expected planning horizon revenue with those rooms removed from the system from the metaheuristic’s expected revenue with those rooms not removed. For the base optimization, the bid price is the sum of the capacity constraint dual variable values across all intended stayover nights. Therefore, after the true net demand and forecasts have been produced across the planning horizon on that day, sampling from the Poisson process produces the sequence of reservation requests on that day for various future days. Then, the bid prices are used to accept/ reject each reservation request in turn: a reservation is accepted only if the revenue to be obtained from the customer exceeds the bid price. If the base method is used, an additional hurdle must be overcome before the reservation is accepted: the overbooking algorithm must indicate that space is available on each of the intended stayover nights. This additional check is not required in the simultaneous PSM method because the bid price simultaneously accounts for the overbooking costs and allocation revenues. The simulation first initializes the parameters: base, trend, and seasonal terms for the Holt-Winter’s forecaster, booking profile fractions, forecast error distribution parameters, weights to linearly combine the Holt-Winter’s and booking profile forecasts, reservations currently accepted and customers currently at the hotel.

Table 1 Demand intensity and peak gap combinations and their associated true demand processes.1 Low Demand Intensity = 0.9

High Demand Intensity = 1.5

Low Peak Gap

High Peak Gap

Low Peak Gap

High Peak Gap

Days Until First Stayover

Rate Class 1

Rate Class 2

Rate Class 1

Rate Class 2

Rate Class 1

Rate Class 2

Rate Class 1

Rate Class 2

14–13 13–12 12–11 11–10 10–9 9–8 8–7 7–6 6–5 5–4 4–3 3–2 2–1 1–0 Totals

0.3 0.0 0.0 0.0 0.2 0.4 0.5 0.6 0.5 0.3 0.2 0.2 0.2 0.2 3.7

0.2 0.2 0.3 0.3 0.5 0.5 0.6 0.5 0.4 0.2 0.0 0.0 0.0 0.0 3.7

0.4 0.0 0.0 0.0 0.2 0.2 0.2 0.2 0.2 0.3 0.4 0.5 0.5 0.6 3.7

0.6 0.5 0.5 0.5 0.4 0.3 0.3 0.2 0.2 0.2 0.0 0.0 0.0 0.0 3.7

0.3 0.0 0.0 0.0 0.1 0.4 0.5 1.0 0.8 0.8 0.7 0.6 0.6 0.3 6.3

0.3 0.6 0.7 0.8 0.8 0.9 1.0 0.9 0.2 0.1 0.0 0.0 0.0 0.0 6.3

0.3 0.0 0.0 0.0 0.1 0.3 0.4 0.5 0.6 0.6 0.7 0.8 0.8 1.0 6.3

1.0 0.9 0.9 0.8 0.8 0.7 0.6 0.3 0.2 0.1 0.0 0.0 0.0 0.0 6.3

1 The cell entries are the Poisson mean demand rates. These data are used in Baker and Collier (2003), Table 3. Note that an entry of 0.0 means that no demand is possible during that time interval.

Table 2 Definition of low and high revenue gaps.1 Nightly Revenues ($) Control Date

Low Gap Rate Class 1

Low Gap Rate Class 2

High Gap Rate Class 1

High Gap Rate Class 2

Sun-Mon Mon-Tues Tues-Wed Wed-Thurs Thurs-Fri Fri-Sat Sat-Sun

135 135 135 135 135 108 108

115 115 115 115 115 92 92

160 160 160 160 160 128 128

90 90 90 90 90 72 72

1

These data are from Baker and Collier (2003), Table 4.

reservation requests on that day that would have materialized (a) had the hotel had no physical capacity limitations for that room type and (b) had that rate class always been open for sale. See Table 1 for the Poisson process data. Customers reserve a room with varying duration (i.e., lengths of stay). The nightly room rates paid by customers in the various rate classes can be found in Table 2. Essentially, this rolling horizon discrete event simulation updates both a booking profile forecast and a Holt-Winter’s exponential smoothing forecast every day, per rate class-duration-arrival night combination for true net (of cancellations and no-shows) demand. The simulation must convert reservations accepted into an estimate of true net demand on a once-a-day basis so that the Holt-Winter’s forecast has an appropriate time series to work from; the hotel’s reservation system does not track reservation requests turned away due to lack of space and/or rate class sales constraints. The conversion from observed reservations accepted into true demand involves tracking the fraction of reading days (each day prior to an arrival date) that a given rate class-duration-arrival date was open for sale. Then, the observed demand is divided by this fraction to obtain true demand. The net true demand for that reading period is obtained by multiplying the true demand by (1 – the cancellation probability) * (1 – no-show probability). Therefore, the estimated true net demand for that rate classduration-arrival day-of-week combination is stored, and this estimated true net demand is the input to the Holt-Winter’s forecaster. We call this

3.1.2. Simulation steps The simulation is a rolling horizon discrete event simulation, with the following steps performed in sequence at midnight each day: 5

Computers & Industrial Engineering 137 (2019) 106073

V. Pimentel, et al.

Table 3 Miscellaneous input data.1 Simulation replication length Number of replications per design point Number of rate classes Length-of-stay distribution Reservation request time window Cancellation probability No-show probability Rooms available each night Forecasting and allocation planning horizons Update frequency of booking profile, forecast weights, base time series smoothing constant, coefficient of variation for forecast errors Slope factor levels in price-demand relationships2 Time at which all daily activity is performed Ratio of oversell to undersell penalties in overbooking Order in which cancellations and no-shows are generated Order in which true demand reservation requests are made

113 nights 30 2 (1/3, 1/3. 1/3) for 1-,2-, and 3-night stays, respectively Once each night, starting from 14 nights in advance of arrival 0.014 for each day prior to arrival 0.0875 for rate class 1 and 0.075 for rate class 2 50 14 nights Weekly Low is (−0.05, −0.1), high is (−0.1, −0.15) (first number in the set is for rate class 1, and the second is for rate class 2) Midnight 2–1 Rate class (highest priced to lowest)-reading period (furthest out to closest)length-of-stay (shortest to longest) Arrival date (closest to farthest out)-rate class (highest priced to lowest)-lengthof-stay (shortest to longest) order

1

These data are a subset of the data used in Baker and Collier (2003), Table 2. For instance, if the slope is −0.1 for rate class 1, then the theoretical linear demand curve for any rate class/length-of-stay/arrival day-of-week combination is generated by the slope-point method of producing a unique line, where the “point” on the (x, y) coordinate plane is (total stay revenue (i.e., price) calculated from Table 2, the Table 1 Total row intensity for the column of interest), 30 points on the price axis (i.e., x axis) for each rate class/length-of-stay/arrival day-of-week combinations are randomly generated from the interval (Table 2 price – 50, Table 2 price + 50), and 30 corresponding points on the demand axis (i.e., y axis) are then generated by a drawing from a Poisson distribution with a mean equal to that predicted by the slope and y-intercept of the linear demand curve. This demand is multiplied by (1 – cancellation probability)**(number of reading periods)*(1 – no-show rate) to obtain net demand. An estimated linear demand curve is then fitted via simple linear regression for each set of 30 points, and the optimal prices for each rate class/length-of-stay/arrival day-of-week combination are determined by the quadratic program (Eqs. (1)–(2)) that uses these estimated demand curves. The Poisson intensities used in the simulation come from inserting the optimal prices into the theoretical “slope factor” line to obtain the total revenue for each r,d,a combination. 2

the last four weeks. 12. If the simulation has not completed its requested number of replications, return to step 1 to process the next day.

0. If simultaneous PSM optimization is used, determine optimal prices per Table 3 footnote 2 for the simulation’s duration. This, in turn, creates proportional deviations from the base room revenues (by rate class-duration-arrival date combination) from Table 2 (see Table 3 footnote 2). 1. Perform updated true net demand estimations to obtain the input to the Holt-Winter’s and booking profile forecasts. 2. Generate the Holt-Winter’s forecast for each rate class-durationarrival day combination through the planning horizon. 3. Generate the booking profile forecast for each rate class-durationarrival day combination through the planning horizon. 4. Linearly combine the Holt-Winter’s and booking profile forecasts into the final forecast. 5. Update, using the last four final forecasts, the coefficient of variation (error statistic) of each rate class-duration-arrival date final forecast. 6. Update the gamma forecast error shape and scale parameters using the method of moments from the coefficient of variation; update the booking profiles. 7. Perform either the base optimization or simultaneous PSM optimization to generate the bid prices for each stayover night in the planning horizon. 8. Generate cancellations of each accepted reservation on-hand by sampling from the Bernoulli distribution. 9. Sample from the Poisson process to cover the next 24 h; accept/ reject each reservation request in turn using the relevant optimization’s bid price (and overbooking limits if base optimization is used). 10. Count the revenue for today by accessing the accepted reservations minus draws from the Bernoulli no-show distribution. Convert revenue to net revenue by applying the penalty to those with reservations that cannot be accommodated due to overbooking. 11. If a one-week time interval is met: (a) update the Holt-Winter’s base smoothing constant to minimize the root mean square forecast error over the last four weeks of data, (b) update the weight to linearly combine the Holt-Winter’s forecast with the booking profile forecast by minimizing the root mean square forecast error over

See Table 3 for the details of the simulation parameters. 3.2. Experimental design According to Duffy (2015), three key exogenous factors have the most impact on the revenue generating capability of an optimization algorithm: the peak gap, the demand intensity, and the revenue gap. The peak gap is the number of days between the maximum Poisson intensities between the rate classes. Usually, rate class 1 (the higher paying service package) makes reservations closer to their arrival date than rate class 2. As the number of days between these peaks increases, a high-quality optimization becomes more important. The demand intensity is the ratio of total expected true net demand for a given stayover night divided by the number of physical rooms available for sale. The smaller this ratio is, the greater the need for better optimization methods. Finally, the greater the difference in room rates between the rate classes (revenue gap), the greater the need for better optimization algorithms. Given this information, ideally, we would use a 23 full factorial experimental design, with simulation replications per Table 3, to compare the expected revenues of the base and simultaneous PSM methods via multiple comparisons. However, we combine the peak gap and revenue gap factors into a single gap and run a 22 full factorial design. Thus, the gap factor is at its high level when both the peak gap and revenue gap are at their high levels, and the gap factor is at its low level when the peak gap and revenue gap are low. This condensation is acceptable because the peak gap and revenue gap tend to move together in practice (Duffy, 2015). Additionally, a single design point in the simulation takes approximately 12 h to run on our computer; thus, to make manipulating the full experiment feasible in a reasonable timeframe, we opted for the two-factor design.

6

Computers & Industrial Engineering 137 (2019) 106073

V. Pimentel, et al.

4. Notation

5. Reference optimization algorithm

The parameters/variables/terms/subscripts used throughout the rest of the paper are defined in this section.

This base case algorithm used in practice (Duffy, 2015) has three main components. First, the room prices are optimized via the utilization of a linear demand curve. Then, overbooking is performed to determine how much to oversell the hotel on each night, independent of the various rate class-duration-arrival date patterns. Finally, an allocation optimization is performed to produce bid prices for each stayover night. So that a customer reservation request can be accepted/ rejected based on supply-demand matching.

r d a c Rr , c Rr , d,a cancellation no-show net demand overbooking allocation true demand

gr , d,a

Gr ,d, a r , d, a

r , d, a

Br , c Lr , d, a K r¯ d¯

a¯ Pen

Or , c n

Et t g'r,d,a x u q(u)

q¯ IK , i ns(r) Binomial(q, i, ns) Prda drda (Prda )

AVGRATEq (u)

oblimq (u)

TCq (u), u

TCq (u), u

rate class duration (in stayover nights) of a reservation day of arrival at the hotel (a = 1, 2, … corresponding to 1 night from the current time, 2 nights from the current time, ….) control night (i.e., a stayover night) actual room rate for a given r, c combination. actual room rate for an entire stay a customer with a reservation who subsequently notifies the hotel that they will not be coming a customer with a reservation who does not show up on their reserved arrival date and never notifies the hotel room demand minus cancellations and no-shows the total number of reservations to accept for a given c; this value can exceed the physical capacity the total number of reservations to accept for a given r, d, a combination estimated demand that would have occurred had there been no overbooking or allocation limits gamma true net demand probability density function. “Net” means true demand minus estimated cancellations and no-shows. This function models the error of the point estimate for true net demand cumulative distribution function of gr , d,a

5.1. Initial price setting algorithm At the beginning of the planning horizon, (1) the linear net demand functions drda (Prda ) are estimated from a database by taking random samples from the Poisson distributions in Table 1 (see footnote 2 in Table 3 for exactly how this is done), then (2) a quadratic program is solved to determine the optimal prices for the remainder of the simulation’s replications using these estimated demand functions. The optimal prices from the estimated demand curves are found with the following quadratic programming formulation:

max

Prda

drda (Prda )

(1)

rda

shape parameter of the gamma true net demand probability distribution scale parameter of the gamma true net demand probability distribution number of reservations currently accepted limit on the number of reservations to take in either the reference allocation model or the simultaneous overbooking-allocation algorithm (decision variable) number of rooms to rent each night (i.e., physical capacity) number of rate classes maximum duration

subject to

drda (Prda)

Kfor all control dates

(2)

Once this quadratic program is solved, the Table 1 Poisson intensities are adjusted according to the new prices. See Table 3 footnote 2 for details of this adjustment. These updated Poisson intensities remain the same through the remainder of the simulation. 5.2. Overbooking algorithm

planning horizon length overbooking penalty: multiplier of the night’s room rate if the customer has to be moved to another hotel due to the number of arrivals exceeding the physical hotel capacity on the arrival date number overbooked number of passes through the simulation replication length to be performed expected revenue across the planning horizon pass number in the simulation one random draw from gr,d,a (rounded to the nearest integer)

The dynamic programming recursion is defined as follows:

TCq (u), u = minoblimq (u) TCq (u

(3)

1), u 1

where stage u = 0 is the control date we are focusing on and the minimization is performed with respect to the booking limits oblim. The starting condition of the backward recursion is defined as follows (note that a state represents a unique combination of r, d, as who have reservations that will carry them over the stayover night 0; a stage is the number of nights in the recursion prior to the target stayover night 0):

1 if the reservation request cannot be honored due to space limitations, 0 otherwise a stage in the overbooking dynamic program—a stayover night in advance of the control date (u decreases one gets closer to the arrival date) a state in the overbooking dynamic program, the current set of reservations accepted across the rate class-duration-arrival date combinations that cover the given control date that the dynamic program is focused on cardinality of q 1 if the number of reservations i for a control night in question is greater than the hotel’s room capacity K, 0 otherwise no-show probability—the probability that a customer with a reservation will not cancel in advance yet not show up for their stay the binomial probability mass for i successes out of q trials with success probability ns average room rate determined by the simultaneous PSM method in the simultaneous PSM method, the linear true net demand function estimated via regression at the beginning of the simulation the weighted average room rate for all r,d,a combinations in state q at stage u. The weights are the forecasted true net demand for each r,d,a combination overbooking limit (i.e., number of cumulative reservations to accept) at stage u and state q(u) for the base method overbooking algorithm expected total cost of being in state q(u) during stage u

¯ q (0)

TCq (0),0 =

¯ , i, 1 Binomial (q (0)

ns)

IK , i

Pen

(i

K)

AVGRATEq (0)

i=0

(4) Note that the transition from a given state at stage u to another state at stage u + 1 in Eq. (3) is governed by (1) the forecasted true net demand shape and scale parameters and (2) the difference in booking profile percentages from the current stage to the next one closer to the stayover. The transition probabilities in the final stage in Eq. (4) are governed as well by the no-show probabilities, which can also be found in Table 3. Thus, the optimal solution to this dynamic program is the oblimq (u) obtained from (3) at the current stage u and state q(u). This algorithm is run once per day at midnight so that the updated optimal booking limits oblimq (u) can be calculated with regards to each control date in the planning horizon. Thus, one criterion for a reservation request to be accepted is for the number of reservations accepted to not exceed oblimq (u) for the current stage, given the state of the system q(u). This comparison is performed for all stayover nights for this reservation request.

minimum expected total cost of being in state q(u) during stage u

7

Computers & Industrial Engineering 137 (2019) 106073

V. Pimentel, et al.

5.3. Allocation algorithm

realizations of the estimated true net demand random variable, gr , d, a , hotel capacity K, and the property manager supplied ratio of oversell to undersell penalty Pen. The basic logic of our genetic algorithm is based on Holland (1992). The algorithm’s population is the set of all possible vectors of the decision variable Lr , d, a . The mutation and crossover probabilities are 0.005 and 0.8, respectively. The algorithm’s core (1) uses the roulette wheel with replacement method to create the mating pool from the current population, (2) offspring are generated via the crossover probabilities, (3) mutation occurs to produce the next generation, (4) and if the stopping rule is not met, the process returns to step 1. The fitness function now relies on base-2 encoding from the genetic algorithm that calls it. The function is a Monte Carlo simulation. The pseudocode for our fitness function is detailed here (note that this pseudocode is also used in Pimentel, Aizezikali, and Baker (2016).

Independent of the overbooking algorithm, another set of booking limits is obtained via a static nonlinear program run each night at midnight over the planning horizon: Lr , d, a

max

Rr , d, a r

d

a

(u) du +

(1 r

u

gr , d, a

0

d

Gr , d, a (Lr , d, a ))

Rr , d, a

Lr , d, a

a

(5)

subject to

L r , d, a r

d

Lr , d , a

K

r, c

a

(6)

0

(7)

The decision variable is L , the room allocations for each r, d, a combination. The objective maximizes expected revenue across the planning horizon, where the integral in (5) is the expected revenue for cases where the true net demand does not exceed the Lrda room allocations. The summation terms in (5) represent the cases where true net demand does exceed the room allocations, so revenue must be capped based on physical capacity. Constraint (6) forces the allocation to not exceed the physical capacity of the hotel. Per the PSM allocation decision logic, a reservation request will be accepted only if the total revenue to be gained from the customer exceeds the sum of the Eq. (6) dual values across all control dates that the customer will stay. In other words, the opportunity cost of reserving that room for those nights for this customer is less than the revenue to be accrued from the transaction.

function expected_net revenue_estimation (inputs:

r , d, a ,

r , d, a ,

Rr , c , Lr , d, a , K, r¯ , d¯ , a¯ ,

Pen, n; output: expected_net revenue) expected_net revenue = 0 for t = 1 to n: /* for all simulation replications */ Et = 0 /* initialize expected net revenue to 0 */ for r = 1 to r¯ and c = 1 toc¯ Br , c = 0 /* initialize bookings by rate class-stayover night combination */ end for for a = 1 to a¯ , d = 1 to d¯ , r = 1 tor¯

Br , d, a = 0 /* initialize bookings by rate class-stay length-arrival date combination */ end for for a = 1 to a¯ , r = 1 to r¯ , d = 1 tod¯

generate a gr' , d, a /* generate a true net demand from the gamma true net d-

emand distribution*/ if ( gr' , d, a + Br , d, a

5.4. Overall implementation

Lr , d,a )/* the booking limit decision variable L can accom-

modate all of the reservation requests for this rate class-stay length-arrival date combination */

A reservation request will be accepted only if both the overbooking and allocation criteria are met.

booking_request = gr' , d, a

else /* some of these reservation requests cannot be accommodated */ booking_request =Lr , d, a Br , d, a end if Br , d, a = Br ,d, a + bookingrequest /* update number booked into hotel */ for c = a + a + d − 1 Br , c = Br , c + bookingrequest

6. Simultaneous PSM algorithms 6.1. Simultaneous PSM algorithm: using genetic algorithm solver

Or , c = max {bookingrequest + Br , c K , 0} /* count the number overbooked by rate-class-stayover night combination for penalty calculations */ end for for r = 1 to r¯ , c = 1toc¯ Et = Et + Br , c Rr , c Or , c Pen Rr , c /* update revenue calculation minus overbooking penalty * end for expected_net_revenue = expected_net_revenue +Et end for (t loop) /* go to another day in the simulation planning horizon */expected_net_revenue = expected_net_revenue / n /* compute average replication net (of overbooking penalties) revenue for the simulation */function end

6.1.1. Initial price setting This portion of the algorithm is identical to the reference method. Thus, these optimized prices will set the means of the Poisson true demand distributions for the upcoming simultaneous overbooking and allocation algorithm. 6.1.2. Simultaneous overbooking-allocation algorithm Essentially, our simultaneous overbooking-allocation method is a simplification of the hotel reservation system simulation described in Section 3.1, and this simulation is the fitness function that is repeatedly called by a genetic algorithm. Our genetic algorithm repeatedly runs our simplified simulation to maximize expected nightly net revenue by varying the booking limits per rate class-duration-arrival day combination. The fitness function used in the genetic algorithm estimates expected net revenue over the simulation replication length. The decision variable for this function is the Lr , d, a , the maximum number of reservations to accept per r, d, a combination. Thus, the genetic algorithm selects the combination of Lr , d, a s that maximizes the fitness function. Because the selection of the Lr , d, a s can result in the total reservations for a control date exceeding physical capacity, this genetic algorithm simultaneously performs overbooking and allocation. The fitness function is discontinuous due to the penalty imposed if overbooking occurs (Pen); thus, a standard mathematical programming solver will not work well. The expected net revenue is a discontinuous and nonlinear function of Rr , c , the room rate for rate class r for stayover night c,

As in the baseline method, we use general bid price logic (Williamson, 1992) to make the reservation request accept/reject decisions. Here, the bid price is computed as the difference between the genetic algorithm solution under current reservation acceptances and the genetic algorithm solution with one room taken away for each night that the customer plans to stay. Then, a reservation request is accepted only if the revenue to be received for the entire stay meets or exceeds the bid price. Note that the bid price computed here is more exact than that in the reference method because the reference method adds dual values, which makes the false assumption that the effect of removing a room on one night is independent of the effect of removing the room on a subsequent night. The genetic algorithm’s bid price makes no such erroneous assumption. 6.1.3. Overall implementation If the bid price is exceeded by the total room revenue, then the reservation request is accepted. 8

Computers & Industrial Engineering 137 (2019) 106073

V. Pimentel, et al.

6.2. Simultaneous PSM algorithm: using particle swarm optimization (PSO) solver

Evaluate G (t ); t = t + 1;

This method is identical to the simultaneous PSM method: genetic algorithm solver method with the exception that particle swarm optimization (PSO) is used in lieu of a genetic algorithm to find the approximate expected net revenue maximizing booking limits. Each particle represents a unique row vector of integers, where the number of elements in the vector is r * d * a, and each integer is the booking limit for that rate class-duration-arrival date combination. Thus, the swarm represents the set of candidate booking limit vectors in our simultaneous overbooking-allocation problem. The fitness function is the same as that in the genetic solver method. We implement the method of Xie, Zhang, and Yang (2002), which is a dissipative PSO. Negative entropy is used to generate the opening dissipative system that is deliberately far from equilibrium. This approach then facilitates the drive to a better fitness function though irreversible evolution. The Euclidean distance from one particle to a second does not impact the relative attraction of one particle’s location to another particle’s location given their current fitness function scores.

Until solution is found (convergence ) or termination criteria is met ; The predicted performance of a GA can be shown to be a function of the population size, the number of elements chosen for representation, the complexity of the fitness function, and the fitness ratio (Ankenbrandt, 1991). In our algorithm, the fitness function is the order of the number of trials, which is 30. Thus, the fitness function has a complexity of O (number of trials ) . Finally, genetic algorithms with proportional selection have an average and worst-case time complexity on the order of (fitness fucntion complexity m In m) . We went through all the code, focusing mainly on for loops and If/ Else statements because these are the elements that affect the complexity of an algorithm. All other lines add up to a constant and can thus be ignored. We broke the code into three parts: forecasting, fitness function, and genetic algorithm. 7.1. Forecasting

6.3. Simultaneous PSM algorithm: using firefly solver

We obtain the complexity for the forecasting component as follows:

This method is identical to the simultaneous PSM method: PSO solver method with the lone exception that the distance between two particles plays a role in the attractiveness of one particle’s current location to another particle, in addition to their fitness function scores. Specifically, we implement the method of Fister, Yang, Fister, and Brest (2012).

c1

rda2 + c3

rdak + c7

rda + c8

rak + c13

ra + c14

a + c19

rdk 2 + c4 ra2

dak 2 + c5

da2

+ c9

rd + c15

+ c10

da + c16

rak 2 + c6

rdk + c11 r + c17

dak + c12

d + c18

k + c0

where

6.4. Simultaneous PSM algorithm: using ant colony (ACO) solver

r: rate class

This method is identical to the simultaneous PSM method: particle swarm optimization solver method with the exception that ant colony optimization (ACO) is used in lieu of PSO. Our ACO uses the method of Schlüter, Egea, and Banga (2009). Our simultaneous overbooking-allocation formulation can be cast as a mixed integer nonlinear programming formulation, where the objective function is our nonconvex, discontinuous fitness function. Because we are performing optimization in simulation, where the objective function in Section 6.1.2 is nonlinear because it is an expected value output of a complex simulation of the hotel reservation process: the Poisson process of demand is combined with discrete cancellation/no-show random variables to produce the nonlinearity. The Schlüter et al. (2009) method then adapts a standard continuous ACO method to our mixed integer nonlinear programming formulation. The constraints in the nonlinear program are handled by the oracle penalty method detailed in Schlüter and Gerdts (2010).

d: length of stay

a arrival day k: physical capacity Therefore, based on the above expression, the forecasting component is a polynomial of order 5. 7.2. Fitness function The fitness function has the following complexity expression: 1

rdan + an + d+

7. Computational complexity of simultaneous PSM algorithm: using genetic algorithm solver

8 14

2

rdn + rda +

a+

15

9

ran +

3

rd + n+

10

4

dan +

ra +

11

5

rn +

da +

12

6

dn + r+

7

13

0

where n represents the simulation replication length. Thus, the fitness function has a polynomial time of order 4. Because r and d are small compared with a and n in real-world problems, the base for this polynomial order depends on the magnitude of a and n . A similar analysis also applies to the order of complexity of the forecasting component.

A genetic algorithm evaluates a population based on a fitness function that is an application-dependent criterion and generates a new population. Each successive population is called a generation. The GA generates an initial population, G(0), and for each generation G(t), the genetic algorithm generates a new generation, G(t + 1). The basic procedure of a genetic algorithm is given by (Ankenbrandt, 1991):

7.3. Genetic algorithm with fitness function included The whole genetic algorithm has a complexity order of ( fitness function complexity m ln m ), where m is the population size in the genetic algorithm. The overall complexity of the algorithm is:

Generate initial population, G (0);

Evaluate G (0) using application specified fitness function; t = 1;

(Complexity of forecasting part + Complexity of genetic algorithm

Do

Generate G (t ) using G (t

rdak 2 + c2

with fitness function) 1);

= O (max(a, k )5 ) + O (max(a , n) 4 9

m ln m)

Computers & Industrial Engineering 137 (2019) 106073

V. Pimentel, et al.

Table 4 Metaheuristic net revenue generating comparison, HDHG case. Metaheuristic

Average percent improvement over base method

Maximum percent improvement over base method

Minimum percent improvement over base method

Standard deviation of percent prediction error

Genetic Algorithm Firefly Algorithm Particle Swarm Optimization Ant Colony Optimization

34 35 36 35

37 38 40 38

32 32 32 32

0.9 2 2 2

Table 5 Metaheuristic net revenue generating comparison, HDLG case. Metaheuristic

Average percent improvement over base method

Maximum percent improvement over base method

Minimum percent improvement over base method

Standard deviation of percent prediction error

Genetic Algorithm Firefly Algorithm Particle Swarm Optimization Ant Colony Optimization

39 39 39 35

40 39 40 38

38 38 38 32

0.6 0.6 0.7 2

8. Experimental design results

order by rate class, arrival date, and duration. Table 8 contains a complete list of these operating conditions (i.e., factors), along with their ranges. The independent variables for the Plackett-Burman screens were coded D through N, as shown in Table 8, along with all two-way interactions of these variables. The dependent variable was the percent increase in average nightly net revenue when switching from the reference method to the simultaneous PSM with the genetic algorithm. Because there were 11 different factors to evaluate, running a full 211 factorial experiment would be computationally prohibitive. Therefore, we executed two 16-runs-per-round Plackett-Burman screening designs to discard the insignificant factors and focus on a parsimonious set of factors for sensitivity analysis. We executed these designs for each of the four broad scenarios (high-demand-intensityhigh gap (HDHG), high-demand-intensity-low gap (HDLG), low-demand-intensity-high gap (LDHG), low-demand-intensity-low gap (LDLG)) considered in Tables 4–7. For each scenario, we ran only two screening rounds because the sets of confounding two-way interactions at the end of round two were resolvable according to the basic nature of the factors involved: no additional data analysis would be required. Once we settled on a single two-way interaction to represent a confounded effect, we linked together the data from the two rounds and regressed all factors that survived the screening. The two-way interactions that switched coefficient signs from round 1 to round 2 were discarded, as were those that were statistically insignificant in either round. After round 2, we considered only those effects above 0.10 to have significance. Our reasoning for thus resolving confounded interactions was that the most likely source of an effect was the overbooking penalty ratio (I) because the fundamental difference between the reference and simultaneous methods is their approach to overbooking. The next most likely source was the duration distribution (D), which has a wide range with a significant impact on the results. The third most likely source was the price-elasticity coefficient (H). For the high-demand-intensity cases, the original percent improvement achieved with the proposed algorithm (34–39%) remained fairly

8.1. Comparison of the simultaneous PSM genetic algorithm with the reference algorithm Tables 4–7 present the results of our experiment. Overall, the proposed simultaneous price setting genetic algorithm outperformed the reference method by 20.2%, and the percentages were much higher in the high-demand-intensity cases (approximately 34–39%) than in the low-intensity cases (approximately 4%) because a more rigorous optimization scheme becomes more important when demand exceeds supply—the high-intensity case. Thus, in situations in which the optimization scheme can incorporate explicit price optimization, such a scheme can be substantially enhanced by simultaneously, rather than sequentially, performing overbooking and allocation. Setting appropriate prices based on the rate class, duration, arrival date, and day-of-week prices does not mean that subsequent overbooking and allocation procedures are irrelevant and can be replaced with first-come, first-served logic. The costs of lost sales due to underbooking and overbooking penalties must be balanced by assessing cancellation, no-show, and rate class demand patterns, and booking limits must be allocated to the assorted rate class, duration, and arrival date combinations. Executing these two tasks simultaneously yields a large net revenue improvement. We analyzed how sensitive the average results from Tables 4–7 were under the full range of operating conditions (Duffy, 2015) that a hotel could experience. In particular, we examined how sensitive the results summarized in Tables 4–7 were to the (1) duration distribution (whether it was skewed toward short or long stays); (2) minimum and maximum cancellation and no-show probabilities; (3) frequency of forecasting parameter updates (e.g., shape-scale parameters in the forecast error distribution or the proportion of final forecast weight given to the reactive versus long-term forecast); (4) sensitivity of the price-demand relationship, (5) very low versus very high valuations of oversell to undersell opportunity costs in overbooking, and (6) daily pattern of events (reservation requests, cancellations) with regard to Table 6 Metaheuristic net revenue generating comparison, LDHG case. Metaheuristic

Average percent improvement over base method

Maximum percent improvement over base method

Minimum percent improvement over base method

Standard deviation of percent prediction error

Genetic Algorithm Firefly Algorithm Particle Swarm Optimization Ant Colony Optimization

4 4 4 4

4 4 4 4

4 4 4 4

0.06 0.6 0.06 0/06

10

Computers & Industrial Engineering 137 (2019) 106073

V. Pimentel, et al.

Table 7 Metaheuristic Net Revenue Generating Comparison, LDLG Case. Metaheuristic

Average percent improvement over base method

Maximum percent improvement over base method

Minimum percent improvement over base method

Standard deviation of percent prediction error

Genetic Algorithm Firefly Algorithm Particle Swarm Optimization Ant Colony Optimization

4 4 3 4

4 4 4 4

4 4 3 4

0.07 0.09 0.08 0.08

Table 8 Sensitivity Analysis of the Factor Settings in the Simulation (the low-high value ranges were validated by Duffy (2015), along with the set of factors). Factor (code)

Low Value

High Value

Duration (D) Cancellation probability (E) No-show probabilities (F) Frequency of simulation parameter updates (G) Slope for price-demand data generation (H) Overbooking oversell-to-undersell penalty rate (I) Daily order of reservations by arrival date (J) Daily order of reservations by rate class (K) Daily order of reservations by duration (L) Daily cancellation and no-show order (M) Daily order of cancellations (N)

(0.6, 0.2, 0.2) corresponding to the probability of a one-, two-, or three-night stay request 0.001 (0.01, 0.001) corresponding to rate classes 1 and 2, respectively Weekly (−0.05, −0.1) corresponding to rate classes 1 and 2, respectively 2–1 Soonest to latest Rate class 1 followed by 2 Shortest stay to longest Rate class 1 followed by 2 Farthest out to closest in by arrival date

(0.2, 0.2, 0.6) 0.1 (0.2, 0.18) Every four weeks (−0.1, −0.15) 10–1 Latest to soonest Rate class 2 followed by 1 Longest stay to shortest Rate class 2 followed by 1 Closest in to farthest out

intact: in no scenario were these percentages altered by more than 1.5%. The shape of the duration distribution, magnitude of the cancellation probability, oversell to undersell overbooking penalty ratio, frequency of data updates, order in which reservations arrive, and degree of price sensitivity were the drivers of any deviations from the baseline improvement. The duration and cancellation probability factors had a greater impact than the price elasticity and overbooking ratio factors. For the low-demand scenarios, only the overbooking ratio, shape of the duration distribution, and daily order of cancellations by rate class impacted the percent improvement achieved with the proposed method. Nonetheless, this impact was extremely small relative (less than 1.5%) to the size of the improvement.

error in estimating the percent improvement was trivial in comparison to the size of the improvement. We utilized the same approach as with the genetic algorithm to determine the sensitivity of the results to a reasonable set of exogenous factors that would influence revenue-generating performance. The PSO metaheuristic was much less sensitive to environmental changes than the genetic or firefly methods: the largest effect in the PSO sensitivity analysis was 0.005, much smaller than the maximum effect sizes of 0.01 for the other two methods. Thus, the genetic and firefly methods extremely insensitive to exogenous conditions, and the PSO method is even more insensitive and essentially runs in the same amount of time on realistically sized problems.

8.2. Comparison of simultaneous PSM firefly algorithm with reference algorithm

8.4. Comparison of the simultaneous PSM ACO algorithm with the reference algorithm

Tables 4–7 summarize the results of substituting the firefly algorithm for the genetic algorithm in the proposed simultaneous PSM. The percent improvement relative to the reference method was very close to that obtained with the genetic algorithm, differing by at most 1%. Furthermore, the error in estimating the percent improvement was trivial compared to the size of the improvement. We utilized the same approach as with the genetic algorithm to determine the sensitivity of the results to a reasonable set of exogenous factors that would influence revenue-generating performance. In the high-demand-intensity cases, the weight of overbooking versus underbooking and the level of cancellations were the most important drivers of change in the baseline net revenue improvements, and the pricedemand elasticity was a secondary factor. In the low-demand-intensity cases, the exogenous factors played a much smaller role. In both highand low-demand-intensity cases, the impacts of these exogenous effects were extremely small relative to the base improvement in net revenue.

Tables 4–7 summarize the results of substituting the ACO algorithm for the genetic algorithm in the proposed simultaneous PSM. The percent improvement relative to the reference method was very close to that obtained with the genetic algorithm, differing by at most 6% (when the genetic algorithm improved net revenues by 38%). The error in estimating the percent improvement was trivial compared to the size of the improvement. We utilized the same approach as with the genetic algorithm to determine the sensitivity of the results to a reasonable set of exogenous factors that would influence revenue-generating performance. The ACO metaheuristic was sensitive to environmental conditions on the same scales as the genetic algorithm: its largest exogenous effect was 1%, which occurred in the case where the average improvement was greater than 30%. ACO was also the fastest of the metaheuristics. 8.5. Computing time comparisons

8.3. Comparison of the simultaneous PSM PSO algorithm with the reference algorithm

Table 9 lists the computational performances of the four metaheuristic algorithms that we tested. The ACO solution time of 117 s on a realistically sized problem was the fastest. However, the range of solution times from the slowest (PSO at 126 s) to the fastest was negligible and thus of no practical significance. Therefore, from a speed perspective, there was no reason to prefer one algorithm over another.

Tables 4–7 summarize the results of substituting the PSO algorithm for the genetic algorithm in the proposed simultaneous PSM. The percent improvement relative to the reference method was very close to that obtained with the genetic algorithm, differing by at most 3%. The 11

Computers & Industrial Engineering 137 (2019) 106073

V. Pimentel, et al.

500 rooms to sell) version of our problem can be solved with a cold start (i.e., the optimal solution from a recent prior optimization is not known) in approximately two minutes on a standard personal computer for all four metaheurstics. Thus, this method is implementable in practice. Future research in this area could involve incorporating competitor pricing behavior into the optimization. Thus, our new method would optimize a cross-elasticity function in its initial quadratic program. Ideally, this research would be conducted in real time, with competitor price information being scraped from the Internet and dynamically assembled into the optimization database.

Table 9 Solution Time (in seconds) for a Realistically Sized Problem: 25 rate classes, 14 possible durations, 365 night planning horizon, 500 rooms to sell. Metaheuristic

Solution Time

Genetic Algorithm Firefly Algorithm Particle Swarm Optimization Ant Colony Optimization

119 126 123 117

9. Conclusions

Funding

Our objective in this study was to ascertain how performing overbooking and allocation simultaneously improves the net revenue generation capability of a hotel revenue management system optimization scheme in which rate class/duration/arrival day-of-week prices can be optimized via price-demand elasticity estimates ahead of a planning horizon, for transient customers only (group bookings can be handled with a different approach). We utilized a hotel reservation system simulation for transient customers that has all the functionality of a real-world revenue management system (walkthrough performed by Duffy (2015)). Namely, true demand patterns are generated for each rate class, true demand has to be estimated from censored bookings, no-show and cancellation probabilities are taken into account, seasonality exists in the demand patterns, customers have propensities to stay for varying lengths, true net demand must be projected across a planning horizon via both shortterm and long-term methods, all forecaster parameters are reoptimized regularly, overbooking and allocation is performed via optimization routines, and both realized room revenues and estimated net present value of lost revenue due to overbooked customers are taken into account. This simulation is the basis for comparing our new method—simultaneous PSM method—with a reference method that does not perform overbooking and allocation simultaneously. We ran a full factorial experimental design on the two primary environmental factors that influence the performance of the revenue management system: demand intensity and a revenue/demand timing gap between rate classes. We find that our new simultaneous method outperforms the reference method in terms of nightly net revenue by an average of 20.3% when using a genetic algorithm to produce approximate optimal solutions to our simultaneous overbooking-allocation problem. This improvement, as shown in Tables 4–7 is essentially the same if we substitute three other metaheuristics for the genetic algorithm—firefly, PSO, and ACO. The improvements is much less pronounced in high-demand-intensity cases. Specifically, our new simultaneous PSM outperforms the sequential reference method by an average of 35% in net revenue in high-demandintensity/high gap cases, by 38% in high-demand-intensity/low-gap cases, and by 4% in both low-demand-intensity cases. The corresponding standard deviation of the error in estimating these improvements from our simulation is no worse than 2% in all high-demandintensity cases and no worse than 0.6% in the low-demand-intensity cases. Thus, our new method significantly outperforms the baseline sequential optimization method in high-demand-intensity cases, with a much smaller improvement in low-demand-intensity cases, with little estimation error. Regarding the relative performances of the four metaheuristics for solving our simultaneous PSM, the PSO was nondominated in any of the four scenarios (demand intensity-gap combinations), except the lowdemand/low-gap scenario (where it was outperformed by 25%). Thus, PSO is the preferred metaheuristic in all cases except low demand/low gap; in that case, any of the other metaheuristics are preferred. Moreover, even though our new method is more computationally intense than the reference optimization method, we find that a full scale (8 rate classes, 14 different lengths of stay, 12 month planning horizon,

This research did not receive any specific grant from funding agencies in the public, commercial, or not-for-profit sectors Appendix A A.1. Glossary of hotel revenue management system terms1 Actual True Net Demand: True demand must be estimated because most reservation systems track only actual bookings. Customers who attempt to book and are denied a reservation due to lack of space must be estimated from the actual bookings. Additionally, customers who attempt to book into a rate class but are denied a reservation because that rate class is closed for sale must be estimated from actual bookings. The process of estimating this demand from actual bookings is called unconstraining, and the resultant demand is termed true demand. Net demand is demand minus expected cancellations and no-shows. “Actual” implies estimating this demand historically, rather than projecting it. Allocation: A revenue management approach whereby rate class, arrival date, and length of stay combinations are made available or unavailable for sale at a future point in time. Bid Price: A dual variable corresponding to a given math programming capacity constraint for a control date; that is, there are physical limits on the number of rooms that can be sold for each control date. If the sum of the bid prices across all nights that the customer plans to stay exceeds the room revenue, then the rate class-arrival datelength of stay combination in question should not be sold. Booking Profile Forecast: For a given rate class, duration, and arrival date combination, the booking profile is used to project arrival day demand from the estimated true net demand that has accumulated to date. Booking Profile: For each reading period prior to arrival for a rate class and arrival day-of-week combination, the ratio of estimated historical cumulative true net demand up to and including that period over estimated historical true net demand summed over all reading periods. The set of reading period fractions for a rate class-duration-arrival dayof-week combination constitutes a booking profile Bid Price Method: This approach uses the duals of a probabilistic demand nonlinear program as opportunity cost estimates of removing a room from inventory for a set of nights. A reservation request is accepted only if the room revenues exceed the opportunity cost. Control Date: One night that a customer may stayover. This is in reference to room demand for a night. Demand Intensity: The ratio of the mean customer arrival rate (with respect to true demand) to total rooms available for a given control date. Duration Profile: For a given rate class and arrival day-of-week combination, a set of fractions for each possible length of stay. The fractions must sum to 1 across the set and represent the proportion of 1

12

This glossary is adapted from Baker and Collier (2003).

Computers & Industrial Engineering 137 (2019) 106073

V. Pimentel, et al.

demand that will stay for that length. Net: Omitting the cancellations and no-shows from a variable. Net Demand: Demand less cancellations and no-shows. Net Revenue: Total hotel revenue minus overbooking costs. Peak Gap: The number of days between maximum true demand rates among the two rate classes in the simulation. True demand is assumed to be a Poisson process, with time represented by the days that pass until the arrival date is reached. Planning horizon: The 14 nights ahead for which forecasts are made. PSM: Price setting method for tactical revenue management. This approach sets revenue-maximizing prices explicitly for the rate classes. Rate Class: A rate class is a unique combination of room rate, advance purchase restrictions, physical hotel amenities, and other hotel policies, such as senior discounts and kids-stay-free. Rate class 1 pays the highest rate, followed by rate class 2 and so on. Reading Period: An interval of days prior to an arrival date. For instance, reading period 0 is the time from midnight of the first control date for an arrival date to 24 h previous; reading period 1 is 24 to 48 h back; reading period 2 is 48 to 72 h back, …. Revenue Gap: The gap between the average nightly room rates (prices) of the most and least expensive classes. Simulation replication length: The 113 nights in one replication of the simulation for estimating net revenue True Demand: Demand that would have occurred had (1) physical capacity constraints not been present and (2) bid price controls had not been enforced. True demand comes from a Poisson process in the simulation; the algorithm relies on an estimation of this true demand.

Duffy, K. (2015). Personal communication with Marriott’s corporate revenue management group (June 15, Bethesda, MD, USA). Kathleen Duffy is the contact. Elmaghraby, W., & Keskinocak, P. (2003). Dynamic pricing in the presence of inventory considerations: Research overview, current practices, and future directions. Management Science, 49(10), 1287–1309. https://doi.org/10.1287/mnsc.49.10.1287. 17315. Feldman, J. B., & Topaloglu, H. (2017). Revenue management under the markov chain choice model. Operations Research, 65(5), 1322–1342. https://doi.org/10.1287/opre. 2017.1628. Fister, I., Yang, X., Fister, I., & Brest, J. (2012). Memetic firefly algorithm for combinatorial optimization. In B. Filipic & J. Silc (Eds.), Paper presented at the proceedings of 5th international conference on bioinspired optimization methods and their applications (BIOMA 2012), Ljubljama, Slovenia. Gallego, G., & Van Ryzin, G. (1997). A multiproduct dynamic pricing problem and its applications to network yield management. Operations Research, 45(1), 24–41. https://doi.org/10.1287/opre.45.1.24. Garcia-Diaz, A., & Kuyumcu, A. (1997). A cutting-plane procedure for maximizing revenues in yield management. Computers & Industrial Engineering, 33(1–2), 51–54. https://doi.org/10.1016/s0360-8352(97)00039-9. Gönsch, J. (2017). A survey on risk-averse and robust revenue management. European Journal of Operational Research, 263(2), 337–348. https://doi.org/10.1016/j.ejor. 2017.05.033. Gosavi, A., Ozkaya, E., & Kahraman, A. F. (2007). Simulation optimization for revenue management of airlines with cancellations and overbooking. OR Spectrum, 29(1), 21–38. https://doi.org/10.1007/s00291-005-0018-z. Guerriero, F., Miglionico, G., & Olivito, F. (2012). Revenue management policies for the truck rental industry. Transportation Research Part E: Logistics and Transportation Review, 48(1), 202–214. https://doi.org/10.1016/j.tre.2011.07.006. Guo, X., Ling, L., & Gao, Z. (2016). Optimal pricing strategy for hotels when online travel agencies use customer cash backs: A game-theoretic approach. Journal of Revenue and Pricing Management, 15(1), 66–77. https://doi.org/10.1057/rpm.2015.44. Holland, J. (1992). Adaptation in natural and artificial systems: An introductory analysis with applications to biology. Cambridge, MA: Control and Artificial Intelligence, MIT Press. Huang, Y., Ge, Y., Zhang, X., & Xu, Y. (2013). Overbooking for parallel flights with transference. International Journal of Production Economics, 144(2), 582–589. https:// doi.org/10.1016/j.ijpe.2013.04.021. JDA Software. Start your autonomous supply chain journey with real-time visibility. (2018). https://jda.com (accessed 29 June 2018). Ji, L., & Mazzarella, J. (2007). Application of modified nested and dynamic class allocation models for cruise line revenue management. Journal of Revenue and Pricing Management, 6(1), 19–32. https://doi.org/10.1057/palgrave.rpm.5160065. Karaesmen, I., & Van Ryzin, G. (2004). Overbooking with substitutable inventory classes. Operations Research, 52(1), 83–104. https://doi.org/10.1287/opre.1030.0079. Kasilingam, R. G. (1997). An economic model for air cargo overbooking under stochastic capacity. Computers & Industrial Engineering, 32(1), 221–226. https://doi.org/10. 1016/s0360-8352(96)00211-2. Kim, S., & Giachetti, R. E. (2006). A stochastic mathematical appointment overbooking model for healthcare providers to improve profits. IEEE Transactions on Systems, Man, and Cybernetics – Part A: Systems and Humans, 36(6), 1211–1219. https://doi.org/10. 1109/tsmca.2006.878970. Koch, S., Gönsch, J., & Steinhardt, C. (2017). Dynamic programming decomposition for choice-based revenue management with flexible products. Transportation Science, 51(4), 1046–1062. https://doi.org/10.1287/trsc.2017.0743. Koushik, D., Higbie, J. A., & Eister, C. (2012). Retail price optimization at intercontinental hotels group. Interfaces, 42(1), 45–57. https://doi.org/10.1287/inte.1110.0620. Kuyumcu, A., & Garcia-Diaz, A. (2000). A polyhedral graph theory approach to revenue management in the airline industry. Computers & Industrial Engineering, 38(3), 375–395. https://doi.org/10.1016/s0360-8352(00)00051-6. LaGanga, L. R., & Lawrence, S. R. (2007). Clinic overbooking to improve patient access and increase provider productivity. Decision Sciences, 38(2), 251–276. https://doi. org/10.1111/j.1540-5915.2007.00158.x. Li, B. (2014). A cruise line dynamic overbooking model with multiple cabin types from the view of real options. Cornell Hospitality Quarterly, 55(2), 197–209. https://doi. org/10.1177/1938965513507126. Littlewood, K. (1972). Forecasting and control of passenger bookings. AGIFORS Symposium Proceedings, 12, 95–117. McGill, J. I., & Van Ryzin, G. J. (1999). Revenue management: Research overview and prospects. Transportation Science, 33(2), 233–256. https://doi.org/10.1287/trsc.33.2. 233. Metters, R., Queenan, C., Ferguson, M., Harrison, L., Higbie, J., Ward, S., ... Duggasani, A. (2008). The “killer application” of revenue management: Harrah's cherokee casino & hotel. Interfaces, 38(3), 161–175. https://doi.org/10.1287/inte.1080.0367. Park, C., & Seo, J. (2011). Seat inventory control for sequential multiple flights with customer choice behavior. Computers & Industrial Engineering, 61(4), 1189–1199. https://doi.org/10.1016/j.cie.2011.07.008. Pimentel, V., Aizezikali, A., & Baker, T. (2016). Patterns in hotel revenue management forecasting systems: Improved sample sizes, frozen intervals, and accuracy measures, working paper. Pullman, WA: Washington State University. Revenue Analytics. (2018). http://www.revenueanalytics.com (accessed 29 June 2018). Savin, S. V., Cohen, M. A., Gans, N., & Katalan, Z. (2005). Capacity management in rental businesses with two customer bases. Operations Research, 53(4), 617–631. https:// doi.org/10.1287/opre.1040.0193. Schlüter, M., Egea, J. A., & Banga, J. R. (2009). Extended ant colony optimization for nonconvex mixed integer nonlinear programming. Computers & Operations Research, 36(7), 2217–2229. https://doi.org/10.1016/j.cor.2008.08.015. Schlüter, M., & Gerdts, M. (2010). The oracle penalty method. Journal of Global

References Alstrup, J., Andersson, S.-E., Boas, S., Madsen, O. B. G., & Vidal, R. V. V. (1989). Booking control increases profit at scandinavian airlines. Interfaces, 19(4), 10–19. https://doi. org/10.1287/inte.19.4.10. Ankenbrandt, C. (1991). An extension to the theory of convergence and a proof of the time complexity of genetic algorithms. In C. Ankenbrandt (Ed.). Foundations of genetic algorithms (pp. 53–68). Massachusetts, MA: Morgan Kaufman. Baker, T. K., & Collier, D. A. (2003). The benefits of optimizing prices to manage demand in hotel revenue management systems. Production and Operations Management, 12(4), 502–518. https://doi.org/10.1111/j.1937-5956.2003.tb00217.x. Belobaba, P. P. (1987). Air travel demand and airline seat inventory management (Ph.D. thesis)Cambridge, MA: Massachusetts Institute of Technology. Bertsimas, D., & Shioda, R. (2003). Restaurant revenue management. Operations Research, 51(3), 472–486. https://doi.org/10.1287/opre.51.3.472.14956. Bodea, T., Ferguson, M., & Garrow, L. (2009). Data set-choice-based revenue management: Data from a major hotel chain. Manufacturing & Service Operations Management, 11(2), 356–361. https://doi.org/10.1287/msom.1080.0231. Boyd, E. A., & Bilegan, I. C. (2003). Revenue management and E-commerce. Management Science, 49(10), 1363–1386. https://doi.org/10.1287/mnsc.49.10.1363.17316. Brumelle, S. L., & McGill, J. I. (1993). Airline seat allocation with multiple nested fare classes. Operations Research, 41(1), 127–137. https://doi.org/10.1287/opre.41.1. 127. Brumelle, S. L., McGill, J. I., Oum, T. H., Sawaki, K., & Tretheway, M. W. (1990). Allocation of airline seats between stochastically dependent demands. Transportation Science, 24(3), 183–192. https://doi.org/10.1287/trsc.24.3.183. Chatwin, R. E. (1996). Multi-period airline overbooking with multiple fare classes. Naval Research Logistics, 43(5), 603–612. https://doi.org/10.1002/(sici)15206750(199608)43:5<603::aid-nav1>3.0.co;2-9. Chatwin, R. E. (1999). Continuous-time airline overbooking with time-dependent fares and refunds. Transportation Science, 33(2), 182–191. https://doi.org/10.1287/trsc. 33.2.182. Chew, E. P., Lee, C., & Liu, R. (2009). Joint inventory allocation and pricing decisions for perishable products. International Journal of Production Economics, 120(1), 139–150. https://doi.org/10.1016/j.ijpe.2008.07.018. Cleophas, C., Kadatz, D., & Vock, S. (2017). Resilient revenue management: A literature survey of recent theoretical advances. Journal of Revenue and Pricing Management, 16(5), 513–526. https://doi.org/10.1057/s41272-017-0087-z. Curry, R. E. (1990). Optimal airline seat allocation with fare classes nested by origins and destinations. Transportation Science, 24(3), 193–204. https://doi.org/10.1287/trsc. 24.3.193. De Véricourt, F., & Lobo, M. S. (2009). Resource and revenue management in nonprofit operations. Operations Research, 57(5), 1114–1128. https://doi.org/10.1287/opre. 1080.0682. Druckman, A. (2003). Rent check. Journal of Property Management, 68(1), 51–53. Duetto. Revenue made simple, unlocking data to help revenue teams work smarter, not harder. (2018). http://duettocloud.com (accessed 29 June 2018).

13

Computers & Industrial Engineering 137 (2019) 106073

V. Pimentel, et al. Optimization, 47(2), 293–325. https://doi.org/10.1007/s10898-009-9477-0. Sierag, D. (2017). Pricing-based revenue management for flexible products on a network. Journal of Revenue and Pricing Management, 16(3), 325–339. https://doi.org/10. 1057/s41272-016-0061-1. Smith, B. C., Leimkuhler, J. F., & Darrow, R. M. (1992). Yield management at american airlines. Interfaces, 22(1), 8–31. https://doi.org/10.1287/inte.22.1.8. Strauss, A. K., & Talluri, K. (2017). Tractable consideration set structures for assortment optimization and network revenue management. Production and Operations Management, 26(7), 1359–1368. https://doi.org/10.1111/poms.12685. Van Ryzin, G., & Vulcano, G. (2017). Technical note-an expectation-maximization method to estimate a rank-based choice model of demand. Operations Research, 65(2), 396–407. https://doi.org/10.1287/opre.2016.1559. Wang, S. (2001). A hybrid threshold curve model for optimal yield management: Neural networks and dynamic programming. Computers & Industrial Engineering, 40(1–2), 161–173. https://doi.org/10.1016/s0360-8352(01)00015-8. Wannakrairot, A., & Phumchusri, N. (2016). Two-dimensional air cargo overbooking models under stochastic booking request level, show-up rate and booking request

density. Computers & Industrial Engineering, 100, 1–12. https://doi.org/10.1016/j.cie. 2016.08.001. Williamson, E. (1992). Airline network seat inventory control: Methodologies and revenue impacts (Ph.D. thesis)Cambridge, MA: Massachusetts Institute of Technology. Wollmer, R. D. (1992). An airline seat management model for a single leg route when lower fare classes book first. Operations Research, 40(1), 26–37. https://doi.org/10. 1287/opre.40.1.26. Xie, X.-F., Zhang, W.-J., & Yang, Z.-L. (2002, May). Dissipative particle swarm optimization. In Paper presented at the proceedings of the 2002 congress on evolutionary computation CEC'02 (Cat No02TH8600), Hawaii, USA. Zhang, D., & Cooper, W. L. (2005). Revenue management for parallel flights with customer-choice behavior. Operations Research, 53(3), 415–431. https://doi.org/10. 1287/opre.1050.0194. Zhou, J., Li, J., Guo, P., & Lin, X. (2017). The booking problem of a diagnostic resource with multiple patient classes and emergency interruptions. Computers & Industrial Engineering, 105, 277–286. https://doi.org/10.1016/j.cie.2017.01.001.

14