0% found this document useful (0 votes)
139 views15 pages

Restaurant Revenue Management PDF

Uploaded by

Smoke House
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
139 views15 pages

Restaurant Revenue Management PDF

Uploaded by

Smoke House
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

RESTAURANT REVENUE MANAGEMENT

DIMITRIS BERTSIMAS
Sloan School of Management, E53-363, Massachusetts Institute of Technology, Cambridge, Massachusetts 02139, dbertsim@mit.edu

ROMY SHIODA
Operations Research Center, Massachusetts Institute of Technology, Cambridge, Massachusetts 02139, romy@mit.edu

We develop two classes of optimization models to maximize revenue in a restaurant (while controlling average waiting time as well
as perceived fairness) that may violate the first-come-first-serve (FCFS) rule. In the first class of models, we use integer programming,
stochastic programming, and approximate dynamic programming methods to decide dynamically when, if at all, to seat an incoming party
during the day of operation of a restaurant that does not accept reservations. In a computational study with simulated data, we show that
optimization-based methods enhance revenue relative to the industry practice of FCFS by 0.11% to 2.22% for low-load factors, by 0.16%
to 2.96% for medium-load factors, and by 7.65% to 13.13% for high-load factors, without increasing, and occasionally decreasing, waiting
times compared to FCFS. The second class of models addresses reservations. We propose a two-step procedure: Use a stochastic gradient
algorithm to decide a priori how many reservations to accept for a future time and then use approximate dynamic programming methods to
decide dynamically when, if at all, to seat an incoming party during the day of operation. In a computational study involving real data from
an Atlanta restaurant, the reservation model improves revenue relative to FCFS by 3.5% for low-load factors and 7.3% for high-load factors.
Received January 2001; revisions received September 2001, June 2002; accepted June 2002.
Subject classifications: Dynamic programming: revenue management, stochastic optimization. Industries: restaurant.
Area of review: Financial Engineering.

1. INTRODUCTION from the belief that restaurants can increase their revenue
Maximizing efficiency is of utmost importance in order by optimizing their nesting decisions, i.e., when to save
for large and popular restaurants to increase their profits tables in anticipation for larger parties, even when there are
smaller parties currently in queue. We develop two classes
and to remain competitive. This can explain the surge in
of optimization models to maximize revenue in a restaurant,
the usage of point of sales (POS) softwares that track the
while controlling average waiting time as well as perceived
arrival time, size, and order of each customer. Although
fairness, that may violate the FCFS rule. In the first class of
floor managers can utilize these tools as an aid to better
models, we use integer programming, stochastic program-
estimate the remaining service time of the customers and ming, and approximate dynamic programming methods to
to see which tables need to speed up their service, their decide dynamically when, if at all, to seat an incoming
seating policy is mainly based on intuition brought on by party during the day of operation of a restaurant that does
experience. In most cases, they follow a simple first-come- not accept reservations. In the second class of models, we
first-serve (FCFS) policy. use a stochastic gradient algorithm to decide when, if at all,
The challenge of a floor manager is to decide when and to accept a reservation for a future time and also incorpo-
where to seat each arriving customer. If there are only rate reservations in a dynamic model. We illustrate, using
tables of four available and a party of two enters, does he both simulated and real data, that our models lead to sig-
seat the party at the larger table or reserve it for a larger, nificant revenue enhancements relative to FCFS.
more revenue-producing party? In addition, if the restaurant
takes reservations, he needs to further decide how to seat Literature
walk-in customers so that they would not take tables away Revenue management in general is the practice of maxi-
from the reservation customers while considering the pos- mizing a company’s revenue by optimally choosing which
sibility of no-shows. These are important practical issues customers to serve. It has been used extensively in the air-
for restaurant managers, where in some cases a good floor line, hotel, and car rental industries. McGill and van Ryzin
manager can make the difference of couple of hundred (1999) give a comprehensive overview of the history of rev-
dollars per night (Kosugi 1999). Thus, a tool that can help enue management in transportation, where it has had the
floor managers better make these decisions would be of greatest impact.
significant value to a restaurant. In the case of restaurants, restaurant managers want to
With all the data that are collected by the POS software, allocate their tables by seating the largest possible party
a revenue-maximizing seating policy can be utilized. We at each table—assuming the total bill increases with party
believe the key lies in nesting—where parties are seated at size. However, they need to also consider seating small par-
tables that can seat larger parties. The present paper stems ties at large tables when the larger parties are not expected

Operations Research © 2003 INFORMS 0030-364X/03/5103-0472 $05.00


Vol. 51, No. 3, May–June 2003, pp. 472–486 472 1526-5463 electronic ISSN
Bertsimas and Shioda / 473
to arrive in the near future, because they would rather seat fairness issues. We develop integer programming, stochas-
them than have an empty table. Thus, the challenge is to tic programming, and approximate dynamic programming
understand the demand flow throughout the day of each models to provide efficiently implementable policies for
type of customer and optimize the allocation of the tables RRM. These approaches are interesting in their own right
among them. and may find application in revenue management in other
Unlike the widespread application of revenue manage- contexts. A particularly promising method is the approach
ment methods in airlines, hotels, and rental cars, the of approximate dynamic programming based on an integer
number and depth of studies on revenue management in programming model.
restaurants have been comparatively slim. Kimes (1998, (2) We propose a stochastic gradient algorithm moti-
1999) and Kimes et al. (1999) have been among the first vated by the work of Karaesmen and van Ryzin (1998) to
to directly address the issue of restaurant revenue man- address RRM with reservations. We also apply approximate
agement. They built a strategic framework for applying dynamic programming to make optimal seating decisions
revenue management for restaurants to increase demand, for both reservation and walk-in customers online.
and thus revenue, by effective duration management and (3) In computational studies involving both simulated
demand-based pricing. They proposed using the revenue and real data, we show that our models improve revenue,
per available seat hour (RevPASH = revenue accrued in a often substantially, relative to the industry standard of seat-
given time interval divided by the number of seats avail- ing parties in a FCFS manner, without increasing the aver-
able during that time) as the restaurant’s performance met- age waiting time.
ric. This value is calculated for each time period of each
day, to identify times that the RevPASH is low. Simi- Structure
larly, Sill et al. (1999, 2000) propose the use of Capacity-
The structure of this paper is as follows: §2 describes
Management Science (CMS)® as a systematic method of
the structure and components of the basic model. Sec-
assessing the restaurant’s capacity potential and process
tion 2.1 describes the integer programming approach, while
efficiency. CMS® involves monitoring every component of
§2.2 outlines the simulation model. Section 3 elaborates on
the service and production delivery process with quan-
extensions to the basic model. Two variations of the model
tifiable measurements to improve customer satisfaction,
are introduced in this section: §3.1 describes the stochas-
enhance employee work life, and increase profit.
tic programming version of the basic model; §3.2 intro-
Although not specified under the name of revenue man-
duces an approximate dynamic programming approach for
agement, many other approaches have been proposed to
the basic integer programming model; §3.3 describes FCFS
increase the revenue of restaurants. Vakharia et al. (1992) models and the bid-pricing model used as a performance
developed models and heuristics to find the best trade- baseline for the previous models. Section 4 introduces
off between wages and hour preferences to minimize the reservations to our previous models. Section 4.1 describes
cost of employees while maintaining employee satisfaction. the reservation-booking model that determines the opti-
Quain et al. (1998) and Muller (1999) addressed managerial mal booking level using a stochastic gradient algorithm,
factors that may improve the efficiency of restaurants, such while §4.2 describes a modified version of the approximate
as realizing profit centers, dispersing demand, decreasing dynamic programming model introduced earlier. In §§5 and
operating hours, and decreasing service time by making the 6 we report computational results for models without and
restaurant operational procedures as efficient as possible. with reservations, respectively. Section 7 summarizes our
Most of the studies in this area address issues concern- findings and contains some concluding remarks.
ing the overall management of the restaurant. However, to
the best of our knowledge there are no studies on a math-
ematically rigorous dynamic seating model. 2. THE BASIC MODEL
Our objective in the present paper is to develop and test, 2.1. An Integer Programming Approach
using both simulated and real data, several increasingly In this section, we develop an integer programming (IP)
sophisticated optimization-based approaches to restau- model that aims to maximize the expected future revenue,
rant revenue management (RRM) that address trade-offs while controlling for expected waiting time by deciding
between expected revenue, average waiting time, and per- when and where to seat each incoming party. We use a
ceived fairness, that may violate the FCFS rule. discrete time horizon of N equal-length periods so that
the number of decision variables and constraints remain
Contributions tractable. We first introduce the data on which the model
is based.
Our contributions are:
(1) Because an exact dynamic programming approach Data. We consider a restaurant that can seat parties of
to RRM is infeasible due to “the curse of dimensionality,” size k = 2 4     K, with K even. For simplicity, parties
we develop mathematical-programming-based approaches of sizes 1 3     K − 1 can be considered to be one per-
of increasing sophistication to maximize expected revenue, son larger. There are k = 2 4     K different table sizes
taking into account expected waiting time and associated such that a party of size k can sit at a table of size k ,
474 / Bertsimas and Shioda
for k  k. We assume that the total revenue generated by  = a user-defined parameter that controls the trade-
a party increases with the party size. Note that we do not off between revenue and allowing flexibility in allocating a
necessarily assume that the revenue per person is affected size k party to a table of size k  k; see Equation (1).
by party size. We model the service time as a collection of In practice, the waiting time behavior of customers is
SP service phases (for example: first course, second course, complex. The amount of time a party may wait in queue
dessert). By breaking up the service time and keeping track may follow a probabilistic distribution and may be depen-
of how many parties are in each phase, we can make a bet- dent on the size of the party and time of arrival. However,
ter estimate of the remaining service time. Our model only to simplify the model, we assume that every party is will-
uses information about expected values. In this respect, our ing to wait up to Max periods. If they are not seated within
model is similar to network airline revenue management Max periods, the model assumes that they automatically
systems that use a linear programming model (for example, renege from the queue.1 It further assumes that parties can-
the widely used bid-price control approach) to decide seat not renege earlier or later than Max periods. Appropriate
allocation. We assume the following information is known: values for Max, M, and  are discussed in §§5 and 6.
ck = the number of tables of size k available, State. The state of the system is described as follows.
Dt k = the expected number of size k parties arriving now = the current time (in periods),
at time, t, Qt k = the number of size k parties that arrived at time
Sk s = the expected duration of phase s for a size k t currently waiting in queue, and
party,  Nks k = the number of size k parties in service phase s
Sk = SP s=1 Sk s , the expected total service duration of seated at a size k table.
a size k party,
SP To better utilize capacity, the IP model allows parties of

