• Aucun résultat trouvé

1.5 Conclusion

2.1.2 Methode des cha^nes alternees pour le TSP

2.1.2.1 Structures

On distinguera deux structures qui di erent entre elles par une seule ar^ete. Pour chaque structure, on donnera les regles d'application de l'operation de base.

De nition 2.1.1 Un lasso est un ensemble d'ar^etes constitue par l'union d'une cha^ne hamiltonienne d'extremites s et t et d'une ar^ete [s; r]. On re-trouve le cycle hamiltonien lorsque le sommet r s'identi e au sommet t. On dit que le cycle hamiltonien est un lasso degenere.

s=s 1 t

r

s2

Fig. 2.5 {Un lasso.

Ainsi de ni, un lasso peut ^etre considere comme l'union d'une cha^ne elementaire et d'un cycle comme l'indique la gure 2.5. La cha^ne et le cycle

se rencontrent au sommet r.

Les sommetst et r sont respectivement appeles terminaison et racine du lasso, et les sommets s

1 ets

2, adjacents ar et appartenant au cycle du lasso, sont appeles sous-racines du lasso.

Un lasso engendre deux solutions, dites solutions triviales du lasso, ob-tenues en enlevant l'ar^ete [s

i

; r] et en ajoutant l'ar^ete [t; s

i] respectivement pour iegal a 1 et a 2.

Les deux regles suivantes de nissent les di erentes manieres d'appliquer l'operation de base a un lasso (voir gure 2.6).

1 t r r y t y x Regle 1 Regle 2 x z 1 1 2 2

Fig. 2.6 { Operations sur un lasso.

Regle1:on ajoute l'ar^ete [t; x

1] et on elimine l'ar^ete [x 1 ; y 1] ou [x 1 ; z 1]; x

1 etant un sommet appartenant au cycle du lasso, et y 1, z

1 etant ses deux voisins dans le cycle.

26 Heuristiques et Algorithmes Exacts Regle 2:on ajoute l'ar^ete [t; x

2] et on elimine l'ar^ete [x 2

; y

2] avec x 2 un sommet appartenant a la cha^ne du lasso, ety

2 son successeur dans la cha^ne le plus proche du sommet t.

Il faut remarquer que la structure de lasso est preservee apres l'application de la regle 1 ou de la regle 2. Sin est le nombre de sommets, ces deux regles de nissent un voisinage dont la taille est egale a 2n. La recherche locale s'e ectue en O(n) operations.

Les mouvements decrits dans les deux regles precedentes sont tres proches du mouvement elementaire de Lin et Kernighan [64], noteLK, qui s'applique egalement a un lasso. Dans les deux regles 1 et 2, on ajoute une ar^ete et on elimine une autre pour faire varier la terminaison (la racine reste invariable), tandis qu'un mouvement LK consiste a eliminer une ar^ete [r; s], avec s une sous-racine, et ajouter une ar^ete quelconque pour faire varier la racine (la terminaison reste invariable). L'idee de base de l'algorithme de Lin et Kernighan consiste a construire, a partir d'un cycle hamiltonien initial (lasso degenere), une suite de lassos, en e ectuant, a chaque fois, un mouvement LK, tel que le co^ut de l'ar^ete ajoutee est plus petit que celui de l'ar^ete eliminee. On retiendra la meilleure solution parmi toutes les solutions triviales associees aux lassos generes. Souvent, on impose que les ar^etes eliminees n'aient pas ete ajoutees auparavant.

L'algorithme que nous avons developpe se base sur une structure qui di ere tres legerement du lasso et qu'on appellera lasso ferme; sa gestion ne demande pratiquement aucun e ort supplementaire. Cette nouvelle structure nous permettra d'elargir le voisinage.

De nition 2.1.2 Une generalisation d'un lasso de terminaison t et de ra-cine r

1 consiste a lui ajouter une ar^ete de type [t; r

2]. La structure ainsi obtenue est appelee lasso ferme.

On distinguera deux types de lassos fermes selon que le sommet r 2 ap-partient a la cha^ne ou au cycle du lasso. Si le sommet r

2 appartient a la cha^ne du lasso, on obtient un bicycle et si le sommet r

2 1 1 r r r r2 Bicycle : sous-racine Tricycle t t

Fig. 2.7 { Les deux types de lasso ferme.

du lasso, on obtient un tricycle. La gure 2.7 represente ces deux types de lassos fermes.

Le lasso ferme est appele egalement structure a double racines. Les som-mets r

1 et r

2 sont appeles racines du lasso ferme, et les sommets qui leurs sont adjacents sont appeles sous-racines du lasso ferme (voir gure 2.7). On dira qu'une sous-racine est de cycle si elle appartient a un cycle.

Un lasso ferme engendre plusieurs lassos en enlevant a chaque fois une ar^ete entre une racine et une sous-racine de cycle. En considerant toutes les solutions triviales de ces lassos, on peut en deduire jusqu'a 6 solutions di erentes, dites solutions triviales du lasso ferme.

Les deux regles suivantes, illustrees dans la gure 2.8, de nissent les dif-ferentes manieres d'appliquer l'operation de base a un lasso ferme selon qu'il s'agisse d'un tricycle ou d'un bicycle.

Regle 3: a un tricycle, on elimine l'ar^ete [r; s], avec r une racine et s une sous-racine adjacente a la racine r, et on ajoute l'ar^ete [s; i] avec i un sommet quelconque.

Regle 4:a un bicycle, on enleve l'ar^ete [r; s], avecr une racine ets une sous-racine n'appartenant pas a un cycle, et on ajoute l'ar^ete [s; i] aveci un sommet quelconque appartenant au m^eme cycle que la racine consideree.

28 Heuristiques et Algorithmes Exacts Regle 3 Regle 4 r1 s i r2 i 1 r s r2

Fig. 2.8 { Operations sur un lasso ferme.

On remarque que, dans ce cas la egalement, la structure du lasso ferme est conservee apres l'application de la regle 3 ou de la regle 4, et qu'une racine varie tandis que l'autre reste invariable. La taille du voisinage est toujours en O(n), et un e ort en O(n) operations sut pour e ectuer la recherche locale. Dans la suite, on montre qu'on peut elargir le voisinage d'une maniere exponentielle tout en maintenant une recherche locale polynomiale.

L'idee de base de notre algorithme consiste a appliquer a une structure de lasso ferme un certain nombre de fois l'operation de base en cha^ne alternee. Il reste alors a de nir le processus qui va guider notre algorithme dans cette t^ache. On de nira des restrictions qui vont nous permettre de ma^triser le processus et d'evaluer l'algorithme, notamment sur le plan combinatoire.