Workforce Scheduling

Introduction

This Workforce Scheduling demo addresses an important problem in the services industry: How to create shift schedules that maximize resource utilization.

Workforce Scheduling entails assigning shifts to personnel from a service company, like a restaurant, in order to cover the demand for resources, which fluctuates over time. In this demo, we want to minimize the number of extra workers (temps) that we may need to satisfy resource requirements and also balance the workload of employed workers.

Workforce Scheduling Problem

Consider a service business, like a restaurant, that creates its workforce plans for the next two weeks (or 14 days). The workers are only required to have one set of skills. There are a number of workers with the same set of skills and with identical productivity who are available to work on some of the days during the two-week planning horizon. There is only one shift per workday. Each shift may have different resource (worker) requirements on each workday.

The service business may hire extra (temp) workers from an agency to satisfy shift requirements. The service business wants to minimize the number of extra workers they need to hire and – to achieve the secondary objective of “fairness” – it wants to balance the workload of employed workers.

Solution Approach

This workforce scheduling problem is modeled as a MIP (mixed-integer programming) problem with multiple objective functions. We use a hierarchical approach to tackle this multi-objective optimization problem.

Consider a scenario where the restaurant has eight employed workers. The planning horizon is two-weeks. We illustrate an optimal solution to this problem considering the resource requirements on each day of the planning horizon and the availability of the eight employed workers. Notice that to satisfy demand, some extra workers are required on some days of the planning horizon.