You are on page 1of 42

thorie des grAPhes

thorie des grAPhes


ProgrAmme:

Concepts fondamentaux de la thorie des graphes:


-

Connexit dans un graphe:


-

Dfinitions
Le problme de recherche du flot maximum.

Problme d'ordonnancement:
-

Arbres et arborescences
Le problme de recherche d'un arbre de poids minimum
Le problme de recherche d'un plus court chemin

Problme du flot maximum:


-

Cheminements dans un graphe


Connexit
Forte connexit
La mise en ordre d'un graphe connexe ou la recherche d'un circuit.

Arbres et arborescences:
-

Dfinitions
Structure d'un graphe
Graphes particuliers
Modes de reprsentations des graphes

La reprsentation du rseau PERT


La dtermination du calendrier des dates au plus tt et des dates plus tard
Analyse et identification des tches critiques.

Cheminements remarquables:
-

Les cheminements eulriens


Les chemins hamiltoniens

un bref historique de lA thorie des grAPhes


Tout le monde saccorde considrer que la thorie des graphes est ne en 1736 avec la
communication dEuler (1707-1783) dans laquelle il proposait une solution au clbre problme des
ponts de Knigsberg. Le problme pos tait le suivant. Deux iles A et D sur la rivire Pregel
Knigsberg taient relies entre elles ainsi quaux rivages B et C
laide de sept ponts (dsigns par des lettres minuscules) comme le
montre la figure 1.
Le problme pos consistait, partir dune terre quelconque
A, B, C, ou D, traverser chacun des ponts une fois et une seule et
revenir son point de dpart. Euler reprsenta cette situation laide
dun dessin o les sommets reprsentent les terres et les artes, les
ponts comme le montre la figure 2.
Le problme des ponts de Knigsberg est identique celui
consistant tracer une figure gomtrique sans lever le crayon et
sans repasser plusieurs fois sur un mme trait.
La reprsentation dun problme par un dessin contribue souvent
sa comprhension (Pb nettoyage),

thorie des grAPhes

chAPitre 1: concePts fondAmentAux de lA thorie des


grAPhes
1- Dfinitions:
1-1 Qu'est ce qu'un graphe?
C'est en 1822 que le mot "graphe" est introduit par l'Anglais J.J.Sylvester, et en 1936 que
parait le premier livre sur la thorie des graphes, crit par D.King.
Un graphe est un dessin gomtrique dfini par la donne d'un ensemble de points (appels
sommets ou nuds), relis entre eux par un ensemble de lignes ou de flches (appeles artes ou
arcs). Chaque arte a pour extrmits deux points, ventuellement confondus.
Les graphes peuvent servir reprsenter un grand nombre de situations courantes comme:
Les liens routiers
Les rseaux de communication
Les circuits lectriques
Les liens entre diverses personnes ou entits administratives.
Exemple: La figure suivante reprsente un plan de circulation sens unique d'une ville ou chaque
localit est reprsente par un point appel sommet et chaque route par un arc orient indiquant le
sens de la circulation.
B
A
C

Ainsi les notions qu'on peut dfinir sur un graphe,


vont servir rsoudre certains problmes lis diffrents
domaines.

E
Figure 1
1-2 Graphe orient:
Un graphe orient est un systme form d'un ensemble fini de sommets que l'on notera
x1, x2 ,...,xn et d'un ensemble fini d'arcs reliant dans un ordre bien dfini ces sommets, ou un certain
nombres d'entre eux not u1 , u2 ,..., u m .
Exemple:
u4

u1

u10

u2

u3
u6

u7

u5

u9
D

u8

Figure 2
Mathmatiquement, un graphe orient est reprsent par le couple G(X,U), o:
X est l'ensemble des sommets.
U est l'ensemble des arcs.
2

thorie des grAPhes


Notation:
On note un arc reliant un sommet x au sommet y dans un graphe G: par u=(x,y).
u
X

Si le graphe G contient n sommets, on dit alors que G d'ordre n.


Chaque arc du graphe G relie respectivement deux sommets, le sommet de dpart qui
reprsente l'extrmit initiale de l'arc et le sommet d'arrive qui reprsente l'extrmit terminale.
Autrement dit:
Un graphe orient est dfini par le quadruplet: G=(X,U,I,T) o
- I est l'application extrmit initiale d'un arc dfinie par:
I: U
X
(x,y) I(x,y)=x
- T est l'application extrmit terminale d'un arc dfinie par:
T: U
X
(x,y) T(x,y)=y
Exemple:
Soit u1=(A,B) un arc de l'ensemble des arcs U du graphe G ci-dessus:
u1
I(u1)=A et T(u1)=B
A
B
Remarque:
On appelle l'arc dont l'extrmit initiale est confondue avec l'extrmit terminale une boucle note
u(x,x)
Exemple:
Dans la figure 3 u10=(A,A) / I(u10)=A et T(u10)=A . L'arc u10 est une boucle.
1-3 Graphe non orient:
Si on dfinit une relation sur un ensemble o la notion d'ordre n'est pas importante, on
reprsente ainsi la relation entre sommets par un arc non orient appel arte. On obtient alors un
graphe non orient, not G=(X,E).
Exemple:
A
B
C
Remarque:
Une arte peut tre transforme en deux arcs de sens dfrents
A

1-4 graphe simple et graphe multiple:


Un graphe simple est un graphe sans boucles ni arcs (arte) multiples. Dans le cas contraire,
on dira que le graphe est multiple.
Exemple:
A
A
B
B
Artes multiples
Arcs multiples
On dfinit ainsi, la multiplicit d'un graphe orient multiple par le nombre maximum d'arcs ayant la
mme extrmit initiale et la mme extrmit terminale. Soit p ce nombre, on dit G est un p-graphe.

thorie des grAPhes


1-5 L'ensemble des prdcesseurs, successeurs et voisins d'un sommet:
Considrons le graphe correspondant la Figure2:
- De B et E on peut atteindre A par BA et EA. Donc, B et E forment l'ensemble
prdcesseurs de A, qu'on note (A) .
- De A on peut atteindre B et D par AB et AD. Donc, B et D forment l'ensemble
successeurs de A, qu'on note (A) .
- L'ensemble des voisins du sommet A est gale la runion de l'ensemble de
prdcesseurs et de ses successeurs.
Lapplication qui, tout lment de X, fait correspondre une partie de X est appele
application multivoque.
1-6 Degr d'un sommet:
Soit le graphe de la figure 3, considrons le sommet A:

des
des
ses
une

A est l'extrmit initiale de 3 arcs, on dit alors que le demi-degr


A
extrieur de A est 3, on le note d G ( A) 3 .
- A est l'extrmit terminale d'un seul arc, on dit alors que le demi-degr
intrieur de A est 1, on le note d G ( A) 1 .
- La somme du demi-degr intrieur et du demi-degr extrieur du A dfinit le degr de A,
on le note d ( A) 4 .
Remarque:
Degr de A gale 0 sommet isol.
Degr de A gale 1 sommet pendant.

2- Structure d'un graphe:


Considrons le rseau routier de l'Algrie G=(X,U) tel que:
X reprsente l'ensemble des villes d'Algrie et U reprsente l'ensemble des routes nationales et
dpartementales algriennes.
a) Soit A X , l'ensemble des villes de la wilaya de Tizi Ouzou et UA l'ensemble des routes
reliant ces villes. On dfinit ainsi le graphe GA=(A,UA) dit sous-graphe de G, reprsentant
l'ensemble du rseau routier de la wilaya de Tizi Ouezou.
b) Soit W U , l'ensemble des routes dpartementales Algriennes. On dfinit ainsi le graphe
GW=(X,W), dit graphe partiel de G reprsentant les routes dpartementales Algriennes.
c) Soient UA l'ensemble des routes reliant les villes de la wilaya de Tizi Ouezou (nationales et
dpartementales) et W l'ensemble des routes dpartementales Algriennes. On dfinit ainsi le
graphe G AW ( A,W U A ) , dit sous-graphe partiel de G reprsentant l'ensemble des routes
dpartementales de la wilaya de Tizi Ouezou.
Exemple:
Soit le graphe G=(X,U):

e1

B
e4

e6

e2
D

Soient A F , D, Cet W e1 , e2 , e5

e5
e3

e7
C

thorie des grAPhes


a) Le sous-graphe engendr par A est le graphe G A ( A, E A ), avec E A e2 , e3 , e5 , e7
e2
F
D
e5
e3

e7
C

b) Le graphe partiel engendr par W est:


e1

B
e2

D
e5
C

c) Le sous-graphe engendr par A et W est:


F

e2
D
e5
C

3-Les graphe particuliers:


3-1 Graphe complet:
On appelle graphe complet un graphe dont tous les sommets sont adjacents (si, pour toute paire de
sommets, il existe au moins un arc).
Exemple:
F

G1
G2
Les sommets F et C dans G1ne sont pas adjacents, le graphe est donc non complet.
Les sommets du graphe G2 sont tous adjacents, d'o le graphe G2 est complet.
Si un graphe G est simple et complet, d'ordre n, on le note Kn(Ex: G2 est not par K3).
3-2 Graphe complmentaire:
A un graphe simple G=(X,U), on peut dfinir un graphe complmentaire G ( X , U ) comme
suit: u U u U .
C'est--dire: une arrte (arc) appartient au graphe complmentaire ( G )si elle n'appartient pas
au graphe initiale G.
Exemple:
D
F
On considre le graphe simple suivant:
(G)
E

C
5

thorie des grAPhes


Son graphe complmentaire ( G ) est:

E
Consquence:
G G est un graphe simple complet, donc un Kn.
F

G G K4

3-3 Graphe planaire:


Un graphe est dit planaire si on peut le dessiner sur un plan de telle faon que les artes ne se
coupent pas, en dehors de leur extrmits.
3-4 Graphe biparti:
Un graphe est biparti si l'ensemble de ses sommets peut tre rparti en deux classes X1 et X2
telles que, deux sommets de la mme classe ne soient pas adjacents.

4-Modes de reprsentation dun graphe


4-1 La reprsentation matricielle:
A un graphe G=(X,U) contenant n sommets et m arcs, on associera trois types de matrices:
4-1-1 La matrice d'adjacence:
La matrice d'adjacence du graphe G=(X,U) est une matrice n*n, ses lments prennent deux
valeurs 1 ou 0. Chaque ligne et chaque colonne correspondent un sommet du graphe. Ainsi chaque
lment de la matrice indique la relation qui existe entre deux sommets:
o 1 signifie que les deux sommets sont relies par un arc orient.
o 0 signifie que les deux sommets ne sont pas relies par un arc.
Exemple:
La matrice d'adjacence de G est la suivante:
x2
x1
x2
x3
x4
x1
0
1
0
0
x1
x4
x2
1
0
1
1
x3
1
0
0
0
x3
x4
0
0
1
0
(G)
u=(x1,x2) est arc du graphe G a12 =1.
pas d'arc ayant comme extrmit initiale x1 et extrmit terminale x3 a13=0.
Notation:
Les lments de la matrice d'adjacence sont dfinis par:
1 s'il existe un arc orient (xi,xj)
aij=
0 sinon

thorie des grAPhes


4-1-2 La matrice associe:
La matrice associe du graphe G=(X,U) est une matrice n*n, o chaque ligne et chaque
colonne correspondent un sommet du graphe, les lments de la matrice associe indique le
nombre d'arcs orients dans le mme sens reliant deux sommets.
Exemple:
La matrice associe de G est la suivante:
x
2

x1

x4
x3

x1
x2
x3
x4

x1
0
1
1
0

x2
1
0
0
0

x3
0
1
0
1

x4
0
2
0
0

(G)
Notation:
Les lments de la matrice associe sont dfinis par: aij=k si on a k arcs orients de la forme (xi,xj).
Remarque:
Dans la matrice associe on a:
La somme des valeurs d'une ligne dtermine le demi-degr extrieur du sommet correspondant.
La somme des valeurs d'une colonne dtermine le demi-degr intrieur du sommet correspondant
4-1-3 La matrice d'incidence aux arcs:
La matrice d'incidence aux arcs d'un graphe G=(X,U) est une matrice n*m, ses lments
prennent les valeur 1,0 ou -1. Chaque ligne de la matrice est associe un sommet et chaque colonne
un arc. Chaque lment de la matrice indique la relation entre un sommet et un arc comme suit:
+1 signifie que le sommet est une extrmit initiale de l'arc.
-1 signifie que le sommet est une extrmit terminale de l'arc.
0 signifie qu'il n'existe pas de relations entre le sommet et l'arc.
Exemple:
Soit un graphe d'ordre 4, compos de 7 arcs.
x2

u1
u2

x1

u3

u4

x3

La matrice d'incidence aux arcs de G est:

u6
u5

x4

x1
x2
x3
x4

u1
+1
-1
0
0

u2
-1
+1
0
0

u3
-1
0
+1
0

u4
0
+1
-1
0

u5
0
+1
0
-1

u6
0
+1
0
-1

u7
0
0
-1
+1

u7

(G)
Remarque: Cette matrice ne convient pas pour les graphes avec boucles.
Notation:
Les lments de la matrice d'incidence aux arcs sont dfinis par:
+ 1 si xi est l'extrmit initiale de l'arc uj
aij= - 1 si xi est l'extrmit terminale de l'arc uj
0 dans les autres cas.
Remarque:
Dans la matrice d'incidence on a:
Le nombre de valeurs gale +1 d'une ligne donne le degr extrieur du sommet correspondant.
Le nombre de valeurs gale -1 d'une ligne donne le degr intrieur du sommet correspondant.
7

thorie des grAPhes

chAPitre 2: connexit dAns un grAPhe


1- Cheminements dans un graphe:
Les cheminements dans la thorie des graphes sont de quatre types: la chane, le cycle, le
chemin et le circuit.
On dfinira ces notions dans le graphe G:
B
(G)

A
C
D

E
1-1 La chane:
Soit G=(X,U) un graphe.
Une chane joignant deux sommets x0 et xk dans un graphe G est une suite de sommets relis
par des artes tels que, deux sommets successifs ont une arte commune. On la note: (x0,x1,,xk).
Exemple:
Dans le graphe G, (A,B,C,D) est une chane.
B
C
D
A
Une chane est dite simple si on passe une seule fois par ses arcs.
Exemple:
Dans le graphe G,(A,B,E) ,(A,E,B,A,E) sont des chanes joignant les sommets A et E, la
seconde n'est pas simple car l'arc (AE) est parcouru deux fois.
1-2 Le chemin:
Soit G=(X,U) un graphe.
Un chemin du sommet x0 xk dans un graphe G, est une suite de sommets relis
successivement par des arcs orients dans le mme sens. On le note: (x0,x1,,xk).
Exemple:
Dans le graphe G, (A,D,C,E) est un chemin joignant A E.
E
C
D
A
Un chemin est dit simple si on passe une seule fois par ses arcs.
Exemple:
Dans le graphe G,(A,D,C,E) ,(A,D,C,E,C,E) sont des chemins joignant les sommets A et E, le
second chemin n'est pas simple car l'arc (CE) est parcouru deux fois.
1-3 Le cycle:
Un cycle est une chane simple dont les deux extrmits concident. On le note
(x0,x1,,xk=x0).
Exemple:
Dans le graphe G, la suite de sommets suivante (A,B,C,D,A)
Remarque: une boucle est un cycle particulier.
B
A
C
D
8

thorie des grAPhes


1-3 Le circuit:
Un circuit est un chemin dont les deux extrmits sont confondues; on le note
(x0,x1,,xk=x0).
Dans le graphe G, la suite (A,D,C,B,A) est un circuit.
A
D
B
C
Une chane ( cycle-chemin-circuit) est dite lmentaire si on passe une seule fois par ses sommets
(tous les sommets sont diffrents).
Un chemin eulrien est un chemin simple qui passe une et une seule fois par chaque arc du graphe.
Un chemin hamiltonien est un chemin qui passe une et une seule fois par chaque sommet du graphe.

2- la connexit:
2-1 La notion de connexit:
On dfinit la connexit dans un graphe, par la relation entre deux sommets de la manire
suivante: deux sommets x et y ont une relation de connexit il existe une chane entre x et y ou
bien x=y.
Exemple:
x3
Soit le graphe (G) suivant:
- il existe une chane entre le sommet x1 et x2
x2
note C=( x1, x3, x2). Alors x1et x2 ont une
x1
relation de connexit.
x5
- il n'existe pas de chanes entre le sommet x1 et
x6
x5 ,alors x1 et x5 n'ont pas une relation de connexit.
x
4

2-2 Les composantes connexes:


On appelle composante connexe un ensemble de sommets, qui on deux deux la relation de
connexit, de plus tout sommet en dehors de la composante n'a pas de relation de connexit avec les
sommets de cette composante.
Exemple:
Dans le graphe G de la figure prcdente:
- les sommets x1,x2,x3,x4 ont deux deux la relation de connexit, donc l'ensemble x1 , x2 , x3 , x4
forme ainsi la 1re composante connexe, on la note C1.
- l'ensemble x5 , x6 forme la 2me composante connexe, on la note C2.
On constate que les sommets de C1 n'ont pas de relation de connexit avec les sommets de C2.
2-3 Le graphe connexe:
Un graphe G=(X,U) est dit graphe connexe si tous ses sommets ont deux deux la relation de
connexit; autrement dit, si G contient une seule composante connexe.
Un graphe est connexe il possde une seule composante connexe.
2-4 La recherche des composantes connexes:
Les composantes connexes d'un graphe se dterminent en utilisant un algorithme de
marquage simple.
Le principe:
Soit G=(X,U) un graphe orient. L'ide de cet algorithme est la suivante: pour un sommet
quelconque x du graphe G, il s'agit de trouver toutes les chanes reliant ce sommet aux autres
sommets du graphe; ainsi les sommets relis au sommet x par une chane forment la composante
connexe qui contient le sommet x.
9

thorie des grAPhes


Enonc:
Donnes: un graphe G=(X,U)
Rsultat: le nombre k de composantes connexes de G ainsi que la liste C1 , C 2 ,..., C k de ses
composantes connexes.
(0) Initialisation: k=0, W=X.
(1)
(1.1) Choisir un sommet de W et le marquer d'un signe (+), puis marquer tous ses voisins
d'un (+). On continue cette procdure jusqu' ce qu'on ne puisse plus marquer de
sommets.
(1.2) Poser k=k+1 et Ck l'ensemble des sommets marqus.
(1.3) Retirer de W les sommets de Ck et poser W=W-Ck.
(1.4) On teste si W=.
- Si oui terminer aller (2).
- Si non aller (1)
(2) Le nombre de composantes connexes de (G) est k.
Chaque ensemble Ci, i=1,..,k correspond aux sommets d'une composante connexe de (G).
Application:
Soit le graphe G=(X,U) suivant:
x2

x5

x4

x8

x1
x6

x3

x9

x7

Le graphe (G) n'est pas connexe, car il n'existe pas de chane reliant les sommets x3 et x8.
On applique l'algorithme de marquage prcdent pour dterminer les composantes connexes:
Initialisation: k=0, W X x1 , x2 , x3 , x 4 , x5 , x6 , x7 , x8 , x9
Itration1: on choisir dans W le sommet x2, et on le marque d'un signe (+), on marque ensuite ses
voisins x1 et x3.
+
x2
x5
x8
x4
+
x1
x3

x6

x9

x7

Soit C1 x1 , x2 , x3 l'ensemble des sommets marqus.


On retire de W les sommets C1, on obtient: W x4 , x5 , x6 , x7 , x8 , x9
Itration2: on choisir dans W le sommet x5, et on le marque d'un signe (+), on marque ensuite ses
+
voisins x4,x6 et x7..
+
x5
x8
x4

+
x6

+
x7

x9
10

thorie des grAPhes


Soit C 2 x4 , x5 , x6 , x7 l'ensemble des sommets marqus.
On retire de W les sommets C2, on obtient: W x8 , x9
Itration3: on choisir dans W le sommet x8, et on le marque d'un signe (+), on marque ensuite son
voisin x4,x6 et x7..
x8 +
Soit C3 x8 , x9 l'ensemble des sommets marqus.
Retirons de W les sommets C3, on obtient: W terminer.

Le nombre de composantes connexes de (G) est 3, elles sont:


C1 x1 , x2 , x3 , C 2 x4 , x5 , x6 , x7 et C3 x8 , x9

x9 +

3- La forte connexit:
3-1 La notion de forte connexit:
On dfinit la forte connexit dans un graphe par une relation entre deux sommets de la
manire suivante:
Deux sommets x et y ont une relation de forte connexit il existe un chemin de x y et
un chemin de y x; ou bien x=y.
Exemple:
x4
Soit le graphe G=(X,U) suivant:
x1
x2
x3
-

On a un chemin reliant le sommet x1 et x3 et un chemin reliant le sommet x3 au sommet x1


alors x1 et x3 ont une relation de forte connexit.
On a un chemin reliant le sommet x4 x3, mais on n'a pas de chemin reliant le sommet x3
au sommet x4 alors x4 et x3 n'ont pas de relation de forte connexit.

3-2 Les composantes fortement connexes:


On appelle composante fortement connexe un ensemble de sommets, qui on deux deux la
relation de forte connexit, de plus tout sommet en dehors de la composante n'a pas de relation de
forte connexit avec aucun lment de cette composante.
x4
Exemple:
x1
Soit le graphe G=(X,U) suivant:
x2
x3

x5

- Les sommets x1,x2,x3 ont deux deux la relation de forte connexit, donc l'ensemble x1 , x2 , x3
forme ainsi la 1re composante fortement connexe, on la note C1.
- L'ensemble x4 , x5 forme la composante fortement connexe, on la note C2.
11

thorie des grAPhes


On constate que les sommets de C1 n'ont pas de relation de forte connexit avec les sommets de C2.
3-3 Le graphe rduit:
On appelle "graphe rduit" du graphe G=(X,U), le graphe Gr=(Xr,Ur) dont:
- Les sommets sont reprsents par les composantes fortement connexes Ci du graphe G.
- Les arcs (x,y) dans le graphe G avec le sommet x appartenant Ci et le sommet y
appartenant Cj, alors il existera un arc (Ci,Cj) dans le graphe rduit Gr.
Exemple:
Pour le graphe prcdant, on a:

C1

C2

3-4 Le graphe fortement connexe:


Un graphe G est dit fortement connexe si tous ses sommets ont deux deux la relation de
forte connexit, autrement dit si G contient une seule composante fortement connexe.
Exemple:
- le graphe G prcdant contient deux composantes fortement connexes C1 x1 , x2 , x3 et
-

C 2 x4 , x5 , le graphe n'est pas fortement connexe.


Si on ajoute l'arc (x5,x3) au graphe prcdant, le graphe obtenu contient une seule
composante fortement connexe C x1 , x2 , x3 , x4 , x5 , alors il est fortement connexe.

3-5 La recherche des composantes fortement connexes:


Soit G un graphe orient, un moyen de vrifier si ce graphe est fortement connexe est
d'appliquer un algorithme de marquage suivant, qui permet de dterminer toutes ses composantes
fortement connexes.
Le principe:
L'ide de cet algorithme est de parcourir le graphe partir d'un sommet x dans le sens direct
(en suivant les flches des arcs) et dans le sens oppos (en suivant les flches des arcs en sens
inverse). Le premier ensemble obtenu regroupe les sommets accessibles partir de x, le deuxime
regroupe les sommets qui peuvent atteindre x. L'intersection de ces deux ensembles forme
l'ensemble des sommets qui la fois peuvent atteindre x et sont accessibles partir de x. On obtient
ainsi la composante fortement connexe qui contient le sommet x.
Enonc:
Donnes: un graphe orient G=(X,U).
Rsultat: le nombre k de composantes fortement connexes de G ainsi que la liste C1 , C 2 ,..., C k de
ses composantes fortement connexes.
(0) Initialisation: k=0, W=X.
(1)
(1.1) Choisir un sommet de W et le marquer d'un signe (+) et (-).
(1.2) Marquer tous les successeurs directs et indirects de x avec (+).
(1.3) Marquer tous les prdcesseurs directs et indirects de x avec (-).
(1.4) Poser k=k+1 et Ck l'ensemble des sommets marqus avec (+) et (-).
(1.5) Retirer de W les sommets de Ck et effacer toutes les marques; on pose W=W-Ck.
(1.6) On teste si W=.
- Si oui terminer aller (2).
- Si non aller (1)
(2) Le nombre de composantes fortement connexes de (G) est k. Chaque ensemble Ci, i=1,..,k
correspond aux sommets d'une composante fortement connexe de (G).
Application:
Soit le graphe G=(X,U) suivant:

12

thorie des grAPhes


b
Du graphe (G), on constate qu'il y a un chemin reliant
le sommet e b, mais on n' a pas de chemin reliant le
sommet b e, alors e et b n'ont pas une relation de fore
connexit, donc il existe plus d'une composante fortement
connexe, on conclut que le graphe n'est pas fortement connexe.

d
c

On applique l'algorithme de marquage prcdent pour dterminer les composantes fortement


connexes:
Initialisation: k=0, W X a, b, c, d , e, f
Itration1: on choisit dans W, le sommet a et on le marque par (+) et (-), on marque ensuite:
- Suivant l'orientation des arcs, les sommets b et d (successeurs directs du sommets
a) avec le signe (+), ensuite les sommets c et f (successeurs indirect du sommet a)
avec le signe (+).
- Suivant l'orientation des arcs en sens inverse, le sommet c (prdcesseur direct du
sommet a) avec le signe (-), ensuite les sommets b,d,e,f (prdcesseurs indirects
du sommet a) avec le signe (-).
Soit C1 a, b, c, d , f l'ensemble des sommets marqus la fois par (+) et (-).

On retire de W, les sommets de C1, on obtient:


b
W e

e
a
d
Itration2: on marque le sommet e d'un signe (+)

et (-), on constate qu'il n y a pas d'autre sommets


c
marquer. Alors C 2 e l'ensemble des sommets f
marqus la fois par (+) et (-).
On retire de W les sommets de C2 on obtient: W , terminer.
Le nombre de composantes fortement connexes de (G) est 2, elles sont: C1 a, b, c, d , f et
C 2 e .
Au graphe (G), on fait correspond un graphe rduit not Gr reprsent comme suit:
C1

C2

4- La mise en ordre d'un graphe connexe ou la recherche d'un circuit:


4-1 La mise en ordre d'un graphe connexe (l'ordonnancement d'un graphe):
Le principe:
Ordonner un graphe revient disposer dans un certain ordre ses sommets tels que les arcs
soient dans le mme sens. On dfinit ainsi les diffrents niveaux des sommets du graphe.
Exemple: Soit le graphe G=(X,U) suivant:
x2

x4

x1
x3

13

thorie des grAPhes

Les niveaux des sommets du graphe sont dfinis comme suit:


- Le niveau nul, not N0 dtermine les sommets du graphe n'ayant pas de
prdcesseurs ( G (x ) ). Dans le graphe G le sommet x1 n'a pas de
-

prdcesseurs d'o N 0 x1 .
Le premier niveau not N1 dfinit les sommets du graphe dont tous les
prdcesseurs appartiennent N0. Dans le graphe G le sommet x2 admet comme
prdcesseurs le sommet x1 qui appartient au niveau N0 d'o N 1 x 2 .
Le deuxime niveau not N2 dfinit les sommets du graphe dont tous les
prdcesseurs appartiennent N 0 N1 . Dans le graphe G le sommet x4 admet
comme prdcesseurs le sommet x2 qui appartient N 0 N1 d'o N 2 x 4 .
Le troisime niveau not N3 dfinit les sommets du graphe dont tous les
prdcesseurs appartiennent N 0 N1 N 2 . Le sommet x3 admet comme
prdcesseurs le sommet x1,x2 et x4 qui appartient N 0 N1 N 2 d'o

N 3 x3 .
Le graphe ordonn de G est:
N0
x1

N1

N2

N3

x2

x4

x3

Le procd:
La mise en ordre d'un graphe connexe G=(X,U) ou l'ordonnancement d'un graphe se traduit
par l'algorithme suivant:
Donnes: un graphe G=(X,U).
Rsultat: les diffrents niveaux de sommets du graphe ainsi que le graphe ordonn de G.
(0) On dtermine le dictionnaire des prdcesseurs du graphe G form par le couple ( W , G ( x) ).
(1) On repre dans le dictionnaire des prdcesseurs du graphe les sommets n'ayant pas de
prdcesseurs ( G (x ) ).
(1.1) On pose N0 l'ensemble des sommets du graphe n'ayant pas de prdcesseurs, on
l'appelle niveau nul.
(1.2) On barre dans la colonne de G (x) tous les sommets de niveaux nul N0, on obtient
une nouvelle colonne G1 ( x ) , avec G1 le sous-graphe engendr par X/N0.
(2) On repre dans le nouvelle colonne G1 ( x ) les sommets n'ayant pas de prdcesseurs (

G1 ( x ) ).
(2.1) On pose N1 l'ensemble des sommets du graphe n'ayant pas de prdcesseurs.
(2.2) On barre dans la colonne de G1 ( x ) tous les sommets de niveaux N1, on obtient une
nouvelle colonne G2 ( x) , avec G2 le sous-graphe engendr par X / N 0 N1 .
On continue le mme procd jusqu' ce qu'on termine le graphe et on reprsente ainsi le
graphe ordonn par niveaux de G.
Exemple: Soit le graphe G=(X,U) reprsentant le processus de transformation d'une matire
premire a dans un atelier.
b
d

c
e
a

14

thorie des grAPhes

1) Soit le dictionnaire des prdcesseurs du G:


Le sommet a n'a pas de prdcesseurs,
il est donc de niveau nul N 0 a

G (x)

b
a
c
a-b
d
c-b
e
d

on barre le sommet a de la colonne G (x) , on obtient la nouvelle colonne G1 ( x ) .


2) Le sommet b n'a plus de prdcesseurs, il est donc de niveau un N 1 b
X
a
b
c
d
e

G1 ( x )

b
c-b
d

On barre le sommet b de la colonne G1 ( x ) , on obtient la nouvelle colonne G2 ( x) .


3) le sommet c n'a plus de prdcesseurs, il est donc de niveau deux N 2 c
X

G2 ( x)
a
b
c

d
c
e
d
On barre le sommet c de la colonne G2 ( x) , on obtient le nouveau dictionnaire.
4) le sommet d n'a plus de prdcesseurs, il est donc de niveau trois N 3 d
X
a
b
c
d
e

G3 ( x)

On barre le sommet d de la colonne G3 ( x) , on obtient le nouveau dictionnaire.


4) le sommet e n'a plus de prdcesseurs, il est donc de niveau quatre N 4 e
X

On a examin tous les sommets du graphe G, on a ainsi le


graphe ordonn de G reprsent ci dessous.

a
b
c
d
e

G4 ( x)

15

thorie des grAPhes

N0

N1

N2

N3

N4

4.2 La recherche d'un circuit dans un graphe connexe:


A une tape donne de l'ordonnancement d'un graphe, la dfinition des niveaux se bloque (i.e
il n'existe pas de sommets n'ayant pas de prdcesseurs), donc la mise en ordre du graphe est
impossible, on dit alors que le graphe possde un circuit.
Comment faire pour dterminer ce circuit?
On applique la procdure suivante:
Soit (X, Gi (x) ) le dernier dictionnaire des prdcesseurs du graphe G o l'application de
l'algorithme de mise en ordre du graphe G est bloque.
1) On repre dans la colonne Gi (x) un sommet quelconque x0, ce sommet nous renvoi sa
position dans la colonne X.
2) On lit nouveau dans la colonne Gi (x) un nouveau sommet x1 correspondant au
prdcesseur de x0, lequel nous renvoi sa position dans la colonne de X et ainsi de suite.
Cette procdure s'arrte lorsque dans la suite des sommets lus, un sommet se rpte. Le
circuit est alors entre ces deux mmes sommets de la suite.
Remarque:
L'criture de la suite sommets se fait de gauche droite, c'est--dire (x0, x1,..,xi,..,xp,..,xi) et,
la lecture du circuit se fait de droite gauche.
Application:
b
Soit le graphe G=(X,U) suivant:
G

a
d
c

e
1) Soit le dictionnaire des prdcesseurs du graphe (G):
Le sommet a n'a pas de prdcesseurs, il est donc de niveau nul N 0 a
X

G (x)

a
b
c
d
e

a-e
a-b
c-b
d

on barre le sommet a de la colonne G (x) , on obtient le dictionnaire suivant:


X
a
b
c
d
e

G1 ( x )
e
b
c-b
d
16

thorie des grAPhes


2) A cette tape, on ne peut pas dterminer le niveau N1 car il n y a pas de sommets n'ayant pas de
prdcesseurs, donc le graphe n'est pas ordonnable; G contient alors un circuit.
Pour dterminer ce circuit:
On choisit un sommet dans G1 ( x ) , soit e ce sommet , celui-ci nous renvoie sa ligne
dans X.
X
a
b
c
d
e

G1 ( x )
e
b
c-b
d

On choisit un sommet dans la ligne de e, soit de ce sommet, celui-ci nous renvoie sa ligne dans
X.
X
G1 ( x )
a
b
e
c
b
d
b-c
e
d
On choisit un sommet dans la ligne de d, soit b ce sommet, celui-ci nous renvoie vers la ligne dans
X.
X
a
b
c
d
e

G1 ( x )
e
b
b-c
d

On choisit un sommet dans la ligne de b, soit e ce sommet. On arrte la procdure car le sommet
s'est rpt.
X
G1 ( x )
a
b
e
c
b
d
c-b
e
d
La suite des sommets trouve est la suivante: e d b e (la lecture du circuit se fait de droite
gauche), on obtient ainsi, le circuit: (ebde)
b

d
e
17

thorie des grAPhes

chAPitre 3: Arbres et Arborescences


1- Arbres et arborescences:
Proprit 1:
Soit n le nombre de sommets d'un graphe G=(X,U), et m le nombre de ses arcs.
- Si G est connexe m n-1
- Si G est sans cycles m n-1
Exemple:
B
- Soit le graphe G=(X,U) suivant:
E

Le graphe G est connexe et contient


un cycle C=(A,B,E,D).

A
C
D

Soit le graphe G=(X,U) suivant:


B

Dans le graphe G, le nombre d'arcs (m=3) est infrieur au


nombre de sommets (n-1=4), alors le graphe G n'est pas connexe.

C
A

E
Dfinition d'un arbre:
Un arbre, est par dfinition, un graphe connexe et sans cycle.
Remarque:
D'aprs la dfinition, un arbre est un graphe simple sans boucle, ayant (n-1) arcs.
Exemple:
Le graphe G=(X,U) est un arbre.
B
E
A
D
C
Proprit 2:
Soit G=(X,U) un graphe sur n=|X| 2 sommets. Les proprits suivantes sont quivalentes et
caractrisent un arbre:
(i) G est connexe et sans cycle.
(ii) G est connexe et est minimal pour cette condition (si on supprime un arc de G, il ne sera plus
connexe).
(iii)G est connexe et possde (n-1) arcs.
(iv) G est sans cycle et, est maximal pour cette proprit (si on ajoute un arc G, il possdera un
cycle).
(v) G est sans cycle et possde (n-1) arcs.
(vi) Entre chaque couple de sommets, il existe une et une seule chane les reliant.
Remarque:
D'un graphe connexe G=(X,U) on peut extraire un graphe partiel qui est un arbre.
Exemple:
B
Soit le graphe G=(X,U) suivant:
E
A
D
C

18

thorie des grAPhes


Soit W AB , BC , BE , BD;W U . On dfinit ainsi le graphe partiel engendr par W,
GW=(X,W) qui est un arbre.
B
E
A
D
C
Dans le graphe partiel GW:
- En vertu de la proprit 1, les conditions (i), (iii) et (v) sont vrifies.
- Si on supprime un arc de GW, par exemple l'arc (AB), le graphe obtenu n'est plus connexe. La
condition (ii) est vrifie.
B
Le graphe obtenu aprs suppression de l'arc
E
(AB) n'est pas connexe.
A

D
C
Si on ajoute un arc GW, par exemple l'arc (DC), le graphe obtenu possdera un cycle. La
condition (iii) est vrifie.
B
E
Le graphe obtenu aprs l'ajout de l'arc (DC),
possde un cycle.

A
D
C

Pour tout couple de sommets, il existe une chane et une seule les reliant. La condition (vi)
est donc, vrifie.

Dfinition d'une fort:


Une fort est un graphe dont chaque composante connexe est un arbre. C'est--dire un graphe
sans cycle.
Remarque:
- La fort est obtenue si on relaxe (relche) la contrainte de connexit dans un arbre, c'est-dire, si on supprime un arc dans un arbre.
- Tout graphe partiel d'un arbre est une fort.
Exemple:
Dans le graphe de la figure suivante, si on relche la contrainte de connexit en supprimant
par exemple l'arc BE, on obtient une fort.
B

B
E

A
D
C

E
A
D
C

La fort obtenue est un graphe partiel engendr par l'ensemble des arcs W BA, CA, DB.

19

thorie des grAPhes


Dfinition d'une racine:
Un sommet s d'un graphe G est une "racine" (resp, une "antiracine") s'il existe un chemin
joignant s chaque sommet du graphe G (resp. joignant chaque sommet de G s) l'exception du
sommet lui-mme. C'est--dire : x X s , il existe un chemin de s x (resp de x s).
Exemple:
Soit le graphe G=(X,U) suivant:
B
- Le sommet A est une racine du graphe G.
D
- Le sommet E est une antiracine du graphe G.
A
C
E

F
Dfinition d'une arborescence:
Un graphe G=(X,U), avec X n 2 sommets est une arborescence de racine s si:
- G est un arbre.
- s est une racine.
B
Exemple:
Soit W=(X,U) l'arbre suivant:
A
W est un arbre admettant le sommet A comme racine
alors W est une arborescence.
C

F
La notion d'arborescence a des applications trs nombreuses.
- Dcoupage d'un livre (chapitre, paragraphe)
- Arbre gnalogique (sommets membre de famille el les arcs les liens de parent
directs)
-
Remarque:
Une arborescence est un arbre mais la rciproque est fausse.
Dfinition anti-arborescence:
Un graphe G=(X,U) sur n X 2 sommets est une anti-arborescence admettant le sommet
s comme antiracine si:
- G est un arbre.
- s est une antiracine de G.
Remarque:
Si on inverse le sens des arcs d'une arborescence, on obtient une anti-arborescence.
Exemple:
Si on inverse le sens des arcs de l'arborescence prcdente, on aura l'anti-arborescence suivante:
B
D
Le sommet A est une antiracine.

A
C
E

F
20

thorie des grAPhes

2- Le problme de recherche d'un arbre de poids minimum (minimum tree of pods)


Si on associe chaque arc d'un graphe G=(X,U) une valeur (un poids). Le problme de
l'arbre de cot minimum consiste trouver un sous graphe qui est un arbre, dont la somme des poids
des arcs est minimale.
Par exemple: minimiser le cot d'installation des lignes tlphoniques dans une localit peut
tre reprsent comme un problme de recherche d'un arbre de cot minimum. En effet, on veut
relier tous les points de la localit sans avoir de lignes inutiles, d'o la recherche d'un arbre. Ensuite
on veut avoir un cot d'installation minimum, alors on associera chaque possibilit d'installation
d'une ligne le cot ncessaire et on cherchera minimiser le cot total de toute l'installation.
En 1956, J.B. Kruskal a donn un algorithme qui permet de rsoudre un tel problme.
2-1 Algorithme de kruskal pour construire un arbre de poids minimum:
Le principe:
L'ide de l'algorithme de Kruskal est tout d'abord de numroter les arcs par ordre des poids
croissants. Ensuite de construire progressivement l'arbre A en rajoutant dans leurs ordre, les arcs un
par un. Un arc est ajout seulement si son adjonction A ne dtermine pas de cycle, c'est--dire si A
ne perd pas sa notion d'arbre, sinon on passe l'arc suivant dans l'ordre de la numrotation.
Enonc:
Donnes: un graphe valu G=(X,U,c).
Rsultat: ensemble d'arcs W
(0) Initialisation: numroter les arcs de G dans l'ordre des poids croissants:
c(u1 ) c(u 2 ) ...... c(u m ) . Soit W ; i=1.
(1) Si ( X ,W ui ) contient un cycle aller en (3)
Sinon aller en (2)
(2) On pose W : W ui aller (3)
(3) Si i=m termin, A=(X,W) est l'arbre de poids minimum c(W ) c(ui ) pour ui W
Sinon i:=i+1 aller en (1)
L'algorithme s'arrte lorsque le nombre d'arcs retenus est gal n-1.
Remarque:
La solution du problme de recherche de l'arbre de poids maximum s'obtient en utilisant le
mme algorithme de l'arbre de poids minimum aprs avoir multipli les poids des arcs par (-1).
Application:
Soit G=(X,U) un graphe connexe reprsentant le projet d'installation de lignes tlphoniques.
Les poids reprsentent le cot d'installation des lignes.
On veut donner un plan d'installation minimisant le cot total de l'installation.
1
2
2
3
1
1
3
2
5
2
4
1
Initialisation: On ordonne les artes du graphe selon les poids croissants:
i
1
2
3
4
5
6
7
(2,3) (3,5) (4,5) (3,4) (2,5) (1,2) (1,3)
ui

c(ui )

3
21

thorie des grAPhes


Soit W ; i=1;m=7
- Itration 1:
On a : u1=(2,3); Soit W W u1 2,3
Le graphe (X,W) ci contre ne contient pas de cycle, on pose alors
W 2,3 W 1 . On a: im alors on pose i=i+1=2.

3
1
4

- Itration 2:
On a : u2=(3,5); Soit W W u 2 2,3, (3,5)
Le graphe (X,W) ci contre ne contient pas de cycle, on pose alors
W 2,3, (3,5) W 2 . On a: im alors on pose i=i+1=3.
- Itration 3:
On a : u3=(4,5); Soit W W u3 2,3, (3,5), (4,5)
Le graphe (X,W) ci contre ne contient pas de cycle, on pose alors
W 2,3, (3,5), ( 4,5) W 3 . On a: im alors on pose i=i+1=4.

3
4

5
4

- Itration 4:
On a : u4=(3,4); Soit W W u 4 2,3, (3,5), ( 4,5), (3,4)
Le graphe (X,W) ci contre contient un cycle,
On a: im alors on pose i=i+1=5.

1
2
Le cycle cr

- Itration 5:
On a : u5=(2,5); Soit W W u5 2,3, (3,5), (4,5), (2,5)
Le graphe (X,W) ci contre contient un cycle,
On a: im alors on pose i=i+1=6.

5
1

1
3

1
2

Le cycle cr
4

5
1

- Itration 6:
On a : u6=(1,2); Soit W W u6 2,3, (3,5), (4,5), (1,2)
Le graphe (X,W) ci contre ne contient pas de cycle, on pose alors
W 2,3, (3,5), ( 4,5), (1, 2) W n 1 5 1 4 , termin
L'arbre du poids minimum est reprsent par le graphe A=(X,W).
Le cot total de toute l'installation est: c(W)=c(u1)+c(u2)+ c(u3)+ c(u6)=1+1+1+2=5.
2

1
3

5
4

1
22

thorie des grAPhes

