1
Ch a p i t r e 1 Introduction Le but de ce chapitre est de mettre en place les notions fondamentales sur les graphes afin de part ir sur des bases bases saines. saines.
1 .1
D é fi n i ti t i o n s f o n d a m e n t a le le s
Il existe existe plusie plusieurs urs manières de caractérise caractériserr un graphe, nous nous allo allons en parcourir parcourir quelques un es. Notons Notons imm édiatement qu’il qu’il existe existe deux gra nds types de gra phes : les graph es orientés orientés et les graph es non non orientés. Nous Nous a llo llons commen commen cer notre étu de par les graphes orientés puis nous tr aiterons des diff différences érences a vec vec le le cas cas non orienté da ns une section spécifique.
1 .1 .1 D é fi n i t i o n ( Gr Gr a p h e ) Un gra phe est cara ctérisé par 2 ensembles nomm nomm és
et
et respectivement nommés
Sommets e t Arcs , avec: les les sommet sommet s seront n um érotés érotés de à les les arcs seront seront nu mérotés de à Par définitio définition,
est composé de couples
On appelle respectivement e t
.
l’ origine et la destination de l’arc .
Si la notation ensembliste des graphes est la seule qui soit rigoureuse, ces derniers valent valent surt out par leur leur représenta représenta tion tion graphique. graphique. En eff effet, soit soit le graphe
2
Ce même graphe peut être associé aux deux représentations suivantes et même d’au d’au tr es. Du coup, n’o n’oubliez jam jam ais la règle suivan te : N e vous fiez pas à l’aspe l’aspecct visuel visuel de deux graphes graphes pour les les com parer parer. S eule la com com paraison paraison d es ensem ensem bles bles d e som som m ets et et d ’arcs est est fia ble !
a 1
c
2
1
3
b b d
g
g
e
e
d a
f 4
3
4
2 c
f
F I G . 1.1: Deux représentations « graphiques » du m êm e graphe graphe
A cela, cela, nous allons allons ajout ajout er quelques quelques définitions définitions supplémenta ires :
1.2 Définition (Boucle) On appelle boucle un arc
Par exemple, dan s le gra phe de la figure (1.1), 1.1), l’ l’ar c
est une boucle.
1 .3 .3 D é fi n i t i o n ( S o m m e t s a d ja ja c e n t s ) Les sommet sommet s o u l’arc
e t
du gra graphe phe
sont sont dits a djace djacent nt s si et seulement si, l’ l’ar c
app appartien artiennent nent à .
Par exemple, dans le graphe de la figure (1.1), les sommets (grâce à l’arc
), alors que les sommets
et
ne le sont pas.
1 .4 .4 D é fi n i t i o n ( G ra ra p h e s i m p l e ) Un graph graphe e
est dit simple simple si et seulement si :
1. Pour tout couple 2.
l’arc
, il existe a u p l u s u n a r c n’existe n’existe p a s
3
et
sont adjacents
De man ière plus plus littéraire : un gra phe simple est est u n graphe san s boucl bouclee ni ar cs mu ltiples tiples entr e les même sommets.
Par exemple, le gra gra phe de la figur e (1.1) (1.1) n’est n’est pas u n gra phe sim ple car car il co cont ient à la fois la boucle
et 2 arcs
.
Remarqu e : Il existe existe un e bijec bijectio tion n entr e l’ensemble l’ensemble des graph es simples simples et l’enl’ensembles sembles des r elations elations binaires sur
, les propriétés propriétés sur les relations relations s’étendan s’étendan t donc donc
aux graphes.
1 .5 .5 D é fi n i t i o n ( Gr Gr a p h e p l a n a i r e ) On qualifie de d e planaire t o u t g r a p h e p o u v a n t ê t r e d e s s i n é s a n s q u e s e s a r c s n e s e croisent.
Un e fo fois de plus, il convi convient ent de ne pa s oublier oublier qu ’il ne faut jama is se fier à la r eprésent at ion ion visuelle d’un d’un gr aph e. Par exemple, le gra phe de la figur figur e suivan te n’app n’app ar aît pas plan aire su r sa représent at ion ion de gauche. To Tout efo efois, si vo vous modifiez modifiez sa r eprésenta tion tion graph ique co comm e m ont ré à dr oite il est évident évident qu’il qu’il est est bel et et bien bien plan aire.
Exem ple de graphe planaire F I G . 1.2: Exem
1 .2
L e s g ra r a p h e s n o n o ri ri e n t é s
1 .6 .6 D é fi n i t i o n ( G ra ra p h e n o n o r i e n t é ) On appelle g raphe n on orien té tout graphe où les arcs nables.
4
e t
sont indiscerindiscer-
Le vocabulaire change un peu : on appelle habituellement arête un arc dans le cas cas non orienté.
1 .3 .3
C o c y c le le s , d e g r é s
Soit
un graph e orienté. orienté. On a ppelle ppelle cocycle d’un sommet l’ensemble des
sommet s qu i lui lui sont a djacent djacent s ou l’ensem l’ensem ble des ar cs qui lui sont in cident s. On On n ote :
Les cocycles
sont des cocyc ocycles les de sommet s, a lors lors que les cocy cocyccles
sont des co-
cycles ycles d’ar d’ar cs. cs. Les deuxièmes se r évèlent évèlent beau coup coup plu s u tiles da ns le cas gén éra l. Si nous r eprenons le graph e de la figure (1.1) 1.1),, nous nous avons, avons, par exemple exemple :
Dan s le cas n on orient é, l’on l’on a
et, r écipro éciproquement quement ,
.
Notons Notons qu’il qu’il existe existe un au tr e système de notat ion ion :
Les degrés degrés sont sont des quant ités att achées au sommet et qui expriment la cardinalité des cocycles. On notera : demi degré degré extérieur/suprérieur de dans demi degré intérieur/inf intérieur/inférieur érieur de dans En gros, le demi degré extér extér ieur compt e le nombr nombr e d’ar d’ar cs qui sort sort ent d’un d’un sommet alors alors qu e le demi degré degré int érieur compt e le nombre nombre d’ar d’ar cs qui ent rent en u n sommet sommet . On appelle appelle degré degré du somm somm et
et l’on note
.
Dan s le cas n on orient é, l’on l’on a : Si l’on r evient evient a u cas orient orient é, on on a un résulta t intéressa nt . Soit Soit
5
, on on a :
car cha que ar c possède possède exac exactemen temen t un e extr extr émitié initiale et u ne extr émité finale. D’où :
avec
nombr e d’ar d’ar cs du gra phe.
Finalement :
1 .4 .4
M a t ri r i c e s a s s o c i é e s a u x g ra ra p h e s
Il y a deux m at rices rices t ypiquement ypiquement associée associéess au x gra phes : la ma tr ice ice d’inc d’incide idence nce arc-sommet et la matrice d’adjacence sommet-sommet.
1 .4 .4 .1 .1
Ma t r ic i c e d ’i ’i n c i d e n c e a r c -s -s o m m e t
La ma tr ice ice d’inci d’incidence dence est de ta ille ille ar cs a ux colo colonn nn es. Notons Notons
, les somm somm ets sont ass ociés au x lignes, lignes, les
la m at rice d’inci d’incidence dence associée associée au gra phe
.
Pour pouvoir pouvoir l’éc l’écrir rir e, nous devons devons n um éroter les ar cs du gra phe. On obtient alors : si le sommet est le somm et in itial de l’ar l’ar c si le sommet est le sommet t ermina l de l’ar l’ar c partout aille ailleurs urs Cette n ota tion tion est tr ès lour lour de car car la m at rice rice est tr ès creuse. creuse. En eff effet sur un e même colonne seuls deux éléments ne sont pas nuls : ceux qui correspondent au sommet initia l (1) (1) et a u somm et ter mina l (-1) (-1) de l’ar l’ar c. Sur un e mêm e ligne, le nombre d’élément d’élément s égal à 1 n ous donn donn e le demi degré degré su périeur alors alors qu e le nombre d’élé d’élément ment s égal à -1 nous indique le demi degré inférieur inférieur du sommet. Dans le cas cas non orienté, on n e place que des 1 et la somme d’un d’un e ligne indique indique le degré du sommet sommet . Cette matrice est inexpoitable du point de vue algorithmique mais elle est extrèmement importante du point de vue théorique car elle permet de faire le lien, par exemple, exemple, entr e la t héorie des des flots flots et la pr ogramm at ion ion linéaire. linéaire.
6
1 .4 .4 .2 .2
Ma t r ic i c e d ’a ’a d ja j a c e n c e s o m m e t -s -s o m m e t
C’est C’est u ne m at rice
telle que
pour tout arc
appartenant au graphe,
tous les aut res élément s éta nt nu ls. Lorsqu’ Lorsqu’un un graph e est dense, c’ c’est à dire lorsque lorsque est proche de
, cette matrice constitue un moyen de stockage efficace au point de
vue place mémoire mémoire m ais elle s’avère s’avère délicat délicat e à ut iliser iliser a lgorit lgorit hm iquemen t. Dans le cas cas non orienté, la ma tr ice ice d’adjac d’adjacence ence est symétr ique. ique. En eff effet, pour la construire on considère chaque arête du graphe comme 2 arcs opposés, lesquels servent de ba se à la const ru ction tion de la ma tr ice. ice.
1 .4 .4 .3 .3
E x p re r e s s i o n d e s m a t ri ri c e s
Nous a llo llons expli explicciter les deux m at rices rices su r le graphe suivant . Afin Afin d’év d’éviter iter t out e ambiguité entre les sommets et les arcs ces derniers ont été «numérotés» par des lettres.
2 d a 1
c
4
b e 3 d’exem m ple p our l’expre l’expression ssion des m atrices d ’in cidence et d ’ad jacence jacence F I G . 1.3: Graph e d’exe
I n ci d e n ce
Ad ja ce n ce
7
1 .5 .5
C h e m i n s , C h a î n e s , C i rc rc u i t s , Cy c l e s
Les notions de chemin et de circuit dans les graphes orientés ainsi que leurs homologues dans les graphes non orientés, respectivement chaîne et cycle, sont absolument fondamentales. Après les définitions générales de ces notions, nous examinerons 2 cas particuliers des plus intéressants.
1 .5 .5 .1 .1
Définitions générales
1.7 Définition (Chemin) On appelle chemin depuis un sommet vers vers un somm somm et un e s uite d’ar d’ar cs :
2 d a 1
c
4
b e 3 chemin (en trait gras) gras) du som som m et 1 au som som m et 4 F I G . 1.4: Exemple de chemin
De man ière ière plus plus littéra littéra ire, ire, un chemin est une succ successio ession d’arcs d’arcs qui permet de relier relier u n sommet
à un sommet
en empr un ta nt cha que ar c dan s le bon bon sen s, c’ c’est à
dire de son origine origine vers sa destinat ion. ion. La figur figur e (1.4) (1.4) illuste illuste la notion notion de chemin chemin depuis le sommm sommm et 1 vers le sommet 4. Les ar cs ut ilisés ilisés sont d essinés en gr as. L’o L’on voit voit imm édiat emen t qu ’ils sont sont toujour toujour s par cour us depuis leur origine origine vers leur destinat ion. ion. Ainsi Ainsi la dest inat ion ion d’un d’un ar c est l’o l’origine de s on successeur successeur dan s le chemin. 8
Si l’o l’on r elache cett cett e der nière cont cont ra int e, c’ c’est à dir e que l’o l’on s’au s’au torise à empr un ter un ar c à l’endr l’endr oit oit ou à l’envers, l’envers, on pa rle a lors lors d e chaîne.
1 .8 .8 D é fi n i t i o n ( C h a î n e ) Un e cha cha îne est un chem in su r lequel on on a r elaché elaché la cont cont ra inte d’orie d’orient nt at ion. ion.
La notion de chaîne est la seule à avoir une signification dans le cas des graphes non orientés. La figur e (1.5) (1.5) illust illust re la notion notion de cha cha îne. Dan s ce cas, cas, on voit voit clairemen t qu e l’ar l’ar c est pa rcour rcour u à cont re-co re-cour an t.
2 d a 1
c
4
b e 3 chaine (en (en trait gras) gras) du som som m et 1 au som som m et 4 F I G . 1.5: Exemple de chaine
1.9 Définition (Circuit, Cycle) U n circuit est u n chem in dont l’o l’origine et la dest inat ion ion sont confo confondu ndu es. Dans le cas non orienté, on parle de cycle .
La figur figur e su ivan ivan te illustr illustr e ces deux n otions. tions. N otez l’inve l’inversio rsion n du sens de l’ar l’ar c entre les deux dessins.
1 .1 .1 0 D é fi n i t i o n ( Ch Ch e m i n s i m p l e ) Un chemin qui ne passe qu ’un e seule fois fois par cha cun des ar cs qu ’il empru empru nt e est dit
simple
1 .1 .1 1 D é fi n i t i o n (C (C h e m i n é l é m e n t a i r e ) Un chemin qui ne passe qu’un qu’un e seu le fo fois par cha cun des somm somm ets qu’il qu’il traverse est d it élémentaire
9
2
2 d
a 1
d
a c
4
1
b
c
4
b e
e
3
3
C ycl e
C i r cu i t
chemin (en trait gras) gras) du som som m et 1 au som som m et 4 F I G . 1.6: Exemple de chemin
Corol Corollaire laire immédiat : Un chemin élément élément aire est nécessairement nécessairement simple. simple.
1.1 Théorème Tout chemin de vers
contient un chemin élémenta ire de vers .
La démonstration de cette propriété est laissée en exercice. Dans la su ite de ce cour cour s, on on ne s’intéressera s’intéressera désorm désorm ais plus qu’au qu’au x chemins élémentaires. Aussi, à partir de maintenant, la notion de chemin devra être comprise comme chemin élément élément aire.
1 .5 .5 .2 .2
C h e m i n Eu E u l é r ie i e n , c h e m i n H a m i lt lt o n i e n
Ces deux t ypes par ticuliers ticuliers de chemin et de cyc cycle, le, que l’o l’on retr ouve da ns les cas cas orientés ou non orientés sont particulièrement intéressants car on les retrouve dans de nombreux problèmes appliqués.
1 .1 .1 2 D é fi n i t i o n ( Ch Ch e m i n E u l é r i e n ) On qua lifie lifie d’Eu d’Eu lérien lérien u n chemin qui passe un e et un e seule fo fois par chaque arc du graphe qui lui sert de support.
En outr e, si l’o l’on impose que l’o l’origine et la dest ina tion du chemin soit soit confo confondu ndu es, on par le de circ circuit uit Eu lérien. lérien.
10
L’app L’app licat licat ion ion indu str ielle ielle la plus specta cula ire est conn conn ue sous le nom de problème du postier chinois et consiste à chercher le circuit Eulérien de longueur minimale sur un graphe aux ar cs valués. valués.
1 .1 .1 3 D é fi n i t i o n ( Ch Ch e m i n H a m i l t o n i e n ) On qua lifie lifie d’Ha d’Ha miltonien un chem in qui passe un e et un e seule fo fois par chaqu e somsommet du graphe qui lui sert sert de su pport. pport.
En outr e, si l’o l’on impose que l’o l’origine et la dest ina tion du chemin soit soit confo confondu ndu es, on par le de circ circuit uit Ha miltonien. miltonien. A présent, valuons cha cha que ar c du graph e et r echercho echerchons ns le circ circuit uit Ha miltonien miltonien de longueur minimale sur le graphe. On obtient le problème ultra classique du Voyageur de Commer ce.
1 .6 .6 1 .6 .6 .1 .1 Soit
S o u s g r a p h e s , g r a p h e s p a r ti t i e ls ls Définitions générales un graphe. On va désormais définir les notions importantes de
sous grap he et de graph e par tiel. Afin Afin d ’illust illust rer n otr e propos, propos, nous n ous servirons du graph e suivant comme base :
4 d
i h
a
1
2
c b e
5 f
6
3 g
l’illustration d es graphes partiels et et sous sous graphes F I G . 1.7: Graphe d e base pour l’illustration
1.14 Définition (Graphe partiel) Soit
un sous ensemble des arcs
d e
d e .
11
,
est un graphe part iel iel
4 d
4 d
i h
a
1
2
1
h
a
2
c b e
5
6
3
f
5 f
6
3
g
g
S é l e ct io ion d ’a rc r cs (e n gr as as)
G r ap a p h e p a rt r t ie ie l ob t en en u
F I G . 1.8: Exemple d’extraction d’un graphe partiel
En résumé, on obtient un graphe partiel de
en supprimant certains arcs. Par
exemple, dan s la figur e (1.8) (1.8),, et à pa rt ir du gra phe de la figur e (1.7) (1.7),, si l’o l’on n e ret ient que les arcs mar qués en gra s su r la part ie de gau gau che, l’on obtient obtient le gra gra phe par tiel de la par tie de droite. droite. Les ra isons isons de tr availler availler su r des graph es pa rt iels iels sont légio légion. n. Par exemple, exemple, l’ l’on pour pour ra it voulo vouloir ir se limiter limiter au x arcs présentan t certa ines car car actéristiques importan importan tes. Considéro Considérons ns un problème problème de recherche recherche d’itinéraires d’itinéraires où cha que a xe routier est représenté pa r u n a rc. Si l’o l’on n e désire emprun ter que des au torout torout es, on on peu t extra ire le graph e part iel associé associé aux au torout torout es.
1 .1 .1 5 D é fi n i t i o n (S (S o u s g r a p h e ) Soit
un sous ensemble des sommets
tout tou t grap graphe he
d e
. On appelle appelle sous graphe d e
.
De manière plus littéraire, on obtient un sous graphe en extrayant un sous ensemble des sommets de
et en ne r etenant que les arcs arcs qui relient relient ces sommets, sommets, tel
qu’ill qu’illust ust ré sur la figur e (1.8) (1.8)..
12
4 d
i h
a
1
2
a
1
c
2
b e
5 f
b
6
3
e 3
g S él él e ct io ion d e s om om m et et s (e n g r a s) s)
S ou ou s g r a ph p h e ob te ten u
F I G . 1.9: Exemple d’extraction d’un sous graphe
1 .6 .6 .2 .2
C li li q u e s , S t a b l e s , C o l o r a t io io n
Deux sous sous gra phes par ticuliers ticuliers ont ont un e import import an ce toute pa rt iculière iculière dans le monde monde de la théorie des graphes : les cliques et les stables. Comme nous allons le voir immédiatement , ces ces deux n otions tions sont sont totalement opposées. pposées.
1.16 Définition (Clique) On appelle clique s u r u n g r a p h e
tout sous graphe complet.
1.17 Définition (Stable) U n stable s u r u n g r a ph ph e
est un sous sous graph graphee san sa n s arc.
Remarqu e : Un sommet sommet isolé isolé est à la fois fois une clique lique et un sta ble. ble.
1.18 Définition (Coloration) On appelle Coloration un e par tition tition en sta bles bles d’un d’un graphe.
Ce dern ier voc vocabulaire est lié lié a u problème problème classique de colora lora tion tion d’un d’un e car te. Soit Soit u ne cart e géograph géograph ique représenta nt plusieurs pa ys. On souha ite colo colorier rier chaque pays de ma nièr e à ce qu’il qu’il n’ait n’ait pas la mêm e couleur couleur que chacun de ses voisins. voisins. Ce problème peut être résolu en cherchant une partition en stables du graphe obtenu en associant associant cha que pays à un somm somm et et cha que ar c à u ne front front ière co commu ne entre 2 pays. Il suffit alors d’associer une couleur à chaque stable obtenu. Remar Remar que : on on essaye essaye le plus souvent souvent de déterminer le nombre m inimal inimal de coucouleurs n écessair écessair es. Il a été démont ré qu e l’o l’on peut toujour toujour s colo colorier rier u n gra phe plan air e avec, avec, au plus, 3 couleur couleur s. 13
Ch a p i t r e 2 A r br br e s e t p a r c o u r s 2 .1 .1
N o t i o n d ’a ’a r b re re
2 .1 .1 .1 .1
D é fi n i t i o n s f o n d a m e n t a le le s
La n otion d’ar d’ar bre est fonda fonda men ta le en recherche opérat ionn ionn elle. elle. Après avoir avoir donné une première définition, nous énumèrerons plusieurs propriétés équivalentes à cette définition. définition. Notons Notons immédiatemen t que la notion notion d’ar d’ar bre est non orientée : elle elle s’aps’applique plique au ssi bien bien a u cas qu’au qu’au cas non orienté.
2.1 Définition Un arbre est un graphe connexe et sans cycle (propriété 0).
Les propriétés propriétés su ivan ivan tes (qui s’appliquent s’appliquent à un graph e cco ompt an t
sommets) sont
équivalentes à la définition précédente :
1. Un arbre est un graphe connexe qui compte exactement 2. Un arbre est un graphe sans cycle ycle qui co compte exacte exactement ment
arcs arcs. On parle
acyclique lique m inim al de graph graph e acyc
3. Un ar bre est un graph e sans cycle ycle tel que que si l’o l’on r ajout ajout e un ar c quelc quelco onque, on crée un cycle 4. Un ar bre est u n graph e cco onn exe tel que la la su ppression ppression d’un d’un ar c quelc quelco onque engendre gendre la séparation séparation en 2 composantes mposantes connexes. nnexes. On parle de graphe connexe maximal
5. Dans un arbre, tout couple de sommets est relié par une et une seule chaîne.
14
2 .1 .1 . 2
D é m o n s tr t r at a t io i o n d e l ’é ’é q u i va v a le l e n c e d e s d é fi n i ti ti o n s s u r l e s arbres
La démonst démonst ra tion tion de l’équiv l’équivalenc alencee de ces propositio propositions ns nécessite nécessite un th éorème éorème intermédiaire.
2.1 Théorème Soit
un grap he qu elco elconqu e, alors alors :
– S i
est sans cycle, alors
– S i
est connexe, alors
La démonstr at ion ion de ce ce th éorème éorème se fait de m an ière co const ru ctive. tive. En eff effet, co considérons nsidérons un graphe
,
dont l’o l’on r etir e t ous les ar cs.
On a jout jout e alors alors les ar cs 1 par 1. A un instant donné, la situation peut être telle que représentée par la figure (2.1).
Constru ction d ’un arbre : situation d e base F I G . 2.1: Constru
Lors Lors que l’o l’on r ajoute u n ar c, 2 cas cas p euvent se présen ter : 1. L’ar L’ar c réu nit 2 somm somm ets de la mêm e co composan te conn conn exe (2.2. (2.2.a). a). – Le nombre nombre de composantes composantes conn conn exes exes du gra phe ne chan ge pas – On crée un cycle dans la composante connexe 2. L’ar L’ar c réu nit 2 sommet s appa rt ena nt à d es compo composan san tes conn conn exes diffé différen ren tes (2.2.b (2.2.b)). – Le nombre de co composantes conn exes exes diminue de 1 – On ne r ajout ajout e pas de cyc cycle le dan s le gra gra phe 15
(a )
(b) ction d ’un arbre : opérations opérations élém élém entaires F I G . 2.2: Constru ction
Appliquons ce principe de construction à la démonstration du théorème précédent. Si l’on l’on désire que le gra gra phe soit soit sa ns cycle, ycle, il nous nous fau t p rocéder rocéder pa r la deuxième mét hode d’ajo d’ajout ut d’ar d’ar c. In itialemen t, comm comm e il n ’y a pas d’ar d’ar cs, cs, il y a
compo-
san tes conn exes. exes. A chaque ajout ajout d’ar d’ar c, le n ombre de composantes conn exes exes diminue de 1 unité. Après avoir ajouté
arcs par cette méthode, il ne reste
qu’un qu’un e seule composante composante conn exe, exe, le gra phe est donc donc conn conn exe. exe. Si ma intena nt , l’o l’on const const ru it u n gra phe pa r l’un l’un ou l’au l’au tr e pr incipe incipe de co const ru ction, il fau fau t ajouajouter au moins moins (n-1) ar cs a vant d’o d’obtenir un e seule composante composante et donc un graph e conn exe. exe. D’o D’où la seco seconde pa rt ie du th éorème. éorème. En vert vert u du premier pr incipe incipe de const ru ction, tion, tout ajout ajout d’ar d’ar c rajout rajout era un cycle ycle,, ce ce qui démont démont re la pr emière partie du théorème.
16
Une fois le théorème démontré, les implications suivantes sont évidentes :
Pour Pour démont démont rer l’équiv l’équivalence alence des propriétés sur les ar bres, nous nous allons allons créer la boucle boucle d’implic d’implicat at ions ions s uivan te (les implicat implicat ions ions non en core démont rées sont en gras):
Démonstration Supposons que
soit un arbre non connexe. Il possède donc au moins 2 compo-
san ts conn exes. exes. En appliquant la r ègle ègle de co const ru ction tion nu méro 2, il est possible possible d’ajo d’ajout ut er u n a rc san s créer de cycl cycle, e, ce qui ent ra îne u ne cont cont ra diction. diction. Mora Mora lité lité : un ar bre est un graph e cco onn exe et sa ns cycle ycle qui possède possède exactement exactement arcs.
Démonstration Supposons Supposons qu’il qu’il existe existe deux chaînes distinctes distinctes permet ta nt de joindre joindre u n couple de sommets
. Alors, il existe au moins un arc
appartenant à la pre-
mière chaîne mais pas à la seconde. Supprimons cet arc, il existe encore une chaîne permettant de joindre
à . Le graph e est toujo toujours connexe apr ès sup-
press ion ion d’un d’un ar c ce ce qui cont cont redit la pr oposition position
.
Démonstration Supp osons qu ’il existe u n cycle, ycle, alors, alors, il est possible possible d’o d’obten ir 2 cha înes relian t chaque sommet du cycle à un autre. En out re, l’existence l’existence d’un d’un e cha cha îne perm ett an t de r elier elier chaqu e couple couple du gr aph e est la définition même de la propriété de connexité.
17
Ainsi Ainsi se ter min e la démonst ra tion d’équivalence d’équivalence des propriétés d’un d’un ar bre !
2.1 Corollaire Ajout er un ar c à un arbre créée un et un seul cyc cycle le
2.2 Corollaire Tout graphe conn conn exe co cont ient ient un graphe pa rtiel qui qui est u n a rbre.
Ce seco second coroll corollair air e est est évident à démont rer par constr uction. Suppr imons tout es les arêtes du graphe avant de les réintroduire sans créer de cycle : nous venons bien de créer un graphe partiel qui est un arbre !
2 .1 .1 .3 .3
D é m o n s t r a ti t i o n s c o m p l é m e n t a i re re s
2.2 Définition (Racine) Soit un graphe orienté . Le sommet s i,
est dit racine d e
si et seulement
il existe existe u n chemin d e vers .
2 .3 .3 D é fi n i t i o n ( Ar Ar b o re re s c e n c e ) U n a r b r e orienté admettan t un u n e racine racine est une u ne arborescence
C’est C’est u n a bus de lan gage co comm un que d’app d’app eler arbr e une a rborescence. rborescence. La figur e suivant e illust illust e 2 a rbres, l’un l’un est un e a rboresce rborescence nce,, l’au l’au tr e n on.
Ar b or e s ce n ce
Ar b r e
Arborescence nce ou p as ? F I G . 2.3: Arboresce
18
Ch a p i t r e 3 P l u s c o u rt rt s c h e m i n s 3 .1
N o ta t a ti t i on on s
Ce chapitre chapitre suppose suppose que l’o l’on tra vaill vaillee sur un graphe orienté et
. Chaque Chaque ar c
Dans la suite on notera sommet
est m un i d’un d’un coût
, avec
.
un chemin depuis un sommet
(la source) vers un
(la destination ).
3 .1 .1 D é fi n i t i o n ( Lo Lo n g u e u r d ’u ’u n c h e m i n ) On appelle longueur d’un chemin
et on note
la quantité q uantité
(3.1)
Un chem in d’un d’un sommet vers lui mêm e sera t oujo oujour s de longueu longueu r n ulle.
3 .2 .2 D é fi n i t i o n ( P l u s c o u r t c h e m i n ) Un plus court chemin de vers
est un chemin de vers
dont dont la longueur longueur est mini-
ma le parmi tous les chemins chemins de vers . Dan Dan s la suite on notera
un tel chemin. chemin.
3 .3 .3 D é fi n i t i o n ( Fo Fo n c t i o n d e m a r q u a g e , p o t e n t i e l ) On appelle fonction de marquage ou potentiel une application de
dans
.
En clair, cela revient à valuer, ou porter une valeur, sur chacun des sommets du graphe.
3 .4 .4 D é fi n i t i o n ( P l u s c o u r t e s d i s t a n c e s ) On appelle plus co cour te distan ce de
à et l’on note
à la longueur du plus court chemin de source fixée, on écrira
pour
la fo fonction nction d e ma rqu age égale
vers . Par Pa r abus de notation, notation, et une fois la
.
19
3 .1 .1 R e m a r q u e ( R e p r é s e n t a t i o n d ’u ’u n c h e m i n ) Il exis existe te deux grande gra ndess ma nières nières de représenter représenter u un n chemin. La première premièr e consis consiste te à donner la suite des arcs qui le composent. Ainsi, un chemin
peu t s’écrire s’écrire :
Plus simplement, et comme nous ne travaillons que sur des graphes simples, on peut noter un chemin par la succession des sommets rencontrés. Ainsi, le chemin précédent peut désorma is s’éc s’écrire rire :
3.1 Théorème (Condition d’optimalité des distances) Soit
la plus courte distance depuis la source
vers un somme t quelcon que du
gra ph e. Alo Alors rs :
En eff effet sup posons posons qu’il qu’il existe existe d eux sommet s implique implique n ota ment que l’ar l’ar c Soit l’arc
et
n’est n’est pas ut ilisé ilisé dan s le chemin
le plus court chemin vers . Par définition définition sa longueur longueur est , on obtient un chemin de longueur
associé à
.
. Si on lui ajoute
.
L e p ro r o b lè lè m e
Rechercher un plus court chemin de vers
. Ceci
. D’où la contradiction car
est sensée êtr e la plus cour cour te dista nce pour pour aller en
3 .2
tels que
vers
revient à rechercher un chemin de
s’il e xist e . Les conditions d’existence sont les suivantes : de longueur longueur minimale s’il
1. Il existe au moins un chemin de 2. Aucun chemin de
vers
vers
ne contient de circuit absorbant i.e. de circuit de lon-
gueur négative. négative. En eff effet, si un tel circ circuit uit existait, existait, l’o l’on pourr pourr ait le par courir indéfinime indéfiniment nt pour pour abaisser la longueur longueur du chemin. Dans la suite de cet exposé nous supposons : 1. Il exi existe ste un chemin depuis un sommet
vers tous les autres sommets du graphe.
2. Il n’exi n’existe ste pa s de circ circuit uit absorbant dan s le graphe. 20
3 .1 .1 P r o p r i é t é (P ( P r o p r i é t é d e s o u s o p t i m a l i té té ) Soit
un plus cou rt chemin de , le sous sous chem in
vers . Alors,
est un plus co court chemin de vers
.
En effet, soit
un plus co cour t chemin de
le sous chemin de qu e
à
et
vers passant par le sommet
le sous sous chemin de
à . On a
. Supposons
ne soit pas optimal. Alors il existe un chemin . Dans ce cas
celle celle d e
est un chemin de
entre
vers
. Appelon Appelon s et
tel que
de longueur inférieure à
ce qui contredit l’hypothèse.
P1 s
k
P3
t
P2
F I G . 3.1: Démonstration d e la propriété propriété de sous sous optim alité Soit
un plus co cour t chemin de la la source
vers vers u n sommet sommet quelco quelconque .
– Par définition de la plus courte distance (3.4),
.
– Par application de la propriété précédente,
pour chacun des som-
mets
, où
est la restruction de
Conséquence : Pour chaque arc
entre
et .
, on a
.
La r éciproque éciproque de cett cett e propriét é fo fonda men ta le fait fait l’o l’objet du t héorème suivan t :
3.2 Théorème Soit un chemin Alors
tel que p po our ur chaqu haquee a rc rc
l’on ait
.
est un plus co court chemin de vers .
Dans cette démonstration, on utilise la notation On part de
, plus courte distance de
appa ra ître le co coût des ar cs composant composant
à
.
que l’o l’on déco décompose de m an ière à faire
et le tour est joué.
.. .
.. .
21
avec
(hypoth (hypoth èse 2). 2).
Or, par hypothèse, pour tout arc concern oncern e ici ici :
,
ou, pour ce qui nous
Ce qui n ous donn donn e :
La plus courte distance au sommet est un plus court chemin de
étant égale à la longueur du chemin
, celui-ci
vers .
3.2 Propriété Soit
, où
est l’ensem l’ensem ble des ar cs
tels que
. Alors,
contient une arborescence enracinée en .
Démonst Démonst ra tion tion : Pour Pour cha que sommet , il existe un plus court chemin de . Réciproquement, il suffit de construire une arborescence dans un plus court chemin depuis
à
dans
pour pour obtenir
vers vers tout aut re sommet sommet à l’aide l’aide d’un d’un algo algorithme de
parcours.
3 .3 .3
L e s a l g or o r it i t h m e s d e p lu l u s c o u rt rt c h e m i n
Selon Selon les cara ctérist iques du gra phe qu e l’on l’on étu die, il existe existe 3 gran des fam fam illes illes de recherche de plus courts chemins depuis un sommet
vers tous les autres sommets
du graphe.
3 .3 .3 .1 .1
Gr a p h e a c y c l i q u e
3 .2 .2 R e m a r q u e ( P r é c i s i o n i m p o r t a n t e c o n c e r n a n t l e v o c a b u l a i re re ) Dans le cas cas des graphes n on orientés, le le term e acyclique décrit un graphe sans cycle, alors alors que si l’o l’on tra ite des graphes orientés, on on appelle appelle acyclique t ou ou t g r a p h e s a n s
circuit . Lorsqu’ Lorsqu’un un graphe ne comporte mporte pas de circ circuit, uit, les a rcs tr aduisent une relation relation d’o d’ordr e par tiel sur le gra gra phe. Ce qui qui veut dire que l’o l’on peut nu méroter les sommet sommet s de
. Une telle nu mér ota tion s’app s’app elle un t ri
de telle telle man ière que
topologique s u r
. Le calcul d’un tri topologique (ou ordre topolog topologiqu iqu e ) sur un réseau
se fait par un algorith algorith me de complex complexité ité ma xima xima le en
.
Dès lors lors qu ’il existe existe un circuit sur le gra gra phe, il devient devient im possible possible de créer créer un tel ordr e ccar ar tout sommet mem bre d’un d’un circuit est l’un l’un de ses propres prédécesseurs. 22
L’algo L’algorith rith me su ivan ivan t permet de déterminer un ordr e topolo topologi gique que sur un graphe. Algo Algorit rit hm e de tr i t opolog pologique ique
Liste suivant Tant Que (Liste ) Retirer un sommet suivant suivant ordre suivant
Si ( Alors Liste Fin Si
de la liste
) Liste
Fin Fin Tant Que S i (suivant ) Alors Le réseau cont ient au moins moins u n circuit ircuit Sinon Le t ableau ordr e in dique l’o l’ordr e t opolo opologiq gique ue Fin Si Le prin cipe de cet cet a lgorit lgorit hm e est simple et r epose epose sur l’éliminat l’éliminat ion ion p rogressive des arcs sortant de chaque sommet. Nous utilions les variables
indiquant à chaque
inst an t, combien combien d’ar d’ar cs non encore encore biffé bifféss du résea u en tr ent dan s le sommet . Initialement,
,
et la list e cco ont ient l’ensem l’ensem ble des somm somm ets qui n’o n’ont pas
de prédécesseurs prédécesseurs et qui sont donc donc directemen directemen t nu mérotables. A cha cha que fois que l’o l’on examine un sommet, on coupe les arcs qui en sortent et on place dans la liste les sommet s qui n’o n’ont plus d’ar d’ar c ent ra nt . Ainsi, Ainsi, on on est sûr d’examin d’examin er tous les prédécesseur s d’un d’un sommet sommet avan t de le nu méroter. méroter. Une fois cet ordre topologique connu, le calcul des plus courts chemins est très simple. En effet, supposons que l’on cherche à calculer
et que l’on l’on conn conn aisse les
plus courtes distances pour tous les sommets de rang topologique inférieur à celui de . De par la défin ition ition d e l’o l’ordr e topolo topologique, gique, tous les ar cs a rr ivant en
proviennent
de sommets de r an g inférieur, inférieur, c’est-àc’est-à-dire dire de sommet sommet s pour pour lesquels lesquels on conn aît déjà déjà les plus courtes distances (de par l’hypothèse). Alors, pour connaître
23
(et, par la
même occasion, un plus court chemin joignant
à
), il suffit de considérer :
pred où
est le sommet pr édécesseur édécesseur de
de distance minimale par rapport à
On obtient alors alors l’algo l’algorith rith me suivant initialisé initialisé en
.
, seul sommet sans prédéces-
seur par définition. Algorithme de Bellmann
Renu mér oter les somm somm ets dan s l’ordre l’ordre t opolo opologiq gique ue Pour variant de 1 à
pred Fin Pour
3 .3 .3 .2 .2
Ar c s à c o û t s p o s i t i fs fs , a l g o r it i t h m e d e D i jk jk s t r a
Lors Lors que le résea u cont ient des circuit circuit s, il n’est n’est plus possible possible d’ut d’ut iliser iliser l’algo l’algorit rit hm e précédent précédent qui s’appu s’appu ie sur un tr i t opolo pologi gique. que. To Tout efo efois, il est toujour toujour s possibl possiblee de tirer profit profit de la n on négativité négativité des co coût s su r les arcs. arcs. Pour Pour ce faire on on par titionn titionn e l’ensemble l’ensemble des sommets en deux ensembles Les sommets de
sont dits fixés et ceux de
et
.
tem poraires. On ut ilise ilise un e fonctio fonction n de
que n ous appellerons appellerons distance et qu i à la fin de l’algo l’algorit rit hm e sera égale
marquage
à la dista nce minimale depuis depuis
vers vers cha que somm somm et.
A cha cha que éta pe, la la définition définition de
est la su ivan ivan te :
est la longueur longueur d’un d’un plus court court chemin de sommets sommets intermédiaires intermédiaires sont sont dans
. Initialement,
vers
dont tous les et
,
Less distan ces aux som Le som m ets fixés (c’ (c’est-à-dire st-à-dire les som som m ets d e
) sont mi-
. L’algo L’algorit rit hm e repose sur le postu postu lat s uivan t :
nimales.
24
A chaque itération, le sommet temporaire de plus petite distance est transféré direc directement dans
et l’o l’on m et à jour jour les dista nces de tous ses s uccesseur uccesseur s.
La complexité complexité t emporelle de l’algo l’algorit rit hm e de Dijkstr a sous cette form form e simple est . En eff effet, à chaque chaque éta pe, on tra nsfère nsfère un nœu d de
vers
, ce qui nous fait
itér at ions. ions. A l’int l’int érieur de cha cha que itéra tion, on on r echer echer che le le somm somm et de la plus petite distance temporaire, opération en
qui possède
dans le pire des cas. Toutefois,
des str uctur es de donn donn ées perform perform an tes (telles telles que les Tas de F ibonn ibonn acci) acci) permett ent de rabaisser significativement cette complexité (
).
Algorithme de Dijkstra (forme simple)
pred
Tant que (
)
Si ( Alors
)
pred Fin Si
Fin Fin Tant Tant qu e Démonst ra tion d e l’algo l’algorit rit hm e : Elle se fait fait pa r r écur écur rence sur la ta ille ille de de
3 .3 .3 .3 .3
.
L e c a s g é n é r a l , a l g o r it i t h m e d e Fo Fo r d
Dans le cas cas généra généra l, la seule solutio solution n consiste consiste à regarder itérat ivement ivement les arcs en modifiant les dista nces jusqu’à jusqu’à ce que la condit ion ion du th éorèm éorèm e (3.1) (3.1) soit soit vérifiée pour pour cha cun d’ent d’ent re eux.
25
L’algo L’algorit rit hm e génér al de Ford (dit Label-correcting ) est est le suivant : Algo Algorit rit hm e de Ford Ford (form form e simple)
Tant que
avec
pred Fin tant que Cet algorithme est très intéressant car il converge quelle que soit la méthode de sélection sélection de l’ar l’ar c violan violan t les co condit ions ions d’o d’optim alité. Notons qu e cet a lgorit lgorit hm e per met de dét ecter ecter la présence d’un d’un circuit ircuit négatif lorsqu’ lorsqu’un un e distan ce devient devient inférieure inférieure à avec
.
La preuve de cet algorith algorith me est immédiate. En eff effet, à l’issue l’issue de l’algo l’algorith rith me, il suffit de remonter la chaîne des prédécesseurs stockée dans le tableau pred pour obtenir des chemins de
vers tous les autres sommets du graphe uniquement consti-
tu és d’ar d’ar cs vérifian t la condit condit ion ion (3.1) (3.1).. Le théorème (3.2) nous gar an tissa nt que de tels chemins sont sont bien bien des plus co cour ts chemins de
vers les autres sommets.
Sous cette form form e directe, l’ l’algorit algorit hm e de Ford Ford est in forma tiquem ent inexploita inexploita ble. C’est C’est pourqu oi l’o l’on a recour recour s à l’algo l’algorit rit hm e m odifié qui repose su r l’ut l’ut ilisat ilisat ion ion d’un d’un e liste de sommets. Cette dernière contient les sommets dont les distances ont été modifiées et qui sont donc susceptibles de créer créer des a rcs violan violan t la condition ondition (3.1) (3.1).. Algo Algorit rit hm e de Ford modifié
LISTE Tant que LISTE Retirer un sommet
Si ( Alors
de la liste )
pred Si LISTE LISTE LISTE Fin si Fin si
Fin Fin tant que 26
La même rema rque s’impo s’impose se : la convergence nvergence est assu rée quelle quelle que soit soit la poli poli-tique de gestion de la liste. Les performances de cet algorithme sont très intéressantes dan s deux cas pa rt iculiers iculiers :
Gestion File : C’est C’est la forme forme la plus répandue car elle elle permet, moyennant moyennant des astuces algorithmiques non négligeables que nous ne détaillerons pas ici, de détecter les circ circuits uits de coût coût négatif. négatif. Les sommets sont sont retirés dan s l’o l’ordr e où où ils ils sont sont introduits introduits da ns la liste. liste. En prat ique, ique, on on insère insère les les sommets en fin de liste liste pour pour les retirer en tête de liste. liste. Sa complexité mplexité est
.
G e s t i o n D e q u e u e : C’est C’est l’alg l’algo orithme (en pratique !) le plus plus perfo performa nt pour pour résoudre soudre les les probl problèmes èmes de plus plus court chemin dans le cas cas général. général. Si l’o l’on retire toujours les sommets en tête de liste, ils sont insérés en fin de liste lors de leur première insert ion ion et en t ête de liste liste s’il s’ilss doivent doivent être examinés u ne n ouvelle uvelle fois. Il existe existe u ne au tr e var iant e qui u tilise tilise deux listes couplées couplées l’un l’un e à l’au l’au tr e. Très performantes, ces deux implémentations peuvent néammoins avoir un comportement non polynômial polynômial sur des réseau x pat holo hologiques. giques.
27
Ch a p i t r e 4 L e p r o b lè l è m e d e l ’o ’o r d o n n a n c e m e n t 4 .1
I n t ro r o d u c ti ti o n
Soit Soit un projet complexe complexe co composé d’un d’un ensem ble de t âches que l’on l’on souha ite fixer dan s le temps de ma nière à ce que le proje projett se t ermine au plus vite.
4 .2
L e p ro r o b lè lè m e
On suppose le projet composé de durée
tâches numérotées de
à
cha cun e dotée d’un d’un e
supposée connue (la terminologie Anglo-Saxonne est processing time , laquelle
est souvent notée
).
Le problème problème de l’o l’ordonn an cemen t consist e à a ffecter ecter à cha que t âche début
. On suppose que le projet commence à
une date de
.
Divers Divers types de co cont ra intes peu vent vent se greff greffer sur le noyau noyau du r du problème problème :
L e s c o n t r a i n t e s t e m p o r e l le le s
portent sur les dates de début et de fin des tâches
Les contrainte s d’allocation d’allocation de res source s
spécifie spécifient nt qu’un qu’un e ressource ressource critique
(e.g. , la la gru e dans u n chan tier de BTP) ne peut êtr e ut ilisée ilisée par plus d’un d’un certa in nombre de tâches à la fois
L’objectif est de minimiser la durée totale du projet ( makespan en Anglais), c’est c’est -àdire, calculer calculer la date de fin au plus tôt du projet.
4 .1 .1 D é fi n i t i o n ( D a t e d e fi n a u p l u s t ô t ) On appelle date de fin au plus tôt et l’on l’on note projet projet perm etta nt de respecter les co contr aintes.
28
la du rée minima le d’exéc d’exécut ut ion ion du
4 .2 .2 .1 .1
L e s c o n t r a i n t e s te t e m p o r e l le le s ( o u c o n t r a i n t e s d e p o t e n t i e l )
Elles sont sont essentiellement essentiellement de 3 t ypes : 1. La tâche
ne peut commencer avant la date
2. La tâche
ne peut terminer après la date
3. Cont Cont ra intes de précédenc précédence, e, la tâche
dite date de disponibilité :
dite date d’échéance :
ne peut comm encer encer a vant la fin de la tâ che
:
On peut généraliser ces dernières contraintes à une contrainte plus générale de potentiel entre les tâches
et
en introduisant introduisant la quan quan tité
et telle que :
Notons Notons que les notat ions ions et term es Anglais Anglais sont sont les suivan suivan ts : release time deadline
4 .2 .2 .2 .2
L e s c o n t ra r a i n t e s c u m u l a t iv iv e s
Elles permett ent de tr aiter certa ines cont cont ra intes d’allo d’alloccat ion ion de ressources. ressources. Soit Soit une ressource
dont dont la qua nt ité totale disponible disponible pour pour le projet projet à l’insta l’insta nt
es t
. On note l’inst l’inst an t
la quantité de
sachan sachan t que la la
nécessaire à l’acc l’acco omplissemen t d e la t âche
à
.
La cont cont ra inte cumu lative relative à la r essour essour ce
et à l’inst l’inst an t
s’écrit :
Ce genre de contraintes est pénible à traiter car il nécessite de connaître la date de début de chacune des tâ ches ... ce ce qui est le but final du problème. problème. Choisir
et
constants au cours du temps ne simplifie pas énormément le pro-
blème blème car car il est est toujo toujours nécessai nécessaire re de co conna ître les dat es de départ pour pour tra iter la contrainte. 29
4 .2 .2 .3 .3
C o n t ra r a i n t e s d i s jo jo n c t i v e s
Ces contraintes permettent de spécifier que 2 tâches ne peuvent pas avoir lieu en même t emps (par exemple, exemple, les ent ent repreneu rs qui en sont char gés gés ne s’enten s’enten dent pas). La première méthode pour modéliser cette contrainte consiste à utiliser un ou logique sur les deux co cont ra intes de potent potent iel suivant es :
Aussi élégant élégant e soit elle, elle, cett cett e méth ode n ’est guère recevable recevable car car elle elle ent ra îne des difficultés algorithmiques non négligeables. En particulier, le nombre de cas à traiter sépar émen t explose explose lors lors que l’o l’on au gment le nombre de disjonctions. disjonctions. L’au L’au tr e méth ode consiste à intr oduire un e cont ra inte d’allo d’alloccat ion ion de ressource entre ces deux tâches. De tout tout e ma nière, le tr aitement de ces ces co cont ra intes est m alaisé dans le cas cas généra l. Dans la suite de cet exposé, nous ne considérerons que des contraintes de potentiel simples.
4 .3 .3
U n e x e m p l e s im im p l e : le c h a n t i e r
Soit un chantier constitué des tâches suivantes : 1 2 3 4 5
D e s cr i p t i on Te r r a s s e m e n t I n st st aall l a ti t i on d e l a gr ue ue C ou la la ge ge d es es F on da d a t io ion s B r a nc n ch em em een n t é l e ct ri r iq u e G r os os œ u vr v r e d e m a ço çon n e r ie ie
Du r ée 1 0 jou r s 2 jou rs rs 5 jou r s 3 jou rs rs 6 jou r s
Les co cont ra intes de pr écédenc écédencee sont les suivantes : – 1, 2, et et 4 précèdent précèdent 3 – 2 précède 5
4 .2 .2 D é fi n i t i o n ( D a t e a u p l u s t ô t ) On a ppelle ppelle Dat e au plus tôt tôt et on note la tâche . Il est clair que On pose
la date minimum à laquelle laquelle on on peut démar rer
et que
.
.
30
4 .3 .3 D é fi n i t i o n ( D a t e a u p l u s t a rd rd ) On appelle appelle Date au plus tard et on note
la date maximale à laquelle on peut dé-
marrer la tâche tâch e san s ret ar der l’exéc l’exécut ut ion ion du projet projet ou violer violer un e cont cont ra inte. Il est clair qu e
avec
.
4.4 Définition (Marge) La marge d’un d’un e t âche (notée
) est la différence entre les dates au plus tard et au
plus tôt, soit :
4 .5 .5 D é fi n i t i o n ( Or Or d o n n a n c e m e n t a u p l u s t ô t ( ta ta r d )) )) On appelle Ordonnancement au plus tôt (tard) l’ordonn l’ordonn an cemen t du pr ojet ojet corres corres pondant aux dat es au plus plus t ôt (tard). (tard ).
4 .4 .4
R e p ré r é s e n t a ti t i o n d u p r o bl b l è m e d ’o ’o r d o n n a n c e m e n t
Il existe existe t rois rois gran ds modèles modèles pour pour représent er les ordonn ordonn an cements.
4 .4 .4 .1 .1
D i a g ra ra m m e d e Ga n t t
C’est C’est le modèle modèle le plus plus an cien où l’o l’on représent e u ne tâ che par un rectangle dont dont la longueu longueu r r eprésen te la dur ée. L’axe L’axe horizont horizont al repr ésent e le tem ps. Ce Ce graph e n’est n’est d’au d’au cun e u tilité tilité pour optimiser le projet projet car il ne perm et pa s de faire appa ra ître les cont ra intes. En revanche, il est est intéressa nt pour pour suivre le projet projet un e fois fois l’o l’optimisation réalisée. Il est à noter que, bien que ce diagramme soit en 2 dimensions, la dimension dimension verticale verticale ne sert qu’à qu’à séparer les tâ ches car elle elle n’est n’est associée associée à a ucune grandeur du problème.
4 .4 .4 .2 .2
L e m o d è l e P E R T ( P r o g r a m E v a l u a t i o n a n d R e v i e w Te Te c h nique)
C’est C’est u n graph e où où les tâches et les co cont ra intes de précédenc précédencee sont sont représent ées par des arcs. Les sommets correspondent à des instants privilégiés du déroulement du processus processus : les les dat es de début début et de fin de cha cha que t âche. Les arcs représentant les tâches ont pour coût
alors que les arcs de précédence
ont un coût nul. On rajoute deux sommets fictifs représentant respectivement les dates de début et de fin du projet.
31
Tâche Tâc he 2 Tâche Tâc he 4
Tâche Tâ che 3 Tâche Tâ che 5
Tâche Tâc he 1
F I G . 4.1: Diagramme de Gantt associé au problème du chantier
Le «réseau «réseau » PE RT est est t rès proche proche du diagra mme de Gant t m ais permet de modéli modéli-ser les contraintes. Il a été mis au point aux Etats-Unis pour résoudre les problèmes liés à la construction de sous-marins nucléaires.
Tâche 1 Tâche 3
D éb u t
Tâche 2
F in
Tâche 5 Tâche 4
Transitions
F I G . 4.2: Réseau PERT associé au problème du chantier
4 .4 .4 .3 .3
L e m o d è l e P o t e n t i e l -t -t â c h e s
Ici Ici les les tâ ches sont r eprésentées par des sommet sommet s et les ar cs tr ah issent les co cont ra intes de précédence. Ainsi la contrainte sommets
et
et de longueur longueur
précède
est elle symbo symboli lisée sée par u n ar c ent ent re les
.
Le graphe Potentiel Potentiel--tâches est sans doute doute plus plus lourd lourd que le réseau P ERT ma is il permet de modéli modéliser ser plus de cont cont ra intes et de pr endre en compt e des cas cas « tordus »
32
1
10
0 3
3 D
0
5
4
0
F 2
2
5
6
2
éseau Potent otent iel-T iel-T âches associé associé au problèm problèm e du cha nt ier F I G . 4.3: R éseau
4 .5
R é s ol o l u t io io n
Que ce soit soit en ut ilisan ilisan t le modèle modèle PE RT ou le modèle Potent iel-Tâches, iel-Tâches, la solut solut ion ion du problème problème d’o d’ordonnan cement est donn donn ée pa r la r ésolutio ésolution n d’un d’un problème problème de plus long long chemin (donn (donn é par l’algo l’algorit rit hm e de Bellman Bellman n) entr e le début et la fin du projet. En eff effet, si l’o l’on recherche recherche le plus long long chemin, celui-c elui-ci va ut iliser iliser le plus grand nombre de tâches possibles en suivant les arcs les plus longs. Le graph e ne cont cont ient pas de circuit circuit car les co cont ra intes de précédence précédence fo four nissent un ordr e par tiel sur les tâches. On On ut ilisera ilisera donc une form form e ada ptée de l’algo l’algorith rith me de Bellmann pour calculer les plus longs chemins.
4 .6 .6 D é fi n i t i o n ( C h e m i n c r i t i qu qu e ) On appelle chemin critique tout plus long long chemin chemin entr e le début début et la fin du projet. projet.
4.1 Théorème (Résultats sur le graphe Potentiel-tâc hes) Soit Soit u n grap he potent ieliel-tâ ches m odélisan délisan t l’o l’ordonn an cemen t d es tâ ches d’un d’un projet projet complexe. Soit : a )
la longueur longueur du plus long long chemin entr e le début début et la fin du projet. projet.
b)
la longueur longueur du plus long long chemin chemin entre le début début du pr ojet et la tâche .
c)
la longueur longueur du plus long long chemin chemin entr e la tâ che et la fin du projet
Alor Alor s : 1. La dur ée minimale minimale du projet projet est
33
2. 3.
Conséquence perandi pour calculer les différentes grandeurs associées à un Voici le m odus operandi
projet d’o d’ordonn an cemen t : – On calcule
et l’o l’ordonnan cement au plus tôt en résolvant résolvant un problème problème de plus plus
long long chemin chemin sur le graphe potentielpotentiel-tâches tâches à part ir du sommet sommet correspondant rrespondant au début du projet. – On calcule calcule l’o l’ordonn an cemen cemen t a u plus ta rd en résolvant u n pr oblème de plus long long chem in sur le gra gra phe potent iel-tâ iel-tâ ches dont l’o l’on a pr éala blement inver sé les ar cs et à partir du sommet correspondant à la fin du projet.
34
Ch a p i t r e 5 I n t r o d u c t i o n a u x p ro r o b lè lè m e s d e fl o t 5 .1
N o ti ti o n d e ré s e a u
On appelle réseau un graphe sur lequel lequel on va faire transiter u n fl ot . Soit
un graphe orienté avec
de deux grandeurs positives ou nulles,
et
et
. Chaque arc est doté
, respectivement dénommées capacité
minimale et capacité apacité m aximale et telles que :
Chaque n œu d est doté doté d’un d’un e contribution au flot m et
créan t d u flot, c’est c’est à dir e, tel que
. On appelle source tout som-
et puits tout sommet
où le
flot est « consommé ». Un flot sur le réseau
est un vecteur
, indicé sur les arcs, tel que : (5.1) (5.2)
1. La co condit ion ion (5.1) (5.1) spécifie spécifie que le flot flot est borné inférieur inférieur emen t et su périeur emen t par les capacités des arcs. 2. L’équa L’équa tion (5.2), (5.2), qui n ’est pas san s r app eler la prem ière loi de Kirchof Kirchofff (o (ou loi loi des nœuds) en électricité, traduit la conservation du flot en chaque sommet du réseau. En eff effet, de faço façon n plus littéra littéra ire, ire, on on peut la tr aduire par la phra se suivant e : La quantité de fl ot sortant sortant d ’un som som m et m oins la quantité de flot entrant dans le même sommet est égale à la contribution de ce sommet.
35
Bien entendu, pour que le problème ait une solution, la somme des contributions doit doit êt re égale à 0, soit :
Exprimé ainsi, on voit immédiatement que les problèmes de flot permettent de modéliser directemen t les problèmes problèmes r éels d’éc d’éco oulemen t d’un d’un liquide dans u n ensem ble de canalisations (le flot est alors le débit de liquide dans chaque tuyau) ou de circulation du cour cour an t électr électr ique dan s un résea u, le flot flot ét an t ici égal à l’int l’int ensit é de coura coura nt passant dans un fil. La figure suivante illustre un réseau et un flot réalisable sur celui-ci. Les triplets figurant au dessus des arcs sont de la forme
.
(0,2,1) (1,2,2)
(0,2,2) (1,4,3)
+4
(2,2,2)
(0,1,1)
-4
(2,3,2)
(2,3,2) (0,4,3) F I G . 5.1: Exemple de réseau portant un flot
5 .2 .2
L e s s i m p li l i fi c a t io i o n s d u p r ob o b lè lè m e
Plusieurs amén agements d’un d’un réseau de flot flot quelco quelconque perm etten t de simplifier simplifier le traitement algorithmique du problème. Nous allons en considérer quelques unes. De plu s a mples in forma tions sont disponibles disponibles da ns [2], [2], [4] [4],, [3] [3] ou ou [1]. 1].
36
5 .2 .2 .1 .1
T r a v a il i l le le r av av e c u n e s e u l e s o u r c e e t u n s e u l p u i t s
Il est possibl possiblee de n e t ra vailler vailler qu’avec qu’avec une seule sour sour ce et un seul puit s. Ainsi, Ainsi, il est inu tile de gar gar der en mémoire mémoire la liste des cont cont ributions des sommet sommet s en dehors dehors de celles de la source et du puits. et appelé super source ou tout simplement source. E n -
On crée un sommet noté suite, pour pour cha que sommet male
tel que
, on on a joute u n arc
de capacité maxi-
et le tour est joué. joué. Fina lement, on pose pose
Récipro Réciproquement quement , on crée u n sommet sommet
.
(le puits ) et une collection d’arcs
cha que sommet de cont cont ribut ion ion négat ive et l’o l’on pose
pour
.
La figure su ivan ivan te montre commen commen t appliquer appliquer ce principe principe sur u n exemple exemple simple. simple.
(2)
(2) (2)
+3
(2) -1
(2)
(1)
(2)
+5
(2)
(1) -5
(2)
+2
-4 (2)
(1)
(3)
(2)
(3)
(4) (2)
(3)
F I G . 5.2: Exem ple de suppression suppression de source sources et puits m ultiples
5 .2 .2 .2 .2
E l im i m i n e r l e s a r c s a v e c d e s c a p a c i t é s m i n i m a l e s n o n n u l le le s
L’ut L’ut ilisatio ilisation n de capacités capacités minima les entr aîne des lour lour deurs algorith algorith miques n on néglige négligeables. ables. Aussi, il peut être judicieux judicieux de les éliminer éliminer a vant le tr aitement du problème. blème. Insistons néan moins moins sur le fait fait que le pr océdé que n ous allons allons explic expliciter iter peut conduir e à un graph e si gra nd qu’il qu’il n’en n’en justifie plus l’intérêt l’intérêt . Aussi, on on pour pour ra se reporter à [1] pour les techniques permettant de traiter directement les réseaux à capa cités minima les non nu lles. lles. On peut considérer un arc capacité supérieure de contribution
de capacité inférieure
reliant un puits de contribution . 37
comme un arc de à une source source
En eff effet, on on r emplace emplace la co cont ra inte de pa ssage d’un d’un minimum de flot flot sur cet a rc par la dispar ition ition de la même quan tité de flot flot en entr ée et sa r estitut ion ion en bout bout d’ar d’ar c. La deu xième xième par tie de l’o l’opérat ion ion consiste à éliminer éliminer le nouveau nouveau puits et la nouvelle velle sour sour ce ains i crées crées pa r l’opérat l’opérat ion ion pr écédent écédent e. Cett e techniqu e est illust rée su r la figure suivant e :
(3)
(2)
-1
(3)
Etape 1 :
(2)
Ajout d’une
+2
(1, 2)
-2
(2)
source et d’un puits
+2
(4)
(1) (2)
-2
+1
(4)
Etape 2 : suppression de la source et du puits excédentaires
(1) (3) (2)
+3
(2) (2)
(1) (2)
-3
(4) (1)
ppression n des arcs de capacité capacité inférie inférieure n on nu lle F I G . 5.3: Exem ple de su ppressio
5 .2 .2 .3 .3
C a s d e s c a p a c it it é s s u r l e s s o m m e t s
Dan s certa ins m odèles de situ at ions ions réelles, il est possible possible d’avoi d’avoirr des capa cités su r les somm somm ets. Par exemple exemple,, dans u n nœ ud de répar tition tition E DF, DF, les les équipement équipement s de rectification de la tension n e peuvent absorber plus d’un d’un e ccert ert ain e quan tit é d’élec d’électr tr icité. icité. Ceci Ceci peut se modéliser modéliser par la cont cont ra inte suivant e :
où
est la capacité capacité maximale du sommet sommet
.
Afin de ne pas r ajouter ajouter cette contr ainte dans le système, système, on on la remplace remplace par une cont ra inte de capacité capacité sur un ar c en dédoublant dédoublant le sommet sommet l’arc
de capacité
. 38
en
et
et en ajoutant
5 .3 .3 5 .3 .3 .1 .1
Q u e l q u e s p r o bl b l è m e s d e fl o t c l a s si si q u e s L e p ro r o b lè lè m e d e fl o t m a x i m a l
De tous les problèmes de flot flot dan s les réseau x, le problème problème du flot maximal (ou fl ot pour les int int imes) est a ssur ément le plus plus simple. m ax pour Il co consiste à tenter de faire faire circ circuler uler su r le réseau réseau la plus grande qua ntité de flot flot possible. Pour ceci, on fixe arbitrairement la contribution de la source à altern at ive ive cco onsiste à supprimer les co cont ributions des sommets
et
. Une
et à r ajouter ajouter un
retour . de capacité capacité infinie et appelé arc d e retour
arc
valeur d u flot et l’o On appelle valeur l’on n ote ha bituellemen t
la somme du flot sortant de
la source (ou entrant au puits). Soit donc:
5 .3 .3 .2 .2
L e p ro r o b lè lè m e d u fl o t d e c o û t m i n i m u m
Ici, Ici, cha cha que a rc est mu ni d’un d’un coût blème consiste à trouver un flot
dit di t coût unitaire par unité de flot et le pro-
sur le réseau tel que le coût du flot :
soit soit m inimal. Le plus souvent, souvent, nous nous serons serons à la r echerc echerche he d’un d’un flot flot maximal à coût minimal. Les Les algo algorithmes les les plus perfo performa nts tra vaill vaillent ent alors alors en deux temps. D’une D’une part , la recherche du flot maximal permet de fixer sa valeur. Il est alors possible, soit de rechercher ex nihilo un nouveau flot de coût minimal, soit de modifier le flot obtenu précédemment afin de le rendre minimal. portan ce cruciale en recherche Ce pr oblème oblème est d’un d’un e im portan recherche opérat ionn ionn elle. elle. En eff effet,
comme nous le verrons plus tard, il sert à modéliser de nombreux cas concrets. Longtemps considéré comme un problème problème diffic difficile, ile, la démonstr at ion ion de sa poly polynomiali nomialité té par Edmonds et Karp ouvrit en son temps de nouveaux horizons en recherche opérationnelle.
39
5 .4 .4
Q u e l q u e s te t e c h n i q u e s u t i li li s é e s s u r l e s r é s e a u x
5 .4 .4 .1 .1
L e g r a p h e d ’é ’é c a r t
Lorsque Lorsque l’o l’on tr availle availle sur les flots, flots, il est souvent souvent intéressa nt d’ut d’ut iliser iliser un graph e spécial, spécial, dérivé dérivé du graph e initial, nommé graphe d’écart et noté Soit
un arc de
port port an t le flot flot
.
de capacités minimale et maximale respectives
et
et
. Il est alors possible soit soit :
– d’ajout d’ajout er en cor cor e jus jus qu’à qu’à – de retirer jusqu’à jusqu’à
un ités de flot flot depu is un ités de flot flot depuis
l’ajo l’ajout ut d’au d’au ta nt d’un d’un ités de flot flot depuis Le graph e d’éc d’écar ar t
vers .
vers , ce qui peut ête vu comme
vers .
va donc proposer deux arcs mettant en avant ces deux
possibilités : de capacité résiduelle de capacité résiduelle
ar c direct direct de ar c opposé opposé de
En outre, seuls les arcs de capacité résiduelle non nulle sont présents dans le gra phe d’éc d’écar ar t. Notez le cas intéressant où qu e
. Nécessairement, tout flot compatible est tel
. Alo Alors, le gra phe d’éc d’écar ar t ne cont ient ni l’ar l’ar c
, n i l’ar l’ar c
ca r
ils ils ont tous deux un e capacité capacité r ésiduelle ésiduelle nulle. nulle.
5 .4 .4 .2 .2
La n o t i o n d e c o u p e
On appelle coupe la part itio ition de l’ensemb l’ensemble le des nœ uds d’un d’un réseau en deux ensembles notés et
et
. Une telle coupe est notée
et devient devient un e st -coupe si
. Deux Deux ens embles d’ar d’ar cs sont sont à ét udier en pa rt iculier iculier : et et On définit la capacité de la st-coupe
, et l’on note
5.1 Définition (Coupe minimum) On appelle coupe minimum , la s t-co t-coupe de capacité minim ale.
40
, la quan tité :
5.1 Théorème (Théorème flot-max / coupe-min) La valeur maximale du flot pouvant circuler sur un réseau est égale à la capacité de la coupe coupe m inimum.
Cette notion notion sera étudiée plus en détails lors lors de la pr ésenta tion tion de l’algo l’algorith rith me de Ford Ford et Fu lkerson lkerson pour la recherche recherche du flot flot ma x.
5 .5
Q u e l qu q u e s e x e m p le l e s d e p r o bl b l è m e s m o d é li l i s ab a b le le s par les flots
Tous les problèmes problèmes qui met tent en jeu un flux ph ysique ysique de m at ière, ière, d’éle d’élecctr icité icité ou d’inf d’info orma tion tion se modéli modélisent sent na tu rellement rellement par les flots. flots. Tout efo efois, il est d’au d’au tr es cat égories égories de problèmes problèmes qui les mett ent en jeu jeu de man ière moins moins tr iviale iviale..
5 .5 .5 .1 .1
P r o b lè l è m e s f a is i s a n t in i n t e r v e n i r l e fl o t m a x im im a l
L e p r o bl bl è m e d e s r e p r é s e n t a n t s Soit une entreprise comptant dans
corps de métiers et
employés
,
,
,
. Ceux-ci sont répartis
cat égories égories socio socio--professio professionn nn elles elles ; un employé employé pouvant
appartenir à plusieurs corps de métiers mais à une et une seule catégorie socioprofessionnelle. Lors Lors des électio élections ns des repr ésenta nt s du personnel (modè (modèle le grand-breton), grand-breton), cha cha que corps de métier doit désigner 1 représentant pour le bureau sachant que chaque caté gor gor ie socio socio-prof -professionn essionn elle
ne peut avoir plus de
membres siégeant.
La quest ion ion qu e l’o l’on va r ésoudr ésoudr e en u tilisan tilisan t u n flot flot m aximal est la su ivan ivan te : Existe-t-i Existe-t-ill un burea u compa tible avec ces cont cont ra intes ? Pour répondre à cette (légitime) interrogation, on va utiliser le graphe suivant. On ass ocie cie à cha que corps corps de mét ier
un sommet
et un arc
de capacité maximale
1 représentant le fait que chaque corps de métier désigne 1 représentant. A l’au l’au tr e bout bout du gra phe, cha que catégorie catégorie s ocio-pro io-proffessionn essionn elle sentée par un sommet maximale
au quel on on associe associe immédiatement l’ar l’ar c
se voit repréde capacité
, n ombre ma xima xima l de m embres de la cat égo égorie pr ofessionn essionn elle elle a ut orisés
à siéger siéger au bur eau. 41
Fina lement cha que employé employé
est modélisé par le sommet correspondant
. L’ap-
par tena nce d’un d’un employé employé à ses co corps de métier est représent ée par des arcs du type de capacité maximale 1, alors que son appartenance à une catégorie socioprofessionnelle est trahie par un arc unique du type
.
Le burea u est réalisable s’il s’il existe existe un flot flot de valeur ainsi constitué, ce qui implique que
compatible avec le réseau
. Un tel flot, s’il s’il existe existe,, pourr pourr a être
obtenu en résolvant un problème de flot maximum sur le réseau, car
est un e borne borne
max pour la valeur du flot. La figure suivante illustre un réseau modélisant ce problème de représentation.
e 1 1
c 1 1
s
1
1
1 e 2
1
c 2
1
1
p
e 3
1 c 3
1 1
u
1
1
1
t p 2
u
2
e 4 1 1
e
5
F I G . 5.4: Modélisation Modélisation d u problè problèm m e des des représe représenta nta nts d ans un rése réseau au
Le problème de l’arrondi l’arrondi coh éren t Soit et
une
ma tr ice ice de n ombres réels. On note r espectivement espectivement les sommes des éléments sur les lignes et les colonnes.
Le but de ce problème problème est d’ar d’ar rondir cha cun des nombres s tocké tocké dan s la ma tr ice ice de manière à ce que, pour chaque ligne et pour chaque colonne, la somme des nombres ar rondis soit soit l’ar l’ar rondi de la somme. En d’au d’au tr es ter mes, et s i l’on note 42
l’arrondi du
nombre , on doit avoir :
Cont Cont ra irement à de nombreuses applicat applicat ions ions où l’ar l’ar rondi est imposé imposé à l’entier l’entier le plus proche, ici
est choisi choisi librement librement pa rm i
et
.
Il est possible possible de modéliser modéliser ce pr oblème tr ès facilement facilement à l’aide l’aide d’un d’un résea u. Il suffit de considérer, en plus des sommets et
et , deux ensembles de sommets
modélisant respectivement les lignes et les colonnes de la matrice. Chaque sommet
est ainsi associé à la i èm e ligne de la matrice. Les arcs
ont pour capacités le couple associé à la j èm e colonne de
. Réciproquement, chaque sommet , les arcs
ont pour capacités
étant .
Reste à modéliser modéliser cha cha cun des élément élément s de la mat rice rice par un ar c reliant sa ligne ligne et sa colonne. colonne. Ains i, l’élémen l’élémen t
est repr ésenté par l’ar l’ar c
de capacités
.
D’o D’ordin air e, il il existe existe plu sieur s solutions à ce problème, problème, cha cha cun e ét an t ass ociée à u n flot compatible sur ce réseau. Toutefois, le flot max est associé à la solution utilisant le plus de valeurs supérieures alors que le flot min est associé à la solution utilisant le plus de valeurs inférieures. inférieures. La figure suivant e illust illust re ce modèle modèle sur un exemple exemple simple. simple.
Donn Donn ées de la ma tr ice ice :
Sommes des lignes :
Sommes des colonnes :
problèm e de l’arrond l’arrond i cohérent cohérent d ’un e m atrice par un réseau réseau F I G . 5.5: Mod élisation du problèm
43
5 .5 .5 .2 .2
Ap p l i c a t i o n d u p ro ro b l è m e d e fl o t d e c o û t m i n i m a l
Problème de transport simple Soit
sites de fabricat fabricat ion ion
consommation
de
produits
. Cha que couple couple
sites de
est car actér isé par la capacité de production production
. Réciproquemen Réciproquemen t, cha que couple couple sur le site
devan devan t êtr e acheminés vers vers
est mun i de la demande
. Fina lement, chaque couple
en pr oduit
est d éfini par le co coût d’achem d’achem inemen t
d’un d’un produit d epuis son sit e de fabr fabr icat icat ion ion vers le lieu de co consomm at ion ion ain si que pa r
et
, qua qua nt ités respectives respectives minimales et ma ximales ximales et par produit devan devan t êtr e
délivrées délivrées d’un d’un site à l’au l’au tr e. Ces Ces qu an tités modéli modélisent sent des cont cont ra intes qui peuvent être du type contractuel (pour les limites inférieures) ou bien refléter la saturation des lignes de transport. Ce problème ultra classique se modélise aisément comme un problème de flot de coût minimum par le réseau suivant.
1. Tout d’abord, d’abord, chaque site de fabrication abrication
est représenté par une source de
cont ribut ion ion :
2. A l’aut re bout bout du réseau, chaque chaque site de co consommat nsommat ion ion est r eprésenté eprésenté par un puits de contribution :
3. Les produits produits sont, qua nd-à-eux, nd-à-eux, représentés par deux ensembles de de somm somm ets : – Le premier modéli modélise se les a ssoc ssociations iations fabricant/produit. abricant/produit. Cha que sommet est relié au sommet
si et seulement si il fabrique le produit
capacité de ces arcs est fixée à produit
. La
, capacité maximale de fabrication du
pa r .
– Le second modélise les associations consommateur/produit. Chaque somm et
est r elié elié aux sommet sommet s
des a rcs de capacité capacité
ass ociés au x pr oduit s qu ’il co consomm e pa r
.
Finalement Finalement les les a rcs rcs de tra nsport nsport relient relient les les sommets sommets même pr oduit
. Leurs capa cités sont
44
et
aux sommets sommets
alors que leur coût est fixé à
de .
La r echerche echerche du flot ma xima xima l à co coût minimal su r ce réseau gar an tit l’o l’optimalité de la solution. Il suffit alors de suivre les chaînes de flot pour retracer le trajet des marchandises. La figure su ivan ivan te m ont re u n cas à tr ois fabric fabrican an ts, deux produits produits et deux co consommateurs. Il est à noter que la taille du graphe peut devenir très importante avec le nombre d’acteu d’acteu rs mis en jeu.
f 11
fp 11
f 12
fp 12
f 1 d
cp 11
d f 21
fp 21
cp 12
fp 22
cp 21
11
12
c 1
f 2 f 22
d
d f 31
fp 31
cp 22
21 c 22
2
f 3 f 32
fp 32
(
2 2 2 l , u , c 32 32 32
)
F I G . 5.6: Modélisation du problème de transport simple par un réseau
5 .6 .6
L ’a l g o r i t h m e d e F o rd rd & F u l k e r s o n
L’algo L’algorith rith me de Ford Ford & Fu lkerson lkerson est le premier à avoir avoir été spécialement spécialement conçu pour la résolution du problème de flot maximal. De nombreuses variantes destinées à accroître ses performances ont depuis vu le jour. Bien que les algorithmes de type Preflow Push dûs à Ka rza nov lui soient soient t rès su périeur s en perform perform an ces, l’algo l’algorit rit hm e
de Ford Ford & Fulkerson est un e base t héorique héorique indiscut indiscut able.
45
5 .6 .6 .1 .1
C a p a c i té t é ré r é s i d u e l le l e d a n s le le c a s g é n é r a l
Dan s le cas simple où l’o l’on exclue exclue le fait qu e les a rcs simulta nément , la capa cité r ésiduelle ésiduelle de l’ar l’ar c
et
soient présents
s’écrit :
Dans le cas général, on peut étendre cette définition en prenant en compte la valeur du flot flot pas san t sur l’ar l’ar c opposé, opposé, soit soit :
En effet, il est toujours possible de «gagner» du flot dans le sens le flot flot p résen t su r l’ar l’ar c
5 .6 .6 .2 .2
.
Démo nstration du théorème Flot max / Coupe min
La capacité résiduelle
Soit
en retirant
d’une st-coupe
s’écrit :
la valeur du flot. flot. Metta nt à profit la notion notion de coupe, coupe, nous pouvo pouvons ns l’éc l’écrire rire
ainsi:
Soie Soient nt maintenan t 2 sommets sommets
et
appartenant tous deux à
simplifier simplifier l’expressi l’expressio on précédente précédente en rema rqua nt que deux côtés du signe somme somme porta porta nt sur
et
, une fois lors de la somme portant sur .
Aussi, l’o l’on peut réécrire
:
où l’on l’on n oter a : Flot avant de la coupe Flot arrière de la coupe
46
. Il est possible de vont apparaître des
et une fois lors de la
La valeur du flot flot
est donc égale au flot net de la coupe
.
On a :
et comme :
alors :
On obtient donc donc que la valeur du flot flot est inférieure inférieure ou égale à la capa cité de toute st-co st-coupe du résea u. Pa r exten sion, sion, si l’o l’on découvre découvre u n flot flot d e valeur égale à la capa cité d’un d’un e coupe, a lors lors : 1. Le flot est maximal 2. La coupe coupe est de capa capa cité minimale
5 .6 .6 .3 .3
Au g m e n t a ti t i o n m a x i m a le le d u fl o t
Connaissant une valeur de flot quelle valeur
et considérant une st-coupe quelconque
peut-on peut-on enco encore espérer au gmenter
Supposons donc qu’il existe un flot
de valeur
, de
? . Par la relat ion ion précédente, précédente,
l’on a :
pour toute st-coupe
.
Or, Or, nous nous avons avons vu da ns la démonst démonst ra tion tion précédente précédente que la coup coup e, soit :
47
est égal égal au flot flot net dan s
qui est a ussi égal à :
d’où :
soit :
où en core core :
Soit Soit fina lement :
Or, comm comm e un flot flot est u ne qu an tit é positive, positive, l’o l’on en déduit donc que l’au l’au gment at ion ion maximale est bornée par la capacité résiduelle de la coupe.
48
5 .6 .6 .4 .4
F o rm r m e n a ï v e d e l ’a ’a l g o r it i t h m e d e F o rd rd & F u l k e r s o n
Cette form form e est intér essant e car elle est facil facilee à appliquer ma nu ellement. ellement. Algorithme de Ford & Fulkerson sous forme manuelle Faire sur tous les arcs du réseau Calculer Calculer le r éseau résiduel Tan t qu’il qu’il existe existe u n chem in depuis vers Calculer Pour Pour chaque a rc
de
su r
: sur l’arc direct sur l’arc opposé
Supprimer Fin Pour Fin Tant Tant que
5 .6 .6 .5 .5
si
U n e i m p lé l é m e n t a ti t i o n p o s s i b le l e d e l ’a ’a l g o ri ri t h m e d e F o r d & Fulkerson
Voici ici l’algo l’algorit rit hm e t el qu ’on le program me ha bituellemen t : Algorithme de Ford & Fulkerson sous forme programmable Marquer Faire sur tous les arcs du réseau Calculer Calculer le r éseau résiduel Tant que est ma rqué : Supprimer les marques de tous les sommets pred marquer et faire Liste Tant que Liste et non marqué Retirer un sommet de la liste tel que non marqué marquer pred Liste Liste F in Fin Tant Tant Que Si est est marqué Augment er le flot flot sur le chemin chemin de à contenu dans pred Mettre à jour Fin Si Fin Tant que 49
L’algo L’algorit rit hm e se term ine lorsqu lorsqu e l’on l’on ne peut pas m ar quer le somm somm et . Soit donc l’ensemble l’ensemble des nœu ds m ar qués. On pose pose tout na tu rellement rellement :
.
Par construction : donc,
est un e st-co st-coupe. Si l’o l’on n’a n’a pas pu ma rquer
rithme n e peut plus marquer de sommets sommets de tel que
depuis
cela signifie que l’algo-
. On en dédu it donc que que :
et
or, par défin ition du gra phe d’éc d’écar ar t :
En out re, pa r défin ition ition d ’un flot flot : donc
est donc donc un e somme n ulle de term es positif positifss ou n uls, ce ce qui signifie immédiatement que les deux deux ter mes sont nu ls ! Donc Donc :
or :
en appliquant
et comme
:
, on on obtient finalement :
On est donc dans u ne situa tion tion où le flot flot est égal à la capacité capacité de la coupe. coupe. Ce qui veut dire que nous sommes da ns le cas cas flot m ax/c ax/coupe min. On a donc donc réussi ! Ce qui nous nous condu condu it a u t héorème suivant :
5.2 5.2 Théorèm e (Condition (Condition d’optimalité d’optimalité d’un d’un fl ot max imal) Le flot
est m aximal sur le résea u
contient pas de chemin depuis
si et seulement seulement si le réseau réseau ré rési siduel duel
vers .
50
n e
En eff effet, s’il s’il exi exista sta it u n tel chemin, chemin, ce serait u n chemin au gmenta nt sur lequel lequel on on pourrait pousser du flot. Récipro Réciproquement quement , supposons supposons que
ne cont ienne pas de chemin. L’ensemble L’ensemble
des sommés m ar qués pa r l’algo l’algorith rith me de Ford Ford & Fu lkerson lkerson forme un e st -coupe dont dont la capacité est égale au flot, d’où l’optimalité.
5 .6 .6 .6 .6
U n e a m é l i o ra ra t i o n p o s s i b l e
Il est possible possible d’am d’am eliorer eliorer significat significat ivement les per forma nces de l’algo l’algorit rit hm e de Ford & Fulkerson en mettant à profit une idée de Edmonds & Karp :
Plutôt Plutôt que de chois choisir ir un chemin augm entan t au hasard, il faut systém systém atiquem atiquem ent consid érer rer le plu s court court chem in de
vers
au sens d u nom bre d’arcs d’arcs dans le chem chem in.
Cette Cette modifi modificcation ation garant it la t erminaison erminaison de l’alg l’algo orithme sur tout tout réseau non non dégénéré !
51
Ch a p i t r e 6 L e p r o b lè l è m e d e s a r br bre s c o u v r a n t s de poids minimal 6 .1
D é fi n it i t io io n s
6.1 Définition (Arbre Couvrant) Soit
un graphe non orienté mun i d’un d’un e foncti fonctio on
de valua tio n sur les arcs. On
appelle Arbre Couvrant tout sous graphe connexe et sans cycle qui recouvre tous les sommets. Le coût coût d’un d’un tel a rbre est :
Par définition définition des arbr es, un Arbre Couvra Couvra nt est composé composé de
arcs.
6.2 Définition (Arbre Couvrant de Poids Minimal) On appelle Arbre Arbre Couvra Couvra nt de Poids Minima Minima l (souvent (souvent abr égé ACM) ACM) l’ar l’ar bre couvra couvra nt qui minimise la somme des coûts des arcs qui le constituent.
Par exemple, exemple, l’ l’ar bre des plus cour ts chemins depuis un sommet sommet
vers tous les
aut res sommets sommets constitue u n arbre co couvrant sur un graphe orienté. orienté. Il est néan moins moins import import an t de bien diff différencier érencier les deux pr oblèmes. blèmes. Les élément élément s suivant s peuvent vous vous y aider : 1. Le problème de plus courts chemins est le plus souvent traité sur un graphe orienté alors alors qu e la n otion tion d’ar d’ar bre de recouvrement recouvrement s est fonda fonda ment alement non orientée. Vous retiendrez qie rechercher les plus courts chemins est une opération plus compliquée compliquée et plus coût coût euse que la mise en évidence évidence d’un d’un ACM. ACM. 52
2. Les deux problèmes problèmes t ra vaillent vaillent avec des fonctio fonctions ns objec bjectif tif diff différent es. Dans le cas des plus courts chemins. On recherche un chemin de longueur minimale pour chaque couple
. Alors Alors que d an s le cadr e de l’AC l’ACM M on m inimise
le co coût total de l’ar l’ar bre (en ta nt que somme des longueur longueur s de ses a rêtes) ce ce qui n’est n’est absolumen t p as la m ême chose !
6 .2 .2
Ap p l i c a t io i o n s d e s AC M
6 .2 .2 .1 .1
L e s p r o b lè l è m e s d e c o n c e p t i o n d ’a ’a r c h i t e c t u r e s
C’est C’est un e vaste famille famille de problè problèmes mes met ta nt en jeu des inter actions actions entr e divers divers composan omposan ts d’un d’un systèm e où l’on l’on désire pr oposer un service service ou ou ass ur er des comm comm un icat ions ions au moindre coût coût . Il est importa nt de voir voir que l’o l’on s e place ic ici du point de vue du concepteu r et n on p oint de celui celui de l’ut l’ut ilisat ilisat eur. Le plus souvent cette famille revient à connecter physiquement les composants en suppr iman t les redonda redonda nces pour pour avoir avoir un système le plus plus simple possibl possiblee : un ar bre.
1. Const Const ru ction tion d’au d’au torout torout es pour relier relier des gra ndes vill villes es avec le le plus faible kikilométrage total. Ici, la dualité entre le point de vue du constructeur et celui de l’ut l’ut ilisat ilisat eur est la plus fort fort e. En effe effet, t, ce qui int éresse l’ut l’ut ilisat ilisat eur c’est de pouvoir pouvoir se r endr e depuis s on p oint d’entr d’entr ée sur le réseau vers cha cun e de ses destinat ions ions et ce, ce, le plus plus r apidement possible. possible. Le sous gr aph e qui l’int l’int éresse est donc donc l’ar l’ar borescence borescence enra cinée cinée sur son point d’entrée. A l’aut l’aut re bout bout de la chaîne, le conc concepteur epteur du réseau veut veut minimiser minimiser ses frais d’inst d’inst allat ion ion et donc constr constr uir e le rés eau qui per met d’ass d’ass ur er le ser vice vice (c’ (c’est à ) dire l’int l’int erconn erconn exio exion ent re t out es les villes) villes) ma is dont dont la longueu longueu r t ota le soit soit minimale. Il choisit donc l’ACM. 2. La const ru ction tion d’un d’un réseau de téléco télécommu nicat nicat ion ion entr e les divers divers ét ablisseablissement s d’un d’un e ent reprise ; cha cha que site éta nt équipé de so son propre sous sous réseau , il suffit ici de créer créer un ar bre relian t l’ensem l’ensem ble des sites. sites. 3. Créer Créer un réseau d’o d’ordinateurs avec des lignes lignes à hau te capacité apacité genre genre Liaiso Liaison n Spéciali Spécialisée sée à H au t Débit. Débit.
53
4. L’AC L’ACM M se r évèle évèle le meilleur meilleur compr compr omis pour pour const ru ire les circuit circuit s électriques à ha ut e fréquence : (a) Il est importa importa nt de réduire la longueur longueur totale totale du circuit ircuit afin d’év d’éviter iter les eff effets d’indu d’indu ction ction de ligne à ret ar d et de par asit age (b) Tous les composant doivent néanmoins être connectés.
6 .2 .2 .2 .2
L e p ro r o b lè l è m e d e s a g e n t s s e c re re t s
Soit Soit u n groupe groupe d’agents d’agents secrets secrets infiltrés da ns un pays à sur veil veiller ler.. On const const ru it un graphe où les agents secrets sont les nœuds et les arcs représentent un couple d’agents d’agents secrets qui se co conn aissent et peuvent donc donc se tran smett re u n message. Le but but est d’éta d’éta blir blir un moyen moyen de passer un messa ge ent re t ous les agent s secret secret s en min imisan t le r isque de voir voir celuicelui-cci passer à l’enn l’enn emi. Pour Pour On n ote
la probabilité
de voir voir pa sser le messa ge à l’ennemi l’ennemi lors lors de la t ra nsm issio ission entr e l’agent l’agent
et l’agent
. On cherche donc à minimiser :
Cett e fo form ule n’éta n’éta nt pas dir ectem ectem ent u tilisable, on doit tra nsform nsform er ce produit en somme. Pour ceci, nous passons au logarithme. Ainsi :
devient :
soit en core core :
Le problème problème se résum e donc donc à rechercher u n a rbr e de recouvrem recouvrem ent de poids poids maxima l apr ès passage au log log des poids poids sur les arcs.
Regrouper des données en amas Il s’agit s’agit ici de résoudr résoudr e u n problème problème de classific classificat ion ion de données t rès cour an t en an alyse de données. L’un L’un des secteur s d’activité d’activité le plus frian d de ce type de problème est a ssur ément celui de la la m édecine. édecine. 54
En eff effet, co considéro nsidérons ns un ensemble ensemble de patients présentant tous la même ma ladie ladie (pour le moment inconnue) mais avec des examents cliniques différents. Le but est de regroupe regrouperr les patients en paquets afin de ratt acher acher leur leur syndrôme syndrôme à quelque chose de «connu». La méthodologie retenue consiste à créer un graphe complet où les patients sont les les sommets et les les a rcs rcs sont valués valués confo conformément rmément à une distan distan ce qui peut être, par exemple, le nombre de critères diff différen ts ou bien en core des fonctions fonctions de pondér at ion ion sur cha cun des critères critères cliniques cliniques reten us. On peut définir des amas en créant un ACM puis en coupant les arcs de plus fort coût. Le plus compliqué est de savoir à partir de quelle limite de coût on ne doit plus ret enir d’ar d’ar cs. cs. Nous Nous verr ons qu e l’algo l’algorit rit hm e de Krusk al est le mieux a dap té pour pour cet exemple.
6 .3 .3
L e s c o n d i t i o n s d ’o ’o p t i m a l i t é d ’u ’u n AC ACM
Il y a deux conditio conditions ns d’o d’optimalité ptimalité pa rfaitement rfaitement duales et amenan t chacune un algorithme de résolution du problème. La première porte sur les coupes, la seconde sur les chemins. chemins.
6 .3 .3 .1 .1
L a c o n d i t io i o n d ’o ’o p t i m a l i té té d e c o u p e s
En prélimina ire, il est importa nt de préciser préciser qu e l’o l’on en ten d ici par coupe associée associée à un sous graphe
de
un couple
sans arête entre
et
.
6.1 6.1 Théorèm e (Condition (Condition d’optimalité d’optimalité de cou pes d’un d’un ACM) ACM) Soit
u un n arbre de co c ou uve vertur rtu r e du grap graphe he .
est un ACM si et seulement si: formée en retiran t
d e
.
La condition est néce ssaire Sup posons posons qu’il qu’il existe existe un ar c
tel que
Form Form ons alors l’ar l’ar bre arbre
.
. Si nous appelons appelons
, nous avons :
55
le coût d’un
S S
T* i
j
l k
F I G . 6.1: Illustration de la coupe pour l’ACM
or comme laquelle
, il en suit que
ce qui cont cont redit l’hypothèse l’hypothèse selon selon
était optimal.
L a c o n d i t io io n e s t é g a l e m e n t s u f fi s a n t e En effet, soit qu e
un arbre satisfaisant la condition précédente et
. Soit Soit alors
Si l’o l’on sup prim e
un arc de de de
Ajoutons ma intenant cet a rc contient nécessairement un arc Or :
un ACM tel
.
, on crée une coupe dans
telle que
et
.
. Il va a lors lors y a voir voir créat ion ion d’un d’un cycle ycle qui
avec
et
Vérifie la cond cond ition d’optim d’optim alit é, d’où d’où : Est optimal, d’où :
56
.
on en déduit immédiatement que dans
san s altérer la propriété. En out re,
ce processus jusqu’à ce que
6 .3 .3 .2 .2
. On peu t donc donc remplacer et
pa r
ont un ar c commu n de plus. Itérer
conclut la démonstration.
L a c o n d i t io i o n d ’o ’o p t i m a l i té té d e c h e m i n
6.2 6.2 Théorèm e (Condition (Condition d’optimalité d’optimalité de ch em ins d’un d’un ACM) ACM) Un arbr e de reco recouvrement
est un ACM de pour pour tout a rc
si et et seulement seu lement si : du chemin qui connecte à d a n s
.
La condition est néce ssaire En effet, si
, alors le remplacement de
pa r
perm et d’o d’obten ir un
meilleur ar bre ce qui cont cont redit l’hypothèse l’hypothèse d’o d’optim alité.
La condition est suffisante La pr euve de suffisan ce de cette condit condit ion ion ut ilise ilise la condit condit ion ion sur les co coupes, ce qui permet de mettre en évidence la connection forte entre ces deux notions. Soit
un arbre satisfaisant la condition et
Supprimons le, on crée alors une coupe Soit l’arc
appartenant à
un arc quelconque de cet arbre.
avec
et
.
mais n’appart n’appart enant pas à
. Comme
es t
un arbre : 1. Il exis existe te une chemin un ique ique dan s 2.
était le sul ar c jo joigna igna nt
On en déduit que
à
permettan t de joindre joindre et appartenant à
appartient au chemin joignant
vérifie la condition on en déduit que
à
. à
dans
. et comme
.
Comm Comm e n ous n’avons n’avons posé au cun e condit condit ion ion par ticulière sur le choix choix de l’ar l’ar c ce r aisonn aisonn ement s’applique s’applique à chaque ar c de condition ondition de coupe coupe : il il est donc opt opt imal !
57
. On en déduit donc que
,
vérifie la
6 .4 .4 6 .4 .4 .1 .1
L e s a l g o ri r i t h m e s d e re r e c h e r c h e d ’u ’u n AC AC M L ’a ’a l g o r i t h m e d e K r u s k a l
Cet algorit algorit hm e const const ru it l’ar l’ar bre en ajout ajout an t à chaqu e itér itér at ion ion l’ar l’ar bre de plus petit coût n’ajo n’ajout ut an t pas de cyc cycle. le. Comme Comme il n’ajo n’ajout ut e pas nécessairement nécessairement des a rcs su r des sommets contigüs, cet algorithme peut être vu comme le regroupement progressif d’une d’une forêt (donc donc chaque arbre ne contient initiale initialement ment qu’un qu’un seul sommet) en un seul ar bre en ajout ajout an t les arcs de plus faible faible coût .
6 .4 .4 .2 .2
L ’a ’a l g o r i t h m e d e P r i m
Très différen différen te de l’algorit algorit hm e de Kru ska l, la mét hode de Prim const const ru it u ne coupe coupe et r ajout ajout e l’ar l’ar c de poids poids minimal sortan t de la coupe coupe r ajout ajout an t ainsi dan s la coupe coupe le sommet issu de cet arc.
6 .4 .4 .3 .3
I ll ll u s t r a t i o n p a r l ’e ’e x e m p l e
Nous a llo llons successiv successivement ement dérouler dérouler le fo fonctionn nctionn ement des algorith algorith mes de Kru skal et de P rim su r le gra gra phe de la figure (6.2) (6.2);;
2
10
4
25
20
30
3
15
5
35 1 40
exem ple pour l’illustration l’illustration d es algorithm algorithm es d e Krusk al et Prim F I G . 6.2: Graphe d ’exe
Les figur figur es (6.3) (6.3) et (6.4) (6.4) illustr illustr ent respectivement respectivement les algorith algorith mes de Krusk al et de Pr im. A cha cha que éta pe, l’ar l’ar c ajout ajout é est désigné désigné pa r u ne flèche. flèche. Les ar cs déja présent s dan s l’ar l’ar bre sont sont signa signa lés par u n tr ait en pointill pointillés. és.
58
2
10
4
35 1
10
4
25
20
30
35 25
20
30
1
40
40 3
15
5
3
15
5
2
10
4
2
10
4
25
20
30
3
15
5
2
10
4
25
20
30
3
15
5
35 1
2
35 25
20
30
1
40
40 3
15
5
Ici, on ne peut sélectionner ni (2,3) ni (4, 5) car ils créeraient un cycle. On se rabat donc sur (1, 2) et l'algorithme est terminé !
35 1 40
onctionnem ent de l’algo l’algorithm rithm e de Kru skal sur le graphe (6.2) (6.2) F I G . 6.3: Fonctionnem
59
2
10
4
35 1
20
30
1
40
4
25
20
30
40 3
15
5
3
15
5
2
10
4
2
10
4
25
20
30
3
15
5
35
35 25
20
30
1
40
40 3
15
5
2
10
4 A chaque étape, les sommets de S sont ceints d'un trait épais. Remarquez que l'on ne part du sommet 1 que par pure convénience. A chaque étape on marque en gras les arcs avants de la coupe qui n'induisent pas de cycle
35 1
10
35 25
1
2
25
20
30
3
15
5
40
onctionnem ent de l’algo l’algorithm rithm e de Prim sur le graphe (6.2) (6.2) F I G . 6.4: Fonctionnem
60
Bibliographie [1] R.K. R.K. Ahuja, T.L T.L.. Magna nt i, an d J.B. J.B. Orlin. N etwork Flows Flows : Theory Theory,, Algorithm Algorithm s, and Applications . Prentice Hall, New York, 1993.
[2] M. Gondr Gondr an an d M. Minoux. Minoux. Graphes et Algorithmes . Eyrolles, Eyrolles, Par is, 1979. 1979. [3] M. Minoux and G. Bartnik. Graphes, Algorithmes et Logiciels . Eyroll Eyrolles es,, Paris, 1986. isation Com Com binatoire, binatoire, Tom Tom e 1 : Graphes Graphes et Program Program m ation [4] M. Saka rovitc rovitch. h. Optim isation Linéaire; Tom Tom e 2 : Optim isation isation Com Com binatoire . Herma nn, Paris, 1984. 1984.
61