Sk s = n=s Sk n , the expected remaining service dura- size k to be seated at a table of size k  k. The service
tion for a size k party entering phase s, state parameters Nks k keep track of these parties.
Rk = the revenue expected from a party of size k,
Decision Variables. We introduce the following deci-
CostQt k = the cost of postponing service to a party of
sion variables:
size k that arrived at time t and is currently in queue, and
qt t  k k = the number of parties of size k, who arrived
CostX t k = the cost of postponing service to a party of
at time t and are currently in the queue, that should be
size k that is expected to arrive at time t.
seated at a size k table at time t  ,
The above data can be collected by many POS softwares.
qdenyt k = the number of parties of size k, who arrived
For example, Dt k and Rk can be estimated using histori- at time t and are currently in the queue, that are not cur-
cal data on customer arrivals and bills, which is often kept rently allocated a seat (i.e., not seated within Max periods),
track of by POS softwares. We have found there are sev- xt t  k k = the number of parties of size k, out of Dt k ,
eral POS products that have the ability to track service that should be seated at a size k table at time t  ,
phases of customers with an electronic ordering pad used xdenyt k = the number of parties of size k, out of Dt k ,
by waiters when taking orders. Currently, these pads are that are not currently allocated a seat (i.e., not seated within
used to send orders to the kitchen, but we believe they can Max periods),
also be used to notify the floor manager of the progress zqt k = the auxiliary variables that allow us to model
of the customers in their meals. With this added feature, fairness in the seating decisions, captured in Equations (5)
it would be easy for the POS software to estimate aver- and (6) below, and
age service-phase durations. Floor managers would need to zxk = the auxiliary variables that allow fairness in the
record arrival and departure times of parties, but that can seating decisions, captured in Equations (7) and (8) below.
be readily linked to seating the parties and processing their Each time the IP model is formulated, there are two dis-
bills, respectively. Finally, we set the values for CostQt k joint sets of customers that it must consider, those that
and CostXt k in our computational experiments (see §5) to have already arrived and those that are expected to arrive.
capture the trade-off between quality of service (excessive qt t  k k and qdenyt k are seating-decision variables corre-
waiting times and denied service) and revenue. sponding to the former type of customers, and xt t  k k and
In addition to revenue, important considerations in man- xdenyt k are the seating-decision variables for the latter
aging restaurants are the control of waiting time and asso- type. The parties represented by the qt t  k k s and qdenyt k s
ciated fairness issues. Thus, in the IP model we explicitly are parties that have already arrived and are thus known.
address these issues. For this purpose, we introduce the However, the parties represented by xt t  k k s and xdenyt k s
following parameters that we adjust to achieve the “right” have not yet arrived and are thus uncertain. Partitioning the
trade-off between revenue, waiting time, and fairness. decision variables in such a way allows for more dynamic
Max = the maximum number of periods that a party and flexible modeling.
will wait, The model does not explicitly deny service to the cus-
M = a user-defined parameter that controls the trade- tomers, but it may not be able to seat some parties within
off between revenue and waiting time (the higher M, Max periods—the maximum number of periods that a party
the higher the importance of the waiting time; see Equa- would be willing to wait in queue. These parties that are
tion (1)), and not currently allocated a table are captured by the decision
Bertsimas and Shioda / 475
variables qdenyt k and xdenyt k . The use of the auxiliary arrive in the future. Also, CostXt k for t = now is higher
variables zqt k and zxk will be described in more detail in the than that for t > now. If it were the same, the model
IP formulation. would consider postponing service to a party that arrives
The Integer Program Formulation. We formulate in the current period versus seating that party and postpon-
and solve an integer program at each customer arrival and ing service to an equal-sized future party as the same. We
departure, and determine from the optimal solution whether prefer the former solution, since there is a possibility that
a party should be seated. Our objective is to maximize a party will arrive in the current period, and thus we want
expected revenue, while maintaining reasonable waiting the model to give us the ability to seat them. The exact
times and fairness in our seating decisions, by considering numerical value of these weights are determined by com-
the state of the restaurant. We can also maximize occu- putational experimentation.
pancy by assuming that the revenue per person is inde- Constraints.
pendent of the number in the party. Although we solve (1) Demand Constraints.
the IP to optimality, the data we use, such as expected 
demand, expected service time, and the simplified waiting- qtt kk +qdenytk = Qtk
t  =nowminN t+Max−1
time behavior, are only estimations. Thus, the expected k =kK

future state of the restaurant modeled by the IP are also ∀ t = 1 now k = 2 K (2)
estimations. However, capturing the states of the system 
xtt kk +xdenytk = Dtk
exactly in a stochastic dynamic programming sense would t  =tminN t+Max−1
be computationally intractable, thus making our IP model k =kK

a viable heuristic. The proposed model is as follows. ∀ t = now N  k = 2 K (3)

Objective Function. The objective is the maximization Constraints (2) insure that the model does not seat more
of expected future revenue while controlling waiting time: parties than those currently in the queue. Constraints (3)
  insure that the model does not seat more parties than cur-
max Rk −Mt  −t−k −kqtt kk rently expected.
t=1now k =kK
k=2K t  =nowminN t+Max−1 (2) Seating-Capacity Constraints. This constraint char-
 acterizes the capacity constraint at each time  for each
− CostQtk qdenytk 
t=1now
table size k . It also incorporates a nesting concept that

k=2K
 allows parties of size k to sit at a size k table, where k  k :
Rk −Mt  −t−k −kxtt kk 
 
t=nowN k =kK
k=2K t  =tminN t+Max−1
qt t  k k
k=2 k t=max1 t  −Max +1 now

− CostXtk xdenytk  (1)
t  ∈T t k


t=nowN
k=2K
+ xt t  k k
t = maxnow t  −Max +1 t 

The first set of summations corresponds to the expected + IN   ck
revenue that can be attained from parties currently in the k = 2 k
s = 1 SP
queue. The second set corresponds to the cost of not allo-
cating a table to parties currently in the queue. The third set ∀  = now     N  k = 2     K (4)
corresponds to the revenue from parties expected to arrive
where
in the future, and the last is the cost of not allocating a
table to those customers. T t k = t   t  t     t  + Sk  t  ∈ 
The term −Mt  − t in the first and third coefficients is  s 
Nk k  if   now + Sk s,
a cost against excessive waiting time. The cost −k − k IN  =
0 otherwise.
encourages seating from the smallest available table first.
Without this term, the model may, for example, seat a party Note that the parameters Nks k allow for a more accu-
of size two at a table of size eight if it does not expect rate estimation of the remaining service time of the parties
larger-sized parties in the near future. However, because our currently being served. The last summation term in Equa-
expected demand data are only estimations and the actual tion (4) corresponds to the expected number of parties cur-
demand is uncertain, we want to be on the safe side and rently seated at table k who are still being served at time .
seat from the smallest available table first. (3) Fairness Constraints. The model uses parameter M
The costs CostQt k and CostXt k are necessary for the to control waiting time in the objective function. However,
model to give preference to customers in the queue, as well when this cost is added, the model would rather seat last-
as those expected to arrive in the current period, over those come-first-serve within the same party size because the last
expected to arrive in the future. Thus, the value of CostQt k customer to arrive would have less waiting time, and thus a
is higher than CostXt k for all t for each k, because post- higher objective value. To avoid this problem, we add con-
poning service to a customer already in queue should be straints in the model that would seat the customers within
higher than postponing service to a customer expected to the same party size in the order that they arrived. By seat-
476 / Bertsimas and Shioda
ing parties in queue by FCFS within the same party size, moment, the result is conveyed to the floor manager, who
the waiting time of the parties decreases and fewer parties can act accordingly.
will leave from the queue. In particular, because of per- The implementation of the model is simple. There is little
ceived unfairness, customers in a restaurant would strongly or no added work for the floor manager who uses most
complain if a same-sized party that arrived after them were POS products. He or she needs only to input the size of a
seated before them. newly arrived party and take note when a party exits. All
The following constraint insures a FCFS seating policy the information needed to run the model is already being
within the same party size for those in the queue that are collected in many large restaurants.
able to be seated at the current time. It is not extended to To summarize, there are three events that drive the
future periods due to the uncertainty of the future state of model: (1) customer arrivals, (2) service completion, and
the queue. (3) customer attrition from the queue. The model works in
   the following way after each of these events:
Qt̃k −qt̃nowk k̃
t̃=max1now−Max+1t−1 (1) Customer Arrives:
k̃=kK
 • Input the party size and time of arrival.
 • Update appropriate Dt k .
 Qt̃k zqtk  (5) • Formulate and solve the IP model using current
t̃=max1now−Max+1t−1
 system data.
qtnowk k̃  L1−zqtk  • Act according to the IP solution and update system
k̃=kK data, i.e.,
for t = max2now−Max+2 now — If the party is to be seated, seat them at the
specified table. Update Nks k accordingly.
k = 2 K (6) — If the party is not to be seated, put them at the
  
Qt̃k −qt̃nowk k̃ end of the line. Update Qt k accordingly.
t̃=max1now−Max+1now (2) Customer Exits After Service Completion:
k̃=kK
 • Exit the party from the table.
 • Update appropriate Nks k .
 Qt̃k zxk  (7) • Formulate and solve the IP model using current
t̃=max1now−Max+1t−1
 system data.
xnownowkk̃  L1−zxk  for k = 2 K. (8) • Act according to the IP output and update system
k̃=kK data, i.e.,
— If a party currently in the queue is to be seated,
Here zqt k , zxk are auxiliary binary decision variables asso-
take them off the queue and seat them at the
ciated with each set of constraints. L is some large posi-
specified table. Update Nks k and Qt k accord-
tive constant. Equations (5) and (6) state that if there are
ingly.
parties of size k that arrived before time t still in queue
(3) Customer Attrition from the Queue
(i.e., the LHS of (5) is positive), then zqt k has to be equal
• Update appropriate Qt k .
to 1. This implies that the LHS of (6) must be zero. In
other words, Equations (5) and (6) insure that a party of We update Nks k and Qt k by incrementing or decrement-
size k that arrived at time t can be seated only when there ing the appropriate term. We do the same for Dt k , the
are no parties of k that arrived before them still in queue. expected future demand, instead of using any probabilistic
Constraints (7) and (8) are analogous to parties of size k approach to forecasting demand. The initial value of Dt k
expected to arrive at the current period. is set to the expected demand for each time period t and
(4) Integrality Constraints. For t = 1     N  t  = t party size k calculated by a simple average of the histor-
    N  k = 2     K k = k     K; ical data. As arrivals are seen for a given t and k, Dt k
is decremented. If Dt k is 0 when an unexpected customer
qt t  k k ∈ +  xt t  k k ∈ +  arrives, the simulation model automatically puts them in the
zqt k ∈ 0 1 zxk ∈ 0 1 (9) queue, the queue state is updated, and the IP is optimized.
Although the party is theoretically put in the queue from
2.2. The Simulation the model’s perspective, they often do not have to wait to
be seated. Though this is a simplified estimate of future
The IP described in Equations (1)–(9) will be formulated demand levels, it seems sufficient from our computational
and solved whenever the floor manager needs to make a experimentations.
seating decision. When incorporated into a POS product,
the system would optimize the IP model with the current
system data each time a new customer arrives or when a 3. EXTENSIONS OF THE BASIC MODEL
customer exits. If the optimal solution of the model indi- In this section, we present several increasingly more sophis-
cates that a party should be seated or not seated at that ticated extensions of the basic model.
Bertsimas and Shioda / 477

3.1. A Stochastic Integer Programming Model xt t  k k  " + xdenyt k " = Dt" k
t  =t minN  t+Max −1
One of the shortcomings of the basic model is its sole k =k K

use of the expected demand values as an indication of ∀ t = now     N  k = 2     K " = 1      (12)


future customer arrivals. The stochastic version of the IP
introduces various demand scenarios that the IP model can (2) Seating-Capacity Constraint.
work with. Several demand scenarios are generated simi- 
larly to the process of generating arrivals in simulations.  
qt t  k k
By using the generated scenarios with the expected demand k=2 k t=max1 t  −Max +1 now
values, the IP attempts to more accurately capture the future t  ∈T t k


demand characteristics. + xt t  k k  "
The stochastic IP model works with demand scenarios t=maxnow t  −Max +1 t 
(one of them being the expected case), each with probabil- 
+ IN   ck ∀  = now     N 
ity !" , where " = 1 2     . The objective function is
k=2 k
modified to maximize the expected revenue over the possi- s=1 SP

ble scenarios. k = 2     K " = 1      (13)

Additional and Modified Data and Parameters. To where T t k  and IN  are as in (4).
summarize the new parameters and data required: (3) Fairness Constraint. Same as (5) and (6). In addi-
= the total number of scenarios, tion,
!" = the probability of scenario ", and   
Dt" k = the number of currently expected size k parties Qt̃ k − qt̃ now k k̃
arriving at time t in scenario ". t̃=max1 now−Max +1 now
k̃=l K

Modified Decision Variables. To summarize the mod- 
ified decision variables:  Qt̃ k zxk "  (14)
xt t  k k  " = the number of size k parties, out of Dt" k , t̃=max1 now−Max +1 t−1

that should be seated at a table of size k at time t  in xnow now k k̃  L1 − zxk " 
scenario ", k̃=k K
xdenyt k " = the number of size k parties, out of Dt" k ,
for k = 2     K, " = 1     . (15)
that are not allocated a table in scenario ", and
zxk " = the auxiliary variables that allow fairness in the (4) Integrality Constraints. For t = 1     N  t  = t
seating decision, captured in Equations (14) and (15).     N  k = 2     K k = k     K " = 1    
Stochastic Integer Programming Formulation.
qt t  k k ∈ +  xt t  k k  " ∈ + 
Objective Function.
  zqt k ∈ 0 1 zxk " ∈ 0 1 (16)
 
