Constraint programming

lingi2365  2018-2019  Louvain-la-Neuve

Constraint programming
5 credits
30.0 h + 15.0 h
Q2
Teacher(s)
Schaus Pierre; Schaus Pierre (compensates Deville Yves);
Language
English
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

At the end of this learning unit, the student is able to :

1

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
INFO


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

Title of the programme
Sigle
Credits
Prerequisites
Aims
Master [120] in Data Science Engineering

Master [120] in Computer Science and Engineering

Master [120] in Computer Science

Master [120] in data Science: Information technology