Vous êtes sur la page 1sur 42

Chapitre 1

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

1.1. Introduction Toute personne qui se confronte un jour la recherche oprationnelle croise ncessairement sur son chemin le problme du voyageur de commerce (not usuellement TSP). Ce qui donne ce caractre incontournable au TSP, cest la fois sa facilit dapprhension et sa proximit conjointe avec des problmes simples et complexes. Un problme parlant : on imagine aisment le reprsentant de commerce tracer son parcours sur une carte. Un problme de rfrence en optimisation combinatoire : rsoudre lnigme P=NP, cest trouver un algorithme polynomial pour TSP ou, au contraire, prouver que tout algorithme qui le rsout de faon exacte est de complexit exponentielle. Un problme pdagogique : sa ressemblance aux problmes daffectation ou de 2-couplage permet de saisir la nuance qui spare ce qui est facile de ce qui est non soluble, de cerner la nature et la difcult intrinsque de la combinatoire. Pour ces raisons srement, les chercheurs se sont aux heures denvol de la recherche oprationnelle passionns pour le TSP et de fait, son tude a permis lmergence de nombreuses mthodes et mthodologies de rsolution. Ainsi, parler du TSP, cest non seulement expliciter ce quest loptimisation combinatoire, ses difcults et ses enjeux, mais cest aussi le moyen de revisiter les mthodes de rsolution prsentes au cours des autres chapitres de cet ouvrage. Cest enn montrer lingniosit des chercheurs, la multiplicit des modles mis au point et les ralits que ceux-ci incarnent.

Chapitre rdig par Jrme M ONNOT et Sophie T OULOUSE.

Optimisation Combinatoire

Le problme daffectation consiste dterminer, dans un graphe, un ensemble de cycles deux deux disjoints qui soit de poids minimal ; ce problme est polynomial. Entre une affectation et un tour du voyageur de commerce, la seule diffrence est une contrainte supplmentaire impose par ce dernier : ne pas disposer de sous-cycle dans la solution. Lorsque lon modlise ces problmes sous forme de programme linaire, cette diffrence lapparence anodine se traduit par lajout dun nombre exponentiel de contraintes ; mais aussi, par la contrainte dintgrit : xij {0, 1}, o la variable xij {0, 1} traduit le choix dintgrer ou non la solution larte [i, j]. En ralit, cette contrainte est galement vraie pour laffectation (on choisit galement de prendre ou non une arte), seulement on peut sen affranchir car il est prouv que les solutions optimales sont entires, les sommets du polydre dessin par les contraintes du problme daffectation tant des points aux coordonnes entires. Ainsi, cette contrainte de non cyclage transforme le problme "arrangeant" daffectation en le problme (le plus visit avec SAT peut-tre) intraitable quest TSP. La difcult de rsolution du TSP a dautant plus port sur lui lattention des chercheurs. Aussi a-t-il t tudi et retourn sous tous les angles : thorie des graphes, programmation linaire, programmation dynamique, optima locaux, etc. Les premires formalisations de la recherche exhaustive par la stratgie dvaluation et sparation seraient mme nes de recherches sur le voyageur de commerce. Ce chapitre retrace, certainement pas de faon exhaustive, lhistoire conjointe de la recherche oprationnelle et du voyageur de commerce. Aprs avoir prsent le problme, nous proposons des algorithmes, exacts puis approchs, pour diffrentes versions du problme : minimisation ou maximisation, instances mtriques, distances binaires etc. Certains de ces algorithmes mettent en uvre des modles gnraux de rsolution tels que la stratgie par sparation et valuation, la programmation dynamique ou la recherche locale. Certains encore utilisent des heuristiques, qui ne sont autres que des ides de bon sens quant la constitution dune solution pour le problme tudi : nous pensons par exemple aux heuristiques du regret et du plus proche voisin. Dautres enn, exploitant la relative facilit de sous-problmes du TSP, partent dune solution de ces sous-problmes et construisent partir de celle-ci un cycle hamiltonien ; cest le parti pris par lalgorithme de Christodes avec larbre couvrant, mais de nombreux rsultats sont galement obtenus par le biais dun 2-couplage optimal.

1.2. Proprits lmentaires et diffrents sous-problmes 1.2.1. Proprits lmentaires Un cycle hamiltonien T sur un graphe complet Kn n sommets est un ensemble de n artes, not E(T ). Cet ensemble dartes doit vrier que le graphe partiel G = (V (Kn ), E(T )) de Kn quil engendre consiste en un cycle unique qui couvre tous les sommets.

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

Il existe dautres manires, plus intuitives peut-tre, de caractriser les cycles hamiltoniens de Kn . La premire est graphique et fait appel la notion de parcours dun cycle : un parcours dun tour T de Kn est une squence de sommets (vi1 , . . . , vin ) indiquant les sommets rencontrs lors de la description du cycle T . Prcisons quun tour T connat plusieurs parcours possibles, en fonction du point de dpart du parcours, cest--dire du premier sommet vi1 visit, ainsi que du sens de ce parcours ; linverse, chaque parcours correspond un unique cycle hamiltonien. La deuxime alternative de dnition dun cycle hamiltonien est fonctionnelle et fait appel aux permutations f sur V (Kn ). Nous rappelons quune permutation sur un ensemble est une application bijective de cet ensemble dans lui-mme. Un cycle hamiltonien est alors une permutation acyclique f sur V (Kn ), soit une permutation qui vrie la proprit : v V (Kn ), k {1, . . . , n 1}, f k (v) = v

[1.1]

o f k (v) = f f k1 (v) = f [f k1 (v)]. Remarquons que nous avons ncessairement f n (v) = v pour tout sommet v V (Kn ). Nous laissons le soin au lecteur de prouver que ces formulations sont quivalentes. 1.2.2. Diffrents sous-problmes Lorsque lon parle du voyageur de commerce, on pense souvent MIN TSP ; pourtant, nombreuses sont ses versions qui ont largement inspir la littrature : lorsque la fonction distance vrie lingalit triangulaire, cf. [CHR 76] ou ses versions relaxes et restreintes, cf. [BC 00, BEN 99], lorsque linstance est gomtrique, cf. [ARO 98, BEN 92] ou encore, lorsque lon cherche maximiser lobjectif, cf. [FIS 79, HAS 00]. La fonction distance d vrie lingalit triangulaire sur le graphe complet Kn lorsque lon a la proprit : v1 , v2 , v3 V (Kn ), d(v1 , v3 ) d(v1 , v2 ) + d(v2 , v3 ).

[1.2]

En dautres termes, la plus courte distance entre deux villes est la ligne droite. On parle alors dinstance mtrique et la restriction du voyageur de commerce ces instances est note MIN METRIC TSP. Les instances gomtriques vrient bien entendu cette proprit, avec lexigence supplmentaire que les sommets soient des coordonnes dans le plan (ou dans un espace de plus grande dimension) et que la distance entre deux points x = (x1 , x2 ) et y = (y1 , y2 ) soit issue dune norme, par exemple d2 (x, y) = (x1 y1 )2 + (x2 y2 )2 ou d1 (x, y) = |x1 y1 | + |x2 y2 |. On parle

Optimisation Combinatoire

dans le premier cas de distance euclidienne, dans le second de distance rectiligne. Finalement, lorsque lobjectif est de trouver un cycle hamiltonien dont la valeur est non plus la plus petite, mais la plus grande possible, on parle du problme MAX TSP, qui connat ses propres applications industrielles, cf. [BAR 02, GAR 85]. Les versions MIN TSP, MIN METRIC TSP et MAX TSP sont lies par les relations suivantes : pour toute instance I = (Kn , d) de MIN TSP, on peut construire une instance I = (Kn , d ) de MIN METRIC TSP ou de MAX TSP qui vrie, pour tout cycle hamiltonien T de Kn , que la valeur de ce tour sur les deux instances sont gales une transformation afne prs. Plus que cela, de linstance initiale I linstance transforme I , on aura prserv lordre relatif des solutions, vis--vis du critre doptimisation considr (minimiser ou maximiser). Concrtement, si nous prenons lexemple du passage de MIN METRIC TSP MAX TSP, on aura pour toute paire de cycles hamiltoniens T1 et T2 : d(T1 ) d(T2 ) sur I (cest--dire, T1 meilleure que T2 sur I au sens de MIN TSP) si et seulement si d(T1 ) d(T2 ) sur I (cest--dire, T1 meilleure que T2 sur I au sens de MAX TSP). Par la suite, on notera dmax = maxeE(Kn ) d(e), dmin = mineE(Kn ) d(e) et d(T ) = eE(T ) d(e). Partant donc dune instance I de MIN TSP, on construit une instance I de MIN METRIC TSP en posant e E(Kn ), d (e) = d(e) + dmax ; on obtient alors pour tout cycle hamiltonien T la relation suivante : d (T ) = d(T ) + n dmax

[1.3]

On vrie aisment que la fonction d satisfait lingalit triangulaire. Pour MAX TSP, en posant e E(Kn ), d (e) = dmax + dmin d(e), la relation devient : d (T ) = n (dmax + dmin ) d(T ) [1.4]

En ralit, puisque lon a trivialement les galits d min = dmin et dmax = dmax , cette transformation de la fonction distance permet galement dobtenir la relation [1.4] pour la construction dune instance I = (Kn , d ) de MIN TSP partir dune instance I = (Kn , d) de MAX TSP. De toutes ces relations, on dduit quun algorithme rsolvant lune de ces versions nous permet de dduire pour chacune delles un algorithme qui la rsout et dont la complexit est du mme ordre, O(n2 ) prs. On parle alors de rduction polynomiale, cf. le chapitre de Ausiello et Paschos, cest-dire que lon ajoute la complexit de lalgorithme initial au plus un polynme pour construire de nouveaux algorithmes. Cette promiscuit qui lie ces trois versions du TSP du point de vue de leur rsolution, nous lexplicitons formellement au travers de deux lemmes.

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

L EMME 1.1. MIN TSP et MIN METRIC TSP sont, en termes de complexit, quivalents rsoudre lajout dun facteur O(n2 ) prs. Preuve. Soit AlgoTSP un algorithme exact pour MIN TSP ; puisque MIN METRIC TSP est un sous-problme de MIN TSP, lalgorithme AlgoTSP rsout en particulier MIN METRIC TSP. Rciproquement, supposons que AlgoTSP soit un algorithme exact pour MIN METRIC TSP et voyons comment il pourrait nous permettre de rsoudre MIN TSP. Soit I = (Kn , d) une instance de MIN TSP, on construit linstance I = (Kn , d ) de MIN METRIC TSP o d est dnie par : e E(Kn ), d (e) = d(e) + dmax . On lance alors AlgoTSP sur I et lon considre la solution renvoye comme solution de linstance initiale I. Or, lgalit [1.3] nous permet dafrmer quun cycle hamiltonien T est solution optimale sur I pour MIN TSP si et seulement sil est solution optimale sur I pour MIN METRIC TSP : nous dduisons ainsi quune telle procdure permettra de rsoudre MIN TSP sachant que lon sait rsoudre MIN ME TRIC TSP, et ce en dgradant au plus dun facteur O(n2 ) la complexit de AlgoTSP, puisque cest le temps ncessaire la construction de linstance I . Selon le mme principe, lgalit [1.4] et la remarque qui la suit nous permettent dcrire et de justier le lemme suivant. L EMME 1.2. MIN TSP et MAX TSP sont, en termes de complexit, quivalents rsoudre un ajout dun facteur O(n2 ) prs. 1.3. Algorithmes de rsolution exacte La premire ide qui vient lesprit lorsque lon veut rsoudre TSP est certainement celle de la recherche exhaustive. Le principe en est trs simple, mais au prix dune complexit en temps trs leve : il consiste dterminer toutes les solutions, en valuer la valeur, puis slectionner la meilleure de ces solutions. Dans notre contexte, cela se traduit par la recherche de tous les cycles hamiltoniens. Or, dans un graphe complet Kn , il y a (n1)! tours possibles ; sachant que lvaluation dun tour 2 ncessite un temps O(n), nous obtenons une complexit totale en temps de O(n!), ce qui est quivalent, lorsque n tend vers linni, O(nn 2nen ). Nous allons cependant voir que lon peut diminuer de beaucoup cette complexit. 1.3.1. Un algorithme de Programmation Dynamique Cet algorithme, simple expliciter, utilise le principe de la programmation dynamique, cf. le chapitre Escofer et Spanjaard. Il peut tre dcrit de la manire suivante, cf. [HEL 62] : tout dabord, trouver pour chaque sommet vi du graphe une plus courte chane de v1 vi qui visite tous les sommets de V ; ensuite, ajouter chacune de ces chanes larte retour qui permet de former un cycle ; enn, choisir le meilleur des cycles ainsi construits.

Optimisation Combinatoire