max Rk −Mt −t−k −kqtt kk
t=1now k =kK
k=2K t  =nowminN t+Max−1
The Simulation for the Stochastic Model. The simu-
 lation using the stochastic IP model is similar to that of the
− CostQtk qdenytk  basic model. The model follows the procedure described
t=1now
k=2K in §2.2 using the stochastic programming model instead of
  the deterministic IP model.
!" Rk −Mt  −t−k −kxtt kk "
t=nowN k =kK
k=2K t  =tminN t+Max−1
"=1 3.2. An Approximate Dynamic
 Programming Model
− !" CostXtk xdenytk"  (10)
t=nowN The approximate dynamic programming model solves for
k=2K
"=1 the maximum revenue-producing seating policy for each
customer. We formulate and solve the IP under each pos-
Constraints.
(1) Demand Constraints. The first set of constraints sible seating decision for a particular customer, and the
insures that the IP model does not seat more customers decision that results in the maximum revenue value is
than those in the queue. The second set insures that the IP chosen.
model does not seat more parties than the demand for each Let S be a vector describing the current states of the sys-
scenario: tem that can be affected by a seating decision. In particular,
 S = Qt k  Nks k  for
qt t  k k + qdenyt k = Qt k
t  =now minN  t+Max −1
k =k K
t = max1 now − Max +1     now
∀ t = 1     now k = 2     K (11) k = 2     K k = k     K s = 1     SP  (17)
478 / Bertsimas and Shioda
A decision time is when a party arrives or a party exits smaller customers that arrived after them, the model will
after service completion. If an arrival of size k occurs, the seat those customers in order of arrival. Customers who
following decisions are available: have waited longer than Max will automatically leave the
(1) Do not seat the incoming party. The new state is queue. The average of the simulated revenues over several
such that: Qt k ← Qt k + 1. iterations are compared to the revenue of the IPs.
(2) For k = k     K, seat the incoming party at a table
Bid-Pricing Model. The bid-pricing heuristic com-
of size k . The new state is such that: Nk1 k ← Nk1 k + 1.
monly applied in airline revenue management is run as
If a party of size k occupying a table of size k exits
a performance benchmark. The linear programming relax-
from the restaurant, the following decisions are available:
ation of the basic IP model is solved and the seating deci-
(1) Do not assign the table to a party from the queue.
sions are made based on the difference between the imme-
The new state is such that: NkSPk ← NkSPk − 1.
diate revenue and the sum of the dual prices corresponding
(2) Assign the table to a party of size k  k , who has
to the utilized capacity corresponding to the party’s stay.
been in the queue since time t  . The new state is such that:
Suppose pt k is the dual value of the seating-capacity con-
Qt  k ← Qt  k − 1, Nk1  k ← Nk1  k + 1, NkSPk ← NkSPk − 1.
straint corresponding to a table of size k at time t. The bid
Let u be the decision taken, so that
 price for seating a party of size k to a table of size k  k
0 don’t seat now, is as follows:
u= (18)
k  seat at a table of size k , exit−1

for each of the events. Let Su be the updated state after Rk − pt k −  now − nowpnow k
t= now
a decision u is taken. Let IP S be the expected future
revenue resulting from the IP model (Equations (1)–(9)) as − exit − exitpexit k  (20)
a function of the state S.
Under an approximate dynamic programming (ADP) where exit = now + Sk . The term  now − nowpnow k
framework, we choose the decision u, corresponding to and exit − exitpexit k are to prevent overestimation of
seating a size k party that arrived at time t, by solving the expected stay of the customer due to the discreteness

of time.  now − now is the fraction of period now
andexit − exit is the fraction of period exit that the
max max %Rk − u − k + IP Su & IP S0   party is expected to be in service. If there are positive bid
u=k K
table of size u available
prices, the party is seated at the table corresponding to the
(19) maximum price. Otherwise, the party is not seated.

The first term in the maximization corresponds to the


4. MODELS WITH RESERVATIONS
expected revenue of seating the party minus a nesting cost,
and the second term corresponds to the expected revenue of The models in the previous two sections assume that the
not seating the party. This method uses the ADP methodol- restaurant does not accept any reservations. Many high-
ogy by approximating the true value function (in a dynamic end restaurants, however, do indeed accept reservations
programming sense) by the value of the IP model. for their customers’ convenience. Such a policy introduces
We note that the IP in (19) need not include the fairness several decisions which need to be addressed. For exam-
constraints (5)–(8) required in the previous models because ple, how much should they overbook and how should they
ADP evaluates the value function of each party in the order service walk-in customers? We will incorporate reserva-
of their arrival and thus ensures FCFS seating within the tions into our previous models by using two models: (1) a
same party size. static reservation-booking (RB) model, and (2) a dynamic
seat allocation model with reservations (DSAR). The static
3.3. Comparison Models reservation-booking model is an offline model that is opti-
mized using a stochastic gradient approach as in Karaes-
First-Come-First-Serve. We develop three FCFS men and van Ryzin (1998). The dynamic seat allocation
models to compare their revenue with the revenue gener- with the reservation model is an online model solved using
ated by using the above models. The FCFS model seats the an ADP approach as in §3.2.
customers in the order of arrival if there are tables available
for them. The “Full Nesting” FCFS model incorporates full
nesting of capacity, where a party of size k is allowed to 4.1. A Reservation-Booking Model
sit at a size k table for k  k. If there are several possi- In this section, we develop a model that determines how
ble table sizes, the model would seat them at the smallest many reservations to accept in prior days for a particular
of those tables. The “1 Up Nesting” FCFS model allows a day in the future, given data regarding the expected number
party of size k to sit at either a table of size k or at the next of reservation requests, the expected number of walk-ins,
largest table if size k tables are saturated. The “No Nest- and the rates for no-shows.
ing” FCFS model allows no nesting. If there are no tables As before, we assume that there are N time periods in
for a particular customer of size k, but there are tables for which reservations can be accepted. We do not, however,
Bertsimas and Shioda / 479
consider nesting of table sizes; i.e., a party of size k can the expected reservation requests. Without this term, the
only be assigned to a table of size k. Thus, the seating model may allocate no seats for the 6 o’clock time period
decisions are independent across the party sizes so that the and many for the 10 o’clock period, though the expected
problem can be broken down into smaller subproblems for requests are mostly for 6 o’clock and hardly any are for
each party size. Because we are building a planning, as 10 o’clock. Thus, a policy that allocates significantly more
opposed to operational, model in this section, we feel that (less) seats for a particular period with few (many) reser-
this is justified. Methodologically, motivated by the work of vation requests overestimates (underestimates) the possible
Karaesmen and van Ryzin (1998) in a very different con- expected revenue. The parameter - > 0 represents the trade-
text, we solve the optimization problem using a steepest- off between the two terms.
descent algorithm with stochastic gradient estimation. Static On-the-Day Model. We calculate the value of
Data. The following are the data that we expect the V z w for a given vector z and w by solving an integer
restaurant to have for each party size, program that optimally allocates the tables to reservation
R = the expected revenue of the given party size, and walk-in customers. The OTD model is similar to the
p = the probability that a reservation party will show previous models with an additional class of reservation par-
up, ties. However, it does not consider nesting of party sizes
ERt = the expected number of reservation requests for and assumes that there are no queues. By making each
time t, and period large enough (e.g., half an hour), it is reasonable to
EWt = the expected number of walk-in parties that assume that after one period, both walk-in and reservation
arrive at time t. parties will renege. Also, most reservation requests are on
the half-hour. Thus, this simplification will not significantly
Decision Variables. The key decision is the number of jeopardize the accuracy of the model. We will see that these
reservations ut to accept for time period t; t = 1     N . assumptions make the problem a single-commodity maxi-
Random Variables. We define mum flow problem which aids us in the convergence anal-
zt = the number of reservation parties booked for time ysis of the stochastic gradient algorithm.
t that show up, and The OTD model is also a static model that is not updated
wt = the number of walk-ins that show up at time t. dynamically because it is solved before the day in question.
We assume that the probability of no-shows is inde- It decides offline how many of the reservation and walk-in
pendent and identically distributed across parties of the parties to seat and how many to deny service for each time
same size, as shown empirically by Martinez and Sanchez period, t = 1     N . We need to introduce some additional
(1970). We further assume that zt obeys a binomial dis- and modified notation.
tribution with parameters (ut , p). We approximate this Data.
distribution for time t as a nonhomogeneous Poisson S = the expected service time for the given party size,
distribution of rate put for ease in numerical computation. CostW = the cost of denying service to a walk-in party,
We also model wt as a nonhomogeneous Poisson with rate CostR = the cost of denying service to a party with a
EWt for time t. reservation, and
Objective Function. We maximize the following C = the total capacity (number of tables) for the given
objective function RBu, where u, ER, z, and w are N - party size.
dimensional vectors of elements ut , ERt , zt , and wt , respec- We assume that the expected revenue and service-time
tively, t = 1     N : distributions are the same for walk-in and reservation
customers of the same party size. CostW and CostR are
max RBu (21) qualitative values of the loss of goodwill and customer dis-
u0 satisfaction. CostR should be large relative to R, because
such that not being able to serve a customer with a reservation
would most likely entail losing that customer and garnering
1 a negative reputation. However, CostW can be negligible
RBu = E %V z w& − - E u − ER2  (22)
2 because walk-in customers’ expectation of being served is
The first term in Equation (22) corresponds to the expected significantly less.
maximum revenue resulting from having z reservation cus- Decision Variables.
tomers and w walk-in customers arrive on the requested xwt = the number of walk-in parties that are seated at
date. We will refer to the term V z w as the the optimal time t,
OTD (on-the-day) revenue. This value is calculated by solv- xrt = the number of reservation parties booked for time
ing a simplified version of the previously discussed seat- t that are seated,
ing models of §§2.1–3.2 generalized for reservations. We xwdenyt = the number of walk-in parties that arrive at
describe this term in further detail in the following section. time t that are denied service, and
The second term is a regularizing term that discour- xrdenyt = the number of reservation parties booked for
ages the decision variables from straying too far from time t that are denied service.
480 / Bertsimas and Shioda
Problem Formulation. Given a particular vector z and The step sizes bk  satisfy
w, the OTD problem is as follows:

 


