Integrated planning and scheduling in operational

0 downloads 0 Views 61MB Size Report
Jul 29, 2015 - The general model of Paper III is also applicable to the scheduling of other ..... represent scheduling considerations in a manual planning situation, they are still ...... They review various methods that have been successfully applied to ...... The normalisation factors NW , NO and NC are set so that each ...
Integrated planning and scheduling in operational patient management Atle Riise 2015

                        ‹$WOH5LLVH  Series of dissertations submitted to the Faculty of Mathematics and Natural Sciences, University of Oslo No. 1697 ,661   $OOULJKWVUHVHUYHG1RSDUWRIWKLVSXEOLFDWLRQPD\EH UHSURGXFHGRUWUDQVPLWWHGLQDQ\IRUPRUE\DQ\PHDQVZLWKRXWSHUPLVVLRQ         &RYHU+DQQH%DDGVJDDUG8WLJDUG 3ULQWSURGXFWLRQ-RKQ*ULHJ$6%HUJHQ  3URGXFHGLQFRRSHUDWLRQZLWK$NDGHPLND3XEOLVKLQJ 7KHWKHVLVLVSURGXFHGE\$NDGHPLND3XEOLVKLQJPHUHO\LQFRQQHFWLRQZLWKWKH WKHVLVGHIHQFH.LQGO\GLUHFWDOOLQTXLULHVUHJDUGLQJWKHWKHVLVWRWKHFRS\ULJKW KROGHURUWKHXQLWZKLFKJUDQWVWKHGRFWRUDWH

Abstract This thesis addresses a class of particularly challenging real world optimisation problems that occur in operational patient management in hospitals. These problems are found in surgery scheduling, as well as in scheduling for various nonsurgical treatment or diagnostic services. As a class, these problems can be identified by the following properties: They concern the scheduling of a (potentially large) set of patients, where one or several activities must be scheduled for each patient. A set of resources is required for each activity, and there are many alternative such sets to choose from (the problems are multi-modal). Furthermore, the problems involve both planning and scheduling decisions; both a day and an exact start time must also be chosen for each activity. These problems are subject to resource capacity constraints and a variety of time constraints, often including both minimum and maximum time lags, as well as time windows. Common objective functions involve both the quality of treatment and an efficient use of hospital resources. In general, these problems have a high computational complexity, and in many cases even simpler subproblems have been shown to be NP-hard. In this thesis we show that a majority of these real world problems can be modelled in a unified way, without artificial simplification, and that structurally different problem instances can be solved efficiently based on such a model. We develop several efficient search methods, both heuristic and exact, and test these on real world problem instances. We also investigate the potential of ‘same program multiple data’ parallelisation for use in algorithms for our chosen problem class. The scientific contribution of this thesis is presented through five papers. Three of these were published in (or submitted to) ‘Level 2’ journals1 . 1

Norwegian classification of journals; Level 2 is the top level.

iii

In Paper I, we consider inpatient surgery admission planning. The paper employs a meta-heuristic algorithm, based on iterated local search and variable neighbourhood descent, and demonstrates its effectiveness on realistic problems instances from a Norwegian hospital. The paper also presents a search space analysis for different neighbourhood operators and fitness surfaces, and offer conclusions on their suitability for local search algorithms. The problem involves integrated planning and scheduling on a planning horizon of three weeks. The paper was published in the Journal of Heuristics. For Paper II, we investigated the potential of utilising massively parallel computation hardware for solving permutation-like optimisation problems. At the time, hardware for ’same program multiple data’ parallelisation, like the General Purpose Graphical Processing Unit (GPGPU), had been applied to many scientific computation tasks. There were, however, very few applications for local search methods, and we wanted to investigate how this emerging technology can enable novel ways to design such methods. The paper shows how massively parallel neighbourhood evaluation can facilitate the simultaneous application of many independent improving moves. This gives considerable improvements in performance, in addition to the one achieved from the parallel evaluation in itself. Paper II was published in the Journal of the Operational Research Society. In Paper III, we present a generic model for the ’generalised surgery scheduling problem’, expressed as an extension of the multi-mode resource constrained project scheduling problem with minimum and maximum time lags. We show that this model covers many of the problem variations that are addressed in the literature. The paper also presents an algorithmic framework for iterative schedule construction and improvement, based on sampling and modification of the project insertion order, respectively. The methods use a sequential schedule generation scheme that is modified to handle the rich set of model constraints. The model can be applied without modification to surgery scheduling problems that arise in three very different planning situations. Our numerical experiments show, based on realistic data from a Norwegian hospital, that the presented method provides high quality solutions for these problems, in a short time. Paper III was accepted for publication in Computers & Operations Research in July 2015. The general model of Paper III is also applicable to the scheduling of other kinds of treatment, examination, or control activities. Indeed, Paper IV applies iv

the same underlying model to another real world application; multi-mode appointment scheduling in outpatient clinics. In this paper, we exploit the multi-period nature that is typical for this class of problems. We show how one may construct a three-level version of logic based Benders decomposition to solve large, real world problem instances to optimality in a very short time. Paper IV was submitted to the European Journal of Operational Research in August, 2015. Finally, Paper V gives an introduction to some topics in hospital resource management and patient scheduling. It was published as a chapter in the Handbook of Healthcare Delivery Systems.

v

Preface This thesis is submitted in partial fulfilment of the requirements for the degree of Philosophiae Doctor (PhD), at the Faculty of Mathematics and Natural Sciences, at the University of Oslo. The work has been carried out in association with two research projects, both sponsored by the Research Council of Norway. The first, ‘Optimisation methods in health care planning software’ (HOSPITAL), had surgery scheduling as one of its main topics. This project was initiated by the candidate, together with colleague Martin Stølevik, and included collaboration with Bærum hospital, and the software vendors DIPS and Gatsoft. DIPS is a market leader in Norway in activity planning software for hospitals. The second project, ‘Tools for unified activity planning and scheduling in hospitals’ (AKTIV), has a broader scope. It considers not only surgery, but also other kinds of treatment and diagnostic services. This project was also initiated by the candidate. The project involves a close collaboration with the hospitals Drammen hospital and the University Hospital of Northern Norway, as well as with DIPS. The collaboration in these projects has provided application knowledge and insight into the optimisation problems that we address in this thesis. The hospitals have also provided the data that we have used in our experiments. For the duration of this thesis, the candidate has been employed by SINTEF ICT, at the Department of Applied Mathematics.

Thesis structure This thesis consists of two parts. Part I provides an introduction, and gives an overview of our contribution: In Chapter 1 we introduce the problem domain, and the main research challenges. A more detailed description of the class of optimisation problems that we consider is given in Chapter 2. Chapter 3 provides vii

an introduction to common applications, and an overview of related work. The scientific contributions are summarised in Chapter 4, with a discussion of each paper. Finally, we conclude in Chapter 5, and discuss some interesting directions for further research. Part II contains the scientific papers.

Acknowledgements As the work with this thesis has taken some time, many people have been involved in the process. I would like to thank my main supervisor, Professor Edmund K. Burke for offering to take me on, and for his insights and contributions throughout these years. I would also like to thank Professor Carlo Mannino, who entered the roles of co-supervisor, colleague, and friend in the latter part of the process. I have learned a lot from our discussions, and hope to continue to do so. A big thanks also to my colleagues in the Department of Applied Mathematics, and especially the good people of the Optimisation group, for maintaining such a friendly and constructive working environment. A special thanks to Oddvar Kloster and Leonardo Lamorgese, with whom I’ve worked closely in the AKTIV project and had many interesting discussions. Also thanks to Geir Hasle, who employed me at SINTEF all those years ago, and whose input has always been appreciated. Also, I would like to thank my friends for being just that; I’m looking forward to more frequent interactions. Special thanks to Kristin and Arild, who beat me to it. They have been offering encouragement as well as practical help throughout. Finally, I would like to thank my family. Most of all, my wonderful girlfriend and cohabitant Kristin, whose patience and loving support has been indispensable to me. I deeply value our relationship. That post-thesis life starts now! Also, thanks to my daughter, Tanvi. A child when all this began, she has always been a wonderful person and a joy in my life. And to Rufus the dog, for all those long days at the office. Any and all mistakes in this thesis are his.

viii

Contents Abstract

iii

Preface

vii

Part I

Background

1 Introduction

3

2 Scope and problem description

7

2.1 The activity planning and scheduling problem . . . . . . . . . . 2.2 Modelling. . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Uncertainty . . . . . . . . . . . . . . . . . . . . . . . .

7 10 15

3 Applications and related work

17

3.1 Search methods . . . . . . . . 3.2 Surgery scheduling . . . . . . . 3.3 Scheduling of non-surgical activities 3.4 Project scheduling . . . . . . . 3.5 Parallelisation . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

18 20 26 34 38

4 Contribution

41

Paper I: Local search for the surgery admission planning problem . . . Paper II: On parallel local search for permutations . . . . . . . . . .

42 44

ix

Paper III: Modelling and solving generalised operational surgery scheduling problems. . . . . . . . . . . . . . . . . . . . . . . .

47

Paper IV: Recursive logic-based Benders’ decomposition for multi-mode outpatient scheduling . . . . . . . . . . . . . . . . . . . .

50

Paper V: Scheduling and sequencing . . . . . . . . . . . . . . .

53

5 Summary and outlook

55

Part II

Scientific Results

Paper I: Local search for the surgery admission planning problem

77

1

Introduction . . . . . . . . . . . . . . . . . . . . . . . .

78

2

Problem definition . . . . . . . . . . . . . . . . . . . . .

84

3

Algorithm. . . . . . . . . . . . . . . . . . . . . . . . .

90

4

Test data . . . . . . . . . . . . . . . . . . . . . . . . .

92

5

Search space analysis . . . . . . . . . . . . . . . . . . . .

94

6

Results . . . . . . . . . . . . . . . . . . . . . . . . . .

103

7

Conclusions and future work . . . . . . . . . . . . . . . . .

106

Paper II: On parallel local search for permutations

115

1

Introduction . . . . . . . . . . . . . . . . . . . . . . . .

116

2

The local search framework. . . . . . . . . . . . . . . . . .

119

3

Restart and combination of solutions . . . . . . . . . . . . . .

123

4

Parallel move evaluation . . . . . . . . . . . . . . . . . . .

124

5

Parallel search . . . . . . . . . . . . . . . . . . . . . . .

125

6

Experimental results. . . . . . . . . . . . . . . . . . . . .

129

7

Conclusions . . . . . . . . . . . . . . . . . . . . . . . .

135

x

Paper III: Modelling and solving generalised operational surgery scheduling problems 139 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 141 2 Problem description . . . . . . . . . . . . . . . . . . . . . 145 3 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 155 4 Experiments . . . . . . . . . . . . . . . . . . . . . . . . 162 5 Conclusions and future work . . . . . . . . . . . . . . . . . 166 Paper IV: Recursive logic-based Benders’ decomposition for multi-mode outpatient scheduling 175 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 177 2 Problem definition . . . . . . . . . . . . . . . . . . . . . 182 3 Recursive Benders’ decomposition . . . . . . . . . . . . . . . 184 4 Case study . . . . . . . . . . . . . . . . . . . . . . . . 191 5 Experiments . . . . . . . . . . . . . . . . . . . . . . . . 195 6 Conclusions and future work . . . . . . . . . . . . . . . . . 198 Paper V: Scheduling and sequencing 1 Introduction . . . . . . . . . . 2 Nurse rostering. . . . . . . . . 3 Surgery scheduling . . . . . . . 4 Summary . . . . . . . . . . .

xi

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

205 206 207 217 224

Part I Background

Chapter 1 Introduction Hospitals are under pressure to provide high quality care within limited budgets. At the same time, national health care expenditures are increasing, world wide [109]. Hospitals are therefore looking for ways to reduce cost, and one way of doing this without reducing the quality of care is through better use of critical and expensive resources. Hospital resource management and patient scheduling are topics that have been much studied in the scientific field of operations research [44, 83, 124, 46, 33]. These topics contain optimisation problems on different time scales and levels of detail, often categorised as strategic, tactical, or operational [15, 26, 42, 104, 67, 83, 54]. On the tactical level one finds decision problems related to patient mix and overall dimensioning of resources, usually on a long time horizon (year). Based on such overall decisions, the tactical decision level is concerned with the allocation of resources to different specialities1 , resulting for example in a master surgery schedule for operating rooms [16, 134, 47, 99]. These tactical resource allocations in turn impose constraints on the operational daily planning and scheduling of treatment activities. It is this last class of operational problems that we consider in this thesis. It is critical for the overall performance of a hospital that such problems are solved efficiently [57, 26, 70]. Some of these problems, such as surgery scheduling, have received a lot of attention in the operations research literature. Still, however, real 1 Each hospitals is organised in a different way. Here, and in the following, we use the term ‘speciality’ to denote an organisational unit that specialises in a certain branch of medicine or surgery (such as for example a ‘Department of orthopaedic surgery’). Each speciality is typically responsible for the treatment of a certain group of patients.

3

world applications continue to raise hard research challenges. Also, the situation remains that most hospitals do their scheduling manually, or with software tools that do not take advantage of these research results. This gap between academic research and actual application is to a large extent a result of the complexity of hospital operations, and the diversity of planning situations and problem definitions that can be found in hospitals. This diversity is reflected in the literature, which covers a large variety of such planning and scheduling problems. In addition, there is often a certain degree of simplification of the problem at hand, which reduces the applicability of the research results to real world applications. These are some of the reasons why advanced production scheduling tools are less common in hospitals than in, say, the production industry. There is, therefore, still a significant benefit to be achieved if this gap can be bridged, both in terms of economics and in terms of general quality of care in hospitals. The work in this thesis is motivated by the recognition of several factors: 1. There is a a need for richer, more realistic, modelling of real world activity planning and scheduling problems [67]. If research in this field is to support software applications for activity planning and scheduling, such a model has to be general enough to express most problems, without excessive customisation for each application. 2. These problems are typically of a high computational complexity - several have been shown to be NP-hard (see [59] for an introduction to complexity theory). Since most real world instances are also quite large, they are challenging to solve to a sufficient quality within a reasonable time limit. This has led to a number of problem simplifications, both in actual hospital management and in the research literature. Solving realistic models for these problems, without making such simplifications, therefore poses a considerable research challenge. 3. One simplification that is frequently used in the literature is to consider planning and scheduling as two separate, consecutive, steps. We use the term planning here to imply a choice of day, and a choice of resources, for each activity. By scheduling we mean a choice of activity start times2,3 . 2 3

This, of course, also implies a sequencing of activities on each resource, for each day. Note that we still use the term ‘surgery scheduling’ as a name for a class of problems. In

4

This two-step approach of planning and scheduling is usually motivated by the need to reduce computational complexity, but has been shown to give inferior solutions. It is therefore important to integrate planning and scheduling decisions, and this is a key aspect of the presented work. We will elaborate on this in Section 2.1. We choose to address a general, but challenging, class of real world activity planning and scheduling problems, in which planning and scheduling decisions are integrated, and multiple alternative resources must be chosen for each activity. This thesis aims to answer the research questions: • How can this class of rich and computationally complex problems be modelled realistically, in a generic way? • How can one design search methods that can find high quality solutions to realistic problem instances from different planning situations, within a time limit that is acceptable in the practical planning situation? We aim to answer these questions through a series of research papers, and through the discussion in this introductory part of the thesis. As will become apparent, our aim has been to find the right methods to solve actual, real world problems, rather than to adapt each problem to fit a certain type of method.

that context, the word ‘scheduling’ does not refer only to a choice of start times; indeed, surgery scheduling problems often contain planning decisions. With this in mind, however, it should be clear from the context what the meaning is in each case.

5

Chapter 2 Scope and problem description 2.1

The activity planning and scheduling problem

Operational activity planning and scheduling in hospitals include a vast range of optimisation problems. These are found in many different planning situations, with different characteristics in terms of the number patients, the number of activities per patient, the number of resources and the length of the planning horizon. For example, a short term surgery scheduling problem may consider several activities per patient (including the surgery itself), and many resources (preparation rooms, operating rooms, surgeons, anaesthesiologists, nurses, an intensive care unit, mobile equipment, cleaning staff, and so on). On the other hand, a long term scheduling of elective outpatients1 for a gastroenterology clinic may consider very many patients and several types of reFigure 1: APSP applications. sources (for example doctors, rooms and equipment), but perhaps only one 1 An outpatient is a patient that shows up for an appointment, and then leaves the hospital on the same day, without being admitted. Inpatients are patients that are admitted to the hospital, for example on the day before their surgery.

7

activity per patient. In this thesis, we consider real world problems that involve many treatment activities, and where a day, a start time and a set of resources have to be chosen for each activity. In the following discussion, we will refer to such problems collectively and generically as the activity planning and scheduling problem (APSP). Such problems are ubiquitous in hospitals, and include surgery scheduling on different time scales, as well as scheduling of non-surgical treatment and diagnostic activities (see Figure 1). We will define this class of problems in more detail in Section 2.2. As an introduction, however, it can be characterised by the following properties: • Many patients are to be scheduled, and for each patient there may be one or several treatment activities, often with time windows and time related preferences. There may also be time constraint between the activities in each project. • Each activity requires one or several resources, and there are several possible combinations of resources that can perform the activity. One such combination, (a mode), must be chosen for the activity. The activity duration often depends on the mode, because it depends on the experience or capabilities of the mode’s resources. • Most resources are renewable, and may have a setup time. In general, the APSP may also contain non-renewable resources, but we have so far not encountered a problem where non-renewable resources are critical. • Resources are available only part of the time. The availability is often governed by a combination of factors, such as tactical resource allocations, working hours, lunch breaks, scheduled meetings, etc. For most problems that we consider, the availability of all resources can be partitioned into disjoint time intervals, often one per day. This multi-interval structure is an important property of these problems. • There may be compatibility constraints between activities and resources, based on skills, and even between resources that cannot be used together. • There may be constraints or preferences to use the same resources across several activities for the same patient. 8

• Both planning and scheduling decisions are included, which means that in addition to the choice of resources, both a day, and a precise start time must be chosen for each activity. The last point deserves some elaboration. In the literature, surgery scheduling that cover more than one day is often considered as a two-step process [56, 57]. The first step considers planning decisions, while the second step concerns scheduling, based on the planning step solution. In the planning step, a day of surgery, and possibly an operating room, is chosen for each patient on the waiting list. This is often called admission planning, but is also known as advance scheduling [98, 114], operating theatre planning [68, 30] or surgery loading[72]. The scheduling step of this approach, sometimes called allocation scheduling [98], is to create a schedule for each day. This may happen at a much later point, closer to the day of surgery, and typically involve more activities for each patient, and more resources. The advantage of this two-step approach is that it reduces the problem complexity, even if both steps are still, at least in their general versions, NP-hard [72, 25]. The drawback of the two-step approach, however, is that the assignments from the planning step may not permit a reasonably good, or even a feasible, schedule to be found in the scheduling step. This is, of course, because the scheduling is bound by the previous planning decisions, which was made without consideration of the scheduling step’s constraints and objectives. For example, as pointed out by Cardoen et al [24], the quality of the surgery sequence that can be achieved in the second, detailed, surgery scheduling step is highly dependent on the assignment to days and rooms that was made in the admission planning step. Similar observations are made in [22]. The same two-step approach to planning and scheduling have also been used in other application areas, for the same reasons, and with the same inherent problems. See, for example, [100] for a discussion of integrated production planning and scheduling in manufacturing. They show that the inclusion of the scheduling problem is necessary to give good enough information about feasibility and costs at the time of planning, especially when production systems are operating at near full capacity. These observations are also consistent with our experience from Norwegian hospitals. While at first glance it seems that many hospital in practice follow the 9

two-step approach, this is not completely true. For example, even if the admission plan only contains a choice of day for each patient, the admission planner actually considers sequencing and scheduling preferences to ensure that this assignment will give good day schedules at some later point. This is often done indirectly, based on experience or some agreed rules of thumb. One example is a time-of-day preference to schedule certain patients, such as children or patients with diabetes, early in the morning. Rather than formally including this scheduling preference in the problem, the planner may use a rule of thumb that limits the number of children to plan per day. However, while these rules of thumb to a certain degree represent scheduling considerations in a manual planning situation, they are still only approximations of the actual scheduling preferences and constraints. The resulting plans will therefore often be suboptimal, or even infeasible. When we model real world surgery planning and scheduling problems, we therefore do well to replace these rules of thumb with the actual time and resource considerations, and to solve the actual combined planning and scheduling problem. Motivated by these realities of the application, we take the view that APSPs are best solved by integrating the planning and scheduling decisions, for both short and long term problems. In conjunction with multiple modes and general time constraints, this makes the APSP very hard to solve. Solving these difficult problems efficiently is the main focus of this thesis.

2.2

Modelling

We believe that the diversity of real world APSPs is best handled by establishing a generalised model. Like some other authors [120, 127, 128], we find it useful to formulate such a model based on a well-known problem definition. In Paper III, we present such a general model that extends the multi-mode resource constrained multi-project scheduling problem with minimum and maximum time lags, which in turn extends the classical resource constrained project scheduling problem (RCPSP). Based on the taxonomy of Cardoen et al [26], Paper III shows that this model covers most of the relevant aspects found in surgery scheduling for elective patients. While originally formulated for surgery scheduling, the model also applies to other APSPs. An exact mathematical model can be found in [126]. In this section we provide a shorter, less formal, definition of the APSP. First, we have to introduce the basic RCPSP and some of its common exten10

sions. The RCPSP concerns the scheduling of the activities  p of a single project p. Each activity demands a certain amount of each of a set of renewable resources , and each resource has a limited, constant, capacity. Preemption is not allowed. Precedence constraints (minimum time lags of size zero) can be defined between individual pairs of activities. The problem may be modelled as a directed activityon-node project graph, where an artificial start node represents the start of the project, and another artificial end node represents the completion of the project. Each precedence constraint can be expressed as an arc in this graph, from the predecessor to the successor. The objective is to minimize the project makespan (the total duration of the project), which is bounded from below by the longest path in the project graph, from the start node to the end node. Several text books offer introductions to the RCPSP; see for example [2] or [107]. In the classification notation of Brucker et al [21], the RCPSP is labelled P S | p r e c| C ma x. Even in this basic form, the RCPSP can be shown to be NP-hard [17]. As a generalisation of this problem, the APSP is also NP-hard. A number of generalisations and extensions to the RCPSP have been studied over the years; see [76] for a recent survey of these. We shall present three of these extensions: the multi-project extension, the multi-mode extension, and the extension with generalised precedence constraints. In the multi-project RCPSP, a set of projects  are to be scheduled. Each project can be represented with its own project graph, as there are no precedence constraints between activities in different projects. All projects share the same pool of resources,  [122]. The multi-mode extension requires that a set of resources is chosen for each activity. This is modelled using the concept of modes: For each activity i, a set of feasible modes  i are defined out of which exactly one must be selected. Each mode defines a set of resources  m ⊆  that together can perform the m activity, and a demand μ m r for each r ∈  . Each mode also defines an associated activity duration [52]. This extension is the multi-mode resource constraint project scheduling problem (MRCPSP). In the three field notation of [21], the problem is labelled M P S | p r e c| C max. The third extension comes from replacing the precedence constraints with more general minimum and maximum time lags between the activities in a project. These constraints can be expressed as arcs with non-negative and non-positive weights, respectfully, in the project graph. This problem is called the RCPSP with 11

minimum and maximum time lags (RCPSP/Max), or the RCPSP with generalised precedence relations (RCPSP-GPR). In the three field notation of [21], the problem is labelled P S |t e m p| C max. Taking the above extensions together, one has the multi-mode resource constrained multi-project scheduling problem with minimum and maximum time lags (MRCMPSP/Max in the following). The APSP is similar to this problem, but it also has some additional constraints, as will be explained below. The problem defines a set of projects  , where each project represents the treatment of one patient. There may be time windows, both for projects and individual activities, that constrains their earliest start and latest completion. As for many other real world scheduling problems, there may be instances where not all projects can be feasibly scheduled. It is therefore necessary to choose a subset of projects, ˜ ⊆  , to schedule. This means that there is always at least one feasible solution to the APSP, where ˜ = . The penalty for not scheduling a patient is a component of the objective function, with individual weights for each patient depending on the urgency of their treatment. The set of feasible modes for each activity depends on resource skills and other resource/activity (or resource/resource) compatibility constraints that may apply. Skills are typically linked to the ability to perform a certain medical procedure, or to use a certain type of equipment. For each resource, a set of non-overlapping time intervals are defined, in which the resource is available with a certain capacity. These resource availability intervals can be made exclusive for certain patients, to model that certain blocks of resource time have been reserved for individual surgeons, or for certain specialities. The APSP also contains some constraints that we believe are not previously studied in the literature. One of these are general mode consistency constraints, which links the choices of modes for activities in the same project. This is used to model, for example, that if a certain operating room is used in the preparation of a patient, that same operating room should be used for the actual surgery, as well as in the following room cleaning activity. This is a generalisation of the same mode constraints in [50]. Another new extension is the project disjunction constraint, which expresses the fact that a resource, say an operating room, can only be used for one project at the time. This comes from the fact that as long as all activities for one patient are not completed in the operating room, no activity concerning another patients can happen in the same room (even if there is time and capacity 12

available on the resource). Let us illustrate the various concepts and constraints of the APSP by a simplified example. Consider a problem where  = {a, b }, where the resources a and   b have availability intervals a = {k1a , k2a } and b = k1b , respectively. Let k1a span the time interval [4, 12], which falls on day 1 of the planning period. On day 2, k2a spans [16, 22] and k1b spans [13, 19]. All the resource availability intervals have capacity 1. Let = { p1 , p2 , p3 , p4 }, where each project p ∈  has two activities,  p = i p , j p , with minimum and maximum time lags as illustrated to the left in Figure 2. Both activities have two modes, one that uses resource a and one that uses resource b . Both activities have duration 2 in both modes, and all resource demands are 1. Mode consistency constraints require both activities to use the same resource. There are also project disjunction constraints for both resources.

Figure 2: To the left, the project graph structure that is common to all projects in the example. j has to start at least 2, and at most 3, time units after the end of i . To the right, the schedule resulting from the insertion order { p1 , p4 , p3 , p2 }. For this schedule, ˜ = { p1 , p3 , p4 }.

Now, assume that we try to build a schedule by inserting one project at the time, in the order { p1 , p4 , p3 , p2 }. Assume also that our algorithm tries to schedule each project as early as possible. The resulting schedule is shown in Figure 2. The project p1 was scheduled first, and as early as possible. The modes using resource a were chosen because this gave the earliest finish time. The same consideration was made for project p4 . Note that p4 could not be scheduled on resource a in the resource availability interval k1a , because that would require i4 to be scheduled between i1 and j1 , which would violate the project disjunction constraint on a. Nor could p4 be scheduled with i4 after j1 in k1a and with j4 in k1b , because this would violate the mode consistency constraint that require both activities to use 13

the same resource. Next, project p3 could not be inserted with i3 at the end of k1a and j3 in k2a , because this would violate the maximum time lag constraint. Both activities were therefore scheduled in k2a . There was no room left to schedule the last project, p2 , and so ˜ = { p1 , p3 , p4 } ⊂  . The APSP has some additional characteristics that should also be noted. APSPs can have many projects, often hundreds. These are quite small, with between one and, say, ten or fifteen activities. In any given project, there are usually only a few activities that can be performed in parallel, since most of them involve the patient. Figure 3 shows an example of a project graph for detailed surgery scheduling.

Figure 3: Example project graph for a single surgery patient, with artificial start and end nodes. Solid (dashed) arcs represent minimum (maximum) time lags. Arc lengths are zero, except for the arc (e p , s), which constraints the project to finish no later than  p .

In general, the MRCPSP/Max may have start-to-start minimum and maximum time lags that can depend on the modes of both activities. In practice we assume, as in [40], that start-to-start time lags only depend on the duration of the ‘first’ (predecessor) activity. The reason is that in these real world problems, minimum and maximum time lag constraints are actually between the completion of the predecessor activity and the start time of the successor activity. When these are converted to start-to-start time lags, the length only depends on the duration (and thus the mode) of the predecessor activity. The time constraints between activities in a project are often very tight, and many activities must be scheduled back to back (see Figure 3). As mentioned in Section 2.1, the resource availability intervals can often be aggregated into disjoint time intervals, giving these problems a distinct multi-interval structure. In practice, there is often one such aggregate interval per working day (as in the example in Figure 2). The APSP can contain 14

both renewable and non-renewable resources, although we have only encountered renewable resources in the cases we have studied. Finally, while the objective of the MRCMPSP/Max is to minimise makespan, APSPs can define a range of different objectives. Typical objective components are overtime costs, hospitalization costs, intervention costs, room or doctor utilisation, patient’s waiting time, and patient or personnel preferences, among others. Some components are non-regular, in the sense that to schedule an activity earlier is not always better. Examples are preferences to schedule certain patients early in the day, or surgeon overtime costs; moving a patient to an earlier day may lead to a worse solution in terms of these objectives.

2.3

Uncertainty

The focus in this thesis is on solving highly complex, but deterministic, real world APSPs. We do not, therefore, handle uncertainty explicitly, even if there are several sources of uncertainty in hospital scheduling applications. There are several reasons for this choice. First, like many other authors, we consider the scheduling of elective patients only, and assume that the treatment of these is protected against that major source of uncertainty that arises from the stochastic arrival of emergency care patients. This assumption holds for many planning and scheduling problems, in which dedicated resources (and time) are reserved for elective care patients. Second, to handle the uncertainty in the problem, one first has to be able to solve the deterministic version. As noted in [135], previous work on stochastic surgery scheduling often address unrealistically simple problem formulations, apply simplified recourse actions, or consider only short horizons [43, 147]. As the (deterministic) APSP is NP-hard, it may be expected that exact methods like stochastic programming or robust optimisation may not perform well on realistic, larger, problem instances. Also, in our experience, data are not available to provide probability distributions of a sufficient quality, especially for stochastic programming (see Section 3.1). Another method is to create candidate schedules for a deterministic version of the problem, and to evaluate them, for example by use of discrete event simulation, for a finite number of stochastically generated scenarios. As shown in [135], such methods require that good solutions can be found, fast, for the deterministic version of the problem. 15

Some authors use hedging in the duration estimates to absorb the effect of duration variations. For example, Charnietski [31] introduced an estimate μ + hσ, where μ is the mean duration, σ the standard deviation, and h a parameter of the algorithm which was tuned using simulation (see also [150, 69]). Other authors base their duration estimates on a percentile of observed durations [129, 130]. The hedging approach is, in our experience, consistent with how many hospitals do their activity scheduling. They treat activity durations as deterministic, but may add some slack to hedge for unforeseen delays. In long term admission planning, they may also plan with an artificially reduced future capacity for certain resources, in order to reserve capacity for patients that may need treatment urgently, but that are not yet known at the time of planning. In detailed surgery scheduling, with a planning horizon of a few days, the scheduling is often done without any regard to unforeseen arrivals or cancellations; these are simply handled by reactive rescheduling as they occur. As noted in [26], the majority of hospitals that have been previously studied handle disruptions in a similar way. Again, once the hedged duration estimates are made, one has a deterministic problem which needs to be solved efficiently.

16

Chapter 3 Applications and related work APSPs appear in many hospital applications, both in surgical and non-surgical treatment, as well as in diagnostic services. This chapter gives an introduction to these applications, and an overview of the existing literature for each of them. The relevant surgery scheduling literature is covered in Section 3.2, while Section 3.3 provides a comprehensive survey of non-surgical applications. We show that while the number of such non-surgical APSP applications exceed those that we have been able to address explicitly in our contributions, their fundamental similarities indicate that our results should have relevance for all of them. In addition to this application oriented survey, we also present an overview of work that is related to our more generic modelling and solution approaches. Since parts of our contribution use a project scheduling model, Section 3.4 presents an overview of the related project scheduling literature. Finally, Section 3.5 gives a brief introduction to an emerging hardware technology for massively parallel computing, and its applications to search methods. Throughout this chapter, we focus mainly on the literature that is directly relevant to the APSP as defined in Chapter 2. We also limit ourselves to papers that describe the use of search methods (excluding, for example, papers that only use discrete event simulation to evaluate simple dispatching rules). For readers with a limited background knowledge about search methods, we first offer a brief introduction in Section 3.1. 17

3.1

Search methods

Simply put, an optimisation problem is defined by a set of variables, a set of constraints, and an objective function that is to be optimised. A solution to such a problem consists of a chosen value for each of the variables. A solution is feasible (legal) if these values satisfy all the constraints. A solution is optimal if there exist no other feasible solutions for the problem with a better objective value. An optimisation problem may have more than one objective function (a multi-objective problem), in which case all solutions in the Pareto set are considered optimal. See, for example, [41] for an introduction to multi-objective optimisation. Throughout this thesis, we will refer to a number of commonly used search methods. This section provides some background for understanding these references, as well as pointers to relevant introductory texts. By the term search method, we here refer to a method that provides an optimal, or near optimal, solution to an optimisation problem. We will distinguish between optimisation (or exact) methods and heuristic methods. Optimisation methods, if successful, either find a globally optimal solution to the problem or proves that no feasible solution exists. Heuristic methods search for good solutions, but are unable to prove if the best found solution is optimal or not, and are unable to prove infeasibility. Heuristic methods are often used when the problem is too hard to solve with optimisation methods within the required time limit. One class of exact approaches is based on linear programming, where the optimisation problem is expressed as a set of linear constraints, and a linear objective function. Linear programming includes integer linear programming (all variables are integer)1 , mixed integer linear programming [148] (contains both real and integer variables) , and binary linear programming (all variables are binary). See, for example, the text book by Dantzig and Thapa [38] for an introduction. With linear programming, one uses established algorithms, such as Dantzig’s Simplex algorithm, to find an optimal solution at a vertex of the polytope that the linear constraints define in variable space. For versions with integer variables, the overall algorithm often applies a branch-and-bound tree search to fix these variables to integer values. Authors that apply such methods generally use commercially available software tools to express the model and to solve it. We use such an 1 Note that an integer programming problem is not in general linear. Usually, however, the term integer programming is used in lieu of integer linear programming.

18

approach in Paper IV, and for calculating objective value lower bounds in Paper III. Stochastic programming [37, 86, 14] and robust optimisation [10, 13] are optimisation methods for optimisation under uncertainty. Both are based on linear programming. Logic based Bender’s decomposition was introduced by Hooker [79, 81] as a generalisation of a decomposition approach for mixed integer models that was proposed by Benders in 1962 [11]. This exact approach is sometimes used in scheduling applications where the problem can be naturally decomposed into a master and a slave problem. We propose a three level version of this approach in Paper IV. Column generation is used to solve large linear programs efficiently. It is often also used in a heuristic setting, in the sense that it can provide good, non-optimal, solutions when the problem is too hard to solve to optimality in a reasonable time. See, for example, [45] for an introduction. Another exact approach is constraint programming [1]. This method uses a tree search that at each node instantiates a variable with one of the values in its remaining domain. Following each instantiation, constraint propagation is used to reduce the domains of other variables. The search backtracks if a variable’s domain becomes empty. Among heuristic methods, we will distinguish here between methods that iteratively improve a single solution, and population based methods that combine known solutions to create new ones. In the first category, we find well-known metaheuristics such as tabu search [63], guided local search [146], greedy randomized adaptive search procedure (GRASP) [125], iterated local search [96], variable neighbourhood search [73], variable neighbourhood descent [74], and simulated annealing [144]. These are all based on some variation of local search. Local search is an iterative improvement method based on an investigation of the local neighbourhood of the current solution. This neighbourhood is defined by a neighbourhood operator (or move operator) that represents a certain modification of the current solution. All, or a subset of, these neighbour solutions are evaluated with respect to their objective value, and one of them is chosen as the next current solution. In this way, the local search iteratively traverses a search space topology, or a neighbourhood graph, defined by the neighbourhood operators. One 19

can visualise this search by superimposing this graph on a fitness surface defined by the objective value at each node (solution). The local search continues until no improving neighbours exists. This happens when the search reaches a local optima, or a plateau, on the fitness surface. Metaheuristics based on local search implement various tactics to avoid that the search gets stuck in such situations, but instead moves on to investigate new regions of the search space. Several text books provide excellent introductions to local search and metaheuristics [62, 82]. The algorithms in Papers I and II are both based on local search. Population based metaheuristics updates a population (or pool) of solutions by adding new solutions that are created by combining existing solutions. Examples are evolutionary methods (genetic algorithms, genetic programming) [51], scatter search, and path relinking [64]. Some metaheuristics are inspired by swarm intelligence models, such as ant colony optimisation [48] and particle swarm optimisation [89]. For project scheduling, heuristic search methods are often used together with a so called schedule generation scheme (SGS). In such methods, the heuristic search modifies a high level solution representation, typically an activity insertion order. The SGS is then used to construct the corresponding schedule by inserting one activity at the time in that order. For an introduction to such methods, see, for example, [107]. Note that despite the above attempt at a loose classification, these methods are frequently combined to create various hybrid methods.

3.2

Surgery scheduling

In this section we first give a brief introduction to the surgery scheduling problem. We then provide some references to the general surgery scheduling literature, followed by a more in-depth discussion of those papers that are relevant for the APSP. Surgery scheduling problems exist at various time scales and levels of detail. For example, long term admission planning for inpatient elective surgery can span weeks or months. Elective patients are planned based on a waiting list, containing the referrals of each patient. Each referral has been evaluated by the appropriate specialists and contains information about the urgency of the surgery, the required resources and time, and other information that is relevant for the planner. Such ad20

mission planning problems typically consider only one activity for each patient the surgery itself - and consider only one or two types of resources, such as operating rooms and surgeons [110, 68, 114]. Closer to the day of surgery we find more detailed surgery scheduling problems, including more activities and resources for each patient, but on a shorter time horizon (typically a week). Finally, before the day of surgery, one finds very detailed scheduling problems, that consider all relevant activities and the corresponding resources. A standard definition of these different planning situations is not possible, as the boundaries between them are not always clear, and there are significant differences from hospital to hospital. Surgery scheduling is done in interaction between the specialities and the surgery department. Typically, the surgical speciality ‘owns’ the patients and the surgeon resources, while the surgery department owns the operating rooms, teams, anaesthesiologists, equipment, and so on. The capacity of each operating room has often been reserved for different surgical specialities or individual surgeons on different time blocks, in a master surgery schedule. This is called block scheduling, while the case where all rooms are open to all surgeons is called open scheduling [98, 72, 114, 70]. In principle, all critical activities and resources in the surgery department should be included in the surgery scheduling problem, to make sure that the resulting schedule is workable. In practice, however, the surgery scheduling is often simplified. For example, during admission planning, only some of the surgery department’s resources are considered, typically the operating rooms. Only the surgery itself is scheduled. The remaining activities and resources are considered only implicitly, based on experience or rules of thumb, or not at all. Similar simplifications are often made in more detailed surgery scheduling. The result is that the schedule may not be workable in practice, and that this is only discovered close to the day of surgery. This leads to unnecessary rescheduling. We believe that the reason for this simplification is, at least partly, due to the lack of efficient surgery scheduling tools that can handle the full problem complexity. When formulating a surgery scheduling problem for a given application, therefore, it is important to handle all the critical aspects of the problem that should be included, not only those that are explicitly included in the present manual scheduling. Given the importance of surgery scheduling to the overall performance of the hospital, it is not surprising that these problems have received a lot of attention 21

in the operations research community, and that the current literature is large and diverse. Several recent literature surveys are available [83, 26, 42, 104, 67, 54]. From these surveys, it can be seen that a great variety of problem definitions and solution methods have been studied. Despite this diversity, the number of previous publications that are directly relevant to the complex APSP is much more limited, especially for problems with longer planning horizons. As mentioned in Section 2.1, this is probably due to the inherent computational complexity of these problems. Consider first long term admission planning, which for realistic problem instances typically spans several weeks or even months, and where the schedule may at any time contain hundreds of patients. We address such problems in Papers I and III. We are not aware of any previous work that considers such multi-mode surgery admission problems, where planning and scheduling are integrated. On shorter time horizons, however, we do find some previous papers that consider integrated planning and scheduling. The following authors all consider a one week scheduling horizon, which is very common in hospitals [145]: Van Huele and Vanhoucke [142] consider integrated planning and scheduling combined with physician rostering. They model this problem using mixed integer programming. They demonstrate the effect of the surgery related constraints on the physician roster, and the effects of physician related constraints on the surgery schedule. In [143], the same authors develop a set of constructive heuristics for solving the same problem. Molina-Pariente et al [106] and Vijayakumar et al [145] both consider multi-mode planning and scheduling on a planning horizon of up to five days. In [145], the problem is modelled as an unequal-sized, multi-bin, multidimensional dual bin-packing problem. Both papers [106, 145] first employ a mixed integer linear program which cannot be solved fast enough. They therefore go on to construct specific schedule construction heuristics for this problem. Marques et al [101] consider a version of the problem where the (elective) surgery is the only activity for each patient. The operating room is the only resource to be chosen, but surgeons that are preassigned to each surgery still impose capacity constraints. They also require that only surgeons from the same speciality can use an operating room on the same day. They formulate the problem as an integer program which they solve with a 30 000 seconds time limit. For larger instances, this approach does not provide an optimal solution within this time limit, in which 22

case they provide a fast heuristic that effectively improves the best found integer solution, when such exists. The resulting schedules are compared favourably with those that were created manually in the hospital. The same authors later tackle the same problem [103], but this time with a genetic algorithm. In [102], they consider a bi-objective version of the problem. The two objectives represent the number of surgeries that are scheduled, and the utilisation of the operating rooms, respectively. They present dedicated construction and improvement heuristics. Doulabi et al [49] present a column generation based method, where constraint programming is used to solve the subproblem. They assume that all available operating rooms are identical on each day, which in a many real world settings may not be realistic. The problem uses an open scheduling strategy, but each surgeon is required to be in at most one operating room during each day. Also, a maximum number of hours of surgery is allowed for each surgeon per day. Surgeons are preassigned to each surgery, which is the only activity that is considered. The authors test their algorithm on randomly generated data and show that the column generation approach is more efficient than a corresponding compact formulation. Bulgarini et al [22] combine scheduling on a one week horizon with a long term assignment of patients to subsequent weeks, using a mixed integer programming approach. They show that this improves over a myopic scheduling for only the first week, which tends to systematically favour the most urgent patients without taking into account medium or long term effects on the plan. Doctors are preassigned to rooms. They do not schedule the patients in subsequent weeks because the computational effort is too large, even if they consider a small surgery department. Similar approaches have been used in manufacturing production planning and scheduling, for the same reasons [100]. The authors do not report how long time they take to solve this problem, but conclude that in order to solve realistically sized instances, it would be necessary to develop a heuristic approach. There are three papers that take a more generic modelling approach, similar to what we do in Paper III: Roland et al [127, 128] model weekly problems as an extension to the RCPSP. They use genetic algorithms, where a schedule generation scheme is used to construct complete schedules from the chromosome representation of each new solution. Pham and Klinkert [120] view the problem as a multi-mode blocking job shop problem. They solve test instances using mixed integer programming, with a one hour time limit. We will discuss these papers in 23

some detail when we describe the contribution of Paper III, on page 47. Detailed, one day surgery scheduling problems are often solved as the second (‘allocation scheduling’) step of the traditional two-step approach [140, 113, 114], as described in Section 2.1. However, it can also be a refinement of an existing schedule (including activity start times), that has previously been created on a longer horizon. As proven by Cardoen et al [24], the one day surgery scheduling problem can also be NP-hard. These problem can be quite detailed. The set of activities may include, for example, the preparation of a patient for surgery, preparation of equipment, removal of unnecessary equipment, the surgery, waking the patient, cleaning the operating room and equipment, transporting the patient to the recovery room or intensive care unit, and the recovery. These activities will be linked by (tight) minimum and maximum time lag constraints. The involved resources can include preparation rooms, operating rooms, operation teams, surgeons, anaesthesiologists, equipment, the recovery room, the intensive care unit, post-operative beds, and others. Most authors include only small subsets of these activities and resources. For a complete overview of earlier papers on one day surgery scheduling problems, we refer to the aforementioned survey papers. The most up to date of these, and perhaps the most comprehensive, is that of Demeulemeester et al [42], which is from 2013. In what follows, we discuss some central papers from this literature. We also provide an overview of more recent publications. Cardoen et al [24] address a one day scheduling problem for a surgical outpatient clinic. The problem arises on the day before surgery. Prior to this, the patients have only been told on which day to show up, based on the earlier advance planning step. Surgeons are preassigned to operating rooms. The authors propose various algorithms based on integer programming and a dedicated branch and bound, and show that the most competitive is an iterated integer programming approach, where iteratively, a substantial number of variables are fixed before the (sub)problem is solved again. In [25], the same authors solve the same problem using a branch and price approach where they use dynamic programming to solve the pricing problem. They consider several objective components, but optimise a single linear combination of these. They show that the dynamic programming solver performs better than a corresponding mixed integer approach for the subproblem. Jebali et al [85] use a mixed integer formulation to demonstrate that integrating planning (allocation of 24

patients to rooms) and scheduling is important, even for a one day problem. They show that this gives better results than dividing planning and scheduling into two consecutive steps. This improvement, however, comes at a high cost in terms of CPU time. Augusto et al [3] propose a heuristic based on Lagrangian relaxation of their integer programming formulation, combined with dynamic programming. They consider several activities, including the recovery. For the surgery itself, only operating room resources are considered, and these are assumed to be identical. The authors show that there is a benefit, in terms of makespan, to let a patient recover in the surgery room whenever there is no free capacity in the recovery room. Ghazalbash et al [61] consider a one-day multi-mode problem with an open scheduling strategy, where rooms, equipment, surgeons, and surgeons in training have to be chosen. The surgery is the only activity. They use a mixed integer approach, and compare the results favourably with the current practice in the hospital. Zhao and Li [152] consider a one day scheduling problem where the surgery is the only activity, and the operating room is the only resource that is chosen. They model the cleaning and preparation activities between surgeries as a sequence-dependent setup time for these rooms. They solve quite large daily problems (28 ORs, 60-80 patients) in between 4-9 minutes, using constraint programming. Analysing the robustness of their deterministic solutions under a stochastic variation in the surgery durations, they conclude that the deterministic model is sufficient for solving this scheduling problem. All patients are elective. Xiang et al [149] present an ant colony algorithm for a problem that considers both pre-, peri-, and postsurgical phases, and that integrates skill and availability constraints for nurses, based on the nurse roster. They consider elective patients only, and base their model on the job shop scheduling problem. Pulido et al [123] treat uncertain activity durations using stochastic programming. They also present two decomposition based heuristics, in which, iteratively, some or most of the variables in the stochastic problem are fixed before solving. They show that these produce good results, and that they are computationally more tractable than the stochastic program. Their largest test instances have 11 surgeries. Meskens et al [105] use constraint programming to handle several types of real world constraints, including team preferences. Wang et al [147] consider the allocation of patients to rooms under uncertain durations, and use a column generation approach to minimise overtime and the risk of cancellations. A similar 25

problem is tackled by Deng et al [43], whose integer programming approach uses ‘chance constraints’ to minimize the total cost of opening operating rooms, subject to restrictions on the probability of surgery delays and overtime. Saremi et al [135] present a hybrid between integer programming and tabu search for solving a stochastic surgical outpatient scheduling problem. The problem contains preparation, surgery, and recovery activities. They use the integer programming approach to provide a good solution to the deterministic problem, and then use this as the initial solution for their tabu search. The tabu search uses simulation over 30 randomly chosen scenarios to evaluate each candidate solution under uncertainty. They show that the high quality initial deterministic solution is essential for this approach to be competitive. For performance reasons, especially for larger problem instances, they also propose to replace the integer programming approach with a relaxed mixed binary program, combined with a repair heuristic to fix non-integer variables before the tabu search phase.

3.3

Scheduling of non-surgical activities

Most hospitals have laboratories and clinics that perform non-surgical activities, including treatment, diagnostic procedures, or control procedures. Some of these have planning and scheduling problems that fall under our definition of the APSP in Chapter 2. The literature for such applications is much more limited than the surgery scheduling literature. Also, we have found no survey of this literature, and so we provide a more comprehensive overview here. Let us first note that the substantial literature on appointment scheduling is not directly relevant here. ‘Appointment scheduling’ is usually taken to mean the design of template schedules, into which patients are typically booked on a first come, first serve basis [83]. Surveys of the appointment scheduling literature can be found for example in Cayirli and Veral [29], and in Gupta and Denton [70]. From these, one can see that the appointment scheduling literature covers topics such as the optimal choice of block start times, the number of patients to schedule in each block, the estimation of service durations, the choice of scheduling rules to apply, and so on. These problems are usually modelled as single server problems, considering a single resource (typically a doctor), and a single activity for each patient [8]. Much of this work uses queuing theory and discrete event simulation, while some also apply search methods [53]. Since such appointment scheduling 26

problems do not consider the planning and scheduling of actual, known patients, they do not fall within the scope of this thesis. Non-surgical APSPs are primarily found in cancer treatment scheduling, rehabilitation treatment scheduling, and in the scheduling for various diagnostic services. We shall see that these problems are very similar. Therefore, although our contributions do not explicitly address all of them, our results should be widely applicable. The largest literature concerns the scheduling of cancer treatment programs, including radiotherapy or chemotherapy, where each patient’s program contains many treatments that are to be carried out over several days or weeks. There are also some preparatory activities, but these are usually not considered in the literature. As the schedule typically covers several weeks, it is always partially filled with patients that have already been scheduled. New treatment requests are either scheduled continuously, in an online fashion, or in batches once or twice a day. The main objective of these problems is often to minimize the degree of deviation from each patient’s prescribed treatment program. An efficient solution of these problems are of great medical value, since such deviations have a direct impact on the health and survival prospects of the patient [34]. Other objective components include the number of scheduled patients, the degree of compliance with official waiting time targets, resource utilisation, and resource overtime. Few hospitals use advanced scheduling technology, and those papers that consider real world applications invariably report big improvements over current practice. 3.3.1

Radiotherapy treatment scheduling

Let us consider first the radiotherapy treatment scheduling problem, in which the problem is to schedule treatment activities on one or more linear accelerator machines (linacs). These are often modelled as job shop problems; for example, Kapamara et al [87] define the problem as a dynamic and stochastic job shop problem. They review various methods that have been successfully applied to such problems, including branch and bound approaches, simulated annealing, tabu search, GRASP, and genetic algorithms. They conclude that the problem might be best tackled by a metaheuristic, built around tabu search or a genetic algorithm. Petrovic et al [119] propose two construction algorithms that attempt to schedule each patient (in prioritised order) as soon as possible after release date, or as late as possible before the due date, respectively. They show that the latter algorithm 27

has some advantages because it gives better results for palliative (pain relief) patients. Only treatment activities are considered, and these are assigned to days. The authors do not include scheduling decisions. The problem is considered deterministic, and patients that have already been planned are not reassigned. In [118], Petrovic et al generalise these two construction algorithms. They also propose a GRASP method which performs slightly better for cases with the average number of patients or less. However, the two construction algorithms perform better when the patient load is high. Conforti et al [34] present the first exact method for this problem. New patients with different priorities are scheduled on a one week rolling planning horizon. The authors present two similar integer programming models: one which simply insert new patients, and one which also reschedules existing patients (without removing any of these from the schedule). Patients that cannot be scheduled on the first week, are kept on the waiting list and will be a part of the problem for the next week. The authors argue that their single server model can be easily extended to include several machines, which would make their problem multi-modal. This would not, however, introduce any of the complications that arise in typical APSP instances, where modes include several resources of different types; it would simply correspond to increasing the capacity of the single linac. They apply their models to a small real case and show significant improvements in waiting times and the number of new scheduled patients per week, compared to the current practice in the hospital. In [36], they extend their model to include patient availability. In [35], they consider what they call a ‘non-block’ setting, where patients are not allocated to slots, but have individual treatment durations. Here, however, they do not choose start time, but a shift for each patient. There are two shifts per day in their case study. Again, their problem is deterministic and the planning horizon is one week. Their exact approach produces optimal plans for a collection of test instances, within a run time of 12 minutes. The largest instance has 20 patients. A few authors also consider stochastic aspects of the radiotherapy treatment scheduling problem. Legrain et al [94] present an online algorithm where both a linac and a time slot is chosen for each treatment of each patient. They plan on a long horizon, but schedule only one patient at the time, without rescheduling the previously scheduled patients. They use stochastic programming to handle uncertainty in treatment durations and the arrival of future urgent patients. Their 28

experiments verify that this approach is superior to the greedy scheduling heuristic that the hospital in their case study uses today. Pérez et al [116] consider scheduling of patients for nuclear medicine treatment on a one day scheduling horizon. Nuclear medicine is a sub-speciality of radiology that involves several activities related to each procedure, where each activity requires different, and multiple, resources. These activities must be carried out in a given sequence. The problem is multi-modal. Furthermore, it is stochastic and online, since patients arrive on a short notice and are scheduled immediately, one by one. They present two integer programs for this online problem. The first represents the deterministic problem, while the second is a two-stage stochastic integer program. They use discrete event simulation to evaluate both methods, and demonstrate that the stochastic program gives better results, especially for high load scenarios. It also performs better than the scheduling algorithm that is currently used in the clinic, for a range of different evaluation criteria: the number of treated patients, a patient preference satisfaction ratio, and patient waiting time. Cares et al [27] address the diversity in formulations of the radiotherapy treatment scheduling problem, and present a standardised online benchmark generator [28]. Petrovic and Elkin [117] introduce a genetic algorithm for the radiotherapy pre-treatment scheduling problem, where patients are scheduled for an initial assessment before starting their radiotherapy treatment. The problem contains several activities per patient, and is multi-modal. It seems that the same doctor is used several times during the treatment of the same patient. It is not clear if it is a constraint that only one doctor is involved. If so, however, this is a practical example of the general mode compatibility constraints that we introduced in Paper III. 3.3.2

Chemotherapy treatment scheduling

The chemotherapy treatment scheduling problem is very similar to the radiotherapy treatment scheduling problem. However, it typically has more variation in activity durations and resource demand, and activities can use multi-capacity resources [71]. A chemotherapy treatment plan is often given in treatment periods separated by rest periods. The exact structure of each treatment plan is decided by a team of oncologists, and depends on the kind of cancer that is being treated. Sadki et al [132] consider the planning of chemotherapy patients on a group of oncologists, while at the same time determining their working schedules. The 29

time resolution for both decisions are based on a shift, and there are two such shifts per day. The problem is therefore a planning problem, without detailed scheduling decisions. The authors formulate a mixed integer program for the problem. As this cannot be solved in a realistic time, however, they also present a heuristic algorithm, using a hybrid of local search and mixed integer programming for relaxed problem formulations. They claim that this approach gives considerably better results than current practice, but admits that they use information about all patients for the whole scheduling horizon, while in reality this information becomes known only gradually. They go on to address this issue in [133], where the problem is solved on a one week rolling horizon, and where future patients are anticipated based on an observed probability distribution. They validate this approach through simulation, and show that they achieve a more balanced bed load than the current practice in the clinic under study. The patients are preassigned to an oncologist, and oncologists are preassigned to shifts. Turkcan et al [141] do planning and scheduling in two sequential steps. In the planning step, a first date of treatment is assigned to each new patient, on a one week rolling horizon. The objective is to minimize unnecessary treatment delays. The scheduling problem decomposes into one problem per day, in which they assign start times and resources (chairs and nurses) to each patient. Here, the objective is to minimize overtime. They solve both problems using a mixed integer approach, and show that this can be solved fast enough to be useful in practice. The PhD thesis of Hahn-Goldberg [71] addresses the scheduling of chemotherapy outpatients on a single day. She presents a scheduling method called ‘dynamic template scheduling’, based on constraint programming. She uses historical data to predict future arrivals of treatment requests, and solves the resulting deterministic problem. Last moment changes are handled using a dedicated, reactive, shifting algorithm. Note that the RCPSP based model for generalised surgery scheduling problems that we present in Paper III should be able to express radiotherapy and chemotherapy scheduling problems. The project and activity concepts, and the multi-period resource availability structure should fit the problems well. The special constraints concerning program conformity can be modelled by a combination of minimum and maximum time lag constraints. However, the relevant objectives would have to be added where such constraints are to be relaxed into soft preferences. Also, the results of Paper IV should be very relevant for these applications. 30

The three-level decomposition approach described therein should be applicable, with the proper adjustment to the master problem where activities are assigned to days. Our research should therefore be of relevance also to radiotherapy and chemotherapy scheduling, even if we have not addressed these problems specifically in our contribution. We also observe that none of the previous work discussed above integrate planning and scheduling on a scheduling horizon of more than one day, for a multi-mode problem, while scheduling more than one patient at the time. Our results should therefore be applicable to richer, more complex, versions of these problems than those previously studied. 3.3.3

Rehabilitation treatment scheduling

Yet another APSP application is the scheduling of various therapeutic activities, for example in connection with rehabilitation. While not as medically critical as the cancer treatments discussed above, an effective scheduling of such activities contributes significantly to patient satisfaction and hospital economy. The problem consists of scheduling a set of (possibly different) treatment activities for each patient over a period of time. There may be minimum (and possibly maximum) time lags between some of them. These therapeutic treatment activities tend to be personnel-intensive. Activity durations are as a rule deterministic. Patients often prefer to use the same therapist across sessions. Chien et al [32] solve such a problem using a genetic algorithm, combined with a schedule generation method that decodes the chromosomes. They base their work on a hybrid shop scheduling problem. Their version of the problem is multi-modal, and they choose start times for each activity. All machines (resources) have capacity one. In addition to some minimum time lag constraints between pairs of activities, there is a maximum time span constraint for the completed treatment of each patient. They validate their algorithm by comparing results for small problem instances with the results from a corresponding mixed integer program. This is a problem formulation that fits our APSP description perfectly. Another paper that integrates planning and scheduling is by Braaksma et al [18]. However, here they use an online approach, where each new request is scheduled immediately, using an integer programming approach. There is no rescheduling of previously scheduled patients. The authors aim to optimise various patient and treatment related preferences, as well as resource utilisation. They use discrete event simulation to test their approach for a small but real hospital clinic. 31

Ogulata et al [111] plan physiotherapy treatment on a one week rolling horizon. Three problems are solved sequentially: the choice of patients to include for the week, the assignment of patients to physiotherapists, and an assignment of patients to two-hour periods on a day during the week. The last step is scheduling-like, but they do not include any resource capacity constraints, and so can produce plans that overload the physiotherapists. The point of the last step is only to balance the load between periods. The introduction of these periods is in itself an improvement over current practice, since they drastically reduce patient waiting time on the day (in the current practice, all patients show up in the morning, draw a number, and wait for their turn). Griffiths et al [65] present a planning tool. They use a three stage local search based approach to schedule patients for physiotherapy in a rehabilitation clinic. The objective is to minimize the violation of constraints, and each sequential stage considers a separate group of constraints in decreasing order of importance. A combination of simulated annealing and tabu search is used on the third stage. Schimmelpfeng et al [137] consider a problem of scheduling all treatment activities in a rehabilitation hospital on a horizon of several weeks (one month in their tests). They present a mixed integer model that defines the problem, where resources, a day, and a time slot are assigned to each patient. Assignments of groups for group therapy are also made. This monolithic model cannot be solved, however, for medium or large size instances. They therefore propose a hierarchy of three models that are solved sequentially: In model 1, patients are assigned to days. In model 2, they are given a time slot, while in model 3 they are assigned to resources (and, possibly, to therapy groups). Obviously, this approach reduces the complexity of the problem. However, it has the same weaknesses as we discussed in Section 2.1 related to the separation of planning and scheduling decisions. Using small test instances, they quantify this loss to be about 5-10% in the number of scheduled patients, compared to solutions for the monolithic model.

Again, many of these problems, and in particular those without special group therapy preferences, bear strong resemblance with our generic APSP model. This indicates that our results are of relevance also for rehabilitation scheduling problems. 32

3.3.4

Diagnostic services

In addition to giving treatment, hospitals also have various clinics that provide diagnostic services. Some of these have APSP-like scheduling problems that can involve a large number of elective patients. These problems can have multiple activities per patient. They can also be multi-modal, where each mode involves several resources, some of which may have setup times. Activity durations may depend on the examination procedure, the age and medical condition of the patient, and often also on the chosen mode. Patients are inserted, often from a waiting list, into a schedule that may span weeks or months, and which already contains appointments that have been fixed and communicated to the respective patients. Typical objectives are to schedule as many patients as possible within the planning period, maximise resource utilisation, and to prioritise the patients in time according to their respective medical urgency. As these problems often involve outpatients, start times have to be chosen and communicated to the patients several weeks before the appointment date. This is different from the typical admission planning for inpatients. However, since we in the APSP integrate planning and scheduling also for inpatient admission planning (even if only the date is communicated to the patient), the underlying optimisation problems that we consider for the two applications are very similar. The only previous paper that we have found that explicitly addresses a diagnostic clinic is that of Serrano et al [139], in which the flow of patients through a gastroenterological clinic is studied on a one day horizon. They model the problem as a flexible job shop problem with three operations (activities): bed assignment, examination, and recovery. Their approach makes use of several different dispatching rules, which they show improves patient waiting time, length of stay, and resource utilisation, compared to the current practice in the clinic. There are other papers concerning diagnostic services in the appointment scheduling literature (for example [115]), but as explained above, these are not directly relevant to the APSP. The lack of relevant literature about APSPs in diagnostic services is a bit surprising, since we do find such problems in hospitals, at least in Norway. The reason may be the same as for admission planning for inpatients: that the combined planning and scheduling for many patients on a long time horizon is computationally very demanding. Yet, in Paper IV, we present an exact method that solves such a typical multi-mode outpatient appointment planning and scheduling 33

problem to optimality in a very short time. 3.3.5

General approaches

There are also a few studies that are more general in terms of application area. Podgorelec and Kokol [121] present a genetic algorithm for a general activity scheduling problem that is relevant to various applications, such as examinations, laboratory tests or rehabilitation therapies. They choose the start time for each activity. They consider scheduling both on equipment and personnel, and also choose which resources to use for each activity (i.e. the problem is multi-modal). They test their algorithm on one small synthetic instance, without offering any insight into the quality of the results. They use machine learning to tune the parameters of the algorithm. Also, Gartner and Kolisch [60] aim to optimise the flow of patients in the entire hospital, based on definitions of all clinical pathways. They include planning decisions, but not scheduling.

3.4

Project scheduling

As mentioned in Section 2.2, parts of the work in this thesis use a model that extends the classical resource constrained project scheduling problem (RCPSP). In this section, we therefore provide an overview of the most relevant related work in project scheduling. The literature for the RCPSP is substantial, and good introductions to the problem and relevant solution methods can be found in, for example, Neumann et al [107] or Artigues et al [2]. See also Kolisch and Hartmann [91, 92] for an overview of scheduling heuristics and heuristic search methods. Lombardi and Milano [95] provide a survey of optimisation methods for multi-mode RCPSP’s, where they highlight the challenges in combining resource allocation and scheduling. In [76], Hartmann gives an overview of papers that have addressed different extensions to the RCPSP. The most relevant earlier work concern the singleproject MRCPSP/Max (we have not found any previous papers for the multiproject version). This is sometimes also called the multi-mode RCPSP with generalised precedence relations (MRCPSP-GPR). As a generalisation of the RCPSP, the problem is NP-hard. Since the feasibility of a schedule can be verified in polynomial time, the problem of deciding whether a MRCPSP/Max instance is solvable is NP-complete [78]. Some authors use a sequential (or decomposition) 34

approach [107], where the problem is decomposed into a mode assignment problem (MAP) and a RCPSP/Max subproblem. First the MAP is solved to give a feasible mode assignment, and then each such assignment is evaluated by solving the resulting RCPSP/Max. Both of these subproblems are in general NP-hard [40]. The MAP is NP-complete when the number of non-renewable resources exceeds one [90]. Note, however, that for most APSP instances all resources are renewable. The feasibility problem for the RCPSP/Max is NP-complete [7, 107]. The literature for the MRCPSP/Max is very limited, and we provide an overview in the following. De Reyck et al [40] claim to be the first to address this problem, in 1999. They use the sequential approach, presenting a tabu search method for the MAP, and using a truncated branch-and-bound method to solve the RCPSP/Max subproblem. They compare this with several other approaches based on enumeration or local search, and demonstrate the tabu search’s superior performance on a set of artificially generated test instances. They analyse the performance also as a function of test instance characteristics, and show that instances with less availability for renewable resources are more difficult to solve. Also, instances with a medium level of availability for non-renewable resources prove the most difficult. Heilmann [77] proposes a multi-pass construction algorithm. In contrast to [40], Heilmann uses the integration approach, where a mode is chosen for one activity at the time, as an integral part of the schedule generation. For each pass of the algorithm, the order in which activities are inserted, and the choice of mode for each activity, are both chosen by roulette selection. These samplings are based on probabilities given by activity-priority rules and mode-priority rules, respectively, and the combination of such rules vary from one pass of the algorithm to the next. As in [58], Heilmann’s schedule construction algorithm performs backplanning steps to handle maximum time lag violations. He also employs a series of feasibility tests after each activity insertion, in order to interrupt the construction of an infeasible schedule as early as possible. Heilmann tests his method on randomly generated instances and shows that the combination of many different priority-rules contributes to its performance. He also shows improved performance compared to the tabu search of De Reyck et al [40], but only for shorter computation time limits. Heilmann’s algorithm produces feasible solutions for all test instances, which is not the case for De Reyck et al’s tabu search. These results are not surprising. We too have observed that the sequential 35

approach (which is used in [40]) is not well suited for heuristic schedule construction. The reason is that for a given MAP solution, the chances of finding a feasible solution to the corresponding RCPSP/Max subproblem is quite small. Hence, a lot of computational effort is wasted. The integration approach has a much better chance of producing feasible schedules. Similar observations are made in [107]. It is interesting to note, however, that the above decomposition can work well with exact methods, for example when using logic based Benders’ decomposition (see Paper IV). In this case, the performance is highly dependent on the strength of the relaxed scheduling constraints that are used in the MAP master problem, as well as the cuts that are added when the RCPSP/Max slave problem is proven infeasible. One could imagine that if similar mechanisms are used with care, they could also strengthen a heuristic sequential approach. In [78], Heilmann introduces the first exact method for the MRCPSP/Max, based on a branch-and-bound procedure. The search maintains a fictitious schedule, which is a solution to a minimal problem, where activity durations, resource demands, and minimum and maximum time lags are calculated as a minimum across all activity modes that are still available for each activity. Branching rules are chosen dynamically; at each node in the search tree, a choice is made whether to choose a mode for an activity, or to resolve a resource conflict in the current fictitious schedule. The branching rule to use next depends on the criticality of each decision, based on the maximum makespan lower bound across all branching alternatives. Computational results demonstrate that this approach is superior to the tabu search in [40], both in terms of the number of problems that are solved to feasibility, and in terms of gaps to lower bounds. The largest test instance has 50 activities and 5 modes for each activity. Sabzehparvar and Seyed-Hosseini [131] present a geometrical formulation of the problem, inspired by rectangle packing models. This formulation is based on the requirements that multidimensional volumes that are spanned by the activity duration and the demand of different resources, do not overlap. The approach uses a continuous representation of time, which is advantageous for problems with a high time resolution. On the down side, the approach performs best when the demand is distributed uniformly in time, and where there are not too many resources in each mode. They show that their formulation is more efficient than that of [40] when there are less than tree resources in the problem. Barrios et al [6] present an approach in which they first solve a simpler problem: a mode 36

assignment problem where the objective function is some easily calculable approximation of the makespan for the corresponding MRCPSP/Max problem. This simpler problem is solved using a genetic algorithm. The resulting solutions are then converted and used as initial solutions for the MRCPSP/Max problem, which is again solved by a genetic algorithm, using the integration approach. They integrate different useful mechanisms into their method, such as repair heuristics and suitable schedule justification methods. Barrios et al show that the resulting overall method is competitive with the state-of-the-art algorithms for medium and large size problem instances, and that it performs better than the tabu search in [40]. In their discussion of future research opportunities, they mention that the mode assignment could be combined with a solving of the RCPSP/Max, in a decomposition based method. In [5], the same authors follow a very similar approach to the one in [6], but in this case the simplified assignment problem is solved using a simulated annealing algorithm. They also propose a method for improving the solutions of this simplified problem by attempting to modify the choice of mode for each activity in turn. They show that this gives an improvement for the overall algorithm. At the second level, like in [6], they solve the MRCPSP/Max using a genetic algorithm, but this time a different one. Like in [6], Bagherinejad and Majd [4] also use a double genetic algorithm. They, however, first solve the approximate mode assignment problem, and then enter a second phase where they only solve the RCPSP/Max resulting from using the best assignment solution. They do not seem to reconsider the mode choices at the second level. Calhoun et al [23] present a tabu search for a goal programming formulation of the MRCPSP/Max. Their move operators work directly on the mode assignment variables. The evaluation of each move involves the choice of a new start time for the activity in question. When the move leads to a violation of time constraints, a penalty is added to the objective value. If such a move is performed, then only moves that may resolve this violation are allowed until the schedule is once again feasible. While interesting, this approach would probably not work well for most APSPs, because of the combination of tight time lag constraints, mode consistency constraints and project disjunction constraints. For the same reasons, local search methods that operate directly on a full schedule representation, like the one proposed by Dauzère-Pérès et al [39] for the multi-resource job shop scheduling problem, would also be unsuitable for the APSP. 37

Many algorithms for the simpler RCPSP/Max [58] and the MRCPSP [97] combine the use of a schedule generation scheme (SGS) with some higher level logic that determines the order in which activities are inserted. In an integration setting, the mode for each activity is chosen as a part of the schedule generation. For problems with maximum time lag constraints, the SGS includes unscheduling or backplanning steps [58]. For the MRCPSP/Max, only the priority based sampling method of Heilmann [77] uses an SGS. This is the approach that we take in Paper III, although our algorithm also considers the insertion order among projects, and our SGS is modified to handle all the constraints of the APSP.

3.5

Parallelisation

The success of any search method depends partly on its software implementation, and on how efficiently this implementation uses the available hardware. Some of the work in this thesis exploit traditional task-parallelism on multi-core CPU’s. However, during the last few years, various hardware platforms for massively parallel ‘same program multiple data’ (SPMD) computations have also become more easily available for scientific computing. These include Field Programmable Gate Arrays (FPGAs), multiple-core CPUs, and General Purpose Graphical Processing Units (GPGPUs) [19]. The GPGPU lends itself as an easily accessible computation platform, having over the last few years evolved from a highly specialised graphics processor unit (GPU) to become an affordable general purpose computation device that can be installed in most computers. This development has been supported by a parallel development of higher level programming models, languages, and tools [112, 108, 66]. The GPGPU’s computational efficiency, in terms of floating point operations per time unit, is today significantly higher than that of top end CPUs, and the trend is that this gap is increasing [151]. The GPGPU has been successfully applied to increase computational efficiency in a range of different areas, such as sorting, searching, graph algorithms, string matching [136], numerical solving of differential equations, computer vision, and numerical linear algebra [112]. In Paper II, we addressed the question of how this technology could be best exploited in local search algorithms for permutation-like problems. At the time, very little work had been reported about the use of GPGPUs for search methods in general, and in particular for local search based algorithms. Previous use of this technology was mostly for evolu38

tionary algorithms, which lend themselves very naturally to SPMD parallelisation. In particular, parallel fine-grained (cellular) genetic algorithms have been adapted to the GPU architecture over a number of years [151, 153]. Some authors have also used the GPU for genetic programming [75, 93]. An excellent recent introduction to the use of GPGPUs for local search can be found in [20]. The survey in [138] also gives a good overview of existing GPGPU implementations for combinatorial optimisation.

39

Chapter 4 Contribution In this chapter, we summarise the contributions of each paper. We also discuss possible extensions and future research opportunities.

41

PAPER I: L OCAL SEARCH FOR THE SURGERY ADMISSION PLANNING PROBLEM A. Riise and E.K. Burke. In Journal of Heuristics, Springer US, 17(4) (2011), pp. 389-414

In this paper, we consider an admission planning and scheduling problem, where an operating room, a day, and a start time have to be chosen for each patient. Doctors are preassigned to each patient, but have associated capacity constraints: each surgeon can only participate in one surgery at a time. We present a metaheuristic approach based on a combination of iterated local search and variable neighbourhood descent. Two neighbourhood operators, relocate and two-exchange, are used. A high level solution representation is defined by a sequence of surgeries for each room/day combination. The relocate operator moves a surgery from its current position in such a sequence to another position, possibly in the sequence of another room and/or day. Correspondingly, the two-exchange operator swaps the positions of two surgeries. Following such an operation, and before the neighbour solution can be evaluated, a heuristic is used to create a schedule that is feasible with respect to surgeon capacities. The paper presents computational results for a realistic set of test instances. These were generated based on the characteristics of the admission planning problem in Bærum hospital, a medium sized Norwegian hospital. In addition, the paper provides a search space analysis for each of the two neighbourhood operators, and for three different objective functions: surgeon overtime, patient waiting time, and a linear combination of the two. Fitness landscape ruggedness and a fitness-distance correlation between local optima are analysed (see [82] for an introduction to these concepts). The paper shows that although all three fitness surfaces are comparatively smooth for both operators, with a high one-step fitness correlation value, they have quite different characteristics and pose different challenges for local search algorithms. The waiting time objective seems to present a fitness surface that is quite suitable for guiding the local search algorithm. The overtime fitness surface, on the other hand, contains distinct levels of similar objective values, and it is difficult for our local search algorithm to move from one level to another. This indicates that more powerful move operators or diversific42

ation mechanisms could be necessary for problem instances where the overtime objective is present. As we discussed in Chapter 2, planning and scheduling should be integrated for long term admission planning, to ensure that the admission plan can later be refined into a feasible and high quality surgery schedule. One of the main contributions of this paper is that we present, and analyse, a search method for such a joint admission planning and scheduling problem. We are not aware of any other paper that tackles a similar problem on more than a one week planning horizon. The presented local search based method could be generalised to work on the generic APSP model presented in Paper III. Such an iterative improvement algorithm could use the SGS developed in Paper III instead of the tailored schedule construction heuristic used in Paper I. The search space analysis methodology used in Paper I would be useful in the design of such an algorithm. Although tight time lag constraints would make such an algorithm unsuitable for many APSPs, it could work well for problems without such constraints.

43

PAPER II: O N PARALLEL LOCAL SEARCH FOR PERMUTATIONS A. Riise and E.K. Burke. In Journal of the Operational Research Society, Palgrave Macmillan, 65(5) (2014)

Motivated by the arrival of easily available hardware for massively parallel computing, such as the GPGPU, Paper II investigates some ways in which this technology can be exploited in methods based on local search. One obvious benefit is the significant speed-up that can be gained by evaluating a large number of neighbourhood solutions in parallel. Many papers have now been published to this effect. On the other hand, this is not necessarily an improvement over a local search that employs intelligent neighbourhood filtering techniques. However, we show that the ability to evaluate large neighbourhoods very efficiently enables another mechanism for performance improvement. At each iteration we can select and apply many improving moves, simultaneously. The idea is that once all neighbours are evaluated, and several are found to be improving, it would be a waste of computation effort to apply only one of them. Instead we select a set of improving moves and apply them all. The requirement is that these moves are independent, in the sense that the improvement that is gained from each move is independent of the application of any of the others. To select an optimal set of such independent moves amounts to solving the weighted version of the maximum stable set problem, which is known to be NP-hard on general graphs [88]. Since this choice is made at every iteration, efficiency is critical. We therefore select these moves using a simple heuristic, rather than solving the selection problem to optimality. We ran a series of experiments on various Travelling Salesman Problem (TSP) instances to evaluate the benefits of applying several improving moves in parallel (parallel moves) instead of applying only the best move at each iteration (sequential moves). Since both algorithms are stochastic, we performed many runs for each test instance. Figure 1 shows a qualified run time distribution (QRTD) [82] for the problem instance ‘d657’. This is the fraction of all runs that reached a certain solution quality (in this case within 0.5% of the optimal value), as a function of computation time. The figure shows that the algorithm using parallel 44

moves is considerably faster in reaching this objective value. Combined, the parallel neighbourhood evaluation and the simultaneous application of independent improving moves give speed-ups of up to several hundred times compared to a classical, sequential, best improvement search. The above neighbourhood exploration and move applications are embedded in an iterated local search, which Figure 1: QRTD for the algorithms with ‘parallel’ and ‘sequential’ moves, for the is performed on the CPU. We demonproblem instance d657, at a 0.5% gap from strate how the use of an adaptive di- the optimum. versification strength contributes to the search efficiency of the algorithm. We also show how a targeted exchange of good partial solutions between the current and best found solutions improves the efficiency of the iterated local search. The idea is that even if the current solution is not better than the best solution, it may contain good partial solutions (sub-tours in the TSP) that could improve the best solution further. Equally, the best solution can contain good partial solutions that when inserted into the current solution makes that the new best solution. These are both very general mechanisms, and their effects on search efficiency are independent of the implementation of the low level local search. Since the time of writing Paper II1 , many papers have reported the use of this technology for local search methods. Many authors simply implement a parallel neighbourhood exploration on the GPGPU, and demonstrate a speed-up compared to a sequential, CPU based, implementation. In Paper II we go further, and explore how this parallel neighbourhood exploration can enable a parallel application of multiple improving moves. This, and the other efficiency enhancement techniques described above, are main results of the paper. The original aim of this research was to exploit GPGPU based SPMD parallelisation to solve the admission planning problem more efficiently. We presented preliminary results for 1 Note that the paper was originally submitted on on 21 s t February 2012, and not on 24 t h January 2013, as it says on the published paper.

45

this in the Meta 2010 conference. However, as we started to design a general model for the APSP (see Sections 2.1 and 2.2), we came to the conclusion that the most promising algorithms have a complexity that makes them unsuitable for SPMD parallelisation. Therefore, as we presented this general APSP model in Paper III, we proposed instead an iterative improvement method that uses CPU based task parallelism. However, as new types of processing hardware becomes available (such as the recent Intel Xeon Phi Coprosessor), their potential should be explored. It is likely that this line of research will contribute significantly to the efficiency of future planning and scheduling methods.

46

PAPER III: M ODELLING AND SOLVING GENERALISED OPERATIONAL SURGERY SCHEDULING PROBLEMS A. Riise, C. Mannino, and E.K. Burke. In Computers & Operations Research, Available online 29 July 2015

In this paper, we present a general model for a generalised surgery scheduling problem, based on a rich generalisation of the resource constrained project scheduling problem (RCPSP). The model is multi-modal, multi-project, and includes time windows as well as minimum and maximum time lag constraints. The model also contains some extensions to the RCPSP that we believe have not been previously reported in the literature, such as project disjunction constraints and mode compatibility constraints between activities (see Section 2.2). Originally, a mixed integer approach was explored [126]. This was, not unexpectedly, unable to provide good solutions for problem instances of realistic size, even within quite generous time limits. The paper therefore presents an algorithm based on the use of a schedule generation scheme (SGS; see Section 3.4). We use an adaptation of the SGS with backplanning that has been previously used for the RCPSP/Max [58], and for the MRCPSP/Max [77]. The SGS is modified to tackle all APSP constraints, including project disjunctions and mode consistency constraints. It uses the integration approach, choosing modes as an integrated part of the schedule generation. The high order solution representation consists of a project insertion order; the order of insertion of each project’s activities are chosen as a part of the SGS. Initial solutions are generated by a repeated sampling of project insertion orders. For each insertion order, the SGS is used to construct the corresponding schedule, and the insertion order and the schedule are stored together in a pool. In parallel, a dedicated improvement method repeatedly selects a promising solution from the pool, and modifies the corresponding project insertion order. Simply put, those projects that contribute the most to the objective value are moved to an earlier position in the insertion order. The SGS is then used to construct a new schedule, which is added back to the pool together with the modified insertion order. An online learning mechanism constantly assigns CPU time to the construction and improvement algorithms, based on their recent success in the search. When the search is stopped, the best solution in the pool is returned. 47

Our computational experiments use realistic problem instances from Bærum hospital, for three very different planning situations: The ‘one day’ surgery scheduling problem contains up to nine activities per patient, while the ‘one week’ problem contains only three. Both problems are multi-modal, require several resources for most activities, have minimum and maximum time lag constraints, project disjunction constraints and mode compatibility constraints. In addition, a long term admission planning and scheduling problem is solved. This has only one activity per patient, but each test instance has more than 700 patients. This problem is very similar to the admission planning problem that we considered in Paper I, except that a number of different resources are chosen, rather than just the operating rooms. Also, the planning horizon is longer (up to three months), and the objective components are slightly different. The paper presents lower bounds for the various objective components, created by means of mixed integer linear programming. These lower bounds are used in the evaluation of the computational results. We show that the presented model and search method are able to produce high quality solutions for the three structurally very different problems, and within run time limits that are acceptable in the respective planning situations (2-5 minutes). Our model was initially aimed at generalising surgery scheduling problems on all time scales and levels of detail. Indeed, based on the comprehensive reviews of Cardoen et al [26] and Demeulemeester et al [42], we show that the model covers most of the aspects of deterministic surgery scheduling problems that have been previously studied. However, the model is equally applicable to the planning and scheduling of other treatment activities, as long as such problems fall within the description of the APSP in Chapter 2. We are not aware of any other paper that tackles such complex problems on time horizons longer than a week, or that presents such a general model for deterministic surgery scheduling problems. In Chapter 3, we mentioned three papers that take a similar approach to a generic modelling of surgery scheduling problems, although their models are all less general than ours. They all address problems with at most a one week scheduling horizon. In [127] and [128], Roland et al base their model on the RCPSP. In both papers, they use a SGS-based approach, where the activity insertion order is iteratively modified by a genetic algorithm. Their work differ from ours in various respects: First, in both papers 48

they consider only one activity per patient: the surgery. By contrast, our one week problem contains three activities per patient (surgery, recovery, and room cleaning), and these have minimum and maximum time lag constraints between them. This increases the complexity of our problem significantly. Second, while the model in [127] is multi-modal, each mode (for the surgery) contains the choice of only one kind of resource: the operating room (the surgeons are preassigned to each activity). By contrast, in our problem definition each surgery mode contains both an operating room and a surgeon, and each cleaning activity mode contains an operating room and the cleaning personnel. Again, this increases the complexity of our problem. Pham and Klinkert [120] model the one week problem as a multi-mode blocking job shop problem. The authors include the concept of blocking constraints that allow an activity to occupy a resource even after it has been completed, if it is not yet possible to start the next activity for the patient. Our model can also express this aspect, by a combination of time constraints and project disjunction constraints. However, we do not have such blocking constraints in any of our test problems. Pham and Klinkert solve their test instances using mixed integer programming, with a one hour time limit. Our approach, on the other hand, is heuristic. In our experiments we use a time limit of five minutes for these problems, which in our experience is a more practical time limit for real world surgery scheduling on a one week horizon. The research done in this paper forms the foundation for further research in the AKTIV project, where the presented model is used to express general APSP problems. Also, the algorithmic framework has been generalised as a generic blackboard framework. This uses online learning and task parallelism to facilitate collaboration between different algorithmic components. The algorithms developed in this paper are included in this framework. The presented model is also the foundation for the research described in Paper IV.

49

PAPER IV: R ECURSIVE LOGIC - BASED B ENDERS ’ DECOMPOSITION FOR MULTI - MODE OUTPATIENT SCHEDULING A. Riise, C. Mannino, and L. Lamorgese. Submitted to European Journal of Operational Research, August 2015 In this paper we address a long term appointment scheduling problem that can be found in hospital outpatient clinics. Again, this is a special case of the APSP: a multi-mode problem with integrated planning and scheduling. In our case study, the problem has only one activity per patient. Each activity requires a doctor, a room, and a scope (a piece of equipment). The scopes have setup times. Activity durations depends on the procedure, age, and medical condition of the patient, and on the chosen doctor’s experience. The problem is defined using the model concepts that we developed in Paper III. This type of APSPs lend themselves naturally to decomposition. In particular, they have several properties that make them suitable for logic-based Benders’ decomposition (LBD), as introduced by Hooker [79, 81]. Firstly, the most important objective is typically waiting time, relative to priority based due dates. This objective depends only on the day on which each patient is scheduled, and it is therefore natural to use the assignment of patients to days as our master problem. Often, as in our case study, the remaining slave problem is a feasibility problem. Furthermore, this slave problem has a clear multi-period (daily) structure, where the schedule for each day is independent of the schedules for other days. The slave problem, which may be very large due to the long planning horizon, can therefore be split into a set of much smaller subproblems, one for each day. Figure 2: The three-level decomWhile this decomposition is effective, we position of a problem with n pashow that it is not in itself enough to solve tients. The d ’s enumerate the days. problem instances of a realistic size. We therefore apply a second decomposition of each daily subproblem into a master mode problem, where the mode for 50

each appointment is chosen, and a slave scheduling problem (see Figure 2). The scheduling problem determines if there exists a feasible start time for each activity, given the mode choices as they are fixed in the master solution. For each of these two (recursive) applications of logic-based Benders’ decomposition, we present the corresponding Benders’ reformulation. We also present novel inequalities that are added to strengthen the initial masters, as well as the cuts that are added from the respective slave problems. Critical elements, such as the breaking of moderelated symmetries, are explained. The paper presents computational results from a case study at the gastroenterology laboratory at the University Hospital of North Norway, a fairly typical Norwegian hospital outpatient clinic. The numerical results demonstrate the efficiency of the proposed three-level decomposition. Based on real data from both daily and monthly (bulk) planning situations, we show that the three-level decomposition is vastly superior to the corresponding two-level version. Indeed, while the algorithm using the two-level decomposition cannot solve the monthly scheduling problems within the one hour time limit2 , the proposed three-level decomposition solves them to optimality within 5 minutes3 . For daily scheduling, both algorithms solve all problems to optimality, but the one using the three-level decomposition is about 5 times faster on average. It also has a much smaller variation in computation time, from instance to instance. LBD has been applied to a variety of hard discrete optimisation problems, including general planning and scheduling [84, 80, 9]. To the best of our knowledge, however, this paper presents the first application of LBD to APSPs, or to similar patient scheduling problems. The presented method is also, as far as we are aware, the first exact method that has been reported to solve such multi-mode appointment planning and scheduling problems, on a horizon of several weeks, and within a time frame that is realistic in a real planning situation. Finally, this paper is one of very few studies of multi-level LBDs. We have found only two other examples in the literature. Both solve problems that are very different from the APSP: the scheduling of computation tasks on the Cell BE processor [12], and a stochastic facility location and vehicle assignment problem [55]. 2 3

Except for one easy instance Except for one instance

51

The presented method is obviously applicable to the admission planning problem, and to other APSPs with a clear daily structure. For example, it should be possible to tackle many radiotherapy or chemotherapy scheduling problems with a minimum of adaptation. More generally, the overall structure of the recursive decomposition may be applied also for other methodologies, or even hybrid combinations of such. Depending on the choice of methods, the decomposition may be slightly different, for example including also a separate sequencing subproblem. Even so, such a method should exploit the general recursive decomposition technique, and the various constraint strengthening techniques that were developed in Paper IV.

52

PAPER V: S CHEDULING AND SEQUENCING E.K. Burke, T. Curtois, T.E. Nordlander, and A. Riise. In Handbook of Healthcare Delivery Systems, CRC Press (2010)

This book chapter gives a basic introduction to some of the planning, sequencing and scheduling problems that are found in hospitals. These include personnel rostering, patient mix planning, optimisation of master surgery schedules, and operational surgery scheduling. Our contribution here was mainly to give a textbook introduction to the overall scope and diversity of operational surgery scheduling problems.

53

Chapter 5 Summary and outlook In this thesis, we have considered a class of computationally hard optimisation problems where activities related to the treatment or examination of individual patients are to be scheduled on limited hospital resources. Common applications include surgery planning and scheduling on various time horizons, scheduling of non-surgical treatment such as radiotherapy or chemotherapy, and scheduling in different diagnostic or therapeutic services. While essentially very similar, these problems are treated separately in the literature. Even within a more limited domain, such as surgery scheduling, there is a big variation in problem definitions. The development of a model that can capture the majority of these problems has been one of our goals in this thesis. The main challenge, however, has been to solve realistic APSP instances, within practical time limits. One of the reasons that these problems are hard to solve, is that they integrate planning and scheduling decisions. While this often gives better schedules, it also increases problem complexity. Such an integration has therefore been largely avoided in the literature, especially for problems with longer planning horizons. This is also the case for planning and scheduling in other domains. Addressing these research challenges, we have made several contributions to the literature: Through the included papers, we have shown that real world APSPs can be solved, to optimality or a proven high quality, within run time limits that are reasonable for the respective planning situations. Both exact and heuristic search methods have been proposed. We have also shown that it is possible to capture structurally different problems with a generalised model. One of the proposed search methods, presented in Paper III, is very general, and can be applied 55

directly to very different problems without any customisation. While the methods of Papers I and IV are designed for more specific problems, these too can be generalised to cover a larger set of possible problem definitions. For example, an obvious next step is to extend the recursive decomposition algorithm of Paper IV to solve radiotherapy or chemotherapy scheduling problems. However, since our APSP model captures such a wide range of real world problems, the fact remains that most methods will be more suitable for some problem instances than for others. To achieve a truly general scheduling solver, we have therefore designed a generic blackboard framework, in which many search methods can be included. A choice of method(s) can be based on an analysis of the problem instance. Also, online learning is used to allocate CPU time to different methods that work in parallel. The framework thus enables a collaboration between different search methods, and allows the emphasis on each method to change during the search. Several of the search methods that were created as a part of the thesis work, some of which were never published, are either directly integrated in this framework, or serve as inspiration and guidance for the ongoing development. In the continuation of this research, we are facing several challenges. One challenge comes from problems with non-regular components in the objective function. Such problems are difficult to solve because one can no longer assume that it is optimal to start each activity as early as possible. That is, an optimal schedule is not necessarily active [107]. This adds another level of computational complexity to these already hard problems. Non-regular objectives, such as an ‘earliness-tardiness’ cost for activity start times, often occur in rescheduling. This happens in applications where new information arrives more or less continuously (new patient arrivals, cancellations, updated patient priorities, personnel illness, etc.), and where it is preferred that the subsequent rescheduling changes activity start times as little as possible. We are currently researching a new search method for APSPs with non-regular objectives. This method is based on a recursive decomposition similar to the one in Paper IV. It uses a hybrid combination of heuristic day assignment and exact methods for the mode assignments, sequencing, and scheduling subproblems. Another future topic, now that we have established working methods for deterministic APSPs, is to handle stochastic aspects such as variations in activity 56

durations, no-shows, personnel illness, and so on. This is very challenging, both because there is a shortage of good data, and because even deterministic APSPs are computationally hard to solve. A pragmatic approach is therefore needed. It would be natural to use a method based on hedging on activity durations and/or resource availability, using discrete event simulation to tune the hedging parameters for each application (see Section 2.3). Approaches that use a scenario based evaluation of each candidate schedule should also be investigated, and are obvious candidates for parallelisation. These different approaches can also be combined. Although computationally expensive, simulations should in principle include rescheduling as the most realistic recourse action. This would obviously require very efficient rescheduling methods. Finally, note that while we have focused on hospital applications, the APSP model is formulated in general project scheduling terms, with a rich set of constraints. The results in Papers III and IV are therefore quite general, and thus applicable also to planning and scheduling problems in other domains.

57

Bibliography [1] K. Apt. Principles of constraint programming. Cambridge University Press, 2003. [2] C. Artigues, S. Demassey, and E. Néron. Resource-constrained Project Scheduling: Models, Algorithms, Extensions and Applications. Control Systems, Robotics and Manufacturing. ISTE, London, UK, 2008. [3] V. Augusto, X. Xie, and V. Perdomo. Operating theatre scheduling with patient recovery in both operating rooms and recovery beds. Computers & Industrial Engineering, 58(2):231–238, 2010. [4] J. Bagherinejad and Z. R. Majd. Solving the mrcpsp/max with the objective of minimizing tardiness/earliness cost of activities with double genetic algorithms. The International Journal of Advanced Manufacturing Technology, 70(1-4):573–582, 2014. [5] F. Ballestín, A. Barrios, and V. Valls. Looking for the best modes helps solving the mrcpsp/max. International Journal of Production Research, pages 1–15, 2012. [6] A. Barrios, F. Ballestín, and V. Valls. A double genetic algorithm for the mrcpsp/max. Computers & Operations Research, 38(1):33–43, 2011. [7] M. Bartusch, R. H. Möhring, and F. J. Radermacher. Scheduling project networks with resource constraints and time windows. Annals of Operations Research, 16(1):199–240, 1988. 59

[8] S. Batun and M. A. Begen. Optimization in healthcare delivery modeling: Methods and applications. In Handbook of Healthcare Operations Management, pages 75–119. Springer, 2013. [9] J. C. Beck. Checking-up on branch-and-check. In Principles and Practice of Constraint Programming–CP 2010, pages 84–98. Springer, 2010. [10] A. Ben-Tal, L. El Ghaoui, and A. Nemirovski. Robust optimization. Princeton University Press, 2009. [11] J. F. Benders. Partitioning procedures for solving mixed-variables programming problems. Numerische mathematik, 4(1):238–252, 1962. [12] L. Benini, M. Lombardi, M. Mantovani, M. Milano, and M. Ruggiero. Multi-stage benders decomposition for optimizing multicore architectures. In M. Perron and M. Trick, editors, Fifth International Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Oprimization Problems, pages 36–50, 2008. [13] D. Bertsimas, D. B. Brown, and C. Caramanis. Theory and applications of robust optimization. SIAM review, 53(3):464–501, 2011. [14] J. R. Birge and F. Louveaux. Introduction to stochastic programming. Springer Science & Business Media, 2011. [15] J. T. Blake and M. Carter. Surgical process scheduling: a structured review. J Soc Health Syst, 5(3):17–30, 1997. [16] J. T. Blake, F. Dexter, and J. Donald. Operating room managers’ use of integer programming for assigning block time to surgical groups: A case study. Anesth Analg. 2002 Jan;94(1):143-8, table of contents., 94(1):143– 148, 2002. [17] J. Blazewicz, J. K. Lenstra, and A. H. G. R. Kan. Scheduling subject to resource constraints: classification and complexity. Discrete Applied Mathematics, 5(1):11–24, 1983. 0166-218X. 60

[18] A. Braaksma, N. Kortbeek, G. Post, and F. Nollet. Integral multidisciplinary rehabilitation treatment planning. Operations Research for Health Care, 3(3):145–159, 2014. [19] A. R. Brodtkorb, C. Dyken, T. R. Hagen, J. M. Hjelmervik, and O. O. Storaasli. State-of-the-art in heterogeneous computing. Sci. Program., 18(1):1– 33, 2010. [20] A. R. Brodtkorb, T. R. Hagen, C. Schulz, and G. Hasle. Gpu computing in discrete optimization. part i: Introduction to the gpu. EURO Journal on Transportation and Logistics, 2(1-2):129–157, 2013. [21] P. Brucker, A. Drexl, R. Möhring, K. Neumann, and E. Pesch. Resourceconstrained project scheduling: Notation, classification, models, and methods. European Journal of Operational Research, 112(1):3–41, 1999. 03772217. [22] N. Bulgarini, D. Di Lorenzo, A. Lori, D. Matarrese, and F. Schoen. Operating room joint planning and scheduling. In Proceedings of the International Conference on Health Care Systems Engineering, pages 127–138. Springer, 2014. [23] K. M. Calhoun, R. F. Deckro, J. T. Moore, J. W. Chrissis, and J. C. Van Hove. Planning and re-planning in project and production scheduling. Omega, 30(3):155–170, 2002. [24] B. Cardoen, E. Demeulemeester, and J. Beliën. Optimizing a multiple objective surgical case sequencing problem. International Journal of Production Economics, 119(2):354–366, 2009. 0925-5273. [25] B. Cardoen, E. Demeulemeester, and J. Beliën. Sequencing surgical cases in a day-care environment: An exact branch-and-price approach. Computers & Operations Research, 36(9):2660–2669, 2009. 0305-0548. [26] B. Cardoen, E. Demeulemeester, and J. Beliën. Operating room planning and scheduling: A literature review. European Journal of Operational Research, 201(3):921–932, 2010. 0377-2217. 61

[27] J. Cares, M.-C. Riff, and B. Neveu. Genera: A benchmarks generator of radiotherapy treatment scheduling problem. In P. M. Pardalos, M. G. C. Resende, C. Vogiatzis, and J. L. Walteros, editors, Learning and Intelligent Optimization, volume 8426 of Lecture Notes in Computer Science, book section 30, pages 353–361. Springer International Publishing, 2014. [28] J. Cares, M.-C. Riff, and B. Neveu. Genera: A benchmarks generator of radiotherapy treatment scheduling problem, 2015. http://www.inf. utfsm.cl/~{}jcares/genera/. [29] T. Cayirli and E. Veral. Outpatient scheduling in health care: A review of literature. Production and Operations Management, 12(4):519–549, 2003. [30] S. Chaabane, N. Meskens, A. Guinet, and M. Laurent. Comparison of two methods of operating theatre planning: Application in belgian hospital. In 2006 International Conference on Service Systems and Service Management, 2006. [31] J. Charnetski. Scheduling operating room surgical procedures with early and late completion penalty costs. Journal of Operations Management, 5(1):91–102, 1984. [32] C.-F. Chien, F.-P. Tseng, and C.-H. Chen. An evolutionary approach to rehabilitation patient scheduling: A case study. European Journal of Operational Research, 189(3):1234–1253, 2008. [33] CHOIR. Categorized bibliography for operations research/management science in health care. retrieved 23rd march 2015, from: http://www.choirut.nl/, 2015. [34] D. Conforti, F. Guerriero, and R. Guido. Optimization models for radiotherapy patient scheduling. 4OR, 6(3):263–278, 2008. [35] D. Conforti, F. Guerriero, and R. Guido. Non-block scheduling with priority for radiotherapy treatments. European Journal of Operational Research, 201(1):289–296, 2010. 62

[36] D. Conforti, F. Guerriero, R. Guido, and M. Veltri. An optimal decisionmaking approach for the management of radiotherapy patients. OR Spectrum, 33(1):123–148, 2011. [37] G. B. Dantzig. Linear programming under uncertainty. Management science, 1(3-4):197–206, 1955. [38] G. B. Dantzig and M. N. Thapa. Linear Programming 1: 1: Introduction, volume 1. Springer Science & Business Media, 1997. [39] S. Dauzère-Pérès, W. Roux, and J. B. Lasserre. Multi-resource shop scheduling with resource flexibility. European Journal of Operational Research, 107(2):289–305, 1998. 0377-2217. [40] B. De Reyck and W. Herroelen. The multi-mode resource-constrained project scheduling problem with generalized precedence relations. European Journal of Operational Research, 119(2):538–556, 1999. [41] K. Deb. Multi-objective optimization. In Search methodologies, pages 403–449. Springer, 2014. [42] E. Demeulemeester, J. Beliën, B. Cardoen, and M. Samudra. Operating room planning and scheduling. In Handbook of Healthcare Operations Management, volume 184 of International Series in Operations Research & Management Science, book section 5, pages 121–152. Springer New York, 2013. [43] Y. Deng, S. Shen, and B. Denton. Chance-constrained surgery planning under uncertain or ambiguous surgery duration. Available at SSRN 2432375, 2014. [44] B. T. Denton. Handbook of Healthcare Operations Management: Methods and Applications, volume 184. Springer Science & Business Media, 2013. [45] G. Desaulniers, J. Desrosiers, and M. M. Solomon. Column generation, volume 5. Springer Science & Business Media, 2005. [46] F. Dexter. Bibliography of operating room management articles. retrieved 23rd march 2015, from: http://www.franklindexter.com/, 2015. 63

[47] F. Dexter and A. Macario. Changing allocations of operating room time from a system based on historical utilization to one where the aim is to schedule as many surgical cases as possible. Anesth Analg, 94(5):1272– 1279, 2002. [48] M. Dorigo and M. Birattari. Ant colony optimization. In Encyclopedia of Machine Learning, pages 36–39. Springer, 2010. [49] S. H. H. Doulabi, L.-M. Rousseau, and G. Pesant. A constraint programming-based column generation approach for operating room planning and scheduling. In Integration of AI and OR Techniques in Constraint Programming, pages 455–463. Springer, 2014. [50] A. Drexl, R. Nissen, J. H. Patterson, and F. Salewski. Progen/[pi]x - an instance generator for resource-constrained project scheduling problems with partially renewable resources and further extensions. European Journal of Operational Research, 125(1):59–72, 2000. 0377-2217. [51] A. E. Eiben and J. E. Smith. Introduction to evolutionary computing. Springer Science & Business Media, 2003. [52] S. E. Elmaghraby. Activity networks: Project planning and control by network models. Network analysis (Planning). Wiley, New York, 1977. [53] S. A. Erdogan and B. Denton. Dynamic appointment scheduling of a stochastic server with uncertain demand. INFORMS Journal on Computing, 25(1):116–132, 2013. [54] S. A. Erdogan, B. T. Denton, J. Cochran, L. Cox, P. Keskinocak, J. Kharoufeh, and J. Smith. Surgery planning and scheduling. Wiley Encyclopedia of operations research and management science, 2011. [55] M. M. Fazel-Zarandi, O. Berman, and J. C. Beck. Solving a stochastic facility location/fleet management problem with logic-based benders’ decomposition. IIE Transactions, 45(8):896–911, 2013. [56] H. Fei, C. Combes, C. Chu, and N. Meskens. Endoscopies scheduling problem: a case study. In IFAC Symposium on Information Control Problems in Manufacturing, 2006. 64

[57] H. Fei, N. Meskens, and C. Chu. A planning and scheduling problem for an operating theatre using an open scheduling strategy. Computers & Industrial Engineering, 58(2):221–230, 2010. [58] B. Franck, K. Neumann, and C. Schwindt. Truncated branch-and-bound, schedule-construction, and schedule-improvement procedures for resourceconstrained project scheduling. OR Spectrum, 23(3):297–324, 2001. [59] M. R. Garey and D. S. Johnson. Computers and Intractability – A Guide to the Theory of NP-completeness. W. H. Freeman & Co. New York, 1979. [60] D. Gartner and R. Kolisch. Scheduling the hospital-wide flow of elective patients. European Journal of Operational Research, 233(3):689–699, 2014. [61] S. Ghazalbash, M. M. Sepehri, P. Shadpour, and A. Atighehchian. Operating room scheduling in teaching hospitals. Advances in Operations Research, 2012, 2012. [62] F. Glover and G. Kochenberger. Handbook of Metaheuristics (International Series in Operations Research & Management Science). Springer, 2003. [63] F. Glover and M. Laguna. Tabu search. Springer, 1999. [64] F. Glover, M. Laguna, and R. Martí. Fundamentals of scatter search and path relinking. Control and cybernetics, 29:653–684, 2000. [65] J. D. Griffiths, J. E. Williams, and R. M. Wood. Scheduling physiotherapy treatment in an inpatient setting. Operations Research for Health Care, 1(4):65–72, 2012. [66] K. GROUP. Opencl web site as per 29th march, 2015, 2015. https: //www.khronos.org/opencl/. [67] F. Guerriero and R. Guido. Operational research in the management of the operating theatre: a survey. Health Care Management Science, 14(1):89– 114, 2011. 65

[68] A. Guinet and S. Chaabane. Operating theatre planning. International Journal of Production Economics Planning and Control of Productive Systems, 85(1):69–81, 2003. TY - JOUR. [69] S. Gul, B. T. Denton, J. W. Fowler, and T. Huschka. Bi-criteria scheduling of surgical services for an outpatient procedure center. Production and Operations management, 20(3):406–417, 2011. [70] D. Gupta and B. Denton. Appointment scheduling in health care: Challenges and opportunities. IIE Transactions, 40(9):800–819, 2008. [71] S. Hahn-Goldberg. Dynamic optimization addressing chemotherapy outpatient scheduling. Thesis, University of Toronto, 2014. [72] E. Hans, G. Wullink, M. van Houdenhoven, and G. Kazemier. Robust surgery loading. European Journal of Operational Research, 185(3):1038– 1050, 2008. [73] P. Hansen and N. Mladenovi´c. Variable neighbourhood search. In E. K. Burke and G. Kendall, editors, Search Methodologies - Introductory Tutorials in Optimization and Decision Support Techniques, volume 1, pages 211–238. Springer, 2005. [74] P. Hansen, N. Mladenovi´c, and J. Moreno Pérez. Variable neighbourhood search: methods and applications. Annals of Operations Research, 175(1):367–407, 2010. [75] S. Harding and W. Banzhaf. Fast genetic programming on gpus. In Genetic Programming, pages 90–101. Springer Berlin Heidelberg, 2007. [76] S. Hartmann and D. Briskorn. A survey of variants and extensions of the resource-constrained project scheduling problem. European Journal of Operational Research, 207(1):1–14, 2010. 0377-2217. [77] R. Heilmann. Resource–constrained project scheduling: a heuristic for the multi–mode case. OR Spectrum, 23(3):335–357, 2001. 66

[78] R. Heilmann. A branch-and-bound procedure for the multi-mode resourceconstrained project scheduling problem with minimum and maximum time lags. European Journal of Operational Research, 144(2):348–365, 2003. [79] J. N. Hooker. Logic-based Methods for Optimization. Wiley, 2000. [80] J. N. Hooker. Planning and scheduling by logic-based benders decomposition. Operations Research, 55(3):588–602, 2007. [81] J. N. Hooker and G. Ottosson. Logic-based benders decomposition. Mathematical Programming, 96(1):33–60, 2003. [82] H. H. Hoos and T. Stützle. Stochastic Local Search: Foundations and Applications. Morgan Kaufmann, 2005. [83] P. J. H. Hulshof, N. Kortbeek, R. J. Boucherie, E. W. Hans, and P. J. M. Bakker. Taxonomic classification of planning decisions in health care: a structured review of the state of the art in or/ms. HS, 1(2):129–175, 2012. [84] V. Jain and I. Grossmann. Algorithms for hybrid milp/cp models for a class of optimization problems. INFORMS Journal on Computing, 13:258–276, 2001. [85] A. Jebali, A. B. Hadj Alouane, and P. Ladet. Operating rooms scheduling. International Journal of Production Economics Control and Management of Productive Systems, 99(1-2):52–62, 2006. TY - JOUR. [86] P. Kali and S. W. Wallace. Stochastic programming. Springer, 1994. [87] T. Kapamara, K. Sheibani, O. Haas, C. Reeves, and D. Petrovic. A review of scheduling problems in radiotherapy. In Proceedings of the Eighteenth International Conference on Systems Engineering (ICSE2006), Coventry University, UK, pages 201–207, 2006. [88] R. M. Karp. Reducibility among combinatorial problems. In Complexity of Computer Computations, pages 85–103. Plenum Press, 1972. [89] J. Kennedy. Particle swarm optimization. In Encyclopedia of Machine Learning, pages 760–766. Springer, 2010. 67

[90] R. Kolisch. Project scheduling under resource constraints: efficient heuristics for several problem classes. Springer Verlag, 1995. [91] R. Kolisch and S. Hartmann. Heuristic algorithms for solving the resourceconstrained project scheduling problem: classification and computational analysis. In Project Scheduling - Recent Models, Algorithms and Applications, pages 147–178. Kluwer Academic Publishers, Boston., 1999. [92] R. Kolisch and S. Hartmann. Experimental investigation of heuristics for resource-constrained project scheduling: An update. European Journal of Operational Research, 174(1):23–37, 2006. [93] W. Langdon and W. Banzhaf. A simd interpreter for genetic programming on gpu graphics cards. In Genetic Programming, pages 73–85. Springer Berlin Heidelberg, 2008. [94] A. Legrain, M.-A. Fortin, N. Lahrichi, and L.-M. Rousseau. Online stochastic optimization of radiotherapy patient scheduling. Health care management science, pages 1–14, 2014. [95] M. Lombardi and M. Milano. Optimal methods for resource allocation and scheduling: a cross-disciplinary survey. Constraints, 17(1):51–85, 2012. [96] H. R. D. Lourenco, O. C. Martin, and T. Stutzle. Iterated local search. In Handbook of Metaheuristics, pages 321–353. Kluwer Academic Publishers, Norwell, MA, USA, 2002. [97] A. Lova, P. Tormos, and F. Barber. Multi-mode resource constrained project scheduling: Scheduling schemes, priority rules and mode selection rules. Inteligencia artificial, 30(10):69–86, 2006. [98] J. M. Magerlein and J. B. Martin. Surgical demand scheduling: a review. Health Services Research, 1978. [99] C. Mannino, E. Nilssen, and T. Nordlander. A pattern based, robust approach to cyclic master surgery scheduling. Journal of Scheduling, 15(5):553–563, 2012. 68

[100] C. T. Maravelias and C. Sung. Integration of production planning and scheduling: Overview, challenges and opportunities. Computers & Chemical Engineering, 33(12):1919–1930, 2009. [101] I. Marques, M. E. Captivo, and M. V. Pato. An integer programming approach to elective surgery scheduling. OR spectrum, 34(2):407–427, 2012. [102] I. Marques, M. E. Captivo, and M. V. Pato. A bicriteria heuristic for an elective surgery scheduling problem. Health care management science, pages 1–16, 2014. [103] I. Marques, M. E. Captivo, and M. Vaz Pato. Scheduling elective surgeries in a portuguese hospital using a genetic heuristic. Operations Research for Health Care, 3(2):59–72, 2014. [104] J. H. May, W. E. Spangler, D. P. Strum, and L. G. Vargas. The surgical scheduling problem: Current research and future opportunities. Production and Operations Management, 20(3):392–405, 2011. [105] N. Meskens, D. Duvivier, and A. Hanset. Multi-objective operating room scheduling considering desiderata of the surgical team. Decision Support Systems, 55(2):650–659, 2013. [106] J. Molina-Pariente, V. Fernandez-Viagas, and J. Framinan. Integrated operating room planning and scheduling problem with assistant surgeon dependent surgery durations. Computers & Industrial Engineering, 2015. [107] K. Neumann, C. Schwindt, and J. Zimmermann. Project Scheduling with Time Windows and Scarce Resources. Springer-Verlag, New York, 2 edition, 2003. [108] NVIDIA. Cuda zone web site, as per 29th march, 2015, 2015. https: //developer.nvidia.com/cuda-zone. [109] OECD, 2014. http://www.oecd.org/health. [110] S. N. Ogulata and R. Erol. A hierarchical multiple criteria mathematical programming approach for scheduling general surgery operations in large hospitals. Journal of Medical Systems, 27(3):259–270, 2003. TY - JOUR. 69

[111] S. N. Ogulata, M. Koyuncu, and E. Karakas. Personnel and patient scheduling in the high demanded hospital services: A case study in the physiotherapy service. Journal of Medical Systems, 32(3):221–228, 2008. [112] J. D. Owens, M. Houston, D. Luebke, S. Green, J. E. Stone, and J. C. Phillips. Gpu computing. Proceedings of the IEEE, 96(5):879–899, 2008. [113] I. Ozkarahan. Allocation of surgical procedures to operating rooms. Journal of Medical Systems, 19(4):333–352, 1995. 10.1007/BF02257264. [114] I. Ozkarahan. Allocation of surgeries to operating rooms by goal programing. Journal of Medical Systems, 24(6):339–378, 2000. TY - JOUR. [115] J. Patrick, M. L. Puterman, and M. Queyranne. Dynamic multi-priority patient scheduling for a diagnostic resource. Operations Research, 56(6):1507–1525, 2008. [116] E. Pérez, L. Ntaimo, C. O. Malavé, C. Bailey, and P. McCormack. Stochastic online appointment scheduling of multi-step sequential procedures in nuclear medicine. Health care management science, 16(4):281–299, 2013. [117] S. Petrovic and E. Castro. A genetic algorithm for radiotherapy pretreatment scheduling. In Applications of Evolutionary Computation, pages 454–463. Springer, 2011. [118] S. Petrovic and P. Leite-Rocha. Constructive and grasp approaches to radiotherapy treatment scheduling. In World Congress on Engineering and Computer Science 2008, WCECS’08. Advances in Electrical and Electronics Engineering-IAENG Special Edition of the, pages 192–200. IEEE, 2008. [119] S. Petrovic, W. Leung, X. Song, and S. Sundar. Algorithms for radiotherapy treatment booking. In Proceedings of the 25th Workshop of the UK Planning and Scheduling Special Interest Group (PlanSIG’2006), Nottingham, UK, 2006. [120] D.-N. Pham and A. Klinkert. Surgical case scheduling as a generalized job shop scheduling problem. European Journal of Operational Research, 185(3):1011–1025, 2008. 0377-2217. 70

[121] V. Podgorelec and P. Kokol. Genetic algorithm based system for patient scheduling in highly constrained situations. Journal of medical systems, 21(6):417–427, 1997. [122] A. A. B. Pritsker, L. J. Watters, and P. M. Wolfe. Multiproject scheduling with limited resources: A zero-one programming approach. Management Science, 16(1):93–108, 1969. [123] R. Pulido, A. M. Aguirre, N. Ibáñez-Herrero, M. Ortega-Mier, l. GarcíaSánchez, and C. A. Méndez. Optimization methods for the operating room management under uncertainty: stochastic programming vs. decomposition approach. Journal of Applied Operational Research, 6(3):145–157, 2014. [124] A. Rais and A. Viana. Operations research in healthcare: a survey. International Transactions in Operational Research, 18(1):1–31, 2011. [125] M. G. Resende and C. C. Ribeiro. Greedy randomized adaptive search procedures: Advances, hybridizations, and applications. In Handbook of metaheuristics, pages 283–319. Springer, 2010. [126] A. Riise and C. Mannino. The surgery scheduling problem - a general model. Report, SINTEF, 2012. ISBN 978-82-14-05281-7. [127] B. Roland, C. Di Martinelly, and F. Riane. Operating theatre optimization : A resource-constrained based solving approach. In Service Systems and Service Management, 2006 International Conference on, volume 1, pages 443–448, 2006. [128] B. Roland, C. Di Martinelly, F. Riane, and Y. Pochet. Scheduling an operating theatre under human resource constraints. Computers & Industrial Engineering, 58(2):212–220, 2010. [129] H. Saadouli, B. Jerbi, A. Dammak, L. Masmoudi, and A. Bouaziz. A stochastic optimization and simulation approach for scheduling operating rooms and recovery beds in an orthopedic surgery department. Computers & Industrial Engineering, 80(0):72–79, 2015. 71

[130] H. Saadouli, M. Masmoudi, B. Jerbi, and A. Dammak. An optimization and simulation approach for operating room scheduling under stochastic durations. In Control, Decision and Information Technologies (CoDIT), 2014 International Conference on, pages 257–262, 2014. [131] M. Sabzehparvar and S. M. Seyed-Hosseini. A mathematical model for the multi-mode resource-constrained project scheduling problem with mode dependent time lags. The Journal of Supercomputing, 44(3):257–273, 2008. [132] A. Sadki, X. Xie, and F. Chauvin. Bedload balancing for an oncology ambulatory care unit. In 8th International Conference of Modeling and Simulation-MOSIM’10. Citeseer, 2010. [133] A. Sadki, X. Xie, and F. Chauvin. Patients assignment for an oncology outpatient unit. In Automation Science and Engineering (CASE), 2010 IEEE Conference on, pages 891–896. IEEE, 2010. [134] P. Santibanez, M. Begen, and D. Atkins. Surgical block scheduling in a system of hospitals: an application to resource and wait list management in a british columbia health authority. Health Care Management Science, 10(3):269–282, 2007. TY - JOUR. [135] A. Saremi, P. Jula, T. ElMekkawy, and G. G. Wang. Appointment scheduling of outpatient surgical services in a multistage operating room department. International Journal of Production Economics, 141(2):646–658, 2013. [136] M. Schatz and C. Trapnell. Fast exact string matching on the gpu. Report, Center for Bioinformatics and Computational Biology, 2007. [137] K. Schimmelpfeng, S. Helber, and S. Kasper. Decision support for rehabilitation hospital scheduling. OR spectrum, 34(2):461–489, 2012. [138] C. Schulz, G. Hasle, A. R. Brodtkorb, and T. R. Hagen. Gpu computing in discrete optimization. part ii: Survey focused on routing problems. EURO Journal on Transportation and Logistics, 2(1-2):159–186, 2013. 72

[139] C. Serrano, A. Jiménez, C. Amaya, and N. Velasco. Optimization model to minimize the makespan in a hospital’s gastroenterology service. Report, Universidad de los Andes, 2009. [140] D. Sier, P. Tobin, and C. McGurk. Scheduling surgical procedures. Journal of the Operational Research Society, 48(9):884–891, 1997. ISI Document Delivery No.: XU899 Times Cited: 5 Cited Reference Count: 11. [141] A. Turkcan, B. Zeng, and M. Lawley. Chemotherapy operations planning and scheduling. IIE Transactions on Healthcare Systems Engineering, 2(1):31–49, 2012. [142] C. Van Huele and M. Vanhoucke. Analysis of the integration of the physician rostering problem and the surgery scheduling problem. Journal of medical systems, 38(6):1–16, 2014. [143] C. Van Huele and M. Vanhoucke. Decomposition-based heuristics for the integrated physician rostering and surgery scheduling problem. Health Systems, 2014. [144] P. J. Van Laarhoven and E. H. Aarts. Simulated annealing. Springer, 1987. [145] B. Vijayakumar, P. J. Parikh, R. Scott, A. Barnes, and J. Gallimore. A dual bin-packing approach to scheduling surgical cases at a publicly-funded hospital. European Journal of Operational Research, 224(3):583–591, 2013. [146] C. Voudouris and E. P. Tsang. Guided local search. Springer, 2003. [147] Y. Wang, J. Tang, and R. Y. Fung. A column-generation-based heuristic algorithm for solving operating theater planning problem under stochastic demand and surgery cancellation risk. International Journal of Production Economics, 158:28–36, 2014. [148] L. A. Wolsey. Mixed integer programming. In Wiley Encyclopedia of Computer Science and Engineering. John Wiley & Sons, Inc., 2007. [149] W. Xiang, J. Yin, and G. Lim. scheduling. surgery, 2:6, 2014. 73

A short-term operating room surgery

[150] E. Yellig and G. Mackulak. Robust deterministic scheduling in stochastic environments: The method of capacity hedge points. International Journal of Production Research, 35(2):369–379, 1997. [151] Q. Yu, C. Chen, and Z. Pan. Parallel genetic algorithms on programmable graphics hardware. In Advances in Natural Computation, pages 1051– 1059. Springer Berlin Heidelberg, 2005. [152] Z. Zhao and X. Li. Scheduling elective surgeries with sequence-dependent setup times to multiple operating rooms using constraint programming. Operations Research for Health Care, 3(3):160–167, 2014. [153] L. Zhongwen and L. Hongzhi. Cellular genetic algorithms and local search for 3-sat problem on graphic hardware. In IEEE Congress on Evolutionary Computation, 2006. CEC 2006, pages 2988–2992, 2006.

74

Part II Scientic Results

PAPER I

L OCAL SEARCH FOR THE SURGERY ADMISSION PLANNING PROBLEM

A. Riise and E.K. Burke

Journal of Heuristics, Springer US, 17(4) (2011), pp. 389-414

Abstract We present a model for the surgery admission planning problem, and a meta-heuristic algorithm for solving it. The problem involves assigning operating rooms and dates to a set of elective surgeries, as well as scheduling the surgeries of each day and room. Simultaneously, a schedule is created for each surgeon to avoid double bookings. The presented algorithm uses simple Relocate and Two-Exchange neighbourhoods, governed by an iterated local search framework. The problem’s search space associated with these move operators is analysed for three typical fitness surfaces, representing different compromises between patient waiting time, surgeon overtime, and waiting time for children in the morning on the day of surgery. The analysis shows that for the same problem instances, the different objectives give fitness surfaces with quite different characteristics. We present computational results for a set of benchmarks that are based on the admission planning problem in a chosen Norwegian hospital.

77

1

Introduction

Health services are a major cost item in national budgets world wide. The sector is continuously challenged to provide the best possible care and treatment with limited resources. In hospitals, a significant cost driver is surgery [24, 11]. This is partly because of the expensive resources that are directly involved in surgery. Also, the operating room management greatly influences other activities in the hospital, indirectly influencing the use of many associated resources, and thus cost. Surgery planning on different levels and time scales is thus crucial for cost efficient treatment and care, both in the surgery department and in other parts of the hospital. Better surgery planning can improve resource efficiency, level staff work load, reduce patients’ waiting time, reduce the number of surgery cancellations, and improve overall performance in the hospital [11]. Surgery planning is, however, a very complex task. This is because of the many resources that are involved, their use in other hospital activities, and the high degree of dynamics and uncertainty that is inevitable in most large modern hospitals. We believe that the development of decision support systems based on modern search technology has the potential to significantly improve the various planning processes that are involved under the headings of surgery planning or operating room management. 1.1

Surgery planning - introduction and context

"Surgery planning" is a rather ambiguous term which covers several different aspects related to the planning and management of a surgery department’s operation. The topic includes strategic, tactical and operational aspects. In this paper, we shall focus on operational surgery scheduling. However, let us first introduce the context in which this problem is typically found. On a strategic level, we have the issue of deciding the desired mix of patients, typically maximising profit or targeting a budget based on the existing resources, infrastructure, and demand. The targets may also be set by external authorities, for example in the case of public hospitals. This strategic planning determines how much operating room time should be allocated to different patient groups [6, 2]. The results of this planning gives input to tactical surgery planning, which often includes the pre-allocation of operating room time to the hospital’s various specialities. The way in which different hospital resources are organised varies significantly, but by "specialty" we mean here the organisational unit that "owns" the operating room time. This plan78

ning results in a so called "master surgery schedule", which is a (typically cyclic) timetable for the operating rooms, where the operating room opening hours are divided into predefined blocks and allocated to the various specialties (see e.g. [7, 34, 15]). A master surgery schedule is typically created or adjusted a few times per year, as a result of changes in hospital budgets, the availability of staff and equipment, or fluctuations in demand. Note that the existence of a master surgery schedule is not necessary; to use such a pre-allocation of operating room time to specialties or not is a choice made by individual hospitals. At the operational level we find a set of problems that we can jointly label as operational surgery scheduling. This includes several different stages of planning, each happening at a different point in time before the date of surgery. A common feature is that they deal with the allocation of critical resources such as surgeons, nurses, rooms, equipment, and operation time to known individual surgeries. They also all happen on a daily - or weekly - basis (see, e.g. [38, 28, 29]). We will elaborate on the different operational surgery planning tasks below. When such problems are formulated within the constraints given by a master surgery schedule, it is referred to as "Block scheduling" (see, e.g. [19, 29]). In addition to the relationships between the above planning tasks at different levels, surgery planning is also strongly related to other planning activities in the hospital. Some connections are found along the care pathway that the patient follows through the various units in the hospital. For example, Santibanez et al [34] considers how peak post-surgical resource requirements can be reduced through better master surgery schedules. Other connections, in a sense orthogonal to the care pathway, come from the fact that many of the involved resources also contribute towards other activities in the hospital. The surgery plan, therefore, influences, or is influenced by, other planning processes in the hospital, such as staffing or personnel rostering. For example, a master schedule influences the variation in demand for surgeons and nurses (see for example Gendreau et al [17] concerning physician scheduling and Burke et al [8] dealing with nurse rostering). Beliën and Demeulemeester [3] show how the utilisation of nurses, and thus staffing costs, can be improved by combining nurse rostering and master surgery schedule generation. In turn, at an operational level, the personnel rosters that are based on this demand will constrain the operational surgery planning. These examples illustrate that surgery planning should ideally not be considered in isolation, but 79

that it should be viewed as an important part of the overall operational planning of hospital activities. In practical terms, however, organisational constraints and the shear complexity of the involved optimisation problems, make this an ambition for the future. For a recent survey on surgery planning and scheduling, see Cardoen et al [11]. 1.2

Operational surgery scheduling

The operational surgery scheduling problem comes in many variations. In its most basic form it may be informally described as the task of allocating, to a set of surgeries, dates and times of surgery, while reserving capacity for these surgeries on a set of constrained physical resources. Such resources may, for example, be operating rooms, operation teams, surgeons, equipment, or post-operative bed capacity. Objectives are typically tardiness costs (overtime), hospitalisation costs, intervention costs, operating room utilisation, patient’s waiting time, patient or personnel preferences, among others. Several variations and extensions of this problem arise from differences between hospitals and between planning situations at different time scales. We will provide some context through a typical example: Having been recommended for surgery by a specialist, the patient is registered on a waiting list. Based on such a list, the first step of surgery planning is the ’admission planning’, in which a date of hospitalisation is decided upon and then communicated to the patient. The result is an allocation of an operating room, an operating team, a specialty, a date, and possibly a time of day to each surgery. Objectives are typically minimising the patient’s waiting time and/or maximising resource utilisation. The admission planning is typically performed at a point in time which can vary between anything from one or two weeks to several months before the hospitalisation date, depending on the urgency of the patient’s condition. Admission planning will be described in more detail in Section 2. About a week or two before hospitalisation, a ’surgery scheduling’ process is performed, allocating specific operating room time, and all relevant resources. Due to the high degree of dynamics in the hospital operations, this surgery scheduling is typically re-done the day before surgery, at which time the plan may be finalised and approved by surgeons and other crucial staff. Finally, during the actual day of surgery, the plan will be dynamically adapted to any unforeseen development that will occur. Note that all these planning stages are in principle working on the same plan, but focusing on 80

different sets of resources, and making slightly different decisions for activities on different time horizons. Apart from these variations in time scale, various other extensions and specialisations of the basic surgery scheduling problem are treated in the literature. The operating rooms themselves are not necessarily the bottleneck in the care pathways. Sometimes, the bottleneck can be caused by post-operative resources. After surgery, patients are transferred to a recovery room, in which they are monitored until they wake up. If no unforeseen development takes place, they are then typically transferred to a regular ward or possibly to an intensive care unit. The recovery room is considered to be associated with a set of operating rooms, and the recovery room beds may be viewed as bottle neck resources in surgery scheduling, representing a causal link between the schedules for the different operating rooms. Several authors consider recovery bed limitations. Jebali et al [22] consider the number of available beds in the intensive care unit, as well as recovery room beds, as bottle neck resources. They take into consideration the fact that if no recovery bed is available at the end of the intervention procedure, then the recovery procedure will have to start in the operating room, thus delaying future interventions. Considerable work has been done on predicting hospital bed availability, as this is an important factor, e.g. when scheduling interventions in an operating room [5]. In some cases, pre-operative bed capacity can also be a limiting factor. A given type of intervention may require that certain types of equipment be present in the operating room. Some equipment may be moved between operating rooms, and may have to be sterilised between uses. The approach in [22] considers stationary equipment that is present in some, but not all, of the operating rooms in the operating theatre. Hospital operations involve considerable uncertainty. This arises from various sources, such as stochastic surgery and recovery durations, stochastic cancellations, and stochastic disruptions due to emergency interventions. As pointed out by Przasnyski [31], a good estimate of surgery durations is essential to successful surgery scheduling. Such durations are by their very nature stochastic, as well as dependent on the patient, the surgery type, the individual surgeon, and whether training for a surgeon is involved. The importance of this uncertainty in durations is acknowledged by most authors, although many disregard it in order to simplify the scheduling problem. However, more and more authors seem to address this 81

important issue (see for example [14, 19, 39, 25, 13]). There may also be uncertainty in the capacity, as key resources, human or otherwise, may unexpectedly become reduced or unavailable. Other extensions include considerations of employee preferences and work regulations, and operating room cleaning time. As we have seen above, different versions of the problem arise from differences in time scale, and differences between hospitals. In our experience, it is difficult to find two hospitals with exactly the same surgery scheduling problem. Perhaps as a reflection of this, the surgery scheduling literature is lacking a common ontology for operational surgery scheduling problems, or even a common repository of benchmark problems. This, of course, makes it difficult to compare algorithmic approaches. Furthermore, it underpins the following important observation: For a decision support tool to be generally useful with a minimum of customisation to each individual hospital and planning situation, it must be able to solve a wide range of surgery scheduling problems. 1.3

Challenge and contribution

In the literature, the surgery scheduling problem is often considered as two separate decision steps [22, 16]. The first concerns the assignment of interventions to operating rooms and days [26, 12]. We call this "intervention assignment" (it is also known as "advance scheduling" [29]). Hans et al [19] argue that the intervention assignment problem is a generalization of the so-called "general bin packing problem with unequal bins", and thus strongly NP-hard. The second step entails scheduling the interventions that have been assigned within the day and room [36, 10]. We call this "intervention scheduling" (it is also called "allocation scheduling" [29]). This is usually studied in connection with planning closer to the day of surgery. As argued by Cardoen et al [9], this problem can also be NP-hard. The above decomposition has distinct disadvantages. As pointed out in [9], the quality of the surgery sequence that can be achieved in the intervention scheduling step is highly dependent on the assignment to days and rooms that was made in the intervention assignment step. This is of course because the scheduling is bound by the previous assignment decisions, which was typically made without consideration of the scheduling step objectives. This is supported by Jebali et al [22],

82

who show that allowing modification of previous assignments during intervention scheduling gives improved solutions, although at the price of a considerably higher calculation effort. Hospital admission planning is generally considered to include only intervention assignment. However, in many hospitals the admission planner actually include scheduling considerations in their planning. They do this to take various schedule dependent objectives into account. Examples are objectives that give some ’time-of-day’ preference for certain patients, such as children or patients with diabetes. Other considerations can be to schedule certain patients after all others to reduce the risk of infections, or to make sure that pre-assigned surgeons always will be capable of performing their surgeries without being in more than one room at the time. For a decision tool to be useful as for the admission planner, it should, therefore, consider the fully combined admission planning problem, including both intervention assignment and intervention scheduling decisions. We believe that the above decomposition into two separate steps is often motivated by a need to reduce problem complexity. Indeed, each of the two steps involve very complex problems, which at least in some versions are NP-hard. The combination of the two problems can therefore be expected to be very difficult to solve, especially for real size problem instances. This may be the reason that very few papers consider a combination of assignment and scheduling within the same problem. Those that do, do so in connection with short term planning, for example for one day or one week into the future [18, 33, 30, 12]. Roland et al [33] combine assignment and scheduling for short term planning. They conclude that a meta-heuristic method, in their case a genetic algorithm, was necessary to solve even a one day problem in a reasonable time. Pham and Klinkert [30] view the problem as a multi-mode blocking job shop problem, which the authors solve with CPLEX for one week problems. They suggest that meta-heuristic methods should be developed to solve larger problems. The challenge is thus to develop search methods for the admission planning problem, including both intervention assignment and intervention scheduling. One of the contributions of this paper is that we investigate a search method for this combined problem, and for realistically sized problem instances. Such a method will of course also be applicable in short term planning where previous assignments may be re-considered. Note, however, that admission planning problems 83

are typically considerably larger than short term planning problems. The conclusions from the previous work mentioned above therefore convince us that a metaheuristic approach is appropriate. We implement a local search method based on iterated local search and variable neighbourhood descent, and analyse its properties when applied to the described admission planning problem (see Section 2). In addition, we include the constraint that the allocated surgeons can only be in one operating room at any one time. This means that in addition to creating a schedule for interventions in each operating room for each day, we also need to maintain a schedule for each surgeon (note that similar constraints may apply to other resources, such as anaesthesiologist or mobile equipment). This adds considerable complexity to the problem, which may be why this aspect has, to our knowledge, only been considered for smaller, short term, problems [16, 30]. We develop a simple heuristic for handling this issue for realistically sized admission planning problems. Our test cases are based on the characteristics of a surgery department of a selected Norwegian hospital. They are available for other researchers through our web pages at www.sintef.no/ hospital. In Section 2, we give a formal definition of the admission planning problem. Section 3 introduces the local search algorithm under investigation, and Section 4 describes the test data that was used. Section 5 contains an analysis of the search spaces for our test problems, and an assessment of the suitability of our algorithm. Some benchmark results are given in Section 6, and we conclude and indicate directions for future research in Section 7.

2

Problem definition

As explained in Section 1.3, the human admission planner often considers both intervention assignment and intervention scheduling aspects. Our problem model must therefore include a schedule of surgeries for each room and day. In manual planning, scheduling related objectives may not be readily visible, as the desired effect is often obtained by applying simple rules of thumb. When we want to state the problem formally for the sake of optimisation, however, we want to include as many of the real, some times obscured, objectives as possible. Typically, the planning is done from anything between 2 or 3 weeks to several months before the date of surgery, depending on the length of the queue, the ca-

84

pacity of the clinic and the urgency of the patient’s diagnosis. A typical planning process can be outlined as follows. Each day, the planner receives new referrals of patients from specialists in or outside the hospitals. These are to be put into the surgery schedule for the coming months. This schedule already exists, as the result of previous planning. The admission planner, therefore, always works with the starting point of an existing plan in which surgeries may be "un-served", "planned but not fixed", or "fixed". Surgeries that are fixed are typically only fixed to dates, and this is because the date has been communicated or agreed on with the patient. Such surgeries can still be moved between rooms, or re-scheduled within the day. Regularly, say daily, the planner will communicate with some patients and fix some surgeries. Other surgeries may be put into the plan, or be left "un-served" until a later time. The admission planning problem therefore consists of: • a set of surgeries to be performed, • an initial plan, in which the date of some of these surgeries are fixed, • a model of the hospital, including all relevant resources, their availability, relevant time constraints, and other requirements. We will come back to a more formal and detailed description below. The admission planning problem typically considers fewer resources than other stages of surgery scheduling that happen closer to the date of surgery. The level of detail about resource availability is usually lower, and the uncertainty related to this information is higher than more short-term surgery scheduling stages. For admission planning, critical resources are typically surgeons, operating rooms, surgery teams, or care capacities in some parts of the care pathway. In our version of the problem, operating rooms and surgeons are considered to be the critical resources. Only elective patients are considered, and all durations are treated as deterministic. Let us define the problem more formally. Let N be the number of surgeries, D the number of days counted from the day after the day of planning, and R the number of operating rooms. We use a discrete time model, where P is the number of time periods in which an intervention may be performed during any day. We define our basic decision variable as  xi pd r =

1, if intervention i starts in period p on day d in room r 0, otherwise 85

(1)

Here, i ∈ [1, N ], p ∈ [1, P ], d ∈ [1, D], and r ∈ [1, R]. There are several objectives or preferences to consider, usually measurable in different dimensions. In this study, we have included three objectives that seem relevant; Patient waiting time, surgeon overtime, and the waiting time for children in the mornings. By a patient’s waiting time, we refer to the number of days from when a patient is first referred for surgery until the planned date of surgery, relative to the number of days between the referral date and a set deadline for treating the patient. This deadline is set based on the medical urgency of the patient’s ailment. In mathematical terms, we can present our waiting time objective as OW =

 P  N  D  R d − Ri 2 1  xi p d r N i =1 d =1 p=1 r =1 Gi − Ri

(2)

Here, Ri is the referral date of surgery i, and Gi is the deadline for the same surgery. Note that there is no constraint in the problem that prevents the surgery to be performed after its deadline, in which case the surgery’s contribution to OW is larger than one. However, exceeding the deadline in this way is highly undesirable. In Norway, the number of such deadline violations is one measure of a hospital’s efficiency. This objective is, therefore, relevant both to the patients, who wish to be treated as soon as possible, and to the hospital, which wishes to adhere to the surgery deadlines. The power of two in equation (2) is introduced to promote fairness between patients; it is better to have minor increases in waiting time for many patients, than to let a few patients carry the burden by getting very large waiting times. An objective that is frequently used in the literature on surgery scheduling is the amount of overtime for surgeons. This is relevant in admission planning if surgeons are considered to be a critical resource at this stage. To calculate this objective, one needs to know which surgeon(s) will perform each surgery. This can be pre-defined as a part of the problem formulation, which typically happens in cases where the referring physician will perform the surgery. Alternatively, the choice of surgeon can be considered as a part of the admission planning problem. Note that in some cases the admission planning problem may consider groups of surgeons, i.e. each intervention is assigned to a specialty, rather than to individual surgeons. In this case, the overtime objective as formulated in equation (3) only

86

makes sense if all surgeons in a specialty have the same working hours. In this study, all surgeries have been pre-assigned to surgeons as a part of the problem input, and we only consider the total amount of overtime in a plan. We also consider only the responsible surgeons for each surgery; assistant surgeons, or surgeons in training, are ignored. This simplification does not alter the underlying nature of the problem. Our overtime objective can be written as:

K D  R  P   e OO = max δi k M a x ( p + Δi − 1) xi p d r − Ekd , 0 (3) d =1 k=1

i ∈[1,N ]

r =1 p=1

e Here, K is the number of surgeons, Ekd is the end of working hours for surgeon k on day d , and Δi represents the duration of intervention i, given as an integer number of time periods. The duration is considered to be deterministic. The input pre-assignment of surgeons is expressed in equation (3) through the constant

 δi k =

1, if intervention i is pre-assigned to surgeon k 0, otherwise

(4)

The objective in equation (3) is obviously important to surgeons, and will also directly influence hospital costs. Similar objectives can be expressed for other resources. The importance of overtime in our study is motivated by the hospital’s need to assess the practical trade-offs that are available between overtime and other aspects of the plan, such as the other two objectives considered herein. The last objective that we consider is a measure of how long young children will have to wait (on an empty stomach) in the morning before their surgery begins. Such waiting is considered to be increasingly difficult with decreasing age. The problem definition contains an upper limit on the age of children, L, and the age of each patient, Ai , both given in years. We write this objective as OC =

P  R  D N   i =1 p=1 r =1 d =1

p xi p d r M a x (L − Ai + 1, 0)

(5)

This objective is an example of a broader class of objectives relating to a preferred starting time for a given surgery. Other examples include time preferences for elderly people, people who have difficulties arriving at the hospital in the morning (but still arrive on the day of surgery), or people with specific ailments such as 87

diabetes. Our results concerning the "children early" objective therefore also give insight about versions of the problem where such similar objectives are present. The objective in equation 5 is clearly focused on the well being of the patient and, therefore, comes under the heading "quality of care". We are now ready to formulate a total, aggregate, objective function. Using a weighted sum for aggregation, this can be written as:

R N P  D   OW OO OC  O = wW 1− + wO + wC + xi p d r Ψi (6) NW NO NC p=1 d =1 r =1 i =1 Here, Ψi is the cost of not including a surgery i in the plan. The normalisation factors NW , NO and NC are set so that each normalised, but un-weighted, term is of the same order of magnitude. The value of these factors are set based on the problem’s initial solution, so that NW = OW , NO = OO , and NC = OC . Note that these factors are not normalisation factors in the strict mathematical sense, since for a given solution to the problem, each "‘normalised"’ objective component value may be larger than one. However, the initial solution is typically from the day before the input problem arises. The number of surgeries that is already planned in the initial solution is therefore typically much larger than the number of new surgeries that has been added to the problem since the initial solution was made. Therefore, for a new solution, each normalised term in equation (6) is in practice still of the same order of magnitude. The objective weights wW ,wO and wC can then be set by a user to reflect the relative importance of their respective objective components, without the need to consider the magnitude of the values for the un-normalised components themselves. Let us introduce a helping variable yi p d r , which has a value of one if surgery i is under execution in periods p, in room r , and on day d , and zero otherwise: yi p d r =

p 

xi p d r

(7)

p =max( p−Δi +1,1)

The optimization problem is to minimize the objective function in equation (6),

88

subject to the following constraints: R P  D  

xi p d r ≤ 1, ∀i ∈ [1, N ]

(8)

xi p d r δi k = 0, ∀d ∈ [1, D], k ∈ [1, K]

(9)

p=1 d =1 r =1 Eks d −1 N R   p=1 i =1 r =1 N  i =1 K  S P   p=1 k=1 s =1

yi p d r ≤ 1, ∀ p ∈ [1, P ], d ∈ [1, D], r ∈ [1, R]

yi p d r δi k σk s M r p d s = Δi

P 

(10)

xi p d r ,

p=1

∀i ∈ [1, N ], r ∈ [1, R], d ∈ [1, D] (11) R N   i =1 r =1

yi p d r δi k ≤ 1, ∀k ∈ [1, K], p ∈ [1, P ], d ∈ [1, D]

(12)

Note that the following parameters are part of the problem definition:  σk s =

M r pd s

1, if surgeon k belongs to specialty s 0, otherwise

⎧ 1, if the master surgery schedule allows ⎪ ⎪ ⎨ operating room r to be used by specialty s on = ⎪ day d and period p ⎪ ⎩ 0, otherwise

(13)

(14)

The relation in (8) says that each intervention must be planned to start at most once and, if so, it starts in exactly one operating room. Equation (9) says that all surgeries performed by surgeon k at any day d must start after the start of works ing hours for that surgeon on that day, Ekd . In (10), we state that at most one intervention can happen simultaneously in any operating room. In (11), we say that no surgery can start too late to be completed within the operating room hours that have been pre-assigned to the specialty s of the surgeon k that is assigned 89

to the surgery i . This is the block scheduling constraint, with M r pd s representing the master surgery schedule as described in Section 1. Note that even if there is no master surgery schedule (open scheduling), this constraint is still necessary to ensure that surgeries are carried out during room opening hours. In this case M r pd s does not distinguish between different specialties, s ; it simply reflects the opening hours of each room. The relation in (12) states that the maximum number of simultaneous interventions performed by any surgeon k is one. This constraint has a large impact on the complexity of the problem. It means that it is not enough to choose a room-day combination (denoted by "room-day" in the following) for each intervention, and a sequencing of the interventions in each room-day. We also need to select starting times for each intervention in a way that respects equation (12). If all surgeons have the same working hours, this constraint is the only reason why the actual sequence of surgeries can affect overtime. Note that in many real world variations of the problem, the constraint in equation (12) is not included because the availability of surgeons is not considered to be critical at the stage of admission planning. However, at some stage, this constraint always becomes relevant.

3

Algorithm

The literature on search methodologies for surgery scheduling reports the use of many different algorithmic approaches, including integer programming, column generation techniques, meta-heuristic methods and simple assignment heuristics. As explained in Section 1.3, problem complexity and size, and the conclusions from the relevant literature, suggest that we consider a meta-heuristic search method for our admission planning problem. A meta-heuristic method will also be easily adaptable to future changes in the problem, such as additional objectives or constraints. We have therefore chosen to investigate an iterative improvement approach based on local search. Our baseline algorithm is a steepest variable neighbourhood descent [20], where each neighbourhood operator is used repeatedly until no improving move is found before changing to another neighbourhood operator in a cyclic fashion. Pseudo-code for this algorithm is given in Figure 2. Here, the function S e l e c t N H O selects the next type of neighbourhood operator to use, starting with the Relocate operator on line 1. The function b e s t N e i g h b o u r returns the best feasible and improving neighbour of s with the 90

given operator, n h o. If no such move is found, we have a local optimum for that operator, and b e s t N e i g h b o u r returns N U LL. Enclosing the VND is an iterated local search framework [23], which diversifies the local optima returned from the variable neighbourhood search, and always continues from the last found local optimum. Figure 1 show pseudo-code for the algorithm. The function Ac c e p t sets b = s if s is better than b , and returns s. The function D i v e r s i f y achieves diversification by removing surgeries from the plan (i.e. making them un-served). ILS input: solution s returns: improved solution

VND input: solution s returns: improved solution

1. b = s

1. nho = SelectNHO

2. while(! stop)

2. while(nhc != NULL)

(a) s = VND(s)

(a) s* = bestNeighbour(nho,s)

(b) s = Accept(s,b) (c) s = Diversify(s)

(b) while(s* != NULL) i. s = s* ii. s*=bestNeighbour(nho,s) (c) nho = SelectNHO

3. return b

3. return s

Figure 1: Pseudo-code for our ILS implementation. See the text for details.

Figure 2: Pseudo-code for our VND implementation. See the text for details.

This is done at each iterated local search iteration by removing all surgeries that are assigned to one or two randomly chosen surgeons, or that are allocated to one or two randomly chosen operating rooms. Note that only unlocked ("served but not fixed") surgeries are affected by the diversification. Initial solutions are generated by a greedy insertion heuristic. Un-served surgeries are inserted into the plan as early as possible, and in an order sorted according to increasing referral dates, increasing deadline, and decreasing surgery durations. We model a solution as one sequence of surgeries for each room-day. For ease of implementation, we also keep any un-scheduled surgeries in a separate schedule, referred to below as the "un-served schedule". When the various diver91

sification routines remove surgeries from the solution, these are put in the "unserved schedule". We use two different move operators, "Relocate" and "TwoExchange". The Relocate neighbourhood of a solution contains all other solutions that can be reached by moving one surgery from its position in a room-day schedule, to any position in any (possibly the same) room-day schedule. The Relocate move can, in our implementation, also move surgeries from the "un-served schedule" to a real room-day schedule. The Two-Exchange neighbourhood of a solution contains all other solutions that can be reached by exchanging the positions of two surgeries, and this is independent of which room-day schedule each of them is allocated to. The Two-Exchange neighbourhood also includes solutions that result from exchanging a planned surgery with one in the un-served schedule. Note that to evaluate each room-day sequence, it is necessary to find the best possible schedule for all room-day sequences that satisfy equation (12). This is in itself an optimisation problem, which we have to solve efficiently since it has to be done at every single move evaluation. We solve this approximately by applying the following heuristic to each day under evaluation: 1. Calculate for each surgeon the total workload on the day in question. 2. Sort a list of all rooms according to: (a) Decreasing workload for the surgeon of the first entry in the room’s sequence on that day (b) Decreasing utilisation of the room’s opening hours on that day 3. Free all time for all surgeons on that day 4. For each room, in the sorted list of rooms: Schedule all surgeries as early as possible (without changing the sequence), and reserve time for the associated surgeons, respecting reservations of surgeon time that has already been made.

4

Test data

Our test data is based on the admission planning problem found in a selected Norwegian hospital. The number of resources, their capacity, and the number of surgeries are consistent with the operations at the hospital. Also, the weekly 92

master surgery schedule is identical to the one used in their admission planning. The problem has the three objectives described in 2; waiting time, overtime, and serving children early. At the hospital, the waiting time objective is used actively, although they have not formulated it explicitly in mathematical terms. They simply strive to treat patients as soon as possible, and to avoid overriding any surgery deadlines. The overtime objective is not used explicitly by this hospital during admission planning, but it is still of interest because the hospital in the future will need to investigate the possible trade-offs between waiting time and staff size. Another reason for including the overtime objective is generality; as can be seen from the literature [11], this is a frequently used objective. At present, the hospital in question avoids overtime by scheduling interventions based on rules of thumb that are designed to finish all surgeries within normal working hours. We introduce this objective as a replacement for these rules of thumb, and in the test data the opening hours of operating rooms are set to exceed the normal working hours for surgeons by three hours and twenty minutes. All surgeons have the same working hours. The objective of serving children early is in active use at the hospital, but is again handled by applying rules of thumb that ensure a plan that is satisfactory with respect to this objective. A real planner may choose to postpone the planning of a patient until a later day. In our tests, however, we set Ψi to a value high enough to totally dominate the other components in equation (6), to ensure that the algorithm’s first priority will be to serve all patients. To represent a realistic planning situation, each test case contains an initial plan in which many surgeries are locked or fixed to a certain day of intervention. These are the surgeries for which the dates have already been set. They are chosen to reflect the fact that admission planners at the hospital in question want to settle intervention dates within a certain time period after receiving the referral. This is a philosophy which is often applied in Norwegian hospitals. We implement this when generating test cases by locking all surgeries in the initial plans whose referral arrived more than 14 days before the day of planning. In addition, all surgeries that were planned (in the initial plan) to be performed in less than 14 days after the day of planning are also locked to reflect that one normally wants to give patients a certain minimum notice. In our test cases’ initial plans, all unlocked surgeries are represented as un-served; that is, not planned in any roomday. 93

We define three different fitness surfaces through the following sets of objective weights: 1. WT: wW = 1.0,wO = 0.0 and wC = 0.0 2. WOT: wW = 0.5,wO = 0.5 and wC = 0.05 3. OT: wW = 0.0,wO = 1.0 and wC = 0.05 We want to investigate the fitness surfaces of the two objectives, OW and OO , in addition to the fitness surface corresponding to a trade-off between them. The reason why we use such a small weight for the objective of serving children early is that our preliminary results showed that it is rather easy to satisfy, given a realistic number of children, and a significant weight on the overtime objective. This is because OC and OO are both in significant conflict with OW , but not with each other. Reducing overtime must be done at the cost of increased patient waiting time, which means that the total period covered by the planned surgeries is increased. This in turn makes it easier to satisfy OC , since there are more days available for planning children, and since the waiting time objective does not differentiate between children and adults. We generate 10 test cases representing 10 consecutive days. Each case has about 150 surgeries in total, of which about 100 are already fixed to a date in the initial solution. Each case was tested for each of the above fitness surfaces, giving, in total, 30 benchmark problems. For each generated case, we generated an initial solution by applying the construction heuristic described in Section 3. We then removed all unlocked entries, making them un-served in the initial plans. To encourage comparative studies, all the test cases are made available in XML format at www.sintef.no/hospital.

5

Search space analysis

In order to understand the nature of the defined admission planning problem, and to assess the suitability of our algorithm, we perform some simple search space analysis. First, let us clarify our terminology. We define the solution space, as the space of all solutions, feasible or not. On this space, each move operator defines a topology, given as a graph where each solution is a vertex, and where edges between two vertices exist if and only if it is possible to reach one of the corresponding solutions from the other by a single step with the move operator. 94

Note that this graph is not necessarily connected; this depends on the nature of the move operator in question (see for example [1]). Since we have two move operators, they each define their own neighbourhood graph, or network topology. Each of the two graphs for our two operators have diameter n − 1, where n is the number of surgeries. The graph diameter defines the maximum number of moves that is necessary to transform one solution into any other solution. By distance between two solutions, we refer to the minimum number of edges in the neighbourhood graph that is necessary to move from one solution to the other. If two solutions are in separate, non-connected parts of the graph, we define the distance between them to be infinite. Now, hard constraints may leave parts of the solution space infeasible. We define the search space of a given move operator as the feasible solutions that are included as vertices in the associated neighbourhood graph. Obviously, hard constraints may reduce the connectedness of the graph, converting it to a set of an increased number of isolated sub graphs. For each solution in the search space, there is an objective value as defined in (6). These values define what is often called a fitness surface over the search space (see for example [21]). Obviously, the shape of this surface will depend on our weights in (6). Moving in the search space corresponds to moving on the fitness surface. The level of difficulty of solving a problem by local search methods depends on several things besides the size of the search space. One indication can be derived from how rugged, or how smooth, the fitness surface is. A rugged surface will have many local optima and finding the good ones becomes difficult. On the other hand, a smooth surface has fewer local optima, and is also more likely to serve as a guide for a steepest-descent method searching for better solutions. The existence of large plateaus on the fitness surface will present challenges to a local search algorithm, even if it is very smooth. In addition to ruggedness, it is useful to consider the distribution of local optima. Are they uniformly distributed throughout the search space, or are they clustered in a small region? Is there any relationship between their objective values and their distance to the closest optimal solution? 5.1

Ruggedness

Let us consider first a measure of ruggedness of the fitness surface. We would like to do this by applying a measure of the correlation between solutions’ objective 95

values and their dependence on the distance between the solutions. Since it is impractical to sample the entire solution space, we estimate this correlation measure by collecting objective values from a random walk through the search space [37]. Based on this information, we can calculate an empirical autocorrelation function [21, 32], as r (d ) :=

 m−d

( gk − g¯ ) ( gk+d − g¯ ) k=1 m 1/m k=1 ( gk − g¯ )2

1/(m − d )

(15)

Here, d signifies the distance at which correlation is measured, m is the number of steps of the random walk, and gk is the objective value that is observed at step k. g¯ is the average objective value over all m steps. Note that in this formula, the distance between solutions is measured as a number of steps along a random walk. It may be that between two solutions at a given distance d in the random walk, it is actually possible to move from one to the other in less than d steps. That is, the actual distance between them in the search space can be less than d . This is more likely to happen if d is larger, and, of course, it cannot happen for d = 1. As a measure of correlation between objective values at different distances, the above empirical autocorrelation function is therefore primarily of interest for small d , and particularly for d = 1. A correlation close to one means that the landscape is smooth, in the sense that neighbouring solutions tend to have similar values. Smooth landscapes are good news for local search algorithms such as variable neighbourhood descent, which depends on the local shape of the fitness surface to guide the search towards good solutions. At the other extreme, if r (1) is zero, the fitness surface is extremely rugged, such as what would be obtained with a random assignment of fitness values to solutions. The observations one makes during such a random walk, of course, depend on the move operator that is used. We ran random walks of 20 000 iterations for each of the move operators Relocate and Two-Exchange. This was done for each of the three different fitness surfaces corresponding to the weighting of objective components given in Section 4. The case considered was, otherwise, identical in all runs. The results are summarised in Table 1, which shows r (1) for each of these runs. As we can see, r (1) is close to one for all these tests, indicating that the corresponding fitness surfaces are indeed quite smooth. Caution should be applied when interpreting these results, however, since ruggedness is not always 96

a good measure of the difficulty of solving an optimisation problem [21]. The results in Table 1 indicate that the the Two-Exchange neighbourhood produces slightly more rugged fitness surfaces than the Relocate neighbourhood.

WT W OT OT

Relocate 0.991 0.991 0.995

Two-Exchange 0.990 0.984 0.987

Table 1: r (1) for each run. W T , W OT and OT refer to the names of the fitness surfaces define in Section 4.

5.2

Fitness and distance between solutions

In addition to the ruggedness and number of local optima, the distribution of these in the search space is of critical importance to a local search algorithm. If all local optima are confined to a small connected region in the search space, finding a good solution is much easier than if they are more or less uniformly distributed. In the following analysis, we require a thorough and rigorous way of calculating the actual distance between two solutions in the search space. For both our two operators there are exact measures for their respective distances. Both are derived from permutation theory, and both can be computed efficiently [35]. We associate a distance measure with Two-Exchange operator that can be calculated in linear time, using the algorithm given by Schiavinotto and Stützle [35]. For the Relocate operator, we use Ulam’s metric [4], whose calculation is based on the calculation of the longest increasing subsequence in a permutation representing our solution. There are a number of algorithms for calculating this; we have used the one by Orlowski and Pachter [27], which has worst case complexity O(n l o g (r )), where r is the length of the longest increasing subsequence. Now, consider the degree of correlation between inter-solution distance and fitness value. Of particular interest are the average distances from each local optimum to all other local optima, and the average distances from each local optimum to the closest global optimum. If there is a clear correlation between distances and objective values, it would provide evidence for a "big valley" structure on the search space, in which good local optima are close together (relative to the

97

Figure 3: "Relocate" distances for the "OT" fitness surface. See the text for details.

neighbourhood graph diameter). This property generally makes a problem suitable for solving with local search methods. Lacking information about the global optima of our test problems, we have to use the best solutions we know from our experiments instead. One should be aware that this can lead to erroneous conclusions, since the best known solutions may in principle be far from any global optimum. We wanted to investigate the distribution of local optima, and the relationship between distance and fitness value. We performed ten runs, of 2000 iterations each, for each of the three fitness surfaces, and for all test cases. It was confirmed that using both our operators in the variable neighbourhood search yields a more 98

Figure 4: "Two-Exchange" distances for the "OT" fitness surface. See the text for details.

effective search than using only one of them. In this analysis, therefore, we logged all solutions that are local optima with respect to both operators. The results for one of the test cases can be seen in Figures 3, 4, 5, 6, 7, and 8. Each of these figures have the same structure: At the top left we present the average distance for each observed local minimum to the other local minima, and its relation to their objective value. At the top right, we have their observed distribution. At the bottom left, we see the distance from each local minimum to the best known solution, and at the bottom right, we outline the observed distribution of these distances. In Figures 3 and 4, we see the results for the "overtime" fitness surface. As we can see in Figure 3, the average distances between the local optima is 99

Figure 5: "Relocate" distances for the "WT" fitness surface. See the text for details.

around 30 Relocate moves. This is rather small compared to the diameter of the neighbourhood graph for this test case, which is 151. This means that the local optima are not distributed evenly throughout the search space but, rather, they are concentrated in a smaller region. Notice that most local optima have the same (or very similar) normalized objective values. This kind of "value level" is observed for the other test cases as well, for this fitness surface. However, for the case illustrated in Figures 3 and 4 we have found a best known solution that has a value below this level. Moreover, the best known solution is on average further from other local optima than what is the case for other local optima. It seems that the search easily finds a solution at the mentioned value level, but that finding the 100

Figure 6: "Two-Exchange" distances for the "WT" fitness surface. See the text for details.

best known solution is very difficult. For the other test cases, we also find such "value levels". That is, many solutions have the same - best known - value. This is reflected in the computational results in Section 6. It is quite likely that better solutions exist for those test cases as well, although we have not been able to find any. It seems that this fitness surface does little to guide the local search towards globally optimal solutions, but that many different solutions at a certain quality level can be found quite easily. Figures 5 and 6 show the results of the same analysis for the "waiting time" fitness surface. When measured with the "relocate" distance measure (Figure 5), the local optima of this surface is typically closer together than was the case for the 101

Figure 7: "Relocate" distances for the "WOT" fitness surface. See the text for details.

"overtime" objective. Their objective values varies, but there is a tendency that this variation is smaller amongst the optima that are close to the others on average. The same observation can be made from Figure 6, in which the "Two-exchange" distance measure has been used. Here, we also see a more clear correlation between objective value and distance to the best known solution, which indicates that this fitness surface has a structure that can be exploited by a steepest-descent based algorithm. It also indicates that a stronger intensification might improve our algorithm, e.g. by letting the iterated local search accept the best solution as a starting point for the local search, rather than the latest local optimum, which is the current strategy. A note of caution is in order when interpreting these results, 102

however. Even if the distance measures exactly reflect the minimum number of moves between local optima in the associated neighbourhood graph, it does not always equal the minimum number of moves in the (feasible) search space. This is because the shortest path between two solutions in the neighbourhood graph may lead through infeasible regions in solution space. The actual distance in the search space will then be longer, or even infinite. Hard constraints may thus represent barriers that inhibit the search’s progress towards better solutions even if this analysis shows that the fitness landscape has a benign shape. For the fitness surface of the combined objective function, "WOT", the results in Figures 7 and 8 show properties that are a combination of those observed for the two fitness surfaces "OT" and "WT". The local optima are quite close together, especially for the Relocate neighbourhood. The correlation between objective value and distance to the best known solution is less clear than for the "WT" surface, while traces of the plateaus in the "OT" surface can be observed. Note that while our analysis shows properties of the various fitness surfaces, the sample of local optima that is obtained is related to our algorithm. A different algorithm might sample different local optima, in different regions of the search space, and might (in principle) get different results. We are, however, interested in assessing the suitability of our algorithm for this problem, and are, therefore, content to analyse the fitness surfaces as they are experienced by our algorithm. From the above analysis it is clear that the properties of the fitness surface that are experienced by our local search algorithm vary substantially with the weighting of the three objective components.

6

Results

Our experiments were based on the admission planning problem found at a certain Norwegian hospital. Technical issues prevented us from retrieving historical surgery data with all the necessary details. For the time being, therefore, we have worked with an artificially generated set of test instances. These are, however, based on the details of the hospital’s actual admission planning problem, as discussed in Section 4. For testing purposes, each case is represented in triplets, one for each of the three fitness surfaces as defined in Section 4. In this section, we report benchmarking results for each of these cases. All computations where carried out on a Hewlett-Packard laptop with a 2.37 GHz Intel Dual core processor

103

Figure 8: "Two-Exchange" distances for the "WOT" fitness surface. See the text for details.

and 1.98 GB of Ram. The results that are summarised in Tables 2, 3, and 4, are based on ten runs for each problem, of 1000 iterations each. All the tables have the same layout. The best known solutions (BKV ) are the best solutions found during these and other experiments, using the same algorithm. At t . is the fraction of runs that attained the best known solution. All surgeries where planned for all cases, and the objective values in the tables are calculated using the objective component weights and normalisation factors that are stored with each test case. Av g .i t .x% is the number of iterations necessary to reach a x% deviation from BKV . V a r.i t .x% is the corresponding variation coefficient, which is the standard deviation divided 104

Cases

BKV

Att.

Att. 1%

WOT1 WOT2 WOT3 WOT4 WOT5 WOT6 WOT7 WOT8 WOT9 WOT10

0.53152 0.52764 0.31494 0.24893 0.34333 0.40024 0.46814 0.44070 0.42898 0.2947

0% 10% 20% 20% 0% 20% 80% 50% 10% 10%

30% 90% 100% 100% 100% 90% 100% 100% 100% 90%

Avg. it. 1% 63.7 54.8 40.3 32.3 44.8 60.6 47.1 109 71.3 33.7

Var. it. 1% 0.0928 0.0824 0.0566 0.0854 0.345 1.00 0.377 0.951 0.878 0.0907

Avg. time 1% 47.3 37.5 27.0 16.0 21.0 29.4 21.3 50.628 32.6 18.8

Var. time 1% 0.0243 0.0424 0.0524 0.08400 0.316 0.959 0.358 0.878 0.795 0.0809

Table 2: Benchmark results for the W OT fitness landscape. See the text for details.

Cases

BKV

Att.

OT1 OT2 OT3 OT4 OT5 OT6 OT7 OT8 OT9 OT10

0.65115 0.65082 0.27067 0.13360 0.32065 0.43359 0.50260 0.46882 0.45308 0.2346

0% 100% 100% 100% 100% 100% 100% 90% 100% 100%

Att. 0.5% 0% 100% 100% 100% 100% 100% 100% 90% 100% 100%

Avg. it. 0.5% 44.3 34.3 31.4 23.8 24.5 99.1 35.1 31.7 31.9

Var. it. 0.5% 0.195 0.0569 0.328 0.0366 0.0524 1.06 0.0474 0.0347 0.217

Avg. time 0.5% 31.1 21.4 14.2 11.3 11.9 49.4 18.2 16.4 17.5

Var. time 0.5% 0.200 0.0551 0.414 0.0439 0.0511 1.08 0.0408 0.0426 0.243

Table 3: Benchmark results for the OT fitness landscape. See the text for details.

105

Cases

BKV

Att.

WT1 WT2 WT3 WT4 WT5 WT6 WT7 WT8 WT9 WT10

0.35410 0.34904 0.35024 0.35527 0.35775 0.35553 0.37957 0.34875 0.34373 0.34527

60% 50% 40% 60% 60% 30% 10% 60% 20% 30%

Att. 0.5%

Avg. it. 0.5%

100% 100% 100% 100% 100% 100% 60% 100% 50% 60%

19.4 4.00 4.80 7.20 2.80 6.50 3.83 2.30 2.20 2.17

Var. it. 0.5% 1.50 0.316 0.664 1.617 0.915 0.635 0.681 0.391 0.340 0.560

Avg. time 0.5% 15.6 2.35 1.63 3.18 0.85 2.27 1.62 0.872 0.841 1.03

Var. time 0.5% 1.88 0.159 0.52 1.80 0.534 0.540 0.693 0.107 0.0604 0.313

Table 4: Benchmark results for the W T fitness landscape. See the text for details.

by the mean. Av g .t i me.x% and V a r.t i me.x% are the corresponding measures applied to calculation time (seconds). Averages and variations are calculated over those runs that achieved the given deviation, as indicated in the columns labelled "Att. x%". A small note is in order in connection with Table 3. The reason that the algorithm is not able to produce solutions with zero overtime is that there are surgeries that are planned for overtime in the initial solution. Some of these are locked, and cannot be moved by the algorithm.

7

Conclusions and future work

We have presented a model for the complex admission planning problem, in which intervention assignment and scheduling is combined. The problem also includes scheduling interventions for each surgeon. A meta-heuristic resolution method was presented, along with its underlying move operators and associated distance measures. The problem’s resulting search space was analysed for three different fitness surfaces, representing different compromises between patient waiting time, surgeon overtime, and waiting time for children in the morning on the day of surgery. An analysis of fitness landscape ruggedness and a fitness-distance correlation between local optima has been presented. We have shown that although the 106

fitness surfaces are comparatively smooth for all the fitness surfaces, with a high one-step fitness correlation function, the different fitness surfaces pose quite different challenges for a local search algorithm. The waiting time objective seems to present a fitness surface that is quite suitable for guiding the local search algorithm, and that could be exploited further by an increased intensification in the search. The overtime fitness surface, on the other hand, seems to contain distinct levels of similar objective values, and it seems difficult for a local search algorithm to find regions of search space with better objective values. This indicates that more powerful diversification schemes, or indeed complete restarts, could be a way forward for such problems. Finally we have presented computational results for a set of realistically sized benchmarks that were generated based on the characteristics of the admission planning problem in a chosen Norwegian hospital. The benchmark problem description and test data are available through the web pages at www.sintef.no/hospital. Future work concerns developing algorithms that are robust over an extended problem model, and to test this on real world historical data. One of the issues of interest is to study robust and adaptable local search algorithms, in order to better handle the differing properties of different fitness surfaces. Problem extensions will include decision variables, constraints, and preferences that arise in planning closer to the day of surgery. At the stage of admission planning, extension regarding post-operative resources and uncertainty in surgery durations and emergency occurrence are important. The simultaneous assignment of operating rooms and surgeons should be generalised to any set of critical resources, including e.g. anaesthetists and mobile equipment. The master surgery schedule often implicitly represents several underlying constraints and preferences. In the case of open scheduling, a selection of these should be included to ensure that the resulting plans are still acceptable. We also believe that a proper multi-objective treatment of these optimisation problems can add to the power of decision support tools where the search for the best trade-offs is important.

Acknowledgements We wish to thank the reviewers for their constructive contributions. This work is supported by the Research Council of Norway (project number 182610), through

107

the HOSPITAL project1 , and the UK Engineering and Physical Sciences Research Council (EPSRC).

1

See www.sintef.no/hospital

108

Bibliography [1] J. Barnes, B. W. Colletti, and D. L. Neuway. Using group theory and transition matrices to study a class of metaheuristic neighborhoods. European Journal of Operational Research, 138(3):531–544, 2002. [2] J. Beliën and E. Demeulemeester. Building cyclic master surgery schedules with leveled resulting bed occupancy. European Journal of Operational Research, 176(2):1185–1204, 2007. [3] J. Beliën and E. Demeulemeester. A branch-and-price approach for integrating nurse and surgery scheduling. European Journal of Operational Research, 189(3):652–668, 2008. 0377-2217. [4] W. Beyer, M. Stein, and S. Ulam. Metric in biology, an introduction. Preprint LA-4937, University of California, Los Alamos, 1972. [5] J. T. Blake and M. Carter. Surgical process scheduling: a structured review. J Soc Health Syst, 5(3):17–30, 1997. [6] J. T. Blake and M. W. Carter. A goal programming approach to strategic resource allocation in acute care hospitals. European Journal of Operational Research, 140(3):541–561, 2002. [7] J. T. Blake, F. Dexter, and J. Donald. Operating room managers’ use of integer programming for assigning block time to surgical groups: A case study. Anesth Analg. 2002 Jan;94(1):143-8, table of contents., 94(1):143– 148, 2002. [8] E. K. Burke, P. De Causmaecker, G. V. Berghe, and H. Van Landeghem. The state of the art of nurse rostering. Journal of Scheduling, 7(6):441–499, 2004. 10.1023/B:JOSH.0000046076.75950.0b. [9] B. Cardoen, E. Demeulemeester, and J. Beliën. Optimizing a multiple objective surgical case sequencing problem. International Journal of Production Economics, 119(2):354–366, 2009. 0925-5273.

109

[10] B. Cardoen, E. Demeulemeester, and J. Beliën. Sequencing surgical cases in a day-care environment: An exact branch-and-price approach. Computers & Operations Research, 36(9):2660–2669, 2009. 0305-0548. [11] B. Cardoen, E. Demeulemeester, and J. Beliën. Operating room planning and scheduling: A literature review. European Journal of Operational Research, 201(3):921–932, 2010. 0377-2217. [12] S. Chaabane, N. Meskens, A. Guinet, and M. Laurent. Comparison of two methods of operating theatre planning: Application in belgian hospital. In 2006 International Conference on Service Systems and Service Management, 2006. [13] J. Charnetski. Scheduling operating room surgical procedures with early and late completion penalty costs. Journal of Operations Management, 5(1):91– 102, 1984. [14] B. Denton, J. Viapiano, and A. Vogl. Optimization of surgery sequencing and scheduling decisions under uncertainty. Health Care Management Science, 10(1):13–24, 2007. TY - JOUR. [15] F. Dexter and A. Macario. Changing allocations of operating room time from a system based on historical utilization to one where the aim is to schedule as many surgical cases as possible. Anesth Analg, 94(5):1272–1279, 2002. [16] H. Fei, C. Combes, C. Chu, and N. Meskens. Endoscopies scheduling problem: a case study. In IFAC Symposium on Information Control Problems in Manufacturing, 2006. [17] M. Gendreau, J. Ferland, B. Gendron, N. Hail, B. Jaumard, S. Lapierre, G. Pesant, and P. Soriano. Physician scheduling in emergency rooms. In E. K. Burke and H. Rudová, editors, PATAT 2006, pages 2–14. Masaryk University, 2006. [18] A. Guinet and S. Chaabane. Operating theatre planning. International Journal of Production Economics Planning and Control of Productive Systems, 85(1):69–81, 2003. TY - JOUR. 110

[19] E. Hans, G. Wullink, M. van Houdenhoven, and G. Kazemier. Robust surgery loading. European Journal of Operational Research, 185(3):1038– 1050, 2008. [20] P. Hansen and N. Mladenovi´c. Variable neighbourhood search. In E. K. Burke and G. Kendall, editors, Search Methodologies - Introductory Tutorials in Optimization and Decision Support Techniques, volume 1, pages 211– 238. Springer, 2005. [21] H. H. Hoos and T. Stützle. Stochastic Local Search: Foundations and Applications. Morgan Kaufmann, 2005. [22] A. Jebali, A. B. Hadj Alouane, and P. Ladet. Operating rooms scheduling. International Journal of Production Economics Control and Management of Productive Systems, 99(1-2):52–62, 2006. TY - JOUR. [23] H. R. D. Lourenco, O. C. Martin, and T. Stutzle. Iterated local search. In Handbook of Metaheuristics, pages 321–353. Kluwer Academic Publishers, Norwell, MA, USA, 2002. [24] A. Macario, T. S. Vitez, B. Dunn, and T. McDonald. Where are the costs in perioperative care?: Analysis of hospital costs and charges for inpatient surgical care. Anesthesiology, 83(6):1138–1144, 1995. [25] E. Marcon, S. Kharraja, and G. Simonnet. Minimization of the risk of no realization for the planning of the surgical interventions into the operation theatre. In 8th IEEE International Conference on Emerging Technologies and Factory Automation, pages 675–680, 2001. [26] S. N. Ogulata and R. Erol. A hierarchical multiple criteria mathematical programming approach for scheduling general surgery operations in large hospitals. Journal of Medical Systems, 27(3):259–270, 2003. TY - JOUR. [27] M. Orlowski and M. Pachter. An algorithm for the determination of a longest increasing subsequence in a sequence. Computers & Mathematics with Applications, 17(7):1073–5, 1989.

111

[28] I. Ozkarahan. Allocation of surgical procedures to operating rooms. Journal of Medical Systems, 19(4):333–352, 1995. 10.1007/BF02257264. [29] I. Ozkarahan. Allocation of surgeries to operating rooms by goal programing. Journal of Medical Systems, 24(6):339–378, 2000. TY - JOUR. [30] D.-N. Pham and A. Klinkert. Surgical case scheduling as a generalized job shop scheduling problem. European Journal of Operational Research, 185(3):1011–1025, 2008. 0377-2217. [31] Z. H. Przasnyski. Operating room scheduling - a literature review. AORN Journal, 44(1):67–76, 1986. [32] C. R. Reeves. Fitness landscapes. In E. K. Burke and G. Kendall, editors, Search Methodologies, pages 587–610. Springer, 2005. [33] B. Roland, C. Di Martinelly, and F. Riane. Operating theatre optimization : A resource-constrained based solving approach. In Service Systems and Service Management, 2006 International Conference on, volume 1, pages 443–448, 2006. [34] P. Santibanez, M. Begen, and D. Atkins. Surgical block scheduling in a system of hospitals: an application to resource and wait list management in a british columbia health authority. Health Care Management Science, 10(3):269–282, 2007. TY - JOUR. [35] T. Schiavinotto and T. Stützle. A review of metrics on permutations for search landscape analysis. Computers & Operations Research, 34(10):3143–3153, 2007. 0305-0548. [36] D. Sier, P. Tobin, and C. McGurk. Scheduling surgical procedures. Journal of the Operational Research Society, 48(9):884–891, 1997. ISI Document Delivery No.: XU899 Times Cited: 5 Cited Reference Count: 11. [37] E. Weinberger. Correlated and uncorrelated fitness landscapes and how to tell the difference. Biological Cybernetics, 63(5):325–336, 1990. 10.1007/BF00202749.

112

[38] E. N. Weiss. Models for determining estimated start times and case orderings in hospital operating rooms. IIE Transactions, 22(2):143 – 150, 1990. [39] J. Zhou and F. Dexter. Method to assist in the scheduling of add-on surgical cases-upper prediction bounds for surgical case durations based on the lognormal distribution. Anesthesiology, 89(5), 1998.

113

PAPER II

O N PARALLEL LOCAL SEARCH FOR PERMUTATIONS

A. Riise and E.K. Burke

Journal of the Operational Research Society, Palgrave Macmillan, 65(5) (2014)

Abstract We investigate some ways in which massively parallel computing devices can be exploited in local search algorithms. We show that the substantial speed-ups that can be gained from parallel neighbourhood evaluation enables an efficient best improvement local search, and that this in turn enables further speed-ups through selection and parallel application of a set of independent, improving moves. Our experiments demonstrate a total speed-up of up to several hundred times compared to a classical, sequential best improvement search. We also demonstrate how an exchange of good partial solutions between the incumbent and best found solutions improves the efficiency of the Iterated Local Search algorithm.

115

1

Introduction

In this paper, we investigate how the rapidly developing technologies of massively parallel computation hardware may be exploited in the context of local search methods. Moreover, we explore how this can enable new algorithmic approaches. Different technologies are currently available, including Field Programmable Gate Arrays (FPGAs), multiple-core CPUs, and General Purpose Graphical Processing Units (GPGPUs) [3]. For this paper, we have elected to use the GPU for our experiments. Graphics cards are affordable, and exist in every personal computer. The GPU’s computational efficiency, in terms of floating point operations per time unit, is today significantly higher than that of top end CPUs, and the current trend is that this gap is increasing [21, 18]. Originally a highly specialized graphics processor, the GPU has over the last few years been developed towards general purpose computation devices. This development is supported by a parallel evolution of higher level programming models, languages, and tools [18]. In our experiments, we use NVIDIA’s proprietary C-like programming language, CUDA. There are, however, several other alternatives, including the recent programming language standard for heterogeneous computing, OpenCL www.khronos.org/opencl. An overview of other programming models and languages is given by Owens et al [18]. Although much is still desired in terms of tools for the high level programmer, the fact remains that GPUs are rapidly developing into flexible, highly programmable parallel computation engines. GPUs support a ‘Single Program Multiple Data’ (SPMD) programming model, in which many individual processors run the same code in parallel, but on different data. Successful use of this model requires that the application model has a high degree of data parallelism, that the kernel is not too complicated (for example in terms of conditional branching), and that the kernel can be made computationally efficient in terms of calculations per memory access. We will not give an introduction to GPU programming in this paper, as this has already been given by several authors. For a simple introduction to GPU programming, see for example [17]. More details on Cuda may be found through www.nvidia.com. We also recommend that interested readers look up the web site dedicated to general purpose GPU programming, www.gpgpu.org. The usefulness of the GPU as a general purpose computation engine is reflected in the plethora of applications for which the GPU, and similar hardware, has 116

been used. The GPU has been successfully applied to achieve higher computational efficiency for a diversity of tasks, including sorting, searching, differential equation solving, computer vision, graph algorithms, string matching [19], and numerical linear algebra [18]. Compared to other application areas, very little has been published on the use of GPUs for heuristic search algorithms. One exception is evolutionary algorithms, which is a class of heuristics that lends itself very naturally to SPMD parallelisation. Research into parallel genetic algorithms has been carried out for a number of years. In particular parallel fine-grained (cellular) genetic algorithms have been adapted to the GPU architecture. The implementations in [21] and [22] use the GPU both for fitness evaluation and for performing genetic operations. Some authors also use the GPU in genetic programming [11, 15]. In this paper, our focus is on iterative—or local—search methods. One obvious task to parallelise in the context of local search methods is the evaluation of objective function values and constraint violations for all solutions in a neighbourhood. Such evaluation is typically responsible for a dominating part of the computation time used by local search algorithms, and the evaluation of each neighbour is typically independent of that of other neighbours. Parallel neighbourhood evaluation has already been studied by a few authors. Janiak et al [13] uses the GPU to evaluate neighbourhoods in a Tabu Search method [9] for the travelling salesman problem and the flow shop scheduling problem. Similarly, Luong et al [17] do the same for the travelling salesman problem, the quadratic assignment problem and the permuted perceptron problem. They also use this GPU-based neighbourhood evaluation in conjunction with co-operating solvers working in parallel on several CPUs. In this paper, we first present the effect of parallel neighbourhood evaluation for general permutation problems, confirming earlier results, but with somewhat larger gains in computational efficiency than previously reported. We then go on to demonstrate how the local search itself can be naturally modified to take the maximum advantage of this gain in neighbourhood evaluation efficiency. We show that a parallel local search, applying a set of mutually independent moves at each iteration rather than selecting a single move, significantly improves the search performance. We describe a simple algorithm for dynamic adaptation of diversification strength. This minimises the problem of our chosen meta-heuristic, Iterated Local Search (ILS), repeatedly returning to the same local optimum, while still balan117

cing diversification against intensification. We also modify the ILS by exploiting good quality partial solutions that are found in locally optimal solutions returned by the underlying local search. We achieve this by combining the currently best found solution with the returned incumbent solution, which may improve the best solution even if the incumbent in itself is not an improvement. The effort made to produce the incumbent is then not completely wasted, and the overall search becomes more efficient. The idea of combining solutions is similar to that of ‘tour merging’ (see for example Cook and Seymour [6]), although our implementation is different. We consider problems whose solutions can be modelled as a sequence –or permutation—of distinct elements. Without loss of generality we will represent solutions to problems of size n as permutations of the integers in [0, n − 1]. We consider the general case where permutations are cyclic, by which we mean that the permutation {0, 5, 6, 1, 4, 2, 3} is equivalent to {4, 2, 3, 0, 5, 6, 1}. When formulating rules for move independence we will assume that the objective function has the form: f (s ) =

n−1  i =0

C( si , si+1 ) + C( sn−1 , s0 )

(1)

Without loss of generality, we will assume that this function is to be minimized. In (1), si is the i’th element in the permutation s , and C (a, b ) is the cost that comes from letting element a be followed by element b . In addition, we assume that C (a, b ) = C (b , a). Such problems may be found in a wide range of planning, scheduling, and design applications. If there are no additional constraints, this assumption gives us the well known Travelling Salesman Problem [2]. This is the problem of finding the shortest route between n cities, where each city is visited exactly once. Equivalently, the problem is to find the shortest Hamilton cycle in a complete undirected graph where each node represents a city. This is the problem that we use as our test bench for numerical experiments, although our algorithm and move operators are valid for permutations in general (with the above mentioned assumptions). In Section 2, we define some fundamental concepts and introduce our local search framework. This includes the introduction of our modified ILS. In order to avoid stagnation of the search, we embed the ILS in a restart framework, which 118

again exploits the above idea of exploiting good partial solutions. This is presented in Section 3. Section 4 demonstrates how the GPU can be used for parallel evaluation of neighbours at each local search iteration, and how this improves performance compared to using normal sequential evaluation. We then move on to the main contribution of this paper, showing how local search can benefit further from parallel move evaluation by applying a number of independent improving moves simultaneously. This mechanism is, to the best of our knowledge, the first application of compound moves based on an exact definition of inter-move dependence, and implemented in conjunction with a massively parallel move evaluation. It is presented in detail in Section 5. Computational results for all experiments are reported and discussed in Section 6, and we draw conclusions and suggest directions for further research in Section 7.

2

The local search framework

In this section, we present the algorithmic framework in which we have carried out our experiments. The framework has largely been selected based on ease of implementation for general permutation problems, rather than being especially tuned to any given problem type. This is because our aim is to demonstrate the effectiveness of massively parallel local search algorithms in general, rather than creating a new record-breaking algorithm for a particular problem. 2.1

Local search

At the heart of the applied search methodology is a basic best improvement iterative improvement algorithm, commonly known as Descent. Assuming that a feasible solution s to the problem P is known, this method performs a complete evaluation of the neighbourhood defined by some move operator k on solution s . The result is a set of all improving moves, M sk . If M sk = , the best move, m ∗ ∈ M sk is applied to s to produce a new solution . This process is iterated until no more feasible and improving moves can be found (M sk = ). s is then a local optimum with respect to the objective function and the operator k, but is not in general a global optimum. An introduction to local search algorithms can be found in Hoos and Stützle [12]. Our move operators are quite common for permutation problems. The first is called ‘Relocate’ (sometimes called ‘Insert’). Let s ∈ S be a feasible solution, modelled as a permutation. Then, s (i ) is the i’th element of s . The Relocate 119

operator, Rel(i,j) removes item s(i ), and inserts it immediately after s ( j ) in the sequence. The other operator is the well known ‘2-opt’ operator. Let the existence of an edge (a, b ) in the permutation signify that s (a) is immediately followed by s(b ). The 2-opt operator, 2-Opt(i,j) replaces the edges (i , i + 1) and ( j , j + 1) with the edges (i , j ) and (i + 1, j + 1). The sub sequence {s(i + 1), s(i + 2), . . . , s ( j )} is reversed, yielding a new consistent permutation. Since we want to use Descent with both VND of these move operators, we wrap the baInput: initial solution s sic Descent function in a standard Vari1. b = s able Neighbourhood Descent [10], as illus2. k = twoOpt trated in Figure 1. The basic idea of Vari3. while (k != NULL) able Neighbourhood Descent is that when a run with Descent with a given move op(a) s’ = Descent(s, k ) erator reaches a locally optimal solution, (b) k = SelectMO(s, s’) this solution is not necessarily a local op(c) s=s’ timum with respect to other move operat4. return s ors. When the function Descent returns, Figure 1: The basic Variable Neigh- therefore, the next operator is chosen by bourhood Descent. the function SelectMO, and a new Descent search is attempted. In our implementation, SelectMO chooses the next move operator deterministically. When a complete descent search has been attempted with both move operators without yielding any improvement, we know that s is a local optimum with respect to all move operators, and SelectMO returns NULL. VND then returns this locally optimal solution. In order for the search for a better solution to continue when VND returns, we need to escape the well of attraction of the current local optimum. There are many methods for doing this, often called meta-heuristics. The presentation of an overview of popular meta-heuristics is outside the scope of this paper, but there are several books on the subject [9, 4, 12]. 2.2

Iterated Local Search

In this paper, we will use a simple and general meta-heuristic framework known as Iterated Local Search (ILS) [16]. This choice is motivated by the generality and simplicity of this meta-heuristic, and its transparency to the effectiveness of the underlying local search move operators that are the focus of the paper. Our 120

implementation of ILS may be simply described by Figure 2. On line 2.a, VND returns a locally optimal solution. The function Combine is an addition to the otherwise traditional ILS formulation. This mechanism seeks to exploit the results of the last local search even in cases where s will not be accepted as the new best solution. The function may modify both s and b (see line 2.b in Figure 2). It will be described in detail in Section 2.3. The function Accept is used to determine if a new incumbent solution s is to be accepted as the current best, b . When s is not accepted, the function also chooses whether to continue the search with the incumbent solution, s , or to continue from the best found solution, b . In most implementations, the incumbent is accepted as a new best solution if it has a better objective value than the existing best solution. We apply the same strategy, and our implementation of Accept always returns b . It is, of course, the diversificaIteratedLocalSearch tion step (line 2.d) that enables IterInput: initial solution s atedLocalSearch to continue search1. b = s ing after VND has returned a locally optimal solution. The Diversify 2. while (! stop) function typically changes the solu(a) s = VND(s) tion more drastically than our move (b) Combine(s,b) operators, and the change is gener(c) s = Accept(s, b) ally not improving the objective value. (d) s = Diversify(s) The desired effect is that the starting point solution for the next local 3. Return b search is outside the well of attracFigure 2: Pseudo-code for ILS tion of the previously returned local optimum. Since the topology of the search space in general is unknown, it is difficult to analytically determine the degree of perturbation of the solution that is necessary to achieve this escape. We therefore introduce a heuristic mechanism for continuous adaptation of diversification strength. The details of the function Diversify will be given in Section 2.4. 2.3

Implementation of Combine

When the function VND returns a solution s as described in Figure 2, s represents a locally optimal solution that may, or may not, be better than the best 121

found solution so far, b . However, even if s is worse than b , there may be parts of s that are better than corresponding parts of b . The last run of VND may have discovered some good partial solution structure that is compatible with b , but that is not present in b . Since s is worse than b , this information would be lost in a standard ILS meta-heuristic. This is a waste of computing effort that we wish to amend by introducing a simple combination operator on the two solutions. Let us illustrate how this can be done by taking the Travelling Salesman Problem as an example. Let b = {0, 6, 4, 7, 2, 3, 1, 5, 8, 9, 10, 11, 12}, and s = {0, 6, 2, 4, 7, 3, 1, 5, 12, 11, 10, 9, 8} be two solutions to a problem instance. Assume that b is better than s because the partial sequence {..8, 9, 10, 11, 12} is very much better than {..12, 11, 10, 9, 8}. Assume also, that the sub-sequence of s, {. . .2, 4, 7. . .} is better than the sub sequence in b , {. . .4, 7, 2. . .}. Apart from these differences, s and b are identical. Since the last two sub sequences contain the same elements, and are preceded and followed by the same elements in both solutions, we can freely replace the sub-sequence of b with the sub sequence from s (remember that we are not considering any explicit constraints in this simple example). This improves b , while keeping it as a valid permutation. The computational effort of finding s is therefore not wasted, even if s is not an improvement over b . b is improved anyway. Symmetrically, the returned local optimum s may be improved by looking for better and compatible sub-structures in b , before the two solutions are compared by the Accept-function in Figure 2. Note that for the Travelling Salesman Problem, this combination mechanism has a similar function as the tour merging mechanism used by for example [6]. However, while their implementation is based on solving a reduced Travelling Salesman Problem constructed from a pool of solutions, our implementation focuses on extracting interchangeable partial solutions between two given solutions. In our case, we use this combination mechanism as an integrated part of our restart ILS implementation. Although our implementation is for permutation problems, the same idea may be applied to solutions to many kinds of optimisation problems. However, it is a requirement that different parts of the solution are independent in the sense that the total objective value for the solution is calculated as the sum of contributions from such parts. It must also be checked that exchanging partial solutions between s and b leaves both solutions feasible with respect to the constraints. For some problems, as for example our simple permutation problems, this is ensured 122

by the modelling, and does not need to be checked explicitly. In Section 6.3 we will show how this combination mechanism improves the efficiency of the ILS. 2.4

Implementation of Diversify

As our basic diversification mechanism we chose the so called ‘double-bridge’ move, which has been much used with ILS for the Travelling Salesman Problem [9]. This move is implemented by randomly removing four edges from the (cyclic) permutation. The resulting sub-sequences (s1 , s2 , s3 , s4 ) are re-ordered as (s1 , s4 , s3 , s2 ) to form a new cyclic permutation. Note that the selection of cutting points in our double-bridge implementation is completely random, which is very general, but which is likely to be inferior to a tailored version that exploits domain knowledge for a particular application. Our initial experiments showed that when using this simple perturbation mechanism, the subsequent local search very often returned to the previous local optimum, or another recently visited local optimum. The corresponding search effort was therefore wasted. To minimize this problem, our diversification applies a number (x) double-bridge moves at each ILS iteration. If the last found local optimum already exists in a list of recently found local optima, x is increased with an amount that increases with the number of (ILS) iterations since that optimum was last seen. The local optimum is then added to the list. The list is kept at below a maximum length (5 in our experiments), if necessary by deleting the oldest entry. If a local optimum is returned that is not in the list, x is decreased with the current list length (but with a minimum value of 1). This adaptive diversification strength reduced our algorithm’s cycling in the search space, and improved our search results considerably.

3

Restart and combination of solutions

The ILS algorithm tends to stagnate after a while, giving less improvement per time unit than what can be expected for a stochastic process [12]. We make a simple amendment to this by performing a soft restart [20] of the ILS at regular intervals, each from a new random solution. The interval length is set to n iterations, where n is the size of the permutation problem. Again we use our combination mechanism. Before each re-start, we try to combine the best solution from the last ILS with each solution that has been found in previous searches. The point of combination of solutions at this level is that run with ILS may discover different partial solution structures. It may, therefore, be that a new returned solution 123

from the latest run with ILS can be further improved by using some sub-structure from one of the previously found solutions in the pool. Although our experiments show that this does not happen very often, it does occur. The computational effort is insignificant compared to a search with ILS. Note that we do not let the combination of solutions modify the previously found pool solutions. This is because we want to keep the diversity that is represented in the pool; such modifications would make the solution pool more and more homogenous.

4

Parallel move evaluation

The efficiency of a local search algorithm depends heavily on the complexity associated with evaluating moves in a neighbourhood at each search step. Since neighbourhood evaluation is normally computationally expensive, many sequential methods explore neighbourhoods only partially, for example by random sampling, accepting the first found improving move (‘first improvement’ search), or applying some kind of neighbourhood reduction technique. In this study, however, we consider the case when all neighbours are evaluated, and the best is chosen as the next incumbent solution. This is sometimes called ‘steepest descent’ or ‘best improvement’ search. The normal Descent function traverses the entire neighbourhood sequentially at each iteration. Each possible move is evaluated based on the change it would incur to the objective function value. The computational complexity of sequential neighbourhood evaluation is proportional to the size of the neighbourhood. For both our neighbourhoods the size is of order O(n 2 ), where n is the length of the permutation. In this section, we show how a neighbourhood can be evaluated in parallel. We demonstrate what effect this has on the total search performance by comparing sequential and parallel neighbourhood exploration in an otherwise identical search algorithm. To achieve this we use a modified descent algorithm that we call DescentWithParallelEvaluation. This is identical to the normal Descent function, except that at each iteration the evaluation of moves is distributed among a large number of GPU kernel threads, each of which evaluates one move. The kernels threads are in reality grouped in blocks, and the moves in each block—or actually each ‘warp’—are evaluated in parallel. These complications are hidden by the CUDA programming interface, and the program code can be written as if all calculations are done simultaneously. The speedup compared to sequential

124

evaluation is significant. As reported in Section 6.1, using DescentWithParallelEvaluation instead of the basic Descent speeds up the average computation time by a factor of more than 70. Note, however, that since the number of processors on the GPU is finite, the computation time is still of order O(n 2 ). Once the parallel evaluation is done, the GPU kernel code extracts the best move in each thread block. The selection of the overall best move is then done by sequentially comparing the best moves from each block. This is done on the CPU, and the total computational complexity of the move selection is also of order O(n 2 ). Even though the concept of parallel move evaluation is very general one should note that there are some limitations. The method requires that the code for evaluating all objectives and constraints for each individual move is quite simple, as a single GPU kernel thread is slower than a typical CPU. Also, evaluation should not involve too much data transfer between the host memory and the GPU memory, as this represents a considerable overhead.

5

Parallel search

As mentioned in Section 2.1, traditional best improvement Descent iteratively applies the best improving move, m ∗ ∈ M sk , where k is the move operator and s is the current solution. We define two moves m1 , m2 ∈ M sk to be independent under k if the three solutions s1 = m1 (s ), s2 = m2 (s ), and s3 = m1 (s2 ) = m2 (s3 ) are feasible, and the objective values satisfy ( f (s) − f (s1 )) + ( f (s) − f (s2 )) = f (s ) − f (s3 ). The idea behind the parallel search algorithm that is presented below is that a set of pairwise independent moves can be applied simultaneously to achieve a objective value improvement equal to the sum of the improvements associated with each move. A set of rules can be formulated for each move operator to determine if two moves are independent. The dependency rules for the operators that we use in this paper are defined in Section 5.3. 5.1

Parallel Descent

We now formulate a new parallel version of the core descent search algorithm (see Figure 3). This algorithm is a further refinement of DescentWithParallelEvaluation, and like that function, it uses a parallel evaluation of all possible moves (line 2.a in Figure 3).

125

ParallelDescent, however, selects a set of independent improving moves 1. b = s in each iteration (SelInde2. do pMoves, on line 2.c), which are then all applied sim(a) moves = nh.EvaluateAllMoves(s) ultaneously (ApplyAll on (b) imp_moves=ExtractImproving(moves) line 2.d). (c) sel_moves=SelIndepMoves(imp_moves) The actual selection (d) s.ApplyAll(sel_moves) of independent improving (e) if( s.value < b. value) moves (function SelIndepMoves) is described in deb = s tail in Section 5.2. Ini(f) else tially, we tried implementreturn b ing both move selection and move application on Figure 3: The parallel Descent algorithm. the GPU to avoid copying information about moves back to the host. However, it turned out that a simple sequential selection heuristic implemented on the CPU was more efficient. This is because the number of improving moves on average is quite low, and the GPU’s parallel computation capacity could therefore not be well exploited. Also, the CPU is a more powerful processor than the GPU multiprocessors. For the same reason, once we had already accepted the overhead of copying move information back to the host, it was also beneficial to implement a sequential application of the few selected independent moves in the ApplyAll function on the host. The function ExtractImproving (line 2.b in Figure 3) uses the GPU-based compacting functionality found in the CUDPP Cuda library (see gpgpu.org/developer/cudpp) to return a list of improving moves based on the parallel evaluation. Note that selecting and applying a set of independent simple moves is equivalent to selecting and applying one compound move from a neighbourhood that consists of all possible combinations of pair wise independent ‘simple moves’. If, as for our simple neighbourhoods, the basic neighbourhood has a size that is polynomial in the problem size, such a ‘compound move’ must be selected from a neighbourhood of non-polynomial size. For our case, the basic neighbourhoods

ParallelDescent Input: initial solution s, type of neighbourhood, nh

126

have size l = n 2 . If it is theoretically possible to select at most k independent moves out of these, then the size of the compound neighbourhood will be of order

k k l   O k =O

i =1

i =1

l! i!(l − i )!

(2)

The value of k will of course depend on n, and on the defined move dependency rules. Instead of selecting among all such compound moves, we select a set of independent simple moves only from the set of improving simple moves. This corresponds to a drastic reduction in the corresponding compound neighbourhood. Several authors have investigated exponentially sized neighbourhoods with special structure or properties that allow them to be explored in polynomial time [7]. A survey of search methods using such neighbourhoods, often called Very Large Neighbourhood Search, is presented by Ahuja et al [1]. In particular, our strategy is similar to the strategy applied by ‘Dynasearch’ [5], in the sense that both rely on selecting a set of independent simple moves to construct ‘compound moves’. In Dynasearch, however, the set of independent moves are selected exactly by a dynamic programming algorithm. To achieve this, Congram et al [5] use approximate, simplified, dependency rules. Similarly, Ergun et al [8] also use a weak definition of swap move dependency for the Travelling Salesman Problem, defining only moves that span overlapping ranges of indices to be inter-dependent. Obviously, this strategy excludes many combinations of moves that are, strictly speaking, independent. In the present work, we have chosen a different strategy. Instead of using an exact solution method to an approximate move dependency problem, we apply a heuristic solution method to the selection problem resulting from an exact move dependency definition. This means that our dependency rules are complete and exact, allowing for example independence between two nested 2-opt moves (see Section 5.3 for details). 5.2

Selecting a set of independent improving moves

Intuitively, the parallel application of moves should give a speed-up in the search that is proportional to the number of moves applied at each iteration. However, there is a computational cost associated with the selection of these moves. The dependency rules for the move operator defines a dependency graph G(V , E), 127

where the vertexes V represents the improving moves, and the edges, E, represents dependencies between them. The selection of pair wise independent improving moves can be viewed as a maximum weight stable set problem in G. For a general graph (we have no á priori knowledge of the structure of the graph, since this is completely determined by which moves in the neighbourhood that is found to be improving), this problem is the weighted version of the maximum stable set problem, which is known to be NP-hard [14]. To achieve a reasonable scalability, we therefore chose to implement an approximate—heuristic—selection method. Pseudo-code for the sequential selection function SelIndepMoves is given in Figure 4, which should be self-explanatory. The parameter n_passes determines the number of passes through the comparison loop. More passes will give better results, but at the cost of increased computation time. In the experiments in Section 6 we have used n_passes = 1, because our initial experiments showed that this gave the best overall performance for the algorithm. 5.3

Dependency rules

Dependency rules for a certain type of move depend not only on move operator definitions, but also on problem constraints, how the solution is modelled, and what the objective function is. For very rich, real world problems, evaluating constraints and objectives may also involve propagating some entity (for example time or resource capacity) through parts of the solution. Such propagation will typically increase the connectivity of the move dependency graph. In this paper, we base the dependency rules on the assumption that the (cyclic and reversal-symmetric) permutation problem has no additional constraints. For such problems, all constraints are handled implicitly by the modelling. Assuming that (1) holds (as for the Travelling Salesman Problem), we can formulate the following dependency rules: • For the Relocate neighbourhood, two moves, Rel(i,j) and Rel(k,l), are considered dependent if and only if |i − k| ≤ 1 ∨ |i − l | ≤ 1 ∨ |k − j | ≤ 1 ∨ j = l . • For the 2-opt neighbourhood, two moves, 2-Opt(i,j) and 2-Opt(k,l) are considered dependent if and only if and only if i < k < j < l ∨ k < i < l < j ∨ k = j ∨ k = i ∨ l = i ∨ l = j . Note that this allows for independence between nested 2-opt moves.

128

SelIndepMoves Input: moves, n_passes for pass = 1 to n_passes for i = 1 to moves.Size m = moves[i] m_lost = false for j = 1 to selmoves.Size sm = selmoves[j] if(m.ConflictsWith(sm)) if(m.value χ p is the chosen completion date for the project. H p ≥ D p is a hard upper limit on c p ; ∞ if not applicable. D p , χ p , and c p are all given as integer number of days relative to Figure 1: OW , with χ p = 0, D p = 40, H p = 50, and λ = 10. χ p 1. Our test instances have λ = 10. The waiting time objective is a normalised sum over these project contributions OW =

 p 1 O (1 + λ) | | ˜ W

(5)

p∈

The planner often tries to schedule certain patients, such as small children or patients with diabetes, early in the morning. We model this ‘children early objective’ as a ‘target time of day objective’, as follows:

 1  i OT = γ Γ (i ) (6) z | T | ˜ i ∈ p ∩ T p∈

Here, τi is the (early morning) target time of day for activity i , z is the number of time units in a day, and Γ (i) is the absolute difference between τi and the planned time of day of i.  T ⊆  is the set of activities that are involved in the objective, usually the surgery activities of the relevant patients. Relative importance is weighted with 0 < γ i ≤ 1, for example based on age. Finally, to keep any slack towards the end of each day, we include a ‘finish early in the day’ objective. This can be regarded as a kind of makespan objective within a set L of pre-defined time intervals, for a set  o ⊆  of selected resources such as the operating rooms: OE =

1



| o | ρˆor r ∈ o

ρr

 l ∈L

ε lr − ϕ rl



(7)

Here, ε lr is the latest finish time of any activity that uses resource r in interval l , while ϕ rl is the earliest possible start time for such activities. ρ r is a weight that may be used to differentiate between the resources in  o , and ρˆor = M ax r ∈ o ρ r . Note that each objective component is scaled to be in the region [0, 1], so that the weights in (2) has an intuitive impact on the relative importance of the various components. 152

2.4

Some typical GOSSP problems

To illustrate how the GOSSP model applies to real world surgery scheduling problems, we present examples from three typical planning situations: admission planning, ‘one week scheduling’ and ‘one day scheduling’. While these planning situations are ubiquitous, the precise form of each scheduling problem varies significantly between hospitals. The problems that we present here are from the hospital in our case study, and are used in the experiments in Section 4. The admission problem Our admission planning problem typically contains several hundred projects (patients), that are scheduled on a three months planning horizon. The surgery i is the only activity in each project;  p = {i} , ∀ p ∈  . The set of resources  contains surgeons and operating rooms. For each surgery i , and each mode m ∈  i ,  m contains one surgeon and one operating room, both with capacity one. The surgeon has to have the necessary skills to perform surgery i , and the operating room must have the necessary physical properties and equipment. The total set of modes,  i , is constructed from all combinations of such surgeons and rooms. Surgery durations depend on the surgery procedure, the health and age of the patient, and on the chosen mode. The resources availability intervals for surgeons and operating rooms represent daily working hours and opening hours, respectively. Block constraints are modelled by defining, for each operating room r , the subset of resource availability intervals, i r ⊆ r , that may be used to perform surgery i. Usually, such an admission planning problem only includes the choice of mode and day of surgery for each patient. However, based on the reasoning in Section 1, we integrate day assignments and scheduling decisions and choose surgery start times as well. There are three objective components; Patient waiting time (5), Children early in the morning (6), and the Unscheduled objective (3). The internal weighting between patients in the Children early in the morning objective is inversely proportional to the patient’s age, and zero for patients above a certain age (adults). The weekly problem The weekly surgery scheduling problem is modelled in a similar way, but includes three activities per project: surgery, recovery, and the cleaning of operating rooms 153

(| p | = 3, ∀ p ∈  ).  contains several surgeons, several operating rooms, one recovery unit, and one ‘cleaning personnel’ resource. The surgeries have the same modes as in the admission planning problem. The recovery activities have only one mode, with demand 1 for the recovery unit resource, which has capacity 4. The room cleaning activities have modes that combine an operating room with the cleaning personnel resource, where the latter has capacity to clean three rooms simultaneously. The duration of the room cleaning activity depends on the surgery procedure, and whether the patient has an infection. Project modes are used to model that the surgery and room cleaning activities use the same operating room. That is, for each project p ∈  , each w ∈  p contains a different operating room, r w . The set of compatible modes for a surgery, or room cleaning, activity   i ∈  p , is wi = m ∈  i |r w ∈  m . The planning horizon is one week, and again both the day assignment and the scheduling decisions are included in the problem. The objective components include those of the admission problem. In addition a component Finish early in the day (7) is added to promote schedules where any slack is kept at the end of each day for each operating room. The daily problem This is a very detailed surgery scheduling problem, with a planning horizon of one day. In addition to the resources of the weekly problem,  contains several surgical teams. Each team consists of surgery nurses, anesthesia nurses, and an anesthesiologist. For each patient p,  p contain the activities of the weekly problem, as well as a number of additional activities: pre- and post-anesthesia preparation of the patient, preparation of the necessary equipment, removal of any superfluous equipment from the operating room (in instances with infected patients), waking the patient, removal of used equipment, and the transportation of the patient to the recovery unit. The teams are defined to have capacity 3, as they contains at least three nurses. Different activities have different demands for the team resource. For example, the surgery requires the full team capacity, while the transportation of the patient demands only one resource unit. Again, the project modes in  p are defined to ensure mode consistency. Each w ∈  p contains an operating room and a team, and these resources must be shared among all i ∈  p that uses such resources. The objective function is the same as for the weekly problem.

154

3

Algorithms

A solution to the GOSSP model represents several types of decisions: A subset of projects ˜ ⊆  must be chosen to be scheduled. A project mode w ∈  p must be chosen for each project p ∈ ˜ , and a compatible activity mode m ∈ wi must be chosen for each activity i ∈  p . For each activity i, a resource availability interval in ri must be chosen for each resource r ∈  m . Finally, a feasible start time ti must be chosen for each activity i. Many iterative search algorithms for the classical RCPSP use a high level solution representation, usually giving an order in which the activities should be inserted to build a complete schedule. A ‘schedule generation scheme’ is then used to construct the actual schedule. These algorithms work by iteratively modifying the high level solution representation. In the GOSSP, there are typically very many projects, with only a few activities in each. As mentioned above, the activities in each project are often tightly constrained by maximum time lag constraints. This, together with the project disjunction constraints, makes it difficult to feasibly insert individual activities into a schedule, without inserting all the project’s activities together (note that this property of the problem would make it difficult to employ a local search that work directly on the schedule; see [4] for an example of such an algorithm). The presented algorithm, therefore, inserts entire projects at the time into the partial schedule, and our high level solution representation determines the project insertion order. Activity insertion orders are chosen as a part of our schedule generation scheme, as will be explained in Section 3.2. We assume that there are no time constraints between projects. 3.1

An adaptive construct and improve algorithm

We here present an iterative search algorithm for the GOSSP, which we will label ‘ACI’. This heuristic algorithm maintains a pool of schedules, where each schedule is stored together with the project insertion order from which it was created. At each iteration, the algorithm attempts to either create a new schedule from scratch, or to improve an existing schedule based on a modification of the associated project insertion order. The balance between construction and improvement is governed by an on-line learning mechanism, based on how often each of the two actions contribute a ‘good’ schedule to the pool (as measured by objective value 155

relative to that of the best solution in the pool). A similar learning mechanism is used to select parameters for the schedule generation scheme. These parameters govern how project modes and activity modes are chosen: by best objective value, by earliest project completion time, or by simply using the first mode that gives a feasible insertion. These on-line learning strategies allow us to apply the algorithm to a range of structurally different GOSSP instances without further parameter tuning. A pseudo code for the ACI algorithm is given in Procedure 1. The funcProcedure 1 The adaptive construct and improve algorithm (ACI). 1: function ACI 2: P oo l ←  3: while !s t o p do 4: me t h od ← S e l e c t C on s t r u c t O r I m p r ov e() 5: if me t h od = CONSTRUCT then 6: Π ← O r d e r B y P r i o r i t y Sa m p l i n g ( ) 7: S ← B u i l d S c h e d u l e(Π, S e l e c t Pa ra m s()) 8: else 9: do 10: (Π, S) ← P oo l .S e l e c t P r o mi s i n g () 11: Π ← M od i f y I n s e r t i onO r d e r (Π, S) 12: while Π = Π 13: S ← B u i l d S c h e d u l e(Π , S e l e c t Pa ra m s()) 14: U p d a t e Lea r ni n g (S ) 15: P oo l .Ac c e p t (Π , S ) 16: return P oo l .B e s t S c h e d u l e()

tion starts with an empty pool. The iteration loop starts at line 3, and runs until some stopping criteria is met. In each iteration of this loop, the choice between construction and improvement is made by roulette wheel sampling based on the degree of recent success for each method (line 4). Not surprisingly, we observe in our experiments that construction is typically chosen more often in the beginning, while improvement is chosen more often later in the search. However, this behaviour varies between different problems, as well as between individual instances of the same problem. If construction is chosen, a new schedule is created from scratch as follows: first, on line 6, a project insertion order Π is generated by roulette wheel sampling based on each project’s ‘priority weight’. These weights are calculated based on the importance of scheduling each project early. Projects that are likely to 156

contribute significantly to the objective function if they are scheduled at the wrong time, or that are difficult to schedule at all because of tight time constraints, gets a higher priority weight than others. Having thus established Π , a new schedule S is then constructed (line 7), using the function BuildSchedule which will be discussed in Section 3.2. The parameters that govern how modes are chosen are selected by the function SelectParams, based on the recent success of each set of parameters. If improvement was chosen instead, a previously constructed schedule S is selected from the pool (line 10), along with its associated insertion order, Π. Better schedules are selected with a higher probability. The function ModifyInsertionOrder is then called to modify the insertion order (Π → Π ). Section 3.3 will explain how this is done. If no modification is obtained for Π, ACI keeps selecting (Π, S) pairs from the pool until one Π can be successfully modified. It then goes on to build the corresponding schedule, again using the function BuildSchedule (line 13). Again, the parameters for the function are selected and given as input. On line 14, the two learning mechanisms are updated based on the success of the method and schedule generation parameters that were chosen in the current iteration. Note that in S , some projects may still be unscheduled (˜ S ⊂  ). Line 15 enforces a maximum size limit on the pool, and ensures that it contains the best order/schedule pairs found so far. Finally, ACI returns the best schedule in the pool at the time of termination. Note that the actual code implements parallel schedule constructions/improvements to exploit multi-core CPU’s. For simplicity, however, the pseudo code in Procedure 1 shows a sequential version. 3.2

Schedule generation

This section describes the function BuildSchedule and the schedule generation scheme that it employs. The pseudo code for the function is illustrated in Procedure 2. The function takes as input a project insertion order Π and a set of arguments that are also passed on to the underlying schedule generation scheme. For each project p ∈ Π, an activity insertion order π p on  p is created by the function RandomInsertionOrder (line 3). This insertion order is generated randomly, but in a way that ensures that if the project graph of p defines a minimum delay between activities i and j , then i must precede j in the insertion 157

Procedure 2 The function BuildSchedule 1: function B UILD S CHEDULE (Π, pa ra ms ) 2: for all p ∈ Π do 3: π p ← Rand o mI n s e r t i onO r d e r ( p) 4: w∗ ← n u l l 5: for all w ∈  p do 6: if SGS(S, p, w, π p , pa ra ms ) then 7: w ∗ ← Ac c e p t (S, w, pa ra ms) 8: if pa ra ms .U s e F i r s tW o r ki n g P r o j M od e then 9: break 10: else 11: Remove(S, p) 12: if w ∗ = n u l l then 13: SGS(S, p, w ∗ , π p , pa ra ms ) 14: return S

order. For typical surgery scheduling problems, the number of different activity insertion orders that satisfy this requirement are few. A search in possible project modes is carried out in the loop starting on line 5, and a project insertion is attempted with each project mode w, using the schedule generation scheme that will be discussed in Section 3.2 (line 6). Depending on the given set of parameters pa ra m s, either the resulting project finish time or the objective value of the resulting partial schedule is used to evaluate whether w will be accepted as the new ‘best’ mode w ∗ (line 7). If the parameters so dictate, the function goes on to the next project once a feasible project mode has been found (line 9). If a feasible best project mode was found, we insert the project in that mode (line 13) before moving on to the next project. If not, the project is left unscheduled. The function finally returns the constructed schedule. A schedule generation scheme for the GOSSP All the complicated details of the function BuildSchedule are hidden in the underlying schedule generation scheme, represented by the function SGS (lines 6 and 13 in Procedure 2). What follows is a brief description of the schedule generation scheme we use, and how it relates to earlier work. Inserting all activities of the given project p into the partial schedule in the given order π p , the SGS function follows the general structure of the ‘serial schedule generation scheme for the MRCPSP/Max’, using un-scheduling steps to handle maximum time lag violations [26, 31, 39]. The main difference is that our SGS function also involves the choice of resource availability intervals, and that it considers additional 158

constraints such as mode consistency and project disjunction constraints. Activity modes are chosen from the set of activity modes that are compatible with the given project mode. We found that selecting the activity mode as an integrated part of the schedule construction drastically increases the probability of a successful project insertion, compared to first making some feasible selection of all project and activity modes, and then scheduling the activities. This is especially true when the problem is tightly resource and time constrained. This observation is consistent with the discussion in [39], in which these two approaches are called the ‘integration method’ and ‘sequential method’, respectively. Depending on the selected input parameters to the function, the acceptance of a feasible activity mode is based on either the estimated resulting project finish time, the estimated resulting objective value, or simply in a ‘first improvement’ fashion. A small example We can illustrate the functions BuildSchedule and SGS with a small example: Let  = {a, b }, with resource availability intervals a = {k1a , k2a } and   b = k1b , respectively. Let k1a span the time interval [4, 12], which falls on day 1 of the planning period. On day 2, k2a spans [16, 22] and k1b spans [13, 19]. All the resource availability intervals have capacity 1. Let  = { p1 , p2 , p3 , p4 }, where each project p ∈  has an identical structure: The set of project modes  p p p p  p = w1 , w2 , where w1 uses resource a, and w2 uses resource b . Each pro  ject p has two activities,  p = i p , j p , with finish-to-start time constraints as illustrated to the left in Figure 2. Both activities have two modes, one that uses a p p and is compatible with w1 , and one that uses b and is compatible with w2 . Both activities have duration 2 for all modes, and all resource demands are 1. Now, assume that BuildSchedule is called with the project insertion order Π = { p1 , p4 , p3 , p2 }, and that modes should be selected based on objective value. The resulting schedule is shown in Figure 2. p1 has been scheduled first, and as early as possible. The project mode using a was chosen because it gave the best value for the waiting time of p1 (4). The same consideration was made for p4 . Note that p4 could not be scheduled on a in the resource availability interval k1a , because that would require i4 to be scheduled between i1 and j1 , which would violate the project disjunction constraint on a. Nor could p4 be scheduled with i4 after j1 in k1a and with j4 in k1b , because this would violate the mode consistency 159

Figure 2: To the left, the project graph structure that is common to all projects in the example. j has to start at least 2, and at most 3, time units after the end of i . To the right, the schedule resulting from BuildSchedule with the insertion order Π = { p1 , p4 , p3 , p2 }. For this schedule, ˜ = { p1 , p3 , p4 } .

constraint; activity modes must be chosen so that they are compatible with the chosen project mode, which in this example means that both activities must use the same resource. The SGS function first attempted to insert i3 at the end of k1a and then to insert j3 in k2a . However, this violated the maximum time lag constraint. The SGS therefore performed a ‘back planning’ step, where both activities were removed from the schedule, and then proceeded to insert both activities in k2a . There was no room left to schedule p2 . 3.3

Iterative modification of the project insertion order

The improvement functionality in ACI (Procedure 1) is based on the idea that it is easier to schedule a project in a good way if it is early in the project insertion order. The function ModifyInsertionOrder modifies an input project insertion order Π by moving those projects that contribute the most to the objective value of the associated schedule to earlier positions. For the purpose of bookkeeping during the improvement process, Π has an associated vector Π.E P of the earliest positions that was ever tried for each project. This vector is initialised when the schedule is first added to the pool along with its project insertion order. A pseudo code for the function is given in Procedure 3. First, a small set of ‘bad’ projects that contribute the most to the objective value of S are chosen by function SelectAndSort (line 3). These are sorted, first according to their (increasing) earliest position (as given in Π.EP), and second according to their (decreasing) contribution to the objective function. Then, ModifyInsertionOrder attempts to move each selected project p to

160

Procedure 3 The function ModifyInsertionOrder 1: function M ODIFY I NSERTION O RDER (Π, S ) 2: Π ← Π 3: b ad P s ← SelectAndSort(Π.E P, S) 4: for all p ∈ b ad P s do 5: pos ← Π.E P [ p] − 1 6: if pos ≥ 0 then 7: Π .MoveTo( p, p o s ) 8: Π .E P [ p] ← p o s 9: Π.E P [ p] ← p o s 10: return Π

the position immediately before its earliest tried position, Π.E P [ p] (line 5). If Π.E P [ p] = 0, p is not moved. If two projects would be moved to the same position, then the last to be moved is put in the next (later) position. The earliest position for p is updated for Π (line 8). On line 9, the vector of earliest positions that is associated with the original insertion order Π is also updated. This is done to avoid that the overall algorithm repeats the same steps if (Π, S) is selected for improvement again. Finally, the new insertion order Π is returned. To illustrate Procedure 3, let us return to our simple example from Section 3.2. It should be obvious from Figure 2 that in this example, the first project in the insertion order will always be scheduled on day 1, the next two will be scheduled on day 2, while the last project will not be scheduled. Now, let the projects have the following unscheduled costs (3): β p1 = β p2 = β p3 = 10, and β p4 = 1. This indicates that p4 should be the project that is not scheduled in the optimal solution. Each project p has reference date χ p = 0, while the due dates are D p1 = D p2 = D p4 = 100 and D p3 = 2. Project p3 is therefore much more urgent than the others. We let the objective function be O = 100 OU + OW . Now, assume that as the algorithm starts, the schedule in Figure 2 is constructed (let’s label it S0 ). This is then stored in the pool together with its project insertion order Π0 = { p1 , p4 , p3 , p2 }, where Π0 .E P = [0, 3, 2, 1]. The objective value is O(S0 ) = 33.29. Table 1 illustrates the subsequent steps of the improvement algorithm. Each row shows the input and output for one call to ModifyInsertionOrder. In each call, the algorithm will select those two projects that contributes the most to the objective function. In the first call, SelectAndSort (Π0 .E P, S0 ) selects p2 and p3 . p2 has a high contribution (32.26) because it is un-scheduled. p3 gets a high contribution from OW because it is the most urgent 161

Input

Π.E P

badPs

Π

EP

O(S )

S0 /Π0 S1 /Π1 S1 /Π1

[0, 3, 2, 1] [0, 2, 1, 1] [0, 2, 1, 0]

p3 (1.00), p2 (32.26) p4 (3.23), p3 ( 1.00) p4 (3.23), p3 ( 1.00)

{ p1 , p3 , p2 , p4 } { p4 , p3 , p1 , p2 } { p3 , p1 , p2 , p4 }

[0, 2, 1, 1] [0, 2, 1, 0] [0, 1, 0, 0]

4.26* 33.27 3.77*

To pool as S1 /Π1 S2 /Π2 S3 /Π3

Table 1: Modifications to input project insertion orders from the pool, made by ModifyInsertionOrder. In the third column, the projects to be moved are given in the order they will be moved (b ad P s). The parenthesis contains each project’s contribution to the objective value of the input schedule. New best objective values are marked by a *.

project, and it is scheduled on day 2. These two projects are then sorted in the order { p3 , p2 }, because Π0 .E P [ p3 ] < Π0 .E P [ p2 ]. They are stored in b ad P s in this order (line 3 in Procedure 3). After the modification of the insertion order, the new earliest tried position for p3 is 1, while the new earliest tried position for p2 is 2. In the second call, SelectAndSort(Π1 .E P, S1 ) selects p3 and p4 . These projects have the same earliest tried position (Π1 .E P [ p4 ] = Π1 .E P [ p3 ] = 1), but are sorted as { p4 , p3 } because p4 , now unscheduled, contributes more to the objective value of S1 . The position of p4 is therefore adjusted first, and set to 0. The new position for p3 would also be 0, which is not possible. p3 therefore gets position 1, and the earliest tried position for p3 is left unchanged. The third call is a new attempt to modify Π1 , which the ACI algorithm selected instead of Π2 because O(S1 ) < O(S2 ). Therefore, b ad P s is also the same as in the previous step. In this step, however, only p3 is actually moved, because now Π1 .E P [ p4 ] = 0. The resulting S3 is the optimal schedule, where p3 is scheduled on day 1, and p4 is unscheduled.

4 4.1

Experiments Test instances

We present a representative set of realistic test instances that together should give a good indication of the model’s performance. These are taken from the three important planning situations that were introduced in Section 2.4; admission planning, the weekly problem and the daily problem. The test instances all use the actual resource configuration of a surgery department in Bærum Sykehus, a medium sized Norwegian hospital. However, due to legal constraints on using real 162

patient data, the patients themselves are generated by our test instance generator. The weekly instances normally have about 40 patients per week. As this is a quite small surgery department, we also created an artificial set of problem instances with 80 patients per week. For these instances, we simply duplicated all operating rooms and surgeons, and doubled the capacity of the recovery unit and the cleaning personnel. The admission planning instances each contains 728 patients. The test data are available on-line in the XML format of the GOSSP project scheduling model [51]. Objective function lower bounds In order to assess the quality of our computational results, we have calculated objective value lower bounds for each test instance. The details of how this is done is outside the scope of this paper, but we present here the general ideas. The lower bound for the Children early in the morning is calculated analytically by determining the minimum time between the start time of each of the relevant activities and their respective target times early in the morning. This minimum is taken over all possible resource availability intervals in which the activity can be scheduled. Time constraints are taken into account, as is the sequencing of pairs of activities in the same project that cannot be scheduled in parallel due to resource capacity limitations. The two remaining objectives, Patient waiting time and Finish early in the day, are in obvious conflict. To calculate their lower bounds individually and use the weighted sum would therefore be inferior to a good lower bound for the weighted combination of these objectives. To calculate a lower bound for this combination, we define a suitable relaxation of the GOSSP, which can be outlined as follows: We consider only the project disjunct resources  (see section 2.2), which for our test instances are the operating rooms. For each project p ∈  , we replace  p with a single ‘project disjunct block’, b p , representing the sub set of activities that use the operating room. We exploit the fact that for all the test instances, each project mode uses exactly one operating room. The choice of project- and activity modes in the original problem is thus reduced to selecting, for each b p , a resource r ∈  . The resource dependent duration θˇbr p of b p is calculated as the minimum time from start to finish all the activities in b p , taken over all project and activity modes that uses resource r . The choice of activity start times is replaced

163

p

p

with binary variables xk , which represent the choice (when xk = 1) of resource availability interval k ∈ r for b p . Since project disjunct blocks per definition cannot be scheduled in parallel on a project disjunct resource, the original capacity  p constraints can be replaced by the constraint: p∈˜ xk θˇbr p ≤ δ k ∀k ∈ r , ∀r ∈ k  , where δ is the duration of k. The relaxation was formulated as a quite standard mixed integer linear program (MILP), and solved using a commercial solver (CPLEX). For the larger test instances, even this simplified model cannot be solved to optimality within a reasonable time. In such instances we use the best found integrality relaxation as our lower bound. Note that all lower bound calculations assume that all projects can be scheduled. 4.2

Computational results

All experiments were carried out on a Dell Precision M4800 laptop, running 64 bit Windows 7 on an Intel i7-4930MX CPU, and with 32Gb RAM. Computational results for the three problem classes are given in Tables 2, 3, and 4. The instance names indicate the number of projects; for example, w40_01 is a weekly problem instance with 40 projects). Since our algorithm is by nature randomized, we ran our algorithms 10 times for each instance and report the maximum, minimum and average solution value at the chosen computation time limits. These time limits are set to reflect the patience of the user in each planning situation; 5 minutes for admission planning and week planning, and 2 minutes for the day planning instances. Furthermore, we report the best known value (U B) and the lower bound (LB) for each instance. The best known values, or upper bounds, are based on all our runs, some using considerably longer running times. For all instances, objective values larger than 10000 arise from the Unscheduled objective. This happens for some of the week and admission instances. We also report the gap between the average solution value and the lower bound; Ga p = (Av g −LB)/LB. In all the tables, bold face indicates results that equal the upper bounds. Comparing average solution values with lower and upper bounds, we see that the ACI algorithm overall produces good solutions. This is particularly true for the day instances, where the gaps are mostly below 1%. These gaps arise mostly from the Finish early in the day component. This is most apparent for the instance d10_09, which has a gap of around 4%. This instance contains no children, and the gap is dominated by the Finish early in the day component.

164

Instance d10_01 d10_02 d10_03 d10_04 d10_05 d10_06 d10_07 d10_08 d10_09 d10_10

UB 17.056 15.568 20.600 25.436 21.332 16.891 23.762 23.669 5.452 21.293

LB 16.882 15.447 20.473 25.358 21.177 16.770 23.648 23.546 5.244 21.246

Avg. 17.067 15.570 20.612 25.436 21.332 16.897 23.762 23.671 5.453 21.297

Min. 17.058 15.569 20.600 25.436 21.332 16.891 23.762 23.671 5.453 21.295

Max. 17.077 15.572 20.649 25.436 21.333 16.899 23.763 23.672 5.453 21.301

Gap (%) 1.10 0.80 0.68 0.31 0.73 0.76 0.48 0.53 3.98 0.24

Table 2: Results for the daily problem class, after 2 min wall time, based on 10 runs.

The gaps are very small also for most of those week instances for which all patients could be scheduled. An exception is w80_08 which for some reason seems difficult. The larger week instances (80 patients) are solved to approximately the same quality as the smaller ones. For four instances, none of the runs managed to schedule all patients, while for the instances w40_08 and w80_01 only two and one of the runs, respectively, managed to do so. For the admission instances, the gaps are larger. This may be because the bounds are weaker for these instances, since the gaps to the upper bound are still small (1-3%). Recall that the lower bounds for the waiting time objective component is calculated using a MILP that is simplified by ignoring both doctor resources and mode dependent activity durations. This is likely to lead to an optimistically high number of patients per day, and so a quite poor waiting time lower bound. It is natural that this has a more pronounced effect on the admission instances with their long scheduling horizons. Notice that the stochastic variation in solution quality is very low; the gaps between the maximum and minimum values over all runs are typically between 1 and 2 percent, for instances where all patients could be scheduled. Note that all the above experiments were carried out without any off-line parameter tuning; the algorithm relies on the generality of the model, and on the integrated on-line learning mechanism, to produce good results across a range of problems that are quite different in size and structure.

165

Instance w40_01 w40_02 w40_03 w40_04 w40_05 w40_06 w40_07 w40_08 w40_09 w40_10 w80_01 w80_02 w80_03 w80_04 w80_05 w80_06 w80_07 w80_08 w80_09 w80_10

UB 16.867 13.975 67342.019 16.392 12.855 18.599 11.318 18.572 16.267 23816.261 18.557 14.803 15.896 18.158 375016.234 15.999 15.465 15.123 125017.373 12.835

LB 16.711 13.846 16.222 16.241 12.741 18.443 11.143 15.729 16.186 15.211 14.470 14.700 15.722 17.944 16.176 15.881 15.294 14.198 14.202 12.616

Avg. 17.016 13.999 69097.593 16.408 12.869 18.969 11.369 11090.261 16.332 23818.398 112516.096 14.850 15.917 18.387 375018.344 16.015 15.604 16.469 137518.621 13.092

Min. 16.870 13.984 67342.019 16.394 12.856 18.610 11.326 19.082 16.323 23816.484 18.557 14.817 15.896 18.204 375016.329 15.999 15.492 16.086 125018.290 12.835

Max. 17.184 14.021 76117.012 16.434 12.874 19.446 11.414 55368.952 16.340 23820.134 125016.670 15.053 15.941 18.785 375019.156 16.032 15.958 17.067 250014.563 13.904

Gap (%) 1.82 1.11 1.03 1.01 2.86 2.03 0.90 1.02 1.24 2.47 0.84 2.03 15.99 3.77

Table 3: Results for the weekly problem class, after 5 min wall time, based on 10 runs.

5

Conclusions and future work

In this paper, we have presented a model that captures a wide range of real world elective operational surgery scheduling problems. We have shown how this model extends the multi-project, multi-mode resource constrained project scheduling problem with generalised time constraints. Our model contains some necessary such extensions that to our knowledge have not been previously studied. Furthermore, we have presented a search method for solving the proposed model. The algorithm uses on-line learning to balance computational loads between a construction and an improvement method, both working on high level solution representations. A specialised schedule generation scheme is used to map these to concrete schedules. This scheme employs un-scheduling steps and an integrated choice of modes, and handles all the model’s constraints. Our computational experiments used realistic problem instances from three different surgery scheduling planning situations at a medium sized Norwegian 166

Instance a728_01 a728_02 a728_03 a728_04 a728_05 a728_06 a728_07 a728_08 a728_09 a728_10

UB 21.576 22.833 24.516 21.973 5113.876 23.556 22.732 2086.318 24.830 24.475

LB 16.064 16.936 16.876 16.483 16.989 16.520 16.370 16.768 17.848 17.848

Avg. 22.059 23.396 24.745 22.486 7987.307 23.820 23.394 3407.308 25.386 24.897

Min. 21.853 23.255 24.584 22.285 6341.848 23.556 23.256 3148.490 24.990 24.746

Max. 22.231 23.558 24.881 22.663 9397.778 24.027 23.572 4244.573 25.984 25.105

Gap (%) 37.32 38.15 46.63 36.42 44.19 42.91 42.24 39.49

Table 4: Results for the admission problem class, after 5 min wall time, based on 10 runs.

hospital: day scheduling, week scheduling and admission planning. To assess the solution quality, we developed relaxations which showed to be quite tight in many cases. Based on these, and on best known upper bounds, we showed that the algorithm performs well across the different problem classes and instances without any off-line customisation or parameter tuning. We are currently working to generalise the model further, by adding additional constraints and objectives as we find them in different activity scheduling applications in hospitals. Given the modelling complexity and richness of such problems, it seems likely that the resulting model will have applications also in other application domains. We are also researching better lower bounds, particularly for problem instances with very many patients and long planning horizons.

Acknowledgements This work has been supported by the Research Council of Norway, under Grant no. 219335/O30.

167

Bibliography [1] A. Agnetis, A. Coppi, M. Corsini, G. Dellino, C. Meloni, and M. Pranzo. A decomposition approach for the combined master surgical schedule and surgical case assignment problems. Health Care Management Science, 17(1):49–59, 2014. [2] R. Aringhieri, P. Landa, P. Soriano, E. Tànfani, and A. Testi. A two level metaheuristic for the operating room scheduling and assignment problem. Computers & Operations Research, 54(0):21–34, 2015. [3] C. Artigues, S. Demassey, and E. Néron. Resource-constrained Project Scheduling: Models, Algorithms, Extensions and Applications. Control Systems, Robotics and Manufacturing. ISTE, London, UK, 2008. [4] C. Artigues and F. Roubellat. A polynomial activity insertion algorithm in a multi-resource schedule with cumulative constraints and multiple modes. European Journal of Operational Research, 127(2):297–316, 2000. 03772217. [5] A. Barrios, F. Ballestín, and V. Valls. A double genetic algorithm for the mrcpsp/max. Computers & Operations Research, 38(1):33–43, 2011. [6] M. Bartusch, R. H. Möhring, and F. J. Radermacher. Scheduling project networks with resource constraints and time windows. Annals of Operations Research, 16(1):199–240, 1988. [7] J. Beliën and E. Demeulemeester. Building cyclic master surgery schedules with leveled resulting bed occupancy. European Journal of Operational Research, 176(2):1185–1204, 2007. [8] B. P. Berg, B. T. Denton, S. Ayca Erdogan, T. Rohleder, and T. Huschka. Optimal booking and scheduling in outpatient procedure centers. Computers & Operations Research, 50(0):24–37, 2014. [9] J. T. Blake and M. Carter. Surgical process scheduling: a structured review. J Soc Health Syst, 5(3):17–30, 1997.

168

[10] J. Blazewicz, J. K. Lenstra, and A. H. G. R. Kan. Scheduling subject to resource constraints: classification and complexity. Discrete Applied Mathematics, 5(1):11–24, 1983. 0166-218X. [11] F. Bomsdorf and U. Derigs. A model, heuristic procedure and decision support system for solving the movie shoot scheduling problem. OR Spectrum, 30(4):751–772, 2008. 0171-6468. [12] P. Brucker, A. Drexl, R. Möhring, K. Neumann, and E. Pesch. Resourceconstrained project scheduling: Notation, classification, models, and methods. European Journal of Operational Research, 112(1):3–41, 1999. 03772217. [13] N. Bulgarini, D. Di Lorenzo, A. Lori, D. Matarrese, and F. Schoen. Operating room joint planning and scheduling. In Proceedings of the International Conference on Health Care Systems Engineering, pages 127–138. Springer, 2014. [14] B. Cardoen, E. Demeulemeester, and J. Beliën. Sequencing surgical cases in a day-care environment: An exact branch-and-price approach. Computers & Operations Research, 36(9):2660–2669, 2009. 0305-0548. [15] B. Cardoen, E. Demeulemeester, and J. Beliën. Operating room planning and scheduling: A literature review. European Journal of Operational Research, 201(3):921–932, 2010. 0377-2217. [16] S. Chaabane, N. Meskens, A. Guinet, and M. Laurent. Comparison of two methods of operating theatre planning: application in belgian hospital. Journal of Systems Science and Systems Engineering, 17(2):171–186, 2008. [17] J. Charnetski. Scheduling operating room surgical procedures with early and late completion penalty costs. Journal of Operations Management, 5(1):91– 102, 1984. [18] Y.-L. Chen, D. Rinks, and K. Tang. Critical path in an activity network with time constraints. European Journal of Operational Research, 100(1):122– 133, 1997. 0377-2217. 169

[19] B. De Reyck and W. Herroelen. The multi-mode resource-constrained project scheduling problem with generalized precedence relations. European Journal of Operational Research, 119(2):538–556, 1999. [20] E. Demeulemeester, J. Beliën, B. Cardoen, and M. Samudra. Operating room planning and scheduling. In Handbook of Healthcare Operations Management, volume 184 of International Series in Operations Research & Management Science, book section 5, pages 121–152. Springer New York, 2013. [21] B. Denton, J. Viapiano, and A. Vogl. Optimization of surgery sequencing and scheduling decisions under uncertainty. Health Care Management Science, 10(1):13–24, 2007. TY - JOUR. [22] B. T. Denton, A. J. Miller, H. J. Balasubramanian, and T. R. Huschka. Optimal allocation of surgery blocks to operating rooms under uncertainty. Operations Research, 58(4-part-1):802–816, 2010. [23] A. Drexl, R. Nissen, J. H. Patterson, and F. Salewski. Progen/[pi]x - an instance generator for resource-constrained project scheduling problems with partially renewable resources and further extensions. European Journal of Operational Research, 125(1):59–72, 2000. 0377-2217. [24] S. E. Elmaghraby. Activity networks: Project planning and control by network models. Network analysis (Planning). Wiley, New York, 1977. [25] H. Fei, N. Meskens, and C. Chu. A planning and scheduling problem for an operating theatre using an open scheduling strategy. Computers & Industrial Engineering, 58(2):221–230, 2010. [26] B. Franck, K. Neumann, and C. Schwindt. Truncated branch-and-bound, schedule-construction, and schedule-improvement procedures for resourceconstrained project scheduling. OR Spectrum, 23(3):297–324, 2001. [27] F. Guerriero and R. Guido. Operational research in the management of the operating theatre: a survey. Health Care Management Science, 14(1):89– 114, 2011.

170

[28] A. Guinet and S. Chaabane. Operating theatre planning. International Journal of Production Economics Planning and Control of Productive Systems, 85(1):69–81, 2003. TY - JOUR. [29] E. Hans, G. Wullink, M. van Houdenhoven, and G. Kazemier. Robust surgery loading. European Journal of Operational Research, 185(3):1038– 1050, 2008. [30] S. Hartmann and D. Briskorn. A survey of variants and extensions of the resource-constrained project scheduling problem. European Journal of Operational Research, 207(1):1–14, 2010. 0377-2217. [31] R. Heilmann. Resource–constrained project scheduling: a heuristic for the multi–mode case. OR Spectrum, 23(3):335–357, 2001. [32] R. Heilmann. A branch-and-bound procedure for the multi-mode resourceconstrained project scheduling problem with minimum and maximum time lags. European Journal of Operational Research, 144(2):348–365, 2003. [33] O. Icmeli and W. O. Rom. Solving the resource constrained project scheduling problem with optimization subroutine library. Computers & Operations Research, 23(8):801–817, 1996. 0305-0548. [34] A. Jebali, A. B. Hadj Alouane, and P. Ladet. Operating rooms scheduling. International Journal of Production Economics Control and Management of Productive Systems, 99(1-2):52–62, 2006. TY - JOUR. [35] C. Mannino, E. Nilssen, and T. Nordlander. A pattern based, robust approach to cyclic master surgery scheduling. Journal of Scheduling, 15(5):553–563, 2012. [36] J. H. May, W. E. Spangler, D. P. Strum, and L. G. Vargas. The surgical scheduling problem: Current research and future opportunities. Production and Operations Management, 20(3):392–405, 2011. [37] N. Meskens, D. Duvivier, and A. Hanset. Multi-objective operating room scheduling considering desiderata of the surgical team. Decision Support Systems, 55(2):650–659, 2013. 171

[38] M. Mika, G. Waligóra, and J. Weglarz. Tabu search for multi-mode resource-constrained project scheduling with schedule-dependent setup times. European Journal of Operational Research, 187(3):1238–1250, 2008. 0377-2217. [39] K. Neumann, C. Schwindt, and J. Zimmermann. Project Scheduling with Time Windows and Scarce Resources. Springer-Verlag, New York, 2 edition, 2003. [40] K. Nonobe and T. Ibaraki. Formulation and tabu search algorithm for the resource constrained project scheduling problem. In Essays and Surveys in Metaheuristics, book section 25, pages 557–588. Kluwer Academic Publishers, New York, 2002. [41] K. Nonobe and T. Ibaraki. A tabu search algorithm for a generalized resource constrained project scheduling problem, 2003. [42] S. N. Ogulata and R. Erol. A hierarchical multiple criteria mathematical programming approach for scheduling general surgery operations in large hospitals. Journal of Medical Systems, 27(3):259–270, 2003. TY - JOUR. [43] I. Ozkarahan. Allocation of surgeries to operating rooms by goal programing. Journal of Medical Systems, 24(6):339–378, 2000. TY - JOUR. [44] D.-N. Pham and A. Klinkert. Surgical case scheduling as a generalized job shop scheduling problem. European Journal of Operational Research, 185(3):1011–1025, 2008. 0377-2217. [45] A. A. B. Pritsker, L. J. Watters, and P. M. Wolfe. Multiproject scheduling with limited resources: A zero-one programming approach. Management Science, 16(1):93–108, 1969. [46] B. D. Reyck. Scheduling Projects with Generalized Precedence Relations – Exact and Heuristic Procedures. Thesis, Katholieke Universiteit Leuven, 1998. [47] A. Riise and E. K. Burke. Local search for the surgery admission planning problem. Journal of Heuristics, 17(4):389–414, 2011. 172

[48] A. Riise and C. Mannino. The surgery scheduling problem - a general model. Report, SINTEF, 2012. ISBN 978-82-14-05281-7. [49] B. Roland, C. Di Martinelly, and F. Riane. Operating theatre optimization : A resource-constrained based solving approach. In Service Systems and Service Management, 2006 International Conference on, volume 1, pages 443–448, 2006. [50] B. Roland, C. Di Martinelly, F. Riane, and Y. Pochet. Scheduling an operating theatre under human resource constraints. Computers & Industrial Engineering, 58(2):212–220, 2010. [51] SINTEF. Testbed instances for optimisation in health care. http:// www.sintef.no/Projectweb/Health-care-optimization/ Testbed/.

173

PAPER IV

R ECURSIVE LOGIC - BASED B ENDERS ’ DECOMPOSITION FOR MULTI - MODE OUTPATIENT SCHEDULING

A. Riise, C. Mannino, and L. Lamorgese

Submitted to European Journal of Operational Research, August 2015

175

Abstract Efficient outpatient scheduling is becoming increasingly important for the overall cost effectiveness and treatment efficiency of a hospital. We consider a class of multi-mode appointment scheduling problems, with variable resource availability and resource setup times. These problems are frequently found in hospital outpatient clinics, and they are typically hard to solve. We present an exact method based on a recursive logic-based Benders’ decomposition, where each subproblem is formulated as an integer linear program. We show how such a decomposition can be designed to fully exploit the daily structure of these problems, while at the same time addressing the symmetry issues that arise from having many appointments with similar resource and time requirements. Novel valid inequalities are also added to strengthen each master problem. We demonstrate the efficiency of the overall approach through a case study from a gastroenterology clinic at the University Hospital of Northern Norway, using real life data. The computational results show that the recursive, three-level, decomposition solves the most complex real-life test instances to optimality in less than 5 minutes. The method drastically outperforms the corresponding twolevel decomposition, which fails to solve all but one of these test instances within the one hour time limit.

176

1

Introduction

An outpatient is a patient that is not admitted to the hospital, but that shows up for his appointment, is examined or treated, recovers, and then leaves on the same day. Most hospitals have several outpatient clinics, both surgical and non-surgical, as well as various laboratories that also serve outpatients. There is a trend in hospitals, motivated by both quality of care and cost-efficiency, that an increasing number of patients that were previously admitted are instead treated as outpatients [14]. An efficient scheduling of outpatients is therefore increasingly important to the overall treatment efficiency and cost effectiveness of the hospital. In this paper, we consider multi-resource appointment scheduling for elective outpatient clinics. This scheduling is typically more complex than appointment scheduling in, say, primary care clinics. It often involves the scheduling of a large number of patients, and each patient may require several constrained resources such as a doctor, a room, and some equipment. Some resources may have setup times. The clinic usually has several resources of each type available on each day, and so a suitable set of resources (a mode) must be chosen for each patient, in addition to the appointment start time. Activity durations depend on the procedure, age, and medical condition of the patient, and often also on the chosen mode. Patients are inserted into a schedule that may span weeks or months, and that typically already contains appointments that have been fixed and communicated to the patients. Depending on the situation and the available scheduling technology, patients are either scheduled one by one, or simultaneously in groups. Typical objectives are to treat or examine as many patients as possible within the planning period, to maximise the resource utilisation, and to prioritise patients in time according to their respective medical urgency. In the following, we will refer to this class of problems collectively as the appointment scheduling problem (ASP). We present a novel exact method for the ASP, based on a recursive version of logic-based Benders’ decomposition [17, 19]. In the remainder of this introduction, Section 1.1 provides an introduction to the related literature, while an introduction to logic-based Benders’ decomposition is given in Section 1.2. Our contribution is outlined in Section 1.3.

177

1.1

Related work in multi-mode hospital appointment scheduling

There is a substantial literature on ‘outpatient scheduling’ or ‘appointment scheduling’ in health care; see for example the reviews in [6] and [16]. However, these terms usually refer to problems that are quite different from the ASP. The comprehensive review of Cayirli and Veral [6] uses ‘outpatient scheduling’ to mean the design of a template schedule consisting of appointment blocks, into which patients are later assigned, usually on a first-come-first-serve basis. These problems are usually modelled as single server problems, considering a single resource (typically a doctor) [20, 1]. By contrast, ASPs are typically found in hospital clinics that provide more complex services for elective outpatients, requiring more resources and individual service times, as described above. Such services include both surgical and nonsurgical treatment, as well as more complex diagnostic services. Relevant papers can be found in the literature that addresses the management of these services. The general surgery scheduling literature is large, and covers a variety of topics. There are several recent surveys [5, 10, 27, 15, 20]. From this literature, the papers that are relevant to the ASP are those that consider multi-mode, integrated planning and scheduling problems. That is, problems where a mode, a day, and an exact start time must be chosen for each activity. The number of such papers is very limited, especially for problems with longer planning horizons. Most of these papers address one week surgery scheduling, which is very common in hospitals [38]. Some authors present integer programming formulations that cannot be solved efficiently for realistic problem sizes, and they therefore also present dedicated construction or improvement heuristics [28, 38, 24, 25]. Other approaches are based on genetic algorithms [35, 26], or column generation [11]. We have found only two papers that apply exact optimisation methods. Pham and Klinkert [30] solve a mixed integer programming formulation with a time-out of one hour. Bulgarini et al. [4] combine an integrated planning and scheduling on a one week horizon with a simpler planning problem for future weeks, also using a mixed integer approach. They conclude that in order to solve realistically sized instances, it would be necessary to develop a heuristic approach. Riise and Burke [34] is the only paper we have found that integrates multi-mode planning and scheduling on a longer horizon (three weeks). They use a meta-heuristic approach. 178

ASPs can also be found in non-surgical clinics; indeed, our case study considers such an application. We have found one paper [37] that considers an ASP like problem in such a clinic, but the authors consider only a one day scheduling horizon. Each of the above papers consider slightly different problems. Nevertheless, we can see from this overview that no earlier work presents exact methods that can solve realistic ASP instances, in a time that is acceptable in a real planning situation. This is true even for problems with horizons as short as one week. In this paper, we consider the scheduling of elective patients, and assume that the treatment of these is protected against the uncertainty that arise from emergency care patients. For example, in our case study, emergency care patients are treated in dedicated time slots, and/or by dedicated resources. Uncertainty in activity durations are often handled by some kind of hedging in the duration estimates. For example, Charnietski [7] introduced an estimate μ + hσ, where μ is the mean duration, σ the standard deviation, and h a parameter of the algorithm which was tuned using simulation. Other methods use simulation of a number of scenarios to evaluate each new (deterministic) solution. Regardless of approach, the ability to solve a stochastic version of the problem depends on the ability to solve the deterministic version. The challenge that we address in this paper is to construct an exact method that can do this efficiently. 1.2

Logic-based Benders’ decomposition

The presented approach is inspired by the logic-based Benders’ decomposition (LBD) scheme introduced in [17] and further elaborated in, for example, [19, 8]. LBD rests on a reformulation R of an original mathematical formulation P . The variables of P are first grouped into variables y and z such that the constraints of P can be partitioned into two sets: constraints in the variables y only, and constraints that are in both y and z. In our case, as in many other applications [18], the objective function depends only on y. P is then decomposed into two subproblems: the initial master, defined by the first set of constraints plus the objective function, and the slave, defined by the second set of constraints. The reformulation R is constructed by replacing the slave problem constraints in P with new constraints in the y variables only, in such a way that the solution set of R is the projection of the solution set of P into the y-space. That is, any feasible solution y¯ to R can be extended to a feasible solution (¯ y , z¯) of P and any feasible 179

solution (¯ y , z¯) of P can be truncated to the feasible solution y¯ of R. Typically, R contains a very large number of constraints, so in general the explicit, full representation cannot be obtained. To overcome this difficulty, R is solved by using delayed constraint generation. That is, we start with a subset of constraints of R (the initial master), and iteratively add new constraints (producing the current master). At each iteration, the current master problem is solved. If the master is infeasible, the original problem P is infeasible and the algorithm terminates. Otherwise, let y ∗ be the optimal solution to the current master. The slave problem (in y and z) is then solved after fixing y = y ∗ . If a feasible solution (y ∗ , z ∗ ) exists for the slave, this solution is also feasible and optimal for the original problem P . If the slave is infeasible, a valid constraint (or cut)2 ay ≤ b , such that ay ∗ > b , is added to the master and the process iterates. We refer to these cuts as Benders’ cuts. Over the past years, different authors have successfully applied LBD to solve a variety of hard discrete problems such as general planning and scheduling [21, 18, 2], location-allocation [12], transport scheduling [9, 22, 32], bin packing [31], and sports scheduling [33]. LBD typically works well for problems that can be decomposed into two subproblems (master and slave) that can both be solved efficiently. Typically, a successful decomposition must also include strong Benders’ cuts: cuts that will cut off many infeasible master solutions (besides the current master solution y ∗ ). In addition, it is advantageous if the initial master problem can be strengthened by adding strong valid inequalities. Such inequalities can be though of as relaxations of the slave [18, 23]. Finally, it is advantageous if the slave problem can be split into many small and independent subproblems [19]. 1.3

Contribution

In this paper we show that real life instances of the ASP can be solved efficiently by a recursive extension of the LBD scheme. The resulting three-level decomposition exploits the fact that the objective does not depend on the exact start time for each appointment, but only on the day on which each patient is scheduled. Therefore, we may decompose the problem into a ‘master’ problem, in which patient activities are assigned to days, and a ‘slave’ feasibility problem that involves the choice of modes and start times. Since the appointment schedule 2

A constraint is valid for a problem if it is satisfied by every feasible solution to the problem.

180

on each day is independent of other days, the feasibility problem decomposes into a series of (much smaller) feasibility problems, one for each day, which can be solved independently. We then further decompose each of these daily feasibility problems into a master mode problem, where the mode for each appointment is chosen, and a slave scheduling problem that determines if a feasible schedule exists for all activities (see Figure 1). Figure 1: A simplified illustration of the reWe demonstrate the efficiency of cursive logic-based Benders’ decomposition. this approach through a case study from a gastroenterology clinic at the University Hospital of Northern Norway, using real life data. The computational results show that the proposed three-level decomposition reduces computation times drastically, and allows us to solve reallife problem instances in a less than 5 minutes. The corresponding two-level decomposition fails to solve all but one of these instances within the one hour time limit. Interestingly, however, the recursive decomposition in itself was not sufficient. We also needed to develop a symmetry breaking technique to strengthen the Benders’ cuts in the ‘assignment’ master. In addition, we introduced valid inequalities to strengthen the master problems at both levels of the decomposition. All these elements are strictly necessary to tackle our real-life test instances. To the best of our knowledge, this is the first application of LBD to the ASP, or to similar patient scheduling problems. It is also, as far as we are aware, the first exact method that can solve real life ASP-like scheduling problems, on a horizon of several weeks, and within a time frame that is realistic in a real planning situation. The presented work is also one of very few studies of multi-level LBDs. In fact, we are aware of only two other examples in the literature. Both solve problems that are very different from the ASP: the scheduling of computation tasks on the Cell BE processor [3], and a stochastic facility location and vehicle assignment problem [13]. The remainder of this paper is organised as follows: Section 2 describes the 181

general class of multi-mode appointment scheduling problems that we consider, and provides a precise definition of the ASP. The details of the recursive Benders’ decomposition are given in Section 3. Our case study is presented in Section 4, and the test instances and experimental results are discussed in Section 5. We finally conclude and point out some interesting directions for future research in Section 6.

2

Problem definition

We can formulate the ASP using the terminology of the multi-mode resource constrained project scheduling problem (MRCPSP) [29]. Consider the problem of scheduling a set of activities,  , in a discretised planning horizon H = {1, 2, . . . }. Each activity i ∈  requires one or several renewable resources, for example a doctor, a room and some equipment. We let  be the set of all resources. Each resource r ∈  has capacity c r ∈ + , and some resources may have setup times. Each resource is available only in given time intervals, typically depending on opening hours, working hours, lunch breaks, etc. In our case study, each such interval is completely contained in a working day. The horizon H can therefore be partitioned into a set  of intervals, each corresponding to a working day. For simplicity, we assume this daily structure in the following. Note however, that in general the partitioning of H can be anything; it follows from the availability of the resources. For each activity i, there is a set of modes  i . Each mode m ∈  i defines a set of resources  m that can be used together to carry out the activity. For example, we could have  m = {d oc t o r X , r oo mY, e q u i p me nt Z}. The mode m also defines an activity duration θ m , and a demand μ m r for each resource r ∈ . Note that if m does not use r ( m ∩{r } = ), then μ m r = 0. Obviously, an activity can be performed in a mode m only if all the mode’s resources are simultaneously available during the entire execution of the activity. This motivates the following definition: a mode interval of mode m is a time interval in which all resources in  m are simultaneously available for at least θ m units of time. Clearly, an activity must be executed within one such interval. Since each resource may be available in several disjoint intervals during the day, a mode may also have several such mode intervals per day (see Figure 2). We assume that there are no time constraints between activities, but each activity i may have a time window within which it must be executed. Let i ⊆  be the subset of days in which i 182

Figure 2: The mode intervals w1 and w2 of mode m, where the available intervals of the resources  m = {A, B} overlap in time. The second such overlap is shorter than θ m , and is therefore not a feasible mode interval for the activity.

can be scheduled, and id ⊆  i be the (non-empty) set of modes for i on day d ∈ i . To formalise the optimisation problem, we define the following decision variables, all binary: For i ∈  and d ∈ i , aid = 1 if and only if activity i is assigned to day d . Note that it may not be possible to schedule all the activities in  ; if activity i is not scheduled, aid = 0. For i ∈  and m ∈ i , xim = 1 if mode m is chosen for i , and 0 if not. We let the variable yit = 1 if and only if activity i starts in time period t . Also, for i ∈  , d ∈ Di , m ∈ id we define I (i , m, d ) ⊆ H as the set of time periods in which activity i can start on day d , if using mode m. I (i , m, d ) can be easily calculated from the time window of i, the mode intervals of mode m and the activity duration θ m . We can now write the ASP as follows: M i ni mi s e c(a) subject to

  m∈id

aid ≤ 1 ∀i ∈ 

(1) (2)

d ∈i

xim = aid ∀i ∈  , ∀d ∈ i  t ∈H

yit ≤ 1 ∀i ∈ 

183

(3) (4)



yit ≥ xim · aid ∀i ∈  , m ∈ id , d ∈ i

(5)

t ∈I (i ,m,d )

 

m r μm r xi ≤ c ∀r ∈ , t ∈ H

(6)

i ∈S(t ) m∈i

aid ∈ {0, 1} ∀i ∈  , ∀d ∈ i

(7)

xim ∈ {0, 1} ∀i ∈  , ∀m ∈ i

(8)

yit

(9)

∈ {0, 1} ∀i ∈  , ∀t ∈ [0, H ]

The objective function (1) is assumed to be linear, and depends only on the a variables. That is, it depends only on which activities that are scheduled, and on which days. Each activity can be scheduled at most on one day (2). An activity’s chosen mode must be among the available modes on that day (3). Also, the activity must start at most once (4), and only in one of the feasible start time periods for the chosen mode and day (5). Constraint (5) is not linear, but can be easily linearised. Constraints (6) are the resource capacity constraints, where the sum is over the set S(t ) of all activities that are ongoing at time t . Note that to enhance readability, we have ignored resource setup times here. Adding these is trivial, however, and we take them in account in our case study in Section 4.

3

Recursive Benders’ decomposition

The model (1) - (9) can be easily transformed into an equivalent integer linear programming (ILP) formulation for the ASP. However, our initial experiments showed that none of our real world problem instances could be solved by applying a commercial solver (CPLEX) directly to this ILP. As we will see, applying the classical LBD did little to improve this situation. In order to solve our real world problem instances, we therefore used a recursive decomposition approach, developing a modified, three-level decomposition (see Figure 1). Section 3.1 presents the first level of decomposition, based on the classic reformulation of the program (1) - (9). The second level decomposition will be considered in Section 3.2. 3.1

The first level of decomposition: reformulating the ASP

In the above representation of the ASP (2) - (9), we see that the variables can be naturally partitioned into two sets. The first contains the a variables (assignment 184

of activities to days), while the second contains the variables x and y (choice of modes and start times, respectively). Furthermore, the objective function (1) depends only on a. This leads us to a very natural Benders’ decomposition. The initial master problem is the assignment problem, which includes only the a variables and is defined by (1) and (2). The slave problem is the feasibility problem that is defined by the remaining constraints. Since daily schedules are independent of each other, this slave problem can be further split into one feasibility problem per day. In particular, the slave problem S(d , Q) amounts to answering the following question: given that the set of activities Q ⊆  is assigned to day d , does a schedule exist that satisfies all time and resource constraints? If not, then S(d , Q) is infeasible. For each day d , let  d = {Q ⊆  : S(d , Q) is infeasible}. Clearly, if Q ∈ d  , then at least one activity must be removed from Q to get a feasible assign ment. Therefore, constraint i ∈Q aid ≤ |Q| − 1 is a valid constraint for the ASP.  On the other hand, it is not difficult to see that if a satisfies i ∈Q aid ≤ |Q| − 1 for all d ∈ D and all Q ∈  d , then a is a feasible assignment of activities to days. It follows that the following is a reformulation of the ASP, written in the a variables only.

185

M i ni mi s e c(a) subject to

  i ∈Q

(10)

aid ≤ 1 i ∈ 

(11)

aid ≤ |Q| − 1 ∀d ∈ , Q ∈  d

(12)

d ∈i

aid ∈ {0, 1} ∀i ∈  , ∀d ∈ i

(13)

As described in Section 1.2, the set  d is generally very large, and tackling this program directly proves too computationally expensive for realistic problem instances. Therefore, the Benders’ cuts (12) are only added to the master iteratively, after solving the associated slave problems (see Section 3.2). Breaking symmetry: cardinality-indexed variables It often occurs in practice that activities are mode-equivalent, in the sense that they have identical sets of modes, and equivalent (or no) time windows. These activities can therefore be interchanged in any solution to the reformulation in (10)-(13), without changing the feasibility status of that solution. This symmetry often causes the cut (12) to be weak. While it cuts off the current infeasible solution, it will not exclude all those equivalent solutions that correspond to swapping the day assignments for mode-equivalent activities. In this subsection we show how suitable binary variables (and associated constraints) can be introduced to break this symmetry, and thus drastically improve the strength of the Bender’s cuts. Formally, two activities i , j are mode-equivalent if, for all days d ∈ D, and for any subset of the remaining activities Q ⊆  \ {i , j }, we have that S(d , Q ∪ {i }) is feasible if and only if S(d , Q ∪ { j }) is feasible. This equivalence relation partitions  into a set of groups  = {G 1 , G 2 , . . . } of "interchangeable" activities. To determine whether an assignment solution is feasible, it suffices to know the number of activities of each group G ∈  that are assigned to each day. To this end, we introduce for each day d and each group G, cardinality-indexed binary d d d variables cG,1 , cG,2 , . . . such that cG,k = 1 if at least k activities are chosen from d d d group G on day d . Note that if cG,k = 0, then cG,k+1 = cG,k+2 = · · · = 0. These 186

cardinality-indexed variables can be tied to the original assignment variables a by the following straightforward relation  d aid ≤ k − 1 + M · cG,k (14) i ∈G

where M is a suitable constant3 . Now, let Q be an infeasible set of activities for ¯ ∈ day d (i.e. Q ∈  d ), and let Q /  d be a feasible set on day d . Also, let Q  = {G ∈  |G ∩ Q = } be the subset of groups that are present in Q. Then, for at least one group G ∈  Q , we have that ¯ ≤ |G ∩ Q| − 1 |G ∩ Q|

(15)

In other words, for any feasible solution there is at least one group G ∈  Q , for d which cG,|G∩Q| = 0. Therefore, any feasible assignment of activities to d satisfies 

d cG,|G∩Q| ≤ | Q | − 1

∀ Q ∈ d

(16)

G∈

The reformulation in (10 - 12) can now be strengthened by replacing (12) with (14) and (16). Strengthening the initial master The reformulation introduced so far relies on the above Benders’ cuts to ‘represent’ the feasibility of the slave problems in the master. Our initial experiments showed that this is not sufficient to solve our real world test instances efficiently. We therefore also strengthen the reformulation in the standard fashion, namely by adding suitable valid inequalities to the initial master program. These new inequalities can be seen as a relaxation of the slave. They are based on the idea that, for a given day and resource, the total energy consumption (demand × duration) must be no larger than the total available energy (capacity × available time). For example, if five patients are assigned to a certain doctor on a certain day, the total duration of their visits can be no longer than the doctor’s total available time. Specifically, we define the available energy E d (r ) of resource r on day d as the capacity c r multiplied by the total available time for r on day d . Similarly, 3

One can choose any M ≥ |G| − k + 1

187

for each activity i and mode m ∈ i , we define the energy consumption of r as m m m μm r · θ (the activity i ‘consumes’ μ r units of r for the duration θ ). Activity i’s minimum energy consumption of r on day d can be expressed as eid (r ) = m min m∈ d μ m r · θ . Clearly, for any Q ⊆  , the slave problem S(d , Q) is feasible i only if the total energy consumption of r is not greater than its available energy. That is, if  eid (r ) · aid ≤ E d (r ) (17) i ∈Q

Summing (17) over any subset of resources R ⊆ , we obtain   eid (r ) · aid ≤ E d (r ) = E d (R) ∀d ∈  r ∈R i ∈Q

(18)

r ∈R

where E d (R) is the total available energy of the set of resources R on day d . Now let eid (R) = min r ∈R eid (r ) be the minimum energy consumption of activity i over all resources in R. We have    eid (r ) · aid ≥ eid (R) · aid = |R| eid (R) · aid r ∈R i ∈Q

r ∈R i ∈Q

i∈Q

and from (18) we obtain |R|

 i ∈Q

eid (R) · aid ≤ E d (R) ∀d ∈ 

(19)

Constraints of type (19) are included in the initial master program. Observe that, for each day, the number of constraints (19) grows exponentially with both | | and ||. However, we will only consider a small subset of such inequalities, by carefully choosing the sets Q and R. We describe how this is done in Section 4. A major weakness of (17), and thus of (19), is that for each activity i , there may be a significant variation in the durations of the different modes. Also, if some mode m ∈ id does not use r , then eid (r ) = 0. The quantity eid (r ) can therefore severely underestimate the actual duration of i , and (17) will be weak. We overcome these limitations by adding another family of valid inequalities. To this end, for each d ∈ , i ∈  , and r ∈ , we may introduce an auxiliary binary variable aid,r , with aid,r = 1 if and only if activity i uses resource r on day 188

d . Obviously, we have aid ≤

 r ∈

aid,r

(20)

We also define a refinement of eid (r ), let us call it fi d (r ), as the minimum energy consumption of i across all modes that uses r fi d (r ) =

min

m∈id ,μ m r >0

m μm r ·θ

It is not difficut to see that, for r ∈  and d ∈ , a stronger version of (17) is given by the inequality  fi d (r ) · aid,r ≤ E d (r ). (21) i ∈Q

Constraints of type (21), and the corresponding auxiliary variables aid,r , are included in the initial master program. In practice, however, we do not wish to add these for all resources. The number of constraints would be prohibitively large, slowing down the solution of master. Instead, we only consider the subset of resources that affect the activity durations, and for which (21) therefore is stronger than (17). The details are given in Section 4. Note also that adding variables d ai,r for all r ∈  would have implied a complete choice of modes in the master, while we, in our decomposition scheme, have chosen to relegate these decisions to the slave. The values of those variables that are added, are ignored in the slave. Although this makes the slave harder to solve, the cuts that are subsequently added back to the master are valid for all resource assignments and are therefore stronger. 3.2

The second level of decomposition: reformulating the slave

In principle, the feasibility slave problem S(d , Q) could be approached by solving, for the corresponding fixed assignment a, the ILP associated with constraints (3) - (9). However, our experiments show that, in many cases, these ILPs are still very difficult to solve. This prevents us from solving realistic ASP instances in a reasonable time (see the computational results in Section 5.2). To address this issue we apply Bender’s reformulation again, this time to S(d , Q). We can identify two natural subproblems: a mode problem, which re189

turns a set of mode assignments, MQd = {(m, i ) : i ∈ Q, m ∈ id }, and a detailed scheduling problem S 2 (MQd ), which finds start times for all activities in Q, given the chosen modes (see Figure 1). The second level master program: choosing modes For a given day d and a set of activities Q, let Qd = {MQd : S 2 (MQd ) is infeasible}. That is, Qd is the family of sets of mode assignments for Q on day d for which no feasible schedule exists. We can then write the second level master program for day d as  xim = 1 ∀i ∈ Q (22) 

m∈id

xim ≤ |Q| − 1 ∀MQd ∈ Qd

(23)

(m,i)∈MQd

xim ∈ {0, 1} ∀m ∈ id , ∀i ∈ Q

(24)

Constraint (22) says that exactly one mode must be chosen for each activity. Constraint (23) forbids infeasible assignments of modes to activities. Strengthening the second level master As we strengthened the first level master in Section 3.1, we now focus on strengthening the second level master (22) - (24), for day d . Again, we lean on the concept that the total energy consumption must not exceed the available energy. In the variables of the second level master, we can write this as   m m d μm (25) r · θ · xi ≤ E (r ) i ∈Q m∈ d i

Constraint (25) is a valid constraint for the second level Benders’ reformulation (22) - (24) and can be added to strengthen the (second level) master program. The second level slave program: scheduling The scheduling problem S 2 (MQd ) determines if a feasible schedule can be found for day d , given a mode assignment (m, i ) ∈ MQd for each i ∈ Q. Let H d be the set of all possible time periods in d . Furthermore, recall that I (i , m, d ) ⊆ H d is the set of periods in which activity i may start on day d when mode m is assigned to 190

it. We also introduce the variable git which is 1 if and only if activity i is ongoing at time t . The second level slave problem S 2 (MQd ) can be written as follows: 

yit = 1 ∀i ∈ Q

(26)

t ∈I (i ,m,d ) t 

git =

yik ∀(m, i ) ∈ MQd , t ∈ H d

(27)

t d μm r · gi ≤ c r ∀t ∈ H , ∀r ∈ 

(28)

k=t −θ m +1



(m,i)∈MQd

yit , git ∈ {0, 1} ∀i ∈ Q, ∀t ∈ H d

(29)

Constraint (26) says that every activity i ∈ Q must start in day d (and starts only once because preemption is not allowed). Constraint (27) expresses that activity i is ongoing at time t if it starts between t − θ m + 1 and t .4 Finally, constraint (28) says that in any time period, the demand for resource r must not exceed the resource’s capacity. Again, for the sake of simplicity we have not included setup times in the model.

4

Case study

Our case study considers a gastroenterology clinic at the University Hospital of Northern Norway, a fairly standard hospital outpatient clinic. The clinic’s appointment scheduling involves choosing a room, a doctor, equipment, and a time for the examination of patients. The clinic carries out a range of different examination procedures, where each procedure requires certain skills or properties of the doctor, room, and equipment that is used. The clinic examines both inpatients and outpatients. The inpatients are often from some other department in the hospital, and specific blocks of time are reserved for these patients according to an elaborate set of agreements. The scheduling of inpatients (who are often urgent) into this time is to a large extent the responsibility of the other department. The clinic’s planners are responsible for scheduling the elective outpatients into the remaining time, and it is this scheduling that we consider here. Once a month, around the 15 t h , the doctor’s work schedule for the next month 4

We let, with a slight abuse of notation, yik = 0 for k ≤ 0

191

becomes available. At this time, the current appointment schedule is typically almost full, and extends to the end of the current month. The task at this stage is to extend the scheduling period to include the next month, and to schedule some 300-500 patients that are on the waiting list. For practical reasons, doctors do not change rooms during the day. Before the scheduling can begin, therefore, the available doctors are first allocated to rooms on a per day basis, in a way that best matches the skill sets of the doctor and the room. Based on the availability of the combined room/doctor resources, the planner then goes on to schedule patients from the waiting list. This monthly scheduling is the most challenging scheduling problem that the clinic faces. Following this initial scheduling, a daily scheduling will insert new patients into vacant slots in the schedule. This happens every day, until the next monthly scheduling. The experiments in Section 5 will include both monthly and daily problem instances. In reality, there are several activities related to each appointment, including the examination, the recovery (for patients that are sedated), and the cleaning of equipment. These activities require separate resources that can in themselves in principle be bottlenecks. However, our earlier simulation studies show that this is very rarely the case, and that it never causes significant delays. We therefore consider only the examination activity in this study. The ‘cleaning of equipment’ activities are replaced with equipment setup times. Some patients, for example those with a strongly suspected rectum cancer, are very urgent. Other patients, such as those simply returning for their annual control, are much less so. A target due date is given for each patient, based on the medical urgency. In addition, a later hard due date is given based on legal constraints. The patient cannot be scheduled later than the hard due date. The hospital is located in the city of Tromsø, and serves a large and sparsely populated region of Norway. We therefore have to consider patient travel times. For outpatients from outside the city, the clinic avoids scheduling appointments early in the morning or late in the afternoon, to allow the patient to travel to the hospital and back in the same day. To reserve some capacity for urgent patients that are not yet known, a certain number of hours are reserved on each day. These can be used only for urgent patients. For the first week, counting from the day of planning, these reservations are lifted and any remaining free time can be used for any patient. 192

4.1

Modelling issues

We model the clinic’s ASP using the model presented in Section 2.  contains one activity per appointment, and the scheduling horizon H is limited by the length of the doctors’ current working schedule (roster plan). These schedules, together with working hours for nurses, lunch breaks, and reserved time for inpatients, determine the resource availability intervals for the combined room/doctor resources. All examinations require a room/doctor resource, but due to the properties of the room or the skill of the doctor, not all such room/doctor resources can be used for a given patient. Furthermore, all examinations require a scope (a mobile piece of equipment). Only a subset of all scopes are compatible with any given examination procedure. Also, each scope can only be used in some of the rooms, because some rooms lack the necessary technical setup. Based on all these compatibility restrictions, we can define the set of modes for each activity. The duration associated with each mode m depends entirely on the choice of doctor, because some doctors are more experienced than others. The scopes all have setup times, as they must be cleaned between patients. No other resources have setup times. All resources have capacity one, and all resource demands are zero or one. The constraint that patients that have to travel far should only be treated in the middle of the day is modelled as follows: Associated with each room/ doctor r , we introduce an artificial Midday resource, M D r . This resource has the same resource availability periods as the corresponding room/doctor resource, but cropped so that the resource is never available before 10am or after 2pm on any day in the planning period. For each patient who has to travel far to get to the hospital, this resource is included in each mode that uses the corresponding room/doctor resource. Similarly, we model the reservation of time blocks for unknown future high priority patients using an artificial Low Priority resource LP r associated with each room/doctor resource r . Patients that are not urgent require this resource, and the availability periods of the resource are made such that they restrict the scheduling of these patients to time intervals that have not been reserved for urgent patients. The objective function (1) contains two components. The first gives a large penalty for patients that are not scheduled, with an individual weight for each patient that reflects their medical urgency. The second component is the relative waiting time objective, which is a piecewise linear function of ‘in-direct waiting 193

time’ [16], relative to the patient’s due dates. As discussed in section 3.1, the efficiency of our decomposition depends partly on the ‘energy based’ resource capacity constraints, (19) and (21), that we added to strengthen the ‘assignment’ master problem. For (19), we select the sets Q ∈  and R ∈  so that each activity in Q must use at least one resource in R (in any mode). We associate one such set R with each resource type (e.g. ‘Room/ Doctors’, ‘Gastro-Scopes’, ‘Colon-Scopes’, etc.), so that R contains all the resources of the same type. The corresponding set of activities, Q, is determined by an analysis of each activity’s mode set. For the scope resource types, (19) is modified to account for setup times. Yet other such (Q, R)-pairs can be constructed from an analysis of skill requirements and other compatibility constraints of the problem instance. Since each doctor works in the clinic only on certain dates, many room/doctor resources will be unavailable on any given day d . Therefore, this analysis is done separately for each d ∈ , to provide different sets of resources R that are available on d , and corresponding sets of activities Q that (on day d ) must use at least one r ∈ R. This relationship may not hold for other days, and these pairs are therefore used in (19) only for the day for which they are defined. Next, consider (21). In our instances, all activities require a doctor and all activity durations depend only on the choice of doctor. We therefore add these constraints (and the corresponding aid,r variables) for all room/doctor resources. In addition, since the choice of a Midday or Low Priority resource directly implies the choice of the corresponding room/doctor (and therefore fixes the activity duration), we also add constraints (21) associated with these sets of resources. Note that (19) and (21) can be strengthened further, and still be valid, if we can somehow remove the available resource time (and thus energy) that cannot possibly be used by any activity. We observe that, for day d , if all those activities that can use a resource of type X also must use a resource of type Y , then no activity can possibly use any available time for any resource of type X unless at least one resource of type Y is simultaneously available. The resource availability intervals of all resources of type X can therefore be cropped by the intersection with the union of availability intervals of resources of type Y , without changing the set of feasible solutions. We preprocess all resource availability intervals in this manner to strengthen (21) and (19). 194

5

Experiments

All experiments were carried out on a Dell Precision M4800 laptop, running 64 bit Windows 7 on an Intel i7-4930MX CPU, and with 32Gb RAM. The subproblem ILPs are solved using ILOG CPLEX, version 12.5. Each run is terminated after one hour, or when a solution is found for which the integrality gap is less than 0.01 %. We consider such solutions to be optimal. 5.1

Test instances

The following tests include two classes of test instances: ‘monthly scheduling problems’ and ‘daily scheduling problems’. The main difference between these is the number of new patients to be scheduled. For the ‘daily scheduling problems’ most of the patients are fixed in time and choice of resources based on the existing schedule. Only a handful of new patients are new arrivals on the waiting list, and are to be inserted in the schedule. For monthly scheduling, by contrast, only a small fraction of the patients are already scheduled, and most of the patients are taken from the waiting list. The test instances were generated by simulating the clinic’s appointment scheduling for an entire year (2012). The simulation used real (anonymous) data for the patients that were treated that year, as they appeared in the planner’s waiting list. Day by day, the simulation added new patients, updated time reservations, adjusted the planning horizon, and performed monthly or daily planning, as appropriate. The planning itself was simulated using a metaheuristic scheduling engine (SINTEF’s Scoop.Scheduler). Our test instances were extracted from these planning situations, giving 12 monthly and 258 daily planning instances. Table 1 gives some characteristics and computational results for the monthly test instances. In the generation of these, the simulation started on December 15th, 2011, with a monthly planning where all patients that were known at that time were treated as ‘new patients’. The characteristics of this instance is therefore influenced by the warm-up conditions of the simulation. The other instances are realistic examples of monthly planning problems at the clinic. 5.2

Computational results

For the following discussion, let us label our three-level LBD algorithm as 3L. To demonstrate the benefits of the 3L algorithm, we compare it with the equivalent

195

two-level version. This 2L algorithm uses only the first level of decomposition (Section 3.1), where the slave problem is given by (3) - (6) and the integrality requirement on the variables. We ran each algorithm 10 times on each of the monthly instances, to account for variability in CPU loads. Table 1 gives the average run times for each instance. The run time includes the time it takes to set up each subproblem, the total run time for the algorithm, and the time it takes to construct the optimal schedule after the algorithm has completed. As we can see from the table, the 3L algorithm can solve all but one of these large and complex ASPs to optimality well within a reasonable time limit. The computation time varies significantly from instance to instance; one instance is solved in as little as 6 seconds. All but one instance are solved within 5 minutes. The exception is the instance ‘15 t h Oct. 2012’, which we cannot solve to optimality within the set one hour time limit. However, the 3L algorithm does find a feasible solution with value 494274.25, with a proven integrality gap ≤ 0.1%, in 1785 seconds. By contrast, the 2L algorithm can only solve one of the monthly scheduling instances (‘15 t h June 2012’), and then only after a considerably longer computation time than what is used by the three-level algorithm. The reason for this big difference in performance between the two algorithms is that the second level decomposition of the 3L algorithm, into the ‘mode’ master and ‘scheduling’ slave, handles the complexity of each daily feasibility problem much more efficiently. There are several reasons for this: First, in the second level decomposition, the mode choice variables (x) are all fixed before the start time variables (y) are considered. This allows the strengthening constraints (25) to efficiently exclude many mode assignments before any scheduling choices are considered. Figure 3 illustrates how this works in practice. The figure presents a time plot of the 3L algorithm’s movement between the three levels of our recursive decomposition, for a typical monthly test instance (15 t h March 2012). Level 1 corresponds to the ‘assignment’ master problem, level 2 is the ‘mode’ master problem, and level 3 is the scheduling slave problem. We see that very little time is spent on solving the daily scheduling problems. Frequently, the feasibility check on level 2 is enough to prove that an assignment solution is infeasible for a given day, without ever solving the corresponding scheduling problem. Since the ‘mode’ master problem is much smaller than the feasibility problem of 196

Instance 15 t h Dec. 2011 16 t h Jan. 2012 15 t h Feb. 2012 15 t h Mar. 2012 16 t h Apr. 2012 15 t h May 2012 15 t h June 2012 16 t h July 2012 15 t h Aug. 2012 17 t h Sept. 2012 15 t h Oct. 2012 15 t h Nov. 2012

Pat. 432 526 570 546 518 404 358 409 478 490 403 212

New 432 432 421 411 376 298 240 376 388 393 281 115

Value 460044.34 336091.65 345834.84 390403.90 398230.83 400570.60 573032.31 633153.43 491225.88 458548.36 −∗ 639281.96

it 7 17 6 9 9 43 5 5 10 13 12

3L-time 20.0 145.9 42.1 77.4 70.3 302.4 5.7 14.6 63.3 133.8 18.5

2L-time 102.3 -

Table 1: Computational results for the monthly test instances. The table gives the instance name, the total number of patients (Pat), the number of patients on the waiting list (New), the optimal value (Value), and the computation (wall) time for the 3L and 2L algorithms. These times are averaged over ten runs, and are given in seconds. (it) is the number of times the level one master was solved (recorded for the 3L algorithm). *: An upper bound 494274.25 has a proven gap of 0.1%.

the two-level decomposition, it can be solved much faster. Also, the cuts (23) are efficiently reducing the search space. Finally, the ILP of the two-level decomposition’s slave contains a linearisation of the resource capacity constraints (6)5 . This gives many additional constraints (a common problem when modelling multi-mode scheduling problems [36]). No such linearisation is necessary for the three-level decomposition, since the mode variables are chosen in the mode problem and are taken as fixed parameters in the scheduling problem. The much simpler daily scheduling instances are all solved to optimality by both versions of the algorithm. Across all 258 instances, the average run times for the 3L algorithm range from 0.7 to 9.6 seconds, with an average of 4.9 seconds. The average for the 2L algorithm is 21.4 seconds, more than 5 times that of 3L. Furthermore, the 2L computation times has a much higher variability, with values ranging from 0.4 seconds to 1832 seconds. We find that the symmetry breaking Benders’ cuts in the ‘assignment’ master, 5 In (6), these are written using the set of ongoing activities at time t , S(t ). Without this simplified notation, the constraint will contain a product of mode and start time variables.

197

Figure 3: Time plot of the 3L algorithm’s movement between the three levels the decomposition.

(14) and (16), are essential to solve the test instances in a reasonable time. This is because our test instances have many activities in each group. For example, in the first of our monthly test instances, the 461 patients can be divided into only 20 groups. This means that the original cuts (12) would only have excluded a small fraction of all equivalent infeasible assignments.

6

Conclusions and future work

We have presented an exact method, based on a three-level logic-based Benders’ decomposition, for multi-mode appointment scheduling problems with variable resource availability and setup times. We have shown how such a decomposition can be designed to fully exploit the daily structure of such problems, while at the same time addressing the symmetry issues that arise from having many appointments with similar resource and time requirements. The research has demonstrated the importance of using tight relaxations of the respective slaves in each master problem, and of adding strong Benders’ cuts. We also found that the implicit overlap between the ‘assignment’ master problem and its slave, which comes from making a partial choice of resources in the master which is not communicated to the slave, is important to strengthen both of these aspects. Using a gastroenterology clinic at the University Hospital of Northern Norway as our case study, we have demonstrated that the presented method can solve large, real world problem instances to optimality in a time that is well within the performance requirements for appointment scheduling software. We have also showed that our three-level decomposition clearly outperforms the corresponding two-level decomposition. For the hard ‘monthly scheduling’ instances, the latter fails to produce solutions at all within one hour (except in one instance). For

198

the much simpler ‘daily scheduling’ instances, the differences between the two algorithms is smaller. However, the three-level algorithm is still about 5 times as fast, and has a much smaller variability in computation times. One obvious direction for future research is to generalise the presented approach to tackle problems with several activities per patient, with minimum and maximum time delays between them. Also, tackling stochastic aspects of these kinds of problems is a natural next step. To handle the additional computational complexity that these extensions imply, we are currently considering hybrid approaches where heuristic and exact methods work together to solve the different subproblems.

Acknowledgements This work has been supported by the Research Council of Norway, under Grant no. 219335/O30. We wish to thank the University Hospital of Northern Norway for providing the data for our case study. Also, we wish to thank the staff at the Gastroenterology clinic, for working with us to formalise their planning and scheduling problem.

199

Bibliography [1] S. Batun and M. A. Begen. Optimization in healthcare delivery modeling: Methods and applications. In Handbook of Healthcare Operations Management, pages 75–119. Springer, 2013. [2] J. C. Beck. Checking-up on branch-and-check. In Principles and Practice of Constraint Programming–CP 2010, pages 84–98. Springer, 2010. [3] L. Benini, M. Lombardi, M. Mantovani, M. Milano, and M. Ruggiero. Multi-stage benders decomposition for optimizing multicore architectures. In M. Perron and M. Trick, editors, Fifth International Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Oprimization Problems, pages 36–50, 2008. [4] N. Bulgarini, D. Di Lorenzo, A. Lori, D. Matarrese, and F. Schoen. Operating room joint planning and scheduling. In Proceedings of the International Conference on Health Care Systems Engineering, pages 127–138. Springer, 2014. [5] B. Cardoen, E. Demeulemeester, and J. Beliën. Operating room planning and scheduling: A literature review. European Journal of Operational Research, 201(3):921–932, 2010. 0377-2217. [6] T. Cayirli and E. Veral. Outpatient scheduling in health care: A review of literature. Production and Operations Management, 12(4):519–549, 2003. [7] J. Charnetski. Scheduling operating room surgical procedures with early and late completion penalty costs. Journal of Operations Management, 5(1):91– 102, 1984. [8] G. Codato and M. Fischetti. Combinatorial benders’ cuts for mixed-integer linear programming. Operations Research, 54(4):756–766, 2006. [9] I. Correia and M. Captivo. Bounds for the single source modular capacitated plant location problem. Computers & Operations Research, 33:2991–3003, 2006.

200

[10] E. Demeulemeester, J. Beliën, B. Cardoen, and M. Samudra. Operating room planning and scheduling. In Handbook of Healthcare Operations Management, volume 184 of International Series in Operations Research & Management Science, book section 5, pages 121–152. Springer New York, 2013. [11] S. H. H. Doulabi, L.-M. Rousseau, and G. Pesant. A constraint programming-based column generation approach for operating room planning and scheduling. In Integration of AI and OR Techniques in Constraint Programming, pages 455–463. Springer, 2014. [12] M. Fazel-Zarandi and J. Beck. Using logic-based benders decomposition to solve the capacity and distance constrained plant location problem. INFORMS Journal on Computing, 24:399–415, 2012. [13] M. M. Fazel-Zarandi, O. Berman, and J. C. Beck. Solving a stochastic facility location/fleet management problem with logic-based benders’ decomposition. IIE Transactions, 45(8):896–911, 2013. [14] C. M. Froehle and M. J. Magazine. Improving scheduling and flow in complex outpatient clinics. In Handbook of Healthcare Operations Management, pages 229–250. Springer, 2013. [15] F. Guerriero and R. Guido. Operational research in the management of the operating theatre: a survey. Health Care Management Science, 14(1):89– 114, 2011. [16] D. Gupta and B. Denton. Appointment scheduling in health care: Challenges and opportunities. IIE Transactions, 40(9):800–819, 2008. [17] J. N. Hooker. Logic-based Methods for Optimization. Wiley, 2000. [18] J. N. Hooker. Planning and scheduling by logic-based benders decomposition. Operations Research, 55(3):588–602, 2007. [19] J. N. Hooker and G. Ottosson. Logic-based benders decomposition. Mathematical Programming, 96(1):33–60, 2003.

201

[20] P. J. H. Hulshof, N. Kortbeek, R. J. Boucherie, E. W. Hans, and P. J. M. Bakker. Taxonomic classification of planning decisions in health care: a structured review of the state of the art in or/ms. HS, 1(2):129–175, 2012. [21] V. Jain and I. Grossmann. Algorithms for hybrid milp/cp models for a class of optimization problems. INFORMS Journal on Computing, 13:258–276, 2001. [22] L. Lamorgese and C. Mannino. An exact decomposition approach for the real-time train dispatching problem. Operations Research, 63(1):48–64, 2015. [23] M. Lombardi and M. Milano. Optimal methods for resource allocation and scheduling: a cross-disciplinary survey. Constraints, 17(1):51–85, 2012. [24] I. Marques, M. E. Captivo, and M. V. Pato. An integer programming approach to elective surgery scheduling. OR spectrum, 34(2):407–427, 2012. [25] I. Marques, M. E. Captivo, and M. V. Pato. A bicriteria heuristic for an elective surgery scheduling problem. Health care management science, pages 1–16, 2014. [26] I. Marques, M. E. Captivo, and M. Vaz Pato. Scheduling elective surgeries in a portuguese hospital using a genetic heuristic. Operations Research for Health Care, 3(2):59–72, 2014. [27] J. H. May, W. E. Spangler, D. P. Strum, and L. G. Vargas. The surgical scheduling problem: Current research and future opportunities. Production and Operations Management, 20(3):392–405, 2011. [28] J. Molina-Pariente, V. Fernandez-Viagas, and J. Framinan. Integrated operating room planning and scheduling problem with assistant surgeon dependent surgery durations. Computers & Industrial Engineering, 2015. [29] K. Neumann, C. Schwindt, and J. Zimmermann. Project Scheduling with Time Windows and Scarce Resources. Springer-Verlag, New York, 2 edition, 2003.

202

[30] D.-N. Pham and A. Klinkert. Surgical case scheduling as a generalized job shop scheduling problem. European Journal of Operational Research, 185(3):1011–1025, 2008. 0377-2217. [31] D. Pisinger and M. Sigurd. Using decomposition techniques and constraint programming for solving the two-dimensional bin-packing problem. INFORMS Journal on Computing, 19(1):36–51, 2009. [32] G. R. Raidl, T. Baumhauer, and B. Hu. Speeding up logic-based benders’ decomposition by a metaheuristic for a bi-level capacitated vehicle routing problem. In Hybrid Metaheuristics, pages 183–197. Springer, 2014. [33] R. Rasmussen and M. Trick. A benders approach for the constrained minimum break problem. European Journal of Operational Research, 177(1):198–213, 2007. [34] A. Riise and E. K. Burke. Local search for the surgery admission planning problem. Journal of Heuristics, 17(4):389–414, 2011. [35] B. Roland, C. Di Martinelly, and F. Riane. Operating theatre optimization : A resource-constrained based solving approach. In Service Systems and Service Management, 2006 International Conference on, volume 1, pages 443–448, 2006. [36] M. Sabzehparvar and S. M. Seyed-Hosseini. A mathematical model for the multi-mode resource-constrained project scheduling problem with mode dependent time lags. The Journal of Supercomputing, 44(3):257–273, 2008. [37] C. Serrano, A. Jiménez, C. Amaya, and N. Velasco. Optimization model to minimize the makespan in a hospital’s gastroenterology service. Report, Universidad de los Andes, 2009. [38] B. Vijayakumar, P. J. Parikh, R. Scott, A. Barnes, and J. Gallimore. A dual bin-packing approach to scheduling surgical cases at a publicly-funded hospital. European Journal of Operational Research, 224(3):583–591, 2013.

203

PAPER V

S CHEDULING AND SEQUENCING E.K. Burke, T. Curtois, T.E. Nordlander, and A. Riise

In Handbook of Healthcare Delivery Systems, CRC Press (2010)

205

1

Introduction

Healthcare management includes many different planning tasks. These tasks are often interconnected by the flow of patients through clinical pathways, or the use of resources across such pathways. Many of these planning tasks involve the creation of schedules and sequences. Some of the more common scheduling scenarios include: • Creating rosters for nurse and physicians. • Scheduling patient appointments. • Scheduling the use of operating theatres. • Scheduling regular treatment. For example, radiotherapy and chemotherapy. Often the schedules are still created by hand. Producing them manually without the help of a decision support system has two significant disadvantages: 1. The schedules produced are sub-optimal and do not utilise precious resources as efficiently as possible. This can have a number of adverse effects such as unnecessary expenditure, inferior quality of patient care and dissatisfied employees. 2. The scheduling is in itself a time consuming and sometimes a frustrating task, which often falls to employees who could use their time more productively, especially as they are frequently already overloaded. For example, it is usually a responsibility of head nurses to create rosters. Asking nurses to solve these very challenging problems distracts them from their primary duty of healthcare. As such, it is not a welcome assignment. Fortunately, these undesirable situations can be greatly improved. Since the early 1950’s, researchers have been analysing these problems and utilising theory from fields such as mathematics, computer science, economics, and engineering. There is now a large and growing body of research into technologies for automating and optimising these scheduling processes. With the ubiquity of powerful personal computers, these systems are increasingly being adopted in many environments and the associated benefits realised. 206

In this chapter, we will look at two commonly occurring scheduling problems in healthcare environments: Nurse rostering and surgery scheduling. In the following sections, we will examine the problems in more depth and present a variety of techniques that have been developed to solve them.

2

Nurse rostering

Unlike many other well-studied optimisation problems, no standard model or formulation for the nurse rostering problem exist. This may be because constraints and objectives for each problem instance vary widely, not just between different countries and hospitals but also between different departments and wards within a hospital. This lack of a single version of the nurse rostering problem has had two effects on the research and development of technologies and methodologies for the nurse rostering problem: 1. There are very few commonly used benchmark data sets which researchers can use to develop and gauge the success of different approaches (this is unusual for such a widely researched problem). 2. A large variety of techniques have been developed for the problem, often with each approach tailored to a particular situation. Although there is no single, standard formulation of the problem, it is possible to identify a common general structure which can be stated as follows: For a set of employees (for example, belonging to a single ward) and a given planning period, decide for each employee which shift (if any) they are assigned each day. This is of course subject to a large number of constraints and objectives. As mentioned, these constraints and objectives vary significantly between organisations. Also, a constraint for one instance may be an objective in another. For example, in one situation there may be a constraint on the number of hours an employee can work within the planning period, whereas in another, the employee may exceed this limit but the overtime should be minimised. The constraints and objectives for the nurse rostering problem can be broadly split into two groups: 1. Employees’ working requirements: These affect the schedule (work pattern) for each employee. Examples include: 207

a) Minimum/maximum number of hours worked. b) Minimum/maximum number of consecutive days with work. c) Minimum/maximum number of consecutive days without work. d) Minimum/maximum number of consecutive weekends with work. e) Minimum/maximum number of weekends with work. f ) Minimum/maximum number of shifts of a certain type (for example, a maximum number of night shifts). g) Annual leave or requests for certain days or shifts off or on. h) Rest requirements after a series of night shifts. i) Sub-patterns to avoid (for example an early shift after a late shift). j) Requests to work at the same times as other employees (for example to enable car-pooling or supervision of trainee nurses). 2. Cover requirements: These constraints ensure that the correct number of employees are present during each shift for each day. They may also consider skill mixes and may be expressed as minimum, maximum and/or preferred numbers of employees working. In section 2.2, we provide an integer programming (IP) model of a nurse rostering problem in which some of these constraints are formalised. In the following sections, we discuss three popular methodologies and approaches which have been successfully applied to the nurse rostering problem: mathematical programming, constraint programming, and heuristic approaches. 2.1

Methodologies

The methods used to solve the problems can be placed in one of two broad categories: exact and heuristic optimisation methods. Exact methods (e.g. mathematical programming and constraint programming) have the advantage that they will guarantee to produce optimal solutions. The disadvantage is that for many real world nurse rostering problems the time required to find these solutions is impractically large. As a result, most exact optimisation methods applied to real world nurse rostering problems do one or more of the following:

208

• Solve a relaxation of the problem. • Use a number of heuristics. • Terminate before the optimal solution is found. Still, exact optimisation techniques are very successful:. For example, often it is only necessary to model the problem and then use a highly developed algorithm such as CPLEX’s [28] mixed-integer programming (MIP) solver to solve it. On the other hand, designing the model or formulation is not always trivial and can have a critical effect on the success of the algorithms. Approaches which do not guarantee to produce optimal solutions are broadly categorised as heuristic methods. Heuristic approaches are commonly applied to and are particularly suited to nurse rostering problems for a number of reasons. Firstly, it is actually very difficult to define what would be an optimal solution. The problem formulations are often based on subjective decisions and vague preferences so that an “optimal” solution may not actually be the best or most preferable solution. For example, an employee might say “I would quite like a day off on. . . ” or “I don’t really want a night shift on. . . ”. These sort of statements are difficult to translate into exact mathematical expressions. Secondly, users are often impatient and want short waiting times for solutions. As such, they are willing to trade optimal solutions for near optimal solutions in order to reduce computation times. This is particularly the case for nurse rostering which may need new solutions at short notice due to absences and sickness. A criticism of heuristic approaches is that they can be inconsistent between problem instances and may require more programming. On the other hand, complicated objective functions may be easier to handle with higher level programming languages. Another major criticism is, of course, that you cannot, in general, guarantee optimality. Mathematical programming Before solving the nurse rostering problem using a mathematical programming approach it is necessary to decide on the formulation of the problem. There are two common formulations. The first one is to model the decision variables as nurse to shift assignments. That is, the variable takes the value 1 if the nurse is assigned to that shift and 0 if not (here we refer to a shift as a shift type (e.g. night shift) on a specific day). See section 2.2 for an example of this formulation. The 209

second formulation is to model the decision variables as nurse to pattern assignments. Here the patterns are generally pre-defined. As the number of possible patterns for each nurse is exponentially large, a subset of acceptable patterns is generated for each nurse at the start of the algorithm. This approach means that the final solution is not necessarily optimal but in our experience MIP solvers such as CPLEX 10 can solve this formulation of the problem quite quickly (even if the number of patterns for each nurse is > 1,000). Using the nurse-shift formulation does guarantee optimality but even powerful solvers such as CPLEX and Xpress-MP [18] are often ineffective on real world sized problems. An alternative approach is branch and price, in which, in effect, new patterns are generated as required. In this approach, a linear programming (where integrality constraints are relaxed) nurse-pattern formulation is used at each node in a branch and bound tree. The branching is usually performed by progressively assigning shifts in the overall roster. Using the dual costs from the cover constraints, sub problems are then generated and solved to find new reduced cost patterns (columns) to add to the original problem. The column generation subproblem can be modelled as a shortest path problem with resource constraints. Although this is also NP-hard it can often by solved efficiently using a dynamic programming approach. Examples of branch and price approaches for nurse rostering include [23, 29, 36]. Constraint programming The word ‘programming’ in mathematical programming is related to the planning and scheduling problems it was originally used on (i.e. to create a program or schedule for a specific task). In contrast, ‘programming’ in constraint programming (CP) relates to programming computer languages, using constraints. The field started in the sixties [30] and matured for industrial use in the nineties. CP combines reasoning and computing techniques over constraints and its main sub-field Constraint Satisfaction apply techniques to find solutions to Constraint Satisfaction Problems (CSPs). As in the mathematical models, CSPs are defined in terms of variables, domains (possible values) for these variables and constraints which restrict the simultaneous values that the variables can take. A solution to a CSP, is the assignment of a value to every variable in such a way that all constraints are satisfied. Most search algorithms systematically assign possible values to the variables 210

using simple heuristics to control the order in which variables should be considered (Variable Order) and the order of which to assign domain values (Value Order); these heuristics can be either static or dynamically change during search. In addition, the main CSP search technique interleaves various forms of backtracking search with consistency enforcement, in which infeasible values are removed from the domains of the variables through reasoning about the constraints. Today, there are CP libraries in many programming languages (e.g. C++, Java, Python, Prolog, LISP etc.) and toolkits (e.g. ILOG [27, 46]) are available. Examples of constraint programming approaches applied to nurse rostering include [37, 38, 48]. Heuristic approaches The largest proportion of approaches in nurse rostering literature can be categorised as heuristic, local search, or metaheuristic methods. Heuristics may be constructive and build solutions step by step or be improving, for example, repairing violations in randomly generated rosters. Local search and metaheuristics use the idea of neighbourhood search. In a neighbourhood search new solutions are created by making small changes to existing solutions. For example, by swapping assignments between two nurses or adding or removing assignments to or from a single nurse. These types of swaps and moves are called neighbourhood operators. Local search terminates when no improving neighbourhood moves/swaps can be found for the best solution found so far (i.e. the solution is locally optimal). Metaheuristics extend local search by providing mechanisms for allowing un-improving changes (small and large) to solutions in order to escape from local optima. However, for both metaheuristics and local search, identifying efficient neighbourhood operators can often have a significant impact on the performance of the algorithm. The popular metaheuristic framework tabu search has been applied to nurse rostering a number of times (e.g. [22]). Another type of metaheuristic, evolutionary algorithms, are also often used for nurse rostering. Like most metaheuristics, there is no strict and universally accepted definition for evolutionary algorithms. However, evolutionary algorithms are sometimes loosely inspired by natural or biological processes and often use one or more of the following: • Generations (algorithmic iterations). 211

• Populations (multiple concurrent solutions). • Crossover (combining features from two solutions to produce new solutions). • Mutation (random changes to solutions). • Population management (e.g. elitism, survival of the fittest, diversification strategies). These features are not exclusive to evolutionary algorithms though and may appear in other metaheuristics in one form or another too. For example, ‘shuffles’ or ‘kicks’ in the metaheuristics variable neighbourhood search and iterated local search could be described as mutations. Examples of evolutionary algorithms include genetic algorithms, memetic algorithms (genetic algorithms plus local search) and scatter search. For examples of these approaches applied to nurse rostering, see [11, 21]. Other heuristic approaches which have been used to successfully solve nurse rostering problems include case based reasoning [3] and hyperheuristics [14]. 2.2

Case study: solving a nurse rostering problem using a VNS approach

We will now discuss a metaheuristic approach which was used to solve a challenging scheduling problem provided by a software company who specialise in workforce management solutions. The problem contains a large number of objectives many of which are common in nurse rostering problems. An IP model of the problem is provided below. Parameters: I = Set of nurses available. I t |t ∈ {1, 2, 3} = Subset of nurses that work 20, 32, 36 hours per week respectively, I = I 1 + I 2 + I 3 J = Set of indices of the last day of each week within the scheduling period = {7, 14, 21, 28, 35}. K = Set of shift types = {1(early), 2(day), 3(late), 4(night)}. 212

K = Set of undesirable shift type successions = {(2,1), (3,1), (3,2), (1,4), (4,1), (4,2), (4,3)}. d j k = Coverage requirement of shift type k on day j , j ∈ {1, ...7|J |}. mi = Maximum number of working days for nurse i . n1 = Maximum number of consecutive night shifts. n2 = Maximum number of consecutive working days. ck = Desirable upper bound of consecutive assignments of shift type k. g t = Desirable upper bound of weekly working days for the t t h subset of nurses. h t = Desirable lower bound of weekly working days for the t t h subset of nurses. Decision variables: xi j k = 1 if nurse i is assigned shift type k for day j , 0 otherwise. The constraints are: 1. Shift cover requirements.  xi j k = d j k , ∀ j ∈ {1, ...., 7|J |}, k ∈ K i ∈I

2. A nurse may not start more than one shift each day.  xi j k ≤ 1, ∀i ∈ I , j ∈ {1, ...., 7|J |} k∈K

Other requirements are formulated as (weighted wi ) goals. The overall objective function is: 15  ¯ M i n G(x) = w g¯ (x), i =1

i i

where the goals are: 1. Complete weekends (i.e. Saturday and Sunday are both working days or both off).        g¯1 (x) = xi ( j −1)k − xi j k     i ∈I j ∈J k∈K

213

2. Minimum of two consecutive non-working days. g¯2 (x) =

|−1   7|J i ∈I

 ma x 0,

j =2



−xi ( j −1)k + xi j k − xi ( j +1)k





k∈K

3. A minimum number of days off after a series of shifts. g¯3 (x) =

|−1   7|J i ∈I

 ma x 0,

j =2





xi( j −1)k − xi j k + xi( j +1)k − 1

k∈K

4. A maximum number of consecutive shifts of type early and late.  r +c  |−ck  k  7|J ma x 0, xi j k − ck g¯4 (x) = i ∈I

r =1 k∈{1,3}

j =r

5. A minimum number of consecutive shifts of type early and late. g¯5 (x) =

|−1    7|J i ∈I

j =2 k∈{1,3}

ma x{0, −xi( j −1)k + xi j k − xi( j +1)k}

6. A maximum and minimum number of working days per week. ⎡   |J | 3  7w    ⎣ ma x 0, g¯6 (x) = xi j k − g t + t =1 i ∈I t w=1

j =7w−6 k∈K

 ma x 0, h t −

7w   j =7w−6 k∈K

⎤ xi j k ⎦

7. A maximum of three consecutive working days for part time nurses.   |−3 r +3     7|J g¯7 (x) = ma x 0, xi j k − 3 i ∈I1 r =1

j =r k∈K

214



8. Avoiding certain shift successions (e.g. an early shift after a day shift). g¯8 (x) =

|−1    7|J i ∈I

j =1 (k1 ,k2 )∈K

  ma x 0, xi j k1 + xi( j +1)k2 − 2

9. Maximum number of working days. g¯9 (x) =



 ma x 0,

i ∈I

7|J |   j =1 k∈K

 xi j k − mi

10. Maximum of three working weekends.     g¯10 (x) = ma x 0, max{xi( j −1)k , xi j k } − 3 i ∈I

j ∈J k∈K

11. Maximum of three night shifts. g¯11 (x) =



 ma x 0,

i ∈I

7|J |  j =1

 xi j 4 − 3

12. A minimum of two consecutive night shifts. g¯12 (x) =

|−1   7|J i ∈I

j =2

  ma x 0, −xi ( j −1)4 + xi j 4 − xi ( j +1)4

13. A minimum of two days off after a series of consecutive night shifts. This is equivalent to avoiding the pattern: night shift – day off – day on. g¯13 (x) =

|−1   7|J i ∈I

j =2

 ma x 0, xi ( j −1)4 −

 k∈K

215

xi j k +

 k∈K

 xi ( j +1)k − 1

14. Maximum number of consecutive night shifts.   |−n1 r +n1  7|J g¯14 (x) = ma x 0, xi j 4 − n1 i ∈I

r =1

j =r

15. Maximum number of consecutive working days.   |−n2 r +n2   7|J g¯15 (x) = ma x 0, xi j k − n2 i ∈I

r =1

j =r k∈K

The data for this instance (and others) is also available at the recently developed rostering benchmark website [1]. The algorithm used to solve this problem was a hybrid approach that combined heuristic ordering with variable neighbourhood descent. The first step is to create an initial roster which is done using heuristic ordering of shifts to be assigned. As the cover requirements cannot be violated it is possible to pre-create all the shifts that need to be assigned in order to produce a feasible solution. These shifts are then heuristically ordered based on an estimate of how difficult they may be to assign. For example, there are many high priority objectives related to night shifts so a successful heuristic was to assign night shifts first. Similarly, objectives related to weekends conflict with many other objectives so weekend shifts are given a higher order. Once the shifts are ordered they are assigned one by one using a greedy method which operates as follows: Before assigning a shift to an employee, all employees are tested as the possible assignee and the employee that causes the least gain in the objective function on receiving this shift is chosen. After this initial roster is created it is improved (according to the objective function) using a variable neighbourhood descent. Variable neighbourhood descent gradually improves a solution by testing neighbourhood operators and applying improving changes. The algorithm finishes when all neighbourhood operators have been tested on the current best known solution and a better solution was not found. That is, the current best is locally optimal for all the neighbourhoods being used. For this problem two simple neighbourhood operators were used: 216

• Moving a shift from one employee to another. • Swapping the employees assigned to a pair of shifts. Using additional operators may provide further benefit depending on the instances being solved. After the variable neighbourhood descent, the best known solution can be returned or a simple diversification mechanism used to continue the search. This mechanism is a solution disruption method in which a small number of employees are selected and all their shifts unassigned. The roster is then repaired by reassigning these shifts over all the employees using the heuristic ordering method. After this the variable neighbourhood search is again applied. It was observed that regardless of the instance size it was most effective to select three or four nurses to un-assign the shifts from. When selecting the nurses it was also found useful to introduce bias towards those with the worst individual schedules (i.e. work patterns with the higher objective function values). The overall algorithm is outlined in Figure 1. 1. 2. 3. 4. 5. 6.

Create initial roster (using heuristic ordering) REPEAT Variable Neighbourhood Descent Un-assign shifts of a set of nurses Repair roster (using heuristic ordering method) UNTIL max computation time exceeded

Figure 1 Hybrid VNS outline More information on this problem and algorithm can be found in [12]. For further reading on the nurse rostering problem see [13].

3

Surgery scheduling

In many hospitals, the surgery department is a significant cost driver [15, 32], partly due to the expensive resources directly involved in surgery. In addition, the operating room management influences other activities and associated resources in the hospital. For these reasons, surgery planning is crucial for cost efficient treatment and care, both in the surgery department and in other parts of the hospital. Better surgery planning can improve resource efficiency, reduce staff workload, reduce patients’ waiting time, reduce the number of surgery cancellations, 217

and improve overall performance in the hospital. Surgery planning is, however, a very complex task. This is because of the many resources that are involved, their involvement in other hospital activities, as well as the high degree of dynamics and uncertainty that is inevitable in most hospitals. Surgery scheduling is getting increasing attention from researchers. There is already a sizeable literature on topics related to surgery scheduling, both in the operations research community and in the health care management community. A number of these publications apply discrete event simulation, and typically evaluate various simple sequencing heuristics for surgery scheduling based on their effect on OR performance and resource utilisation [6]. In recent years, a number of authors have applied more advanced optimization methods to surgery scheduling problems. Apart from the references found herein, an good overview of the existing literature is found in the surveys of Blake and Carter [6], Magerlein and Martin [33], Przasnyski [42], and—more recently—Cardoen et al [15]. The term surgery planning covers planning tasks at different levels of detail and time scale. Following Blake and Donald [10], we divide these into three levels; strategic, tactical, and operational surgery planning. Below, we give examples of planning tasks found at each level. 3.1

Patient mix planning

At the strategic level, we find the problem of determining the best distribution of Operation Room (OR) time between the different medical specialties (or surgeons). This is often referred to as patient mix (or case mix) and relates closely to manufacturing product mix decisions [26, 44] where the objective is to decide the type and quantity of products to maximize profit. In the literature, most hospital patient mix models are based on patient throughput maximization while in practice many more (often conflicting) objectives are considered, such as satisfying funding restrictions, care demand; OR, bed, and staff capacity; staff skills and interests; etc. [7, 8, 43]. Different solution techniques have been applied to the patient mix problem, including linear programming [2, 20, 26, 44], mixed linear programming [47], and goal programming [8, 43]. A solution to the patient mix problem provides a target quantity for each type of surgeries that the hospital desires to handle. This translates into the proportion 218

of the total operation room time needed for each patient group [4, 10]. This, in turn, gives the target proportion of total operation room time for each medical specialty (or surgeon); let us call this the target OR time distribution. 3.2

Creating a masters surgery schedule

At the tactical planning level, some hospitals create a cyclic timetable that distributes OR time for each medical specialty over days and operation rooms. Such a timetable is often called a Master Surgery Schedule (MSS). In the MSS, the OR time is divided into blocks, which in turn is allocated to medical specialties (or surgeons). In Figure 2, we show a MSS with three operation rooms over a period of one week. Each OR day is divided into two blocks; morning and afternoon. The blocks are allocated to seven different medical specialties (Orthopaedic surgery, Gynaecological surgery, etc.).

Figure 2 The MSS of a Norwegian Hospital.

Note that the existence of a master surgery schedule is not necessary—to use such a pre-allocation of operation room time to specialties is a choice made by the hospital. The admission planner (see the section “Operational surgery scheduling”) use the MSS as a template when conducting block scheduling—assigning elective cases to the blocks. The MSS guaranties that each specialty has available OR time on given days, and the need too pre-book far in advance to reserve the OR time is less pressing. Block scheduling has been shown to produce higher resource utilisation and less cancellations that open scheduling [41]. However, using an MSS has noted drawbacks. For example, a MSS might require redesign if the size of a medical specialty changes. Also, booking vacations and meetings have to be done around the blocks. If demand fluctuations leave blocks of OR time poorly utilised, it is important that the OR time is released to other specialties. The blocks often have a “Block Release Time” that says how long before the block starting time the allocated block should be released to other specialties [34]. 219

Developing a MSS involves creating and allocating blocks of OR time to each specialty in such a way that it best satisfy the objectives. The main objective is to minimize the deviation from the target OR time distribution. Others can be to minimize the changes to the existing MSS, minimize OR—or ward—staff cost (overtime), or maximize OR utilization. The master surgery schedule is often preferred to be as simple and repetitive as possible which entails as few changes as possible from week to week [9]. Often, the desired length of the cyclic period is given; when it is not, the length becomes a variable in the optimisation problem. The generated MSS must satisfy a set of constraints like, always schedule infectious surgeries at the end of day, respect operation room capabilities, etc.. Also, when determining practical block sizes, one must take into account the uncertainty of surgical procedure durations, OR cleaning time, etc. A master surgery schedule should be revised whenever changes in patient mix, staff or equipment availability, or demand occur; depending on the particular hospital, these changes might take place once or several times in a year. In reality, the MSS is more static and is sometimes used for years before updated [5]. Often this is not because the existing MSS is optimal, but because it continues to be feasible. Furthermore, the creation and maintenance of a MSS is a combinatorial optimisation problem that is difficult to solve manually. Without a optimisation based planning , it is difficult to asses how far the existing MSS is from the optimal. In the literature, different optimisation techniques have been used to design master surgery schedules: integer programming [9], mixed linear programming [45, 47], and meta-heuristic methods [4] among others. 3.3

Operational surgery scheduling

Operational surgery scheduling includes a variety of planning problems—with different time horizons—that are solved on a daily (or weekly) basis. The resulting surgery schedule contains dates and times of surgery; as well as the allocation of critical resources, such as surgeons, operation rooms (see Figure 3), operation teams, equipment, or post-operative bed capacity. These problems concern the allocation of dates and times of surgery to a set of given interventions, while reserving capacity for these interventions on a set of critical resources.

220

The formulation of surgery scheduling problems varies considerably between hospitals. Variations also occur between planning at different time scales. In the following, we discuss the optimization problems encountered at different planning stages.

Figure 3 Snapshot from a simplified surgery schedule, showing the allocation of surgeries to rooms and days.

Intervention assignment The intervention assignment problem—also known as advance scheduling—concerns the assignment of interventions to operating rooms and days [16, 24, 25, 30, 39, 40] . The problem occurs in admission planning, which is the first stage of operational surgery scheduling. Before describing the intervention assignment problem, let us therefore provide some context through a typical example of admission planning from a Norwegian hospital. After being referred for surgery by a specialist the patients are registered on a waiting list. Every second or third day, the admission planner goes through these un-served referrals, and assigns a date of surgery to each one. Note that prior to this planning, a surgery schedule already exists from previous admission planning. The admission planner also communicates planned dates with some of the patients before “fixing” the surgery date. However, these surgeries can still be moved between rooms during subsequent planning. The date chosen for a surgery may be anything from a few days to several months into the future, depending on the queue length, the clinic capacity, and the surgery due dates6 . The assignment of dates to surgeries requires the resolution of the intervention assignment problem, which can be described as follows: • The input information includes: 6

Due dates are based on the patient’s medical condition

221

– a set of un-planned elective surgeries, – an initial plan, in which the date of some of the surgery dates are already fixed, – and a model of the hospital, including information about all critical resources. • The task is then to choose a date and a room for each surgery, in a way that optimises certain objectives, while respecting certain constraints. The most common constraints are related to: – operation room opening hours, – surgeon availability, – a master surgery schedule (see previous section), – time-lag constraints, such as cleaning times, surgery durations and due dates, – and precedence constraints, such as requiring infected patients to be treated last in the day. If a master surgery schedule is used, this constrains the days and rooms into which the surgeries belonging to a given medical specialty can be assigned. This is often referred to as “block scheduling” [40], as opposed to “open scheduling” where this constraint is absent [17]. Common objectives of the intervention assignment problem include patient waiting time, personnel overtime, hospitalisation costs, expected number of cancellations, workload levelling, and resource utilisation. However, there are many variations, as will be discussed below. Most versions of the intervention assignment problem are NP-hard. Hans et. al. [25] argue that the intervention assignment problem is a generalization of the socalled "general bin packing problem with unequal bins", and thus strongly NPhard. When planning is done by hand, this complexity is handled by simplifying the problem. This simplification is often done by introducing simple rules of thumb such as “plan two hip surgeries in room five on Thursdays”. Of course, what is lost is the flexibility to find (near) optimal solutions based on the real problem formulation. This is one reason why the introduction of decision support systems can be of great value, provided it employ suitable optimization methods.

222

Intervention scheduling Intervention scheduling—also known as ‘allocation scheduling’ —is the problem of scheduling previously assigned interventions within the respective rooms and days [30], [40]. This problem is usually considered at later stages of the planning process, such as in weekly planning of next week’s interventions, or daily planning of the following day’s interventions. At this stage, more information about critical resources (e.g. individual surgeons or equipment) becomes available. The demand may also have changed, due to the arrival of emergency patients or late cancellations of scheduled surgeries. Intervention scheduling may also assigning surgeons to interventions, if this has not been done at some earlier stage. The constraints of the “intervention assignment problem” are normally still respected with the possible exception of block scheduling constraints. In addition, the intervention scheduling has to respect additional constraints, e.g. concerning the availability and skills of individual surgeons and the availability of mobile equipment. Common objectives include overtime; resource utilisation; and patient or personnel preferences, such as waiting time in the morning for young children. Note that the above clean cut separation between intervention assignment and scheduling is not always desirable, or even possible. In some cases, the admission planning will involve objectives that depend on the sequence of surgeries during each day. Examples are the preference of treating children early, or the use of critical bottleneck post-operative resources such as recovery beds or intensive care unit capacity. In addition, if surgeons are chosen during admission planning, surgeon overtime will also depend on the sequencing of interventions. In all such cases, admission planning will involve an optimization problem with both assignment and scheduling aspects. In the literature, we only find this combination addressed in connection with short term scheduling, typically with one day or one week planning horizons [41] Jebali et. al. [30] show that the flexibility to re-assign interventions during scheduling gives improved solutions at the price of a considerably higher calculation effort. Variations We have described basic versions of operational surgery scheduling problems. There are, however, many variations and additional aspects to consider, such as: 223

• Hospital bed availability [6]. • Post-operative resources [30]. • Availability of stationary and mobile equipment, and the necessary sterilisation time between uses of such. E.g. Jebali et. al. [30] considers stationary equipment that is present in some, but not all, of the operating rooms in the operation theatre. • Human resources, including working time regulations, team assignment, and various other preferences. • Uncertainty, e.g. in surgery recovery durations, resource availability, cancellations and emergency care disruptions [19, 25, 35]. • Different objectives, such as resource utilisation, idle time, peak reduction, and load balancing. • Multi-objective treatment of independent conflicting objective functions. • Assigning interventions to teams, instead of—or in addition to—rooms [31]. This is relevant for hospitals where the surgical teams are the critical resource. The rich diversity of surgery scheduling problems dictates that efficient decision support tools for operation room management must incorporate optimisation methods that are robust across problem variations and sizes. So far, this need for robustness has not received a lot of attention in the optimization literature. Rather, the focus has been on tailored methods for selected surgery scheduling applications. A large selection of optimisation methods have been investigated, including linear programming, mixed integer programming, goal programming, column generation, branch-and-price, constructive heuristics, and meta-heuristic methods. For a comprehensive review, see [15].

4

Summary

In this chapter, we have examined two complex and challenging scheduling problems from the healthcare domain. A large and growing body of research exist on how to efficiently manage these complex processes. The scheduling problems

224

found in the healthcare domain are often of high computational complexity. Future application driven research will therefore likely have an increased focus on heuristic optimisation algorithms, as well as hybrid combinations of various existing methods. A compilation of standard benchmark problems for health care scheduling problems is needed for a more quantitative comparison of methods. However, given the many differences found between healthcare institutions, researchers should also evaluate new methods with respect to their robustness across problem variations. Increasingly hospitals are exploiting research results along with the latest technologies to facilitate and improve their scheduling decisions. We believe this trend will continue, resulting in the more efficient utilisation of hospital resources, and thus in better healthcare.

225

Bibliography [1]

Personnel scheduling benchmarks (http://www.cs.nott.ac.uk/ ~tec/NRP/ retrieved 27 March 2009). 2009.

[2] Adan, I. and J.M.H. Vissers, Patient mix optimisation in hospital admission planning: A case study. International Journal of Operations and Production Management, 2002. 22(4): pp. 445-461. [3] Beddoe, G.R. and S. Petrovic, Enhancing case-based reasoning for personnel rostering with selected tabu search concepts. Journal of the Operational Research Society 2007. 58(12): pp. 1586-1598. [4] Beliën, J. and E. Demeulemeester, Building cyclic master surgery schedules with leveled resulting bed occupancy. European Journal of Operational Research, 2007. 176(2): pp. 1185-1204. [5] Beliën, J., E. Demeulemeester, and B. Cardoen, Building Cyclic Master Surgery Schedules with Leveled Resulting Bed Occupancy: A Case Study: SSRN. [6] Blake, J.T. and M. Carter, Surgical process scheduling: a structured review. J Soc Health Syst, 1997. 5(3): pp. 17-30. [7] Blake, J.T. and M.W. Carter, A goal programming approach to strategic resource allocation in acute care hospitals. European Journal of Operational Research, 2002. 140(3): pp. 541-561. [8] Blake, J.T. and M.W. Carter, Physician and hospital funding options in a public system with decreasing resources. Socio-Economic Planning Sciences, 2003. 37(1): pp. 45-68. [9] Blake, J.T., F. Dexter, and J. Donald, Operating Room Managers’ Use of Integer Programming for Assigning Block Time to Surgical Groups: A Case Study. Anesth Analg. 2002 Jan;94(1):143-8, table of contents., 2002. 94(1): pp. 143-148. [10] Blake, J.T. and J. Donald, Mount Sinai Hospital Uses Integer Programming to Allocate Operating Room Time. Interfaces, 2002. 32(2): pp. 63-73.

226

[11] Burke, E.K., P. Cowling, P. De Causmaecker, and G. Vanden Berghe, A Memetic Approach to the Nurse Rostering Problem. Applied Intelligence, 2001. 15(3): pp. 199-214. [12] Burke, E.K., T. Curtois, G. Post, R. Qu, and B. Veltman, A Hybrid Heuristic Ordering and Variable Neighbourhood Search for the Nurse Rostering Problem. European Journal of Operational Research, 2008. 188(2): pp. 330-341. [13] Burke, E.K., P. De Causmaecker, G. Vanden Berghe, and H. Van Landeghem, The State of the Art of Nurse Rostering. Journal of Scheduling, 2004. 7(6): pp. 441 - 499. [14] Burke, E.K., G. Kendall, and E. Soubeiga, A Tabu-Search Hyperheuristic for Timetabling and Rostering. Journal of Heuristics, 2003. 9(6): pp. 451 470. [15] Cardoen, B., E. Demeulemeester, and J. Beliën, Operating room planning and scheduling: A literature review. 2008, K.U.Leuven. [16] Chaabane, S., N. Meskens, A. Guinet, and M. Laurent. Comparison of Two Methods of Operating Theatre Planning: Application in Belgian Hospital. in Service Systems and Service Management, 2006 International Conference on. 2006. pp. 386-392. [17] Chessare, J.B. Maximizing Throughput:Smoothing the Elective Surgery Schedule to Improve Patient Flow. 2004 [2008 30 July]; Available from: http://urgentmatters.org/346834/318807/318808/318811. [18] DashOptimization, Xpress-MP (http://www.dashoptimization. com/ retrieved 18-Feb-2009). 2009. [19] Denton, B., J. Viapiano, and A. Vogl, Optimization of surgery sequencing and scheduling decisions under uncertainty. Health Care Management Science, 2007. 10(1): pp. 13-24. [20] Dexter, F., J.T. Blake, D.H. Penning, B. Sloan, P. Chung, and D.A. Lubarsky, Use of linear programming to estimate impact of changes in a hospital’s operating room time allocation on perioperative variable costs. Anesthesiology, 2002. 96(3): pp. 718-24. 227

[21] Dias, T.M., D.F. Ferber, C.C. de Souza, and A.V. Moura, Constructing nurse schedules at large hospitals. International Transactions in Operational Research, 2003. 10(3): pp. 245-265. [22] Dowsland, K.A. and J.M. Thompson, Solving a nurse scheduling problem with knapsacks, networks and tabu search. Journal of the Operational Research Society, 2000. 51(7): pp. 825-833. [23] Eveborn, P. and M. Rönnqvist, Scheduler – A System for Staff Planning. Annals of Operations Research, 2004. 128: pp. 21–45. [24] Guinet, A. and S. Chaabane, Operating theatre planning. International Journal of Production Economics Planning and Control of Productive Systems, 2003. 85(1): pp. 69-81. [25] Hans, E., G. Wullink, M. van Houdenhoven, and G. Kazemier, Robust surgery loading. European Journal of Operational Research, 2008. 185(3): pp. 1038-1050. [26] Hughes, W.L. and S.Y. Soliman, Short-term case mix management with linear programming. . Hospital & health services administration, 1985. 30(1): pp. 52-60. [27] ILOG, ILOG Solver. 2007, ILOG Inc.: Paris, France. Available from: http://www.ilog.com/. [28] ILOG, CPLEX Mathematical programming optimizer (http://www. ilog.com/products/cplex/ retrieved 18-Feb-2009). 2009. [29] Jaumard, B., F. Semet, and T. Vovor, A Generalized Linear Programming Model for Nurse Scheduling. European Journal of Operational Research 1998. 107(1): pp. 1-18. [30] Jebali, A., A.B. Hadj Alouane, and P. Ladet, Operating rooms scheduling. International Journal of Production Economics Control and Management of Productive Systems, 2006. 99(1-2): pp. 52-62. [31] Krempels, K.-H. and A. Panchenko, An Approach for Automated Surgery Scheduling. PATAT 2006, 2006: pp. 209–233.

228

[32] Macario, A., T.S. Vitez, B. Dunn, and T. McDonald, Where Are the Costs in Perioperative Care?: Analysis of Hospital Costs and Charges for Inpatient Surgical Care. Anesthesiology, 1995. 83(6): pp. 1138-1144. [33] Magerlein, J.M. and J.B. Martin, Surgical demand scheduling: a review.Health Services Research, 1978. [34] Malhotra, V., Getting the Schedule Done. Seminars in Anesthesia, Perioperative Medicine and Pain, 1999. 18(4): pp. 300-305. [35] Marcon, E., S. Kharraja, and G. Simonnet. Minimization of the risk of no realization for the planning of the surgical interventions into the operation theatre. in 8th IEEE International Conference on Emerging Technologies and Factory Automation. 2001. Antibes-Juan les Pins, France. pp. 675680. [36] Mason, A.J. and M.C. Smith. A Nested Column Generator for solving Rostering Problems with Integer Programming. in International Conference on Optimisation: Techniques and Applications. 1998. Perth, Australia. L. Caccetta, et al. (ed). pp. 827-834. [37] Meisels, A., E. Gudes, and G. Solotorevsky, Combining rules and constraints for employee timetabling International Journal of Intelligent Systems, 1997. 12(6): pp. 419-439. [38] Meyer auf’m Hofe, H., Solving Rostering Tasks as Constraint Optimization, in Selected papers from the Third International Conference on Practice and Theory of Automated Timetabling, Springer Lecture Notes in Computer Science Volume 2079 E.K. Burke and W. Erben, Editors. 2000, SpringerVerlag: Berlin Heidelberg. pp. 191-212. [39] Ogulata, S.N. and R.z. Erol, A Hierarchical Multiple Criteria Mathematical Programming Approach for Scheduling General Surgery Operations in Large Hospitals. Journal of Medical Systems, 2003. 27(3): pp. 259-270. [40] Ozkarahan, I., Allocation of Surgeries to Operating Rooms by Goal Programing. Journal of Medical Systems, 2000. 24(6): pp. 339-378. [41] Pham, D.-N. and A. Klinkert, Surgical case scheduling as a generalized job shop scheduling problem. European Journal of Operational Research, 229

2008. 185(3): pp. 1011-1025. [42] Przasnyski, Z.H., Operating Room Scheduling - A Literature Review. AORN Journal, 1986. 44(1): pp. 67-76. [43] Rifai, A.K. and J.O. Pecenka, An application of goal programming in healthcare planning. International Journal of Production Management, 1989. 10(3): pp. 28-37. [44] Robbins, W.A. and N. Tuntiwongbiboon, Linear programming is a useful tool in case-mix management. Healthcare Financial Management, 1989. 43(6): pp. 114-116. [45] Santibanez, P., M. Begen, and D. Atkins, Surgical block scheduling in a system of hospitals: an application to resource and wait list management in a British Columbia health authority. Health Care Management Science, 2007. 10(3): pp. 269-282. [46] SICSTus, SICStus Prolog. 2007, Swedish Institute of Computer Science: Kista, Sweden. Available from: http://www.sics.se/sicstus/. [47] Vissers, J.M.H., I.J.B.F. Adan, and J.A. Bekkers, Patient mix optimization in tactical cardiothoracic surgery planning: a case study. IMA J Management Math, 2005. 16(3): pp. 281-304. [48] Weil, G., K. Heus, P. Francois, and M. Poujade, Constraint programming for nurse scheduling. IEEE Engineering in Medicine and Biology Magazine, 1995. 14(4): pp. 417-422.

230