PyJobShop: Solving scheduling problems with constraint programming in Python

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Lan, Leon, Berkhout, Joost
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866916620247498752
author Lan, Leon
Berkhout, Joost
author_facet Lan, Leon
Berkhout, Joost
contents This paper presents PyJobShop, an open-source Python library for solving scheduling problems with constraint programming. PyJobShop provides an easy-to-use modeling interface that supports a wide variety of scheduling problems, including well-known variants such as the flexible job shop problem and the resource-constrained project scheduling problem. PyJobShop integrates two state-of-the-art constraint programming solvers: Google's OR-Tools CP-SAT and IBM ILOG's CP Optimizer. We leverage PyJobShop to conduct large-scale numerical experiments on more than 9,000 benchmark instances from the machine scheduling and project scheduling literature, comparing the performance of OR-Tools and CP Optimizer. While CP Optimizer performs better on permutation scheduling and large-scale problems, OR-Tools is highly competitive on job shop scheduling and project scheduling problems--while also being fully open-source. By providing an accessible and tested implementation of constraint programming for scheduling, we hope that PyJobShop will enable researchers and practitioners to use constraint programming for real-world scheduling problems.
format Preprint
id arxiv_https___arxiv_org_abs_2502_13483
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle PyJobShop: Solving scheduling problems with constraint programming in Python
Lan, Leon
Berkhout, Joost
Optimization and Control
This paper presents PyJobShop, an open-source Python library for solving scheduling problems with constraint programming. PyJobShop provides an easy-to-use modeling interface that supports a wide variety of scheduling problems, including well-known variants such as the flexible job shop problem and the resource-constrained project scheduling problem. PyJobShop integrates two state-of-the-art constraint programming solvers: Google's OR-Tools CP-SAT and IBM ILOG's CP Optimizer. We leverage PyJobShop to conduct large-scale numerical experiments on more than 9,000 benchmark instances from the machine scheduling and project scheduling literature, comparing the performance of OR-Tools and CP Optimizer. While CP Optimizer performs better on permutation scheduling and large-scale problems, OR-Tools is highly competitive on job shop scheduling and project scheduling problems--while also being fully open-source. By providing an accessible and tested implementation of constraint programming for scheduling, we hope that PyJobShop will enable researchers and practitioners to use constraint programming for real-world scheduling problems.
title PyJobShop: Solving scheduling problems with constraint programming in Python
topic Optimization and Control
url https://arxiv.org/abs/2502.13483