optaplannerrostering

Nurse rostering implementation with very "hard" hard constraints


I'm a Informatics Nurse trying to develop a machine-assisted process for nursing rostering. Half the staff works elsewhere so our main constraint is their schedule in the other institution where they work. We get this information the 20th. of every month so we have 10 days to plan ahead. The hard constraints would be their assigned shifts in their other job, that follows no pattern, so we would need to "manually" cross out those days from the calendar, and then calculate the solution (given other constraints such as no early shift after a night shift, no night shift before a day off, etc.). Do you think an implementation like this could be feasible with Optaplanner?


Solution

  • It's just a matter of taking OptaPlanner's nurse rostering example (video) and adjust the constraints (and potentially the domain model) to your needs. However, to do this, it requires some Java programming skill.

    Docs that explain which constraint types are already available in the example out of the box.

    Source code for nurse rostering, where you can add additional constraint types: