Sei sulla pagina 1di 17

Journal of the Operational Research Society (2016) 67, 576592

2016 Operational Research Society Ltd. All rights reserved. 0160-5682/16


www.palgrave-journals.com/jors/

Comparison of a branch-and-bound heuristic, a


newsvendor-based heuristic and periodic Bailey
rules for outpatients appointment scheduling
systems
Sangdo (Sam) Choi1 and Amarnath (Andy) Banerjee2*
1

Shenandoah University, Winchester, USA; and 2Texas A&M University, College Station, USA

Appointment-based service systems admit limited number of customers at a specic time interval to make service
providers more accessible by reducing customers waiting time and make the costly resources more productive.
A traditional approach suggests the Bailey rule, which assigns one or more customers at the initial block and only
one customer at remaining blocks. We prescribe two heuristic approaches and variations of the traditional Bailey
rule to appointment scheduling systems with the objective of minimizing total expected costs of delay and idle
times between blocks. The rst heuristic adopts a branch-and-bound approach using forward dynamic programming and tries to fully enumerate with some restrictions. The second heuristic uses a sequential-inverse newsvendor approach using a starting solution. We conduct numerical tests, which show that both heuristics get
near-optimal solutions in a quicker time than a commercial solver, CPLEX and that the second approach gives
near-optimal solutions far faster than the rst approach. In addition, we suggest the use of a periodic Bailey rule,
which can be implemented easily in practice, and provides a close solution to the best result of both heuristics,
depending upon cost parameters and service-time variances.
Journal of the Operational Research Society (2016) 67(4), 576592. doi:10.1057/jors.2015.79
Published online 4 November 2015
Keywords: health-care management; appointment scheduling; sequential inverse newsvendor; branch-and-bound
heuristic; periodic Bailey rule

1. Introduction
Appointment-based service systems, such as care delivery
organization (CDO, eg, hospital, clinic), admit limited
number of customers at a specic time interval (eg, 30-min
time block) to make CDOs more accessible by reducing
crowding in waiting rooms and to effectively utilize costly
resources. CDOs that do not make their outpatient departments more cost effective may not be able to remain in good
standing nancially in the fast-growing health-care industry
(Cayirli and Veral, 2003). To keep patients waiting longer
than their expectation is undesirable on humanitarian
grounds (Gupta and Denton, 2008), since all patients require
timely care by CDOs. Many researchers (Bailey and Welch,
1952; Fries and Marathe, 1981; Ho and Lau, 1992; Ho et al,
1995; Klassen and Rohleder, 1996; Denton and Gupta,
2003; Robinson and Chen, 2003; Kaandorp and Koole,
2007; Begen and Queyranne, 2011) have proposed outpatient appointment scheduling systems (OASys) for higher
*Correspondence: Amarnath Banerjee, Department of Industrial and Systems
Engineering, Texas A&M University, 3131 TAMUS, 4041 ETB, College
Station, TX 77843-3131, USA.
E-mail: banerjee@tamu.edu

utilization of resources and timely access of patients to


CDOs, that is, to minimize the sum of idle and waiting times.
A primary objective of an OASys is to nd an optimal
appointment rule for a particular set of performance measures
(eg, delay (or waiting) and idle times) in a CDO environment. OASys is trading off the interests of CDOs
(eg, minimizing idleness of doctors) and patients (eg, minimizing delayed time of physicians service and/or waiting
time of patients) while matching demand and supply of
CDOs. An OASys can improve resource efciency by
smoothing work ow in a CDO, and increase patient satisfaction by providing timely access.
The operating rules for an OASys depend on the health-care
setting. In surgical CDO, service durations are longer and more
variable than primary CDO. Scheduling surgical appointment is
more complex than primary CDO (Gupta and Denton, 2008).
On the other side, scheduling surgeries assigns fewer numbers
of patients (eg, two or three) in a day. Patient service time in
surgical CDO tend to vary more depending on the patients
characteristics. The vast majority of patients of primary CDO
require a similar service that can be performed within a xed
time length. OASys deals with a large number of patients
(eg, 50) in a day. We focus on decision factors (eg, block size,

Sangdo Choi and Amarnath BanerjeeOutpatient appointment scheduling system

block duration) under primary CDO setting in which all patients


are supposed to be homogeneous.
The major factors in designing OASys are block size
(ie, number of assigned patients), begin block, and block
duration (Cayirli and Veral, 2003). Figure 1 depicts two
combinations of block size and begin block with constant block
duration. The block of OASys is the minimal manageable time
unit, in which a certain number of patients (ie, block size) is
scheduled. The begin block is the number of patients at the rst
block in a day. The block duration is the interval between two
successive appointment times, also called job allowance. The
block duration can be divided in two veins: continuous and
discrete (Kaandorp and Koole, 2007). Discrete time increment
is in practice and more realistic than continuous one.
A continuous time increment is not typically found for a clinic,
because a real-valued time (eg, 10:48:23 AM) is not scheduled
in practice. A common practice is to use a function of the mean
of consultation times. For example, if the mean consultation
time is 8 min, block durations can be 20 min (ie, rounded up
from two times of 8 min) or 30 min (ie, rounded up from three
times of 8 min). Hence, we concentrate on determining the
block size with a xed block interval, assuming that a block
duration is a xed and discrete value such as 20 min, 30 min, or
an hour.
Block duration decisions are meaningful for time-tabling of
individual patients, that is, interval times between patients.
We consider an equal-length block duration, which allows
several patients in each block. CDOs tend to divide available
service time into equal-length time slots such that patients
needs can be accommodated in a standard appointment slot. For
certain types of visits that require more time, clinics may assign
multiple appointment slots (Gupta and Denton, 2008).
We assume that the number of blocks is given and xed,
because the total available service time is also given and xed.
Cayirli and Veral (2003) described seven appointment rules
by some combinations of block size, begin block, and block
duration: (1) single block, (2) individual block/xed interval,
(3) individual block/xed interval with an initial block, which is
the original Bailey rule (Bailey and Welch, 1952), (4) multiple
block/xed interval, (5) multiple block/xed interval with an
initial block, which is the generalized Bailey rule, (6) variable
block/xed interval, and (7) individual block/variable interval.
Figure 1 depicts two appointment rules: (5) and (6), respectively. Since we assume equal-length time slots, we exclude the
combination of (7) from our study. We assume that several

patients are assigned into a single block, whereas we do not


assume that a single patient is assigned into a single block.
Hence, we do not consider the following combinations: (1), (2),
and (3). We compare our appointment rules with either (5) or
(6), assuming that (4) is a special case of either (5) or (6).
Bailey and Welch (1952) did the rst study to analyze an
individual-block appointment system at a time when most
hospitals were still using single-block systems in the 1950s.
They recommended that an individual-block/xed interval
appointment system with an initial block of two patients
(ie, (3) of Cayirli and Veral, 2003) lead to a reasonable balance
between patient-waiting and doctor idle times. We call t-Bailey,
which stands for traditional Bailey, if other blocks have one less
block size than the begin block (ie, (5) of Cayirli and Veral,
2003), which is not necessarily two patients. We prescribe two
heuristics to nd a near-optimal begin block and block size and
suggest periodic Bailey rules.
In addition, we propose variations of periodic Bailey rules by
modifying the results from two heuristics. A periodic Bailey
rule, which is a special case of (6) of Cayirli and Veral (2003),
has several begin blocks and is repetitive, while t-Bailey has
one begin block. If intervals between initial-blocks are long, we
call p-Bailey-l, which stands for periodic Bailey with long
interval. If intervals are short, we name p-Bailey-s. For
example, consider 8 blocks with begin block of 4 and other
subsequent block sizes are 3 or 4. t-Bailey is 4-3-3-3-3-3-3-3.
If block sizes are 4-3-3-3-4-3-3-3, we call p-Bailey-l because the
interval between two begin blocks, which have 4 block size at rst
and fth blocks, respectively, is long. We call 4-3-4-3-4-3-4-3
p-Bailey-s because intervals between begin blocks are short.
In addition, we can consider p-Bailey-m, which has shorter
interval than p-Bailey-l and longer interval than p-Bailey-s.
The objectives of the paper are: (1) an optimization model to
determine begin block and block size, (2) two heuristics to
solve the optimization model, (3) suggestions for using practical
p-Bailey rules, and (4) implications from extensive numerical
studies. The optimization model is a stochastic dynamic
programming (SDP) problem, which requires prohibitively
large computational times. We present an equivalent stochastic
integer programming (SIP) problem to utilize a commercial
solver such as CPLEX. We prescribe two heuristics to get nearoptimal solutions in a faster time. The two heuristics are
efcient because it takes a couple of minutes or less and a
couple of hundreds iterations or less for both heuristics to solve
most cases, while it takes more than 10 min and a couple of

Block-size

Block-size

577

Time

Figure 1 Two exemplar combinations of block size and begin block.


(a) Multi block/xed interval with an initial block; (b) variable block/xed interval.

Time

578

Journal of the Operational Research Society Vol. 67, No. 4

million iterations for CPLEX to run. Especially, one heuristic


takes several seconds and only a few iterations. Both heuristics
are effective because the gap values between CPLEX and
heuristics are around 2% or less for most cases. One heuristic
is constructive and tries to search solution spaces near optimality, while the other heuristic starts with a reasonable solution
and improves very quickly, but may be a little away from
optimality. In addition, we suggest periodic Bailey rules, which
are practical and simple to implement. We conduct extensive
numerical tests to cover general CDO environments.
The paper is organized as follows. Section 2 provides a
comprehensive overview on appointment scheduling. Section 3
describes the two optimization models. Section 4 suggests two
heuristics to solve SIP. Section 5 gives numerical studies and
suggests implications from them. Section 6 concludes the paper
and suggests some venues for future research.

2. Literature review
We review literature in scheduling patients of CDO including
primary and surgical appointments, but not nurse scheduling,
which is associated with staff scheduling. Service durations are
typically short and a large number of patients are scheduled in
primary CDO. Block size, not individual patients scheduling, is
a primary decision variable in primary CDO. In surgical
environment, block size is always one and block duration is
the main decision variable. Surgical scheduling is close to timetabling of individual patients.
The studies by Ho and Lau (1999, 1992) and Ho et al (1995)
compared 50 appointment rules under various operating environments. They introduced a number of individual-block/variableinterval appointment systems and tested their performance
against traditional rules. Their best performing variable-interval
rule allowed patients to arrive in shorter intervals in a sessions
earlier part, and in larger intervals later on. This is called as domeshaped interval. The equivalent representation is larger initial
block and smaller block sizes in later blocks. They concluded that
there is no rule that will perform well under all circumstances and
proposed a simple heuristic to choose an appointment rule. Their
procedure for nding the efcient frontier provided a unied
framework for comparing the performance of an appointment
system. Cayirli and Veral (2003) classied them into seven
appointment rules, as mentioned earlier.
A series of research studies (Weiss, 1990; Wang, 1993, 1997;
Denton and Gupta, 2003; Robinson and Chen, 2003) to determine
the optimal interval times has appeared since 1990. On the
contrary, our approach focuses on the optimal numbers of patients
assigned (ie, block size), not timing decisions. The optimal interval
times between patients are individual and varying, which is
equivalent to (7) of Cayirli and Veral (2003), individual block/
variable interval. Weiss (1990) was the rst to address the problem
of jointly determining the optimal start times of surgical procedures and the optimal order of those procedures. Wang (1993)
developed a model to nd appointment dates of jobs in a single

