Combinatorial Optimisation and Constraint Programming (course 1DL442): Autumn 2024

This 10-credit course was last given in 2024, so this page is for only archival purposes. The first half of the course continues to exist as the 5-credit course Modelling for Combinatorial Optimisation (course 1DL451), which you are invited to look at.

(back to the course homepage)

Lectures, Slides, and Literature

Lectures and Slides

The main objective of lectures is to cover the required theoretical content of the course, illustrated by as many examples as possible. Lecture attendance is highly recommended in general, and sometimes mandatory (see below). The essential aspects, in the eyes of the head teacher, will be pointed out. Common misunderstandings will be discussed. The slides are not self-contained at all: they are only a support for the lectures, but not equivalent to their much more detailed content, so you ought to take notes. If you miss a lecture, then find other sources, such as the recommended extra material mentioned below or the Coursera on-line courses mentioned under Resources.

There is no planned correspondence between the scheduled lectures and the topics of the course: topic starts and ends need not be aligned with lecture starts and ends, as it all depends on the questions asked during the lectures. Revised slides (change log) may be uploaded any time, with an announcement in Studium. The models and data linked to within the slides are available collectively as the file allModelsData.zip and individually, together with the slides, in the folder models.

Part 1: Modelling

See my M4CO course.

Part 2: Constraint Programming

Topic Slides, Theoretical Questions, Programming Exercises Extra Material (recommended) Lecturer
CP and MiniCP slides numbered 82-91 & 93 of T01.pdf;
T12.pdf
Pierre Flener
TinyCSP Module 1 (see edX course "Constraint Programming" for videos, but use our updated slides, which are not pushed to edX yet) paper on MiniCP (preprint) (delta) Pierre Flener
MiniCP Solver Module 2 (ditto) see above Pierre Flener
Sum and Element Constraints Module 3 (ditto) see above Pierre Flener
Table Constraint Module 4 (ditto) see above Pierre Flener
AllDifferent Constraint Module 5 (ditto) see above Pierre Flener
Circuit Constraint, TSP, VRP, Optimisation, and LNS Module 6 (ditto) see above Pierre Flener
Cumulative Scheduling Module 7 (ditto) see above Pierre Flener
Disjunctive Scheduling Module 8 (ditto) (whiteboard notes) see above Pierre Flener
Tue 17 Dec 2024 at 11:15: mandatory guest lecture (normal lecture from 10:15 to 11:00) CP for Product Configuration at Tacton Jean-Noël Monette of Tacton Systems AB
Black-Box Search Module 9 (ditto) see above Pierre Flener
Modelling (not to be seen in autumn 2024) Module 10 (ditto), but we will not cover it, as it is redundant with the MiniZinc part of our course see above Pierre Flener
Conclusion T18.pdf Pierre Flener

A missed guest lecture (in case of no force majeure) can be compensated for by a summary of a research paper chosen by the head teacher.

Textbooks

There are no textbooks for these courses. Links to particularly good tutorials on some topics are given in the Extra Material columns of the tables above.

Reference Books (not Textbooks)

For the bigger picture of part 1, we recommend the following reference book:

In the voluntary case where you want a deeper understanding of the theory behind consistency and propagation in part 2, we recommend the following reference book:


Last modified: Wed Apr 9 16:29:02 CEST 2025