コンテンツにスキップ

Application to Scheduling Problems (Part 1)

2025-12-05-15-03-44

1.1 What is the Workforce Scheduling Problem (WSP)?

Section titled “1.1 What is the Workforce Scheduling Problem (WSP)?”

A workforce scheduling problem (WSP) aims to improve productivity, level out workloads, and optimizing labor costs by assigning the right worker with the right skills to the right task at the right time, using information of workers, tasks and a schedule. In practical applications, WSP is widely used to efficiently allocate limited personnel in areas such as at factory lines, call centers, hospitals or nursing homes, and rotation management in logistics warehouses.

Difficulties

Common challenges of WSP include:

  • As the number of workers and tasks increases, the assignment process itself becomes complex.
  • Finding an optimal assignment for large-scale problems requires significant computational time.
  • Real-world requirements have a lot of constraints and therefore make it difficult to find an exact solution.

Typical Objectives

Optimization goals for scheduling often include:

  • Minimizing the total number of employees required.
  • Balancing workloads across the team.
  • Minimizing the makespan (the total time to complete all tasks).

2025-12-05-15-21-29

In this article, we aim to determine an assignment that minimizes the overall schedule (the makespan) while considering task sequences and individual workloads, as illustrated in Table 1. Table 1 is called a Gantt chart, which illustrates a project schedule, and is often used to manage software design in the software industry and work flow and personnel in the manufacturing industry.

Table 1: Personnel assignment visualization (Gantt chart)

Project NameTaskPerson-monthsAug. Week 1Aug. Week 2Aug. Week 3Aug. Week 4
Project ATask 10.1Worker A
Project ATask 20.2Worker A
Project ATask 30.25Worker A
Project ATask 40.5Worker AWorker A
Project BTask 10.25Worker B
Project BTask 20.1Worker B
Project BTask 30.15Worker B

In project management, work volume is often measured in person-hours or person-months. A person-month represents the amount of work one person can complete in one month.

2026-02-16-13-51-30

In other words, Person-months=Number of workers×Duration (Months).\text{Person-months}=\text{Number of workers} \times \text{Duration (Months)}.


This time, we will formulate this WSP using the Quadratic Unconstrained Binary Optimization (QUBO) format by considering the following conditions:

  1. Minimize the makespan.
  1. Consider how efficiently different workers complete specific tasks.
  1. Ensure workers are only assigned to tasks that they are qualified for.
  1. Respect requested time slots for specific tasks.
  1. Maintain the required order of tasks within a project.

To generate a valid Gantt chart, we also add the following constraints:

  1. Task continuity
  1. Workload limits in order to prevent over-assigning a single worker

While many WSP models with QUBO formulation exist, this formulation specifically addresses:

  • Different workers have different skills - task effort changes based on the assigned worker’s proficiency.
  • Each task has a time window when a task must or should be started.
  • Rigid dependencies between some tasks are already determined.

Here we will show how to formulate the conditions introduced in the previous section.

We represent the WSP as an energy function EE. The goal is to find the configuration of variables that minimizes this value:

E=αEα+λ1E1+λ2E2+λ3E3+λ4E4+λ5E5,E = \alpha E_\alpha + \lambda_1 E_1 + \lambda_2 E_2 + \lambda_3 E_3 + \lambda_4 E_4 + \lambda_5 E_5,

where α\alpha and λ(i=1,2,3,4,5)\lambda (i=1,\,2,\,3,\,4,\,5) are the weights (hyperparameters) of each term. EαE_\alpha represents the objective term, and Ei(i=1,2,3,4,5)E_i(i=1,\,2,\,3,\,4,\,5) are the following constraint terms.

The first term EαE_\alpha represents the total makespan. This problem aims to minimize this term.

Eα=pfttxp,f,t.E_\alpha = \sum_{p} \sum_{f} \sum_{t} t\, x_{p,f,t}.

The second term E1E_1 ensures that the schedule meets person-months requirements while considering different skills of different workers:

E1=f(ptdp,fxp,f,t20dtAf)2.{E_1 = \sum_{f} \qty( \sum_{p} \sum_{t} d_{p,f}\, x_{p,f,t} - \frac{20}{d_{t}} A_{f} )^{2}}.

The third term E2E_2 is designed to guarantee task continuity:

E2=pft(xp,f,txp,f,(t+1))2.{E_2 = \sum_{p} \sum_{f} \sum_{t} \qty( x_{p,f,t} - x_{p,f,(t+1)} )^{2}}.

The fourth term E3E_3 is a constraint that prohibits assigning multiple tasks at the same time to one resource:

E3=pt(fxp,f,t12)2.{E_3 = \sum_{p} \sum_{t} \qty( \sum_{f} x_{p,f,t} - \frac{1}{2} )^{2}}.

The fifth term E4E_4 ensures that tasks are not assigned during restricted periods:

E4=ftp(1Df,t)xp,f,t.E_4 = \sum_{f} \sum_{t} \sum_{p} (1 - D_{f,t})\, x_{p,f,t}.

The sixth term E5E_5 handles precedence constraints, ensuring tasks are executed in the specific order defined within each project:

E5=(ij)t(pxp,j,t)(pttxp,i,t).{E_5 = \sum_{(i \prec j)} \sum_{t} \qty( \sum_{p} x_{p,j,t} ) \qty( \sum_{p'} \sum_{t' \ge t} x_{p',i, t'} )}.

Detailed explanations of each term can be found in Application to Scheduling Problems (Part 2).

The first step in formulation is defining the decision variables. For this problem, we define xp,f,tx_{p,f,t} as follows:

xp,f,t={1 ⁣:Worker p handles task f at time unit t.0 ⁣:Otherwise.x_{p,f,t} = \begin{cases} 1 \colon & \text{Worker $p$ handles task $f$ at time unit $t$}. \\ 0 \colon & \text{Otherwise}. \end{cases}

Defining the constants used in the formulation is a crucial part of the process. For this example, we set the following constants in Table 2.

Table 2: Constants definition

ConstantDescriptionPossible values
dtd_tThe minimum allocation unit (fixed at 0.1 for this experiment)Positive real number
dp,fd_{p,f}Workload multiplier when worker pp handles task ffNon-neg real number
AfA_fEstimated person-months for task ffPositive real number
Df,tD_{f,t}Whether task ff is scheduled to occur in week tt0 (False) or 1 (True)

In this scenario, we assume a workday of 7.5 hours. Here, the minimum allocation unit indicates the time unit for task allocation. dt=0.1d_t = 0.1 means that tasks are allocated in units of 1/10 of a day (0.75 hour or 45 minute).

We define the hyperparameters (weights) that adjust the strength of each term:

  • αR\alpha \in \mathbb{R} (real number): Weight for the objective term.
  • λ1,λ2,λ3,λ4,λ5R\lambda_1,\lambda_2,\lambda_3,\lambda_4,\lambda_5\in \mathbb{R} (real number): Weight for the individual QUBO constraints.

Using the Gantt charts common in software development and manufacturing as an example, this page introduced how to treat personnel scheduling as an optimization problem, from conceptual phase to mathematical formulation. Mathematically formulating an optimization problem requires distinguishing between fixed constants and decision variables. Correctly identifying these roles is the first step toward an accurate solution. There are many ways to formulate optimization problems. We encourage you to explore references and other articles to find the setting that best fits your specific real-world problem.

For more details on this formulation, specific constant values, and the obtained scheduling results, please refer to the sequel: Application to Scheduling Problems (Part 2).

This research is currently being prepared for publication. Details are subject to change.



Second-year master’s student in the Ohzeki group at Graduate School of Information Sciences, Tohoku University

Kaito Yashiro

(Translated by Ami Koshikawa)