# Workforce Scheduling problem - Modelling to minimize resources

I am working on a scheduling program for a service desk. I want to decide the number of people required to come in at each shift. The data I have is:

1. There are 4 overlapping shifts
2. Arrival pattern at the hour level
3. Each defect has a 24 hr to solved. If a defect comes in 2:00 am then I have 24 hrs from 2:00 am to solve this defect. So someone else coming in the next shift can take it over. The defects needn't be solved by the same person or within the shift he/she is working in.

I have built a simplex model where I am able to solve saying every hour how many resources are required to solve the defects within that hour. Currently my approach does not consider the following:

• Overlapping shifts are not taken into account
• 24 hour window to solve the defect is not taken into account

Can you please suggest an approach to solve this? Papers or links that solve a similar problem would also be welcome.

I assume that each defect requires a specified amount of labor (expressed in worker-hours) to solve, and that each worker contributes one hour of labor for each hour of their shift (no breaks). You might look at modeling demand and labor in a cumulative manner. For each hour of the time horizon, total the worker-hours required to fix all defects that must be completed on or before that hour. (This is a cumulative total, including defects that were reported more than 24 hours earlier than the target hour.) Similarly, for each hour of the time horizon calculate the total number of worker-hours applied from the start of the horizon up to that hour (where each worker contributes one hour for each hour that his/her shift overlaps the cumulative time interval). In order not to have any defects "age out", the cumulative total of worker-hours must equal or exceed the cumulative demand at each hour of the horizon.

• Nice. Just be careful about the cutoff at 0. Adding more people than necessary will not accumulate credit for future defect. Aug 23, 2019 at 18:46
• @LaurentPerron Good point. You cannot work on jobs not yet in the system. So the cumulative sum of labor at each hour should be bounded above by the cumulative demand as well as by the cumulative staffing.
– prubin
Aug 23, 2019 at 22:06