20
Optimal outpatient appointment scheduling Guido C. Kaandorp & Ger Koole Department of Epidemiology & Biostatistics, Erasmus Medical Center Rotterdam, The Netherlands Department of Mathematics, VU University Amsterdam, The Netherlands Health Care Management Science 10:217–229, 2007 Corresponding author: Ger Koole Department of Mathematics, Vrije Universiteit De Boelelaan 1081a, 1081 HV Amsterdam, Holland Tel. +31 20 5987755, fax +31 20 5987653 [email protected] 1

Optimal outpatient appointment schedulingkoole/publications/2007hcms2/art.pdf · 2008-10-17 · Optimal outpatient appointment scheduling Abstract In this paper optimal outpatient

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Optimal outpatient appointment scheduling

Guido C. Kaandorp† & Ger Koole‡

† Department of Epidemiology & Biostatistics, Erasmus Medical Center Rotterdam, The Netherlands‡ Department of Mathematics, VU University Amsterdam, The Netherlands

Health Care Management Science 10:217–229, 2007

Corresponding author: Ger KooleDepartment of Mathematics, Vrije UniversiteitDe Boelelaan 1081a, 1081 HV Amsterdam, HollandTel. +31 20 5987755, fax +31 20 [email protected]

1

Optimal outpatient appointmentscheduling

Abstract

In this paper optimal outpatient appointment scheduling is studied. A local search pro-cedure is derived that converges to the optimal schedule with a weighted average of ex-pected waiting times of patients, idle time of the doctor and tardiness (lateness) as objective.No-shows are allowed to happen. For certain combinations of parameters the well-knownBailey-Welch rule is found to be the optimal appointment schedule.Keywords: patient scheduling, health care, local search, multimodularity

1 IntroductionOutpatient appointment scheduling has been the subject of scientific investigation since the be-ginning of the fifties of the previous century when Bailey and Welch wrote [1]. The objective ofappointment scheduling is trading off the interests of physicians and patients: the patients preferto have a short waiting time, the physician likes to have as little idle time as possible, and tofinish on time. Bailey & Welch [1] introduced the first advanced scheduling rule and tested itthrough simulation. Since then many papers have appeared that analyzed appointment schedul-ing in various settings (see Cayirli and Veral [2] for an overview). Most of them use simulation toanalyze the performance of different appointment scheduling rules. A new method is introducedto determine optimal scheduling rules for arbitrary numbers of patients. Service time durationsare exponentially distributed and patients arrive on time. No-shows are allowed to happen. Thesetting is discrete time, i.e., there is a finite number of (equally spaced) potential arrival moments.

A local search method is described that, starting from an arbitrary appointment schedule,tries to find neighboring appointment schedules that are better. From Koole & Van der Sluis [7]it follows that when the objective has a certain property related to convexity (called multimodu-larity) then a locally optimal schedule is globally optimal. The main technical result of this paperis the proof that our objective is indeed multimodular. This objective is a weighted sum of theaverage expected patient waiting time, the idleness of the doctor during the session length, andthe tardiness. The tardiness is the probability that the session exceeds the planned finishing timemultiplied by the average excess.

The local search method is also implemented and available for public use on the world wideweb at obp.math.vu.nl/healthcare/software/ges. For big instances (many intervals) the computa-tion times can be quite long. A faster local search method with a smaller neighborhood is alsoimplemented. It is not guaranteed that it terminates with a global optimum solution, but it givesvery good results, also for big instances, within a reasonable amount of time.

We give a short literature overview. The seminal paper on outpatient scheduling is Bailey &Welch [1]. For an overview of the results obtained since then, see Cayirli and Veral [2]. Roughlyspeaking we can classify the papers as follows: there are those that evaluate schedules (oftenusing simulation) and those that design algorithms to find good schedules. A recent example of

2

the former, not included in [2], is Hutzschenreuter [6]. In addition to no-shows she considerspatients not arriving on time, and non-exponential service times. Those papers that present al-gorithms to design schedules can also be divided in two: those that focus on continuous time,which deal with finding the optimal interarrival intervals, and those that focus on discrete time,where the question is how many arrivals should be scheduled at each potential arrival moment.Pegden & Rosenshine [10] consider a continuous-time model. Their algorithm finds the opti-mal arrival moments, assuming convexity of the objective in the interarrival times. Also Lau &Lau [8] give a procedure for finding optimal arrival instants, again assuming convexity. Hassin& Mendel [5] extend this work to no-shows. Wang [16, 17] proves optimality, for phase-typeservice-time distributions, but for a limited number of patients. Denton and Gupta [3] formulatethe problem as a two-stage stochastic linear program. Their algorithm is a good approach forquickly approximating large-scale systems. Also Robinson and Chen [12] consider a stochasticlinear program. They derive a fast heuristic for finding good and robust interarrival times, usingthe fact that interarrival times are dome-shaped, meaning that they are shorter at the beginningand near the end of the session, and longer in the middle.

Let us now consider papers that are most relevant to the current work as they are dealingwith discrete time, i.e., a finite number of potential arrival moments. In Liao et al. [9] a branch-and-bound method is used to find the optimal schedule. This works only for small instances.Vanden Bosche, Dietz & Simeoni [15] use a method that resembles the method of this paper ina number of ways. They derive upper and lower bounds for the optimal appointment schedule.To show these bounds they use what they call submodularity (Lemma 1 of [15]), which is infact multimodularity on a subset of the equations that we use (see the appendix). Using theresults of [15] upper and lower bound schedules (which often coincide) can be made startingfrom specific schedules. Our results give convergence to the optimal schedule starting from anyschedule. The results of [15] are extended to different types of patients in Vanden Bosche &Dietz [13], and also to no-shows in Vanden Bosche & Dietz [14]. The inclusion of differenttypes of patients is relatively straightforward, the sequence is optimized using local search, andfor each sequence the optimal schedule is determined using the method of [15]. Also our proofsnowhere use the fact that service times are equally distributed. Summarizing, compared to thework of Vanden Bosche and co-authors, our stronger sub/multimodularity results allow us toformulate an algorithm that converges from any initial schedule to the optimal one.

The paper is structured as follows. In Section 2 a model is defined, in which we can computefor an arbitrary appointment schedule the objective. In Section 3 the local search algorithm isdescribed. Section 4 is devoted to numerical results. The proof that our objective is multimodularis given is Appendix A.

2 ModelFor the scheduling problem we have to introduce some variables. A treatment/operation room isoperational during T intervals with length d (for example a day from 8.00AM till 4.00PM split inintervals with length 10 minutes gives T = 48 and d = 10). Within these T intervals a total of Npatients should be scheduled. Patient service times are assumed to be exponentially distributed

3

with rate µ (and expectation µ−1).Let xt ∈ {0, . . . ,N} be the number of patients scheduled at the start of interval t. A schedule

is a vector (x1, . . . ,xT ) with∑T

t=1 xt = N. So we have:

• β = 1µ : average service time

• T : number of intervals

• d: length of interval

• N: total number of patients

• xt : number of patients scheduled at the start of interval t, t = 1, . . . ,T

In the model we make the following assumptions:

• The service times of patients are independent and exponentially distributed.

• Patients always come on time (no-shows are modeled later on).

In the following sections we will give the formulas for calculating for a given schedule themean waiting time, idle time and tardiness (lateness), which we call W (x), I(x) and L(x), re-spectively. To compare schedules we give weights αW , αI , and αL to the three main factors toobtain the overall objective function C(x) = αWW (x)+ αII(x)+ αLL(x). Our problem can nowbe stated as follows:

min{

αWW (x)+αII(x)+αLL(x)∣∣∣ ∑t xt = N

xt ∈ N0

}(1)

For a given schedule (x = (x1, . . . ,xT )) the probabilities of having i patients in the queue justbefore new arrival(s) and just after arrival(s) can be calculated. This can be used to calculate themean waiting time, idle time and tardiness. We introduce the following notation:pt−(i) = P(i patients in queue just before the arrival(s) at interval t) andpt+(i) = P(i patients in queue just after the arrival(s) at interval t).

We start empty, thus p1−(0) = 1. Iteratively the other probabilities can be calculated asfollows:

p1−(0) ≡ 1,pt+( j) = 0, 0 ≤ j < xt ,pt+( j) = pt−( j− xt), j ≥ xt ,

p(t+1)−(0) =∑N

i=0 pt+(i)bi,

p(t+1)−( j) =∑N

i= j pt+(i)ai− j, j ≥ 0.

where

ai = P(# potential departures = i) =(µd)i

i!e−µd

4

and

bi = P(# potential departures ≥ i) = 1−i−1∑j=0

ai.

Because of the exponential service time distributions the potential number of departures in anyinterval has a Poisson distribution.

2.1 Mean waiting time of a patientIf a patient arrives and finds k patients in the queue (including the patient who is currently beingtreated), then the mean waiting time of that patient will be k/µ. In our model patients arrive justbefore a new interval alone or in groups. The ith one of that group has a mean waiting time of∑N

j=0 pt−( j) · ( j + i− 1)1µ . This is just the mean waiting time of one patient, so we must sum

them all over the groups and intervals an divide that through all N patients. Thus we find thefollowing formula for the mean waiting time:

W (x) =1N

T∑t=1

xt∑i=1

N∑j=0

pt−( j) · ( j + i−1)1µ

(2)

2.2 Mean idle time of a doctorFor calculating the mean idle time of a doctor, we calculate first the mean makespan M(x),which is the time the last patient finishes. Then it is easy to find the mean idle time I(x), becauseI(x) = M(x)−N/µ.

Set t̃ ≡{max t|xt > 0}. Now we know for sure that the makespan is greater than (t̃−1)d. Thedistribution of the number of patients in the queue at time t̃ is known. So the average makespanis

M(x) = (t̃−1)d +N∑

j=1

pt̃+( j) · jµ.

So now we obtain the following formula for the mean idle time:

I(x) =((t̃−1)d +

N∑j=1

pt̃+( j) · jµ

)− N

µ(3)

2.3 Mean tardinessFor the mean tardiness of the day we look at the end of the last interval. Now if there are jpatients in queue, then the extension is on average j 1

µ . We know the patient distribution just afterthe last interval T , so the tardiness function is as follows:

5

L(x) =N∑

j=1

p(T+1)−( j)jµ

(4)

2.4 Including No-showsWe can add no-shows to our model. This is an important generalization as no-shows occurfrequently in practice. Every patient now has a probability ρ of not showing up. We assume thatρ is the same for all patients and that the patients are independent. Thus the number of arrivalsat time t has a Binomial(xt ,ρ) distribution.

This changes the formulas used in the model as follows. pt−(i) remains the same. pt+(i) issomewhat different, because it is not known how many patients are exactly coming. We mustsum over the distribution of how many patients will be arrive. This gives for pt−(i) and pt+(i):

p1−(0) ≡ 1,pt+( j) =

∑xtk=0

(xtk

)ρxt−k(1−ρ)k · pt−( j− k), j ≥ 0,

p(t+1)−(0) =∑N

i=0 pt+(i)bi,

p(t+1)−( j) =∑N

i= j pt+(i)ai− j, j ≥ 0.

2.4.1 Mean waiting time of a patient

For the mean waiting time, for all intervals we must additionally sum the waiting time over thedistribution of the number of arriving patients. This gives the following equation:

W (x) =1

N(1−ρ)

T∑t=1

xt∑k=1

(xt

k

xt−k(1−ρ)k( k∑

i=1

N∑j=0

pt−( j) · j + i−1µ

)(5)

2.4.2 Mean idle time of a doctor

Again we first calculate the makespan. Now we do not know when the last patient is coming.But we can calculate the probability that the last patient is coming at interval t. This probabilityis

P(last patient is coming at interval t)= P(all patients after interval t are no-shows)P(# arrivals at time t ≥ 1)

= ρN−

Pti=1 xi(1−ρ

xt ).

If the last patient is coming at interval t, we know for sure the makespan is greater than(t − 1)d. To calculate the excess after interval t, we sum over the distribution of the number ofpatients that come (having in mind that at least one patient comes) times the mean excess.

6

What we find is then:

M(x) =∑

t:xt>0

P(last patient is coming at time t)E(mean makespan|last patient is coming at time t)

=∑

t:xt>0

ρN−

Pti=1 xi(1−ρ

xt )

((t−1)d +

xt∑k=1

(xtk

)ρxt−k(1−ρ)k

1−ρxt

N∑i=0

pt−(i) · i+ kµ

)

The mean idle time is then given by:

I(x) = M(x)−N(1−ρ)1µ

(6)

The question can be asked how important this mean idle time is, because now the time be-tween the real last patient and the last planned patient is not added as idle time. So in the case ofno-shows the idle time is less relevant as objective and should have a relatively low weight.

2.4.3 Mean tardiness

The formula of the mean tardiness is the same (of course with the new probabilities pt−(i) andpt+(i)).

3 Local searchTo compute the schedule with the lowest objective value we could try all possible schedules (thesolution space) and look which one has the lowest objective value. But the number of all possibleschedules is huge (it is

(N+T−1N

)), so we need a search algorithm to reduce the computation time.

A local search algorithm starts with a feasible solution and tries iteratively to improve the currentsolution by searching a better solution in its neighborhood until a local minimum is found.

In general the local minimum is not a global minimum, but for the current problem and awell-chosen neighborhood it is possible to show that the local search algorithm finishes in theglobal minimum.

We introduce our neighborhood. Define the vectors

u1,u2,u3,...

uT−1,uT

=

(−1,0, . . . ,0,1),(1,−1,0, . . . ,0),

(0,1,−1,0, . . . ,0),...

(0, . . . ,1,−1,0),(0, . . . ,0,1,−1)

,

and take V ∗ = {u1, . . . ,uT}. As the neighborhood of schedule x we take all vectors of the formx + v1 + · · ·+ vk with v1, . . . ,vk ∈ V ∗ such that x + v1 + · · ·+ vk ≥ 0. Then the algorithm is asfollows.

7

Algorithm for computing an optimal schedule1. Start with some schedule x2. For all U ( V ∗:

for y = x+∑

v∈U v such that y ≥ 0 compute C(y);if C(y) < C(x) then x := y and start again with step 2

3. x is the optimal schedule

A vector ut can be interpreted as moving a patient from time slot t to time slot t − 1. Thusthe neighborhood of x consists of all combination of single-interval shifts starting from x. InAppendix A we prove that with this neighborhood the local search algorithm converges to theglobal optimal solution.

In the online tool we also implemented a smaller neighborhood that gives much faster results.Under this option we simply take y = x+u for all u ∈ U in step 2 of the algorithm, thus we onlyconsider U with |U|= 1.

4 Numerical examplesIn this section we give some numerical examples. All these computations were done with ourwebtool which is available for experimentation at obp.math.vu.nl/healthcare/software/ges.

Let the following be the base-case scenario. A medical practice is operational between8.00AM and 12.00AM. We split this interval up in 48 intervals of 5 minutes. Thus T = 48and d = 5. A treatment duration is on average 20 minutes (1/µ = 20) and the percentage ofno-shows is 10% (ρ = 0.10). We want to plan 10 patients (N = 10).

To analyze this model with the small neighborhood (which is not guaranteed to give theoptimal solution) took a few seconds, analyzing the full neighborhood (what we did for all casesconsidered in this section) took around 12 hours for each instance.

First we compute for base-case scenario the the optimal schedule, for different weights in ourobjective function. The weight for the tardiness is taken 1 (αL = 1), for the idle time it is taken0.2 (αI = 0.2). The idle time has a relatively low weight because of the no-shows. We took fourdifferent weights for αW (0.5, 1, 2, and 10), and determined the optimal schedules for each ofthese cases. The schedules are given in Figure 1.

8:00

8:10

8:20

8:30

8:40

8:50

9:00

9:10

9:20

9:30

9:40

9:50

10:00

10:10

10:20

10:30

10:40

10:50

11:00

11:10

11:20

11:30

11:40

11:50

αW=0.5 2αW=1αW=2αW=10

Figure 1: Base-case scenario with different weights

It is seen that if the waiting time has given a bigger weight then the patients are more spreadout to the end of the schedule, as one would expect. In the optimal schedule with αW = 0.5there are two patients scheduled at the beginning of the day. Note that the optimal schedule forαW = 0.5 is close to the Bailey-Welch rule. In all cases the times between consecutive arrivals

8

first increases and then decreases again. This is the dome-shaped form that we discussed in theliterature overview.

To have a better look on the results we compare the optimal schedules with two existingschedules: the individual block schedule and the Bailey-Welch rule. With the individual blockschedule the working day is divided in the same number of intervals as there are patients. In eachblock exactly one patient is scheduled. The Bailey-Welch rule is similar as the individual blockschedule, but with the last patient moved to the beginning of the day. So in our base-case scenariothe individual block schedule and the Bailey-Welch rule plan every 24 minutes a patient, with theexception that the Bailey-Welch rule schedules two patients at 8.00AM and none at 11.36AM.

αW = 0.5 αW = 1 αW = 2 αW = 10 Individual Bailey-WelchMean Waiting Time 26.46 19.90 15.35 9.85 12.37 16.75Mean Idle Time 21.86 36.69 54.02 88.58 72.14 50.07Mean Tardiness 7.99 9.60 12.61 29.79 19.62 11.42Object value (αW = 0.5) 25.59 40.23 29.81Object value (αW = 1) 36.83 46.41 38.18Object value (αW = 2) 54.12 58.78 54.94Object value (αW = 10) 146.00 157.72 188.95

Table 1: Outcome values for different schedules

The results of the schedules are given in Table 1. The optimal schedules are of course betterthan the two existing schedules, but it can been seen for αW = 2 that the Bailey-Welch scheduleis almost as good as the optimal one.

Now we will look what happens with the optimal schedules if we change some parameters.The changes are chosen such that the total workload does not change. The workload for thebase-case scenario is Nβ(1−ρ) = 10∗20∗0.9 = 180 minutes. We change the parameters two ata time, ρ and β, N and β, and N and ρ, respectively. Let αW = 2 and the other parameters fixedas in the base-case scenario. The optimal schedules are given in Figure 2. The correspondingoutcome values are shown in Table 2.

From Table 2a we see that if ρ becomes larger (thus β decreases) the mean waiting time,idle time and tardiness all becomes larger, because of the higher uncertainty. From the results ofTable 2b it is seen that if β becomes smaller (thus N increases) then the mean waiting time, idletime and tardiness all becomes smaller because of reduced uncertainty. The results of Table 2cshow us that if ρ becomes larger (thus N decreases) the mean waiting time, idle time and tardinessall becomes larger because of the higher uncertainty.

A final change in parameters would be changing T and d. This would evidently lead to moresimultaneous arrivals.

5 ConclusionsIn this paper a method is presented to obtain optimal outpatient schedules in case of a finite num-ber of possible arrival epochs. The proof of the optimality relies on showing that the objective ismultimodular, which is a generalization of convexity to lattices.

Numerical results are presented. The interarrival times have a dome shape, as observed earlierin the literature: the first interarrival times are short, then they get longer, and become again short.

9

8:00

8:10

8:20

8:30

8:40

8:50

9:00

9:10

9:20

9:30

9:40

9:50

10:00

10:10

10:20

10:30

10:40

10:50

11:00

11:10

11:20

11:30

11:40

11:50

ρ=0, β=18ρ=0.1, β=20ρ=0.25, β=24ρ=0.5, β=36 2

Figure 2a: Optimal schedules (ρ against β)

8:00

8:10

8:20

8:30

8:40

8:50

9:00

9:10

9:20

9:30

9:40

9:50

10:00

10:10

10:20

10:30

10:40

10:50

11:00

11:10

11:20

11:30

11:40

11:50

N=8, β=25N=10, β=20N=16, β=12.5N=20, β=10

Figure 2b: Optimal schedules (N against β)

8:00

8:10

8:20

8:30

8:40

8:50

9:00

9:10

9:20

9:30

9:40

9:50

10:00

10:10

10:20

10:30

10:40

10:50

11:00

11:10

11:20

11:30

11:40

11:50

N=9, ρ=0N=10, ρ=0.1N=12, ρ=0.25N=18, ρ=0.5 2

Figure 2c: Optimal schedules (N against ρ)

Note that in certain cases the optimal rule is close to the Bailey-Welch rule. For certain parametervalues the Bailey-Welch rule is indeed optimal.

Acknowledgment The authors would like to thank the three anonymous referees for their valu-able suggestions.

References[1] N. T. J. BAILEY AND J. D. WELCH Appointment systems in hospital outpatient depart-

ments. The Lancet 259, 1105–1108, 1952

[2] T. CAYIRLI, E. VERAL Outpatient scheduling in health care: a review of literature. Pro-duction and Operations Management 12, 519–549, 2003

[3] B. DENTON AND D. GUPTA A sequential bounding approach for optimal appointmentscheduling. IIE Transactions 35, 1003–1016, 2003

[4] B. HAJEK Extremal splitting of point processes. Mathematics of Operations Research 22,543–556, 1985

[5] R. HASSIN AND S. MENDEL Scheduling arrivals to queues: a model with no-shows.Working paper, 2006

10

ρ = 0, β = 18 ρ = 0.1, β = 20 ρ = 0.25, β = 24 ρ = 0.5, β = 36Mean Waiting Time 13.43 15.35 18.93 27.29Mean Idle Time 51.67 54.02 56.96 60.66Mean Tardiness 10.04 12.61 17.28 28.59Object value 47.24 54.12 66.53 95.29

Table 2a: Outcome values (ρ against β)

N = 8,β = 25 N = 10,β = 20 N = 16,β = 12.5 N = 20,β = 10Mean Waiting Time 16.74 15.35 11.83 11.09Mean Idle Time 54.82 54.02 53.53 49.30Mean Tardiness 15.56 12.61 8.10 5.60Object value 60.00 54.12 42.47 37.63

Table 2b: Outcome values (N against β)

N = 9, ρ = 0 N = 10, ρ = 0.1 N = 12, ρ = 0.25 N = 18, ρ = 0.5Mean Waiting Time 14.44 15.35 17.48 21.73Mean Idle Time 50.12 54.02 56.43 58.07Mean Tardiness 10.83 12.61 14.63 17.35Object value 49.73 54.12 60.89 72.43

Table 2c: Outcome values (N against ρ)

[6] A. HUTZSCHENREUTER Queueing models for outpatient appointment scheduling. M.Scthesis, University of Ulm, 2005

[7] G. KOOLE AND E. VAN DER SLUIS Optimal shift scheduling with a global service levelconstraint. IIE Transactions 35, 1049–1055, 2003

[8] H. LAU AND A.H. LAU A Fast Procedure for Computing the Total System Cost of anAppointment Schedule for Medical and Kindred Facilities. IIE Transactions 32, 833–839,2000

[9] C. LIAO, C.D. PEGDEN AND M. ROSENSHINE Planning Timely Arrivals to a StochasticProduction or Service System IIE Transactions 25, 36–73, 1993

[10] C.D. PEGDEN AND M. ROSENSHINE Scheduling Arrivals to Queues Computers & Oper-ations Research 17, 343–348, 1990

[11] R. RIGHTER Scheduling. Stochastic Orders and their Applications. Eds. M. Shaked and J.G. Shanthikumar Academic Press, 1994

[12] L.W. ROBINSON AND R.R. CHEN Scheduling doctors’ appointments: optimal andempirically-based heuristic policies IIE Transactions 35, 295–307, 2003

[13] P.M. VANDEN BOSCHE AND D.C. DIETZ Minimizing expected waiting in a medicalappointment system IIE Transactions 32, 841–848, 2000

[14] P.M. VANDEN BOSCHE AND D.C. DIETZ Scheduling and sequencing arrivals to an ap-pointment system Journal of Service Research 4, 15–25, 2001

11

[15] P.M. VANDEN BOSCHE, D.C. DIETZ AND J.R. SIMEONI Scheduling Customer Arrivalsto a Stochastic Service System Naval Research Logistics 46, 549–559, 1999

[16] P.P. WANG Static and Dynamic Scheduling of Customer Arrivals to a Single-Server Sys-tem Naval Research Logistics 40, 345–360, 1993

[17] P.P. WANG Optimally Scheduling N Customer Arrival Times for a Single-Server SystemComputers & Operations Research 24, 703–716, 1997

A Local search methodTo prove that the local search algorithm converges to the global optimum, we first show that ourobjective function is multimodular. We start by defining multimodularity.

A.1 MultimodularityMultimodularity (Hajek [4]) is a property of functions on Zm. Define the vectors v0, . . . ,vm ∈ Zm

as follows:

v0 = (−1,0, . . . ,0)v1 = (1,−1,0, . . . ,0)v2 = (0,1,−1,0, . . . ,0)

...vm−1 = (0, . . .0,1,−1)

vm = (0, . . . ,0,1)

Let V = {v0, . . . ,vm}. Now:

Definition A.1 A function f : Zm → R is called multimodular if for all x ∈ Zm,v,w ∈ V ,v 6= w,

f (x+ v)+ f (x+w)≥ f (x)+ f (x+ v+w) (7)

Central in the theory of multimodular functions is the concept of an atom.

Definition A.2 For some x ∈ Zm and σ a permutation of {0, . . . ,m}, we define the atom S(x,σ)as the convex set with extreme points x+ vσ(0),x+ vσ(0) + vσ(1), . . . ,x+ vσ(0) + · · ·+ vσ(m).

It is shown in Hajek [4] that each atom is a simplex, and each unit cube is partitioned into m!atoms; all atoms together span Rm.

In Koole and Van der Sluis [7] the following theorem is shown. It forms the basis of ourneighborhood choice.

Theorem A.3 For f multimodular, a point x ∈Zm is a global minimum if and only if f (x)≤ f (y)for all y 6= x such that y ∈ Zm is an extreme point of S(x,σ) for some σ.

12

Our problem (1) is a T − 1 dimensional problem: given x1, . . . ,xT−1 we derive xT by xT =N −

∑T−1t=1 xt . We will show that it has a multimodular objective function. The set of allowable

solutions is given by {x ∈ ZT−1|x ≥ 0,∑T−1

t=1 xt ≤ N}. This domain is not equal to ZT−1, so thequestion arises if the local search algorithm still converges to the global minimum. AccordingLemma 2 in Koole and Van der Sluis [7] Theorem A.3 remains valid for this subset of ZT−1.Proving that our objective function is multimodular for the T − 1-dimensional problem (1) isequivalent to showing that the objective function in T dimensions satisfies Equation (7) for v,w∈V ∗, where

V ∗ =

u1,u2,u3,...

uT−1,uT

=

(−1,0, . . . ,0,1),(1,−1,0, . . . ,0),

(0,1,−1,0, . . . ,0),...

(0, . . . ,1,−1,0),(0, . . . ,0,1,−1)

.

Note that ut is nothing else then moving a patient from time slot t to time slot t−1. Now weshow that our objective function is multimodular and that it can be minimized by a local searchalgorithm that is guaranteed to terminate in the global minimum. Our neighborhood is the set ofall possible combinations of the vectors ut added to the current schedule.

Theorem A.4 The waiting time function W (x), the idle time function I(x) and the tardinessfunction L(x), as defined in Equations (2)-(4), are multimodular for all ui,u j ∈ V ∗ for whichi 6= j.

Proof of theorem A.4 It is easy to see that if the makespan is multimodular then also the idletime is multimodular. Thus it is sufficient to show that the makespan, the waiting time and thetardiness are multimodular. Thus it has to be shown that

W (x+ui)+W (x+u j) ≥ W (x)+W (x+ui +u j) ,

M(x+ui)+M(x+u j) ≥ M(x)+M(x+ui +u j) andT (x+ui)+T (x+u j) ≥ L(x)+T (x+ui +u j)

for every possible i and j with 1≤ i < j ≤ T . We use coupling (see Righter [11]) for this proof, tocompare the different schedules x, x+ui, x+u j and x+ui +u j. For every possible combinationof i and j, all different possibilities of patient flows are distinguished to detect the differencebetween the number of patients in queue for each schedule for each time interval. First the proofis given for 2 ≤ i < j ≤ T .

In Figure 3, different paths are shown for the different schedules.

(A) Let us start with Case A. Schedule (A1) and schedule (A3) are following the same pathuntil time j−1. Also Schedule (A2) and schedule (A4) are following the same path untilthat time. In Case A the queue empties between time i and time j− 1, so from that timeon all the paths are the same. Thus just before time j−1, there are say k patients in queue.

13

x

x+ui

x+uj

x+ui+uj

i

i

i

i

i-1

i-1

i-1

i-1

j-1

j-1

j-1

j-1

j

j

j

j

(A1)

(A2)

(A3)

(A4)

Case Ak

k

k

k’

k’

k’+1

k’+1

k

The queue empties somewhere

x

x+ui

x+uj

x+ui+uj

Case B # departures = k’

(Bb1)

(Bb2)

(Bb3)

(Bb4)

# departures > k’

(Bc1)

(Bc2)

(Bc3)

(Bc4)

(Ba1)

(Ba2)

(Ba3)

(Ba4)

i

i

i

i

i-1

i-1

i-1

i-1

k

k

k-1

k-1

The queue empties not

# departures < k’

j-1

j-1

j-1

j-1

j

j

j

j

k’

k’-1

k’+1

k’

j-1

j-1

j-1

j-1

j

j

j

j

k’

k’-1

k’+1

k’

j-1

j-1

j-1

j-1

j

j

j

j

k’

k’-1

k’+1

k’

0

0

1

0

l’

l’

l’

l’-1

0

0

0

0

l’

l’

l’-1

l’-1

l

l-1

l+1

l

l’

l’

l’-1

l’-1

j-1

j-1

j-1

j-1

Figure 3: Case A & B (2 ≤ i < j ≤ T )

Let k′ = k + x j−1. Then just after time j− 1 there are k′ patients in queue for schedules(A1) and (A2) and k′+1 for schedules (A3) and (A4). Thus after time j−1 schedule (A1)and schedule (A2) are following the same path and also schedule (A3) and schedule (A4)are following the same path.

Now say that until time j− 1 schedule (A1) has a total waiting time α1, then schedule(A3) also has that total waiting time α1. Say that until time j− 1 schedule (A2) has atotal waiting time α2, then schedule (A4) has the same total waiting time. Just after timej− 1 schedules (A1) and (A2) follow the same path, so they have the same total waitingtime, say β1. Schedule (A3) and (A4) also follow the same path, thus they also havethe same total waiting time, say β2. Now it is easy to see that the waiting time satisfiesα2 +β1(A2)+α1 +β2(A3)=α1 +β1(A1)+α2 +β2(A4).

For the makespan and tardiness only the end of a day is important, so we want to knowwhat happens at the end of the path of each schedule. Schedules (A1) and (A2) followafter time j−1 the same path, and therefore they have the same makespan and tardiness.Schedules (A3) and (A4) follow after time j− 1 the same path, therefore they also have

14

the same makespan and tardiness. So (A2)+(A3)=(A1)+(A4) for the makespan and thetardiness.

(B) Now look at “Case B”. The queue does not empty between time i and j− 1, so now justbefore time j− 1 it can be that for schedules (B2) and (B4) there is one patient less inqueue, because one patient more could be treated (because the movement of one patientfrom time i to time i− 1). Otherwise all different schedules will have the same numberin queue and then “Case A” applies. So for schedule (B2) and (B4) there are then k− 1patients in queue and for schedules (B1) and (B3) there are k patients in queue. Concerningthe waiting time, let us say again that schedules (B1) and (B3) have a total waiting time ofα1 and that schedules (B2) and (B4) have a total waiting time of α2.

Define again k′ = k + x j−1. Then just after time j− 1 there are k′ patients in queue forschedule (B1), k′− 1 for schedule (B2), k′ + 1 for path (B3), one more because of themovement of one patient from time j to time j−1 and k′ for schedule (B4).

Now we distinguish between the following three possibilities for the number of departuresbetween time j−1 an j. Let l′ = l + x j.

a) The number of departures is less than k′.

• For schedule (Ba1) there will be say l(≥ 1) patients left just before time j and justafter time j it will be then l′. Let the total waiting time between time j−1 and j beβ and after time j γ1.

• For schedule (Ba2) the number of patient is l−1 just before time j. So just after timej there are l′−1 patients in queue and the total waiting time between time j−1 andj is then β−d and after time j γ2.

• For schedule (Ba3) the number of patient is l + 1, just before time j. Just after timej there are l′ patients in queue (one patient less arrives) and the total waiting timebetween time j−1 and j is then β+d and after time j again γ1.

• For schedule (Ba4) the number of patient is l, just before time j. Just after time jthere are l′− 1 patients in queue (one patient comes less) and the total waiting timebetween time j−1 and j is again β and after time j again γ2.

Now we see that the waiting time satisfies α2+β−d+γ2(Ba2)+α1+β+d+γ1(Ba3)=α1+β+ γ1(Ba1)+α2 +β+ γ2(Ba4)

The end of the path (after time j) of schedules (Ba1) and (Ba3) is the same. The sameholds for (Ba2) and (Ba4). So in this case (Ba2)+(Ba3)=(Ba1)+(Ba4), for the makespanand tardiness.

b) The second possibility is that there are exactly k′ departures between time j−1 and j.

• For schedule (Bb1) there will be k′− k′ = 0 patients left just before time j and justafter time j it will be l′. Let the total waiting time between time j− 1 and j β andafter time j γ1.

15

• For schedule (Bb2) the number of patients is also 0, just before time j. So just aftertime j there are l′ patients in queue and the total waiting time between time j−1 andj is then β−d and after time j again γ1.

• For schedule (Bb3) the number of patients is k′ + 1− k′ = 1, just before time j. Sojust after time j there are l′ patients in queue and the total waiting time between timej−1 and j is then β+d and after time j again γ1.

• For schedule (Bb4) the number of patients is k′− k′ = 0, just before time j. So justafter time j there are l′−1 patients in queue and the total waiting time between timej− 1 and j is then β (same as (Bb1)) and after time j γ2 which is of course smallerthen γ1.

Now we see that the waiting time satisfies α2 + β− d + γ1(Ba2)+α1 + β + d + γ1(Ba3)≥α1 +β+ γ1(Ba1)+α2 +β+ γ2(Ba4).

The end of the path (after time j) of schedules (Bb1), (Bb2) and (Bb3) are the same sothe makespan and tardiness are the same for these schedules. At the end of the path ofschedule (Bb4) there is one patient less (or in the worst case the same), so the makespanand tardiness is also less or equal than the other schedules. So we can conclude that(Bb2)+(Bb3)≥(Bb1)+(Bb4), for the makespan and tardiness.

c) The last possibility is that there are more than k′ departures between time j− 1 and j.So for all paths ((Bc1), (Bc2), (Bc3) and (Bc4)) there will be no patients left just beforetime j.Just after time j there will be for schedule (Bc1) and (Bc2) l′ patients in queue and havea total waiting time of γ1. (Bc3) and (Bc4) have then l′− 1 patients in queue and a totalwaiting time of γ2.

Now the total waiting time between time j−1 and time j, if there are s > k departures is∑mn=1

(n−1)ds = m(m−1)d

2s (the first patient has a waiting time of 0, the second ds , the third

2ds , etc. . .), with m the number of patients just after time j− 1. Because this is a convex

function it is clear that the waiting time function satisfies α2 + (k−1)(k−2)d2s +γ1(Bc2)+α1 +

(k+1)kd2s + γ2(Bc3)≥ α1 + k(k−1)d

2s + γ1(Bc1)+α2 + k(k−1)d2s + γ2 (Bc4).

The ends of the paths of schedule (Bc1) and (Bc2) are the same and the ends of paths ofschedule (Bc3) and (Bc4) are the same. Therefore is (Bc2)+(Bc3)=(Bc1)+(Bc4), for themakespan and tardiness.

All cases for 2 ≤ i < j ≤ T are done. Now for 1 = i < j ≤ T . For “Case C” until “CaseE” (Figure 4) counts that before time j− 1 the queue somewhere empties, so after that time allschedules will following the same path and just before time j− 1 there are k patients in queuefor all schedules. until time j−1 schedule (1) and (3) have a total waiting time α1 and schedule(2) and (4) a total waiting time α2.

Just after time j− 1 there will be k′ patients for schedule (1) and (2) and k′ + 1 patients forschedule (3) and (4). Now after time j−1 we can distinguish the following four possibilities.

16

x

x+ui

x+uj

x+ui+uj

k

k

# Departures ≤ k’

k’

k’

k’+1

k

l

l

l+1

l’

l’

l’

j-1

j-1

j-1

j-1

j

j

j

j

(C1)

(C2)

(C3)

(C4)

Case CThe queue empties

somewhere

k k’+1 l+1 l’

0

0

l’

l’

l’-1

l’-1

j

j

j

j

m

m

m’

m’+1

m-1

m-1

m’-1

m’

(E1)

(E2)

(E3)

(E4)

T

T

T

T

x

x+ui

x+uj

x+ui+uj

# Departures > k’

0

0

k

k

k

k’

k’

k’+1

k’+1

k

j-1

j-1

j-1

j-1

Case EThe queue empties

somewhere The queue empties not

x

x+ui

x+uj

x+ui+uj

# Departures > k’

0

0

0

0

l’

l’

l’-1

l’-1

j

j

j

j

m

m

m’

m’+1

m

m

m’

m’+1

(D1)

(D2)

(D3)

(D4)

Case D

T

T

T

T

k

k

k

k’

k’

k’+1

k’+1

k

j-1

j-1

j-1

j-1

The queue empties somewhere

The queue empties somewhere

Figure 4: Case C, D & E (1 = i < j ≤ T )

(C) Now for “Case C” there are equal or less than k′ departures so just before time j there arefor schedule (C1) and (C2) l patients left and for schedule (C3) and (C4) l +1 patients left.Between time j−1 and j schedule (C1) and (C2) have the same total waiting time, say β1and schedule (C3) and (C4) have the same total waiting time, say β2.Just after time j there are for all schedules l′ patients. So after time j follows schedule (C1)and (C3) the same path and have a total waiting time of γ1 and follows schedule (C2) and(C4) the same path and have a total waiting time of γ2. Now is easy to see that the waitingtime satisfies α2 +β1 + γ2(C2)+α1 +β2 + γ1(C3)=α1 +β1 + γ1(C1)+α2 +β2 + γ2(C4).

The ends of paths of schedule (C1) and (C3) are the same and the ends of paths of schedule(C2) and (C4) are the same. Therefore is (C2)+(C3)=(C1)+(C4), for the makespan andtardiness.

(D,E) Now for “Case D” and “Case E” there are more than k′ departures between time j−1 andtime j. So just before time j there are no patients left for all schedules. Between time j−1and j schedule (1) and (2) have the same total waiting time, say β1 and schedule (3) and(4) have the same total waiting time, say β2.

17

Just after time j there are for schedule (1) and (2) l′ patients in queue and for schedule (3)and (4) l′−1. Between time j and time T schedule (1) and (2) have a total waiting time ofsay γ1 and schedule (3) and (4) have a total waiting time of say γ2. Between time j and Tcan happen the following two cases:

(D) The queue empties. So for all schedules there are say m patients left just beforetime T (”Case D”). Let m′ = m + xT . Just after time T there will be then m′ patientsfor schedule (D1) and (D3), with a total waiting time of δ1 and m′ + 1 patients forschedule (D2) and (D4), with a total waiting time of δ2. So the waiting time functionsatisfies α2 +β1 + γ2 +δ2(D2)+α1 +β2 + γ1 +δ1(D3)=α1 +β1 + γ1 +δ1(D1)+α2 +β2 + γ2 +δ2(D4).The ends of paths of schedule (D1) and (D3) are the same and the ends of paths ofschedule (D2) and (D4) are the same. Therefore is (D2)+(D3)=(D1)+(D4), for themakespan and tardiness.

(E) Now empties the queue not between time j and time T , so now just before time Tthere is one patient less (m′−1) in queue for schedule (E3) and (E4). Just after timeT there will be for schedule (E1) and (E4) m′ patients, for schedule (E2) m′+ 1 andfor schedule (E3) m′−1 in queue. Now the total waiting time if there is m patients left

is given bym(m−1) 1

µ2 . Because this is a convex function it is clear that the waiting time

function satisfies α2 + β1 + γ2 +(m′+1)m′ 1

µ2 (D2)+α1 + β2 + γ1 +

(m′−1)(m′−2) 1µ

2 (D3)≥

α1 +β1 + γ1 +m′(m′−1) 1

µ2 (D1)+α2 +β2 + γ2 +

m′(m′−1) 1µ

2 (D4).

Let s = d(T −1). The main finishing time of the day will be at s+m′ 1µ for schedule

(E1) and (E4), s +(m′ + 1)1µ for schedule (E2) and s +(m′− 1)1

µ for schedule (E3).So s+(m′+1)1

µ (E2)+s+(m′−1)1µ (E3)=s+m′ 1

µ (E1)+s+m′ 1µ (E4) for the makespan

and tardiness.

For “Case F” until “Case I” (Figure 5) counts that before time j−1 the queue does not empty,so just before time j− 1 there are k patients in queue for schedule (1) and (3) and for schedule(2) and (4) one less, so k−1. Until time j−1 schedule (1) and (3) have a total waiting time α1and schedule (2) and (4) a total waiting time α2.

Just after time j− 1 there will be k′ patients fore schedule (1) and (4), k′− 1 patients forschedule (2) and k′+1 patients for schedule (3).

(F) For “Case F”, after time j−1 we can distinguish the following four possibilities.

• For schedule (F1) there are say l patients left just before time j and just after time j itis l′. Say that the total waiting time between time j−1 and j is β and after time j γ1.

• For schedule (F2) the number of patient is l−1 just before time j. So just after timej there are l′−1 patients in queue and the total waiting time between time j−1 andj is then β−d and after time j γ2.

18

x

x+ui

x+uj

x+ui+uj

(F1)

(F2)

(F3)

(F4)

k

k

k-1

# Departures < k’

k’

k’-1

k’+1

k’

k-1

l

l-1

l+1

l

l’

l’-1

l’

l’-1

j-1

j-1

j-1

j-1

j

j

j

j

The queue empties not

Case F

x+ui

x+uj

x+ui+uj

# Departures = k’

0

0

1

0

l’

l’

l’

l’-1

j-1

j-1

j-1

j-1

j

j

j

j

(G1)

(G2)

(G3)

(G4)

k

k

k-1

k’

k’-1

k’+1

k’

k-1

The queue empties not

Case G

x

x+ui

x+uj

x+ui+uj

# Departures > k’

0

0

0

0

l’

l’

l’-1

l’-1

j

j

j

j

m

m

m’

m’+1

m

m

m’

m’+1

(H1)

(H2)

(H3)

(H4)

Case H

T

T

T

T

k

k

k-1

k’

k’-1

k’+1

k’

k-1

j-1

j-1

j-1

j-1

The queue empties not The queue empties somewhere

0

0

l’

l’

l’-1

l’-1

j

j

j

j

m

m

m’

m’+1

m-1

m-1

m’-1

m’

(I1)

(I2)

(I3)

(I4)

T

T

T

T

x

x+ui

x+uj

x+ui+uj

# Departures > k’

0

0

k

k

k-1

k’

k’-1

k’+1

k’

k-1

j-1

j-1

j-1

j-1

The queue empties not The queue empties not

Case I

Figure 5: Case F, G, H & I (1 = i < j ≤ T )

• For schedule (F3) the number of patient is l + 1 just before time j. Just after timej there are l′ patients in queue (one patient comes less) and the total waiting timebetween time j−1 and j is then β+d and after time j again γ1 (same path as schedule(F1)).

• For schedule (F4) the number of patient is l just before time j. Just after time j thereare l′−1 patients in queue (one patient comes less) and the total waiting time betweentime j−1 and j is again β and after time j again γ2 (same path as schedule (F2)).

Now we see that the waiting time satisfies α2 +β−d + γ2(F2)+α1 +β+d + γ1(F3)=α1 +β+ γ1(F4)+α2 +β+ γ2(F4)

The end of the path (after time j) of schedules (F1) and (F3) are the same, and also (F2) and(F4) are the same. So in this case (F2)+(F3)=(F1)+(F4), for the makespan and tardiness.

(G) Now for “Case G” there are exactly k′ departures between time j−1 and j.

• For schedule (G1) there will be k′− k′ = 0 patients left just before time j and justafter time j it will be l′. Say that the total waiting time between time j−1 and j is β

and after time j γ1.

19

• For schedule (G2) the number of patient shall also be 0 just before time j. So justafter time j there are l′ patients in queue and the total waiting time between time j−1and j is then β−d and after time j γ2.

• For schedule (G3) the number of patient shall be k′ + 1− k′ = 1 just before time j.So just after time j there are l′ patients in queue and the total waiting time betweentime j−1 and j is then β+d and after time j again γ1 (same path as schedule (G1)).

• For schedule (G4) the number of patient shall be k′−k′ = 0 just before time j. So justafter time j there are l′−1 patients in queue and the total waiting time between timej− 1 and j is then β (same as (G1)) and after time j γ3 which is of course smallerthan γ2, because 1 patient is less to do.

Now we see that the waiting time satisfies α2 + β− d + γ2(G2)+α1 + β + d + γ1(G3)≥α1 +β+ γ1(G1)+α2 +β+ γ3(G4).

The end of the path (after time j) of schedules (G1) and (G3) are the same so the makespanand tardiness are the same for these schedules. At the end of the path of schedule (G4)there are one patient less (or in the worst case the same) than at the end of path (G2), so themakespan and tardiness shall also be less or equal than schedule (G2). So we can concludethat (G2)+(G3)≥(G1)+(G4), for the makespan and tardiness.

(H,I) Now for Case “H” and “I” there are more than k′ departures between time j−1 and time j.So just before time j there are no patients left for all schedules. Between time j−1 and jschedules (1) and (4) have the same total waiting time of k′(k′−1)d

2s , schedule (2) (k′−1)(k′−2)d2s

and schedule (4) (k′+1)k′d2s (same as in “Case Bc”).

Just after time j the schedules will follow the same path as in ”Case D” and “Case F”,which we already discussed, so for the makespan and tardiness it is immediately clear thatit satisfies the multimodularity.

Now for the waiting time it is also clear because before time j it satisfies the multimodu-larity, and after time j also.

Now we distinguished all possible cases and we proved that in each case the waiting time,makespan and tardiness are multimodular. Thus the same holds for the idle time.

The proof can easily be extended to include no-shows. This is done by conditioning on theno-shows: we get the same model as without no-shows but with less patients planned.

20