Beruflich Dokumente
Kultur Dokumente
Recherche
Oprationnelle
Mohamed HACHIMI
EG
Semestre 6
1. La notion de graphe
13
16
20
1. Introduction
20
21
24
28
Problmes dordonnancement
31
1. Introduction
31
32
35
38
5. Diagramme Gantt
48
49
1. Introduction
49
2. Algorithme de Ford
50
3. Algorithme de Bellman
50
4. Algorithme de Dijkstra
50
1
1.
lments de thorie
des graphes
La notion de graphe
Graphe orient
Les graphes orients dont nous traiterons dans ce cours peuvent tre considrs
comme des schmas reprsentant simplement la structure dun problme. Ils sont
gnralement dtermins par la donne de
1) un ensemble fini X = {x1 , x2 , . . . , xn } dlments appels sommets. Si X
possde n lments distincts, le graphe sera dit dordre n.
2) un ensemble fini U = {u1 , u2 , . . . , um } dont les lments sont des couples
ordonns de sommets appels arcs. U est donc une famille dlments du
produit cartsien X X. Notons quun lment (xi , xj ) de X X peut
apparatre plusieurs fois dans U . Il nous arrivera parfois dans la suite, par
souci de simplification, de noter un arc (xi , xj ) par (i, j).
u1
1
u2
u3
u9
u7
u8
u10
u11
u4
4
u6
u5
Exemple :
Le graphe G = (X, U ) suivant prsente les rsultats dun tournoi dchecs : Les sommets
x1 , x2 , x3 et x4 reprsentent les quatres concurrents et lexistence de larc (xi , xj ) indique
que le joueur xi a remport la partie unique lopposant xj .
X = {x1 , x2 , x3 , x4 }
U = {(1, 2), (1, 4), (2, 3), (2, 4), (3, 1), (3, 4)}
Voici quelques dfinitions de base relatives aux arcs et aux sommets dun graphe.
Extrmits dun arc. Pour un arc u = (xi , xj ), xi est lextrmit initiale, xj
lextrmit finale (ou bien origine et destination). Larc u part de xi et arrive xj .
u
1
Boucle. On appelle boucle un arc dont lextrmit initiale est gale son extrmit
finale. Par exemple, pour la figure 1, les arcs u6 = (5, 5) et u9 = (3, 3) sont des
boucles.
u
Adjacence. Deux sommets relis par un arc sont dits adjacents. De mme, deux
arcs ayant au moins une extrmit en commun sont dits adjacents.
Successeur. On dit que xj est successeur de xi si (xi , xj ) U (c--d sil existe un
arc ayant xi comme extrmit initiale et xj comme extrmit finale). Lensemble des
successeurs de xi est not + (xi ).
+ (xi ) = {xj X | u = (xi , xj ) U }
Par exemple, pour la figure 1, + (x1 ) = {x3 , x4 , x5 } et + (x3 ) = {x3 , x5 }.
Prdcesseur. On dit que xj est prdcesseur de xi si (xj , xi ) U (c--d sil existe
un arc ayant xj comme extrmit initiale et xi comme extrmit finale). Lensemble
des successeurs de xi est not (xi ).
(xi ) = {xj X | u = (xj , xi ) U }
Par exemple, pour la figure 1, (x1 ) = et (x3 ) = {x1 , x3 , x5 }.
Sommets adjacents. On dit que xi est adjacent xj sil est prdcesseur ou
successeur de xj . Ces sommets peuvent aussi tre dits voisins. Lensemble des
voisins de xi est not (xi ).
(xi ) = + (xi ) (xi )
Ainsi sur la figure 1 on voit que : X = {x1 , x2 , x3 , x4 , x5 , x6 } et
+ (x1 ) = {x3 , x4 , x5 }
(x1 ) =
(x1 ) = {x3 , x4 , x5 }
+ (x2 ) = {x6 }
(x2 ) = {x6 }
(x2 ) = {x6 }
+ (x3 ) = {x3 , x5 }
(x3 ) = {x1 , x3 , x5 }
(x3 ) = {x1 , x3 , x5 }
+ (x4 ) =
(x4 ) = {x1 , x5 }
(x4 ) = {x1 , x5 }
+ (x5 ) = {x3 , x4 , x5 }
(x5 ) = {x1 , x3 , x5 }
(x5 ) = {x1 , x3 , x4 , x5 }
+ (x6 ) = {x2 }
(x6 ) = {x2 }
(x6 ) = {x2 }
Degr.
3-graphe
3
1-graphe
Remarque : Sur la figure 1, par exemple, on voit que u4 = (5, 4) et u5 = (5, 4). Le
graphe G de la figure 1 est donc au moins un 2-graphe. Comme il ny pas dautres
couples identiques, G est un 2-graphe.
Sauf spcification 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 (xi , xj ), c--d une partie du produit cartsien X X.
1.2.
Un 1-graphe G peut tre dfinit par le couple (X, U ). Il est aussi dtermin par la
donne de X et lapplication + (ou ). Il peut enfin tre caractris par sa matrice
dadjacence (ou matrice associe) M = (aij ), carre dordre n, o
1 si (xi , xj ) U
aij =
0 si (xi , xj )
/U
Ainsi, dans lexemple du tournoi dchecs, nous avons
M =
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
0
Matrices boolennes
Dfinition 2 Une matrice M = (aij ) est boolenne si tous ses lments aij ne sont que des
0 et des 1.
Les matrices associes aux graphes dordre n (de n sommets) sont donc des matrices
boolennes dordre n (de n lignes et n colonnes).
00=0
10=0
01=0
11=1
0 1 1
0 1 1
0 1 0
par exemple : 1 1 1 1 0 0 = 1 1 1
1 1 1
1 0 0
0 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
Dfinition 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.
1 0 0
0 1 1
0 1 0
1 1 0 1 0 0 = 1 1 1
1 0 0
1 0 0
0 1 0
par exemple :
La matrice I = (ij )
(
ij =
0 si i 6= j
1 si i = j
0 1 0
0 1 0
0 1 0
1 1 0
0 1 0
1 1 0
1 1 0
[3]
A =1 1 01 1 0=1 1 0
0 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 6 n) permet de dterminer lexistence dun
chemin de longueur p dun sommet xi un sommet xj : Llment aij de la matrice
M[p] vaut
x1
x2
x5
x3
x4
x7
x6
On a
M[1]
=0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
M[2]
=0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
M[3]
=0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
M[4]
1.3.
=0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
1
M[5]
=0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
M[6]
=0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
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 xi et xj , est appel arte
quon note e = [xi , xj ].
Arete
e2
e3
e7
e8
e10
e11
e4
4
e6
e5
Pour une arte e = [xi , xj ], on dit que u est incidente aux sommets xi et xj . Le degr
dun sommet est le nombre dartes qui lui sont incidentes.
Remarque : 1 Un arc non orient peut toujours tre transform en une situation
o lon na que des arcs orients.
Arete
====
10
Exemple :
Les sept ponts de Konigsberg La ville de Konigsberg (aujourdhui Kaliningrad) est
traverse par la rivire Pregel qui la divise en quatre rgions. Ces rgions sont relies
entre elles laide de sept ponts, comme le montre le dessin suivant :
b
a
c
d
Un piton dsire se promener en empruntant une et une seule fois chaque pont. Pour
simplifier ce problme, on ramne le dessin au schma suivant :
d
c
d(x) = 2|E|
xX
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 :
X
X
X
d(x) = 2|E| =
d(x) +
d(x)
xX
xP
xI
P
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.
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
Autrement dit, un chemin est une succession darcs parcourus dans le mme
sens. Si un chemin rencontre successivement les sommets x1 , x2 , . . . , xp , xp+1 , on
peut aussi le noter :
= x1 , x2 , . . . , xp , xp+1
La longueur du chemin est gale au nombre darcs qui le composent.
Circuit. Un circuit est un chemin pour lequel lextrmit finale du dernier arc est
confondue avec lextrmit initiale du premier arc.
2
1
4
3
5
6
Autrement dit, on parle de circuit lorsquun chemin revient son point de dpart.
Lorsque ces arcs sont tous distincts, on dit que le chemin ou le circuit est simple,
quand ils ont pour extrmit finale (ou initiale) des sommets tous diffrents, on dit
quil est lmentaire.
Chane. On appelle chane une suite ordonne darcs u1 , u2 , . . . , up telle que chaque
arc est rattach larc qui le prcde par une extrmit et celui qui le suit par lautre
extrmit.
12
Gnralement, on parle de chane si lon ne tient pas compte de la direction des arcs.
Cycle. Un cycle est une chane pour laquelle lextrmit finale du dernier arc est
confondue avec lextrmit initiale du premier arc.
3
7
5
6
Lorsque ces arcs sont tous distincts, on dit que la chane ou le cycle est simple, quand
ils ont pour extrmit finale (ou initiale) des sommets tous diffrents, on dit quelle
ou quil est lmentaire.
1.5.
Types de graphes
Dans ce cas, il est plus commode de reprsenter ce graphe en remplaant les doubles
arcs par une simple arte.
13
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.
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.
14
Chane eulrienne. Une chane eulrienne est une chane empruntant une fois et
une fois seulement chaque arc de G.
Cycle eulrien.
concident.
d
c
Il est facile de vrifier 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
15
a) Un graphe orient connexe admet un chemin eulrien (mais pas de circuit eulrien) si,
et seulement si, pour tout sommet sauf deux (xd et df ), le demi-degr intrieur est gal
au demi-degr extrieur et
d (xd ) = d+ (xd ) 1 et
d (xf ) = d+ (xf ) + 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.
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.
16
3.
Dfinition 6 Soit G = (X, E) un graphe non orient sans boucle. Une partie S X est
dite stable sil ne comprend que des sommets non adjacents deux deux :
xi , xj S = [xi , xj ]
/E
Comme tout sous-ensemble dun ensemble stable est un ensemble stable, il est
naturel de chercher le cardinal maximum dun ensemble stable. Ce nombre, not
(G), est le nombre de stabilit.
Dfinition 7 Soit G un graphe non orient sans boucle. Une coloration de G est une
application : X C de lensemble des sommets de G dans un ensemble fini C de
couleurs, telle que si une arte e est incidente x et y alors (x) 6= (y).
Le nombre chromatique (G) est dfini comme le nombre minimum de couleurs
distinctes ncessaires la coloration des sommets de G.
Exemple :
Quel est le nombre chromatique (G) du graphe G = (X, E) donn par X =
{x1 , x2 , x3 , x4 , x5 , x6 } et
17
Les quatre sommets x1 , x2 , x3 , x4 doivent avoir des couleurs diffrentes, car ils sont
voisins deux deux. Donc (G) > 4. Dautre part, lapplication : X {r, v, b, j}, o
(x1 ) = r, (x2 ) = v, (x3 ) = b, (x4 ) = j, (x5 ) = b, (x6 ) = r.
est une coloration de G, donc (G) 6 4.
b 3
j 4
r
b
Un graphe G tel que (G) = k qui est coloriable en k couleurs est dit k-chromatique.
Une k-coloration des sommets est une partition {S1, S2, . . . , Sk} de lensemble des
sommets en k ensembles stables.
Proposition 1 Soit G = (X, E) un graphe simple dordre n. On a lencadrement suivant :
n
6 (G) 6 r + 1
(G)
o r est le plus grand degr des sommets du graphe G.
Exemple :
Un problme demploi du temps : Une universit doit organiser les horaires des
examens. On suppose quil y a 7 preuves planifier, correspondant aux cours
numrots de 1 7 et que les paires de cours suivantes ont des tudiants communs :
1 et 2, 1 et 3, 1 et 4, 1 et 7, 2 et 3, 2 et 4, 2 et 5, 2 et 7, 3 et 4, 3 et 6, 3 et 7, 4 et 5, 4 et 6, 5
et 6, 5 et 7 et 6 et 7. Comment organiser ces preuves de faon quaucun tudiant nait
passer deux preuves en mme temps et cela sur une dure miminale ?
Construisons le graphe G dont les sommets sont les preuves numrotes de 1 7, une
arte relie deux de ses sommets lorsque les deux cours correspondant possdent des
tudiants communs :
1
7
3
5
18
Dfinition 8 Un graphe planaire est un graphe que lon peut dessiner sur une surface plate
sans que ses artes se croisent. Les graphes que lon ne peut pas dessiner sans croisements
sont dits non planaires.
Tout graphe contenant lun ou lautre des deux sous-graphes ci-dessous est non
planaire :
5
3
Thorme 3 (thorme des quatre couleurs) On peut colorer les sommets dun graphe
planaire (sans boucles) en utilisant au plus quatre couleurs de telle sorte que toutes les artes
aient des extrmits de couleurs diffrentes.
Cette conjecture a t formule pour la premire fois en 1852. Il tait alors question
de coloration de carte de gographie (voir lexemple suivant). La preuve de ce
thorme narriva quen 1976. La dmonstration fit grand bruit car ce fut le premier
thorme de lhistoire des mathmatiques qui a ncessit lusage systmatique de
lordinateur.
19
Exemple :
Colorez la carte ci-dessous en utilisant le moins de couleurs possibles, de sorte que deux
pays voisins aient des couleurs diffrentes.
Construisez dabord un graphe associ cette carte, puis colorez-en les sommets
2
1.
Introduction
(p 6 n)
X(0) = {x | x X, (x) = };
Exemple :
21
5
3
4
On vrifie que G1 est sans circuit et on trouve
X(0) = {x1 }, X(1) = {x2 }, X(2) = {x3 , x4 }, X(3) = {x5 }, X(4) = X(5) =
G1 peut alors tre reprsent sous la forme suivante :
3
1
5
4
| {z } |
{z
X(0)
X(1)
} |
{z
} | {z }
X(2)
X(3)
on a quatre niveaux.
Soit un graphe sans circuit, prsent ple mle, nous allons prsent trois mthodes
pour lordonner en niveaux de manire ce quon ne peut passer niveau sans
passer par ceux qui le prcdent :
Dcomposition base sur la matrice dadjacence
Dcomposition base sur la matrice de la fermeture transitive du graphe
2.
22
1
1
1
1
23
B C
E F
1
1
1
1
1
1
1
1
1
1
1
1
1
1 1
P0
0
1
1
3
2
2
4
2
2
2
3
1
1
1
1
1
1
1
1
1
1
1 1
1
1
Niveau
Sommet
1
1 1
1 1
P0 P1
0
1 0
1 0
3 2
2 1
2 2
4 4
2 2
2 2
2 2
3 3
0 1
A B
C
P2
1
0
1
4
2
2
2
3
2
E
P3
0
3
1
2
2
3
3
D
F
P4
2
0
1
2
3
4
H
P5
0
1
3
5
I
P6
0
2
6
J
P7
1
7
G
P8
0
8
K
24
3.
j
i
k
(p fois)
25
Calculer
M[p]
p := p + 1
c M
c M[p]
M=
STOP
c := M
c M[p]
M
Remarquons que si
M M[2] M[p] = M M[2] M[p] M[p+1]
alors
c = M M[2] M[p]
M
Exemple
( expliquer).
c1 du graphe G1 .
la fermeture transitive G
0 1 1 1 0
0 0 1 1 1
c1 = 0 0 0 0 1
G
0 0 0 0 1
0 0 0 0 0
Exemple :
26
A B C D E F G H I
A
B 1
1
C 1
D
1
M=
E
1
1
F
1
G
1
1
H
1 1
I 1
1
D
I
(M I)[2]
A
B
C
D
=
E
F
G
H
I
A B C D E F G H I
1
1 1 1
1
1
1
1 1
1 1 1
1 1
1
1
1
1 1
1 1
1
1 1 1 1 1 1 1
1 1
1 1
1
(M I)[3]
A
B
C
D
=
E
F
G
H
I
A
1
1
1
1
1
1
1
1
1
B C D E F G H I
1 1
1
1 1
1 1
1 1
1
1
1 1
1 1
1 1 1 1 1 1 1 1
1 1
1 1
1
27
A
1
1
1
1
1
1
1
1
1
B C D E F G H I
Tab. 1
1 1
1
1 1
1 1
1 1
1
1
1 1
1 1
1 1 1 1 1 1 1 1
1 1
1 1
1
B C
B 1 1
C
1
D
1
Tab. 2 E 1 1
F
1
G
1
H 1 1
I 1 1
D E F G H I
1
1 1
1
1
1 1
1 1 1 1 1 1
1 1
1
B D
B 1
D
1
E 1
F
G
1
H 1 1
I 1
28
E F G H I Tab. 3
1 1
1
1 1
1 1 1 1 1
1 1
1
E G H I Tab. 4
E 1
G
1
H I Tab. 5
H 1 1 1 1
H 1 1
H Tab. 6
I 1
1
I
1
H 1
On obtient alors la
B
E
A
G
F
4.
Reprenons le graphe G3 :
B
C
f
a
b
A
c
I
i
E
l
h
g
m
G
29
m n
1
1
1
1
1
1
1
1
1
1
1
1
1
30
j k l m n p0
a
0
b
0
c
0
d 1
1
2
e
1
1
f
1
1
g
1
1
h
1
1
i
1
1
2
j
1
1
k
1
1
l
1
1
m
1
1
2
n
1
1
2
Niveau
0
a
b
Arcs
c
p1
1
0
0
0
1
2
1
1
1
2
1
1
e
f
g
p2
0
1
0
0
0
2
1
2
d
h
j
k
l
p3
0
1
3
i
m
p4
0
4
n
c
h
3
1.
Problmes dordonnancement
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 finie. 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
a
b
c
d
e
f
g
h
i
j
k
l
m
Nom de la tche
Ralisation des plans
Formalits dachat du terrain
Obtention du permis de construire
Branchements et mise en place du chantier
Fondations
Gros oeuvre
Livraison de matriel de plomberie
Revtements extrieurs
Plomberie, lectricit, menuiserie
Pltres
Finitions intrieures
Finitions extrieures
Clture du chantier
dure
8
6
9
4
6
24
27
3
30
4
3
2
1
antriorits
a, b
c
d
e
c
f
f, g
i
j
h
k, l
Problmes dordonnancement
32
2.
N
Reprsentation dun vnement avec son numro
Problmes dordonnancement
33
Numrotation des sommets : Soit un rseau PERT dordre n. Ce rseau obit aux
conventions de numrotation suivantes :
les n sommets (ou vnements) sont numrots de 1 n
les sommets 1 et n reprsentent respectivement le dmarrage et le
parachvement du projet :
le sommet 1 nest terminal pour aucune tche,
le sommet n nest initial pour aucune tche,
tout autre sommet est la fois terminal pour au moins une tche et initial
pour une ou plusieurs autres tches.
le numro attribu au sommet initial (le dbut) dune tche est infrieur celui
attribu son sommet terminal (sa fin).
Arcs : Un arc dun graphe reprsente dans la mthode PERT une tche ou
une opration. Une tche est dlimite par deux sommets (ou vnements) qui
reprsentent le dbut et la fin de la tche. Une tche est une activit qui consomme
du temps, ncessite des ressources physiques et des dpenses.
On symbolise un tche par une flche, au-dessus du quelle on inscrit le code de la
tche et en dessous sa dure. La longueur de la flche nest pas proportionnelle au
dlai de la tche, elle dpend du trac gnral du graphe.
d
Reprsentation dune tche avec son code et sa dure
la lettre T dfinit le code de la tche ;
le chiffre d correspond sa dure (seconde, minute, heure, jour,. . . ) ;
la flche indique le sens de lexcution.
Comment reprsenter les diffrentes tches ? Il est commode de reprsenter
graphiquement les tches et leurs ordonnancement en sappuyant sur la liste des
prdcesseurs immdiats de chaque tche.
a) Les tches successives : Pour indiquer que la tche A est prdcesseur immdiat
de la tche B, larc correspondant B prend son dpart l o aboutit larc associ
A
Problmes dordonnancement
34
b) Les tches simultanes : Les tches qui peuvent tre excutes en mme temps,
elles partent du mme sommet : deux tches A et B qui commencent en mme
temps se reprsentent ainsi :
j
A
i
B
k
i
A
k
B
j
cu
du
au
ue
ug
i
u
ku
uf
j
m
u
u
u
Problmes dordonnancement
35
3.
3.1.
A titre dillustration, nous allons dterminer les niveaux pour le graphe associ
lexemple de la construction de la nouvelle maison et ceci selon la mthode base
sur la matrice dadjacence. La matrice dadjacence M associe au projet se dfinit
comme suit :
j k l m v0 v1
a
0
b
0
c 1 1
2 0
d
1
1 1
e
1
1 1
f
1
1 1
g
1
1 1
h
1
1 1
i
1 1
2 2
j
1
1 1
k
1
1 1
l
1
1 1
m
1 1
2 2
Niveau
0 1
a c
Arcs
b
v2
0
1
1
0
1
2
1
1
1
2
2
d
g
v3
0
1
1
1
1
1
1
2
3
e
v4
1
1
1
1
1
2
4
f
v5
0
0
1
1
1
2
5
h
i
v6
0
1
0
2
6
j
l
v7
1
7
k
v8
0
8
m
on aboutit ainsi un graphe facile manipuler des fins de PRP comme le montre
la figure ci-dessous. Lordonnancement des arcs est alors :
Problmes dordonnancement
36
a
1
b
La tche c admet comme prdcesseurs immdiats les tches a et b. Il faudrait
donc que a et b partagent le mme sommet final. Donc a et b sont deux tches
parallles joignant un mme couple de sommets. par consquent, on ajoute entre
les sommets 2 et 3 une tche fictive F1 :
2
F1
a
1
Les tches d et g partent du mme sommet (dbut de la tche c). Elles sont des tches
simultanes.
Problmes dordonnancement
37
F1
a
1
d
3
e
d
4
En effet, les tches f et g sont deux tches convergentes. Par consquent elles
devraient partager le mme sommet final, qui serait le dbut de i. Dautre part, i
et h sont deux tches simultanes. Elles devraient partager le mme sommet initial,
qui serait la fin de f . Ce qui implique que g prcde h, bien que g ne fasse pas partie
de la liste des prdcesseurs immdiats de h. Pour empcher cela, il a fallu ajouter
un arc reprsentant une tche fictive F2 (donc de dure 0) reliant la fin de la tche f
au dbut de la tche i.
2
F1
a
1
F2
d
3
Notons donc que lexistence dun successeur immdiat h, propre la seule tche f ,
interdit de donner f et g un mme somme final mme si elles sont convergentes.
Pour complter le graphe PERT du projet, il suffit dajouter les tches j, k l et m, en
respectant les rgles dj vues.
Problmes dordonnancement
38
11
F2
10
12
13
11
F2
F1
4.
10
12
13
La technique PERT-Temps consiste en une suite de quatre tapes : les dates au plus
tt , les dates au plus tard , les marges et le chemin critique .
4.1.
Les dates au plus tt sont obtenues en traitant le rseau logique sur une chelle de
temps qui dmarre une date t0 = 0, et se droule vers lavenir.
Le calcul des dates au plus tt correspond intuitivement la question : si le
projet dmarre t0 = 0, quand se terminera-t-il ? et quelles en seront les dates
intermdiaires ?
Nous allons maintenant voir un algorithme de calcul des dates au plus tt. Le calcul
des dates au plus tt dtermine les dates datteinte au plus tt des tapes, notes ti ,
en partant du sommet de dbut du projet (tape 1).
Illustrons les choses sur lexemple de la construction de la nouvelle maison. En
commenant par ltape 1 (sommet 1), nous allons calculer pour chaque tape la
date au plus tt, cest--dire la premire date o il sera possible datteindre ltape.
Les dates au plus tt sont associes aux sommets reprsentant les dbuts ou fins de
tches.
La date au plus tt est positionne en gnral dans la partie se trouvant droite du
cercle matrialisant le sommet (lvnement ou ltape).
Problmes dordonnancement
39
i
ti
Reprsentation dun tape i avec sa date au plus tt ti .
Pourvu que la numrotation des sommets respecte les conventions mentionnes
la section 2, le calcul des ti se fera selon lordre croissant des numros. Tout dabort
le sommet 1 correspond au dbut du projet,
t1 = 0
Pour obtenir la date au plus tt dune tape j, il faut comparer pour chaque tape
prcdente i, la somme :
(date au plus tt de ltape i) + (dure de la tche entre i et j)
La date au plus tt est alors la plus grande de ces sommes. De manire gnrale la
date au plus tt se calcule comme suit :
Une seule tche avant une tape
i
Tik
ti
i
ti
dik
Tij
dij
tj
j
Tjk
tj
tj = ti + dij
k
tk
djk
Problmes dordonnancement
40
2
8
F1
a
8
c
9
b
6
Cette date au plus tt de 8 est donc implique par lantriorit de la tche fictive F1 .
De mme,
t4 = t3 + (dure de c) = 8 + 9 = 17
t5 = t4 + (dure de d) = 17 + 4 = 21
t6 = t5 + (dure de e) = 21 + 6 = 27
t7 = t6 + (dure de f ) = 27 + 24 = 51
e
6
5
21
6
27
f
24
7
51
d
4
c
9
3
8
4
17
Pour le reste
t8 = max{t4 + (dure de g), t7 + (dure de F2 )} = max{17 + 27, 51 + 0} = 51
t9 = t8 + (dure de i) = 51 + 6 = 57
t10 = t9 + (dure de j) = 57 + 4 = 61
t11 = t7 + (dure de h) = 51 + 3 = 54
t12 = max{t11 + (dure de l), t10 + (dure de k)} = max{54 + 2, 61 + 3} = 64
t13 = t12 + (dure de m) = 64 + 1 = 65.
Le calcul des dates au plus tt une fois termin, le graphe de la page 40 est obtenu ;
nous savons maintenant que le projet ne peut se terminer en moins de 65 semaines.
Cest la dure minimale du projet.
2
8
a
1
0
5
21
6
27
11
54
F2
c 17
7
51
F1
3
8
8
51
9
57
i
10
61
j
12
64
13
m 65
3
4.2.
Problmes dordonnancement
41
Certaines tapes sont telles que si on retarde leur date au plus tt, cela aura des
rpercussions sur la date de fin du projet. Par exemple, si on retarde la date au plus
tt de ltape 12, cela va directement retarder la date de fin du projet. De mme, si
on retarde ltape 10, cela va retarder la date au plus tt de ltape 12 qui elle-mme
retarde la date de fin du projet.
Par contre, si on retarde la date au plus tt de ltape 11, cela naura pas de
rpercussion, car ce nest pas partir de cette tape que son successeur (tape 12) a
t marqu mais bien partir de ltape 10. On voit donc que lon peut retarder la
date au plus tt de ltape 11 sans consquence sur la date de fin de chantier jusqu
un certain point. Autrement dit, la date datteinte de ltape 11 peut tre retarde
jusqu la valeur :
t12 (dure de l) = 64 2 = 62
sans retarder la date datteinte de ltape 12. On dit que 62 est la date au plus tard
de ltape 11. Cest--dire que ltape 11 peut tre atteinte cette date au plus tard
sans allonger la dure totale minimale des travaux.
Dans la pratique, il est intressant de connatre la marge de manuvre dont on
dispose pour atteindre de chaque tape. Cette marge sera connue quand nous
disposerons des dates au plus tard. La date au plus tard dune tape est la dernire
date possible pour atteindre de cette tape sans que cela implique un retard pour le
projet.
Les dates au plus tard sont obtenues en traitant le rseau logique sur une chelle de
temps qui dmarre une date tf , et se droule vers le pass.
Le calcul des dates au plus tard correspond intuitivement la question : si le
projet doit se terminer tf , quand doit-il dmarrer ? et quelles en seront les dates
intermdiaires ?
On notera une date au plus tard par ti . La date au plus tard est positionne
en gnral dans la partie se trouvant gauche du cercle matrialisant le sommet
(lvnement ou ltape).
i
ti
Reprsentation dun tape i avec sa date au plus tard ti .
On peut calculer les dates au plus tard de la manire suivante :
Problmes dordonnancement
42
Partant du sommet final du projet, pour lequel la date au plus tard concide
avec la date au plus tt, puisquil ne peut y avoir de marge de manvuvre
pour la fin du projet sans que cela ne la retarde.
tf = tf = tf = 64.
Pour obtenir la date au plus tard dune tape i, il faut comparer pour chaque
tape j qui lui succde, la diffrence :
(date au plus tard de ltape j) (dure de la tche entre i et j)
La date au plus tard est alors la plus petite de ces diffrences. De manire
gnrale la date au tard se calcule comme suit :
Une seule tche aprs une tape
j
Tij
i
Tij
dij
ti
dij
i
tj
tj
ti
Tik
dik
ti = tj dij
tk
27 27
24
51 51
11
h
3
54 62
l
0 F2
g
27
51 51
2
i
6
10
57 57
61 61
k
3
12
64 64
m
1
13
65 65
Problmes dordonnancement
43
t6 = t7 (dure de f ) = 51 24 = 27
t5 = t6 (dure de e) = 27 6 = 21
t4 = min{t5 (dure de d), t5 (dure de d)} = min{21 4, 51 27} = 17
t3 = t4 (dure de c) = 17 9 = 8
t2 = t3 (dure de F1 ) = 8 0 = 8
t1 = min{t2 (dure de c), t3 (dure de b)} = min{8 8, 8 6} = 0
Le calcul des dates au plus tard une fois termin, le graphe de la ci-aprs donne
pour chaque sommet les dates au plus tt et les dates au plus tard.
f 7
5
e 6
21 21
27 27
51 51
2
8 8
a
1
0 0
F1
b
3
4
8 8 c 17 17
F2
g
11
54 62
8
9
10
12
13
51 51 i 57 57 j 61 61
64 64 m 65 65
k
remarque : Il est remarquer que ces dates aux plus tard des tapes ti ne
correspondent pas dans tous les cas aux dates au plus tard des tches qui suivent
le sommet ! Prenons lexemple de la tche b, de dure 6. La date de dbut au plus
tard de son successeur direct, la tche c est de 8. La date de dbut au plus tard de la
tche b est donc de
86=2
alors que la date de dbut au plus tard du sommet prcdent la tche dans le graphe
est de 0. Ce 0 provient en fait de la tche a, 8 8 = 0, qui est critique (voir plus loin).
4.3.
Les marges
On appelle marge dune tche le retard quil est possible de tolrer dans la
ralisation de celle-ci, sans que la dure optimale prvue du projet global en soit
affecte. Il est possible de calculer trois types de marges : la marge totale, la marge
libre et la marge indpendante.
a) Marge totale
La marge totale dune tche Tij indique le retard maximal que lon peut admettre
dans sa ralisation (sous rserve quelle ait commenc sa date au plus tt) sans
Problmes dordonnancement
44
i
ti
Tij
dij
tj
Sauf cas particulier, un retard correspondant la marge totale dune tche se traduit
par une modification des dates au plus tt des tches qui lui succdent. Il nest donc
pas possible de cumuler des retards correspondant leur marge totale sur plusieurs
tches successives, sans remettre en cause la dure optimale prvue pour le projet.
On peut aussi crire :
Mt = tj (ti + dij )
Autrement dit, la marge total est la diffrence entre la date au plus tard de ltape j
et larrive au plutt cette tape pour la tche Tij qui peut partir au plus tt en ti
de ltape i. On obtient alors les dates au plus tard des tches en additionnant la
date au plus tt du sommet de dpart, la marge de la tche.
b) Marge libre
La marge libre dune tche Tij indique le retard que lon peut admettre dans sa
ralisation (sous rserve quelle ait commenc sa date au plus tt) sans modifier
les date au plus tt des tches suivantes et sans allonger la dure optimale du projet.
Elle se calcule en retirant la dure dij de la tche en question lcart quil peut y
avoir entre ses dates au plus tt de dbut ti et de fin tj :
Ml = tj ti dij
i
ti
Tij
dij
j
tj
Un retard correspondant la marge libre dune tche reste sans consquence sur les
marges des tches qui lui succdent. Il est donc possible de cumuler des retards,
sinscrivant dans leur marge libre, pour plusieurs tches successives, sans remettre
en cause la dure optimale prvue pour le projet.
Problmes dordonnancement
45
c) Marge indpendante
La marge indpendante (ou certaine) dune tche Tij indique le retard que lon peut
admettre dans sa ralisation (quelle que soit sa date de dbut) sans allonger la dure
optimale du projet.
Elle se calcule en retirant la dure dij de la tche en question lcart quil peut y
avoir entre sa date au plus tard de dbut ti et sa date au plus tt de fin tj :
i
ti
Tij
dij
j
tj
On peut aussi calculer la marge totale dune tche Tij par la formule :
Mt = Ml + Me
o Me 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 (fin de la tche Tij ).
Ainsi, dans notre exemple (projet CNM) :
Tche
Marge totale Mt
Marge libre Ml
Marge indpendante Mi
a
b
c
d
e
f
g
h
i
j
k
l
m
0
2
0
0
0
0
7
8
0
0
0
8
0
0
2
0
0
0
0
7
0
0
0
0
8
0
0
2
0
0
0
0
7
0
0
0
0
0
0
3
4.4.
Problmes dordonnancement
46
Le chemin critique
On appelle tche critique toute tche Tij dont la dure, ajoute la date au plus
tt de son sommet de dbut , gale la date au plus tard de son sommet de fin.
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 dfinissent 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 :
P2 = 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13
Il en serait de mme pour le chemin
P3 = 1, 2, 3, 4, 5, 6, 7, 11, 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.
a
8
27
17 17
F1
c
9
21 21
0
3
8 8
8 8
b
6
27 27
f
24
F2
51 51
0
8
51 51
Le chemin critique
0 0
47
Problmes dordonnancement
3
i
6
h
3
57 57
j
4
11
54 62
10
61 61
12
64 64
13
65 65
Problmes dordonnancement
5.
48
Diagramme Gantt
Diagramme au plus tt
0
10
15
20
25
30
35
40
45
50
55
60
65
25
30
35
40
45
50
55
60
65
a
b
c
d
e
f
g
h
i
j
k
l
m
5.2.
a
b
c
d
e
f
g
h
i
j
k
l
m
10
15
20
4
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 dfinie
comme la somme des longueurs des arcs qui le composent :
X
`() =
`(u)
u
`(u) si u = (xi , xj ) U
`ij =
+ si
(xi , xj )
/U
0
si i = j
2.
50
Algorithme de Ford
1
1 0
L=
5
7
8
6
0
4
2
1
0
0
8
3
1
0
0 2
0
7
0
1
4
9
8
2
1
6
4
2
3
2
3.
Algorithme de Bellman
4.
Algorithme de Dijkstra