Skip to main content
Health Systems logoLink to Health Systems
. 2019 Dec 14;10(2):118–130. doi: 10.1080/20476965.2019.1700763

Minimax cth percentile of makespan in surgical scheduling

Vikas Agrawal a,, Aber Elsaleiby b, Yue Zhang c, P S Sundararaghavan c, Andrew Casabianca d
PMCID: PMC8143600  PMID: 34104430

ABSTRACT

In this paper, we address the problem of finding an assignment of n surgeries to be performed in one of m parallel identical operating rooms (ORs), given each surgery has a stochastic duration with a known mean and standard deviation. The objective is to minimise the maximum of the cth percentile of makespan of any OR. We formulate this problem as a nonlinear integer program, and small-sized instances are solved using the GAMS BONMIN solver. We develop a greedy heuristic and a genetic algorithm procedure for solving large-sized instances. Using real data from a major U.S. teaching hospital and benchmarking datasets from the literature, we report on the performance of the heuristics as compared to the GAMS BONMIN solver.

KEYWORDS: Scheduling, operating rooms, heuristics

1. Introduction

Developing an effective surgical schedule is a critical operational problem in hospitals, with the goal of reducing waste of resources and patient waiting times. Hospital operating rooms (ORs) are regarded as both cost and profit centres in hospitals. Hospitals are constantly trying to increase efficiency while providing excellent services to patients and lowering cost. Effective OR scheduling can cut down unnecessary resource usage by avoiding over-utilisation and under-utilisation of ORs, both of which are costly for hospitals. It is worth noting that the cost of one minute in an OR ranges anywhere from $200 to $1,000 depending on the case complexity (Macario, 2010).

The management goal of this problem is to reduce both over-utilisation and under-utilisation of ORs, which is motivated by a real-world problem faced by a major U.S. teaching hospital and presumably by other hospitals nationwide. Specifically, the OR managers are trying to achieve this goal by closing as many ORs as possible by the end of a 12-hour shift. To the best of our knowledge, this objective has not been previously considered in the literature. As such, we strive to provide a practical solution that can be implemented by any hospital. Our proposed methods will provide an OR schedule that allows the OR manager, with a certain confidence level that she/he determines, to close the last OR by the earliest possible time.

Suppose a hospital has m ORs available to schedule n surgeries on a given day. Depending on the type of surgery and the surgeon performing the surgery, OR times will vary. In a typical hospital, most of the surgeries have been performed many times in the past. Therefore, the scheduler would have access to the historical data on the actual times that a procedure took for each surgeon-surgery combination. We studied the duration of each surgery and found that the surgery duration is stochastic, and its mean and standard deviation (s.d.) are typically known. Surgery durations have previously been modelled as a lognormal distribution (Guda, Dawande, Janakiraman, & Jung, 2016). However, in accordance with the central limit theorem in statistics (Kallenberg, 1997), the sum of the durations of all surgeries assigned to a given OR are assumed to be approximately normally distributed. The parameters of the sum distribution can easily be calculated under the assumption of independence for surgery durations (Hans, Wullink, Houdenhoven, & Kazemier, 2008). To account for uncertainty in surgery duration, we set a parameter c and define the cth percentile of completion time of all surgeries in a given OR as the time within which all assigned surgeries in that OR will be completed with a probability c. If we minimise the maximum of the cth percentile of completion times across all ORs, then the solution to this problem is the approximate time for the closure of the last OR with a confidence level given by c.

This surgical scheduling problem can be generalised as a “parallel machine scheduling problem.” The deterministic version of this problem has been studied extensively in the literature (Baker & Trietsch, 2013; Denton, Vispiano, & Vogi, 2007). This is an NP-complete problem, which implies that it is highly unlikely that this problem will ever be solved in polynomial time of its size. Difficulty in solving such problems increases with the number of machines and jobs. The problem becomes harder to solve if the durations of jobs are stochastic. Hence, there is a great need to develop heuristics to solve this problem.

The rest of the paper is organised as follows. Section 2 describes the surgical scheduling problem in detail. Section 3 provides the literature review associated with the problems under study. We present our mathematical model for the scheduling problem in Section 4. The solution methodology is discussed in Section 5, in which we demonstrate three different methods for solving this problem, including a greedy heuristic and a genetic algorithm procedure. In Section 6, we present computational experiments and report on the performance of the heuristics as compared to a professional solver. Section 7 discusses surgery cancelation polices in brief. Finally, we present conclusions and future research directions in Section 8.

2. Problem description

As mentioned earlier, the problem under study is motivated by a real-world problem in a major U.S. teaching hospital. Consider n surgeries with a known mean and s.d. of their durations, m ORs, and a given constant c where 0 < c < 1. For OR j, the cth percentile of makespan is defined as

µj + Z(c)* σj, where µj is the sum of the durations of all the surgeries assigned to OR j, Z(c) is the Z-value corresponding to parameter c from the standard normal distribution, and σj is the s.d. of the distribution of the sum of the durations of all the surgeries assigned to OR j.

The problem is to find the optimum assignment of surgeries to the ORs in order to minimise the maximum cth percentiles of makespan of all the surgeries among all the ORs. The solution to this problem is the approximate time for the closure of the last OR with a confidence level given by the parameter c. This formulation corresponds to scheduling all available surgeries in a suite of ORs in order to close the last OR as soon as possible with a confidence level c, assuming that any surgery may be scheduled in any OR. The mathematical model that we develop in Section 3 for this problem can help the decision maker determine not only how many ORs to open, but also which surgeries to assign to each OR such that the total time consumed by any OR can be predetermined with confidence level c. In general, a minimax objective function could balance the use of all ORs by reducing the finish time of the last surgery. The model tends to increase utilisation across all ORs, thus improving OR productivity.

The current surgical scheduling process is summarised as follows. First, a surgery listing is usually developed and maintained by the OR management team. The surgery list gives the description of all the surgeries together, with the order in which they will be performed by different surgeons based on the specific parameters, such as the health status of the patient, the complexity and the duration of the surgery, the age of the patient and the availability of the OR to be used. The surgeries in the list are assigned to different ORs in such a way that it will lead to a balanced usage of all ORs. However, some hospitals follow a “block booking” method, where a block of time is reserved for each surgeon with block time privilege in an OR, during which the surgeon can schedule his/her operations (block booking). Blocks are released 24 to 72 hours prior to start of the block so that other surgeons may use the unfilled block time in the OR and the schedule is created by scheduling staff. In both cases, the schedule is re-evaluated at the completion of each surgery to look for possible reassignments of the remaining surgeries in order to improve OR usage. Both the idle time and overtime of ORs are equally considered as forms of inefficiencies, which might result in a failure to meet the planned OR schedule. In the next section, we review the relevant literature related to OR scheduling problems.