(OTD) bk = + bk2 <  (31)


k=1 k=1

V z w = max R · xwt + xrt  − CostW  · xwdenyt
t=1 N
Let MaxIt be the maximum number of iterations we allow.
The following is the stochastic gradient algorithm.
− CostR · xrdenyt (23)
Step 0. Initialization. k = 1, ukt = ERt for t = 1     N .
subject to Step 1. Generate 4RBuk :
• Generate new vectors zkt ∼ Poissonpukt  and
xwt + xwdenyt = wt  t = 1     N  (24)
wt ∼ PoissonEWt  for t = 1     N .
xrt + xrdenyt = zt  t = 1     N  (25) • Evaluate V zk  w using a network flow al-
 gorithm (for example, the network simplex
xw + xr   C t = 1     N  (26)
=max1t−S+1 t algorithm).
• Evaluate V zk + et  w for t = 1     N .
xwt  0 t = 1     N  (27)
• Derive 4RBuk  such that, for t = 1     N :
xrt  0 t = 1     N  (28)
0
RBuk 
The objective value is the net revenue of seating xwt 0ut
walk-ins and xrt reservation parties and denying service = pV z + et  w−V z w−-ut − ERt 
to xwdenyt walk-ins, and xrdenyt reservation parties for
t = 1     N . Equations (24) and (25) are the demand Step 2. Compute
constraints for walk-ins and reservations, respectively, for
the particular realizations of demand zt and wt for t = uk+1 = Projectuk + bk 4RBuk 
1     N . Equation (26) represents the capacity constraint
for each time period, t = 1     N . where Project· is the projection function to the
Equations (23)–(28) can be characterized as a single- feasible space uk  0.
commodity minimum cost flow problem; thus, the value of Step 3. If k > MaxIt, Exit. Else, set k = k + 1 and return
V z w can be calculated by solving the OTD problem as a to Step 1.
linear program. It follows by the network structure of OTD
and Karaesmen and van Ryzin (1998) that the function Theorem 1 (Kushner, Clark, Karaesmen, and van
V z w is submodular and jointly concave with respect Ryzin). Let KT be the set of Kuhn-Tucker points of (21).
to zt and wt , t = 1     N , and RBu is component- If KT is a connected set and uk  is the sequence deter-
wise concave, continuous, and differentiable with respect mined by the previous algorithm with step sizes satisfying
to ut , t = 1     N . As shown in Karaesmen and van Ryzin (31), then uk  → KT in probability as k → .
(1998), these properties allow convergence of the stochas-
tic gradient algorithm described in the next section. The proof is given in Kushner and Clark (1978) and
Karaesmen and van Ryzin (1998), Theorem 3 and Theo-
Stochastic Gradient Algorithm. We solve the sto- rem 6.3.1, respectively. Kusher and Clark also show that a
chastic optimization problem (21) by estimating the
weaker convergence follows when KT is not a connected
stochastic gradient of RBu as done in Karaesmen and van
set.
Ryzin (1998). We apply this gradient to maximize RBu
using a method similar to the steepest descent algorithm.
We first calculate 4.2. Dynamic Seat Allocation with Reservations
0 The DSAR model is the same as the previous dynamic seat-
RBu
0ut ing models of §§2.1–3.2, but with reservation customers
0 taken into account. It takes the reservations accepted as
= E%V z w& − -ut − ERt  t = 1     N  (29) input and determines the optimal seating policy for each
0ut
arriving party given the current state of service and queue.
When zt ∼ Poissonput  and wt ∼ PoissonEWt , t = It does not, however, update the maximum reservation-
1     N , Karaesmen and van Ryzin (1998) show that an booking number produced by the RB model. As before,
unbiased estimate of 0/0ut E%V z w& is given by each time the state changes (i.e., due to a customer arrival
or customer exit), the state parameters are updated and the
0
E%V z w& model is continually reoptimized online. We apply the the
0ut ADP approach as in §3.2, with a slight modification in the
= pV z + et  w − V z w t = 1     N  (30) IP formulation.
Bertsimas and Shioda / 481
The following are additional and modified notations for qrt t  k k = the number of reservation parties of size k
the DSAR model: that arrived at time t and are currently in queue, that should
be seated at a size k table at time t,
Input. qwdenyt k = the number of walk-in parties of size k
vt k = the number of reservations booked of size k for that arrived at time t and are currently in queue, that are not
time t. vt k is such that vt k  u∗t k , where u∗t k is the optimal allocated a table (i.e., are not seated within MaxW periods),
reservation booking value outputted from the RB model. qrdenyt k = the number of reservation parties of size k
that arrived at time t and are currently in queue, that are not
Data.
allocated a table (i.e., are not seated within MaxR periods),
CostQWt k = the cost of postponing service to a walk-
xwt t  k k = the number of walk-in parties of size k out
in party of size k that arrived at time t and currently waiting
of Dwt k , that should be seated at a size k table at time t  ,
in queue,
xrt t  k k = the number of reservation parties of size
CostQRt k = the cost of postponing service to a party k out of Drt k , that should be seated at a size k table at
of size k with reservations that arrived at time t and is time t  ,
currently waiting in queue, xwdenyt k = the number of walk-in parties of size k
CostXWt k = the cost of postponing service to a walk- out of Dwt k , that are not allocated a table (i.e., are not
in party of size k that is expected to arrive at time t, seated within MaxW periods), and
CostXRt k = the cost of postponing service to a party xrdenyt k = the number of reservation parties of size
of size k with reservations that is booked for time t, k out of Drt k , that are not allocated a table (i.e., are not
pk = the probability that a party of size k with reser- seated within MaxR periods).
vations will show up,
IP Formulation. The DSAR uses a slightly modified
MaxW = the maximum number of periods that a walk-
version of the ADP model described in §3.2 due to its
in party will wait,
superior performance compared to the other models. The
MaxR = the maximum number of periods that a reser- following describes these modifications:
vation party will wait,
Mw = a user-defined parameter that controls the Objective.

