Professional Documents
Culture Documents
+
(x
i
) = {x
j
X | u = (x
i
, x
j
) U}
Par exemple, pour la gure 1,
+
(x
1
) = {x
3
, x
4
, x
5
} et
+
(x
3
) = {x
3
, x
5
}.
Prdcesseur. On dit que x
j
est prdcesseur de x
i
si (x
j
, x
i
) U (c--d sil existe
un arc ayant x
j
comme extrmit initiale et x
i
comme extrmit nale). Lensemble
des successeurs de x
i
est not
(x
i
).
(x
i
) = {x
j
X | u = (x
j
, x
i
) U}
Par exemple, pour la gure 1,
(x
1
) =
et
(x
3
) = {x
1
, x
3
, x
5
}.
Sommets adjacents. On dit que x
i
est adjacent x
j
sil est prdcesseur ou
successeur de x
j
. Ces sommets peuvent aussi tre dits voisins. Lensemble des
voisins de x
i
est not (x
i
).
(x
i
) =
+
(x
i
)
(x
i
)
Ainsi sur la gure 1 on voit que : X = {x
1
, x
2
, x
3
, x
4
, x
5
, x
6
} et
+
(x
1
) = {x
3
, x
4
, x
5
}
(x
1
) =
(x
1
) = {x
3
, x
4
, x
5
}
+
(x
2
) = {x
6
}
(x
2
) = {x
6
} (x
2
) = {x
6
}
+
(x
3
) = {x
3
, x
5
}
(x
3
) = {x
1
, x
3
, x
5
} (x
3
) = {x
1
, x
3
, x
5
}
+
(x
4
) =
(x
4
) = {x
1
, x
5
} (x
4
) = {x
1
, x
5
}
+
(x
5
) = {x
3
, x
4
, x
5
}
(x
5
) = {x
1
, x
3
, x
5
} (x
5
) = {x
1
, x
3
, x
4
, x
5
}
+
(x
6
) = {x
2
}
(x
6
) = {x
2
} (x
6
) = {x
2
}
Degr. Soit x
i
un sommet du graphe G.
Le demi-degr extrieur de x
i
, not d
+
(x
i
), est le nombre darcs ayant x
i
comme
extrmit initiale.
Le demi-degr intrieur de x
i
, not d
(x
i
), est le nombre darcs ayant x
i
comme
extrmit nale.
Le degr de x
i
est d(x
i
) = d
+
(x
i
) + d
(x
i
).
Remarque : dans le cas dun 1-graphe, on a d
+
(x
i
) = |
+
(x
i
)| et d
(x
i
) = |
(x
i
)|.
1 lments de thorie des graphes 6
p-graphe. Dans la squence U, il peut y avoir plusieurs couples identiques. Un
p-graphe est un graphe dans lequel il nexiste jamais plus de p arcs de la forme (i, j)
entre deux sommets quelconques.
1
2 3
1
2 3
3-graphe 1-graphe
Remarque : Sur la gure 1, par exemple, on voit que u
4
= (5, 4) et u
5
= (5, 4). Le
graphe G de la gure 1 est donc au moins un 2-graphe. Comme il ny pas dautres
couples identiques, G est un 2-graphe.
Sauf spcication contraire, tous les graphes considrs dans la suite seront
supposs tre des 1-graphes. Dans ce cas, on convient dassimiler U un ensemble
de couples (x
i
, x
j
), c--d une partie du produit cartsien X X.
1.2. Matrice dun graphe
Un 1-graphe G peut tre dnit par le couple (X, U). Il est aussi dtermin par la
donne de X et lapplication
+
(ou
_
_
_
0 1 1
1 0 0
1 0 0
_
_
_
=
_
_
_
0 1 1
1 1 1
1 1 1
_
_
_
Les proprits des deux matrices particulires = (
ij
) o
ij
= 0 et = (
ij
) o
ij
= 1 sont videntes :
A = A, est la matrice nulle (lment neutre)
A = , est absorbante
Dnition 4 Le produit boolen des matrices seffectue comme le produit habituel sauf que
les sommes et produits de rels sont remplacs par des sommes et produits boolens.
par exemple :
_
_
_
0 1 0
1 1 0
0 1 0
_
_
_
_
_
_
0 1 1
1 0 0
1 0 0
_
_
_
=
_
_
_
1 0 0
1 1 1
1 0 0
_
_
_
La matrice I = (
ij
)
ij
=
_
0 si i = j
1 si i = j
est lment neutre du produit boolen.
Dnition 5 Une puissance dordre p de la matrice boolenne Asera note
A
[p]
= AA A
. .
p fois
1 lments de thorie des graphes 8
Par exemple, si A =
_
_
_
0 1 0
1 1 0
0 1 0
_
_
_
, alors A
[2]
=
_
_
_
0 1 0
1 1 0
0 1 0
_
_
_
_
_
_
0 1 0
1 1 0
0 1 0
_
_
_
=
_
_
_
1 1 0
1 1 0
1 1 0
_
_
_
A
[3]
=
_
_
_
0 1 0
1 1 0
0 1 0
_
_
_
_
_
_
1 1 0
1 1 0
1 1 0
_
_
_
=
_
_
_
1 1 0
1 1 0
1 1 0
_
_
_
On en dduit que pour tout p 2, A
[p]
= A
[2]
.
Existence dun chemin de longueur donne Soit G un 1-graphe dordre n et M
sa matrice associe. La matrice M
[p]
(p n) permet de dterminer lexistence dun
chemin de longueur p dun sommet x
i
un sommet x
j
: Llment a
ij
de la matrice
M
[p]
vaut
a
ij
=
_
_
_
0 sil nexiste pas de chemin de longueur p de x
i
vers x
j
1 sil existe un chemin de longueur p de x
i
vers x
j
Considrons le graphe suivant :
x
1
x
2
x
3
x
4
x
5
x
6
x
7
On a
M
[1]
=
_
_
_
_
_
_
_
_
_
_
_
_
_
0 1 0 0 0 0 0
0 0 1 1 1 0 0
0 0 0 1 0 1 1
0 0 0 0 1 1 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
1 0 0 0 0 0 0
_
_
_
_
_
_
_
_
_
_
_
_
_
M
[2]
=
_
_
_
_
_
_
_
_
_
_
_
_
_
0 0 1 1 1 0 0
0 0 0 1 1 1 1
1 0 0 0 1 1 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 1 0 0 0 0 0
_
_
_
_
_
_
_
_
_
_
_
_
_
M
[3]
=
_
_
_
_
_
_
_
_
_
_
_
_
_
0 0 0 1 1 1 1
1 0 0 0 1 1 0
0 1 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 1 1 1 0 0
_
_
_
_
_
_
_
_
_
_
_
_
_
1 lments de thorie des graphes 9
M
[4]
=
_
_
_
_
_
_
_
_
_
_
_
_
_
1 0 0 0 1 1 0
0 1 0 0 0 0 0
0 0 1 1 1 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 1 1 1 1
_
_
_
_
_
_
_
_
_
_
_
_
_
M
[5]
=
_
_
_
_
_
_
_
_
_
_
_
_
_
0 1 0 0 0 0 0
0 0 1 1 1 0 0
0 0 0 1 1 1 1
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
1 0 0 0 1 1 0
_
_
_
_
_
_
_
_
_
_
_
_
_
M
[6]
=
_
_
_
_
_
_
_
_
_
_
_
_
_
0 0 1 1 1 0 0
0 0 0 1 1 1 1
1 0 0 0 1 1 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 1 0 0 0 0 0
_
_
_
_
_
_
_
_
_
_
_
_
_
1.3. Graphe non orient
Lors de ltude de certaines proprits, il arrive que lorientation des arcs ne joue
aucun rle. On sintresse simplement lexistence de lignes continues entre deux
sommets. Une ligne continue sans orientation, joignant x
i
et x
j
, est appel arte
quon note e = [x
i
, x
j
].
1 2
Arete
Si E est lensemble des artes, on parle alors du multigraphe G = (X, E). Un
multigraphe est par ailleurs appel un graphe simple sil na pas de boucle et sil
existe au maximum une arte entre deux sommets.
1 2 3
4 5 6
e
1
e
3
e
2
e
8
e
11
e
4
e
5
e
7
e
10
e
9
e
6
Pour une arte e = [x
i
, x
j
], on dit que u est incidente aux sommets x
i
et x
j
. Le degr
dun sommet est le nombre dartes qui lui sont incidentes.
Remarque : 1
xX
d(x) = 2|E|
En effet, chaque paire [x, y] de E est compte deux fois, une fois pour d(x) et une
seconde fois pour d(y).
Remarque : Le lemme des poignes de mains reste valable pour les multigraphes
avec boucles en convenant quune boucle contribue pour 2 dans le calcul du degr
dun sommet.
Corollaire 1 Un graphe simple a un nombre pair de sommets de degr impair.
Notons P lensemble des sommets de degr pair et I lensemble des sommets de
degr impair dun graphe simple G = (X, E). P et I forment une partition de X,
daprs le lemme des poignes de mains, on a :
xX
d(x) = 2|E| =
xP
d(x) +
xI
d(x)
Or 2|E| et
xP
d(x) sont des entiers pairs, on en dduit alors que
xI
d(x) est
galement pair, comme diffrence de deux entiers pairs. Chaque terme de cette
dernire somme est impair, elle ne peut donc tre paire que si et seulement si le
nombre de termes est pair, on a donc montr que I est un entier pair.
1 lments de thorie des graphes 11
Exemple :
Plusieurs personnes assistent une runion. Personne ne serre sa propre main et deux
personnes quelconques de lassemble se serrent la main au plus une fois. Alors, le
nombre de personnes ayant serr la main un nombre impair de fois est pair.
1.4. Chemin et chane
Chemin. On appelle chemin une suite ordonne darcs u
1
, u
2
, . . . , u
p
telle que
lextrmit nale de chaque arc concide avec lextrmit initiale de larc suivant.
1
2
3
4
5
6
Autrement dit, un chemin est une succession darcs parcourus dans le mme
sens. Si un chemin rencontre successivement les sommets x
1
, x
2
, . . . , x
p
, x
p+1
, on
peut aussi le noter :
=
_
x
1
, x
2
, . . . , x
p
, x
p+1
= (x
i
, x
j
) U
Autrement dit, un graphe est transitif sil existe toujours un arc allant de lorigine
dun chemin quelconque son extrmit.
Graphe connexe. Un graphe est dit connexe sil existe au moins une chane entre
deux sommets quelconques de G.
2. Parcours eulriens et hamiltoniens
Ltude des problmes eulriens - ou hamiltoniens - (recherche dune chane ou
dun cycle passant exactement une fois par chaque arte - ou par chaque sommet
- remonte aux origines de la thorie des graphes.
Lintrt port aujourdhui ces problmes sexplique par leurs nombreuses
applications : tournes de distribution, trac automatique sur ordinateur, problmes
dordonnancement datelier, etc.
2.1. Chanes et cycles eulriens
Il sagit l dune gnralisation du jeu bien connu consistant dessiner toutes les
artes dun graphe avec un crayon sans jamais le soulever, ni passer deux fois sur la
mme arte.
Soit G = (X, U) un graphe orient.
1 lments de thorie des graphes 14
Chane eulrienne. Une chane eulrienne est une chane empruntant une fois et
une fois seulement chaque arc de G.
Cycle eulrien. Un cycle eulrien est une chane eulrienne dont les extrmits
concident.
Un graphe possdant un cycle eulrien est appel graphe eulrien.
Le problme de lexistence et de la dtermination dun cycle eulrien (dune
chane eulrienne) dans un graphe non orient a t pos la premire fois et rsolu
par Euler en 1736 propos du clbre problme des ponts de Konigsberg. Euler
prouva limpossibilit de lobtention dune solution en dmontrant le thorme
suivant :
Thorme 1
a) Un graphe non orient connexe possde une chane eulrienne si et seulement si le
nombre de sommets de degr impair est gal 0 ou 2.
b) Un graphe non orient connexe admet cycle eulrien si et seulement si tous ses sommets
ont un degr pair.
Exemple :
Le problme des sept ponts de Konigsberg peut maintenant tre pos en ces termes :
existe-t-il une chane ou un cycle eulrien dans le graphe suivant :
a
b
c
d
Il est facile de vrier que les quatre sommets sont de degr impair : il nexiste donc pas
de solution au problme!
Le problme dEuler peut aussi tre considr avec des sens uniques .
Chemin eulrienne. Un chemin dans un graphe orient G = (X, U) est dit eulrien
sil passe exactement une fois par chaque arc de G.
Thorme 2
1 lments de thorie des graphes 15
a) Un graphe orient connexe admet un chemin eulrien (mais pas de circuit eulrien) si,
et seulement si, pour tout sommet sauf deux (x
d
et d
f
), le demi-degr intrieur est gal
au demi-degr extrieur et
d
(x
d
) = d
+
(x
d
) 1 et d
(x
f
) = d
+
(x
f
) + 1
b) Un graphe orient connexe admet un circuit eulrien si, et seulement si, pour tout
sommet, le demi-degr intrieur est gal au demi-degr extrieur.
2.2. Chanes et cycles hamiltoniens
Soit G = (X, U) un graphe connexe dordre n.
Chemin et chane hamiltoniens. On appelle chemin hamiltonien (chane
hamiltonienne) un chemin (une chane) passant une fois, et une fois seulement, par
chacun des sommets de G.
Un chemin hamiltonien (une chane hamiltonienne) est donc un chemin (une chane)
lmentaire de longueur n 1.
Circuit et cycle hamiltoniens. Un circuit hamiltonien (un cycle hamiltonien) est
un circuit (un cycle) qui passe une fois, et une seule fois, par chacun des sommets
de G.
On dit quun graphe G est hamiltonien sil contient un cycle hamiltonien (cas non
orient) ou un circuit hamiltonien (cas orient).
Exemple :
1
La notion de cycle hamiltonien trouve son origine dans le jeu invent, en 1859, par
Hamilton : ce jeu consiste en un dodcadre rgulier en bois (polydre 12 faces et 20
sommets), chaque face tant un pentagone rgulier comme le montre la gure suivante :
En suivant les artes du dodcadre, le joueur doit passer une et une seule fois par les
vingt sommets du dodcadre et, ventuellement, revenir son point de dpart.
1 lments de thorie des graphes 16
2
_
X(0) = {x | x X,
(x) = };
X(1) = {x | x (X\X(0)),
(x) X(0)};
X(2) = {x | x (X\(X(0) X(1))),
Mde
G :
M= MM
[2]
M
[n1]
Remarque : Soit G un graphe et
G sa fermeture transitive. On voit facilement que
1 G est transitif si et seulement si la matrice dadjacence Massocie G est gale
la matrice dadjacence
Massocie
G :
M= M
2 G est sans circuit si et seulement si la matrice dadjacence
M associe
G ne
possde aucun 1 sur la diagonale. Cette proprit fournit un premier algorithme
de reconnaissance dun graphe sans circuit.
2 Dcomposition des graphes 25
Organigramme de lalgorithme dobtention de la fermeture transitive dun
graphe
STOP
M=
MM
[p]
Calculer
M
[p]
M
M:= M
p = 2
p := p + 1
M:=
MM
[p]
Remarquons que si
MM
[2]
M
[p]
= MM
[2]
M
[p]
M
[p+1]
alors
M= MM
[2]
M
[p]
( expliquer).
Exemple la fermeture transitive
G
1
du graphe G
1
.
G
1
=
_
_
_
_
_
_
_
_
0 1 1 1 0
0 0 1 1 1
0 0 0 0 1
0 0 0 0 1
0 0 0 0 0
_
_
_
_
_
_
_
_
Pour la commodit des calculs, on utilise souvent la matrice M
de la fermeture
reexive transitive dnie par :
M
= I MM
[2]
M
[p]
Rgle de calcul de la matrice M
= (MI)
[3]
.
2 Dcomposition des graphes 27
Mthode de dcomposition dun graphe en niveaux
Le principe de la mthode de dcomposition de G en niveaux, base sur la matrice
de la fermeture transitive, est le suivant :
a) Slectionner les sommets pour lesquels les lignes correspondantes de M
de sa fermeture
reexive transitive :
1 Cherchons les lignes contenant un et un seul nombre 1, il y en a un, cest la ligne
de A (voir Tab. 1). Il constituera le niveau 0.
2 Supprimons maintenant la ligne et la colonne correspondantes au sommet A et
cherchons les lignes contenant un et un seul 1, on note celui de C (voir Tab. 2).
Donc C va former le niveau 1.
A B C D E F G H I
A 1 Tab. 1
B 1 1 1
C 1 1
D 1 1 1
E 1 1 1 1 1
F 1 1 1
G 1 1 1 1 1
H 1 1 1 1 1 1 1 1 1
I 1 1 1 1 1 1
B C D E F G H I
B 1 1
C 1
D 1 1
Tab. 2 E 1 1 1 1
F 1 1
G 1 1 1 1
H 1 1 1 1 1 1 1 1
I 1 1 1 1 1
3 Supprimons maintenant la ligne et la colonne correspondantes au sommet C et
cherchons les lignes contenant un et un seul 1, on note ceux de B, D et F (voir
Tab. 3). Donc B, D et F vont former le niveau 2.
4 Supprimons maintenant les lignes et la colonnes correspondantes au sommets
B, D et F et cherchons les lignes contenant un et un seul 1, on note ceux de E et
G (voir Tab. 4). Donc E et G vont former le niveau 3.
5 Supprimons maintenant les lignes et les colonnes correspondantes aux sommets
E et G et cherchons les lignes contenant un et un seul 1, on note celui de I (voir
Tab. 5). Donc I va former le niveau 4.
2 Dcomposition des graphes 28
B D E F G H I Tab. 3
B 1
D 1
E 1 1 1
F 1
G 1 1 1
H 1 1 1 1 1 1 1
I 1 1 1 1
E G H I Tab. 4
E 1
G 1
H 1 1 1 1
I 1 1
H I Tab. 5
H 1 1
I 1
H Tab. 6
H 1
6 STOP : puisement de tous les sommets du graphe. On obtient alors la
dcomposition en niveaux suivante :
A C
B
D
F
E
G
I H
4. Application aux arcs
Les mmes mthodes tudies prcdemment peuvent tre utilises pour
lordonnancement des arcs.
Dsignons les arcs par des lettres latines minuscules et utilisons lune des mthodes
dj vues, la mthode base sur la matrice dadjacence par exemple pour le cas vu
prcdemment. La matrice dadjacence Mse dnit comme suit :
M= (a
ij
) o : a
ij
=
_
_
_
1 si larc i succde larc j
0 si larc i ne succde pas larc j
Exemple : Reprenons le graphe G
3
:
A
B C
D
I
E
F G
H
a
b
c
d
e
f
g
h
i
j
k
l
m
n
2 Dcomposition des graphes 29
La matrice dincidence se prsente comme suit :
a b c d e f g h i j k l m n
a
b
c
d 1 1
e 1
f 1
g 1
h 1
i 1 1
j 1
k 1
l 1
m 1 1
n 1 1
Appelons C
a
, C
b
,. . . , C
m
les vecteurs reprsentant les colonnes de cette matrice.
1 Calculons :
p
0
= C
a
+C
b
+ +C
m
Portons ce rsultat droite de la matrice comme le montre le tableau ci-dessus.
Le vecteur p
0
contient des zros qui correspondent aux arcs a, b et c. Ceci signie
que a, b et c nont pas de prdcesseurs, donc ils forment le niveau 0.
2 Calculons maintenant le vecteur p
1
:
p
1
= p
0
C
a
C
b
C
c
Il apparat trois nouveaux zros pour e, f et g qui seront dit niveau 1.
3 Calculons maintenant le vecteur p
2
p
2
= p
1
C
e
C
f
C
g
Cinq nouveaux zros apparaissent en d, h, j, k et l formant le niveau 2.
4 Calculons le vecteur p
3
p
3
= p
2
C
d
C
h
C
j
C
k
C
l
Deux nouveaux zros apparaissent pour i et m formant le niveau 3.
5 Calculons le vecteur p
4
p
4
= p
3
C
i
C
m
Un nouveau zro apparait pour n qui forme le niveau 4.
2 Dcomposition des graphes 30
6 STOP, il ny a plus darcs.
a b c d e f g h i j k l m n p
0
p
1
p
2
p
3
p
4
a 0
b 0
c 0
d 1 1 2 1 0
e 1 1 0
f 1 1 0
g 1 1 0
h 1 1 1 0
i 1 1 2 2 1 0
j 1 1 1 0
k 1 1 1 0
l 1 1 1 0
m 1 1 2 2 2 0
n 1 1 2 1 1 1 0
Niveau 0 1 2 3 4
a e d i n
b f h m
Arcs c g j
k
l
La dcomposition en niveaux des arcs est suivante :
a
b
c
e
g
f
d
j
k
l
h
i
n m
3
Problmes dordonnancement
1. Introduction
Lors de tout projet de grande envergure (construction dune maison, dun bateau,
dun avion,. . . ), un problme crucial qui se pose est celui du calendrier dexcution
des tches. Le problme est de dterminer dans quel ordre doivent senchaner les
diverses tches de manire minimiser le temps total dexcution du projet.
Prenons un exemple. On veut construire une nouvelle maison de manire
pouvoir dmnager au plus tt. Certaines tches ne peuvent sexcuter quaprs
que dautres soient termines. Par exemple, on ne peut commencer les fondations
que lorsque la mise en place du chantier est nie. On ne peut monter les gros uvre
que lorsque les fondations sont termines. Dautres tches peuvent sexcuter
simultanment. Par exemple, la ralisation des plans et les formalits dachat du
terrain peuvent tre menes de pair. Les donnes sont reprises au tableau ci-dessous
pour cet exemple.
Code Nom de la tche dure antriorits
a Ralisation des plans 8
b Formalits dachat du terrain 6
c Obtention du permis de construire 9 a, b
d Branchements et mise en place du chantier 4 c
e Fondations 6 d
f Gros oeuvre 24 e
g Livraison de matriel de plomberie 27 c
h Revtements extrieurs 3 f
i Plomberie, lectricit, menuiserie 30 f, g
j Pltres 4 i
k Finitions intrieures 3 j
l Finitions extrieures 2 h
m Clture du chantier 1 k, l
3 Problmes dordonnancement 32
On doit tenir compte, dans les problmes dordonnancement, de divers types de
contraintes.
Les contraintes de localisation temporelle expriment la localisation dune
tche dans le temps : une tche ne peut commencer avant une telle date, ou
aprs une telle date (par exemple, en raison des conditions climatiques).
Les contraintes de succession temporelle expriment les relations dantriorit
entre les tches : une telle tche ne peut commencer avant la n dune autre (par
exemple, on ne coule pas les fondations si le chantier nest pas mis en place).
Les contraintes disjonctives expriment le fait que deux tches ne peuvent avoir
lieu en mme temps sans que lon puisse dire laquelle doit tre effectue avant
lautre (par exemple, une mme grue est utilise sur deux chantiers).
2. Modlisation par un graphe orient
La prsentation des techniques de planication de tches sappuie sur une
reprsentation des tches en utilisant la mthode PERT (ou potentiel
vnements ) qui est la plus couramment utilise. La mthode PERT repose
sur une modlisation du projet qui sappuie sur un graphe orient. Certains
logiciels utilisent aussi une autre reprsentation dite potentiel tches . Cette
dernire diffre de la mthode PERT par la construction des graphes associs aux
problmes dordonnancement. Dans ce cours, nous voyons uniquement la mthode
PERT.
Dans ce chapitre, nous allons adapter les concepts des graphes an daborder les
problmes dordonnancement de projets laide de la mthode PERT :
Sommets : Un sommet (ou noeud) dun graphe correspond dans la mthode
PERT un vnement ou une tape. Cest un jalon matrialisant la chane de
succession des tches concrtisant lavancement ou lenchanement sur le plan de
ralisation des travaux : Il marque le dbut ou la n dun travail, dune opration,
dune tche. En plus, il ne consomme ni temps, ni ressources physiques, ni
ressources nancires.
N
Daprs cette formule, la marge indpendante est considre comme nulle lorsque
son calcul donne un nombre ngatif
i
t
i
j
t
j
T
ij
d
ij
Un retard correspondant la marge indpendante dune tche reste sans
consquence sur les marges des tches qui lui succdent, mme si elle commence
sa date au plus tard. Il est donc possible de cumuler des retards, sinscrivant
dans leur marge indpendante, pour plusieurs tches successives, mme si elles
commencent leur date au plus tard, sans remettre en cause la dure optimale
prvue pour le projet.
Remarque : On peut aussi calculer la marge totale dune tche T
ij
par la formule :
M
t
= M
l
+M
e
o M
e
est la marge lie (elle est propre une tape). Elle est gale la diffrence
entre la date au plus tt et la date au plus tard de ltape j (n de la tche T
ij
).
Ainsi, dans notre exemple (projet CNM) :
Tche Marge totale M
t
Marge libre M
l
Marge indpendante M
i
a 0 0 0
b 2 2 2
c 0 0 0
d 0 0 0
e 0 0 0
f 0 0 0
g 7 7 7
h 8 0 0
i 0 0 0
j 0 0 0
k 0 0 0
l 8 8 0
m 0 0 0
3 Problmes dordonnancement 46
4.4. Le chemin critique
On appelle tche critique toute tche T
ij
dont la dure, ajoute la date au plus
tt de son sommet de dbut , gale la date au plus tard de son sommet de n.
Autrement dit, toute tche dont la marge totale est nulle est dite critique.
Le fonctionnement sans retard des tches critiques est essentiel laboutissement
normal du projet. En effet, la marge de manoeuvre dont on dispose pour lexcution
dune tche est la diffrence entre sa date au plus tard et sa date au plus tt ; quand
celle-ci est nulle, la marge de manoeuvre est nulle : tout retard dans la tche entrane
alors un retard de mme importance pour lensemble du projet.
Dans tout projet, il existe au moins un chemin critique, cest--dire une chemin
form de tches critiques allant de la premire jusqu la dernire tape du graphe
PERT. La somme des dures des tches qui dnissent un chemin critique, parfois
appele longueur du chemin critique, concide avec la dure minimale du projet.
Dans notre exemple (projet CNM), le chemin suivant :
P =
_
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13
constitue un chemin critique. Le chemin critique est trac en traits gras sur le graphe
PERT.
Le chemin nest pas forcment unique. Si par exemple la dure de la tche b avait
aussi t de 8, un second chemin critique apparat dans notre exemple :
P
2
=
_
1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13
si, toutes choses restant gales par ailleurs, la dure de la tche h passait 11.
Remarquez galement que, pour rduire la dure minimum de ralisation du projet,
il faut rduire la dure dune tche dans chaque chemin critique. En effet, il ne sert
rien de rduire la dure dun chemin critique si un autre chemin reste critique avec
une valeur suprieure. Remarquez que lon peut soit rduire la dure dune tche
dans chaque chemin, soit rduire la dure dune tche commune aux chemins dans
le cas o une telle tche existe.
3 Problmes dordonnancement 47
Graphe pour le projet
de la construction du
nouvelle maison :
Le chemin critique
1
0
0
3
8
8
2
8
8
4
1
7
1
7
8
5
1
5
1
5
2
1
2
1
6
2
7
2
7
7
5
1
5
1
9
5
7
5
7
1
1
5
4
6
2
1
0
6
1
6
1
1
2
6
4
6
4
1
3
6
5
6
5
a
8
b 6
F
1
0
c 9
g
2
7
d
4
e 6
f
2
4
i 6
F
2
0
h 3
l
2
j 4
k 3
m
1
3 Problmes dordonnancement 48
5. Diagramme Gantt
Cest un outil permettant de modliser la planication de tches ncessaires la
ralisation dun projet. Il sagit dun outil invent en 1917 par Henry Gantt.
Ce type de modlisation est particulirement facile mettre en uvre avec un
simple tableur mais il existe des outils spcialiss dont le plus connu est Microsoft
Project. Il existe par ailleurs des quivalents libres (et gratuits) de ce type de logiciel.
5.1. Diagramme au plus tt
0 5 10 15 20 25 30 35 40 45 50 55 60 65
a
b
c
d
e
f
g
h
i
j
k
l
m
5.2. Diagramme au plus tard
0 5 10 15 20 25 30 35 40 45 50 55 60 65
a
b
c
d
e
f
g
h
i
j
k
l
m
4
Problme du plus court
chemin
1. Introduction
Un problme dun rel intrt, pour les applications, est celui qui consiste chercher
un chemin de longueur minimale (ou maximale) entre deux sommets donns dun
graphe orient ou non.
Etant donn un graphe G = (X, U), on associe chaque arc u un nombre (u) appel
longueur de larc u . Cette valeur (u) peut tre, par exemple, un cot, une dure,
une distance. La longueur dun chemin quelconque, note (), est alors dnie
comme la somme des longueurs des arcs qui le composent :
() =
u
(u)
Un chemin joignant un sommet x
a
un sommet x
b
est dit de longueur minimale (ou
maximale) sil minimise (ou maximise) la longueur () dans lensemble de tous les
chemins joignant x
a
x
b
. Un tel chemin est appel parfois le plus court (ou long)
chemin de x
a
x
b
.
Pour rsoudre un tel problme, on peut toujours penser la mthode numrative
qui consiste tablir la liste de tous les chemins possibles et calculer leurs longueurs
respectives. Seulement, cette mthode est en gnral longue et difcile mettre en
uvre, dautant plus quelle est impossible pour des cas de taille considrable.
Nous prsentons dans ce chapitre trois algorithmes permettant dobtenir des
chemins de longueur minimale ou maximale, selon le cas. Une renumrotation des
sommets tant toujours possible, nous ne considrons que des chemins de x
1
x
n
.
Il est utile dintroduire une matrice L, dite matrice des longueurs, dont llment
ij
se dnit pour le problme du plus court chemin par :
ij
=
_
_
(u) si u = (x
i
, x
j
) U
+ si (x
i
, x
j
) / U
0 si i = j
4 Problme du plus court chemin 50
2. Algorithme de Ford
L =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 2 3 4 5 6 7 8
1 0 6 2 8
2 0 1 2
3 4 0 1
4 0 1
5 2 8 0 9
6 0 2
7 3 0 7
8 0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 2 3
4 5
6
7
8
6
2
8
1
2
4
1
1
2 8
9
2
3
7
3. Algorithme de Bellman
4. Algorithme de Dijkstra