# A Review of the Scheduling Problem within Canadian Healthcare Centres
## 4 Hospital Scheduling in Depth
### Physician/Emergency Room Scheduling
#### 4.2.2 Papers  
[PERSON] et al. [14] gives the first example of a mathematical programming model for scheduling physicians to the emergency room. They start by defining hard and soft (or, as they call them, compulsory and flexible) rules. Compulsory rules must be enforced for a solution to be feasible. Flexible rules can occasionally be unfulfilled, but they will incur a penalty. They then define demand rules, ergonomic rules, and distribution rules, as above, with the latter two being subcategories of flexible rules. There are a lot of constraints that go into scheduling a physician, and they are listed in the global constraint table. This model is quite large and expressive, with approximately 40 thousand variables and 75,000 constraints. As such, solving for optimality is infeasible in the time frame that schedules would need to be created. Additionally, much of the conflict comes from the ergonomic rules, which are complicated and hard to compute. To find a solution, the rules that are most often violated are removed. From this point, a solution is produced, and the removed constraints are measured against it. Constraints that were removed and are violated are added back into the model, and a branch and bound algorithm is employed to produce the next solution. This is repeated until a satisfactory solution is created. Using a case study of Sacre-Cceur Hospital of Montreal which [PERSON] et al. [14] believe to be representative of the general population of hospitals in Ontario, not only was a notably better solution produced due to the large number of rules that are considered but was also magnitudes of order faster to produce. When done by hand such a schedule would take several weeks. This is a big selling point when most rosters are still completed by hand in Canada using a spreadsheet. [PERSON], [PERSON], and [PERSON] [16] approach the problem by attempting to generalize physician scheduling so that it can be adapted in any hospital setting. They saw the work that was done but noticed that all attempts were either inflexible in the model of the algorithm. To improve upon this, they set out to make a constraint programming model that was generic and had programmable constraints. To begin, they define generic rules that can be used to adapt to different hospitals. The first generic constraint is the distribution constraint. It controls which physicians work which shifts relative to the days. The second generic constraint is the pattern constraint. This allows the author to define illegal states such as allotting an arbitrary amount of time between shifts. The model takes in all of these constraints and attempts to minimize the error. Again, with the generic aspects of this model, it becomes very difficult to solve to optimality. The solution they came up with is to solve the constraint program with a depth-first search on a branch and bound to get an initial solution, followed by a genetic algorithm to improve upon the answer. The constraint programming model is solved repeatedly to get a pool of candidate solutions, and this candidate pool is fed into the evolutionary process to iteratively improve them. Their model was successfully applied twice in two separate hospitals. The first was the Santa Cabrini Hospital emergency room in Montreal, and the second was Cote-des-Neiges Geriatric Hospital. The conclusion is that while this approach does not benefit the end roster in any meaningful way, it does allow model flexibility. This offers the ability for other hospitals to adapt and utilize these techniques without starting from the ground up. The two case studies were replicated by taking previously created models and adapting them to the situation. The first case study was redone using an adaptation of the model by [PERSON] et al. [14]. It took significant effort to adapt as the model was not flexible enough to allow the constraints.