Column Generation Approach for Operating Rooms Planning

Column Generation Approach for Operating
Rooms Planning
Mehdi LAMIRI, Xiaolan XIE and ZHANG Shuguang
Industrial Engineering and Computer Sciences Division
Engineering and Health Division
Outline
•
Motivation & Problem description
•
Problem modelling
•
A column generation approach
•
Computational results
•
Conclusions and perspectives
ORAHS 06, Wroclaw
-2-
Problem description: Motivations

Operating rooms represent one of the most expensive sectors of the
hospital

Involves coordination of large number of resources

Must deal with random demand for emergent surgery and unplanned
activities

Planning and scheduling operating rooms’ has become one of the major
priorities of hospitals for reducing cost and improving service quality
ORAHS 06, Wroclaw
-3-
Problem description

How to plan elective cases when the operating rooms capacity is shared
between two patients classes : elective and emergent patients

Elective patients :
Electives cases can be delayed and planned for future dates

Emergent patients :
Emergent cases arrive randomly and have to be performed in the day of
arrival
ORAHS 06, Wroclaw
-4-
Outline
•
Motivation & Problem description
•
Problem modelling
•
A column generation approach
•
Computational results
•
Conclusions and perspectives
ORAHS 06, Wroclaw
-5-
Model: Operating rooms capacities

We consider the planning of a set of elective surgery cases over an
horizon of H periods (days)

In each period there are S operating rooms

For each OR-day (s, t) we have a regular capacity Tts

Exceeding the regular capacity generates overtime costs (COts)
T2S
T11
T1S
T21
TH1
THS
……
OR
1
…
1
OR
S
OR
1
…
OR
S
2
OR
1
…
OR
S
H
ORAHS 06, Wroclaw
-6-
Model: Emergent patients

In this work, the OR capacity needed for emergency cases in OR-day (s,
t) is assumed to be a random variable ( wt s ) based on:
- The distribution of the number of emergent patients in a given period
estimated using information systems and / or by operating rooms’
manager
- The distribution of the OR time needed for emergency surgeries
estimated from the historical data
ORAHS 06, Wroclaw
-7-
Model: Elective cases

At the beginning of the horizon, there are N requests for elective surgery
A plan that specifies the subset of elective cases to be performed
in each OR-day under the consideration of uncertain demand for
emergency surgery
T1,2
TH,S
T1,1
Case1
Case 12
Case 5 Case 10
OR-day
(1, 1)
OR-day
(2, 1)
ORAHS 06, Wroclaw
OR-day
(S, H)
-8-
Model: Elective cases

Each elective case i ( 1…N ) has the following characteristics :

Operating Room Time needed for performing the case i : ( pi )
 Estimated using information systems and/or surgeons’ expertises

A release period (Bi)
 It represents hospitalisation date, date of medial test delivery

A set of costs CEits ( t = Bi …H, H+1 )
 The CEits represents the cost of performing elective case i in period t in
OR s
 CEi,H+1 : cost of not performing case i in the current plan
ORAHS 06, Wroclaw
-9-
Model: Elective cases related costs

The cost structure is fairly general. It can represent many situations :

Hospitalization costs / Penalties for waiting time

Patient’s or surgeon’s preferences

Eventual deadlines

ORs availabilities
ORAHS 06, Wroclaw
- 10 -
Model : Example of planning
T12
Case 2
Case 32
Case 12
T1,1
Case 16
Case 21
Case 16
Case 10
Case 1
Case 5

Overtime costs

Cases related costs
OR-day
(1, 1)
Case 9
Case 7
Case 14
Case 2
Case 25
Case 1
Case 20
Case 27
Case 33
OR-day
(S, H)
The plan must minimizes the sum of elective patient related costs and the
expected overtime costs
ORAHS 06, Wroclaw
- 11 -
Mathematical Model
Overtime cost
Patient related cost
(P)
J
*
N
= Min J  X  
Subject to:
M H 1
 CE
its
i 1 s 1 t  Bi
 CO
ts

Ots  EWts Wts 

N
pX
i
its
i 1
M H 1
 X
it
Ots
(1)
s 1 t  Bi
Planned activities
time
Unplanned
activities time
overtime
X its 
M H 1
 1

 Tts 

Regular
capacity




(2)
(3)
s 1 t  Bi
Xits  {0, 1}
(4)
Decision:
- Assign case i to OR-day (s, t) , Xits = 1
- Reject case i from plan, Xi,H+1,s = 1
ORAHS 06, Wroclaw
- 12 -
Outline
•
Motivation & Problem description
•
Problem modelling
•
A column generation approach
•
Computational results
•
Conclusions and perspectives
ORAHS 06, Wroclaw
- 13 -
Plan for one OR-day

A “plan” is a possible assignment of patients to a particular
OR-day

p : plan for a particular OR-day is defined as follows

aip = 1 if case i is in plan p

btsp = 1 if plan p is assigned to OR-day (s, t)

Cost of the plan :


 
C p   aip btsp CEits  btsp COts E Wts   pi aip  Tts  
i t ,s
t ,s
i
 