3- Le problme de recherche d'un plus court chemin:


La figure suivante reprsente les routes sens unique reliant deux points A et D, les
valuations des arcs reprsentent des distances kilomtriques.
B

2
3

7
E

1
6

Il existe plusieurs chemins reliant le sommet A au sommet D, mais on veut trouver celui de
distance minimale.
On considre le tableau suivant qui donne tous les chemins issus du sommet A et leurs
longueurs:
Chemin issu du sommet A La longueur du chemin km
2
AB
5
ABC
6
AC
4
ABE
1
AE
7
ABCD
11
ABED
8
ACD
8
AED
Il en rsulte que le plus court chemin reliant A D est (ABCD), il a pour longueur 7km.
Le principe de la recherche d'un plus court chemin issu d'un sommet x vers un autre sommet
y dans un graphe G est de trouver tous les chemins lmentaires reliant x y et d'en choisir le plus
court.
3-1 Dfinitions:
a) Rseau:
Un rseau est un graphe G=(X,U) muni d'une application d : U qui chaque arc fait
correspondre sa longueur d(u), on note un tel rseau par: R=(X,U,d). En pratique, d(u) peut
matrialiser un cot, une distance, une dure, ..etc.
b) La longueur d'un chemin dans un rseau:
La longueur d'un chemin C dans un rseau R est gale la somme des longueurs des arcs
compts dans leur ordre de multiplicit dans le chemin (le nombre de fois qu'on parcourt ces arcs),
on le note par l (C ) d (u ) (u ) .
U C

On dfinit de la mme manire, la longueur d'un cycle, d'un circuit et d'une chane.
Exemple:
Dans le rseau prcdent, soit le chemin C=(A,B,C,D). Sa longueur est::
l (C ) d (u) (u) d ( AB) ( AB) d ( BC ) ( BC ) d (CD) (CD) 2 *1 3 *1 2 *1 7
U C

Dans le chemin C, l'ordre de multiplicit de chaque arc est de 1.

23

thorie des grAPhes


c) Plus courte distance:
Si un plus court chemin (chemin de longueur minimale) d'un sommet s un sommet x existe
dans un rseau. La longueur de ce plus court chemin sera appele " plus courte distance de s x" et
se notera (x ) .
Exemple:
Dans le rseau prcdent, il existe deux chemins de A B. Le plus court chemin est AB de
longueur 1, donc la plus courte distance de A B est ( B ) 1 .
d) Circuit absorbant:
Un circuit est dit absorbant si sa longueur est ngative: l (C ) d (u ) 0
F
U C
2
Exemple:
Dans le rseau suivant, le circuit C=(D,E,F,D) est absorbant car
-3
D
l (C ) 2 0 et plus on contourne le circuit, plus sa longueur
devient minimale.(tend vers ) ( dans ce cas on ne pourra pas
dterminer un plus court chemin.
-1
E
Dans cette leon, on s'intresse la recherche d'un plus court chemin, joignant un sommet s
donn chaque sommet x du rseau R=(X,U,d).
Ce type de problme admet une solution si et seulement si:
- s est une racine du rseau.
- Le rseau n'admet pas de circuit absorbant.
La solution de ce type de problme si elle existe est une arborescence des plus courts
chemins admettant s comme racine.
3-2 Algorithme de recherche d'un plus court chemin:
Plusieurs algorithmes existent pour rsoudre les problmes de recherche des plus courts
chemins dans un rseau, nous ne prsenterons que les mthodes qui paraissent le plus performantes.
a) Algorithme de Bellman:
On applique cet algorithme pour la recherche d'une arborescence de plus courts chemins dans
un rseau R=(X,U,d) sans circuit.
Le principe:
L'ide de l'algorithme de Bellman, est de calculer de proche en proche, l'arborescence des
plus courtes distances, issue du sommet s un sommet donn p. On ne calcule la plus courte distance
du sommet s y, que si on a dj calcul les plus courtes distances du sommet s tous les
prdcesseurs du sommet y.
Enonc:
Donnes: un rseau R=(X,U,d) sans circuit avec d (u ) R .
Rsultat: Arborescence de plus courtes distances A.
(0) Initialisation: Soit s un sommet de X, on pose S set ( s ) 0 et A .
(1) Chercher un sommet hors de S dont tous les prdcesseurs sont dans S.
- Si un tel sommet n'existe pas; Terminer
Dans se cas soit S=X, ou le sommet s n'est pas une racine dans R.
- Si un tel sommet existe; Aller en (2)
(2) On pose: ( x) Min ( I (u )) d (u ) .
Soit l'arc pour lequel ( x) ( I ( )) d ( )
A : A ; S : S x Aller (1)
24

thorie des grAPhes


Application:
Soit le rseau R=(X,U,d) suivant:
2
A

2
3

7
E

C
6
2
Initialisation:
Soit A un sommet de X. on pose S A; ( s ) 0; A .
- Itration 1:
Le sommet B est hors de S et tous ses prdcesseurs sont dans S, alors:
( B) ( A) d ( A, B) 0 2 ( A, B)

S S B A, B; A A ( A, B) ( A, B)
- Itration 2:
Les sommets E et C sont hors de S et tous leurs prdcesseurs sont dans S, alors:
( E ) Min( ( A) d ( A, E ); ( B ) d ( B, E )) Min(0 1;2 2) Min(1;4) 1 1 ( A, E )
(C ) Min( ( A) d ( A, C ); ( B ) d ( B, C )) Min(0 6;2 3) Min(6;5) 5 2 ( B, C )
S S E , C A, B , E , C ; A A ( A, E ), ( B, C ) ( A, B ), ( A, E ), ( B, C )
- Itration 3:
Les sommets D est hors de S et tous ses prdcesseurs sont dans S, alors:
( D ) Min ( ( E ) d ( E , D ); (C ) d (C , D )) Min (1 7;5 2) Min (8;7) 7 (C , D )
S S D A, B, E , C , D; A A (C , D) ( A, B ), ( A, E ), ( B , C ), (C , D)
On a: S=X; Terminer.
On obtient donc, l'arborescence des plus courtes distances:
B
2
C
A
D
5
7
E
1
b) Algorithme de Dijkstra:
On applique cette algorithme pour dterminer une arborescence des plus courtes distances sur
un rseau R=(X,U,d), o les longueurs des arcs sont positives ou nulles ( ( d (u ) 0u U ) .
Le principe:
L'ide de l'algorithme de Dijkstra est de calculer de proche en proche, l'arborescence des plus
courtes distances, issue du sommet s un sommet donn p. Une particularit de cet algorithme est
que les distances s'introduisent dans l'ordre croissant.
Enonc:
Donnes: Un rseau R=(X,U,d) avec d (u ) 0u U
Rsultat: Arborescence de plus courtes distances A.
(0) Initialisation: Soit s un sommet de X.
On pose : S s, ( s ) 0, ( x) , x X /s, A( s ) .et. s
/* est le dernier sommet introduit dans S
(1) Examiner tous arcs u dont l'extrmit initiale est gale ( I (u ) ) et l'extrmit
terminale n'appartient pas S(T(u)=y avec y S).
Si ( ) d (u ) ( y ) , on pose ( y ) ( ) d (u ) et A( y ) u Aller en (2).
(2) Choisir un sommet z S tel que ( z ) Min ( y ) / y S
25

thorie des grAPhes

Si (z ) ; Terminer. Le sommet s n'est pas une racine dans R.


Si (z ) ; on pose z et S S .
Si S=X; Terminer. A dfinit l'arborescence des plus courts chemins issus de s.
Si S X Aller en (1)
B
2
2
7
Application:
Soit le rseau R=(X,U,d) suivant:
E
D
1
3
A
C
6
Initialisation:
Soit A un sommet de X. on pose S A; ( A) 0; A( A) , A .
x A B C D E
(x ) 0
- Itration 1:
On examine les arcs (A,B) et (A,C)
( A) d (( A, B)) 0 2 2 ( B) ( B) 2; A( B ) ( A, B)

( A) d (( A, C )) 0 6 6 (C ) (C ) 6; A(C ) ( A, C )
x A B C D E
(x ) 0 2 6
( z ) Min ( y ) / y S Min ( B ), (C ), ( D ), ( E ) Min2,6, , 2 ( B ) Donc z=B
On pose alors: B; S A, B X ; A ( A, B )
- Itration 2:
On examine l'arc (B,E)
( B ) d (( B , E )) 2 2 4 ( E ) ( E ) 4; A( E ) ( B , E )
x A B C D E
(x ) 0 2 6 4
( z ) Min ( y ) / y S Min (C ), ( D ), ( E ) Min6, , 4 4 ( E ) Donc z=E
On pose alors: E ; S A, B , E X ; A ( A, B ), ( B, E )
- Itration 3:
On examine l'arc (E,C) et (E,D)
( E ) d (( E, C )) 4 1 5 (C ) 6 (C ) 5; A(C ) ( E, C )

( E ) d (( E, D)) 4 7 11 ( D) ( D) 11; A( D) ( E , D)
x A B C D E
(x ) 0 2 5 11 4
( z ) Min ( y ) / y S Min (C ), ( D ) Min5,11 5 (C ) Donc z=C
On pose alors: C ; S A, B, E , C X ; A ( A, B ), ( B, E ), ( E , C )
- Itration 4:
On examine l'arc (C,D)
(C ) d ((C , D )) 5 2 7 ( D ) 11 ( D ) 7; A( D ) (C , D )
x A B C D E
(x ) 0 2 5 7 4
( z ) Min ( y ) / y S Min ( D) ( D) 7 Donc z=D
On pose alors: D; S A, B, E , C , D X ; A ( A, B ), ( B, E ), ( E , C ), (C , D )

26

thorie des grAPhes


Enfin: S=X Terminer.
x A B C D E
(x ) 0 2 5 7 4
Les (x ) sont les plus courtes distances. L'arborescence de plus courts chemins, issue du
2
sommet A, dans le rseau est la suivante:
B
4
7
E
D
A
5
C
c) Algorithme gnral de Ford:
On applique l'algorithme gnral de Ford pour la recherche d'un plus court chemin sur un
rseau quelconque avec d(u) R.
Cet algorithme permet soit:
- De mettre en vidence un circuit absorbant si celui-ci existe.
- De dterminer une arborescence des plus courts chemins de racine s dans un rseau s'il ne
contient pas de circuit absorbant.
Le principe:
Le principe de l'algorithme gnral de Ford consiste amliorer une arborescence ralisable
(initiale) (X,A) de racine s jusqu' l'obtention d'une arborescence optimale des plus courts chemins,
issue de s si celle-ci existe.
Enonc:
Donnes: Un rseau R=(X,U,d) avec d(u) R.
Rsultat: Arborescence des plus courtes distances A.
(0) Initialisation: Soit (X,A) une arborescence de racine s dans le rseau R et (x ) les longueurs
des chemins de s x dans l'arborescence (X,A)
on utilise par exemple l'algorithme de Dijkstra pour obtenir l'arborescence ralisable (X,A).
(1) Chercher un arc u=(i,j) dans le rseau R, n'appartenant pas A, tel que:
(u ) ( j ) (i ) d (i, j ) 0
- Si un tel arc n'existe pas; Terminer, (X,A) est optimale.
- Si un tel arc existe; Aller (2)
(2) Tester Si (X, A u ) contient un circuit
- Si oui; examiner si ce circuit est absorbant (s'il l'est; terminer. Le problme n'admet pas de
solution).
- Sinon; Aller (3).
(3) Chercher un arc v A tel que T(v)=j=T(u). On pose: A A u/v
Soit X ' j {descendant de j dans l'arborescence A}.
On pose: ( y) ( y) (u).y X ' Aller en (1).
Application:
2
2
5
Soit le rseau R=(X,U,d) suivant:
2
3
2
2
-3
1
4
7
3
0
2
2
6
3
6
1
Ce rseau ne possde pas de circuit absorbant et le sommet 1 est une racine; alors ce problme admet
une arborescence des plus courts chemins.
27

thorie des grAPhes


Initialisation:
Soit A 1, 2, (1,3), (3,6), (6,4), ( 2,5), (5,7) une arborescence initiale.
3
5
2
2
5
2
3
2
0
5 2
-3
1
4
3
0
2
2

3
2

6
3

7
7

- Itration 1:
Dans le rseau R, les arcs n'appartenant pas A sont: (2,4), (2,3), (4,3), (4,5), (6,5), (6,7) tels que:
(2,3) (3) (2) d (2,3) 2 3 3 2
(2, 4) (4) (2) d (2,4) 5 3 3 0

(4,3) (3) (4) d (4,3) 2 5 0 3


(4,5) (5) (4) d (4,5) 5 5 2 2
(6,5) (5) (6) d (6,5) 3 5 3 3
(6,7) (7) (6) d (6,7) 7 3 6 2
L'arc u ( 2,3) A et (u ) 0 et A 2,3 ne contient pas de circuit, donc l'arc u=(2,3)
entre dans l'arborescence.
Soit l'arc v (1,3) A, T (v) 3 donc l'arc (1,3) sort de l'arborescence.
Soit X ' 3 {descendants de sommet 3 dans l'arborescence A}={3,4,6}
On pose:
(3) (3) (2,3) 2 2 0
(6) (6) (2,3) 3 2 1
(4) (4) (2,3) 5 2 3
On obtient ainsi la nouvelle arborescence A A u/v 1,2 , 2,5, 5,7 , 2,3, 3,6 , (6,4)
3
5
2
2
5
2
3
2
2
0
3
7
-3
1
4
7
3
0
2
2
6
3
6
1
- Itration 2:
1
0
Dans le rseau R, les arcs n'appartenant pas la nouvelle arborescence A sont: (2,4), (1,3), (4,3),
(4,5), (6,5), (6,7) tels que:
(1,3) (3) (1) d (1,3) 0 0 3 2
(2, 4) (4) (2) d (2,4) 3 3 2 2
(4,3) (3) (4) d (4,3) 0 3 0 3
(4,5) (5) (4) d (4,5) 5 3 2 0
(6,5) (5) (6) d (6,5) 5 1 3 1
(6,7) (7) (6) d (6,7) 7 1 6 0
L'arc u (6,5) A et (u ) 0 et A 6,5 ne contient pas de circuit, donc l'arc u=(6,5)
entre dans l'arborescence.
28

thorie des grAPhes


Soit l'arc v ( 2,5) A, T (v ) 5 donc l'arc (2,5) sort de l'arborescence.
Soit X ' 5 {descendants de sommet 5 dans l'arborescence A}={5,7}
On pose:
(5) (5) (6,5) 5 1 4

(7) (7) (6,5) 7 1 6


On obtient ainsi la nouvelle arborescence A A u/v 1,2 , 6,5, 5,7 , 2,3, 3,6 , (6, 4)
3
2
0

2
-3

1
2

4
5

3
4

6
7

6
6
1
1
0
- Itration 3:
Dans le rseau R, les arcs n'appartenant pas la nouvelle arborescence A sont: (2,4), (1,3), (4,3),
(4,5), (2,5), (6,7) tels que:
(1,3) (3) (1) d (1,3) 0 0 2 2
(2,4) (4) (2) d (2,4) 3 3 2 2
3

(4,3) (3) (4) d (4,3) 0 3 0 3


(4,5) (5) (4) d (4,5) 4 3 2 1
(2,5) (5) (2) d (2,5) 4 3 2 1
(6,7) (7) (6) d (6,7) 6 1 6 1
Il n'existe aucun arc u n'appartient pas A et (u ) 0 . Do l'arborescence dj trouve est
optimale.
L'arborescence optimale est A 1, 2, 6,5, 5,7 , 2,3, 3,6, ( 6,4)
3
2
0
1

4
5
3
4

-3
3

2
3

6
7

6
1
0
Remarque:
La recherche d'un plus long chemin sur le rseau R=(X,U,d) revient rechercher un plus
court chemin sur R=(X,U,-d).
On peut utiliser l'algorithme de Dijkstra.
1

29

thorie des grAPhes

chAPitre 4: le Problme du flot mAximum


Le problme du flot maximum peut correspondre un problme d'acheminement de tonnages
disponibles sur des bateaux, des camions, des wagons ou des canalisations, des voies de
transmission ...etc, vers une destination. Par exemple, l'alimentation journalire d'une ville en gaz
peut tre considre comme un problme de flot maximum, si on s'intresse la quantit maximale
de gaz que cette ville peut recevoir.

1- Dfinitions:
Rseau de transport:
Un rseau de transport est un graphe sans boucles, o chaque arc est valu par un nombre positif
c(u) appel capacit de l'arc u. Ce rseau comporte un sommet sans prdcesseurs appel "l'entr du
rseau" ou "la source" et autre sommet sans successeurs appel "la sortie de rseau" ou "le puits".
On note un rseau par R=(X ,U,C).
Exemple:
3
La capacit
de l'arc (s,x1)

x1

x3

3
s

L'entr
du rseau

x4
4

x2

La sortie
du rseau

Flot:
Un flot "f" dans un rseau de transport, associe chaque arc u une quantit f(u) qui
reprsente la quantit de flux qui passe par cet arc en provenance de la source vers le puits.
Remarque:
Un flot est conservatif, s'il obit la rgle de Kirchoff aux nuds (aux sommets) suivantes:
la somme des quantits de flux sur les arcs entrant dans un sommet doit tre gale la somme des
quantits de flux sur les arcs sortant de ce mme sommet.
Exemple:
1
2 x1
s
1
Dans le graphe, la quantit de flux rentrant dans x1 est gale la somme des quantits de flux
sortant de x1. La quantit de flot a pour valeur 2. La loi de Kirchoff est vrifie au sommet x1.
Flot compatible:
Un flot est compatible dans un rseau si pour tout arc u=(x,y), 0f(u)c(u), autrement dit
pour chaque arc u, le flux qui le traverse ne dpasse pas sa capacit. On retiendra dans ce qui suit la
reprsentation suivante:
y

x
La capacit
de l'arc u

c(u);f(u)

Le flux qui
traverse de l'arc u

30

thorie des grAPhes


1;1

Exemple:
Soit le rseau R=(X,U,C) suivant:

x1

2;2

x3

6;1

3;1
s

p
x4
x2

4;2

7;3

2;2

Dans le rseau R, le flot qui traverse chaque arc ne dpasse pas sa capacit, alors se flot est
compatible.
Flot complet:
Un flot est complet si pour tout chemin allant de la source au puits il y'a au moins un arc
satur, c'est--dire: le flux qui le traverse est gal sa capacit (f(u)=c(u)).
Exemple:
Dans la figure prcdente, on a 3 chemins qui mnent de s p pour lesquels on a au moins un
arc satur. Le flot est complet.
Arc satur

Premier chemin:

4;2

x2

2;2

x4

7;3

Arcs saturs

Deuxime chemin:
s

2;2

Troisime chemin:

x1

1;1

x3

6;1

x3

7;3

Arc satur

2;2

x1

3;1

2- Le problme de la recherche du flot maximum:


Le problme de flot maximum consiste trouver la quantit maximum de flot acheminer de la
source s vers le puits p, en tenant compte des capacits de transport et de la quantit disponible en s.
Algorithme de Ford et Fulkerson pour la recherche d'un flot maximum:
L'algorithme le plus connu pour rsoudre ce problme est celui de Ford et Fulkerson.
Le principe:
L'ide de l'algorithme de Ford et Fulkerson est de faire passer un flot compatible dans le
rseau, le plus vident est le flot nul, puis l'amliorer jusqu' ce qu'on obtienne un flot complet.
Une chaine pour laquelle le flot peut tre augment est une chaine dont les arcs dans le sens
direct n'ont pas atteint leur limite et les arcs dans le sens indirect ont un flux non nul qui les traverse.
Autrement dit: une chaine C est dite augmentante si:
- Pour tout arc u direct de C, c'est--dire : ( ) < ( )
- Pour tout arc u indirect de C, c'est--dire : ( ) > 0
Le flot sur cette chaine C peut tre augment de la valeur suivante:
} et { ( )/
}
{ ( ) ( )/
=
Pour amliorer le flot, on ajoute au flot des arcs C+, c'est--dire les arcs directs dans la
chaine, et on retranche au flot des arcs de C-, c'est--dire, les arcs indirects, dans la chaine.
31

thorie des grAPhes


Exemple:
Voici une chaine C reliant les sommets s et p prise d'un rseau de transport dont le flot peut
tre augment:
3;1
x1 4;2 x2 3;1
s
4;1
p
x3
Dans la chaine on a:
- Les arcs dans le sens direct
= {( , ), ( , ), ( , )} n'ont pas attient leur limite:
( ) < ( ).
- Les arcs dans le sens indirect
= {( , )} ont un flux non nul ; ( ) > 0.
Do la chaine C est augmentente.
Le flot sur cette chaine peut tre augment de la valeur suivante:
} ; { ( )/
}]
=
[ { ( ) ( )/
= Min[3-1;4-2;4-1;1]=1
On augmentera donc le flot de cette chaine de 1, ce qui signifie:
- Augmenter de 1 le flux entre s et x1.
- Augmenter de 1 le flux entre x1 et x2.
- Diminuer de 1 le flux entre x3 et x2.
- Augmenter de 1 le flux entre x3 et p.
On obtient alors le nouveau flot sur la chaine:
s

3;2

x1

4;3

x2

3;0

x3

4;2

On remarque que pour les arcs en sens inverse, amliorer le flot signifie rduire le flux les
traversant. Entre x3 et x2, le flux est rduit d'une unit pour permettre l'arrive d'une unit de flux sur
x2 par x1 en augmentant le flux entre x1 et x2 d'une unit et ceci en conservant la loi de kirchoff au
sommet x2.
Enonc:
Donnes: un 1-graphe valu G=(X,U,c); f un flot maximum.
Rsultat: un flot f complet.
(0) Initialisation: Marquer un sommet s et poser:
= ;
= ;
= 0; = { }; 0
(1) Soit A l'ensemble des sommets marqus et soit x un sommet de A:
Marquer le sommet y successeur de x tel que ( , ) < ( , )
On pose:

{( , )}; { }
Marquer le sommet y prdcesseur de x tel que ( , ) > 0
On pose:

{( , )}; { }
Quand on ne peut plus marquer, deux cas se prsentent:
1- p est marqu aller en (2)
2- p n'est pas marqu, termin le flot est maximum.

de s p.
(2) On a obtenu une chaine augmentante =
Pour amliorer le flot on calcule:
[ ( ) ( );
]

=
[ ( );
]

=
{ , }
Do =
On dfinit le nouveau flot:
( )+
( )=
( )
( )

Effacer les marques sauf en s, et aller en (1).


32

thorie des grAPhes


Application:
Une usine gaz alimente une ville V par l'intermdiaire du rseau de distribution ci-dessous.
Les nombres associs aux arcs reprsentent les capacits de transport.
3
x1
5
x3
8
7
4
g
V
x4
4
x2
6
5
On voudrait connaitre la quantit maximale que peut couler l'usine. Ce qui revient
chercher un flot maximum sur le rseau.
- Initialisation:
On marque le sommet g (entr du rseau R) par le signe +.
On pose : = { };

=
= 0; un flot dfini sur le rseau R, k=0
3;0
x
1
5;0
x3
8;0
7;0
+
4;0
g
V
x4
4;0
x2
6;0
5;0
Le rseau R aprs dfini le flot f 0
- Itration 1:
Dans le rseau R, on suit la procdure de marquage suivante:
- On marque le sommet x1 d'un +, car il est successeur de g et ( , ) = 0 < ( , ) = 5
On pose:
=
{( , )} = {( , )}; = { } = { , }.
- On marque le sommet x3 d'un +, car il est successeur de x1 et ( , ) = 0 < ( , ) = 3
On pose:
=
{( , )} = {( , ), ( , )}; = { } = { , , }.
- On marque le sommet V d'un +, car il est successeur de x3 et ( , ) = 0 < ( , ) = 8
On pose:
=
{( , )} = {( , ), ( , ), ( , )}; = { } = { , , , }.
Le sommet V tait marqu, la procdure s'arrte. On obtient donc la chaine augmentante
=

=
= {( , ), ( , ), ( , )} reliant le sommet g et V
+
g

5;0

+
x1

3;0

+
x3

8;0

+
V

[ ( ) ( );
]
=
[ ( , ) ( , ); ( , ) ( , ); ( , ) ( , )]
=
[5 0; 3 0; 8 0] = 3
=
On amliore ainsi le flot f 0 pour obtenir un nouveau flot f 1, en ajoutant la quantit
des arcs de C +. Le flux des arcs n'appartenant pas la chaine, reste inchang.
On calcule:

5;3
Le rseau R aprs avoir
dfini le nouveau flot f 1

+
x1

3;3

Arc satur

+
x3

8;3

7;0

+
g

au flot

4;0
x4
6;0

x2

5;0

+
V

4;0
33

thorie des grAPhes


On efface les marques sauf en g.
- Itration 2:
Dans le rseau R, on suit la procdure de marquage suivante:
- On marque le sommet x1 d'un +, car il est successeur de g et ( , ) = 3 < ( , ) = 5
=
{( , )} = {( , )}; = { } = { , }.
On pose:
( , )= ( , )=3
Le sommet x3 est le successeur de x1, mais l'arc (x1,x3) est satur
Donc, on ne peut pas marquer x3 (on abandonne ce marquage).
- On marque le sommet x2 d'un +, car il est successeur de g et ( , ) = 0 < ( , ) = 6
On pose:
=
{( , )} = {( , )}; = { } = { , }.
- On marque le sommet x3 d'un +, car il est successeur de x2 et ( , ) = 0 < ( , ) = 7
On pose:
=
{( , )} = {( , ), ( , )}; = { } = { , , }.
- On marque le sommet x4 d'un +, car il est successeur de x3 et ( , ) = 0 < ( , ) = 4
On pose:
=
{( , )} = {( , ), ( , ), ( , )}; = { } = { , , , }.
- On marque le sommet V d'un +, car il est successeur de x4 et ( , ) = 0 < ( , ) = 4
On pose:
=
{( , )} = {( , ), ( , ), ( , ), ( , )}; = { } =
{ , , , , }.
Le sommet V est marqu, on arrte le marquage. La chaine obtenue est augmentante
=

=
= {( , ), ( , ), ( , ), ( , )}, et relie les deux sommets g et V
+
g

6;0

+
x2

7;0

+
x3

4;0

+
x4

4;0

+
V

[ ( ) ( );
( , ) ( ,

]
); ( , ) ( , ); ( , ) ( , );
=
( , ) ( , )
[6 0; 7 0; 4 0; 4 0] = 4
=
On amliore ainsi le flot f 1 pour obtenir un nouveau flot f 2, en ajoutant la quantit
des arcs de C +. Le flux des arcs n'appartenant pas la chaine, reste inchang.
3;3
+
x1
5;3
x3
8;3
7;4
+
+
4;4
g
V
x4
+
4;4
x2
6;4
5;0
On calcule:

au flot

Le rseau R aprs dfini le flot f 2


On efface les marques sauf en g.
- Itration 3:
Dans le rseau R, on suit la procdure de marquage suivante:
- On marque le sommet x2 d'un +, car il est successeur de g et ( , ) = 4 < ( , ) = 6
On pose:
=
{( , )} = {( , )}; = { } = { , }.
- On marque le sommet x4 d'un +, car il est successeur de x2 et ( , ) = 0 < ( , ) = 5
On pose:
=
{( , )} = {( , ), ( , )}; = { } = { , , }.
- On marque le sommet x3 d'un +, car il est prdcesseur de x4 et ( , ) = 4 > 0
On pose:
=
{( , )} = {( , )}; = { } = { , , , }.
- On marque le sommet V d'un +, car il est successeur de x3 et ( , ) = 5 < ( , ) = 8
On pose:
=
{( , )} = {( , ), ( , ), ( , )}; = { } = { , , , , }.
34

thorie des grAPhes


Le sommet V est marqu, on arrte le marquage. La chaine obtenue est augmentante

= {( , ), ( , ), ( , ), ( , )}, et relie les deux sommets g et V


=
+
g

6;4

+
x2

5;0

+
x4

4;4

+
x3

8;5

+
V

[ ( ) ( );
]
=
[ ( , ) ( , ); ( , ) ( , ); ( , ) ( , )]
=
[6 4; 5 0; 8 5] = 2
=
[ ( );
]
=
(
)]
[
,
=4
=
= min[ , ] = min[2,4] = 2
On amliore ainsi le flot f 2 pour obtenir un nouveau flot f 3, en ajoutant la quantit au flot
des arcs de C + et retranchant la quantit au flot des arcs C-. Le flux des arcs n'appartenant pas la
chaine, reste inchang.
3;3
+
x1
5;3
x3
8;5
7;4
+
+
4;2
g
+
V
x4
+
4;4
x2
6;6
5;2
On calcule:

Le rseau R aprs dfini le flot f 3


On efface les marques sauf en g.
- Itration 4:
Dans le rseau R, on ne peut pas marquer le sommet V. Donc le flot obtenu est maximum, on
le reprsente comme suit:
Arcs
flux

(g,x1)
3

(g,x2)
6

(x1,x3) (x2,x3) (x2,x4) (x3,x4)


3
4
2
2

(x3,V)
5

(x4,V)
4

La valeur du flot maximum est gale celle des flux sortant de la source g, ou la somme des
valeurs des flux entrant au puits p.
C'est--dire:
= ( ( , )/ ( )) = ( ( , )/ ( ))
La production maximale que peut couler l'usine g vers la ville V:
= ( , ) + ( , ) = 5 + 4 = 9 ou
= ( , )+ ( , )= 3+6= 9
Remarque 1:
Pour acclrer le processus de rsolution de problme de recherche de flot maximum, on
dmarre avec un flot au jug, et on essaie de le rendre complet.
Un flot au jug, consiste envoyer une matire partir du sommet s, et de la distribuer sur le
rseau tout en respecter la conservation de la matire en chaque sommet. On applique ensuite
l'algorithme de Ford et Fulkerson avec comme flot de dpart, le flot complet obtenu.
Remarque 2:
Lors de l'application de l'algorithme de Ford et Fulkerson; on peut dterminer dans un
premier temps un flot complet, c'est--dire, dterminer toutes les chaines augmentantes qui sont des
chemins, puis dans un second temps, chercher toutes celles qui permettront de rendre le flot complet
maximum.

35

thorie des grAPhes

chAPitre 5: le Problme d'ordonnAncement


La gestion d'un projet compos de plusieurs tches, prsente de grands problmes quant
l'tablissement d'un calendrier du droulement et du contrle de leur excution. C'est ainsi que
sont apparus les problmes d'ordonnancement dans la planification des projets, et ce dans le but de
gagner du temps dans leur ralisation (minimiser la dure de ralisation d'un projet) compte tenu des
contraintes d'antriorit reliant les diffrentes tches. C'est--dire, une tche ne peut commencer que
si une, ou plusieurs prennent fin.
Rsoudre un problme d'ordonnancement, c'est d'abord donner l'ordre, dans lequel doivent
tre excutes les tches, de faon minimiser, la dure d'excution totale du projet, tout en
satisfaisant les conditions d'antriorit. A partir de cette planification, nous constatons qu'un retard
dans la ralisation de certaines tches n'influencera pas sur la dure du projet, alors que d'autres
tches dites critiques retardent le projet au moindre retard local.
Deux grandes mthodes sont utilises pour rsoudre un problme d'ordonnancement de
projet, on a la mthode amricaine CPM (Critical Path Method) avec sa variation PERT (Program
Evaluation and Review Technique) et la mthode franaise MPM (mthode des potentiels). Nous
nous intresserons la mthode de PERT.

1- La reprsentation du rseau PERT :


La mthode PERT consiste reprsenter un problme d'ordonnancement de projet par un
graphe dit rseau PERT ou diagramme vnement-tche, qu'on note R=(X,U,d) o:
Un arc correspond une tche.
La valeur d'un arc u reprsente la dure d'une tche d(u).
Un sommet est un vnement signifiant le dbut ou la fin d'une ou plusieurs tches.
Exemple:

La tche a

La dure de
la tche a

a;6

Dbut de la tche a

Fin de la tche a

Remarque:
Soit R=(X,U,d) un rseau PERT.
La succession de deux tches consistera en premier lieu ajouter une tche fictive de dure
nulle pour indiquer que l'vnement fin de la premire tche concide avec l'vnement dbut de la
tche suivante, on distinguera les deux cas suivants:
Premiers cas:
Soit a et d deux tches du rseau R, telles que la tche a prcde la tche d.
La reprsentation des deux tches par un arc fictif:
da: dbut de la tche a.
fa: fin de la tche a.

Un arc fictif

da

fa

dd

fd

d;2
a;6
u1;0
L'arc u1 correspond la tche fictive de dure nulle.

36

thorie des grAPhes


La reprsentation des deux tches sans arc fictif:
Pour simplifier le graphe, on peut supprimer la tche fictive, et obtenir ainsi la reprsentation
ci-dessous.
fd
dd
da
a;6

d;2

Deuxime cas:
Soit a, b, c et d trois tches de R telle que:
La tche a prcde les tches d et c.
La tche b prcde la tche c.
La premire reprsentation des tches est comme suit:
da

a;6

fa

fb

db

u1;0
u2;0

dd

fd

fc

dc

u3;0

b;3

d;2

c;1

Les tches fictives u1 et u3 peuvent tre supprimes alors que u2 est ncessaire; elle signifie
que a procde c en mme temps que d, tout en vitant la confusion quant l'antriorit unique de a
par rapport d, on obtient ainsi la reprsentation suivante:
da

a;6

dd

d;2

fd

u1;0
fc

dc

db
b;3

c;1

Remarque:
On rajoute deux sommets D et F au rseau de PERT pour reprsenter respectivement le dbut
et la fin du projet. La reprsentation graphique est ordonne par niveaux des sommets (des
vnements).
Exemple:
Un projet est compos de 6 tches dont les dures de ralisation et les contraintes
d'antriorit (de prcdence) sont donnes dans le tableau suivant:
Tches
a
b
c
d
e
f

Tches prcdentes
b-a
a
d
c

Dures des tches


6
3
1
2
4
1

Il s'agit de trouver un calendrier de droulement des tches, c'est--dire dterminer les dates
de dmarrage de chaque tche, qui minimisant le temps total de ralisation du projet et d'indiquer les
tches critiques.
37

thorie des grAPhes


La reprsentation graphique du problme est le rseau PERT R=(X,U,d) suivant:
a;6
D

x1

d;2

x3

e;4
F

u1;0
b;3

x4

x2

f;1

c;1
Les tches a et b ne sont prcdes par aucune tche, alors le dbut de ces tches concident
avec le dbut de projet (D), de mme, les tches e et f ne sont suivies par aucune tche, alors la fin
de ces tches concident avec la fin du projet (F).

2- La dtermination du calendrier des dates au plus tt et des dates au plus tard :


2-1 Le calendrier des dates au plus tt des vnements :
Une fois qu'on aura tabli le rseau de PERT, on pourra dterminer pour chaque vnement
la date laquelle il peut au plus tt se raliser, autrement dit, la date de dbut au plus tt de chaque
tche.
On considre la date de dbut de l'vnement D (dbut du projet) gale 0.
Un vnement x ne se ralise que si tous les vnements le prcdant se sont raliss.
On calcule alors la longueur maximale du chemin aboutissant x.
La date au plus tt d'un vnement x note tx se calcule comme suit
=
+ ( , )/ ( ) ; Le max tant pris sur les prdcesseurs de x.
Exemple:
Dans le rseau de PERT prcdent, les dates au plus tt des vnements se calcule comme suit:
=0
= + ( ) =0+6 =6
= max
+ ( );
+ ( ) = max [0 + 3; 6 + 0] = 6
=
+ ( )=6+2 =8
=
+ ( )=6+1 =7
= max
+ ( );
+ ( ) = max [8 + 4; 7 + 1] = 12
Remarque:
Pour le sommet F fin du projet, tf correspond la dure minimale de ralisation du projet.
2-2 Le calendrier des dates de dbut au plus tt des vnements :
La date de dbut au plus tt de la tche a gale la date au plus tt de l'vnement d'o elle
est issue, on la note Ta;
Ta=tx si la tche a est issue de l'vnement x.
x
a
y
Exemple:
Dans le rseau de PERT prcdent, les dates de dbut au plus tt des tches sont:
Ta=tD=0; Tb=tD=0; Tc=tx2=6; Td=tx1=6; Te=tx3=8; Tf=tx4=7;

38

thorie des grAPhes


Pour chaque vnement, on a obtenu la date laquelle il peut se raliser au plus tt, ce qui
permet la planification des tches une plus petite dure possible du projet, soit 12 jours.
On reprsente sur le rseau R les dates au plus tt des vnements.

a;6

6
x1

d;2

8
x3

e;4

0
D

F 12

u1;0
b;3

x4

x2
6

c;1

f;1

2-3 Le calendrier des dates au plus tard des vnements :


De la mme manire on va dterminer la date laquelle un vnement peut au plus tard se
dlais prvus. Pour cela, connaissant la date de fin du projet on pourra dterminer la date au plus tard
laquelle les vnements peuvent se raliser.
Dans l'exemple, l'vnement F se ralise la date 12, cela signifie que la tche e de dure 4
doit dmarrer au plus tard la date 8=12-4.
Si un vnement a plusieurs successeurs, on calculera le minimum de la diffrence entre la
date au plus tard de ces vnements moins la dure des tches qui y aboutissent. On note la date au
plus tard d'un vnement par t*x.
t*F=tF pour le sommet fin du projet

=
( , )/ (x) ; Le min tant pris sur les successeurs y de x.
Exemple:
Dans le rseau de PERT prcdent, les dates au plus tard des vnements ce calcul comme suit:

= = 12

= ( ) = 12 4 = 8

= ( ) = 12 1 = 11

= ( ) = 11 1 = 10

=
[ ( ); ( )] =
[10 0; 8 2] =6

=
[ ( ); ( )] =
[6 6; 10 3] =0
2-4 Le calendrier des dates de dbut au plus tard des tches :
La date de dbut au plus tard de la tche a est gale la date au plus tard de l'vnement
auquel elle aboutit, diminue de la dure de la tche. On la note T*a tel que: T *a =t*y-d(x,y).
x
a
y
Exemple:
Dans le rseau de PERT prcdent, les dates de dbut au plus tard des tches sont calcules
comme suit:
T*f =t *F-d(f)=12-1=11.
T*e =t*F-d(e)=12-4=8.
T*d =t*x3-d(d)=8-2=6.
T*c =t*x4-d(c)=11-1=10.
T*b =t*x2-d(b)=11-3=8.
T*a =t*x1-d(a)=6-6=0.

39

thorie des grAPhes


On dtermine sur le rseau R les dates au plus tard des vnements.

La date au plus tard


de l'vnement x3

La date au plus tt
de l'vnement x1

[6;6]
x1

a;6
[0;0]

d;2

[8;8]
x3

e;4
F [12;12]

u1;0
b;3

x4

x2
[6;10]

c;1

f;1

[7;11]

3- Analyse et identification des tches critiques:


Une fois la date au plus tard et la date au plus tt de chaque vnement calcul, on peut
analyser la situation. La date au plus tt fournir la date planifie pour chaque vnement et les dates
au plus tard indiquent de combien un vnement peut tre retard sans retarder le projet, ceci permet
d'identifier les tches critiques.
Une tche i correspondant l'arc (x,y) peut voir sa dure augmente d'un dlai:
(i)=t*y-tx-d(i)=T *i-Ti sans que ce retard ne se rpercute ncessairement sur la dure de ralisation de
projet.
3-1 Tche critique :
Une tche dite critique si tout retard dans son excution se rpercute automatiquement sur la
dure de ralisation du projet, en d'autres termes, une tche est critique si sa date de dbut et sa date
de fin sont critiques, et si la diffrence entre la date de dbut et la date de fin est gale la dure de
la tche.
Autrement dit, une tche est critique si (i)=0.
Remarque:
Il est noter que, sur le plus long chemin de D F, toutes les tches sont critiques; ce chemin
est dit alors chemin critique.
Exemple:
Dans le rseau R: Ta=T*a=0; Td=T*d=6; Te=T*e=8, donc les tches a,d et e sont critiques. Le
chemin critique est donc le chemin (D,x1,x3,F), de longueur 12 (longueur maximale).

[6;6]
a;6
[0;0]

x1

d;2

[8;8]
x3

Tches critique

e;4
F [12;12]

40

thorie des grAPhes

3-2 Calcule des marges et de l'intervalle de flottement :


3-2-1 Intervalle de flottement:
Chaque tche a une date de dbut au plus tt, et une date de dbut au plus tard, le dmarrage
de cette tche peut intervenir entre ces deux dates sans compromettre la date fin du projet.
L'intervalle de flottement d'un vnement est gal la diffrence entre la date de dbut au plus tt et
la date de dbut au plus tard de la tche.
Exemple:
Dans le rseau R:
- La tche "f" a une date au plus tt gale 7, et une date au plus tard gale 11, donc
l'intervalle de flottement de l'vnement dbut de f est [7;11].
- La tche "c" dbute au plus tt le 6me jour, et au plus tard le 10me jour du dbut de projet,
donc l'intervalle de flottement est de [6;10], ce qui fait que la tche c peut dbuter entre le 6me
jour et le 10me jour sans retarder la date de fin du projet.
3-2-2 Les marges:
Le responsable du projet peut se pencher aussi sur le degr de libert dont il dispose pour
ventuellement augmenter la dure d'une tche sans compromettre la dure totale du projet; on
distingue trois types de marges:
La marge libre:
Note Ml(u), c'est le retard maximum que l'on peut apporter au dmarrage d'une tche sans
perturber la date de ralisation au plus tt de l'vnement suivant:
Soit une tche i reprsente par l'arc u=(x,y).
i;d(i)
Ml(i)=ty-tx-d(i)
y
x
[ty;t*y]

[tx;t*x]

Exemple:
On considre la tche f du rseau R, la marge libre de f est Ml(c)=12-7-1=4
x4

f;1

F
[12;12]

[7;11]

Le dmarrage de la tche f peut tre retard au maximum de 4 jours sans perturber la fin au
plus tt le projet.
La marge totale:
Note Mt(u), c'est le retard maximum qu'on peut apporter au dmarrage d'une tche sans
perturber la date fin du projet.
Soit une tche i, reprsente par l'arc u=(x,y).
Mt(i)=t *y-tx-d(i)=T *a-Ta
i;d(i)
y
x
[ty;t*y]
[tx;t*x]
Exemple:
On considre la tche c du rseau R, la marge totale de c est Mt(c)=11-6-1=4
x2
[6;10]

c;1

x4
[7;11]

41

thorie des grAPhes

La marge certaine:
Note Mc(u), c'est le retard maximum que l'on peut apporter au dmarrage d'une tche sans
perturber la ralisation au plus tt de l'vnement suivant bien que l'vnement prcdent n'a t
raliser qu' sa date limite.
Soit une tche i, reprsente par l'arc u=(x,y).
Mc(i)=ty-t*x-d(i)
i;d(i)
y
x
[ty;t*y]
[tx;t*x]
Exemple:
On considre la tche f du rseau R, la marge certaine de f est Mc(f)=12-11-1=0
x4
[7;11]

f;1

F
[12;12]

42

You might also like