Le problème du voyageur de commerce en programmation par contraintes
Auteur / Autrice : | Nicolas Isoart |
Direction : | Jean-Charles Régin |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 19/11/2021 |
Etablissement(s) : | Université Côte d'Azur |
Ecole(s) doctorale(s) : | École doctorale Sciences et technologies de l'information et de la communication (Nice ; 1992-....) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire Informatique, signaux et systèmes (Sophia Antipolis, Alpes-Maritimes) |
Jury : | Président / Présidente : David Coudert |
Examinateurs / Examinatrices : Jean-Charles Régin, David Coudert, Claude-Guy Quimper, Willem-Jan van Hoeve, Xavier Lorca, Hadrien Cambazard | |
Rapporteurs / Rapporteuses : Claude-Guy Quimper, Willem-Jan van Hoeve, Xavier Lorca |
Mots clés
Résumé
Plusieurs modèles de programmation par contraintes, basés sur la méthode de relaxation lagrangienne (LR), ont été introduits pour résoudre le problème du voyageur de commerce (TSP). Dans cette thèse, nous définissons trois nouvelles contraintes et algorithmes de filtrage considérant la structure du graphe. La contrainte k-cutset impose que toute solution contienne un nombre strictement positif et pair d'éléments dans chaque cutset. La contrainte mandatory Hamiltonian path est basée sur l'algorithme de recherche locale k-opt. Si un chemin composé d'arêtes obligatoires n'est pas lui-même optimal (c.-à-d., il existe un k-opt), alors ce chemin n'appartient à aucune solution optimale. Enfin, la contrainte du 1-tree est basée sur l'idée que si le problème peut être décomposé en deux sous-problèmes indépendants, alors une partie du 1-tree peut être optimale dans un des sous-problèmes. De plus, nous introduisons l'algorithme SSSA afin d'améliorer les temps de résolution. SSSA évite les oscillations et les non-variations de la fonction objective de la LR. Ensuite, nous parallélisons la recherche de solutions avec Embarrassingly Parallel Search (EPS). Malheureusement, le mécanisme de décomposition d'EPS est un processus à profondeur borné, contrairement à la stratégie de recherche utilisée pour résoudre la TSP qui est en profondeur d'abord. Cela rend difficile l'obtention de bons résultats en appliquant directement EPS. Afin de diminuer ce défaut, nous introduisons un algorithme de précalcul. Cependant, des sous-problèmes avec des temps de résolution extrêmement différents peuvent apparaître. Pour remédier à cela, nous introduisons une méthode procédant à des redécompositions dans EPS. Finalement, nous expérimentons sur la TSPLib. Nous montrons que les contraintes structurelles permettent de réduire les temps de résolution d'un ordre de grandeur, et que la parallélisation permet d'obtenir de très bons résultats liés au nombre de cœurs.