CoursContraintes 1 Introduction à la programmation par Contraintes Michel RUEHER Université de Nice - Sophia Antipolis November 27, 2010 CoursContraintes 2 Plan du cours “Contraintes” 1. Introduction – Michel Rueher 2. Contraintes globales et modélisation – Jean-Charles Régin 3. Stratégie de recherche et méthodes heuristiques – Gilles Trombettoni 4. Arithmétique d’intervalles, algèbre linéaire, algèbre non-linéaire, applications de l’analyse par intervalles – Jean Pierre Merlet CoursContraintes 3 • Conférences : CP (Int. Conf. on Principles and Practice of Constraint Programming) CPAIOR (Int. Conf. on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems) • Revues: Constraint Journal, Journal of AI • Ouvrages: – Handbook of Constraint Programming. Edited by Francesca Rossi, Peter van Beek, Toby Walsh. Elsevier, 978 pages, 2006 – Constraint and Integer Programming: Toward a Unified Methodology, Michela Milano (Ed.), Kluwer Academic Pub. (2003) – Kim Marriott and Peter J. Stuckey . Programming with Constraints: an Introduction . MIT Press, 1998. – P. Van Hentenryck, Y. Deville, and L Michel. Numerica. A modelling language for global optimization. MIT Press, 1997. – François Fages Programmation logique par contraintes, Editions Ellipses, 1996. CoursContraintes 4 Plan du “Introduction” 1. Présentation informelle des concepts de base 2. La programmation en logique avec contraintes (CLP) 3. Les techniques de satisfaction de contraintes (CSP) – Domaines finis 4. Les contraintes dans le domaine continu: la propagation d’intervalles 5. Application des techniques de programmation par contraintes à la génération de jeux de test et à la vérification de programmes CoursContraintes 5 Partie I : présentation informelle des concepts de base CoursContraintes 6 “Constraint programming represents one of the closest approaches computer science has yet made to the Holy Grail of programming: the user states the problem, the computer solves it.” Eugene C.Freuder, Constraints, April 1997 CoursContraintes 7 Origines • IA : “Scene Labelling” - Waltz, résolution de problèmes,.. • Programmation Logique : unification → constraint solving • Recherche Opérationelle: problème combinatoires NP Difficiles CoursContraintes 8 Intuitions • La complexité dans le pire des cas est en général trop pessimiste • Une analyse de la complexité en moyenne est en général impossible → CP: Etude des problèmes comme des phénomènes naturels CoursContraintes 9 Intuitions (suite) • SEND+MORE=MONEY : comment inférer l’information pertinente ? • N Reines : comment “prévoir” les impasses ? • Chemin hamiltonien du cavalier: comment trouver les bonnes heuristiques ? CoursContraintes 10 → Applications – L’ordonnancement – La planification – La gestion de ressources – L’optimisation de systèmes non-linéaires – ... → Apports – Plus grande souplesse pour énoncer et résoudre les problèmes – Utilisation dans un cadre uniforme des techniques combinatoires, de recherche opérationnelle, d’analyse numérique
Description: