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 -
© Copyright 2026 Paperzz