trade-off between revenue and waiting time for walk-in max Rk −Mw t  −t−k −kqwtt kk
customers, and t=1now
k=2K
Mr = a user-defined parameter that controls the trade- t  =nowminN t+MaxW −1
k =kK
off between revenue and waiting time for reservation 
customers. + Rk −Mr t  −t−k −kqrtt kk
The quantities CostQWt k , CostQRt k , CostXWt k , and t=1now
k=2K
t  =nowminN t+MaxR−1
CostXRt k are analogous to CostQt k and CostXt k in §2.1 k =kK

which are split into walk-ins and reservation customers 


+ Rk −Mw t  −t−k −kxwtt kk
(denoted by W and R, respectively). Similarly, MaxW and t=nowN
MaxR are analogous to Max, and Mw and Mr are analogous k=2K
t  =tminN t+MaxW −1
to M in §2.1. k =kK

+ Rk −Mr t  −t−k −kxrtt kk
State. The following are modified state parameters in t=nowN
addition to those described in §2.1. k=2K
t  =tminN t+MaxR−1
Qwt k = the number of size k walk-in parties currently k =kK
  
in queue that arrived at time t, − CostQWtk qwdenytk +CostQRtk qrdenytk
Qrt k = the number of size k reservation parties cur- t=1now
k=2K
rently in queue that arrived at time t,   
Dwt k = the expected number of walk-in parties of size − CostXWtk xwdenytk +CostXRtk xrdenytk 
k that are going to arrive in time t who have not already t=nowN
k=2K
arrived, and
(32)
Drt k = the expected number of reservation parties of
size k that are going to arrive in time t who have not The first four sets of summations correspond to the
already arrived. expected revenue, waiting-time cost, and nesting costs of
When now < t, Dwt k = EWt k and Drt k = pk vt k . Each seating (1) the walk-in parties currently in queue, (2) the
time a walk-in or reservation party of size k arrives at reservation parties currently in queue, (3) the walk-in par-
time t, Dwt k or Drt k is decremented, respectively. ties expected to arrive in the future, and (4) the reservation
parties expected to arrive in the future, respectively. The
Decision Variables. last two sets of summations correspond to the cost of post-
qwt t  k k = the number of walk-in parties of size k that poning service to (1) walk-in parties and reservation parties
arrived at time t and are currently in queue, that should be currently in queue, and (2) walk-in parties and reservation
seated at a size k table at time t, parties expected to arrive in the future, respectively.
482 / Bertsimas and Shioda
Constraints. (1) Demand Constraints. The following Thus, the decision times are when there is a reservation
constraints are analogous to Constraints (2) and (3) in §2.1: party arrival, walk-in arrival, and a customer service com-
 pletion. The decisions available at each event are illustrated
qwt t  k k + qwdenyt k = Qwt k below:
t  =t   minN  t+MaxW −1
k =k K
∀ t = 1     now k = 2     K (33) • Reservation arrival at time t of size k:
 (1) Do not seat the incoming reservation party. The
qrt t  k k + qrdenyt k = Qrt k new state is such that: Qrt k ← Qrt k + 1.
t  =t minN  t+MaxR −1
k =k K (2) For k = k     K, seat the incoming party at a
∀ t = 1     now k = 2     K (34) table of size k . The new state is such that: Nk1 k ←
 Nk1 k + 1.
xwt t  k k + xwdenyt k = Dwt k
t  =t minN  t+MaxW −1
• Walk-in arrival at time t of size k:
k =k K
(1) Do not seat the incoming walk-in party. The new
∀ t = now     N  k = 2     K (35)
 state is such that: Qwt k ← Qwt k + 1.
xrt t  k k + xrdenyt k = Drt k (2) For k = k     K, seat the incoming party at a
t  =t minN  t+MaxR −1
k =k K
table of size k . The new state is such that: Nk1 k ←
∀ t = now     N  k = 2     K (36) Nk1 k + 1.
• Party of size k exits table for k at time t:
(2) Seating-Capacity Constraints. The following con- (1) Do not assign the table to a party from the queue.
straint is analogous to the (4) in §2.1 with reservation The new state is such that: NkSPk ← NkSPk − 1.
parties: (2) Assign the table to a reservation party of size
 k  k , who has been in the queue since time t  .
 
qwtt kk The new state is such that: Qrt  k ← Qrt  k − 1,
k=2k
t  ∈T tk
t=max1t  −MaxW +1now Nk1  k ← Nk1  k + 1, NkSPk ← NkSPk − 1.
 (3) Assign the table to a walk-in party of size k  k ,
+ qrtt kk who has been in the queue since time t  . The new
t=max1t  −MaxR+1now
 state is such that: Qwt  k ← Qwt  k − 1, Nk1  k ←
+ xwtt kk Nk1  k + 1, NkSPk ← NkSPk − 1.
t=maxnowt  −MaxW +1vt 
 Finally, the DSAR model uses the objective value of the
 IP described by Equations (32)–(38) for IPS in (19).
+ xrtt kk
t=maxnowt  −MaxR+1t 
 Comparison Model