3. Literature review

In general, OR scheduling has been viewed as a unique set of parallel machine scheduling problems, which have been addressed in the literature intensively (Denton et al., 2007; Mellouli, Sadfi, Chu, & Kacem, 2009; Ranjbar, Davari, & Leus, 2012; Weiss, 1990). Recently, Cardoen, Demeulemeester, and Belien (2010) and Samudra et al. (2016) provided comprehensive reviews of studies on OR planning and scheduling from multiple perspectives, including patient characteristics, performance measures, decision delineation, research methodology, uncertainty, etc. Below, we review several more relevant and recent studies on OR scheduling.

Hans et al. (2008) addressed a multi-period surgery scheduling problem with multiple specialities, with the objective of minimising overtime and maximising utilisation in surgery schedules by explicitly providing some slack time in the schedule. Slack was calculated as a proportion of the combined standard deviation of sum of surgery times assigned to a given operating room. They used real data and demonstrated considerable improvement from the prevailing methods using optimisation methods and heuristics.

Fei, Meskens, and Chu (2010) designed a weekly surgery schedule in an operating theatre setting in which they treated the daily scheduling problem as a two-stage hybrid flow-shop problem and solved it using a hybrid genetic algorithm. The proposed algorithm resulted in less idle time, much higher utilisation and less overtime for ORs. Gul, Denton, Fowler, and Huschka (2011) compared several heuristics for scheduling surgical procedures in an outpatient procedure centre to address the uncertainty in their durations. Their approach utilised the simulation technique to evaluate different heuristics and finally applied a genetic algorithm to come up with a better schedule for surgical procedures.

Day, Garfinkel, and Thompson (2012) addressed the problem of improving surgical room efficiency and providing predictable access to ORs for surgeons by formulating it as an integer program and solving it by a column generation approach. They showed significant improvement using this method in a teaching hospital. Lin, Sir, and Pasupathy (2013) proposed a unique framework to determine the optimal resource levels in the surgical scheduling process. Their approach combines the simulation approach along with a genetic algorithm and data envelope analysis to create an efficient frontier to identify effectual design points. Marques, Captivo, and Pato (2014) developed and applied a genetic algorithm for elective surgery scheduling in a Portuguese hospital. They found that the developed algorithm was well suited to the problem with multiple objectives.

Vancroonenburg, Smet, and Berghe (2015) considered a multi-day surgical scheduling problem under limited resource availability and developed a two-phase heuristic to solve the problem. Landa, Aringhieri, Soriano, Tànfani, and Testi (2016) proposed a hybrid algorithm that combines neighbourhood search techniques along with the Monte Carlo simulation. They used their algorithm to address the interrelated problems of assigning surgeries to ORs each day and determining the sequence of surgeries in each OR each day.

Based on the literature, our work can be viewed as an extension to OR scheduling with multiple identical rooms (Hans et al., 2008). In fact, our proposed model, presented in the next section, is inspired by Ranjbar et al. (2012), who formulated a multiple parallel machine scheduling problem with stochastic job times as a nonlinear program. In contrast, the objective of our model is different, which is to minimise the maximum of the cth percentile of the makespan of any OR. We formulate this problem as a nonlinear integer programming model, which can be solved by a professional solver. We also develop a greedy heuristic and a genetic algorithm procedure, and report on the performance of the greedy heuristic and genetic algorithm as compared to a professional solver, based on real data from a teaching hospital and benchmarking datasets from the literature. In particular, our greedy heuristic could be implemented in practice due to its low computation time and adequate solution quality. In summary, though some aspects of the problem have been addressed in the literature, the problem as a whole has not yet been studied. This study contributes to both academic research and practice on OR scheduling.

4. The proposed model

In this section, we formulate the problem as a nonlinear integer program. Again, we consider n independent surgeries each with a stochastic duration, m ORs, and a specific cth percentile. We attempt to find a schedule that minimises the maximum of the mean of the sum of durations of all surgeries assigned to an OR, plus Z(c) multiplied by the standard deviation of the sum of durations of all the surgeries assigned to that OR.

The following assumptions are made:

  • All ORs are identical and can process any surgery;

  • Each OR can process only one surgery at a time;

  • All surgeries and all ORs are available at time zero;

  • The sum of the durations of all surgeries assigned to an OR is approximately normally distributed;

  • All surgery durations are independent.

We briefly discuss the implications of these assumptions at the end of this section. We summarise the notation in Table 1.

Table 1.

Notation

N The set of surgeries
M The set of ORs
i Index of surgeries in set N
j Index of ORs in set M
pi The mean duration of surgery i
si The standard deviation of duration of surgery i
Xij The mean of the sum of the durations of all the surgeries assigned to OR j
σj The standard deviation of the sum of durations of all the surgeries assigned to OR j
c A given constant, 0 < c < 1
Z(c) The Z-value corresponding to c in the standard normal distribution
k Objective function value

We also define decision variables Xij as below.

Xij=1,ifsurgeryiisassignedtoOR j0,otherwise

Then, we formulate the problem as follows.

Mink (1)
jϵMXij=1 iϵN (2)
μj=iϵNpiXij jϵM (3)
σj2=iϵNsi2Xij jϵM (4)
μj+Zc*σj2k jϵM (5)
Xij0,1 iϵN and jϵM (6)

In this formulation, the objective function (1) is to minimise the maximum of the cth percentile of the makespan across all ORs. Constraint (2) ensures that surgery i is assigned exactly to one OR. Constraint (3) defines the sum of the durations of all the surgeries assigned to a particular OR. Similarly, Constraint (4) defines the sum of the variance of the durations of all the surgeries assigned to a particular OR. Constraint (5) sets the objective function value to less than or equal to k, which we seek to minimise. The objective function value is calculated as the sum of the durations of all the assigned surgeries to the OR plus Z(c) multiplied by the square root of the sum of the variances of all the surgeries assigned to the OR. Note that μj and σj are auxiliary variables, and Constraints (3) and (4) are used for clarity only. In Constraint (5), μj and σj2 could be replaced by the right-hand sides of Constraints (3) and (4), respectively.

Note that our problem is a type of chance-constrained programming model, which is a formulation of an optimisation problem that ensures that the probability of meeting a certain constraint is above a certain threshold level. For example, Hans et al. (2008) used a constraint similar to (5) in their model of planned slack time to prevent overtime in an OR with a certain probability. Direct linearisation may not be applicable, while approximation methods have been used for small-sized problems (Olson & Swenseth, 1987).

Next, we briefly discuss relaxing some of the assumptions before moving to solution methods. Note that the assumption that all ORs are identical allows for greater flexibility and potentially larger set of feasible solutions that in general will improve the optimal solution. However, if a particular surgery or sets of surgeries cannot be done in some ORs, all it would take to incorporate this in the formulation is to assign a value of zero to the decision variables corresponding to assigning these surgeries to the ORs in question. This will not increase the complexity. Alternatively, if orthopaedic surgeries are always exclusively done in a subset of ORs, and no other surgery is done in those ORs, then orthopaedic surgery scheduling can be solved as a separate problem. Other assumptions will generally hold.

5. Solution methods

In this section, we describe three solution methods to solve the problem under consideration. The first method uses the Basic Open-source Nonlinear Mixed Integer programming (BONMIN) solver of the General Algebraic Modelling Software (GAMS). Hereafter, we refer to this method simply as GAMS. The second method deploys a greedy heuristic approach, and the third method uses a Genetic Algorithm to solve problem instances and find the best possible solutions. Results from these three techniques are compared to help evaluate the quality of the heuristics developed.

5.1. GAMS

