Use case

The Mathematics of a Fair and Workable Roster

Two schedules can cover every shift and still create very different weeks for the people working them.

A hospital ward can have enough people on paper and still lack the right skills. A restaurant can cover every service while giving one employee nearly every unpopular closing shift. A roster that satisfies the staffing requirements is a starting point, but that alone doesn't tell us whether it is a good roster.

Workforce scheduling combines decisions about coverage, skills, availability and working time with preferences that deserve careful treatment. It also creates commitments. Once a schedule has been published, changing it affects people's lives beyond the workplace. The interesting optimization problem is therefore not simply to fill the cells of a timetable, but to balance requirements without pretending that every consideration is interchangeable.

Coverage has a structure

Suppose a small service desk needs two people on each evening shift, including one person with specialist authorization. Four employees are available overall, but only two are authorized. If both specialists are unavailable on Friday, four willing generalists cannot satisfy the Friday requirement. Adding headcount doesn't solve the qualification gap. The model must identify which assignments are allowed, not merely count who is free.

Fairness only becomes useful when we can say exactly what it measures.

At a minimum, assignment decisions must respect availability, working-time restrictions and required qualifications. In regulated environments, some rules may also have legal or safety consequences. An optimizer does not get to treat those requirements as optional because a numerical objective would otherwise improve.

What does fairness mean in a model?

Imagine two schedules that satisfy all those hard requirements and cost exactly the same. One distributes unpopular shifts across several qualified people; the other puts nearly all of them on one person. Many teams would prefer the first, but the model needs to know what fairness means. Equal number of shifts? Similar unsociable hours? An equitable distribution over three months rather than one week? Preferences, contracts and policy all change the answer.

Instead of presenting an unexplained answer, the system can help show why a request could not be honored and what would have to change to honor it.

One option is to measure the difference between employees' assigned burdens, using an agreed definition. Another is to impose limits on consecutive undesirable shifts or prioritize honored requests. A weighted objective can express tradeoffs, while an ordered objective can protect a higher-priority goal before improving a lower-priority one. These choices require policy and operational judgment rather than an unexplained set of numbers chosen by a solver.

Replanning is not the same as starting over

When an employee calls in sick, the optimizer may be able to find a new roster by exchanging assignments. But a mathematical reset of the entire week can impose needless disruption. A better revised model distinguishes people already on shift, commitments already communicated and assignments that remain flexible. It might seek the smallest permitted change that restores coverage, or offer several feasible alternatives with different consequences.

This is where optimization becomes useful to the person making the decision. Instead of presenting an unexplained answer, the system can help show why a request could not be honored and what would have to change to honor it. The software is a tool for navigating a constrained choice, not an arbiter of workplace fairness.

The Roster application is the relevant product direction for workforce planning. Build a Small Workforce Roster Model explores the decisions mathematically, while Hard and Soft Constraints explains which requirements may legitimately be traded off.