Top Banner
FACULTY OF ENGINEERING Optimization of Appointment Scheduling Matthias Deceuninck Stijn De Vuyst Dieter Fiems Industrial Systems Engineering and Product Design Ghent University Operations Research in Queuing Theory 7th November 2016
31

Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Jul 05, 2018

Download

Documents

vuthien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

FACULTY OF ENGINEERING

Optimization of Appointment Scheduling

Matthias Deceuninck Stijn De Vuyst Dieter Fiems

Industrial Systems Engineering and Product DesignGhent University

Operations Research in Queuing Theory7th November 2016

Page 2: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Introduction

Interface between service providersand customers

Arises in many service industries:I Healthcare: GP, dentist,

outpatient clinicsI Legal servicesI Accounting servicesI Loading/unloading ships

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 2 / 28

Page 3: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Static Appointment Scheduling Problem

1 Physician K patients

Planned available time (tMAX )

S1 S2 S3 S4

Idle time Waiting time Overtime

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 3 / 28

Page 4: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Scheduling challenges

Objective: minimize the weighted sum ofI Patients’ waiting timesI Doctor’s idle timeI Doctor’s overtime

Complicating factorsI uncertain service durationsI unpunctual patientsI uncertain patient demand

F no-showsF emergencies

I heterogeneous patientsI doctor lateness / set-up activities

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 4 / 28

Page 5: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Contributions

Contributions

1 We propose a fast heuristic which can be applied under fairlygeneral conditions.

2 We quantified the performance of our heuristic.

3 Patient heterogeneity affects optimal schedule and should betaken under consideration.

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 5 / 28

Page 6: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Solution approach

The optimization problem involves computational effort at three levels:

1 Evaluating the cost of a given schedule

2 Finding the optimal schedule for a fixed sequence of patients

3 Determining the optimal arrival sequence for customers havingdistinct attributes

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 6 / 28

Page 7: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Outline

1 Introduction

2 Research approachEvaluation algorithmLower-level problem: optimize appointment timesUpper-level problem: sequencing

3 Numerical resultsHomogeneous patientsHeterogeneous patients

4 Conclusions and Future Work

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 7 / 28

Page 8: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Outline

1 Introduction

2 Research approachEvaluation algorithmLower-level problem: optimize appointment timesUpper-level problem: sequencing

3 Numerical resultsHomogeneous patientsHeterogeneous patients

4 Conclusions and Future Work

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 8 / 28

Page 9: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Fast and versatile evaluation algorithm

ak ∆

Approach:

modified Lindley’s recursionI allows for explicit expressions for each patient

Wk+1 = max(0,Wk + Sk − ak)

discrete time settingI discretised into fixed intervals of length ∆I trade-off accuracy and computational effort

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 9 / 28

Page 10: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Model description

Environmental factors

Service time distribution sk(n)I type of service, medical record, age, doctor

No-show probability pkI lead time, age, gender, type of service (5%-40%)

Waiting cost cWk

I urgency, opportunity cost

Start time session θ(n)I lateness doctor, set-up activities

Idle time cost cI / overtime cost c0

I availability service provider, equipment, assistants

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 10 / 28

Page 11: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Evaluation algorithm

Calculation of the performance measures (moments q up to any order):

E[W q

k+1

]= −`(q)

k +

q∑r=0

q−r∑m=0

(q

r

)(q − r

m

)E[Sm

k ](−ak)q−r−mW(r)k ,

E[I qk+1] = (−1)q(E[(Wk − ak + Sk)q]− E[W q

k+1])

= (−1)q`(q)k .

E[Oq] = W(q)K+1 .

with,

`(q)k =

ak−1∑r=0

r∑m=0

sk(r −m) (r − ak)q wk(m) .

wk+1(n) =

n+ak∑m=0

sk(n + ak −m) wk(m) ,

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 11 / 28

Page 12: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Outline

1 Introduction

2 Research approachEvaluation algorithmLower-level problem: optimize appointment timesUpper-level problem: sequencing

3 Numerical resultsHomogeneous patientsHeterogeneous patients

4 Conclusions and Future Work

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 12 / 28

Page 13: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Allocation of appointment times

τ1 τ2 τ3 τ4

GOAL: find τ = {τ1, . . . , τK} which minimizes the objective function

Heuristic is needed: local search algorithm

Optimality can be guaranteed for homogeneous patients (Kaandorp

and Koole, 2007; Koeleman and Koole, 2012)

Unfortunately, not for heterogeneous patients (Tang et al., 2014)

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 13 / 28

Page 14: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Guidelines to reduce running times

1 Sensible choice of initial populationI Some common heuristics in literature

F ‘Bailey’s rule’: schedule two patients at beginningF ‘Fixed-interval’: schedule patients with equal inter-arrival timesF ‘OFFSET’: schedule first patients closer together

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 14 / 28

Page 15: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Guidelines to reduce running times

1 Sensible choice of initial population2 Downscale the problem

I Gradually decrease slot length ∆

∆=5

0

0.1

0.2

s(n

)

∆=1

0 5 10 15 20 25 30 35 40

0

0.025

0.05

min

s(n

)

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 15 / 28

Page 16: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Guidelines to reduce running times

1 Sensible choice of initial population

2 Downscale the problem

3 Structural property:

Performance measures of kth patient only depend on τj for j < k

I Guidelines algorithm:F Store all calculations in state variable gF If τk changes, reuse information in g for Wj , Ij , . . . for j < kF Start optimizing at the end of the schedule (reverse for-loop) (-30%)

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 16 / 28

Page 17: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Visualisation of search process

∆=5 ∆=1

0 10 20 30 40 50 60 700

60

120

180

240

Iteration number

τ k

τ1 τ2 τ3 τ4 τ5 τ6

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 17 / 28

Page 18: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Outline

1 Introduction

2 Research approachEvaluation algorithmLower-level problem: optimize appointment timesUpper-level problem: sequencing

3 Numerical resultsHomogeneous patientsHeterogeneous patients

4 Conclusions and Future Work

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 18 / 28

Page 19: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Upper-level problem: sequencing

Patients may differ by:

service time distribution

no-show probability

waiting cost

We perform a local search algorithm with pairwise interchange (swaps)

a b c d e f

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 19 / 28

Page 20: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Global structure of optimization method

Sequencing

Optimization S1 Optimization S2 . . . Optimization SX

. . . . . . . . .

Evaluation algorithm

→ sequencing can be accelerated by multi-threading

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 20 / 28

Page 21: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Outline

1 Introduction

2 Research approachEvaluation algorithmLower-level problem: optimize appointment timesUpper-level problem: sequencing

3 Numerical resultsHomogeneous patientsHeterogeneous patients

4 Conclusions and Future Work

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 21 / 28

Page 22: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Outline

1 Introduction

2 Research approachEvaluation algorithmLower-level problem: optimize appointment timesUpper-level problem: sequencing

3 Numerical resultsHomogeneous patientsHeterogeneous patients

4 Conclusions and Future Work

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 22 / 28

Page 23: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Structure of optimal solutions

In accordance with prior studies: solutions depict a dome-shaped pattern

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 23 / 28

Page 24: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Performance of heuristic for different neighbourhoods

KOptimal ∆ = 1 ∆ = 5

Time Avg. gap Max. gap Time Avg. gap Max. gap Time(s) (%) (%) (s) (%) (%) (s)

6 6.9 0.001 0.079 0.9 0.123 3.229 0.128 34.4 0.003 0.240 1.6 0.212 4.140 0.15

10 168.9 0.006 0.346 2.6 0.442 23.775 0.1912 818.0 0.009 0.408 4.3 0.506 6.804 0.24

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 24 / 28

Page 25: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Performance of heuristic for different neighbourhoods

KOptimal ∆ = 1 ∆ = 5

Time Avg. gap Max. gap Time Avg. gap Max. gap Time(s) (%) (%) (s) (%) (%) (s)

6 6.9 0.001 0.079 0.9 0.123 3.229 0.128 34.4 0.003 0.240 1.6 0.212 4.140 0.15

10 168.9 0.006 0.346 2.6 0.442 23.775 0.1912 818.0 0.009 0.408 4.3 0.506 6.804 0.24

→ We choose a smaller neighbourhood to reduce running times

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 24 / 28

Page 26: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Performance of heuristic for different neighbourhoods

KOptimal ∆ = 1 ∆ = 5

Time Avg. gap Max. gap Time Avg. gap Max. gap Time(s) (%) (%) (s) (%) (%) (s)

6 6.9 0.001 0.079 0.9 0.123 3.229 0.128 34.4 0.003 0.240 1.6 0.212 4.140 0.15

10 168.9 0.006 0.346 2.6 0.442 23.775 0.1912 818.0 0.009 0.408 4.3 0.506 6.804 0.24

Gaps depend on:

overtime cost

service time variability

no-show probability

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 24 / 28

Page 27: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Outline

1 Introduction

2 Research approachEvaluation algorithmLower-level problem: optimize appointment timesUpper-level problem: sequencing

3 Numerical resultsHomogeneous patientsHeterogeneous patients

4 Conclusions and Future Work

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 25 / 28

Page 28: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Performance when patients are heterogeneous

Patient classification:

40% New patient: S ∼ logN(µ =20, σ = 16)

60% Returning patient: S ∼ logN(10,4)

Average patient: S ∼ logN(14,8.4)

No-show Policy Best-Case Worst-Case ∆ Cost

0%Heterogeneous 388.3 -Homogeneous 549.0 594.5 41-53%Fixed-interval 484.3 673.5 25-73%

15%Heterogeneous 358.0 -Homogeneous 451.1 485.1 26-34%Fixed-interval 403.7 601.3 13-68%

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 26 / 28

Page 29: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Outline

1 Introduction

2 Research approachEvaluation algorithmLower-level problem: optimize appointment timesUpper-level problem: sequencing

3 Numerical resultsHomogeneous patientsHeterogeneous patients

4 Conclusions and Future Work

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 27 / 28

Page 30: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Conclusions and Future Work

We introduced an efficient and effective heuristic for the staticappointment scheduling problem

The heuristic can be applied in a wide variety of environments

Patient classification can result in significant cost reductions

Future workI Data-mining techniques to effectively estimate service time

distributions based on patient characteristicsI Dynamic scheduling where not all patients are known in advance

Matthias Deceuninck (Ghent University) Optimization of Appointment Scheduling YEQT 28 / 28

Page 31: Optimization of Appointment Scheduling - TU/e November 2… · Optimization of Appointment Scheduling ... I Loading/unloading ships Matthias Deceuninck ... Upper-level problem: sequencing

Are there any questions?