Nurse Rostering. Jonathan Johannsen CS 537. Scheduling Algorithms



Similar documents
An Advanced Model and Novel Meta-heuristic Solution Methods to Personnel Scheduling in Healthcare. Greet Vanden Berghe

Relaxation of Coverage Constraints in Hospital Personnel Rostering

Fitness Evaluation for Nurse Scheduling Problems

A Brief Study of the Nurse Scheduling Problem (NSP)

The Second International Timetabling Competition (ITC-2007): Curriculum-based Course Timetabling (Track 3)

A Shift Sequence for Nurse Scheduling Using Linear Programming Problem

Comparison of algorithms for automated university scheduling

Solving the Vehicle Routing Problem with Multiple Trips by Adaptive Memory Programming

Novel Heuristic and Metaheuristic Approaches to the Automated Scheduling of Healthcare Personnel

A hybrid approach for solving real-world nurse rostering problems

Using Ant Colony Optimization for Infrastructure Maintenance Scheduling

RIGHT TECHNICIAN, RIGHT PLACE, RIGHT TIME, SO WHAT? A Mobile Workforce Management ebook

AUTOMATED SYSTEM FOR NURSE SHEDULING USING GRAPH COLORING

An Improvement Technique for Simulated Annealing and Its Application to Nurse Scheduling Problem

each college c i C has a capacity q i - the maximum number of students it will admit

Research Article Scheduling IT Staff at a Bank: A Mathematical Programming Approach

STUDY OF PROJECT SCHEDULING AND RESOURCE ALLOCATION USING ANT COLONY OPTIMIZATION 1

Generating Personnel Schedules in an Industrial Setting Using a Tabu Search Algorithm

An ACO/VNS Hybrid Approach for a Large-Scale Energy Management Problem

A Flexible Mixed Integer Programming framework for Nurse Scheduling

Analysis of real-world personnel scheduling problems

Analysis of Micromouse Maze Solving Algorithms

Ant Colony Optimization (ACO)

UNUSUAL VOLUME SYSTEM

LECTURE - 3 RESOURCE AND WORKFORCE SCHEDULING IN SERVICES

Chapter 13: Binary and Mixed-Integer Programming

A Sports Tournament Scheduling Problem: Exploiting Constraint-based Algorithm and Neighborhood Search for the Solution

Optimize your field service planning

Agile support with Kanban some tips and tricks By Tomas Björkholm

The First Steps to Achieving Effective Inventory Control. By Jon Schreibfeder EIM. Effective Inventory Management, Inc.

Interactive Timetabling

Scenario: Optimization of Conference Schedule.

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

GRANULAR MODELLING OF EXAM TO SLOT ALLOCATION Siti Khatijah Nor Abdul Rahim 1, Andrzej Bargiela 1, Rong Qu 2 1 School of Computer Science

1 Uncertainty and Preferences

Problems, Methods and Tools of Advanced Constrained Scheduling

(Refer Slide Time: 3:21)

NURSE SCHEDULING: FROM THEORETICAL MODELING TO PRACTICAL RESOLUTION

Linear Programming Notes VII Sensitivity Analysis

Meta-Heuristics for Reconstructing Cross Cut Shredded Text Documents

Software Project Planning and Resource Allocation Using Ant Colony Optimization with Uncertainty Handling

User Stories Applied

How to Plan a Successful Load Testing Programme for today s websites

CREATING WEEKLY TIMETABLES TO MAXIMIZE EMPLOYEE PREFERENCES

Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Goals of the Unit. spm adolfo villafiorita - introduction to software project management

Agile Projects 7. Agile Project Management 21

Using Business Intelligence to Mitigate Graduation Delay Issues

7 things to ask when upgrading your ERP solution

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

A Hybrid Tabu Search Method for Assembly Line Balancing

Charles Fleurent Director - Optimization algorithms

Development Methodologies Compared

Evaluation of Different Task Scheduling Policies in Multi-Core Systems with Reconfigurable Hardware

The Application of Bayesian Optimization and Classifier Systems in Nurse Scheduling

Data Mining Applications in Manufacturing

A Binary Model on the Basis of Imperialist Competitive Algorithm in Order to Solve the Problem of Knapsack 1-0

Some of these issues, as you will discover, are unfortunately not fixable by us.

OPTIMIZED STAFF SCHEDULING AT SWISSPORT

TA: Matt Tong Tues EBU3b B225 - Office hour WLH Discussion Thurs EBU3b B250/B250A - Lab/Office hour

Resource Allocation and Scheduling

SIMPLE FINANCIAL ANALYSIS FOR A SMALL FISH PROCESSING PLANT

BOR 6335 Data Mining. Course Description. Course Bibliography and Required Readings. Prerequisites

10 Tough questions to ask before buying a vehicle

A Multi-objective Genetic Algorithm for Employee Scheduling

The Discipline of Product Management

Active Versus Passive Low-Volatility Investing

How To Increase Employee Productivity And Increase Wrench Time At An Oil Refinery

DURING a project s lifecycle many factors can change at

(Refer Slide Time: 01:52)

Survey of software architectures: function-queue-scheduling architecture and real time OS

PeopleSoft White Paper Series. Evolving from Distribution Requirements Planning to Collaborative Supply Chain Planning

Monitoring and Reporting Drafting Team Monitoring Indicators Justification Document

How to Study Mathematics Written by Paul Dawkins

Traffic Engineering for Multiple Spanning Tree Protocol in Large Data Centers

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

Automatic Inventory Control: A Neural Network Approach. Nicholas Hall

Computer Science CS 4013/5013: Artificial Intelligence

University of British Columbia Co director s(s ) name(s) : John Nelson Student s name

Transcription:

Nurse Rostering Jonathan Johannsen CS 537 Scheduling Algorithms

Most hospitals worldwide create schedules for their staff by hand, spending hours trying to optimally assign workers to various wards at different times of the day. Numerous factors must be considered in this process such as the satisfaction level of the patients, the quality of life for the staff, and resource efficiency. If staff members are given fair schedules that include a desirable amount of hours along with proper breaks, they will be content. Even better, if they are regularly granted their time off requests, their satisfaction level will be greatly increased. A satisfied staff leads to lower staff turnover, thus saving extensive amounts of money on training new staff members. Resources can also be better allocated elsewhere because the workers who usually would be spending hours creating schedules each week could be freed up to perform other tasks once the schedule building is automated [1]. Aware of the many benefits of automating the nurse roster scheduling problem, Edmund Kieran Burke, Patrick De Causmaecker, and Greet Vanden Berghe set out to create a software model that could solve the problem for Belgian hospitals. Called the Advanced Nurse Rostering Model, or Anrom, their software model has currently been implemented in over 40 Belgian hospitals. Anrom allows each hospital to customize their software according to their individual needs. Before describing the algorithm in greater detail, it is important to discuss the problem dimensions of nurse rostering. Each hospital is made up of a number of wards, and employees generally work within the same ward. Workers belong to skill categories, meaning each worker is authorized to

perform certain tasks but not others. Some workers can work within multiple skill categories, but most do not [1]. Belgian hospitals do not utilize cyclical schedules, meaning that each worker s schedule is different each planning period. A planning period refers to a length of time in which new schedules are deployed, and each hospital may have different planning period lengths. One hospital may introduce new staff schedules every two weeks, while others may have planning periods ranging from a few days to a couple of months. Generally, short planning periods allow the algorithm to find high quality schedules in a short amount of time, as the search space is much smaller. However, there are benefits to not introducing new schedules too often, one of which is to grant workers a more stable private life with less frequent schedule fluctuations [1]. While scheduling staff members to shifts in their assigned wards, two lists of constraints must be met for the schedule to be approved. The first is a list of hard constraints which must be satisfied no matter what. One hard constraint is that all shifts must be assigned, since full staffing is important in a hospital. A shift includes a time, location, and list of responsibilities, so in wards where several workers are required to be present at the same time performing similar tasks, there will be several shifts of the same type to assign. For this reason, a second hard constraint is that no one worker may take on two of that same shift type on the same day. A third hard constraint is that workers may not be given shifts whose skill type is above their training level. When a schedule meets all hard constraints, it is considered feasible. What this means is that it is physically possible for the staff members to perform the tasks assigned to them in the

schedule, but it may or may not be optimal. The soft constraints are those that work to make the schedule optimal [1]. The list of soft constraints is much longer than that of the hard constraints, as well as more flexible. The Anrom algorithm attempts to meet the soft constraints as much as it can, but some violations are inevitable. Since soft constraint violations are unavoidable, the schedule with the least amount of them is considered the most optimal one. Each ward may have a different list of soft constraints, so the model allows for their customization. One example of a soft constraint is the rule that each worker should have a minimum amount of time off between shifts. Another example is that each worker should not exceed a certain number of hours within a single planning period. Yet another might be that as many workers receive their requested time off as possible [1]. As Anrom is a rather complicated model, a brief overview must come before a more in depth description. Before running the algorithm, the user must decide on a base schedule from which to start; either one from a previous planning period or a blank one. Afterwards, the user selects which soft constraints to use and how much coverage is required. The coverage requirements indicate how many workers are needed in each location and shift type. Once everything is initialized, the algorithm makes minor changes to the overall schedule using various meta heuristics. The new schedule is then tested against the hard constraints and soft constraints and receives a score indicating how many violations it contains. If the score is lower than the score of the previous schedule, the new version is kept. The next iteration of the algorithm will begin with the newly updated schedule and make more minor changes to see if more

improvements are made. This continues for a set amount of iterations and the best schedule constructed is used at that point. While the algorithm does not guarantee an optimal solution, its solution is usually close enough to optimal [1]. The following paragraphs will each detail one section of the diagram, which is a detailed description of Anrom, beginning with the consistency check. In the consistency check, the hard constraints the user has selected are checked first. In the event that the hard constraints are so strict that it would be impossible to create a schedule given the amount of shifts, number of workers available, and soft constraints, the schedule is deemed infeasible. In this case, the user has two options. The first is to accept that it s infeasible; the user decides to allow for less workers in each of the wards or for overqualified workers to take shifts below their skill category. This is a rare and not recommended solution. The second option is repair, in which the user relaxes some of the soft constraints until the schedule can be made feasible. A feasible schedule isn t necessarily a good one, but rather one that is physically possible [1]. Once the consistency check is finished, the next step is freezing, in which the

user can freeze any portion of the overall schedule so it will not be altered by the algorithm. The first reason the user may want to do this is to create certain individual nurse schedules manually. It s possible that in one planning period a nurse can only work on specific days and so it would be easier to simply plan that nurse s schedule first. In another situation, a nurse may be temporarily assigned to another ward, so there is no reason to attempt to assign shifts in the current ward to that nurse. Freezing that nurse s schedule will guarantee the algorithm ignores him or her while creating the master schedule for every other nurse at the ward. Finally, perhaps the most common reason is in the case of urgent rescheduling, such as worker illness or emergency extra staff requirements. If one or two workers call in sick, only a small portion of the schedule needs to be modified, so the rest of it can be frozen so only a few changes are made [1]. In the initialization portion of the algorithm, the user selects which schedule to begin with. The beginning schedule could be a previous schedule, the current one in the case of emergency re scheduling due to illness or influx of patients, or an empty one. Most often it is preferable to start with a previous schedule rather than an empty one, since while nurse and patient needs fluctuate from week to week, they are still relatively constant, so previous schedules usually require very few modifications to be made acceptable. Once the base schedule is selected, meta heuristics are performed on it to attempt to create a better one. Many different meta heuristics have been designed to be used as plug ins to Anrom, several of which will be described in greater detail shortly. Each skill category schedule is created separately to limit the search space. In other

words, the head nurses have their schedules created first, then the assistant head nurses, and so forth [1]. The goal of each meta heuristic is to take a feasible schedule and attempt to make it better meet the soft constraints [1]. Recall that a feasible schedule is one that satisfies all hard constraints but has no ranking relating to how well it meets the soft constraints. Each potential schedule created by the meta heuristics is given a score, with the lower score being better. The points given to a schedule indicate how many soft constraint violations the schedule has, and some soft constraints can be given more weight so that the score increases more rapidly if important ones are violated. The simplest ones meta heuristics used for Anrom are the variable neighborhood search, of which there are three types, and the hybrid tabu search [1]. The first form of variable neighborhood search is the single shift day neighborhood. The way this algorithm works is to look at the current schedule and move one shift from one worker to another. A score is then calculated and saved for the new schedule that is created by this action. Then, the original schedule is modified again, moving a different task to a different worker, and a score is calculated again. This is performed for every task and worker, and then the schedule with the best score improvement is selected. The algorithm then performs a new iteration on that schedule, and this continues for a pre determined number of iterations. The diagram shows which types of moves would be made in a single shift day neighborhood

search [2]. Although arrows are shown indicating how the shifts would be adjusted, recall that each potential schedule only contains one of these adjustments. Also note that Nurse A has had extra training, and is able to perform the duties of the head nurse. Nurses B and C have had no such training, so they can only perform the duties of each other and Nurse A. The Head Nurse would never be assigned tasks from the other nurses as it would be better for a different lower level worker to come in and fill those shifts [2]. The second form of variable neighborhood search is a soft constraint related neighborhood [2]. This type of search is utilized when the user is much more concerned about meeting the requirements of certain soft constraints over others. In most ways this search is the same as the single shift day neighborhood, but instead of creating a score for each potential schedule based on the overall constraint criteria, the score is instead calculated based on a selected number of the soft constraints. In this way, schedules that meet the chosen soft constraints better could be picked over those that better match all constraints overall [2]. The third and final type of variable neighborhood search is the greedy shuffle. This type of neighborhood search differs greatly from the other two in that large portions of each worker s schedule are swapped at a time rather than swapping one task at a time. The shuffle looks at workers with less optimal schedules and removes the entire negative section from their schedule, sometimes several days worth of shifts, and swaps it with a worker with a more optimal schedule. In other words, workers with horrible schedules have their worst parts removed and workers with great schedules

have their optimal portions removed and traded. In this way, greedy shuffle attempts to better equalize the score of each individual schedule as well as the overall schedule. The greedy shuffle almost always produces results that are better than those of the other two neighborhood searches, but the computation time is much longer. Therefore, the tradeoff a user must decide on is whether to create a schedule quickly and efficiently or to create a schedule that is guaranteed to be better [2]. While a neighborhood search usually creates an acceptable schedule, it s usually not close to optimal [2]. The search can frequently get caught in what is referred to as a local minimum, ending on a score that appears to be optimal when in reality it s only the best score compared to its direct neighbors. The diagram better illustrates this concept. S0 is the starting point, or the base schedule. After performing the first round of variable neighborhood shift swaps, it is determined that S1 is the next best schedule that is one shift move away from S0. After the second iteration the schedule S2 is chosen, and then S3 on the subsequent one. This is where the algorithm reaches a local minimum and stops [4]. Every schedule that is one shift move away from the current schedule receives a worse score than S3, so S3 is the selected schedule. This is a problem, however, because it is not the optimal schedule overall; rather, the global minimum is optimal. Imagine if, after reaching S1, even though the algorithm chooses to go to S2, the only way to reach the global minimum would be to go

to a different, less optimal schedule than S2. Because variable neighborhood search is a steepest descent algorithm, it might take a seemingly better path in lieu of a slower descending but ultimately much better path. This problem is solved by implementing a tabu search [3]. Tabu search is designed to avoid local minimums. It begins in the same manner as the variable neighborhood search in that it creates all possible schedules by shifting each task one at a time to different workers. Then, it selects the best schedule from the list of created schedules, even if it is worse than the current one, which is the first difference with tabu. Once a schedule is selected in this way, it is added to a list of tabu schedules, indicating that it should never be returned to. The algorithm runs a predetermined number of iterations, and then the best schedule reached in the process is selected. As can be seen in the diagram, when the local minimum is reached, it is added to the tabu list. On the next iteration of the algorithm, the schedule to the right is selected, even though it is worse than the local minimum schedule. On the iteration after that, the local minimum is not returned to because it is tabu, and rather the search continues moving to the right. In this way, the peak is overcome and the search is allowed to eventually continue moving to the right to find the global minimum [4]. While the writers of Anrom determined that Tabu search yielded decent results, they were still not happy [1]. They designed a hybrid version of tabu which is displayed

in the following diagram [3]. The goal was to create an algorithm that would mimic what a human would do while adjusting schedules. When beginning the algorithm, the user chooses between TS1 and TS2, depending upon how quickly they need a solution [3]. TS1 contains two extra steps after a regular tabu search that further diversify the created schedules. The first step is called complete weekends, in which a tabu search is run with only the complete weekends soft constraint set. This constraint requires workers to either work on both Saturday and Sunday, or neither. Once a schedule is created that meets this requirement, it can be run through the regular tabu search again. The designers found that this was a good constraint to try to meet first, because human users usually try to meet it first while making schedules by hand. A second diversification that can be run is the solve worst possible schedule diversification. In this step, the algorithm takes a large section out of the worker with the worst schedule out of all workers and swaps it with another worker. Then, the original tabu is run again [3]. If the user selected TS2, the steps for TS1 are run as well, but once an acceptable schedule is calculated, a greedy swap is performed on the entire thing to try to further improve it. Recall that the greedy swap is quite slow, especially when

performed on every worker. Thus, TS2 is much slower than TS1, but also yields much better results. Tests have shown that TS2 comes up with schedules that are optimal or very close to it [1]. As the following chart shows, TS2 produces the best results of all algorithms discussed [1]. It also takes over 20 minutes to run, so if a schedule is needed quickly, it is preferable to select TS1 instead. However, if a decent amount of time is available before the schedule is needed, TS2 is the absolute best algorithm to run. The value field indicates how many soft constraint violations there are, so a lower value is better. Steepest descent is a different name given to the variable neighborhood search algorithm [1]. The Anrom team has shown that software solutions to the hospital scheduling problem are promising. Workers and patients at hospitals using the system seem to be happier and significantly less time is spent on creating schedules [1]. One of the future goals of the team is to deploy the software into more hospitals as it is currently only used in a relatively small number of hospitals. Another goal is to make the process of ranking soft constraints easier for the hospital workers. When initializing the system, it is often difficult for the users to determine how important each soft constraint should be, which in turn hurts the algorithm s effectiveness. If the process could be made simpler

and more self explanatory, it would greatly benefit future users of Anrom. Finally, a future possibility is making Anrom available for other industries. While some of the constraints would differ based on which type of industry the system would be used in, most of the key features would essentially be the same [1].

Sources: [1] E.K. Burke, P. De Causmaecker, G. Vanden Berghe: Novel Meta heuristic Approaches to Nurse Rostering Problems in Belgian Hospitals, Information Technology Gebroeders Desmetstraat 1, Belgium, 1 26 [2] N. Mladenovic, P. Hansen: Variable Neighborhood Search, Computers & Operations Research, Vol. 24, 1997, 1097 1100 [3] E.K. Burke, P. De Causmaecker, G. Vanden Berghe: A Hybrid Tabu Search Algorithm for the Nurse Rostering Problem, B. McKay et al. (Eds.): Simulated Evolution and Learning, 1998, Lecture Notes in Artificial Intelligence, Vol. 1585, Springer, 1999, 187 194 [4] Simha, Rahul. "The Traveling Salesman Problem (TSP)." Extreme Algorithms. Web. 07 June 2015.