An open-source course on constraint solving

31 views
Skip to first unread message

Tias Guns

unread,
Jun 30, 2025, 11:47:27 AMJun 30
to const...@googlegroups.com
Dear constraints community,

I'm happy to announce that we've open-sourced all course material of our
constraint solving course: modeling with decision variables and
constraints, efficient modeling with viewpoints, symmetries and
algorithm configuration, and how to model for specific solving
technologies including CP, SMT, ILP, PB en SAT.

https://github.com/tias/constraint-solving-course

The course is modeling language agnostic in several ways:
* It starts independent of solving technologies: modeling conceptually
with Booleans and integers, and exposing high-level structure in the
problem through the concept of global constraints from CP.

* It uses mathematics as modeling language; this is followed by an
optional slide that shows the equivalent expressions in the CPMpy
library. These CPMpy slides can be disabled or replaced with your
favorite modeling system with a latex command.

* Later lectures explain for each of SMT, CP, ILP, PB en SAT the basics
of how the solving technology works, and how to translate high-level
models to that specific solver technology (this part has room to grow
and mature).


The lectures are based on the nice slides of Pierre Flener, about 50% is
the same but more solver-agnostic in earlier lectures while focussing
more on specific solver technologies in later lectures.

The slides are in Beamer (Latex), the optional practice labs in Jupyter
Notebooks with CPMpy. For the topics and direct links to the pdfs and
sources:
https://github.com/tias/constraint-solving-course

All course material is available under the open-source CC BY-NC-SA 4.0
license. This means you can freely share and adapt it for non-commerical
use, with attribution and under the same license.


The current repository is a snapshot of how the course was taught at KU
Leuven in Fall 2024 (for the first time). We have some changes planned
based on our experience of last year, see the README.


We would like this course, or parts of it, to be useful for lecturers
teaching any flavor of constraint solving.

If you have a similar course, or make slides based on ours; please send
us a copy so we can learn from your approach and improve this material
over time!

Also comments through Github issues, or pull requests that modify slides
directly are welcome. This is an open-source course after all...

Tias Guns <tias...@kuleuven.be>
Dimos Tsouros <dimos....@kuleuven.be>

Reply all
Reply to author
Forward
0 new messages