Constraint programming

linfo2365  2021-2022  Louvain-la-Neuve

Constraint programming
5.00 credits
30.0 h + 15.0 h
Q2
Teacher(s)
Schaus Pierre;
Language
English
Main themes
  • Constraints and domains
  • Practical aspects of constraint solvers
  • Constraint Satisfaction Problems (CSP)
  • Models and languages for constraint programming
  • Methods and techniques for constraint solving (consistency, relaxation, optimization, search, linear programming, global constraints, ...)
  • Search techniques and strategies
  • Problem modelling and resolution 
  • Applications to differents problem classes (e.g. planification, scheduling, ressource allocation, economics, robotics)
Learning outcomes

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.
 
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.
Other information
A good background in data-structure and algorithms is required to follow this course and a good knowledge of Java language
 
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
Learning outcomes
Master [120] in Data Science Engineering

Master [120] in Computer Science and Engineering

Master [120] in Data Science: Information Technology

Master [120] in Computer Science