Multi-objective Constraint programming for

0 downloads 0 Views 178KB Size Report
way for CP is to resolve combinatorial optimization problems comprising ...... a commercial mathematical solver such as IBM ILOG CPLEX-CP Optimizer to solve.
International Conference on Industrial Engineering and Systems Management

IESM’ 2011 May 25 - 27, 2011 METZ- FRANCE

Multi-objective Constraint programming for Scheduling Operating Theatres* Nadine MESKENS a, David DUVIVIER b, Arnauld HANSET a, Daisy GOSSART a a

Louvain School of Management and Catholic University of Mons, Mons, Belgium b

Université Lille Nord de France and ULCO, LISIC, Calais, France

Abstract The aim of this paper is to help in the management of the operating theatre in order to improve its functionality. Our research focuses on the daily scheduling of the surgical acts in an operating theatre. We also take into account specific human and material constraints that indeed exist like, for example, the surgeon’s preference for a specific operating room, a specific material or a specific team. However, it is obvious that the more the constraints, the more our problem will be complex to model and to solve. To solve this highly constrained scheduling problem, we take advantage of the constraint programming paradigm. Our constraint programming model optimizes the use of the operating theatre by minimizing the makespan, minimizing the overtime hours and maximizing the affinities between members of the surgical team. This model is instantiated on a real-life problem to present some results in this paper. Key words: Operating rooms, multi-objective scheduling, constraint programming

1

Introduction

According to the researchers who focus their study on dealing with operating theatre problems, the operating theatre is also known to be one of the most expensive items among all sectors of a hospital (Macario, 2006). Considering the importance of improving the efficiency of the operating theatre, increasingly more researchers have tried to optimize its functioning. In general, operating planning and scheduling methodology is fairly helpful to hospital managers (Macario, 2006), enabling them to use operating theatre as efficiently as possible by minimizing operating cost, satisfying the needs of patients and the preference of surgeons while taking into account some constraints on human and material resources. While some constraints on resources are linked to the limited number or the capacity of the resources (opening hours of the operating rooms, the availability of surgeons, nurses and anaesthetists but also of surgical equipment, free beds in the recovery room), some others depend on the competences of the resources like the versatility of the operating rooms, and the staff’s qualifications. Just like operating rooms can be destined to certain types of

*

Corresponding author : Nadine Meskens Email: [email protected]. This research is financed by the Interuniversity Attraction Poles Programme - Belgian State - Belgian Science Policy

1486

IESM 2011, METZ – FRANCE, May 25 - 27

surgery, the staff can be specialized. This is the reason why the operating theatre’s manager goal is to harmonize resources and to make its manpower versatile in order to optimize the operating theatre. The operating theatre management consists of two phases: the surgical cases planning and scheduling (Magerlein and Martin, 1978). First, taking into account the availability of operating rooms and surgeons, the planning problem gives the date of surgery for each patient. Then a daily scheduling problem determines the sequence of operations in each operating room in each day, taking into account the availability of material and human resources. According to a recent review made by Hanset et al. (2008, 2010) about operating theatre scheduling and planning problems, we came to the conclusion that only few authors have taken into account the constraints linked to both material and human resources. Concerning human resources, the main considered constraints are the number and availability of surgeons, stretcher-bearers and anaesthetists. Generally material resources constraints are limited to the number of operating rooms and the number of beds in the recovery room. After visiting several hospitals, we noted that few of their actual constraints were considered in planning and scheduling models. In real life, other constraints are also important to take into account like for examples, human constraints such as availability of surgeons, nurses and anaesthetists; preferences of surgeons (for example the preference for a specific operating room), priorities of some patients (for example some patients such as children and diabetics must be operated at the beginning of the day) and material constraints like versatility of operating rooms, availability of rooms and medical material etc. Moreover a good cooperation between the surgical team members is important for the safety of the patient (Weaver, 2010). For that purpose, we took also into account the existing affinities between the members of the surgical staff. As we see, the daily operating rooms scheduling problem is highly constrained. It is also hard to find an optimal solution or at least high quality solutions. The originality of this research is double. Firstly we take the advantage of the “expressive power” of the constraint programming paradigm (Apt, 2003) to include a lot of real-life constraints in our model, such as the availability, the preferences and the affinities of the staff. The constraint programming (CP) is the ideal tool to find a solution to our highly constrained target problem. Indeed, the royal way for CP is to resolve combinatorial optimization problems comprising many variables and systematic constraints. This method has also the advantage of providing the user with different modes of functioning in the path tree of solutions. Secondly we optimize the use of the operating theatre by not only minimizing the makespan but also by minimizing the overtime hours and maximize the affinities between members of the surgical team. We considered a scheduling strategy which is widely used in Belgian hospitals, namely a block scheduling, where surgeons are allocated a time window to operate on their patients. This paper comprises three parts. Firstly, the constraint programming model is described. Then the experimental results are given. Finally we present some conclusions and perspectives.

2

The scheduling model

Operations are defined by a set of characteristics. We assume that the duration of a particular operation, do, can be predicted in advance. Furthermore, for the comfort and safety of the patient, it is assumed that the operation starts as soon as possible (ESo) and not later than (LSo) (expressed in time slots). For a same period of time, the occupation of the rooms is defined by R binary variables. All the operations have to be placed one by one. Each of them is described by a sequence of time slots (i.e. each operation o lasts do time slots). Within a room r, the position of the operation will be indicated by the presence of do successive binary variables set to “one” which show the execution of the operation o in this room. The binary variables for the time during which the operation is performed in the considered room will be set to one and the others (everywhere else) will be set to zero. In this way, our model is based on a three-dimensional binary matrix (O operations, T time slots and R rooms) represented by OTR (o, t, r).

1487

IESM 2011, METZ – FRANCE, May 25-27

Similarly, the binary variables related to the recovery room are implemented by means of the matrix OTB(o,t,b) . Within a recovery bed b, the position of the operation will be materialized by the presence of dbo successive binary variables set to “one” indicating the affectation of the patient concerning the operation o in this bed. With the aim of easily adding constraints on the surgeons, we develop by extension of OTR(o,t,r) the matrix STR(s,t,r). The matrix STR(s,t,r) expresses that the surgeon operates at certain moments in operating rooms. In the same way we can also write matrices NTR(n,t,r) and ATR(a,t,r) for the nurses and the anaesthetists. The binary matrix NTR indicates if a nurse is busy at time t in the room r. The binary matrix ATR indicates if an anaesthetist is occupied at time t in the room r.

2.1

Notation

Before continuing the presentation, we start the modelling by introducing the notations used in our model:

Ω O o T t Γ R r S s

: : : : : : : : : :

The set of all the surgical cases The number of operations: O = | Ω |

An operation: o ∈ {1 ..O } The number of time slots in a day A time slot: t ∈ {1..T } The set of operating rooms The number of operating rooms: R=| Γ |

An operating room: r ∈ {1 .. R } The number of surgeons A surgeon: s ∈ {1..S}

: :

The number of anaesthetists

: :

The number of nurses The set of operating rooms allocated to surgeon s

Ωs

: :

Ωb

:

The set of operations that takes place at the beginning of the day (high priorities)

Ωm

:

The set of operations with medium priorities

Ωe

:

The set of operations that takes place at the end of the day (low priorities)

Os

:

The number of operations allocated to surgeon s: Os = | Ω s |

Ob

:

The number of operations scheduled at the beginning of the day: Ob = | Ω b | (high priorities)

Om

:

The number of operation with medium priorities : Om = | Ω m |

Oe

:

The number of operations that takes place at the end of the day : Oe = | Ω e | (low priorities)

do ESo LSo Κ ρ Κυ k

: : :

A a N n Γs

ρ mok

An anaesthetist: A nurse:

a ∈ {1.. A}

n ∈ {1..N }

The set of operations allocated to surgeon s

The duration of operation o (in number of time slots) The earliest start of operation o (time slots) The latest start of operation o (time slots) : The set of different renewable resources : The set of the different non-renewable resources : A resource: k ∈ {Κ υ ∪ Κ ρ }

mυok

: The quantity of the renewable resource k required by operation o : The quantity of the non-renewable resource k required by operation o

M kρ (t )

: The quantity of the renewable resource k, available at moment t

M υk

: The quantity of the non-renewable resource k, available for the day

1488

IESM 2011, METZ – FRANCE, May 25 - 27 s

: : : : : : :

M (s, t, r) MA(a, t) MN(n, t) B b dbo APP(p1,p2)

2.2

The availability of surgeon s at time t in the room r, MS(s, t, r) ∈ {0,1} The availability of anaesthetist a at time t, MA(a, t) ∈ {0,1} The availability of nurse n at time t, MN(n, t) ∈ {0,1}. The number of recovery beds A recovery bed: b ∈{1..B} The duration of the recovery after operation o (in number of time slots) A binary affinity matrix between members of the surgical staff

Objective functions

The most common objective function is the minimization of the makespan. However, we noticed that the other objectives were also indispensable and therefore we have implemented a multi-objective procedure to gradually introduce the objectives in our model. This procedure consists in calculating a first objective. Once the optimal value of this objective was found, an additional constraint is inserted in our model to include this objective in the form of a constraint. Then, the second objective is optimized. Once the value of this one was reached, we proceed in the same way by placing it as a constraint of the problem. We sequentially proceed in the same way for the other objectives which we wish to insert into our search. For example, to minimize Z under a set of constraints C while considering that the optimal value of Z is Z0, the constraint Z≤Z0 is added to the set of constraints C and the next objective is used as the function to optimize. Our main objective is to minimize the makespan of the operating theatre (which is in fact the completion time of the latest wakening in the recovery room). The calculation of the makespan, strictly speaking, is obtained by the introduction of two set of constraints (0a) and (0b). Thus, our objective function is written as follows: Minimize Cmax subject to

C2 , o

 B ∑  b =1 =

  dbo .(dbo − 1)   2  

LS o + d o + dbo −1

∑ t.OTB(o, t , b)  − 

t = ES o + d o

dbo

+ dbo − 1

∀o ∈ {1..O}

C max ≥ C 2,o ,

(0a)

(0b)

Secondly, the obtained value of Cmax is used to size at best our matrixes (STR, OTR…) with T=Cmax. So it decreases the size of the search space. Then the minimization of overtime hours (0c) is taken as the objective function. To do so, we calculate the sum of every time of occupation of operating rooms and recovery room beyond the normal closure of rooms (expressed by Tsup).

 O  ∑  o=1 min  O   ∑  o=1

R

∑ r =1 B

∑ b=1

 ; OTR(o, t, r) ∑  t ≥T sup   T  ∑ OTB(o,t,b)   t ≥T sup  T

(0c)

In a next step, the value of this second objective is placed as constraint to envisage a new objective. Up to here, affinities between the staff members have not been considered yet. So It is time to introduce the third objective concerning the affinities. Given that we measured the affinities between the staff members by a note from 0 to 9, we decide to use a threshold above of which we shall consider that there is affinity. If the threshold is placed at its highest level, it is very likely that no solution can be found. The decrease of the threshold will favour the generation of practicable solutions. So the previous model is iterated while decreasing the threshold up to a threshold accepted by the decision-maker or up to an impossibility to obtain a solution (if no solution can be found, this means that the makespan must be increased). As soon as these solutions are found, the next step consists in maximizing the affinity between the persons while decreasing the overtime hours. Indeed, among all the couples of persons wishing to work together, it is advisable to take the couples having most affinities.

1489

IESM 2011, METZ – FRANCE, May 25-27

Thus, our objective function related to the maximization of collaborations following the wishes of the staff is written as follows: T R  S N  Maximize ∑ ∑   ∑ ∑ STR(s, t, r). APP(s, S + A + n).NTR(n, t, r)  + t =1 r =1   s =1 n =1 

 S ∑  s =1

∑ STR(s,t,r).APP(s, S + a). ATR(a,t,r) +

 ∑  n =1

∑ NTR(S + A + n,t, r). APP(S + A + n, S + a). ATR(a,t, r) +

 N ∑  n =1 1

∑ NTR(S + A + n ,t, r).APP(S + A + n , S + A + n

N

2.3



A

a =1



A

a =1

N

1

n 2 =1

1

LS o + d o −1

 B ∑  b =1  = B 2 ,o

LS o + d o + dbo −1

  d o .(d o − 1)   2  

∑ t.OTR(o, t , r )  − 

t = ES o

do

  dbo .(dbo − 1)   2  

∑ t.OTB(o, t, b)  − 

t = ES o + d o

dbo

O

o =1

O

o =1

LS o + d o

r =1

t = ES o

∑ ∑ OTR (o, t , r ) = d

o

∀o ∈ {1,..., O} (5)

,

 t + d o −1  OTR (o,τ , r )  R T − d o +1  ∑  τ =t  = 1, ∑ ∑ do  r =1 t =1     

∀o ∈ {1,..., O} (6)

O

∀b ∈ {1,..., B}, ∀t ∈ {1,..., T } (7)

∑ OTB (o, t , b) ≤ 1 , o =1 B

LS o + d o + dbo

b =1

t = ES o + d o

∀o ∈ {1,..., O} (2)

∀s ∈ {1,..., S }, ∀t ∈ {1,..., T } (4)

∑ ∑ OTR(o, t , r ) ≤ 1 , R

∀o ∈ {1,..., O} (1)

∀r ∈ {1,..., R}, ∀t ∈ {1,..., T } (3)

∑ OTR (o, t , r ) ≤ 1 ,



 ).NTR(S + A + n 2 , t, r)    

Constraints

 R ∑  r =1  = B1,o

r∈Γs

2

∑ OTB (o, t , b) = db

o

∀o ∈ {1,..., O} (8)

,

 t + dbo −1  OTB (o,τ , b)  B T − dbo +1  ∑  τ =t  = 1, ∑ ∑ db   b =1 t =1 o     B1,o + d o = B2,o ,

∀o ∈ {1,..., O} (9) ∀o ∈ {1,..., O} (10)

1490

IESM 2011, METZ – FRANCE, May 25 - 27

B1,o1

B1,o2

R

 LSo2 + do 2 −1   OTR(o2 , t , r )  ∑   t = ES o 2 ≤ B1,o2 + 1 − T , d o2       LS o3 + d o 3 −1    OTR (o3 , t , r )  ∑   t = ES o3 ≤ B1,o3 + 1 − T , d o3      

∀o1 ∈ Ω b , ∀o 2 ∈ Ω m , ∀r ∈ {1,..., R} (11)

∀o2 ∈ Ω m , ∀o3 ∈ Ω e , ∀r ∈ {1,..., R} (12)

O

∀t ∈ {1,..., T }, ∀k ∈ Κ ρ (13)

∑∑ m ρ OTR(o, t , r ) ≤ M ρ (t ) , r =1 o =1

ok

υ mok ∑∑ r =1 o =1 d o R

O

k

T

∑ OTR(o, t, r ) ≤ M υ ,

∀k ∈ Κ υ (14)

k

t =1

( s, t , r ) ,

∀s ∈ {1,..., S }, ∀t ∈ {1,..., T }, ∀r ∈ Γs (15)

∑ OTR(o, t , r ) ,

∀s ∈ {1,..., S }, ∀t ∈ {1,..., T }, ∀r ∈ Γs (16)

∑ OTR(o, t , r ) ≤ M

S

o∈Ω s

STR( s, t , r ) =

o∈Ω s R



∀n ∈ {1,..., N }, ∀t ∈ {1,..., T } (17)

NTR (n, t , r ) ≤ M N (n, t ) ,

r =1

N

∀s ∈ {1,..., S },∀t ∈ {1,..., T },∀r ∈ {1,..., R} (18)

2 ×STR(s, t, r) = ∑ NTR(n,t, r) , n =1

R

∑ ATR(a, t , r ) ≤ M

A

∀a ∈ {1,..., A}, ∀t ∈ {1,..., T } (19)

( a, t ) ,

r =1

A

∀s ∈ {1,..., S },∀t ∈ {1,..., T },∀r ∈ {1,..., R} (20)

STR(s,t,r) = ∑ ATR(a,t, r) , a =1

OTR (o, t , r ) = 0 ,

∀o ∈ {1,..., O}, ∀r ∈ {1,..., R}, ∀t ∉ [ES o , LS o + d o ] (21)

OTR (o, t , r ) = 0 ,

∀s ∈ {1,..., S }, ∀o ∈ Ω s , ∀r ∉ Γs , ∀t ∈ {1,..., T } (22)

OTB (o, t , b ) = 0 ,

∀o ∈ {1,..., O}, ∀b ∈ {1,..., B}, ∀t ∉ [ES o + d o , LS o + d o + dbo ] (23)

STR(s,t, r) + NTR(n,t, r) − 1 ≤ APP(s, S + A + n) ∀s ∈ {1,..., S },∀n ∈ {1,..., N },∀t ∈ {1,..., T },∀r ∈ {1,..., R} (24)

STR(s,t, r) + ATR(a,t, r) − 1 ≤ APP(s, S + a) ∀s ∈ {1,..., S },∀a ∈ {1,..., A},∀t ∈ {1,..., T },∀r ∈ {1,..., R} (25)

NTR(n,t, r) + ATR(a,t, r) − 1 ≤ APP(S + A + n, S + a) ∀n ∈ {1,..., N },∀a ∈ {1,..., A},∀t ∈ {1,..., T },∀r ∈ {1,..., R} (26)

NTR(n1 ,t, r) + NTR(n2 ,t, r) − 1 ≤ APP(S + A + n1 , S + A + n2 ) ∀n1 , n2 ∈ {1,..., N }, n1 ≠ n2 , ∀t ∈ {1,..., T },∀r ∈ {1,..., R} (27)

1491

IESM 2011, METZ – FRANCE, May 25-27

The beginning of an operation or a recovery time is given by Constraints (1) and (2). Constraints (3) indicate that two operations cannot take place at the same time in the same operating room. Furthermore, there must exist an exact match between every operation and its surgeon. Thus, the operations allocated to each surgeon, selected from the set of surgeons S, are known in advance. Constraints (4) prevent any surgeon from conducting two operations at the same time in different operating rooms. Constraints (5) and (6) were introduced into the model to express the fact that an operation o has to take place over do consecutive intervals of time. Constraints (5) require the number of variables set to 1 to be equal to do, while constraints (6) specify that the variables set to 1 in this interval must be contiguous, thanks to the whole part of the sum balanced on an interval of time do. In this way, we ensure that there is only one string of successive 1s, representing the operation (zero everywhere else). Constraints (7), (8) and (9) express the conditions on the recovery room stage, for instance the fact that there is only one patient at a time in a recovery bed, and that the 1s have to be contiguous throughout the dbo intervals of time. Constraints (10) ensure continuity between two stages of the procedure; the expression on the left indicates the last 1 of the operating stage, while the right part represents the first 1 of the recovery stage. Constraints (11) and (12) express the timing requirements for the operations included in the sets Ωb and Ωe. Constraints (13) and (14) represent the limits on the renewable and non-renewable resources. Constraints (15) and (16) express the availability of surgeon s at time t in the room r by MS(s, t, r). Similarly, Constraints (17), (18) and (19), (20) express the availability of nurse and anaesthetist at time t by MN(n, t) and MA(a, t). Constraints (18) and (20) express that a team consists of a surgeon, an anaesthetist and two nurses. Constraints (21) to (23) express the earliest/latest start times for each operation when needed. They also ensure that there is no operation where the surgeon cannot operate. At any given time and in all the rooms, the constraints (24) to (27) express the fact that two staff members wish to work together or not (Fig. 1). Having verified if a surgeon wishes to work with a nurse (24), we verify the couples surgeon-anaesthetist (25) and nurse-anaesthetist (26). Finally, given that several nurses are required in an operating room, we also verify their affinities (27).

Fig. 1. Constraints about affinities (where S=Surgeon, N1&N2=Nurses, A=Anaesthetist) In order to explain the formulation of these constraints, Table 1 shows the truth table concerning constraints (24). Table 1

STR(s,t,r)

NTR(S+A+n,t,r)

STR(s,t,r)+NTR(S+A+n,t,r)-1

APP(s,S+A+n)

0 0 1 1 0 0

0 1 1 0 0 1

-1 0 1 0 -1 0

0 0 0 0 1 1

1492

Expression (24)

TRUE TRUE FALSE TRUE TRUE TRUE

IESM 2011, METZ – FRANCE, May 25 - 27

1 1 3

1 0

1 0

1 1

TRUE TRUE

Experimental results

The different constraints that constitute the model (heart of the problem, availability of the surgeons, nurses and anaesthetists) are easily transcribed thanks to the library CHOCO 2.1.0 (Rochard et al., 2008). CHOCO is a library for constraint satisfaction problems (CSP) and constraint programming (CP). CHOCO is an “opensource” software. The main characteristic of the language is that its programming can be done in a dynamic way. It also does not depend on the size of the variables and on the domain of definition. The proposed model has been implemented with Java (JDK 1.6) on a computer based on Pentium IV processor 3.2 GHz (memory: 1.5 GB, Operating System: Windows XP).

3.1 Data In order to evaluate the proposed methods of improving the practical arrangement of surgical cases in the operating theatre, real-life data from a Belgian University Hospital were used in this study. The operating theatre in this hospital is composed of six operating rooms and one recovery room comprising ten beds. Normally, all the operating rooms are open from 8 a.m. to 4 p.m. The recovery room opens simultaneously with the operating rooms and does not close until the last patient has left the operating theatre. In this study, after eliminating the urgent cases according to the admittance reason and the surgical cases with incomplete data, 5427 records collected from 49 weeks (number of surgical cases awaiting assignment in one week varies from 53 to 131) are finally available to be used in our experimentation. The duration of each "time slot" is set to 30 minutes. In this paper, we detail one data set corresponding to one day of operation extracted from our database. This configuration corresponds to an instantiation of our model that comprises 16 operations (with 8 high priority operations and 8 medium priority operations), 6 surgeons, 4 opened operating rooms and 6 recovery beds. There are 2 nurses in each operating room and 1 anaesthetist which constitute renewable resources. In addition to this, we consider 3 different renewable material resources and 3 different non-renewable resources. For this set of data, the three objectives are successively optimized. The CP model is tested with the different sets of constraints activated (configurations) (see Table 2). We incorporate in each configuration more and more constraints. In the four first configurations, we don’t take into account the constraints about affinities. The configuration CONF4 takes into account all the usual constraints (from (1) to (10), (21),(23)) and the constraints concerning the affinities (from (24) to (27)). In the next configuration (CONF5), the surgeons’ availabilities and preferences ((15),(16),(22)) are added to CONF4 whereas CONF6 added to CONF 5 the patient priorities constraints ((11),(12)). Finally, the last configuration CONF7 incorporates all the constraints. Table 2 gives us also an idea on the size of the problem in terms of number of constraints for each configuration. Table 2 Config.

Operations

Surgeons

Priorities

Mat/Nurse/

Affinities

Anaesth. CONF0

X

CONF1

X

X

CONF2

X

X

X

CONF3

X

X

X

CONF4

X

CONF5

X

No constraints 2896 4816 5072

X

X

1493

6115 X

13648

X

15568

IESM 2011, METZ – FRANCE, May 25-27

CONF6

X

X

X

CONF7

X

X

X

No of constraints

2896

1920

256

3.2

X

15824

X

X

16867

1043

10752

Results

Table 3 contains the results of the first four configurations, those where affinities is not taken into account (neither in constraints nor as objective). Table 4 contains the results of four configurations (identical to the first ones) where the constraints related to affinities have been added and the solver tries to optimize also the third objective. All the configurations were ordered according to the increasing number of constraints. The last line of every table indicates the total computational time of every configuration (since for every objective we run the model by adding as constraint the value of the previous obtained objective). A first result is that, globally, the more the configuration is constrained, the more the total run time decreases. This shows us that the constraint programming, when there is a large number of constraints, takes its advantage of the parcelling of the search space. The two configurations which take more computational time are those which include the constraints related to the priorities of the operations. As we are then going to impose that some operations take place at the end or at the beginning of day while respecting the hourly preferences of surgeons, in particular, it is normal that the solver needs in that case more computational time to find an optimal solution. We also notice that the more the configuration is constrained, the more the values of the objectives degrade, what is normal. Nevertheless if we look at the configurations 6 and 7, we notice that the value of the objective concerning the affinities remained identical while the values of previous both objectives deteriorated. Between the configurations 5 and 6 we observe that, due to the addition of the constraints on priorities of the operations, the makespan was able to remain unchanged but at the price of one overtime hour. The addition of many constraints is clearly made to the detriment of additional hours and less strongly to the detriment of the makespan. Table 3 without affinities CONF0 Makespan [Time slots] Overtime [Time slots]