Costs related to patients
assigned to the paln
ORAHS 06, Wroclaw
Overtime cost in the OR-day
related to the plan
- 14 -
Column formulation for the planning problem

 : set of all possible plans

Yp = 1, if plan p is selected and Yp = 0, otherwise
Master problem
J *  Min J (Y )  const 
Subject to:
c Y
p
p
p
a
ip
Yp  1, i
b
tsp
Yp  1, t,s
p
Each patient is assigned at most to one
selected plan
Each OR-day receives at most one plan
p
Yp  {0,1}, p  
ORAHS 06, Wroclaw
- 15 -
Column formulation for the planning problem

The master problem is an integer linear programming problem, whereas
the initial formulation has a nonlinear objective:


The nonlinear quantities (expected overtime costs) are now imbedded into the
columns costs
The master problem has a huge number of variables (columns)
Master problem
J *  Min J (Y )  const 
Subject to:
c Y
p
p
p
a
ip
Yp  1, i
b
tsp
Yp  1, t,s
p
Each patient is assigned at most to one
selected plan
Each OR-day receives at most one plan
p
Yp  {0,1}, p  
ORAHS 06, Wroclaw
- 16 -
Solution Methodology
Relax the
integrality
constraints
Master Problem
Solve by
Column
Generation
Linear master problem (LMP)
Construct
a “good”
feasible
solution
Optimal solution of the LMP
Near-optimal solution
ORAHS 06, Wroclaw
- 17 -
Linear Master problem (LMP)

The Linear Master Problem (LMP) is the same as the master
problem MP except that the integrity of Yp is relaxed.

Problem LMP provides a lower bound of the master problem
and hence a lower bound of the original problem.

Problem LMP can be solved by the column generation
technique
ORAHS 06, Wroclaw
- 18 -
Solving the linear master problem
simplex
multipliers
Reduced Linear Master Problem
over Ω*  Ω
min const 
cY
p
pi , pt s
Pricing problem
minimizes reduced cost
min c p 
p
a
Yp  1,
i
b
Yp  1,
t ,s
ip
st
p*
tsp
i
ip
i
p*
st
p a
t ,s
aip btsp  0, t  Bi
b
tsp
p*
  p ts btsp
1
t ,s
Yp  0,
aip , btsp 0,1
p  
*
Y
reduced cost < 0
add new column
N
ORAHS 06, Wroclaw
STOP
- 19 -
The pricing problem

The pricing problem can be decomposed into H×S
subproblems

One sub-problem for each OR-day
Simplex multipliers


 
min  (CEits  p i )aip  COts E  Wts   pi aip  Tts    p ts
i
i
 

Subject to:
aip 0,1, i
ORAHS 06, Wroclaw
- 20 -
The pricing problem


 
min  (CEits  p i )aip  COts E  Wts   pi aip  Tts    p ts
i
i
 

Subject to:
aip 0,1, i
ORAHS 06, Wroclaw
- 21 -
The pricing problem

The pricing sub-problem is a stochastic knapsack problem:

The capacity of the sack is a random variable

There is a penalty cost if the capacity is exceeded


 
min  (CEits  p i )aip  COts E  Wts   pi aip  Tts    p ts
i
i
 

Subject to:
aip 0,1, i
Dynamic programming method
ORAHS 06, Wroclaw
- 22 -
Solution Methodology
Relax the
integrality
constraints
Master Problem
Solve by
Column
Generation
Linear master problem (LMP)
Construct
a “good”
feasible
solution
Optimal solution of the LMP
Near-optimal solution
ORAHS 06, Wroclaw
- 23 -
Constructing a near optimal solution

Step 1: Determine the corresponding patient assignment matrix
(Xits) from the solution (Yp) of the Linear Master Problem.

Step 2: Derive a feasible solution starting from (Xits)

Step 3: Improve the solution obtained in Step 2
ORAHS 06, Wroclaw
- 24 -
Derive a feasible solution

Method I : Solving the integer master problem MP by restricting to
generated columns

Method II : Complete Reassignment
Fix assignments of cases in plans with Yp = 1
Reassign myopically but optimally all other cases one by one by taking into
account scheduled cases.

Method III : Progressive reassignment
Reassign each case to one OR-day by taking into account the current
assignment (Xits) of all other cases, fractional or not.
ORAHS 06, Wroclaw
- 25 -
Improvement of a feasible schedule

Heuristic 1 : Local optimization of elective cases.


Heuristic 2 : Pair-wise exchange of elective cases


Reassign at each iteration the case that leads to the largest improvement
Exchange the assignment of a couple of cases that leads to the largest
improvement
Heuristic 3 : Period-based re-optimization

Re-optimize the planning of all cases assigned to a given OR-day (s, t)
and all rejected cases.
ORAHS 06, Wroclaw
- 26 -
Overview of the optimization methods
Method
LMP
Deriving a feasible solution
M1
column
CPLEX IP
generation
M2
Complete reassign
M3
Progressive reassign
CPLEX LP
M4
Progressive reassign
+
M5
Progressive reassign
Dynamic
M6
Progressive reassign
Programming
M7
Progressive reassign
ORAHS 06, Wroclaw
Improving solutions
Local opt
Local opt
Local opt, Period-based
Exchange, Period-based
Exchange, Local opt, Period-based
Local opt, Period-based, Exchange
- 27 -
Outline
•
Motivation & Problem description
•
Problem modelling
•
A column generation approach
•
Computational results
•
Conclusions and perspectives
ORAHS 06, Wroclaw
- 28 -
Computational experiments
Problem instances generation

