Hello !
Here you can find a curated list of resources (solvers, tutorials, courses, books, papers, etc.) to learn about constraint programming (CP) and its applications.
Note : this is a work in progress. I will keep adding new resources as I find them.
Feel free to contribute by submitting a pull request or opening an issue if you have suggestions for additional resources.
| Tool | Description |
|---|---|
| MiniCP | a lightweight, open-source solver for constraint programming designed for educational purposes, with a focus on scheduling and routing problems. |
| MaxiCP | an open-source (MIT licence) Java-based Constraint Programming (CP) solver for solving scheduling and vehicle routing problems. |
| MiniZinc | a high-level constraint modelling language that allows you to easily express and solve discrete optimisation problems. |
| CPMpy | a Constraint Programming and Modeling library in Python, based on numpy, with direct solver access. |
| OR-Tools | Google's open-source software suite for combinatorial optimization, including a CP-SAT solver. |
| OscaR/CP | a Constraint Programming (CP) solver written in Scala 3. |
| IBM Docplex | IBM's Python library for constraint programming and mathematical optimization. |
| Choco | an Open-Source java library for constraint programming. |
| Gecode | an open source C++ toolkit for developing constraint-based systems and applications. |
| OptalCP | a modern Constraint Programming engine for real factories, warehouses, and crews. |
| PyJobshop | Solve production scheduling problems with constraint programming in Python. |
| PyCSP3 | a Python Library for modeling combinatorial constrained problems. |
| Pumpkin | a Lazy Clause Generation Constraint Programming solver written in Rust. |
| SeaPearl | a Julia hybrid constraint programming solver enhanced by a reinforcement learning driven search. |
| Resource | Description |
|---|---|
| MiniCP MOOC | a free online course on constraint programming, covering the basics of CP, modeling techniques, and solving real-world problems by Pascal Van Hentenryck and Pierre Schaus. |
| MiniCP YouTube Playlist | a series of video tutorials on constraint programming, covering topics such as modeling, search strategies, and optimization by Pierre Schaus. |
| Modern Constraint Programming, For People Who Know SAT | a lecture on modern constraint programming techniques and their relationship to SAT solving by Ciaran McCreesh. |
| Logic, Optimization, and Constraint Programming: A Fruitful Collaboration | a talk on the collaboration between logic, optimization, and constraint programming by John Hooker. |
| Sequence Variables for solving Vehicle Routing Problems with Constraint Programming | a tutorial on using insertion based sequence variables in constraint programming to solve vehicle routing problems by Pierre Schaus. |
- Global Constraint Catalog, by Sophie Demassey.
- Global Constraints in Constraint Programming by Jean-Charles Régin.
- CSPLib, a library of test problems for constraint solvers.
| Resource | Description |
|---|---|
| Modern Constraint Programming | by Emir Demirović, a book that provides a comprehensive introduction to constraint programming, covering both theoretical foundations and practical applications. |
| Handbook of Constraint Programming | edited by Francesca Rossi, Peter van Beek, and Toby Walsh, a comprehensive reference on constraint programming, covering both theoretical foundations and practical applications. |
| Principles of Constraint Programming | by Krzysztof R. Apt, a book that provides a comprehensive introduction to the principles and techniques of constraint programming. |
| Online guide to constraint programming | by Roman Barták, an online guide designed as a textbook for beginners. |
| The CP-SAT Primer: Using and Understanding Google OR-Tools' CP-SAT Solver | by Dominik Krupke, an online book that provides a comprehensive introduction to the CP-SAT solver in Google OR-Tools. |
- CP + ML, a list of papers related to the integration of constraint programming together with machine learning.
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
Last updated: 2026-08-30.