Pour dterminer la meilleure chane de v1 vi , lalgorithme rsout le problme plus gnral qui consiste dterminer pour tout V V \{v1 } et tout sommet v de V la meilleure chane dextrmits v1 et v qui visite une et une seule fois chaque sommet de V . Par la suite, on note par EnsembleCh(V , v) lensemble des chanes qui vrient ces exigences, par MeilleurCh(V , v) une plus courte chane parmi cellesci et par ValeurCh(V , v) sa valeur. On montre aisment que lorsque |V | 2, la quantit ValeurCh(V , v) satisfait pour tout sommet v de V : ValeurCh(V , v) = minw=vV {ValeurCh(V \ {v}, w) + d(w, v)}. Cette relation traduit la rexion suivante : "sur V et pour lun de ses sommets v, il suft, pour dterminer la plus courte chane de v1 v qui passe par chaque sommet de V , de connatre les plus courtes chanes partant de v1 qui passent par chaque sommet de V \ {v}". Lalgorithme consiste exploiter cette relation : il construit itrativement MeilleurCh(V , v) et ValeurCh(V , v) pour des sous-ensembles V de plus en plus grands, jusqua obtenir MeilleurCh({v2 , . . . , vn }, v) pour tout sommet v de V \ {v1 }. Algorithme de programmation dynamique 1) Pour i = 2 n, faire : 2) MeilleurCh({vi }, vi ) = (v1 , vi ) et ValeurCh({vi }, vi ) = d(v1 , vi ) ; 3) Pour j = 2 n 1, faire : 4) Pour tout V {v2 , . . . , vn } de cardinalit j, faire : 5) 6)

7) MeilleurCh(V , v) = (MeilleurCh(V \ {v}, w0 ), v) (o w0 est le sommet qui atteint ce minimum) ; 8) Renvoyer T = arg minvn 2 {ValeurCh({v2 , . . . , vn } \ {v}, v) + d(v, v1 )} ; v=v La remarque prcdente permet de conclure que cet algorithme construit bien une solution optimale de MIN TSP. Nous estimons maintenant sa complexit en temps, qui est essentiellement dtermine par les trois boucles imbriques (tapes 3, 4 et 5). Fixons dans un premier temps lentier j {2, . . . , n 1} (itration j de la boucle 3), lensemble V {v2 , . . . , vn } de taille j (itration V de la boucle 4) et le sommet v V (itration v de la boucle 5) ; trouver ValeurCh(V , v) et MeilleurCh(V , v) ncessite un temps O(j) connaissant les quantits ValeurCh(V \{v}, w) pour w = v V . Puisque cette opration est rpte pour chaque sommets v de V , litration V de la boucle 5 prend globalement un temps O(j 2 ). Cette boucle tant elle-mme rpte pour chaque sous-ensemble V de taille j parmi {v2 , . . . , vn }, elle consomme en tout j n! j un temps Cn1 O(j 2 ), o lon rappelle que Cn vaut j!(nj)! . Enn, ltape 3 est droule pour chaque j {2, . . . , n1}, ce qui nous permet de dduire une complexit n1 j totale en temps majore par la quantit j=2 Cn1 O(j 2 ) = O(n2 2n ).

Pour tout v V , faire : ValeurCh(V , v) = minwV {ValeurCh(V \{v}, w) + d(w, v)} ;

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

T HORME 1.1. [HEL 62] Lalgorithme de programmation dynamique rsout optimalement MIN TSP. 1.3.2. Un algorithme de sparation et valuation Lalgorithme, conu par J.D.C. Little, K.G. Murty, D.W. Sweeney et C. Karel, cf. [LIT 63], met en uvre une mthode par sparation et valuation base sur lheuristique du regret. Il sagit maintenant de rsoudre le TSP dans un cadre plus gnral : sa version asymtrique. Nous travaillons sur un graphe G = (V, A) complet orient sur n sommets {v1 , . . . , vn } o la distance d(vi , vj ) pour se rendre de vi vj nest pas ncessairement la mme que la distance d(vj , vi ) de larc (vj , vi ). Notons que pour transformer une instance symtrique en une instance asymtrique, il suft de dupliquer chaque arte [vi , vj ] en deux arcs (vi , vj ) et (vj , vi ) de mme distance que larte initiale ; cette procdure, qui ncessite un temps O(n2 ), permet dappliquer un algorithme conu pour le cas asymtrique toute instance du cas symtrique. Le regret est la faon dvaluer le cot, que lon pourrait qualier dinopportunit, de la non incorporation dun arc la solution ; pour le calculer, les distances doivent au pralable subir une opration appele rduction. On commence par retirer chaque arc a = (vi , vj ) le plus petit cot pour partir de i, soit formellement : i = 1, . . . , n, on note Di = minj=i {d(vi , vj )} et lon pose, pour tout j = i, d (vi , vj ) = d(vi , vj ) Di . Cest ensuite le plus petit cot pour arriver en i et relativement d que lon retire : j = 1, . . . , n, on note Dj = mini=j {d (vi , vj )} et lon pose d (vi , vj ) = d (vi , vj )Dj pour tout i = j. Il est ais de constater que la fonction d ne transforme n pas lordre relatif des tours ralisables ; en effet, si lon note D = i=1 Di , D = n j j=1 D et D = D +D , alors les fonctions d, d et d vrient la double ingalit : T, d (T ) = d (T ) D = d(T ) D. La gure 1.1 droule ltape de rduction sur un graphe cinq sommets. v1 5 7 14 3 D = 10 v 2 v3 v 4 11 1 7 - 3 12 1 - 9 9 5 12 7 1 v5 9 3 13 4 D = 2 v1 v2 v3 v4 v 5 - 10 0 6 8 2 - 0 9 0 6 0 - 8 12 10 5 1 - 0 2 11 6 0 ______________ 2 2 v1 00 4 8 00 D = 12 v 2 v 3 v4 v5 10 06 6 8 - 00 9 00 09 - 8 12 5 1 - 01 11 6 06 -

v1 v2 v3 v4 v5

1 3 1 4 1 10

v1 v2 v3 v4 v5

v1 v2 v3 v4 v5

Figure 1.1. Calcul des cots rduits sur le graphe initial

La constante D offre une premire estimation du cot dune solution optimale sur G (T , d(T ) = d (T ) + D et d (T ) 0 d(T ) D). De surcrot, la rduction

Optimisation Combinatoire

permet de faire apparatre des arcs de cot nul partant de chaque sommet et arrivant en chaque sommet ; cest prcisment sur ces arcs que les regrets sont calculs, traduisant larbitrage suivant : "Si incorporer un arc de cot nul la solution na aucune incidence sur lvaluation de celle-ci, combien nous en cotera-t-il de ne pas lemprunter ?". Sur le dernier tableau de la gure 1.1, considrons larc (v3 , v2 ) : lemprunter ne coterait rien, tandis que linterdire imputerait la solution un cot supplmentaire dau moins 4 (cot minimal pour partir de v3 autrement quen allant vers v2 ) + 5 (cot minimal pour arriver en v3 autrement que par v2 ) = 9 : cest la notion de regret. Formellement, le calcul des regrets revient dterminer pour tout arc a = (vi , vj ) tel que d (a) = 0 la quantit : r(a) = mink=j,i {d(vi , vk )} + mink=i,j {d(vk , vj )}. Sur le dernier tableau de la gure 1.1, les regrets sont indiqus en exposant des arcs de cot 0. Pour exploiter loutil de rduction et de calcul des regrets dans le cadre dune procdure dexploration par sparation et valuation (cf. le chapitre de Hudry), lalgorithme de Little spare lensemble S des solutions ralisables en deux sous-ensembles complmentaires, respectivement qualis de nuds dinclusion et dexclusion : les solutions du premier empruntent larc de plus grand regret, au contraire des solutions du second. En fonction de lopportunit quil reprsente, un sous-ensemble S sera son tour spar, toujours selon le mme arbitrage, et ainsi de suite. Les feuilles de larborescence dexploration seront soit des ensembles rduits une solution unique, soit des nuds striliss, cest--dire dont on sait, un moment donn du droulement de lalgorithme, quils ne contiennent pas de solution qui soit meilleure que la meilleure solution connue. Un ensemble S de solutions est dcrit par les ensembles PS et MS des arcs de plus grand regret qui ont t successivement imposs (PS ) ou interdits (MS ) aux solutions de S. La fonction des cots sur S est note dS et rsulte des rductions successives de la fonction d initiale ; on dsigne par d sa version rduite, par DS la diffrence S entre les valuations faites par dS et d dun tour de S. Enn, on se munit dune S valuation minimale des solutions de S, note b(S) : pour valuer un nud S, on fait la somme de lvaluation de son pre et de la constante DS ; lorsque S est un nud dexclusion, DS est la valeur du plus grand regret sur son pre. Notons que lensemble AS des arcs valides sur S, indpendamment de lensemble MS , volue chaque fois quun arc est impos aux ensembles de solutions : en plus des arcs de MS , lensemble AS (qui est gal A pour S = S) exclut tous les arcs (vi , vj ) tels que vi (PS ) ou vj + (PS ), ainsi que tout arc a qui, ajout PS , crerait un souscircuit.1 La prsentation de lalgorithme est organise en deux parties : la premire dtaille les oprations qui sont faites sur un nud, cest--dire la rduction des cots,

1. Soit A un ensemble darcs, (A) (resp., + (A)) dsigne lensemble des sommets qui sont extrmit initiale (resp., nale) dun arc de A.

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

la dtermination de larc de plus grand regret et la sparation, tandis que la seconde traite de la stratgie globale dexploration. Rduction des cots 1) Poser DS = DS = 0 ; 2) Pour i = 1, . . . , n tel que i (PS ), faire : / i i 3) poser DS = min{dS (a) | a = (vi , vj ) AS } et D S = D S + DS ;
i 4) pour tout a = (vi , vj ) AS , poser d (a) = d (a) DS ; S S 5) Pour = 1, . . . , n tel que j + (PS ), faire : /

6) poser D S j = min{d (a) | a = (vi , vj ) AS } et DS = DS + D S j ; S 7) pour tout a = (vi , vj ) AS , poser d S (a) = d (a) D S j ; S 8) Poser DS = D S + D S ;

Arc de plus regret 1) Pour tout a = (vi , vj ) AS / d (a) = 0, poser S r(a) = min{d (a) | a = (vi , vk ) AS } + min{d (a) | a = (vk , vj ) AS } ; S S
k=j k=i

2) Renvoyer aS larc de regret maximal parmi les arcs de cot d nul ; S Sparation 1) Si S = S, rduire dS puis poser b(S) = DS ; 2) Sinon, si S est un nud dexclusion, rduire dS ; 3) Dterminer larc aS de plus grand regret puis sparer S en SP et SM ; 4) Sur SP : 5) 6) poser PSP = PS {aS } et MSP = MS ; rduire dS puis poser b(SP ) = b(S) + DS ;

7) Sur SM , poser PSM = PS , MSM = MS {aS }, b(SM ) = b(S) + r(aS ) ; La stratgie dexploration choisie est celle de lexploration en profondeur dabord, ne serait-ce que pour disposer rapidement dune solution et par consquent, dune borne suprieure de la valeur dune solution optimale. En effet, le but est de limiter au mieux le dveloppement de larborescence et de telles valuations, parce quelles permettent de striliser des nuds, constituent un outil prcieux. Mais si lon persiste dans cette voie, cest surtout par soucis de cohrence avec la mthode de sparation. Lvaluation des nuds peut tre htrogne, si certains sont une succession dincorporations quand dautres sont une succession de refus : un cot plus important sur une solution moiti dessine peut nanmoins sembler prfrable un cot moindre sur une solution dnue darcs. Dans la description qui suit de lalgorithme, b dcrit la meilleure borne suprieure connue pour la valeur dun tour optimal.

10

Optimisation Combinatoire

Algorithme de sparation et valuation 1) Poser b(S) = 0, dS = d, PS = MS = et b = + ; 2) Tant quil existe une feuille S tel que b(S) < b : 3) 4) choisir S t.q. b(S) est minimal parmi les feuilles t.q. |PS | est maximal ; si S est rduite un tour poser b = min{b, b(S)}, sinon, sparer S ;

5) striliser tout nud S tel que b(S) > b ; 6) Renvoyer la feuille S rduite une solution et telle que b(S) = b ; Nous reprenons maintenant le cours de notre exemple ; le lecteur est invit suivre le droulement de larborescence sur la gure 1.4. Le nud initial, not S0 , admet pour arc de plus grand regret larc (v3 , v2 ), de regret 9 ; on le spare donc en S1 (solutions issues de S0 qui empruntent (v3 , v2 )) et S2 (solutions issues de S0 qui nempruntent pas (v3 , v2 )), puis lon pose b(S2 ) = b(S0 ) + 9 = 21. Le fait dintgrer (v3 , v2 ) aux tours de S1 rend prohibs larc (v2 , v3 ), les arcs (autres que (v3 , v2 )) partant de v3 et les arcs (autres que (v3 , v2 )) arrivant en v2 . aS1 = (v1 , v3 ) v1 v2 v4 v5 v1 00 8 00 v3 07 1 6 v4 6 9 06 v5 8 00 01 aS3 = (v2 , v5 ) v1 v4 v2 - 9 v4 8 v5 08 09 v4 09 08 DS5 = 8

v1 v4 v4 8 - 8 v5 - 0 8

S5 = {(v1 v3 v2 v5 v4 v1 )} v1 v 4 v4 0 v5 0

Figure 1.2. Premire solution

