HAL Id: hal-00173072
https://hal.archives-ouvertes.fr/hal-00173072
Submitted on 18 Sep 2007
HAL
is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire
HAL, estdestinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Nurse scheduling using integer linear programming and constraint programming
Lorraine Trilling, Alain Guinet, Dominique Le Magny
To cite this version:
Lorraine Trilling, Alain Guinet, Dominique Le Magny. Nurse scheduling using integer linear pro-
gramming and constraint programming. 12th IFAC Symposium on Information Control Problems in
Manufacturing INCOM 2006, Sep 2007, Saint-Etienne, France. pp.651-656. �hal-00173072�
!
! " # " "
$ % &
! "
" # " $
$ $ " $
% $ &
" ' # ! %
' ())* #
( " )
* +,-.) ,
," /
$
" # $
$ /
# "
"
# &
/
# 0
#
" # $
$ "
'
" #
$ $
1 *2234 5
6778 5
$
87 9 # 6778
$ #
#
% $ $
" % $
/
$
$
9 : 6778 $
"
& $ "
" ,+
/ ). -
" # $ $
4
#
$ ).4
#
$ 4 &
# "
#
# $
" # $
' / #
$ $
$
" $
' / #
$ ,
% $ "
# $
$
"
$
" #
$ " $
$ ' " #
"
" &
$ " &
;
$ 8 " "
<
< "
) 3 $
& '
" # $
! = " $
#
6 < 5+ .+5 .+>5?
+ " $ $
$ $ " $
$ $
$ $
$ $ $ "
$ )
677;4 9 # 67784 5 6778
"
/
"
' #
$
/
"
/
&
$ > & @
6777
$ $
$ # &
A *22B
9 *22=
1 *2234
# *222 0 #
"
# - " 6778
9 *22=4 > & @
67774 # - " 6778
9 A *223
1 $ ' $ $
$
$ , #
/
/ C *223 @
&
&
A
*22B 7/*
# $
" &
D "
" $
@ " $ % $ '
&
) )
"
$ 7/*
1 *223 &
$
$ *7 8 $ ,
# *222
$ )
$
$
" &
; -5 )+ ,
" # "
,+
$ ).
" # " $
$
$
" # #
/ $ "
$ "
"
$
$ $ $
! "
2 ,+ / /
' / #
"
* /
+ % ,+ - B 77 E *= 77
$ % , + - B 77 E 67 77
% % , - 67 77 E B 77
#. /! & , - 2 77 E *F 77 G ** 77 E
*2 77
/ $
" #
" #/ "
0 ! $ $
$ ).
' $
/
! D
" #
" C $
" # " #
" # $
" # " #
G $ $ / " #
" " #
$
"
"#) $ '
- 5- 5
$#1 # & *6
%#1 # ;B
" # & 8B " #
&# " #
" #
'# " # 5- $ 5
G " # 5-
$ 5 & 0
(# $ "
" " ' **
$
• " # - " 4
• " # 5- "
5 C $
" ' 5-
5 " #
5- " " # 5
" "
)* )8
$
. )3 )=
" &
$
% $
& D
'
" $ )*
)=
$
" #
# "
" #
$ $
[
* 6]
6
0 ! % 0/ 1 0%/ /
+ * * * * * 7 7
+ * 6 * 6 * 6 * 6 * 6 * 8 * 8
* 8 * 8 * 8 * 8 * 8 * = * =
* = * = * = * = * = 7 7
"
" "
"
"
"
"
" $
< )
8 +,9<50 +5 ,<. ,
2 3 ! /
" < $
7/* $
645 " *≤ ≤
& *≤ 4≤ & "
5≤
*≤ &
$ # "
$ "
= 7 "
" #
* 5 4
6 45
7 4 & % $
" "
& $
% $ 45
4 5 $ 45
$ 6 % $
&
8= −
) *
" &
"
"
6
4 5
45
45 7 *
*
* *
=
∀
≤
−
= =
6
6
4 5
45
45 7 *
*
* *
&− ≥ ∀ =
= =
;
" " #
*
= / <* /
# 1 < &
" 5- "
5 @ "
5- D 3
- 5=* 5- 5=6 5- D
;
5= 5 5=8 5=3
$ " &
' 8 " 45
' 5 4
4
645 45 * *
*
=
∀
=
∀
=
=
8
) $ " #
# ' 3
4 6
5
45 * * *
*
=
∀
=
∀
≤
=
3
) % " # " #
# " #
5 " #
# 6
4 5
5
45 8B *
*
F
*
=
∀
≤
= =
=
&
& # " & %
" *≤%≤ F " #
F F
= F
8 ; * *
%
% 4
4 %
6 ≤ ∀ = ∀ =
−
=
F
' " " #
" #/ $ '
•
" #/
8
;
*
*
7
F F
* F
=
∀
=
∀
=
∀
=
− −
5
% 6
6 % 5 %5
B
• " #/ " "
8
;
*
*
*
6
*
*
F 8
* H
H F F
=
∀
−
=
∀
=
∀
=
∀
≤ +
= +
5
%
$ 6
6
5
5
$
% 5
% 2
' (
" # " #/
• 5 5- D 5 "
F 8
* H
H
= F F
F
* 3
*
*
8 6
*
5
5 4
% 5
4
%
% 4
5 6
6
=
∀
=
∀
=
∀
=
∀
≤ +
=
+
− +
− *7
• 5 5- " 5
F 8
*
* F
;
* F
* 8
*
*
4 7
% 4
%
% 4
6 6
=
∀
=
∀
=
∀
=
− − + +
+
− **
! D
# &
$ 4
"
3
* 7 ∀ =
= 5
645 *6
/ " $ < C,
& / "
& " / /
2 ( # ! /
)
$
$ "
) $
<,C <,C *22B
" $
0
! )
/ 6 + # "
• 6 $ 64
4
• + +4
$ 64 # $ 5 +4 =
{
7*6;8}
$ # -
*
5 = 5- 5 =6 5 5=; 8
5 =
• # 9 "
$ 6
$ $ #
)
< 9
" !
$ " #
) $
# $
) $ "
{ }
ω# $ ω
{
64 5}
45 4 0 5 +4# $ ∈ = = ∀ ∈ ∀ ∈ *;
" 0
45
' 5 4
) &
&% " " # 1
{ }
{ }
1
% 0 4
6
%
% 4
# $ 4
∈
∀
∈
∀
≤
=
−
∈ F = F ; ;
*8
1 $ 5- D # <
' 5- "
5 &
* 6
F%− +4 =
6 6 F%−+4+*=7
{ }
% 14
6 F%−*+4+* =; ∀ ∈ ∀ ∈* 8 ∀ ∈ *3
* ;
F%− +4 =
6 6 F%−+4+* =7
{ }
% 14∈ ∀ ∈
∀
∈
∀ * 3 *=
( " )
I J JK
•
" #/
5
6 F% = 6 F%−*=5 5
6 F%−*= 6 F% =5
{
76;}
∈
∀
∈
∀
∈
∀ % 1 5
*F
• " #/ " "
F% ≠7
6 6 F%+* =6 F%+6 =7
{
* F −*}
∀ ∈{
76;}
∈
∀
∈
∀ % 5 *B
$
" $ 4
" # 4 $
& %
" # " # $ #
$ +4 =
{
7B*6}
I J JK
8
4 =
6 4 =B ∀ ∈ ∀4∈0 *2
@ );
1
%
%
% 4
4 ≤ ∀ ∈ ∀ ∈
−
=
8B
F
F F
67
" $ 4
4 #
$ +4 =
{
7**6*8*=}
$ $
% $ 8 = & − " &
$ &
$
4 4 4
4 *
*
&
*
=
∀
≥
≤
=
=
6*
$ ) $
$
$ $
#
% $
& "
/ % < # $ <,C
$
$ $ $
"
) " $
$ $
$
" /
$
6
& # " $
• ! % * @
• $ L%
• $ " $
L%
$
• ' $
$
•
! 6 )
$ $
$ $
# #
& $ $ ,
% $
&
$ % $
3 +5 .< - - ). ,
1 $ < ) '
$ $
;
/
; &
/ + 9/ + +
* " *7 *8 0 ! 6 6 * *
7 * * 7
* $ 67 F 0 ! F 6 * 6
7 * * 7
* % *= F 0 ! F 6 * 6
7 * * 7
* & *= *8 0 ! F 6 * 6
7 * * 7
! % $ $
$ 8 & $
$ " $
$
* $
< $ $ $
$ 4 6
$ *6 $
" $ 4 ;
$ &
" &
8 5&
: 7 4 # . : 7 4 # .
* " B B B 8 7 8 *8 2 B 6 7 B 6*=B
* $ 8 6 ; = 7 = =6 3 = 6 7 ; = 63
* % 3 7 8 = 7 8 *B; 3 8 8 7 * 8 6B
* & 2 = 2 8 7 6 68* *7 = B B * = *7=F
# . & $
8 <
$ )
% $ − & @ " $
* $
) !
' 6
; < $ "
% $ $ ) "
" $
' <
M M
1 "
$
1 ) "
$ "
#
<
M M
/ /
"
"
" # $
" # $ "
" % $
= ), )<. ,
$
$
&
"
"
$ <
" $
" "
@ " $ " $
$ $
$ " #
" ! $
#
"
$ )
< "
#
$
D
)( ,<5-C505
"
@+ N ! %
+5!5+5 )5
@ # *222
$ ;
# . ( - " 6778
C /
# !/ $ 7! %
%" F=*EFFB
9 A ! 0 *22=
/ % $
"
%+ *B;/*2;
9 : 6778 0
/ ! < /
7! % 3;;/386
9 0 A < 1 A *223 )
$
/ ! < / 7!
% ,( 682E6=*
9 # 5 ( - ) # C > 9
@ > < 6778
< / % $/ - 88*/
822
) 9 @ < < 9 + 677;
+ / 9
$ / ! < / 7!
% "'" 88F/8=7
5 @ A 0 ( -
6778
$ "
/ ! < / 7! % "'%
;/6F
C *223 %
< / / / (
23/*7;
<,C *22B 7= & 2 2 /
C !
A 9 ! > $ *22B
/ ! < / 7!
% "+- */*B
> & ) 5 @ 6777 @
' " #
$ $+ *33/*F3
1 C ( @ ! O 0 %
*223 )
$ $
> "& 8*F/866