Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Learn CP

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.

Tools and modeling frameworks

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.

Tutorials and courses

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 constraints catalog

Benchmarking and problem libraries

  • CSPLib, a library of test problems for constraint solvers.

Books and online resources

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.

Papers, articles, and additional resources

  • CP + ML, a list of papers related to the integration of constraint programming together with machine learning.

Licensing and attribution

CC BY-NC 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.


Last updated: 2026-08-30.

About

A curated list of resources (solvers, tutorials, courses, books, papers, etc.) to learn about constraint programming (CP) and its applications.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors