Top Banner
Journal of Heuristics, 7: 391–413, 2001 c 2001 Kluwer Academic Publishers Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling JACQUES A. FERLAND DIRO, Universit´ e de Montr´ eal, C.P. 6128, Succ. Centre-ville, Montr´ eal (Qu´ ebec), Canada H3C 3J7 email: [email protected] ILHAM BERRADA ´ Ecole Nationale Sup´ erieure d’Informatique et d’Analyse des Syst` emes, Rabat, Morocco IMENE NABLI Universit´ e de Montr´ eal, Montr´ eal, Qu´ ebec, Canada B. AHIOD Facult´ e des Sciences de Rabat, Morocco PHILIPPE MICHELON Universit´ e d’Avignon, Avignon, France VIVIANE GASCON Universit´ e du Qu´ ebec ` a Trois-Rivi` eres, Trois-Rivi` eres, Qu´ ebec, Canada ´ ERIC GAGN ´ E IBM Services Mondiaux, Montr´ eal, Qu´ ebec, Canada Abstract The notion of the Generalized Assignment Type Goal Programming Problem is introduced to consider the additional side constraints of an Assignment Type problem as goal functions. A short term Tabu Search method together with diversification strategies are used to deal with this model. The methods are tested on real-world Nurse Scheduling Problems. Key Words: assignment, goal programming, Tabu Search, diversification, nurse scheduling 1. Introduction The notion of the Assignment Type Problem (ATP) seems to be a powerful modeling tool. In Ferland et al. (1996), the authors use a penalty approach to deal with additional side constraints. In this paper, the notion is extended to consider the additional side constraints as goal functions. To whom all correspondence should be addressed.
23

Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

Feb 17, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

Journal of Heuristics, 7: 391–413, 2001c© 2001 Kluwer Academic Publishers

Generalized Assignment Type Goal ProgrammingProblem: Application to Nurse Scheduling

JACQUES A. FERLAND∗DIRO, Universite de Montreal, C.P. 6128, Succ. Centre-ville, Montreal (Quebec), Canada H3C 3J7email: [email protected]

ILHAM BERRADAEcole Nationale Superieure d’Informatique et d’Analyse des Systemes, Rabat, Morocco

IMENE NABLIUniversite de Montreal, Montreal, Quebec, Canada

B. AHIODFaculte des Sciences de Rabat, Morocco

PHILIPPE MICHELONUniversite d’Avignon, Avignon, France

VIVIANE GASCONUniversite du Quebec a Trois-Rivieres, Trois-Rivieres, Quebec, Canada

ERIC GAGNEIBM Services Mondiaux, Montreal, Quebec, Canada

Abstract

The notion of the Generalized Assignment Type Goal Programming Problem is introduced to consider the additionalside constraints of an Assignment Type problem as goal functions. A short term Tabu Search method together withdiversification strategies are used to deal with this model. The methods are tested on real-world Nurse SchedulingProblems.

Key Words: assignment, goal programming, Tabu Search, diversification, nurse scheduling

1. Introduction

The notion of the Assignment Type Problem (ATP) seems to be a powerful modeling tool.In Ferland et al. (1996), the authors use a penalty approach to deal with additional sideconstraints. In this paper, the notion is extended to consider the additional side constraintsas goal functions.

∗To whom all correspondence should be addressed.

Page 2: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

392 FERLAND ET AL.

The short term Tabu Search method given in Ferland et al. (1996) is extended to deal withthis model. In particular, solutions are compared lexicographically according to the valuesof the goal functions ordered in decreasing order of priority. Furthermore, diversificationstrategies introduced in Kelly et al. (1994) for the quadratic assignment problem are adaptedfor this model.

The nurse scheduling problem can be formulated as a generalized assignment type goalprogramming problem. A thorough analysis of the model is given in Berrada (1993), Nabli(1995), and Berrada et al. (1996). This problem is used to test and compare several proce-dures.

In Section 2 we introduce the notion of the generalized assignment type goal programmingproblem as an extension of the notion of ATP. Several solution methods are introduced inSection 3. All the methods include a short term Tabu Search, and several of these also includesome diversification strategies. In Section 4, two sets of numerical results are summarized.The first set allows us to evaluate the advantages of using diversification. In the second one,we analyze the best values for the parameters in the Short Term Tabu Search.

2. Generalized assignment type goal programming problem

First, let us review the notion of the Assignment Type Problem (ATP) introduced in Ferlandand Lavoie (1992) and Ferland et al. (1996). This problem can be summarized as follows:

Given n items and m resources, the problem is to determine an assignment of each itemto a resource in order to optimize an objective function and to satisfy K additional sideconstraints.

The mathematical model associated with an ATP is formulated as follows:

(ATP) Min F(x)

Subject to Gk(x) ≤ 0 1 ≤ k ≤ Kx ∈ X (1)

where

X (1) ={

x :∑j∈Ji

xij = 1, 1 ≤ i ≤ n; xij = 0 or 1, 1 ≤ i ≤ n, j ∈ Ji

},

and Ji ⊂ {1, 2, . . . , m} is the set of admissible resources for item i, 1 ≤ i ≤ n. Thedecision variable xij is such that

xij ={

1 if item i is assigned to resource j

0 otherwise.

The objective function F and the side constraints Gk, 1 ≤ k ≤ K , are only required to becalculable.

Page 3: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

GENERALIZED ASSIGNMENT TYPE GOAL PROGRAMMING PROBLEM 393

Several problems can be formulated as ATPs (Ferland et al. (1996)): the classic assignmentproblem, the generalized assignment problem (Ross and Soland (1975)), the timetablingproblem (Ferland and Lavoie (1992)), the graph coloring problem (Hertz and de Werra(1987)), the graph partitioning problem (Johnson et al. (1989)), the vehicle routing problem(Bodin et al. (1983)), etc.

A Generalized Assignment Type Problem (GATP) is an ATP where each item i has tobe assigned to ai resources. The mathematical model associated with a GATP is then asfollows:

(GATP) Min F(x)

Subject to Gk(x) ≤ 0, 1 ≤ k ≤ Kx ∈ X (a)

where

X (a) ={

x :∑j∈Ji

xij = ai , 1 ≤ i ≤ n; xij = 0 or 1, 1 ≤ i ≤ n, j ∈ Ji

}

and a = [a1, a2, . . . , an]T . It is easy to see that an ATP is a GATP where a = [1, 1, . . . , 1]T .The constraints x ∈ X (a) are essential in several scheduling problems. For instance, in

the nurse scheduling problem to be discussed later, each item i corresponds to a nurse, andai is equal to the number of working days for nurse i during the planning horizon.

In the Generalized Assignment Type Goal Programming Problem (GATGPP), each ad-ditional constraint Gk(x) ≤ 0, 1 ≤ k ≤ K , is regarded as a goal to be achieved. The GATPis transformed into a vector-valued objective function to be minimized on X (a):

(GATGPP) Minx∈X (a)

V (x) = [V1(x), V2(x), . . . , VK+1(x)]

where

Vk(x) ={

Max{0, Gk(x)}, 1 ≤ k ≤ K

F(x), k = K + 1.

3. Solution methods

In this section, we first introduce a Tabu Search method to deal with the GATGPP. Thismethod can be seen as a straightforward adaptation of the short-term Tabu Search methodin Ferland et al. (1996) to deal with the ATP. Furthermore, two diversification strategiesare also introduced to modify the region of search in order to search more extensivelythe whole feasible domain. The approach used in these diversification strategies is to gen-erate a new initial solution to restart the Tabu Search method once a local minimum isreached.

Page 4: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

394 FERLAND ET AL.

3.1. Short term Tabu Search method

In Ferland et al. (1996), the authors introduce the Tabu Search method as a neighborhoodsearch technique. Indeed, consider a real-valued function f : S → R where S is the setof solutions and N (s) ⊂ S denotes the subset of neighboring solutions of s ∈ S. ANeighborhood Search Technique is an iterative procedure where we move from a currentsolution s ∈ S to a neighboring solution s ′ ∈ N (s) until some solution s∗ ∈ S is reached,where s∗ is acceptable according to some criterion.

The descent method is the simplest neighborhood search technique. At each iteration,s ′ ∈ N (s) is selected to optimize f on N (s) (i.e., if the objective is to minimize f , thens ′ = Arg minz∈N (s){ f (z)}). The procedure stops when f (s ′) ≥ f (s), and hence s is a localminimum of f .

A Tabu Search Method (see Glover (1986), Hansen (1986)) can be seen as a descentmethod with additional features to avoid being trapped in a local minimum. It allowsnondescent moves (i.e., we may have f (s ′) ≥ f (s)) to move out of a local minimum).However, to avoid cycles, Tabu Lists are used to register the most recent moves, and theelements in N (s) are selected to avoid reversing these moves. However, if a Tabu moveinduces a significant improvement, then we bypass its Tabu status, and we use it. Anaspiration test is used to identify such moves.

On the one hand, it is interesting to use a neighborhood search technique to deal withGATGPP since the neighborhood of each solution x is easy to specify in X (a). On the otherhand, since we have a vector of objective functions, we have to specify how to characterizethat a solution is better than another one.

To specify the Short Term Tabu Search for the GATGPP, we refer to the basic frameworkfor this method introduced in Ferland et al. (1996) to deal with the ATP.

Denote R(x, i) the subset of resources where i is assigned in solution x ∈ X (a); i.e.,

R(x,i) = { j ∈ Ji : xij = 1}.

For a triplet (i, j, j), 1 ≤ i ≤ n, j ∈ Ji , j /∈ R(x, i), j ∈ R(x, i), the neighboring pointz = x ⊕ (i, j, j) of x is defined as follows:

zpq = xpq 1 ≤ p ≤ n, p �= i, q ∈ Jp

ziq = xiq q ∈ Ji , q �= j, j

zij = 1, zij = 0.

Then, the neighborhood N (x) of x is the set of solutions z ∈ X (a) that can be generatedfrom x by modifying exactly one assignment of exactly one item:

N (x) = {z ∈ X (a) : ∃(i, j, j) such that z = x ⊕ (i, j, j),

1 ≤ i ≤ n, j, j ∈ Ji , j /∈ R(x, i), j ∈ R(x, i)}.

Now, assume that the goal functions Vk(x) are ordered in decreasing order of importance;i.e., if k1 < k2, then Vk1(x) is more important to be achieved than Vk2(x). Then, solutions

Page 5: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

GENERALIZED ASSIGNMENT TYPE GOAL PROGRAMMING PROBLEM 395

are compared lexicographically to identify the best. Hence, consider a subset X ⊂ X (a).A best solution x ∈ X denoted

x = �Arg minx∈X

V (x)

is determined as follows:

1 = {x ∈ X : x = Arg minz∈X

{V1(z)}}k = {x ∈ k−1 : x = Arg min

z∈K−1

{VK (z)}, 2 ≤ k ≤ K

x = �Arg minx∈X

V (x) = Arg minz∈K

{VK+1(z)}.

In particular, the current best solution encountered so far is defined as

ISBEST = �Arg minx∈X

V (x)

where X is the set of solutions generated so far during the procedure. It follows that twosolutions x1, x2 ∈ X (a) are compared lexicographically as follows:

i) x1 < x2 (x1 is better than x2) if there exists an index k, 1 ≤ k ≤ K + 1 such that

Vk(x1) = Vk(x2) 1 ≤ k ≤ k − 1

Vk(x1) < Vk(x2).

ii) x1 = x2 (x1 is as good as x2) if

Vk(x1) = Vk(x2), 1 ≤ k ≤ K + 1.

A Short Term variant of Tabu Search is summarized in figure 1. In order to define theshort-term Tabu list, assume that x ′ ∈ N (x) the current solution for the next iteration issuch that x ′ = x ⊕ (i, j, j). Then the triplet (i, j, j) is introduced in the Tabu List TL,and the oldest element is deleted. During an iteration of the procedure, elements z ∈ N (x)

are generated. Whenever an element z < ISBEST is generated, then the aspiration test issatisfied at z (i.e., ASP (z) is verified) according to the lexicographic method, and z becomesthe current solution of the next iteration. Otherwise, if the move from x to z is not Tabu,then z is included in the subset N ∗(x) (where N ∗(x) is a subset of neighboring solutions ofx generated using moves that are not Tabu). Note that the move from x to z = x ⊕ (i, j, j)is Tabu if there exists a triplet (t1, t2, t3) in the Tabu list such that (i, j, j) = (t1, t2, t3)or (i, j, j) = (t1, t3, t2). When the number of solutions in N ∗(x) reaches the value NV (aparameter), then the current solution x ′ for the next iteration is selected in N ∗(x):

x ′ = �Arg minz∈N ∗(x)

V (z).

Page 6: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

396 FERLAND ET AL.

1. Let x0 ∈ X (a) be an initial solution.

Specify:

MA (maximal number of iterations)MI (maximal number of consecutive iterations with no improvement)NV (size of the neighborhood N∗(x)).

ISBEST = x = x0, ITER = O, NITER = O, N∗(x) = φ, QUIT = false.

2. While not QUIT

2.1 While |N∗(x)| < NV

2.1.1 Generate randomly an element z ∈ N (x).2.1.2 If ASP (z) is verified, x ′ = z and move to 2.3.2.1.3 If the move from x to z is not Tabu, then N∗(x) = N∗(x) ∪ {z}

2.2 Determine x ′ = �Arg minz∈N∗(x)V (z).2.3 Update the Tabu list TL.2.4 If x ′ < ISBEST, then ISBEST = x ′ and NITER = 0.2.5 x = x ′.2.6 ITER = ITER + 1, NITER = NITER + 1.2.7 If ITER > MA or NITER > MI, then QUIT = true.

3. ISBEST is the lexicographically best solution generated starting with the initial solution x0.

Figure 1. Short term Tabu Search.

(i.e., we consider a subset N ∗(x) of size NV to identify the next current solution instead ofusing all the neighboring solutions of x generated with moves that are not Tabu).

There exist two stopping criteria based on a maximal number of iterations and on amaximal number of iterations with no improvement, respectively.

It is worthy of note that the other techniques (descent method, simulated annealing,exchange procedure) given in Ferland et al. (1996) can be extended similarly to deal withGATGPP.

3.2. Diversification strategies

Diversification strategies are among the longer-term components proposed in Glover andLaguna (1993). The strategies are used to restart a neighborhood search technique withnew initial solutions in order to search more extensively the feasible domain X (a) for abetter solution. They are variant of those introduced in Kelly et al. (1994) to deal with thequadratic assignment problem.

In the first order diversification strategy, the only information related to the currentISBEST lexicographically best solution generated by the Short Term Tabu Search is usedto generate the next initial solution. The iterative procedure starts with ISBEST, and at eachiteration, an assignment found in ISBEST is modified to move further away from ISBESTin such a way as to maintain the quality of the solution generated as high as possible. In

Page 7: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

GENERALIZED ASSIGNMENT TYPE GOAL PROGRAMMING PROBLEM 397

order to do this, at each iteration the current solutions x is modified as follows to generatethe next current solution x ′:

i) First, select randomly an item i that is assigned to at least one identical resource in xand in ISBEST (i.e. R(ISBEST, i) ∩R(x, i) �= φ) and such that there exists at leastone resource to which the item i is not assigned neither in ISBEST nor in x (i.e.,R(ISBEST, i) ∪ R(x, i) �= Ji ).

ii) Next, generate the set of candidate solution Cand (x) where each element of Cand (x)

is obtained by modifying the assignment of item i from a resource j ∈ R(ISBEST, i)∩R(x, i) to a resource j /∈ R(ISBEST, i) ∪ R(x, i).

iii) Then select x ′ as the best solution in Cand (x):

x ′ = �Arg minz∈Cand (x)

V (z).

The solution generated is used as a new initial solution for the Short Term Tabu Search.The whole process (Short Term Tabu Search followed by first order diversification) can bereapplied a specified number of times, and the best of the ISBEST solutions generated sofar is denoted GISBEST. The first order diversification strategy is summarized in figure 2.

In the second order diversification strategy, the cumulated information about all lexi-cographically best solutions generated so far is used. Let mij denote the number of lexi-cographically best solutions generated so far where item i is assigned to resource j . Thevalue of mij is updated each time a new lexicographically best solution is generated. Thenew initial solution is generated by assigning items to resources to which they have been

1. Let ISBEST be the current lexicographically best solution.

Specify Nf (maximal number of reassignments).Let V = ∞, x = ISBEST, and ITER = 0.

2. While ITER ≤ Nf

2.1 Generate randomly an item i, 1 ≤ i ≤ n, such that R(ISBEST, i) ∩R(x, i) �= φ and R(ISBEST), i)∪R(x, i) �= Ji .

2.2 Cand(x) = {z : ∃( j, j) such that z = x ⊕ (i, j, j), j, j ∈ Ji , j /∈ R(ISBEST,i)∪R(x, i), j ∈ R(ISBEST, i) ∩R(x, i)}

2.3 x = � Arg minz∈Cand(x)

V (z)

V = V (x)

2.4 If x < ISBEST, then move to 3.2.5 ITER = ITER + 1.

3. If V = ∞, Stop the overall procedure with GISBEST as the best solution. If x < GISBEST, then GISBEST= x . A new initial solution x0 = x is available.

Figure 2. First order diversification.

Page 8: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

398 FERLAND ET AL.

assigned least often so far; i.e. each item i is assigned to the ai resources j1, j2, . . . , jai

such that

mij1 ≤ mij2 ≤ · · · ≤ mijai≤ · · · ≤ mij|Ji |

.

As before, the whole process (Short Term Tabu Search followed by second order diversifi-cation) can be reapplied a specified number of times, and the best of the ISBEST solutionsgenerated so far is denoted GISBEST.

3.3. Efficiency of ISBEST (GISBEST)

Since (GATGPP) is a multi-objective problem, the notion of optimality used for single-objective problem is replaced by the notion of efficiency (see Steuer (1989)):

x ∈ X (a) is efficient for (GATGPP) if there is no z ∈ X (a) such that

Vk(z) ≤ Vk(x) 1 ≤ k ≤ K + 1

Vq(z) < Vq(x) for some q, 1 ≤ q ≤ K + 1.

Now, recall that the Short Term Tabu Search method and its combination with diversifi-cation strategies allow us to determine solutions ISBEST and GISBEST that are defined asfollows:

ISBEST (GISBEST) = �Arg minx∈X

V (x)

where X is the subset of solutions (X ⊂ X (a)) generated during the procedure. Hencereferring to the definition of � Arg min, it is easy to verify that ISBEST (GISBEST) couldhave been generated by applying the sequential method (Steuer (1989)) to deal with themulti-objective problem

(GATGPP)(X) minx∈X

V (x).

It is well known that ISBEST (GISBEST) is an efficient solution for (GATGPP)(X). There-fore, ISBEST (GISBEST) is said to be an efficient solution of (GATGPP) relative to the setX (i.e., the definition of efficiency above is satisfied if X (a) is replaced by X ).

Note that an alternate approach could be used to deal with (GATGPP). First, recall thefollowing sufficient criterion for efficiency (Geoffrion (1968)):

x is efficient for (GATGPP) if there exist positive scalars λk > 0, 1 ≤ k ≤ K + 1, suchthat x is an optimal solution of

(GATGPPλ) minx∈X (a)

{K+1∑k=1

λk Vk(x)

}.

Page 9: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

GENERALIZED ASSIGNMENT TYPE GOAL PROGRAMMING PROBLEM 399

Furthermore, Sherali (1981) introduces weights λk, 1 ≤ k ≤ K + 1, such that an optimalsolution of the corresponding (GATGPPλ) is an efficient point that could be generated withthe sequential method. Hence, ISBEST (GISBEST) could be obtained by applying a ShortTerm Tabu Search procedure to the problem

(GATGPPλ)(X) minx∈X

{K+1∑k=1

λk Vk(x)

}

where the λk are determined according to Sherali (1981) technique. Note that the equivalenceof the two approaches is analyzed in Section 3.2.4 of Nabli (1995).

In our numerical experimentation we use the procedure described in figure 1 instead ofthis alternate approach for the following reason. To compare lexicographically two solutionsx1 and x2, the values of the Vk(x) have to be evaluated and compared until an index k isreached where

Vk(x1) = Vk(x2) 1 ≤ k ≤ k − 1

Vk(x1) < Vk(x2).

Hence, the functions Vk(x), k > k, do not have to be evaluated. But in the alternate approachstated above, all the functions Vk(x), 1 ≤ k ≤ K + 1, have to be evaluated to comparetwo solutions x1 and x2. Therefore, even if the number of comparisons may be greater inthe original approach of figure 1, the number of function evaluations should be smallerin general. Furthermore, the weights λk, 1 ≤ k ≤ K + 1, have to be determined to useSherali’s technique in the alternate approach.

4. Application to the nurse scheduling problem

The nurse scheduling problem is the task of generating a schedule of working days and daysoff for each nurse of a hospital unit working on a specified shift (day shift: 08:00–16:00,evening shift: 16:00–24:00, night shift: 00:00–08:00) over a period including a specificnumber of weeks. The model proposed by the authors in Berrada (1993), Nabli (1995), andBerrada et al. (1996) can be seen as a generalized assignment type problem where nursesare the items and the days of the period are the resources.

For the sake of completeness, we briefly summarize the corresponding generalized as-signment type problem. The following notation is used to specify the model over each twoweeks period:

� = index of the first day of each week; � = 1, 8. (By convention we assume that Sundayis the first day of the week).

J� = set of weekdays of week � (i.e., J� = {� + 1, � + 2, � + 3, � + 4, � + 5}).I = set of nurses available during the planning horizon.

E j = subset of nurses asking for a day off on day j .P j = subset of nurses asking to work on day j .

Page 10: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

400 FERLAND ET AL.

U = subset of nurses that can assume supervision (U ⊂ I ).ni� = number of working days for nurse i during week � according to her status. (In our

application of the model, we asume that each nurse has either a full-time statusworking 5 days per week or a part time status working a specified number of daysper week ranging from 1 to 4.)

vi� = number of additional weekdays off for nurse i during week � due to holidays orvacation.

ρi� = number of additional weekend days off for nurse i during week � due to holidays orvacation.

d j = total number of nurses required during day j .du

j = total number of supervising nurses required during day j .

The decision variables are defined as follows:

xij ={

1 if nurse i works on day j

0 otherwise.

The set X (a) is specified using the following constraints:

i) For i ∈ I, � = 1, 8

�+6∑j=�

xij = ni� − vi� − ρi�.

ii) xij = 0 or 1, i ∈ I, 1 ≤ j ≤ 14.iii) Weekend working patterns. Usually, nurse have alternate weekends off. But nurse i can

have an additional weekend day off during week � (due to holidays or vacation), and inthis case ρi� = 1. Hence, the weekend working patterns are specified a priori. Thus, foreach nurse i ∈ I, j = 1, 7, 8, 14, the values of the variables xij are fixed beforehandby the user.

The objective function F(x) ≡ 0 because the objective is to determine an elementx ∈ X (a) reducing the constraint violations.

The model is as follows:

Min F(x) ≡ 0

Subject to:

(d j − 1) − y� ≤∑i∈I

xij ≤ d j − y� � + 2 ≤ j ≤ � + 4; � = 1, 8 (4.1)

xij ≤ 0 i ∈ E j ; j ∈ J�; � = 1, 8 (4.2)

xij ≥ 1 i ∈ P j ; j ∈ J�; � = 1, 8 (4.3)

Page 11: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

GENERALIZED ASSIGNMENT TYPE GOAL PROGRAMMING PROBLEM 401

∑i∈I

xij = d j − y� j = � + 1, � + 5; � = 1, 8 (4.4)

∑i∈U

xij ≥ duj 1 ≤ j ≤ 14 (4.5)

r+s∑j=r

xij ≤ S 1 ≤ r ≤ 14 − S; i ∈ I (4.6)

S−mi +1∑j=1

xij ≤ S − mi i ∈ I (4.7)

−xi( j−1) + xij − xi( j+1) ≤ 0 i ∈ I ; 2 ≤ j ≤ 17 (4.8)�+5∑

j=1−vi�+6

xij ≤ 5(1 − xi�) i ∈ I�; � = 1, 8 (4.9)

�+vi�∑j=�+1

xij ≤ 5xi� i ∈ I�; � = 1, 8 (4.10)

x ∈ X (a).

Constraints (4.1) guaranty a uniform distribution of the surplus or shortage of nurses overweekdays. Indeed, if M� denotes the total surplus or shortage of nurses during week �:

M� =�+5∑

j=�+1

d j −∑i∈I

[ni� − vi� − ρi� − xi� − xi(�+6)

],

then y� is specified as follows:

y� =⌊

M�

5

where �a� denotes the largest integer smaller or equal to a. Constraints (4.2) and (4.3)correspond to specific day off and specific working day requests by the nurses, respectively.In constraints (4.4), the demand in personnel is forced to be satisfied exactly on Mondayand Friday of each week because the rate of absenteism is higher on these days. The dailyrequirement for supervising personnel is satisfied by constraints (4.5). Constraints (4.6)and (4.7) limit the number of consecutive working days of a nurse to S. Furthermore,for the set I of nurses working during the last day of the previous period, constraints(4.7) take into account the number mi of consecutive working days after their last day offin the previous period. Constraints (4.8) are introduced to elimitate 010 situations wherea nurse would be required to work for a single day between two consecutive days off.Finally, constraints (4.9) and (4.10) allow to group days off and to extend the weekend offfor nurses having additional weekdays off (i.e., vi� > 0). (This set of nurses is denotedI�.)

Page 12: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

402 FERLAND ET AL.

Then, the elements of the vector-valued objective function of (GATGPP) associated withthe constraints of the (GATP) problem are denoted as follows:

V1�j (x) = Max

{0,

∑i∈I

xij − d j + y�

}� + 2 ≤ j ≤ � + 4; � = 1, 8

V1�j(x) = Max

{0, −

∑i∈I

xij + d j − y� − 1

}� + 2 ≤ j ≤ � + 4; � = 1, 8

V2�ji(x) = Max{0, xij} i ∈ E j ; j ∈ J�; � = 1, 8

V3�ji(x) = Max{0, 1 − xij} i ∈ P j ; j ∈ J�; � = 1, 8

V4(�+1)(x) = Max

{0,

∑i∈I

xi�+1 − d�+1 + y�

}� = 1, 8

V4(�+1)(x) = Max

{0, −

∑i∈I

xi�+1 + d�+1 − y�

}� = 1, 8

V4(�+5) = Max

{0,

∑i∈I

xi�+5 − d�+5 + y�

}� = 1, 8

V4(�+5) = Max

{0, −

∑i∈I

xi�+5 + d�+5 − y�

}� = 1, 8

V5 j (x) = Max

{0, −

∑i∈U

xij + duj

}1 ≤ j ≤ 14

V6ir (x) = Max

{0,

r+s∑j=r

xij − S

}1 ≤ r ≤ 14 − S; i ∈ I

V6i (x) = Max

{0,

S−mi +1∑j=1

xij − S + m j

}i ∈ I

V7�i(x) = Max

{0,

�+5∑j=1−vi�+6

xij − 5(1 − xi�)

}i ∈ I�; � = 1, 8

V7�i(x) = Max

{0,

�+vi�∑j=�+1

xij − 5xi�

}i ∈ I�; � = 1, 8.

Now, in order to reduce the number of elements in the vector valued objective functionof the (GATGPP) to be solved, the constraints are clustered into seven classes where all theelements of the same class have the same priority. Associated with each class there is a goalfunction which is equal to the sum of the goal functions corresponding to the constraints of

Page 13: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

GENERALIZED ASSIGNMENT TYPE GOAL PROGRAMMING PROBLEM 403

the class:

V1(x) =∑�=1,8

�+4∑j=�+2

(V1�j(x) + V1�j(x))

V2(x) =∑�=1,8

∑j∈J�

∑i∈E j

V2�ji(x)

V3(x) =∑�=1,8

∑j∈J�

∑i∈P j

V3�ji(x)

V4(x) =∑�=1,8

(V4(�+1)(x) + V4(�+1)(x) + V4(�+5) + V4(�+5)

)

V5(x) =14∑j=1

V5 j (x)

V6(x) =∑i∈I

14−S∑r=1

V6ir (x) +∑i∈ I

V6i (x)

V7(x) =∑�=1,8

∑i∈ I�

(V7�i(x) + V7�i(x))

Note that the functions Vk(x) are ordered in decreasing order of importance.The solution techniques have been tested on real-world problems using data from different

units of a large hospital in Montreal (Hotel-Dieu Hospital). These tests were completed withthe collaboration of head nurses responsible for establishing the schedules for these unitsin order to evaluate the quality and the acceptability of the schedules generated with thetechniques.

There are six categories of problems. The first three, c1, c2, c3 correspond to the day,evening, and night shift in the Intensive Care Ward, respectively. The other three, c4, c5, c6

correspond to the same shifts in the Emergency Ward. For each category there are sixdifferent problems corresponding to the six different two-week periods from June 25 toSeptember 16, 1995. The characteristics of the problems are summarized in Table 1. Notethat the number of days is equal to 10 because the weekend assignments are fixed toguarantee that nurses have alternate weekends off.

The numerical results summarized in this paper were obtained in two different experi-ments. The results are hardly comparable from one experiment to the other, but each hadits own objective. The first set of results is used to compare the Short Term Tabu Searchmethod and the diversification strategies. The second set is used to identify good values forthe parameters of the Short Term Tabu Search method.

4.1. Tabu Search and diversification strategies

Several different variants including the Short Term Tabu Search method and the differentdiversification strategies were implemented in Turbo Pascal and ran on a PC 486 DX2, 66

Page 14: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

404 FERLAND ET AL.

Table 1. Problem categories.

Category |I | |J | K

c1 22 10 7

c2 20.67 10 7

c3 17 10 7

c4 26 10 8

c5 19.33 10 8

c6 15 10 8

|I | = average number of nurses (items),taken over the six problems|J | = number of days (resources), K =number of additional side constraints.

MHz. To verify if the quality of the initial solution has an influence on the relative efficiencyof these variants, they were tested using both a randomly generated initial solution and aninitial solution generated with a procedure similar to the “first-fit decreasing” techniqueused to solve the “bin packing” problem. This procedure is very straightforward. Sincethe weekend working days of the nurses are fixed beforehand by the user, then a solutionx ∈ X (a) is generated by determining the weekdays working patterns of the nurses. First,the shortage or the surplus of nurses (M�) is redistributed uniformly over the weekdays inorder to reduce the shortage (if any) on Monday and Friday of week �, � = 1, 8. Then theworking schedule is established for each nurse successively as follows. Each working dayrequired to complete the nurse’s schedule is successively specified by assigning her to theweekday having the largest residual demand (i.e., the weekday where the largest numberof nurses is still required to satisfy its demand).

The parameters in the Short Term Tabu Search method (figure 1) are selected as follows:

i) Only the stopping criterion based on MI (maximal number of consecutive iterationswithout improvement) is used, and its value is specified later in the description of thevariants. (Hence, MA = ∞ in these implementations.)

ii) For this application, Step 2.1 of the procedure Short Term Tabu Search (figure 1) ismodified since we generate only the solutions belonging to a subset of the neighborhooddenoted the interesting neighborhood. This subset of interesting neighboring solutionsis characterized as follows. Consider the class k of higher priority among those havingthe largest value Vk(x). Denote P the set of constraints in class k which are mostviolated. Then, an interesting neighborhood Nk(x) includes all neighboring solutionx ⊕ (i, j, j) such that both xij and xi j have non-zero coefficients in a constraint of theset P , and such that xij + xi j = 1. These solutions are interesting in the sense that theymay induce a reduction of violation.

If this subset Nk(x) is too small to find a current solution x ′ for the next iteration,then we generate a new interesting neighborhood using the class having the next higherpriority among those having the largest value Vk(x) or having the higher priority amongthose having the second largest value Vk(x), and so on. If x ′ cannot be identified after

Page 15: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

GENERALIZED ASSIGNMENT TYPE GOAL PROGRAMMING PROBLEM 405

generating interesting neighborhood associated with any of the classes having a valueVk

(x)

positive, then the procedure stops with ISBEST.More specifically, Step 2.1 in figure 1 becomes

2.1 Order the indices of the classes having a value Vk(x)positive as follows: q1, q2, . . . ,

qk where k ≤ k, and

Vqs ≥ Vqs+1 , i ≤ s ≤ k − 1

and if Vqs = Vqs+1 , then qs < qs+1, 1 ≤ s ≤ k − 1 (i.e., class qs has a higherpriority than class qs+1). Let s = 1 and N ∗(x) = φ.2.1.1 While s ≤ k

2.1.1.1 While elements of Nqs (x) are not all generated.2.1.1.1.1 Generate randomly a new element z ∈ Nqs .2.1.1.1.2 If ASP(z) is verified, x ′ = z and move to 2.3.2.1.1.1.3 If the move from x to z is not Tabu, then N ∗(x) = N ∗(x)∪{z}.

2.1.1.2 If N ∗(x) = φ, then s = s + 1. Otherwise, go to 2.2.2.1.2 Go to 3.

iii) The length of the Tabu list TL may vary from one iteration to another. The maximallength |TL|max = 20. But at a specific iteration, assume that V is the value of Vk(x) forthe class used to specify the interesting neighborhood. Let |Te| = �√5 · V + 4� where�a�denotes the smallest integer greater or equal to a. Then, only the (min{|TL|max, |Te|})most recent elements of the Tabu list are considered Tabu. Hence, the effective numberof Tabu elements increases with the value of V . The use of this strategy is motivatedby the fact that a variant of it was successful to deal with the graph coloring problem(see Fleurent and Ferland (1996)).

The parameters for the first order diversification (figure 2) are selected as follows:

i) Nf (maximal number of reassignments) is fixed at 2|I |.ii) Only a subset of Cand(x) is used in Step 2.3. This subset is specified according to a

principle similar to the one used to determine the interesting neighborhoods in the ShortTerm Tabu Search. More specifically, the procedure in figure 2 becomes:

1. Let ISBEST be the current lexicographically best solution. Specify NF (maximalnumber of reassignments). Let V = ∞, x = ISBEST, ITER = 0, and QUIT = false.

2. While ITER < Nf and not QUIT.Order indices of the classes having a value Vk(x) positive as follows: q1, q2, . . . , qkwhere k ≤ k and Vqs ≥ Vqs+1 and if Vqs = Vqs+1 , then qs < qs+1, 1 ≤ s ≤ k − 1.Let s = 1.

2.1 While s ≤ k.

2.1.1 Generate randomly an item i, 1 ≤ i ≤ n, such thatR(ISBEST,i) ∩R(x, i) �= φ and R(ISBEST, i) ∪ R(x, i) �= Ji .

Page 16: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

406 FERLAND ET AL.

2.1.2 Cand (x) = Nqs (x) ∩ {z : ∃( j, j) such that z = x ⊕ (i, j, j), j, j ∈Ji , j /∈ R(ISBEST, i) ∪ R(x, i), j ∈ R(ISBEST, i) ∩ R(x, i)}.

2.1.3 If Cand (x) �= φ, then

x = �Arg minz ∈ Cand(x)

V (z)

V = V (x).

2.1.4 If x < ISBEST, then move to 3.2.1.5 INTER = INTER + 1.

2.2 QUIT = true.

3. If V = ∞, stop the overall procedure with GISBEST as the best solution.

If x < GISBEST, the GISBEST = x . A new initial solution x0 = x is available

Four different variants were tested using randomly generated initial solutions:

T : Short Term Tabu Search where MI = 75.TR : Short Term Tabu Search where MI = 15, applied five times with a different randomly

generated initial solution.TD1 : Short Term Tabu Search where MI = 15, applied five times and using the first order

diversification strategy to generate new initial solutions.TD2 : Short Term Tabu Search where MI = 15, applied five times and using the second

order diversification strategy to generate new initial solutions.

Three of these variants (T, TD1, and TD2) were tested using the “bin packing” initialsolution. They are denoted TB, TD1B and TD2B, respectively.

In order to estimate the relative efficiency of these variants with respect to an “ex-act” method, we use CPLEX to solve a modified version of a single objective problem(GATGPPλ) formulated as a mixed integer programming problem. In this problem, theconstraints (4.1) to (4.4) remain explicitly as such. The other constraints are transformedinto “goals” by introducting non-negative slack variables that become the elements of thevector-valued objective function. Then the vector-valued objective function is transformedinto a single objective function that is specified as a linear combination of the slack variables.The weights �k associated with the classes are determined according to Sherali’s technique(1981).

Two different adjustments are required in order to solve this problem with CPLEX in areasonable CPU time. The first adjustment is used to modify the formulation of the 010constraints (4.8) to replace them by another set of constraints specifying the convex envelopof the solutions satisfying constraints (4.8). The second adjustment is to specify specificbranching rules within CPLEX. Variables associated with nurses i /∈ U and part-time nursesare used in priority for branching.

Since the details of this approach and of the adjustments required are out of the scope ofthis paper, we refer the interested reader to Gagne (1996). In the following comparisons,we denote this method as EM. It is worthy to note that the efficient points generated withEM and with the Tabu variants, respectively, are not necessarily identical. Nevertheless, the

Page 17: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

GENERALIZED ASSIGNMENT TYPE GOAL PROGRAMMING PROBLEM 407

following comparisons allow to estimate the relative efficiency of the Tabu approach withrespect to an “exact” method.

To compare the efficiency of these methods, two different criteria are used:

i) Solution time:CPU time in seconds using a PC compatible 486 DX2, 66 MHz.

ii) Solution quality:Denote the weighted value W1(x) of x ∈ X (a),

W1(x) =∑K

k=1 λk Vk(x)∑λk

where λk = 2(K+1)−k, 1 ≤ k ≤ K . (Hence the weight increases with the priority level.)

Tables 2 and 3 include for each variant the average value W1 of W1 (GISBEST), and theaverage value CPU of solution time taken over the six problems for each problem category.

Table 2. Randomly generated initial solution.

T TD1 TD2 TRProblemcategory W1 CPU W1 CPU W1 CPU W1 CPU

c1 3.88 12.83 1.74 19.67 2.36 17.83 2.26 17.33

c2 4.72 7.67 1.80 12.17 2.11 13.33 2.61 12.00

c3 3.39 6.00 1.99 11.83 2.49 10.67 1.88 11.17

c4 5.65 13.67 2.57 27.00 3.62 22.00 3.88 24.17

c5 2.23 15.67 1.25 24.33 1.19 17.17 1.64 18.17

c6 1.69 6.33 0.73 9.67 1.06 8.00 1.17 7.33

W1: average value of W1(GISBEST), CPU: average value of CPU.

Table 3. “Bin packing” initial solution.

TB TD1B TD2B EMProblemcategory W1 CPU W1 CPU W1 CPU W1 CPU

c1 3.92 11.33 1.87 18.83 2.40 16.83 0.14 5.50

c2 3.25 7.83 1.03 14.33 2.16 11.67 0.06 5.90

c3 2.40 6.33 1.60 11.67 2.23 11.33 0.74 6.00

c4 4.05 14.67 2.01 27.83 3.43 24.00 0.37 20.30

c5 1.20 20.67 0.58 36.83 1.33 20.00 0.24 6.00

c6 1.54 5.33 0.43 10.50 1.32 6.50 0.08 7.00

W1: average value of W1(GISBEST), CPU: average value of CPU.

Page 18: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

408 FERLAND ET AL.

Figure 3. Average value of W1 (ISBEST).

Figure 4. Average value of CPU.

Figures 3 and 4 illustrate graphically W1 and CPU, respectively. In Table 4, for each typeof initial solution and for each problem category, we indicate the number of problems forwhich each variant of the Tabu Search generates the solution with the least value for W1

(GISBEST).In general, referring to Tables 2 and 3 and to figure 3, variants TB and TD1B generate

solutions with smaller value for W1 (i.e., of better quality) than T and TD1, respectively.

Page 19: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

GENERALIZED ASSIGNMENT TYPE GOAL PROGRAMMING PROBLEM 409

Table 4. Efficiency for the 36 problems.

Random initial solution Bin packing initial solutionProblemcategory T TD1 TD2 TR TB TD1B TD2B

c1 1 3 2 0 1 5 1

c2 1 4 1 0 0 5 1

c3 0 3 0 3 1 5 0

c4 0 4 2 0 0 4 2

c5 1 2 3 0 1 6 0

c6 0 4 0 2 0 6 0

Total 3 20 8 5 3 31 4

The solutions generated by TD2B and TD2 have almost the same level of quality. Hence, ingeneral, the results indicate the advantage of starting with a better initial solution generatedwith the “bin packing” procedure.

Consider problem categories c1, c2, and c3. Results in Tables 2 and 3, illustrated in figure4, indicate that the average CPU increases with the number of items

∣∣I∣∣ for the variants of

the Tabu search. But this observation does not apply for EM.Now, referring to the average value W1 in Tables 2 and 3 as illustrated in figure 3, EM

generate better results, followed by the first order diversification strategy (TD1, TD1B).This observation is confirmed by the results in Table 4 indicating the number of problemsfor which these variants of the Tabu search generate the solution with the least value for W1

(GISBEST). Relatively to the average value W1, TD2, TD2B, and TR would rank third, andT, fourth. Finally, comparing EM with the best Tabu search TD1B, there exists a significantmargin in their values W1. Nevertheless, these results indicate only an estimate of therelative efficiency of the methods since they are not necessarely generating the same efficientpoint.

Refering to figure 4, TD1 and TD1B require a longer CPU than TD2, TD2B and TR. T andTB require shorter CPU in general than the other Tabu search variants. Taking advantage ofthe adjustments described before, EM requires even shorter CPU. This is hardly surprisingif we consider that we are comparing the computing efficiency of experimental programswhere the parameters of the methods are not necessarily optimized with that of an expensivecommercial software (CPLEX).

4.2. Parameter values for Short Term Tabu Search

In this section, we summarize an experimental study to analyse the main parameters in theShort Term Tabu Search:

i) MI (maximal number of consecutive iterations with no improvement)ii) NV (size of the neighborhood N ∗(x)).

iii) |TL| (size of the Tabu list).

Page 20: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

410 FERLAND ET AL.

This analysis was initiated in Berrada (1993) and completed by Ahiod (1997) at the EcoleNationale Superieure d’Informatique et d’Analyse des Systemes (ENSIAS) in Rabat, Mo-rocco. The data used in the analysis are those described in Table 1. Furthermore, even ifthe basic data are the same, the formulation of the constraints is a bit different. Indeed, thismodel represents the real-world situation even more closely. It follows that the numericalresults are not totally comparable with those in Section 4.1.

In this variant of the Short Term Tabu Search, a “bin packing” initial solution is used, andMI is the only stopping criterion (i.e., MA = ∞). To evaluate the efficiency of the variant,two different criteria are used:

i) Solution time:CPU time in seconds using a PC compatible 486 SX, 33 MHz (Note that Turbo Pascalwas also used to implement this variant.)

ii) Solution quality:This criterion is defined differently than in the preceding section. The weighted valueis W2(x) of x ∈ X (a) is

W2(x) =∑K

k=1 λk(Vk(x) − V ∗k )∑K

k=1 λK

where λk = (K − k + 1) (note the difference with the weights in Section 4.1), andV ∗

k = minx∈X (a)Vk(x).

The size NV of N ∗(x) in Step 2.1.1 is fixed. If fewer than NV neighboring solutions aregenerated using a constraint of highest priority among the most violated, then a constraintof second highest priority is used. The process is repeated until NV neighboring solutionsare generated. The length of the Tabu list is also fixed.

To determine the best value of the size of the Tabu list |TL| for each problem of eachcategory, it is solved for several triplets of values (|TL|, NV, MI),

|TL| ∈ STL = (10, 15, 20)

NV ∈ SNV = (50, 75, 100, 125)

MI ∈ SMI = (50, 100, 150, 200, 250).

For each problem, we determine the best triplet inducing the smallest value for W2 (ISBEST).Then, for each category |TL| is the average value of the best |TL| for the six problems.

To determine the best value of NV for each problem, the value of |TL| is fixed to |TL|of its category, and it is solved for triplets (|TL|, NV, MI), NV ∈ SNV, MI ∈ SMI. Foreach category |NV| is the average value of the best NV for the six problems.

Finally, to determine the best value of MI for each problem, the values of |TL| and NV arefixed to |TL| and NV of their category, respectively. It is solved for triplets (|TL|, NV, MI),MI ∈ SMI. For each category MI is the average value of the best MI for the six problems.

The values of the triplet for each category are included in Table 5. For problem categoriesc4, c5, c6, the values increase with the number of items |I|. For problem categories c1, c2, c3,

Page 21: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

GENERALIZED ASSIGNMENT TYPE GOAL PROGRAMMING PROBLEM 411

Table 5. Optimized parameters.

Problem category |TL| NV MI |TL|/|I|

c1 15 58 100 .68

c2 15 83 75 .73

c3 14 75 133 .82

c4 20 92 150 .77

c5 5 92 100 .78

c6 10 58 50 .67

|TL| = Average length of the Tabu list, NV = Average size ofN∗(x)

MI = Average maximal number of iterations with no improve-ment.

only the size of the Tabu list |TL| increases with |I|. Finally, it is interesting to note that theratio |TL|/|I| is relatively stable for the different problem categories.

The problems were solved using these parameters. Table 6 includes the average valueW2 of W2 (ISBEST), and the average value CPU of solution time. The small values of W2

show the quality of the solutions generated. Finally, for problem categories c4, c5, c6, theCPU required is increasing with |I|, but the behavior is the reverse for problem categoriesc1, c2, c3.

To conclude, the results indicate that the values of the parameters should in generalincrease with the number of variables (i.e., the size of the problems), but there is no clearmathematical relation with it, |TL| being an exception as shown in Ahiod (1997).

Finally, even if it is difficult to compare the numerical results in the two sets (differentcomputer programs, different computers), the quality of the results (measured by the totalviolation of all additional side constraints) seems to be superior in the second set. As far asmodeling is concerned, this indicates that models closer to the application should generatebetter results.

Table 6. Tabu Search with optimizedparameters.

Problem category W2 C PU

c1 0.45 10.39

c2 0.18 13.30

c3 0.49 20.02

c4 0.55 57.67

c5 0.96 31.27

c6 0.05 5.60

W2 = Average value of W2(ISBEST),CPU = Average value of CPU.

Page 22: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

412 FERLAND ET AL.

5. Conclusions

A Short Term Tabu Search procedure is introduced to deal with Generalized AssignmentType Goal Programming Problems. This is an extension of a Short Term Tabu Search forsingle objective function problem to deal with these multi-objective problems. It is shownthat the solutions generated are efficient solution. The nurse scheduling problem can be for-mulated in this framework. The numerical results obtained by solving the nurse schedulingproblem indicate that their quality can be improved with diversification strategies. Amongthese, the first order diversification seems to be more efficient to generate better solutions.Finally, the results obtained with these variants of Tabu search are compared with thoseobtained with CPLEX. Taking into account that CPLEX is the best commercial softwareavailable to solve mixed integer programming problems, the results generated with the bestvariant of the Short Term Tabu Search are quite good.

Acknowledgments

This research was supported by a FRSQ Grant (930913) and a FCAR Grant (93BR1654)from Quebec, and by a NSERC Grant (OGP 0008312) from Canada.

References

Ahiod, B. (1997). “Adaptation de certaines heuristiques pour resoudre le probleme du personnel infirmier dansun etablissement hospitalier.” These de troisieme cycle, Faculte des Sciences, Universite Mohammed V, Rabat,Maroc.

Berrada, I. (1993). “Planification d’horaires du personnel infirmier dans un etablissement hospitalier.” Ph.D.Dissertation, Departement d’Informatique et de Recherche Operationnelle, Universite de Montreal.

Berrada, I., J.A. Ferland, and P. Michelon. (1996). “A Multi-Objective Approach to Nurse Scheduling with bothHard and Soft Constraints.” Socio-Economic Planning Science 30, 183–193.

Bodin, L.D., B.L. Golden, A.A. Assad, and M. Ball. (1983). “Routing and Scheduling of Vehicles and Crews: TheState of the Art.” Computers and Operations Research 10, 69–211.

Ferland, J.A. (1997). “Generalized Assignment-Type Problems, A Powerful Modeling Scheme,” Practice andTheory of Automated Time tabling II (E. Burke and M. Carter eds.) Springer Lecture Notes in ComputerScience 1408, 53–77.

Ferland, J.A., A. Hertz, and A. Lavoie (1996). “An Object-Oriented Methodology for Solving Assignment-TypeProblems with Neighborhood Search Techniques.” Operations Research 44, 347–359.

Ferland, J.A. and A. Lavoie. (1992). “Exchanges Procedures for Timetabling Problems.” Discrete Applied Math-ematics 35, 237–253.

Fleurent, C. and J.A. Ferland. (1996). “Object-Oriented Implementation of Heuristic Search Methods for GraphColoring, Maximum Clique and Satisfiability.” DIMACS Series in Mathematics and Theoretical ComputerScience 26, 619–652.

Gagne, E. (1996). “Application d’une methode exacte pour la generation d’horaire en soins infirmiers.” M.Sc.Thesis, Departement d’Informatique et de Recherche Operationnelle, Universite de Montreal.

Geoffrion, A.M. (1968). “Proper Efficiency and Theory of Vector Maximization,” Journal of Mathematical Analysisand Applications 22, 618–630.

Glover, F. (1986). “Future Paths for Integer Programming and Links to Artificial Intelligence.” Computers andOperations Research 13, 533–549.

Glover, F. and M. Laguna. (1993). “Tabu Search.” In C. Reeves (Ed.), Modern Heuristic Techniques for Combi-natorial Problems, Oxford Blackwell Publishing, pp. 70–150.

Page 23: Generalized Assignment Type Goal Programming Problem: Application to Nurse Scheduling

GENERALIZED ASSIGNMENT TYPE GOAL PROGRAMMING PROBLEM 413

Hansen, P. (1986). “The Steepest Ascent Mildest Descent Heuristic for Combinatorial Programming.” Congressur les Methodes Numeriques en Optimisation Combinatoire, Capri, Italy.

Hertz, A. and D. de Werra. (1987). “Using Tabu Search Techniques for Graph Coloring.” Computing 39, 345–351.Johnson, D.S., C.R. Aragon, L.A. McGeoch, and C. Shevon. (1989). “Optimization by Simulated Annealing: An

Experimental Evaluation; Part I, Graph Partitioning.” Operations Research 37, 865–892.Kelly, J.P., M. Laguna, and F. Glover. (1994). “A Study of Diversification Strategies for the Quadratic Assignment

Problem.” Computers and Operations Research 21, 885–893.Nabli, I. (1995). “Horaires du personnel infirmier generes avec approches heuristiques.” M.Sc. Thesis, Departement

d’Informatique et de Recherche Operationnelle, Universite de Montreal.Sherali, H.D. (1981). “Equivalent Weights for Lexicographic Multi-objective Programs: Characterizations and

Computations.” European Journal of Operational Research 11, 367–379.Steuer, R.E. (1989). Multiple Criteria Optimization: Theory, Computation, and Application, Malabar, FL: Krieger

Publishing Co.Ross, C.T. and R.M. Soland. (1975). “A Branch and Bound Algorithm for the Generalized Assignment Problem.”

Mathematical Programming 8, 91–103.