The problem was formulated as a nonlinear integer programing model. After testing a few mixed integer nonlinear programming solvers that were available in our GAMS version, it was decided to use the BONMIN solver, which solves our nonlinear integer program most effectively. The solver uses the branch and bound algorithm that solves continuous nonlinear programs at each node of the search tree and branching on integer variables (https://www.gams.com/24.8/docs/userguides/GAMSUsersGuide.pdf).

Using a set of randomly selected operations from a comprehensive list of surgical data collected by a teaching hospital over 5 years, multiple computational experiments have been conducted. Details about the experiments are presented in Section 6.

GAMS was not able to solve large-sized instances within reasonable time. The maximum number of ORs that could be scheduled within reasonable time (one hour) using GAMS was five. As a result, other solution methods must be developed, such as a greedy heuristic and Genetic Algorithm, in order to find optimal or near-optimal solutions within reasonable time for large-sized instances.

5.2. Greedy heuristic

We initially considered a number of common greedy heuristic rules used in the scheduling literature, such as the longest or shortest duration rules, in which we used the mean durations to order surgeries and used the order to assign the surgeries one at a time in order to minimise the increase in the objective function. In addition to the mean durations of the surgeries, we have also tested a few other greedy heuristic rules, including rules based on their standard deviations, coefficients of variation, or other variants that consider both the means and standard deviations of the surgery durations.

Based on these experiments and tests, we found one particular greedy heuristic that outperforms all of the other heuristics that we have tested. Therefore, we describe only this greedy heuristic (GH) in the paper. In this greedy heuristic, we first sort surgeries in a non-increasing order of the value: mean surgery duration + Z(c)* s.d. of surgery duration. Then, we use a greedy rule, which myopically minimises the increase in the objective function value in each iteration.

The proposed GH is detailed as below.

  1. Number the surgeries 1 to n (referred by index i) in a non-increasing order with respect to the value: mean surgery duration + Z(c)* s.d. of surgery duration. Let the ORs be numbered 1 to m (referred by index j).

  2. Let k be the objective function value. Initially, k = 0 since no surgery has been assigned yet. Set i = 1.

  3. Assign surgery i to any of the ORs such that the value of k increases by the smallest amount after the assignment. In case of a tie, assign surgery i to the OR with the smallest index. Update k.

  4. If i = n, terminate; otherwise, let i = i + 1, and go to Step 3.

5.3. Genetic algorithm

Since a greedy heuristic often gets stuck at a local optimum, it may be necessary to develop a metaheuristic algorithm for this problem. Genetic Algorithms (GAs) are one of the most powerful metaheuristics, finding very good solutions in problems with a complex fitness landscape (Bies et al., 2006). GAs have also been widely applied in OR scheduling or machine scheduling (Lin et al., 2013; Marques et al., 2014; Pezzella, Morganti, & Ciachetti, 2008). Therefore, we decided to develop a GA for our problem.

In general, a GA starts with a population of initial solutions to the problem, which are encoded as “chromosomes” or candidate solutions. Such a population of initial solutions is generated by randomly sampling feasible solutions from the available solution search space. An evaluation function is defined to determine the relative merits of each of the initial solutions. Such an evaluation function should be capable of differentiating between two solutions, i.e., rank one solution ahead of another. The GA then operates on the candidate solutions via genetic operators (i.e., crossover and/or mutation) and specifies the individuals to pass from one generation to the next. The aim of this procedure is to produce improved (fitter) offsprings at each generation. The main components in the design of GA include: candidate solution representation, selection strategy, genetic operators, fitness evaluation, and termination requirement.

One of the most important parts of GA is the selection strategy – how to generate individual solutions (offsprings) to serve as parents for the subsequent generation? Two genetic operators are commonly used as selection strategies, i.e., crossover and mutation. In crossover, two parents are randomly selected and then parts of them are recombined to form an offspring. Such a recombination operator can only generate new solutions for evaluation if there is sufficient diversity in the current solution (Michalewicz & Fogel, 2013), which is not the case for the surgical scheduling problem discussed here. In mutation, a single selected parent solution is modified by altering some portion of it randomly such that the altered version is both feasible for the problem domain and effectively different from the original parent solution. This altered solution becomes the offspring solution.

There is controversy in the GA literature over whether mutation or crossover operators are the most useful. Several studies use only one or the other. For example, genetic programming applications often use crossover almost exclusively (Koza, 1992, 1994; Koza et al., 1999, 2006), while evolutionary programming and evolution strategies often prefer mutation exclusively (Fogel, 1999; Fogel, Owens, & Walsh, 1966; Michalewicz & Fogel, 2013). A recent study comparing the benefits of crossover and mutation operators for combinatorial optimisation problems concluded that crossover operators offer no significant advantage (Osaba et al., 2014).

For our surgical scheduling problem, mutation operator is used. Defining a crossover operator that swaps a portion of one surgery schedule with a portion of a different surgery schedule could result in infeasible schedules. Repairing such a solution may be computationally expensive and could result in a solution that is similar to one created using a mutation operator. The overall structure of the GA applied to our surgery scheduling problem is shown in Figure 1. Details the GA process are described below.

Figure 1.

Figure 1.

Overall GA process

5.3.1. Initial population generation

An initial set of candidate solutions is generated by sampling randomly feasible solutions from the solution search space to form the initial population that will be evolved every generation. To form a candidate solution, a surgery is randomly selected from the given list of surgeries and assigned to a randomly selected OR and the process is continued until all surgeries are assigned to different operating rooms. We ensure that each OR has at least one surgery assigned to avoid an idle operating room. After considering the computation times, overall completion times of surgeries, and the incremental improvement of the results, the initial population size and number of generations were both set to 1,000.

5.3.2. Selection strategy

During each generation, a subset of the existing population is selected for breeding the next generation using genetic operators. The tournament selection mutation strategy is adopted to form candidate solutions for the next generation. The “tournament” is conducted by randomly selecting two candidate solutions from the parent population, comparing their fitness values, and selecting the stronger of the two candidates. Since weaker candidates can sometimes produce healthier offsprings, a selection probability of 0.9 was assigned for the stronger candidate. This leaves 0.1 for the selection of the weaker candidate.

Additionally, the elitism strategy is employed wherein the best candidate solution from each generation is directly copied into the next population, unaltered (Michalewicz, 2013). For this application, the top three candidate solutions from the earlier generation are selected to be copied directly to the next generation. Tournaments, as described above, are subsequently employed until the next generation is fully populated.

5.3.3. Mutation operator

Once a candidate solution is identified through the tournament selection process, the mutation operator is employed to generate new offsprings. A candidate solution is mutated as follows:

  1. Three surgeries are randomly selected within the candidate solution.

  2. For each surgery selected, it is randomly re-assigned to a different OR. If the selected surgery is the only assigned surgery to the corresponding OR, no change is made.

The process of mutation continues until all new mutated candidate solutions are formed to make up a new population for the next evolved generation. This process will create 997 mutated candidate solutions. Three best solutions were directly copied over from the last population as part of elitism strategy as discussed earlier. These together form the entire population of 1,000 candidate solutions for the next generation.

5.3.4. Fitness evaluation function

The fitness evaluation function mathematically expresses the value or “fitness” of a candidate solution. Genetic algorithms are primarily concerned with finding the best possible or “most fit” solutions for the final population. The fitness value for the candidate solution is calculated by finding the cth percentile of the makespan for each OR and selecting the maximum makespan among all ORs.

5.3.5. Termination condition

GA continues for a fixed number of generations or until no improvement in solution quality is seen. Once the termination condition is met, GA returns the best-found solution from the last generation. For the model presented in this paper, the algorithm runs for 1000 generations, but if no improvement in the candidate solutions is realised for ten consecutive generations, the algorithm terminates. Finally, the best-found candidate solution from the last generation will be returned as the best possible solution found by the GA.

5.3.6. GA example

This section describes an illustrative example demonstrating the overall GA process. Table 2 shows details about the sample problem. As can be seen from Table 2, four operations are given along with their respective means and standard deviations. Suppose these four operations need to be assigned to two operating rooms, which are exactly identical. Let us assume the cth percentile value of 80 percentile, which gives the z-value of 0.84.

Table 2.

Sample problem list

Operation ID Mean Time (Minutes) Standard Deviation (Minutes)
Opt1 40 15
Opt2 30 10
Opt3 12 4
Opt4 35 8

The following outlines the working of the GA approach.

  1. Generate an initial population: First, an initial set (population) of “n” candidate solutions is created. Suppose n = 10 (in reality this could vary from a small number to thousands of solutions). The solution set is generated by randomly assigning operations to two operating rooms. It is to be assured that each OR gets at least one operation. Table 3 depicts four possible candidate solutions that can be generated for the operations list shown in Table 2.

  2. Evaluation: Each candidate solution is then evaluated using a fitness function. In candidate solution 1, OR1 has the fitness of 15.36 (12 + 0.84*4), and OR2 has the fitness of 121.16 ((40 + 30 + 35) + 0.84*(152 + 102 + 82 )). Therefore, the overall fitness of the candidate solution 1 is the maximum of (15.36, 121.16), i.e., 121.16. The fitness for each candidate solution is shown in Table 3. In this case, a lower fitness value indicates a fitter solution.

  3. Selection: The next step is to select candidate solutions based on their fitness and use them to create a new generation. Tournament selection strategy is employed wherein two candidates are randomly selected, their fitness values are compared and the fitter one (parent) is used to breed an offspring. This offspring is passed to the next generation. Suppose candidate solutions 1 and 3 are randomly selected. Comparing the two solutions, candidate solution 3 is selected as the parent to bread the next generation, since it is fitter (has a lower fitness value). Since the population size is set to 10, 10 such parents will be selected. It is noted that some of the fit candidates will be selected multiple times.

  4. Mutation: Now that we have 10 parents, these parents will be mutated to generate 10 offsprings for the next generation. In mutation, a selected parent solution is altered only slightly to create an offspring. For this example, a parent solution will be mutated by reassigning a randomly selected operation to a different OR, which is also randomly selected. For example, Opt1 is randomly selected and needs to be assigned to a different OR. In this case, there are only two ORs. Hence, Opt1 will be reassigned to OR 1. The overall mutation process is illustrated in Figure 2. As can be seen from Figure 2, the mutation process has given us a new candidate solution (offspring) with the fitness value of 89.3, which is better than the parent solution with the fitness value of 97.5.

  5. Termination: Suppose the evolution process terminates when the number of generations reaches 20. Thus, Steps 2–4 will be repeated until the number of generations evolves to 20. The last generation will provide the best-found solution.

Table 3.

Sample candidate solutions

Candidate Solution 1
  Candidate Solution 2
  Candidate Solution 3
  Candidate Solution 4
OR Operation ID Fitness   OR Operation ID Fitness   OR Operation ID Fitness   OR Operation ID Fitness
1 Opt3 121.6   1 Opt1, Opt4 89.3   1 Opt4 97.5   1 Opt2, Opt3 89.3
2 Opt1, Opt2, Opt4   2 Opt2, Opt3   2 Opt1, Opt2, Opt3   2 Opt1, Opt4
Figure 2.

Figure 2.

Sample mutation process

6. Computationall experiments

We conducted three different sets of computational experiments to examine the performance of the three proposed solution methods (GAMS, GH, and GA). The first set of experiments includes problem instances that were randomly generated from the dataset of the U.S. teaching hospital. In the second set of experiments, we tested our proposed methods using problem instances from benchmark datasets provided by Leefthink and Hans (2018). Third, we evaluated the performance of the proposed methods by using actual daily surgical schedules from the university hospital.

6.1. Experiments with randomly generated instances

Initially, randomly generated instances with 30 and 40 surgeries, respectively, with 5 and 10 ORs were created in this set of experiments. However, we found that GAMS was not able to solve the problems with more than 5 ORs within reasonable time. Therefore, we tested those instances with 5 ORs only. Also, we inferred from studying the data that the coefficient of variation (COV) of the surgery duration might influence the performance of the solution methods. Therefore, we generated instances with 30 surgeries and 40 surgeries, with 5 ORs, and with high, mixed, and low COVs of the surgery duration. As a result, this set of experiments includes six different combinations. For each combination, we generated 10 problem instances. We solved each of the 60 instances using 70th, 80th, and 90th percentiles.

The data used for this set of experiments were generated from the dataset of a U.S teaching hospital, which consists of five years of surgical data with almost 2,200 surgeries. We sorted all available surgeries in the ascending order of COV and determined the median value. The surgeries below the median value were categorised as low COV surgeries, while those above that value were categorised as high COV surgeries. For the mixed COV surgery category, surgeries were randomly selected from the original set of surgeries (which includes both high and low COV surgeries) without sorting surgeries using COV.

All the instances were solved using the three techniques (GAMS, GH, and GA). For GAMS, the maximum computation time was set to 3,600 seconds for each instance. The remaining relative integrality gap after 3,600 seconds was below 0.5%. The maximum computation time required to solve an instance using the GA was less than four seconds, while the time for GH was almost negligible. All runs were performed on a 64-bit Windows 10 PC with an Intel i5 3.2 GHz quad core processor and 8 GB of RAM.

Table 4 shows the results for the different instances solved using the three methods. We report: (1) the frequency with which the best possible solution was obtained by each technique; (2) the average percentage deviation, i.e., percentage deviation of the solution to an instance from the best-found solution for the same instance found by any of the three techniques, averaged over the group of 10 instances; and (3) the range of the percentage deviations found in (2) above for each group of 10 instances for a given method.

Table 4.

Comparison of results for randomly generated instances

        Frequency of Obtaining the Best-Found Solution
Average Deviation from the Best-Found Solution (in %)
Range of Deviations from the Best-Found Solution (in %)
c No. ORs No. Surgeries COV GAMS GA GH GAMS GA GH GAMS GA GH
70 5 40 High 7 2 1 0.04 0.24 1.06 0.00, 0.25 0.00, 0.38 0.00, 2.49
Mixed 10 0 0 0.00 0.48 0.70 0.00, 0.00 0.10, 0.73 0.20, 1.12
Low 10 0 0 0.00 0.42 0.57 0.00, 0.00 0.28, 0.65 0.25, 1.01
30 High 10 0 0 0.00 0.30 1.33 0.00, 0.00 0.12, 0.53 0.12, 2.36
Mixed 10 0 0 0.00 0.52 0.71 0.00, 0.00 0.29, 1.04 0.33, 1.21
Low 9 0 1 0.02 0.37 0.52 0.00, 0.23 0.10, 0.62 0.00, 1.03
80 5 40 High 10 0 0 0.00 0.48 1.17 0.00, 0.00 0.12, 0.85 0.32, 2.25
Mixed 10 0 0 0.00 0.69 1.05 0.00, 0.00 0.28, 1.27 0.51, 1.79
Low 10 0 0 0.00 0.61 0.68 0.00, 0.00 0.32, 0.87 0.16, 1.58
30 High 9 0 1 0.01 0.44 1.26 0.00, 0.06 0.04, 0.98 0.00, 2.33
Mixed 10 0 0 0.00 0.65 1.00 0.00, 0.00 0.09, 1.01 0.66, 1.56
Low 10 0 0 0.00 0.53 0.79 0.00, 0.00 0.26, 0.76 0.09, 1.54
90 5 40 High 10 0 0 0.00 0.45 0.97 0.00, 0.00 0.00, 0.74 0.32, 1.62
Mixed 10 0 0 0.00 0.87 1.21 0.00, 0.00 0.54, 1.35 0.61, 1.90
Low 10 0 0 0.00 0.67 0.90 0.00, 0.00 0.38, 1.11 0.28, 1.44
30 High 10 0 0 0.00 0.32 1.28 0.00, 0.00 0.00, 0.66 0.13, 2.32
Mixed 10 0 0 0.00 0.71 1.52 0.00, 0.00 0.26, 1.24 0.76, 2.66
Low 10 0 0 0.00 0.66 1.01 0.00, 0.00 0.25, 1.08 0.18, 1.95

For example, in the first row of Table 4, the value of 0.24 corresponding to GA under column – Average Deviation from the Best-Found Solution (in %), for c = 70, number of ORs = 5, number of surgeries = 40, and COV = High, denotes that the average deviation of the 10 GA solutions compared to the best-found solutions for the same instances expressed as a percent is 0.24%. Similarly, for the same instance category, for GA under column – Range of Deviations from the Best-Found Solution (in %), the values of 0.00 and 0.38 are the smallest and largest percent deviations, respectively, for any of the 10 GA solutions compared to the corresponding best-found solution for the same instance.

6.2. Experiments with benchmark datasets

Leeftink and Hans (2018) have provided benchmark datasets for the surgery scheduling problem, including a real-life dataset from Dutch hospitals and a theoretical dataset. For the purpose of testing our proposed methods, we focused on the real-life dataset. For generating real-life instances, Leeftink and Hans (2018) considered eleven surgery specialities. Interested readers may refer to their paper for more details. In this set of experiments, we considered three particular speciality types, i.e., general surgery (CHI), mixed specialities (MIX), and orthopaedic surgery (ORT). These chosen speciality types provide variations in problem instances, which can help generalise the performance of our proposed methods. For each speciality type, we solved five problem instances, each with 5, 10, 20, or 40 ORs, using GAMS, GH, and GA. Details about the range of the number of surgeries among five selected problem instances for each speciality type are provided in Appendix I – Part A. Details with objective function values (in minutes) for each experimental combination are provided in Appendix I – Part B.

One of the objectives of conducting tests using real-life benchmark datasets was to examine the impact of problem size on the performance of the proposed methods. As such, we set the number of ORs to 5, 10, 20, and 40, to see if that has any impact on the performance of our proposed methods. The largest problem instance with 40 ORs included 265 surgeries. This should be considered a relatively large-sized instance.

Table 5 shows the results for this set of experiments using the three proposed methods. We report the same performance measures as in Table 4. Please note that in Table 5, the symbol “*” represents an experiment that could not complete due to extensive computation time using GAMS. Also, in some instances, GAMS and GA found identical solutions.

Table 5.

Comparison of results for benchmark datasets

    Frequency of Obtaining the Best-Found Solution
Average Deviation from the Best-Found Solution (in %)
Range of Deviations from the Best-Found Solution (in %)
Type No. ORs GAMS GA GH GAMS GA GH GAMS GA GH
CHI 5 3# 3# 0 0.00 0.00 0.11 0.00, 0.00 0.00, 0.01 0.02, 0.39
10 2 1 2 0.06 0.01 0.01 0.00, 0.14 0.00, 0.03 0.02, 0.02
20 * 4 1 * 0.01 0.10 * 0.00, 0.07 0.00, 0.20
40 * 5 0 * 0.00 0.26 * 0.00, 0.00 0.13, 0.43
MIX 5 5# 1# 0 0.00 0.00 0.02 0.00, 0.00 0.00, 0.01 0.00, 0.03
10 2 0 3 0.05 0.01 0.09 0.00, 0.14 0.00, 0.03 0.00, 0.34
20 * 0 5 * 0.03 0.00 * 0.02, 0.05 0.00, 0.00
40 * 1 4 * 0.04 0.01 * 0.00, 0.07 0.00, 0.06
ORT 5 4 1 0 0.00 0.00 0.02 0.00, 0.00 0.00, 0.01 0.02, 0.03
10 3 0 2 0.01 0.01 0.01 0.00, 0.04 0.00, 0.01 0.00, 0.03
20 * 2 3 * 0.02 0.08 * 0.00, 0.04 0.00, 0.03
40 * 3 2 * 0.02 0.09 * 0.00, 0.04 0.00, 0.42

#Note that for one instance, an identical solution was obtained by both GAMS and GA.

# Note that for one instance, an identical solution was obtained by both GAMS and GA.

6.3. Experiments with actual daily schedules

To test how our proposed methods are performing against the current actual scheduling procedure, we extracted 15 actual daily schedules between years 2013 and 2014 and compared the results. The number of surgeries each day ranged from 13 to 18 with three ORs.

Details about the actual objective function values (in minutes) for each of those 15 instances are provided in Appendix II. Table 6 provides the results for the performance measures using the three proposed methods compared to the actual schedules.

Table 6.

Comparison of results for actual daily schedules

Method Frequency of Obtaining the Best-Found Solution Average Deviation from the Best-Found Solution (in %) Range of Deviations from the Best-Found Solution (in %)
Actual 0 0.19 0.01, 0.44
GAMS 9a 0.00 0.00, 0.00
GA 7a 0.00 0.00, 0.07
GH 0 0.02 0.01, 0.04

a Note that for one instance, an identical solution was obtained by both GAMS and GA.

6.4. Analysis and insights for implementation

To select a tool for use in practice, we must consider accuracy, computation time, and simplicity.

6.4.1. Accuracy

Table 4–6 consistently shows that the GAMS BONMIN solver, overall, performed the best for all of the three measures reported for small-sized instances. In particular, the GAMS BONMIN solver yielded the smallest objective function value for most of the instances (175/180) in the first set of experiments described in Section 6.1 (Table 4). Based on the average deviation or the range of deviations, GAMS again performed the best, followed by GA and finally GH. However, comparing the results for 5 ORs and 10 ORs in the second set of experiments as described in Section 6.2, we can see that the performance of GAMS deteriorated with the increase in the problem size. This was consistent with our observation in the first set of experiments. In fact, we found that the GAMS BONMIN solver was not stable as the problem size increases. It will simply report no feasible solution found. Professional solvers could be a better option.

Although GA and GH typically did not perform as well as the GAMS BONMIN solver in terms of accuracy, they were able to find near-optimal solutions quickly. Between the two, GA performed better than GH. Specifically, in the first set of experiments as described in Section 6.1, the means of the average deviations for GA and GH were 0.52% and 0.99%, respectively. Also, the largest deviation from the smallest objective function value for GH was 2.66%, while it was 1.35% for GA. Similarly, in the second set of experiments as described in Section 6.2, based on the average deviation or the range of deviations, GA again outperformed GH in most of the categories. The means of the average deviations for GA and GH were 0.01% and 0.07%, respectively, and the largest deviation from the smallest objective function value for GH was 0.43%, while it was 0.07% for GA. These results hold in the third set of experiments described in Section 6.3 as well. Thus, GA overall performed better than GH in terms of accuracy and reliability.

However, it is important to note that while a 2.66% deviation for GH may mean a lot for many real problems, such as vehicle routing for emergency medical services, it is typically adequate in practice for the surgery scheduling problem under consideration.

Moreover, regarding the impact of COV tested in the first set of experiments as described in Section 6.1, the performance of GH is the best under low COV and worst under high COV. The same trend holds for the GAMS solutions, indicating that high COV problems may generally need more computation time than low COV problems. However, for the GA, the poorest performance usually observed in mixed COV problems. The performace of the GA could be improved by increasing the population size and the number of generations to evolve, which might give better results but at the cost of computation time. A more robust mutation strategy can also be devised to improve the perfomrmance of the GA procedure. The performance of both the GA and GH are not affected significantly by the parameter c.

6.4.2. Computation time

While our results demonstrate that using the GAMS BONMIN solver is the most accurate approach for this surgery scheduling problem, we must keep in mind that the cost of the accuracy is computation time. The quality of the GAMS solution is positively associated with the length of computation time, which was set to be at maximum 3,600 seconds as mentioned earlier. In contrast, the computation time using GA does not exceed 20 seconds for the largest size problem instances with number of ORs equals 40 as described in Section 6.2. The computational time using GH is almost negligible for all problem instances. In particular, the second set of experiments, as described in Section 6.2, examined the computation time of GA. For the instances with 5, 10, 20, and 40 ORs, respectively, the computation time of GA on average is 3, 5, 9, and 19 seconds. More importantly, as mentioned earlier, GAMS was not able to solve medium-sized and large-sized problems in a reasonable time, which is denoted by “*” in Table 5. Therefore, GAMS may not be a good choice for implementation to solve real-life problems in practice.

6.4.3. Simplicity

GH is clearly the simplest one to be implemented and used in practice, since it captures the essence without significant technical or computer processing requirements, besides providing good solutions. This greedy heuristic can be easily implemented in an Excel spreadsheet and maintained on a day to day basis. In contrast, an OR scheduler will not be able to run a mathematical program in GAMS without professional training. On the other hand, while GA can be easily used after properly implemented, it would not be possible for a scheduler who is not a technical expert to maintain or modify it further.

Overall, the simplicity combined with the low computation time and the adequate solution quality makes the proposed greedy heuristic a practical choice for implementation. Most hospital OR managers or schedulers do not have the knowledge or capabilities to use advanced mathematical tools or algorithms. Hence, a simple method will be a more useful as a first step. The GA procedure could be used when the number of surgeries to schedule is very large with high variances in operating time.

Besides, our third set of experiments, as described in Section 6.3, also demonstrate that the current OR scheduling procedure used in the hospital is not effective. As can be seen from Table 6, GAMS, GA and GH, all performed better than the actual schedule implemented by the hospital. As a result, by using our proposed methods, the surgical scheduling process can be greatly improved and the makespan can be substantially reduced.

7. Conclusions and future research

In this paper, we investigated the problem of scheduling n surgeries in m ORs, where the durations of the surgeries are stochastic with a known mean and standard deviation, in order to minimise the maximum of the cth percentile of the makespan of any OR. The c value can be specified in order to balance the desire to close all the ORs as soon as possible against the cost of keeping some ORs idle, which may be estimated from the solution obtained. If one picks c = 0.8, for example, it would mean that with a confidence level of 80%, all ORs will be closed at or before the objective function value for the problem.

We formulated this problem as a nonlinear integer program. We developed a greedy heuristic and a genetic algorithm procedure, as well as solved it using GAMS. We discussed the motivation for this problem which came from a real hospital surgery scheduling exercise. Our computational experiments show that performance of the greedy heuristic and the GA is good, while GAMS cannot solve large-sized problems in a reasonable time. The greedy heuristic is easily implementable in any hospital setting.

There are many avenues for future research. In the surgery scheduling problem, the problem of finding lower bounds and better heuristics would be productive. The problem can be further extended to consider different types of ORs, ORs with time windows, and other types of constraints. Finally, one can explore desirable solution approaches to re-solve the problem in the face of one or more cancellations that occur at least 24 hours before the start time of the first scheduled surgery, while minimising disruptions to the current schedule. For example, if a probability of cancellation a day prior to the date of surgery may be estimated for each surgery, then one can explore designing algorithms to take this into account in generating a schedule that minimises disruption due to cancellation. It may take the form of scheduling surgeries with the highest cancellation probability towards the rear of the schedule in any given OR. There are many other models possible to address this problem, which is left for future research.

Appendix I.

Part A: Range of number of surgeries among selected five problem instances

  CHI
MIX
ORTT
No. ORs Min Max Min Max Min Max
5 14 21 22 34 25 29
10 30 36 55 69 46 57
20 60 71 110 136 100 115
40 131 141 234 265 213 235

Part B: Objective function values (in minutes) for different types of specialities. Please note the symbol “*” in the tables below represents an experiment that could not complete due to extensive computation time using GAMS solver.

(i) Objective function values comparison among GAMS, GA and GH for speciality type CHI

No. ORs Solution 1 2 3 4 5
5 GAMS 602.43 630.75 615.96 592.71 603.24
GA 607.18 630.75 615.96 597.47 603.24
GH 616.02 675.68 640.17 609.60 839.55
10 GAMS 648.17 630.75 629.39 696.32 726.55
GA 640.63 639.05 630.64 632.04 636.23
GH 624.31 636.28 641.03 630.85 643.19
20 GAMS * * * * *
GA 669.44 667.76 670.16 673.75 671.67
GH 711.46 775.67 626.40 719.58 804.10
40 GAMS * * * * *
GA 700.65 700.65 711.4 699.89 700.65
GH 1001.69 838.88 995.03 787.71 801.49

(ii) Objective function values comparison among GAMS, GA and GH for speciality type MIX

Np. ORs Solution 1 2 3 4 5
5 GAMS 620.58 612.48 637.16 577.55 564.62
GA 620.71 612.48 640.84 581.39 569.3
GH 641.17 614.41 647.43 587.76 571.34
10 GAMS 608.44 595.13 627.01 724.14 653.75
GA 606.38 599.55 631.1 636.66 600.86
GH 600.60 797.64 702.59 634.23 585.94
20 GAMS * * * * *
GA 650.51 603.12 643.66 615.42 631.91
GH 619.54 591.17 621.75 597.47 614.18
40 GAMS * * * * *
GA 626.04 641.59 649.93 631.14 641.21
GH 618.46 679.09 611.12 601.99 597.45

(iii) Objective function values comparison among GAMS, GA and GH for speciality type ORT

No. ORs Solution 1 2 3 4 5
5 GAMS 536.78 527.60 549.79 542.75 534.15
GA 535.27 528.87 553.39 545.38 536.22
GH 546.13 536.15 565.20 557.75 547.00
10 GAMS 559.89 551.53 548.05 577.02 585.50
GA 561.48 556.24 549.8 571.28 571.16
GH 566.30 556.88 562.56 566.88 564.12
20 GAMS * * * * *
GA 579.44 584.13 580.55 570.61 575.68
GH 626.74 563.75 558.37 739.14 558.37
40 GAMS * * * * *
GA 587.36 590.35 602.87 597.05 584.29
GH 831.29 622.60 603.46 572.35 559.32

Appendix II. Actual Daily Schedules.

Objective function values (in minutes) comparison among 15 problem instances

Method Problem Instance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Actual 345.40 605.28 462.33 401.37 474.25 370.75 425.08 489.69 617.40 573.56 435.38 441.64 338.82 516.23 391.07
GAMS 313.00 419.37 356.63 339.40 430.25 358.01 402.99 342.79 445.42 416.11 398.78 358.28 335.27 482.03 318.91
GA 313.00 447.34 356.59 339.40 430.25 358.01 403.15 342.79 445.42 416.51 398.77 358.28 335.27 482.65 318.91
GH 322.76 424.28 368.57 349.16 435.42 365.61 411.87 351.29 449.55 422.11 406.03 365.46 347.92 495.34 324.41

Disclosure statement

No potential conflict of interest was reported by the authors.

References

  1. Baker, K. R., & Trietsch, D. (2013). Principles of sequencing and scheduling. John Wiley & Sons. [Google Scholar]
  2. Bies, R. R., Muldoon, M. F., Polack, B. G., Manuck, S., Smith, G., & Sale, M. E. (2006). A genetic algorithm-based, hybrid machine learning approach to model selection. Journal of Pharmacokinetics and Pharmacodynamics, 33(2), 195–221. [DOI] [PubMed] [Google Scholar]
  3. Cardoen, B., Demeulemeester, E., & Belien, J. (2010). Operating room planning and scheduling: A literature review. European Journal of Operational Research, 201(3), 921–932. [Google Scholar]
  4. Day, R., Garfinkel, R., & Thompson, S. (2012). Integrated block sharing: A win-win strategy for hospitals and surgeons. Manufacturing & Service Operations Management, 14(4), 567–583. [Google Scholar]
  5. Denton, B., Vispiano, J., & Vogi, A. (2007). Optimization of surgery sequencing and scheduling decisions under uncertainty. Healthcare Management Science, 10, 13–24. [DOI] [PubMed] [Google Scholar]
  6. Fei, H., Meskens, N., & Chu, C. (2010). A planning and scheduling problem for an operating theatre using an open scheduling strategy. Computers and Industrial Engineering, 58(2), 221–230. [Google Scholar]
  7. Fogel, L. J. (1999). Intelligence through simulated evolution: Forty years of evolutionary programming. New York, NY: John Wiley & Sons, Inc. [Google Scholar]
  8. Fogel, L. J., Owens, A. J., & Walsh, M. J. (1966). Artificial intelligence through simulated evolution. New York, NY: John Wiley & Sons, Inc. [Google Scholar]
  9. Guda, H., Dawande, M., Janakiraman, G., & Jung, K. S. (2016). Optimal policy for a stochastic scheduling problem with applications to surgical scheduling. Production and Operations Management, 25(7), 1194–1202. [Google Scholar]
  10. Gul, S., Denton, B. T., Fowler, J. W., & Huschka, T. (2011). Bi-criteria scheduling of surgical services for an outpatient procedure center. Production and Operations Management, 20(3), 406–417. [Google Scholar]
  11. Hans, E., Wullink, G., Houdenhoven, M., & Kazemier, G. (2008). Robust surgery loading. European Journal of Operations Research, 185, 1038–1050. [Google Scholar]
  12. Kallenberg, O. (1997). Foundations of modern probability. New York: Springer-Verlag. [Google Scholar]
  13. Koza, J. R. (1992). Genetic programming: On the programming of computers by means of natural selection (Vol. 1). Cambridge, MA: MIT press. [Google Scholar]
  14. Koza, J. R. (1994). Genetic programming II: Automatic discovery of reusable subprograms. Cambridge, MA: USA. [Google Scholar]
  15. Koza, J. R., Andre, D., & Keane, M. A., & Bennett III, F. H. (1999). Genetic programming III: Darwinian invention and problem solving (Vol. 3). San Francisco, CA: Morgan Kaufmann [Google Scholar]
  16. Koza, J. R., Keane, M. A., Streeter, M. J., Mydlowec, W., Yu, J., & Lanza, G. (2006). Genetic programming IV: Routine human-competitive machine intelligence (Vol. 5). New York, NY: Springer Science & Business Media. [Google Scholar]
  17. Landa, P., Aringhieri, R., Soriano, P., Tànfani, E., & Testi, A. (2016). A hybrid optimization algorithm for surgeries scheduling. Operations Research for Health Care, 8, 103–114. [Google Scholar]
  18. Leeftink, G., & Hans, E. W. (2018). Case mix classification and a benchmark set for surgery scheduling. Journal of Scheduling, 21(1), 17–33. [Google Scholar]
  19. Lin, R. C., Sir, M. Y., & Pasupathy, K. S. (2013). Multi-objective simulation optimization using data envelopment analysis and genetic algorithm: Specific application to determining optimal resource levels in surgical services. Omega, 41(5), 881–892. [Google Scholar]
  20. Macario, A. (2010). What does one minute of operating room time cost? Journal of Clinical Anesthesia, 22(4), 233–236. [DOI] [PubMed] [Google Scholar]
  21. Marques, I., Captivo, M. E., & Pato, M. V. (2014). Scheduling elective surgeries in a Portuguese hospital using a genetic heuristic. Operations Research for Health Care, 3, 59–72. [Google Scholar]
  22. Mellouli, R., Sadfi, C., Chu, C., & Kacem, I. (2009). Identical parallel machine scheduling under availability constraints to minimize the sum of completion times. European Journal of Operational Research, 197, 1150–1165. [Google Scholar]
  23. Michalewicz, Z. (2013). Genetic algorithms+ data structures = evolution programs. Springer Science & Business Media. [Google Scholar]
  24. Michalewicz, Z., & Fogel, D. B. (2013). How to solve it: Modern heuristics. Springer Science & Business Media. [Google Scholar]
  25. Olson, D. L., & Swenseth, S. R. (1987). A linear approximation for chance-constrained programming. Journal of the Operational Research Society, 38, 261–267. [Google Scholar]
  26. Osaba, E., Carballedo, R., Diaz, F., Onieva, E., de la Iglesia, I., & Perallos, A. (2014). Crossover versus mutation: A comparative analysis of the evolutionary strategy of genetic algorithms applied to combinatorial optimization problems. The Scientific World Journal, 2014, 1–22. [DOI] [PMC free article] [PubMed] [Google Scholar]
  27. Pezzella, F., Morganti, G., & Ciachetti, G. (2008). A genetic algorithm for the flexible job-shop scheduling problem. Computers and Operations Research, 35(10), 3202–3212. [Google Scholar]
  28. Ranjbar, M., Davari, M., & Leus, R. (2012). Two branch-and-bound algorithms for the robust parallel machine scheduling problem. Computers and Operations Research, 39, 1652–1660. [Google Scholar]
  29. Samudra, M., Van Riet, C., Demeulemeester, E., Cardoen, B., Vansteenkiste, N., & Rademakers, F. E. (2016). Scheduling operating rooms: Achievements, challenges and pitfalls. Journal of Scheduling, 19(5), 493–525. [Google Scholar]
  30. Vancroonenburg, W., Smet, P., & Berghe, G. V. (2015). A two-phase heuristic approach to multi-day surgical case scheduling considering generalized resource constraints. Operations Research for Health Care, 7, 27–39. [Google Scholar]
  31. Weiss, G. (1990). Approximation results in parallel machine stochastic scheduling. Annals of Operations Research, 26, 195–242. [Google Scholar]

Articles from Health Systems are provided here courtesy of Taylor & Francis

RESOURCES