• Aucun résultat trouvé

Heuristiques pour le problème du vendeur <span class="mathjax-formula">$m$</span>-péripatétique

N/A
N/A
Protected

Academic year: 2022

Partager "Heuristiques pour le problème du vendeur <span class="mathjax-formula">$m$</span>-péripatétique"

Copied!
14
0
0

Texte intégral

(1)

DOI:10.1051/ro/2009001 www.rairo-ro.org

HEURISTIQUES POUR LE PROBL` EME DU VENDEUR m-P´ ERIPAT´ ETIQUE

Eric Duchenne ´

1

, Gilbert Laporte

2

et Fr´ ed´ eric Semet

3

Abstract. Them-Peripatetic Salesman Problem (m-PSP) is defined on a undirected graphG= (V, E) whereV ={1, ..., n}is the vertex set, E ={(i, j) :i, j∈ V, i < j}is the edge set and (cij) is a cost matrix defined on E. The m-PSP consists of determining m edge-disjoint Hamiltonian cycles of least total cost onG. This article describes seven new heuristics for the m-PSP and compares them with the heuristic proposed by Krarup in 1975.

R´esum´e. LeProbl`eme du Vendeurm-P´eripat´etique(m-PVP) est d´efi- ni sur un graphe non orient´e G= (V, E) o`u V ={1, . . . , n}est l’en- semble des sommets, E ={(i, j) :i, j V, i < j} est l’ensemble des arˆetes et (cij) est une matrice de coˆuts d´efinie surE. Lem-PVP consiste

`

a d´eterminermcycles hamiltoniens surGn’ayant aucune arˆete en com- mun et dont le coˆut total est minimal. Cet article d´ecrit sept nouvelles heuristiques pour le m-PVP et les compare `a celle qui a ´et´e propos´ee par Krarup en 1975.

Mots Cl´es. Probl`eme du Vendeur m-P´eripat´etique, Probl`eme du Voyageur de Commerce, heuristiques.

Classification Math´ematique. 90C09, 90C59.

Received February 19, 2006. Accepted July 17, 2008.

1 LAMIH-ROI, Universit´e de Valenciennes, Le Mont Houy, 59313 Valenciennes, Cedex 9, France

2 GERAD and Canada Research Chair in Distribution Management, HEC Montr´eal, 3000 chemin de la Cˆote-Sainte-Catherine, H3T 2A7, Montr´eal, Canada

3 LAMIH-ROI, Universit´e de Valenciennes, Le Mont Houy, 59313 Valenciennes, Cedex 9, France ;frederic.semet@univ-valenciennes.fr

Article published by EDP Sciences c EDP Sciences, ROADEF, SMAI 2009

(2)

1. Introduction

LeProbl`eme du Vendeurm-P´eripat´etique(m-PVP) est d´efini sur un graphe non orient´eG= (V, E) o`u V ={1, . . . , n} est l’ensemble des sommets,E ={(i, j) : i, j∈V, i < j}est l’ensemble des arˆetes et (cij) est une matrice de coˆuts d´efinie sur E. Le m-PVP consiste `a d´eterminer mcycles hamiltoniens surGn’ayant aucune arˆete en commun et dont le coˆut total est minimal. Pour ´eviter les cas triviaux ou inadmissibles, on suppose que 2≤m (n1)/2 et n≥6. Dans cet article, un cycleC est d´efini comme l’ensemble des arˆetes qui le constituent.

Le m-PVP a ´et´e introduit par Krarup [11] en 1975. Des applications de ce probl`eme se retrouvent dans la planification de tourn´ees de veilleurs de nuit qui, pour des raisons de s´ecurit´e, doivent utiliser des arˆetes diff´erentes dansmtourn´ees cons´ecutives [17]. Il peut aussi ˆetre appliqu´e `a la conception de r´eseaux de v´ehicules autoguid´es [2,16] et `a la d´etermination de chemins mutuellement disjoints pour le transport de mati`eres dangeureuses [9,13].

Les premi`eres recherches sur lem-PVP ont ´et´e r´ealis´ees par De Kort. Ce cher- cheur a d´emontr´e que le 2-PVP est NP-difficile en transformant une instance du probl`eme du chemin hamiltonien en un 2-PVP [6]. Par un raisonnement simi- laire on prouve que le m-PVP est aussi NP-difficile. De Kort [4] a propos´e une borne inf´erieure sur la valeur z de la solution optimale du m-PVP en r´esolvant un probl`eme de transport avec capacit´es. Des tests r´ealis´es sur des instances avec m = 2 et 42 n 120 ont donn´e lieu `a des d´eviations moyennes de 8.9% par rapport `a l’optimum. De Kort [5] a ´egalement mis au point un algorithme de bran- chement et bornes (“branch-and-bound”) permettant la r´esolution d’instances avec m= 2, comportant jusqu’`a 130 sommets dans le cas de coˆuts al´eatoires et jusqu’`a 60 sommets dans le cas de coˆuts euclidiens. Plus r´ecemment, Duchenne, Laporte et Semet [7,8] ont d´evelopp´e des r´esultats poly´edraux ainsi que des algorithmes de s´eparation et coupes (“branch-and-cut”) pour lem-PVP. Ces algorithmes ont permis la r´esolution exacte d’instances euclidiennes de TSPLIB [15] comportant jusqu’`a 280 sommets pourm= 2 et 26 sommets pourm= 12.

