Write My Paper Button

WhatsApp Widget

The task is to implement a rostering and scheduling system for a hospital. You have to solve two sub-tasks: Produce rosters for the hospital staff Produce schedules for planned elective surgeries. Both the staff rosters and the surgery schedules are subject to constraints. The rostering problem ca

Share this post on:

Assignment Task

Overview

For this assignment, you will write a MiniZinc model for a given problem specification, and you will write a report that describes possible extensions of the model for real-world scenarios. You will:

submit your model to the MiniZinc auto grading system (using the submit button in the MiniZinc IDE)
submit your model and the report using the Moodle assignment.

Details

The following information outlines the key aspects of the assessment and provides guidance on how to best approach it.

Problem statement

The task is to implement a rostering and scheduling system for a hospital. You have to solve two sub-tasks:

Produce rosters for the hospital staff
Produce schedules for planned elective surgeries.

Both the staff rosters and the surgery schedules are subject to constraints. The rostering problem can be modelled and solved individually. As you will see below, the scheduling problem is linked to the rostering problem, since each scheduled elective surgery requires certain staff to be present.

We are given a set of staff members, each of which has a role (e.g. nurse, knee surgeon, surgical nurse, etc). The goal is to produce a roster over a given time horizon (e.g. two weeks or a month). The staff roster is subject to the following rules:

Each staff member can be allocated at most one shift per day. For example, a staff member can only work either an early shift, a late shift, or a night shift.

There are certain types of shifts that cannot follow another type of shift. For example, a night shift cannot be directly followed by an early shift the next day.

The staff roster is subject to each staff member’s individual contract:

Each contract stipulates a minimum and maximum time for the shifts that are assigned within the horizon to the staff member
There is a maximum number of shifts of each type that can be assigned within
The horizon the number of weekends that a staff member can be asked to work within the horizon is limited.

Each staff member can request certain days when they would prefer to work or not work. Each such preference is specified with a weighting that indicates how important the preference is for the staff member. The roster should take these weighted preferences into account. Generally, the hospital must guarantee that a certain number of nurses is rostered on for any given shift and day. If too few or too many nurses are allocated to a certain shift this comes at a cost for the hospital. Procedures might have to be delayed or patients might have to be diverted to a different hospital when not enough staff are available. Redundant staffing in a particular shift increases costs in the form of additional wages.

Objective

The goal is to produce a roster that:

Minimises the number of times a staff member is rostered differently to their preference (taking into account the weights on these preferences)
Minimises the cost of having too many or too few nurses rostered on. For simplicity, we will use the sum of these two as the objective of the problem.

1. Complete the rostering model

The model file rostering.mzn contains the data declarations and decision variables. The principal decisions to make are represented in the assignment array, which maps each employee and day to the shift the employee is assigned to for that day, or FREE if they are not working. Add the required constraints and objective to implement the specification as stated above.

The op_day and op_minute decisions are only required for the second task below. You can leave them defined as [0 | o in OPERATIONS] for now.

2. Extend the rostering model to include surgery scheduling

Now, implement the scheduling of surgeries. The decisions are already defined in the rostering.mzn model:

op_day[o] is the day (counting from 0, within the rostering horizon) on which the operation o has been scheduled. op_minute[o] is the starting time of the operation on its scheduled day, counting in minutes from the beginning of the surgery shift.

Remove the “= [0 | o in OPERATIONS]” from the declarations of the op_day and op_minute variables. You need to implement the constraints that ensure that each surgery is scheduled, that enough staff are available when it is scheduled, that no two surgeries are scheduled in the same operating theatre, and that no two surgeries require the same employee at the same time. Also, make sure that surgeries have to start and finish within the same shift.

3. Report

Your report consists of two parts. It does not have to follow any formal structure or formatting guidelines. However, if you use any external resources, we expect you to cite them appropriately.

Solving performance

Write a short reflection (one page max) on the performance of your model on the sample dataset. Would it be possible to decompose the problem to make the solving faster? In particular, what do you think would happen if you tried to solve the rostering and scheduling parts in isolation, or sequentially?

Possible extensions of the model

Write a report (2–3 pages) about possible shortcomings of the model:

Are any of our assumptions unrealistic, or would they need more detailed modelling in a real-world application? Think about the different parts of the specification, such as the staff preferences, time constraints, requirements for surgeries etc. Describe how the model could be made more realistic by incorporating these aspects. What kinds of decisions and constraints would be required? (You don’t need to write the model, but describe the high-level decisions and constraints.)
The Emergency Department of the hospital was not part of our modelling. Describe how its requirements are likely interacting with the rostering and scheduling parts, in particular with respect to staffing and operating theatre resources. Why is it probably difficult to fully incorporate those requirements into the rostering model?
The model generates plans for a given time horizon, e.g. an entire month in advance. This ignores operational matters, in particular, staff calling in sick. Discuss whether, and how, those matters could/should be taken into account in the model

4. Video demonstration (hurdle)

You will be required to create a video (maximum of minutes) in which you explain your model. Talk through the different constraints and any additional viewpoints and channelling you may have used. You can also briefly explain which parts you found difficult, or why you were unable to implement certain aspects of the specification if that’s the case.

You can simply do a screen recording of your editor, where you highlight certain lines while you talk to them. This video is not marked, but it is a hurdle requirement and you may not receive any marks for the rest of the assignment if you fail to upload a video.

Share this post on:

Affordable and Dependable Platform for Your Academic Assignments

X