Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I work at a place where approximately every 2 months our supervisor sends out a

ID: 659991 • Letter: I

Question

I work at a place where approximately every 2 months our supervisor sends out a list to the employees with all shifts of the coming 2 months that need to be filled. We then e-mail back a list of shifts which we can do, based on availability/desire to work.

Then our supervisor uses all these lists and compiles a schedule by hand.

I have the feeling that there must be some kind of tool that automates this process. It should work in the following way:

Supervisor enters all the shifts of the coming period in the application
Employees enter their availability themselves or send it by mail such that the supervisor fills it in
Software crunches out a schedule such that all employees get approximately the same amount of hours.

I've found some on-line tools, but they were geared towards the planning of meetings, not generating a schedule.

The application should be able to handle at least 60 shifts, 8 employees. A free application is preferable.

Explanation / Answer

Check out Optaplanner.

free
open source, written in Java, under active development, part of the Drools project.
supports many shifts (more than 60), many employees (more than 60 in one example)
supports contractual obligations (no more than x hours / week), vacations (unavailable days)

You can download the software and run any of the examples. One shows, dynamically on the screen, the scheduling of nurses to shifts.

You do need to modify the software a bit to accommodate preference days, and to compute the soft optimization metric (maximize per employee preference match).