Comme les temps de calcul des m´ethodes exactes sont souvent prohibitifs, il est opportun de d´evelopper des heuristiques rapides et d’en ´evaluer le comportement

`

a l’aide de bornes inf´erieures. Quintero Araujo, Wolfer Calvo et Ould Louly [14]

ont d´evelopp´e une telle heuristique mais la difficult´e de trouver de bonnes solu- tions est telle que l’heuristique propos´ee par Krarup [11] lors de l’introduction du probl`eme semble ˆetre plus efficace. Nous pr´esentons une proc´edure de calcul de borne inf´erieure `a la Section 2 et diverses heuristiques utilisant l’heuristique de Krarup `a la Section 3. Les r´esultats num´eriques apparaissent `a la Section 4 et la conclusion `a la Section5.

2. Borne inf´ erieure

La formulation la plus naturelle du m-PVP a ´et´e propos´ee par De Kort [5] et est inspir´ee de la formulation classique du Probl`eme de Voyageur de Commerce

(3)

(PVC) [3]. Elle est d´efinie de la mani`ere suivante. Soit xek une variable binaire ; xek = 1 si l’arˆetee E appartient au cyclek; 0 sinon. On d´efinit aussiδ(i) = {e= (i, j)∈E :j ∈V} et E(S) = {e= (i, j)∈E:i∈S, j /∈S}. Lem-PVP se mod´elise ainsi :

min

m

k=1

e∈E

cexek (1)

sous les contraintes :

e∈δ(i)

xek = 2 (i∈V, k= 1, . . . , m) (2)

e∈E(S)

xek≤ |S| −1 (S⊂V,3≤ |S| ≤ n/2, k= 1, . . . , m) (3)

m

k=1

xek 1 (e∈E) (4)

xek∈ {0,1} (e∈E, k= 1, . . . , m). (5) Comme pour le PVC, ces contraintes s’expliquent ais´ement. L’objectif (1) est la minimisation de la longueur desmcycles. Les contraintes (2) sont les contraintes de degr´e qui assurent que pour chaque cycle, deux arˆetes sont incidentes `a chaque sommet. Les contraintes (3) imposent qu’aucun desmcycles ne contient de sous- tours. Les contraintes (5) assurent que la solution est enti`ere. Les contraintes (4) permettent d’obtenir des cycles `a arˆetes disjointes en interdisant la pr´esence mul- tiple de la mˆeme arˆete dans la solution.

A partir de la formulation pr´` ec´edente, il est possible d’obtenir une relaxation dum-PVP par ajout de variables et de contraintes. `A cette fin, nous introduisons la variable binairexe=m

k=1xek o`uxe= 1 si l’arˆetee∈E appartient `a l’un des cycles de la solution, 0 sinon. La formulation `a deux indices s’´ecrit :

min

e∈E

cexe (6)

sous les contraintes :

e∈δ(i)

xe= 2m (i∈V) (7)

xe∈ {0,1} (e∈E) (8)

e∈E(S)

xe≤m(|S| −1) (S⊂V,3≤ |S| ≤n−3). (9)

Le graphe support de la solution de ce mod`ele est un graphe 2m-r´egulier, qui

´

etant donn´e que cette formulation n’est qu’une relaxation du m-PVP, n’est pas

(4)

Figure 1. Graphe non hamiltonien admissible pour le mod`ele `a 2 indices avecm= 2.

forc´ementm-PVP admissible, autrement dit, il n’admet pas forc´ement une solution admissible du m-PVP. C’est par exemple le cas du graphe de la figure 1 o`u tous les coˆuts sur les arˆetes sont ´egaux `a 1. Ce graphe d´ecrit une solution admissible du mod`ele `a deux indices, mais il n’est pas hamiltonien (Baueret al. [1]) et il n’est donc pas 2-PVP admissible.

Ce mod`ele `a 2 indices, bien que NP-difficile, se r´esout en un temps raisonnable pour les instances consid´er´ees `a l’aide d’une m´ethode de s´eparation et coupes et produit une borne inf´erieure z surz [7]. La qualit´e de cette borne peut ˆetre am´elior´ee par l’ajout de contraintes de 2-couplage et de peignes [8]. Dans la suite de l’article, nous consid´erons implicitement que ces contraintes font partie du mod`ele, lequel sera r´esolu `a l’aide d’une m´ethode de s´eparation et coupes efficace comme dans [8]. Dans la grande majorit´e des cas, nous avonsz=z.

