Rapport de recherche sur le probl`eme du plus court chemin contraint

This article provides an overview of the performance and the theoretical complexity of approximate and exact methods for various versions of the shortest path problem. The proposed study aims to improve the resolution of a more general covering probl…

Authors: Olivier Laval (LIPN), Sophie Toulouse (LIPN), Anass Nagih (LITA)

RAPPOR T DE RECHER CHE LIPN Le probl ` eme du plus court c hemin c ontra in t Olivier Lav al 1 , Sophie T oulouse 1 et Anass Nagih 2 1 LIPN, Universit ´ e de Pa ris-Nord 99 a ven u e Jean-Baptiste Cl ´ ement 93430 Villetaneuse, F ra nce {olivier.l aval,sophi e.toulouse }@lipn.uni v-paris13.fr 2 LIT A, Universit ´ e P aul V erla ine Ile du Saulcy 57045 Metz Cedex 01, F rance anass.nagi h@univ-met z.fr 26 d´ ecembre 2006 R ´ esum ´ e Cet article propose un tour d’horizon des m´ etho d es approch ´ ees et exactes, de leur p erformance et de leur complexit´ e th´ eorique, pou r diff´ erentes v ersions du probl` eme de plus court chemin. L’´ etude prop os´ ee est faite d ans l’optique d’am´ eliorer la r´ esolution d’un probl` eme plus g´ en´ eral d e couverture d ans le cadre d ’un sch ´ ema de g´ en´ eration de colonnes, dont le p lus court chemin appara ˆ ıt comme le sous-probl` eme. Abstract This article p rovides an ov erview of the p erformance and th e theoretical com- plexity of approximate and exact metho ds for v arious vers ions of the shortest path p roblem. The prop osed study aims to imp rove the resolution of a more general cov ering problem within a column generation scheme in which the shortest path p roblem is t he su b-problem. 1 In tro duction Un probl ` eme des plus co urants en optimisation co mbinatoire est celui de la recherche de plus co urts chemins dans un gr aphe. Ce probl` eme se pr´ esente comme s uit : ´ eta nt donn´ e un graphe et une fonction co ˆ ut sur les arcs, le probl` eme co nsiste ` a tro uver le chemin le moins co ˆ uteux d’un so mmet choisi ` a un a utre. Il se r´ esoud a is´ ement grˆ ace ` a de nombreux a lg orithmes po lynomiaux (Bellman [Bel58], Dijkstra [Dij59], ...). N´ eanmoins, l’a jout de cont raintes sur le chemin (ess entiellemen t, des co ntraintes de type “sac-` a-dos” ) le rend plus difficile ` a r´ esoudre . Ce rapp ort de recherche pr´ esente donc diff ´ erents algor ithmes ex a cts ou appro ch ´ es p our r ´ esoudre le probl` eme du Plus Court Chemin Contrain t (not ´ e PCCC par la suite). Ce trav ail se place dans le ca dre plus g´ en ´ eral de r´ e s olution d’un probl` eme de c o uverture de tˆ aches par des v´ ehicules qui doiven t res pe c ter certaines c ontrain tes dont le P CCC est, dans une d ´ ecomp osition class iq ue de type Dantzig W olfe, le sous- probl` eme. Aussi, les r´ es ultats propo s´ es sero nt le plus so uven t compar´ es dans le c adre du d´ eroulement de tels s ch ´ emas . Ce do cument est or ganis´ e comme suit : la deuxi` eme sectio n pr´ esent era le probl` eme PC C C de mani` ere tr` es g´ en´ erale, av ec ses diff´ erent es v ariantes. P lusieurs m´ etho des de r´ eductio n des instances, qui constituent une ´ etape pr´ eliminaire ` a la r´ esolution du probl` eme, sont exp o s´ ee s dans la troisi` eme section. La r´ esolution exa cte sera ab ord´ ee dans la quatri` eme section. Enfin, puis q ue le probl` e me est NP -difficile, la cinqui` eme section p ortera sur sa r´ esolution a ppro ch ´ ee. 2 Description du probl ` eme 2.1 F ormalisatio n Soit G = ( V , A ) un graphe orient ´ e o ` u V es t l’ensemble des so mmets ( | V | = n ) et A ⊆ V × V l’ensemble des arcs ( | A | = m ) et s oit R un ensemble de resso urces ( | R | = R ). ` A chaque arc ( i, j ) ∈ A so nt asso ci´ es un co ˆ ut c ij et un vecteur de consommation de r e ssource ( t r ij ) r =1 ,...,R po sitif ( ∀ r = 1 , . . . , R, t r ij ≥ 0). Le gra phe ne doit pas co mpo rter de cycle a bs orbant 3 . Un chemin P x → y ent re deux sommets x et y es t une s ´ equence d’arcs : P x → y = p [ i =1 { ( u i , v i ) } tel que ( u i , v i ) ∈ A, u i +1 = v i , u 1 = x et v p = y La longueur de ce chemin est alo r s p . Un chemin P x → y allant du sommet x au sommet y a un co ˆ ut dont la fo r mule est C ( P x → y ) = X ( u,v ) ∈ P x → y c uv . Soient s e t t deux so mmets distincts priv il´ egi´ es du gr aphe, app el´ e s resp ectivemen t sour ce et puits. Le probl` eme du Plus Co urt Chemin Contraint (PCCC) consiste a lors ` a tr ouver un chemin de co ˆ ut minimal entre la s ource et le puits satisfais ant certaines contraintes de ressour c e (ces contrain tes seront d ´ etaill´ ees par la suite). Si l’ensemble R des resso urces est vide ( R = 0), o n est ra men´ e au probl` eme usuel de plus co urt chemin qui est p olynomia l ([Bel58], [Dij59]). En rev anche, la consid´ eration d’une seule resso urce rend d´ ej` a le probl` eme d’optimisa tio n N P -dur, et ce m ˆ eme lorsque le s co ˆ uts et les conso mmations de ress ource sont s uppo s´ es ˆ etre entiers p ositifs [GJ79] [Dro94]. E nfin, le probl` eme consistant ` a d´ ecider seulement s’il existe ou no n un chemin r´ ea lisable es t NP -co mplet d` es lo rs que l’on consid` ere deux r essourc es ou plus. 2.2 Con train tes de ressource Les con traintes de ress ource s’expr iment ` a l’aide d’un vecteur cons ommation de ressource T d´ ep endant du chemin c o nsid´ er´ e dont chaque c o ordonn´ ee r epr´ es ente une re ssource du pr obl` eme. Deux types de contraint es de ressource sont usuellement consid ´ er´ es. T out d’ab ord, les contrain tes de r essource dites fi nales , o ` u la somme sur tous les ar cs du chemin de la sour ce au puits des qua n ti- t ´ es de ress ource consomm´ ees do it entrer dans une fenˆ etr e d´ efinie au puits ; ensuite, les co ntrain tes de ressource dites ` a fenˆ etre s de temps o ` u, ` a chaque so mmet i , son t as so ci´ e e s R fen ˆ etres de res- source [ a r i , b r i ], r = 1 , . . . , R , r´ eduisa nt l’in ter v alle des v aleurs p oss ibles po ur la qua ntit ´ e de res- source r p ouv ant ˆ etre utilis´ ee av an t d’atteindre le so mmet i . Pour ce type de contrain te, il existe deux m´ etho des de calcul du vecteur consomma tio n de resso urce sur un chemin de la sour ce ` a un sommet : – sa ns a tten te p ermis e : ∀ ( P s → j = P s → i ∪ ( i, j )) , T r ( P s → j ) = T r ( P s → i ) + t r ij – avec attente : ∀ ( P s → j = P s → i ∪ ( i, j )) , T r ( P s → j ) = max { a r j , T r ( P s → i ) + t r ij } 3 Un cycle absorbant est un cycle dont la somme des val uations des arcs est n´ egative. 2 Un c hemin de la source a u puits est dit r´ ealis a ble si, en chacun de ses sommets, le vecteur consommation de ressour ce sur le sous -chemin de s ` a ce s ommet est da ns la fenˆ etre de ressour ce de ce sommet ; for mellement : le chemin P s → t est r´ ealisa ble ssi ∀ j ∈ P s → t , ∀ r = 1 , . . . , R, a r j ≤ T r ( P s → j ) ≤ b r j De cette in´ egalit´ e d´ ecoule deux propri´ et ´ es g´ en´ e r ales : – dans les deux m´ ethodes (av ec ou sans attente) : ∀ ( i, j ) ∈ A, ∀ r = 1 , . . . , R, a r i + t r ij ≤ b r j – dans la m´ etho de sans attente p ermise : ∀ ( i, j ) ∈ A, ∀ r = 1 , . . . , R, b r i + t r ij ≤ a r j Les arcs ne v´ er ifiant pas ces in´ ega lit´ es p euven t ˆ etre dir ectement supprim´ es car ils n’a ppa rtiennent ` a aucune solution r´ ealisable du probl` eme. Le premier type de contrainte s e ra m` ene ais´ emen t au second en attribuant ` a tous les sommets du gra phe et p our chaque ressour ce la fenˆ etre [0 , b r t ], o ` u b r t est le ma jorant de conso mma tion d´ efinie a u puits p our ce tte ressource. T outes les instances consid´ er´ e e s dans ce document seront donc, sans mention expresse du contraire, du seco nd type. 2.3 Relation av ec la g´ en´ era tion de col onnes Dans cer taines mo d´ elisations de probl` emes lin´ eaires en nombres entiers dites ` a formulation « chemins » , les v ariables du probl` e me repr´ esenten t des chemins du gra phe. Le nom bre de chemins dans un graphe ´ etant p otentiellemen t exp onentiel, il en est de mˆ eme du no mb re de v ariables . L’utilisation d’un algor ithme de r´ esolution (simplexe par exemple) ne p eut ˆ etre en visag´ ee p our ce mo d` ele puisque ce dernier ne p eut ˆ etr e explicit´ e. En rev a nche, un pro bl` eme av ec un sous- ensemble de v a riables de taille raisonna ble , appel´ e probl` e me ma ˆ ıtre res treint (P MR), peut ˆ etre r´ es olu ; la r´ esolution de ce dernier p ermet de ca lculer les c o ˆ uts r´ eduits a sso ci´ es ` a chaque arc du gra phe, que l’on p eut interpr´ eter comme le co ˆ ut d’opp o rtunit´ e ` a emprunter un a rc donn´ e (par le bia is d’un c he min utilisant cet arc). La v ariable pouv a n t ˆ etre a jout´ ee au PMR est alors trouv´ ee par r´ esolution du sous-pr obl` eme qui co nsiste en la d´ etermination d’un plus court chemin contrain t po ur le crit` er e de co ˆ ut r´ eduit. Par ex emple, dans le cas d’une minimisation, si le co ˆ ut r´ eduit total d’un chemin est n´ egatif, il est p otentiellemen t am´ elio rant po ur le probl` eme ma ˆ ıtre et constitue ainsi un b on ca ndidat ` a ˆ etre int ´ egr´ e a u P MR. Dans cette appro che app el´ ee g´ en´ er ation de c olonnes , l’optimalit´ e est atteinte lorsqu’il n’existe plus de chemin a m ´ eliora nt (chemin de co ˆ ut r´ eduit n´ ega tif si l’on co nsid` er e la r´ esolution con tinu e du probl` eme ma ˆ ıtre). Noto ns q ue , p our la conv er gence, il n’est pa s n´ ecessaire de trouver un c hemin optimal : un c hemin am´ elio rant suffit. De plus, ` a chaque it´ eration, plusieurs chemins am´ eliorants p euven t venir enr ichir le PMR. Le pr obl` eme de plus co urt chemin co n traint ´ etant NP - difficile, le temps de r ´ esolution des s ous- probl` emes n’est pas ma ˆ ıtris´ e ; d’o ` u l’int ´ erˆ et d’utiliser des algo rithmes d’approximation, du moins en d´ ebut de sch ´ ema , nous p ermettant de trouver rapidement des chemins am ´ eliorants (la r ´ so lution exacte demeurant in´ evitable en fin de sc h ´ ema p our pr ouver l’optimalit´ e). 3 R´ edu ction du probl` eme a v an t sa r´ esolution Quelques trav aux pr´ ec´ e da nt la r´ es olution p euven t ˆ etre effectu´ es dans le but de r´ e duir e le graphe (suppress ion de so mmets ou d’ar cs, r´ eduction de l’a mplitude des fen ˆ etres de temps). En 3 outre, ces tr aitements p ermettent parfo is de d´ e tecter les instances non r´ ea lisables ( i.e. , instances sur lesquelles tout chemin viole les co nt raintes de r essourc e) et d’exhib er un ma jo rant et un minorant. 3.1 R´ eduction des fenˆ etres de temps Les deux types de con traintes de ressour ce forment en fait une seule classe de probl` emes o ` u chaque sommet p oss` ede des fenˆ etres de temps. En chaque sommet, les b ornes des fenˆ etres de temps pour chaque ressour ce do iven t v´ erifier quelques relations d´ ependa nt de ses pr´ ed´ ecesseurs et de ses successeurs . L’ensemble des pr´ ed´ ece s seurs de i se noter a pr ed ( i ), l’ensemble des ses successeurs succ ( i ). Ainsi, p our une ressour ce donn´ ee r , le minorant d’une fen ˆ etre du sommet j ne doit pa s ˆ etre plus p etit que le minor ant d’un pr´ ed´ ecesseur i du sommet auquel le temps de tra jet entre les sommets i et j est a jout ´ e. Cela donne l’´ equation s uiv ante : a r j = max { a r j , min i ∈ pred ( j ) { a r i + t r ij }} Une ´ equation similaire est v ala ble p o ur le s ma jorants : b r j = min { b r j , max i ∈ pred ( j ) { b r i + t r ij }} Maintenan t, en cons id´ era nt les success e urs, le mino rant d’un so mmet j ne doit pas ˆ etre plus petit que le mino rant d’un succes seur i du sommet a uquel le temps de tra jet de j ` a i est soustr ait. Cela donne l’´ equa tion s uiv ante : a r j = max { a r j , m in i ∈ succ ( j ) { a r i − t r j i }} Une nouvelle ´ equation similair e est v a lable p our les ma jorants : b r j = min { b r j , m ax i ∈ succ ( j ) { b r i − t r j i }} Si, p our un so mmet i et une resso urce r , la condition a r i > b r i est r emplie, alor s le sommet i doit ˆ etre supprim´ e du gr aphe (car il est inaccessible), ains i q ue tous ses ar c s incidents. De mˆ eme, dans le cas o ` u l’attente n’est pas p ermise, s’il existe un arc ( i, j ) tel q ue b r i + t r ij < a r j , alor s l’a rc ( i, j ) peut ˆ etre supprim´ e. L’algor ithme 1 v´ erifie donc les ´ e q uations pr´ ec ´ edentes p our chaque sommet. Dans le ca s d’un graphe acyclique, il suffit de traiter les sommets dans l’or dr e top ologiq ue p our les ´ equa tions utili- sant les pr´ edecesseur s, puis dans l’ordr e in verse p our les ´ equations co ncernant les succe s seurs. La pro c´ edure r ecommence si et seulement s i un s ommet ou un ar c peut ˆ etr e supprim´ e. La co mplex it ´ e de ce tte pro c ´ edure est do nc en O ( n 3 R ). Dans le cas cyclique, rien ne ga rantit qu’aucune fenˆ etre ne p our ra encore ch anger apr` es l’application de la pro c´ edure , et ce mˆ eme si celle-ci n’induit pas de suppression de s ommets ou d’arcs. La pr o c´ edur e pr´ ec´ eden te est donc r ´ ep´ et´ ee tant qu’une b or ne change ou qu’un so mmet o u un arc es t ´ elimin ´ e. Pour cet a lgorithme, la complexit´ e en temps de la bo ucle r´ ep´ eter est en O ( n 2 R ). Une premi` ere appr oximation na ¨ ıve du nombre de fois o ` u cette b oucle est effectu´ ee dans le cas de fenˆ etre s enti ` eres est O ( n max i ∈ V { b i − a i } ) (r´ eduction d’a u moins une unit´ e de la fenˆ etre p our un sommet ` a chaque it´ e r ation). La complexit´ e totale est donc O ( n 3 R ma x i ∈ V { b i − a i } ). 4 Algorithme 1 : REDU CTION : R´ eduction des fenˆ etres de temps (graphe acyclique) Ent r ´ ees : G = ( V , A ) et ∀ i ∈ V , ∀ r = 1 , . . . , R, [ a r i ; b r i ] la fenˆ etre de la ressource r p our le sommet i ; les sommets son t num ´ erot´ es dans l’ordre t opologique Sorties : G ′ = ( V ′ , A ′ ) un sous-graphe partiel de G av ec les fenˆ et res de ressource r´ eduites V ′ ← V ; A ′ ← A ; r ´ ep´ eter r ecommencer ← f a lse ; pour i al lant de 1 ` a n faire pour r al lant de 1 ` a R faire minp ← ∞ ; maxp ← 0; pour tous les j ∈ pr ed ( i ) fai re minp ← min { minp, a r j + t r j i } ; maxp ← max { maxp, b r j + t r j i } ; si a r i < minp alors a r i ← minp ; si b r i > maxp alors b r i ← maxp ; pour i al lant de n ` a 1 faire pour r al lant de 1 ` a R faire mins ← ∞ ; maxs ← 0; pour tous les j ∈ succ ( i ) faire mins ← min { mins, a r j − t r j i } ; maxs ← max { maxs , b r j − t r j i } ; si a r i < mins alors a r i ← mins ; si b r i > maxs alors b r i ← maxs ; si attente non p ermise et ∃ ( i, j ) ∈ A ′ , ∃ r = 1 , . . . , R, b r i + t r ij < a r j alors A ′ ← A ′ \ { ( i, j ) } ; r ecommencer ← tr ue ; si ∃ i ∈ V ′ , ∃ r = 1 , . . . , R, b r i < a r i alors V ′ ← V ′ \ { i } ; A ′ ← A ′ \ { ( u, v ) ∈ A ′ , u = i ou v = i } ; r ecommencer ← tr ue ; jusqu’` a r ecomm encer = f alse ; 5 3.2 Pr ´ etraitemen t p our con traintes de ressource finales Le but de cette pro c ´ edure de pr´ e traitement, pr´ esent ´ ee dans [AAN83] et a m´ elio r´ ee dans[DB0 3] est, comme pr´ ec´ edemment , de r´ eduire le graphe mais en plus de fournir un minorant et un ma- jorant p o ur la v aleur du probl` eme. Elle explo ite le fa it suiv a nt : trouver le plus cour t chemin non contrain t e ntre deux so mmets a la m ˆ eme complexit´ e (et pr e nd aussi le mˆ eme temps de calcul) que trouver le plus court chemin entre un sommet et tous les autres (ou tous les autr es et u n sommet). Les plus cour ts chemins suiv ant chaque m´ etrique (co ˆ ut ou ressour ce) so nt donc cal- cul´ es entre la source et tous les sommets, ainsi qu’entre tous les sommets et le puits. E nsuite, en recombinant ces plus courts chemins, certains p eu co ˆ uteux mais no n r´ ealisables p euven t ˆ etre d´ etect´ es, ce qui p ermet d’am´ eliorer le minorant ; inv er sement, de s solutions r´ ealisables p e uven t ˆ etre exhib´ ees, ce qui fo urnit un ma jorant au pro bl` eme. Enfin, ce traitement p er met d’´ ela guer le graphe en d´ eterminant des arcs et des sommets qui n’appartiennent ` a aucun chemin r´ ealisable ou qui n’appartiennent ` a a ucun chemin optimal. Le d´ eroulement de l’algor ithme est le suiv a nt : – T out d’ab or d, le s chemins le s moins co ˆ uteux de la source ` a tous le s sommets sont calcul´ es. Cela p ermet ´ even tuellement de d´ etecter des instances non r´ ealisables (absence de chemin de la so urce au puits) o u d’exhib er un c hemin o ptimal (un plus co urt chemin de la source au puits v´ erifie les contraint es de r essource ) ou encore, d’exhib er un chemin no n r´ ealisable de co ˆ ut minimum p er metta nt de mettr e ` a jour le minora n t p our le pr o bl` eme. – Ens uite, p o ur chaque r essourc e , les chemins les moins consomma teur s de cette ressour ce allant de la so urce ` a ch aque sommet sont ca lcul´ es. Ils p ermettent une nouvelle fois de d´ etec- ter la non faisabilit´ e de l’ins ta nce (la v aleur du plus cour t chemin sur une ressour c e d´ epas se le ma jora nt du puits) ou de mettre ` a jour le ma jorant du pr obl` eme par la consid´ eration d’un chemin r´ ealisable p our toutes les res sources. – Enfin, les chemins le s moins co ˆ uteux et les moins co nsommateurs en chaque r essource allant de tout sommet au puits so nt ca lcul´ es. D’une par t, l’e nsemble des chemins a ins i g´ en ´ er´ es p ermet d’am´ eliorer le ma jo rant en r ecombinan t les plus cour ts chemins p o ur trouver des chemins r´ ealisables de b on co ˆ ut : le princip e co ns iste tout simplement ` a consid´ e rer, p our chaque a rc ( i, j ) du gra phe, le s chemins r´ es ultant d’une concat´ enation d’un plus court chemin de s ` a i , de l’ar c ( i, j ) et d’un plus cour t chemin de j ` a t . D’autre part, cela p ermet de tes ter l’accessibilit´ e ou la p e rtinence (en incluant l’informa tion app ort´ ee par le ma jorant) de chaque so mmet et de chaque arc po ur les supprimer si p os sible : po ur un sommet i ( r esp. , pour un arc ( i, j )), il suffit que, p our une m´ etr ique donn´ ee, la v aleur du plus co urt ch emin de s ` a i a dditionn´ e ` a la v aleur du plus cour t chemin de i ` a t ( r esp. , ` a la v aleur de l’arc ( i, j ) plus la v aleur du plus cour t chemin de j ` a t ) s oit plus grande que le ma jorant en co ˆ ut o u que le ma jor ant pr´ esent sur le puits p our c e tte m ´ etrique p our que ce sommet ( r esp. , cet arc) s o it supprim´ e. Cette pro c´ edure p eut donc renv oyer un cons ta t de non r´ ealisabilit´ e, un chemin optimal ou un minorant et un ma jo rant, ce der nier po uv ant ˆ etre as so ci´ e ` a un chemin. Une descriptio n de ce tr aitement est pr op os´ ee par l’alg o rithme 2 , o ` u l’on supp ose disp os e r de deux pro c´ edures pcc ( s → , f ) et pcc ( → t, f ) qui per metten t de d ´ eterminer resp ectivemen t les plus courts chemins de s ` a tous les sommets et les plus courts chemins de tous les s o mmets ` a t , relativemen t ` a la m´ etrique f . Dans le cadre d’un s ch´ ema de g´ en ´ eration de colo nnes, ce tra itement p ermet de d´ etecter une instance non r´ ealisa ble ma is aus si d’ ´ eliminer des sommets et des arcs n’appa rtenant pas ` a une so lution optimale. De plus, d` es que la v a leur du ma jor ant devient n´ egative, l’´ eliminatio n de sommets et d’arcs non optima ux n’est plus n´ ecessaire men t o ppo rtune si l’ob jectif est de conser ver 6 plusieurs so lutions int eressa ntes (de coˆ ut n´ egatif ). Il suffit alor s de rendre stric ts les tests sur le ma jorant dans les blo cs d’´ elimina tion des sommets e t des arcs. 4 R´ esolu tion exacte du PCCC Nous rapp elons que le pro bl ` eme P C CC es t NP -dur, et ce mˆ eme p our une seule resso urce. Le probl` eme de d´ ecis io n as s o ci´ e ` a l’existence d’un chemin de co ˆ ut inf´ erie ur ` a une b orne est lui-mˆ eme NP -complet p our le ca s de deux resso urces ou plus. La r´ esolution exacte de ce pro bl ` eme p e ut ˆ etre men´ ee par la programmation dynamique. 4.1 Cas g´ en´ era l La pr ogramma tion dynamique po ur ce probl` eme p ermet d’´ elab orer un a lg orithme pseudo- po lynomial 4 de r´ esolution ex acte. La pr ogra mmation dy na mique se fonde s ur le princip e d’op- timalit ´ e de Bellma n : toute sous-s´ equence d’une s´ equence optimale est optimale. Cela est di- rectement appliquable au plus court chemin : si P = { ( s, v 1 ) , . . . , ( v q , t ) } est un plus cour t chemin de s ` a t , alor s P ′ = { ( s, v 1 ) , . . . , ( v i − 1 , v i ) } est n´ ecessairement un plus co urt chemin de s ` a v i po ur i ≤ q . Avec l’introduction des co nt raintes de ressour ce, o n ne p eut plus adapter directement ce princip e p our pro pa ger les meilleurs chemins, puisqu’il faut nuancer la notion d’optimalit´ e des so us-s´ equences par la cons id´ eration d’un niveau de consomma tion de ress o urce : si P = { ( s, v 1 ) , . . . , ( v q , t ) } est un plus court chemin de s ` a t co nsommant ( B 1 , . . . , B R ) unit´ es des R resso urces, a lors P ′ = { ( s, v 1 ) , . . . , ( v i − 1 , v i ) } es t un plus court chemin de s ` a v i , parmi les chemins ne co nsommant pas plus de ( B 1 − T 1 ( P i → t ) , . . . , B R − T R ( P i → t )) unit´ es des res- sources. P our g´ erer les niv eaux de consommation de coˆ ut et de ressource des sous-s´ equences, la progra mmation dynamique utilise la notio n d’´ etiquettes. D ´ efinition 1 ´ Etiquette Une ´ etiquette est un ve cteur re pr ´ esentant un chemin et dont les c o or donn ´ ees sont le c oˆ ut et les c onsommations des diff´ er entes r essour c es. E = ( E 0 , E 1 , . . . , E R ) o ` u E 0 est le c o ˆ ut du chemin et E r p our r ∈ { 1 , . . . , R } est la c onsommation de la r essour c e r . Remarque 1 A tout chemin r´ ealisable entr e s et tout sommet c orr esp ond une ´ etiquette. Les diff ´ erents alg orithmes de progra mmation dynamique utilisent ces ´ etiquettes, mais il n’est pas forc´ emen t n´ ecessaire de toutes les garder : conser ver toutes les ´ etiquettes r e viendrait ` a ´ enum ´ erer tous le s chemins du graphe. Pour ´ eliminer les ´ etiquettes inutiles, une relation de dominance est d´ efinie. D ´ efinition 2 R elation de dominanc e : U ne ´ etiq uette E domine une ´ e tiq ue tte E ′ ssi ∀ r ∈ { 0 , . . . , R } , E r ≤ E ′ r ( E ≻ E ′ ) et ∃ r ∈ { 0 , . . . , R } , E r < E ′ r Cette r elation de domina nce induit un o rdre par tiel a pp e l´ e ordre de Pareto. T outes les ´ etiquettes n’´ etant pas forc´ e men t deux ` a deux compara bles, cela p ermet de d´ efinir un e ns emb le de ma jora nt s po ur cet ordr e. 4 La complexit´ e d´ epen d p olynomialement d e la taille des instances ainsi que des donn´ ees num ´ eriques. 7 Algorithme 2 : PRETRAITEMENT : Pro c´ edu re d e pr´ etraitemen t Ent r ´ ees : - G = ( V , A ) graphe, c : A → R fonction de coˆ ut sur les arcs, b ∈ N R vecteur des ressources disp onibles au p uits Sorties : G ′ sous-graphe partiel de G ; U et L ma jorant et minorant du chemin le moins co ˆ uteux et v´ erifian t les contrain tes V ′ ← V ; A ′ ← A ; L ← 0; U ← U 0 = C max × ( | V | − 1) + 1 av ec C max = max ( i,j ) ∈ A { c ij } ; r ´ ep´ eter chg ← f al se ; // Calcul des plus courts chemin s { P s → i , i ∈ V ′ } ← pcc ( s → , c ); { P ′ i → t , i ∈ V ′ } ← pcc ( → t, c ); ∀ r = 1 , . . . , R, { P r s → i , i ∈ V ′ } ← pcc ( s → , t r ); ∀ r = 1 , . . . , R, { P ′ r i → t , i ∈ V ′ } ← pcc ( → t, t r ); // Consid´ eration de P s → t si ∄ P s → t alors L’instance n’est pas r´ ealisable ; EXIT; sinon s i ∀ r = 1 , . . . , R, T r ( P s → t ) ≤ b r t alors P s → t est une solution optimale ; EXIT; sinon L ← C ( P s → t ); // Consid´ eration de P r s → t si ∃ r, T r ( P r s → t ) > b r t alors L’instance n’est pas r´ ealisable ; EXIT; si ∃ r, ∀ q = 1 , . . . , R, T q ( P r s → t ) ≤ b q t et C ( P r s → t ) < U al ors U ← C ( P r s → t ); // Recombinaison des chemins pour tous les ( i, j ) ∈ A ′ faire si ∃ P ∈ { P s → i } ∪ R [ r =1 { P ′ r s → i } , ∃ P ′ ∈ { P ′ j → t } ∪ R [ r =1 { P ′ r j → t } , ∀ r = 1 , . . . , R , T r ( P ) + t r ij + T r ( P ′ ) ≤ b r t et C ( P ) + c ij + C ( P ′ ) < U al ors U ← C ( P ) + c ij + C ( P ′ ); // ´ Eliminatio n de sommets pour tous les i ∈ V ′ \ { s, t } faire si ∃ r = 1 , . . . , R , T r ( P r s → i ) + T r ( P ′ r i → t ) > b r t alors Supprimer le sommet i et tous ses arcs incidents; chg ← tr ue ; si C ( P s → i ) + C ( P ′ i → t ) ≥ U al ors Supprimer le sommet i et tous ses arcs incidents; chg ← tr ue ; // ´ Eliminatio n d’arcs pour tous les ( i, j ) ∈ A ′ faire si ∃ r = 1 , . . . , R , T r ( P r s → i ) + t r ij + T r ( P ′ r j → t ) > b r t alors Supprimer l’arc ( i, j ); chg ← tr ue ; sinon s i C ( P s → i ) + c ij + C ( P ′ j → t ) ≥ U al ors Supprimer l’arc ( i, j ); chg ← tr ue ; jusqu’` a chg = f al s e ; Retourner les b ornes L et U ainsi q ue le chemin correspond ant ` a la b orne U ; 8 D ´ efinition 3 ´ Element Par et o-optimal ou n on domin´ e : E est Par eto-optimal ssi ∄ E ′ , E ′ ≻ E D ´ efinition 4 Ensemble Par eto-optimal : Un ensemble Par eto-optimal est un ensemble d’ ´ el ´ ement s non domin´ es. P ar eto = { E | ∄ E ′ , E ′ ≻ E } Cette r elation de do minance p er met de ne g´ en ´ erer que les chemins Pareto-o ptima ux . Pour k ∈ N , la cons e rv ation de toutes les ´ etiquettes non domin´ ees pa r k autres p ermet de s ’a ssurer de tro uver les k meilleur es solutions et p ermet ainsi, dans notre sch ´ ema de g´ en´ eration de colo nnes, d’ins´ er er plusieurs colonnes lors d’une mˆ eme it´ eration. Deux types d’algo rithmes de prog r ammation dynamique existent : algo rithmes ` a cor rection d’´ etiquettes ([DPS8 3]) et a lg orithmes ` a fixation d’´ etiquettes ([DS88]). Algorithme ` a correction d’´ etiquettes [DPS83] Cet alg orithme s e nomme a insi ca r, ` a chaque it´ eration, il v a essay er d’am´ eliorer les ´ etiquettes d´ ej` a existantes. En effet, une liste de so mmets sur lesquels il ex iste des ´ etiquettes non encore trait´ ee s est mainten ue. ` A chaque ´ eta pe , un sommet de cette lis te es t choisi et les ´ etiquettes de ce sommet s ont propag´ ees aux successe ur s de ce sommet. Pour chacune des ´ etiquettes ainsi cr´ e´ ees, un test de do minance est effectu´ e po ur ´ eliminer les ´ etiquettes do min ´ ees ou d´ ej` a obtenues. Si une nouvelle ´ etiquette a ppara ˆ ıt, le sommet sur leq uel cette ´ e tiq uette est pr´ e sente est a jout´ e ` a la lis te des sommets ` a tr a iter. Algorithme 3 : CORR ECTION : Algorithme ` a correction d’´ etiq uettes Ent r ´ ees : - G = ( V , A ) : graphe ave c R contrain t es de ressource - P ar e t o ( E ) renv oie l’ensemble des ´ etiquettes non domin´ es d e E Sorties : Chemin contrain t de coˆ ut opt imal // E T I Q ( i ) est l’ensemble des ´ etiquettes du sommet i , les ´ etiquettes ´ etant des vecteurs de taille (1 + R ) pour tous les i ∈ V faire E T I Q ( i ) ← ∅ ; LI S T ← { s } ; E T I Q ( s ) ← { 0 } tan t que LI S T 6 = ∅ fa i re Choisir i ∈ LI S T ; LI S T ← LI S T \ { i } ; pour tous les j ∈ succ ( i ) faire pour tous les E ∈ E T I Q ( i ) faire si ∀ r ∈ { 1 , . . . , R } , E r + t r ij ≤ b r j alors E ′ ← ( E 0 + c ij , E r + t r ij , ∀ r ∈ { 1 , . . . , R } ); E T I Q ( j ) ← P ar eto ( E T I Q ( j ) ∪ { E ′ } ); si E ′ ∈ E T I Q ( j ) al ors LI S T ← LI S T ∪ { j } ; Retourner le chemin ay an t le p lus p etit co ˆ ut en t ; 9 Algorithme ` a fixation d’´ etiquettes [DPS83] Cet algo rithme se nomme ainsi car ` a chaque it´ er ation, il v a fixer une ´ etiquette q ui ne p ourra plus ˆ etre mo difi´ ee. En effet, une lis te d’´ etiquettes non e nc o re trait´ ees est ma in tenue. ` A chaque ´ etap e, une ´ etiquette (une des non domin´ ees de la liste) es t choisie p o ur ˆ etre pro pa g´ e e. Les nouvelles ´ etiquettes cr´ e ´ ees, si elles ne sont pas domin´ e e s s ur leur sommet, sont ra jout´ ees ` a la lis te. Algorithme 4 : FIXA TION : Algorithme ` a fixation d’´ etiquettes Ent r ´ ees : - G = ( V , A ) : graphe ave c R contraintes de ressource - P ar e t o ( E ) renv oie l’ensem ble d es ´ etiquettes non domin´ es d e E - S om met ( E ) renv oie le sommet d’´ etiqu ette E - min or dr e lex ( E ) renv oie un ´ el ´ ement d e l’ensemble E minimum p our l’ordre lexicographique Sorties : Chemin contrain t d e co ˆ ut optimal // Les ´ etiquettes sont des vecteurs de taille (1 + R ) . // E T I Q ( i ) est l’ensemble des ´ etiquettes du sommet i . // D E F _ E T I Q ( i ) est l’ensemble des ´ etiquettes d´ efinitives du sommet i . pour tous les i ∈ V faire E T I Q ( i ) ← ∅ ; D E F E T I Q ( i ) ← ∅ ; E T I Q ( s ) ← { (0 , . . . , 0) } tan t que [ i ∈ V ( E T I Q ( i ) \ D E F E T I Q ( i )) 6 = ∅ faire E ← min or d r e lex ( [ i ∈ V ( E T I Q ( i ) \ D E F E T I Q ( i ))); i ← somme t ( E ); pour tous les j ∈ succ ( i ) faire si ∀ ℓ ∈ { 1 , . . . , R } , E ℓ + t ℓ ij ≤ b ℓ j alors E ′ ← ( E 0 + c ij , E 1 + t 1 ij , . . . , E R + t R ij ); E T I Q ( j ) ← P a r eto ( E T I Q ( j ) ∪ { E ′ } ); DE F E T I Q ( i ) ← DE F E T I Q ( i ) ∪ { E } ; Retourner le chemin ay an t le p lus p etit co ˆ ut en t ; 4.2 Cas d’un graphe acyclique Dans le cas d’un g r aphe acyclique, un or dre topo logique sur les so mmets p eut ˆ etre calcul´ e. L’ensemble des s ommets p eut alors ˆ e tr e num ´ erot´ e de 1 ` a n de so rte que le sommet 1 soit la source, le sommet n le puits et que les sommets de tout ar c ( i, j ) v´ erifie la relation i < j . Cet algorithme de prog rammation dy namique pour les gr aphes acycliques v a a ppliquer l’alg orithme ` a cor rection d’´ etiquettes vu pr´ ec´ edemmen t en pa rcoura n t les sommets dans l’ordre top olo gique. Ainsi, lors du traitement d’un sommet, tous les sommets qui le pr´ ec` edent dans l’ordr e top olo g ique ont leurs ´ etiquettes d´ efinitives. Le ca lcul des ´ etiquettes de ce s o mmet ne se fait donc q u’une seule fois. Etude de complexit´ e Pour calculer la c o mplexit´ e en espace, il suffit de calculer le nombre maximum d’´ etiquettes que peut g´ en´ erer cet algor ithme. En supp osant que chaque sommet est reli´ e ` a tous les sommets le 10 Algorithme 5 : ACYCLIQUE : Algorithme p our les graphes acycliques Ent r ´ ees : - G = ( V , A ) : graphe acycliqu e av ec R contrain tes de ressource, V = { 1 . . . n } - P ar e t o ( E ) renv oie l’ensemble des ´ etiquettes non domin´ es d e E Sorties : Chemin contrain t de coˆ ut opt imal // E T I Q ( i ) est l’ensemble des ´ etiquettes du sommet i , les ´ etiquettes sont des vecteur s de taille 1 + R E T I Q (1) ← { (0 , . . . , 0) } ; pour tous les i al lant de 2 ` a n fai re E T I Q ( i ) ← ∅ ; pour tous les j ∈ p r ed ( i ) faire pour tous les E ∈ E T I Q ( j ) faire si ∀ ℓ ∈ { 1 , . . . , R } , E ℓ + t ℓ j i ≤ b ℓ j alors E ′ ← ( E 0 + c ij , E 1 + t 1 ij , . . . , E R + t R ij ); E T I Q ( i ) ← E T I Q ( i ) ∪ { E ′ } ); E T I Q ( i ) ← P ar et o ( E T I Q ( i )); Retourner le chemin ay an t le p lus p etit coˆ ut au sommet n ; pr´ ec´ edant dans l’o r dre top olo gique, le nombre maximum d’´ etiquettes p our le s ommet i ( N i ) est ´ egal au nombre de toutes les ´ etiquettes des s ommets de plus p etit indice ; la source n’ayan t qu’une seule ´ etiquette (nulle) : N 1 = 1 e t N i = i − 1 X j =1 N j , i > 1 soit , N 1 = 1 e t N i = 2 i − 2 , i > 1 Pour trouver le nombre d’´ e tique ttes tota l, il suffit de faire la so mme sur tous les sommets : n X i =1 N i = 1 + n X i =2 2 i − 2 = 2 n − 1 = N n +1 Sachan t que chaque ´ etiquette e s t un vecteur de taille 1 + R , la complexit´ e en es pa ce est do nc en O ( R e n ). La complexit´ e en temps de l’alg orithme pr´ ec ´ edent s e calcule en pre nant le cas du sommet 2 ` a part ca r il n’y a qu’une seule ´ etiquette cr ´ e´ e e et donc pas de dominance ( i it ` ere les sommets, j les pr´ ed´ ecesseurs, k les ´ etiquettes, ℓ et m sont deux it ´ erateurs p our faire les comparaiso ns deux 11 ` a deux lor s de la dominance) : R + n X i =2   i − 1 X j =1 N j R + C 2 N i R   = R + N 2 R + C 2 N 2 R + R n X i =3   i − 1 X j =1 N j + C 2 N i   en sa chan t que N 1 = 1 , N 2 = 1 et N j = 2 j − 2 , j ≤ 2 , on obtient : = 2 R + R n X i =3  N i + N i ( N i − 1) 2  = 2 R + R n X i =3  N 2 i 2 + N i 2  = 2 R + R n X i =3  2 2 i − 5 + 2 i − 3  = R  2 + 2 4 n − 2 3 − 2 3 + 2 n − 2 − 1  = R  4 n 24 + 2 n 4 + 1 3  R + n X i =3   i − 1 X j =1 N j X k =1 R + N i − 1 X ℓ =1 N i X m = ℓ +1 R   = O ( R e n ) L’algor ithme de pro grammation dynamique pro p o s´ e p our les gra phes acy cliques n’est pas po lynomial. Le s a lgorithmes p our les gra phes g´ en´ eraux ne le sont a fortiori pas non plus. Au vu de ce s r´ esultats de complexit´ e, l’´ elag age du graphe a prior i en supprimant des sommets ou des ar c s est pr imordial p our r´ eduire le nombre de chemins p ossibles ; de mˆ eme, diminuer l’amplitude des fen ˆ etres de temps et trouver un b on ma jorant p ermet aussi de dimin uer le nom bre d’´ etiquettes calcul´ e e s. 4.3 k Plus Courts Chemi ns Des a lgorithmes p olynomiaux exacts ont ´ eg alement ´ et´ e d´ ev elopp´ e s po ur d´ eterminer, non plus un plus co urt chemin, mais le s k plus co urts chemins de s ` a t (ou de s ` a tout autre so mmet). Le meilleur alg orithme connu ` a ce jour est celui de Eppstein, [E pp98], de complexit´ e O ( m + n lo g( n ) + k ). Il consiste ` a fabriquer un tas des chemins du graphe sto ck ´ es sous forme implicite et tri´ e selon un cer tain crit` er e. L’explicitation d’un chemin du tas se fait ensuite en O ( p ) o ` u p est la longueur du c hemin ` a ´ en um ´ erer. Dans le cas du PCCC, cet a lgorithme p eut ca lculer les cons o mmations de ress o urce s’addi- tionnant le long de tous les chemins lo rs de la c o nstruction du ta s av ec une co mplexit´ e d’ordr e O ( m + Rn log ( n )). La r´ ecup ´ eration de la v a leur d’une conso mmations se fait en temps constant. Ainsi, il est p ossible de tester la r´ ealisabilit´ e d’un chemin en temps O ( R ). Pour r´ esoudre le probl` eme par cet algorithme, il faudrait g´ en´ erer le tas de tous les chemins du gr aphe selon le crit` er e de co ˆ ut initial, puis d´ epiler les chemins (dont le nombre tota l es t exp onentiel) jusqu’` a trouver un chemin r´ ealisable, le premier c hemin tro uv´ e ´ eta nt le chemin optimal. Une telle pr o c´ e dur e, de complexit´ e au pire des cas d’or dr e exp onentiel en temps, p our r ait n´ eanmo ins co nsituter une a lternative ` a la r´ esolution exa c te par pro g rammation dynamique. 5 R´ esolu tion appro c h ´ ee du PCC C Le probl` eme du P CCC ´ e ta nt N P -difficile, la recherc he s ’est dir ig´ ee vers la r´ esolution ap- pro ch ´ ee du probl` eme. Q uelques heuristiques existent : agg r´ e g ation de co nt raintes de r essourc e 12 [NS05], recherche de solutions ε -r´ ealisa ble [ABS02]. Cette s ection pr´ esen tera un sch ´ ema d’ap- proximation p our le cas d’une ressource fina le puis une g´ en´ eralisation de ce s ch´ ema dans le c as de plusieurs ressour ces. 5.1 Sc h´ ema d’appro ximation totaleme n t p olynom i al Un FP T AS ( F ul ly Polynomial Time Appr oximation Scheme o u sch ´ ema d’approximation tota- lement p oly no mial en temps) a tout d’ab ord ´ et ´ e pr´ esent ´ e par Hassin [Has92] et ensuite am´ elior´ e par diff´ erents a uteur s [Phi93,LR01,ESZ02]. Ce FPT AS se base sur la progr ammation dynamique av ec la technique d’´ echelonnage et d’a rr ondis po ur trouver une approximation de la solution. Ce FPT AS es t utilisable dans le cas de gra phes acycliques, avec une seule contrain te de r essource finale. Un or dre top olo gique sur les sommets est calcul´ e ; l’e ns emble des sommets est do nc do r´ e - nav an t n um ´ erot´ e de 1 ` a n sachant q ue le s ommet 1 est la s ource, le sommet n le puits et tout arc ( i, j ) v´ erifie la relatio n i < j . Sc h´ ema ini tial La pro c´ edure de pro g rammation dynamique so us-jacente es t bas ´ ee sur le coˆ ut et non sur la resso urce, comme c’est le cas habituellement : on cherche ` a d´ eterminer p our c = 1 , 2 , . . . , g j ( c ) la plus p etite conso mmation de r essourc e des chemins a llant de 1 ` a j en au plus c unit ´ es de co ˆ ut ; la r echerc he p orte alors sur g n ( c ), c ´ etant optimal d ` es lors que g n ( c ) ≤ b n (i.e., la v aleur optimale est le plus petit c p our lequel la co nsommation de resso urce est inf´ er ie ure ` a la bo rne du puits). L’utilisation de cette pr o c´ edur e induit donc q ue les co ˆ uts sur les a rcs so nt des ent iers strictement p ositifs. Algorithme 6 : EXACT : Programmation dynamique bas´ ee sur le coˆ ut Ent r ´ ees : U n graphe G acyclique Sorties : Un chemin contrain t de co ˆ ut opt imal ( O P T ) c ← 0; g 1 ( c ) ← 0; pour tous les j ∈ { 2 , . . . , n } faire g j ( c ) ← ∞ ; tan t que g n ( c ) > b n faire c ← c + 1; pour tous les j ∈ { 2 , . . . , n } faire g j ( c ) ← g j ( c − 1); pour tous les i | ( i, j ) ∈ A faire si c ij ≤ c alors g j ( c ) ← min { g j ( c ) , g i ( c − c ij ) + t ij } ; Retourner le chemin de co ˆ ut c corresp ondant ` a la consommation de ressource g n ( c ) La complex it´ e de l’algorithme EXA CT est O ( m O P T ) av ec n ≪ m . Il s ’agit donc d’un algorithme pseudop oly nomial, i.e., dont la complexit´ e est p olynomia le en la ta ille de l’instance prise au sens du nom bre d’´ el´ ements de la structure ` a co der , mais ex po nentielle en le logar ithme de ses donn´ ees num ´ eriques. Une mani` ere usuelle de se ramener ` a un ordre p olyno mial de complex it´ e cons is te ` a diminuer consid´ e rablement l’o rdre de gra ndeur des donn´ ees num ´ eriq ues ; c’est la technique d’ ´ echelonnage et d’arr ondis . Bien s ˆ ur, la po lynomialit´ e de l’algorithme appliqu´ e ` a l’instanc e transform´ ee se gagne au prix de l’optimalit´ e : les so lutions obtenues ne sont plus optimale s, mais seule ment appro ch ´ ees, p our l’instance initiale. 13 Pour le probl` eme qui no us concer ne, on utilise l’algor ithme SCALING qui, ´ etant donn´ es une bo rne B ∈ N et un rationnel δ ∈ ]0 , n ], remplace chaque co ˆ ut c ij par le coˆ ut  c ij ( n − 1) δ B  . Algorithme 7 : SCALING : Proc´ edure d ’ ´ echelonnage et d ’arrondis Ent r ´ ees : I = ( G = ( V , A ) , c : A → N ) graphe arc-v alu ´ e, B ∈ N , δ ∈ ]0 , n ] Sorties : ˜ I ( B , δ ) graph e arc-va lu´ e ˜ V ← V ; ˜ A ← ∅ ; pour tous les ( i, j ) ∈ A fai re si c ij ≤ B al ors ˜ c ij ← — c ij ( n − 1) δ B  ; ˜ A ← ˜ A ∪ ( i, j ); La c o mplexit´ e de la pro c´ edure SCALING est en O  m lo g  n δ  (po ur chaque arc, une re- cherc he dichotomique dans l’espa ce [0 , n δ ]). De plus, la pro c´ edure E XACT appliqu´ ee ` a l’ins tance ˜ I ( B , δ ) n´ ecessiterait un temps O ( m ] OP T ), o ` u ] OP T d´ es igne la v aleur optimale sur ˜ I ( B , δ ). Or, les v aleurs de toute solutio n P s → t sur les insta nces I et ˜ I ( B , δ ) so nt li´ ees par les relatio ns suiv a nt es : C ( P s → t ) ≤ B δ n − 1 ˜ C ( P s → t ) + B δ ˜ C ( P s → t ) ≤ n − 1 B δ C ( P s → t ) En particulier , si les chemins ˜ P s → t et P ∗ s → t sont resp ectivemen t optimaux p our les instance s ˜ I ( B , δ ) et I , a lo rs : ] OP T ≤ ˜ C ( P ∗ s → t ) ≤ n − 1 B δ OP T C ( ˜ P s → t ) ≤ B δ n − 1 ] OP T + B δ ≤ O P T + B δ On d´ eduit de ces r e lations : d’une part, s i OP T est ` a r app ort po lynomial ρ de B (i.e., OP T ≤ ρB o ` u ρ est b orn´ e par un po lynˆ o me en n ), alors le d´ er oulement de l’a lgorithme EXACT sur ˜ I ( B , δ ) devient p olyno mial ; d’autre pa rt, si B est un minorant de O P T (i.e., B ≤ O P T ), la solution r e n vo y´ ee est (1 + δ )-appro ch´ ee p our le pro bl` eme initia l. Il rev ient donc ` a d´ eterminer en temps p olynomial une b orne B v´ erifiant B ≤ O P T ≤ ρB . La d´ eterminatio n de B s’effectue par recherc he dichotomique dans l’interv alle [ L B , U B ], o` u LB et U B d´ esig nent r esp ectivemen t un mino rant et un ma jorant de O P T (par exemple, consid´ e- rer LB = 1 et U B = ( n − 1) × max ( i,j ) ∈ A { c ij } ). Cette recherche est elle-mˆ eme fond´ ee sur la pro c´ e dure TEST qui, p o ur une instance I et une bor ne B donn´ ees, r env oie : T E S T ( B , δ ) =  OU I si O P T ≥ B N O N si O P T < (1 + δ ) B Une mise en œuvr e de cette pr o c´ edur e consis te ` a appliq ue r la progr ammation dynamique EXA CT sur l’instance ˜ I ( B , δ ), en limitan t le coˆ ut maximum ` a tester ` a n − 1 δ . 14 Algorithme 8 : TEST : Pro c´ edure de test appro ch ´ ee Ent r ´ ees : I instance, B borne sur le co ˆ ut ob jectif, δ ∈ ]0 , n ] erreur Sorties : OUI si O P T ≥ B ou chemin P s → t de v aleur C ( P s → t ) < (1 + δ ) B ˜ I ( B , δ ) ← SCALING( I , B , δ ); ˜ B ← — n − 1 δ  ; pour tous les c de 1 ` a ˜ B faire g s ( c ) ← 0; pour tous les j ∈ { 2 , . . . , n } faire g j (0) ← ∞ ; pour c de 1 ` a ˜ B faire pour tous les j ∈ { 2 , . . . , n } faire g j ( c ) ← g j ( c − 1); pour tous les i/ ( i, j ) ∈ A faire si ˜ c ij ≤ c alors g j ( c ) ← min { g j ( c ) , g i ( c − ˜ c ij ) + t ij } ; si g n ( c ) ≤ b n alors Retourner NON et le chemin trouv´ e; Retourner OUI La complexit´ e de la pr o c´ edur e TEST est domin´ ee par l’´ etap e de pro grammatio n dy na mique, qui s’effectue en temps O ( m n δ ). Lorsque la pro c´ edur e TE ST r´ epo nd NON, le chemin renvo y´ e, de v aleur au plus  n − 1 δ  dans l’instance ˜ I ( B , δ ), est de v ale ur au plus B (1 + δ ) dans le graphe initial. Si, en rev a nche, elle r´ epo nd O UI, c’est que tout chemin r´ ealisable est de v aleur au moins n − 1 δ + 1 sur ˜ I ( B , δ ), et donc, de v aleur au moins B sur I . Autrement dit, la d´ ecis ion exa c te sur ˜ I se tr a nsforme en d ´ ecision δ -appro ch ´ ee sur I . ˜ I ( OUI ⇔ ] OP T > ˜ B NON ⇔ ] OP T ≤ ˜ B ⇒ I  OP T > B OP T ≤ (1 + δ ) B La recherche dichotomique DICHO consiste alors , pa rtant d’un interv alle initial [ LB , U B ], ` a app eler it´ er ativemen t la pr o c´ e dur e TEST, jusqu’` a o btenir un encadr ement suffis a mment fin de la v aleur de OP T ( U B < ρLB ). Si l’on p ose f ( LB , U B ) = δ ∈ ]0 , n ] et g ( LB , U B , δ ) = √ LB × U B , la complexit´ e de la pro c´ edure DICHO est en O  log  log ( U B /LB ) log( ρ )   m n δ + log (log ( U B /LB ))   o ` u O  log  log( U B /LB ) log( ρ )  estime le nombre de tests n ´ ecessair es (recherche dic hotomique entre LB et U B dans l’espace logar ithmique) et O (log log ( U B /LB )) le temps de calcul d’une v aleur appro ch ´ ee (ma is suffisante) de g ( LB , U B , δ ). Cette v aleur appr o ch ´ ee est tro uv´ ee en cherc han t le premier indice i tel que 2 2 i > U B LB ; on prend alor s g ( LB , U B , δ ) = LB 2 2 i − 2 . Le sch ´ ema d’appr oximation to ta lement p olynomial p eut maintenan t ˆ etre ´ enonc´ e. Pour une instance I e t une e r reur ε ∈ ]0 , 1 [ do nn ´ ees, le sch ´ ema se d´ ecomp ose en trois ´ eta p es : – T out d’ab or d, il calcule un minora nt L B et un ma jora nt U B de la v a le ur du probl` eme. – Ens uite, il raffine ` a l’aide de DICHO l’encadr ement de l’optimum jusq’` a optenir LB ≤ OP T ≤ U B ≤ ρLB , ρ ∈ R – Enfin, il d´ etermine le chemin optimal dans l’instance ˜ I ( L B , ε ) grˆ ace ` a EXACT. 15 Algorithme 9 : DICHO : Recherc h e d e la b orne B Ent r ´ ees : LB et U B bornes inf´ erieure et sup´ erieure de O P T , ρ p aram ` etre Sorties : Une b orne LB telle q u e LB ≤ OP T ≤ ρLB tan t que U B > ρ LB faire δ ← f ( LB , U B ); B ← g ( LB , U B , δ ); si T E S T ( B , δ ) r´ ep ond O UI alors LB ← B ; sinon U B ← B (1 + δ ); Algorithme 10 : SCHEMA : Sch ´ ema d ’approxima tion totalement p olynomial Ent r ´ ees : ε l’erreur d ’appro ximation, ρ param` etre Sorties : Un plus court chemin contrain t ( 1 + ε )-app roch´ e (1) D´ eterminer LB et U B b ornes inf´ erieure et sup´ erieure d e O P T ; (2) LB ← DICHO( LB , U B , ρ ); (3) P s → t ← EXACT( ˜ I ( LB , ε )); La complexit´ e des ´ etape s (2 ) et (3 ) de cet algo rithme est donc de O  log  log( U B /LB ) log( ρ )   m n δ + log log  U B LB  + O  m  ρ n ε  Hassin [Has92] utilise les par am` e tr es constants δ = ε et ρ = 2 p our la pro c´ edure de r´ eduction de l’interv alle [ LB , U B ] ; il initialise par ailleur s les b ornes LB et U B resp ectivemen t ` a 1 et ( n − 1) C max . La complexit´ e finale du s ch ´ ema qu’il pro p o se est ainsi d’ordre : O  log log  U B LB   m n ǫ + log log  U B LB  qui es t bien p o lynomiale en ( n, m, log( C max ) , 1 / ǫ ). Am´ eliorations Lor enz et Raz [LR01] o nt pro po s´ e un algo rithme p olynomial pour trouver des bo rnes inf ´ erieure e t s up ´ erieure dont le rapp ort est n . E n consid´ erant le graphe r´ eduit G i = ( V , A i ) o ` u A i est l’ensemble des a rcs dont le co ˆ ut est parmi les i plus faibles, il suffit de tro uver le i tel que G i admet un chemin r´ ealisable en consommation de res source et G i − 1 n’en a dmet pas. La b orne inf ´ erieure est donc le plus gra nd co ˆ ut, not´ e c LR + , sur G i (tout chemin r´ ealisable emprunte au moins un arc de co ˆ ut c LR + , sino n il existe un chemin r´ ealisable sur G i − 1 ) et la borne sup´ e r ieure est n c LR + (le plus cour t c hemin en consomma tio n de res s ource sur G i est r´ ealisa ble , de v aleur au plus n c LR + ). Cette pro c´ edure est e n O ( n lo g 2 ( n ) + m lo g( n )) (en simplifiant av e c O (log m ) = O (log n )). De plus, les auteurs mettent en œ uvre le sch ´ ema av ec la v aleur f ( LB , U B ) = δ = 1 et ρ = 2. La complexit´ e tota le o bten ue es t de : O  m n log log ( n ) + m n ǫ  Ergun et al., [E SZ 02] exploitent plus finement la qualit´ e de ces bo rnes initia les p our a m´ elior er encore la pr o c´ edur e de recherc he dichotomique, en r endant dynamique la mise ` a jour des par a - m ` etres δ et B de cette pro c´ edure. Ainsi, ils d´ emontren t que si l’o n disp o se en entr ´ ee de DICHO 16 Algorithme 11 : BORNE : Pro c´ edure Bornes Ent r ´ ees : U n graphe G Sorties : Deux b ornes LB et U B t elles que LB ≤ O P T ≤ U B ≤ n LB LR − ← 0; LR + ← m ; tan t que LR − < LR + − 1 fai re ℓ ← — LR + + LR − 2  ; Calculer P ℓ s → t plus court chemin de 1 ` a n en consommation de ressource dans G ℓ = ( V ℓ , A ℓ ) o ` u A ℓ = { ( i, j ) ∈ A | c ij ≤ c ℓ } ; si C ( P ℓ 1 → n ) ≤ b n alors LR + ← ℓ ; sinon LR − ← ℓ ; LB ← c LR + ; U B ← C ( P LR + s → t ); de b ornes LB et U B v´ e r ifiant U B LB ≤ n , alors, en p osa nt : δ = f ( L B , U B ) = r U B LB − 1 B = g ( LB , U B , δ ) = r U B LB 1 + δ La co mplexit´ e de DICHO devient O ( m n ) ; par cons´ equen t, le sch ´ ema dans sa globa lit´ e se d´ eroule en temps : O  m n ε  ´ Etude de la com p l exit´ e Ergun et al. [ESZ0 2] effectuent le calcul de complexit´ e de leur sch ´ ema en utilisant les v a leurs exactes p our δ et B . Hassin [Has9 2] utilise une m ´ etho de do nt la complexit´ e est connue p our trouver une v aleur a ppro ch ´ ee des rac ine s car r´ ee s . Ici, l’´ etude commence par choisir de b onnes v a leurs a ppro ch ´ ees des pa ram` etres du sc h ´ ema suiv ant cette m´ etho de av an t de faire l’´ etude de la complexit´ e. La re cherc he des v aleur s appro ch ´ ees des rac ines carr´ ees se fait comme suit : – tro uver le premier i tel que a i = 2 2 i > U B LB . – 1 + δ = a i − 2 d’o ` u  U B LB  1 4 < 1 + δ ≤  U B LB  1 2 – B = LB a i − 3 d’o ` u U B 1 8 LB 7 8 < B ≤ U B 1 4 LB 3 4 D’apr` es le r´ esultat de la pro c´ edure TE ST, le s b o r nes sont mises ` a jo ur : – TEST r´ ep ond OUI : LB + = B et U B + = U B Cela donne donc  U B LB  3 4 ≤ U B + LB + <  U B LB  7 8 17 – TEST r ´ ep ond NON : LB + = LB et U B + = (1 + δ ) B Cela donne donc  U B LB  3 8 ≤ U B + LB + <  U B LB  3 4 Donc au pir e, la plus p etite diminution du ra ppo rt donne U B + LB + <  U B LB  7 8 . On note k le no mbre de passa g es dans la b oucle tant que de la pro c´ edure DICHO. Av an t l’ex´ e cution de la pro c´ edure DICHO, le rapp ort du ma jor a nt sur le mino rant est born´ e par n et a pr` e s cette pro c´ edure, il est de 2 donc la v aleur de k es t b or n´ ee comme suit : n “ ( 7 8 ) k ” ≤ 2  7 8  k log( n ) ≤ lo g(2) k log  7 8  + log log( n ) ≤ log log(2) k ≥ log log ( n ) − log log(2) log  8 7  Donc k ≤       log log( n ) − lo g log(2) log  8 7        En p osant resp ectivement δ i , U B i et L B i les v aleurs de δ , du ma jora nt et du minorant de l’´ etape i , la complexit´ e de la pro c´ edure DICHO s’ ´ ecrit donc : r X i =1 O  m n δ i  = O ( m n ) r X i =1 O  1 δ i  On a aussi :  LB i U B i  1 2 ≤ 1 U B 1 2 i LB − 1 2 i − 1 ≤ 1 δ i < 1 U B 1 4 i LB − 1 4 i − 1 Donc : 1 δ i < LB 1 4 i U B 1 4 i − LB 1 4 i <  LB i U B i  1 4 1 1 − LB 1 4 i U B 1 4 i <  LB i U B i  1 4 1 1 −  1 2  1 4 car p our i ≤ k , o n a U B i LB i > 2 donc LB i U B i < 1 2 1 δ i <  LB i U B i  1 4  2 + 2 1 4 + 2 1 2 + 2 3 4  r X i =1 O  1 δ i  < r X i =1 O  LB i U B i  1 4 ! et o n rapp elle que U B i LB i <  U B i − 1 LB i − 1  7 8 18 Finalement, ce la donne : r X i =1  LB i U B i  1 4 < k − 1 X j =0  LB k U B k  1 4 ( 8 7 ) j < k − 1 X j =0 2 − 1 4 ( 8 7 ) j car U B k ≤ 2 LB k en faisant tendre k vers ∞ , on obtient r X i =1  LB i U B i  1 4 < 2 − 1 4 1 1 − 2 − 1 28 < 35 La complexit ´ e de la pro c´ edure DICHO est bien en O ( m n ), ce qui p ermet d’a rriver ` a une com- plexit´ e totale p our le sch ´ ema de O  m n ǫ  . 5.2 Appro c he multicrit ` ere Si le cas d’une ressource se r´ eso ud efficacement pa r la pr ogra mma tion dynamique, en rev anche, que p eut-o n dire du cas de deux r e ssources o u plus ? Bien s ˆ ur, puisque d´ ecider m ˆ eme s’il existe un chemin r´ ealis able est NP -complet, o n ne p eut g arantir de trouver des solutions appro ch ´ ees en temps p olynomial. N´ eanmoins, une mani` ere de g´ en ´ eralise r l’appro che pr´ ec ´ edente consis te ` a se placer dans le cadr e multicrit ` ere. il s’ag it d’une relaxa tion du probl` eme (on r elˆ a che les contrain tes de consommation de r essource), mais le fait de conserver la na tur e multicrit ` ere (les consommations de resso urce so nt vues comme des cr it` ere s ` a optimiser) per met p eut-ˆ etr e de mieux par courir l’ensemble des s o lutions ou, ` a d´ efaut, d’en dessiner les c o ntours. D` es le d´ ebut des ann´ ees 8 0 , Hansen s’est in t ´ ress´ e a u probl` eme de plus cour t chemin bicr it` ere en en donnant un FPT AS [Ha n8 0]. Pour des probl` emes plus g´ en ´ eraux, Papadimitriou et Y a nnak akis, [PY00], ont pr op os´ e une d´ emons tration g ´ eom´ etrique de l’existence d’une fro nti ` ere de Pareto appro ch ´ ee de taille p oly nomiale. Les a uteurs ont ´ e galement donn´ e des th ´ eor` emes d’existence de pro c´ edures po lynomiales per mettant de construire de telles fro nti ` ere s, qui s’appliquent notamment ` a notre probl` eme (ces th´ eo r` emes s ont d’ailleurs une for me de g´ en´ er alisation des r´ esultats obtenus par Hassin p our le cas d’une ress ource, que l’on p eut consid´ erer comme pr obl` eme bicrit` er e ). Nous d´ efinisso ns da ns un premier temps le probl` eme de plus co ur t chemin dans un c a dre multicrit ` er e afin d’int ro duire la notio n de fronti ` e re de P areto appro ch ´ e e. Nous propo sons ensuite un algorithme per mettant de d´ eterminer une telle fronti ` er e, puis concluo ns en repla ¸ cant ce s r´ esultats dans le cadre sp´ ecifique de la r´ esolution de PCCC . Dans cette section, on se restre int de no uveau aux contrain tes de ress ource a u puits ; de plus, les gr aphes sont supp os´ es sans circuit et les donn´ ees nu m´ eriq ues r ationnelles strictement p o sitives. Plus court chemin multicrit ` ere Dans l’appr o che multicrit ` ere, les pr o bl` emes co nsid´ er´ es so nt la g´ en´ eralisa tio n ` a plusieurs ob jectifs des probl` emes d’o ptimisation classique. Pour le pro bl` eme de plus court chemin, il s’agit donc de d´ eter miner , dans un graphe orient ´ e G = ( V , A ), un chemin de s ` a t qui optimise, non pas une fo nc tio n de co ˆ ut C , mais un ensemble de fonctions C 1 , . . . , C R . Cette version du probl` eme est no t´ ee PCC-M . Les fonctions ` a optimiser sont toutes suppo s´ ee s ` a v a leur dans Q ∗ + . De plus, les cr it` eres p euvent ˆ etre ` a minimiser ou ` a maximiser (par exemple, un crit` ere souven t pris en co nsid´ era tion po ur la construction de chemins est celui de la longueur des chemins, que l’o n cherc he ` a maximis e r). Ainsi, par la suite, on consid` erera R fonctions C 1 , . . . , C R ` a o ptimiser, sans pr´ esupp os er de leur sens d’optimisation (max imis er o u minimiser), ni dans un premier temps de leur interpr ´ etation (crit` ere origina l du probl` eme ou 19 relaxatio n d’une co nt rainte de r essource ). Les ensembles des indice s des crit` eres ` a maximiser e t ` a minimiser seront r esp ectivemen t not´ es R max et R min . Pour tout vecteur w de R R , w | R max (resp., w | R min ) d´ esig ne sa re s triction aux indices de R max (resp., de R min ). La m ultiplicit ´ e des fonctions ` a optimiser fait q u’elles n’induisen t plus a pr iori un ordr e complet sur l’ensemble des s olutions r´ ealisa ble s : (1 , 2) et (2 , 1) sont pa r exemple incompara bles dans R 2 . ´ Evidemment, il est to ujours po ssible de d´ efinir ma lgr´ e tout un ordre complet, par exemple, en consid´ er ant l’ordr e lex icogra phiq ue , ou enco r e, en co nsid´ era nt, lo rsque cela es t poss ible, une combinaison lin ´ eaire des cr it ` eres ` a optimiser ; auquel cas on se ram` ene ` a un probl` eme mono crit` ere. N ´ eanmoins, si l’o n souhaite cons erver la nature m ulticrit ` ere du probl` eme (et c’est notre ca s : la ressour ce 1 ne doit pas plus exc´ eder sa b or ne que ne le doit la resso urce 2 ), a lors il fa ut trav ailler sur l’or dre partiel induit par la relation de dominance, d ´ ej` a pr´ esent ´ ee en section 4.1. On ne cherc he plus d` e s lors ` a d´ eterminer une s olution o ptimale, mais un ensemble de so lutions effic ac es , ou non do min´ ees, app el´ e fronti ` ere de Pareto. D ´ efinition 5 F r onti` er e de Par eto p our PCC-M : Soit I =  G = ( V , A ); s, t ∈ V ; C 1 , . . . , C R : P → Q  une instanc e de PCC-M , o ` u P d ´ esigne l’ensemble des chemins sur G . L a fr ont i ` er e de Par eto de I , not´ ee P ( I ) , est l’ensemble des solutions non domin ´ ees de I . F ormel lement, P ( I ) est l’ensemble des chemins P s → t qui v ´ erifient p our tout chemin P ′ s → t ∈ P : S i ∃ r ∈ 1 , . . . , R , t.q .  ( r ∈ R max ) ∧ ( C r ( P ′ s → t ) > C r ( P s → t )) ou  r ∈ R min  ∧ ( C r ( P ′ s → t ) < C r ( P s → t )) Alor s ∃ ℓ ∈ 1 , . . . , R , t.q .  ( ℓ ∈ R max ) ∧  C ℓ ( P s → t ) > C ℓ ( P ′ s → t )  ou  ℓ ∈ R min  ∧  C ℓ ( P s → t ) < C ℓ ( P ′ s → t )  F ron ti` ere de P areto ε -appro c h´ ee Poten tiellement (mais pas n´ eces s airement), q ue l’o n se situe dans l’es pace des solutio ns ou dans celui des v aleurs, la fronti ` e r e de Pareto est de taille exp onentielle : d ´ eterminer ce tte fronti ` ere n’est donc pas envisageable. En outre, p our certains probl` emes (et c’est notamment le cas du plus court chemin), d´ ecider mˆ eme si un p oint do nn ´ e est ou non Pareto o ptimal e st d´ ej` a NP -co mplet. Aussi, ` a d´ efaut de manipuler l’ensemble des p oints Pareto-optimaux, il po urrait ˆ e tre int ´ er e ssant d’exhib er un sous- ensemble de taille r aisonnable de p oints qui p ermettent de repr´ esenter, de fa¸ con appro ch´ ee mais ma ˆ ıtr is´ ee, tous les p oints de l’ensemble. C’est l` a la vo cation de la fronti ` ere de Pareto ε -a ppro ch ´ ee. D ´ efinition 6 F r onti` er e de Par eto ε -appr o ch ´ ee p our PCC-M : Soit I =  G = ( V , A ); s, t ∈ V ; C 1 , . . . , C R : P → Q  une instanc e de PCC-M , o ` u P d ´ esigne l’ensemble des chemins sur G . U n sous-ensemble P ε ( I ) de solutions r´ ealisables de I est une fr onti` er e de Par eto ε -appr o ch´ ee si : ∀ P ′ s → t ∈ P , ∃ P s → t ∈ P ε ( I ) t.q . : ∀ r = 1 , . . . , R , ( C r ( P ′ s → t ) < (1 + ε ) C r ( P s → t ) si r ∈ R max C r ( P ′ s → t ) > (1 − ε ) C r ( P s → t ) si r ∈ R min Cette d´ efiniton signifie q ue tout chemin P ′ s → t a un t´ emoin P s → t dans P ε ( I ) dont le v ecteur de pefo r mance r´ ea lise au moins 1 / (1 + ε ) C r ( P ′ s → t ) si r ∈ | R max , au plus 1 / (1 − ε ) C r ( P ′ s → t ) si r ∈ | R min . Les auteurs dans [P Y00] d ´ emontren t que tout probl` eme multicrit ` ere admet une fronti ` ere de Pareto ε -appr o ch ´ ee de taille po lynomiale en | I | et en 1 /ε (mais exp onentielle en R ). Ce 20 r´ es ultat po urrait sembler surpr enant, la taille d’une fronti ` ere de Pareto ´ eta nt p otentiellemen t exp onentielle ; p ourtant, la preuve es t re la tivemen t simple ; nous la pr´ esent ons ici dans le ca dre de PCC-M . Si C r min et C r maj d´ esig ne nt r esp ectivemen t un minorant et un ma jorant de C r ( P s → t ) (on r app elle que la v aleur C r ( P s → t ) est supp os´ ee ˆ etre ratio nnelle strictement p ositive) p our tout r , o n d´ ecoup e tout d’abo rd l’interv alle [ C r min , C r maj ] en une suite  [ c r i , c r i +1 ]  i de H r int erv alles, o ` u c r i +1 = (1 + ε ) c r i si r ∈ R max , c r i +1 = (1 − ε ) c r i si r ∈ R min , p our un param` etre d’erreur ε . Cette pro c´ edure de quadrilla ge de l’espace des v aleurs es t pr´ ecis ´ ement d´ ecr ite dans l’a lgorithme QUADRILLA GE. Si l’on d´ efinit la quantit ´ e M AJ comme M AJ = max R r =1 { C r maj /C r min } , la complexit´ e de cet alg orithme est d’ordr e O  R min { ε M ,ε m } log( M AJ )  . Si la description pro p os´ e e diff ´ eriencie les para m ` etres d’er reur ε M et ε m po ur les crit` er es ` a ma ximiser et ` a minimiser, on suppo se p our l’instant : ε M = ε m = ε . Algorithme 12 : QUADR ILLAGE : q uadrillage de l’espace des v aleurs Ent r ´ ees : I instance, ε M , ε m ∈ ]0 , 1[ erreurs p our les crit` eres ` a maximiser / minimiser Sorties : ∪ R r =1 { ( c r 0 , . . . , c r H r ) } d iscr´ etisation de l’espace ⊗ R r =1 [ C r min , C r maj ] pour tous les r ∈ R max faire H r = ⌈ log (1+ ε M ) ` C r maj /C r min ´ ⌉ ; pour tous les i ∈ { 0 , . . . , H r } faire c r i = (1 + ε M ) i C r min ; pour tous les r ∈ R min faire H r = ⌈ log (1 − ε m ) ` C r min /C r maj ´ ⌉ ; pour tous les i ∈ { 0 , . . . , H r } faire c r i = (1 − ε m ) i C r maj ; Une fois le quadrilla ge effectu´ e, on consid` ere c hacun des h yp ercub es [ c 1 i 1 , c 1 i 1 +1 ] × . . . × [ c R i R , c R i R +1 ] po ur ( i 1 , . . . , i R ) ∈ { 0 , . . . , H 1 − 1 } × . . . × { 0 , . . . , H R − 1 } . Il suffit alor s de choisir, lors qu’un tel po int existe, un p oint de P ε ( I ) pa r hypercub e. L’ens emble P ε ( I ) ainsi construit es t bien une fronti ` er e de Pareto ε - a ppro ch ´ ee, de taille b or n´ ee par : O  1 ε log( M AJ )  R ! En effet, soit P ′ s → t un c hemin de s ` a t ; son ´ etiquette  C 1 ( P ′ s → t ) , . . . , C R ( P ′ s → t )  appartient ` a un hyper cub e H r epr´ e s ent ´ e par le point  c 1 i 1 , . . . , c R i R  dont les c o ordonn´ ees sont d´ efinies par : ( c r i r ≤ C r ( P ′ s → t ) < c r i r +1 si r ∈ R max c r i r ≥ C r ( P ′ s → t ) > c r i r +1 si r ∈ R min L’hypercub e H c o nsid´ er´ e co nsiste alors en le pr o duit cart´ esien des int erv alles [ c r i r , c r i r +1 [ p our les indices corr esp ondant ` a un crit ` ere ` a max imiser et ] c r i r +1 , c r i r ] p our les indices corres po ndant ` a un crit` ere ` a minimiser. Il exis te n´ ec e ssairement une ´ etiquette E corres po ndant ` a un chemin de P ε ( I ) da ns H (cette ´ e tique tte pouv a nt ˆ etre ce lle de P ′ s → t ) ; a lors, pa r co ns truction : c r i r ≤ E r et C r ( P ′ s → t ) < (1 + ε ) c r i r ⇒ C r ( P ′ s → t ) < (1 + ε ) E r si r ∈ R max c r i r ≥ E r et C r ( P ′ s → t ) > (1 − ε ) c r i r ⇒ C r ( P ′ s → t ) > (1 − ε ) E r si r ∈ R min 21 La pro c ´ edure de r echerc he d’une fro nt i` ere de Pareto ε - appro ch ´ ee que nous venons de discuter est fo rmellement d´ ecr ite dans l’algo rithme P ARETO-EPSIL O N. Cet a lgorithme n’est ce p enda nt pas p olynomia l, puisqu’on ne sait a priori pas d´ ecider de l’exis tence d’un chemin dans un hy- per cub e do nn ´ e. Notons pour finir que cette c o nstruction reste v alide si l’on choisit p our chaque po int ( c 1 i 1 , . . . , c R i R ) un chemin P ′ s → t dont l’´ etiquette se situe dans l’hypercub e plus la rge : ⊗ r ∈ R max [ c r i r , c r H r ] ⊗ r ∈ R min [ c r H r , c r i r ] Algorithme 13 : P ARETO-EPSILON : F ronti ` ere de Pareto ε -appro ch ´ ee Ent r ´ ees : I instance, ε ∈ ]0 , 1[ erreur Sorties : P ε ( I ) F ronti ` ere de Par eto ε -appro ch ´ ee P ε ( I ) ← ∅ ; ∪ R r =1 { ( c r 0 , . . . , c r H r ) } ← QUA D RILLAGE( ε, ε ) ; pour tous les ( i 1 , . . . , i R ) ∈ { 0 , . . . , H 1 − 1 } × . . . × { 0 , . . . , H R − 1 } faire si ∃ un chemin P s → t ` a valeur dans ⊗ r ∈ R max [ c r i r , c r i r +1 ] ⊗ r ∈ R min [ c r i r +1 , c r i r ] alors P ε ( I ) ← P ε ( I ) ∪ { P s → t } ; Sc h´ ema com plet d’approx imation de la fron ti` ere de Par eto Dans [P Y0 0] sont ´ enonc´ es des th ´ eor` emes de ca r act´ erisation de la construc tibilit´ e en temps p olynomial de fro nti ` er e s de Pareto ε -appro ch ´ ees (o ` u, par po lynomial, on entend p olynomia l en | I | et 1 /ε , e x po nentiel en R ) ; c e s constructions so nt qualifi´ e e s de sch´ emas c omplets d’appr oximation po ur le pr obl` eme multicrit ` ere. La version multicrit ` ere d’un pro bl` eme d’optimisation admet un sch ´ ema complet d’approximation de s a fronti ` ere de Pareto ssi l’on p eut d´ ecider en temps p olynomia l la version d´ e c is ion appr o ch ´ ee (de t yp e GAP) du probl` eme multicrit ` ere. En particulier, si les fonctions ` a o ptimiser so nt lin ´ eaires, discr` etes e t que la version mo no crit` er e ex acte est d´ ecidable en temps pseudop olyno mial, a lors le probl` eme multicrit ` ere a dmet un sch ´ ema complet d’approximation. S’a gissant du pro bl` eme de plus cour t chemin, on sa it par la pro g rammation dynamique d´ ecider en temps pseudop oly nomial, po ur une instance I et une v aleur B , s’il existe sur I un chemin de v aleur B ; on en d´ eduit donc que PCC-M a dmet un sch´ ema complet d’a pproximation de sa fro nt i` er e de Pareto. Nous prop oso ns ici un tel sch´ ema, qui est une forme de g´ en ´ eralisa tion au c adre multicrit ` ere des a lgorithmes pr op os´ es dans la section pr´ ec ´ edente. Princip e. Dans le cadr e mono cr it ` ere ` a une ressource, p our une instance I et une b o r ne B donn´ ee s, on ne sait pas d´ ecider e n temps p olynomial s’il exis te un chemin de c o ˆ ut au plus B tout en consommant a u plus b n quantit ´ e de resso ur ce. En rev anche, o n p eut p our une erre ur ε donn´ e e d´ ecider en temps p olyno mia l (en I et en 1 /ε ) s ’il existe un chemin de co ˆ ut au plus (1 + ε ) B et de consommation au plus b n , ou si tout chemin, soit co ˆ ute a u mo ins B , s oit co nsomme str ic temen t plus que b n . Cette notion de test a ppro ch ´ e se g´ en´ er alise naturellement ` a plusieurs fonctions : o n ne sait pas, p o ur un p oint ( c 1 i 1 , . . . , c R i R ) donn´ e, d´ ecider s’il existe un chemin P s → t dont l’´ etiquette ( C 1 ( P s → t ) , . . . , C R ( P s → t )) v´ erifie p our tout crit` e r e C r ( P s → t ) ≥ c r i r si r ∈ R max , C r ( P s → t ) ≤ c r i r si r ∈ R min , o u si tout chemin n’atteint pas ou exc` ede strictement l’une a u moins des bo rnes c r i r . En rev anche, on peut d´ ec ide r en temps p olynomial p our des erreurs ε M et ε m donn´ ees s ’il existe un chemin r esp ectant ces b o r nes, o u si tout chemin es t en-de¸ ca de (1 + ε M ) c r i r po ur un cer tain cr it ` ere ` a maximiser ou au-del` a de (1 − ε m ) c r i r po ur un certain crit` er e ` a minimiser. De no uveau, ce test 22 appro ch ´ e est o btenu en trav aillant sur une instance ˜ I mo difi´ ee : on r am` ene les donn´ ees n um ´ eriques de l’instance I initiale ` a un or dre p oly nomial par une pr o c´ edur e d’´ ec helonnage et d’arr ondis d´ ep endant du p oint ( c 1 i 1 , . . . , c r i r ) et des de g r´ es de pr´ ecision ε M , ε m ; au prix de l’erreur introduite, on gagne le d´ eroulement polyno mia l sur ˜ I des algo r ithmes exacts q ui sont de complexit´ e th´ eorique pseudop olynomiale. Algo rithme de d´ ecision exacte. Nous pr´ e sentons ici l’a lgorithme ACYCLIQUE-M qui est une adaptation au cadr e m ulticrit` er e de l’algo rithme ` a fixation d’´ etiquette 5. Cet a lgorithme renvoie, po ur une instance I de PCC-M et un vecteur B de Q R , l’ensemble E des ´ etiquettes E ∈ Q R non domin´ ees v´ erifiant : E | R max ≥ B | R max et E | R min ≤ B | R min A CYCLIQUE-M renv o ie ´ egalement les chemins asso ci´ es aux ´ etiquettes de E , en ne conserv ant toutefois qu’un chemin par ´ e tique tte. Selo n l’analyse faite en section 4.2 , la complexit´ e de cet algorithme est d’ordr e : R + n X i =2   i − 1 X j =1 N j R + C 2 N i R   + N n R Or, si les donn´ ees s ont enti ` e r es, si M d´ es igne un ma jor ant du no m bre de v ale ur s p o ssibles (consid´ er er par exemple, si l’on note C maj = ma x R r =1 { C r maj } et C min = min R r =1 { C r min } , M = ( n − 1)( C maj − C min + 1) ≤ O ( nC maj )), le nombre N j d’´ etiquettes en tout sommet j est b orn´ e par M R . Si l’o n ne cons erve qu’un chemin pa r ´ etiquette en chaque sommet, la complexit´ e de A CYCLIQUE-M est alors d’ordr e au plus : O  R M R  n 2 + nM R  = O  R n 2 R +1 C 2 R maj  L’algor ithme ACYCLIQUE-M p ermet ainsi de d´ ecider en temps ps e udop olynomial, p our une instance I de P P C-M aux donn´ ees num ´ eriq ues enti ` eres et un vecteur B , s’il existe un chemin dans l’h yp e respace ⊗ r ∈ R max [ B r , + ∞ [ ⊗ r ∈ R min [0 , B r ], o u si tout chemin exc` ede B r po ur un cer tain crit` er e r ∈ R min , o u n’attein t pas B r po ur un certain crit` e r e r ∈ R max . Pr o c´ edur es d’´ echelonnage et d’arr ondis et de test appr o ch´ ee. Pour se ramener d’un ordre pseu- dop olynomial ` a un ordre po lynomial, on ´ echelonne les donn´ e e s num ´ eriques de l’instance I par l’algorithme SCALING-M dont la complexit´ e est d’ordre : O  mR log  n ε  = O  n 2 R log  n ε  L’arro ndi effectu ´ e po ur obtenir des donn´ ees enti ` eres sur ˜ I a p our cons´ equence que la d´ ecision n’est plus exac te, mais se ule ment appro ch´ ee, sur l’instance initiale (algorithme TEST-M). Consid´ erons l’instance ˜ I o btenu e ` a partir de I a pr` es l’app el ` a la pr o c´ edure SCALING-M po ur les par am` etr es B = ( c 1 i 1 , . . . , c R i R ), ε M et ε m . O n voit facilement q ue l’on a les relatio ns suiv antes entre les ´ etiquettes sur les instanc e s ˜ I et I d’un c hemin P s → t : ( ˜ C r ( P s → t ) ≥ ˜ B M ∀ r ∈ R max ˜ C r ( P s → t ) ≤ ˜ B m ∀ r ∈ R min ⇒ ( C ( P s → t ) | R max ≥ B | R max C ( P s → t ) | R min ≤ B | R max ( ∃ r ∈ R max , ˜ C r ( P s → t ) < ˜ B M ∃ r ∈ R min , ˜ C r ( P s → t ) > ˜ B m ⇒ ( ∃ r ∈ R max , C r ( P s → t ) < (1 + ε M ) B r ∃ r ∈ R min , C r ( P s → t ) > (1 − ε m ) B r 23 Algorithme 14 : ACYCLIQUE-M : Algorithme p our les graphes acy cliqu es Ent r ´ ees : I = ` G = ( V , A ); c 1 , . . . , c R : A → Q ´ instance de PPC-M, B = ( B 1 , . . . , B R ) vecteur b orne Sorties : Ensemble des ´ etiqu ettes ( E 1 , . . . , E R ) non domin´ ees v´ erifian t  E r ≥ B r ∀ r ∈ R max E r ≤ B r ∀ r ∈ R min // E T I Q ( i ) est l’ensemble des ´ etiquettes du sommet i E T I Q (1) ← (0) pour tous les i al lant de 2 ` a n − 1 faire E T I Q ( i ) ← ∅ ; pour tous les j ∈ pr ede cesseur ( i ) faire pour tous les E ∈ E T I Q ( j ) faire si ∀ r ∈ R min , E r + c r j i ≤ B r alors E ′ ← ( E r + c r j i , ∀ r ∈ { 1 , . . . , R } ); E T I Q ( i ) ← E T I Q ( i ) ∪ { E ′ } ; E T I Q ( i ) ← P ar eto ( E T I Q ( i )); E T I Q ( n ) ← ∅ ; pour tous les j ∈ pr ede cesseur ( n ) faire pour tous les E ∈ E T I Q ( j ) faire si ∀ r ∈ R min , E r + c r j n ≤ B r et ∀ r ∈ R max , E r + c r j n ≥ B r alors E ′ ← ( E r + c r j n , ∀ r ∈ { 1 , . . . , R } ); E T I Q ( n ) ← E T I Q ( n ) ∪ { E ′ } ; E T I Q ( n ) ← P ar et o ( E T I Q ( n )); Retourner E T I Q ( n ) ; Algorithme 15 : SCALING-M : Proc´ edure d ’ ´ echelonnage et d ’arrondis multicri t` ere Ent r ´ ees : I = ` G = ( V , A ); c 1 , . . . , c R : A → Q ´ instance de PPC-M, B ∈ ( Q ∗ + ) R , ε M , ε m ∈ ]0 , 1[ erreurs Sorties : ˜ I ( B , ε M , ε m ) in stance de PPC-M pour tous les les ( i, j ) ∈ A faire ˜ B M ← ⌈ n ε M ⌉ ; pour tous les r ∈ R max faire ˜ c r ij ← min — c r ij n ε M B r  , ˜ B M ff ; ˜ B m ← ⌊ n ε m ⌋ ; pour tous les r ∈ R min faire ˜ c r ij ← min ‰ c r ij n ε m B r ı , ˜ B m ff ; 24 Par ailleurs , puisque les v ale ur s num ´ er iques sur ˜ I so nt bor n´ ees par max { ˜ B M , ˜ B m } = O ( n/ min { ε M , ε m } ), le d´ eroulement de la pro c´ edure ACY CLIQUE-M s ur ˜ I p o ur le para m ` etre B d´ efini par B | R max ≡ ˜ B M et B | R min ≡ ˜ B m devient p o lynomial en n et 1 / ε M , 1 / ε m , d’o r dre : O  R n 4 R +1 min { ε M , ε m } 2 R  En cons´ equence de ce s deux de r ni` er es observ a tions, on p eut d´ ecider , p our une instance I d’ordre n , un p oint ( c 1 i 1 , . . . , c R i R ) et de ux pa ram` etres d’e r reur ε M , ε m , en temps p olynomia l en n et en max { 1 / ε M , 1 / ε m } :  S i ∃ P s → t d’´ etiquette da ns l’hype r espace ⊗ r ∈ R max [ c r i r , + ∞ [ ⊗ r ∈ R min [0 , c r i r ] Ou si l’hyperes pace ⊗ r ∈ R max [(1 + ε M ) c r i r , + ∞ [ ⊗ r ∈ R min [0 , (1 − ε m ) , c r i r ] est vide. Algorithme 16 : TEST-M : Pro c´ edure de test appro ch ´ ee sur PCC-M Ent r ´ ees : I instance, B = ( B 1 , . . . , B R ) vecteur, ε M , ε m ∈ ]0 , 1[ erreurs Sorties : • OUI et un chemin P s → t v´ erifian t  C r ( P s → t ) ≥ B r ∀ r ∈ R max C r ( P s → t ) ≤ B r ∀ r ∈ R min • NON si tout chemin P s → t v´ erifie C r ( P s → t ) < (1 + ε M ) B r p our u n certain crit` ere r ` a maximiser ou C r ( P s → t ) > (1 − ε m ) B r p our un certain crit` ere r ` a minimiser. ˜ I ( B , ε M , ε m ) ← SCALING-M( I , B , ε M , ε m ); ˜ B M ← ‰ n ε M ı ; ˜ B m ← — n ε m  ; B ′ ← ( B r = B M , ∀ r ∈ R max ; B r = B m , ∀ r ∈ R min ); E T I Q ← AC YCLIQUE-M( ˜ I , B ′ ); si E T I Q 6 = ∅ alors Retourner OUI et un chemin d’´ etiquette dans E T I Q sinon Retourner NON Sch ´ ema c omplet d’appr oximation Le sch ´ ema con¸ cu consis te ` a op´ erer un quadrillage de l’es pa ce des v aleurs, puis ` a app eler la pr o c´ edur e de test appro ch ´ e e n le coin de chaque hyper cub e is su de ce quadrillag e . P r´ e cis´ ement, l’alg orithme P ARETO-PCC-M sollicite la pro c´ edure QUADRILLAGE po ur les erreur s ε M = √ 1 + ε − 1 et ε m = 1 − √ 1 − ε (on ne fait plus le quadr illage sur ε , puisque le test en chaque hyperc ub e n’est pas exact, mais appro ch ´ e). Il appe lle ensuite la pro c´ edure TEST-M sur chaque c oin ( c 1 i 1 , . . . , c R i R ), en invoquant les mˆ emes par am` etr e s d’er reur ε M et ε m . Les chemins tr ouv´ es par les app els succes sifs ` a TE ST-M co nstituen t la fronti ` e r e de Pareto ε - appro ch ´ ee. Soit P ′ s → t un chemin de s ` a t et soit  C 1 ( P ′ s → t ) , . . . , C R ( P ′ s → t )  son ´ etiquette, o n consid` er e le p oint B =  c 1 i 1 , . . . , c R i R  caract´ eris´ e par : ( c r i r ≤ C r ( P ′ s → t ) < (1 + ε M ) c r i r si r ∈ R max c r i r ≥ C r ( P ′ s → t ) > (1 − ε m ) c r i r si r ∈ R min 25 Algorithme 17 : P ARETO-PCC-M : F ronti ` ere de Pa reto ε - approch´ ee en temps p olynomial Ent r ´ ees : I instance, ε ∈ ]0 , 1[ erreur Sorties : P ε ( I ) F ronti ` ere de Par eto ε -appro ch ´ ee P ε ( I ) ← ∅ ; ε M ← √ 1 + ε − 1; ε m ← 1 − √ 1 − ε ; ∪ R r =1 { ( c r 0 , . . . , c r H r ) } ← QUA D RILLAGE( I , ε M , ε m ); pour tous les ( i 1 , . . . , i R ) ∈ { 0 , . . . , H 1 − 1 } × . . . × { 0 , . . . , H R − 1 } faire B ← ( c 1 i 1 , . . . , c R i R ); si TEST-M( I , B , ε M , ε m ) r envoie un chemin P s → t alors P ε ( I ) ← P ε ( I ) ∪ { P s → t } ; Si TEST-M( I , B , ε M , ε m ) a renv oy´ e un chemin P s → t , alor s ce chemin v´ er ifie : ( C r ( P s → t ) ≥ c r i r ⇒ C r ( P ′ s → t ) < (1 + ε M ) c r i r ≤ (1 + ε ) C r ( P s → t ) s i r ∈ R max C r ( P s → t ) ≤ c r i r ⇒ C r ( P ′ s → t ) > (1 − ε m ) c r i r ≥ (1 − ε ) C r ( P s → t ) si r ∈ R min Sinon, l’existence de P ′ s → t assure que TE ST-M a n´ ec e ssairement renv oy ´ e un chemin P s → t po ur le p o int B − d´ efini par : B r − = c r i r − 1 ∀ r = 1 , . . . , R Ce chemin v´ e r ifie bie n de nouveau : ( C r ( P s → t ) ≥ 1 1+ ε M c r i r ⇒ C r ( P ′ s → t ) < (1 + ε M ) 2 C r ( P s → t ) = (1 + ε ) C r ( P s → t ) s i r ∈ R max C r ( P s → t ) ≤ 1 1 − ε m c r i r ⇒ C r ( P ′ s → t ) > (1 − ε m ) 2 C r ( P s → t ) = (1 − ε ) C r ( P s → t ) si r ∈ R min La complexit´ e de l’algorithme P ARETO- P CC-M est domin´ ee par celle des appels succes s ifs ` a TEST- M. Le no mbre de ces app els est de l’o rdre de O  ((1 /ε ) lo g( M AJ )) R  (consid´ er er que √ 1 + ε − 1 ∼ 1 / 2 ε , 1 − √ 1 − ε ∼ 1 / 2 ε ). Or, la co mplexit´ e de TE ST- M somme la co mplex it ´ e tempo relle de SCALING-M a ppliq u´ ee ` a I et celle de ACYCLIQUE-M appliqu´ ee ` a ˜ I . On obtient au total une complexit´ e d’or dre : O  log( M AJ ) ε  R  Rm lo g  n ε  + Rn 4 R +1 ε 2 R  ! = O  log( M AJ ) ε  R Rn 4 R +1 ε 2 R ! F ron ti` ere de P areto e t PCCC La vision multicrit` ere du probl` eme de plus co urt chemin contrain t ` a R resso urces p eut s’´ enoncer comme le probl` eme co ns istant ` a trouver un chemin P s → t qui minimise chaque comp osa nte du vecteur  C ( P s → t ) , T 1 ( P s → t ) , . . . , T R ( P s → t )  . Si l’on disp o se d’une fronti ` ere de Pareto ε -appr o ch ´ e e P ε , ce la signifie q ue tout chemin P ′ s → t de s ` a t es t re pr´ esent ´ e pa r un chemin P s → t de la fronti ` ere P ε qui conso mme au plus 1 / (1 − ε ) la consommation de P ′ s → t sur chaque cr it ` ere. En particulier , si P ′ s → t est r´ ealisable, on d ´ eduit que P s → t est 1 / (1 − ε )-r´ ealisable. 6 Syn th` ese Le tableau 1 r´ esume les complexit´ es th´ eo riques des alg o rithmes de plus cour t chemin les plus connus ainsi que des algor ithmes exacts ou appr o ch ´ e s p o ur le PCCC vus dans ce ra ppo rt. 26 T ab. 1. Diff´ erents algorithmes et leur complexit´ e Nombre Hyp oth` ese Auteur de sur ou Complexit ´ e en temps ressources le graphe Nom de l’algorithme 0 c ij ∈ Q Bellman[Bel5 8 ] O ( mn ) 0 c ij ∈ Q Bellman O ( m + n ) G acyclique 0 c ij ∈ Q + Dijkstra[Dij59] O ( ( m + n ) log ( n )) 0 c ij ∈ Q + Dijkstra (tas de Fib onacci) O ( m + n log ( n )) 1 c ij ∈ Q + ∗ Programmation dynamique[DB03] O ( m b 1 ) R ∈ N + ∗ c ij ∈ Q Programmation dynamique O ( e n ) R ∈ N + ∗ c ij ∈ Q k p lu s courts c hemins[Epp98] O ( m + R n log n + k ) , k = O ( e n ) 1 c ij ∈ Q + FPT A S[Phi93] O „ mn (1 + 1 ε ) + n 2 (1 + 1 ε )(log( n ) + log(1 + 1 ε )) « 1 c ij ∈ Q + FPT A S multicri t` ere[Han80 ] O „ m 2 n 2 ε log „ n 2 ε «« 1 c ij ∈ Q + FPT A S[Has92] [LR01] [ESZ02] O “ mn ε ” R ∈ N + ∗ c ij ∈ Q + F ron t i ` ere Pareto ε -ap p roch´ ee[PY00] O „ log( M AJ ) ε « R Rn 4 R +1 ε 2 R ! 27 Le but de cette ´ etude est d’´ etudier la p ossibilit´ e de g´ en´ e rer des chemins contraint s en temps ma ˆ ıtr is´ e, dans l’o ptique d’acc´ el´ ere r cer ta ins sch ´ emas de g´ en´ er ation de colonnes impliquant le PCCC comme sous-pr obl` eme. Deux av an tages p our raient ˆ etre tir´ es d’une telle d´ ema rche : d’une part, ˆ etre en mesur e de g´ en´ er er une p opulation diversifi´ ee de chemins lor s de la phase d’initialisa- tion ; d’autre pa rt, acc´ el´ er er le s premi` eres it´ e r ations du sch ´ ema. Les m´ ethode s les plus r´ epandues ` a ce jo ur p o ur r´ esoudr e le PCCC, nota mmen t dans ce cadre sp´ ecifique, s o nt celle s de t y pe pro - grammation dyna miq ue , qui offr e nt des solutions exa c tes, en temps et en espace exp onentiel (ce sont encore ces mˆ emes m´ ethodes qui ont inspir´ e les a lgorithmes appro ch ´ es). Si no us avons ´ evoqu´ e quelques m´ etho des de simplification des instanc e s (section 3 ), celles -ci ne g arantissen t pa s po ur autant la diminution de la complexit´ e th´ eo rique. Quelle alterna tive av ons-nous donc, quitte ` a s’affranchir de l’optimalit ´ e, voire, de la r´ ealisabilit´ e ? La recherche de plus cour ts chemins dans le cadre sp´ ecifique du d´ eroulement d’un sch ´ ema de g´ en´ eration de co lonnes p os e deux probl` emes de nature diff ´ erente. D’une part, celle de la difficult´ e int rins` eque du probl` eme contrain t, ` a pa rtir de 2 resso urces : si l’on s ouhaite r ester dans un or dre po lynomial de co mplexit´ e, il fa ut s’a ffranchir de l’exactitude en termes d’optimalit´ e et en termes de r´ ealis abilit´ e. D’autre part, les co ˆ uts manipul´ es sur les arcs ne s ont plus les co ˆ uts initiaux de l’instance, mais des co ˆ uts r´ eduits issus de la r´ esolution du (PMR), qui p euven t ˆ etre n´ egatifs : les hypoth` ese s faites sur la s tr ucture de co ˆ ut de l’instance initiale ne tiennent do nc plus a u cours des it´ e r ations. O r, ces hypoth` eses interviennent conjointemen t dans les calculs de complexit´ e et des facteurs d’approximation. De sorte ` a exploiter les r´ es ultats d’approximation, il faudr ait donc ˆ etre en mesure de les ´ e tendre ` a un cadr e plus g ´ en´ er al (notammen t, coˆ uts rationnels n´ eg a tifs et po sitifs) ; en outr e, il faudrait utiliser, voire, d´ efinir, un cadre p er tinen t p our l’approximation, l’approximation c la ssique s upp o s ant des v aleurs p ositives. La diversification des c hemins (nota mmen t, dans la phase d’initialisa tion) sous-entend un certain balayage de l’espa c e des solutio ns. Parmi les appro ches que nous av ons pr´ esent ´ ees, la recherc he des k plus co urts chemins d’une part (section 4 .3), d’une fro nti ` ere de Pareto ε -appro ch ´ ee d’autre part (section 5.2), von t da ns le sens d’une telle explor ation. Dans le premier cas, on cherc he int ensivemen t les meilleurs c hemins contraints en ter me de co ˆ ut, tandis que dans le se cond cas, on balay e sp oradiquement tout l’espace . Pour un nombre de r essource s R donn´ e, l’alg orithme d’Eppstein p er met de trier en temps O ( m + R n lo g( n )) tous les chemins du graphe suiv ant le co ˆ ut (initial, ou r´ e duits dans le ca dre de la g´ en´ eration de colonnes). Une fois le tas constitu´ e, il suffit p our trouver le chemin contrain t optimal de d ´ epiler les chemins jusqu’` a trouver un chemin r´ ealisable (ou, dans le cadr e d’un sch ´ ema de g´ en ´ eration de c o lonnes, quand le crit` er e de co ˆ ut choisi p our la co nstruction du tas est le co ˆ ut r´ e duit, l’optimalit´ e est pro uv´ ee s’il n’existe pa s de chemin r´ ealisable de co ˆ ut n´ eg atif ). Rien n’assure n´ ea nmo ins que les k plus cour ts chemins, po ur k = O ( p ( n )) o ` u p p oly nˆ ome, contiennen t ne s erait-ce qu’un chemin r´ ea lisable po ur les r e ssources (ni un chemin de co ˆ ut po sitif po ur d´ emo ntrer l’optimalit´ e du sch ´ ema). Par ailleurs, en triant sur le seul crit` er e de co ˆ ut, on ris q ue de g´ en´ erer des chemins p eu diversifi´ es. Ainsi, en s e limita nt ` a chercher un nombre p olynomia l de chemins, on ne gar antit pas l’obtention de chemins pertinents ; en prenant au contraire k = O ( e n ), la co nstruction du tas reste p olynomiale en temps e t en e s pace, et l’ ´ enum ´ er ation des chemins devient e x po nentielle en temps ma is pas espace : on n’obtient alors une alterna tive ` a la r´ es olution exacte par progra mmation dynamique qui est exp onentielle en temps et en espace. ` A par tir de 2 r essourc e s, l’obtention de solutions r´ ealisa bles n’´ etant plus ga rantie, l’a ppro che m ulticrit` er e semble prometteuse. Bien plus q ue la recherche de la fronti ` ere de Pareto ε -appr o ch ´ ee elle-mˆ eme, c’est le quadrillag e de l’espa ce des v aleur s et l’utilisation de la pr ogra mma tion dyna- mique sur les ins ta nces modifi´ ees qu’il faudra chercher ` a explo iter : balay er l’e space des v ale urs po ssibles et chercher une solution da ns chaque hypercub e semble ˆ etre une b onne stra t´ egie en vue de la diversification des chemins d` es l’initialisa tion. 28 R´ ef ´ erences [AAN83] Y ach P . An eja, Vija y Aggarw al, and Kunh iraman P .K. Nair. S hortest chain sub ject to side constrain ts. Networks , 13 :295–302 , 1983. [ABS02] Pasquale Avella, Maurizio Boccia, and Antonio Sforza. A p enalty function heuristic for the resource constrained shortest path problem. Eur op e an Journal of Op er ational R ese ar ch , 142(2) :221–230, 2002. [Bel58] Richard Bellman. On a Rout ing Problem. Quarterly of Appli e d Mathematics , 16(1) :87–90, 1958. [DB03] Irina Dumitrescu and Natashia Boland. Improved Preprocessing, Lab eling and Scaling Algo- rithms for the W eigh t Constrained Shortest Path Problem. Networks , 42(3) :135–153, 2003. [Dij59] Edsger W. Dijkstra. A note on tw o problems in connexion with graph s. Numerische Mathematik , 1 :269–271 , 1959. [DPS83] Jacques Desrosiers, Paul Pelletier, and F ran¸ cois Soumis. Plus court chemin av ec contrain tes d’horaire. RAIRO , 17(4) :357–377, nov emb er 1983. [Dro94] Moshe D ror. N ote on the Complexit y of the Shortest Pa th Mo dels for Column Generation in VRPTW. Op er ations R ese ar ch , 42(5) :977–978 , Sep. - Oct. 1994. [DS88] Martin Desrochers and F ran¸ cois Soumis. A generalized p ermanent lab elling algorithm for t h e shortest path p roblem with time windows . Information Systems and Op er ations R ese ar ch , 26(3) :191–212, 1988. [Epp98] David Eppstein. Find ing th e k shortest p aths. SIAM J. Computing , 28(2) :652–673, 1998. [ESZ02] F und a Erg ¨ un, Rakes h Sinh a, and Lisa Zang. A n Imp ro ved FPT AS for Restricted Shortest P ath. Information Pr o c essing L etters , sep 2002. [GJ79] Michael R. Garey and David S. Johnson. Computers and I ntr actability . F reeman, 1979. [Han80] Pierre Hansen. Bicriterion path problems. In G. F andel and T. Gal, ed itors, Mul tiple Crite- ria De cision Making : T he ory and Applic ations, LNEMS 177 , pages 109–127. Springer-V erlag, Berlin, 1980. [Has92] Refael Hassin. A pproximation schemes for the restricted shortest path problem. M athematics of O p er ations R ese ar ch , 17(1) :36–42, feb 1992. [LR01] Dean H. Lorenz and D anny Raz. A Simple Efficient Approximation Scheme for th e Restricted Shortest P ath Problem. Op er ations R ese ar ch L etters , 28(5) :213–219, 2001. [NS05] Anass Nagih an d F ran¸ cois Soumis. No dal A ggregation of Resource Constrain ts in a Shortest P ath Problem. Eur op e an Journal of Op er ational R ese ar ch , 2005. [Phi93] Cynthia A. Phillips. The netw ork inh ibition problem. In STOC ’93 : Pr o c e e dings of the twenty- fifth annual ACM symp osium on The ory of c omputing , pages 776– 785, New Y ork, NY, USA, 1993. ACM Press. [PY00] Christos H. Pa padimitriou and Mihalis Y annaka kis. On th e approximabilit y of trade-offs and optimal access of W eb sources. In IEEE Symp osium on F oundations of Computer Scienc e , pages 86–92. IEEE Computer So ciety , 2000. 29

Original Paper

Loading high-quality paper...

Comments & Academic Discussion

Loading comments...

Leave a Comment