I am trying to create a mathematical model for employee scheduling.
I have already got an idea on how I should model it but I do not know whether it is the best way to do it so.
Take for example a day.
A working day consists of 10 hours, from 10:00 till 20:00.
Suppose there is an employee working for 4 hours.
Now such a schedule can start from 10:00 and is dependent on the working hours of that employee.
The way that the available schedules could be written in the A Matrix ($A*x \leq b$) would be one column per schedule filled with 1's and 0's.
e.g.
For the 4 hours schedule, I would have 7 different available shifts.
- 10:00 to 14:00
- 11:00 to 15:00
- ...
- 16:00 to 20:00
For that, I would need 7 columns. The first would be filled with
- 1,1,1,1,0,0,...,0
the second with
- 0,1,1,1,1,0...,0
and so goes on.
This way in the A matrix I will have many columns with 0 as matrix Elements. Is there a more efficient way to model such a schedule?
My goal is to solve it as a MIP problem.