+ IN   ck ∀  = now N k = 2 K
k=2k
s=1SP
First-Come-First-Serve Model with Reservations.
We incorporate reservation customers into the FCFS model
(37) in §3.3, which uses a heuristic to seat walk-in parties within
where T t k  and IN  are as in (4). reservations by taking the optimal reservation-booking data
(3) Integrality Constraints. For t = 1     N  t  = t     output from the RB model of §4.1. When a walk-in
N  k = 2     K k = k     K party arrives, the model will check whether seating them
would take away a table from any outstanding reservations
qwt t  k k  qrt t  k k  xwt t  k k  xrt t  k k  booked within a 15-minute (1 period) interval of the cur-
rent time. The three different nesting models (Full Nesting,
qwdenyt k  qrdenyt k  xwdenyt k  xrdenyt k ∈ +  1 UP Nesting, and No Nesting), as described in §3.3, are
Incorporating the ADP Model. In the DSAR model, tested.
the state vector S is characterized by
5. COMPUTATIONAL RESULTS FOR MODELS
S = Qwtw  k  Qrtr  k  Nks k  for (38) WITHOUT RESERVATIONS
tw = max1 now − MaxW +1     now In this section, we present the performance of the nonreser-
vation models of §2 and 3 on simulated data.
tr = max1 now − MaxR +1     now
k = 2     K k = k     K s = 1     SP  5.1. Data
The service state parameter Nks k
remains the same as The test data for the capacity, service time, demand, and
in §3.2. revenue are taken from a contrived restaurant. The data is
There are two types of arrivals: reservation customer constructed from its dinner-time operation, which runs from
arrivals and walk-in arrivals. There is, however, no distinc- 6 pm to 10 pm. We divide this time into 16 equal periods
tion between reservation and walk-in service completions. of 15-minute durations.
Bertsimas and Shioda / 483
Table 1. Expected duration (in minutes) the significant increase in the computation time was not
of service phases. worth the small increase in the average revenue.
The value of M is set to 5 for all of the models. After
Party Size
running the models for different values of M, M = 5 pro-
Phase 2 4 6 8 duced the highest revenue, on average, for most of the mod-
1 6 9 12 18 els. Setting this value too high makes the model averse to
2 39 45 57 75 seating customers that have been waiting in the queue for
3 6 6 8 9 a long time. When M is set to zero, the model would give
Total 51 60 77 102 no consideration to waiting time when solving for the opti-
mal solution. For values of M between 0 and 5, the result-
ing average revenue actually increases because the model
Capacity Data. This is a small-scale restaurant with
is forced to seat a customer at a table which it was reserv-
four tables for two, two tables for four, one table for six,
ing for a future customer. This may be beneficial because
and two tables for eight. The restaurant allows nesting of
the model sometimes incorrectly forecasts future demand
the capacity, i.e., a party of two can be seated at a table of
and keeps tables idle when they could have been used.
two, four, six, or eight.
The appropriate values for  seem to vary according to
Service Time Data. The meal duration is split up into the model and the demand level. For the IP and STOCH
three phases: appetizer (phase 1), entrée (phase 2), and cof- model we set  = 4, and for ADP we set  = 025. These
fee and dessert (phase 3).2 The expected service durations values were chosen from empirical testing, thus they may
are illustrated in Table 1. For this example, we have in not be the optimal. However, the differences in revenue and
mind a restaurant with faster than usual turnover time. average waiting time were not significant for slight changes
in .
Demand Data. The restaurant does not accept reserva- The value for Max is set to 3 for all models; thus we
tions. We have tested the various methods for three levels of are assuming customers do not wait for more than 45
demand; low, medium, and high with average load factors minutes. The models AUTOMATICALLY EXIT customers
0.68, 0.93, and 1.54.3 Each demand level is split up into who have been waiting for more than three periods.
two demand distributions: constant, where all parties arrive For the IP and STOCH model, the values of CostQt k
uniformly throughout the day, and varied, where the larger are 2.5 for k = 2, 6.0 for k = 4, 10.5 for k = 6, and 16.0
parties arrive mainly in the later part of the evening.4 We for k = 8, ∀t. CostXt k when t = now are 0.5 for k =
simplify the data so that there are only four possible types 2, 1.2 for k = 4, 2.1 for k = 6, and 3.2 for k = 8, and
of customers: parties of sizes two, four, six, and eight. We when t > now, CostXt k is set to 0 for all k. The ADP
simulate the customer arrivals as a nonhomogeneous Pois- model performed better with significantly higher values of
son process with rate 6t k = expected demand of size k CostQt k and CostXt k than IP and STOCH. Thus, these
customers at time t. costs for ADP were set to 10 times that of IP and STOCH.
Revenue Data. The expected revenue for parties of Appropriate values for these parameters are clearly
sizes two, four, six, and eight are $50, $120, $210, and restaurant dependent. They would depend on the demand
$320, respectively. We simplify the revenue function so that level and characteristics, expected revenue, expected ser-
it is time invariant. vice time, capacity, and waiting-time behavior of the cus-
tomers of each restaurant. We suggest testing for the right
values for these parameters by simulation, using the data
5.2. Algorithms Tested and Parameter Settings and characteristics of each restaurant.
Using the above data, we tested the following algorithms:
the FCFS models (FullNest, 1Up, and NoNest), the bid- 5.3. Results
pricing model (BidP), the basic integer programming model
(IP), the stochastic programming model using three scenar- Table 2 contains the average daily revenue, average waiting
ios (STOCH), and the approximate dynamic programming time per customer, and the percentage of customers served
model (ADP). We used CPLEX to solve the optimization for all the algorithms we tested. Each subtable corresponds
models. The models were run on Dell Pentium II worksta- to a demand scenario, low and constant, low and varied,
tion operating under LINUX. medium and constant, medium and varied, high and con-
stant, and high and varied. Table 3 contains the average run
Parameter Settings. For the STOCH model, we used times per party for each model.
a three-scenario model (i.e., = 3) in which one of the For smaller load factors, Full Nesting is better than the
scenarios is the expected demand and the other two are other FCFS models and performs similarly to the IP, in gen-
randomly generated. We assign the probability of 0.5 to eral. This implies that the phenomenon that the IP captures
the expected demand scenario and the probability of 0.25 to increase revenue for small load factors is nesting. The
to each of the generated scenarios. We tested models with No Nesting model loses revenue by unnecessarily saving
larger and with variations in the scenario probability, but large tables for large parties. As demand level increases,
484 / Bertsimas and Shioda
Table 2. Revenue, average wait, and percent served resulting from static capacity models.
FullNest 1Up NoNest BidP IP STOCH ADP
Load = 068 Constant
Revenue ($) 235194 239032 212546 232810 235446 237592 240156
% Difference 000% 163% −963% −101% 011% 098% 211%
Average Wait (min) 50 53 107 60 57 57 49
% Served 9323% 9308% 8325% 9089% 9181% 9194% 9367%
Load = 068 Varied
Revenue ($) 206654 203118 188390 199786 208714 207730 211234
% Difference 000% −171% −884% −332% 100% 052% 222%
Average Wait (min) 77 75 131 60 83 78 75
% Served 8806% 8811% 7852% 9089% 8651% 8735% 8858%
Load = 093 Constant
Revenue ($) 296462 292898 270236 282212 297684 296950 303418
% Difference 000% −120% −885% −481% 041% 016% 235%
Average Wait (min) 99 98 144 113 111 104 99
% Served 8782% 8769% 7830% 8335% 8548% 8626% 8784%
Load = 093 Varied
Revenue ($) 262494 259636 239100 243018 261006 265106 270271
% Difference 000% −109% −891% −742% −057% 100% 296%
Average Wait (min) 108 104 159 126 108 113 105
% Served 8316% 8396% 7535% 7822% 8271% 8208% 8331%
Load = 154 Constant
Revenue ($) 340982 346766 34988 320310 367674 370876 385736
% Difference 000% 170% 261% −606% 783% 877% 1313%
Average Wait (min) 123 242 259 237 237 240 229
% Served 6884% 6870% 6036% 5785% 6565% 6402% 6896%
Load = 154
Revenue ($) 314676 315498 305106 290252 339336 338742 354540
% Difference 000% 026% −304% −776% 784% 765% 1267%
Average Wait (min) 240 237 275 243 240 237 234
% Served 6783% 6850% 5716% 5677% 6425% 6433% 6656%

the nesting decisions become more complex. This explains FCFS models. Thus, our models have a smaller range of
the decrease in the revenue gap across the FCFS models waiting times across party sizes.
with higher demand. In addition, IP and STOCH have a lower percentage
We observe that increasing the sophistication of the mod- of parties served than the best performing FCFS models,
els results in monotonically increasing revenue. There is while producing higher revenue. Overall, the ADP model
a marginal revenue improvement of using stochastic pro- seems to be the best performing method: It serves about
gramming versus the deterministic IP. The ADP model the same percentage of parties as the FCFS models,
outperforms the deterministic and stochastic model in all does not increase and occasionally decreases waiting
demand scenarios, with about 2% improvement from FCFS time, and produces significantly higher revenue. This
in low and medium load factors and 12% improvement in implies that the optimization models are able to seat more
high load factors in revenue. of the “right” (higher-revenue-producing) customers. The
We also observe that the models do not sacrifice wait- run times are also in a practical range for all of the models.
ing time for higher revenue. The optimization models had Thus, any of these models can be run online with a POS
comparable waiting times to the FCFS models, and in most system.
of the larger-load cases had lower waiting time than the
FCFS. Thus, higher revenue was achieved without any sac-
6. COMPUTATIONAL RESULTS FOR
rifices and some improvements in the average waiting time.
RESERVATION MODELS
When examining the waiting time for each party size sep-
arately, we see that the optimization models have signifi- In this section, we report computational results for the mod-
cantly lower waiting times for parties of sizes six and eight, els with reservations. We first run the static RB model to
while slightly higher for parties of two compared to the decide a priori how many reservations to accept, and we
then run the DSAR model.
Table 3. Run time per party in seconds for static capacity
models. 6.1. Data
FCFS BidP IP STOCH ADP The test data was taken from Soto’s, a Japanese restaurant
in Atlanta, Georgia (Kosugi 1999). Similar to the previous
Average Run Time (sec) 0.00 0.67 0.21 0.66 1.07
data set, the data are taken from its dinner-time operations
Bertsimas and Shioda / 485
Table 4. Revenue, percent served, and average waiting time of reservation models
for demand level 90.
Demand = 90 FullNest 1Up NoNest DSAR
Revenue ($) 694468 691718 677702 718220
% Difference 000% −040% −241% 342%
% Reservation Served 9596% 9595% 9602% 9797%
Average Wait Reservation (min) 30 32 33 40
% Walk-in Served 8119% 8090% 7907% 8502%
Average Wait Walk-in (min) 111 113 123 86