3. Heuristiques

Nous pr´esentons dans cette section quatre heuristiques pour la d´etermination d’une borne sup´erieure z sur le coˆut optimal dum-PVP. La premi`ere a ´et´e pro- pos´ee par Krarup [11]. Les trois autres sont nouvelles et am´eliorent la premi`ere heuristique.

3.1. Heuristique de Krarup

L’heuristique de Krarup [11] est une heuristique constructive gloutonne qui peut ˆetre d´ecrite de la fa¸con suivante :

Etape 1´ (Initialisation). Poserz= 0 etS=∅.

(5)

Figure 2. Exemple d’´echange 2-opt appliqu´e `a deux cycles : le retrait des arˆetes (2,3), (1,5) et leur remplacement par (1,3), (2,5) donne lieu `a une solution inadmissible.

Etape 2´ (Calcul des cycles). R´esoudre le PVC sur G = (V, E\S). Soit z le coˆut de cette solution etSP V C l’ensemble des arˆetes de cette solution.

Mettre `a jourz=z+z etS=S∪SP V C.

Etape 3´ (Test d’arrˆet). Sim cycles ont ´et´e calcul´es, terminer ; sinon, retourner

`

a l’´etape 2.

3.2. Heuristique de perturbation 2-opt

Cette heuristique applique une perturbation de type 2-opt [12] `a la solution produite par l’heuristique de Krarup. Cette perturbation enl`eve deux arˆetes d’un cycle et reconnecte les deux chaˆınes ainsi cr´e´ees en utilisant deux autres arˆetes.

Ce type de mouvement ne peut ˆetre appliqu´e qu’au sein d’un mˆeme cycle. En effet, essayer d’appliquer une perturbation 2-opt sur deux cycles distincts entraˆıne l’obtention d’une solution non admissible, soit parce qu’on obtient un seul cycle qui utilise deux fois chaque sommet, soit parce que les contraintes de degr´es ne sont plus respect´ees (voir Fig.2). Si les PVC sont r´esolus de fa¸con optimale dans l’heuristique de Krarup, appliquer ce mouvement ne peut que d´egrader la solution finale. L’id´ee est donc d’utiliser cette perturbation sur le premier cycle de l’heu- ristique de Krarup afin d’obtenir un premier cycle diff´erent, puis de poursuivre l’heuristique telle que d´ecrite pr´ec´edemment afin d’obtenir une nouvelle solution.

Cette op´eration est r´ep´et´ee pour tous les choix de deux arˆetes possibles dans le premier cycle obtenu par l’heuristique de Krarup ou par la meilleure perturbation ant´erieure.

Etape 1´ (Initialisation). Calculer une solution de d´epart de coˆutzgrˆace `a l’heu- ristique de Krarup. Sauvegarder cette solution. Soit {e1, . . . , en} l’en- semble des arˆetes du premier cycle C. Poseri= 1 etj= 3.

(6)

Etape 2´ (Mouvement 2-opt). Supprimer les arˆetes ei et ej du cycle C et les remplacer par deux autres arˆetes afin d’obtenir un cycle hamiltonienC de coˆut z. Poserz=z etS=C.

Etape 3´ (Proc´edurecompl´ement). R´esoudre le PVC surG= (V, E\S). Soitz le coˆut de cette solution etSP V C l’ensemble des arˆetes de cette solution.

Mettre `a jour z =z+z et S =S∪SP V C. It´erer cette ´etape jusqu’`a l’obtention demcycles.

Etape 4´ (Mise `a jour et test d’arrˆet). Siz< z, sauvegarder cette solution. Poser C =C, z =z, i = 1 et j = 3. Sinon, faire j =j+ 1. Sij =n+ 1, faire i=i+ 1 et j =i+ 2. Sii=n−1, terminer ; sinon, retourner `a l’´etape 2.

En pratique cet algorithme est tr`es lent. En effet, dans le meilleur des cas, c’est-`a- dire si la solution de d´epart n’est pas am´elior´ee, il donne lieu `a (m1)(n3)n/2 r´esolutions de PVC. Cependant il est possible d’acc´el´erer cette heuristique grˆace `a une proc´edure de restriction de graphe appliqu´ee imm´ediatement avant l’ex´ecution de l’´etape 2. Un graphe restreint peut ˆetre obtenu grˆace `a la formulation `a deux indices et une borne sup´erieurezfournie par l’heuristique de Krarup, par exemple.

Afin de le d´ecrire, introduisons les notations suivantes :

E1 : l’ensemble des arˆetes qui ne peuvent pas appartenir `a une solution de coˆut inf´erieur `a z;

E2 : l’ensemble des arˆetes qui ne sont pas dansE1;

G˜ : le graphe d´efini par ˜G= (V, E2). Ce graphe restreint sera utilis´e dans certains des algorithmes d´ecrits ci-dessous.

Ces ensembles peuvent ˆetre obtenus par la proc´edurerestriction suivante : Etape 1´ (Initialisation). R´esoudre le mod`ele `a deux indices. Soit xla solution

de ce mod`ele. PoserE1=E2=∅.