server system to minimize expected customer delay and server


completion time with identical jobs and costs, and exponential
processing duration distributions. In the numerical studies by
Wang (1993), the optimal allocated time for each job showed a
dome structure, that is, it increases rst and then decreases. In
another study, Wang (1997) investigated the sequencing problem
with the same setting but with distinct exponential distributions.
Robinson and Chen (2003) developed a stochastic linear programme for nding appointment dates for a xed sequence of
surgeries and proposed a Monte-Carlo-based solution method.
They developed a heuristic in which they used the dome structure
of the optimal policy as reported in Wang (1993). Kaandorp and
Koole (2007) studied outpatient scheduling with exponential
processing durations with no-shows. Denton and Gupta (2003)
developed a two-stage stochastic linear programme to determine
the optimal appointment dates for a given surgery sequence and
due date for the end of processing horizon.
Another line of research (Klassen and Rohleder, 1996; Bruin
et al, 2005; Green et al, 2006; Pham and Klinkert, 2008;
Cardeon et al, 2009; Mancilla and Storer, 2009; Begen and
Queyranne, 2011) studies optimal sequencing, assuming that a
set of patients are given and xed and that each patient requires
different consultation times. On the contrary, we assume that
the consultation times for all patients follow the same distribution in a day. We assume that all patients require the same
specialty in a day. In a surgical CDO, different specialities (or
subspecialty) are required in a day. Klassen and Rohleder
(1996) introduced an appointment system that classify patients
based on their expected service-time variability. They used
simulation to compare alternative ways of sequencing lowand high-variance patients at the beginning of the session and
showed that it performs better than the best performing rules
proposed by Ho and Lau (1992). Begen and Queyranne (2011)
considered the problem of determining optimal appointment
schedule for a given sequence of jobs (eg, medical procedures)
on a single processor (eg, operating room (OR), examination
facility), to minimize the expected total underage and overage
costs when each job has a random processing duration given by
a joint discrete probability distribution. Cardeon et al (2009)
investigated how to sequence surgical cases in a day-care
facility so that multiple objectives are simultaneously optimized. Pham and Klinkert (2008) investigated surgery case
scheduling problems and proposed an integrated solution
approach using mathematical programming methods. Mancilla
and Storer (2009) developed a method to help the OR Manager
determine the sequence and scheduled starting times of surgeries in a single OR to minimize a weighted combination of
costs that include patient waiting times, OR idle time, and staff
overtime. Green et al (2006) analysed the problem of scheduling demand for a diagnostic medical facility that is shared by
outpatients, inpatients, and emergency patients. Their analysis
focuses on establishing optimal service priority rules for
admitting patients into service on a particular day of operations,
given an arbitrary outpatient appointment schedule. Bruin et al
(2005) used a queuing model to study emergency cardiac

Sangdo Choi and Amarnath BanerjeeOutpatient appointment scheduling system

patient ow and found out that the source of the bottleneck is


the lack of availability of beds downstream in the care chain.
Lastly, our research belongs to the area of appointment
scheduling to determine the optimal sizes of each block
(Bailey and Welch, 1952; Fries and Marathe, 1981; Liao et al,
1993; Dexter and Traub, 2002; Marcon et al, 2003; Chase,
2005; Gupta, 2007). Bailey and Welch (1952) used a manual
Monte-Carlo simulation technique in their search for the best
initial block and appointment interval for clinics with a variety
of number of patients to show that an initial block of two
patients leads to a reasonable balance between patient waiting
time and doctor idle time. Dexter and Traub (2002) used online
and off-line bin-packing techniques to plan elective cases and
evaluated their performances using simulation. Chase (2005)
developed a simulation model for a hospital to reduce wait
times, improve resource utilization, and determine the right
number of downstream resources needed. On the contrary, we
build a stochastic optimization model in order to take into
account uncertainty of service durations, and propose two
heuristics, both of which show near-optimal results numerically. Fries and Marathe (1981) studied the variable-block/
xed-interval appointment system and compared the results
with single-block and multiple-block/xed-interval systems.
Liao et al (1993) constrained customer arrivals to xed lattice
of times with specied numbers of intervals and patients. Both
Fries and Marathe (1981) and Liao et al (1993) used dynamic
programming to fully search the optimal block sizes for the next
period given that the number of patients remaining to be
assigned is known. We mix a dynamic programming and
branch-and-bound approach by eliminating some states that
would not improve at the next stages. Marcon et al (2003) and
Gupta (2007) focused on determining how best to assign
arriving surgery requests to assist in the planning negotiation
among different stakeholders in a surgical suite. On the
contrary, we assume that all patients have the same consultation
distribution under primary CDO. In sum, whereas all of prior
studies try to achieve optimality, we emphasize both optimality
and practicality by proposing optimization models and prescribing effective and efcient heuristics.

3.1. Notation and assumptions


We employ the following index set, parameters, and random
variables:
Index for block k K
Delay time penalty
Idle time penalty
Unit block interval
Individual random service time
Random completion time up to block k
Random delay time of block k
Random idle time of block k
Block size of block k

k
cd
ci
h
p
Tk
Dk
Ik
xk

We assume that all patients assigned in the same block arrive


on time for the aggregate-level planning purpose. We focus on
devising and evaluating appointment policies, not nding exact
scheduling times for individual patients. Hence, we do not
consider delay and idle time between individual patients in the
same block. We assume that all patients in the same block arrive
on time. Consider two blocks and its associated block sizes are
x1 and x2, respectively. Individual idleness associated with the
rst patient in the second block is as follow:


(1)
E TI - px1 + ;
where pk is the k-times sum of iid random variable p. There is
no idle time between patients in the same block, because we
assume all patients in the same block arrive on time. Individual
performance measure does not take into account individual idle
times within the same block. Individual waiting times are as
follows:
 




E p + E p2 +    + E px1 - 1 + E px1 - T1 +
h
i
+


+ E px1 - T1 + p +    + E px1 - T1 + + px2 - 1


+ 2 +    + x1 - 1 + x2 E px1 - T1 +
+ + 2 +    + x2 - 1


x 1 x 1 - 1
x 2 x 2 - 1
+
+ x2 E px1 - T1 + :
2
2
The rst-block individual waiting performance measure is a
polynomial function of block size, x1. The second-block
individual waiting performance measure is a function of block
size, x2 and block-based waiting time, px1 - T1 + : The blockbased waiting performance has been counted x2 times, whereas
the idleness performance measure, T1 - px1 + , has been
counted once. Mixing individual and block-based performance
measures will be intractable. If there is no patient waiting in the
waiting room when patients in certain block arrive on time, they
expect the rst-come-rst-served rule even though they arrive
on time and the rst checked-in patient is in service without any
delay. Other patients in the same block expect certain amounts
of delay since they recognize other patients are assigned in the
same block. However, if they observe some patients waiting

3. Problem formulation
We propose a SDP model and its associated SIP model to
involve uncertainties of service durations. The dynamic
approach is able to involve all meaningful, possible combinations of integer values. However, it is hard to evaluate the
objective function value by the integral operation for a
multi-dimensional space. Hence, we devise an equivalent
SIP model with a number of scenarios to approximate the
objective function value, and use it to compare the objective
function values.
This section comprises of two subsections. We address
notation and assumptions in the rst section, then explain a
prototypical SDP and its associated SIP in the next subsection.

579

580

Journal of the Operational Research Society Vol. 67, No. 4

from the previous block when they arrive, the unexpected


waiting times may cause a burden to patients. Patients expect
polynomial-type waiting times, such as (x1(x1 1)/2), whereas
Epx1 - T1 +  is an unexpected waiting time. Block-based
delay time is more serious and relevant in our analysis.
We consider block-based performance measure rather than
individual patient-waiting or physician idle time. We take into
consideration delay time of the rst patient in each block except
the rst block as well as idle time associated with the last patient
in each block.
Since the main concern of this study is service time, we take
into consideration uncertainties of service durations. We determine policies for CDO operations at an aggregate level. Hence,
we do not take into consideration no-show for real-time
rescheduling. We assume that random service time for
individual patient is normally distributed as Belin and
Demuelemeester (2007), Belin et al (2009), van Houdenhoven
et al (2007), Hans et al (2008), and Choi and Wilhelm (2012,
2014) did. Total service time for each block is also normally
distributed, since the sum of the normal distributions is the
normal distribution. We assume that the mean of service times,
, is even larger than the standard deviation of service times,
such that | z | for any |z|. We use ve levels of coefcient of
variations (CV), up to 0.5. The probability that a service time is
negative is P(z 2) = 0.0228, when CV = 0.5. We regard this
probability as negligible.
We use a constant block interval h, which can be determined
by CDO administrative staffs. We use 30 min for numerical
tests in Section 5. The number of assigned patients in each
block is the primary decision variable in this study, while other
research studies (Ho and Lau, 1992; Ho et al, 1995; Ho and
Lau, 1999) determine block intervals with the same number of
assigned patients.
The primary decision variable in this paper is the number of
patients in block k (ie, block size), xk. Block start time of block k
is dened as (k 1)h. p is a random service time for individual
patient with mean of and variance of 2, and total service time
in block k is the sum of xk iid p, denoted by pxk ; which has mean
of xk and variance of xk2. The sum of xk1 + xk2 ps is the sum
of two random variables pxk1 and pxk2 : Hence, the following
equation holds:
pxk1 + xk2 pxk1 + pxk2 :

(2)

We dene the random completion time of block k, Tk using


the above Property (2) as follows:
T1 px1

(3)

Tk maxfTk - 1 ; k - 1hg + pxk

(4)

We penalize delay time Dk (Tk kh)+ and idle time


Ik (kh Tk)+ in the objective function. Especially, the delay
time of the last block can be represented by overtime of the day.
We describe the objective function and formulate the problem
in the next subsection.

3.2. Mathematical models


We dene the objective function that minimizes the sum of total
expected delay and idle times between blocks. Delay and idle
times are dened recursively and the problem is formulated in a
dynamic fashion. The objective function associated with block
k, fk(x1, , xk), and overall objective function f|K|(X|K|), where
Xk = (x1, , xk), a vector form, can be expressed recursively in
a stochastic dynamic fashion as follows:


SDP min fjK j XjK j
(5)




(6)
s:t: f1 X1 cd E T1 - h + + ci E h - T1 +
fk + 1 Xk + 1 fk Xk + cd EmaxfTk ; khg + pxk + 1

- k + 1h +


+ ci E k + 1h - maxfTk ; khg - pxk + 1 +
2 k jK j - 1:

The rst block problem, (6) is an inverse newsvendor


problem, which has been solved by Choi and Ketzenberg
(2014) explicitly. The problem min f1(X1) of (6) is
re-expressed as follows:




INV min cd E px1 - h + + ci E h - px1 + :
(8)
x1

The solution to the problem INV is given as follows (Choi


and Ketzenberg, 2014):
x*1 ^x1 or ^x1;
where ^x1

- z +

(9)

p!2
z2 2 + 4h
;
2

(10)

such that (z) = cd/(cd + ci). All other objective function


values of the remaining blocks are hard to evaluate
analytically, because of a max operator such as
EmaxfTk ; khg + pxk + 1 - k + 1h +  in (7).
To evaluate the objective function value of f|K|(X|K|), we
reformulate the problem SDP as a SIP model with a number of
scenarios. We generate a set of scenarios to represent random
events of service durations, p and associated random times Tk,
Dk, and Ik. We change subscripts and superscripts for these
random variables by adding the probability of each scenario,
q, where is a probability space for service durations.
For example, pki is the individual service duration of each
patient i belonging to block k under scenario . With re-dened
random variables, we reformulate the original problem SDP
into the following stochastic non-linear programme to approximate the objective function value.
o
XXn
(11)
SIP min min min
q cd Dk + q ci Ik
X

s:t: Tk - 1 +

Dk

xk
X
i1

Ik

k2K 2

pki + Ik k*h + Dk

k 2; 2

(12)

581

Sangdo Choi and Amarnath BanerjeeOutpatient appointment scheduling system

Dk ; Ik ; Tk 0

k 2 K; 2

25

(13)

k 2 K; 2

(14)

The objective function (11) minimizes total expected costs of


delay and idle times. Constraint (12) denes the delay and idle
times of block k under scenario . Constraint (13) ensures
that both delay and idleness do not occur in the same block to
avoid inefciency. Constraint (13) is non-linear, and can be
linearized by introducing binary variables, Ik and Dk ; both of
which enforce the SIP to have thousands of binary variables if
the number of scenario is in thousands. The linearized formulation associated with (13) for k K, , is given as follows:
Ik + Dk 1

Objective function value

Ik Dk 0

20
15
10
5
0
1

Block size

Figure 2 Objective function values for a single block for the case
of = 8 min, CV = 0.1, and cd: ci = 0.5:0.5.

certain restrictions in order to nd near-optimal block sizes. The


second approach is an improving method (IMP), which starts
with a solution to a sequential-inverse newsvendor (SINV)
problem since the solution to the SINV problem provides a
lower limit. Both approaches provide similar objective function
values.

Ik M*I k
Ik *Ik
Dk M*Dk
Dk *Dk ;
where M is a big number and is a small number. Constraint
(14) guarantees the non-negativity of all decision variables.
Pk
pki of (12) should be changed because the
The term xi1
number of summation, xk, k K should be xed. We reformulate (12) into the following with binary variable ^xki ; k 2 K :
N
X

^xki pi ;

k2K

i1

0 ^xkN    ^xkN - 1    ^xk2 ^xk1 1;

k2K

where N is a large number in order to cover all possibilities.


^xki 1 if the ith patient is assigned to block k, 0 otherwise. The
ith patient should be assigned before the i + 1st patient is
P
assigned. Ni1 ^xki xk holds for k K. For example, if h = 30
and = 8 min, we do not need to consider numbers greater than
6 for N, because 6 or more patients penalize delay times
severely (see Figure 2). We set N = 6 for = 8 min; N = 4,
= 15 and 20 min, respectively.
If a feasible solution X|K| = (x1, x2, , x|K|) is given, we get
the approximation of objective function value f|K|(X|K|) using the
SIP model. In the following sections, we use SIP to evaluate
objective function values.

4. Solution approaches
One may solve SDP by either forward or backward induction.
However, it would take prohibitively long owing to the curse of
dimensionality as each block is added. In the next subsections,
we suggest two heuristic approaches to avoid the curse of
dimensionality. The rst approach is a constructive method
(CON), which starts with the rst block and adds next blocks
step by step. The CON approach tries to fully enumerate with

4.1. Preliminary numerical tests


In order to devise efcient methods, we conduct preliminary
numerical tests to gure out how to search and evaluate feasible
solutions in a faster and efcient way. Let either b^xc or d^xe be
one of the solutions to the problem INV. If we use some other
value, which is greater than d^xe or smaller than b^xc; the
objective function values at these values are far away from the
optimal. Figure 2 shows an exemplar objective function, which
is decreasing-then-increasing, when = 8 min, cd: ci = 0.5:0.5,
and h = 30 min. The optimal value to the problem INV, ^x is
3.75, and the optimal block size should be either 3 b^xc or
4 d^xe: The objective function values of the block sizes of
1, 2, 5, and 6 are far greater than the block size of 4.
Table 1 shows an exemplar case for two blocks with the same
parameter values of Figure 2. The header row values are the
second block size, and the left-most column gives the rst block
size. The optimal block size up to the second block is (43). All
combinations with values that are greater than 4 d^xe or
smaller than 3 b^xc provide greater value than the optimal
objective function value (ie, 6.1) by more than 200%. Once the
rst two block sizes are far from the optimality, the block sizes
including these two cannot get close to the optimality as one
adds the third block.
Table 2 shows an exemplar case for three blocks with the
same parameter values of Table 1 and Figure 2. The header row
values are the third block size, and the left-most column gives
the rst and second block sizes. The optimal block sizes
up to the third block is (4-3-4), while (4-4-3) block sizes is
close to the optimal one. All combinations with values other
than 3 b^xc or 4 d^xe are far greater than the optimal objective
function value. As we add more blocks at next stages, other
block sizes that do not include 3 or 4 cannot contribute towards

582

Journal of the Operational Research Society Vol. 67, No. 4

Table 1 Objective function values for two blocks when = 8 min,


CV = 0.1, and cd: ci = 0.5:0.5
x2

x1

1
2
3
4
5
6

43.9
36.1
27.9
22.1
21.9
22.1

35.9
29.9
20.1
14.1
14.1
21.9

27.9
19.9
12.00
6.1*
14.1
30.1

24.1
16.1
8.1
6.3
21.9
37.9

31.9
23.9
15.9
14.2
30.1
46.1

40.1
31.9
24.1
22.2
37.9
53.9

Notes: The superscript * denotes the optimal value. Bold-faced numbers are
for combinations with x1 and x2 having value of either 3 or 4 only.

Table 2 Objective function values for three blocks when = 8 min,


CV = 0.1, and cd: ci = 0.5:0.5
(x1, x2)

(2, 3)
(3, 2)
(3, 3)
(3, 4)
(3, 5)
(4, 2)
(4, 3)
(4, 4)
(4, 5)
(5, 3)

x3
1

41.9
40.1
33.9
28.1
28.1
36.2
27.9
24.2
24.2
32.1

34.1
33.9
26.1
20.1
20.1
28.2
20.1
16.2
16.8
16.9

25.8
26.1
17.9
12.1
19.8
20.2
12.2
8.8
20.6
16.9

22.1
22.1
14.1
12.4
27.7
16.2
8.4*
12.1
28.7
19.7

29.8
29.9
22.1
20.4
35.7
23.9
16.2
20.4
36.2
27.7

38.1
38.1
30.1
28.2
43.7
31.9
24.1
28.7
44.2
35.7

minimizing the objective function value. Hence, we summarize


our observation regarding search space with b^xc and d^xe as
follows:
Observation 1 It is not necessary to search less than b^xc or
greater than d^xe: One of the two values, b^xc and d^xe; is
used for feasible solutions.
We use either b^xc or d^xe for block sizes based on Observation 1. We show two extreme cases: all b^xcs (Case I) and d^xes
for all blocks (Case II):

Case II:

xk

E[Dk]

E[Ik]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

4
4
3
4
4
4
4
3
4
4
4
3
4
4
3
4

4.34
7.91
5.19
8.79
11.87
14.67
17.52
13.20
16.12
18.89
21.64
17.11
19.99
22.61*
18.17
21.12

2.11
1.27
3.15
1.22
0.83
0.65
0.54
1.50
0.76
0.52
0.39
1.28
0.61
0.45
1.31
0.64

Note: The superscript * denotes the worst E[Dk].

Notes: The superscript * denotes the optimal value. Bold-faced numbers are
for combinations with x1 and x2 having value of either 3 or 4 only.

Case I:

Table 3 An exemplar E[Dk] and E[Ik] values for 16 blocks when


= 8 min, CV = 0.1, and cd: ci = 0.5:0.5

(all b^xcs): E[Dk] is non-increasing and E[Ik] is


non-decreasing because the high possibility of
idleness of previous blocks may not affect next
blocks. The block with idleness does not have an
inuence on the next blocks.
(all d^xe): E[Dk] is increasing and E[Ik] is nonincreasing because the high likelihood of delay of
previous blocks may affect next blocks. It is more
likely for delay to happen in later blocks, like
snow-ball effect.

For any general assignment of block sizes, if E[Dk] for


block k is the worst (ie, E[Dk] E[Dk] or E[Ik], for any other
block k K), b^xc is a better block size for block k + 1 than
d^xe: If E[Ik] for block k is the worst, the block size of block
k + 1 is d^xe:
Table 3 shows block sizes for 16 blocks and its associated
E[Dk] and E[Ik] with b^xc 3 and d^xe 4: For the rst two
blocks with d^xe 4 (ie, k = 1, 2), E[Dk] is increasing and E[Ik]
is decreasing. For the blocks from 4 through 7 (9 through 11, 13
through 14), with d^xe 4; E[Dk] is increasing and E[Ik] is
decreasing. For the block k = 14, E[Dk] is the worst and the next
block 15 has block size of b^xc 3: Hence, we summarize our
observation as follows:
Observation 2 If the worst term of the objective function of
SIP, (11) is one of the delay penalties (ie, E[Dk] = max
{E[Dk], E[Ik] for k K}), the block-size of the next block
k + 1 is b^xc: Otherwise, the block-size of the next block
k + 1 is d^xe:
The block k having the worst E[Dk] or E[Ik] should be
changed because it has the biggest room to improve. For the
later block sizes after block k, we use a partial series of
block sizes generated by SINV. We shift one block forward.
For example, the current block sizes of (4-4-3-4/4-4-4-3/44-4-3/4-4-3-4) in Table 3 has the worst E[Dk] at k = 14.
We replace block 14 with block 15, block 15 with block 16,
respectively. There is a shift of one block from block
15 onwards.
We use b^xc for the last block, if E[D|K|] E[I|K|], d^xe
otherwise. Table 4 shows an example of block sizes for blocks
14, 15, and 16 to improve the solution. All previous block sizes
remain the same. The new block sizes are (4-4-3-4/4-4-4-3/4-44-3/4-3-4-3). Hence, we summarize our observation as follows:

Sangdo Choi and Amarnath BanerjeeOutpatient appointment scheduling system

Table 4 An exemplar revised last 3 block sizes among 16 blocks


k

xk

E[Dk]

E[Ik]

14
15
16

3
4
3

18.17
21.12
14.65

1.31
0.64
1.88

Observation 3 It is a good and fast way to use a partial


series of X from the current solution in order to improve
the current solution. Let k be the worst block having
E[Dk] = max{E[Dk], E[Ik] for k K} or E[Ik] =
max{E[Dk], E[Ik] for k K}. A series of block-sizes from
block k + 1 will shift one block forward, ie, replace blocks
from k to |K| 1. The last block-size is based on comparison of E[D|K|] and E[I|K|]. If E[D|K|] E[I|K|], the last blocksize is b^xc: Otherwise, d^xe:
We develop two heuristic methods by combining and
utilizing Observations 1, 2, and 3. The CON heuristic uses
Observation 1 to build the optimal block sizes by adding one
block as steps proceed. The IMP heuristic uses all three
observations to revise a current schedule.

4.2. A constructive heuristic approach


We prescribe a heuristic using forward dynamic programming approach with restricted values. We dene a stage as
we add one more block. We use both d^xe and b^xc to search
the solution using Observation 1. We denote the objective
function values associated with blocks from 1 through k as
follows:
 
zsk min fk Xrk
(15)
r 2 Rk ;
where Xrk = (x*1, , x*k )r is a solution vector at the kth stage,
and Rk is an index set of all feasible solutions. The number
of total possible candidate block sizes is 2|X|, where |X| is the
number of assigned block sizes so far. We start with large
enough tolerance ratio, k and then decrease it gradually in
order that we search as many as possible at the beginning
stages to minimize the possibility of removing the optimal
appointment rule, and as few as possible at the later stages
to minimize the possibility of searching non-optimal
appointment rules. We determine decreasing tolerance
ratios experimentally. For h = 30, we use 5% up to Stage
10; 3% from Stage 11 to 12; 2% at Stage 13; 1.5% at Stage
14; 1% at Stage 15 for numerical tests. We suggest 10% for
the rst several blocks and 1% for the last couple of blocks.
Algorithm for the constructive heuristic. Initialization: Set
k = 0, R0 = {}, |R0| = 1, and to an initial value (eg, 10%) as a
tolerance. Solve the single-period inverse newsvendor problem to get x*.

583

Solve |Rk| 2 problems using the following vectors, where |Rk| is the number of all possible
combinations of feasible solutions Rk:
 *
r
x1 ; ; x*k fd^xegr 2 Rk
 *
r
x1 ; ; x*k fb^xcgr 2 Rk :

Step 1:

Rk + 1 = {1, , 2s}. Let zsk + 1, s Rk + 1 be the objective function


value of problem min fk + 1(Xsk + 1) where Xsk + 1 = (x*1, , x*k + 1)
and z*k + 1 = minszsk + 1.
If (|z*k + 1 zsk + 1| / z*k + 1) k, remove s from Rk + 1
and re-index elements from Rk + 1.
If k = |K|, stop. Otherwise, k = k + 1 and go to
Step 1.

Step 2:
Step 3:

A numerical example is provided in Section 5, in which


we compare the CON, IMP, and variations of periodic Bailey
rules to the optimal solution obtained by a commercial
solver, CPLEX.

4.3. An improving heuristic approach


The IMP approach requires a good initial solution. To get a
good one, we reformulate the objective function into the
problem ORG simply as follows:
ORG
min
X





cd E Tk - kh + + ci E kh - Tk + :

(16)

k2K

Next, we provide a heuristic to solve the problem SDP by


approximation. First, we nd the lower bound of the expected
delay time and the upper bound of the expected idle time. The
expected delay time, E[(Tk kh)+] has the following lower
bound:



+
E Tk - kh + E px1 +  + xk - kh :

(17)

The expected idle time, E[(kh Tk)+] has the following upper
bound:



+
E kh - Tk + E kh - px1 +  + xk :

(18)

Equations (17) and (18) can be proven by induction easily.


We dene revised penalty costs associated with
block k, denoted by cdk and cik as follows:
cd ETk - kh +  cdk Epx1 +  + xk - kh +  such that cd < cdk ;
and ci Ekh - Tk +  cik Ekh - px1 +  + xk +  such that ci > cik :

584

Journal of the Operational Research Society Vol. 67, No. 4

Step 2:
Step 3:

We revise the problem ORG as following:


X


cdk E px1 +  + xk - kh +
SINV min
X

k2K



+ cik E kh - px1 +  + xk + :

19

Step 4:

Each term of SINV is an inverse newsvendor problem.


The whole problem is a series of inverse newsvendor
problems. Hence, we name this problem as SINV. The
optimal number of patient x*k can be expressed as in (20),
assuming that unit block interval is h and service time p, is
normally distributed:

Step 5:

dk

where F

x* +  + x*
1
k

c
cdk + cik

 
zk ;

(20)

 is the distribution function of px1 +  + xk :


*

x* +  + x*
1
k

Proposition 1 establishes the exact representation of the


optimal solution x*k , k K.
Proposition 1 (Choi and Ketzenberg, 2014) x*1 +    + x*k is
expressed explicitly as follows:
x*1 +    + x*k ^xk or ^xk ;
0
where ^xk @

- zk +

q12
z2k 2 + 4kh
A :
2

(21)

(22)

Choi and Wilhelm (2014) show that sequential newsvendor problem can be solved separately and independently if
k |zk|k.
Proposition 2 Let z and zk be standard normal score values
that satisfy (z) = cd/(cd + ci) and zk cdk =cdk + cik ;
respectively. Then z zk for k K.
Proof of Proposition 2 Since cd cdk and ci cik ; the
following inequality holds:
cd
c dk

:
cd + ci cdk + cik

(23)

(z) is an increasing function. Hence, z zk.


Proposition 2 shows that solutions to the problem SINV
provide the lower limit. Each block size by SINV is either
b^xc or d^xe: Hence, we use Observation 1. Using the lower
limit, we provide the heuristic as follows:

Algorithm for the improving heuristic. Initialization: Solve


SINV and get the optimal solutions X0 = (x*1, , x*|K|)0 to
SINV. Set s = 1 and X1 = X0.
Step 1:

Solve SIP with X


function value.

to get the objective

Set j = arg max{k: E[Dk], E[Ik]}.


Update new solution as Xs + 1 = (x*1, , x*j 1,
x*j + 1,, x*|K|, x*n). If E[D|K|] E[I|K|], set x*n b^xc:
Otherwise, set x*n d^xe:
Compute the objective function value using SIP
with the new solution, Xs + 1.
If f(Xs + 1) f(Xs), stop. Otherwise, set s = s + 1
and go to Step 1.

5. Numerical study
We conduct numerical tests to compare the two heuristics by
considering a single-day scheduling scheme. We assume that
OASys schedules 8 h with 30-min time block (ie, 16 blocks a
day). One of the authors has experienced the same time block
whenever he made an appointment with a doctors ofce.
Given that the block duration is xed as h = 30 min, we show
three xed values for : 8, 15, and 20 min. As mean value
increases, the possible block size (ie, b^xc or d^xe) decreases
step-wise. For example, if = 4 min, the possible block size
is either 7 or 8; = 5 min, 5 or 6; = 6 min, 4 or 5,
respectively. Preliminary numerical tests show that one
patient is very likely to be allocated for all blocks, if
22 min, and that two patients are very likely to be
allocated for all blocks, if 13 18. We vary with ve
levels of variance, corresponding to ve levels of CV (0.1,
0.2, 0.3, 0.4, 0.5) so as to use a relative measure of variation independent of magnitude of . We consider nine
levels of cost ratio cd: ci = (0.01:0.99, 0.09:0.91, 0.37:0.63,
0.435:0.565, 0.5:0.5, 0.63:0.37, 0.91:0.09, 0.99:0.01) to
cover general cases, in each of which CDO administrators may
value delay (or waiting) and utilization differently. One cost is
100 times of the other when 0.01:0.99 or 0.99:0.01. One cost
is about 10 times of the other when 0.09:0.91 or 0.91:0.09.
One cost is 70% higher than the other when 0.37:63 or
0.63:0.37, equivalently 1:1.7 or 1.7:1. One cost is 30% higher
than the other when 0.435:0.565 or 0.565 or 0.435, equivalently 1:1.3 or 1.3:1. Two costs have the same weight when
0.5:0.5 or equivalently 1:1. We change CV and cost ratio in
order to nd out the impact of variance and weight of delay
and idle time. We show the case for CV = 0.1 and cd:
ci = 0.5:0.5 for numerical examples and explanations in the
next two subsections. In the last subsection, we analyze results
of all cases.
We compare two heuristics (CON and IMP) with four
periodic Bailey rules. We prescribe four periodic Bailey rules:
t-Bailey, p-Bailey-l, p-Bailey-m, and p-Bailey-s, since the
Bailey rules are easy to implement.

5.1. A numerical example for the constructive heuristic


First, we build an appointment schedule by the CON heuristic
approach. Figure 3 depicts the procedure up to Stage 6 using the

Sangdo Choi and Amarnath BanerjeeOutpatient appointment scheduling system

Iteration 3
We solve two SIP problems with Xs3, r R3 as follows:

Root

 
z13 min f3 X13 20:7 where X13 4; 3; 3:

7.29

 
z23 min f3 X23 21:5 where X23 4; 3; 4

6.35

z*3 20:6: R3 f1; 2g:

Legend of node type


13.3

candidate node

15.51

Iteration 4
We solve four SIP problems with Xr4, r R4 as follows:

pruned node
best node
20.66

21.50

 
z14 min f4 X14 27:6 where X14 4; 3; 3; 3:

 
z24 min f4 X24 28:1 where X24 4; 3; 3; 4:
27.56

28.11

29.15

32.40

 
z34 min f4 X34 29:2 where X34 4; 3; 4; 3:
 
z44 min f4 X44 32:4 where X44 4; 3; 4; 4:

34.68

35.08

35.86

38.82

z*4
41.95

42.06

42.48

45.14

43.13

44.59

Figure 3 An illustrative example of CON heuristic with = 8 and


CV = 0.1 up to Stage 6.

27:6: Since

* r
z - z
4

z*4

>0:1 for r 3; 4;

remove r 3; 4 and R4 f1; 2g:

Iteration 5
We solve four SIP problems with Xr5, r R5 as follows:
 
z15 min f5 X15 34:7 where X15 4; 3; 3; 3; 3:

constructive method, which is similar to branch-and-bound


heuristics of mixed integer programming.
Initial step
k 0:R0 fg:jR0 j 1; 0:1:x 3 or 4:
*

 
z25 min f5 X25 35:1 where X25 4; 3; 3; 3; 4:
 
z35 min f5 X35 35:8 where X35 4; 3; 3; 4; 3:
 
z45 min f5 X45 38:8 where X45 4; 3; 3; 4; 4:
r

Iteration 1
We solve two SIP problems with Xr1, r R1 = {1, 2} as
follows:
 
z11 min f1 X11 7:29 where X11 3:
 
z21 min f1 X21 6:35 where X21 4:
z*1 6:35:
Since (|z*1 z11|/z*1) = 0.148, remove r = 1 and R1 = {1}.
Iteration 2
We solve two SIP problems with Xr2, r R2 as follows:
 
z12 min f2 X12 13:3 where X12 4; 3:
 
z22 min f2 X22 15:51 where X22 4; 4:
* 2

j z2 - z2 j
0:166;
z*2 13:3: Since
z*2
remove r 2: R2 f1g:

z*5 34:7: Since

j z*5 - z45 j
>0:1;
z*5

remove r 4 and R5 f1; 2; 3g:

Iteration 6
We solve four SIP problems with Xr6, r R6 as follows:
 
z16 min f6 X16 41:9 where X16 4; 3; 3; 3; 3; 3:

 
z26 min f6 X26 42:1 where X26 4; 3; 3; 3; 3; 4:
 
z36 min f6 X36 42:5 where X36 4; 3; 3; 3; 4; 3:
 
z46 min f6 X46 45:1 where X46 4; 3; 3; 3; 4; 4:
 
z56 min f6 X56 43:1 where X56 4; 3; 3; 4; 3; 3:
 
z66 min f6 X66 44:6 where X66 4; 3; 3; 3; 4; 4:
z*5 34:7: Since

* r
z - z
5

z*5

>0:05 for r 4; 6;

remove r 4; 6 and R6 f1; 2; 3; 4g:

585

586

Journal of the Operational Research Society Vol. 67, No. 4

We skip the remaining steps and the nal solution is follows:


4-3-4-4/3-4-3-4/3-4-4-3/4-3-4-3. We split X into 2-h intervals
(ie, four blocks) to present in a clear way using a separator (/).

5.2. A numerical example for the improving heuristic


In this subsection, we build an appointment schedule by the
IMP approach.
Initial step
We solve SINV to get the initial solution X0 as follows:
X0 4-3-4-4=4-3-4-4=3-4-3-4=4-3-4-3:
Table 5 shows the expected delay and idleness time of the
initial solution X0. The rst column gives the block index; the
second, the optimal block size; the third, the expected delay
time, E[Dk]; the last one, the expected idle time, E[Ik].
Iteration 1
f(X0) = 206.5 and j = 13. We change all the next blocks after
the 13th block, x*13, x*14, x*15, and x*16. Since E[D|K|] > E[I|K|],
x*n = 3. X1 = (4-3-4-4/4-3-4-4/3-4-3-4/3-4-3-3). We use boldface for the change. f(X1) = 195.9.
Iteration 2
For the next iteration, we skip detail objective function
values. j = 8 and X2 = (4-3-4-4/4-3-4-3/4-3-4-3/4-3-3-3).
f(X2) = 174.6.
Iteration 3
j = 5 and X3 = (4-3-4-4/3-4-3-4/3-4-3-4/3-3-3-3). f(X3) =
155.9.
Iteration 4
j = 12 and X4 = (4-3-4-4/3-4-3-4/3-4-3-3/3-3-3-4). f(X4) =
149.1.
Iteration 5
j = 10 and X5 = (4-3-4-4/3-4-3-4/3-3-3-3/3-3-4-3). f(X5) =
141.1.
Iteration 6
j = 8 and X6 = (4-3-4-4/3-4-3-3/3-3-3-3/3-4-3-3). f(X6) =
132.1.
Iteration 7
j = 6 and X7 = (4-3-4-4/3-3-3-3/3-3-3-3/4-3-3-4). f(X7) =
125.3.
Iteration 8
j = 4 and X8 = (4-3-4-3/3-3-3-3/3-3-3-4/3-3-4-3). f(X8) =
117.5.
Iteration 9
j = 3 and X9 = (4-3-3-3/3-3-3-3/3-3-4-3/3-4-3-3). f(X9) =
114.8.
Iteration 10
j = 11 and X10 = (4-3-3-3/3-3-3-3/3-3-3-3/4-3-3-4). f(X10) =
113.8.
Iteration 11
j = 16 and X11 = (4-3-3-3/3-3-3-3/3-3-3-3/4-3-3-3). f(X11) =
113.2.
Iteration 12
j = 8 and X12 = (4-3-3-3/3-3-3-4/3-3-3-3/4-3-3-3). f(X12) =
114.9. We stop and choose X11 as the best solution.

Table 5 The numerical results for the expected delay and idleness
time when the sequence is given as X0
Block index

x*k

E[Dk]

E[Ik]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

4
3
4
4
4
3
4
4
3
4
3
4
4
3
4
3

4.4
2.8
6.6
9.8
12.8
9.1
12.3
15.2**
11.3
14.5
10.8
14.1
16.8*
12.9
16.1
12.4

2.1
4.2
1.6
1.1
0.7
2.1
0.9
0.7
2.1
0.9
2.2
0.9
0.7
1.8
0.8
2.1

Note: The superscript * denotes the worst, and the superscript ** denotes the
second worst.

5.3. Analysis of comparative results


Table 6 summarizes optimal block sizes of cases with
= 15 min, ve levels of CV, and nine cost ratios. The rst
column gives parameter values (, CV); the second one, cost
ratio; the third one, optimal solution to INV, ^x1 in real number; the
fourth one, possible optimal block size for the second or later blocks;
the fth one, optimal block sizes; the sixth one, total assigned
patients; the seventh one, objective function value; the eighth one,
number of iterations; the last one, running time in seconds.
One may expect two patients to be assigned on average without
an exact computational study because of h = 30 and = 15 min.
As the weight of cd increases and other factors are unchanged,
CDO would be likely to assign fewer number of patients.
Computational results verify this insight. Comparing two extreme
cost ratios (ie, 0.01:0.99 and 0.99 and 0.01), the former has
double or greater total assigned patients than the latter case. The
optimal objective function value increases then decreases as the
weight of cd increases. Cases with extremely different cost ratios
(eg, 0:01:0.99, 0.09:0.91, 0.91:0.09, and 0.99:0.01) have either E
[Dk] = 0 or E[Ik] = 0 for k K. Hence, objective function values
of these extreme cases are smaller than other cases, because the
coefcient of the positive term out of E[Dk] or E[Ik] is very small.
When ci is 100 times of cd (ie, 0.01:0.99), rst block size is
relatively larger than the other block sizes. We do not use x*1 for
all block sizes, but x*2 for the second or later block size for this
extreme case. To nd heuristic block sizes, we use optimal
solution to INV for all cases except the case of 0.01:0.09. Next
two tables summarize the cases of = 8 and 20 min in order to
show a variety of numerical results.
Table 7 summarizes numerical results of cases with = 8,
ve levels of CV, three cost ratios (cd: ci = 0.435:0.565, 0.5:0.5,
and 0.565:0.435). The rst column gives parameter values

Sangdo Choi and Amarnath BanerjeeOutpatient appointment scheduling system

587

Table 6 Optimal block sizes for the case of = 15 min, the different cost ratios, and variance
(, CV)

cd: ci

^x1

x*k , k 2

Block size

Total patients

Objective value

Iteration

Time (s)

(15, 0.1)

0.01:0.99
0.09:0.91
0.37:0.63
0.435:0.565
0.5:0.5
0.565:0.435
0.63:0.37
0.91:0.09
0.99:0.01
0.01:0.99
0.09:0.91
0.37:0.63
0.435:0.565
0.5:0.5
0.565:0.435
0.63:0.37
0.91:0.09
0.99:0.01
0.01:0.99
0.09:0.91
0.37:0.63
0.435:0.565
0.5:0.5
0.565:0.435
0.63:0.37
0.91:0.09
0.99:0.01
0.01:0.99
0.09:0.91
0.37:0.63
0.435:0.565
0.5:0.5
0.565:0.435
0.63:0.37
0.91:0.09
0.99:0.01
0.01:0.99
0.09:0.91
0.37:0.63
0.435:0.565
0.5:0.5
0.565:0.435
0.63:0.37
0.91:0.09
0.99:0.01

2.35
2.19
2.04
2.02
2.0
1.97
1.95
1.81
1.69
2.77
2.41
2.09
2.04
2.0
1.95
1.91
1.65
1.44
3.26
2.65
2.14
2.07
2.0
1.93
1.86
1.51
1.22
3.81
2.91
2.19
2.09
2.0
1.91
1.82
1.37
1.04
4.45
3.19
2.25
2.12
2.0
1.88
1.78
1.25
0.89

2, 3
1, 2
1, 2
1, 2
1, 2
1, 2
1, 2
1, 2
1, 2
2, 3
1, 2
1, 2
1, 2
1, 2
1, 2
1, 2
1, 2
1, 2
2, 3
1, 2
1, 2
1, 2
1, 2
1, 2
1, 2
1, 2
1, 2
2, 3
1, 2
1, 2
1, 2
1, 2
1, 2
1, 2
1, 2
1, 2
2, 3
1, 2
1, 2
1, 2
1, 2
1, 2
1, 2
1, 2
1, 2

3-2-2-2/2-2-2-2/2-2-2-2/2-2-2-2
3-2-2-2/2-2-2-2/2-2-2-2/2-2-2-2
2-2-2-2/2-2-2-2/2-2-2-2/2-2-2-2
2-2-2-2/2-2-2-1/2-2-2-2/2-2-2-2
1-2-2-2/2-2-2-2/1-2-2-2/2-2-2-2
2-2-2-2/2-1-2-2/1-2-2-1/2-2-2-2
2-2-2-2/2-1-2-2/2-2-2-1/2-2-2-2
2-1-2-1/2-1-2-1/2-1-2-1/2-1-2-1
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
3-2-2-2/2-2-2-3/2-2-2-2/2-2-2-2
2-2-2-2/2-2-2-2/2-2-2-2/2-2-2-2
2-2-2-2/2-2-2-1/2-2-2-2/2-2-2-2
2-2-2-2/2-1-2-2/2-2-2-1/2-2-2-2
2-2-2-1/2-2-2-1/2-2-2-2/1-2-2-2
2-2-2-1/2-2-2-2/1-2-2-2/1-2-2-2
2-2-2-1/2-2-1-2/2-1-2-2/2-1-2-2
1-1-1-1/1-1-1-1/1-1-2-1/1-1-1-1
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
3-3-2-2/2-2-2-3/2-2-2-2/2-2-2-2
2-2-2-2/2-2-2-2/2-2-2-2/2-2-2-2
2-2-2-2/1-2-2-2/1-2-2-2/1-2-2-2
2-2-2-2/1-2-2-2/1-2-2-2/1-2-2-2
2-2-2-1/2-2-1-2/2-1-2-2/1-2-2-2
2-2-2-1/2-2-1-2/2-1-2-2/1-2-2-2
2-2-1-2/2-1-2-2/1-2-2-1/2-2-1-2
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
3-3-2-2/2-2-2-2/3-2-2-2/3-2-2-2
2-2-2-2/2-2-2-2/2-2-2-2/2-2-2-2
2-2-2-2/1-2-2-2/1-2-2-2. 1-2-2-2
2-2-1-2/2-1-2-2/2-1-2-2/2-1-2-2
2-2-1-2/2-1-2-1/2-2-1-2/2-1-2-2
2-1-2-2/1-2-1-2/1-2-2-1/2-1-2-2
2-2-1-2/1-2-1-2/1-2-1-2/1-2-1-2
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
4-3-2-2/2-3-2-2/2-2-2-2/2-2-3-2
3-2-2-2/2-1-2-2/2-2-2-2/2-2-2-2
2-2-1-2/2-1-2-2/1-2-1-2/2-1-2-2
2-2-1-2/1-2-2-1/2-2-1-2/1-2-1-2
2-2-1-2/1-2-1-2/1-2-2-1/2-1-2-2
2-2-1-2/1-2-1-2/1-2-1-2/1-2-1-2
2-1-2-1/1-2-1-2/1-2-1-2/1-2-1-2
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1

33
33
32
31
30
30
29
24
16
34
32
31
30
29
29
28
17
16
35
32
29
29
28
28
27
16
16
35
32
29
28
27
26
25
16
16
37
32
27
26
26
25
24
16
16

2.5
21.4
24.0
25.7
32.8
28.4
27.7
17.0
2.4
4.5
21.0
41.3
42.6
44.2
43.6
42.8
21.6
2.4
7.0
30.7
57.5
58.3
58.0
56.7
54.3
21.6
2.4
9.2
41.9
69.9
72.2
69.9
68.2
64.3
21.8
2.6
11.1
48.9
82.5
82.7
83.3
78.9
73.3
22.2
3.6

2865
2176
1538
6019
4775
16 031
7295
2473
15
3997
3447
11 490
16 024
22 579
15 157
17 160
1499
21
4196
81
6692
26 527
45 972
27 618
44 712
68
42
4722
4005
40 718
60 462
36 836
32 490
32 673
10 319
57
9484
3330
65 823
67 848
20 203
22 661
17 762
9614
67

36
20
32
133
124
213
195
99
64
33
28
216
238
240
237
283
102
79
31
104
145
248
297
221
246
92
91
28
25
246
304
355
257
319
91
93
11
161
409
338
196
256
271
98
101

(15, 0.2)

(15, 0.3)

(15, 0.4)

(15, 0.5)

(, ); the second one, cost ratio; the third one, solution


methods; the fourth one, solution (block sizes); the fth one,
objective function value; the sixth one, gap between the optimal
objective function value and the corresponding solution
methods objective function value; the seventh one, number of
iterations; the last one, running time. We provide the best
periodic Bailey among those for solution methods.
Table 8 summarizes numerical results of cases with = 20min, ve levels of CV, three cost ratios as Table 7. Column
information is the same as Table 7.
Figure 4 depicts the impact of , CV, and cost ratio on block
size. It shows cumulative allocated patients for the three

congurations: (1) = 8 min, CV = 0.1; (2) = 8 min, CV =


0.5; and (3) = 20 min, CV = 0.5. We analyze the impact of
on block size by comparing (1) with (3). As increases, the
number of allocated patients decreases. We analyze the impact
of CV on block size by comparing (1) with (2). For each
conguration, we analyze the impact of cost ratio on block size.
The cost ratio apparently affects block size. Figure 4 shows
that for each conguration with certain and CV, as the ratio,
cd to ci increases, fewer numbers of patients are allocated
cumulatively. The cumulative line for the highest ratio of cd to
ci is the lowest and the cumulative line for the lowest ratio is the
highest for each conguration with the same and CV.

588

Journal of the Operational Research Society Vol. 67, No. 4

Table 7 Comparative results when = 8 min with different cost ratios, variance, and heuristic rules
(, CV)

cd: ci

Method

Block size

Objective value

Gap (%)

Iterations

Time (s)

(8, 0.1)

0.435:0.565

(8, 0.1)

0.5:0.5

(8, 0.1)

0.565:0.435

(8, 0.2)

0.435:0.565

(8, 0.2)

0.5:0.5

(8, 0.2)

0.565:0.435

(8, 0.3)

0.435:0.565

(8, 0.3)

0.5:0.5

(8, 0.3)

0.565:0.435

0.435:0.565

4-4-3-4/3-4-4-3/4-3-4-4/3-4-3-4
4-4-3-4/3-4-4-3/4-4-3-4/3-4-4-3
4-4-3-4/3-4-3-4/4-3-4-4/3-4-3-4
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-3
4-4-3-4/3-4-3-4/4-3-4-3/4-4-3-4
4-3-4-4/3-4-3-4/3-4-4-3/4-3-4-3
4-3-4-4/3-4-4-3/4-3-4-4/3-4-3-4
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-3
4-3-4-4/3-4-3-4/3-4-3-4/3-4-3-4
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-3
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-3
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-3
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-4
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-3
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-3
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-3
4-3-3-4/3-4-3-4/3-4-3-4/3-4-3-4
4-3-3-4/3-4-3-4/3-4-3-4/3-4-3-4
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-3
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-3
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-3
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-3
4-3-4-3/4-3-4-3/4-3-3-4/3-4-3-4
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-3
4-3-4-3/4-3-4-3/4-3-3-4/3-4-3-4
4-3-4-3/4-3-4-3/4-3-3-4/3-4-3-4
4-3-4-3/4-3-4-3/4-3-3-4/3-4-3-4
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-3
4-3-4-3/3-4-3-3/4-3-4-3/3-4-3-4
4-3-4-3/3-4-3-3/4-3-4-3/3-4-3-4
4-3-4-3/4-3-4-3/4-3-3-4/3-4-3-4
4-3-4-3/4-3-4-3/4-3-4-3/4-3-4-3
4-3-3-4/3-3-3-4/3-3-3-4/3-3-4-3
4-3-3-4/3-3-3-4/3-3-3-4/3-3-4-3
4-3-4-3/3-4-3-4/3-3-4-3/3-4-3-4
4-3-3-3/4-3-3-3/4-3-3-3/4-3-3-3
4-3-4-3/3-4-3-3/3-4-3-4/3-3-4-3
4-3-4-3/3-4-3-3/3-4-3-4/3-3-4-3
4-3-4-3/3-4-3-3/4-3-3-3/4-3-3-4
4-3-3-3/4-3-3-3/4-3-3-3/4-3-3-3
4-3-3-3/4-3-3-3/4-3-3-4/3-3-3-4
4-3-3-3/4-3-3-3/4-3-3-4/3-3-3-4
4-3-4-3/3-3-3-3/4-3-4-3/3-4-3-4
4-3-3-3/4-3-3-3/4-3-3-3/4-3-3-3
4-3-3-3/3-4-3-3/3-3-3-3/3-3-3-3
4-3-3-3/3-4-3-3/3-3-3-3/3-3-3-3
4-3-4-3/3-3-4-3/3-3-4-3/3-3-4-3
4-3-3-3/3-3-3-3/4-3-3-3/3-3-3-3
4-3-3-3/4-3-3-3/3-3-4-3/3-3-3-4
4-3-3-3/3-4-3-3/3-3-4-3/3-3-3-4
4-3-3-3/3-4-3-3/3-3-4-3/3-3-3-4
4-3-3-3/3-3-3-3/3-3-3-3/3-3-3-3
4-3-3-3/3-3-3-3/3-3-3-3/3-3-3-3
4-3-3-3/3-3-3-3/3-3-3-3/3-3-3-3
4-3-3-3/3-3-3-3/3-3-3-3/4-3-3-3
4-3-3-3/3-3-3-3/3-3-3-3/3-3-3-3
3-3-3-3/3-3-3-3/3-3-3-3/3-3-3-3
3-3-3-3/3-3-3-3/3-3-3-3/3-3-3-3
3-4-3-3/3-3-3-3/3-3-4-3/3-4-3-3
4-3-3-3/3-3-3-3/3-3-3-3/3-3-3-3

23.0
23.3
23.4
25.5
23.9
24.4
24.2
24.6
23.5
23.6
23.6
23.6
30.3
30.4
30.4
30.4
30.6
30.6
30.7
30.7
30.1
30.1
30.3
30.1
40.5
40.5
40.8
41.2
40.1
40.1
40.9
41.6
39.0
39.0
39.7
39.4
48.7
48.7
49.3
51.7
48.8
48.8
49.4
49.3
46.9
46.9
47.1
46.9
57.9
58.8
58.8
60.0
56.4
56.4
56.5
56.4
122.2
122.2
131.8
122.6

1.3
1.7
10.8
1.9
1.0
2.7
0.2
0.2
0.2
0.3
0.3
0.3
0.0
0.3
0.3
0.0
0.7
0.0
0.0
0.9
1.7
0.0
1.9
3.6
0.0
2.0
1.1

(8, 0.4)

