# A Review of the Scheduling Problem within Canadian Healthcare Centres
## 4 Hospital Scheduling in Depth
### Outpatient Scheduling
The seconds stage is a model which re-books existing appointments in hopes of further optimizing the schedule. The first stage models the problem as integer programming models. They use a weighted sum method in order to solve the instance and a technique called analytic hierarchy process to determine the importance of each objective. The second model is constructed in a similar manner. They also include a third module which is called when unexpected events occur, such as cancellations or reschedules. This calls the second model in an attempt to reschedule around these events. This increases the robustness of the framework. [PERSON] et al. [51] worked alongside the Segal Cancer Centre in Montreal to conduct their research. Their framework was able to outperform the current methodology across all objectives and all instances. Some papers have taken an entirely different approach to all of the others. \"Agent-Based Outpatient Scheduling for Diagnostic Services\" by [PERSON] and [PERSON] [22] is one of those papers. [PERSON] and [PERSON] [22] have set out to schedule outpatients, which is a dynamic process. Instead of modelling what a valid schedule is solely using a mathematical or constraint programming model, they have modelled the process as an agent-based system. They start by modelling the patient, the facilitator, and the diagnostic service as agents. These agents all have their own goals and send each other messages to achieve these goals communally. The process starts with the negotiation protocol. This protocol is where the timeslot is allocated to the patients. It starts with the DS agent acquiring and forwarding all available timeslots to the patients. If a patient is interested, it bids on a timeslot. Patients then wait as the schedule is updated, and the cycle repeats if patients either want to update their scheduled slot or still need one in the first place. This ends up being an iterative scheduling method that starts with a blank, or partially filled, schedule and slowly accumulates appointments. The DS agent's local decision-making is where the programming model is contained. Its job is to determine timeslots that are available and ensure that they obey a set of constraints. This approach, if outpatients are willing participants, could allow for automated scheduling. The more important benefit is that this allows empty timeslots to be filled last minute. Many times, cancellations or rescheduling leaves vacant timeslots and downtime that goes unused, and this change provides willing participants with the opportunity to capitalize on that. [PERSON] and [PERSON] [46] in their paper \"Improving Performance in Outpatient Appointment Services with a Simulation Optimization Approach\" have the goal of trying to optimize their simulation. The simulation is designed to determine the optimal setup, given that the situation they are working on is not deterministic. They start their simulation by creating an initial, diverse set of candidate solutions. After they have been set, each candidate is run through the simulation a variable number of times decided by their neural network accelerator during the simulation phase of their model. It is used to learn how many replications to run. When simulating an event in a way such as this, you must ensure that the solution is stable and the neural network is there to help verify that it is. All new solutions are then passed onto an optimization algorithm. The optimization algorithm uses these solutions to evolve into the next series of solutions using scatter search and tabu search. Scatter search allows the mapping of an infeasible solution into a proper solution. This allows the information in the infeasible solution to be maintained. The scatter search is used to home in on the optimal solution, and the tabu search is there to ensure a variety of solutions are being considered. The simulation optimizer stops once a certain convergence has been achieved.