AccueilđŸ‡«đŸ‡·Chercher

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

Exemple de permutation

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;
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

Liens externes

Références et notes

  1. G. A. Croes, A method for solving traveling salesman problems, Operations Res. 6, 1958, pp. 791-812.
  2. aussi appelée, problÚme du voyageur de commerce métrique (metric TSP)
  3. Jean-Claude Fournier, Graphes et applications, t. 2, Hermes Science Publications, (ISBN 978-2-7462-1657-0), p. 54-63
  4. 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
  5. (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
  6. (en) Éric Taillard, « Few guidelines for analyzing methods », Metaheuristic International Conference,‎ (lire en ligne)
  7. (en) Christian Nilsson, « Heuristics for the Traveling Salesman Problem », Linköping University,
  8. (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
  9. 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,


Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.