12
383 PLUS COURT CHEMIN AVEC CONTRAINTES : ALGORITHMES ET APPLICATIONS par Michel MINOUX Ancien ~l~ve de l'Ecole Polytechnique * RI~SUMI~. - - Le probl~me du plus court chemin avec contrainte suppldmentaire darts un graphe G orientd apparafl dans beaucoup de situations pratiques. Darts les rdseauxx de Tdldcommunications, par e:cemple, les circuits tdldphoniques sont roulds au plus court chemin sous rdserve que l'af[aiblissement lolal le long de ce chemin soit infdrieur ?tune limite donnde. Les mdlhodes lagrangiennes, utilisant la notion de dualitd, permeUent d'obtenir de bonnes solutions approchdes et un encadrement de la solution optimale en se ramcnant ?t la rdso- lution d'une suite de probl~mes de plus courts chemins classiques. Lorsque la solution optimale exacte est recherchde, on montre que l' on peut, sous cerlaines conditions, gdndraliser l' algorithme de Dijkstra (bien connu dans le cas particulier des probl~mes de plus court chemin avec longueurs routes positives). On examine ensuite le cas particulier oft la contrainte suppldmenlaire concerne le nombre d'arcs du chemin. On montre enfin que le probl~me du plus eourl ehemin avec conlrainle est un problkme fondamental de la thdorie des graphes el on donne plusieurs exxemples de probl~mes qui lui sont dquivalents. PLAN. -- I. Introduction. II. Formulation du probl~me. III. Rdsolution approchde par une mdlhode lagrangienne. IV. Rdsolution exxacte ulilisant un algorithme de Dijkstra gdndralisd. V. Plus court chemin avee eontrainle sur le hombre d'arcs. VI. Conclusion. I. INTRODUCTION Le probl6rne de la recherche d'un plus court chernin entre deux nceuds s et t d'un graphe G- [X, U] orientd (*) dont les arcs sont munis de longueurs lu (pour u G U) est bien connu. Sous rdserve que le graphe ne contienne pas de circuits de longueur ndga- tive (ce que nous supposerons dans toute la suite), il existe pour le rdsoudre de nornbreux algorithrnes efficaces [1 h 4]. N6anrnoins, dans un certain nombre de situations pratiques, on recherche ce plus court chemin, non pas parrni l'ensernble Q de tousles chernins possibles (de s h t), mais parmi un sous-ensemble Q' c Q. Nous 6tudierons plus particuli~rement iei le cas oh ce sous-ensemble Q' est d6fini de la manibre suivante : ehaque arc u ~ U 6tant rnuni d'un nombre ~u, Q' est l'ensemble des chemins x E Q vdrifiant la relation (1) : (1) E ~.u ~< ~ , ttEx off le second membre ~ cst un nombre donnd. Dans la suite, nous supposerons que tout circuit y de G v6rifie: ~ ~u ~> 0 (autrement dit : il uE~" n'existe pas de circuit de longueur ndgative en fonc- tion des nornbres ~u). Cette hypoth~se permct d'affir- mer que la solution optimale cst ndcessairement un chemin dldrnentaire (sans circuit). Remarquons, d~s maintenant, que pour que Q' ne soit pas vide, il est n6cessaire de supposer que la lon- gueur du plus court chemin de s 'h l en fo/action des hombres ~u (u E U) est infdrieure ou dgale h ~. Dans route la suite, cette condition sera suppos6e r6alisfe. Donnons un exemple de tels probl~mes relatif aux r6seaux de tdl6communications. Dans les r6seaux t616phoniques urbains, les centraux sont reli6s entre eux par des chbles t~ldphoniques de diff6rentes conte- nances (112 paires, 224 paires, 448 paires...) et de diffdrents calibres (ill de cuivre de diarn6tre 0,8 mm, 0,6 mm ou 0,4 mm). Comrne le cofit d'un circuit t616phonique est proportionnel h la longueur, le raccor- dement 6conomiquernent optimal des centraux entre eux devrait se faire, logiquement, au plus court chemin g6ographique. Cependant, il peut arriver en pratique que ce plus court chemin pr6sente un affaiblissement total supdrieur aux normes admises (s'il a pour sup- port des c~bles de calibre trop faible). Le probl~me est alors de rechercher, parrni tousles chemins dont l'affaiblissernent est inf6rieur h une valeur limite (donnde), celui dont la longueur gdographique est minimale. On sait qu'un affaiblissernent est un rapport (entre la puissance du signal h l'entrde et ~ la sortie), mais exprim6 en 6chelle logarithrnique (**), il devient une * Ingdnieur contractuel au CNET-[ssy, groupement RI~SEAUXET CENTRES DE COMMUTATION,d6partement I~TUDESEN COMMUTATION ET Rt~SEAUX. (*) Si le graphe cst non orientd on se ram~ne simplement au cas prdc6dent en rcmpla?ant chaque ar~tc par deux arcs de m~mes cxtr6mitds, de m~mes longueurs et d'orientations opposdes. (**) En d6cibels (dB) ouen ndpers (N.). 1/12 A. TEL~C., 30, n ~ 11-12. 1975

Plus court chemin avec contraintes : Algorithmes et applications

Embed Size (px)

Citation preview

Page 1: Plus court chemin avec contraintes : Algorithmes et applications

383

PLUS COURT CHEMIN AVEC CONTRAINTES : ALGORITHMES ET APPLICATIONS

par

Michel M I N O U X

A n c i e n ~l~ve de l ' E c o l e P o l y t e c h n i q u e *

RI~SUMI~. - - Le probl~me du plus court chemin avec contrainte suppldmentaire darts un graphe G orientd apparafl dans beaucoup de situations pratiques. Darts les rdseauxx de Tdldcommunications, par e:cemple, les circuits tdldphoniques sont roulds au plus court chemin sous rdserve que l'af[aiblissement lolal le long de ce chemin soit infdrieur ?tune limite donnde. Les mdlhodes lagrangiennes, utilisant la notion de dualitd, permeUent d'obtenir de bonnes solutions approchdes et un encadrement de la solution optimale en se ramcnant ?t la rdso- lution d'une suite de probl~mes de plus courts chemins classiques. Lorsque la solution optimale exacte est recherchde, on montre que l' on peut, sous cerlaines conditions, gdndraliser l' algorithme de Dijkstra (bien connu dans le cas particulier des probl~mes de plus court chemin avec longueurs routes positives). On examine ensuite le cas particulier oft la contrainte suppldmenlaire concerne le nombre d'arcs du chemin. On montre enfin que le probl~me du plus eourl ehemin avec conlrainle est un problkme fondamental de la thdorie des graphes el on

donne plusieurs exxemples de probl~mes qui lui sont dquivalents.

PLAN. - - I. Introduction. II. Formulation du probl~me. I I I . Rdsolution approchde par une mdlhode lagrangienne. IV. Rdsolution exxacte ulilisant un algorithme de Dijkstra gdndralisd. V. Plus court chemin avee eontrainle

sur le hombre d'arcs. VI. Conclusion.

I. I N T R O D U C T I O N

Le probl6rne de la recherche d 'un plus court chernin

entre deux nceuds s et t d 'un graphe G - [X, U]

orientd (*) dont les arcs sont munis de longueurs lu

(pour u G U) est bien connu. Sous rdserve que le

graphe ne contienne pas de circuits de longueur ndga-

t ive (ce que nous supposerons dans toute la suite), il

existe pour le rdsoudre de nornbreux algorithrnes

efficaces [1 h 4].

N6anrnoins, dans un certain nombre de si tuations

prat iques, on recherche ce plus cour t chemin, non

pas parrni l 'ensernble Q de t o u s l e s chernins possibles

(de s h t), mais parmi un sous-ensemble Q' c Q.

Nous 6tudierons plus par t icul i~rement iei le cas oh

ce sous-ensemble Q' est d6fini de la manibre suivante :

ehaque arc u ~ U 6tant rnuni d 'un nombre ~u, Q' est

l 'ensemble des chemins x E Q vdrif iant la relat ion (1) :

(1) E ~.u ~< ~, t tEx

off le second membre ~ cst un nombre donnd.

Dans la suite, nous supposerons que tou t circuit

y de G v6r i f ie : ~ ~u ~> 0 (au t rement dit : il uE~"

n 'exis te pas de circuit de longueur ndgative en fonc-

t ion des nornbres ~u). Cette hypoth~se permct d'affir-

mer que la solution opt imale cst ndcessairement un

chemin dldrnentaire (sans circuit).

Remarquons , d~s main tenant , que pour que Q' ne

soit pas vide, il est n6cessaire de supposer que la lon-

gueur du plus court chemin de s 'h l en fo/action des

hombres ~u (u E U) est infdrieure ou dgale h ~. Dans

route la suite, cet te condit ion sera suppos6e r6alisfe.

Donnons un exemple de tels probl~mes relatif aux

r6seaux de tdl6communications. Dans les r6seaux

t616phoniques urbains, les cent raux sont reli6s entre

eux par des chbles t~ldphoniques de diff6rentes conte-

nances (112 paires, 224 paires, 448 paires...) et de

diffdrents calibres (ill de cuivre de diarn6tre 0,8 mm,

0,6 mm ou 0,4 mm). Comrne le cofit d 'un circuit

t616phonique est proport ionnel h la longueur, le raccor-

dement 6conomiquernent opt imal des cen t raux entre

eux devra i t se faire, logiquement , au plus court chemin

g6ographique. Cependant, il peut arr iver en pra t ique

que ce plus court chemin pr6sente un affaiblissement

total supdrieur aux normes admises (s'il a pour sup-

port des c~bles de calibre trop faible). Le probl~me

est alors de rechercher, parrni t o u s l e s chemins dont

l 'affaiblissernent est inf6rieur h une valeur l imite (donnde), celui dont la longueur gdographique est

minimale.

On sait qu 'un affaiblissernent est un rappor t (entre

la puissance du signal h l 'entrde et ~ la sortie), mais

exprim6 en 6chelle logari thrnique (**), il devient une

* Ingdnieur contractuel au CNET-[ssy, groupement RI~SEAUX ET CENTRES DE COMMUTATION, d6partement I~TUDES EN COMMUTATION ET Rt~SEAUX.

(*) Si le g r a p h e c s t n o n o r i e n t d o n se r a m ~ n e s i m p l e m e n t a u cas p r d c 6 d e n t e n r c m p l a ? a n t c h a q u e a r ~ t c p a r d e u x a r c s d e m ~ m e s c x t r 6 m i t d s , d e m ~ m e s l o n g u e u r s e t d ' o r i e n t a t i o n s o p p o s d e s .

(**) E n d6c ibe l s ( dB) o u e n n d p e r s (N.) .

1/12 A. TEL~C., 30, n ~ 11-12. 1975

Page 2: Plus court chemin avec contraintes : Algorithmes et applications

384 M . M I N O U X . - - P L U S C O U R T C H E M I N A V E C C O N T R A I N T E S

quaut i td addi t ive ; de sorte que l 'affaiblissement d ' un

chemin peut dtre ddfini comme la somme des affai- blissements des arcs qui le const i tuent . Si :r i> 0

(pour u ~ U) est l 'affaiblissement relatif h l 'arc u,

on recherchera un chemin x ~ Q vdrifiant la contra inte

addit ionnelle (1).

Ce type de probl6mes a ddjh re tenu l ' a t t en t ion de certaius auteurs. Duns [5] par exemple, on dtudie le

cas gdndral off les hombres Ctu et ~ sont de signes

quelconques, sans exclure la possibilitd de circuits ndgatifs (en fonction des hombres :r La mdthode de rdsolution proposde dans [5] ddrivde de la pro- g rammat ion dynamique [6] peut dtre considdrde

comme une gdndralisation de l 'a lgori thme de Bell- man [7] (pour le probl~me du plus court chemin

classique). Cependant , dans les dtudes relatives aux

rdseaux de tdldcommuuicat ions, oh les rdseaux traitds sont souvent de grande taille, ce genre d 'approche

devient vite impraticable. C'est pourquoi nous avons dtd amends h rechercher des mdthodes plus efficaces.

Nous prdsenterons d 'abord une mdthode de rdsolution

approch6e ut i l i sant la not ion de dualitd en program- marion en hombres entiers. Puis une mdthode exacte applicable au cas off les longueurs lu et les nombres :r

sont positifs ou nuls. Enfin, nous parlerons du cas part iculier du plus court chemin avec contraintes sur

le nombre d'arcs (:r - : 1, V u ~ U).

II. F O R M U L A T I O N D U P R O B L ~ ] M E

I I . 1 . Soit G ~ [X, U] un graphe orientd dont les arcs u E U sont munis de longueurs lu:

X = ~1, 2 . . . . . N} est l 'ensemble des nceuds (N = n o m b r e des nceuds),

= {1, 2, ..., M} est l 'ensemble des arcs U (M = hombre des arcs).

Soit A la matr ice d ' ineidence des arcs dans les nceuds de G. Le probl~me du court plus ehemin de s h t est dquivalent au programme lindaire (I) (flot de cofit min imal de s h t et de valeur 1).

I Min ~ lu Xu, u@U

( t ) ) ( 2 ) [AI [x ]~ [b], (3) 0 <~ Xu <~ 1 ( u ~ U ) ,

off x est le M-veeteur de eomposantes xu(u C U) et b u n N-vecteur de composantes bf(i ~ X ) ddfini par :

�9 b i : O ( i : / : s , i ~ = t ) ,

�9 b s = - - l ,

* b t = + l .

Comme la matr ice A est totalement unimodulaire [8, p. 139], la solution optimale x* d ' un probldme de type (I) est toujours enti~re (seconds membres

entiers), le plus court chemin d tant formd par les

* 1 . arcs u tels que x u =

(N. B. dans la suite, on confondra dans une mdme notation un M-vecteur x = (Xl, xe, ..., x i ) h composantes 0 ou 1 et le chemin constitud par les arcs u ~ U tels que xu = I.)

II.2. Le probl6me posd au paragraphe I correspond

h l ' iu t roduet ion de la cont ra in te suppldmentaire :

(1) Z ~u Xu <<. ~. uEU

Si on se contente alors de rdsoudre le probl~me (II) :

(II)

I Min ~ lu Xu , u~U

,(1) Z ~ u X u < ~, u~U

f(2) [A] [x]= [b] , i (3) 0 <. Xu <~ 1 ( u ~ U ) ,

selon les techniques classiques de la p rogrammat ion lindaire, la solution trouvde en gdndral ne sera plus

enti~re : la raison e n e s t que la contra inte (1) ddtruit

l'unimodularitd totale de la matr ice des contraintes de (I). Par suite, notre probl~me est dquivalent au

probl~me en nombres entiers ( I I I ) su ivant :

(III)

' Min ~] lu Xu,

i u@U (1) Z ~u Xu <~ ~ , uEU

I (2) [A] Ix] = [b], (3) 0 ~ X u ~ l ( u ~ U ) ,

e t : (4) Xu entier 0 ou 1 .

II.3. Lorsqu 'on recherche un plus court chemin de s h t duns G, satisfaisant la cont ra in te suppldmen-

taire (1), il est intdressant de commencer par rdduire le graphe G su ivant le priucipe su ivant :

- - o n commence par rechercher les plus courts chemins de s h j ( u : / : s ) et de j h t ( V j :A t) en fonction des nombres ~u (u E U). Soient ~ (s, j ) et ~r (j, t) leurs valeurs.

Alors :

- - si un nceud k C X est tel que :

~ (s, k) + ~ (k, t) > ~ ,

alors on est stir que k n ' appa r t i end ra pus au chemin

optimal cherchd. On peut doric dliminer du graphe G le nceud k et t o u s l e s arcs incidents h k ;

- - si un arc u : (k, l ) ~ U est tel q u e :

(s, k) + ~u + ~ q, t) > ~,

alors on peut dtre stir que u n ' appa r t i end ra pas au chemin optimal cherch6, et on pcut donc l'61iminer du graphe.

I1 suffira donc de rdsoudre le probldme sur le graphe rdduit (c'est un sous-graphe partiel du graphe initial),

A. T~LEC. , 30 , n ~ 1 1 - 1 2 , 1 9 7 5 2112

Page 3: Plus court chemin avec contraintes : Algorithmes et applications

M. M I N O U X . - P L U S C O U N T C H E M I N A V E C C O N T R A I N T E S 385

d'ofl un gain de t emps de calcul souvent apprdciable. Dans tou te la suite, nous supposerons que eet te

rdduet ion a ~td p r~a lab lemen t effeetu~e ( au t r emen t

dit , que le graphe G donnd est i rrdductible) .

III. R~.SOLUTION APPROCH1~.E PAR UNE MI~.THODE LAGRANGIENNE

Soit Q l ' ensemble des chemins dldmentaires de s h t

dans G - - [X, U]. Pour x ~ Q, notons :

l (x) =

~(x) =

lu , u~x

"~ O~U. U~X

Le probl~me ( I I I ) peu t s 'dcrire de fagon ~quivalente :

! Min l(x) = l(x*) , t ( I l I ) ' ] (1) ~(x) <~ ~ ,

. X @ Q .

III.1. D6finition du probl6me dual.

En associant h (1) un mul t ip l i ca t eu r de Lagrange X ~> O, le probl~me dual (IV) de ( I I I ) est la recherche de X max ima l i s an t la fonction de Lagrange:

i Max L(X) ~ - - X~ + Min {l(x) § X~(x)}, ( I V ) xcO

X ~ t t + ,

Fischer et Shapiro [9]). Pour X /> 0 donnd, calculer L(X) revient h rdsoudre

un probl~me de plus cour t chemin classique de s h t en fonction des longueurs lu § XO~u (u ~ U), soit :

I Min { l ( x ) + X~(x)} . if(X) : xEQ

Remarquons qu 'en ver tu des hypothbses f a r e s au pa rag raphe I, pour tou t circui t y on a :

lu >~ 0 et ~ C(u ) 0

(lu + X Uu) >~ 0 (pourX >~ 0) . u G y

Le p rog ramme dual (IV) poss~de un cer ta in nombre de propri~t~s que nous allons rappeler . Nous mon- t rerons e n s u r e comment ces propridt~s peuven t ~tre utilisdes pour rdsoudre ( I I I ) ' .

III.2. Propri~t~ 1.

