Constraint Programming

Lectures are on Mondays, 14:15–16:00,
in Building E1.3 (former building 45), HS 001.
Lectures start on April 16 and end on July 16.
No lecture on May 28 (Pentecost).
Tutorials are on Thursdays, 16:15–17:00.

News

2007-04-16: the slides for the first lecture and the first assignment are
now online (see the Services page).

2007-04-15: the first tutorial will be given on Thursday, April 19, at 16:00 in room E1.3.528 (seminar room, 5th floor)

2007-02-27: set up the web pages

Course description

Many computational problems can be described in terms of
restrictions imposed on possible solutions. Constraint Programming
is a problem-solving technique that works by incorporating such
restrictions into a programming environment. Constraint Programming
draws on methods from artificial intelligence, logic programming,
and operations research. It has been successfully applied in a
number of fields such as scheduling, computational linguistics, and
computational biology.

The aim of this course is to

create an understanding of the fundamental concepts underlying
constraint programming,

develop skills in modelling and solving combinatorial
problems, and

develop skills in taking advantage of strong algorithmic
techniques.

To achieve these goals, the course will cover the following topics:

modelling combinatorial problems using constraint
programming

constraint domains and notions of consistency

a generic architecture for solving constraint problems using
propagation and search

applications of constraint programming

Besides the theoretical part, the course will put an emphasis on
practical experience with state-of-the-art constraint programming
systems.

Course prerequisites

You should have

basic knowledge in logics, for example from an
introductory logics course like LSV or CL

basic knowledge about algorithms and data structures

basic programming skills in Java

You will benefit from

optimization, operations research, or similar courses

Office hours

Wednesdays, 13:30-14:30, room E1.3.517

Assessment / Exams

The final exam will take place on July 16. There will be no re-exam. The
final grades will depend both on the assignments and your result in the
final exam. The exact details will be announced in the first lecture on
April 16.