2-opt
En optimisation, 2-opt est un algorithme de recherche locale proposé par Georges A. Croes en 1958[1] pour résoudre le problÚme du voyageur de commerce en améliorant une solution initiale.
DĂ©finition formelle du problĂšme du voyageur de commerce
Soit un graphe complet avec un ensemble de sommets, un ensemble d'arĂȘtes et une fonction de coĂ»t sur les arcs. Le problĂšme est de trouver le plus court cycle hamiltonien dans le graphe.
L'algorithme
Principe
2-opt est un algorithme itĂ©ratif : Ă chaque Ă©tape, on supprime deux arĂȘtes de la solution courante et on reconnecte les deux tours ainsi formĂ©s. Cette mĂ©thode permet, entre autres, d'amĂ©liorer le coĂ»t des solutions en supprimant les arĂȘtes sĂ©cantes lorsque l'inĂ©galitĂ© triangulaire est respectĂ©e (voir figure ci-contre). Sur le schĂ©ma de droite, la route <a; b; e; d; c; f; g> est changĂ©e en <a; b; c; d; e; f; g> en inversant l'ordre de visite des villes e et c. Plus gĂ©nĂ©ralement, lorsqu'on inverse l'ordre de parcours de deux villes, il faut aussi inverser l'ordre de parcours de toutes les villes entre ces deux villes.
Formalisation
On peut donner une description plus formelle de lâheuristique. Soit un graphe et un cycle hamiltonien dans muni dâune fonction coĂ»t renvoyant la somme des poids des arĂȘtes composant le cycle.
DĂ©finition â On dĂ©finit une 2-permutation dans le cycle hamiltonien comme le remplacement de deux arĂȘtes par deux arĂȘtes tel que le tour rĂ©sultant est toujours hamiltonien dans .
Dans le cas du problĂšme du voyageur de commerce gĂ©omĂ©trique, i.e. quand l'inĂ©galitĂ© triangulaire des poids est respectĂ©e[2], la permutation consiste gĂ©nĂ©ralement Ă remplacer les arĂȘtes par leurs diagonales (cf. le schĂ©ma ci-contre).
Lâalgorithme sâĂ©nonce alors ainsi[3] :
- trouver une 2-permutation de produisant le cycle tel que coût(H') < coût(H) ;
- remplacer par ;
- recommencer tant quâune telle 2-permutation est possible.
Pour des raisons de performance, la solution initiale H est souvent gĂ©nĂ©rĂ©e par une heuristique constructiviste ou gloutonne rapide, voire alĂ©atoirement. On peut noter que diverses stratĂ©gies peuvent ĂȘtre appliquĂ©es lors du choix de la permutation : ce peut ĂȘtre la premiĂšre trouvĂ©e, la meilleure ou la pire au regard de la tournĂ©e courante, ou encore un choix alĂ©atoire parmi un ensemble de permutations admissibles.
Voici une transcription directe appliquée au cas du voyageur de commerce géométrique :
fonction 2-opt ( G : Graphe, H : CycleHamiltonien )
- amélioration : booléen := vrai
- Tant que amélioration = vrai faire
- amélioration := faux;
- Pour tout sommet xi de H faire
- Pour tout sommet xj de H, avec j différent de i-1, de i et de i+1 faire
- Si distance(xi, xi+1) + distance(xj, xj+1) > distance(xi, xj) + distance(xi+1, xj+1) alors
- Remplacer les arĂȘtes (xi, xi+1) et (xj, xj+1) par (xi, xj) et (xi+1, xj+1) dans H
- amélioration := vrai;
- Si distance(xi, xi+1) + distance(xj, xj+1) > distance(xi, xj) + distance(xi+1, xj+1) alors
- Pour tout sommet xj de H, avec j différent de i-1, de i et de i+1 faire
- retourner H
Terminaison et complexité
Une permutation nâest admissible que si elle rĂ©duit strictement le coĂ»t total du cycle hamiltonien. En particulier, cela implique que chaque cycle hamiltonien est visitĂ© au plus une fois, garantissant la terminaison de lâalgorithme en au plus permutations. Il existe des instances oĂč 2-opt prend un temps exponentiel, mĂȘme dans le cas euclidien[4]. En pratique cependant, on observe que lâheuristique se comporte en [5]. Pour des problĂšmes euclidiens avec des villes uniformĂ©ment distribuĂ©es dans le carrĂ© unitĂ© et en utilisant une structure de donnĂ©es permettant d'effectuer une modification 2-opt en , Taillard[6] a observĂ© une complexitĂ© trĂšs lĂ©gĂšrement supĂ©rieure Ă . Diverses mĂ©thodes permettent dâoptimiser ce rĂ©sultat en calculant par exemple au prĂ©alable une liste des m sommets les plus proches de chaque ville (donc m †n) ; une complexitĂ© de peut ainsi ĂȘtre obtenue[7].
Estimation de performance et limites
CommunĂ©ment, on mesure lâefficacitĂ© des diffĂ©rentes heuristiques du voyageur de commerce en comparant la distance de la solution obtenue avec une borne infĂ©rieure de la solution optimale (par exemple, la borne de Held-Karp). Ce faisant, diverses Ă©tudes empiriques tendent Ă montrer que lâalgorithme 2-opt donne de bons rĂ©sultats par rapport aux heuristiques constructivistes, avec un Ă©cart par rapport Ă la borne allant de 4 Ă 7 % environ â câest-Ă -dire au pire entre 4 et 7 % de la solution optimale[8].
La principale limite de 2-opt rĂ©side dans le fait quâil ne fournit pas de garantie satisfaisante quant Ă la qualitĂ© de la solution finale : lâalgorithme est sujet Ă tomber dans des minima locaux assez rapidement. On note aussi que la nature de la solution initiale peut influer grandement sur les rĂ©sultats[8].
Méthodes dérivées
Lâalgorithme 2-opt peut facilement ĂȘtre gĂ©nĂ©ralisĂ© Ă k-opt, câest-Ă -dire en cherchant Ă permuter k arĂȘtes Ă chaque Ă©tape, bien quâil soit en gĂ©nĂ©ral rare de dĂ©passer la 3-permutation (3-opt). Dans la mĂȘme idĂ©e, lâalgorithme de Lin-Kernighan est une heuristique trĂšs performante qui consiste Ă faire varier le nombre dâarĂȘtes Ă permuter selon la solution courante[9]. Enfin, des mĂ©thodes de recuit simulĂ© peuvent ĂȘtre utilisĂ©es pour permettre Ă lâalgorithme de sortir dâun minimum local.
Annexes
Articles connexes
- Algorithme de Lin-Kernighan
- Recherche locale
- ProblĂšme du voyageur de commerce
- ProblÚme de tournées de véhicules
- Algorithme de Christofides, un algorithme d'approximation pour le cas métrique du voyageur de commerce
Liens externes
- Implantation pratique dans le cadre de la coupe de france de robotique 2004
- Exemple interactif via une applet
Références et notes
- G. A. Croes, A method for solving traveling salesman problems, Operations Res. 6, 1958, pp. 791-812.
- aussi appelée, problÚme du voyageur de commerce métrique (metric TSP)
- Jean-Claude Fournier, Graphes et applications, t. 2, Hermes Science Publications, (ISBN 978-2-7462-1657-0), p. 54-63
- Matthias Englert, Heiko Röglin et Berthold Vöcking, « Worst case and probabilistic analysis of the 2-Opt algorithm for the TSP », dans Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms, , p. 1295-1304
- (en) William J. Cook, William H. Cunningham, William R. Pulleyblank et Alexander Schrijver, Combinatorial Optimization, Wiley-Interscience, (ISBN 978-0-471-55894-1), p. 242-251
- (en) Ăric Taillard, « Few guidelines for analyzing methods », Metaheuristic International Conference,â (lire en ligne)
- (en) Christian Nilsson, « Heuristics for the Traveling Salesman Problem », Linköping University,
- (en) Emile Aarts et J. K. Lenstra, Local search in combinatorial optimization, Princeton University Press, , 512 p. (ISBN 978-0-691-11522-1, lire en ligne), p. 234-238
- David L. Applegate, Robert E. Bixby, Våclav Chvåtal et William J. Cook, chap. 3 « History of TSP computation », dans The traveling Salesman Problem: A Computational Study, Princeton University Press,