Pour tou t X ~> 0, la fonct ion L(X) est une borne inf6rieure de l(x*), op t imum de ( I I I ) . A u t r e m e n t di t : l(x) /> l(x*) >~ L(X) ( V x ~ Q et VX /> 0) .

Ddmonstration.

Pour X o donnd, s o i t :

l(xo) + Xo ~(xo)= Min { l ( x ) + X o ~(x)}. xEQ

On peu t done ~crire :

l(xo) + XoZr ~< l (x*) - - Xo~(X*),

mais pa r d~finit ion de x* on a : c~(x*) <~ ~, &off :

l(xo) § X o~(X0) ~ l ( x * ) § Xo~ ,

et pa r suite : L(~o) ~< l(x*). (C.Q.F.D.)

R~soudre le probl~me dual (IV) revient donc h rechercher la meil leure des bornes infdrieures du t ype L(X).

III.3. Propri6t~ 2.

Pour une va leur X o de X, soit x o ~ Q tel q u e :

l(xo) + X o ~(Xo) = Min {l(x) § X o at(x)}. xEQ

Si on a : ~(xo) = ~, alors : l(x*) -- l(xo) , et x o est une solution op t imale de ( I I I ) ' .

On a en e f fe t :

L(Xo) -- l(xo) § Xo [~(Xo) - - ~] = l(xo).

I1 r6sulte de la propridtd 1 que L(Xo) est solut ion opt imale de (IV) et l(xo) est solution opt imale de ( I I I ) .

III.4. Propri6t6 3.

La fonction de Lagrange L(X) est concave, lin~aire par morceaux.

Ddmonstration.

Pour X >/ 0 donn~, L(X) est le min imum des valeurs prises pa r toutes les fonctions lin~aires :

zx(X) = l(x) + x [~(x) - ~ 1 ,

pour x pa rcou ran t Q, ensemble fini. La fonct ion L(X) est donc l ' enve loppe inf~rieure

de la famille de droites zx(X) darts un plan r appor td aux coordonndes (z, X), d'ofi le rdsul ta t .

A v a n t d '~noncer la propridtd suivante , ddfinissons pour X >~ 0 donnd, x(X) ~ Q comme le plus cour t chemin de s h t en fonction des nombres l u § X~u(U~ U). Soit :

I(~(X)) § X ~ ( x ( X ) ) = Min { l ( x ) + X~(x)}. xEQ

Pour simplifier les notat ions, nous poserons :

~(x) = l ( ~ ( x ) ) ,

e t : ~(X) = ~(x(X)).

Alors :

3/12 A. TI~LEC., 30, n ~ 11-12, 1975

Page 4: Plus court chemin avec contraintes : Algorithmes et applications

386 M. M I N O U X . -- P L U S C O U R T C H E M I N A V E C C O N T R A I N T E S

III.5. Propri6t6 4.

La fonct ion [ (k ) est monotone croissante de )~ (au sens large) et ~(~) est monotone d6croissante de ), (au sens large).

Ddmonslration.

Dans l ' i n te rva l l c entre deux points de rup tu re de pen te ~,' et X" successifs de L()0, les fonctions ~(~,) et 1 ()0 sont constantes . E tud ions alors leurs var ia t ions au passage d 'un po in t de rup tu re de pente )~'.

Ce po in t est d6fini pa r l ' in tersec t ion des deux droi tes d '6qua t ion :

z -- ~(Z' - - ~) + XE(Z' - - ~) - - ~ ,

z = ~ ( K + ~ ) + ~ ( ~ ' + ~ ) - - Z ~ ,

(pour r > 0 suff isamment pet i t ) . Posons )~]= ~ ' - - r et k 2 = ~ ' + e. Pa r d d f n i t i o n des fonct ions I e t ~, on peu t dcrire :

~(Z~) + (Z' + ~) ~(Z~) /> ]-(Z 2) + (Z' + ~) ~(Z~),

et compte t enu du fa i t que k' vdrifie :

il v i en t : ~ ( ~ ) /> ~0~) ( a ) ,

ce qui pe rme t d 'dcr i re alors :

T(~'I)--TO~2) = k' [ ~ ( ~ ' 2 ) - E ( ~ ' I ) ] ~ O ,

d'ofl : ] - (~ ) ~< ]-(k2) (b) .

Les re la t ions (a) et (b) ddmont rcn t la proposi t ion.

III.6. Exemple.

On pour ra v~rifier les propri~t~s pr~c~dentes sur l ' exemple du graphe de la figure 1. Le premier des

9 ,4~~~"~ , 5

FIG. 1. - - Graphe pris pour exemple.

deux nombres associ6 h chaque arc u e s t sa longueur lu, le second le coefficient gu �9 I1 existe, dans ce cas, qua t re chemins 616mentaires de l 'or igine ~) h l ' ext r6- mit6 ~ et on a r e spec t ivement :

chemin {1, 2, 4} : 1 ( 1 ) = 13 , ~r 14,

chemin {1, 3, 4} : 1 ( 2 ) = 17 , ~r 9,

chemin {1, 2, 3, 4} : l ( 3 ) = 25 , a ( 3 ) = 23,

chemin {1, 3, 2, 4} : l ( 4 ) = 20 , ~r 7.

En supposan t ~ = 10 on a trac~ h la f g u r e 2 les

L(X)

2 0

s , , / ( D ~ )

/ /

..Joo

i f I

i i i i

i i

I

I i

i 0 , 8 1

I t

t ,, i I i

I I I I I

I I

1 , 5

.......... (D2)

FIG. 2. - - Fonction de Lagrange L(;~) dans l'exemple de la figure 1.

qua t re droites cor respondantes d 'dqua t ion :

D(1 ) : z = 13~- 1 4 ~ - - 1 0 ~ ,

D ( 2 ) : z = 17-[- 9 ) ~ - - 1 0 ~ ,

D(3 ) : z = 2 5 + 2 3 ~ - - 1 0 ) ~ ,

D ( 4 ) : z = 2 0 + 7 X - - 1 0 ~ .

La fonction L(k), envelopl)e inf6rieure de ces droites, est concave, l in6aire pa r morceaux, et pr6- sente deux points de rup tu re de pen te pour kl = 0,8 ( intersect ion de D(1) et de D(2)) et pour )~2= 1,5 ( in tersect ion de D(2) et de D(4)).

111.7. R~solution du problbme dual par une m6thode dichotomique.

Rdsoudre le probl~me dual rev ien t h rechercher le m a x i m u m d 'une fonct ion concave, l indaire pa r mor- ceaux, de la var iable )~. La concavi td de L 0 0 assure que t ou t op t imum local est un o p t i m u m global. I1 existe de nombreuses mdthodes d 'op t ima l i sa t ion d 'une fonction h une var iable (mdthode dichotomique, mdthode de Fibonacci , etc.), mais qui ne convergent pas forcdment en un nombre fini d ' i tdra t ions .

Dans la mdthode que nous proposons ici, on recherche la va leur op t imale L0~* ) h l ' a ide d 'un pr in- cipe dichotomique. P a r t a n t d 'un in terva l le [)~1, k2] dont on sait qu ' i l con t ien t ~*, on rddni t progressi- vemen t cet in terval le en u t i l i s a n t : d 'une pa r t la propriEld 4 (monotonici t~ de l ( k ) et ~(~) ) ; d ' au t r e par t , le fa i t que ~* pen t 8tre d6fini p a r l ' in tersec t ion de dcux droites d 'dquat ions : z = l(x 1) § k~(x 1) - - ~

et z = l ( x 2 ) + k0~(x 2 ) - k~ (x 1~ Q , x 2 ~ Q ) .

In i t ia lement , on prend kl = 0 et ks = § oo. La procedure peu t ~tre explicit~e de la fa~on

su ivante :

A. T~LEC., 30, n ~ 11-12, 1975 4/12

Page 5: Plus court chemin avec contraintes : Algorithmes et applications

M. M I N O U X . -- P L U S C O U R T C H E M I N A V E C C O N T R A I N T E S 387

Procddure 1.

1 ~ R6soudre les probl~mes if(k1) et ff(ke) pour

k 1 - 0 , k 2 = ~- (X).

2 ~ Si ~(+ oo) > ~ FIN : le probl~me ( I I I ) ' n ' a pas

de solution. Si ~(0) ~< ~ FIN : la solution optimale de ( I I I ) '

est le chemin x(0) de longueur 1(0).

3 ~ Soit k' le point d ' intersect ion des droites d '6qua-

t ion :

z = i-(>,~) + x o~(X~) - - x ~ ,

z = ](X2) + X~(X2) - - X[3,

on a : x ' = ( T ( X 2 ) - ~ ( X D ) / ( ~ ( X D - &(x,)) >/ 0 .

4 ~ Fl~soudre le probl~me ff(k').

�9 Si L ( k ' ) = l ( X t ) § X ' ~ ( k l ) - - k ~ - l (X2)+ X~(k2)--X~,

mN : X * - X' e t le chemin ~(%~) es t so lu t ion optimale (ou suboptimale) de ( I I I ) ' . Les deux

valeurs L(k*) et l(X~) fournissent un enca- drement de l ' op t imum de ( I I I ) ' .

�9 Sinon :

5 ~ �9 Si ~(k) > ~, faire X l -- k' et re tourner en 3 o.

�9 Si ~(X) ~< ~, faire ; % - k' et re tourner en 3 ~

La rdsolution de (IV) se ram6ne done h la rdso- lu t ion d ' u n certain nombre de probl6mes de plus courts chemins classiques i f (k)pour des valeurs de k bien ehoisies. La convergence finie de la procddure l vient du f a r que la fonetion L(X) est l 'enveloppe infd-

rieure d 'un nombre fini de droites (ehaque droite

correspond ~ un ehemin dl6mentaire x e Q entre s et t, et Q est un ensemble fini).

Apr6s convergence, on obt ient :

- - u n e solution r6alisable de ( I I I ) ' gdn6ralement optimale ou subopt imale : e'est le ehemin "~(~.2) de longueur l(k2) obtenu comme solution optimale du

probl6me if(k) pour k k2 (par construct ion on a bien ~(k2) ~< ~);

-- un eneadrement de l ' op t imum thdorique l(x*) :

L(?,*) ~< l(x*) ~< ]-(k~).

L 'exemple de la fgure 3 mont re eependant qu' i l

LIM,

L(X*}

x ~,t x" x 2

FIG. 3. - - (]as Ofl la procedure 1 n'aboutit pas /1 l'optimum absolu de (3).

Darts ce cas, la procddure 1 trouve le ehemin de ~(X~) de longueur 1(),~), mais il existe un chemin x ~ Q de longueur l(x) inf6rieure h l(X2) et tel que a ( x ) - ~ ~ 0.

peut exister des cas off la procddure 1 n ' a bou t i t pas h l ' op t imum absolu de ( I I I ) ' . Ainsi le chemin x ~ Q est tel q u e :

L(X*) < l(x) + X*[~(x) - - ~1

et pour t an t on a : l(x) <]-(k2) et ~ ( x ) - - ~ ~< 0. La diffdrence l ( x ) § k * [ ~ ( x ) - ~ ] - L ( k * ) > 0 est

appel6e le saut primal-dual (duali ty gap). Sa valeur

eonsti tue une bonne mesure de la difficult6 du pro- blame ( I I I ) ' .

Terminons en s ignalant que la valeur optimale du dual L(k*) peut 6videmment servir eomme fonetion d '6valuat ion minoran te dans une procddure de recherche arborescente (S.E.P. ou Branch and bound).

Cependant, pour les probl~mes prat iques qui nous intdressent, ce genre d 'approche a 6t6 6cart6, ear cela eonduirai t ~ des temps de rdsolution prohibitifs.

III.8. Exemple.

Le fonct ionnement de la procddure 1 peut ~tre

illustr6 sur l 'exemple de la figure 1, pour lequel on a pris ~ = 10.

Pour k - - 0, on obt ient ] - (0)= 13 et ~ ( 0 ) = 14. Pour k = § cx~, [ ( + o Q ) = 20 et ~(§ cx))= 7. Le point d ' intersect ion des deux droites :

z 1 - 1 3 + 4 k et z~= 2 0 - - 3 k

a pour abscisse k ' - - 1 (Fig. 2).

La rdsolution du probl6me if(k)' fourni t alors le chemin {1, 3, 4} pour lequel f ( 1 ) = 17 et ~ ( 1 ) = 9.

Comme on a : L ( 1 ) = 16 < 17, l ' op t imum n 'es t

pas encore at te int .

Puisque ~(1)-- 9 ~< ~, on pose k2-- 1 et l ' in ter - valle [k l , k2] devient [0, 1].

L ' intersect ion des deux droites d '6quat ion :

z 1 = 1 3 + 4 k et z2-- 1 7 - - X

donne alors le point X ' = 4/5. Cette fois, on a b i e n :

L(k') = 81/5 -- 17 - - X' = 13 + 4 X'.

D o n e : k * = k ' = 4[5. La procddure 1 fourni t alors pour k 2 = 1 le chemin

x(k2) = x ( 1 ) = {1, 3, 4} de longueur 17 et v6rif iant ~(1) 9 < ~.

On obt ient aussi l ' encadrement :

L(k*) - - 16,2 ~< l(x*) ~< 17 l (k2) .

ce qui montre que la solution optimale est bien ici le chemin {1, 3, 4} de longueur 17.

III.9. G6n6ralisation au cas de plusieurs contraintes.

L'approche que nous avons consid6r6e ici se g~n6-

ralise h u n nombre quelconque p > 1 de eontra intes de type (1) (toujours sous t 'hypoth~se qu'i l n 'existe

5/12 A. TI~LEa., 30, n ~ 11412, 1975

Page 6: Plus court chemin avec contraintes : Algorithmes et applications

388 M. M I N O U X . - P L U S C O U R T C H E M I N A V E C C O N T B A I N T E S

pas de circuits n6gatifs en fonction des nombres ~tu). E n associant des mult ipl icateurs de Lagrange (varia- bles duales) k~, )~ . . . . . Xv 1> O h chacune de ces contraintes, on d~finit une fonction de Lagrange

L0,~, k2, ..., kv) concave et non par tou t diff6rentiable.

Pour rechercher le m a x i m u m de L(X0 on doit alors

utiliser :

- - soit la p rogrammat ion lin6aire [9, 10],

- - soit une m6thode de sous-gradient [11].

Contra i rement au cas p = 1, on n'est plus certain, avec ces mdthodes, de trouver une solution rdalisable (c'est-~-dire v6rif iant routes les contraintes suppl6- mentaires), mdme s'il en existe une.

Notre expdrience pra t ique sur des probl6mes ana-

logues ([12] par exemple) indique cependant que l 'on obt ient g6ndralement par ces m6thodes :

- - des solutions rdalisables proches de l ' op t imum,

- - un bon encadremeut de l 'op t imum.

Signalons, pour finir, que les mult ipl icateurs opti- * (ou des valeurs approch6es maux k* , )~ . . . . . )'v

de ceux-ci) sont tr6s int6ressants pour r6duire le graphe G avan t de recourir h une m6thode de r6so-

lut ion exacte (Branch and bound, ou algorithme de Dijkstra g6n6ralis6; cf. chap. IV). I1 suffit de cons-

t ruire la contraiute combinaison lin6aire h coefficients : * * *

; ~ , ),2 . . . . , k v des p contraintes in i t ia les ; puis de rdduire le graphe par la mdthode indiqu6e au para-

graphe II.3 en u t i l i sant cette contra inte supplfimen-

taire. Comme cette contra inte est, en un certain sens, la plus forte de toutes les contraintes obtenues par combinaisons lindaires des contraintes initiales [13, 14], la r6duction ainsi effectnde est quasi optimale.

IV. I:t]~SOLUTION EXACTE U T I L I S A N T

UN A L G O R I T H M E DE D I J K S T B A G~.N]~RALIS]~

Nous donnons, dans ce chapitre, une m~thode de r~solution exacte p e r m e t t a n t de calculer simultanfi- men t tous les plus courts chemins d'origine s dans G satisfaisant la cont ra in te :

uEU

[donc, en particulier, le plus court chemin de s h t

satisfaisant la cont ra in te (1)].

Cette m6thode [15] est une extension de l 'algo-

r i thme de Dijkstra [4], bien connu darts le cas part i- culier du plus court chemin ordinaire avec longueurs positives ou nulles. Elle constitue, par cons6quent, une am61ioration de l 'a lgori thme proposd par Joksch dans [5] (ce dernier pouvan t ~tre consid~rd comme un algori thme de Bellman [7] gdn~ralisd).

IV.i . Hypothbses.

Nous ferons deux hypotheses (peu restrictives en

prat ique) :

- - les longueurs lu (u E U) sont des nombres r6els

/ > 0 ;

les hombres ~u sont des nombres ~> O;

- - pour tou t circuit 616mentaire y de G, on a :

~ > 0 . uEy

On notera 0~min le m i n i m u m de toutes les quant i tds ~u sur l 'ensemble des circuits 6Idmentaires de G.

uE7 On a donc 0~min > 0 .

Nous commencerons par supposer provisoirement

que le nombre ~l est un entier > O et que les gu sont

des entiers /> O (nous verrons au w IV.5 comment on peut se d6barrasser de cette hypoth6se).

IV.2. Extension du principe d'optimalit6 et marquage multidimensionnel.

Le principe des algorithmes de Bel lman [7], Ford [6]

et Di jkst ra [4] est d'affecter h chaque sommet j ~ X un nombre rz(j) (une marque) (au d6but : x(s) = 0 ;

x( j ) = + o0 VJ r s) et d'am61iorer i t6ra t ivemeut ces

valeurs jusqu 'h ce que 7:(j) repr6sente la longneur du plus court chemin de s h j (Vj =/: s).

Le succ~s de toutes ces mdthodes rdside dans le

principe d'optimalitd [6] : si Xsj est uu chemin optimal entre s e t j e t si l 'arc (k, j ) est le dernier arc de ce

chemin, alors le sous-chemin Xsk est un chemin optimal entre s et k.

Dans le cas du plus court chemin avec contra inte suppMmentaire, le principe d 'opt imal i t6 doit ~tre modifi6 de la fa~on suivante : si Xsj est le plus court chemin de s h j v~rifiant : ~ ~ u = ~1 ~< ~ et si

u~xsl v = (k, j ) est le dernier arc de ce chemin, alors le

sous-chemin Xs~ est le plus court chemin de s fi k vf i r i f iant : ~ ~ u = ~ l - - a v .

UEXslr Par suite, on doit marquer chaque sommet j ~ X,

non plus h l 'aide d 'une quant i t6 scalaire (comme dans le cas du plus court chemin classique), mais en uti- l isant un vecteur h ~ § I composantes :

~:(j) = [Zoo(j) tel(j) . . . rc~(j)]

(marque mult idimensionneIle) . On recherche alors une proc6dure de marquage au

terme de laquelle Yk (0 ~< k ~< ~)7~k(j) reprdsente

la longueur du plus court chemin xsl de s h j vdrifiant :

E ~ u = k. u~xs t

IV.3. Une algbbre du plus court chemin avec contrainte.

Comme dans [15], notons S l 'ensemble des vecteurs h ~ + 1 composantes darts R + U ( + oo}. S est muni

A. T~LEC., 30, n ~ 11-12, 1975 6/12

Page 7: Plus court chemin avec contraintes : Algorithmes et applications

M. M I N O U X . -- P L U S C O U R T C H E M I N A V E C C O N T R A I N T E S 389

d ' u n e op6ra t ion in t e rne @ d6finie p a r :

a = (a0, a 1 . . . . . a~) b (bo, b 1 . . . . . b~)

c = a @ b - - (Co,C 1 , . . . , c ~ ) a v e c :

Cr-- m i n { a r , b r } , V r - - 0 , 1 . . . . . ~.

L ' d l 6 m e n t n e u t r e de @ est z ( + ~ , + ~ . . . . . + ~ ) .

On vdrif ie que a ( ~ ) a = a ( V a ~ S ) : l ' opd ra t i on @

est idempotente.

A c h a q u e arc u = (i, j ) ~ U on associe l ' a p p l i c a t i o n

h 0. de S---> S ddfinie p a r :

htj(% , a 1 . . . . . a~) (b o , b 1 . . . . . b~),

oil b r - + oo p o u r r < ~ u ,

e t : br -- ar' + lu p o u r r /> ~u (off r ' -- r - - ~u).

I1 est faci le de vdr i f ier que, pour t o u t arc : u- - ( i , j )~ U,

l ' a p p l i c a t i o n h~. est un endomorphisme de S, c ' es t -h-

dire que :

h~](a @ b ) - - h~](a) @ hi](b) (Va ~ S, Vb ~ S).

On n o t e H l ' e n s e m b l e des e n d o m o r p h i s m e s ho. :

" = {h~jl( i , j ) ~ U } .

On d6signe pa r h ~ l ' e n d o m o r p h i s m e de S tel que :

h~(a) = ~ (Va ~ S).

On r e m a r q u e alors que les e n d o m o r p h i s m e s de H

son t K-stables au sens de [15], c ' es t -~-d i re q u e :

Vh 1 , h 2 , . . . , h K ~ H on a :

hi,: 0 hK-~ 0 ..... 0 h a 0 h z = h a .

I1 suffit p o u r cela de ehois i r : K > N [ ( ~ [ O ~ m i n ) + l ] + N .

E n effet, t o u t c h e m i n x e m p r u n t a n t au moins

[(~/~min) + 1] fois un c i rcu i t d l~menta i re q u e l c o n q u e

du g raphe sera tel q u e : ~ ~uXu > ~ (Xu est le uGU

n o m b r e de lois que le c h e m i n x e m p r u n t e l ' a rc u).

C o m m e un c i rcu i t 616mentaire a au plus N arcs,

ce sera le cas de t o u t c h e m i n c o m p t a n t plus de

N [ ( ~ [ 0 ~ m i n ) ~ ] - 1 ] - - *)~" arcs.

Ce t te propr id td p e r m e t d ' d t ab l i r la c o n v e r g e n c e des

a lgo r i t hmes de B e l l m a n et de F o r d c o n v e n a b l e m e n t

g6n6ralis6s [15].

I V . 4 . P r e m i e r a l g o r i t h m e de D i j k s t r a g 6 n 6 -

r a l i s 6 .

Cependan t , dans le cas qui nous int6resse, on p e u t

encore amdl iore r l ' a l g o r i t h m e de F o r d gdn~ralisd en

r e m a r q u a n t que l ' on p e u t ddfinir dans S la r e l a t ion

de prdordre total :

(a o , a 1 , . . . , a~) ~ (bo, b 1 . . . . . b~) ~

Min (ar} <~ Min ( b r } , ~=0,...~ r=0,. . .~

qui poss6de les deux propr id tds s u i v a n t e s :

c~_ a et c ~ b ~ e ~ a @ b (Va, b, c c S )

e t : hij(a) 3O_ a Vh~] E H et Y a ~ S .

C o m m e on recherche , p o u r c h a q u e nceud j c X,

une m a r q u e min ima le (*) darts S ( m i n i m a l e au sens

de la r e l a t ion de pr~ordre ~ ) , on p e u t e m p l o y e r [15]

l ' a l g o r i t h m e de D i j k s t r a g~n6ralisd :

A l g o r i t h m e ( ,41) (O:u ent ie rs /> 0).

1) I t 6 ra t ion k = 0.

~(s) (0, + ~ , + ~ , ..., + o o ) .

7:(j) = r V j V- s .

x , : o {s}. 2) I t e r a t i o n k k § 1.

Choisir m ~ X 2 c X v ~ r i f i a n t :

x ( m ) ~ ( j ) V j ~ X 2 ,

3) X , = X 1 U ( m } ,

4) Si X 1 -~ X, FIN : les m a r q u e s r:( j) son t min i -

m a l t s (dans S) p o u r t o u s l e s j ~ X, s inon :

5) p o u r t o u s l e s arcs (re, j ) c U :

�9 ca lcu le r x ' ( j ) = x ( j ) @ hmj(z~(m)) .

�9 S i n ' ( j ) # x ( j ) , p o s e r : X 2 = X 2 U { j }

et fa i re x ( j ) = x ' ( j ) .

6) Si X 2 = O, fin de l ' a l g o r i t h m e , s inon r e t o u r n e r

en 2).

[N. B. : si on ddsire seulement le plus court chemin de s h t (t donnd), il sufflt de s 'arr~ter h l 'dtape 4) lorsque t G X~.]

C o m m e dans l ' a l g o r i t h m e de D i j k s t r a c lass ique [4],

X z c X reprdsen te l ' e n s e m b l e des nceuds p o u r les-

quels le plus c o u r t c h e m i n ( sa t i s fa i san t la con t r a in t e )

a 6td t r o u v 6 ; X 2 c X reprdsen te l ' e n s e m b l e des

nceuds j ~ X pour lesquels la m a r q u e x ( j ) a 6t6

modif i6e depuis le dern ie r passage h l ' 6 t ape 5) ; p o u r

ces nceuds, le plus cou r t c h e m i n n ' a pas encore 6t6

t rouv6.

C e p e n d a n t , on n ' a pas X 1 (3 X 2 ~ 0 ( c o m m e dans

l ' a l g o r i t h m e de D i j k s t r a c lass ique) h c h a q u e i t6 ra t ion ,

et pa r consdquen t (A 1) conve rge gdn6ra l emen t en plus de N i tdra t ions . L ' a v a n t a g e de l ' a l g o r i t h m e (A 1)

sur celui propos6 dans [5] rdside darts les r e m a r q u e s

su ivan t e s :

a) dans [5], on calcule tous les plus courts chemins

p o u r routes les valeurs O, 1, 2 . . . . , ~ possibles du p r e m i e r

m e m b r e de (1), en t r e s e t j (Vj ~ X). A u t r e m e n t dit ,

on n 'a r r f i te pas le m a r q u a g e t a n t que 7 : i ( j ) n e reprd-

sen te pas e f f e c t i v e m e n t la l ongueu r du plus c o u r t

c h e m i n d ' a f f a ib l i s semen t i en t re s et j (V j et Vi).

b) darts l ' a l g o r i t h m e (A 1) au con t ra i re , l o r s q u ' o n

t ransf6re p o u r la premi6re fois dans X 1 un nceud

(*) Puisque ~ est une relation de prdordre, l'616ment minimal d'un sous-ensemble tint de S n'est g6n~ralement pas unique.

7/12 A. TI~LEC., 30, n ~ 11-12, 1975

Page 8: Plus court chemin avec contraintes : Algorithmes et applications

390 M. MINOUX. - PLUS COURT CHEMIN AVEC CONTRAINTES

j �9 X quelconque, la plus pet i te composante de x( j ) reprdsente bien la longueur du plus court chemin satisfaisant la contra inte (1) entre s et j ; mais il n 'es t pas n6cessaire que les autres composantes repr6sentent effectivement des plus courts chemins. Le nombre de

marquages effectud par l 'a lgori thme (A 1) est donc, g~n~ralement, tr~s infdrieur.

IV.5. Second algorithme de Dijkstra g6n6- ralis6.

L'algor i thme (A 1) sous cette forme est encore susceptible de quelques am5liorations techniques.

On remarque d 'abord qu' i l est inuti le de conserver en mdmoire les composantes des marques r:(j) qui

restent ~gales fi + oo. On remplacera donc chacune des marques x( j ) par une lime L 1 de v I couples :

(t~}, a}) v = 1, ..., v~

correspondant chaeun fi un chemin entre s e t j .

p~ est la longueur du v e chemin x, (1 ~< v ~< vj)

et a } = Z ~u u�9

(ceci revient f i n e consid~rer que les chemins efficaces au sens de [5]).

Supposons que la liste Lj soit telle qu'i l existe v, et v~ v~r i f i an t : ~}~ ~< ~ et ~ ~< ~ . Alors le chemin v2 de la liste ne pourra jamais faire part ie d ' un chemin optimal, et par suite, le couple v~ peut

~tre 6limin6 de la liste L I .

L 'op6rat ion prdc~dente, rdpdt~e sur tous les cou- ples vl et v~ s 'appelle la rdduclion de la liste L j . La

nouvelle liste obtenue est notde L 1 (liste r6duite).

Une liste sera dite irrdduclible s i : L / = L I .

Une liste L i irrdductible est donc ndcessairement

telle que :

( ~ #~ (~'~ (Vvl , v~ = 1 . . . . . v.~, v 1 v ~ v~.

On voit que l 'on peut , ma in t enan t , lever la restric- t ion sur l ' intdgri t6 des nombres ~tu et ~ faite en IV.1. Dans ce qui suit, ~ les :tu seronl donc des nombres r&ls >~ 0 quelconques.

D~signons par s l 'ensemble des listes irrdductibles finies de couples (i~,6), off f l � 9 + , ~ s R +. E t a n t

donn6 deux listes L 1 et L2 �9 ~ :

~ = {(~;, ~;) ~ = ~ . . . . . ~ 1 } ,

~ = {(~;, ~;) ~ = ~ . . . . . ~} ,

d~finissons l 'opdrat ion rdunion (U) p a r :

L , ~ L~ = {(~ , ~ ) ~ = 1 . . . . , ~} ,

avec v~= v , + v~ e t :

( f l~ ,~ ] )= (p~,a~) pour v = 1 . . . . . v l ,

et : (fl], (r~) = ( p ( , ~ ' ) pour v = vl + 1 . . . . . v~ + v=,

e t : v ' = v - - v 1.

L'ensemble s sera alors mun i de l 'op~rat ion @ dfifinie par :

L 1 @ L2 = (L 1 U L2) (rdunion + rdduetion).

On v6rifie que @ est idempotente. L'dMment neutre est la liste vide {0} not6e r A chaque are u = (i, j ) de G assoeions l 'appl icat ion

flj de s - + g d6finie p a r :

q = { ( p ~ , ~ ) ~ = ~ ..... ~}, |

f,;(r,) = L2 = Z f,;{(~, ~;)} V = I , . . . V 1

@

(~, ddsigne la sommat ion au sens de l 'opdrat ion @)

a ve c : flj {(p; , a;)} = {(~1 + lu , (~; + ~u)} ,

si z~ + ~u ~<

e t : fis (P~,a~) = z s i : a l + a u > ~ .

Les fq sont des endomorphismes de E (Vu = ( i , j ) ~ U). On note f~ l ' endomorphisme tel q u e :

f f f L ) = z VL e s

Comme en IV.4 dfifinissons dans ~ la relation de pr~ordre total :

L1 = { ( p ; , ~ ) ~ = 1 . . . ~ , } L , = { ( p ~ , 4 ) ~ = 1 ... ~,}

L l O C L 2 ~ Min {p~} ~< Min {p~} V = i . . . V 1 V - - I . . . V 2

qui poss~de les propri~tds :

L a__~ L 1 et L a_~ L~ ~ L a ~ L 1 Q L 2,

et : L1 ~ fi1( LO ( V ( i, j ) ~ U) .

On peut alors rechercher tous les plus courts chemins de s aux autres nceuds de G, satisfaisant la

cont ra in te (1) fi l 'aide de l 'a lgori thme de Dijkstra

g~n~ralisd :

A l g o r i t h m e ( A 2 ) (Ctu r6els >/ 0 queleonques).

1) I t d r a t i o n k = 0.

L j = ~ ( V j � 9

x l = o x~:= {s} 2)

( V j � 9 % s ) ,

I t6rat ion k =: k + 1.

Soit m ~ X 2 v6rifiant Lm oC Lj (V j �9 X 2) �9

3) X i = X 1 U { m } .

X2-- X,, - - { m } .

4) Si X~ = X FIN: les listes Lj sont minimales

(dans ~) et l'61dment min imal de ehaque liste L i donne le plus court ehemin entre s et j , satis-

faisant la eontra inte (1).

5) Pour t o u s l e s ares (re, j ) ~ U :

�9 ealculer L} = Lj @ fmj(Am),

�9 calculer A s = L ~ - L j ,

�9 s i A s :/= z, poser : L s = Lj e t : X~ = X z U { j } .

A m ~ E.

6) Si X~ = 0 FIN.

A. T~LEC., 30, n o. 11-12, 1975 8/12

Page 9: Plus court chemin avec contraintes : Algorithmes et applications

M. M I N O U X . -- P L U S C O U R T C H E M I N A V E ( ] ( ] O N T R A I N T E S 391

Sinon re tourner en 2).

IN. B. : si on ddsire seulement le plus court chemin de s h t (t donnd), il suffit de s'arrSter h l '6tape 4) d6s que t ~ X 1 . ]

Les listes par t ie l les Aj sont utilis6es pour 4viter des marquages inutiles.

Pla~ons-nous par exemple ~ l ' i t6 ra t ion k, off le nmud m ~ X est choisi en 2) comme origine du

marquage. Pa rmi les i t6ra t ions ant6rieures, soit k ' < k, la

derni6re i t6rat ion off le nceud m a 6t6 choisi en 2) comme origine du marquage . Alors Am repr6sente les nouveaux 616ments ajout6s dans la l is te Lm entre les i t6rat ions k ' § 1 et k. Comme G est idempoten te , on remarque q u e :

L'j -- Lj ~ fmy(Lm) -- Lj (~ fmj(Am)

et par cons6quent, il suffit pour marquer le noeud j, de chereher l'image de la liste partielle Am par l'endomorphisme fray.

En pra t ique , comme Aj c Lj il suffit de rep6rer pa r un poin teur les 616ments de la l is te L;- qui sont dans A;. (ef. exemple IV.6).

IV.6. Exemple.

Le fonc t ionnement de l ' a lgor i thme (A 2) sera il lnstr6 sur le graphe de la figure 4, off les nombres

10,4

FIG. 4. - - Graphe ~ 6 noeuds pris comme exemple pour illustrer l'algorithme de Dijkstra g6n6ralis6. On cherche un plus court chemin de s = 1 h t = 6 en prenant ~ = 12.

lu et au sont indiqu4s (dans cet ordre) sur chacun des arcs. On recherche un plus cour t chemin de s = 1 h t = 6 avec ~ - - 12.

On indique le d6tail des i t6rat ions effectu6es pa r l ' a lgor i thme (A 2). Remarque r la par t icu la r i t6 :

X 1 (~ X o ~- O

(h l ' i t6 ra t ion 5), qui dis t ingue (A 2) de l ' a lgor i thme de Di jks t r a classique.

[N. B. : on a convenu de rep6rer les 616merits Aj d'une liste L j e n les soulignant; exemple :

L 4 = {(4,3) (6,2) (9,1)} indique que A 4 -- ((9,1)} . . . . ].

Ildralion O.

{(o, o)},

L ~ = L 3 . . . . . L e : { O } ,

x l : o {1} Itdration 1.

On a : m = 1, , X 1 = {1} , X a = O .

L 2 = { ( 3 , 5 ) } ,

= {(8, 2)},

= {(5, 6)},

X 2 = {2, 3, 4} ,

Iteration 2.

On a : m = 2 (le plus cour t chemin entre 1 et 2 sa t is fa isant la con t ra in te est l ' a rc direct (1, 2)).

X1-- {1, 2} X2- - {3, 4} ,

L 3 - {(8, 2) , (5, 8)} ,

L5 = {(9, 7)} ,

X~= {3, 4, 5} ,

{(3, 5)}. Itdration 3.

On t rouve m = 3 (le plus court chemin de 1 h 3 sa t i s fa isant la con t ra in te passe pa r les nceuds 1, 2, 3).

x,= {1,2,3} {4,5}, L 4 = {(5, 6 ) , (15, 7 ) , (12, 13)} = {(5, 6)} (apr6s

rdduction) ,

L 5 - {(9, 7) , (10, 6) , (7, 12)} (pas de rdduct ion possible) ,

Lo = {(12, n ) } ,

X~-- {4, 5, 6} ,

L a = {(8, 2 ) , (5, 8)}.

Itdration 4.

On t rouve m = 4 (le plus cour t chemin entre 1 et 4 sa t i s fa isant la eon t ra in te est l ' a rc direct (1, 4)) .

XI= {1, 2, 3, 4 } X2= {5,6},

L 3 = {(8, 2) , (5, 8) , (6, 7)} (pas de r6duction),

L s - {(12, 11 ) , (15, 10)},

X 2- { 3 , 5 , 6 } ,

L , - - {(5, 6)}.

Iteration 5.

On t rouve m = 3 (le nceud 3 est de nouveau choisi comme origine du marquage , bien que le plus cour t chemin d6finit if entre 1 et 3 a i t d6jh 4t6 t rouv6 h l ' i t6 ra t ion 3. C'est ici que r6side la diff6rence essen- tielle avec l ' a lgor i thme de Di jks t ra elassique, car on

n ' a pas X 1 N X 2 = 0).

X1-- {1, 2, 3, 4 } X ~ = {5, 6} ,

L a = {(5, 6 ) , (13, 12)} = {(5, 6)} (apr6s r6duction) ,

L 5 = {(9, 7 ) , (10, 6 ) , ( 7 , 12) , (8, 11)} (pas de r6duction) ,

9/12 A. TELEC., 30, n o. 11-12, 1975

Page 10: Plus court chemin avec contraintes : Algorithmes et applications

392 M. M I N O U X . -- P L U S C O U R T C H E M I N A V E C C O N T R A I N T E S

L 6 = {(12, 11 ) , (15, 10)},

{5, 6}, L~ = {(s, 2), (5, S), (6, 7)}.

Ildration 6.

On t rouve : m = 5 (le plus cour t chemin entre 1 et 5 et sa t i s fa isant la con t ra in te passe pa r les nceuds 1, 2 , 3 , 5 ) .

X 1 : { 1 , 2 , 3 , 4 , 5 } X 2 = {6 } ,

L 6 = {(12, 11 ) , (15, 10 ) , (14, 10 ) , (15, 9)} , d ' o f i :

L 6 = {(12, 11) , (14, 10) , (15, 9)} (apr~s r6duction),

{6}, L 5 = {(9, 7) , (10, 6) , (7, 12) , (8, 11)}.

Irritation 7.

On t rouve m = 6 (le plus cour t chemin entre 1 et 6

sa t i s fa isant la con t ra in te a pour longueur 12 et passe pa r les nceuds (1, 3, 6)) . FIN.

(Noter que le plus cour t chemin sans con t ra in te a pour longueur 10 et passe pa r 1, 4, 3, 6.)

IV.7. Heuristiques dfriv6es de l'algorithme (A 2).

Lorsque le g raphe G est de grandes dimensions (N > 50, M > 100) et qu ' i l n ' es t pas possible de le

r6duire (w II.3), la tai l le des l istes Lj peu t augmente r cons id6rablement (d'ofl un probl~me d ' encombremen t de m6moire sur ca lcu la teur 61ectronique).

Cepcndant , il est in t6ressant de signaler qu 'on peu t d6duire de l ' a lgor i thme (A 2) une famille de bonnes heuris t iques en l im i t an t a rb i t r a i r emen t h un nombre m a x i m u m q donn6 la tai l le des l istes L : . Lorsqu 'h la suite d 'un marquage , une l iste Lj d6passe q 616- ments , on d6cidera de re teni r les q premiers 616ments (p~a~) dans l 'o rdre des ~ croissants. On s 'assure ainsi de pouvoi r t rouver une solut ion admissible s 'il en existe une (il suffit pour cela que q ~> 1). Ev idemmen t , la quali t6 du r6sul ta t fourni est d ' a u t a n t meil leure que q est plus grand.

IV.8. G6nfralisation h un nombre quelconque de contraintes.

La g6n6ralisat ion de l ' a lgor i thme (A 2) h p cont ra in tes de type (1) (p > 1) ne pose pas de difficultd de pr in- cipe. N6anmoins le t emps de calcul et l ' encombremen t en m6moire augmen ten t trbs r i t e en fonction de p, ce qui en l imi te les appl ica t ions h p ~ 2 ou 3 en pra- t ique. Dans t o u s l e s cas, la rdduct ion pr6alable du graphe s ' impose (ut i l isa t ion des mul t ip l ica teurs de Lagrange op t imaux , voir w III .9) .

IV.9. Cas oh ~u ~< 0 et P ~< 0.

Dans le cas off certains des hombres c~u et ~ sont n6gatifs ou nuls, l ' a lgor i thme (A 2) ne peu t plus s 'appl iquer . I1 faut alors se con ten te r d ' un a lgor i thme de Ford g6n6ralis6 [15]. C'est ce qui se produi t , en par t icul ier , lorsque la con t ra in te suppl6menta i re est de la forme :

' X ~' ~ 0~u u / > ,

u E U

avec ~ ~> 0 et ~' > 0 .

Remarquons alors que la solut ion op t imale du pro- bl6me ( I I I ) n 'es t plus ndcessairement un chemin dldmentaire. Si on recherche, de plus, un chemin dldmentaire, le problbme devien t tr~s complexe et on ne connai t pas, ac tuel lement , de bon a lgor i thme pour le r6soudre. (Lorsque ~u = - - 1 (Vu) et ~ = - - (N - - 1) le probl6me est celui du chemin hami l ton ien de longueur minimale entre s et t).

V. P L U S C O U R T C H E M I N A V E C C O N T I ~ A I N T E

SUB LE NOMBBE D'ARCS

Ce cas par t icu l ie r est celui off :

~u= l ( u

et off ~ est un nombre ent ier compris entre 0 et N - 1.

V.1. Si on recherche les plus courts chemins avec cont ra in te entre une origine s el tous les noeuds du graphe, on peu t app l iquer l ' a lgor i thme ( A 2 ) du chapi t re prdcddent (dans ce cas, les ~u d tan t des nombres entiers, la convergence est tr~s rapide).

V.2. Si on recherche tousles plus courts chemins de i ~ j ( V i E X V j E X i # j ) dans le graphe satis- fa isant la con t ra in te (1), on peu t ut i l iser la m6thode des mul t ip l ica t ions matr ic ie l les [16].

D6signons par [D] = [d/j]i=l...N ~=I. . . /V

la matrice d'adjacence gdndralisde du graphe G au de [15] et d6finissons dans R+ U { + o0} les sens

op6rat ions @ et ~ :

a @ b = min { a , b } ,

a . b = a + b .

Les opdrat ions @ et . induisent , sur l ' ensemble des matr ices carr6es N • N h coefficients dans R + O { + ~ } les op6rat ions :

[D] = [do. ] [D'] = [d~j],

[D] @ [D'] = [d,';] avec d " = { ' } ~1 min d l : ; d i : , (i)

,, d ,?_ [D] ~ [ D r ] = [d#] avec t ; - - Z d i g ~ - d~i. k

A. T~LEC., 30, n ~ 11-12, 1975 10/12

Page 11: Plus court chemin avec contraintes : Algorithmes et applications

M. M I N O U X . P L U S C O U R T C H E M I N A V E C C O N T R A I N T E S 393

Soit [D]k= [d,]]i=~...N la puissance k e de la matr ice ] ~ I . . . N

D (matrice d 'adjacence g6n6ralis6e de G) :

[Dlk = [D] ~ [DI * ... * [D] (k lois).

Alors [17] le te rme d~'i �9 repr~sente la longueur du

plus court ehemin de k arcs (exac tement entre) i e t j .

Pour rdsoudre le probl~me posd, il suflira done de

ealculer successivement [D] ~, [D] a . . . . , [D] ~.

Le plus court chemin entre i et j (Vie X, Vj ~ X)

et compor tan t ~ arcs au plus, est alors obtenu en

recherehant le min imum des quanti t~s :

d~j d~] d a.. f~ , , ~ , ..., d i i .

VI. CONCLUSION

Le probl~me du plus court chemin avec contrainte(s)

suppldmentaire(s) est un probl~me fondamenta l en

th6orie des graphes. I1 apparai t , comme nous l ' avons

dit, dans beaucoup d 'appl icat ions prat iques, par

exemple darts les dtudes dconomiques relat ives aux

r6seaux des td l@ommunicat ions (chap. I). De plus,

nous allons voir que certaines classes impor tantes de

probl~mes peuven t se ramener h des probl~mes de

plus courts chemins avec contraintes.

On recherche ensuite un plus court chemin de s

h t, sur lequel la somme des invest issements n 'excbde

pas G. On peut utiliser l ' a lgor i thme (A 2) du cha-

pitre IV.

VI.2. Un probl~me d'ordonnancement.

On sait qu 'un probl~me d 'o rdonnaneement clas-

sique peut se ramener h la recherche d 'un plus long

chemin (chemin crit ique) dans un graphe sans circuit.

La longueur d 'un arc est dgale h la duroc de la tfiche

associde. On suppose ici que l 'on peut, grfice h des

invest issements suppl6mentaires, diminuer la durde de

certaines tfiches. Ce probl~me a dt~ dtudi6 dans le

cas lin6aire continu (off les durdes d~croissent lindai-

rement en fonction des invest issements effectu~s) et

on a pu mont re r [18] qu' i l se ram~ne alors h u n

probl~me de riot h coflt minimal.

Dans le cas discret (off les durdes sont des fonctions

en escalier des investissements), en effectuant une

t ransformat ion analogue h celle du w VI-1, on se ram~ne

h la ddterminat ion d 'un chemin cri t ique de longueur

minimale sous la contrainte que la somme des inves-

t issements sur le chemin ne doit pas exc6der une

valeur donn~e.

VIA. ContrSle optimal discret et plus courts chemins.

Le graphe G ~ [X, U] est muui de longueurs

lu(u E U). On suppose que l 'on peut diminuer la

longueur de certains arcs par des invest issements

approprids. Par exemple, pour l 'arc u, on peut dimi-

nuer sa longueur de ~lu h condit ion de ddpenser

gl u francs, de 82u h condit ion de d@enser g2 u francs, etc.

Par ailleurs, une contra inte budg6taire est imposde :

on ne peut d6penser en tout plus de G francs. Le

problbme est de savoir combien il faut d6penser, et

sur quels arcs, pour minimaliser la longueur du plus

court chemin entre s e t t ( s E X , t G X ) , tou t en respectant la contra inte budg6taire.

Ce problbme, qui peut 6tre considdr6 comme la

recherche d 'un contr6le optimal discret (les variables

de contr61e sont les diff~rents invest issements pos-

sibles sur les diff6rents arcs), peut se formuler comme

la recherche d 'un plus court chemin avec contraiute.

I1 suffit, pour cela, de remplacer chaque arc u par

plusieurs arcs de m~mes extr~mit~s :

- - l e 1 er, de longueur lu, associ~ h l ' investisse-

men t 0 ;

- - l e 2% de longueur lu--31u, associd h l ' inves-

t i ssement 9u ~ ;

- - l e 3 e, de longueur lu- -32u, associd ~ l ' inves-

t i ssement g~u.

etc.

VI.3. Extension optimale d'un r6seau existant (cas p l a n a i r e ) .

Soit un graphe G = [X, U] dont les arcs sont

munis de capacitds cu(u E U). On cherche h faire

cireuler, sur ee graphe, un riot entre s e t t (s ~ X, t ~ X),

de valeur supdrieure h la valeur du riot maximal . Pour

cela, on suppose qu 'on peut, par des invest issements

suppldmentaires, augmenter la capaeit6 de certains

arcs (les aecroissements de capacit6 sont des fonctions

en escalier des investissements). Une l imite supdrieure

h la somme des invest issements effectuds 6taut don-

n6e, comment 6tendre le r6seau de fagon h c e que la

valeur du riot max imal de s h t soit maximale ?

Ce probl~me a 6t6 abord6 par de nombreux auteurs.

Par exemple, Fulkerson [19] dans le cas continu,

Christofides [20] clans le cas discret.

Lorsque le graphe G est planaire, on peut construire

le graphe dual G* et a t t r ibuer h chaque arc de G*

une longueur 6gale h la capaeit6 de Fare correspondant

darts G. Les coupes de G correspondent alors h des

chemins 616mentaires de G*; la coupe minimale de

G a un plus court chemin dans G*. Le probl~me de

l 'extension opt imale de G se t ransforme alors en un

problbme de plus court chemin darts G*, off la lon-

gueur de eertains arcs peut 6tre augment6e par des

invest issements ; par suite, et de fagon analogue h ce

qui a 6t6 f a r en VI-1, en un probl~me de plus court

there in avec contrainte .

11/12 A. TI~LEC., 30, n oB 11-12, 1975

Page 12: Plus court chemin avec contraintes : Algorithmes et applications

394 M. MINOUX, -- PLUS COURT CHEMIN AVEC CONTRAINTES

VI-4 . P lus court s c h e m i n s dana lea graphes probabil istea.

Au lieu d 'associer h chaque arc u de G = [X, U] une longueur cer ta ine lu., on associe une var iable al~atoire ?(u de moyenne ixu et de var iance aZu eonnues.

On suppose que les ;(u (pour u ~ U) sont toutes inddpendanles. S i x ~ Q est un chemin jo ignan t s e t t dans G, on ddfinit sa longueur moyenne pa r :

ix(x) = Y~ ptu et sa var iance par a2(x) = Y~ a~u. u Gx u Ex

Une g6ndral isat ion in tdressante du probl~me du plus cour t chemin est alors de rechercher un chemin x ~ Q r6al isant un bon compromis entre la moyenne ix(x) et la var iance a(x). Pour cela, on recherchera (6ven- tue l lement pour plusieurs maleurs de a~, .) un chemin x tel que la moyenne Or(x) soit minimale , sous la

con t ra in te (~2(x)x< a~ma~"

Un problbme voisin est la recherche d 'un ordon- nancemen t darts un rdseau PERT (program eva lua t ion and review technique, t echnique de contr61e et d 'dva lua t ion des p rogrammes) s tochas t ique (oh chaque thche a une dur6e al6atoirc de moyenne et de var iance connues) : on se ram+ne de fa~on similaire au calcul d ' un chemin cr i t ique (plus long chemin) en moyenne avec une cont ra in te sur la var iance.

Manuscril refu le 16 ju in 1975.

BIBLIOGRAPt t IE

[If YE~ (J. Y.). Finding the lengths of all shortest paths in N mode non negative distance complete networks using 1/2 N a additions and N a comparisons (Recherche de tous les plus courts chemins dans un rdseau com- plet b. N nceuds en 1/2 _IV 3 additions et -IV 3 compa- raisons). J. ass. Computg. Machin., U. S. A. (juil. 1972), 19, n ~ 3, pp. 423-424.

[2] GRASSIN (J . ) , MINOUX (M.). Variation sur un algo- rithme de Dantzig; application h la recherche des plus courts chemins dans les grands rdseaux. Bey. ]r. Automat., In]ormat. Rech. operat. (mars 1973), 7, no l , pp. 53-62.

[3] DREYFUS (S. E.). An appraisal of some shortest path algorithms (Evaluation de quelques algorithmes de plus court chemin). Operat. Res., U. S. A. (1969), 17, n ~ 3, pp. 395-412.

[4] DIJKSTnA (E. W.). A note on two problems in con- nexion with graphs (Note sur deux probl+mes de la th~orie des graphes). Numer. Math., Dtsch. (1959), 1, n ~ 5, pp. 269-271.

[5] JOCKSCH (H. C.). The shortest route problem with constraints (Probl+me du plus court chemin avec

contraintes). J. Math. Anal. Appl., U . S . A . (1966), 14, pp. 191-197.

[6] BELLMAN (R.). Dynamic programming (Programma- tion dynamique). Princeton University Press, New York (1957), 342 p.

[7] :BELLMAN (R.). On a routing problem (Sur un pro- bl6me de routage). Quart. Appl. Math., U .S .A . (1958), 16, pp. 87-90.

[8] BERGE (C.). Thdorie des graphes et ses applications. Dunod, Paris (1958), 278 p.

[9] SHAPIRO (J. F.), FISCHER (M. L.). Constructive duality in integer programming (Dualitd constructive en programmation enti6re). S I A M J. Appl. Math., U . S . A . (jnil. 1974), 27, n ~ 1, pp. 31-52.

[ I 0 ] GRINOLD (R. C.). Steepest ascent for large scale linear programs (Mdthodes de plus forte pente pour les grands programmes lindaires). S.I.A.M. Bey., U . S . A . (juil. 1972), 14, n ~ 3, pp. 447-464.

[11] HELD (H.), WOLFE (P.), CROWDER (H. P.). Validation of subgradient optimization (Validation des m~thodes d'optimalisation par sous-gradients). Math. Pro- gramming, Netherl. (fdv. 1974), 6, n ~ I, pp. 62-88.

[12] LEGENDRE (J. P.), MINocx (M.). Dualit6 en pro- grammation enti6re et probl6mes de sdlection et d'affectation optimales de flotte. Rev. fr. Automat. Inform. rech. operat., Revue verte. (A paraltre.)

[13] GLOVEn (F.). Surrogate constraints (Contraintes suppl6mentaires). Operat. Res., U . S . A . (juil.-aoflt 1968), 16, n ~ 4, pp. %1-749.

[14] SHAHaO (J. F.). Generalized Lagrange multipliers in integer programming (Multiplicateurs de Lagrange g6ndralisds en programmation en nombres entiers). Operat. Res., U . S . A . (jan-fev. 1971), 19, n ~ l , pp. 68-76.

[15] M~Noux (M.). Structures algdbriques gdn6ralisdes des probl~mes de cheminement dans les graphes : thdo- r~mes, algorithmes et applications. Rev. fr. Automat., Inform. Rech. Operat., Revue verte (juin 1976), 10, V-2.

[16] Hu (T. C.).Revised matrix algorithms for shortest paths (Algorithmes matriciels pour le calcul des plus courts chemins). S I A M J. Appl. Math., U. S. A. (jan. t967), 15, n ~ 1, pp. 207-218.

[17] GONDaAN (M.). Alg~bre lin6aire et cheminement dans un graphe. Rev. ft. Automat., Informat. Reeh. operat. (jan. 1975), 9, v-l , pp. 77-99.

[18] KAUFMANN (A.), DESnAZHLLE (G.). La mdthode du chemin critique. Dunod, Paris (1964), 170 p.

[19] FULKgnSON (D. R.). Increasing the capacity of a network : the parametric budget problem (Augmen- tation de la capacit6 d'un rdseau : le probl~me para- mdtrique h contrainte budg~taire). Management Science, U . S . A . (1959), 5, n ~ 4, pp. 472-483.

[20] CnnISTOFmES (N.), BnOOKEn (P.). Optimal expan- sion of an existing network (Extension optimale d'un r6seau existant). Mathematical Programming, Netherl. (avr. t974), 6, n ~ 2, pp. 197-211.

[21] Hu (T. C.). Integer programming and network flows (Programmation en nombres entiers et riots dans les graphes). Addison Wesley, Reading Mass. (1969), 452 p.

[22] FOnD (L. R.), FULKEnSON (D. R.). Flows in networks (Flots dans les graphes). Princeton University Press, New York (1962), 194 p.

A. TI~LEC., 30, n ~ 11o12, 1975 12/12