Constraint programming

LINGI2365  2016-2017  Louvain-la-Neuve

Constraint programming
5.0 crédits
30.0 h + 15.0 h
2q

Enseignants
Deville Yves; Lecoutre Christophe (supplée Deville Yves);
Langue
d'enseignement
Anglais
Thèmes abordés
  • Contraintes et domaine
  • Aspects pratiques de solvers de contraintes
  • Problèmes de satisfaction de contraintes (CSP)
  • Modèles et langages de programmation par contraintes - Méthodes et techniques de résolution de contraintes (consistance, relaxation, optimisation, recherche, intervalles, programmation linéaire, contraintes globales, ...)
  • Stratégie et technique de recherche
  • Modélisation et résolution de problèmes (domaines finis et domaines continus)
  • Applications à la résolution de classes d'applications (par exemple, planification, ordonnancement, allocation de ressources, économie, robotique)
Acquis
d'apprentissage

Eu égard au référentiel AA du programme « Master ingénieur civil en informatique », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :

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

Eu égard au référentiel AA du programme « Master [120] en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :

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

Les étudiants ayant suivi avec fruit ce cours seront capables de

  • appréhender un ensemble de techniques informatiques permettant de résoudre un problème de satisfaction de contraintes;
  • résoudre une application simple mettant en oeuvre les techniques étudiés;
  • expliquer les fondements des modèles et des langages de programmation par contraintes;
  • identifier des classes d'applications où la programmation par contraintes peut être utilisée à bon escient;
  • modéliser un problème simple sous forme de contraintes et exprimer ce modèle dans un langage de programmation par contraintes y compris l'expression de stratégies de recherche.

Les étudiants auront développé des compétences méthodologiques et opérationnelles.  En particulier, ils auront développé leur capacité à :

  • maîtriser rapidement un nouveau langage de programmation;
  • utiliser des documents techniques pour approfondir leur connaissance d'un sujet.

La contribution de cette UE au développement et à la maîtrise des compétences et acquis du (des) programme(s) est accessible à la fin de cette fiche, dans la partie « Programmes/formations proposant cette unité d’enseignement (UE) ».

Modes d'évaluation
des acquis des étudiants
  • Projet (10% de la note finale)
  • Problems (15% de la note finale)
  • Examen écrit (75% de la note finale)

En cas d'échec de la note projets + problèmes, la pondération de ces parties sera plus importante.

Les travaux doivent être soumis et ne peuvent être réalisés que pendant le quadrimestre du cours. Il n'est pas possible de refaire les travaux durant un autre semestre ou pour la session de septembre.

Méthodes d'enseignement
  • cours magistraux
  • pratique: 2 problèmes et 1 projet plus important réalisés par groupes de 2
Contenu
  • Introduction à la programmation par contraintes
  • Modélisation
  • Propagation
  • Recherche
  • Contraintes globales
  • Optimisation en programmation par contraintes
  • Problèmes connus en CP et solution de nouveaux problèmes
  • Aspects pratiques de solvers de contraintes
Bibliographie

Livres de référence

  • C. Lecoutre, Constraint Networks, Wiley, 2009
  • K. Apt. Principles of Constraint Programming. Cambridge University Press, 2003
  • Rina Dechter. Constraint Processing. Morgan Kaufmann, 2004
  • F. Rossi, P. Van Beek, T. Walsh (eds). Handbook of Constraint Programming.  Elsevier 2006.
  • Kim Marriott, Peter J. Stuckey. Programming with Constraints. An Introduction.MIT Press, 1998.
  • P. Van Hentenryck. The OPL Optimization Programming Language. The MIT Press, 1999.
Autres infos

Préalables:

  • LINGI2261 : Concepts et méthodes de base en intelligence artificielle
Faculté ou entité
en charge


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

Intitulé du programme
Sigle
Crédits
Prérequis
Acquis
d'apprentissage
Master [120] en sciences informatiques
5
-

Master [120] : ingénieur civil en informatique
5
-