of 16 periods, from 6 pm to 10 pm. The service time and of the distant future is more uncertain than the near future.
revenue data are also identical to that of §5.1. The values for CostXWt k when t = now are 0.05 for
Capacity. Soto’s has many small tables that can be k = 2, 0.12 for k = 4, 0.21 for k = 6, and 0.32 for k = 8.
put together to accommodate large parties. For the purpose When t > now, the values are set to 0 for all k. The
of our model, we assume that the restaurant takes only values for CostXRt k when t = now are 101 for k = 2,
one table configuration. In this configuration, Soto’s has 16 241 for k = 4, 421 for k = 6, and 641 for k = 8. When
tables for two, 7 tables for four, 3 tables for six, and 1 table t > now, the values are 100 for k = 2, 240 for k = 4, 420
for eight. We allow nesting of capacity as before. for k = 6, and 640 for k = 8.
Demand Data. Soto’s gets a total of around 90 cus- The value of Mr was set to 8 and Mw was set to 3, reflect-
tomers on weekdays and 120 to 130 customers on week- ing higher cost for keeping reservation customers waiting
ends. We test the models on these two demand levels, with  was set to 0.5. MaxR was set to 4 and MaxW was set to
corresponding loads of 0.93 and 1.24, respectively. Around 2, which reflects the customer behavior at Soto’s.
30% of these customers are reservation customers with a
no-show rate of 3% to 15%. We use a constant no-show
rate of 10%. Out of the walk-in parties, 55% are of size 6.3. Computational Results
two, 30% are of size, four and 15% are of size six. Out The average revenue, percentage of customers served, and
of the reservation parties, 40% are of size two, 43% are of average waiting time for reservation and walk-in customers
size four, 10% are of size six and 7% are of size eight. The are illustrated in Tables 4 and 5. Table 4 uses the demand
distribution of reservation customers throughout the day is data of 90 customers and Table 5 uses the demand data
as follows: 20% during 6 pm to 7 pm, 40% during 7 pm to of 120 customers. In the low-demand scenario of 90 cus-
8 pm, 30% during 8 pm to 9 pm, and 10% during 9 pm to tomers, the DSAR outperforms all of the FCFS models by
10 pm. The distribution of walk-in customers is as follows: 3.5% to 6.9%. The DSAR also serves a larger percentage
30% during 6 pm to 7 pm, 35% during 7 pm to 8 pm, 25% of both reservation and walk-in customers than the FCFS
during 8 pm to 9 pm, and 10% during 9 pm to 10 pm. models. The average wait for reservation parties is slightly
higher for the DSAR, but 0.27 periods (4.05 minutes) is
6.2. Parameter Settings still a reasonable length of wait. The average wait for walk-
We use the following values for CostQWt k : 2.5 for k = 2, in customers is lowest using the DSAR. The results for 120
6.0 for k = 4, 10.5 for k = 6, and 16.0 for k = 8, ∀t. The customers are similar. The DSAR outperforms the FCFS
values for CostQRt k are 150 for k = 2, 300 for k = 4, model by 6.43% to 8.29%. It again has the best percent-
500 for k = 6, and 700 for k = 8, ∀t. Distinction for the age seated for both the reservation and walk-in customers.
values for both CostXWt k and CostXRt k for t = now It also has the highest average waiting time (0.40 periods,
are set higher than for t > now. This implies that parties or 6 minutes) for reservation parties and the lowest aver-
expected to arrive in the current period are given more pri- age waiting time for walk-in parties. Thus, the DSAR pro-
ority than those expected to arrive later because the state duces more revenue and serves more customers than FCFS

Table 5. Revenue, percent served, and average waiting time of reservation models
for demand level 120.
Demand = 120 FullNest 1Up NoNest DSAR
Revenue ($) 8,210.70 8,274.82 8,132.2 8,806.60
% Difference 0.00% 0.78% -0.96% 7.26%
% Reservation Served 94.57% 94.42% 93.92% 97.39%
Average Wait Reservation (min) 3.6 3.75 4.2 6.0
% Walk-in Served 53.97% 53.75% 50.39% 65.83%
Average Wait Walk-in (min) 25.4 25.5 26.7 19.5
486 / Bertsimas and Shioda
for both low and high demands. The results also imply ACKNOWLEDGMENTS
that the DSAR has a higher revenue impact with higher This research was supported in part by the Singapore-MIT
demand. alliance. The authors thank Sotohiro Kosugi, owner and
chef of Soto’s, a Japanese restaurant in Atlanta, Georgia,
7. SUMMARY AND CONCLUDING REMARKS for sharing data from his restaurant with them and helping
We feel we gained the following insights from the compu- the authors to better understand restaurant operations. They
tational study: also thank the reviewers of the paper and the associate edi-
(1) For models without reservations, optimization-based tor for many insightful suggestions.
strategies outperform FCFS-based strategies for all low and
medium load factors and significantly for high load factors.
Somewhat surprisingly, optimization-based strategies do
not adversely affect the service quality (waiting times either REFERENCES
remain unchanged or decrease somewhat, while FCFS is
maintained within parties of the same size). Ahuja, Ravindra K., Thomas L. Magnanti, James B. Orlin. 1993.
(2) Increasing the sophistication in the models results in Network Flows: Theory, Algorithms, and Applications. Pren-
higher revenue without sacrificing waiting time. We believe tice Hall, Englewood Cliffs, NJ.
that the performance of the ADP model represents the best Karaesmen, I., G. van Ryzin. 1998. Overbooking with substi-
tutable inventory classes. Working paper, Columbia Graduate
trade-off between maximizing revenue and maintaining low
School of Business, New York.
average waiting time and run time.
Kimes, Sheryl E. 1999. Implementing restaurant revenue manage-
(3) The reservation models we propose (using a stochas-
ment: A five step approach. Cornell Hotel Restaurant Admin.
tic gradient approach to decide the reservations a priori, and Quart. 40(3) 16–21.
ADP to implement it online) result in a significant improve- , Deborah I. Barrash, John E. Alexander. 1999. Develop-
ment relative to the FCFS models for both low and high ing a restaurant revenue-management strategy. Cornell Hotel
demand levels. The RB and DSAR models result in both Restaurant Admin. Quart. 40(5) 18–29.
higher revenue and lower customer attrition. , Richard B. Chase, Sunmee Choi, Philip Y. Lee, Elizabeth
(4) Overall, we feel that optimization-based models have N. Ngonzi. 1998. Restaurant revenue management: Applying
a role to play in restaurant revenue management. yield management to the restaurant industry. Cornell Hotel
There are many areas for future research: Restaurant Admin. Quart. 39(3) 32–39.
(1) Extending our model to support dynamic capacity— Kosugi, Sotohiro. 1999. Owner and manager of Soto’s, personal
that is, allowing restaurants to move their tables around to communication. Atlanta, GA.
better accommodate the demand at each time. Kushner, H. J., D. S. Clark. 1978. Stochastic Approximation Meth-
(2) Incorporating balking and reneging. ods for Unconstrained Systems, AMS Vol. 26. Springer-
(3) Further empirical testing; this might be facilitated by Verlag, New York.
combining algorithms from this paper with online restau- Martinez, R., M. Sanchez. 1970. Automatic booking level con-
rant reservation providers. trol. AGIFORS Sympos. Proc., Vol. 10. American Airlines,
New York.
McGill, Jeffrey I., Garrett J. van Ryzin. 1999. Revenue manage-
ENDNOTES ment: Research overview and prospects. Transportation Sci.
1. In the language of queueing theory, reneging is when a 33(2) 233–256.
customer prematurely leaves the restaurant, after waiting in Muller, Christopher C. 1999. A simple measure of restaurant effi-
line, before receiving any service. ciency. Cornell Hotel Restaurant Admin. Quart. 40(3) 31–37.
2. The probability distribution of the length of each phase Quain, Bill, Michael Sansbury, Stephen M. LeBruto. 1998. Rev-
for each party size is approximated by a discrete distribu- enue enhancement, part 1: A straightforward approach for
making money. Cornell Hotel Restaurant Admin. Quart.
tion illustrated in an online appendix.
39(5) 41–48.
3. The load factor 7k corresponding to party size k was cal-
Sill, Brian. 2000. Capacity management: Engineering the bal-
culated as 7k = 6̄k Sk /c̄k, where 6̄k = the expected rate
ance between customer satisfaction, employee satisfaction
of arrival of size k parties, Sk = the expected service time and company profit. The Consultants (second quarter)
of size k customers, and c̄k = the average number of 72–81.
tables of size k over all three configurations. , Robert Decker. 1999. Applying capacity-management
4. The online appendix contains an illustration of the science. Cornell Hotel Restaurant Admin. Quart. 40(3)
expected demand for each period and party size corre- 22–30.
sponding to each of the demand scenarios (http://or.pubs. Vakharia, A. J., H. S. Selim, R. R. Husted. 1992. Efficient
informs.org/Pages/collect.html/). scheduling of part-time employees. Omega 20(2) 201–213.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy