integer programming approaches for appointment scheduling ... › ~siqian › docs › presentation...
TRANSCRIPT
![Page 1: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/1.jpg)
Integer Programming Approaches forAppointment Scheduling with
Random No-Shows and Service Durations
Siqian Shen
Department of Industrial and Operations EngineeringUniversity of Michigan
joint work with
Ruiwei Jiang and Yiling Zhang (PhD student)
(Supported by NSF CMMI-1555983)
1/36
![Page 2: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/2.jpg)
Outline
1 Introduction
2 DR Modeling and OptimizationRisk Measures and Support of No-showsDR Modeling and Reformulations
3 A Less Conservative DR ApproachA Less Conservative Dq
MILP and Valid Ineq. for D(K)q
4 Computational Results
5 Conclusions
2/36
![Page 3: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/3.jpg)
Outline
1 Introduction
2 DR Modeling and OptimizationRisk Measures and Support of No-showsDR Modeling and Reformulations
3 A Less Conservative DR ApproachA Less Conservative Dq
MILP and Valid Ineq. for D(K)q
4 Computational Results
5 Conclusions
3/36
![Page 4: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/4.jpg)
Problem: Appointment Scheduling on a Single Server
Decisions:
Arrival time for each appt. i = 1, . . . , n in this order.
Examples: outpatient care/sugeries, cloud computing platforms.
Uncertainty:
server processing time (continuous).
no-shows (0-1).
Scenarios:
an appt. gets delayed ⇒ appt. waiting time.
an appt. finishes early ⇒ server idle time.
the last appt. cannot finish before the server’s time limit ⇒ overtime.
4/36
![Page 5: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/5.jpg)
Appointment Scheduling Illustration
Objective:
↓ appointments’ waiting time + server’s idle time and overtime.
5/36
![Page 6: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/6.jpg)
Literature Review
Under random service durations: Denton and Gupta (2003), Gupta andDenton (2008), Pinedo (2012), ...
Near-optimal scheduling policy: Mittal et al. (2014), Begen and Queyranne(2011), Begen et al. (2012), Ge et al. (2013), ...
Under random no-shows (mainly heuristics and approx. algorithms):Muthuraman and Lawley (2008), Zeng et al. (2010), Cayirli et al. (2012),Lin et al. (2011), Luo et al. (2012), LaGanga and Lawrence (2012),Zacharias and Pinedo (2014), ...
Distributionally Robust (DR) appointment scheduling:
I Distributional ambiguity; lack of reliable data.I Kong et al. (2014): cross moments (mean & covariance) of service
durations.I Mak et al. (2015): marginal moments of service durations.
6/36
![Page 7: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/7.jpg)
Research Outline
Ambiguous no-shows & service durations.
Ambiguity set based on the means & supports of no-shows andservice durations.
Flexible in risk preferences:
I Risk-neutral: Expectation of waiting, idleness, and overtime.I Risk-averse: CVaR of waiting, idleness, and overtime.I Incorporated as objective and/or constraints.I This talk: expectation objective functions.
DR models ⇒ equivalent MINLP reformulations ⇒ MILPI Integer programming approaches help handle 0-1 no-shows and
accelerate computation.I Important special cases: MILP ⇔ LP (deriving the convex hulls).
7/36
![Page 8: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/8.jpg)
Outline
1 Introduction
2 DR Modeling and OptimizationRisk Measures and Support of No-showsDR Modeling and Reformulations
3 A Less Conservative DR ApproachA Less Conservative Dq
MILP and Valid Ineq. for D(K)q
4 Computational Results
5 Conclusions
8/36
![Page 9: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/9.jpg)
Notation
Parameters:
{1, . . . , n} the set of appointments to scheduleT the server’s operating time limitcwi , cui , co unit penalty of waiting, idleness, and overtimesi ∈ R+ random service duration of appointment iqi ∈ {0, 1} show (qi = 1) or no-show (qi = 0) of appointment i
Decision Variables:xi scheduled time between appointments i and i + 1,
∀i = 1, . . . , n − 1 (That is, appt. 1 arrives at time 0;appt. 2 arrives at x1; appt. 3 arrives at x1 + x2,...)
wi waiting time of appointment iW server overtimeui server idle time after finishing appointment i
9/36
![Page 10: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/10.jpg)
Computing Waiting, Idleness, Overtime
For decision x , we consider a feasible region:
X :=
{x : xi ≥ 0, ∀i = 1, . . . , n,
n∑i
xi = T
}
Given x ∈ X and realizations of parameter (q, s),
Q(x , q, s) := minw ,u,W
n∑i=1
(cwi wi + cui ui ) + coW
s.t. wi − ui−1 = qi−1si−1 + wi−1 − xi−1 ∀i = 2, . . . , n
W − un = qnsn + wn +n−1∑i=1
xi − T
wi ≥ 0, w1 = 0, ui ≥ 0, W ≥ 0 ∀i = 1, . . . , n.
Valid if cui+1 − cui ≤ cwi+1 (work conserving; Ge et al. (2013)).
10/36
![Page 11: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/11.jpg)
Ambiguity Set
DR appointment scheduling model: minx∈X
supPq,s∈F(D,µ,ν)
EPq,s [Q(x , q, s)].
Ambiguity set:
F(D, µ, ν) :=
Pq,s ≥ 0 :
∫Dq×Ds
dPq,s = 1∫Dq×Ds
si dPq,s = µi ∀i = 1, . . . , n∫Dq×Ds
(∑ni=1 qi
)dPq,s = ν
,
where
I µ = [µ1, . . . , µn]T: mean service duration E[si ], i = 1, . . . , n.
I ν = E[∑n
i=1 qi ]: mean of # show-up appointments.
I D = Dq × Ds : support of (q, s) with
Dq := {0, 1}n,
Ds :={s ≥ 0 : sLi ≤ si ≤ sUi , ∀i = 1, . . . , n
}.
11/36
![Page 12: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/12.jpg)
Reformulations of the DR Model
The inner supPq,s∈F(D,µ,ν)
EPq,s [Q(x , q, s)] is a functional linear program.
maxPq,s
∫Dq×Ds
Q(x , q, s)dPq,s
(P) s.t.
∫Dq×Ds
si dPq,s = µi ∀i = 1, . . . , n∫Dq×Ds
(n∑
i=1
qi
)dPq,s = ν∫
Dq×Ds
dPq,s = 1.
12/36
![Page 13: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/13.jpg)
Reformulations of the DR Model
By duality theory, problem (P) is equivalent to (D) as follows:
minρ∈Rn,γ∈R
{n∑
i=1
µiρi + νγ + max(q,s)∈Dq×Ds
{Q(x , q, s)−
n∑i=1
(ρi si + γqi )
}},
A min-max problem with a (potentially challenging) inner problem.
Recall: Q(x , q, s) is convex in (q, s).
max(q,s)∈Dq×Ds
{Q(x , q, s)−
n∑i=1
(ρi si + γqi )
}is in general intractable.
13/36
![Page 14: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/14.jpg)
Reformulations of the DR Model
More specifically, rewrite Q(x , q, s) in its dual form:
Q(x , q, s) = maxy
n∑i=1
(qi si − xi )yi (1a)
s.t. yi−1 − yi ≤ cwi ∀i = 2, . . . , n (1b)
−yi ≤ cui ∀i = 1, . . . , n (1c)
yn ≤ co, (1d)
where (1b)–(1d) form a feasible region Y of y . The inner problem becomes
(D′) max(q,s)∈Dq×Ds
maxy∈Y
{n∑
i=1
(qi si − xi )yi −n∑
i=1
(ρi si + γqi )
}.
This is a MINLP.
I qi siyi is a product of one binary and two continuous variables.
14/36
![Page 15: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/15.jpg)
Reformulations of the DR Model
Observation: the objective function is decomposable.
maxy∈Y
max(q,s)
{n∑
i=1
(qi si − xi )yi −n∑
i=1
(ρi si + γqi )
}
= maxy∈Y
{n∑
i=1
max(qi ,si ){qi si − xi}yi −
n∑i=1
(ρi si + γqi )
}.
Y is a well-studied polytope in lot-sizing (Zangwill (1966, 1969), Maket al. (2015)).
I Extreme points of Y can be fully characterized.
Key idea from Mak et al. (2015): binary encoding of the extremepoints of Y :
tkj ∈ {0, 1}, ∀1 ≤ k ≤ j ≤ n + 1 ⇔ extreme points of Y
15/36
![Page 16: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/16.jpg)
Reformulations of the DR Model
(D’) is equivalent to
maxt
n+1∑k=1
n+1∑j=k
(j∑
i=k
max(qi ,si ){qi si − xi}πij
)tkj −
n∑i=1
(ρi si + γqi )
s.t.i∑
k=1
n+1∑j=i
tkj = 1 ∀i = 1, . . . , n + 1
tkj ∈ {0, 1}, ∀1 ≤ k ≤ j ≤ n + 1.
I πij are constants about cw, cu, co.
I The constraints matrix of t is TU: tkj ∈ {0, 1} can be relaxed!
I (D’) can now be solved as a LP.
16/36
![Page 17: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/17.jpg)
Reformulations of the DR Model
Proposition
The DR model with Dq = {0, 1}n is equivalent to the following LP:
minx,ρ,γ,α,β
n∑i=1
µiρi + νγ +n+1∑i=1
αi
s.t.
j∑i=k
αi ≥j∑
i=k
βij , ∀1 ≤ k ≤ j ≤ n + 1
βij ≥ −πijxi − sLi ρi , ∀1 ≤ i ≤ n, ∀i ≤ j ≤ n + 1
βij ≥ −πijxi − sUi ρi , ∀1 ≤ i ≤ n, ∀i ≤ j ≤ n + 1
βij ≥ −πijxi − sLi ρi − γ + sLi πij , ∀1 ≤ i ≤ n, ∀i ≤ j ≤ n + 1
βij ≥ −πijxi − sUi ρi − γ + sUi πij , ∀1 ≤ i ≤ n, ∀i ≤ j ≤ n + 1n∑
i=1
xi = T , βn+1,n+1 = 0, xn+1 = 0, xi ≥ 0, ∀i = 1, . . . , n.
17/36
![Page 18: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/18.jpg)
Performance of the DR Schedules
Statistics Modeln − ν = 0.5 n − ν = 1.5 n − ν = 2.5 n − ν = 3.5 n − ν = 4.5
WaitT OverT IdleT WaitT OverT IdleT WaitT OverT IdleT WaitT OverT IdleT WaitT OverT IdleT
MeanDR 110.56 156.78 29.10 123.81 0.74 18.09 168.44 0.00 22.48 145.65 0.00 27.00 80.70 0.02 31.39SLP 0.34 0.00 13.43 0.46 0.00 18.01 0.25 0.00 22.48 0.42 0.00 27.00 0.31 0.00 31.39
50%DR 116.42 169.62 28.91 128.32 0.00 16.74 171.68 0.00 21.45 146.93 0.00 26.18 81.56 0.00 30.51SLP 0.21 0.00 12.07 0.37 0.00 16.73 0.14 0.00 21.45 0.29 0.00 26.18 0.17 0.00 30.51
75%DR 120.57 178.35 29.18 142.94 0.00 20.90 195.61 0.00 25.76 174.89 0.00 31.94 102.53 0.00 37.02SLP 0.48 0.00 15.64 0.65 0.00 20.90 0.39 0.00 25.76 0.60 0.00 31.94 0.46 0.00 37.02
95%DR 125.85 187.92 31.16 149.13 6.17 28.08 223.88 0.00 33.60 210.69 0.00 38.44 129.81 0.00 43.03SLP 1.17 0.00 20.11 1.29 0.00 28.08 0.86 0.00 33.60 1.31 0.00 38.44 1.11 0.00 43.03
Comparing DR schedules with perfect-information schedules obtained from SLP.
Out-of-sample simulations.
DR schedules perform poor in all three metrics, even when no-shows are low.
18/36
![Page 19: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/19.jpg)
Optimal Schedule Patterns
Blue curves for DR schedules: Batch arrivals.
Intuition: DR schedules are avoiding the extreme cases with consecutive no-shows.
These scenarios are possible, but very unlikely.
19/36
![Page 20: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/20.jpg)
Outline
1 Introduction
2 DR Modeling and OptimizationRisk Measures and Support of No-showsDR Modeling and Reformulations
3 A Less Conservative DR ApproachA Less Conservative Dq
MILP and Valid Ineq. for D(K)q
4 Computational Results
5 Conclusions
20/36
![Page 21: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/21.jpg)
Remedy of the DR Model: A Less Conservative Dq
For given K ∈ {2, . . . , n + 1}, define support
D(K)q =
q ∈ {0, 1}n :i+K−1∑j=i
qj ≥ 1, ∀i = 1, . . . , n − K + 1
No K -consecutive no-shows.
I A spectrum of Dq supports.
I K = 2: no consecutive no-shows (least conservative).
I K = n + 1: arbitrary no-shows (most conservative, D(n+1)q = {0, 1}n).
Low no-show (e.g., inpatient surgery): D(2)q is more reasonable.
21/36
![Page 22: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/22.jpg)
Guideline for Choosing K ∈ {2, . . . , n + 1} for D(K )q I
Consider n = 10 and each appt. with equal no-show probability0.1, . . . , 0.9.
2 4 6 8 10
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
K = # of Consecutive No−Shows Ruled Out
P(q
∈ D
(K)
q)
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
22/36
![Page 23: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/23.jpg)
Guideline for Choosing K ∈ {2, . . . , n + 1} for D(K )q II
2 3 4
0.85
0.90
0.95
1.00
K = # of Consecutive No−Shows Ruled Out
P(q
∈ D
(K)
q)
0.02
0.04
0.06
0.08
0.10
P(q ∈ D(2)
q
)≥ 90% when (n − ν)/n ≤ 0.1.
23/36
![Page 24: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/24.jpg)
Reformulations of the DR Model with D(K )q
Observation: the objective function is not decomposable.
maxy∈Y
max(q,s)∈D(K)
q ×Ds
{n∑
i=1
(qi si − xi )yi −n∑
i=1
(ρi si + γqi )
}
6= maxy∈Y
{n∑
i=1
max(qi ,si ){qi si − xi}yi −
n∑i=1
(ρi si + γqi )
}.
The old approach cannot get through anymore.
Alternative idea: linearize the MINLP.
maxt
max(q,s)∈D(K)
q ×Ds
n+1∑k=1
n+1∑j=k
(j∑
i=k
(qi si − xi )πij
)tkj −
n∑i=1
(ρi si + γqi )
s.t.i∑
k=1
n+1∑j=i
tkj = 1 ∀i = 1, . . . , n + 1 (2a)
tkj ∈ {0, 1}, ∀1 ≤ k ≤ j ≤ n + 1. (2b)
24/36
![Page 25: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/25.jpg)
Reformulations of the DR Model with D(K )q
Let pikj ≡ qi tkj and oikj ≡ sipikj ≡ siqi tkj . McCormick Ineq.:
pikj − tkj ≤ 0, (3a)
pikj − qi ≤ 0, pikj − qi − tkj ≥ −1, pikj ≥ 0, (3b)
oikj − sLi pikj ≥ 0, oikj − sUi pikj ≤ 0, (3c)
oikj − si + sLi (1− pikj) ≤ 0, oikj − si + sUi (1− pikj) ≥ 0. (3d)
(D’) is equivalent to a MILP:
maxt,q,s,p,o
n+1∑k=1
n+1∑j=k
j∑i=k
(πijoikj − xiπij tkj)−n∑
i=1
(ρi si + γqi )
s.t. (2a)–(2b), (3a)–(3d),
si ∈ [sLi , sUi ], q ∈ Dq ⊆ {0, 1}n.
25/36
![Page 26: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/26.jpg)
Benders’ Decomposition Algorithm for D(K )q
A MILP-based reformulation of the DR model with D(K)q :
minx∈X ,ρ,γ,δ
n∑i=1
µiρi + νγ + δ
s.t. δ ≥ maxy∈Y ,(q,s)∈Dq×Ds
{n∑
i=1
(qi si − xi )yi −n∑
i=1
(ρi si + γqi )
}. (5)
A Benders’ decomposition algorithm:
I Solve a relaxed formulation without constraints (5).I In each iteration, solve (D’) to identify violated constraints (5).
F If no violations, done;
F If violations found, incorporate the most violated constraint andre-solve.
26/36
![Page 27: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/27.jpg)
Valid Ineq. for General D(K )q
We derive valid inequalities to strengthen (D’).
Tighter LP relaxation → faster solution of (D’).
27/36
![Page 28: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/28.jpg)
Valid Ineq. for General D(K )q
Proposition
Valid ineq. for the MILP model (D’):
i∑k=1
n+1∑j=i
pikj = qi ∀i = 1, . . . , n + 1, (6a)
si −i∑
k=1
n+1∑j=i
(oikj − sLi pikj
)≥ sLi ∀1 ≤ i ≤ n + 1, (6b)
si −i∑
k=1
n+1∑j=i
(oikj − sUi pikj
)≤ sUi ∀1 ≤ i ≤ n + 1, (6c)
i+K−1∑`=i
p`kj ≥ tkj ∀1 ≤ k < j ≤ n + 1,∀k ≤ i ≤ j − K + 1, (6d)
i−K+2∑k=1
i∑`=i−K+2
p`ki +n+1∑j=i+1
p(i+1)(i+1)j ≥i−K+2∑k=1
tki ∀i = K − 1, . . . , n, (6e)
i∑k=1
piki +
i+K−1∑`=i+1
n+1∑j=i+K−1
p`(i+1)j ≥n+1∑
j=i+K−1
t(i+1)j ∀i = 1, . . . , n − K + 2. (6f)
28/36
![Page 29: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/29.jpg)
Even Better
K = 2: (6a)–(6f) recover the convex hull of (D’) feasible region.
The DR model is (again) equivalent to a LP.
I No decomposition needed.
The LP is of size O(n3).
29/36
![Page 30: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/30.jpg)
Outline
1 Introduction
2 DR Modeling and OptimizationRisk Measures and Support of No-showsDR Modeling and Reformulations
3 A Less Conservative DR ApproachA Less Conservative Dq
MILP and Valid Ineq. for D(K)q
4 Computational Results
5 Conclusions
30/36
![Page 31: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/31.jpg)
CPU Time
Table: Average CPU time (in seconds) of solving DR models
Model E-D(2)q E-D
(n+1)q
E-D(K=3)q E-D
(K=5)q E-D
(K=7)q E-D
(K=9)q
Ineq. w/o Ineq. w/o Ineq. w/o Ineq. w/oTime (s) 0.053 0.031 8.954 21.045 7.114 28.018 6.427 20.561 6.302 19.266
E-D(2)q and E-D
(n+1)q compute polynomial-sized LPs.
Valid inequalities speed up the decomposition algorithm by 3 times faster,
for solving E-D(K)q with 3 ≤ K ≤ n.
31/36
![Page 32: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/32.jpg)
Solution Performance for Different n − ν
Statistics Modeln − ν = 0.5 n − ν = 1.5 n − ν = 2.5 n − ν = 3.5 n − ν = 4.5
WaitT OverT IdleT WaitT OverT IdleT WaitT OverT IdleT WaitT OverT IdleT WaitT OverT IdleT
MeanE-D
(2)q 2.16 0.18 13.44 2.01 0.00 18.01 0.38 0.00 22.48 0.33 0.00 27.00 0.00 0.00 31.39
SLP 0.34 0.00 13.43 0.46 0.00 18.01 0.25 0.00 22.48 0.42 0.00 27.00 0.31 0.00 31.39
50%E-D
(2)q 2.14 0.00 12.08 2.15 0.00 16.73 0.38 0.00 21.45 0.29 0.00 26.18 0.00 0.00 30.51
SLP 0.21 0.00 12.07 0.37 0.00 16.73 0.14 0.00 21.45 0.29 0.00 26.18 0.17 0.00 30.51
75%E-D
(2)q 2.58 0.00 15.66 2.66 0.00 20.90 0.61 0.00 25.76 0.57 0.00 31.94 0.00 0.00 37.02
SLP 0.48 0.00 15.64 0.65 0.00 20.90 0.39 0.00 25.76 0.60 0.00 31.94 0.46 0.00 37.02
95%E-D
(2)q 3.28 1.15 20.13 3.39 0.00 28.08 0.94 0.00 33.60 0.91 0.00 38.44 0.00 0.00 43.03
SLP 1.17 0.00 20.11 1.29 0.00 28.08 0.86 0.00 33.60 1.31 0.00 38.44 1.11 0.00 43.03
The DR schedules from E-D(2)q is near-optimal in all metrics.
K = 5, 7, 9 yield performance in between those of E-D(2)q and by E-D
(n+1)q .
E-D(2)q performs better than SLP in misspecified distributions of s and/or q.
A benchmark model not considering no-shows performs poorly once n − ν > 0.
32/36
![Page 33: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/33.jpg)
Solution Performance for Different n − ν
Statistics Modeln − ν = 0.5 n − ν = 1.5 n − ν = 2.5 n − ν = 3.5 n − ν = 4.5
WaitT OverT IdleT WaitT OverT IdleT WaitT OverT IdleT WaitT OverT IdleT WaitT OverT IdleT
MeanE-D
(2)q 2.16 0.18 13.44 2.01 0.00 18.01 0.38 0.00 22.48 0.33 0.00 27.00 0.00 0.00 31.39
SLP 0.34 0.00 13.43 0.46 0.00 18.01 0.25 0.00 22.48 0.42 0.00 27.00 0.31 0.00 31.39
50%E-D
(2)q 2.14 0.00 12.08 2.15 0.00 16.73 0.38 0.00 21.45 0.29 0.00 26.18 0.00 0.00 30.51
SLP 0.21 0.00 12.07 0.37 0.00 16.73 0.14 0.00 21.45 0.29 0.00 26.18 0.17 0.00 30.51
75%E-D
(2)q 2.58 0.00 15.66 2.66 0.00 20.90 0.61 0.00 25.76 0.57 0.00 31.94 0.00 0.00 37.02
SLP 0.48 0.00 15.64 0.65 0.00 20.90 0.39 0.00 25.76 0.60 0.00 31.94 0.46 0.00 37.02
95%E-D
(2)q 3.28 1.15 20.13 3.39 0.00 28.08 0.94 0.00 33.60 0.91 0.00 38.44 0.00 0.00 43.03
SLP 1.17 0.00 20.11 1.29 0.00 28.08 0.86 0.00 33.60 1.31 0.00 38.44 1.11 0.00 43.03
The DR schedules from E-D(2)q is near-optimal in all metrics.
K = 5, 7, 9 yield performance in between those of E-D(2)q and by E-D
(n+1)q .
E-D(2)q performs better than SLP in misspecified distributions of s and/or q.
A benchmark model not considering no-shows performs poorly once n − ν > 0.
32/36
![Page 34: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/34.jpg)
Solution Performance for Different n − ν
Statistics Modeln − ν = 0.5 n − ν = 1.5 n − ν = 2.5 n − ν = 3.5 n − ν = 4.5
WaitT OverT IdleT WaitT OverT IdleT WaitT OverT IdleT WaitT OverT IdleT WaitT OverT IdleT
MeanE-D
(2)q 2.16 0.18 13.44 2.01 0.00 18.01 0.38 0.00 22.48 0.33 0.00 27.00 0.00 0.00 31.39
SLP 0.34 0.00 13.43 0.46 0.00 18.01 0.25 0.00 22.48 0.42 0.00 27.00 0.31 0.00 31.39
50%E-D
(2)q 2.14 0.00 12.08 2.15 0.00 16.73 0.38 0.00 21.45 0.29 0.00 26.18 0.00 0.00 30.51
SLP 0.21 0.00 12.07 0.37 0.00 16.73 0.14 0.00 21.45 0.29 0.00 26.18 0.17 0.00 30.51
75%E-D
(2)q 2.58 0.00 15.66 2.66 0.00 20.90 0.61 0.00 25.76 0.57 0.00 31.94 0.00 0.00 37.02
SLP 0.48 0.00 15.64 0.65 0.00 20.90 0.39 0.00 25.76 0.60 0.00 31.94 0.46 0.00 37.02
95%E-D
(2)q 3.28 1.15 20.13 3.39 0.00 28.08 0.94 0.00 33.60 0.91 0.00 38.44 0.00 0.00 43.03
SLP 1.17 0.00 20.11 1.29 0.00 28.08 0.86 0.00 33.60 1.31 0.00 38.44 1.11 0.00 43.03
The DR schedules from E-D(2)q is near-optimal in all metrics.
K = 5, 7, 9 yield performance in between those of E-D(2)q and by E-D
(n+1)q .
E-D(2)q performs better than SLP in misspecified distributions of s and/or q.
A benchmark model not considering no-shows performs poorly once n − ν > 0.
32/36
![Page 35: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/35.jpg)
Solution Performance for Different n − ν
Statistics Modeln − ν = 0.5 n − ν = 1.5 n − ν = 2.5 n − ν = 3.5 n − ν = 4.5
WaitT OverT IdleT WaitT OverT IdleT WaitT OverT IdleT WaitT OverT IdleT WaitT OverT IdleT
MeanE-D
(2)q 2.16 0.18 13.44 2.01 0.00 18.01 0.38 0.00 22.48 0.33 0.00 27.00 0.00 0.00 31.39
SLP 0.34 0.00 13.43 0.46 0.00 18.01 0.25 0.00 22.48 0.42 0.00 27.00 0.31 0.00 31.39
50%E-D
(2)q 2.14 0.00 12.08 2.15 0.00 16.73 0.38 0.00 21.45 0.29 0.00 26.18 0.00 0.00 30.51
SLP 0.21 0.00 12.07 0.37 0.00 16.73 0.14 0.00 21.45 0.29 0.00 26.18 0.17 0.00 30.51
75%E-D
(2)q 2.58 0.00 15.66 2.66 0.00 20.90 0.61 0.00 25.76 0.57 0.00 31.94 0.00 0.00 37.02
SLP 0.48 0.00 15.64 0.65 0.00 20.90 0.39 0.00 25.76 0.60 0.00 31.94 0.46 0.00 37.02
95%E-D
(2)q 3.28 1.15 20.13 3.39 0.00 28.08 0.94 0.00 33.60 0.91 0.00 38.44 0.00 0.00 43.03
SLP 1.17 0.00 20.11 1.29 0.00 28.08 0.86 0.00 33.60 1.31 0.00 38.44 1.11 0.00 43.03
The DR schedules from E-D(2)q is near-optimal in all metrics.
K = 5, 7, 9 yield performance in between those of E-D(2)q and by E-D
(n+1)q .
E-D(2)q performs better than SLP in misspecified distributions of s and/or q.
A benchmark model not considering no-shows performs poorly once n − ν > 0.
32/36
![Page 36: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/36.jpg)
Optimal Schedule Patterns I
Red curves describe the DR schedules.
Intuition: “plateau-half-dome” shaped DR schedules.I More frequent arrivals towards the end.I Performs better if no-show rate increases across the day.
33/36
![Page 37: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/37.jpg)
Outline
1 Introduction
2 DR Modeling and OptimizationRisk Measures and Support of No-showsDR Modeling and Reformulations
3 A Less Conservative DR ApproachA Less Conservative Dq
MILP and Valid Ineq. for D(K)q
4 Computational Results
5 Conclusions
34/36
![Page 38: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/38.jpg)
Conclusions
Technical contributions:
DR expectation/CVaR models for appointment scheduling with twouncertainties.
Computationally tractable reformulations via IP approaches.
Important special cases: LP reformulations.
Managerial insights:
Reasonable supports in a DR model play an important role.
Ignoring no-shows is risky.
“Plateau-half-dome” shaped DR schedules.
Further research
Multiple servers; sequencing decisions...
35/36
![Page 39: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/39.jpg)
Conclusions
Technical contributions:
DR expectation/CVaR models for appointment scheduling with twouncertainties.
Computationally tractable reformulations via IP approaches.
Important special cases: LP reformulations.
Managerial insights:
Reasonable supports in a DR model play an important role.
Ignoring no-shows is risky.
“Plateau-half-dome” shaped DR schedules.
Further research
Multiple servers; sequencing decisions...
35/36
![Page 40: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/40.jpg)
Conclusions
Technical contributions:
DR expectation/CVaR models for appointment scheduling with twouncertainties.
Computationally tractable reformulations via IP approaches.
Important special cases: LP reformulations.
Managerial insights:
Reasonable supports in a DR model play an important role.
Ignoring no-shows is risky.
“Plateau-half-dome” shaped DR schedules.
Further research
Multiple servers; sequencing decisions...
35/36
![Page 41: Integer Programming Approaches for Appointment Scheduling ... › ~siqian › docs › presentation › ... · y2Y max (q;s) (Xn i=1 (q is i x i)y i Xn i=1 (ˆ is i + q i)) = max](https://reader033.vdocuments.net/reader033/viewer/2022042315/5f038e437e708231d409a21f/html5/thumbnails/41.jpg)
Thank you!
Questions?
36/36