CPLEX
Constructive
Improving
p-Bailey-s
CPLEX
Constructive
Improving
p-Bailey-s
CPLEX
Constructive
Improving
p-Bailey-s
CPLEX
Constructive
Improving
p-Bailey-s
CPLEX
Constructive
Improving
p-Bailey-s
CPLEX
Constructive
Improving
p-Bailey-s
CPLEX
Constructive
Improving
p-Bailey-s
CPLEX
Constructive
Improving
p-Bailey-s
CPLEX
Constructive
Improving
p-Bailey-m
CPLEX
Constructive
Improving
p-Bailey-m
CPLEX
Constructive
Improving
p-Bailey-m
CPLEX
Constructive
Improving
p-Bailey-l
CPLEX
Constructive
Improving
t-Bailey
CPLEX
Constructive
Improving
t-Bailey
CPLEX
Constructive
Improving
t-Bailey

166 971
113
4
1
168 379
108
6
1
70 392
52
6
1
77 067
189
9
1
75 403
167
8
1
51 061
165
6
1
42 920
167
8
1
40 549
182
8
1
32 941
191
16
1
56 765
122
15
1
30 473
196
11
1
16 175
201
11
1
26 088
253
13
1
20 813
224
11
1
8836
58
10
1

776.2
13.8
0.7
0.1
676.3
11.7
1.1
0.1
448.3
5.9
1.1
0.1
412
15.2
1.1
0.1
650
14.3
1.3
0.1
310
13.9
0.5
0.1
381
17.1
0.9
0.1
481
19.1
0.7
0.1
435
19.2
1.3
0.1
338
10.5
1.8
0.1
386
20.5
1.5
0.1
214
21.2
1.3
0.1
165.2
31.8
2.3
0.1
134.7
22.2
1.9
0.1
61.1
6.9
1.8
0.1

(8, 0.4)

0.5:0.5

(8, 0.4)

0.565:0.435

(8, 0.5)

0.435:0.565

(8, 0.5)

0.5:0.5

(8, 0.5)

0.565:0.435

0.0
1.2
6.1
0.0
1.2
1.0
0.0
0.6
0.1
1.7
1.7
3.6
0.0
0.4
0.0
0.0
7.9
0.3

Sangdo Choi and Amarnath BanerjeeOutpatient appointment scheduling system

589

Table 8 Comparative results when = 20 min and the different cost ratios, variance, and heuristic rules
(, CV)

cd: ci

Method

Block size

Objective value

Gap (%)

Iterations

Time (s)

(20, 0.1)

0.435:0.565

(20, 0.1)

0.5:0.5

(20, 0.1)

0.565:0.435

(20, 0.2)

0.435:0.565

(20, 0.2)

0.5:0.5

(20, 0.2)

0.565:0.435

(20, 0.3)

0.435:0.565

(20, 0.3)

0.5:0.5

(20, 0.3)

0.565:0.435

(20, 0.4)

0.435:0.565

(20, 0.4)

0.5:0.5

(20, 0.4)

0.565:0.435

(20, 0.5)

0.435:0.565

(20, 0.5)

0.5:0.5

(20, 0.5)

0.565:0.435

CPLEX
Constructive
Improving
p-Bailey-m
CPLEX
Constructive
Improving
p-Bailey-m
CPLEX
Constructive
Improving
p-Bailey-m
CPLEX
Constructive
Improving
p-Bailey-m
CPLEX
Constructive
Improving
p-Bailey-m
CPLEX
Constructive
Improving
p-Bailey-m
CPLEX
Constructive
Improving
p-Bailey-m
CPLEX
Constructive
Improving
p-Bailey-m
CPLEX
Constructive
Improving
t-Bailey
CPLEX
Constructive
Improving
p-Bailey-m
CPLEX
Constructive
Improving
p-Bailey-l
CPLEX
Constructive
Improving
t-Bailey
CPLEX
Constructive
Improving
t-Bailey
CPLEX
Constructive
Improving
t-Bailey
CPLEX
Constructive
Improving
t-Bailey

2-1-2-1/2-1-1-2/1-2-1-1/2-1-2-1
2-1-2-1/1-2-1-2/1-2-1-1/2-1-2-1
2-1-2-1/1-2-1-1/1-2-1-2/1-1-2-1
2-1-1-2/1-1-2-1/1-2-1-1/2-1-1-1
2-1-1-2/1-1-2-1/1-2-1-2/1-1-2-1
2-1-1-2/1-1-2-1/1-2-1-2/1-1-2-1
2-1-1-2/1-1-2-1/1-2-1-1/2-1-1-1
2-1-1-1/2-1-1-1/2-1-1-1/2-1-1-1
2-1-1-2/1-1-2-1/2-1-1-2/1-1-2-1
2-1-1-1/2-1-1-1/2-1-1-2/1-1-2-1
2-1-1-1/2-1-1-1/2-1-1-2/1-1-2-1
2-1-1-1/2-1-1-1/2-1-1-1/2-1-1-1
2-1-1-2/1-1-2-1/1-2-1-1/2-1-2-1
2-1-1-2/1-1-2-1/1-2-1-1/2-1-2-1
2-1-1-1/2-1-1-1/2-1-1-1/1-1-2-1
2-1-1-2/1-1-2-1/1-2-1-1/2-1-1-1
2-1-1-2/1-1-2-1/1-1-2-1/1-2-1-1
2-1-1-2/1-1-2-1/1-1-2-1/1-2-1-1
2-1-1-2/1-1-2-1/1-1-2-1/1-2-1-1
2-1-1-1/2-1-1-1/2-1-1-1/2-1-1-1
2-1-1-1/2-1-1-1/2-1-1-1/2-1-1-1
2-1-1-1/2-1-1-1/2-1-1-1/2-1-1-1
2-1-1-1/2-1-1-1/1-2-1-1/2-1-1-1
2-1-1-1/2-1-1-1/2-1-1-1/2-1-1-1
2-1-1-2/1-1-2-1/1-1-2-1/1-2-1-1
2-1-1-2/1-1-1-2/1-1-2-1/1-1-1-1
2-1-1-2/1-1-1-1/2-1-1-1/1-2-1-1
2-1-1-1/2-1-1-1/2-1-1-1/2-1-1-1
2-1-1-1/1-2-1-1/1-2-1-1/1-2-1-1
2-1-1-1/1-2-1-1/1-2-1-1/1-2-1-1
2-1-1-1/1-2-1-1/1-1-2-1/1-1-1-1
2-1-1-1/2-1-1-1/2-1-1-1/2-1-1-1
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
2-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
2-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
1-2-1-1/1-1-2-1/1-1-1-2/1-1-1-1
1-2-1-1/1-1-2-1/1-1-1-2/1-1-1-1
2-1-1-1/1-1-1-1/1-1-1-2/1-1-1-1
2-1-1-1/2-1-1-1/2-1-1-1/2-1-1-1
2-1-1-1/1-1-1-1/2-1-1-1/1-1-1-1
2-1-1-1/1-1-1-2/1-1-1-1/1-1-1-1
2-1-1-1/1-1-2-1/1-1-1-1/1-1-1-1
2-1-1-1/1-1-1-1/2-1-1-1/1-1-1-1
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
2-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
2-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
2-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
2-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
2-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
2-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
2-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
1-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1
2-1-1-1/1-1-1-1/1-1-1-1/1-1-1-1

52.7
52.9
55.2
58.5
56.4
56.4
58.2
62.7
58.2
59.0
59.0
60.7
64.1
64.1
65.5
64.7
64.3
64.3
64.3
67.0
64.9
64.9
65.5
64.9
74.9
75.3
75.4
76.2
73.6
73.6
74.8
74.7
70.6
70.6
71.3
71.3
86.9
86.9
88.8
87.7
83.8
84.1
83.8
83.8
74.4
74.4
74.4
75.9
97.4
97.4
97.4
98.7
89.3
89.3
89.8
91.5
79.7
79.7
79.7
84.6

0.3
4.6
10.9
0.0
3.2
11.2
1.3
1.3
4.3
0.0
0.9
0.9
0.0
0.0
4.2
0.0
0.9
0.0
0.6
0.7
1.7
0.0
1.6
1.3
0.0
1.0
1.0
0.0
2.2
1.0
0.4
0.0
0.0
0.0
0.0
2.0
0.0
0.0
0.0
0.0
0.6
0.6
0.0
0.0
6.2

284 708
68
10
1
323 056
48
11
1
207 610
42
10
1
233 618
42
11
1
163 595
76
15
1
223 639
52
10
1
134 261
144
16
1
120 681
342
10
1
60 640
60
16
1
97 895
162
10
1
45 337
214
13
1
24 287
34
11
1
40 416
334
8
1
21 558
42
9
1
185
32
7
1

1213
6.1
1.1
0.1
1344
4.2
1.7
0.1
1030
3.9
1.5
0.1
1164
4.1
1.1
0.1
966
7.9
1.9
0.1
1258
5.8
2.1
0.1
865
15.1
2.0
0.1
755
35.1
1.1
0.1
504
7.1
1.9
0.1
1192
17.1
0.9
0.1
694
20.5
1.2
0.1
373
3.1
0.9
0.1
535
30.7
0.9
0.1
268
4.1
1.2
0.1
105
2.9
0.9
0.1

590

Journal of the Operational Research Society Vol. 67, No. 4


60

, CV, cost ratio


(8, 0.1, 0.5:0.5)
(8, 0.1, 0.565:0.435)
(8, 0.1, 0.435:0.565)
(8, 0.5, 0.5:0.5)
(8, 0.5, 0.565:0.435)
(8, 0.5, 0.435:0.565)
(20, 0.1, 0.5:0.5)
(20, 0.1, 0.565:0.435)
(20, 0.1, 0.435:0.565)

CV

0.2
0.1

7.6

7.7

7.8

7.9

8.0

8.1

8.2

8.3

8.4

8.5

8.1

8.2

8.3

8.4

8.5

# of patients

40

0.3

0.3
0.2

CV

20

0.1

7.6

7.7

7.8

7.9

8.0


0
1

10

11

12

13

14

15

16

Block

Figure 4 Cumulative allocated patients for the three


congurations (, CV) = (8, 0.1); (8, 0.5); and (20, 0.1) with three
cost ratios 0.435:0.565, 0.5:0.5, and 0.565:0.435.

CDO administrative staffs may use a relative importance


