0% found this document useful (0 votes)
252 views5 pages

Cyclic Nurse Scheduling

This paper presents an algorithm for generating optimal cyclic nurse scheduling. The algorithm has three stages: (1) generating possible schedules that satisfy labor constraints, (2) formulating an integer program to optimize the schedules, and (3) converting the solution into actual schedules for individual nurses. The schedules are cyclic, meaning the same schedules are reused over time, allowing easy long-term planning once the initial problem is solved. The algorithm aims to address nurse scheduling in a practical way that can be implemented on a microcomputer.

Uploaded by

darkennimbus
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
252 views5 pages

Cyclic Nurse Scheduling

This paper presents an algorithm for generating optimal cyclic nurse scheduling. The algorithm has three stages: (1) generating possible schedules that satisfy labor constraints, (2) formulating an integer program to optimize the schedules, and (3) converting the solution into actual schedules for individual nurses. The schedules are cyclic, meaning the same schedules are reused over time, allowing easy long-term planning once the initial problem is solved. The algorithm aims to address nurse scheduling in a practical way that can be implemented on a microcomputer.

Uploaded by

darkennimbus
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

European Journal of Operational Research 31 (1987) 19-23 19

North-Holland

Cyclic nurse scheduling


E.S. ROSENBLOOM and N.F. GOERTZEN
Department of Actuarial and Management Sciences, University of Manitoba, Winnipeg, Manitoba, R3T 2N2,
Canada

Abstract: This paper presents an algorithm for scheduling nurses in a hospital. The resulting schedules are
cyclic and optimal. The advantage of this algorithm is that it can be implemented easily on a microcom-
puter.

Keywords: Scheduling, personnel, health services, integer programming

1. Introduction wards have a head nurse or ward manager to


schedule the nurses manually.
There are many organizations that are required This paper presents an algorithm which will
to operate on a twenty-four hour a day, seven day schedule nurses under a wide variety of possible
a week basis. The scheduling of full time em- labour constraints. The algorithm is divided into 3
ployees can be a very difficult problem. A particu- stages. In the first stage, a set of possible sched-
lar example of this is that of scheduling nurses in ules is generated. The number of possible sched-
hospitals. Scheduling is usually done on a ward ules will usually be quite small since only those
basis because of the particular specialization of schedules which can be a part of a cyclic solution
the nurses on a ward and the fact that the number will be considered. In the, second stage of the
of nurses needed to work a particular shift will algorithm, an integer program is formulated. A
often vary from day to day. The labour contract special feature of the linear program is that in its
between the hospital and the nurse can place a solution the number of nurses that work a particu-
variety of restrictions on the types of schedules the lar pattern is constantly reused. Thismeans that
nurses can perform. as long as the labour constraints and the minimum
Previous nurse scheduling approaches have daily coverage remain fixed, the entire scheduling
overcome these obstacles by either the utilization problem needs to be solved only once. The third
of enormous computer resources ([5,6]); or by and final stage converts the linear program solu-
solving a very specific scheduling problem ([2,3]). tion into the actual work pattern for each individ-
Since the scheduling is usually done on a ward ual nurse.
basis, an algorithm that requires considerable
computer resources is rarely practical. Approaches
that are problem specific have the disadvantage 2. The algorithm
that if a single problem feature is changed, the
solution method may have to be altogether Stage 1
scrapped. The net results is that these approaches
have not been widely implemented. Most hospital This stage consists of finding all n-day sched-
ules that satisfy the labour constraints and can be
a part of a larger work pattern. An n-day schedule
can be presented as a binary n-tuple. The 5-tuple
11101 represents a schedule where a nurse works 3
Received July 1985; revised August 1986 days, gets 1 day off and then works the 5th day.

0377-2217/87/$3.50 8 1987, Elsevier Science Publishers B.V. (North-Holland)


ZU ES. Rosenbloom N. F. Goeri:eu / Cjclic nurse scltehling

Since virtually all labour restrictions concern from further consideration. Similarly any schedule
weekly schedules it is usually most convenient to that cannot be a second week of a two week
use 7-tuples. Allowing Monday to be the first day pattern is also eliminated. This second process of
of the week and Sunday the last, the 7-tuple elimination schedules is called dynamic elimina-
1100111 would represent a schedule where a nurse tion.
works Monday, Tuesday, Friday, Saturday, and A formalization of dynamic elimination proce-
Sunday. There is of course a total of 2’ or 128 dure is given as follows:
possible weekly schedules. Step I. Construct an s by s matrix where s is the
These n-day schedules then go through a number of schedules that survive static elimina-
screening process called static elimination. In static tion. A ‘1’ in the (i, j)-th entry indicates that
elimination, all n-day schedules are eliminated schedule i in the first week and schedule j in the
which violate any of the labour constraints. Typi- second week is a valid work pattern. A ‘0’ would
cal constraints are: a minimum and maximum indicate that it is not. This is accomplished by
number of consecutive work days, a minimum testing the following conditions (a-f) for each
number of consecutive days off, a minimum and entry (i, j) and inserting a ‘1’ if all the conditions
maximum number of days worked per scheduling are true and a ‘0’ if at least one condition is false:
period, the number of weeks in the scheduling (a) The sum of the consecutive work days at
period, the number of weekends off per scheduling the end of the first week and the consecutive work
period and whether or not split weekends are days from the start of the second week, should be
allowed (working Saturday and having Sunday less than, or equal to, the maximum required work
off, or vice versa). As an example consider a fairly stretch.
typical contract with the following restrictions: (b) Similarly the same sum, from (a) above,
1. The planning period is 2 weeks should be greater or equal to, the minimum re-
2. Nurses are required to work exactly 10 days quired work stretch.
in each period. (c) The sum of consecutive days off from the
3. Consecutive work days must not exceed 6 end of the first week, and the consecutive days off
days. from the start of the second week, should be
4. Consecutive work days must not be less than greater than, or equal to, the minimum required
3 days. days off.
5. Split weekends are not allowed. (d) The total work days in the first week, plus
6. One out of weekends must be off. the total work days in the second week, should be
7. The are no restrictions on the number of less than, or equal to, the maximum required work
consecutive days off (the minimum number of days per period.
consecutive days off is therefore 1). (e) Similarly this same sum, from (d) above,
With these restrictions only the following 22 of the should be greater than, or equal to the minimum
128 schedules are eligible: required work days per period.
(f) Either the first week provides a weekend
1110000 0111000 1111000 0011100 off, while the second does not, or vice versa.
1011100 0111100 1111100 1000011 Step 2. Examine each row of the filled matrix. If a
1100011 1110011 0111011 1111011 row does not contain at least one ‘l’, eliminate
0000111 1000111 1100111 1110111
that row and its corresponding column, thereby
0001111 1001111 1101111 0011111
1011111 0111111 removing that schedule from the possible list of
schedules.
However, not all of these one week schedules Step 3. Examine each row of the filled matrix. If a
can be part of a cyclic work pattern. Consider the column does not contain at least one ‘1’ eliminate
schedule 1110000. Note that any two week work that column and its corresponding row; thereby
pattern that begins with schedule 1110000 and removing the schedule from the possible list of
continues with any of the 22 schedules again, solutions.
would violate at least one of the restrictions of the Step 4. Repeat steps 2 and 3 until all rows and
collective agreement. Since schedule 1110000 can- columns contain at least one ‘1’.
not be part of a cyclic work pattern, it is eliminated The resulting matrix A = (aij) is an incidence
E.S. Rosenbloont, N. F. Goerrzen / Cyclic nurse scheduling 21

matrix where position (i, j) of the incidence matrix A there will


ajj = 1 indicates that schedule j can follow be a decision variable Xij. This variable is defined
schedule i , as the number of nurses who work schedule i in
one week and later work schedule j in the subse-
= 0 otherwise.
quent week.
In general, A will be an m X m matrix, where n There are two types of constraints in this linear
is the number of 1 week schedules that survive program. The first type will ensure a repeatable
both static and dynamic elimination. solution by forcing the number of nurses who may
In the example above, only 6 of the 22 sched- leave a particular schedule to equal the number
ules survive the dynamic elimination. These 6 who enter that same schedule. That is, the number
schedules (labelled schedules 1 to 6) are: of nurses who work a particular schedule i re-
Schedule 1 1111000 mains constant from week to week. This can be
Schedule 2 1011100 obtained by requiring for each schedule i:
Schedule 3 0111100 m m
Schedule 4 1111011 C &j= C Xki (i=l,...,m),
j=l k=l
Schedule 5 1110111
Schedule 6 0111111 The second type of constraint is that the hospital
requires a minimum number of nurses to work a
Depending upon the individual contract, the particular day of the week. This minimum number
number of schedules after dynamic elimination is may vary from day to day. TypicalIy this mini-
usually between 3 and 30. mum coverage is higher on weekdays than on
The data for the schedules are stored in an weekends. Thus we will have 7 constraints (one for
m x n matrix S = (sij), where
each day of the week). This can be expressed by
sij = 1 indicates day j is a work day in schedule i, the following inequalities:
= 0 indicates day j is an off day in schedule i,
m is the number of schedules that survive both
static and dynamic elimination, and n is the num-
where R, is the minimum number of nurses re-
ber of days in the schedule (in most cases this is
quired on day k (k = 1 represents a Monday,
7). In the above example the matrix S is given by:
k = 2 a Tuesday,. . . and so on).
The most obvious objective function for this
type of problem would be to minimize the number
of nurses that are required (minimize XX,,). How-
ever, that objective function would not be con-
sistent with the real goals of the hospital. The
hospital typically has a fixed number of nurses
The corresponding incidence matrix A is given (say T) that it would like to schedule so that; (i)
minimum daily coverages are maintained, and (ii)
by
that the ultimate coverages are as even as possible.
The first goal (i) is satisfied with the constraints
(1) and (2).
Meanwhile the second goal (ii) can be attained
by minimizing the maximum surplus of nurses

1 J
011000
001000
schedules each day. The surplus is defined for
each day to be the number of nurses actually
scheduled less the minimum requirement. This
Stage 2 maximum surplus Y is given by:
In this stage the incidence matrix A, and the
minimum daily requirements are used to for- i-l
gSik(J&)-Rk
I (k=1,...,7).
mulate an integer linear program. For each ‘1’ in (3)
22 ES. Rosenbloom, N. F. Goertzetl / Cyclic nurse schedulitrg

The resulting linear program will therefore be: 2 nurses work 0111100 --f 1110111 + repeat
schedule 3 schedule 5
min Y,
2 nurses work 1111011 + 1011100 + repeat
subject to schedule 4 schedule 2
m Inl \ 2 nurses work 1110111 + 0111100 -+ repeat
(k=1,...,7), schedule 5 schedule 3

&(jl&j) - Y<R, (k=1,-~7)s


3. Parameter considerations

~ X,j= ~ xki (i=l,...,m), The example in section 2 using restrictions 1


j-1 k-l
through 7 produced an linear program with 15
variables and 21 constraints. The number of varia-
bles and constraints will vary depending on the
i-l j-l
values chosen for the parameters. If, for example,
Y 2 0 and integer, the maximum number of consecutive days worked
all Xij 2 0 and integer. were changed from 6 to 7, the number of sched-
ules (and therefore the size of the problem) would
In the example, the linear program has 15 change from 6 to 12. Usually the most sensitive
variables and 21 constraints. Although the number restriction is the value for the minimum number
of variables and constraints will depend upon the of consecutive work days, If the minimum number
labour constraints in the hospital, these numbers of consecutive work days was low, such as one or
are fairly typical. two, there would be a considerable increase in the
size of the resulting linear program. However,
Stage 3 most hospitals have a higher minimum than this.
Although the set of problems restrictions dis-
In this stage the solution to the integer linear cussed in this paper are fully capable of describing
program is used to generate the individual sched- typical problems in a hospital, some situations
ules of the nurses. For a simple example consider may require additional types of parameters. For
a case where 8 nurses need to be scheduled in a instance, suppose a hospital requires that nurses
ward where the minimum daily requirements are 6 who work on a particular weekend should receive
for weekdays and 4 for the weekends. (T = 8, at least two days off immediately subsequent to
R,=R,=R3=R,,=RS=6,and R,=R,=4). that weekend. Given the current set of problems
An optimal solution to the linear program is restrictions this would not be possible. However,
given by: there is no problem with including another rule. In
fact this method could be described as an ap-
Y=2, xz4=2, x3,=2, x4,=2, x5,=2
proach rather than a specific algorithm since it
and all other Xii = 0. encourages modifications and enhancements.

This particular solution indicates that it is pos-


sible to satisfy all the constraints with a maximum 4. Conclusions
surplus of 2. x,, = 2 means that the 2 nurses who
work schedule 2 in a given week will work sched-
One advantage of the approach presented in
ule 4 the subsequent week. The fact that X,, = 2
this paper over some of the previous research in
will mean that they will return to schedule 2 for _ __.
nurse scheduling is that computer implementation
the third week.
Thus the complete schedule for all the nurses is much easier. Previous approaches such as Smith
will be as follows: [4], Warner [5] and Warner and Prawda [6] require
a mainframe computer. However, the static and
2 nurses work 1011100 + 1111011 + repeat dynamic elimination keeps the resulting linear
schedule 2 schedule 4 program remarkably small. In fact the entire al-
ES. Rosenbloom. N. F. Goertzen / Cyclic nurse scheduling 23

gorithm was first implemented on a 8 bit, 64 K to complete. The original implementation was done
computer. in BASIC with subsequent development in PASCAL.
There were two difficult steps which a com- Another advantage of the algorithm was its
puter was able to simplify. The first required inherent flexibility. The schedules for a ward can
specialized programs to be written while the sec- be generated under any labour restrictions. This
ond was merely the solution of the integer linear allows both the hospital administration and the
program. Since the generation of the original 128 nurses to consider the effect of various labour
schedules demonstrates some fairly basic string constraints on the quality of the schedules.
constructions, it was the first program written. By
supplying the number of days in a schedule, all
possible work patterns would be produced and References
loaded into an array. Then, by making measures
of all the schedules and comparing these to the PI Baker, K.R., “Scheduling a full-time workforce to meet
problem restrictions, many rows (schedules) could cyclic staffing requirements”, MuItugemefrr Science 20
(1974) 1561-1575.
be removed (static elimination). Once static
PI Bums, R.N., “Manpower scheduling with variable de-
elimination was complete, another square array mands and alternate weekends off”, INFOR 16 (1978)
was constructed and then dynamic elimination 101-111.
was carried out by concatenating pairs of sched- [31 Orlin, J.B., Bartholdi, J.J., and Ratliff, D.H., “Cyclic
ules, measuring certain features of the combined scheduling via integer programs with circular ones”, Oper-
ations Research 28 (1980) 1074-1085.
pattern, and finally deciding whether or not to
141 Smith, L.D., “The application of an interactive algorithm
allow that particular matching. After perhaps to develop cyclical rotational schedules for nursing person-
hundreds of hypothetical matchings and subse- nel”, INFOR 14 (1976) 53-70.
quent acceptance or rejection, the remaining array (51 Warner, D.M., “Scheduling nursing personnel according to
would consist only of ones or zero. This array nursing preferences: A mathematical programming ap-
proach”, Opercifions Research 24 (1976) 842-856.
represents the incidence matrix.
161Warner, D.M., and Pmwda, J., “A mathematical program-
In spite of the description, actual execution of ming model for scheduling nursing personnel in a hospital”,
this program typically requires less than a minute Munagenrenr Science 19 (1972) 411-422.

You might also like