Comp.Time (sec.) optimum Comp.Time (sec.) optimum TOTAL comp.time

CONF1

CONF2

CONF3

2741,8

2557,4

2945,2

1506,4

23 2045,7

24 1025,6

24 1545,4

24 987,12

60

64

64

64

4787,5

3583,1

4490,6

2493,5

CONF6

CONF7

Table 4 with affinities CONF4 Makespan [Time slots] Overtime [Time slots] Affinities

Comp.Time (sec.) optimum Comp.Time (sec.) optimum Comp. Time(sec.) optimum TOTAL comp.time

CONF5

2345,2 24

2001,1 25

2345,1 25

807,45 26

1987,2 64

852,45 68

1090,9 70

654,57 72

1870,2 8450

852,45 8354

109,94 8321

654,57 8321

6202,7

3706

3546

2116,5

1494

IESM 2011, METZ – FRANCE, May 25 - 27

4

Conclusions and perspectives

In this paper, we studied a daily scheduling problem, including material and human constraints. This problem is modelled and solved via a constraint programming approach. In our model, we considered a maximum of constraints that are usual in the hospitals. The heart of the model ensures that all basic constraints linked to the no-pre-emption and the integrity of all surgeons are taken into account. However, our model goes further in taking into consideration material and human resources like the preferences, the availability of the medical staff, the affinities between members of the staff and availability of the ambulatory material. We also used a multiobjective approach which provides us with solutions that ensure an optimal utilization of resource with an optimal cooperation between the surgical team members. According to the decision-makers' requirements in the considered hospital, we imposed a priority between our three objectives. An interesting perspective will be to evaluate if a modification of these priorities would have an impact on the results. The obtained results show that the best computational time is obtained for the most constrained problem. That justifies the use of the constraint programming in case of a high number of constraints because, thanks to constraints, it has the advantage of parcelling the search space. This allows the CP solver to focus the search on promising zones in order to boost the discovery of an optimal solution. Moreover, a simplified mathematical model might be used to compute lower and/or upper bounds on various performance criteria to be integrated in our constraint programming model so as to boost further the search if needed. We had chosen not to use a commercial mathematical solver such as IBM ILOG CPLEX-CP Optimizer to solve our constraint programming problem to avoid a significant additional cost to hospitals. However in view of the obtained results, it would be interesting to compare our results with those obtained with CPLEX. 5

References

[1] Apt, K. (2003). Principles of constraint programming. Edition Cambridge University Press. [2] Hanset, A., Meskens, N., Roux, O., & Duvivier, D. (2008). Prise en compte des ressources humaines et matérielles dans la gestion du bloc opératoire : état de l’art, 4ème édition de la conférence Gestion et Ingénierie des Systèmes Hospitaliers, GISEH 08, Lausanne, Suisse 4- 6 septembre 2008. [3] Hanset A. (2010). Amélioration de l’efficacité de la programmation opératoire au sein des établissements de soins de santé , Phd Thesis, december 10, 2010, Catholic University of Mons (FUCAM), Belgium. [4] Macario, A. (2006). Are your operating room efficient? Anesthesiology, 105, 2, 237-240. [5] Magerlein, J., & Martin, J.(1978). Surgical demand scheduling : a review. Health Services Research, 31, 4, 418-433. [6] Rochard, G., Jussien, N., & Lorca, X. (2008). A java constraint library programming, CPAIOR'08 Workshop on Open-Source Software for Integer and constraint Programming (OSSICP'08), Paris, France. [7] Weaver, S.J., Rosen, M.A., Granados, D., Lazzara, E.H., Lyons, R., Salas, E., Knych, S.A., McKeever, M., Adler, L., Barker, M., & King, H.B. (2010). Does Teamwork Improve Performance in the Operating Room? A Multilevel Evaluation. The Joint Commission Journal on Quality and Patient Safety, 36, 3, 133142.

1495