measure of both penalties, even though they do not have exact
cost information about delay and idleness. If they want to utilize
physicians better (ie, cd ci), they are willing to assign more
patients (ie, d^xe) from the begin block. If more patients are
assigned in the earlier blocks, subsequent block sizes are less
likely to be d^xe: On the contrary, if they want to avoid crowding
in the waiting room (ie, cd ci), they are willing to assign less
patients. If less patients are assigned in the earlier blocks,
subsequent block sizes are more likely to be d^xe:
Variability also plays an important role in determining block
sizes. Figure 4 (see Congurations (1) and (2)) shows that the
cumulative line for the higher CV is below and that the total
allocated patients in a day is smaller as CV is higher. Higher CV
affects block sizes of the later blocks. CDO administrative staffs
are likely to assign less patients b^xc in the later blocks, if CV
is high. The cost ratio may affect block sizes more than CV
does, when CV is low.
The rst block size is always d^xe; which is the optimal
solution to INV problem, except when cd < ci and variability is
high (CV = 0.5). The second or subsequent block sizes depends
upon variance and cost ratio. If cd < ci and variance is small, d^xe
is the best for the second block. Otherwise, b^xc is optimal. The
rst block size has an impact on the subsequent blocks. Hence,
b^xc is optimal even though d^xe is optimal for individual INV
problems. When variance is small, more d^xe block sizes are
assigned. It is trivial to assign more d^xe block sizes when cd > ci
than when cd < ci.
We nd that either CON or IMP provides the highest quality
solutions for all cases, which is the same or very close to the
solutions obtained by CPLEX. We expect that CON provides

Figure 5 An illustrative example of iso-solutions for the case of


( = 8 min, CV = 0.1, cd: ci = 1:1.3) or (8, 0.1, 1.3:1), respectively.
(a) Iso-solutions when cd: ci = 1:1.3; (b) iso-solutions when
cd: ci = 1.3:1

the best block sizes for all cases since it searches a large number
of feasible block sizes. To get the optimal block sizes, we
should use a larger tolerance rather than the current values.
Preliminary tests show that current values not only remove most
unrealistic values that are far from the optimum, but there is also
a possibility of removing the optimal block sizes as well. The
numerical studies show that the best solution using the current
values is close to the optimal solution. However, there are
limitations for CON and IMP heuristics. The CON heuristic has
a limitation that it may be hard to nd good tolerance ratios at
stages. The IMP heuristic also has a limitation of neighbourhood search approach that there might be no break-through
solution from current solution to global optimal solution.
t-Bailey can be the best block size rule for certain case in
which variance is large. For example, t-Bailey is the best when
= 8 min, cd: ci = 1:1 and CV = 0.5; and when = 20 min, cd:
ci = 1:1.3 and CV = 0.5. p-Bailey-s rule can be used for the case
of small variance, whereas p-Bailey-l rule can be used for the
case of larger variance.
In most cases, t-Bailey or p-Bailey rule performs worse than
IMP and CON. When variance is large, three rules have
different solutions of block sizes but objective function values
are close to each other. When variance is small, t-Bailey rule
gives the worst objective function value, which is 1.7 ~ 1.9
times of the two heuristic rules.
We see how sensitive the optimal solution is to , CV, and
cost ratios (cd: ci). Figure 5 depicts two iso-solutions for each
case of ( = 8 min, CV = 0.1, cd: ci = 1:1.3) or ( = 8, CV = 0.1,
cd: ci = 1.3:1), respectively. Iso-solutions are the same optimal
block sizes for different congurations. We take 8 blocks into
account, because iso-solutions is unique for 16 blocks. Isosolutions look off-diagonal, which means that as increases,
CV should be smaller for iso-solutions. If cd ci, the smaller

Sangdo Choi and Amarnath BanerjeeOutpatient appointment scheduling system

block size (ie, b^xc) is assigned at most times, because the


smaller block size (ie, b^xc) affect less on later blocks. The case
of cd ci is less sensitive to iso-solutions than the case of cd ci.
Two opposite forces are conicting, if cd ci. The rst force is
to allocate more patients if cd ci, the other force is to allocate
less patients if cd ci. Generally, it is very likely to allocate less
patients because earlier blocks affect later blocks. Hence, if
cd ci, two opposite forces interact with each other and isosolutions are more robust than sensitive. If cd ci, the same
directional force to allocate less patients works severely and isosolutions are more sensitive than the case of cd ci. When CV
is small, we have more iso-solutions. There is no iso-solution
for CV = 0.3 or larger. It is intuitive that iso-solutions become
increasingly more sensitive with increasing values of CV.

6. Conclusions and discussions


This paper provides two heuristic methodologies (CON and
IMP) and three periodic Bailey rules to appointment scheduling. CON tries to search as many solution options as
possible and to obtain near-optimal block size, but requires
more running time and iterations than IMP. IMP uses SINV
model to obtain the initial solution and revises by updating a
partial series of the current solution. IMP heuristic takes a
few iterations only. CON heuristic searches many feasible
block size rules near optimality. The best result by CON
depends upon tolerance ratios. One of the practical limitations is the difculty in nding good tolerance ratios.
Empirically, IMP provides the best block size rule in a
few steps. IMP requires a good initial block size rule.
We suggest periodic Bailey rules considering the relative
importance between delay and idle times. Periodic Bailey
rule is easy to implement and straightforward to interpret.
We recommend that CDO administrators use IMP to get a
base solution rst and nd a periodic Bailey rule that is close
to IMP.
There are several venues for future research. Uncertainties in
patient arrival can be explored for further investigation. Noshow possibility also can be considered for patient arrival
uncertainty. Different classes of patients can be involved in
the appointment scheduling. For example, new patients may
take more time for the rst visit or completing their personal
prole. The current model assumes a single server, which
may be expressed by a representative server even though
there are several identical servers. A CDO may involve a
multi-server appointment system. Finally, a multi-phase
appointment system can be explored where the appointment
system can handle the needs of patients to see multiple
caregivers in a sequential manner.
Acknowledgements The authors would like to thank anonymous reviewers
for their helpful comments and suggestions. Funding was partially provided
by the Vice President of Academic Affair at Shenandoah University,
Adrienne Bloss.

591

References
Bailey NTJ and Welch JD (1952). Appointment systems in hospital
outpatient department. Lancet 259(6718): 11051108.
Begen MA and Queyranne M (2011). Appointment scheduling with
discrete random durations. Mathematics of Operations Research
36(2): 240257.
Belin J and Demuelemeester E (2007). Building cyclic master surgery
schedules with leveled resulting bed occupancy. European Journal of
Operational Research 176(2): 11851204.
Belin J, Demuelemeester E and Cardoen B (2009). A decision support
system for cyclic master surgery scheduling with multiple objectives.
Journal of Scheduling 12(2): 147161.
Bruin AM, Koole GM and Visser MC (2005). Bottleneck analysis of
emergency cardiac in-patient ow in a university setting: An
application of queuing theory. Clinical and Investigative Medicine
28(6): 316317.
Cardeon B, Demeulemeester E and Belin J (2009). Sequencing surgical
cases in a day-care environment: An exact branch-and-price approach.
Computers & Operations Research 36(9): 26602669.
Cayirli T and Veral E (2003). Outpatient scheduling in health care:
A review of literature. Production and Operations Management
12(4): 519549.
Chase M (2005). Beginning patient ow modeling in Vancouver
coastal health. Clinical and Investigative Medicine 28(6): 323325.
Choi S and Ketzenberg M (2014). An inverse newsvendor model to set
the optimal number of customers in a capacitated environment.
Working paper, Shenandoah University.
Choi S and Wilhelm WE (2012). An analysis of sequencing surgeries
with durations that follow the lognormal, gamma, or normal distribution. IIE Transactions on Healthcare Systems and Engineering
2(2): 156171.
Choi S and Wilhelm WE (2014). An approach to optimize master
surgical block schedules. European Journal of Operational Research
235(1): 138148.
Denton B and Gupta D (2003). A sequential bounding approach for
optimal appointment scheduling. IIE Transactions 35(11): 10031016.
Dexter F and Traub RD (2002). How to schedule elective surgical cases
into specic operating rooms to maximize the efciency of use of
operating room time. Anesthesia and Analgesia 94(4): 933942.
Fries B and Marathe V (1981). Determination of optimal variablesized multiple-block appointment systems. Operations Research
29(2): 324345.
Green LV, Savin S and Wang B (2006). Managing patient service in a
diagnostic medical facility. Operations Research 54(1): 1125.
Gupta D (2007). Surgical suites operations management. Production
and Operations Management 16(6): 689700.
Gupta D and Denton B (2008). Appointment scheduling in health care:
Challenges and opportunities. IIE Transactions 40(9): 800819.
Hans E, Wullink G, van Houdenhoven M and Kazemier G (2008).
Robust surgery loading. European Journal of Operational Research
185(3): 10381050.
Ho C and Lau H (1992). Minimizing total cost in scheduling outpatient
appointments. Management Science 38(12): 17501764.
Ho C and Lau H (1999). Evaluating the impact of operating conditions on
the performance of appointment scheduling rules in service systems.
European Journal of Operational Research 112(3): 542553.
Ho C, Lau H and Li J (1995). Introducing variable-interval appointment
scheduling in service systems. International Journal of Operations &
Production Management 15(6): 5969.
Kaandorp G and Koole G (2007). Optimal outpatient appointment
scheduling. Health Care Management Science 10(3): 217229.
Klassen K and Rohleder T (1996). Scheduling outpatient appointments
in a dynamic environment. Journal of Operations Management 14(2):
83101.

592

Journal of the Operational Research Society Vol. 67, No. 4

Liao C, Pegden C and Rosenshine M (1993). Planning timely arrivals to a


stochastic production or service system. IIE Transactions 25(5): 6373.
Mancilla C and Storer R (2009). Theses and Dissertation, Lehigh
University, Department of Industrial and Systems Engineering, 14
November 2009.
Marcon E, Kharraja S and Simmonet G (2003). The operating theatre
scheduling: An approach centered on the follow-up of the risk of no
realization of the planning. International Journal of Production
Economics 85(1): 8390.
Pham D and Klinkert A (2008). Surgical case scheduling as a generalized
job shop scheduling problem. European Journal of Operational
Research 185(3): 10111025.
Robinson L and Chen R (2003). Scheduling doctors appointment:
Optimal and empirically-based heuristic policies. IIE Transactions
35(3): 295307.

Wang P (1993). Static and dynamic scheduling of customer arrivals to a


single-server system. Naval Research Logistics 40(3): 345360.
Wang P (1997). Optimally scheduling N customer arrival times
for a single-server system. Computers & Operations Research 24(8):
703716.
Weiss E (1990). Models for determining estimated start times and case
orderings in hospital operating rooms. IIE Transactions 22(2): 143150.
van Houdenhoven M, van Oostrum JM, Hans EW, Wullink G and
Kazemier G (2007). Improving operating room efciency by applying
bin-packing and portfolio techniques to surgical case scheduling.
Anesthesia and Analgesia 105(3): 707714.

Received 30 October 2014;


accepted 27 August 2015 after three revisions

Potrebbero piacerti anche