Actes JFPC 2016 Algorithmes de filtrage pour la contrainte WeightedCircuit Sylvain Ducomman1 2∗ Hadrien Cambazard1 Bernard Penz1 1 Univ. Grenoble Alpes, G-SCOP, F-38000 Grenoble, France CNRS, G-SCOP, F-38000 Grenoble, France 2 Geoconcept SA, 92220 Bagneux, France {prénom.nom}@grenoble-inp.fr [email protected] Résumé La présence de circuit dans un graphe pondéré est une contrainte essentielle de beaucoup de problèmes, notamment pour les problèmes de tournées de véhicules. La contrainte WeightedCircuit, permettant de maintenir un circuit hamiltonien dans de tels graphes, est donc une contrainte clef dans ce type de problèmes. Notre étude Alternative Filtering for the Weighted Circuit Constraint : Comparing Lower Bounds for the TSP and Solving TSPTW présentée à AAAI-16 propose des algorithmes de filtrage pour la contrainte WeightedCircuit basés sur des relaxations du Problème du Voyageur de Commerce. Nous proposons aussi une étude théorique des bornes inférieures fournies par les relaxations employées. 1 Introduction La contrainte WeightedCircuit permet de maintenir un circuit hamiltonien dans un graphe pondéré représentant souvent la distance sur chaque arc du graphe. Dans cette étude [3], nous proposons différents algorithmes de filtrage pour la contrainte WeightedCircuit. Cette dernière est utilisée dans un modèle de Programmation par Contraintes pour le Problème (PPC) du voyageur de commerce avec fenêtres de temps (TSPTW). On considère un graphe orienté complet G(N, E) dans lequel E est l’ensemble des arcs et N = {0, . . . , n+1} est l’ensemble des noeuds. di,j (resp. ti,j ) représente la distance (resp. le temps) entre les noeuds i et j. La modélisation en PPC du TSPTW est basée sur trois variables. Les variables nexti ∈ N repré∗ Papier pal. doctorant : Sylvain Ducomman1 2 est auteur princi- sentent le successeur direct du noeud i dans la tournée. Les deux autres variables utilisées sont des variables de cumul de quantités, la première pour la distance cumulée dist et la seconde pour le temps de trajet parcouru start (dist0 = 0 et start0 = 0). Nous améliorons ce modèle en explicitant les relations de précédences entre les noeuds du graphe grâce entre autres aux informations des fenêtres de temps. Ainsi, des variables redondantes sont ajoutées au modèle : des variables booléennes b, indiquant si un noeud i doit se trouver avant un noeud j, et des variables pos, représentant la position d’un noeud dans la tournée. Les contraintes redondantes permettent de lier les variables additionnelles aux variables existantes. Ci-dessous un modèle simplifié de [3] : Minimize z n X z= (di,nexti ) i=0 WeightedCircuit(next0 , . . . , nextn+1 , z) distnexti = disti + di,nexti ∀i ∈ N \{n + 1} startnexti ≥ starti + ti,nexti ∀i ∈ N \{n + 1} bij + bji = 1 X posi = bji ∀i ∈ N j∈N AllDifferent(pos0 , . . . , posn+1 ) (bij = 1) ⇒ nextj 6= i ∀(i, j) ∈ E posj > posi + 1 ⇒ nexti 6= j ∀(i, j) ∈ E posj > posi ⇔ bij = 1 ∀(i, j) ∈ E (bij = 1) ⇒ startj ≥ starti + tij ∀(i, j) ∈ E starti + tij > startj ⇒ nexti 6= j ∀(i, j) ∈ E 2 WeightedCircuit L’existence d’un circuit hamiltonien dans un graphe est un problème NP-complet. Pour effectuer le filtrage de cette contrainte nous utilisons des algorithmes de filtrage basés sur les coûts. Ces derniers s’appuient sur des relaxations connues du Problème du Voyageurs de Commerce. Ainsi, trois relaxations sont présentées. La première est basée sur le problème d’arbre couvrant de poids minimum, présentée par [5] et dont l’algorithme de filtrage est utilisé dans [1]. La seconde relaxation repose une affectation de poids minimum. Nous étendons l’algorithme de filtrage utilisé dans [4] en calculant les coûts réduits exacts du problème, présentés dans [6]. Enfin, la dernière relaxation présentée s’appuie sur un plus court chemin de n arcs [2]. Cette dernière a l’avantage de pouvoir prendre en compte les positions des noeuds dans le programme dynamique utilisé. Ainsi, l’algorithme de filtrage permet de filtrer sur les variables next d’un noeud dans le graphe mais aussi sur les variables pos. Cette relaxation se révèle efficace lorsque des contraintes auxiliaires viennent s’ajouter au problème, comme les contraintes de fenêtres de temps par exemple. Les relaxations basées sur l’arbre couvrant de poids minimum et celles sur le plus court chemin de n arcs peuvent être améliorées par relaxation lagrangienne, ce qui permet d’une part de fournir de meilleures bornes inférieures et d’autre part d’effectuer le filtrage à différentes étapes du processus de sous-gradient. Chaque algorithme de filtrage pour une relaxation dédiée est idempotent. Cependant dans leurs versions lagrangiennes, l’idempotence n’est plus vérifiée. 3 Bornes inférieures Une partie de ces travaux est consacrée à l’étude des bornes inférieures fournies par les différentes relaxations utilisées. Ainsi, nous avons prouvé théoriquement que les relaxations utilisées ne sont pas comparables. C’est-à-dire qu’aucune d’entre elle est dominante. Ce résultat est montré pour le cas général des relaxations mais aussi pour les versions lagrangiennes. Il peut donc être intéressant de combiner les algorithmes de filtrage. 4 Résultats Les résultats principaux de l’étude comparent les différents algorithmes de filtrage pour différents benchmarks du TSP et du TSPTW. Les résultats sur les benchmarks du TSP montrent que l’algorithme de filtrage performant reste celui de la littérature utilisant les arbres couvrants de poids minimum. En revanche, pour les benchmarks du TSPTW, les nouveaux algo- rithmes de filtrages profitent davantage des informations des positions liées aux fenêtres de temps. En effet, nous montrons que dans la plupart des cas, l’algorithme de filtrage utilisant le problème de plus court chemin donne de meilleures bornes inférieures ainsi qu’un meilleur filtrage des variables next et pos au noeud racine. De plus, cet algorithme est aussi performant pour la résolution des différents benchmarks pour le TSPTW. Les nouvelles bornes proposées tirent donc un meilleur parti de l’information supplémentaire disponible sur les positions. 5 Conclusion L’étude [3] propose trois filtrages différents pour la contrainte WeightedCircuit. Cette dernière est utilisée dans un modèle de Programmation par Contraintes pour résoudre le problème du voyageur de commerce avec fenêtres de temps. Les résultats obtenus montrent que pour ce type de problèmes, le meilleur algorithme de filtrage utilise une relaxation permettant de raisonner sur les positions des noeuds. Dans de futurs travaux, il sera intéressant d’évaluer si les relaxations peuvent se combiner avantageusement en pratique. Références [1] Pascal Benchimol, Willem-Jan Van Hoeve, JeanCharles Régin, Louis-Martin Rousseau, and Michel Rueher. Improved filtering for weighted circuit constraints. Constraints, 17(3) :205–233, 2012. [2] Nicos Christofides, Aristide Mingozzi, and Paolo Toth. State-space relaxation procedures for the computation of bounds to routing problems. Networks, 11(2) :145–164, 1981. [3] Sylvain Ducomman, Hadrien Cambazard, and Bernard Penz. Alternative filtering for the weighted circuit constraint : Comparing lower bounds for the TSP and solving TSPTW. In AAAI-16, Phoenix, Arizona, 2016. [4] Filippo Focacci, Andrea Lodi, and Michela Milano. A hybrid exact algorithm for the TSPTW. INFORMS Journal on Computing, 14(4) :403–417, 2002. [5] Michael Held and Richard M. Karp. The travelingsalesman problem and minimum spanning trees. Operations Research, 18(6) :1138–1162, 1970. [6] Jean-Charles Régin. Cost-based arc consistency for global cardinality constraints. Constraints, 7(34) :387–405, 2002.