Algorithmes de filtrage pour la contrainte WeightedCircuit

publicité
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.
Téléchargement