Etape 2´ (Mise `a jour de E1). Pour chaque arˆete e ∈E, si xe = 0, r´esoudre `a nouveau le mod`ele `a deux indices en for¸cant l’utilisation de cette arˆete.

Soitzle coˆut de la solution obtenue. Siz≥z, ins´ereredansE1, sinon, l’ins´erer dansE2.

Etape 3´ (Mise `a jour de E2). Pour chaque arˆete e E, si xe = 1, ins´erer e dansE2.

Il suffit ensuite d’appliquer l’heuristique de perturbation 2-opt sur le graphe res- treint ˜G. Cette restriction a pour effet de r´eduire consid´erablement le nombre de mouvements de type 2-opt et donc de r´esolutions de PVC et de rendre cette heuristique plus efficace.

Une autre am´elioration r´eside en l’utilisation d’une borne inf´erieure sur le coˆut des cycles restant `a calculer lors de la proc´edure compl´ement `a l’´etape 3. En effet, grˆace `a la formulation `a deux indices, on peut obtenir une telle borne. Si le coˆut des cycles d´ej`a calcul´es plus la borne inf´erieure sur le coˆut des cycles restant

`

a calculer est sup´erieur au coˆut z de la meilleure solution connue, alors il est inutile de poursuivre la proc´edurecompl´ement qui ne permettra pas d’obtenir une meilleure solution. Tout comme la premi`ere am´elioration, celle-ci permet de r´eduire significativement le nombre de r´esolutions de PVC.

(7)

Quatre autres versions de l’heuristique de perturbation 2-opt ont ´egalement

´et´e d´evelopp´ees afin d’en diminuer le temps de calcul. Ces diff´erentes heuristiques explorent un moins grand nombre de solutions et sont donc plus rapides mais aussi moins performantes. L’´etape la plus coˆuteuse de l’heuristique de perturbation 2-opt ´etant l’´etape 3, qui n´ecessite un tr`es grand nombre de r´esolution de PVC, les modifications interviennent `a ce niveau. Trois des nouvelles heuristiques r´eduisent le nombre de r´esolutions de PVC en n’appliquant pas syst´ematiquement l’´etape 3.

Les deux derni`eres heuristiques, exploitent le fait que la borne inf´erieure obtenue par le mod`ele `a 2 indices est tr`es proche de l’optimum. Plutˆot que de chercher une solution meilleure que la pr´ec´edente, on peut donc tenter de trouver une solution plus proche de la valeur de cette borne inf´erieure. Les heuristiques peuvent ˆetre d´ecrites de la fa¸con suivante :

2-opt 50%: L’´etape 3 de l’heuristique de perturbation 2-opt est appliqu´ee avec une probabilit´e de 0.5.

2-opt mn: Pour un cycle donn´e, l’´etape 3 de l’heuristique de perturbation 2-opt n’est appliqu´ee qu’avec une probabilit´e ´egale `a min{1,50/mn}.

2-opt-borne inf: Soitzla valeur de la borne inf´erieure fournie par le mod`ele

`

a 2 indices. Si la somme du coˆut des cycles d´ej`a calcul´es et de la borne inf´erieure sur le coˆut des cycles restant `a calculer est sup´erieure `a z+ (z−z)/2, la proc´edurecompl´ement n’est pas poursuivie.

2-opt-borne inf mn: Cette version combine les deux versions pr´ec´edentes.

3.3. Heuristique de perturbation invers´ee

Comme expliqu´e dans la section pr´ec´edente, il est tr`es difficile d’am´eliorer une solution compl`ete compos´ee desmcycles. Par contre, il est possible de compl´eter une solution partielle en s’inspirant de l’heuristique de Krarup. Comme pour l’heuristique pr´ec´edente, l’heuristique de perturbation invers´ee modifie le cycle de d´epart de l’heuristique de Krarup et donc la solution finale obtenue.

A l’´` etape 1 de cette heuristique, on consid`ere S1 = {h11, . . . , hm1}, l’ensemble des cycles fournis par l’heuristique de Krarup. L’heuristique propos´ee exploite le fait que le dernier des cycles de cette solution, le cycle hm1, peut contenir des arˆetes qui n’appartiennent pas `a la solution optimale. Afin d’´eviter que ces arˆetes n’apparaissent `a nouveau dans une solution, nous devons donc trouver une autre fa¸con de g´en´erer ce cycle. Nous avons donc d´ecid´e de choisir les rarˆetes les plus courtes de ce cycle,r´etant un param`etre, et de fixer le coˆut de ces arˆetes `a 0 avant de r´esoudre un PVC qui donnera lieu `a un nouveau cycleh12. De cette fa¸con le cycle h12 contiendra certainement les meilleures arˆetes du cyclehm1 ainsi que des arˆetes des premiers cycles de la solution S1. Il suffit ensuite d’appliquer la proc´edure compl´ement d´ecrite `a l’´etape 3 du premier algorithme de la Section 3.2 sur le cycleh12avec la matrice des coˆuts non modifi´ee pour obtenir une nouvelle solution S2={h12, . . . , hm2}.

(8)

Cette premi`ere id´ee permet d’obtenir une nouvelle solution mais il est possible de la d´evelopper davantage. En effet, on peut conserver le premier cycle h12 ainsi obtenu et ensuite de r´ep´eter l’op´eration pour obtenir les cycles subs´equents. On ob- tiendra ainsi d’autres solutions parmi lesquelles il suffira de conserver la meilleure.

Etape 1´ (Initialisation). Appliquer l’heuristique de Krarup afin d’obtenir la so- lutionS1={h11, . . . , hm1 }de coˆutz. Poseri= 1.

Etape 2´ (Modification des coˆuts). Fixer le coˆut des r plus petites arˆetes du cycle hmi `a 0 et calculer le cycle hii+1 dans G = (V, E) avec E=E\{h21, . . . , hi−1i }sii≥2 etE=E sii= 1.

Etape 3´ (Calcul des cycles suivants). Utiliser la proc´edurecompl´ement sur les cyclesh12, . . . , hii+1afin d’obtenir la solutionSi+1={h12, . . . , hii+1, hi+1i+1, . . . , hmi+1}de coˆut z.

Etape 4´ (Test d’arrˆet). Si z < z, poserz =z et sauvegarder la solution Si+1. Incr´ementeri. Sii < m, retourner `a l’´etape 2 ; sinon, terminer l’algo- rithme.

A la suite de nombreux tests, le param`etrera ´et´e fix´e `an/5, ce qui semble donner les meilleurs r´esultats.

3.4. Heuristique de Krarup restreinte

Les heuristiques propos´ees pr´ec´edemment sont bas´ees sur l’heuristique de Kra- rup. Cependant, nous avons remarqu´e grˆace `a la proc´edure restriction de la Section3.2qu’il arrive que cette heuristique utilise des arˆetes qui ne peuvent pas appartenir `a une solution optimale. Nous avons donc d´ecid´e de r´ep´eter l’heuris- tique de Krarup sur le graphe r´eduit ˜Gapr`es l’avoir appliqu´ee une premi`ere fois afin d’obtenir la borne sup´erieure n´ecessaire `a cette restriction.

L’id´ee utilis´ee ici peut encore ˆetre d´evelopp´ee. En effet, comme il est probable que les arˆetes aux coˆuts les plus ´elev´es n’appartiennent pas `a de bonnes solutions, il peut ˆetre int´eressant de restreindre davantage le graphe ˜G. Il faut toutefois faire attention de conserver un nombre suffisant d’arˆetes pour pouvoir obtenir au moins une solution. Pour diminuer le nombre d’arˆetes nous avons d´ecid´e de r´eduire le degr´e des sommets en prenant garde de ne pas descendre en-dessous de 2m. A chaque it´eration nous d´ecr´ementons donc le degr´e du sommet le plus ´elev´e en

´eliminant l’arˆete de coˆut maximum, tout en faisant attention `a ce que cela ne fasse pas diminuer le degr´e de l’autre sommet adjacent en-dessous de 2m. Bien entendu, il est inutile de recalculer une nouvelle solution si l’arˆete supprim´ee n’appartient pas `a la solution de l’heuristique de Krarup.

Etape 1´ (Initialisation). Appliquer l’heuristique de Krarup afin d’obtenir une solution de coˆutzet utiliser le mod`ele `a deux indices pour obtenir une borne inf´erieurez.

Etape 2´ (Restriction). Restreindre le graphe `a l’aide de la borne sup´erieure de coˆutz. Soit ˜G= (V, E2) le graphe r´esultant.

Etape 3´ (Suppression d’une arˆete). S´electionner un sommet de degr´e maximum dans ˜G, supprimer une arˆete de E2 de coˆut maximum adjacente `a

(9)

ce sommet sauf si cela fait diminuer le degr´e du sommet adjacent en dessous de 2m.

Etape 4´ (Calcul de solution). Si l’arˆete supprim´ee n’appartient pas `a la solu- tion de l’heuristique de Krarup, retourner `a l’´etape 3. Sinon, appliquer l’heuristique de Krarup au graphe restreint ˜G.

Etape 5´ (Test d’arrˆet). Si aucune solution n’existe dans le graphe, terminer.

Sinon, soitz le coˆut de la solution. Siz=z, la solution optimale a ´et´e obtenue, terminer. Siz < z, poserz=zet retourner `a l’´etape 2. Sinon, retourner `a l’´etape 3.

4. R´ esultats num´ eriques

Les algorithmes que nous venons de d´ecrire ont ´et´e cod´es en C++ et ont ´et´e ex´ecut´es sur un Pentium IV Extreme Edition 3.4 Ghz. Tous les mod`eles lin´eaires, utilis´es pour obtenir la borne inf´erieure, ont ´et´e r´esolus `a l’aide de CPLEX 9.0 et les solutions du PVC ont ´et´e obtenues grˆace `a l’algorithme LKH [10]. Cet algorithme est une heuristique efficace pour la r´esolution du PVC sym´etrique qui fournit, pour les instances que nous consid´erons, une solution optimale ou tr´es proche de celle-ci.

Une limite de 3600 s a ´et´e utilis´ee lors de ces tests. Les instances pour lesquelles la solution finale de l’heuristique n’a pas ´et´e obtenue avant cette limite ne sont pas comptabilis´ees dans les moyennes. Pour ces instances, une solution est malgr´e tout connue et est, dans le pire des cas, la solution de l’heuristique de Krarup.

Les tests ont ´et´e ex´ecut´es sur des instances euclidiennes al´eatoires et sur des instances de TSPLIB [15]. Les instances euclidiennes al´eatoires ont ´et´e obtenues en g´en´erantnpoints `a coordonn´ees enti`eres de fa¸con al´eatoire selon une loi uniforme discr`ete dans un carr´e de 100 par 100 et en calculant la distance euclidienne entre chaque paire de points. Dix instances de chaque taille ont ´et´e g´en´er´ees et pour chaque instance les tests ont ´et´e effectu´es pourm= 2, . . . ,9.

Les r´esultats obtenus avec ces toutes les heuristiques sont r´esum´es dans le Ta- bleau 1 pour les instances euclidiennes al´eatoires et dans le Tableau 2 pour les instances de TSPLIB. Un tableau suppl´ementaire3 r´esume les r´esultats obtenus pour les deux heuristiques les plus rapides, l’heuristique de perturbation invers´ee et l’heuristique de perturbation 2-opt-borne inf mn, sur des instances de TSPLIB d’une taille plus importante. Les Tableaux1, 2et 3 indiquent les ratios entre les valeurs des heuristiques de Krarup, de 2-optimalit´e, de perturbation invers´ee ou de Krarup restreinte et la valeur de la borne inf´erieure. Les temps de calcul n´ecessaires pour chaque heuristique sont ´egalement pr´esent´es, `a l’exception de celui de l’heu- ristique de Krarup qui, ´etant donn´e la taille relativement petite des graphes et l’efficacit´e de LKH, s’ex´ecute en moins d’une seconde.

Les entˆetes de ces tableaux sont les suivants : n: nombre de sommets du graphe,

m: nombre de cycles `a arˆetes disjointes dans la solution, z/z : ratio de la borne sup´erieure sur la borne inf´erieure,

(10)

Invers´ee : heuristique de perturbation invers´ee, Restreinte : heuristique de Krarup restreinte, 2-opt : heuristique perturbation 2-opt, 2-opt 50% : heuristique perturbation 2-opt 50 %, 2-opt mn : heuristique perturbation 2-opt mn,

2-opt-borne inf : heuristique perturbation 2-opt-borne inf,

2-opt-borne inf mn : heuristique perturbation 2-opt-borne inf mn, Secondes : temps CPU en seconde utilis´e pour cette instance.

A l’analyse des r´` esultats obtenus pour les instances euclidiennes al´eatoires, nous constatons que ces heuristiques sont tr`es pr´ecises. Cela est principalement dˆu `a la pr´ecision de l’heuristique de Krarup qui fournit une solution ´eloign´ee en moyenne de 0.45% de la valeur de la borne inf´erieure. Les autres heuristiques ´etant des heu- ristiques d’am´elioration s’appliquant sur la solution de l’heuristique de Krarup, leur ratio est forc´ement plus petit que celui de l’heuristique de Krarup. L’heu- ristique de perturbation 2-opt est celle qui fournit les meilleures solutions avec un ratio z/z ´egal `a 1.0022, correspondant `a une diminution d’´ecart de plus de 50% par rapport `a l’heuristique de Krarup. L’heuristique de perturbation invers´ee r´eduit l’´ecart d’optimalit´e de l’heuristique de Krarup d’environ 25% moyennant des temps de calcul tr`es modestes. On peut ´egalement observer que les heuris- tiques de perturbation invers´ee et de perturbation 2-opt-borne inf mn permettent d’obtenir de bonnes solutions pour de grandes instances en un temps raisonnable.

On peut remarquer que l’heuristique la plus pr´ecise est l’heuristique 2-opt et la moins pr´ecise est celle de perturbation invers´ee. Malheureusement, malgr´e cette constatation, aucune des heuristiques ne domine les autres, mais les heuristiques de Krarup restreinte et 2-opt-borne inf sont domin´ees. En effet, l’heuristique la plus rapide est l’heuristique de perturbation invers´ee et la plus lente est l’heuristique 2-opt. Le principal probl`eme de cette derni`ere est que le temps de calcul augmente fortement lorsque m augmente. Cela est dˆu au fait que pour m grand, on doit r´esoudre de nombreux PVC.

Les r´esultats obtenus pour les instances de TSPLIB sont sensiblement ´equivalents mˆeme si quelques diff´erences peuvent ˆetre observ´ees. Ces diff´erences peuvent ˆetre expliqu´ees en partie par le nombre d’instances sur lesquelles la moyenne est cal- cul´ee. Pour les instances euclidiennes al´eatoires, la moyenne est effectu´ee sur 310 instances alors que pour les instances de TSPLIB, celle-ci n’est effectu´ee que sur 28 instances. Les instances fournissant des r´esultats ´eloign´es de la moyenne ont donc plus d’influence sur celle-ci que pour les instances euclidiennes al´eatoires.

5. Conclusion

Nous avons d´evelopp´e plusieurs heuristiques pour le Probl`eme du Vendeurm- P´eripat´etique. Chacune des heuristiques am´eliore la qualit´e de la solution fournie par l’heuristique classique de Krarup. Dans le meilleur des cas, la r´eduction de

(11)

Tableau1.R´esultatsnum´eriquespourlesinstancesal´eatoires. InstanceKrarupRestreinteInvers´ee2-opt2-opt50%2-optmn2-optborneinf2-optborneinfmn nmz/zz/zSecondesz/zSecondesz/zSecondesz/zSecondesz/zSecondesz/zSecondesz/zSecondes 1021.00691.003001.001701.000501.000501.000501.000801.00080 1031.00461.003401.000901.000201.000201.000201.000201.00020 1041.00041.000401.000001.000001.000001.000001.000001.00000 3021.00271.000721.002601.001901.002001.001901.002001.00200 3031.00861.005641.006501.004011.004511.004011.004911.00491 3041.00601.004961.004701.002541.002531.002521.002631.00331 3051.00311.002481.002801.000691.000681.000931.000971.00112 3061.00241.0019101.001801.0004151.0004131.000831.0005131.00102 3071.00301.0029111.001611.0009181.0009171.001341.0009131.00193 3081.00291.0028141.001411.0012341.0012311.001561.0018261.00215 3091.00221.001781.000911.0011461.0011441.001291.0017411.00177 5021.00831.0062231.006321.0054951.0063901.0065181.0065771.006577 5031.00861.0062501.007301.0057211.0062181.006671.0063111.00804 5041.00871.0067621.007011.0051561.0051481.0061121.0065381.00809 5051.00561.0050761.003621.0026951.0027821.0034181.0033681.004313 5061.00421.0041861.003121.00251481.00251341.0029251.00341111.003818 5071.00321.00281081.002231.00131741.00131571.0016291.00161271.002323 5081.00271.00251271.002041.00132921.00132741.0016481.00202301.002235 7021.00361.0031921.003151.00234101.00243771.0032321.00273341.0027333 7031.00631.00472061.0062141.0045611.0047511.0050271.0050401.005521 7041.00421.00312101.003941.00221171.0022891.0028281.0025741.003216 7051.00301.00222791.002551.00081581.00101341.0012341.00091181.001625 7061.00251.00173281.002051.00083491.00082921.0009571.00102701.001242 7071.00211.00174341.001761.00116011.00115371.0013881.00164951.002063 7081.00231.00214661.001881.00139671.00138841.00161021.00207861.002277 9021.00421.00342991.0038101.002813621.003012601.0036971.003310811.00371078 9031.00851.00625941.008351.00631871.00651391.0071441.0067731.007522 9041.00531.00367071.005081.00294351.00313561.0037811.00342601.004554 9051.00371.00287911.003581.00198411.00207141.00241251.00255801.002982 Moyenne1.00451.00341721.003341.00222241.00231981.0026311.00271681.003169

(12)

Tableau2.R´esultatsnum´eriquespourlesinstancesdeTSPLIB.

InstanceKrarupRestreinteInvers´ee2-opt2-opt50%2-optmn2-optborneinf2-optborneinfmnCodenmz/zz/zSecondesz/zSecondesz/zSecondesz/zSecondesz/zSecondesz/zSecondesz/zSecondesgr212121.00251.002501.002501.002501.002501.002501.002501.00250

gr212131.00061.000611.000601.000101.000101.000111.000201.00020gr212141.0011.00111.00101212121212gr212151.00751.007511.007501.004171.004171.004171.007571.00756swiss424221.00581.0048191.005801.002601.002601.002601.002601.00260

swiss424231.00491.0047181.004901.001891.001861.001831.001871.0023swiss424241.00291.0026321.002701.0002181.0002131.001241.000261.00143swiss424251.00061.0006271.000611313131313

gr484821.01251.0125361.012501.010951.011641.011641.010931.01162gr484831.00431.0043441.004331.0027171.0027141.003561.0032121.00356gr484841.00541.0054491.005411.0036431.0036341.004991.0054241.00546gr484851.00281.001781.000721.0006501.0006431.0012101.0006401.00127

gr969621.00651.00658331.0065161.0061881.0061651.0064361.0061521.006431gr969631.0081.0087791.008111.00623801.00623051.0065731.0082101.00839gr969641.00561.00567961.004961.00357631.00356281.00381121.00565861.005672

gr969651.00361.003610321.002381.00189601.00187861.00271731.00236321.00268st707021.01181.00682411.011811.0087181.0087131.008781.011841.01183st707031.0061.00561881.00621.0025981.0025771.0028251.0032711.002815

st707041.00581.00462251.003921.00281941.00281501.0028331.00281011.002816st707051.00311.00212811.003151.00132791.00132151.0015361.00152251.001531lin10510521.00421.004211941.004231.0033261.0033231.0035201.0042231.004219lin10510531.00691.00699741.006921.00315181.00494661.0064761.00392731.006950lin10510541.00671.005512631.006771.00514991.00513121.00521981.00679611.0067126lin10510551.00791.00516541.00471.004830801.004829131.00572211.007918821.0079127

gr12012021.00641.006418041.006461.00492301.00491601.0063621.0049861.004938gr12012031.00231.002319551.00231211.00167491.00165371.00162161.00164821.0023179gr12012041.00221.002222971.002281.001513931.001510651.00192161.00210351.0022149

gr12012051.00291.002926961.0029271.001125921.001121781.00132591.001116931.0013159

Moyenne1.00501.00456611.004791.00314651.00323931.0036651.00393001.004141

Références

Documents relatifs

Pour évaluer la somme des puissances a des n pre- miers nombres entiers, nous ferons usage de la méthode suivante, qui ne suppose pas connues les puissances antérieures des

2° La somme des carrés des n premiers nombres en- tiers, diminuée de la somme de ces n mêmes nombres, est égale au tiers du produit de trois nombres entiers consécutifs, dont le

4° La fonction •&gt; dans laquelle z désigne une quantité quelconque réelle ou imaginaire et x un en- tier positif ou négatif inférieur en valeur absolue à celui des modules de z

Si, en effet, nous considérons l'une quelconque des combinaisons des m colonnes m — n -f- i à ni — n -f- i , les mineurs de l'ordre n — i formés en prenant les ni — n

quelle doit être la raison R de la progression et quel doit être son premier terme A pour que, dans chaque groupe^ la somme des termes soit le cube d'un entier.. J'ai remplacé

Il peut arriver que l'une ou l'autre des équations ne soit pas propre à être construite, par exemple, quand d s , d 2 et d ;] sont très grandes par rapport à a s ,.. Car alors

Celle de Mouehot- Vallès me semblait l'être du moment où j'ai lu à la page i3o, de l'Ouvrage cité « qu'élever une vectrice à la puissance i, c'est la convertir en une autre

Si l'on y remplace chaque élément de la dernière co- lonne par la somme des éléments delà rangée correspon- dante, multipliés, le premier par i, le deuxième par x , le