I have been assigned a project that requests scheduling (construction of a timetable) about 30 resources on 2 shifts/day for a 6 months period with pretty complicated hard constraints like
- No consecutive days shifts
- for each resource: sum of total night(and day) shifts, fine distributed....SumShifts(Mondays)=SumShifts(Tuesdays)....
- for all resources: SumTotalDayShifts(and night shifts) distributed
- Various other constraints like resource_a cannot be assigned a shift on day_x with resource_y.
Initially, I decided to construct the mathematical model, coded it and solve it with GA. And then I discovered Drools which looks promising...but has a learning period.
Which way to choose? any ideas?