Exploitation de structures de graphe en programmation par contraintes
Auteur / Autrice : | Jean-Guillaume Fages |
Direction : | Nicolas Beldiceanu |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique et applications |
Date : | Soutenance le 23/10/2014 |
Etablissement(s) : | Nantes, Ecole des Mines |
Ecole(s) doctorale(s) : | Sciences et Technologies de l'Information et Mathématiques |
Partenaire(s) de recherche : | Laboratoire : Laboratoire d'Informatique de Nantes Atlantique / LINA - TASC / INRIA - LINA - Laboratoire d'Informatique de Nantes Atlantique / LINA - TASC / INRIA - LINA |
Jury : | Président / Présidente : Narendra Jussien |
Examinateurs / Examinatrices : Benoît Rottembourg, Christophe Lecoutre, Xavier Lorca | |
Rapporteur / Rapporteuse : Christine Solnon, Jean-Charles Régin |
Mots clés
Résumé
De nombreuses applications informatiques nécessitent de résoudre des problèmes de décision qui sont difficiles d’un point de vue mathématique. La programmation par contraintes permet de modéliser et résoudre certains de ces problèmes, parfois définis sur des graphes. Au delà des difficultés intrinsèques aux problèmes étudiés, la taille des instances à traiter contribue à la difficulté de la résolution. Cette thèse traite de l’utilisation des graphes en programmation par contraintes, dans le but d’en améliorer la capacité de passage à l’échelle. Une première partie porte sur l’utilisation de contraintes pour résoudre des problèmes de graphes impliquant la recherche d’arbres, de chemins et de cycles Hamiltoniens. Ce sont des problèmes importants que l’on retrouve dans de nombreuses applications industrielles. Nous étudions à la fois le filtrage et les stratégies d’exploration de l’espace de recherche. Nous chercherons ensuite à nous extraire progressivement des problèmes classiquement définis sur les graphes pour exploiter ce concept sur des problèmes définis sur les entiers, voire les réels. Une seconde partie porte ainsi sur l’utilisation des graphes pour le filtrage de contraintes globales très répandues. Nous proposerons entre autres d’utiliser des graphes comme support pour décomposer dynamiquement des algorithmes de filtrage, de manière générique. Le fil conducteur de ces travaux sera d’une part l’utilisation du concept de graphe à la base de chaque raisonnement et d’autre part, la volonté pratique d’augmenter la taille des problèmes pouvant être traités en programmation par contraintes.