Number of periods : H = 5

Number of operating rooms: S = 3, 6, 9, 12

OR-day’s regular capacity : Tts = 8 hours




Capacity needed for emergency cases : Wts is exponentially distributed with a mean of 3
hours
Overtime cost : COts = 500 € / hour
Duration of elective surgeries : pi are randomly generated from the interval [0.5, 3
hours]
Release periods : Bi are randomly generated from the set {1…H}
ORAHS 06, Wroclaw
- 29 -
Computational experiments
Problem instances generation

Patients related costs : CEits = (t- Bi) x c
 c is set equal to 150 € (hospitalisation cost)

Case 1: Identical ORs

Case 2: Non-Identical ORs


ORs are equally allocated to 3 specialties, and an extra charge of 100€ is added for
cases assigned to another speciality’s ORs
The number of elective cases is determined such that the workload of ORs
due to elective cases is 85% of the regular capacity of the entire planning
horizon.
ORAHS 06, Wroclaw
- 30 -
Computational experiments: Gap
Results based on 10 randomly generated instances: the average Gap
M1
M2
M3
M4
M5
M6
M7
Nb Rooms=3
(60 cases)
9.95%
3.35%
0.86%
0.82%
0.59%
0.58%
0.50%
Nb Rooms=6
(119.3 cases)
10.59%
2.22%
1.01%
0.94%
0.64%
0.62%
0.53%
Nb Rooms=9
(180.9 cases)
---
1.94%
0.83%
0.74%
0.45%
0.44%
0.31%
Nb Rooms=12
(239.6 cases)
---
2.30%
1.02%
0.93%
0.60%
0.59%
0.47%
Nb Rooms=3
(60 cases)
0.15%
0.26%
0.14%
0.14%
0.17%
0.08%
0.05%
Nb Rooms=6
(119.3 cases)
0.27%
2.39%
0.40%
0.40%
0.28%
0.24%
0.16%
Nb Rooms=9
(180.9 cases)
1.54%
1.75%
0.64%
0.60%
0.31%
0.30%
0.22%
Nb Rooms=12
(239.6 cases)
---
1.85%
0.64%
0.62%
0.31%
0.31%
0.19%
Duality Gap
R=0
R=100
Case R = 0: Identical ORs
Case R = 100: extra charge of 100 € for assigning cases to another specialty's ORs
ORAHS 06, Wroclaw
- 31 -
Computational experiments: computation time
Results based on 10 randomly generated instances: the average Computation time (second)
M1
M2
M3
M4
M5
M6
M7
Nb Rooms=3
(60 cases)
49,3
8,7
8,2
8,6
8,2
8,8
8,7
Nb Rooms=6
(119.3 cases)
>5000
53,3
51,7
52,79
53,5
53,4
54
Nb Rooms=9
(180.9 cases)
---
184
182,1
183,6
182,3
184
186,2
Nb Rooms=12
(239.6 cases)
---
436,7
438,1
433,6
435
433,8
438,8
Nb Rooms=3
(60 cases)
9,6
9,8
9,3
10,8
9,5
9,9
9,9
Nb Rooms=6
(119.3 cases)
120
71,7
70,6
77,8
72,7
72,3
72,1
Nb Rooms=9
(180.9 cases)
>5000
245,7
244,9
259,4
251
246,7
247,5
Nb Rooms=12
(239.6 cases)
---
569,5
572,2
593,5
584,1
570,2
590,1
Computation Time
R=0
R=100
• Over 65% of the computation for CGP is spent on pricing problems.
ORAHS 06, Wroclaw
- 32 -
Computation results

The lower bound of the Column generation is very tight

Solving the integer master problem with generated columns can be very
poor and it is very time consuming

Progressive reassignment outperforms the complete reassignment as
progressive reassignment preserves the solution structure of the
column generation solution
ORAHS 06, Wroclaw
- 33 -
Outline
•
Motivation & Problem description
•
Problem modelling
•
A column generation approach
•
Computational results
•
Conclusions and perspectives
ORAHS 06, Wroclaw
- 34 -
Model extension: Overtime capacity and under utilization cost

We introduce an additional penalty cost when the overtime capacity
is exceeded
Operating Room related cost
overtime
cost
under use
overtime
capacity
exceeded
OR workload
regular
capacity
ORAHS 06, Wroclaw
overtime
capacity
- 35 -
Conclusions and perspectives

The proposed model can represent many real world constraints

Column generation is an efficient technique for providing provably good
solutions in reasonable time for large problem.
Future work

Make the stochastic model realistic enough to take into account random
operating times, ...

Take into account other criteria such as reliability of OR plans

Develop exact algorithms able to solve problems with large size

Test with field data
ORAHS 06, Wroclaw
- 36 -