As industrial engineers, we strive to make processes simpler and more efficient. One of the jobs of the chief resident at a hospital is to create a monthly schedule that assigns when medical residents are to work each day. Building these schedules can take chief residents anywhere from hours to days. The residency shift scheduling game demonstrates the use of operations modeling and linear programming to efficiently create a schedule for medical residents. On a high level, this game demonstrates both how complicated scheduling problems can be and how effective industrial engineering tools can be for solving them. Upon clicking on the link below, an Excel file containing the instructions as well as the game itself will be downloaded onto your computer.
Residency Shift Scheduling Game – Click here to download.
The residency shift scheduling game requires the user to download and add an Excel VBA add-in that extends Excel’s built-in Solver with more powerful solvers called OpenSolver. Below are instructions on how to download OpenSolver on your PC.
For more detailed instructions on the residency shift scheduling game, please refer to the following video. The video walks through downloading the game, introducing the game, following the requirements of the game, building a schedule in the game, and examining a built schedule.
The formulation of the scheduling problem detailed in the residency shift scheduling game can be found here. This formulation details the sets, parameters, decision variables, objective function, variable restrictions, and constraints needed to solve the problem presented in the game.
For further information and education instruction on linear programming in general, and specifically related to the residency shift scheduling game, please view the PowerPoint slides here. These slides give background on residency shift scheduling, further detail the shift scheduling game, briefly introduce mathematical programming, walk through the formulation of the shift scheduling problem, and detail how to use OpenSolver for solving.