

Help with day job: Algorithmic staff scheduling solutions? - koolkao

At a gross level, the problem is simple: schedule an army of staff for one-person-per-day coverage, at any given day the staff is split into 3 pools, each staff has a vacation requirement, each staff has at most 2 shifts per week, etc.<p>I'd hate to do this manually as it has been done at my organization for centuries. I'd love to do something cool like genetic algorithms (eg http://www.sersc.org/journals/IJAST/vol14/1.pdf).<p>What has everyone here found useful? Open source / free alternatives are a big plus. This also sounds like an optimization problem, can I fire up C++, R, etc to plug into some optimization library for this?
======
pdebruic
I'm making a service that does this. Its not public but works OK. I made it
for a summer camp where the campers (~250) sign up for different stuff each
day (Archery, Swimming, Sailing, + 30 others) so the demand for appropriately
trained staff in each activity can fluctuate wildly on a day to day basis. The
staff (~70) have days off but the campers don't, so the available talent pool
also varies significantly. Let me know if you want to try it. I'm definitely
going to charge for it when its publicly available.

------
bartonfink
Isn't this essentially the stable-marriage problem matching staff to shifts
where shifts have no preference who staffs them?

------
aaronblohowiak
This is what prolog was made for. You might have good luck with googling
"constraint-based programming"

