[go: up one dir, main page]

Academia.eduAcademia.edu

Scheduling in the service industries: An overview

2015, Journal of Systems Science and Systems Engineering

J Syst Sci Syst Eng DOI: 10.1007/s11518-015-5266-0 ISSN: 1004-3756 (Paper) 1861-9576 (Online) CN11-2983/N SCHEDULING IN THE SERVICE INDUSTRIES: AN OVERVIEW Michael Pinedo1 Christos Zacharias2 Ning Zhu3 1 Stern Business School, New York University, New York, NY 10012 mpinedo@stern.nyu.edu () 2 School of Business Administration, University of Miami, Coral Gables, FL 33146 czacharias@miami.edu 3 College of Economics and Management, Tianjin University, Tianjin, China zhuning@tju.edu.cn Abstract Scheduling plays an important role in many different service industries. In this paper we provide an overview of some of the more important scheduling problems that appear in the various service industries. We focus on the formulations of such problems as well as on the techniques used for solving those problems. We consider five areas of scheduling in service industries, namely (i) project scheduling, (ii) workforce scheduling, (iii) timetabling, reservations, and appointments, (iv) transportation scheduling, and (v) scheduling in entertainment. The first two areas are fairly general and have applications in many different service industries. The third, fourth and fifth areas are more related to some very specific service industries, namely the hospitality and health care industries, the transportation industries (of passengers as well as of cargo), and the entertainment industries. In our conclusion section we discuss the similarities and the differences between the problem formulations and solution techniques used in the various different industries and we also discuss the design of the decision support systems that have been developed for scheduling in the service industries. 1. Introduction Scheduling scheduling in the service industries, namely (i) applications in the service industries are ubiquitous. Due to the inherent non-stationarity of service the most basic scheduling paradigms relevant to the service industries, (ii) optimization businesses, techniques and/or heuristics that are used in scheduling is a very important aspect of practice, and (iii) examples of specific real world management in a variety of service industries, applications. including health care, hospitality, transportation, One can make a distinction between static and entertainment industries. This paper presents scheduling and dynamic scheduling. In static a tutorial of some of the major scheduling scheduling applications, one would not expect a application areas in the service industries. It schedule to change much over time; a schedule focuses, in particular, on three aspects of is typically cast in stone. A typical example of  Systems Engineering Society of China and Springer-Verlag Berlin Heidelberg 2015 Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 2 such schedule is a quarterly flight schedule of an (v) professional sports and entertainment. airline. Since such a static schedule is not The first area, project scheduling, has many expected to undergo many changes, the amount applications in management consulting, of computer time allocated for finding an accounting and auditing, as well as in systems optimal solution may be substantial; such a implementations. The second area, workforce schedule typically does not have to be generated scheduling, consists of two parts, one being shift in real time. In dynamic scheduling applications, scheduling (important in call centers) and the on the other hand, one would expect a schedule other being crew scheduling (important in to change frequently. When schedules have to be transportation). generated timetabling, reservations, and appointments. The and regenerated regularly, the The third corresponding Because of the many changes that are then subsections. The first subsection goes into the expected, one important characteristic of a basics schedule is its robustness. An example of a applications in the hospitality industries as well dynamic scheduling application can be a as in the field of education. The second resource constrained project at a consulting firm. subsection covers interval timetabling, consists considers optimization may have to be done in real time. of section area of which has three many scheduling and In practice, dynamic scheduling is often done reservation systems modeling, which are closely manually, rather than through a decision support related to timetabling. The last subsection system. discusses a more special case of timetabling, It has been the experience that the analysis of namely appointment scheduling, which is very a dynamic scheduling problem is often harder important in health care. The fourth area deals than the analysis of its corresponding static with scheduling corresponding counterpart. However, in the transportation section scheduling. The consists four of development of a procedure for a dynamic subsections. The first one focuses on urban scheduling problem it is always helpful to know transit scheduling, the second one on maritime which procedure(s) are most appropriate for the scheduling, the third one on aviation scheduling scheduling of its static counterpart. and the last one on emergency operations In this paper we provide an overview of five scheduling. The fifth and last area covers different scheduling areas in service industries. scheduling The first two areas are fairly general and have entertainment. This section consists of two in professional sports and applications in many different service industries, subsections. The first one focuses on tournament namely scheduling in professional sports and the second (i) project scheduling, and one on network broadcast scheduling. In the (ii) workforce scheduling. very last section, we present our conclusions, The third, fourth and fifth areas focus on discuss the design and development of decision specific service industries, namely (iii) hospitality and health care industries, (iv) transportation industries, and support systems, and make suggestions for future research. There are other scheduling areas in service Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 3 industries that are not covered in this tutorial. mainly on the precedence constraints imposed However, the areas that are covered seem to be on the activities and the resulting critical paths. very representative of common scheduling The second subsection considers more general problems in service industries. The goal of this project scheduling problems that have, in paper is to provide a rudimentary overview of addition to the precedence constraints, resource scheduling applications and the methods and constraints. techniques being used in the service industries. survey of the entire literature, the reference list 2.1 Precedence Constraints and Critical Paths is not exhaustive. There are in the literature A generic project scheduling problem can be Since it is more a tutorial rather than a detailed many more papers on each topic we discuss. described as follows: consider the scheduling of a number of jobs or activities that are subject to 2. Project Scheduling Examples of project precedence constraints. A job or activity can scheduling are start only when all its predecessors have been ubiquitous in the service industries; they include completed. The objective is to minimize the total consulting projects, systems installation projects, project completion time while adhering to the maintenance and repair projects, and so on. precedence constraints. Such Consulting projects may include also the annual considered a project auditing processes that must be done at every problem. public company by independent accounting standard problem is scheduling Research in project scheduling started in the (CPA) firms. A systems installation project may 1950s. These efforts resulted in the classical involve the installation of a large computer technique usually referred to as the Critical Path system at a corporation or the implementation of Method (CPM). There is an extensive literature, a large ERP system; these types of projects can spanning decades, in the field of project take several years. A maintenance and repair scheduling and in the Critical Path Method; see, project may be the annual overhaul of a major for example, Walker and Sayer (1959), Moder manufacturing or power generation facility; such and Philips (1970), Wiest and Levy (1977), and a facility may be forced to stop its production in Demeulemeester and Herroelen (2002). order for the maintenance to take place. Since, especially in service industries, Project scheduling in service industries tend activity durations are often random, a fair to be intrinsically very different from project amount of effort has been put into the scheduling industries. development of critical path techniques for Installing a large ERP system at a major random durations; one such technique is known company does not have much in common with as the Project Evaluation and Review Technique the building of an aircraft carrier or a nuclear (PERT), see the Department of the Navy Report submarine. “PERT” (1958), Fulkerson (1962), Elmaghraby in manufacturing In this section we discuss the basics of project scheduling. The first subsection focuses (1967), and Sasieni (1986). Another version of the project scheduling Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 4 problem assumes that the durations of activities A significant amount of research in the past has can be determined in advance by the project focused on project scheduling subject to manager. A project manager may have some resource constraints, see Patterson (1984), control over the durations of different activities Blazewicz et al. (1986), Kolish (1995), Brucker by allocating selectively more resources (e.g., et al. (1999), and Neumann et al. (2001). people) to some activities. A project may have a The basic project scheduling problem with deadline and a completion after the deadline precedence constraints but without any resource may entail a penalty; the project manager, constraints is very easy from a computational therefore, has to analyze the trade-off between point of view. Optimal solutions can be found the penalties incurred by completing the project with very little computational effort. However, late and the additional costs incurred by project scheduling problems with resource shortening the durations of selected activities by constraints are typically strongly NP-Hard. allocating more resources, see Talbot (1982). A project scheduling problem subject to This process is in the literature typically referred resource constraints typically can be formulated to as crashing. as a Mixed Integer Program (MIP). In order to formulate this problem as an integer program, 2.2 Project Scheduling with Resource Constraints Another more general version of the basic project scheduling problem assumes that a job’s processing requires additional resources of different types, say some special equipment or specific experts. Consider, for example, a assume that all processing times are fixed and integer. Let W denote the total number of people available in pool  and let Wj denote the number of people job j requires from pool  for its processing. Let A denote the set of precedence constraints. Introduce a dummy job workforce that consists of various different pools n + 1 with zero processing time. Job n + 1 of people with each pool having of a fixed succeeds all other jobs, i.e., all jobs without number of people with a specific skill set. successors have an arc emanating to job n + 1 . Because of the pools’ limitations, it may Let sometimes occur that two jobs cannot be the value 1 if job j is completed exactly at processed at the same time, even though both time t and the value 0 otherwise. So the are allowed to start as far as the precedence number of operators job j needs from pool  constraints are concerned. The total number of x jt denote a 0 − 1 variable that assumes in the interval [t − 1, t ] is Wj may be larger than the number available in that pool, making it impossible to process two jobs at the same time. This type of problem is typically referred to as project scheduling with resource constraints. Resource constraints typically make project scheduling problems considerably harder. ∑ t + p j −1 people the two jobs require from a given pool Let H u =t x ju . denote an upper bound on the makespan. A simple, but not very tight, bound can be obtained by setting Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng H = ∑ pj . n have been developed that have been proven to j =1 be quite effective. So the completion time of job expressed as j can be Over the last decade research in project ∑ tx jt . scheduling has started to focus on various types ∑ t xn+1,t . will always be available. A renewable resource H of resource constraints. Traditional resources t =1 may be referred to as “renewable”, since they And the makespan as H could be a person, i.e., a specific expert, who is t =1 on the payroll of a company. After this person An integer program can now be formulated as follows: Minimize 5 ∑ t xn+1,t has lended his hand in the completion of one H activity and the activity has been completed, he t =1 could be assigned to another activity. However, other subject to ∑ tx jt + pk − ∑ txkt ≤ 0, resources may be referred to as for j → k ∈ A “nonrenewable”. Such resources would actually  t + p j −1    = 1,  , N ;    W x ∑  j ∑ ju  ≤ W , for  t = 1,, H p  u t =j 1 =     at the outset. Of late, research has started to H H =t 1 =t 1 n = x jt 1,= for j 1,  , n . ∑ H t =1 The objective of the integer program is to minimize the makespan. The first set of constraints ensures that the precedence j is followed by job k , then the completion time of job k has to be greater than or equal to the constraints are enforced, i.e., if job be consumed and a certain supply was available focus on project scheduling with renewable as well as nonrenewable resources. A specific example of a nonrenewable resource is working capital. Such nonrenewable resource constraints are basically equivalent to budgetary constraints. In particular, project scheduling subject to resource constraints with random durations has not received much research attention in the past. This particular area seems to be in need of new research ideas. completion of job j plus pk . The second set of constraints ensures that the total demand for 3. Workforce Scheduling pool  at time t does not surpass the availability of pool  . The third set of aspect constraints ensures that each job is processed. Since this integer program is very hard to solve when the number of jobs is large and the time horizon is long, it is typically tackled with heuristics. It turns out that even special cases of this problem are quite hard. However, for a number of important special cases heuristics activity Workforce scheduling is a very important of many service industries, since schedules have to be created in such a way that they will be able to deal with fluctuating and random demand. The application areas include nurse scheduling in hospitals, operator scheduling in call centers, and so on. Clearly, an enormous amount of research has been done on personnel scheduling, resulting in a host of survey papers and books; see, for example, Tien Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 6 and Kamiyama (1982), Burgess and Busby (1992), Nanda and Browne (1992), and Burke et al. (2004). This section consists of two subsections: the first one deals with shift scheduling, which is very important in call centers, and the second one deals with crew scheduling, which is very important in subject to a x + a x +  + a x ≥ b , 12 2 1n n 1  11 1 a21 x1 + a22 x2 +  + a2 n xn ≥ b2 ,   for j = 1,  , n,   am1 x1 + am 2 x2 +  + amn xn ≥ bm ,  x j ≥ 0.  with x1 , , xn integer. In matrix form this integer program is written as follows. transportation industries. 3.1 Shift Scheduling Minimize c x In this subsection we consider personnel scheduling problems with cycles that are fixed in advance. In certain settings the cycle may be a single day, while in others it may be a week or a number of weeks. Each work assignment pattern within a cycle has its own cost and the objective subject to Ax ≥ b . Such an integer programming problem is known to be strongly NP-hard in its most general form. However, the A matrix may often exhibit a special structure. For example, is to minimize the total cost. The problem can be formulated as follows: A shift j , (a1 j , amj ) , may contain a contiguous predetermined cycle consists of m time intervals set of 1’s (a contiguous set of 1’s implies that or periods. The lengths of the periods do not there are no 0’s in between 1’s). However, the necessarily have to be identical. During period number of 1’s may often vary from shift to shift, personnel is since it is possible that some shifts have to work i , i = 1, , m , the presence of bi required. The number bi is, of course, an integer. There are n different shift patterns and each employee is assigned to one and only one pattern. Shift pattern j is defined by a vector (a1 j , a2 j , , amj ) . The value aij is either 0 or 1; it is a 1 if period i is a work period and 0 longer hours or more days than other shifts. Even though the integer programming formulation of the general personnel scheduling problem (with an arbitrary 0 − 1 A matrix) is NP-hard, the special case with each column containing a contiguous set of 1’s is easy. It can be shown that the solution of the linear otherwise. Let c j denote the cost of assigning a programming relaxation is always integer. There person to shift the (integer) are several other important special cases that are decision variable representing the number of solvable in polynomial time. Many papers have people assigned to shift j . The problem of focused on a number of special cases of the minimizing the total cost of assigning personnel problem described above; see, for example, to meet demand can be formulated as the Bartholdi et al. (1980), Burns and Carter (1985), following integer programming problem: Burns and Koop (1987), Emmons (1985), j and xj Minimize c1 x1 + c2 x2 +  + cn xn Emmons and Burns (1991), Gawande (1996), Hung and Emmons (1993). Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 3.2 Crew Scheduling 7 In order to formulate this crew scheduling Another type of workforce scheduling problem as an integer program some notation is involves crew scheduling, which is a form of required. If flight leg i is part of round trip j , workforce scheduling that is very important in then aij is 1, otherwise aij is 0. Let x j transportation industries, e.g., aviation and denote a 0 − 1 decision variable that takes the trucking. Crew scheduling is from a mathematical point of view very different from shift scheduling. It has also received a lot of research attention; see, for example, Bodin et al. (1983), Marsten and Shepardson value 1 if round trip otherwise. The crew scheduling problem can be formulated as the following integer program. Minimize c1 x1 + c2 x2 +  + cn xn subject to (1981), Stojkovich et al. (1998). Crew important scheduling in the problems transportation are a x + a x +  + a x = 1, 12 2 1n n  11 1 a21 x1 + a22 x2 +  + a2 n xn = 1,     1. am1 x1 + am 2 x2 +  + amn xn =  x ∈ {0,1} for j = 1,  , n.  j very industry, especially in the airline industry. The underlying model is different from the models considered in the previous sections and so are the solution techniques. Consider a set of m jobs, e.g., flight legs. A flight leg is characterized by a point of departure and a point of arrival, as well as an approximate time interval during which the flight has to take place. There is a set of n feasible and permissible combinations of flight legs that one crew can handle, e.g., round trips or tours (the number n usually is very large). A round trip may consist of several flight legs, i.e., a plane may leave city A for city B, then go to city C, before returning to city A. Any given flight leg may be part of many round trips. Round trip j , j = 1, , n , has a cost c j . Setting up a crew schedule is equivalent to determining which j is selected and 0 Each column in the A matrix is a round trip and each row is a flight leg that must be covered exactly once by one round trip. The optimization problem is then to select, at minimum cost, a set of round trips that satisfies the constraints. The constraints in this problem are often called the partitioning equations and this integer programming problem is referred to as the Set Partitioning problem (see Appendix A). For a feasible solution ( x1 , , xn ) , the variables that are equal to 1 are referred to as the partition. In what follows we denote a partition l = J l {= j | xlj by 1} . round trips should be selected and which ones This problem is known to be NP-hard. Many not. The objective is to choose a set of round heuristics as well as enumeration schemes trips with a minimum total cost in such a way (branch-and-bound) have been proposed for this that each flight leg is covered exactly once by problem. In many of these approaches the one and only one round trip. concept of row prices is used. The vector ρ l = ( ρ1l , ρ 2l , , ρ ml ) is a set of feasible row Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 8 Set J 2 = ∅ and N = {1, 2, , n} . Step 2 Compute the potential savings prices corresponding to partition J l satisfying l ∑ ρ= i aij cj j ∈ Jl . m The price ρil i =1 may be interpreted as an estimate of the cost of covering job (flight leg) i using solution J l . There are usually many feasible ∑ ρi1aij − c j σ= j m i =1 Find the column k in N with the largest potential savings ∑ ρi1aik − ck . m price vectors for any given partition. i =1 The row prices are of crucial importance in computing the change in the value of the objective if a partition J 1 is changed into J 2 . If Z 1 ( Z 2 ) denotes the value of the objective corresponding to partition 1 (2), then  m  Z2 = Z 1 − ∑  ∑ ρi1aij − c j  .  j∈J 2  i =1 The quantity partition = σj = j 1, , n ∑ ρi1aij − c j m i =1 Step 3 For i = 1, m , if aik = 1 set aij = 0 for all j ≠ k . Step 4 Let J 2 = J 2  {k} and N= N − {k} . Delete from N all j for which aij = 0 for all i = 1, , m . Step 5 If N = ∅ STOP, otherwise go to Step 2. When the problem becomes very large, it is can be interpreted as the potential savings with necessary respect to the first partition to be obtained by approaches, namely Branch-and-Bound, Branch- ∑ ρi1aij ≤ c j and-Price, including column j . It can be shown that if m i =1 j= 1, , n , and more sophisticated Branch-Cut-and-Price. The ρ often based on a technique called Lagrangean 1 1 corresponding to partition J , then solution J adopt bounding techniques in Branch-and-Bound are for any set of feasible row prices 1 to Relaxation. branching Branch-Cut-and-Price with so-called combines cutting planes techniques and has been used to solve real world is optimal. Based on the concept of row prices the following simple heuristic can be used for finding better solutions, given a partition J problems arising in the airlines industry with considerable success. 1 ρ . The goal is to find a better partition J . In 4. Timetabling, Reservations, and Appointments the heuristic the set N denotes the indices of the columns that are candidates for inclusion in In the hospitality industries, education, and and a corresponding set of feasible row prices 1 2 2 J . Algorithm 3.2.1: Column Selection in Set Partitioning Step 1 health care reservation, there and are many timetabling, appointment scheduling problems. These problems often tend to be mathematically related to one another and may require similar solution techniques, which Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 9 include integer programming formulations as people involved have the same skill set and are well as graph theoretic approaches. therefore interchangeable, i.e., they represent a homogeneous workforce. The total number of 4.1 Timetabling Timetabling refers to a class of generic scheduling problems with numerous applications in education, transportation, health care, and people in the workforce is W and in order to do activity j W j operators have to be present. If the sum of the people required by activities j and applications k is larger than W (i.e., W j + Wk > W ), then described in this section are related to some of activities j and k may not overlap in time. (Such the a constraint would be equivalent to a (renewable) other service industries. applications The described in subsequent sections. resource constraint as described in the previous In the most basic timetabling model there are section.) This type of timetabling problem may typically n activities or jobs to be scheduled. In be referred to as timetabling with workforce or a timetabling problem an activity (say, for personnel constraints. example, a meeting) can only be scheduled if a In a second type of timetabling problem each given set of very specific people and/or resources person (or resource) has its own identity or skill are all available at the time. So an activity can be set, i.e., they represent a heterogenous workforce. scheduled at any time as long as all the necessary people and/or resources are available in the time interval selected. The availability of the people may be subject to constraints and the constraints may imply that certain subsets of activities Each activity or job now requires a specific subset of the people. In order for an activity to be scheduled all the people in its subset have to be available. Two activities that need the same person cannot be done at the same time. This type of timetabling problem is in what follows cannot be done at the same time, because a referred to as timetabling subject to operator particular person cannot participate in two constraints. different activities at the same time. A typical This second type of timetabling can occur in objective of the scheduling problem may be to many different settings. Consider, for example, a finish all the activities (e.g., meetings) in the large repair shop for aircraft engines. In order to shortest possible time, i.e., to minimize the do a certain type of repair it is necessary to have makespan. In other words, to finish the last a certain type of person and a certain type of tool activity as early as possible. In a more general available at the same time. Since a given type of timetabling problem the timing of activity j may person may be required for a certain type of also be constrained by an earliest starting time rj repair, timetabling may become necessary. A and a latest completion time d j . A distinction can be made between several different types of timetabling problems: One type of timetabling problem assumes that all second example of this type of timetabling occurs when meetings have to be scheduled. Each meeting requires a given set of people to attend and each meeting has to be assigned to a time period in which all who have to attend are Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 10 available. The meeting rooms also correspond to the same operator(s). The two activities, resources. A third example of this type of therefore, cannot be scheduled in the same time timetabling occurs when exams have to be slot. If the length of the time horizon is H time scheduled. Each person represents a student (or slots, then the question boils down to the a group of students) and two exams that have to following: can the nodes in the graph be colored be taken by the same student (or groups of with H different colors in such a way that no two students) cannot be scheduled at the same time. connected nodes receive the same color? This is The objective is to schedule all the exams within clearly a feasibility problem. The associated a given time period, say one week. It is therefore optimization problem is to determine the necessary to minimize the makespan. minimum number of colors needed to color the It turns out that timetabling problems are nodes of the graph in such a way that no two very closely related to graph coloring problems. connected nodes have the same color. This Consider a timetabling problem with operators, minimum number of colors is in graph theory each having his own identity and skill set (an referred to as the chromatic number of the graph operator may also be equivalent to a specific and is equivalent to the makespan in the piece of machinery, a fixture, or a tool). A given timetabling problem. activity either needs or does not need any There are a number of heuristics for this specific operator or tool. Each activity needs for timetabling problem with durations equal to 1. its execution a specific subset of the operators In this section we describe only one such and/or tools. If two activities require the same procedure, namely the one that is due to Brelaz operator, then they cannot be done at the same (1979). First some graph theory terminology is time. needed. The degree of a node is the number of In a feasibility version of this problem, the arcs connected to a node. In a partially colored goal is to find a schedule or timetable that graph, the saturation level of a node is the completes all n activities within a given time number of differently colored nodes already horizon H. In the optimization version, the connected to it. In the coloring process, the first objective is to do all the activities and minimize color to be used is labeled Color 1, the second the makespan. Color 2, and so on. Even the special case with all activity durations being equal does not allow for an easy solution. Consider first the feasibility version with all durations being equal to 1. Finding for this case a conflict-free timetable is structurally equivalent to a very well-known node coloring problem in graph theory. In this node coloring problem a graph is constructed by representing each activity as a node. Two nodes are connected by an arc if the two activities require Algorithm 4.1.1: Graph Coloring Heuristic Step 1 Arrange the nodes in decreasing order of their degree. Step 2 Color a node of maximal degree with Color 1. Step 3 Choose an uncolored node with maximal Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng saturation level. 11 the completely heterogeneous workforce (each If there is a tie, choose any one of the nodes individual has its very own identity and is not with maximal degree in the uncolored subgraph. interchangeable with anyone else). We have not Step 4 considered any mixtures or hybrids of the two Color the selected node with the color with models described above. Such problems are the lowest possible number. actually quite common in practice and clearly Step 5 very hard. If all nodes are colored, STOP. Otherwise go to Step 3. 4.2 Interval Scheduling and Reservations Interval scheduling problems are ubiquitous The structure of the heuristic described in reservation systems in the hospitality above is quite typical for this type of industries, e.g., hotels, car-rentals, etc. Consider optimization problem. It follows the “path of the the following reservation model: There are m most resistance”. It tries to schedule early on in resources in parallel and n activities. Activity j the scheduling process those parts of the has a release date rj , a due date d j , and a problem that appear to be the hardest to schedule weight w j . As stated before, all data are integer. and that maybe subject to the most constraints. The fact that there is no slack between release The rationale behind such a heuristic is obvious. date and due date implies that p= d j − rj . j Early on in the process it may still be possible to schedule those parts of the problem that appear to be hard to schedule. If those parts of the If we decide to do activity j, then it has to be problem are postponed to a later stage of the done within the specified time frame. However, scheduling process, they may actually end up to it may be the case that activity j cannot be done be impossible to schedule. by just any one of the m resources; it may have There is a very extensive literature in the to be done by a resource that belongs to a field of timetabling. A series of conferences on specific subset of the m resources, namely subset time tabling has led to a number of proceedings Mj on this topic, see Burke and Ross (1996), Burke objective is to maximize the number of activities and Carter (1998), Burke and Erben (2001), done. In contrast, when the activities have Burke and De Causmaecker (2003), Burke and Trick (2004), Burke and Rudova (2006). For the literature on examination timetabling, see Carter (1986), and Burke et al. (1996). However, it is clear that there are still many open problems in the timetabling area. First, in this subsection we have only considered two . When all activities have equal weights, the different weights, the objective is to maximize the weighted number of activities scheduled. A weight may be equivalent to a profit that is made by doing the activity. In a more general model the weight of activity j may also depend on the resource to which it is assigned, i.e., the weight types of workforces: a completely homogeneous is wij (i.e., the profit depends on the activity as workforce (i.e., all individuals are identical) and well as on the resource). Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 12 Example 4.2.1: A Car Rental Agency Consider a car rental agency with four types of cars: subcompact, midsize, full size and sport-utility. Of each type there are a fixed number available. When customer j calls to make a reservation for pj days, he may, for example, request a car of ∑ xij ≤ 1 m i =1 j = 1, , n 1 i ∑ xij ≤= j∈J t 1,=  n, t 1, H . The first set of constraints ensures that every activity is assigned to at most one resource and either one of two types and will accept the price the second set ensures that a resource is not quoted by the agency for either type. The set assigned to more than one activity in any given Mj for such a customer includes all cars belonging to the two types. The profit made by slot. the agency for a car of type i is π i dollars per problem is a feasibility problem: does there exist day. So, the weight of this particular reservation an assignment of activities to resources with is wij = π i p j . The easiest version of the reservation every activity being assigned to a resource? A However, if customer j specifically requests slightly harder version of this feasibility problem a subcompact and all subcompacts have been would be the following: does there exist an rented out, the agency may decide to give him a assignment of activities to resources with midsize for the price of a subcompact in order not to lose him as a customer. The set M j includes subcompacts as well as midsizes (even though customer j requested a subcompact), but the agency’s daily profit is a function of the car as well as of the customer, i.e., π ij dollars per activity j being assigned to a resource belonging to a given subset M j ? It turns out that this problem is still relatively easy. In the optimization version of the reservation problem the objective is to maximize the total profit m Most reservation problems □ can be n =i 1 =j 1 day, since the agency gives him a larger car at a lower price. The weight is wij = π ij p j . ∑∑ wij xij , where the weight wij is equivalent to a profit associated with assigning activity j to resource i. formulated as integer programs. Time is divided Some special cases of this optimization problem in periods or slots of unit length. If the number can actually be solved in polynomial time. For of slots is fixed, say H, then the problem is referred to as an H-slot problem. Assume, for the time being, that the activity durations are equal to 1 and let J t denote the set of activities that need a resource in slot t, i.e., during period example, consider again the case with all n activities having a duration equal to 1, i.e., pj =1 for all j, and assume arbitrary resource subsets M j and arbitrary weights wij . Each [t − 1, t ] . If xij denotes a binary variable that assumes the value 1 if activity j is assigned to time slot can be considered as a separate resource i and 0 otherwise, then the following Another version of the reservation model constraints have to be satisfied: subproblem that can be solved as an independent assignment problem. that allows for an efficient solution assumes Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng arbitrary durations, identical weights (i.e., wij = 1 for all i and j), and each set M j consisting of all m resources (i.e., the m resources are identical). The durations, the starting times (release dates) and the completion 13 activity j in J. Step 4 j = n , STOP, otherwise set and return to Step 2. If j= j + 1 The structure behind the algorithm above is times (due dates) are arbitrary integers and the actually quite typical of the scheduling objective is to maximize the number of activities optimization problems of this type. A schedule is assigned. This problem cannot be decomposed being built up going forward in time. Whenever into a number of independent subproblems (one a selection has to be made between various for each time slot), since the durations of the alternatives, then the alternative is selected different activities may overlap. However, it can which results in a situation that is the least be shown that the following relatively simple restrictive and the most favorable (e.g., provides algorithm maximizes the total number of the most freedom) for the remaining activities to activities. In this algorithm, which is due to be scheduled. Bouzina and Emmons (1996), the activities are Another version of this reservation model ordered in increasing order of their release dates, with zero slack, arbitrary durations, equal i.e., r1 ≤ r2 ≤  ≤ rn . weights, and identical resources is also of Set J denotes the set of activities already of identical resources in parallel and all considered. activities have to be assigned. However, the Algorithm 4.2.2: Maximizing Number of Activities Assigned assignment must be done in such a way that a minimum number of resources is used. This problem is, in a sense, a dual of the problem Step 1 Set J = ∅ and j = 1 . Step 2 If a resource is available at time rj , then assign activity j to that resource; include activity j in J, and go to Step 4. Otherwise go to Step 3. discussed before. It turns out that minimizing the number of resources when all activities have to be done is also an easy problem. It can be solved as follows. Again, the activities are ordered in increasing order of their release dates, i.e., r1 ≤ r2 ≤  ≤ rn . First, activity 1 is assigned to resource 1. The Step 3 Let j* be such that = C j* max( = Ck ) max(rk + pk ) . k ∈J If interest. Assume there are an unlimited number k ∈J C j = r j + p j > C j* , do not include activity j in J and go to Step 4. Otherwise, delete activity j* from J, assign activity j to the resource freed and include algorithm then proceeds with assigning the activities, one by one, to the resources. Suppose that the first j − 1 activities have been assigned to resources 1, 2, ,i . Some of these activities may have been assigned to the same resource. So i ≤ j − 1 . The algorithm then takes the next activity from the list, activity j, and tries to Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 14 assign it to a resource that already has been coloring process represents a resource and utilized before. If this is not possible, i.e., minimizing the number of colors is equivalent to resources 1, 2, ,i are all busy at time rj , then minimizing the number of resources in the the algorithm assigns activity j to resource i + 1 . The number of resources utilized after activity n has been assigned is the minimum number of resources required. This last problem, with the activities having arbitrary durations, turns out to be a special case of the same well-known node coloring problem described in the timetabling section of this survey. Consider the n nodes and let node j correspond now to activity j . If there is an (undirected) arc (j, k) connecting nodes j and k, then the processing of activities j and k overlap in time and nodes j and k cannot be given the same color. If the graph can be colored reservation problem. That the reservation problem is a special case follows from the fact that the time slots required by an activity in a reservation problem are adjacent. However, it may not be possible to order the operators in the timetabling problem in such a way that the operators required for each activity are adjacent to one another. It is this adjacency property that makes the reservation problem easy, while the lack of adjacency makes the timetabling problem with operator constraints hard. In this subsection we have only discussed reservation models without any slack, i.e., p= d j − rj j . Of course, in practice, reservation with m (or less) colors, then a feasible schedule systems are designed in such a way that a exists with m resources. This node coloring limited amount of slack is allowed, i.e., problem, which is a feasibility problem that is . Typically, even though a limited p j < d j − rj NP-hard, is actually more general than the amount of slack enables a reservation system to reservation problem considered in this section in generate a better and more profitable solution, which the number of resources used is the optimization problems involved are often minimized. considerably harder That the reservation problem considered in this section (with the activities having arbitrary durations and the number of resources to be minimized) is not equivalent to the timetabling problem (with heterogeneous operators and all processing times equal to 1) but rather a special case can be shown as follows: two activities that need the same operator in the timetabling than the optimization problems for reservation systems that do not allow for any slack. A fair amount of research has been done on interval scheduling, often just in the form of single machine and parallel machine scheduling with release dates and due dates or deadlines; see, for example, Garey, Johnson, Simons and problem are equivalent to two activities that Tarjan (1981), Martel (1982a, 1982b), and have an overlapping time slot in the reservation Posner (1985). Martin, Jones and Keskinocak problem. If two activities in the reservation (2003) consider a very interesting reservation problem have an overlapping time slot, then the system for On-Demand Aircraft schedules for two nodes are connected. Each color in the fractional aircraft operators. Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 15 waiting times and system’s overtime. Recent 4.3 Appointment Scheduling The scheduling of appointments is a studies have demonstrated that a sensible common practice in many service industries, practice mainly to utilize resources efficiently and to significantly avoid queueing. Many papers have appeared in performance of a medical facility with patients the literature on appointment scheduling, mostly enjoying shorter waiting times and better access motivated by health care applications. Cayirli to services, see for example LaGanga and and Veral (2003), Gupta and Denton (2008) Lawrence (2012), Robinson and Chen (2010), provide overviews of the literature, the research Zacharias and Pinedo (2014a), Zacharias and challenges Pinedo (2014b). and opportunities. Hall (2012) of appointment improve overbooking the can operational provides a comprehensive review of models and In the case of homogeneous patients it is of methods used for scheduling the delivery of interest to determine the number of patients to patient care for all parts of the health care schedule every day and how to allocate these system. The analysis may be based on anyone of patients to the different slots. The sequencing of a variety of approaches, including stochastic the patients is also of interest when patients have programming, queueing theory, and stylized different scheduling models. characteristics (no-show rates, processing times, waiting cost coefficients). In Appointment scheduling systems are widely most cases, finding an optimal schedule is used as a tool for managing patient arrivals at analytically intractable, and thus, the majority health care facilities in order to match supply the with demand. In practice it is actually fairly algorithms, simulation-based techniques and/or common for patients not to show up for their heuristics. literature uses enumeration, search scheduled services. Missed appointments result Outpatient clinics typically start empty at the in under-utilization of valuable resources and beginning of a working day, operate for a finite limit the access for other patients who could amount of time (in the order of say 8-12 hours), have filled the empty slots. Meanwhile, patients and shut down until the next period. Therefore, nationwide experience difficulties in accessing it is important to perform transient analysis for medical appointments in a timely manner due to the random evolution of such systems. As long backlogs. Poor appointment utilization and pointed out in Bandi and Bertsimas (2012), excessive delays for outpatient care are widely transient queues are difficult to analyze via recognized as significant barriers to effective classical queueing techniques. Typically the health care delivery. analysis of rich queueing systems over finite Appointment overbooking is one operational strategy employed by health care providers to time horizons is addressed either by computer simulation or diffusion approximations. address the issue of no-shows and at the same The majority of the literature focuses on time increase patients’ access to care. However, single-server models. Kaandorp and Koole overbooking may potentially result in an (2007), Hassin and Mendel (2008), Klassen and overcrowded facility, with increased patients’ Yoogalingam (2009), Robinson and Chen (2010), Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 16 Millhiser and Veral (2014) consider the well. Arrivals are driven by scheduled with appointments. Let m denote the number of homogeneous patients who arrive on time for patients to be scheduled throughout the working appointment scheduling problem up. Begen and Queyranne (2011), Cayirli et al. day, subject to optimization, and let y= m − ns denote the level of overbooking. The scheduler (2012), (2012), would like to assign each one of the patients to Zacharias and Pinedo (2014a) account further arrive at the beginning of one of the time slots. their scheduled appointments, if they do show LaGanga and Lawrence literature for the single server system is quite Patients show up with probability p = 1 − q at the beginning of the time slot they were assigned extensive, the multi-server case has received and require one time slot of service. for patient heterogeneity. Even though the limited attention. As pointed out by Gupta and There are three costs associated with an Wang (2012) as well, appointment scheduling appointment schedule: patients’ waiting cost, models become intractable if multiple features servers’ idle time and overtime costs. The are scheduling model with s ≥ 1 servers appears in Zacharias and Pinedo (2014b). Multi-server objective is to minimize the weighted sum of systems can be used to model for example a regular n time slots, then one or more providers diagnostic facility where it is crucial to utilize remain idle and for each provider being idle an resources (e.g. CT scan, X-ray generator, MRI) idle time cost cI is incurred. The scheduler efficiently. Doctors are modeled as “parallel may overbook certain time slots and assign more servers” in settings where continuity of care is than s patients in order to compensate for the not a big concern. Nurses are modeled as no-show behavior. If more than s patients are “parallel servers” when they are the bottleneck present at the beginning of a time slot due to resource, and/or the presence of a doctor is not overbooking, then all but s of these patients have considered simultaneously. A stylized required (e.g. vaccination and immunization). these three costs. If there are less than s patients present at the beginning of any one of the to wait. A waiting cost w is incurred for each Consider the following simple, tractable, time slot that a patient has to wait before starting stylized scheduling model that provides useful her service. An overtime cost cO is incurred insights into appointment scheduling. Variations for each overtime slot that a provider has to of this model have been analyzed under different remain present at the medical facility to serve scopes by various papers in the literature patients at the end of the regular working day. including Robinson and Chen (2010), LaGanga and Lawrence (2012), Zacharias and Pinedo (2014a), Zacharias and Pinedo (2014b). Consider s ≥ 1 identical service providers working in parallel. Each one has in her regular schedule n time slots available to serve patients A schedule is denoted by a vector x = ( x1 , , xn ) , where xt is the number of patients assigned to slot t , with can be shown that if x then xt* * ∑ t =1 xt n =m. It is an optimal schedule, ≥ s for all t = 1, 2, , n. in a working day. Beyond these n regular slot, The backlog of patients at the beginning of each one can serve patients in overtime slots as slot t , denoted by Lt , satisfies the Lindley Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng { recursion } = Lt max Lt −1 + At −1 − s, 0 , for t ≥ 2 , and L1 = 0 , j and let π = denote the = Lt j ) t (x) Pr( probability of a backlog of j patients at the beginning of slot t under schedule x . Let also t fact that (Number of servers' idle slots) + (Number of overtime slots). We consider the Binomial(n, p) random variable takes a value equal to k , i.e., n f (= k ; n, p )   p k (1 − p ) n − k k  ∑t =1 ( xt − s) Note that the second equation follows from the (Number of patients who show up) = ns + denotes the where At ~ Binomial( xt , p ) number of new arrivals at slot t . Let f (k ; n, p ) be the probability that a = lt 17 denote the following nonlinear integer program cI I (x) + cO O(x) + wW (x) min (x,m ) s.t. m ≥ ns xt ≥ s t = 1, 2, , n ∑ xt n t =1 = m, with m, x1 , x2 , xn being integer. Optimal schedules with overbooking are front loaded: more patients are scheduled maximum towards the beginning of the working day (in possible backlog at the beginning of slot t. Assuming that the system is empty at the beginning of the working day, then π10 (x)=1 order to get an empty system running), and the and π t (x) can be expressed recursively for = t 2,3, , n + 1 as j s− j  min( s ,lt −1 )  ∑ π tj−1 (x) ∑ f (k ; xt −1, p ) for i = 0  j 0=k 0 =    min( s + i ,l )  π tj−1 (x) t −1    i π t (x) =    s + i − j;   for 1 ≤ i ≤ lt ∑  j max(0, s + i − xt )  f  =   x , p       t −1   0 otherwise.  The expected system's overtime, idle time, schedules tend to become somewhat less dense towards the end of the working day (clearly in order to avoid high overtime costs). An example of such a schedule is displayed in Figure 1 for a system with 2 servers, a working day of 24 times slots (for example an 8-hour working day with 20-minute slots), and a no-show rate of 20%. For a more comprehensive numerical analysis the reader is referred to Zacharias and Pinedo (2014b). It is evident, and intuitive, that the optimal overbooking level is increasing in the no-show rate q. As w increases, the optimal and patients' aggregate waiting time can be schedules become less front-loaded, without expressed respectively as necessarily = O(x) E= ( Ln +1 ) ∑ ln+1 j =0 jπ nj+1 (x) , I (x)= O(x) + ns − pm , W (x) = ∑∑ n xt t= 1 i= 1 j= overbooking level. a decrease Overbooking in the increases significantly with the number of parallel servers, and that increase is more prevalent for higher  rf (k ; i − 1, p )  ∑ π tj (x) ∑   j + k − s + 1  . k= max(0, s − j )   max 0,( s − i +1)   s   lt observing i −1 no-show rates. Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 18 Figure 1. One day schedule profile 5. Transportation Scheduling Transportation is a quintessential service that can take many different forms, dependent upon network, (ii) timetabling design of the bus or subway system, the mode of transportation. The various modes (iii) vehicle/train scheduling, and of transportation include buses, trains, airplanes (iv) crew scheduling. and ships. The different modes of transportation Of these four phases, three are scheduling have different planning horizons, are subject to related. The transit network design is an different sets of constraints and have different exception. The objective of the transit network objective functions. Each mode has its own set design problem is to minimize the costs of the of scheduling techniques. For a handbook on various resource investments under fixed or transportation in general, see Barnhart and variable Laporte (2006). problem is constrained by the selection of the traffic demand. The optimization routes and the bus/train capacities. After the 5.1 Urban Transit Scheduling Transit systems play a very important role in urban transportation systems. There is an intense design of the transit network has been fixed, the timetables for each one of the bus routes have to be determined. competition between public transit systems and Bus timetables clearly depend on traffic the use of private vehicles. An efficient public demand. Departure and arrival times for each transit system may encourage individuals not to trip on each line of the entire transit network use their cars but rather use a public bus or have to be determined. Once the departure and subway system. This would mitigate traffic arrival times have been determined, the headway congestion and reduce pollution. and frequencies of the buses are also known. Efficient planning and scheduling of urban The most important objective in the bus transit systems in general would improve the timetabling problem is the minimization of the performance of transit systems. There are total waiting time of the passengers. Timetabling typically four phases in the planning and problems become quite interesting when transit scheduling of urban transit systems, namely networks are considered. In transit networks, (i) planning of the construction of the transit transfers are very important and have to be taken Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 19 into account. Therefore, timetabling requires a operational costs, running times with small synchronization of buses in order to minimize numbers of passengers, and higher probabilities passengers’ waiting times at transfer nodes and of bunching of buses. avoid “bunching” of buses. A solution to a bus scheduling problem In what follows we use the notation from specifies the departure and arrival times on each Ceder et al. (2001). A bus network is denoted by route. Based on the assumption, adopted in most G={A, N}, where A represents the set of bus routes and N represents the set of transfer nodes. Let T denote the time horizon, M the number of studies, that the travel times on specific bus lines are deterministic, a trip can be defined by the departure and arrival times. The problem now becomes how to assign bus routes, N the number of transfer nodes, and vehicles to the respective trips, see Freling et al. and H m ax k are the minimum and (2001). If we have only one depot for all the H min k maximum headway allowed between two vehicles, we have a so-called single-depot consecutive departures on route k. Let Fk vehicle scheduling problem. The input for such a denote the total number of departures on route k , problem is the location of the depot and the set Tkj the travel time between the starting point and node j on route k. The decision variables are X ik and I ikjln ; the X ik represent the departure of trips with their departure and arrival times. Furthermore, a travel time matrix is given which provides all the travel times between all the time of the ith bus on route k and Z ikjqn = 1 locations. A feasible solution for the vehicle implies that the arrival time at node n of the ith be assigned to a vehicle and each vehicle bus on route k is the same as the arrival time of operates a set of consecutive trips. The vehicle the jth bus on route l at node n. The objective is starts out from the depot; after completing all to maximize the number of synchronized trips among all departures. The objective function is therefore: ∑∑ ∑ ∑ ∑ M −1 Fk M trips, the vehicle returns to the depot. Typical criteria in the search for an optimal vehicle assignment involves fixed and operational costs. In the vehicle scheduling context, a new Fq k= 1 i= 1 q =k +1 j = 1 n∈ Akl scheduling problem requires that each trip has to I ikjln where Akl is the set of shared nodes between routes k and l . Bus scheduling requires that bus headways network is designed in which the nodes represent the trips and the arcs connect trips that are “compatible”. The term compatible implies that the ending time of one trip is earlier than the have to lie in between certain minimum and starting time of the trip immediately following. The network is denoted by G = ( A′, N ′) . maximum values. A headway may be neither too Vehicle movements between two consecutive big nor too small. A headway that is too big may trips are referred to as idle times without increase the waiting times of passengers while a servicing passengers. Two dummy nodes are headway that is too small may result in high added to the network, both representing the depot; the two dummy nodes are denoted by s1 Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 20 and s2 . A feasible vehicle schedule consists of between the departure and end depot. A several consecutive trips that are compatible deadhead represents an inevitable movement of starting with trip s1 and ending with trip s2 . a vehicle in between two trips or in between a The cij is the cost associated with a vehicle movement from trip i to trip j and is a known trip and a depot without servicing passengers. parameter. The decision variable yij represents the relationship between successive trips. The vehicle scheduling model can now be as space information regarding a driver being formulated as follows: between two relief points which represents the min ∑ ∑ (i , j )∈ A′ Relief points are points that contain time as well able to have a break or being able to leave. A task is a sequence of trips and deadheads in smallest unit of work that can be assigned to a cij yij crew member. A piece is a sequence of i ∈ N′ consecutive tasks without breaks in between j ∈ N′ crew scheduling problem is to minimize the total yij ∈ {0,1} , (i, j ) ∈ A′ least one duty. Recently, the simultaneous ∑ yij = 1, j:(i , j ) i:(i , j )∈ A′ yij = 1, which is also called a duty. The objective in the cost of all duties while each task is part of at optimization of vehicle and crew scheduling The solution of the vehicle scheduling model have been studied as well, see Huisman et al., offers a set of disjoint paths from s1 to s2 . A natural extension of the single-depot (2005). Simultaneous optimization involving vehicle scheduling problem is the Multidepot in significant cost savings, see Haase et al. Vehicle Sheduling Problem (MDVSP). In the (2001). MDVSP, each vehicle belongs to a given depot both vehicle and crew scheduling usually results In the field of urban transportation and each trip is assigned to only one vehicle. scheduling the timetabling problems for Mass Models for the MDVSP can be classified as Rapid Systems (MRT) or Metro systems are single-commodity flow models, multicommodity similar to train timetabling problems. Most flow models, and set partitioning models. The studies in the current literature have focused on methods used for solving such models include a single, one way track that connects two major Branch-and-Cut, LP-Relaxation methods, and stations with several smaller stations in between. column generation methods, see Fischetti et al., An express train may not stop at a smaller (2001), Mesquita et al., (1999), Ribeiro et al., station in between. A controller can slow down a (1994). train or make the dwelling time at an scheduling problem has been solved. Several intermediate station longer. Let S = {1, 2, , s} denote the set of stations and let T = {1, 2, , t} concepts have to be introduced before the crew denote the set of trains. The decision variables in scheduling model can be formulated. A vehicle the train timetabling problem are the departure Crew scheduling takes place after the vehicle block is defined as a vehicle movement from one depot to another. There are one or more trips times at stations {1, 2, , s − 1} and the arrival times at stations {2,3, , s} for each train t. Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 21 There is actually an ideal timetable for each train; urban the ideal timetable is given and depends on uncertain. passenger behavior and preferences. The most popular objective function for the train transportation networks is highly Mainly because of these differences, the modeling of the train timetabling problem is timetabling problem is to minimize the cost that more is associated with the deviation of the actual timetabling problem, see Carey and Lockwood complicated than timetable from the ideal timetable. Constraints (1995), in the train timetabling problem include track timetabling typically faces the challenges of a capacity constraints, time window constraints highly and other physical constraints. The most popular environment. objective function for the train timetabling uncertain on-route travel time, uncertain dwell problem is to minimize the cost that is time on bus stops and etc.) are hard to model. and Caprara uncertain All that et al. urban these of the bus (2002). Bus transportation uncertainties (e.g. associated with the deviation of the actual An extensive amount of research has been timetable from the ideal timetable. Constraints done on the scheduling of public transport in the train timetabling problem include track (buses and trains). This has resulted in a number capacity constraints, time window constraints of proceedings of conferences, see Wren and and other physical constraints. Daduna (1988), Desrochers and Rousseau Bus as well as train timetabling are supposed (1992), Daduna et al. (1995), Wilson (1999). to generate the arrival as well as the departure times of each bus (train) at each stop (station). 5.2 Maritime Scheduling Most of the differences between bus timetabling Scheduling plays a very important role in and train timetabling are due to the existence of shipping. An enormous amount of work has tracks; some of these differences are the been done on scheduling in this mode of following: transportation. (i) Because of safety regulations, a minimum Programming Historically, and in Mathematical particular Integer headway has to be maintained between two Programming has played a very important role consecutive trains. However, for bus systems the in maritime as well as in aviation scheduling. headways are not a hard constraint. There are several special types of Integer (ii) Takeover phenomena in the context of Programming formulations that have numerous train timetabling occur only at the train stations. practical applications in many of the various However, bus timetabling does not have any forms constraints with regard to takeovers. of transportation scheduling. This subsection first describes three very widely used (iii) Controllers can manipulate both the Integer Programming formulations, namely Set speed of trains and the dwelling times at the Partitioning, Set Covering, and Set Packing. The train stations. The control granularity of trains is integer programming formulation of the Set higher than of buses. In the context of bus Partitioning problem has the following structure. operation, it is impossible to control the running time and dwell time for a bus since traffic in Minimize c1 x1 + c2 x2 +  + cn xn Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 22 subject to a x + a x +  + a x = 1, 12 2 1n n  11 1 a21 x1 + a22 x2 +  + a2 n xn = 1,     1, am1 x1 + am 2 x2 +  + amn xn =  x ∈ {0,1} for j = 1,  , n,  j with all aij values being either 0 or 1. When the equal signs ( = ) in the constraints are replaced by greater or equal signs ( ≥ ), the problem is referred to as the Set Covering problem, and when the equal signs are replaced mentioned before. The reason why the tanker scheduling problem is a Set Packing problem and not a Set Partitioning problem is based on the fact that not every cargo has to be transported by a company owned tanker. If it is advantageous to assign a cargo to an outside charter, then that is allowed. This implies that the first set of constraints in the MIP are inequality ( ≤ ) constraints rather than equality (=) constraints. Oil companies that own and operate tanker by less than or equal signs ( ≤ ), then the problem is referred to as the Set Packing fleets typically make a distinction between two problem. In practice, the objective of the Set company-owned and the other type of ship is Packing chartered. problem is typically a profit maximization objective. types of ships. The One type operating of cost ship of is a company-owned ship is different from the cost The mathematical model underlying the Set of a charter that is typically determined on the Partitioning problem can be described as follows: spot market. Each ship has a specific capacity, a Assume m different elements and n different given draught, a range of possible speeds and subsets of these m elements. Each subset fuel consumptions, and a given location and contains one or more elements. If aij = 1 , then element i is part of subset j, and if aij = 0 , time at which the ship is ready to start a new trip. then element i is not part of subset j. The Each port also has its own characteristics. objective is to find a collection of subsets such Port restrictions take the form of limits on the that each element is part of exactly one subset. deadweight, draught, length, beam and other The objective is to find that collection of subsets physical characteristics of the ships. There may that have a minimum cost. In the Set Covering be some additional government rules in effect as problem, each element has to be part of at least well. one subset. In the Set Packing problem each A cargo that has to be transported is subset yields a certain profit π j and the total characterized by its type (e.g., type of crude), profit has to be maximized in such a way that quantity, load port, delivery port, time window each element is part of at most one subset. constraints on the load and delivery times, and A well-known maritime scheduling example the load and unload times. A schedule for a ship is the so-called Tanker Scheduling Problem, defines a complete itinerary, listing the sequence which is an example of the Set Packing problem of ports to be visited within the time horizon, the Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng time of entry at each port and the cargoes loaded 23 owned. Let or delivered at each port. = π il The objective is to minimize the total cost of transporting all cargoes. This total cost consists ∑ aijl c*j − cil n j =1 of a number of elements, namely the operating denote the “profit” (i.e., the amount of money costs for the company-owned ships, the spot that does not have to be paid on the spot market) charter rates, the fuel costs, and the port charges. by operating ship i according to schedule l. The Port charges vary greatly between ports and decision variable xil is 1 if ship i follows within a given port charges typically vary schedule l and zero otherwise. The Tanker Scheduling Problem can now be proportionally with the deadweight of the ship. In order to present a formal description of the problem the following notation is used. Let n denote the number of cargoes to be transported, T the number of company-owned tankers, and p the number of ports. Let Si denote the set of all possible schedules for ship i. Schedule l for ship i, l ∈ Si , is represented by the column vector ail1 ail2  ainl The constant aijl is 1 if under schedule l ship i transports cargo j and 0 otherwise. Let cil ∑ ∑ π il xil formulated as follows: T Maximize i =1 l∈Si ∑ ∑ aijl xil ≤ 1 subject to T i =1 l∈Si ∑ xil ≤ 1 l∈Si xil ∈ {0,1} j = 1, , n i = 1, , T l ∈ Si , i = 1, , T The objective function specifies that the total profit has to be maximized. The first set of constraints imply that each cargo can be assigned to at most one tanker. The second set of constraints specifies that each tanker can be assigned at most one schedule. The remaining denote the incremental cost of operating a constraints imply that all decision variables have company-owned ship i under schedule l versus to be binary 0 − 1. This optimization problem is keeping ship i idle over the entire planning typically referred to as a set-packing problem. horizon. The operating cost can be computed The algorithm used to solve this problem is a once schedule l has been specified, since it may branch-and-bound procedure. However, before depend in various ways on the characteristics of the branch-and-bound procedure is applied, a the ship and of the schedule, including the collection of candidate schedules have to be distance travelled, the time the ship is used, and the ports visited. The cost c*j denotes the amount that has to be paid on the spot market to transport cargo j on a ship that is not company generated for each ship in the fleet. As stated before, such a schedule specifies an itinerary for a ship, listing the ports visited and the cargoes loaded or delivered at each port. The generation of an initial collection of candidate schedules Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 24 has to be done by a separate ad-hoc heuristic equal to 1 for ship i, then certain schedules for that is especially designed for this purpose. The other ships can be ruled out for all the collection of candidate schedules should include descendants of this node; that is, the schedules enough schedules so that potentially optimal for other ships that have a cargo in common schedules are not ignored, but not so many that with schedule l for ship i do not have to be the set-packing problem becomes intractable. considered any more. Physical constraints such as ship capacity and Another way of branching can be done as speed, port depth and time windows limit the follows: Select at a given node a ship i that has number schedules not been selected yet at a higher level node and considerably. Schedules that have a negative generate for each schedule l in Si a branch to a profit coefficient in the objective function of the node at the next level down. In the branch of feasible candidate set-packing formulation can be omitted as well. corresponding to schedule l the variable xil = 1 . The branch-and-bound method for solving Using this branching mechanism, one still has to the problem is typically based on customized decide at each node which ship i to select. One branching and bounding procedures. Since the could select the i based on several criteria. For problem is a maximization problem a good example, a ship that transports many cargoes or schedule generated by a clever heuristic (or a a ship that may be responsible for a large profit. manual method) provides a lower bound for the Another way is to select an i that has a highly value of the optimal solution. When considering fractional solution in the LP relaxation of the a particular node in the branching tree, it is problem (e.g., there may be a ship i with a necessary to develop an upper bound for the solution xil = 1/ K for K different schedules collection of schedules that correspond to all the with K being a fairly large number). An upper bound at a node can be obtained descendants of this particular node; if this upper bound is less than the lower bound on the by solving the linear relaxation of the optimum provided by the best schedule currently set-packing problem corresponding to that node, available, then this node can be fathomed. i.e., the integrality constraints on xil are replaced There are a variety of suitable branching by the non-negativity constraints xil ≥ 0 . This mechanisms for the branch-and-bound tree. The problem may be referred to as the continuous simplest mechanism is just the most basic 0 − 1 set-packing problem. The value of the optimal branching. Select at a node a variable xil which solution is an upper bound for the values of all has not been fixed yet at a higher level node and possible solutions of the set-packing problem at generate branches to two nodes at the next level =1. that node. It is nowadays possible to find with The selection of the variable xil may depend at least good upper bounds) for very large on the solution of the LP relaxation at that node; continuous set-packing problems, making such a down: one branch for the most suitable xil xil = 0 and one for xil may be the one with a little computational effort optimal solutions (or bounding mechanism quite effective. value closest to 0.5 in the solution of the LP For details regarding tanker scheduling or relaxation. If at a node a variable xil is set scheduling in shipping in general, see Brown, Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 25 and airport there must be, for each airplane type, as Rosenwein (1989), Perakis and Bremer (1992), many arrivals as departures. One must further Christiansen (1999), Christiansen et al. (2004), impose at each airport the availability of an Christiansen et al. (2006). equal number of aircraft of each type at the Graves and Ronen (1987), Fisher beginning and at the end of the day. 5.3 Aircraft Scheduling In the formulation of the problem the Aircraft scheduling provides an interesting following notation is used: L denotes the set of contrast to the tanker scheduling just considered. flight legs, T denotes the number of different The classical aircraft routing and scheduling aircraft types, and mi denotes the number of problem is an example of the standard Set Partitioning problem. It is clear that in the aviation industry the constraint that each flight available aircraft of type i, i = 1, , T . So the total number of aircraft available is ∑ mi T i =1 leg should be covered exactly once by a round . trip is important. On the other hand, in the Some fight legs may be flown by more than trucking industry, it may be possible to have one one type of aircraft. Let Li denote the set of leg covered by several round trips; the constraints may then be relaxed and the problem assumes a Set Covering structure. flight legs that can be flown by an aircraft of type i and let Si denote the set of feasible schedules for an aircraft of type i. This set The Daily Aircraft Routing and Scheduling includes the empty schedule (0); an aircraft Problem can now be described as follows: Given assigned to this schedule is simply not being flight legs that have to be flown in a one-day used. Let π ij denote the profit generated by covering flight leg j with an aircraft of type i. period with departure time windows, durations, there is a total a heterogeneous aircraft fleet, a collection of and cost/revenues corresponding to the aircraft type for each leg, a fleet schedule has to be With each schedule l ∈ Si anticipated profit π il = generated that maximizes the airline’s profits (possibly subject to certain additional constraints). Some of the additional constraints that often have to be taken into account in an Aircraft Routing and Scheduling Problem are the number of available planes of each type, the restrictions on certain aircraft types at certain times and at certain airports, the required connections between flight legs (the so-called “thrus”) imposed by the airline and the limits on the daily service at certain airports. Also, the collection of flight legs may have to be balanced, i.e., at each where aijl ∑ π ij aijl , j∈Li is 1 if schedule l covers leg j and 0 otherwise. If an aircraft has been assigned to an empty schedule, then the profit is π i0 . The profit π i0 may be either negative or positive. It may be negative when there is a high fixed cost associated with keeping a plane for a day; it may be positive when there is a benefit having a plane idle (some airlines want to have idle planes that can serve as stand by). Let A denote the set of airports, and Ai be the subset of airports that have facilities to accommodate Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 26 aircraft of type i. Let oihl be equal to 1 if the origin of schedule l, l ∈ Si , is airport h, and 0 otherwise; let dihl be equal to 1 if the final destination of schedule l is airport h, and 0 otherwise. that all decision variables have to be binary 0 − 1. This model is basically a Set Partitioning Problem with additional constraints. The algorithm to solve this problem is also based on Branch-and-Bound; the version of Branch-and- The binary decision variable xil takes the value 1 if schedule l is assigned to an aircraft of type i, and 0 otherwise; the integer decision xi0 Bound is typically referred to as Branch-andPrice. The aircraft scheduling problem described denotes the number of unused above typically results in cyclic schedules. This aircraft of type i, i.e., the aircraft that have been is in contrast to the schedules for tankers (oil, assigned to an empty schedule. natural gas, bulk cargo in general) which are variable The Daily Aircraft Routing and Scheduling ∑ ∑ π il xil Problem can now be formulated as follows: tankers is usually based on a rolling horizon T Maximize i =1 l∈Si ∑ ∑ aijl xil = 1 subject to T i =1 l∈Si ∑ xil = mi l∈Si For scheduling in more the details aviation concerning industry, see j∈L et al. (1998), Cordeau et al. (2001), and Barnhart i = 1, , T 5.4 Emergency Operations Scheduling et al. (2003). Whenever a geographical area is hit by a 1,T , h ∈ Ai disaster, emergency operations have to be xil ∈ {0,1} = i 1, , T , l ∈ Si forms. A disaster may be an act of nature (e.g., organized. Disasters can take many different The objective function specifies that the total anticipated profit has to be maximized. The first set of constraints imply that each flight leg has to be covered exactly once. (This set of constraints is somewhat similar to the first set of constraints in the formulation of the tanker scheduling procedure. Stojkovich (2002), Desaulniers (1997), Barnhart i 0= ∑ (dihl − oihl ) x il = l∈Si usually not cyclic; the scheduling process for problem.) The second set of constraints specifies the maximum number of aircraft of each type that can be used. The third set of constraints correspond to the flow conservation constraints at the beginning and at the end of the day at each airport for each aircraft type. The remaining constraints imply hurricane, earthquake, etc.) or may be man-made (e.g., act of war, etc.). Some acts of nature may give an advance warning of a couple of days (e.g., hurricane), other acts of nature may not (e.g., earthquake, tsunami). The management of operations before, during and after the occurrence of a disaster is clearly of importance. In general, there are four stages in emergency operations management; the four stages being mitigation, preparedness, response and recovery. In this section, we particularly focus on the response stage, since it is this stage that requires routing and scheduling. A response to a disaster involves the allocation Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 27 of resources that are needed for mitigating the the distribution centers (after a disaster, the economic and human losses. In what follows, demands from affected areas may be huge); we focus on the planning and scheduling of the (iii) different demand areas having different allocation of such resources. The planning and characteristics (due to the diversity of population scheduling of the resource allocations refer density, economic situation and other features of mainly to the effective transportation of the affected areas, the impact of a disaster on each different resources to the disaster areas. There potential demand area may be quite different); are basically two different types of resources to be allocated, namely renewable resources (e.g., personnel, equipment) and non-renewable resources (e.g., medical supplies, building (iv) resources have to be coordinated in order to accomplish rescue tasks; (v) the level of uncertainty in the environment may be elevated. material). The allocation of the resources has to An example of this uncertainty is the be coordinated in an efficient manner. We first availability of transportation networks. Basically, concentrate on the resource planning and there are three standard models that are often scheduling problem and assume that routing and referred to as the covering models, namely the transportation alternatives are known in advance P-median and the P-center models, see Jia, and do not need to be optimized. However, Ordonez and Dessouky (2007). For a framework assuming that the transportation routes are of emergency planning and scheduling, see known in advance is often not reasonable and Caunhye, Nie and Pokharel (2012). practical. The transportation routes in many Once the DCs have been set up, the problem situations are not determined in advance. Travel boils down to on how to distribute the supplies time of transportation is another critical factor in order to meet the demands. There are two that influences the routing decision significantly. important research directions here: one approach, Before any rescue activities can be organized, which is more macroscopic, models the it is necessary to build temporary emergency distribution of the emergency supplies as a distribution centers (DCs) in order to accelerate multi-commodity network flow problem. The the rescue processes. The emergency distribution goods consists of renewable and non-renewable centers (DCs) can take the form of warehouses items that should be coordinated to mitigate the that store the supplies, temporary hospitals, negative effects of disaster. The second approach, medical supply centers, and so on. The planning which stage may require a formulation of models that distribution problem as a vehicle routing can help determine the number and locations of problem. Let us first consider the network flow such DCs. The most important differences modeling paradigm and then go into the vehicle between routing problem in an emergency context. location problems in emergency scenarios and traditional location problems are the following: is more microscopic, models the After the DCs have been set up, emergency materials have to be distributed in the affected (i) a low frequency of disaster occurrences; areas. Commodity network flow models may be (ii) a high frequency of requests for aid from used. Quantities of commodity flows are going Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 28 to be determined by the network flow models. resources have arrived. There are also some The objectives include the minimization of the constraints with regard to the demand and the transportation cost, makespan of the supplies. Another class of constraints deals with schedule, the amount of food delivered, the total the travel times of the transportation. The amount of demand that has not been met, etc. objective function can be the tardiness of the The constraints include the number of vehicles services, see Lee and Lei (2001). the and their capacities, the capacity of the links in In the planning and scheduling of emergency operations, the routing of the vehicles plays an the transportation network, and so on. Commodity network flow models are not important role in the delivery system. The enough to depict the complexity of emergency modeling of the delivery system is similar to a resource response Vehicle Routing Problem (VRP). The traditional scheduling has one very unique feature that vehicle routing problem is one of the basic requires scheduling. Disaster and problems in the transportation and logistics coordination of renewable resources (e.g., domain. It focuses on the optimal routing design specialists, medical personnel, etc.) as well as of of the delivery of the goods at the distribution non-renewable center to customers who are scattered at different the antibiotics, simultaneous scheduling resources surgical (e.g., blades, syringes, vaccines and bandages, etc.). When operations scheduling locations. Traditional vehicle routing problems can be depends on both renewable and nonrenewable formulated resources and the availability of both type formulation by Campbell, Vandenbussche, and resources have to be satisfied, the resulting scheduling problems tend to be very difficult. In reality, renewable and nonrenewable resources have to be coordinated and following the notation and Hermann (2008). Let N = {1, 2, , N } denote the set of customers and let 0 denote the depot. Let tij denote the travel time between nodes i and j. The binary variable xij indicates synchronized with one another so that rescue whether or not a vehicle travels from node i to activities Renewable node j. Let ai denote the arrival time of resources are also called permanent resources. In customer i. A vehicle routing problem in the the resource assignment and project scheduling emergency context can now be formulated as literature, some work has been done in this area, follows: can be performed. see Ait-Kadia et al. (2011), Wong et al. (2013) Minimize and Van Peteghem and Vanhoucke (2014); for a literature review on project scheduling, see Weglarz et al. (2011). In a typical emergency resource assignment and scheduling problem that takes both renewable and nonrenewable resources into account, the starting time of a service in an affected area can occur only after both the required renewable and nonrenewable ∑ i , j∈N 0 ∑ xij = 1 , subject to j∈I 0 tij xij i ∈ I0 0 , i ∈ I0 ∑ xij − ∑ x ji = j∈I 0 j∈I 0 tij + ai ≤ a j + T (1 − xij ) , i, j ∈ N Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng ai ≥ t0i x0i , i ∈ N customer can only be visited once no longer xij ∈ {0,1} , i, j ∈ N 0 applies. ai > 0 , i ∈ N 0 The objective (iii) of the mixed integer programming model is to minimize the total travel time. The constraints maintain conservation of flows and impose bounds on the travel times. In the disaster management context, it is necessary to consider other factors by adding variables and constraints into the mathematical programming model. There are many other constraints that can be considered in a vehicle routing problem in a disaster management context which are the following: (i) In a typical vehicle routing problem, the vehicles depart from a given depot and return to the depot after all service provisions have been taken care of. In an emergency situation, due to the high level of uncertainty, the emergency vehicle may not return to the depot, but stay at a stop on its route waiting for further instructions. Another possibility for this routing style is that vehicles need on the one hand dispatch goods to affected areas and on the other hand move sick and injured people to medical centers. The medical centers can also be in affected areas. The supplier and demand areas are interchangeable. This feature makes the new vehicle routing problem a bit like a simultaneous pickup-delivery vehicle routing problem. (ii) The vehicle capacity may not be able to meet the demand. In such a case, multiple vehicles are needed to meet the demand at one of the affected areas. This situation is like the Split Delivery Vehicle 29 Routing Problem (SDVRP). In SDVRP, the requirement that each Unpredictability uncertainty is different of demand. from This traditional commercial delivery systems where typically demand is relatively stable, see Campbell, Vandenbussche and Herman (2008). (iv) Coordination among organizations. There are various suppliers. Different vehicles are capable of delivering different resources. An example of this situation is that medical teams and medical suppliers need to be coordinated. The vehicles need to be coordinated as well. (v) Some items are delivered only once during the entire disaster relief period and some items may need daily-based delivery such as food and water, particular in hot weather. For a survey paper that focuses on the periodic vehicle routing problem, see Francis, Smilowitz and Tzur (2008). On the objective function side, it is important to deliver the goods to the demand areas in a fast and fair manner. Market forces and mechanisms tend to suddenly disappear in disaster relief operations. The disappearance of markets changes the nature of economics and operations. Even though there are no unified rules for allocating resources in disaster operations, fairness is a very important aspect of the goods delivery; transportation costs are not a top priority in disaster relief. Therefore, many objective functions have been developed with an emphasis on fairness. Some examples of such objective functions are: (i) Minimize the arrival time of last visited area. (ii) Minimize the average arrival time. (iii) On the route level, fairness is measured Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 30 as the weighted arrival time normalized by the demand on node, see Huang, Smilowitz and Balcik (2012). 6. Professional Sports and Entertainment Professional sports and entertainment are (iv) Number of unsatisfied demands. very important service industries with their own For a discussion with regard to the sets of scheduling problems. They have their appropriateness of the various types of objective own planning horizons, their own objective functions in disaster relief operations, see functions and their own constraints. Holguin-Veras, Jaller, Wassenhove, Pérez and Wachtendorf (2012) and Holguin-Veras, Pérez, 6.1 Tournament Scheduling in Professional Sports Jaller, Wassenhove and Aros-Vera (2013). In order to solve the various different types Sport events are a very important segment of of vehicle routing problems, a cornucopia of the entertainment and recreation industry. Many exact and heuristic algorithms have been different branches of sports maintain regular developed. Baldacci, Mingozzi and Roberti local, regional or national tournaments. There is (2012) present an overview of the exact a great variety in types of tournaments, each algorithms for VRP under capacity and time type having its own rules and restrictions. These window constraints. Augerat et al. (1998) tournaments have to be scheduled and it turns developed for out that most of these schedules are anything but solving the capacitated VRP. Set Partition trivial to come by. This industry has inspired a a Branch-and-Cutalgorithm formulations have also been applied to both the significant amount of theoretical as well as more capacitated VRP and the VRP with time applied and more computational research, see windows. The SD-VRP has also been used for Butenko et al. (2004). The more theoretical modeling this dispatching problem in disaster research established a very strong link between operations settings. A two-stage algorithm with tournament scheduling and graph theory, see De valid inequalities is proposed to solve the split Werra (1988). delivery vehicle routing problem, see Jin, Liu Many tournament schedules are constrained and Bowden (2007). For a shortest path search in time; that is, the number of rounds or slots in algorithm based on dynamic programming for which games are played is equal to the number the vehicle routing problem with split pickups, of games each team must play plus some extra see Lee et al. (2006). Normally, exact algorithms rounds or slots that are typically required in for solving the VRP and its large number of leagues with an odd number of teams. For variants are usually constrained by the problem example, in a so-called single round robin size. A number of heuristics have therefore been tournament each team has to play every other developed for dealing with large size problems: team once, either at home or away. Such a for tabu search algorithms for the Split Delivery tournament among n teams with n being even and Hertz (2006) and Archetti, Speranza and requires n − 1 rounds. If the number of teams is odd, then the number of rounds is n (due to the Savelsbergh (2008). fact that in every round one of the teams has to Vehicle Routing Problem, see Archetti, Speranza Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng remain idle). In a double round robin tournament 31 may already be hard. each team has to play every other team twice, However, it may at times also occur that one once at home and once away. It turns out that would like to optimize an objective. In order to such a tournament among n teams requires either 2n − 2 or 2n rounds (dependent upon whether n is even or odd). formulate one of the more common objective In order to formulate the most basic version sequence of games played by a given team, each of a tournament scheduling problem certain game can be characterized as either a Home (H) functions in tournament scheduling some terminology is needed. If one considers the assumptions have to be made. Assume for the game or as an Away (A) game. The pattern of time being that the number of teams, n, is even. games played by a given team can thus be (It happens to be the case that tournament characterized by a string of H’s and A’s, e.g., scheduling with an even number of teams is HAHAA. There is typically a desire to have for slightly easier to analyze than with an odd any given team the home games and the away number of teams.) Consider a single round robin games to alternate. That is, if a team plays one tournament in which each team has to play every game at home, it is preferable to have the next other team exactly once, i.e., each team plays game away and vice versa. If a team plays in for such a tournament a schedule that consists the team is said to have a break in round t + 1 . A common objective in tournament scheduling is n − 1 games. Because of the fact that there are an even number of teams it is possible to create exactly of n − 1 rounds with each round having n/2 games. rounds t and t + 1 either two consecutive games at home or two consecutive games away, then to minimize the total number of breaks, see More formally, let t denote a round (i.e., a Trick (2001). It has been shown in the literature date or a time slot) in the competition. The 0 − 1 that in any timetable for a single round robin variable xijt is 1 if team i plays at home against tournament with n teams (n being even), the team j in round t; the variable xijt is 0 otherwise. Of all the xijt variables a total of (n / 2)(n − 1) are 1; the remaining are 0. The following constraints have to be satisfied: 1 for = j ∑ ( xijt + x jit ) = n i =1 n −1 1 for ∑ ( xijt + x jit ) = t =1 1,  = , n; t 1,  , n − 1, i ≠ j. In practice, there are usually many additional minimum number of breaks is n − 2 . The algorithm that generates a schedule with this minimum number of breaks is constructive and very efficient; see Miyashiro and Matsui (2003). Example 6.1.1: Breaks in a Single Round Robin Tournament Consider 6 teams and 5 rounds. term 1 term 2 constraints concerning the pairing of teams and term 3 the sequencing of games. When there are a large term 4 number of constraints, one may just want to find term 5 a feasible schedule; finding a feasible schedule term 6 round 1 round 2 round 3 round 4 round 5 -6 -5 4 -3 2 1 3 6 -1 5 -4 -2 -5 *4 *-6 -2 1 3 2 -1 5 6 -3 -4 -4 3 -2 *1 *-6 5 Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 32 When team i plays in round t against team j and scheduling problem as well. Consider a single the game is entered in the table as j, then team i round robin tournament in which each club has plays at the site of team j. If it is entered as −j, to face every other club once and only once; the then team i plays at home. The timetable shown game is either a home game (H) or an away above has 4 breaks, each of them marked with a game (A). A directed graph G=(N, B) can be *. Since there are 6 teams, it is not possible to constructed in which set N consists of n nodes find for this tournament a schedule with less and each node corresponds to one team. Each than 4 breaks. node is linked via an arc to each other node. The □ Assume now that the number of teams is odd. arcs are initially undirected. In Figure 2 the n The minimum number of rounds in a single nodes are positioned in such a way that they round robin tournament is now larger than n−1. form a polygon. If in a graph each node is If the number of teams is odd, then one team has connected to every other node, it is referred to as to remain idle in each round. When a team does a clique or as a complete graph. not play in one round, it is referred to as a Bye A well-known graph coloring problem (B). So when the number of teams is odd, the concerns the coloring of the arcs in a graph; the sequence of games that have to be played by a coloring has to be done in such a way that all the given team is a string of H’s, A’s, and one or arcs that are linked to any given node have more B’s, e.g., HAHABA. With these more different colors and the total number of colors is complicated types of patterns a break can be minimized. It is a well-known fact that a clique defined in several ways. An HBH substring may with n nodes can be colored this way with n or may not be considered a break; if the B is colors (which is often referred to as its considered equivalent to an A, then there is no chromatic number ). Each subgraph that receives break. If the B is considered equivalent to an H, a specific color consists of one arc that lies on then there is a break (actually, then there are two the boundary of the polygon and a number of breaks). However, one can argue that an HBH internal arcs (see Figure 2). pattern is less bad than an HHH pattern; one can even argue that it is less bad than an HH pattern. So, as far as penalties or costs are concerned, the cost of an HBH pattern may actually be less than the cost of a single break. It turns out that a single round robin tournament problem with arbitrary n (n being either even or odd) can be described as a graph coloring problem. This equivalence is somewhat similar to the relationships between timetabling problems and graph coloring problems described in a previous section; it provides some additional insight into the tournament Figure 2. Coloring of a complete graph Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng The equivalence between the graph coloring problem and the single round robin tournament scheduling problem is based on the fact that each round in the tournament corresponds to a framework for generating single round robin schedules. Step 1 – Assemble a Collection of HAPs Find a collection of n different HAPs. subgraph with a different color. The coloring of the arcs for the different rounds thus determines a schedule for a single round robin tournament in which each team plays every other team only once. One question is how to partition the arcs into a number of subsets with each subset having a different color. A second question has to be addressed as well: when one team plays another it has to be decided at which one of the two sites the game is played, i.e., which team plays at home and which team will be away. In order to determine this, each arc in the graph has to be 33 This set of HAPs is referred to as the pattern set. Step 2 – Create a Timetable Assign a game to each entry in the pattern set. The resulting assignment is referred to as a timetable. Step 3 – Assign Teams to Patterns Assign a team to each pattern. Together with the timetable, this creates a single round robin schedule. directed; if a game between teams i and j takes A schedule for a double round robin place at team j’s site, then the arc linking nodes i tournament can be created in a similar fashion. and j emanates from i and goes to j. In order to First, a single round robin tournament schedule avoid breaks in two consecutive rounds of a is generated. Then a fourth step is added, which schedule, the arcs have to be directed in such a is typically referred to as the mirroring step. The way that the two subgraphs corresponding to the single round robin schedule is extended by two timetable attaching immediately behind it a schedule that constitute a so-called directed Hamiltonian path. is exactly the same but with the home and away A directed Hamiltonian path is a path that goes games reversed. consecutive rounds in the from one node to another with each node having In practice, the framework described above at most one outgoing arc and at most one is often used somewhat differently. In Step 1 incoming arc. usually more than n different HAPs are Many approaches for developing tournament generated and based on this larger collection of schedules are based on a standard framework for HAPs more than one pattern set is created. the search for good feasible schedules. In this Additional pattern sets give more choices and framework a pattern is equivalent to a string flexibility in the creation of timetables and consisting of H’s, A’s, and B’s, for example schedules. HABAHHA. For a single round robin tournament If the tournament under consideration has a the length of a string is n−1 (n) when the number large number of teams, then each step in the of teams is even (odd). These strings are often framework requires a certain computational referred to as Home Away Patterns (HAPs). The effort. There are actually various approaches that following three step algorithm provides a can be used in each step. Each step can be Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 34 implemented following either an optimization ∑ Minimize ( k , ,t )∈F approach or a constraint programming approach. The remaining part of this section describes the use of optimization techniques in each step of the framework. In Step 1 several pattern sets can be generated by first listing all the preferred subject to ∑ t :( k ,  , t )∈F ∑ xk t + :( k ,  , t )∈F xk t + patterns (with alternating H’s and A’s and one B) ∑ t :(  , k , t )∈F ∑ xk t xkt = 1 , for all k ∈ S ,  ∈ S , k ≠  :(  , k , t )∈F xkt ≤ 1 , for all k ∈ S , t ∈ T xk t ∈ {0,1} , for all (k , , t ) ∈ F of appropriate length. There may not be that The first set of constraints specifies that many of such preferred patterns. A list of some during the tournament there will be exactly one of the less preferred patterns (say, with one or game between teams represented by patterns k two breaks) is created as well. It is not likely that a set that consists only of preferred patterns and  . The second set of constraints specifies that pattern k plays at most one game in round t. will ultimately lead to an acceptable schedule. (In a single round robin with an even number of Because of this, additional pattern sets are teams this inequality constraint becomes an created that contain, for example, n–2 preferred equality constraint.) The objective function for patterns and two patterns that are less preferred. this integer program is somewhat arbitrary, If we allow only a small number of less because the only goal is to find a solution that preferred patterns in a pattern set, then the satisfies all constraints. number of pattern sets that can be generated is still relatively small. Step 2 creates timetables for different teams. Determining the timetables can also be done Step 3 assigns teams to patterns. This step may in certain situations also be formulated as an integer program. Let yik denote a 0 − 1 variable taking value 1 if team i is assigned to every pattern in each one of its rounds is linked HAP k and 0 otherwise. Let cik denote the relative cost of such an assignment (this relative to another pattern. Let S denote a set of n cost is estimated by taking all stated preferences patterns and let T denote the set of rounds. The into account). A timetable for the competition binary variable xk t is 1 if the team associated can be constructed as follows. through integer programming. It is clear that with pattern k plays at the site of the team associated with pattern  in round t. Of course, this variable is only defined if the kth pattern has an A in position t and the  th pattern has an H in position t. Let F denote the set of all feasible (k , , t ) triplets. In order to find for a single round robin tournament a solution that satisfies all the constraints the following integer program can be formulated. ∑∑ cik yik n Minimize k 1 =i 1 = ∑ yik = 1 subject to n i =1 n ∑ yik = 1 k =1 n for k = 1, , n for i = 1, , n Of course, each team is assigned to one HAP and each HAP is assigned to one team. In practice, the mathematical program formulated Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 35 for Step 3 is often more complicated. It is programming technique seems to have a clear usually of a form that is referred to as a edge. Since the integer programming approach Quadratic Assignment Problem. in Step 3 is basically equivalent to complete This approach, in which each step is based enumeration, it is not surprising that constraint on an integer programming technique, has been programming can do better, see Schaerf (1999), used in a case discussed by Nemhauser and Aggoun and Vazacopoulos (2004), Henz et al. Trick (1998): The Atlantic Coast Conference (2004). (ACC) is a group of nine universities in the In addition to mathematical programming southeastern United States that compete against and constraint programming techniques, many each other in a number of sports. From a researchers have experimented with heuristic revenue point of view, the most important sport techniques as well, see Anagnostopoulos (2003), is basketball. Most of the revenues come from Hamiez and Hao (2001), Schonberger et al. television networks that broadcast the games and (2004). from gate receipts. The tournament schedule has A significant amount of academic research an impact on the revenue stream. Television has also focused on finding good solutions for networks need a regular stream of quality games tournaments of specific types, namely in soccer and spectators want neither too few nor too leagues as well as in other leagues; see, for many home games in any period. example, There are numerous restrictions in the form Schreuder (1992), Henz (2001), Bartsch et al. (2004). of pattern constraints, game count constraints, and team pairing constraints. The patterns of 6.2 Network Broadcast Scheduling Home games and Away games is important Scheduling of network television programs, because of wear and tear on the teams, issues of even though different in various respects from missing class time, and spectator preferences. interval scheduling and tournament scheduling, No team should play more than two Away games does exhibit a number of similarities with both consecutively, nor more than two Home games interval scheduling and tournament scheduling. consecutively. A Bye is usually regarded as an The scheduling horizon is typically one week Away game. Similar rules apply to weekend and the week consists of a fixed number of time slots (no more than two at Home in consecutive slots. A number of shows are available for weekends). broadcasting and these shows have to be This type of scheduling problem can also be assigned to the different time slots in such a way solved using a constraint programming approach. that a certain objective function is optimized. As far as Steps 1 and 2 are concerned, the Moreover, the assignment of shows to slots is computational effort needed using a constraint subject to a variety of conditions and constraints. programming approach seems to be comparable For example, assigning a show to one slot may to the computational effort needed using an affect the contribution to the objective function integer programming approach. However, as far of another show in a different slot. The integer as programming formulations are somewhat similar Step 3 is concerned the constraint Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 36 to the integer programming formulations for interval scheduling and tournament scheduling. Major television networks typically have a number of shows available for broadcasting. Some of these belong to series of half hour the assignment (j, t) and 0 otherwise. Clearly, b jtt = 1 and b jtv can only be nonzero for v > t . The following There are a fixed number of 30 minute time slots, implying that some shows require one time slot, while others need two consecutive time slots. If a particular show is assigned to a given time slot, then a certain rating can be expected. The forecasted ratings may be based on past program can be formulated to maximize the total profit. Maximize shows, while others belong to series of one hour shows. There are shows of other lengths as well. integer ∑ subject to t :( j ,t )∈ A ∑ ( j ,t )∈ A ∑ ( j ,t )∈ A π jt x jt x jt ≤ 1 x jt b jtv = 1 x jt ∈ {0,1} for j = 1, , n for v = 1, , H for ( j , t ) ∈ A experience with the show and/or the time slot; it This integer program takes into account the may be based on lead-in effects due to the shows fact that there are shows of different durations. immediately preceding it, and it may also be However, the formulation above is still too based on shows that competing networks assign simple to be of any practical use. One important to that same slot. The profits of the network issue in television broadcasting revolves around depend very much on the ratings and one of the so-called lead-in effects. These effects may have main objectives of the network is to maximize a considerable impact on the ratings (and the its average ratings. profits) of the shows. If a very popular show is If the length of program j is exactly half an followed by a new show for which it would be hour, then the binary decision variable x jt is 1 hard to forecast the ratings, then the high ratings if program j is assigned to slot t; if the length of program j is longer than half an hour, then the of the popular show may have a spill-over effect on the new show; the ratings of the new show decision variable x ji is 1 if the first half hour of may be enhanced by the ratings of the popular program j is assigned to slot t (i.e., broadcasting show. Incorporating lead-in effects in the program j may require both slots t and t+1, but formulation described above can be done in only the decision variable associated with slot t several ways. One way can be described as is 1 while the one associated with slot t+1 follows: let the total ratings) obtained by assigning program and show k starting in slot u. Let  denote the j to time slot t. If program j occupies more than set of all possible lead-in conditions. The binary over all slots the program covers. Let A denote the set of all feasible assignments (j, t). Let the decision variable y jtku is 1 if in a schedule the lead-in condition ( j , t , k , u ) is indeed in effect and 0 otherwise. Let π ′jtku denote the additional binary variable b jtv be 1 if time slot v is filled contribution to the objective function if the remains zero). Let π jt denote the total profit (or one slot, then π jt denotes the profit generated by program j or by part of program j because of ( j , t , k , u ) refer to a lead-in condition that involves show j starting in slot t lead-in condition is satisfied. The objective Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng function in the formulation above has to be ∑ expanded with the term ( j ,t , k ,u )∈ π ′jtku y jtku attention in the research literature, and that are discussed in this tutorial, are of the static for ( j , t , k , u ) ∈  − y jtku + x jt + xku ≤ 1 y jtku ∈ {0,1} scheduling problems analyzed in the literature. Most of the problems that have received and the following constraints have to be added: y jtku − x jt ≤ 0 for ( j , t , k , u ) ∈  y jtku − xku ≤ 0 37 deterministic type. The main reason is that these problems are somewhat easier to analyze. However, even though these problems are easier for ( j , t , k , u ) ∈  to analyze than their dynamic counterparts, they are still, more often than not, NP-Hard. for ( j , t , k , u ) ∈  Static deterministic problems can often be The first set of constraints ensures that y jtku can formulated relatively easily as mathematical never be 1 when x jt is zero. The second set of programs (in particular, as Mixed Integer constraints is similar. The third set of constraints Prorams or MIPs) and the typical solution ensures that y jtku never can be 0 when both x jt techniques most often used for such integer and xku are equal to 1. A fair amount of research has been done programs are Branch-and-Bound and Cutting over the years focusing on the scheduling of problems can at times also be formulated as network television programs, see Horen (1980), constraint programs. If that is the case, they can Reddy, Aronson and Stam (1998), and Hall, Liu, be and Sidney (1998). Actually, research attention programming techniques, see Goltz and Matzke has of (2001). We have also seen that a variety of static see deterministic scheduling problems (including Bollapragada, Bussieck, and Mallik (2004), timetabling, interval scheduling, reservation Bollapragada, Cheng, Phillips, Garbiras, Scholes, problems, and tournament scheduling) are Gibbs, equivalent to graph theoretic node coloring also focused commercials and in on the broadcast Humphreville scheduling networks, (2002), and Plane methods. Static deterministic scheduling solved using standard constraint problems, e.g., chromatic number, or arc Bollapragada and Garbiras (2004). coloring problems. If an equivalence can be shown between a static deterministic scheduling 7. Conclusions It is clear that scheduling plays a very problem and a graph coloring problem (which important role in many service industries. As usually is strongly NP-Hard), then a host of stated earlier, scheduling problems in practice heuristics can be used that have been developed may be either static or dynamic. The static and analyzed in the graph theory and computer problems are very similar to the so-called science literature. off-line scheduling problems studied in the Many of the scheduling problems discussed academic literature; the dynamic scheduling in this tutorial have, in practice, either dynamic problems are often similar to either the online or stochastic aspects. One may be able to scheduling analyze such a more general problem as a problems or the stochastic Markov Decision Process (MDP), which one Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 38 may be able to formulate as a Linear Program development of decision support systems for (LP). However, the transformation of an MDP scheduling into an LP may bring about an explosion in the development of such a decision support system dimension of the problem. So, even though an is typically a major endeavour. The database and LP may be solvable in polynomial time, since user interface requirements are usually quite the transformation of the MDP into the LP is not elaborate. See, for example, in Figure 3 the user polynomial, it is still very hard to solve the MDP. interface of a system developed by MultiModal One also may be able to formulate a dynamic Applied Systems for train scheduling. applications in services. The scheduling problem as an online scheduling Moreover, such decision support systems problem. However, such a problem typically typically have to allow for seamless interactive does not allow for an exact optimization optimization. There are numerous software technique. Research in such problems have led companies to interesting heuristics and hybrid techniques in development of software and decision support practice. systems for the service industries. For example, In scheduling applications in service that are specializing in the Mimosa Scheduling Software markets a host of industries, many different types of algorithms scheduling are in use, from the very simplistic to the very academic and education markets. Their systems sophisticated. The more sophisticated techniques focus include Integer assignments, and so on. The Totalview System Programming formulations, that are based on of the IEX Corp. is a system used to schedule algorithms for Mixed on software teacher applications scheduling, for the classroom Branch-and-Bound and on Branch-and-Cut. the shifts of operators in call centers. The These methods usually have as goal to find a MultiRail System of MultiModal Applied very optimum solution. That is, they are applied Systems is a widely used decision support when the data available for the problem are system for train scheduling. Jeppesen Systems, a known with a high degree of certainty and it is unit of Boeing, develops decision support worthwhile finding the best possible solution. systems for the scheduling of aircraft and for Clearly, the amount of time required for crew scheduling. Galactix Software markets developing the code as well as the computation their Team Sports Scheduling System. Besides time needed when running the code tend to be these more generic systems that are being significant. Especially in the transportation marketed by the various software companies industries these techniques are widely used. In (systems that still may need a significant amount other application areas, the use of heuristics is of customization upon installation), many purely significantly more common. The heuristics application-specific include local search techniques, priority rules, as developed as well. For example, the Bremen well as hybrid (decomposition) techniques that Public Transport Authority developed its own combine priority rules with local search. system, referred to as DISSY, in order to There is an entire industry dedicated to the schedule its drivers. systems have been Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 39 Figure 3. User interface of decision support system for train scheduling Future research on scheduling in service industries may focus on hybrid and interactive techniques that are useful for systems activities scheduling. International Journal of Production Research, 49 (22) : 6677–6689. [3] A. Anagnostopoulos, L. Michel, P. Van implementations in practice, e.g., methods that Hentenryck & Y. Vergados (2003). A combine constraint programming techniques Simulated with optimization techniques or local search Traveling techniques (such as genetic algorithms). Proceedings CPAIOR’03. Annealing Approach Tournament to Problem. the In [4] C. Archetti, M.G. Speranza & A. Hertz Acknowledgments The work is partially supported by the National Natural Science Foundation of China under Grant No. 71301115, Grant No.71431005. (2006). A tabu search algorithm for the split delivery vehicle routing problem. Transportation Science, 40(1): 64–73. [5] C. Archetti, M.G. Speranza & M.W.P. Savelsbergh (2008). An optimization-based References heuristic for the split delivery vehicle routing [1] A. Aggoun & A. Vazacopoulos (2004). problem. Transportation Science, 42(1): 22– Solving Sports Scheduling and Timetabling 31. Problems with Constraint Programming. In: S. [6] P. Augerat, J.M. Belenguer, E. Benavent, A. Butenko, J. Gil-Lafuente & P. Pardalos (eds.), Corberán, D. Naddef & G. Rinaldi (1998). Economics, Management and Optimization Computational results with a branch and cut in Sports. Springer, New York. code for the capacitated vehicle routing [2] D. Ait-Kadia, J.-B. Menye & H. Kane (2011). problem. R. 495, Dicembre 1998, Istituto di Resources assignment model in maintenance Analisi dei Sistemi ed Informatica, CNR, Roma, Italy. Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 40 [7] R. Baldacci, A. Mingozzi & R. Roberti [16] J. Belien & E. Demeulemeester (2007). (2012). Recent exact algorithms for solving Building cyclic master surgery schedules the vehicle routing problem under capacity with and time window constraints. European European Journal of Operational Research, Journal of Operational Research, 218(1): 1–6. [8] C. Bandi & D. Bertsimas (2012). Tractable leveled resulting bed occupancy. 176: 1185–1204. [17] R.E. Bixby & E.K. Lee (1998). Solving a stochastic analysis in high dimensions via truck robust Mathematical branch-and-cut. Operations Research, 46: [9] Ph. Baptiste, C.L. Le Pape & W. Nuijten [18] J.T. Blake & M.W. Carter (1997). Surgical optimization. problem using 355–367. Programming,134(1): 23–70. (2001). dispatching Constraint-Based Scheduling. process scheduling: a structured review. Journal of the Society for Health Systems, Kluwer Academic Publishers, Boston. [10] C. Barnhart, P. Belobaba & A. Odoni 5(3):17–30. (2003). Applications of Operations Research [19] J.T. Blake & M.W. Carter (2002). A in the Air Transport Industry. Transportation goal-programming approach to resource Science, 37: 368–391. allocation in acute-care hospitals. European [11] C. Barnhart & G. Laporte (eds.) (2006). Handbooks in Operations Research and Management Science. Volume 14 – Transportation, North-Holland, Amsterdam. [12] C. Barnhart, F. Lu & R. Shenoi (1998). Integrated Airline Schedule Planning. In: G. Journal of Operational Research, 140: 541– 561. [20] J.T. Blake & J. Donald (2002). Using Integer Programming to Allocate Operating Room Time at Mount Sinai Hospital. Interfaces, 32(2): 63–73. Yu (ed.), Operations Research in the Airline [21] J. Blazewicz, W. Cellary, R. Slowinski & J. Industry, Chapter 13, pp. 384–403. Kluwer Weglarz (1986). Scheduling under resource Academic Publishers, Boston. constraints - deterministic models. Annals of [13] J.J. Bartholdi III, J.B. Orlin & H.D. Ratliff Operations Research, Vol. 7, Baltzer, Basel. Integer [22] L. Bodin, B. Golden, A. Assad & M. Ball Programs with Circular Ones. Operations (1983). Routing and Scheduling of Vehicles (1980). Cyclic Scheduling via and Crews: The State of the Art. Computers Research, 28: 1074–1085. [14] T. Bartsch, A. Drexl & S. Kr¨oger (2006). Scheduling the professional soccer leagues of austria and germany. Computers and random scheduling durations. with discrete Mathematics Operations Research, 36(2): 240–257. [23] S. Bollapragada, M. Bussieck & S. Mallik (2004). Scheduling commercial videotapes in broadcast television. Operations Research, 52: Operations Research, 33: 1907–1937. [15] M.A. Begen & M. Queyranne (2011). Appointment and Operations Research, Vol. 10, 63–211. of 679–689. [24] S. Bollapragada, H. Cheng, M. Phillips, M. Garbiras, M. Scholes, T. Gibbs & M. Humphreville (2002). NBC’s Optimization Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng Systems Increase Revenues and Productivity. [25] S. Bollapragada & M. Garbiras (2004). Scheduling commercials [33] E. Burke & P. De Causmaecker (eds.) (2003). Interfaces, 32(1): 47–60. on broadcast 41 The Practice and Theory of Automated Timetabling IV. Selected Papers from the 4th International Conference on the television. Operations Research, 52: 337– Practice 345. Timetabling, Gent, Belgium, August 2002. [26] K.I. Bouzina & H. Emmons (1996). Interval scheduling on identical machines. Journal of and Theory of Automated Lecture Notes in Computer Science No. 2749, Springer Verlag, Berlin. [34] E. Burke, P. De Causmaecker, G. Vanden Global Optimization, 9: 379–393. [27] M.L. Brandeau, F. Sainfort & W.P. Berghe & H. Van Landeghem (2004). The Pierskalla (eds.) (2004). Operations Research state of the art of nurse rostering. Journal of and Health Care – A Handbook of Methods Scheduling, 7: 441–499. [35] E. Burke, D.G. Elliman, P.H. Ford & R.F. and Applications, Springer. [28] D. Brelaz (1979). New Methods to Color Weare (1996). Exam Timetabling in British the Vertices of a Graph. Communications of Universities: A Survey. The Practice and the ACM, 22: 251–256. Theory of Automated Timetabling, E. Burke [29] G.G. Brown, G.W. Graves & D. Ronen and P. Ross (eds.), Lecture Notes in (1987). Scheduling ocean transportation of Computer Science,Vol.1153, Springer Verlag, crude oil. Management Science, 33: 335–346. Berlin. [30] P. Brucker, A. Drexl, R. Mõhring, K. [36] E. Burke & W. Erben (eds.) (2001). The Neumann & E. Pesch (1999). Resource Practice constrained project scheduling: notation, Timetabling III. Selected Papers from the classification, methods. 3rd International Conference on the Practice European Journal of Operational Research, and Theory of Automated Timetabling (held 112: 3–41. August 2000 in Konstanz, Germany), Lecture models, and [31] W.J. Burgess & R.E. Busby (1992). Personnel Scheduling. In: G. Salvendy (ed.), Handbook of Industrial Engineering chapter 81, pp. 2155–2169. J. Wiley, New York. [32] E. Burke & M.W. Carter (eds.) (1998). The Practice and Theory of Automated and Theory of Automated Notes in Computer Science, Vol. 2079, Springer Verlag, Berlin. [37] E. Burke & P. Ross (eds.) (1996). The Practice and Theory of Automated Timetabling. Selected Papers from the 1st International Conference on the Practice and Timetabling II. Selected Papers from the 2nd Theory International Conference on the Practice and Edinburgh, August 1995. Lecture Notes in Theory of Automated Timetabling (held Computer Science, Vol. 1153, Springer August 1997 in Toronto), Lecture Notes in Verlag, Berlin. Computer Science No. 1408, Springer Verlag, Berlin. of Automated Timetabling, [38] E. Burke & H. Rudova (eds.) (2006). The Practice and Theory of Automated Timetabling VI. Selected Papers from the 6th Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 42 International Conference on the Practice and [47] M.W. Carter & C.A. Tovey (1992). When is Theory of Automated Timetabling, Brno, the classroom assignment problem hard? Czech Republic, August 2006. Lecture Notes Operations Research, 40: S28–S39. in Computer Science, Vol. 3867, Springer. [39] E. Burke & M. Trick (eds.) (2004). The Practice and Theory of Automated Timetabling V. Selected Papers from the 5th International Conference on the Practice and Theory of Automated Timetabling, [48] A.M. Caunhye, X. Nie & S. Pokharel (2012). Optimization models in emergency logistics: a literature review. Socio-Economic Planning Sciences, 46(1): 4–13. [49] T. Cayirli & E. Veral (2003). Outpatient scheduling in health care: a review of Pittsburgh, U.S.A. August 2004. Lecture literature. Production and Notes in Computer Science, Vol. 3616, Management, 12(4): 519–549. Operations [50] T. Cayirli, K. Khiong Yang & S.A. Quek Springer Verlag, Berlin. [40] R.N. Burns & M.W. Carter (1985). Work (2012). A universal appointment rule in the force size and single shift schedules with presence variable demands. Management Science, 31: Production and Operations Management, 599–608. 21(4): 682–697. [41] R.N. Burns & G.J. Koop (1987). A modular of no-shows and walk-ins. [51] A. Ceder, B. Golany & O. Tal (2001). approach to optimal multiple shift manpower Creating bus timetables scheduling. Operations Research, 35: 100– synchronization. 110. Part A: Policy and Practice, 35(10): 913–928. [42] S. Butenko, J. Gil-Lafuente & P. Pardalos with maximal Transportation Research [52] M. Christiansen (1999). Decomposition of a and combined inventory and time constrained Optimization In Sports. Springer Verlag, ship routing problem. Transportation Science, Berlin. 33: 3–16. (2004). Economics, Management [43] A.M. Campbell, D. Vandenbussche & W. [53] M. Christiansen, K. Fagerholt & D. Ronen Hermann (2008). Routing for relief efforts. (2004). Ship routing and scheduling – status Transportation Science, 42(2): 127–145. and perspective. Transportation Science, 38: [44] A. Caprara, M. Fischetti & P. Toth (2002). 1–18. Modeling and solving the train timetabling [54] M. Christiansen, K. Fagerholt, B. Nygreen problem. Operations Research, 50: 851–861. & D. Ronen (2007). Maritime Transportation. [45] M. Carey & D. Lockwood (1995). A model, In: C. Barnhart and G. Laporte (eds.), algorithms and strategy for train pathing. Handbooks in Operations Research and Journal of the Operational Research Society, Management 46: 988–1005. Transportation, pp.189–284, North-Holland, [46] M.W. Carter (1986). A survey of practical applications of examination timetabling Science, Volume 14 – Amsterdam. [55] J.-F. Cordeau, G. Stojkovic, F. Soumis & J. algorithms. Operations Research, 34: 193– Desrosiers (2001). Benders Decomposition 202. for Simultaneous Aircraft Routing and Crew Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng Scheduling. Transportation Science, 35: 375– [65] H. Emmons & R.N. Burns (1991). Off-day scheduling 388. [56] F.H. Cullen, J.J. Jarvis & H.D. Ratliff (1981). Set partitioning based heuristics for interactive routing. Networks, 11: 125–144. 43 with hierarchical worker categories. Operations Research, 39: 484– 495. [66] M. Fischetti, A. Lodi, S. Martello & P. Toth [57] J.R. Daduna, I. Branco & J.M. Pinto Paixao (2001). A polyhedral approach to simplified (1995). Computer Aided Scheduling of crew scheduling and vehicle scheduling Public Transport. Lecture problems. Management Science, 47(6): 833– Notes in Economics and Mathematical Systems No. 850. [67] M.L. Fisher & M.B. Rosenwein (1989). An 430, Springer Verlag, Berlin. [58] E.L. Demeulemeester & W.S. Herroelen (2002). Project Scheduling: A Research Handbook, Kluwer Academic Publishers, interactive optimization system for bulk-cargo ship scheduling. Naval Research Logistics, 36: 27–42. [68] P.M. Francis, K.R. Smilowitz & M. Tzur Boston, MA. [59] B. Denton, J. Viapiano & A. Vogl (2007). (2008). The period vehicle routing problem Optimization of surgery sequencing and and its extensions. The vehicle routing scheduling problem: latest advances and new challenges, decisions under uncertainty. Health Care Management Science, 10:13–24. 73–102, Springer, US. [60] G. Desaulniers, J. Desrosiers, Y. Dumas, M. [69] R. Freling, A.P.M. Wagelmans & J.M.P. M. Solomon & F. Soumis (1997). Daily Paixao (2001). Models and algorithms for aircraft routing and scheduling. Management single-depot Science, 43: 841–855. Transportation Science, 35(2): 165–180. vehicle scheduling. [61] M. Desrochers & J.-M. Rousseau (1992). [70] D.R. Fulkerson (1962). Expected critical Computer Aided Scheduling of Public path lengths in PERT type networks. Transport. Lecture Notes in Economics and Mathematical Systems No. 386, Springer Verlag, Berlin. Operations Research, 10: 808–817. [71] M.R. Garey, D.S. Johnson, B.B. Simons & R.E. Tarjan (1981). Scheduling unit-time [62] D. de Werra (1988). Some models of graphs tasks with arbitrary release times and for scheduling sports competitions. Discrete deadlines. SIAM Journal of Computing, 10: Applied Mathematics, 21: 47–65. 256–269. [63] S.E. Elmaghraby (1967). On the expected duration of PERT type networks. Management Science, 13: 299–306. [64] H. Emmons (1985). Workforce scheduling [72] M. Gawande (1996). Workforce Scheduling Problems with Side Constraints. Paper presented at the semiannual INFORMS meeting in Washington DC , May 1996. with cyclic requirements and constraints on [73] H.J. Goltz & D. Matzke (2001). ConBaTT – days off, weekends off, and work stretch. IIE Constraint Based TimeTabling. In: E. Burke Transactions, 17: 8–16. and W. Erben (eds.), The Practice and Theory of Automated Timetabling III. Selected Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 44 Papers from the 3rd International Conference [82] E. Hans, G. Wullink, M. van Houdenhoven on the Practice and Theory of Automated & G. Kazemier (2008). Robust surgery Timetabling, Lecture Notes in Computer loading. European Journal of Operational Science, Vol. 2079, Springer Verlag, Berlin. Research, 185: 1038–1050. [74] M. Grönkvist (2002). Using Constraint Propagation to Accelerate Column [83] R. Hassin & S. Mendel (2008). Scheduling arrivals to queues: a single-server model with Generation in Aircraft Scheduling. Technical no-shows. Management Report 2002, Computing Science Department, 565–572. Chalmers University of Technology, [75] D. Gupta & B. Denton (2008). Appointment scheduling in health care: challenges and opportunities. IIE Transactions, 40(9): basketball conference-revisited. Operations Research, 49: 163–168. [85] M. Henz, T. Müller & S. Thiel (2004). Global constraints for round robin tournament scheduling. European Journal of 800–819. [76] D. Gupta & W.Y. Wang (2012). Patient appointments 54(3): [84] M. Henz (2001). Scheduling a major college Gothenburg, Sweden. Science, in ambulatory care. In: Operational Research, 153: 92–101. [86] J. Holguín-Veras, M. Jaller, L.N.V. Handbook of Healthcare System Scheduling, Wassenhove, N. Pérez & T. Wachtendorf 168: 65–104. Springer, New York,. (2012). On the unique features of [77] K. Haase, G. Desaulniers & J. Desrosiers post-disaster humanitarian logistics. Journal (2001). Simultaneous vehicle and crew of Operations Management, 30 (7): 494–506. scheduling in urban mass transit systems. [87] J. Holguín-Veras, N. Pérez, M. Jaller, L.N.V. Wassenhove & F. Aros-Vera (2013). Transportation Science, 35(3): 286–303. [78] K. Hãgele, C.O. Dúnlaing & S. Riis (2001). On the appropriate objective function for TV postdisaster humanitarian logistics models. commercials. Electronic Notes in Theoretical Journal of Operations Management, 31(5): Computer Science, Vol. 40. 262–280. The complexity of scheduling [79] N.G. Hall, W.-P. Liu & J.B. Sidney (1998). [88] J.H. Horen (1980). Scheduling of network Scheduling in broadcast networks. Networks, television programs. Management Science, 32: 233–253. 26: 354–370. [80] R. Hall (2012). Handbook of Healthcare [89] V.N. Hsu, R. de Matta & C.-Y. Lee (2003). System Scheduling, Vol. 168, Springer, New Scheduling patients in an ambulatory surgical York. center. Naval Research Logistics, 50: 219– [81] J.-P. Hamiez & J.-K. Hao (2001). Solving 238. the Sports League Scheduling Problem with [90] M. Huang, K. Smilowitz & B. Balcik Tabu Search. In: A. Nareyek (ed.), Local (2012). Models for relief routing: equity, Search for Planning and Scheduling, Lecture efficiency and efficacy. Notes in Computer Science, 2148: 24–36. research part E: logistics and transportation Springer Verlag, Berlin. review , 48 (1): 2–18. Transportation Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng [91] D. Huisman, R. Freling & A.P.M. 45 [100] G. Laporte & S. Desroches (1984). Wagelmans (2005). Multiple depot integrated Examination timetabling by computer. vehicle and crew scheduling. Transportation Computers and Operations Research, 11: Science,39 (4): 491–502. 351–360. (1993). [101] C.G. Lee, M.A. Epelman, C.C. White III & Multiple-shift workforce scheduling under Y.A. Bozer (2006). A shortest path approach the 3-4 compressed workweek with a to the multiple-vehicle routing problem with hierarchical workforce. split pick-ups. Transportation research part B: [92] R. Hung & H. Emmons IIE Transactions, Methodological, 40 (4): 265–284. 25: 82–89. [93] H.Z. Jia, F. Ordonez & M. Dessouky (2007). [102] C.-Y. Lee & L. Lei (2001). A modeling framework for facility location of Multiple-project scheduling with controllable medical services for large-scale emergencies. project duration and hard resource constraint: IIE transactions, 39 (1): 41–55. Some solvable cases. Annals of Operations [94] M.Z. Jin, K. Liu & R.O. Bowden (2007). A Research, 102 (1-4): 287–307. two-stage algorithm with valid inequalities [103] R.E. Marsten & F. Shepardson (1981). for the split delivery vehicle routing problem. Exact solution of crew scheduling problems International Journal of Production using the set partitioning model: recent successful applications. Networks, 11: 165– Economics, 105 (1): 228–242. [95] G.C. Kaandorp & G. Koole (2007). 177. Optimal outpatient appointment scheduling. [104] C.U. Martel (1982a). Scheduling Uniform Health Care Management Science, 10 (3): Machines with Release Times, Deadlines and 217–229. Due times. In: M.A. Dempster, J.K. Lenstra [96] P. Keskinocak Scheduling of & S. Tayur time-shared jet (1998). and A.H.G. Rinnooy Kan (Eds.), aircraft. Deterministic and Stochastic Scheduling, pp.89–99. Reidel, Dordrecht. Transportation Science, 32: 277–294. [97] K.J. Klassen & R. Yoogalingam (2009). [105] C.U. Martel (1982b). Preemptive outpatient scheduling with release times, deadlines and appointment services with a simulation due times. Journal of the Association of Improving performance optimization approach. in Production and Operations Management, 18 (4): 447–458. [98] R. Kolish (1995). Project Scheduling under Resource Constraints. Physica-Verlag (Springer Verlag), Heidelberg. [99] L.R. LaGanga & S.R. Lawrence (2012). Computing Machinery, 29: 812–829. [106] C. Martin, D. Jones & P. Keskinocak (2003). Optimizing on-demand aircraft schedules for fractional aircraft operators. Interfaces, 33 (5): 22–35. [107] M. Mesquita & J. Paixao (1999). Exact Appointment overbooking in health care algorithms clinics to improve patient service and clinic scheduling for performance. Production and Operations multicommodity Management, 21 (5): 874–888. formulations. the multi-depot vehicle problem network based flow Computer-aided on type transit Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 46 scheduling, 221–243. Springer Berlin system: background, current practice and model formulation. Maritime Policy and Heidelberg. [108] W.P. Millhiser & E. Veral (2014). Designing appointment system templates Management, 19: 177–187. [117] PERT (1958). Program Evaluation targets. Research Task. Phase I Summary Report, Working Paper, Zicklin School of Business, Special Projects Office, Bureau of Ordnance, Baruch College CUNY, New York, NY. Department of the Navy, Washington, D.C. [109] R. Miyashiro & T. Matsui (2003). [118] V.V. Peteghem & M. Vanhoucke (2014). with operational performance Round-Robin Tournaments with a Small An Number metaheuristics of Breaks. Department of experimental investigation for of the multi-mode project scheduling Mathematical Informatics Technical Report resource-constrained METR problem on new dataset instances. European 2003-29, Graduate School of Information Science and Technology, the Journal of Operational Research, 235 (1): 62– University of Tokyo, Tokyo, Japan. 72. [110] J.G. Moder & C.R. Philips (1970). Project [119] M.E. Posner (1985). Minimizing weighted Management with CPM and PERT. Van completion times with deadlines. Operations Research, 33: 562–574. Nostrand Reinhold, New York. [111] J.M. Mulvey (1982). A classroom/time [120] S.K. Reddy, J.E. Aronson & A. Stam assignment model. European Journal of (1998). Operational Research, 9: 64–70. optimally [112] R. Nanda & J. Browne (1992). Introduction to Employee Scheduling. Van Nostrand [113] G.L. Nemhauser & M. Trick (1998). major college basketball Neumann, C. Schwindt & J. Zimmermann (2001). Project Scheduling with Time Windows and Scarce Resources. Lecture Notes television. programs Management Science, 44: 83–102. [121] J.C. Regin (1999). Sports Scheduling and in Economics INFORMS meeting in Cincinnati, Ohio. [122] C.C. Ribeiro & F. Soumis (1994). A column conference. Operations Research, 46: 1–8. [114] K. for scheduling Constraint Programming. Paper presented at Reinhold, NY. Scheduling a SPOT: and generation to the multiple-depot vehicle scheduling problem. Operations Research, 42 (1): 41–52. [123] L.W. Robinson & R.R. Chen (2010). A comparison of traditional and open-access Mathematical Systems No. 508, Springer policies Verlag, Berlin. Manufacturing [115] J.H. Patterson (1984). A comparison of approach for appointment scheduling. & Operations Service Management, 12 (2): 330–346. exact approaches for solving the multiple [124] L.M. Rousseau, M. Gendreau & G. Pesant constrained resources rroject scheduling (2002). A general approach to the physician problem. Management Science, 30: 854–867. rostering problems. [116] A.N. Perakis & W.M. Bremer (1992). An operational tanker scheduling optimization Research, Annals of Operations 115: 193–205. Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng [125] M. Sasieni (1986). A note on PERT times. [126] A. Schaerf (1999). Scheduling sport using constraint Science 2079: 242–253, Springer Verlag, Berlin. Management Science, 30: 1652–1653. tournaments 47 logic [134] R. Velasquez, R.T. Melo & K.-H. Kuefer (2008). Tactical Scheduling: programming. Constraints, 4: 43–65. [127] J. Schönberger, D.C. Mattfeld & H. Kopfer Operating Efficient Theatre Appointment Assignment. In: J. Kalcsics & S. Nickel (eds.), (2004). Memetic algorithm timetabling for Operations non-commercial sport leagues. European Proceedings of the GOR 2007 Conference Journal of Operational Research, 153: 102– Research Proceedings 2007. (Saarbruecken), pp. 303–310, Springer. [135] S. Voss & J.R. Daduna (2001). Computer 116. [128] J.A.M. Schreuder (1992). Combinatorial Aided Scheduling of Public Transport. aspects of construction of competition dutch Lecture professional Mathematical Systems No. 505, Springer football leagues. Discrete Notes in Economics and Verlag, Berlin. Applied Mathematics, 35: 301–312. [129] G. Stojkovic, F. Soumis, J. Desrosiers & M. [136] M.R. Walker & J.S. Sayer (1959). Project Solomon (2002). An Optimization Model for Planning and Scheduling. Report 6959, E.I. a Real-Time Flight Scheduling Problem. du Pont de Nemours & Co., Inc., Wilmington, Transportation Research Part A: Policy and Del. [137] J. Weglarz, J. Jozefowska, M. Mika & G. Practice, 36: 779–788. [130] M. Stojkovic, F. Soumis & J. Desrosiers (1998). The operational airline crew Walig´ora (2011). Project scheduling with finite or infinite number of activity processing scheduling problem. Transportation Science, modesA 32: 232–245. Operational Research, 208 (3): 177–205. [131] F.B. Talbot (1982). Resource constrained project scheduling trade-offs: the with time-resource nonpreemptive case. Management Science, 28: 1197–1210. survey. European Journal of [138] J.D. Wiest & F.K. Levy (1977). A Management Guide to PERT/CPM. Prentice-Hall, Englewood Cliffs. [139] N.H.M. Wilson (1999). Computer Aided [132] J.M. Tien & A. Kamiyama (1982). On Scheduling of Public Transport. Lecture manpower scheduling algorithms. SIAM Notes in Economics and Mathematical Review, 24: 275–287. Systems No. 471, Springer Verlag, Berlin. [133] M. Trick (2001). A Schedule-and-Break [140] C. S. Wong, F. T. S. Chan & S. H. Chung Approach to Sports Scheduling. In: E.K. (2013). Burke and W. Erben (eds.), Practice and approach considering multiple resources and Theory of Automated Timetabling III. preventive maintenance tasks. International Selected Journal of Production Research, 51 (3): 883– Papers of Third Conference PATAT 2000 International (Konstanz, Germany), Lecture Notes in Computer A joint production scheduling 896. [141] A. Wren & J.R. Daduna (1988). Computer Aided Scheduling of Public Transport. Michael Pinedo et al.: Scheduling in the Service Industries: An Overview J Syst Sci Syst Eng 48 Lecture Notes in Economics and Christos Zacharias is a visiting assistant Mathematical Systems No. 308, Springer professor of management science at the Verlag, Berlin. University of Miami. He received his PhD in [142] G. Yu (ed.) (1998). Operations Research in operations management from the Stern School the Airline Industry. Kluwer Academic of Business at New York University, and his BSc Publishers, Boston. in Mathematics from the University of Athens, [143] C. Zacharias & M. Pinedo (2014a). Greece. His research focuses on designing and Appointment scheduling with no-shows and optimizing service operations, with an emphasis overbooking. Production and Operations on health care delivery. Broader areas of interest Management, 23 (5): 788–801. include stochastic modeling, applied probability, [144] C. Zacharias & M. Pinedo (2014b). scheduling, and simulation. Managing customer arrivals in service systems with multiple servers. Working Paper, Stern School of Business, New York University, New York, NY. Michael Pinedo received the Ir. degree in mechanical engineering from the Delft University of Technology, the Netherlands in 1973 and the M.Sc. and Ph.D. degrees in operations research from the University of California at Berkeley in 1978. He is the Julius Schlesinger Professor of operations management in the Department of Information, Operations and Management Sciences (IOMS) at the Stern School of Business at New York University. His research focuses on the modeling of production and service systems, and, more specifically, on the planning and scheduling of these systems. Recently, his research also has been focusing on operational risk in financial services. He has (co-)authored numerous technical papers on these topics. He is the author of the books “Scheduling: Theory, Algorithms and Systems” and “Planning and Scheduling in Manufacturing and Services”. He is Editor of the Journal of Scheduling. Ning Zhu is currently an assistant professor at College of Management and Economics, Tianjin University in China. He received the B.S. and M.S. degrees in information systems and information management from the Xi'an University of Technology in 2006 and 2009, respectively, and the Ph.D. degree in management science and engineering from the Tianjin University in 2012. His research interests include modeling and optimization of transportation systems and operations management.