Les cots sur S1 (premier tableau de la gure 1.2) sont dj sous forme rduite ; on pose alors b(S1 ) = b(S0 ) = 12. Conformment la stratgie dexploration (|PS1 | = 1 contre |PS2 | = 0), le nud courant devient S1 et larc de dcision (v1 , v3 ), de regret 7. S1 est spar en S3 (qui impose (v1 , v3 ) mais interdit (v2 , v1 ) an de ne pas gnrer le sous-circuit (v1 v3 v2 v1 )) et S4 (qui refuse (v1 , v3 )) ; ces ensembles sont respectivement valus b(S4 ) = 19 et b(S3 ) = 12. Le nouveau nud dtude est alors S3 , sur lequel larc (v2 , v5 ) est de regret maximal (deuxime tableau de la gure 1.2). S3 est son tour spar en S5 et S6 , o S5 regroupe les solutions passant par (v1 , v3 ), (v3 , v2 ), (v2 , v5 ) et S6 celles qui passent par (v1 , v3 ), (v3 , v2 ) et non (v2 , v5 ) ; on pose par ailleurs b(S6 ) = 21. La rduction des cots sur S5 nous donne DS = DS = 8, dont on dduit b(S5 ) = b(S3 ) + 8 = 20 ; le nud S5 devient le nud courant. Finalement, comme le montre le troisime tableau, S5 dcrit une solution unique, (v1 v3 v2 v5 v4 v1 ), de valeur 20. On pose alors b = 20 et lon strilise les feuilles qui ne peuvent promettre mieux que 20 : cest le cas de S2 et S6 .

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions


DS4 = 6 DS4 = 1

11

aS4 = (v4 , v3 ) v 1 v3 v1 v2 00 v4 8 0 5 v5 00 5 v4 02 9 00 v5 2 0 00 -

v1 v2 v4 v5

v1 0 8 0

v3 1 6

v4 6 9 0

v5 8 6 0 0 6

v1 v3 v 4 v 5 v1 - - 0 2 v2 0 - 9 0 v4 8 1 - 0 v5 0 6 0 ______________ 1 1

Figure 1.3. Rduction des cots et calcul des regrets sur S4

La seule feuille disponible est S4 ; puisquil sagit dun nud dexclusion, il nest pas ncessaire de rvaluer b(S4 ) : la constante de rduction a dj t incorpore par lintermdiaire du regret de ne pas emprunter (v1 , v3 ). Les regrets sur S4 (dernier tableau de la gure 1.3) nous indiquent que cest larc (v4 , v3 ) qui spare S4 en S7 et S8 . Les solutions de S8 cotent au moins 24, celles de S7 au moins 19. Le nud S8 , peine cr, est dj strilis, tandis que S7 est mis ltude (deuxime tableau de la gure 1.3). Ce dernier nud donne naissance deux ls, S9 (tours de S7 empruntant (v1 v4 )) et S10 (tours de S7 nempruntant pas (v1 v4 )). Le nud S10 est valu 21, il sera donc strilis. En revanche, S9 dcrit la solution unique (v1 v4 v3 v2 v5 v1 ), de valeur 19 : cest une solution optimale (toutes les autres feuilles sont strilises) et unique (les valuations faites des autres feuilles sont strictement pires que 19).

strilisation

12

S6
__ CB, AC BE

S0
nud strilis 12

CB

19

21

S1
12
CB

S2

___ AC

__ CB

S3
CB, AC

S4

21 19

20

24

S5
CB, AC, BE

S6

S7
__ CB, DC DC

S8
__ __ CB AC, DC

__ CB, AC BE

19
ACBEDA

21
__ 10 __ __ CB AC,DC,AD

S9
CB, DC, ___ DC AD

ADCBEA

Figure 1.4. Algorithme de Little

12

Optimisation Combinatoire

MIN

T HORME 1.2. [LIT 63] Lalgorithme de sparation et valuation rsout TSP loptimum.

1.4. Algorithme approch pour MAX TSP Nous prsentons ici deux algorithmes approximant MAX TSP suivant deux ratios de performance : le rapport standard et le rapport diffrentiel. Ces ratios traduisent lexistence dun rel r ]0 ; 1] vriant, pour toute instance I, val(T ) r optmaxT SP (I) pour le premier, val(T ) roptmaxT SP (I)+(1r)wormaxT SP (I) pour le second, o optmaxT SP (I), wormaxT SP (I) et val(T ) dsignent respectivement la valeur dun tour optimal, dun plus mauvais tour sur linstance I et dun tour approch . Concrtement, il sagit de situer la valeur de la solution approche relativement la valeur optimale pour le rapport classique, relativement aux valeurs dune pire et dune meilleure solutions en diffrentiel : quite utiliser des algorithmes approchs, on souhaite pour le moins estimer la qualit des solutions fournies, en situant leur valeur sur le spectre des valeurs possibles. Le schma 1.5 illustre les mesures classique et diffrentielle pour un problme de maximisation en indiquant les intervalles discrets pour des solutions 1/2-approches relativement aux deux rapports ; la valeur dune pire solution est note wor(I), la valeur optimale est note opt(I).
0 wor(I)
opt(I) 2 wor(I)+opt(I) 2

opt(I)
rapport diffrentiel rapport standard interval discret

1 Figure 1.5. Positionnement dune solution 2 -approch.

Pour connatre en dtail les concepts lis la notion dalgorithme garantie de performances, le lecteur est invit consulter le chapitre de Demange et Paschos. La premire voie de rsolution consiste adapter lide propose pour la mesure standard dans [FIS 79] o les auteurs, partant dun 2-couplage parfait de poids maximal, modient celui-ci de manire obtenir un tour. Un ensemble dartes E E dun graphe G = (V, E) est un 2-couplage si chaque sommet de G est incident au plus 2 artes de E ; notons que cest le cas dun cycle hamiltonien, puisque dans un cycle, tout sommet est de degr exactement 2. Plus gnralement, supposons que soit affect chaque sommet vun entier naturel f (v) : un f -couplage est alors un ensemble dartes E E qui vrie que chaque sommet v est incident au plus f (v) artes de E . Lorsque chaque sommet v est incident exactement f (v) artes de E , le f -couplage est dit parfait. Un autre cas particulier de f -couplage que lon

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

13

E'
1 1 1 1

T1
1 1 6 2 2 2 6

T2

T3

Figure 1.6. Illustration du fonctionnement de lalgorithme lorsque k = 3.

rencontre souvent est celui o la fonction f (v) est valeur dans {0, 1} : on parle alors de couplage. Finalement, on appelle f -couplage de poids maximal un f -couplage E dont la somme des poids des artes est maximale. Dans [HAR 84], il est propos un algorithme de complexit O(n3 ) qui construit un 2-couplage de poids maximal dans un graphe donn. Par le biais dun lger artice, cet algorithme permet galement de construire un 2-couplage parfait de poids maximal : il suft pour ce faire daugmenter le poids de chaque arte de telle sorte que chaque 2-couplage de poids maximal soit ncessairement parfait. Pour la description des algorithmes construisant un f -couplage, cf. [GON 95]. Les problmes de 2-couplage se complexient nanmoins lorsque lon ajoute une certaine contrainte quant la forme des cycles, plus prcisment sur le nombre minimal de sommets que les cycles du couplage doivent contenir : on parle alors de 2-couplage k-restreint, cf. [KIR 99]. Un 2-couplage parfait est dit k-restreint si tous ses cycles contiennent au moins k + 1 sommets. Il est remarquable quun 2-couplage parfait est 2-restreint (chaque cycle contient au moins 3 sommets) ou encore quun 2-couplage parfait n 1-restreint est un cycle hamiltonien ; en ralit, on peut prouver quun 2-couplage parfait k-restreint est un cycle hamiltonien si et seulement si n 2 k n 1. Le problme de dterminer un 2-couplage parfait 4-restreint de poids maximal est NP-difcile, cf. [PAP 98, VOR 80]), tandis que le statut du problme consistant dterminer un 2-couplage parfait 3-restreint (cest--dire un 2-couplage parfait sans triangle) qui soit de poids maximal est une question toujours ouverte lheure actuelle. Cependant, lorsque le graphe est non pondr, il existe un algorithme polynomial pour construire un 2-couplage parfait 3-restreint, un autre pour construire un 2-couplage parfait 4-restreint si le graphe est biparti, cf. [HAR 99] (sous la condition, bien sr, que de tels 2-couplage existent).

14

Optimisation Combinatoire

1.4.1. Un algorithme bas sur le 2-couplage Puisquun tour optimal est un 2-couplage parfait particulier (ne contenant quun cycle), ces deux notions sont trs proches. Aussi, les auteurs de [FIS 79] ont conu leur algorithme de la manire suivante : pour chaque cycle du 2-couplage parfait de poids maximal, on supprime une arte de plus petit cot, puis on relie alatoirement les chanes rsultantes de manire obtenir un cycle hamiltonien. Le procd est assez simple, aussi est-il laiss au lecteur le soin de dmontrer que cet algorithme, dont la complexit en temps est de O(n3 ), retourne un tour T qui vrie : I, val(T ) 2 3 optmaxT SP (I). Malheureusement, dans le pire des cas, la solution T de cet algo1 rithme ne garantit pas lingalit val(T ) 2 optmaxT SP (I) + 3 wormaxT SP (I) : 3 cela signie que ce tour peut tre beaucoup plus proche de la pire solution que de loptimum. Lalgorithme que nous prsentons maintenant est issu de [MON 02b]. Il consiste gnrer, non plus un, mais plusieurs cycles hamiltoniens, chacun deux tant construit selon la mthode dcrite prcdemment. Lide gnrale est la suivante : partant dune collection de cycles qui couvre les sommets de Kn , chaque cycle tant de longueur au moins 3, on cre trois cycles hamiltoniens, le ime cycle hamiltonien consistant retirer la ime arte de chaque cycle du 2-couplage puis relier les cycles ainsi amputs entre-eux de sorte former un cycle unique. Plus rigoureusment, soit E un 2-couplage parfait de poids maximal dcrit par les cycles Ci , i = 1, . . . , k ; pour i i i i chacun de ces cycles Ci , nous considrons 4 sommets conscutifs v1 , v2 , v3 et v4 i i (en particulier, lorsque |Ci | = 3, nous avons v4 = v1 ) ; nalement, pour le dernier k cycle Ck , nous considrons galement lautre voisin dans Ck de v1 , que lon note y. k Notons que si |Ck | = 3, les sommets y et v3 concident, tandis que si |Ck | = 4, ce k sont les sommets y et v4 qui sont un seul et mme sommet ; autrement, y est toujours un nouveau sommet. Algorithme bas sur le 2-couplage 1) Construire un 2-couplage parfait E de poids maximal dans I = (Kn , d) contenant lensemble de cycles {C1 , . . . , Ck } ;

k 1 {[v2 , v3 ]} j=1

2) Si k = 1, alors poser E(T ) = E et renvoyer T ; 3) Si k est impair, alors faire : j j 4) Poser S1 = k {[v2 , v3 ]} et construire E(T1 ) = (E \ S1 ) j=1
(k1)/2

5) 6)

k 1 {[v1 , v2 ]} j=1

j j Poser S2 = k {[v1 , v2 ]} et construire E(T2 ) = (E \ S2 ) j=1 (k1)/2 j j Poser S3 = k {[v3 , v4 ]} et construire E(T3 ) = (E \ S3 ) j=1 (k1)/2 2j+1 2j 2j1 2j {[v1 , v1 ], [v2 , v2 ]} ;

2j1 2j 2j 2j+1 {[v2 , v2 ], [v3 , v3 ]} ;

2j1 2j 2j 2j+1 k 1 {[v3 , v3 ], [v4 , v4 ]} ; {[v3 , v4 ]} j=1 7) Si k est pair, alors faire :

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

15

8) 9) 10)

k 1 1 2 {[v1 , v3 ], [v2 , v2 ]} j=1 1 1 2 {[y, v2 ], [v1 , v1 ]} j=1

j j k k Poser S1 = k1 {[v2 , v3 ]} {[v1 , v2 ]} et construire E(T1 ) = (E \ S1 ) j=1 (k2)/2 j j k Poser S2 = k1 {[v1 , v2 ]} {[y, v1 ]} et construire E(T2 ) = (E \ S2 ) j=1 (k2)/2 2j 2j+1 2j+1 2j+2 {[v2 , v2 ], [v1 , v1 ]} ; 2j 2j+1 2j+1 2j+2 {[v3 , v3 ], [v2 , v2 ]} ;

k 1 1 2 {[v2 , v4 ], [v3 , v3 ]} j=1

j j k k Poser S3 = k1 {[v3 , v4 ]} {[v2 , v3 ]} et construire E(T3 ) = (E \ S3 ) j=1 (k2)/2 2j 2j+1 2j+1 2j+2 {[v4 , v4 ], [v3 , v3 ]} ;

11) Renvoyer T = arg max{val(T1 ), val(T2 ), val(T3 )} ;

Il est ais de voir que dans chacun des cas traits, les artes de lensemble E(Ti ) forment un cycle hamiltonien, de sorte que lalgorithme produit bien un tour. La Figure 1.6 dcrit le fonctionnement de cet algorithme lorsque k = 3. La complexit de cet algorithme est domine par ltape 1 qui consomme, daprs les remarques prcdentes, un temps O(n3 ). T HORME 1.3. [MON 02b] Pour toute instance I = (Kn , d), lingalit suivante 1 2 est valable : val(T ) 3 optmaxT SP (I) + 3 wormaxT SP (I). Preuve. soient I = (Kn , d) une instance du voyageur de commerce et T un tour optimal de valeur optmaxT SP (I) sur I. On note pertei = val(Ti ) d(E ) pour i = 1, 2, 3 ; cette quantit est ngative et reprsente le prix de la transformation du 2-couplage parfait E en le tour Ti . La solution T retourne par lalgorithme est de valeur suprieure ou gale la valeur de chaque tour Ti et ainsi, au moins aussi bonne que la moyenne des valeurs de ces tours. Autrement dit : 1 1 val(Ti )) = d(E ) + (perte1 + perte2 + perte3 ) ( 3 i=1 3
3

val(T )

[1.5]

Dun autre cot, nous pouvons facilement vrier, par un de ses parcours, que la solution T constitue par E(T ) = j=1,2,3 (E(Tj ) \ E ) (E \ (S1 S2 S3 )) est un cycle hamiltonien sur I de valeur d(T ) = d(E ) + perte1 + perte2 + perte3 . La Figure 1.8 dcrit ce cycle hamiltonien pour lexemple illustr par la Figure 1.7. Par dnition dune plus mauvaise solution, nous avons wormaxT SP (I) d(T ), ce qui revient : wormaxT SP (I) d(E ) + perte1 + perte2 + perte3 [1.6]

valuons prsent la solution optimale T ; tout tour tant un 2-couplage parfait de I, cela est galement vrai de T et lon dduit : d(E ) optmaxT SP (I) [1.7]

16

Optimisation Combinatoire

Finalement, en rapprochant les ingalits [1.5], [1.6] et [1.7], nous obtenons : val(T ) 1 2 optmaxT SP (I) + wormaxT SP (I) 3 3 [1.8]

Nous laissons au lecteur le soin de prouver que lingalit [1.8] est la meilleure possible pour cet algorithme, et ce mme lorsque d(e) {1, 2} ; pour prouver un tel fait, il suft dexhiber une famille dinstances qui atteind le rapport dapproximation nonc pour lalgorithme soumis lanalyse. Prcisons pour conclure quun rapport semblable t obtenu dans [HAS 01] et que cette ingalit [1.8] constitue lheure actuelle le meilleur rapport diffrentiel connu pour MAX TSP.
E'
1 1 1 1

T1
1 1 6 2 2 2 6

T2

T3

Figure 1.7. Illustration du fonctionnement de lalgorithme lorsque k = 3.

T*

Figure 1.8. La solution T .

1.4.2. Algorithme mlant 2-couplage et couplage Nous prsentons ici un algorithme expos dans [SER 84] et qui approxime MAX TSP relativement la mesure standard. An de faciliter la comprhension de la preuve,

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

17

nous avons volontairement modi lalgorithme en rduisant son traitement principal et son analyse au cas o lordre n du graphe est impair. La contre-partie de cette transformation est laugmentation de la complexit en temps dun facteur O(n2 ). Le principe consiste construire deux tours partiels P1 et P2 (un tour partiel est un ensemble de chanes de Kn qui sont sommet-disjointes), de slectionner le meilleur des deux, puis de prolonger celui-ci en un tour complet. Dans le but de garantir une bonne approximation de loptimum, P1 et P2 sont obtenus partir de deux bornes infrieures de loptimum : le 2-couplage parfait de poids maximal et le couplage parfait de poids maximal. Algorithme meilleur tour partiel 1) Construire un couplage parfait de poids maximal E1 dans I ; 2) Construire un 2-couplage parfait E2 de poids maximal dans I = (Kn , d), dcrit par les cycles C1 , . . . , Cp ; 3) Poser P1 = E1 et P2 = ; 4) Pour i = 1 p, faire : 5) Trouver e E(Ci ) tel que (P1 {e}) reste un tour partiel ;

6) Poser P1 P1 {e} et P2 P2 (E(Ci ) \ {e}) ; 7) Renvoyer P = argmax{val(P1 ) ; val(P2 )} ;

Cet algorithme est bien entendu dexcution polynomiale en temps et sa complexit, dordre O(n3 ), imputable la construction du 2-couplage parfait et du couplage parfait de poids maximal. La validit de cet algorithme est entirement conditionne par celle de ltape 5 au sein de la boucle 4 (une illustration de la construction de P1 et P2 qui en dcoule est propose par la Figure 1.9). Pour ltablir, nous allons tout dabord montrer par rcurrence sur le numro ditration de la boucle 4 que nous avons les proprits suivantes : chaque chane P de P1 ( ltape courante) alterne artes de E1 et de E2 ; P1 ( ltape courante) est un tour partiel. Pour i = 0, le rsultat est vrai daprs ltape 3 ; supposons que le rsultat soit vrai ltape i pour i tel que 0 i < p et prouvons quil lest encore ltape i + 1. Considrant un sommet quelconque v V (Ci+1 ), on note par e1 et e2 les deux artes qui lui sont incidentes dans Ci+1 et par P la chane de P1 qui passe par v. Si v est sommet interne de P , il est alors, par hypothse de rcurrence quant la forme des chanes de P1 , adjacent une arte de E2 ; une telle situation induirait lincidence dune arte des cycles C1 , . . . , Ci v, contredisant le fait que E2 soit un 2-couplage. Puisque v est alors extrmit de P , on peut intgrer e1 ou e2 au tour partiel P1 , lune au moins de ces deux artes ntant pas incidente lautre extrmit de P . Deux chanes de P1 vont tre relies par le biais de larte ajoute, formant une nouvelle chane qui alterne encore les artes de E1 et de E2 ; le rsultat est donc de nouveau vrai pour le

18

Optimisation Combinatoire

E2

E1

P2

P1

Figure 1.9. Les tours partiels P1 et P2 .

tour partiel constitu par P1 litration i + 1. Concernant P2 , il est ais de vrier que, par construction, il forme bien un tour partiel. L EMME 1.3. [SER 84] Pour toute instance I = (Kn , d) avec n pair, lingalit 3 suivante est valable : val(P) 4 optmaxT SP (I). Preuve. soient I = (Kn , d) une instance pour n pair et T un tour optimal de I ; dans ce cas, T peut se dcomposer en deux couplages parfaits (prendre une arte sur deux lors du parcours de T pour le premier, les artes restantes pour le second), ce dont on dduit : d(E1 ) 1 optmaxT SP (I) 2 [1.9]

Par ailleurs, puisquun tour optimal est un 2-couplage particulier, sa valeur vrie galement : d(E2 ) optmaxT SP (I) [1.10]

Finalement, en regroupant les ingalits [1.9] et [1.10] et comme val(P1 )+val(P2 ) = d(E1 ) + d(E2 ), nous obtenons : 3 1 (val(P1 ) + val(P2 )) optmaxT SP (I) 2 4

val(P)

[1.11]

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

19

Algorithme bas sur le 2-couplage et le couplage 1) Si n est pair sur I = (Kn , d), alors appliquer lalgorithme meilleur tour partiel sur I (notons P la solution renvoye) ; 2) Si n est impair sur I = (Kn , d), alors : 3) Construire Kn1 le sous-graphe de Kn induit par V (Kn ) \ {v1 } ; 4) 5) Pour tout couple 1 < i < j n, faire : poser di,j (e) = d(vi , v1 )+d(v1 , vj ) si e = [vi , vj ], di,j (e) = d(e) sinon ;

7) si Pi,j possde larte [vi , vj ], alors poser Pi,j (Pi,j \ {[vi , vj ]}) {[vi , v1 ], [v1 , vj ]} ; 8) Poser P = arg max1<i<jn {val(Pi,j )} ; 9) Complter P en un tour T de manire arbitraire et renvoyer T ; Nous rappelons que cet algorithme est une version lgrement modie de celui prsent dans [SER 84] (une prsentation particulirement claire de lalgorithme original est propose dans [BAR 02]), essentiellement dans sa faon de traiter le cas n impair. Cette transformation nuit la complexit en temps de la procdure, qui passe de O(n3 ) dans sa version originale O(n5 ) dans le version que nous avons prsente. T HORME 1.4. [SER 84] Pour toute instance I = (Kn , d), lingalit suivante est 3 valable : val(T ) 4 optmaxT SP (I). Preuve. le tour produit vrie val(T ) val(P), puisque les artes sont de cot positif ; si n est pair, le lemme prcdent suft donc conclure. Supposant maintenant que n est impair sur linstance I = (Kn , d), de solution optimale T , nous considrons linstance Ii ,j o vi et vj dsignent les sommets adjacents v1 dans T ; on a alors lingalit : optmaxT SP (Ii ,j ) optmaxT SP (I). En effet, le tour T dtermin par E(T ) = (E(T ) \ {[vi , v1 ], [v1 , vj ]}) {[vi , vj ]} est un tour ralisable de Ii ,j , de mme valeur que T . De faon semblable, Pi ,j a mme valeur sur Ii ,j et sur I (aprs lchange de larte [vi , vj ] contre la chane forme par [vi , v1 ] et [v1 , vj ]). Couples au rsultat du lemme prcdent appliqu Ii ,j , les ingalits que nous venons dnoncer permettent de conclure : 3 3 optmaxT SP (Ii ,j ) optmaxT SP (I) 4 4

6) appliquer lalgorithme meilleur tour partiel sur linstance Ii,j = (Kn1 , di,j ) (notons Pi,j la solution renvoye) ;

val(P) val(Pi ,j )

[1.12]

20

Optimisation Combinatoire

La borne produite par cet algorithme (i.e., lingalit [1.12]) tait, jusqu trs rcemment, la meilleure connue pour un algorithme dterministe. Depuis peu, cette borne a t amliore par une dramdomization des algorithmes alatoires [HAS 00, 17 HAS 02], permettant dobtenir le rapport standard 61 ( 20 dans le cas mtrique) pour 81 MAX TSP, voir [CHE 05]. Les algorithmes explicits dans [HAS 00, HAS 02], sont nanmoins plus volus et garantissent de meilleurs rsultats : il sagit dalgorithmes alatoires, cest--dire qui font des choix dpendants dune mesure de probabilit. Dans ce cadre, les rsultats obtenus ne sont pas dicts pour la valeur du tour, mais pour lesprance de celle-ci. Ces algorithmes permettent de construire un tour T dont lesprance de valeur est estime au moins ( 25 )optmaxT SP (I) pour tout > 0 33 dans le cas gnral, 7 optmaxT SP (I) dans le cas mtrique. 8 1.5. Algorithme approch pour MIN TSP Comme cela a t fait dans la section prcdente pour MAX TSP, nous prsentons ici des algorithmes approximant MIN TSP selon les rapports standard et diffrentiel. Puisquil sagit maintenant de la version minimisation, la mesure standard est dtermine par lexistence dun rel r 1 vriant pour toute instance I, val(T ) r optminT SP (I) sil sagit du TSP gnral, val(T ) r optminT SP (I) sil sagit de la version mtrique (optminT SP (I) dsigne la valeur dun tour optimal pour MIN METRIC TSP). Pour le rapport diffrentiel, lingalit devient val(T ) r optminT SP (I)+(1r)worminT SP (I) , o cette fois r [0 ; 1] et worminT SP (I) est la valeur dun plus mauvais tour , autrement dit : worminT SP (I) = optmaxT SP (I) (une pire solution pour MIN TSP est siolution optimale pour MAX TSP et vice-versa).

Une proprit naturelle du cas mtrique et qui concerne la valeur des solutions optimales est que celle-ci augmente avec lordre du graphe. Plus exactement, considrons une instance I = (Kn , d) mtrique et soit I = (Kn , d) sa restriction un sous-ensemble V (Kn ) V (Kn ) ; nous avons alors : L EMME 1.4. Pour toute instance I = (Kn , d) mtrique et pour toute restriction I = (Kn , d) de I telle que n 3, les valeurs optimales vrient optminT SP (I ) optminT SP (I). Preuve. soient I = (Kn , d) une instance mtrique et I = (Kn , d) lune de ses restrictions ; on considre alors un cycle hamiltonien T de poids minimal sur I, dcrit par la squence (vi1 , . . . , vin ). Parcourant cette squence, on note par vjk (avec 1 k n ) le k-ime sommet de Kn rencontr pour la premire fois. Il nest pas difcile de constater que la squence (vj1 , . . . , vjn ) reprsente un cycle hamiltonien T de Kn : cette squence revient remplacer les chanes k de T dextrmits vjk et vjk+1 par les artes [vjk , vjk+1 ] ; cette opration est souvent appele "prendre des raccourcis" (voir lexemple indiqu par la Figure 1.10). Puisque d vrie lingalit triangulaire,

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

21

nous avons pour tout k = 1, . . . , n lingalit : d(vjk , vjk+1 ) ek d(e) ; en sommant ces ingalits pour tout k = 1, . . . , n , nous obtenons optminT SP (I ) d(T ) d(T ) = optminT SP (I).

T*

T *'

Figure 1.10. Lopration "prendre des raccourcis".

Nombreux sont les algorithmes qui approximent MIN METRIC TSP en se basant sur la recherche dun arbre couvrant de poids minimal et sur le concept de graphe eulrien. Un graphe eulrien G = (V, E) est un multigraphe (chaque arte peut apparatre plusieurs fois), connexe, dont tous les sommets sont de degr pair (pour un sommet v, son degr dG (v) est le nombre dartes de E qui lui sont incidentes). Il nest pas difcile de prouver que ces graphes sont prcisment les graphes qui possdent un cycle eulrien, cest--dire un cycle passant une et une seule fois par chaque arte, cf. [BER 73]. De plus, tant donn un graphe eulrien dordre n, on sait trouver un parcours de ce cycle en temps O(n), cf. [GON 95]. L EMME 1.5. Pour toute instance I = (Kn , d) mtrique avec n 3 et pour tout multigraphe eulrien G = (V, E) construit sur les sommets de Kn , on peut construire en temps polynomial un cycle hamiltonien T de Kn vriant val(T ) d(E). Preuve. soient I = (Kn , d) une instance mtrique et G = (V, E) un multigraphe eulrien vriant V = V (Kn ). On note pour un parcours donn de ce cycle eulrien par (vi1 , . . . , vim ) (m = |E|) la squence des sommets visits. On remarque que (v) chaque sommet v apparat exactement dG2 fois dans la squence et que, puisquil sagit dun cycle, les sommets vi1 et vim concident. Pour construire le cycle hamiltonien, on procde de la mme faon quau cours du lemme prcdent : partant de vi1 que lon numrote par 1, on numrote successivement par des entiers naturels de plus en plus grands les sommets de Kn qui sont non encore numrots et que lon rencontre pour la premire fois lors du parcours de la squence (vi1 , . . . , vim ). Le tour T est alors exactement dcrit par la squence des sommets numrots de 1 n. Par construction, tous les sommets de T ne sont visits quune seule fois ; de plus, puisque G est connexe, on est assur quaucun sommet nest oubli : T est bien un cycle hamiltonien. Supposons que celui-ci soit dcrit par la squence (vj1 , . . . , vjn ) et notons par k pour k = 1, . . . , n lensemble des artes de E rencontres lors du parcours de la squence (vi1 , . . . , vim ) qui commence au sommet numrot k et sachve au sommet dordre k + 1 (ces indices sont considrs modulo n). Puisque la squence

22

Optimisation Combinatoire

(vi1 , . . . , vim ) dcrit un cycle eulrien, les chanes k forment une partition de E. De plus, puisque d vrie lingalit triangulaire, nous avons pour tout k = 1, . . . , n lingalit : d(vjk , vjk+1 ) eE(k ) d(e). En sommant ces ingalits pour tout k = 1, . . . , n, nous obtenons le rsultat. Enn, nous remarquons que cette procdure est ralisable en un temps O(n). En saidant de ce lemme, il est ais de btir un algorithme fond sur la recherche dun arbre couvrant de poids minimal. Etant donn un graphe connexe G = (V, E), un arbre couvrant G est un sous-ensemble dartes E E tel que le graphe partiel G = (V, E ) est connexe et sans cycle. Nous indiquons au lecteur quil existe de nombreuses proprits et caractrisations des arbres, cf. [BER 73]. Lorsque chaque arte e du graphe G = (V, E) a un poids d(e) 0, la dtermination dun arbre couvrant E dont la somme des poids des artes est minimale parmi les arbres couvrants de G peut se faire en complexit O(n2 ), cf. [GON 95]. Lensemble E est alors appel arbre couvrant de poids minimal.
1 1 1

E'

G'

Figure 1.11. La solution T .

Algorithme bas sur larbre couvrant 1) Construire un arbre E couvrant Kn de poids minimal ; 2) Construire le multigraphe G sur les sommets de Kn en partant du graphe partiel induit par E et en dupliquant chaque arte de E ; 3) Appliquer sur G le lemme prcdent et renvoyer T ; Daprs les explications prcdentes, la complexit en temps de cet algorithme vaut O(n2 ) et est imputable la construction tablie par ltape 1 ; vrions maintenant que cet algorithme produit bien un cycle hamiltonien T , ce qui rsume dmontrer que G est eulrien. Or, dune part, G est connexe car il contient larbre E et, dautre part, le degr dans G de chaque sommet est pair puisquil est le double du degr dans le graphe partiel engendr par larbre E (la gure 1.11 illustre le fonctionnement de cet algorithme) !

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

23

Considrons prsent la performance, en termes de qualit de la solution fournie, de lalgorithme ; pour ce, nous voquons le thorme suivant, qui na pas de rfrence exacte ; disons quil appartient au "folklore" de la discipline. T HORME 1.5. Pour toute instance I = (Kn , d) mtrique, lingalit suivante est valable : val(T ) 2 optminT SP (I). Preuve. soient I = (Kn , d) une instance mtrique et T une solution optimale de valeur optminT SP (I) du voyageur de commerce ; la suppression dune arte e quelconque de T forme un arbre couvrant de Kn et puisque d(e) 0, nous dduisons d(T ) d(e) optminT SP (I). Dun autre cot, la valeur de E est celle dun arbre couvrant de poids minimal . Ainsi, nous avons : d(E ) = optminT SP (I)

[1.13]

Finalement, puisque le poids des artes de G vaut 2d(E ), le lemme prcdent appliqu G nous permet de conclure.

1.5.1. Algorithme bas sur larbre couvrant et le couplage Lalgorithme propos dans [CHR 76] est un rafnement de la mthode prcdente ; il est donc construit partir dun arbre couvrant de poids minimal, mais galement partir dun couplage parfait de poids minimal. Un couplage dans un graphe G = (V, E) est un ensemble dartes E E deux deux non adjacentes. Ce couplage est dit parfait lorsque, dans G , il nexiste pas de sommet isol (chaque sommet est lextrmit dune arte). Dans ce cas, il est ncessaire que lordre du graphe n soit pair et nous avons la relation |E | = n . Un couplage dans un graphe G dont les artes 2 sont pondres par une fonction distance d est dit parfait de poids minimal lorsque la somme des poids de ses artes est minimale parmi les couplages parfaits de G. La dtermination dun couplage parfait de poids minimal est de complexit polynomiale et peut se faire en O(n3 ), cf. [PAP 98, GON 95]. Notons cependant que la determination dun couplage de poids minimal parmi les couplages maximaux vis--vis de linclusion (lajout dune arte quelconque au couplage ne forme plus un couplage) est un problme NP-difcile, et ce mme lorsque les poids sont tous gaux, cf. [GAR 79]. Algorithme bas sur larbre couvrant et le couplage 1) Construire un arbre E couvrant Kn de poids minimal ; 2) Construire la restriction I = (Kn , d ) de I aux sommets V dont le degr est impair dans le graphe partiel G engendr par les artes de larbre E ; 3) Construire un couplage parfait E de poids minimal sur I ;

24

Optimisation Combinatoire

4) Construire le multigraphe G dont les sommets sont V (Kn ) et les artes E et E (les artes communes E et E sont duppliques) ; 5) Appliquer sur G , le lemme prcdent et renvoyer T ;

La complexit de cet algorithme est principalement dtermine par litration 3, qui consomme un temps O(n3 ), tandis que sa validit est conditionne par le fait que les itrations 3 et 5 soient possibles effectuer ; or, puisque le graphe de linstance I est complet, un couplage parfait existe si et seulement si |V | est pair : il sagit donc de prouver que le nombre des sommets de degr impair dans G est pair. En ralit, cela est vrai pour tout graphe G = (V, E) et provient de lgalit vV dG (v) = 2|E| ; ainsi, litration 3 est bien valide. Concernant litration 5, il suft de vrier que G est bien un multigraphe eulrien. Or, dune part, G est connexe puisquil contient larbre couvrant E et, dautre part, tous ses sommets sont de degr pair puisque seuls les sommets de degr impair dans G voient leur degr augment dune unit dans G . Une illustration de cet algorithme est propos dans la gure 1.12.
1 1 1 1

G'
2 3 2 3 2 3 2 3

E'

E''

G''

Figure 1.12. La construction de la solution T .

T HORME 1.6. [CHR 76] Pour toute instance I = (Kn , d) mtrique, lingalit 3 suivante est valable : val(T ) 2 optminT SP (I). Preuve. soit I = (Kn , d) une instance mtrique ; en appliquant le Lemme 1.4 sur linstance I , nous avons
d(T1 ) optminT SP (I)

[1.14]

o T1 est une solution optimale sur linstance I . Par ailleurs, les artes du tour T1 peuvent scrire comme lunion de deux couplages parfaits E1 et E2 qui sont chacun de valeur suprieure ou gale la valeur du couplage E de poids minimal sur I . Ainsi, nous obtenons :

2d(E ) = 2d (E ) d (E1 ) + d (E2 ) optminT SP (I)

[1.15]

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

25

En ajoutant cette ingalit lingalit [1.13] et en appliquant le Lemme 1.5 sur G , nous dduisons le rsultat annonc, cest--dire : val(T ) d(E ) + d(E ) 3 optminT SP (I) 2

[1.16]

Il est intressant de noter que cet algorithme, conu en 1976, garantit encore lheure actuelle le meilleur rapport de performance standard connu pour la version mtrique du problme de voyageur de commerce. 1.5.2. Algorithme de recherche locale Nous nous intressons prsent une procdure largement utilise dans la pratique : lamlioration locale. Divers algorithmes de ce type, ainsi que lanalyse de leurs performances selon les mesures standard et diffrentielle, sont discuts dans [PAP 98, AAR 97, MON 03]. Grossirement, un algorithme damlioration locale est construit autour de la notion de voisinage et dune procdure damlioration dans ce voisinage, cf. le chapitre de Zissimopoulos. Concrtement, tant donn un tour T , un voisinage de T est un ensemble de tours relativement proches de T ; la procdure damlioration consiste alors renvoyer un tour T de ce voisinage de valeur strictement meilleure si un tel tour existe, retourner T sinon. Par exemple, dans [LIN 73], les auteurs ont propos des voisinages de T constitus des tours T dont le nombre dartes qui diffrent de T est major par k. Ainsi, tant donn un type de voisinage et une procdure damlioration, lalgorithme se droule comme suit : partant dun cycle hamiltonien quelconque T , on cherche par le biais de la procdure damlioration un tour T de meilleure valeur dans le voisinage de T ; tant quun tel tour existe, on remplace T par T et on ritre la procdure ; la n de lalgorithme, le dernier tour T trouv ne peut tre amlior par lchange avec un tour voisin et dans ce cas, T est quali doptimum local relativement au voisinage considr. Prcisons que cet algorithme sarrtera toujours puisque nous tudions des problmes doptimisation combinatoire qui ont par dnition un nombre ni de solutions ralisables (ou encore, un nombre ni de valeurs possibles) ; cependant, la complexit en temps de tels algorithmes dpendra conjointement de la procdure damlioration et du nombre ditrations ralises avant datteindre un optimum local. Par exemple, pour un cycle hamiltonien T quelconque, si la taille du voisinage de T est borne par un polynme p(n), alors la procdure damlioration est de complexit polynomiale (au pire des cas, on teste la valeur de tous ses voisins et lon en dduit celui de meilleure valeur) ; cependant, cela ne garantira pas que lalgorithme soit de complexit polynomiale comme nous le verrons plus tard. Dailleurs, lexistence de voisinage de

26

Optimisation Combinatoire

taille exponentielle qui est pourtant examinable en temps polynomial a rcemment t rvle dans [GUT 99]. Du point de vue de la performance de tels algorithmes, plusieurs rsultats ngatifs ont t obtenus dans [PAP 77, PAP 78] ; il a notamment t dmontr que, sous lhypothse P=NP, les algorithmes damlioration locale qui utilisent une procdure damlioration polynomiale, mais ventuellement un nombre de fois exponentiel, ne vrieront jamais pour toute instance I = (Kn , d) lingalit d(T ) r optminT SP (I), o r 1 est un rel quelconque (prcisons que ce rsultat est valable pour le cas gnral, et donc lorsque la fonction distance ne vrie pas ncessairement lingalit triangulaire). Nous allons voir quen utilisant un autre type de mesure, des rsultats positifs sur ces algorithmes sont toutefois envisageables. Lalgorithme damlioration locale que nous allons tudier fait appel un type de voisinage particulier dcrit dans [LIN 73], appel 2-change. Pour ce voisinage, un tour T est voisin dun tour T si T rsulte de T aprs lchange de 2 artes e et e de T par 2 nouvelles artes ; une illustration de ce procd est propose par la gure 1.13. Prcisons que lorsque les artes e et e sont xes, il nexiste quune seule manire de former T par un 2-change. Originellement conu dans [CRO 58], lalgorithme que

T'

Figure 1.13. Le 2-change

nous tudions est souvent dsign par 2-opt dans la littrature ; cet algorithme a t trs frquemment revisit au cours de diverses tentatives de rsolution de MIN TSP, cf. [LIN 73, JOH 97]. Algorithme 2-opt 1) Trouver un cycle hamiltonien T quelconque ; 2) Poser = 1 ;

3) Tant que < 0, faire : 4) Chercher 2 artes e = [vi , vj ] et e = [vi , vj ] du tour qui vrient = d(e) + d(e ) (d(vi , vi ) + d(vj , vj )) < 0, poser = 0 sil ny en a pas ; 5) Si < 0, alors E(T ) (E(T ) \ {e, e }) {[vi , vi ], [vj , vj ]} ; 6) Renvoyer T ;

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

27

Nous commenons par quelques mots quant la complexit en temps de 2-opt : tout dabord, sur une instance I = (Kn , d), la taille du voisinage dun tour T quelconque est major par n2 (il y a au plus n choix possibles pour e et autant pour e ) ; ainsi, la procdure damlioration (tapes 3.1 et 3.2) ncessite un temps O(n2 ) et par consquent, la complexit en temps de cet algorithme dpend essentiellement du nombre ditrations quil faudra effectuer avant dobtenir un optimum local. Malheureusement, il est prouv dans [FIS 95] qutant donn un cycle hamiltonien initial T de Kn , dcider seulement sil est possible datteindre en temps polynomial un optimum local partir de T par lalgorithme 2-opt est en lui-mme un problme NPdifcile ; en dautres termes, cet algorithme nest pas, sous lhypothse P=NP, de complexit polynomiale. Proposons une conguration dans laquelle cet algorithme devient polynomial : lorsque la difference entre les valeurs des solutions extrmes est born par un polynme p (i.e., |worminT SP (I) optminT SP (I)| p(n), o I = (Kn , d)). En effet, le tour initial (correspondant ltape 1) est au pire des cas de valeur worminT SP (I) et chaque itration de la boucle de ltape 3, la valeur du cycle courant augmente dau moins une unit puisque les valeurs sont entires ; ainsi, en au plus p(n) itrations, nous obtenons un optimum local. En conclusion, la complexit en temps de la recherche dun optimum local est au pire de O(n2 p(n)). Un exemple concret de ralisation de cette situation est le cas dmax nk pour un certain entier k ; prcisons cependant que dautres cas de polynomialit sont prsents dans [MON 02c].
1 8 1 8 1 8

5 4 5 4 5

T*

T'

Figure 1.14. Construction de T partir des solutions T et T .

T HORME 1.7. MPT02MMOR Pour toute instance I = (Kn , d), lingalit sui1 vante est valable :val(T ) 1 optminT SP (I) + 2 worminT SP (I). 2 Preuve. soit I = (Kn , d) une instance du voyageur de commerce ; nous utilisons ici la notation fonctionnelle explicite dans la section proprits lmentaires pour dcrire les cycles hamiltoniens. Ainsi, soit f une permutation acyclique de V (Kn ) vriant la proprit [1.1] et dcrivant un tour optimal T de valeur optminT SP (I). Cette valeur scrit : d(T ) = vV (Kn ) d(v, f (v)). De mme, notons par f une permutation correspondant la solution T produite par lalgorithme. On a alors :

28

Optimisation Combinatoire

val(T ) = vV (Kn ) d(v, f (v)). Loptimalit locale de T se traduit par le fait que lchange des artes [v, f (v)] et [f (v), f f (v)] de E(T ) par les 2 artes [v, f (v)] et [f (v), f f (v)] naugmente pas la valeur du tour. Autrement dit, nous avons pour tout v V (Kn ) : d(v, f (v)) + d(f (v), f f (v)) d(v, f (v)) + d(f (v), f f (v)) [1.17] De plus, la fonction f tant une permutation, sa valeur peut sexprimer comme suit : val(T ) = vV (Kn ) d(f (v), f f (v)). De mme, vV (Kn ) d(f (v), f f (v)) = vV (Kn ) d(v, f f f 1 (v)) o f 1 dsigne la permutation rciproque de f . Il est ais de vrier que f f f 1 est une permutation acyclique (cest--dire, satisfaisant la proprit [1.1]) et donc, correspond un tour T (voir la gure 1.14) de valeur d(T ) = vV (Kn ) d(f (v), f f (v)). En sommant les ingalits [1.17] pour tout v V (Kn ) et en tenant compte des trois ingalits que nous venons dtablir, nous obtenons :

2val(T ) d(T ) + d(T ) optminT SP (I) + worminT SP (I)

[1.18]

Notons que lingalit rsultant du thorme prcdent est la plus ne possible crite sous cette forme. Nous laissons au lecteur le soin de prouver cette assertion.

1.6. Algorithmes constructifs Les algorithmes constructifs sont proches des algorithmes gloutons, dans le sens o ils consistent faire un choix chaque itration sans jamais remettre ce choix en cause. Ces algorithmes sont trs simples implmenter et, en gnral, rapides excuter, comme cela est montr dans [JOH 02]. Dans notre contexte, cela se traduit par lintroduction dun sommet chaque itration en vue dtablir un parcours des sommets. Le plus connu dentre-eux est certainement celui appel du plus proche voisin et cest celui-ci que nous allons tudier maintenant. Prcisons cependant quil en existe beaucoup dautres, explicits dans [LAW 85, ROS 77] ; parmi ceux-ci, citons lalgorithme de la plus proche insertion, cf. [KAR 64] que nous tudierons ensuite, ou encore lalgorithme de la meilleure insertion, cf. [NIC 67].

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

29

1.6.1. Algorithme du plus proche voisin Lalgorithme que nous tudions consiste partir dun sommet arbitraire et construire un parcours de T en visitant itrativement un sommet non encore visit qui est le plus proche (ou le plus loign suivant que lon tudie MIN TSP ou MAX TSP) du dernier sommet visit. Cet algorithme a t dcrit pour la premire fois dans [GAV 65] et lanalyse de ses performances a t effectue dans [ROS 77] pour la version MIN METRIC TSP, dans [FIS 79] pour la version MAX TSP. Dans le premier 1 cas, les auteurs ont dmontr lingalit val(T ) 2 (log2 n + 1)optminT SP (I) 1 et ils ont exhib des instances In = (Kn , d) o val(Tn ) est quivalent 3 log2 n optminT SP (In ) lorsque n tend vers linni ; ainsi, asymptotiquement, cette ingalit est la meilleure qui soit. Notons galement que dautres familles dinstances, plus simples construire et indiquant toujours que la valeur du tour trouv est asymptotiquement gale O(log2 noptminT SP (I)), sont prsentes dans [JOH 85, HUR 04]. Concernant la version maximisation, les rsultats sont plus optimistes puisque dans [FIS 79], les auteurs ont dmontr que lingalit val(T ) 1 optmaxT SP (I) est va2 lide pour toute instance I = (Kn , d) de MAX TSP. Nous allons rafner ici ces deux ingalits en dmontrant que lorsque la fonction distance prend ses valeurs dans lensemble {a, a + 1, . . . , b}, nous avons les ingalits val(T ) t+1 optmaxT SP (I) pour 2t b MAX TSP et val(T ) t+1 optminT SP (I) pour MIN TSP, o dans les deux cas t = a . 2 La dmonstration de ces analyses a t tablie dans [MON 02a]. An dexpliciter formellement cet algorithme, nous utilisons la notation fonctionnelle dcrite dans la section Proprits lmentaires pour caractriser les cycles hamiltoniens. De plus, cet algorithme dpendra dun paramtre appel obj indiquant si lon tudie la version maximisation ou minimisation. Algorithme plus proche voisin pour obj TSP 1) Prendre arbitrairement v V (Kn ) ; 2) Poser V = {v} et z = v ; 3) Tant que V = V (Kn ), faire :

4) Trouver v V tel que d(z, v) = obj{d(z, v ) : v V } ; / / 5) Poser f (z) = v, z = v et V V {v} ; 6) Poser f (z) = v et renvoyer f ; Si durant ltape 4 il existe plusieurs sommets v vriant la proprit, alors lalgorithme prend le premier sommet rencontr qui la satisfait. On peut aisment voir que f est une permutation de V (Kn ) pour laquelle la proprit [1.1] est valide, et donc que f correspond un tour T de I = (Kn , d). En termes de complexit, cet algorithme consomme un temps O(n2 ).

30

Optimisation Combinatoire

1.6.1.1. Le cas gnral Pour lanalyse de performance qui suit, nous supposons dune part que a et t a sont entiers avec t > 1, dautre part que les distances vrient d(e) {a, . . . , ta}. T HORME 1.8. [FIS 79, MON 02a] Lorsque obj = max, pour toute instance I = (Kn , d), on a val(T ) t+1 optmaxT SP (I). 2t Preuve. soit I = (Kn , d) une instance de MAX TSP vriant e E(Kn ), a d(e) ta ; si f dsigne une permutation de V (Kn ) correspondant une solution optimale T , nous avons : optmaxT SP (I) = vV (Kn ) d(v, f (v)). De plus, comme T possde exactement n artes et que par dnition a d(e) ta, on dduit en sommant ces ingalits sur les artes de T : an optmaxT SP (I) nta. Par ailleurs, concernant la permutation f correspondant au tour T , nous avons : val(T ) = vV (Kn ) d(v, f (v)) = vV (Kn ) d(f (v), f f (v)). An de clarier la preuve, nous identions un sommet v litration o il a t incorpor V durant ltape 5. Nous partitionnons les sommets V (Kn ) en deux sousensembles V1 = {v V (Kn ) : d(v, f (v)) < d(v, f (v))} et V2 = V (Kn ) \ V1 ; en quelque sorte, V1 (resp., V2 ) correspond aux itrations o lalgorithme sest (resp. ne sest pas) tromp par rapport au choix de loptimum. Ainsi, au dpart, lalgorithme ne se trompe pas, cest--dire que le sommet v choisi ltape 1 vrie v V2 . De plus, si lalgorithme ne se trompe jamais (cest--dire V1 = ), alors il produit une solution optimale. Enn, chaque fois que lalgorithme se trompe, on peut faire correspondre une itration o il ne se trompe pas : v V1 , d(f (v), f f (v)) d(v, f (v)). En effet, si lalgorithme na pas choisi f (v) litration v, cest que ce sommet a t incorpor la solution lors dune itration antrieure (i.e. : f (v) V litration v) ; de fait, v tait disponible lors de la considration de f (v) (i.e. : v V / litration f (v)) et lalgorithme a pu faire alors un choix au moins aussi bon que celui de loptimum. En rapprochant ces diffrentes ingalits, nous dmontrons le rsultat souhait. T HORME 1.9. [MON 02a] Lorsque obj = min, pour toute instance I = (Kn , d), on a val(T ) t+1 optminT SP (I). 2 Preuve. soit I = (Kn , d) une instance de MIN TSP, nous construisons linstance I = (Kn , d ) de MAX TSP en posant d (e) = dmax + dmin d(e), comme cela a t fait au cours de la section Proprit lmentaires. La cl du raisonnement consiste prouver que la solution f renvoye par plus proche voisin pour MIN TSP sur I est la mme que la solution f renvoye par plus proche voisin pour MAX TSP sur I . Ainsi, si T dsigne le tour correspondant f et f , nous dduirons : val(T ) = n(dmax + dmin ) d (T ).

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

31

Concernant respectivement les solutions optimales de MIN TSP sur I et de MAX TSP sur I , lgalit [1.4] nous indique quelles coincident. Ainsi, nous avons la relation optminT SP (I) = n(dmax + dmin ) optmaxT SP (I ). De plus, puisque lon a optminT SP (I) n dmin , nous dduisons optmaxT SP (I ) t optminT SP (I). Enn, il est clair que linstance I vrie e E(Kn ), a d (e) ta si I satisfait a d (e) ta ; on peut donc appliquer le thorme prcdent pour linstance I et en utilisant les galits tablies, nous obtenons bien le rsultat attendu. Nous laissons au lecteur le soin de prouver que les deux ingalits nonces par ces thormes sont galement les meilleures possibles crites sous cette forme. 1.6.1.2. Le cas mtrique
dmax 1 Dans le Thorme 1.9, nous avons obtenu le ratio 2dmin + 2 lorsque obj = min, n ce qui peut tre aussi mauvais que O(2 ). Nous allons dmontrer maintenant que le rapport est dordre logarithmique lorsque la fonction d vrie lingalit triangulaire.

T HORME 1.10. [ROS 77] Lorsque obj = min, pour toute instance mtrique 1 I = (Kn , d), on a val(T ) 2 (log2 n + 1)optminT SP (I). Preuve. Soient I = (Kn , d) une instance mtrique de MIN TSP, T = {[vi , f (vi )] : i = 1, . . . , n} le tour produit par lalgorithme et T un tour optimal ; notant di = d(vi , f (vi )), nous afrmons que pour tout i, j {1, . . . , n}, i = j, les distances vrient :

d(vi , vj ) min{di , dj }

[1.19]

En effet, par construction de lalgorithme, nous avons d(vi , vj ) di ds lors que le sommet vi est considr par lalgorithme avant le sommet vj . An de simplier les notations, considrons une permutation 1 , . . . , n sur {1, . . . , n} vriant d1 . . . dn (autrement dit, une permutation qui permet dordonner les sommets f 1 (v), . . . , f n (v) en fonction de la distance de larte [f i1 (v), f i (v)] prise par la solution T ) ; nous dmontrons que pour tout k = 1, . . . , n, la valeur optimale vrie :
min{2k,n}

optminT SP (I) 2

d i
i=k+1

[1.20]

Soit k {1, . . . , n}, nous considrons Tk le tour rsultant de la trace de T sur le sous-graphe partiel induit par les sommets {f 1 1 (v), . . . , f p 1 (v)}, o p = min{2k, n}. La trace de T sur ce sous-graphe partiel consiste parcourir ces sommets conformment leur ordre de parcours dans T ; la Figure 1.15 propose une

32

Optimisation Combinatoire

illustration de la construction de Tk pour k = 3 et p = 2k. Puisque d satisfait lingalit triangulaire, nous avons immdiatement :

optminT SP (I) d(Tk )

[1.21]

En utilisant lingalit [1.19], nous dduisons galement :


p d(Tk )

[vi ,vj ]Tk

min{di , dj } =

i di
i=1

[1.22]

o i est le nombre de fois que min{di , dj } = di dans la somme prcdente, cest -dire le nombre de sommets f j 1 (v) adjacents f i 1 (v) dans Tk pour lesquels p dj di . On a 0 i 2 et i=1 i = p. Par exemple, si dans la Figure 1.15 nous supposons i = i, nous avons 1 = 2 = 0, 3 = 6 = 2 et 4 = 5 = 1.
v 1 v 1

v v 6

v v 6

2 v

v T

4 Tk

Figure 1.15. Le tour Tk pour k = 3.

Puisque p 2k et que les di sont tris par ordre dcroissant, une pire conguration de lingalit [1.22] (la plus petite borne infrieure que lon puisse en dduire pour la valeur de Tk ) est donne lorsque 1 = . . . = k = 0 et k+1 = . . . = p = 2, p cest--dire : d(Tk ) 2 i=k+1 di . Selon lingalit [1.21], lingalit [1.20] est ainsi dmontre. En sommant maintenant lingalit [1.20] pour k = 2j lorsque j varie de 0 log2 n 1, nous obtenons :
log2 n1 min{2j+1 ,n} n

log2 n optminT SP (I) 2

d i = 2
j=0 i=2j +1 i=2

di [1.23]

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

33

Par ailleurs, nous avons : 1 optminT SP (I) 2

d 1

[1.24]

En effet, T tant un tour, il peut se dcomposer en 2 chanes E1 et E2 qui relient respectivement f 1 1 (v) f 1 (v) et f 1 (v) f 1 1 (v). Or, puisque la distance d vrie lingalit triangulaire, la valeur de ces chanes vrie d(Ej ) d1 pour j = 1, 2 et ainsi, optminT SP (I) = d(E1 ) + d(E2 ) 2d1 . Cette dernire ingalit n prsent tablie et sachant val(T ) = i=1 di , il ny a plus qu la sommer la relation [1.23] pour conclure. Explicitons maintenant une famille dinstances Ik = (Kn , d), k 1 pour laquelle le ratio de performance de lalgorithme plus proche voisin est proportionnel O(log2 n). Linstance In est dnie partir dun graphe connexe Gk , que lon complte de sorte que d(vi , vj ) soit la distance dun plus court chemin de vi vj dans le graphe initial Gk . La suite des graphes Gk est dnie formellement de la manire suivante : G1 est un triangle sur les sommets l1 , r1 , m1 . Etant donn Gk1 , le graphe Gk est construit partir de 2 copies G1 et G2 k1 k1 1 1 2 2 de Gk1 possdant chacun 3 sommets particuliers lk1 , rk1 , m1 et lk1 , rk1 , k1 1 m2 ; pour obtenir Gk , on ajoute un nouveau sommet mk , on renomme lk1 en lk k1 1 2 2 et rk1 en rk , puis on relie deux deux les sommets rk1 , lk1 et mk . Ainsi, Gk consiste relier les graphes G1 et G2 par lintermdiaire dun triangle form de k1 k1 lextrmit droite de G1 , de lextrmit gauche de G2 et dun nouveau sommet k1 k1 mk .
m1 2 m2 2 m3

l1 2

G1 2

1 r2

l2 2

G2 2

2 r2

l3

G3

r3

Figure 1.16. La construction de G3 .

La gure 1.16 illustre la construction de G3 partir de G1 et G2 . Le graphe Gk se 2 2 prsente comme une chane de 2k 1 triangles et il y a respectivement 2k sommets et 2k 1 sommets en bas et en haut des triangles ; ainsi, le sommet mk se retrouve gale distance, prcisment une distance de 2k1 , des sommets lk et rk . L EMME 1.6. Lalgorithme plus proche voisin appliqu linstance Ik produit, avant la dernire itration, une chane hamiltonienne Tk de lk mk de valeur val(Tk ) = (k + 3)2k1 2.

34

Optimisation Combinatoire

Preuve. Dmontrons ce rsultat par induction. Pour I1 , la solution T1 part de l1 , va visiter r1 et termine son parcours en m1 ; cest une chane hamiltonienne de valeur val(T1 ) = 2. Supposons prsent que sur linstance Ik1 , la solution Tk1 renvoye par lalgorithme (priv de sa dernire itration) soit une chane hamiltonienne de lk1 mk1 de valeur val(Tk1 ) = (k+2)2k2 2 ; nous dmontrons que ce rsultat tient pour Ik , i.e., que val(Tk ) = (k+3)2k1 2. Si lalgorithme commence par le sommet 1 lk = lk1 , alors par construction de Ik , lalgorithme va produire un tour partiel sur 1 Ik1 qui, par hypothse de rcurrence, consiste en une chane hamiltonienne Tk1 sur 1 k2 1 les sommets de Gk1 , de valeur (k + 2)2 2, partant de lk1 et arrivant en m1 . k1 Ensuite, tous les sommets non encore visits (cest--dire, ceux de la copie G2 et k1 2 le sommet mk ) sont une distance dau moins 2k2 + 1 de m1 ; or, lk1 atteint k1 1 1 1 2 cette borne (considrer la distance de mk1 rk1 , plus larte [rk1 , lk1 ]). Ainsi, 2 lalgorithme va dabord visiter lk1 , puis (par hypothse de rcurrence) parcourir la 2 2 copie Gk1 selon la chane hamiltonienne Tk1 , jusquau sommet m2 ; il achve k1 nalement son parcours en empruntant larte [m2 , mk ], dont la distance est de k1 2 1 2k2 + 1. Pour reconstituer le parcours complet, Tk = Tk1 {[m1 , lk1 ]} k1 2 Tk1 {[m2 , mk ]} ; il sagit dune chane hamiltonienne de lk mk , de valeur : k1 val(Tk ) = 2 (k + 2)2k2 2 + 2 2k2 + 1 = (k + 3)2k1 2 Ce qui conclut la preuve par rcurrence.
T HORME 1.11. [HUR 04] Il existe une famille dinstances mtriques Ik = (Kn , d) pour laquelle lalgorithme plus proche voisin produit un tour Tk dont la valeur 1 vrie val(Tk ) = 4 (log2 n + 3)optminT SP (Ik ). Preuve. De nouveau, linstance Ik est construite partir dun graphe connexe G que lon complte en affectant les distance la valeur dun plus court chemin (en nombre de sommets) sur G ; il est ais de vrier quainsi construite, linstance Ik est mtrique. Le graphe G est construit partir de Gk , auquel est ajout un nouveau sommet s que lon relie lk et rk . Si lalgorithme commence son parcours par le sommet lk , alors il va dabord emprunter tous les sommets de Gk , puisque le sommet s sera chaque itration toujours au moins aussi loign du dernier sommet choisi que tout autre sommet non encore visit. Ainsi, sappuyant sur le Lemme 1.6, le tour T k qui sera construit par lalgorithme sur Ik est dcrit par Tk = Tk {[mk , s], [s, lk ]} et sa valeur est donne par :

d(Tk ) = (k + 3)2k1 2 + (2k1 + 1) + 1 = (k + 4)2k1

[1.25]

Par construction, G est hamiltonien sur n = 2k+1 sommets ; Ik admet donc k+1 comme solution optimale un tour T de valeur optminT SP (Ik ) = 2 . La Figure

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions


T3 T3 m3

35

l3

r3

l3

r3

Figure 1.17. Les solutions

T3

et

T3

de

I3 .

1.17 dcrit les tours Tk et Tk lorsque k = 3 (on note en traits pointills les artes qui nappartiennent pas G ).

Daprs lingalit [1.25], le rapport classique dapproximation ralis par la solution T sur G est donc de k + 4 = log2 n + 3 = O(log2 n), ce qui correspond bien au rsultat annonc. La variation de lalgorithme plus proche voisin consistant appliquer n fois lalgorithme en partant chaque fois dune ville diffrente et retourner le meilleure des n tours a t propose dans [GAV 65]. Nous laissons au lecteur le soin de prouver que cette variante garantit encore au pire des cas des performances proportionnelles O(log2 n).

1.6.2. Algorithme de la plus proche insertion Lalgorithme que nous explorons maintenant est galement un algorithme constructif, propos avec diverses variantes dans [KAR 64]. Son principe est dinsrer chaque itration un nouveau sommet dans un cycle hamiltonien construit sur les sommets dj insrs. Algorithme plus proche insertion 1) Prendre arbitrairement v V (Kn ) et poser V V \ {v} ; 2) Trouver v V tel que d(v, v ) = min{d(v, z) : z V } ; 3) Poser E(T ) {[v, v ], [v , v]} et V V \ {v } ; 4) Tant que V = , faire :

5) trouver (v, v ) V \ V V tel que d(v, v ) = min{d(x, y) : x V \ V , y V } ; 6) trouver [v, w] T telle que d(v, v ) + d(v , w) d(v, w) est minimale ;

7) 8)

poser E(T ) (E(T ) \ {[v, w]}) {[v, v ], [v , w]} et V V \ {v } ; Renvoyer T ;

36

Optimisation Combinatoire
V V

x v y

x v y

Figure 1.18. Une itration de lalgorithme.

La gure suivante illustre une itration de lalgorithme plus proche insertion. T HORME 1.12. [ROS 77] Pour toute instance mtrique I = (Kn , d), lingalit 1 suivante est valable : val(T ) 2(1 n )optminT SP (I). Preuve. Soit I = (Kn , d) une instance de MIN TSP ; an de simplier la preuve, nous numrotons les sommets conformment lordre selon lequel lalgorithme les aura incorpors la solution. De plus, nous notons par (Ei )i la suite des sous-ensembles dartes dnie par la relation de rcurrence suivante : E2 = {[v1 , v2 ]}. Pour i 3, Ei = Ei1 {[vi , vji ]}, o vji = arg min{d(vi , vj ) : j < i}.

On vrie aisment que Ei est un arbre couvrant de poids minimal sur la sousinstance engendre par {v1 , . . . , vi }. Nous allons montrer par rcurrence que si Ti dsigne le tour partiel construit par lalgorithme litration i, cest--dire le tour constitu sur les sommets {v1 , . . . , vi } (pour i = 2, on doit considrer le multigraphe), alors nous avons :

i 2, val(Ti ) 2d(Ei )

[1.26]

Pour i = 2, puisque T2 = {[v1 , v2 ], [v2 , v1 ]} et E2 = {[v1 , v2 ]}, on a immdiatement val(T2 ) = 2d(E2 ). Supposons prsent que val(Ti1 ) 2d(Ei1 ), nous allons dmontrer que lingalit reste valable lordre i. Si e1 = [vji , x] dsigne larte ajoute avec [vi , vji ] litration i et e2 = [x, vi ] dsigne larte qui est retire de Ti1 , lingalit triangulaire induit la relation d(e1 ) d(e2 ) + d(vi , vji ). De plus, daprs litration 6 de lalgorithme, la valeur du tour litration i vrie val(Ti ) val(Ti1 )+(d(vi , vji ) + d(e1 ) d(e2 )). En se servant de ces 2 ingalits, nous dduisons la relation val(Ti ) val(Ti1 ) + 2d(vi , vji ) qui, ajoute lhypothse de rcurrence, permet dtablir lingalit [1.26].

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

37

Finalement, puisque T = Tn , il vrie d(T ) d(En ) ; or, en retirant au tour optimal T une arte de plus grand cot, on obtient un arbre couvrant E de valeur au plus d(T ) d(T ) ; ainsi, il ny a plus qu remarquer que d(E ) d(En ) pour n obtenir le rsultat souhait. Nous laissons le soin au lecteur de prouver que cette ingalit est la meilleure qui soit nonce sous cette forme. 1.7. Conclusion Un horizon des algorithmes conus pour rsoudre le problme du voyageur de commerce nous a permis de parcourir une multitude dapproches. Cependant, dautres voies restent envisager, dont certaines sont dj ltude. Quil sagisse des mthodes ou des versions mmes du problme, les pistes ouvertes par les chercheurs ne cessent de se renouveler. Concernant les versions, nous pensons notamment au TSP multicritre, cf. [ANG 03, ANG 05] mais aussi aux instances on-line, cf. [AUS 95] ou encore stochastiques, cf. [PER 98]. La version multicritre ne travaille plus sur une mais k fonctions de distances d1 , . . . dk : il nest ds lors plus question de minimiser la longueur dun tour sur un graphe, mais de trouver des tours qui soient Pareto-optimaux ou non domins : un tour T est Pareto-optimal si lon ne peut trouver de tour T qui soit strictement meilleur sur un critre (ex., d1 (T ) < d1 (T )) sans dgrader strictement un autre critre (ex., d2 (T ) > d2 (T )). Dans le cadre online, les caractristiques de linstance sont connues "au l de leau" ; on est donc amen concevoir progressivement une solution, sans connaissance du graphe nal. Linconnu est galement une caractristique des instances stochastiques puisquau lieu de disposer dune fonction de distance, cest dune suite de variables alatoires que celles-ci sont dotes. Plus simplement enn, nous pensons au cas asymtrique o la distance pour aller de vi vj nest pas ncessairement la mme que la distance pour se rendre de vj en vi ; dans ce cas plus gnral, un rsultat rcent propose une approximation 8/13 pour MAX TSP, cf. [BL 04]. Concernant les approches, si les voies dexploration sont de plus en plus nombreuses, il peut nanmoins paratre surprenant que certains des meilleurs algorithmes connus (ou des meilleures valuations qui en auront t faites) datent dil y a quelques annes : citons dabord lapproximation 7/6, cf. [PAP 93] faite en 1993 de la version minimisation du voyageur de commerce o la fonction distance est valeur dans {1, 2} (cas particulier du cas mtrique) ; considrons encore lalgorithme de Christodes que nous avons prsent dans ce chapitre et qui date tout de mme de 1976. Hormis lalgorithme de Little, nous avons peu parl de la recherche exhaustive et des mtaheuristiques. Pourtant, de nombreuses autres mthodes par sparation et valuation ont t dveloppes, ainsi que des tentatives de rsolution par la recherche tabou, par la mise en place dalgorithmes gntiques ou encore par des rseaux neuronaux. Il faut dire que pour ces approches, les techniques sont la fois fort pointues et complexes car souvent ddies une famille particulire de problmes issue du monde

38

Optimisation Combinatoire

industriel, ce qui rend leur valuation empirique dautant plus dlicate. La bibliographie lectronique TSPBIB ladresse http ://www.densis.fee.unicamp.br/ moscato/TSPBIB_home.html constitue, notamment pour ces mthodes, une excellente source dinformation. En conclusion, on se laisse dire que tout a t fait pour le TSP, des mthodes les plus simples aux plus sophistiques (comme en tmoigne lexcellent parcours de son histoire qui est propos dans cf. [LAW 85]) et que nanmoins, aucune de ces approches na eu, ds lors, raison du coriace TSP. Malgr toute lapplication et lingniosit dont font preuve les chercheurs, le voyageur de commerce, le vrai, na en consquence que son GPS pour se guider.

1.8. Bibliographie
[AAR 97] A ARTS E. H. L., ( EDS .) J. K. L ENSTRA ., Local search in Combinatorial Optimization, Wiley-Interscience, 1997. [ANG 03] A NGEL E., BAMPIS E., G OURVS L., Approximating the Pareto curve with local search for the bicriteria TSP(1,2) problem , Theoretical Computer Science, vol. 310, p. 135146, 2003. [ANG 05] A NGEL E., BAMPIS E., G OURVS L., M ONNOT J., (Non)-Approximability for the multi-criteria TSP(1,2) , Proc. FCT. ( paratre), 2005. [ARO 98] A RORA S., Polynomial time approximation schemes for Euclidean traveling salesman and other geometric problems , J. ACM, vol. 45, p. 753782, 1998. [AUS 95] AUSIELLO G., F EUERSTEIN E., L EONARDI S., S TOUGIE L., TALAMO M., Competitive Algorithms for the Traveling Salesman , Proc. WADS95, 1995. [BAR 02] BARVINOK A., G IMADI E. K., S ERDYUKOV A. I., The maximum traveling salesman problem , Gutin G., Punnen A. P. (eds.) The Traveling Salesman Problem and Its Variations, Kluwer, Dordtecht, 2002. [BEN 99] B ENDER M. A., C HEKURI C., Performance guarantees for the TSP with a parametrized triangle inequality , Proc. WADS99, LNCS, vol. 1663, p. 8085, 1999. [BEN 92] B ENTLEY J. L., Fast algorithms for geometric traveling salesman problems , ORSA Journal on Computing, vol. 4, p. 387411, 1992. [BER 73] B ERGE C., Graphs and hypergraphs, North Holland, Amsterdam, 1973.
8 [BL 04] B LSER M., An 13 -approximation algorithm for the asymmetric maximum TSP , J. of algorithm, vol. 50, p. 23-48, 2004.

[BC 00] B CKENHAUER H.-J., H ROMKOVI C J., K LASING R., S EIBERT S., U NGER W., Approximation algorithms for the TSP with sharpened triangle inequality , Inform. Process. Lett., vol. 75, p. 133138, 2000.

[CHR 76] C HRISTOFIDES N., Worst-case analysis of a new heuristic for the traveling salesman problem, Technical report 338, Grad. School of Industrial Administration, CarnegieMellon University, Pittburgh, 1976.

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

39

[CRO 58] C ROES A., A method for solving traveling-salesman problems , Oper. Res., vol. 5, p. 791812, 1958. [FIS 95] F ISCHER S. T., A note on the complexity of local search problems , Information Processing Letters, vol. 53, p. 6975, 1995. [FIS 79] F ISHER M. L., N EMHAUSER G. L., W OLSEY L. A., An analysis of approximations for nding a maximum weight Hamiltonian circuit , Oper. Res., vol. 27, p. 799809, 1979. [GAR 79] G AREY M. R., J OHNSON D. S., Computers and intractability. A guide to the theory of NP-completeness, W. H. Freeman, San Francisco, 1979. [GAR 85] G ARFINKEL R. S., Motivation and modeling , E. L L AWLER , J. K. L ENSTRA , A. H. G. R INNOOY K AN AND D. B. S HMOYS ( EDS .) The Traveling Salesman Problem : a guided tour of Combinatorial Optimization Wiley Chichester, p. 1736, 1985. [GAV 65] G AVETT J., Three heuristics rules for sequencing jobs to a single production facility , Management Sci., vol. 11, p. 166176, 1965. [GON 95] G ONDRAN M., M INOUX M., Graphes et Algorithmes, Eyrolles, 1995. [GUT 99] G UTIN G., Exponential neighbourhood local search for the traveling salesman problem , Comput. Oper. Res., vol. 26, p. 313320, 1999. [HAR 84] H ARTVIGSEN D., Extensions of Matching Theory, PhD thesis, Ph.D. Thesis, Carnegie-Mellon University, 1984. [HAR 99] H ARTVIGSEN D., The square-free 2-factor problem in bipartite graphs , Proc. IPCO, LNCS, vol. 1610, p. 234241, 1999. [HAS 00] H ASSIN R., RUBINSTEIN S., Better approximations for Max TSP , Information Processing Letters, vol. 75, p. 181186, 2000. [HAS 01] H ASSIN R., K HULLER S., z-Approximations , J. Algorithms, vol. 41, p. 429 442, 2001. [HAS 02] H ASSIN R., RUBINSTEIN S., A 7/8-approximation algorithm for metric Max TSP , Information Processing Letters, vol. 81, p. 247251, 2002. [HEL 62] H ELD M., K ARP R. M., A dynamic programming approach to sequencing problems , SIAM J. Appl. Math., vol. 10, p. 196210, 1962. [HUR 04] H URKENS C. A. J., W OEGINGER G. J., On the nearest neighbor rule for the traveling salesman problem , Oper. Res. Let., vol. 32, p. 14, 2004. [JOH 85] J OHNSON D. S., PAPADIMITRIOU C. H., Performance guarantees for heuristics , E. L L AWLER , J. K. L ENSTRA , A. H. G. R INNOOY K AN AND D. B. S HMOYS ( EDS .) The Traveling Salesman Problem : a guided tour of Combinatorial Optimization Wiley Chichester, p. 145180, 1985. [JOH 97] J OHNSON D. S., M C G EOCH L. A., The traveling salesman problem : a case study , AARTS E., LENSTRA J. K. (eds.) Local search in combinatorial optimization, Wiley, 1997.

40

Optimisation Combinatoire

[JOH 02] J OHNSON D. S., M C G EOCH L. A., Experimental Analysis of Heuristics for the STSP , Gutin G., Punnen A. P. (eds.) The Traveling Salesman Problem and Its Variations, Kluwer, Dordtecht, 2002. [KAR 64] K ARG L. L., T HOMPSON G. L., A heuristic approach to traveling salesman problems , Management Sci., vol. 10, p. 225248, 1964. [KIR 99] K IRLY Z., C4 -free 2-factors in bipartite graphs, Technical report EGRES Budapest, Hungary, 1999. [LAW 85] L AWLER L., L ENSTRA J. K., R INNOOY K AN A. H. G., ( EDS .) D. B. S HMOYS ., The Traveling Salesman Problem : a guided tour of Combinatorial Optimization, Wiley Chichester, 1985. [LIN 73] L IN S., K ERNIGHAN B. W., An effective heuristic algorithm for the traveling salesman problem , Oper. Res., vol. 21, p. 498516, 1973. [LIT 63] L ITTLE J. D. C., M URTY K. G., S WEENEY D. W., K AREL C., An algorithm for the traveling salesman problem , Oper. Res., vol. 11, p. 972989, 1963. [MON 02a] M ONNOT J., Approximation results toward Nearest Neighbor heuristic , Yugoslav Journal of Operations Research, vol. 12, n1, p. 1116, 2002. [MON 02b] M ONNOT J., Differential approximation results for the Traveling Salesman and related Problems , Information Processing Letters, vol. 82(5), p. 229235, 2002. [MON 02c] M ONNOT J., PASCHOS V. T., T OULOUSE S., Approximation Algorithms for the traveling salesman problem , Math. Models of Op. Res., vol. 56, p. 387405, 2002. [MON 03] M ONNOT J., PASCHOS V. T., T OULOUSE S., Approximation polynomiale des problmes NP-difciles : optima locaux et rapport diffrentiel, Edition HERMES Science Lavoisier, 2003. [NIC 67] N ICHOLSON T. A. J., A sequential method for discrete optimization problems and its application to the assignment, Traveling Salesman, and three machine scheduling problems , J. Inst. of Maths. Applics, vol. 3, p. 362375, 1967. [PAP 77] PAPADIMITRIOU C. H., S TEIGLITZ K., On the complexity of local search for the traveling salesman problem , SIAM J. Comput., vol. 6, p. 7683, 1977. [PAP 78] PAPADIMITRIOU C. H., S TEIGLITZ K., Some examples of difcult traveling salesman problems , Oper. Res., vol. 26, p. 434443, 1978. [PAP 93] PAPADIMITRIOU C. H., YANNAKAKIS M., The traveling salesman problem with distances one and two , Math. Oper. Res., vol. 18, p. 111, 1993. [PAP 98] PAPADIMITRIOU C. H., S TEIGLITZ K., Combinatorial optimization : algorithms and complexity, Dover, New York, 1998. [PER 98] P ERCUS A. G., M ARTIN O. C., Scaling universalities of kth-nearest neighbor distances on closed manifolds , Advances in Applied Mathematics, vol. 21, p. 424436, 1998. [ROS 77] ROSENKRANTZ D. J., S TEARNS R. E., L EWIS II P. M., An analysis of several heuristics for the traveling salesman problem , SIAM J. Comp., vol. 6, p. 563581, 1977.

Le voyageur de commerce et ses variations : un tour dhorizon de ses rsolutions

41

[SER 84] S ERDYUKOV A. I., An algorithm with an estimate for the traveling salesman problem of the maximum , Upravlyaemye Sistemy (en Russe), vol. 25, p. 8086, 1984. [VOR 80] VORNBEGER O., Easy and hard cycle cover , Technical report, univeritt Paderborn, Germany, 1980. [CHE 05] C HEN Z. Z., O KAMOTO Y., WANG L., Improved deterministic approximation algorithms for Max TSP , Information Processing Letters ( paratre), 2005.

Chapitre 2

Index

algorithme 2-opt, 26 bas sur larbre couvrant, 22 bas sur larbre couvrant et le couplage, 23 bas sur le 2-couplage, 14 bas sur le 2-couplage et le couplage, 19 constructif, 28 de programmation dynamique, 6 de sparation et valuation, 10 meilleur insertion, 35 meilleur tour partiel, 17 plus proche voisin, 29 arbre couvrant, 22 de poids minimal, 22 couplage, 13, 23 parfait, 23 parfait de poids maximal, 17 parfait de poids minimal, 23 f -couplage, 12 2-couplage, 12 k-restreint, 13 parfait, 13 parfait de poids maximal, 13, 17 cycle hamiltonien, 2 2-change, 26 graphe eulrien, 21 ingalit triangulaire, 3

instance mtrique, 3 MAX TSP, 4, 12 MIN TSP, 3, 20 MIN METRIC TSP, 3, 20 optimum local, 25 parcours, 3 permutation acyclique, 3 plus mauvais tour, 12, 20 wormaxT SP (I), 12 worminT SP (I), 20 procdure damlioration, 25 programmation dynamique, 5 rapport diffrentiel, 12, 20 val(T ) r optmaxT SP (I) + (1 r)wormaxT SP (I), 12 val(T ) r optminT SP (I) + (1 r)worminT SP (I), 20 rapport standard, 12, 20 val(T ) r optmaxT SP (I), 12 val(T ) r optminT SP (I), 20 val(T ) r optminT SP (I), 20 recherche exhaustive, 5 tour approch, 12 val(T ), 12, 20 tour optimal, 12 optmaxT SP (I), 12 optminT SP (I), 20 optminT SP (I), 20 voisinage, 25

43

Vous aimerez peut-être aussi