Constraint programming

LINGI2365  2018-2019  Louvain-la-Neuve

Constraint programming
5.0 credits
30.0 h + 15.0 h
2q

Teacher(s)
Schaus Pierre ; Schaus Pierre (compensates Deville Yves) ;
Language
Anglais
Prerequisites
  • LINGI2261 : Introduction to artificial intelligence
  • Good knowledge of Java and data-structures and algorithms using Java
Main themes
  • Constraint Programming : a Declarative Programming paradigm
  • Architecture of a constraint programming solver
  • Global contraints and implementation techniques (incrementality, etc)
  • Search techniques and strategies
  • Combinatorial optimization problem modeling and solving
  • Applications to different problem classes (e.g. planification, scheduling, resource allocation, economics, robotics)
Aims

Given the learning outcomes of the "Master in Computer Science and Engineering" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:

  • INFO1.1-3
  • INFO2.2-4
  • INFO5.4-5
  • INFO6.1, INFO6.4

Given the learning outcomes of the "Master [120] in Computer Science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:

  • SINF1.M4
  • SINF2.2-4
  • SINF5.4-5
  • SINF6.1, SINF6.4

Students completing successfully this course will be able to

  • explain and apply techniques for solving Constraint Satisfaction Problems
  • solve simple problems involving CSP
  • explain foundations of models and languages for constraint solving
  • identify problem classes where constraint programming can be apply successfully
  • model simple problems in the form of constraints, and express these models in a constraint programming language, including search strategies.

Students will have developed skills and operational methodology. In particular, they have developed their ability to:

  • master rapidly a new programming language;
  • use technical documents to deepen their knowledge of a topic.

The contribution of this Teaching Unit to the development and command of the skills and learning outcomes of the programme(s) can be accessed at the end of this sheet, in the section entitled “Programmes/courses offering this Teaching Unit”.

Content
  • Constraint Programming : a Declarative Programming paradigm
  • Architecture of a constraint programming solver
  • Global contraints and implementation techniques (incrementality, etc)
  • Search techniques and strategies
  • Combinatorial optimization problem modeling and solving
  • Applications to different problem classes (e.g. planification, scheduling, resource allocation, economics, robotics)
Teaching methods

Lectures and practice sessions

Evaluation methods
  • Projects (50% of final grade)
  • Written exam (50% of final grade)

 

Project and problem sets are mandatory during the semester of the course and cannot be repeated for the second examination session.

 

Bibliography

Le site www.minicp.org + lectures suggérées pendant le semestre

 

Faculty or entity


Programmes / formations proposant cette unité d'enseignement (UE)

Program title
Sigle
Credits
Prerequisites
Aims
Master [120] in Computer Science and Engineering
5
-

Master [120] in Computer Science
5
-

Master [120] in Data Science Engineering
5
-

Master [120] in data Science: Information technology
5
-