Skip to main content
Go to the home page of the European Commission (opens in new window)
English English
CORDIS - EU research results
CORDIS

Prediction + Optimisation for scheduling and rostering with CMPpy

Periodic Reporting for period 1 - PO-CPMpy (Prediction + Optimisation for scheduling and rostering with CMPpy)

Reporting period: 2024-03-01 to 2025-08-31

In today’s world, organizations across various industries face the challenge of efficiently scheduling their production processes and rostering their workforce optimally. However, despite consistent improvements in combinatorial optimization software for scheduling and rostering, the complexity of this task continues to grow due to uncertainty about multiple factors such as employee availability, demand fluctuations, supplier variability, variable prices, the impact of weather and the increasing need for energy efficiency. Machine learning can be used to make estimates about these uncertain factors, but the real challenge is in integrating predictions and the optimization of scheduling and rostering problems. Or more precisely *that predictions and optimization over these predictions need to be developed and evaluated together*.

While many combinatorial optimisation solvers for solving scheduling and rostering exists, including Constraint Programming and Mixed Integer Programming solvers; few of these solvers can be easily integrated with machine learning libraries. Futhermore, in a machine learning pipeline, the requirements for the solver change. What is needed is a framework for solving prediction + optimization problems that bridges the machine learning and combinatorial optimization solving tools. It should allow actors to discover what a data-driven approach can signifigy to their scheduling and rostering problem, by allowing them to easily experiment and prototype, both on the learning side, the solving side and the combination of the two.

In my ERC Consolidator project 'Conversational Human-Aware Technology for Optimisation', we started building such a library: CPMpy. We notice an increasing industrial interest in solving Prediction + Optimisation problems, but a lack of unified tools to do so. This project set out to increase the Technological Readiness Level of CPMpy from TRL 4 to 6; and to demonstrate its potential and align it with industry needs.
Over the course of the project, PO-CPMpy made significant technical and scientific advancements:

Benchmarking and Evaluation Frameworks: The team developed systematic benchmarking tools using standard datasets such as XCSP3, PSPLib, and JSPlib. These tools enabled rigorous performance comparisons across solvers and prediction+optimization pipelines. CPMpy’s runtime efficiency was validated through participation in the XCSP3 competition, earning multiple gold and silver medals in both 2024 and 2025.

Solver Integration and Scalability Improvements: Five new solvers were integrated into CPMpy, including commercial and open-source options like Choco, CP Optimizer, and CPLEX. A fuzz-testing framework was implemented to ensure correctness and robustness. Scalability was enhanced through model optimization techniques such as common subexpression elimination and smarter constraint transformations, resulting in measurable speedups.

Industry Engagement and Use Case Demonstrations: The project actively engaged with industrial partners through workshops, company visits, and collaborative thesis projects. Demonstrations included real-world use cases such as predicting surgery durations for operating room scheduling and contextual knapsack problems using decision-focused learning. These demos showcased how CPMpy can be used to make robust, data-informed decisions in complex environments.

Open Source and Public Dissemination: A dedicated website was launched to promote CPMpy’s capabilities and valorisation potential. The project emphasized open-source dissemination, making tools and demos publicly available to encourage adoption and further development.
The key results of the projects are the systematic benchmarking and testing of CPMpy for prediction+optimisation settings, efficiency improvements, the addition of 5 additional solvers including 2 commonly used commercial solvers, and demonstrators that are showcased on a website showing how CPMpy can benefit the industry.

This eases the use of prediction+optimisation techniques for scheduling and rostering, allowing us to demonstrate the technology to industry partners and develop new projects together; several such discussions are already underway.
My booklet 0 0