You are on page 1of 11

Theory and Methodology

A genetic algorithm for scheduling sta of mixed skills under


multi-criteria
q
X. Cai
a,
*
, K.N. Li
b
a
Department of Systems Engineering and Engineering Management, The Chinese University of Hong Kong, Shatin, NT, Hong Kong
b
Department of Information Engineering, The Chinese University of Hong Kong, Shatin, NT, Hong Kong
Received 1 March 1997; accepted 1 November 1998
Abstract
We consider the problem of scheduling sta with mixed skills. We formulate the problem as a multi-criteria opti-
mization model, where the primary objective is to minimize the total cost for assigning sta to meet the manpower
demands over time, the secondary objective is to seek a solution with the maximum surplus of sta among the solutions
with almost same level of assigning cost, and the tertiary objective is to reduce the variation of sta surplus over
dierent scheduling periods. This is a new model to handle the sta scheduling problem, which is motivated by the
operational requirements in some local service organizations. We propose a new genetic algorithm (GA) to solve the
problem. The proposed GA diers from traditional GAs in the following components: (1) it performs its parent se-
lection by using a ranking scheme that considers successively the three criteria; (2) it uses a multi-point crossover
operator based on the hamming distance between schedules; and (3) it adopts a heuristic to resolve the problem of
infeasibility created by crossover operations. Computational results are reported, which show the eectiveness of the
proposed approach in nding desirable solutions. 2000 Elsevier Science B.V. All rights reserved.
Keywords: Sta scheduling; Genetic algorithms; Multi-criteria optimization
1. Introduction
Ecient utilization of manpower has always
been a key concern in any organization and is one
of the most important means to achieve produc-
tivity gain. Because of its importance, considerable
eort has been devoted to tackling the problem,
and various solution methods have been suggested
in the literature (see, for example, [3,9,12]). Tra-
ditionally, the problem is formulated as a single-
criterion integer programming problem, with the
objective being to nd a solution to minimize the
European Journal of Operational Research 125 (2000) 359369
www.elsevier.com/locate/dsw
q
An abridged version of this paper was presented at the
International Conference on Intelligent Technologies in Hu-
man-Related Sciences, July 57, 1996, Leon, Spain. The work
reported in this paper was supported in part by the Research
Grants Council of Hong Kong under an Earmarked Grant
No. CUHK 278/94E.
*
Corresponding author. Tel.: +852-26098321; fax: +852-
26035505.
E-mail address: xqcai@se.cuhk.edu.hk (X. Cai).
0377-2217/00/$ - see front matter 2000 Elsevier Science B.V. All rights reserved.
PII: S 0 3 7 7 - 2 2 1 7 ( 9 9 ) 0 0 3 9 1 - 4
overall cost while trying to satisfy all operational
constraints, particularly the manpower demands
over time. Such a single-criterion model, however,
has certain drawbacks that have limited its prac-
tical applications. Firstly, as it can be easily seen,
fairness is a very important criterion in practical
sta scheduling. However, a model with only the
criterion of minimizing the stang cost does not
take this into consideration. Secondly, traditional
models also suer from the problem of being very
sensitive to the forecast of manpower demands. As
we can see, an accurate forecast is very hard to
achieve in organizations such as service systems
where demands for sta may change rapidly and
randomly. Thirdly, a large workforce of mixed
skills will have to be dealt with in large organiza-
tions. However, traditional research usually con-
siders only simplied models with sta having a
homogeneous skill.
The main purpose of this article is to develop a
model to tackle the sta scheduling problem, to
take into account some practically important fac-
tors. Specically, we will formulate the problem as
a multi-criteria model, where the primary objective
is to minimize the overall cost for assigning sta to
meet the manpower demands, the secondary ob-
jective is to maximize the surplus of sta when
assigning cost is almost same, and the tertiary
objective seeks to minimize the variation of surplus
sta over dierent time periods. The primary cri-
terion in our model is similar to traditional sta
scheduling models. We include the second criteri-
on, aiming to reduce the risk of underestimation of
actual demands that may occur due to inaccurate
forecast. We include the third criterion, with an
aim to obtain a more balanced sta distribution,
which is often regarded as an important factor in
achieving a fair solution. In our model, we also
consider the existence of jobs requiring dierent
skills and employees of multiple skills, who can be
assigned to do dierent types of jobs as needed.
Hence, our model is one that simultaneously ad-
dresses multiple criteria prioritised in a hierarchi-
cal structure, manpower demands requiring
dierent skilled workers, and workforce of dier-
ent and multiple skills.
Some related models are now reviewed below.
Trivedi [17] examines a nurse scheduling problem,
which includes multiple objectives and full-time,
part-time, and over-time nurses. The problem is
formulated by a mixed-integer goal programming
model. Loucks and Jacobs [13] consider a sta
scheduling problem with two criteria. The rst
criterion is similar to our model described above,
which is to minimize the total man-hours of
overstang. Their second criterion, however, is to
minimize the dierence between the number of
working hours scheduled for a worker and that
originally targeted for the worker. Several re-
searchers [4,8] have addressed the criterion on the
distribution of surplus sta. For example, Easton
and Rossin [8] have recently examined a sta
scheduling problem with multiple criteria, includ-
ing a secondary criterion to minimize the variance
of distributions of surplus sta. Their main con-
cern is how to use heuristic approaches to adjust
the solutions obtained under the primary criterion,
to improve the secondary objective. Easton and
Rossin [8] consider also full-time and part-time
employees, but only a single type of job. Nara-
simhan [15] investigates a single shift scheduling
problem, which contains multiple categories of
workers whose capabilities can be structured
hierarchically.
The sta scheduling problem is, in general, very
dicult to solve, even when it is tackled in a sim-
plied version containing only a single criterion
and a homogeneous skill. In fact, the problem has
been known to be NP-complete [2]. When multiple
criteria and mixed skills are involved, the problem
becomes much more dicult. It will be hard, if not
impossible, to apply traditional mathematical
programming techniques to solve the problem.
Inspired by successful applications of genetic al-
gorithms in solving dicult optimization prob-
lems, in this article we will explore the applicability
of a genetic algorithm to our sta scheduling
problem. Note that some types of intelligent
techniques like genetic algorithms [7,16], simulated
annealing [5], and Tabu search [12], have also been
applied to tackle various versions of the sta
scheduling problem. These papers, however, gen-
erally are concerned with problems with a single
criterion or a homogeneous skill.
Our proposed genetic algorithm possesses the
following characteristics: (1) parents to generate
360 X. Cai, K.N. Li / European Journal of Operational Research 125 (2000) 359369
ospring are selected by a ranking scheme con-
sidering successively the three criteria; (2) a multi-
point crossover operator is used, which performs
crossover operations based on the hamming dis-
tance between schedules; and (3) a heuristic pro-
cedure is adopted to resolve the problem of
infeasibility created by crossover operations. To
evaluate the performance of the proposed algo-
rithm, we have carried out a series of computa-
tional experiments, and results obtained show that
the proposed approach is very eective in nding
desirable solutions.
2. Model
We consider the following problem: There are
two types of jobs, requiring respectively D
1t
and
D
2t
sta at time t, where t = 1; 2; . . . ; T, and T is
the scheduling horizon. Meanwhile, there are three
types of sta. The rst type of sta having skill 1,
can be assigned to do type-1 job, and the second
type of sta having skill 2, can be assigned to do
type-2 job. The third type of sta having a mixed
skill, can be assigned to do either type-1 or type-2
job. The general case with more than two types of
jobs and/or three types of sta can be tackled
similarly by generalizing the ideas we describe in
this paper.
The demands D
1t
and D
2t
are deterministically
known in advance. Clearly, the cost for using
dierent type of sta is dierent, and usually the
third type of sta is more expensive. Besides, we
assume that the availability of the third type of
sta is limited, that is, there is an upper bound, B,
on the total number of the third type of sta.
Dening a schedule as a complete working pattern
throughout the whole interval T (e.g., a schedule
may be: AM shift from 8:00 a.m to 4:00 p.m with a
break in the hour 11:00 a.m on Monday, PM shift
from 3:00 p.m to 11:00 p.m with a break in the
hour 8:00 p.m on Tuesday, day-o on Wednesday,
and so on), we further let:
Our problem can be formulated as follows:
Minimize
Z
1
=
X
jS
1
c
j
x
j

X
jS
2
c
j
y
j

X
jS
3
c
j
z
/
j

X
jS
3
c
j
z
//
j
; (1)
maximize
Z
2
=
X
T
t=1
max
X
jS
1
a
tj
x
j
(

X
jS
3
a
tj
z
/
j
D
1t
; 0
)

X
T
t=1
max
X
jS
2
a
tj
y
j
(

X
jS
3
a
tj
z
//
j
D
2t
; 0
)
;
(2)
minimize
Z
3
=
X
T
t=1
X
jS
1
a
tj
x
j


X
jS
3
a
tj
z
/
j
D
1t
!
2
1
D
1t

X
T
t=1
X
jS
2
a
tj
y
j


X
jS
3
a
tj
z
//
j
D
2t
!
2
1
D
2t
; (3)
subject to
X
jS
1
a
tj
x
j

X
jS
3
a
tj
z
/
j
PD
1t
; for t = 1; 2; . . . ; T;
(4)
X
jS
2
a
tj
y
j

X
jS
3
a
tj
z
//
j
PD
2t
; for t = 1; 2; . . . ; T;
(5)
X
jS
3
z
/
j

X
jS
3
z
//
j
6B; (6)
x
j
; y
j
; z
/
j
; z
//
j
0; 1; 2; . . .; for all j: (7)
S
k
The set of all feasible schedules for type-k
sta, k = 1; 2; 3.
a
tj
1 if t is a working period in schedule j and 0
otherwise, t = 1; 2; . . . ; T; j S
k
.
c
j
The cost for assigning one worker to sched-
ule j, j S
k
.
x
j
The number of type-1 workers assigned to
schedule j, j S
1
.
y
j
The number of type-2 workers assigned to
schedule j, j S
2
.
z
/
j
The number of type-3 workers assigned to
schedule j, j S
3
, to do type-1 job.
z
//
j
The number of type-3 workers assigned to
schedule j, j S
3
, to do type-2 job.
X. Cai, K.N. Li / European Journal of Operational Research 125 (2000) 359369 361
For brevity, let us denote the Sta Scheduling
Problem formulated above as SS-P. In SS-P,
objective (1) is the primary criterion, which seeks
to minimize the total cost for assigning the neces-
sary sta to satisfy the demands for manpower.
Objective (2) is the secondary criterion, which
seeks to have a schedule with the maximum sta
surplus. The tertiary criterion objective (3) is to
minimize the variation of sta surplus. Constraints
(4) and (5) indicate that type-3 sta have mixed
skills, who can be assigned to meet the demands
for either type-1 or type-2 jobs. Constraint (6)
represents the limit on the availability of type-3
sta. Finally, constraint (7) species that x
j
; y
j
; z
/
j
,
and z
//
j
can only take nonnegative integer values.
Note that we include explicitly a limit B on the
number of type-3 sta, to reect the reality that
sta with mixed skills are scanty and the require-
ment on this type of sta should not exceed the
possibly available number B. On the other hand,
the model does not include such a limit on the
number of type-1 or type-2 sta, considering that
the supply of these sta is generally sucient. Even
though it is found that the supply of these sta is
temporarily insucient, it takes little time to re-
cruit temporary workers, or to train additional
sta, to meet the requirement. As compared to the
workers of multiple skills, the availability of
workers of a single skill is usually not a major
concern and is thus not taken into consideration in
the model above. The algorithm to be described
below can, however, be modied without much
diculty to deal with upper bounds on each and
every type of sta if these have to be considered.
Note also that a solution to SS-P will specify
the number of workers to be assigned to each
feasible schedule. It does not, however, specify
which individual worker should be assigned with
which schedule. As long as the solution for SS-P is
obtained, we can derive the working schedule for
each worker by further solving a generalized as-
signment problem, where the source nodes repre-
sent the workers available, while the sink nodes
represent the number of workers required for the
feasible schedules (these can be extracted from
the solution for SS-P). A matrix representing the
preference of the workers to the schedules may be
created, to serve as the assignment weights in the
assignment problem. Such an assignment model to
help decide the allocation of workers to the
schedules has become more or less standard in the
literature. See, for example, [9] (p. 990) or [6]. In
the rest of this paper, we will address only the
model SS-P and its solutions.
3. Algorithm
We propose a genetic algorithm to solve the
problem formulated above (for an excellent review
of GAs, see [10]). The general framework of our
algorithm is depicted in Fig. 1. In order to apply
such a genetic algorithm to solve an optimization
problem, several basic issues will have to be spec-
ied. These include the coding scheme, reproduc-
tion, crossover, and mutation. In the sequel of this
section we shall describe the details of these issues,
the combination of which constitutes the genetic
algorithm we propose to solve our problem.
3.1. Coding scheme
The coding scheme we adopt to represent a
solution for the problem uses a nonnegative inte-
ger-value vector:
S =x
1
; x
2
; . . . ; x
n
1
; y
1
; y
2
; . . . ; y
n
2
; z
/
1
; z
/
2
; . . . ; z
/
n
3
;
z
//
1
; z
//
2
; . . . ; z
//
n
3
; (8)
where n
j
, j = 1; 2; 3, are the total number of fea-
sible schedules in the sets S
j
, j = 1; 2; 3, respec-
tively. Let n = n
1
n
2
2n
3
. Each individual, or
chromosome, in the population is encoded as an n-
element vector. Each element, or gene, in a chro-
mosome represents one of the feasible schedules
for the relevant type of sta. The value assigned to
each gene is a nonnegative integer representing the
number of workers assigned to the corresponding
schedule (or tour, see [3]).
3.2. Rank-based parent selection
The problem we are considering involves mul-
tiple criteria. This makes it hard to compute a
quantitative value to represent the tness of an
362 X. Cai, K.N. Li / European Journal of Operational Research 125 (2000) 359369
individual. A possible approach to get a quanti-
tative tness value is to assign a weight w
j
to each
criterion Z
j
and then use f = w
1
Z
1
w
2
Z
2
w
3
Z
3
as the value of tness, but the determination of the
weights w
j
in such an approach will be practically
very dicult. Considering the hierarchical struc-
ture of the three criteria in our model and their
relative importance, we propose to use a ranking
scheme, which ranks the chromosomes in a pop-
ulation by the three prioritised objectives, and then
select parents for generating ospring based on
their ranks. The ranking scheme is shown in Fig. 2.
We introduce a parameter e
j
in our ranking
conditions, with the consideration that two solu-
tions (chromosomes) are usually regarded, in
practice, as almost equally good under an objec-
tive if their objective values fall within a small
range e
j
. In such a case, we will further evaluate
the chromosomes using the condition at the lower
level if the current condition is at level j = 1 or 2,
or arbitrarily declare one chromosome to have
higher rank than the other, if the current level
j = 3 (this corresponds to the case where the per-
formance of the two chromosomes are basically
the same after evaluation under the three criteria).
In general, a smaller value should be given to a
parameter e
j
if one thinks that the criterion Z
j
is
much more important than other lower level cri-
teria. For example, one should choose e
j
= 0 if he/
she thinks that any dierence in a criterion Z
j
has
already allowed him/her to be able to determine
the rank for a chromosome without having to
Fig. 1. The general framework of GA.
X. Cai, K.N. Li / European Journal of Operational Research 125 (2000) 359369 363
worry about the performance of the chromosome
under lower level criteria.
After all the chromosomes in a population have
been ranked, we select parents according to the
following approach:
1. Choose a probability, q, to select the chromo-
some of rank 1.
2. Determine the probability of selecting the chro-
mosome of rank i according to a Geometric Pro-
gression series with a common ratio (1 q),
namely, let the probability be q(1 q)
i1
.
3. Select parents according to their probabilities.
Remarks
Note that when the population size tends to in-
nity, the sum of q(1 q)
i1
over all i is equal to
q=(1 (1 q)) = 1. For considerably large
population size, the sum is also nearly equal to
1. The actual value for q may be determined
by a trial-and-error approach using the actual
data of the problem to be solved. A too large
value for q implies that those good individuals
will have a large chance to generate more o-
spring which will dominate the population rap-
idly, and thus result in the so-called premature
convergence of the GA approach. However, a
too small value q will make the convergence very
slow. According to our computational experi-
ence, we suggest to choose q in a range
[0:05; 0:15[.
Note also that since we only know of the ranks
of the individuals, rather than their tness val-
ues, other parent selection approaches such as
the commonly used roulette wheel selection
scheme are not applicable here. Rank-based se-
lection may avoid the problem of over reliance
on extreme individuals exhibited in tness-pro-
portionate selection. For more discussions on
the performance of rank-based selection
schemes, see [1,18].
Fig. 2. The ranking scheme to select parents.
364 X. Cai, K.N. Li / European Journal of Operational Research 125 (2000) 359369
3.3. Crossover
We use a multi-point crossover operator, which
generates an ospring by copying its genes from
one of the parents, chosen according to a ran-
domly constructed crossover mask. Where there is
a 1 in the crossover mask, the gene is copied from
the rst parent, and where there is a 0 in the mask,
the gene is copied from the second parent. A
simple example is illustrated in Fig. 3.
The above is similar to the well-known Uni-
form Crossover. However, the key in our cross-
over operator is the construction of the crossover
mask. We propose to construct this mask based on
the Hamming distance between schedules. For two
equal-length binary strings, their Hamming dis-
tance is dened as the number of positions in
which the strings dier from each other (see, e.g.,
[11,14]). For instance, the Hamming distance be-
tween (100111) and (010110) is 3. The Hamming
distance between two schedules i and j in our
problem SS-P is dened as
h
ij
=
X
T
t=1
w(a
it
a
jt
); (9)
where is modulo 2 addition, and w(b) is the
Hamming weight of the binary string b which is
dened as the number of nonzero components of
b. For example, if a
1
= (100111), a
2
= (010110),
and a
3
= (110010), then a
1
a
2
= 110001 and
a
1
a
3
= 010101. If b = 110001, then w(b) = 3.
The crossover mask is constructed as follows:
First, randomly select an element i in the mask and
randomly (uniformly) assign its value as 1 or 0.
Suppose its value is r and the corresponding
schedule is i, then those elements of the mask
corresponding to the schedules that are close to
schedule i will be assigned a value r and those el-
ements corresponding to the schedules that are far
from schedule i will be assigned a value 1 r,
where the distance between the schedules is mea-
sured based on h
ij
above. For example, an imple-
mentation of this scheme is as follows: Given T, we
choose k, where 0 6k 60:5, to make kT as the
degree to measure the ``closeness'' between two
schedules i and j under the Hamming distance h
ij
.
If h
ij
[0; kT[, we regard schedule j as being close
to schedule i, and assign element j in the mark
with a value r; if h
ij
[(1 k)T; T[, we regard
schedule j as being far from schedule i, and assign
element j in the mark with a value 1 r; if h
ij

(kT; (1 k)T) (schedule j is neither obviously close
to nor obviously far from schedule i), then we
randomly choose r or 1 r, based on a uniform
distribution, and assign this value to element j of
the crossover mask. A suggestion is to choose
k = 1=3, which will give the three intervals an
equal width.
We hope, on the one hand, the crossover with a
mask constructed as above will not disturb the
gene information a lot (otherwise a highly infea-
sible ospring may be generated even though the
parents are feasible) and, on the other hand, it will
still be able to maintain certain diversity. This is
explained below. As one can see, in the sta
scheduling problem, the demand for sta in a
particular period t will be satised by workers on
those schedules that have the period t as one of
their working periods. A good solution for the
problem must contain some good combinations of
schedules that contribute to satisfying the labour
requirements in dierent periods properly. Those
schedules that have many coincident working pe-
riods are similar, or close in terms of the Hamming
distance. By constructing a crossover mask whose
elements corresponding to those similar schedules
are set to 1 (or 0), we hope that the ospring
generated can inherit those good combinations of
schedules from each of the parents. On the one
hand, as the genes of the ospring copied from
parent 2 correspond to the schedules which are Fig. 3. A simple example of crossover.
X. Cai, K.N. Li / European Journal of Operational Research 125 (2000) 359369 365
quite dierent from those from parent 1, we hope a
kind of diversity will also be maintained.
3.4. Mutation
Mutation is performed by rstly choosing a
chromosome, then dropping a number of workers,
H, from some randomly selected genes in the
chromosome, and then restoring, if needed, the
chromosome back to a feasible one through in-
creasing the number of workers assigned to other
genes. The procedure consists of the following
steps:
1. Select randomly a gene k with x
k
> 0 and let
x
k
= x
k
1. Reduce accordingly the supplies
of sta in the time periods which are working
periods of schedule (gene) k. Continue this step
until a number of H workers are dropped from
the chromosome.
2. If the changed supplies are still sucient to sat-
isfy the demands, stop; otherwise randomly se-
lect one schedule (or more) whose working
periods cover the periods with insucient sta
supplies, and increase the number of workers
until the chromosome becomes feasible.
The mutation procedure as described above
closely resembles the random shakeup procedure
proposed in Brusco and Jacobs [5]. Brusco and
Jacobs have shown that such a procedure works
quite well in their simulated annealing approach.
3.5. Heuristic to ensure feasibility
Crossover operations may generate infeasible
ospring. This also happens in our proposed
crossover operation. To ensure feasibility, in our
GA we use a heuristic procedure, which works as
follows.
In the scheduling problem, there are numerous
constraints. The procedure rstly selects the one
that is violated the most. It then chooses a
schedule capable of reducing the violation, and
then increases the number of workers assigned to
the schedule by one. If this makes the total number
of type-3 sta exceed the bound, it will give up the
schedule and choose the next schedule accordingly.
The process repeats until all constraints are satis-
ed. If there are multiple schedules that can be
altered to make the chromosome feasible, the
heuristic will choose the best one, as determined by
examining the three criteria successively.
3.6. The algorithm
In summary, the GA we propose to solve the
sta scheduling problem consists of the compo-
nents as described in Sections 3.13.5.
4. Computational results
The scheduling environment considered in our
computational studies is extracted from a local
labour-intensive organization whose business is
mainly cargo-forwarding. The scheduling horizon
T is one week, with one unit period equal to one
hour. There are two kinds of shifts, day-shift and
night-shift, with starting time and ending time
shown in Table 1.
During each day-shift, there is a one-hour
break after the rst four hours of work. A night-
shift does not specify any break time (in fact the
break time of each worker during a night-shift is
assigned by his/her supervisor in accordance with
the working load of the team in dierent time and
is not hoped to be xed by the scheduling algo-
rithm). For a weekly schedule, if it contains a
Table 1
Shift description
Shift
Day 07:0016:00 08:0017:00 09:0018:00 10:0019:00 11:0020:00
12:0021:00 13:0022:00 14:0023:00 15:0000:00
Night 23:0007:00
366 X. Cai, K.N. Li / European Journal of Operational Research 125 (2000) 359369
night-shift, then it must have three consecutive
night-shifts, followed by a compensation day-o
and a regular day-o.
1
If a weekly schedule con-
tains no night-shift, then it will have six working
days and one regular day-o, where the day-o
can be assigned to any day of the week. Besides,
for the convenience of the workers, in any weekly
schedule, it is required that all day-shifts begin at
the same time during the whole week. We call a
weekly schedule containing night-shifts a night-
schedule while a weekly schedule with no night-
shifts a day-schedule.
We consider three types of workers who can all
be assigned to schedules as described above. For
each type of worker, it is clear that there are
63 day-schedules (since there are 9 day-shifts each
day, and the day-o can be assigned to any day of
the week), and also 63 night-schedules (since a
night-schedule can be associated with any of the
9 day-shifts and the period of the three night-shifts
in a night-schedule can be started on any of the
7 days in the week). Thus, there are 126 schedules
for each type of worker, and the total number of
elements in a chromosome n = 4 126 = 504 (see
Section 3.1).
We had programmed the genetic algorithm of
Section 3.6 in C language and implemented it in a
Sun Sparc station. In our computational studies,
we determined the values for the selective proba-
bility q, the crossover probability, and the muta-
tion probability (see Fig. 1), by the following
method: We used a problem instance with data
extracted from the actual operational environment
as described above, and set a range containing a
number of desirable values for each parameter
(for example, for q, we set the values as 0:05;
0:06; . . . ; 0:14; 0:15); We then tested these values
one by one, and set the best one for the parameter.
The parameters thus determined were xed in
solving other instances (with dierent operational
data) of the problem. In general, how to determine
these parameters such as the crossover probability,
1
The company must provide a compensation day-o to a
worker when he/she completes any period of night-shifts, and
during each week it can only assign at most three night-shifts to
a worker. Thus, it can be seen that the reason to have the
working pattern as described above is to minimize the number
of compensation days o and to allow workers to have the
compensation day-o and the regular day-o to be taken
together.
Table 2
Computational results
Population size: 70
Generation: 100
Selective Prob.: 0.090000
Crossover Prob.: 0.700000
Mutation Prob.: 0.050000
No. of employees:
Dropped in mutation: 50
The bound B: 100
Gen Z
1
Z
2
Z
3
Total no.
of sta
1 4242 8272 8776.00 624
2 4229 8152 8741.00 621
3 4196 7792 7921.00 614
4 4163 7632 7740.00 609
5 4133 7592 7806.00 607
7 4121 7432 7332.00 603
8 4088 7232 7262.00 598
11 4088 7232 7201.00 598
13 4076 7152 7102.00 596
14 4075 7112 7055.00 596
16 4066 7072 6979.00 594
18 4066 7072 6966.00 594
19 4066 7072 6964.00 594
21 4066 7072 6943.00 594
22 4064 7072 6939.00 594
23 4061 7032 6908.00 593
25 4059 7032 6896.00 593
26 4059 7032 6881.00 593
27 4059 7032 6875.00 593
28 4059 7032 6873.00 593
29 4057 7032 6868.00 593
32 4057 7032 6845.00 593
33 4057 7032 6837.00 593
35 4057 7032 6831.00 593
36 4057 7032 6830.00 593
37 4057 7032 6828.00 593
38 4057 7032 6820.00 593
39 4057 7032 6815.00 593
40 4057 7032 6808.00 593
41 4057 7032 6806.00 593
42 4057 7032 6805.00 593
43 4057 7032 6801.00 593
44 4057 7032 6798.00 593
45 4057 7032 6794.00 593
46 4057 7032 6792.00 593
47 4057 7032 6790.00 593
48 4057 7032 6781.00 593
58 4057 7032 6778.00 593
X. Cai, K.N. Li / European Journal of Operational Research 125 (2000) 359369 367
the mutation probability, etc., is a common con-
cern on implementation of genetic algorithms,
which alone has attracted lot of studies in the lit-
erature. One may always test and adopt other
approaches to determine these parameters for the
genetic algorithm proposed here as long as they
are demonstrated to be eective.
A number of problem instances with dierent
settings of labour requirements, stang costs, and
upper bound B, have been generated and solved by
the GA approach proposed above. In all cases the
proposed GA worked reliably, which successfully
delivered good, feasible solutions, in about 8 to
10 minutes. We report the results in solving a case
in Table 2, to show the changes of the best values
in the three criteria as the population in the GA
evolved.
As we can see from Table 2, the value of the
tertiary objective still kept reducing after the val-
ues of the primary objective and the secondary
objective had become unchanged. This is an im-
portant result we expect. If the problem would
consider only a single criterion to minimize the
total cost, the procedure would have stopped when
the cost remained unchanged over certain gener-
ations. It is clear that our approach generated a
better solution as it produced a solution that has
smaller variance of sta surplus among solutions
with the same cost.
We also observed that in some cases, the second
objective kept reducing after the primary objective
had been unchanged.
5. Concluding remarks
We have proposed a multi-criteria model to
formulate the sta scheduling problem with mul-
tiple skills. A genetic algorithm has been proposed
to solve the problem, which possesses the follow-
ing characteristics: (1) it selects parents by using a
ranking scheme that considers successively the
three criteria; (2) it adopts a multi-point crossover
operator that uses the hamming distance between
schedules to construct the crossover mask; and (3)
it adopts a heuristic to resolve the problem of in-
feasibility created by crossover operations. Com-
putational studies have shown the eectiveness of
the model and the proposed approach. The pro-
posed GA approach is being incorporated into an
integrated scheduling system we are currently de-
veloping for manpower planning and scheduling in
service systems.
We must point out that, in order to successfully
apply the GA approach proposed, a careful ex-
amination on which schedules are practically fea-
sible is important. In other words, it is important
to carefully identify the sets of feasible schedules
S
k
, k = 1; 2; 3, before the GA is applied, since
apparently the GA will be slowed down if the
sets S
k
are very big (note that the number of genes
in a chromosome of the GA is equal to n =
[S
1
[ [S
2
[ 2[S
3
[; see Eq. (8)). Usually, by utilizing
the practical operational rules/constraints, one
may eliminate many schedules from consideration
and therefore reduce the sizes of the sets S
k
. For
example, in the scheduling problem as discussed in
Section 4, there are only 504 feasible schedules left
after considering the operational constraints of the
company, in contrast with the total number 4032
of possible schedules without considering these
constraints (with no constraints, a worker may
start his/her shift at any one hour on each working
day, and have his/her day-o on any day of a
week. Thus, for a period of one week, he/she may
have 24 6 7 = 1008 possible schedules. For
three types of workers, the total number of
schedules n = 4 1008 = 4032).
Note that the planning horizon also aects di-
rectly the sizes of the sets S
k
. In some situations, we
may have to consider sta scheduling problems
with a planning horizon covering, say, more than
one week (for example, if the leave of a worker
should be assigned based on an aggregate period
of two weeks, then a planning horizon covering
two weeks would be more appropriate). How to
scale up the GA approach to deal with these
problems will be a subject for further research.
Currently, what we are using in constructing our
scheduling system are some heuristic methods (for
example, we decouple the two-week problem into
two one-week problems, and then modify and re-
ne the results obtained by solving the one-week
problems).
Note also that the model addressed in this pa-
per is a deterministic one. In general, the demand
368 X. Cai, K.N. Li / European Journal of Operational Research 125 (2000) 359369
for manpower may be a stochastic process which
varies randomly over time. Can we modify the GA
approach to tackle this kind of stochastic prob-
lem? This is another possible work for further
investigation.
The model we have formulated in this paper
involves multiple criteria and multiple skills. To
the best of our knowledge, this model has not been
examined and solved before. Another future work
is, therefore, to explore the possibility to develop
other solution approaches, such as tabu, simulated
annealing, or fast heuristics, to tackle the problem.
When more approaches become available, it would
be interesting to compare their performance and to
evaluate their suitability when applied in dierent
operational environments, including more feasible
schedules, shorter/longer planning horizons, more
types of skills, and nonlinear cost functions (Note
that our GA approach can be applied to any
nonlinear cost functions, although the cost func-
tion (1) considered in the current paper is a linear
function).
Acknowledgements
We would like to express our gratitude to two
anonymous referees for their helpful comments
and suggestions to improve the paper.
References
[1] J.E. Baker, Adaptive selection methods for genetic algo-
rithms, in: Proceedings of the First International Confer-
ence on Genetic Algorithms, 1985, pp. 101111.
[2] J.J. Bartholdi III, A guaranteed accuracy round-o algo-
rithm for cyclic scheduling and set covering, Operations
Research 29 (1981) 501510.
[3] S.E. Bechtold, M.J. Brusco, M.J. Showalter, A compara-
tive evaluation of labour tour scheduling methods, Deci-
sion Sciences 22 (1991) 683699.
[4] S.E. Bechtold, Workforce scheduling for arbitrary cyclic
demands, Journal of Operations Management 1 (1981)
205214.
[5] M.J. Brusco, L.W. Jacobs, A simulated annealing ap-
proach to the cyclic sta-scheduling problem, Naval
Research Logistics 40 (1993) 6984.
[6] T.C.A. Chan, Cyclic sta scheduling with a minimum shift
change requirement, M. Phil. Thesis, (Advisors: X. Cai and
V. Lum), Department of Systems Engineering and Engi-
neering Management, The Chinese University of Hong
Kong, 1997.
[7] F.F. Easton, N. Mansour, A distributed genetic algorithm
for employee stang and scheduling problems, in: Pro-
ceedings of the Fifth International Conference on Genetic
Algorithms, 1993, pp. 360367.
[8] F.F. Easton, D.F. Rossin, Equivalent alternate solutions
for employee scheduling problems, Decision Sciences 22
(1991) 9851007.
[9] F.F. Easton, D.F. Rossin, Sucient working subsets for
the tour scheduling problem, Management Science 37
(1991) 14411451.
[10] D.E. Goldberg, Genetic Algorithms in Search, Optimiza-
tion, and Machine Learning, Addison-Wesley, Reading,
MA, 1989.
[11] S. Guiasu, Information Theory with Applications, Mc-
Graw-Hill, New York, 1977.
[12] A.I.Z. Jarrah, J.F. Bard, A.H. deSilva, Solving large-scale
tour scheduling problems, Management Science 40 (1994)
11241150.
[13] J.S. Loucks, F.R. Jacobs, Tour scheduling and task as-
signment of a heterogeneous work force: A heuristic
approach, Decision Sciences 22 (1991) 719738.
[14] M. Mansuripur, Introduction to Information Theory,
Prentice-Hall, Englewood Clis, NJ, 1987.
[15] R. Narasimhan, An algorithm for single shift scheduling of
hierarchical workforce, European Journal of Operational
Research 96 (1997) 113121.
[16] J. Tanomaru, Sta scheduling by a genetic algorithm with
heuristic operators, in: Proceedings of the 1995 IEEE
International Conference on Evolutionary Computation,
Perth, Australia (29 November1 December 1995), pp.
456461.
[17] M.T. Trivedi, A mixed-integer goal programming model
for nursing service budgeting, Operations Research 29
(1981) 10191034.
[18] D. Whitley, The GENITOR algorithm and selection
pressure: why rank-based allocation of reproductive trials
is best, in: Proceedings of the Third International Confer-
ence on Genetic Algorithms, 1989, pp. 116121.
X. Cai, K.N. Li / European Journal of Operational Research 125 (2000) 359369 369

You might also like