6
Local Search Strategies for Rotating Workforce Scheduling Nysret Musliu Technische Universit¨ at Wien Karlsplatz 13, 1040 Wien, Austria Email: [email protected] Abstract— Rotating workforce scheduling is a typical con- straint satisfaction problem which appears in a broad range of work places (e.g. industrial plants). Solving this problem is of a high practical relevance. In this paper we consider the extension of existing tabu search implementation for this problem. We propose the combination of tabu search with random walk and min conflicts strategy to improve the performance of the current implementation. Computational results for benchmark examples in literature and other real life examples show that combination of tabu search with random walk and min conflicts strategy improves the performance of tabu search for this problem. I. I NTRODUCTION Workforce scheduling, in general, includes sub-problems which appear in many spheres of life as in industrial plants, hospitals, public transport, airlines companies, universities etc. In Table I a typical representation of workforce schedules is presented.This schedule describes explicitly the working schedule of 9 employees during one week. The emplyees work in three shifts: day shift(D), afternoon shift(A) and night shift(N). The first employee works from Monday until Friday in a day shift (D) and during Saturday and Sunday has days- off. The second employee has a day-off on Monday and works in a day shift during the rest of the week. Further, the last employee works from Monday until Wednesday in night shifts (N), on Thursday and Friday has days-off, and on Saturday and Sunday works in the day shift. Each row of this table represents the weekly schedule of one employee. TABLE I A TYPICAL WEEK SCHEDULE FOR 9 EMPLOYEES Employee/day Mon Tue Wed Thu Fri Sat Sun 1 D D D D D - - 2 - D D D D D D 3 D - - N N N N 4 - - - - A A A 5 A A A A - - - 6 N N N N N - - 7 - - A A A A A 8 A A - - - N N 9 N N N - - D D There are two main variants of workforce schedules: rotat- ing (or cyclic) workforce schedules and non-cyclic workforce schedules. In a rotating workforce schedule all employees have the same basic schedule but start with different offsets. Therefore, while the individual preferences of the employees cannot be taken into account, the aim is to find a schedule that is optimal for all employees. In non-cyclic workforce sched- ules the individual preferences of the employees can be taken into consideration and the aim is to achieve schedules that fulfill the preferences of most employees. In both variations of workforce schedules other constraints such as the minimum number of employees required for each shift have to be met. In this paper we will consider the problem of rotating workforce scheduling. This problem is NP-complete ([16]). Workforce schedules have a impact on the health and satisfaction of employees as well as on their performance at work. Therefore, computerized workforce scheduling has interested researchers for over 30 years. The critical features of workforce scheduling algorithms are their computational behavior and flexibility for solving a wide range of problems that appear in practice. For solving the problem of work- force scheduling, different approaches have been used in the literature. Survey of algorithms used for different workforce scheduling problems is given by Alfares [2]. Examples for the use of exhaustive enumeration are [9] and [4]. Glover and McMillan [7] rely on integration of techniques from man- agement sciences and artificial intelligence to solve general shift scheduling problems. Balakrishnan and Wong [3] solved a problem of rotating workforce scheduling by modeling it as a network flow problem. Laporte [14] considered developing the rotating workforce schedules by hand and showed how the constraints can be relaxed to get acceptable schedules. Several other algorithms for rotating workforce schedules have been proposed in the literature [10], [11], [13]. Musliu et al [20] proposed and implemented a new method for the generation of rotating workforce schedules, which is based on pruning of search space, by involving the decision maker during the generation of partial solutions. The algorithms has been included in a commercial product called First Class Scheduler, which is already being used by several companies in Europe since 2000. Although this product has been shown to work well in practice for solving of most real problems, for very large instances solutions cannot always be guaranteed. Recently, Musliu [19] proposed a simple tabu search approach for solving the rotating workforce scheduling problem. Moerz and Musliu [18] applied genetic algorithm for this problem.

Local Rot

Embed Size (px)

DESCRIPTION

Local Rot

Citation preview

Page 1: Local Rot

Local Search Strategies for Rotating WorkforceScheduling

Nysret MusliuTechnische Universitat Wien

Karlsplatz 13, 1040 Wien, AustriaEmail: [email protected]

Abstract— Rotating workforce scheduling is a typical con-straint satisfaction problem which appears in a broad range ofwork places (e.g. industrial plants). Solving this problem is of ahigh practical relevance. In this paper we consider the extensionof existing tabu search implementation for this problem. Wepropose the combination of tabu search with random walk andmin conflicts strategy to improve the performance of the currentimplementation. Computational results for benchmark examplesin literature and other real life examples show that combinationof tabu search with random walk and min conflicts strategyimproves the performance of tabu search for this problem.

I. INTRODUCTION

Workforce scheduling, in general, includes sub-problemswhich appear in many spheres of life as in industrial plants,hospitals, public transport, airlines companies, universities etc.In Table I a typical representation of workforce schedulesis presented.This schedule describes explicitly the workingschedule of 9 employees during one week. The emplyeeswork in three shifts: day shift(D), afternoon shift(A) and nightshift(N). The first employee works from Monday until Fridayin a day shift (D) and during Saturday and Sunday has days-off. The second employee has a day-off on Monday and worksin a day shift during the rest of the week. Further, the lastemployee works from Monday until Wednesday in night shifts(N), on Thursday and Friday has days-off, and on Saturdayand Sunday works in the day shift. Each row of this tablerepresents the weekly schedule of one employee.

TABLE I

A TYPICAL WEEK SCHEDULE FOR 9 EMPLOYEES

Employee/day Mon Tue Wed Thu Fri Sat Sun

1 D D D D D - -

2 - D D D D D D

3 D - - N N N N

4 - - - - A A A

5 A A A A - - -

6 N N N N N - -

7 - - A A A A A

8 A A - - - N N

9 N N N - - D D

There are two main variants of workforce schedules: rotat-ing (or cyclic) workforce schedules and non-cyclic workforce

schedules. In a rotating workforce schedule all employeeshave the same basic schedule but start with different offsets.Therefore, while the individual preferences of the employeescannot be taken into account, the aim is to find a schedule thatis optimal for all employees. In non-cyclic workforce sched-ules the individual preferences of the employees can be takeninto consideration and the aim is to achieve schedules thatfulfill the preferences of most employees. In both variationsof workforce schedules other constraints such as the minimumnumber of employees required for each shift have to be met. Inthis paper we will consider the problem of rotating workforcescheduling. This problem is NP-complete ([16]).

Workforce schedules have a impact on the health andsatisfaction of employees as well as on their performanceat work. Therefore, computerized workforce scheduling hasinterested researchers for over 30 years. The critical featuresof workforce scheduling algorithms are their computationalbehavior and flexibility for solving a wide range of problemsthat appear in practice. For solving the problem of work-force scheduling, different approaches have been used in theliterature. Survey of algorithms used for different workforcescheduling problems is given by Alfares [2]. Examples for theuse of exhaustive enumeration are [9] and [4]. Glover andMcMillan [7] rely on integration of techniques from man-agement sciences and artificial intelligence to solve generalshift scheduling problems. Balakrishnan and Wong [3] solveda problem of rotating workforce scheduling by modeling it asa network flow problem. Laporte [14] considered developingthe rotating workforce schedules by hand and showed howthe constraints can be relaxed to get acceptable schedules.Several other algorithms for rotating workforce schedules havebeen proposed in the literature [10], [11], [13]. Musliu etal [20] proposed and implemented a new method for thegeneration of rotating workforce schedules, which is basedon pruning of search space, by involving the decision makerduring the generation of partial solutions. The algorithms hasbeen included in a commercial product called First ClassScheduler, which is already being used by several companiesin Europe since 2000. Although this product has been shownto work well in practice for solving of most real problems,for very large instances solutions cannot always be guaranteed.Recently, Musliu [19] proposed a simple tabu search approachfor solving the rotating workforce scheduling problem. Moerzand Musliu [18] applied genetic algorithm for this problem.

Page 2: Local Rot

However, the current implementation of genetic algorithmgives worse results compared to tabu search. In this paper wepropose further improvement of tabu search technique pro-posed in [19] with random walk and min conflicts technique.

We proceed in this paper as follows: In the next section wegive a precise definition of the problem. In Section 2 the localsearch strategies applied to the problem we consider here aredescribed. In Section 3 the computational results are given.

A. Rotating workforce scheduling

In this section, we describe the problem of assignmentof shifts and days-off to employees in the case of rotatingworkforce schedules. This is a specific problem of a generalworkforce-scheduling problem. The definition is given below([20]):Instance:

• Number of employees: n.• Set A of m shifts (activities) : a1, a2, . . . , am, where am

represents the special day-off “shift”.• w: length of schedule. The total length of a planning

period is n × w because of the cyclic characteristics ofthe schedules.

• A cyclic schedule is represented by an n × w matrixS ∈ Anw. Each element si,j of matrix S correspondsto one shift. Element si,j shows which shift employee i

works during day j or whether the employee has timeoff. In a cyclic schedule, the schedule for one employeeconsists of a sequence of all rows of the matrix S. Thelast element of a row is adjacent to the first element of thenext row, and the last element of the matrix is adjacentto its first element.

• Temporal requirements: The requirement matrix R ((m−

1) × w), where each element ri,j of the requirementmatrix R shows the required number of employees forshift i during day j.

• Constraints:

– Sequences of shifts permitted to be assigned to em-ployees (the complement of inadmissible sequences):Shift change m × m × m matrix C ∈ A(m3). Ifelement ci,j,k of matrix C is 1, the sequence of shifts(ai, aj , ak) is permitted, otherwise it is not.

– Maximum and minimum length of periods of con-secutive shifts: Vectors MAXSm, MINSm, whereeach element shows the maximum respectively min-imum permitted length of periods of consecutiveshifts.

– Maximum and minimum length of blocks of work-days: MAXW , MINW .

Problem: Find a cyclic schedule (assignment of shifts toemployees) that satisfies the requirement matrix, and all otherconstraints.

Note that in [20], finding as many non-isomorphic cyclicschedules as possible that satisfy all constraints, and areoptimal in terms of weekends without scheduled work shifts(weekends off), is required. We consider in this paper the

generation of only one schedule, which satisfies all constraints.Furthermore, in this paper we do not consider the optimizationof weekends off.

II. LOCAL SEARCH STRATEGIES

Local search strategies (see [1], [21]) have been successfulapplied to constraint satisfaction problems and other hardcombinatorial optimization problems. The basic idea of localsearch techniques is to improve initial solutions iteratively dur-ing the search. One of basic local search techniques is a hill-climbing technique, which starts with a randomly generatedsolution and moves during each iteration to the solution inneighborhood with the best evaluation. The problem with thistechnique is that it can easily get stuck in local optimum.Different approaches have been used in literature to escapefrom a local minimum during the search. Such examplesincludes simulated annealing ([12]) and tabu search ([6]). Firstideas for the tabu search (TS) techniques came from Glover[5] and Hansen [8]. This technique is one of most powerfulmodern heuristic techniques, which has been used successfullyfor many practical problems. Basic idea of this technique is toavoid the cycles (visiting the same solution) during the searchusing the tabu list. In the tabu list specified information forsearch history for a fixed specific number of past iteration arestored. The acceptance of the solution for the next iterations inthis technique depends not only from its quality, but also fromthe tabu list. In the tabu list one stores for instance the movesor inverse moves that have been used during specific numberof past iterations. The stored moves are made tabu for severaliterations. A solution is classified as a tabu solution if it isgenerated from a move that is present in the tabu list. In thistechnique, during each iteration, the complete neighborhood(with defined moves) of the current solution is generated. Inthe basic variant of TS the best solution (not tabu) from theneighborhood is accepted for the next generation. However, itis also possible to accept the tabu solution if it fulfills someconditions, which are determined with, the so called aspirationcriteria (i.e., the solution is tabu but has the best evaluation sofar).

The min conflicts heuristics ([17]), which has been shown tobe very successful technique for solving constraint satisfactionproblems, includes randomness during the search, by choosingrandomly the conflicted variable and changing its value sothat the number of conflicts is minimized. Pure min conflictstechnique can also get stuck in a local optimum. To escapethe local optimum the algorithm can be restarted or noisestrategies such as random walk ([22]) can be introduced tomin conflicts heuristic. In random walk the value of conflictedvariable (randomly selected) is picked randomly with someprobability p, and with probability 1 − p the standard min-conflicts procedure is applied (the value of variable whichminimizes number of conflicts is picked).

In ([19]) a basic tabu search approach for solving the rotat-ing workforce scheduling problem was proposed. The neigh-borhood structure and fitness function used in for approach aredescribed later in this section. In order to accept the solution

Page 3: Local Rot

for the next iteration, basic principles of the tabu search tech-nique were used, where the experiments with two variants ofsolutions tabu were performed. The proposed approach is usedsuccessfully for solving the rotating workforce schedulingproblems, but the whole exploration of neighborhood duringeach iteration is very much time consuming and the approachis not enough efficient for large classes of problems.

In this paper we propose a combination of tabu search withrandom walk and min conflicts technique. The combination oftabu search with a random walk is described with procedurebelow:

Tabu Search with RandomWALKFor Each IterationWith probability p pick randomly the cell which isin conflict. Pick in the same column another cellrandomly and swap the contents of two selected cells

With probability 1 − p, follow the tabu searchalgorithm

The random walk strategy in our case picks with probabilityp, first randomly one cell which is appears in some violatedconstraint (conflict). The content of this cell is swapped withthe content of other cell which is selected randomly in thesame column. As described later the solutions during eachiteration fulfill always the workforce requirements. This isthe reason why we allow the swap of contents of cells onlyinside of one column. We have also experimented with thevariant in which the two cells are picked randomly, without therestriction that the first cell appears in some conflict (randomnoise strategy ([23])).

We consider also combination of tabu search with min-conflicts strategy. The procedure is given below:

Tabu Search and min conflictsFor Each IterationWith probability p, apply standard min conflictsstrategy

With probability 1 − p, follow the tabu searchalgorithm

The min-conflict strategy for this problem works as follows.Randomly a cell in schedule (variable) which is in a conflictis picked. Further, all solutions are generated which can beobtained by swapping the content of selected cell and othercells in the same column. From the generated neighborhoodthe solution which minimizes number of conflicts is selectedfor the next iteration. Note that there is a small differencecompare to pure min conflicts heuristic due to the specificsof this problem. First, in our case not only one variable inconflict changes the value, but two variables (which representsschedule cells in the same column) exchange their contents.Second, with our procedure also a worst solution can beaccepted for the next iteration.

Further, we describe other relevant features for the local

search procedures described previously.

A. Generation of initial solution

The initial solution is generated randomly. However, theinitial solution fulfills all workforce requirements. The neigh-borhood relation applied in the current solution produces asolution which does not violate the workforce requirementseither.

B. Generation of neighborhood

As described in the section 2, the cyclic schedule is repre-sented by an n × w matrix S, where each element si,j ofmatrix S corresponds to one shift or day off. To generatethe neighborhood of the current solution we apply a simplemove, which swaps the contents of two elements in thematrix S. However, to reduce the neighborhood of the currentsolution, we only allow those solutions which fulfill workforcerequirements, and thus the swapping of elements is done onlyinside of a particular column. The whole neighborhood of thecurrent solution is obtained by swapping all possible elements(not identical) in all columns of a table. The applied moveis denoted as swap(j, i, k), where j represents the column inwhich the swap of elements should be done, and i, k representelements in column j that should swap their contents. Theneighborhood of the current solution represents all solutionsthat can be obtained by applying this move (swap(j, i, k)) tothe current solution. Additionally, the above described movewas extended to swap the blocks of two neighborhood cells.In all search techniques described in this paper this move isalso used for generation of neighborhood.

C. Fitness Function

During the generation of neighborhood, the evaluation ofsolutions is very time consuming, because each solution has tobe checked for many constraints. To calculate the fitness of thesolution, for each violation of constraint a determined numberof points (penalty) is given, based on the constraint and thedegree of the constraint violation. The fitness represents thesum of all penalties caused from the violation of constraints.Since the problem we want to solve only has hard constraints,the solution will be found when the fitness of the solutionreaches the value 0. The fitness is calculated as follows [19]:

Fitness =

NW∑

i=1

P1 × Distance(WBi ,WorkBRange) +

ND∑

i=1

P2 × Distance(DOBi ,DayOffBRange) +

NumOfShifts∑

j=1

(

NSj∑

i=1

P3 × Distance(SBij ,ShiftSeqRangej )) +

P4 × NumOfNotAllowedShiftSeq

NW , ND, represent respectively, the number of workblocks, and days off blocks, whereas NSj , represents numberof shift sequences blocks of shift j. WBi, DOBi, represent

Page 4: Local Rot

respectively, a work block i, and days-off block i. SBij ,represents the i-th shifts block of shift j. The penalties of theviolation of constraints are set as follow: P3 = P1 = P2 =P4 = 1. The function Distance(XBlock, range) returns 0if the length of the block XBlock is inside the range of twonumbers (range), otherwise returns the distance of length ofXBlock from the range. For example if the legal range ofwork blocks is 4 − 7 and length of work block XBlock is 3or 8 then this function will return value 1.

III. COMPUTATIONAL RESULTS

In this section we report on computational results obtainedwith the current implementation of local search strategies. Wegive the results for 10 problems which appeared in practice.For comparison we take into consideration the number ofevaluations needed to find the solution and the time forwhich the solution is found. The experiments were performedin a machine Pentum 4 1,8GHZ, 512 MB RAM. For eachproblem 10 independent runs were executed. Maximal numberof evaluations for each run is 10000000. Note that we exper-imented with different parameters considering the probabilityfor random walk, length of tabu list and type of tabu. In thispaper the best results for each strategy are presented.

A. Description of instances

We collected a set of real life problems which can beused further by other researchers to compare their resultswith ours. The collection of these problems can be foundon http://www.dbai.tuwien.ac.at/staff/musliu/benchmarks/.The problems for which we give the results in this papercontains from 7 to 47 employees (or groups -more than oneemployee). The first three examples are benchmark examplesform literature (two of them are described below). Other7 examples are real life examples of different size whichappeared in practice.

Further we describe characteristics of two problems whichappeared earlier in the literature and which are included in acollection of problems for which we give the computationalresults are given here. The first problem here correspond tothe problem 2 in collection of problems we mentioned andthe second problem here corresponds to the problem 3 in thecollection of problems.

Problem 1 (Laporte et al. [15]): There exist three nonoverlapping shifts D, A, and N, 9 employees, and requirementsare 2 employees in each shift and every day. A week schedulehas to be constructed that fulfills these constraints: (1) Restperiods should be at least two days-off, (2) Work periods mustbe between 2 and 7 days long if work is done in shift D orA and between 4 and 7 if work is done in shift N, (3)Shiftchanges can occur only after a day-off, (4)Schedules shouldcontain as many weekends as possible, (5)Weekends off shouldbe distributed throughout the schedule as evenly as possible,(6) Long (short periods) should be followed by long (short)rest periods, (7)Work periods of 7 days are preferred in shiftN.

It should be noted that we cannot model the problem givenin this section exactly in our solver. Here we also mimicthe constraints as closely as possible or replace them bysimilar constraints which can be taken into consideration in ourgenetic algorithm. In our case constraint 1 is straightforward.Constraint 2 can be approximated if we take the minimumof work blocks to be 4. Constraint 3 can also be modeled ifwe take the minimum length of successive shifts to be 4. Formaximum length of successive shifts we take 7 for each shift.Other constraints can not be modeled in our solver.

Problem 2: This problem is a larger problem first reportedin [9]. Characteristics of this problem are:Number of employees is 17 (length of planning period is 17weeks).Three nonoverlapping shifts.Temporal requirements are:

R3,7 =

5 4 4 4 4 4 35 4 4 4 4 4 44 3 3 3 4 4 4

Constraints: Rest-period lengths must be between 2 and 7days; Work-periods lengths must be between 3 and 8 days; Ashift cannot be assigned to more than 4 consecutive weeks ina row; Shift changes are allowed only after a rest period thatincludes a Sunday or a Monday or both; The only allowableshift changes are 1 to 3, 2 to 1, and 3 to 2.

We cannot model constraints 3, 4, and 5 in their originalform. We allow changes in the same block and for thesereason we have other shift change constraints. In our casethe following shift changes are not allowed: 2 to 1, 3 to 1,and 3 to 2. Additionally, we limit the rest period length from2 to 4 and work periods length from 4 to 7. Maximum andminimum length of blocks of successive shifts are given withvectors MAXS3 = (7, 6, 5) and MINS3 = (2, 2, 2).

B. Results

In the Table II a summary of results for the tabu searchstrategy for 10 problems is given. Note that these resultsare obtained with the tabu search approach proposed in [19].Table IV presents results for tabu search and random walkand Table III represents results for tabu search and randomnoise. Further, in the Table V the results for tabu search andmin conflicts are given. For each problem the average numberof evaluations and time needed (in seconds) for generation ofsolution is presented. The last column (runs with solution)represents number of runs in which the solution could befound.

C. Discussion of results

From the tables we can conclude that tabu search approachis improved by random noise considering the number ofruns in which the solution is found. Further improvementsare arrived with combination of tabu search with randomwalk considering both the average number of evaluations andalso the number of runs in which the solution is found.Combination of tabu search with min conflicts heuristic clearly

Page 5: Local Rot

TABLE II

TABU SEARCH STRATEGY (10 RUNS)

Example Number of Evaluations Time(sec) Runs with solution

1 144953 2.2 10

2 76414.9 1.1 9

3 1.25E+06 28.7 7

4 52686.4 1.2 10

5 1.23E+06 24.1 8

6 51597.4 0.7 10

7 - - 0

8 879771 19.25 4

9 1.59E+06 98 1

10 1.14E+06 39.75 4

TABLE III

TABU SEARCH AND RANDOM NOISE (10 RUNS)

Example Number of Evaluations Time(sec) Runs with solution

1 43076.4 0.6 10

2 111241 1.7 10

3 861396 20.3 10

4 75290.4 1.7 10

5 278555 5.6 10

6 11495.1 0.2 10

7 9.11E+06 337 1

8 454547 10 10

9 5.33E+06 304.333 6

10 2.15E+06 74.6 10

outperforms all previous techniques considering the time forwhich the solution are generated and the number of successfulruns. The results in general show that the combination of tabusearch with random walk and min conflicts heuristic improvessignificantly this technique in case of rotating workforcescheduling problem.

ACKNOWLEDGMENT

This work was supported by FWF (Austrian Science Fund)Project No. Z29-N04.

REFERENCES

[1] Emile Aarts and Jan Karl Lenstra, editors. Local Search in Combinato-rial Optimization. Wiley, 1997.

[2] H. K. Alfares. Survey, categorization, and comparison of recent tourscheduling literature. Annals of Operations Research, 127(1-4):145–175(31), 2004.

[3] Nagraj Balakrishnan and Richard T. Wong. A network model for therotating workforce scheduling problem. Networks, 20:25–42, 1990.

[4] B. Butler. Computerized manpower scheduling. Master’s thesis,University of Alberta, Canada, 1978.

[5] Fred Glover. Future paths for integer programming and links to artificialintelligence. Computers & Operations Res., 5:533–549, 1986.

[6] Fred Glover and Manuel Laguna. Tabu search. Kluwer AcademicPublishers, 1997.

[7] Fred Glover and Claude McMillan. The general employee schedulingproblem: An integration of MS and AI. Comput. Ops. Res., 13(5):563–573, 1986.

TABLE IV

TABU SEARCH AND RANDOM WALK (10 RUNS)

Example Number of Evaluations Time(sec) Runs with solution

1 21295.6 0.4 10

2 64045.4 0.9 10

3 280965 7 10

4 32598.2 0.7 10

5 219529 4.5 10

6 19786.5 0.3 10

7 8.20E+06 306 1

8 174510 4 10

9 2.49E+06 148.1 10

10 567656 21.1 10

TABLE V

TABU SEARCH AND MIN CONFLICT (10 RUNS)

Example Number of Evaluations Time(sec) Runs with solution

1 26046 0.4 10

2 25791.6 0.4 10

3 153408 3.8 10

4 22810.2 0.5 10

5 121248 2.4 10

6 13064 0.2 10

7 3.42E+06 126.2 5

8 238501 5.3 10

9 933254 57.5 10

10 312065 11.7 10

[8] P. Hansen. The steepest ascent mildest descent heuristic for combinato-rial programming. In Congress on Numerical Methods in CombinatorialOptimization, 1986.

[9] N. Heller, J. McEwen, and W. Stenzel. Computerized scheduling ofpolice manpower. St. Louis Police Department, St. Louis, MO, 1973.

[10] R. Hung. A three-day workweek multiple-shift scheduling model. J OplRes Soc, (44):141–146, 1993.

[11] R. Hung. A multiple-shift workforce scheduling model under 4-dayworkweek with weekday and weekend labour demands. J Opl Res Soc,(45):1088–1092, 1994.

[12] S. Kirkpatrick, C. D. Gelatt Jr., and M. P. Vecchi. Optimization bysimulated annealing. Science, 220:671–680, 1983.

[13] P. Knauth. Designing better shift systems. Appl Ergonom, (27):39–44,1996.

[14] G. Laporte. The art and science of designing rotating schedules. Journalof the Operational Research Society, 50:1011–1017, 1999.

[15] G. Laporte, Y. Nobert, and J. Biron. Rotating schedules. Eur. J. Ops.Res., 4:24–30, 1980.

[16] Hoong Chuin Lau. On the complexity of manpower scheduling.Computers. Ops. Res., 23(1):93–102, 1996.

[17] Steven Minton, Mark D. Johnston, Andrew B. Philips, and Philip Laird.Minimizing conflicts: a heuristic repair method for constraint satisfactionand scheduling problems. Artificial Intelligence, 58:161–205, 1992.

[18] Michael Morz and Nysret Musliu. Genetic algorithm for rotating work-force scheduling. In IEEE International Conference on ComputationalCybernetics ICCC 2004, Vienna, 2004.

[19] Nysret Musliu. Applying tabu search to the rotating workforce schedul-ing problem. In The 5th Metaheuristics International Conference(MIC’03), Kyoto, Japan, 2003.

[20] Nysret Musliu, Johannes Gartner, and Wolfgang Slany. Efficient gen-

Page 6: Local Rot

eration of rotating workforce schedules. Discrete Applied Mathematics,118(1-2):85–98, 2002.

[21] Colin R. Reeves, editor. Modern Heuristic Techniques for CombinatorialProblems. Halsted Pr., 1993.

[22] Eugene C Freuder Richard J Wallace. Heuristic methods for over-constrained constraint satisfaction problems. In Overconstrained Sys-tems, Springer 1106, 1996.

[23] Bart Selman, Henry A. Kautz, and Bram Cohen. Local search strate-gies for satisfiability testing. In Proceedings of the Second DIMACSChallange on Cliques, Coloring, and Satisfiability, 1993.