Workforce Scheduler

Automatic employee scheduling using mathematical optimization.

What does the scheduler do?

The Workforce Scheduler automatically creates a weekly work schedule based on staffing requirements, employee availability and operational constraints.

The objective is to produce a feasible and balanced schedule while respecting the rules defined by the organization.

Scheduling workflow

1. Business
Define days, shifts and staffing requirements.
2. Employees
Define the employees available for scheduling.
3. Availability
Specify when each employee can work.
4. Optimize
Generate the best schedule satisfying the rules.

Scheduling rules

The optimizer applies both mandatory constraints and optimization preferences.

Hard constraints
  • Required staffing for every shift.
  • Employee availability.
  • Maximum one shift per employee per day.
  • Maximum number of weekly shifts.
  • Restrictions following night shifts.
  • Maximum consecutive night shifts.
Optimization objectives
  • Balance workload between employees.
  • Distribute night shifts fairly.
  • Respect requested days off whenever possible.
  • Minimize scheduling penalties.

Mathematical optimization

The scheduler uses Linear Programming / Mixed Integer Programming to determine which employee should work each shift.

Each possible employee, day and shift assignment is represented by a binary decision variable:

assignment(employee, day, shift) ∈ {0, 1}

The solver evaluates thousands of possible combinations and selects a schedule that satisfies the mandatory constraints while minimizing the defined penalties.

Schedule results

After optimization, the application displays:

  • The weekly schedule.
  • Total shifts assigned to each employee.
  • Night shifts assigned to each employee.
  • Requested days off and whether they were respected.
  • Optimization statistics.