PyJobShop: Solving scheduling problems with constraint programming in Python
Leon Lan, Joost Berkhout

TL;DR
PyJobShop is an open-source Python library that simplifies modeling and solving various scheduling problems using constraint programming, integrating leading solvers and enabling large-scale benchmarking.
Contribution
It introduces PyJobShop, a user-friendly, open-source Python library that supports multiple scheduling problem variants and integrates top constraint programming solvers.
Findings
CP Optimizer outperforms on large-scale permutation problems
OR-Tools is competitive and fully open-source
PyJobShop enables large-scale benchmarking of scheduling solvers
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsConstraint Satisfaction and Optimization · Scheduling and Optimization Algorithms · Scheduling and Timetabling Solutions
