Sie sind auf Seite 1von 50

Universit Ibn Zohr

Facult des Sciences Juridiques conomiques et Sociales

Recherche
Oprationnelle
Mohamed HACHIMI

FILIRE SCIENCES CONOMIQUES ET GESTION


TROISIME ANNEE

EG

Semestre 6

Table des matires

lments de thorie des graphes

1. La notion de graphe

2. Parcours eulriens et hamiltoniens

13

3. Coloration des sommets dun graphe

16

Dcomposition des graphes

20

1. Introduction

20

2. Dcomposition base sur la matrice dadjacence

21

3. Dcomposition base sur la matrice de la fermeture transitive

24

4. Application aux arcs

28

Problmes dordonnancement

31

1. Introduction

31

2. Modlisation par un graphe orient

32

3. Construction du graphe PERT

35

4. Rsolution du graphe PERT

38

5. Diagramme Gantt

48

Problme du plus court chemin

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

Devant un grand nombre de situations, le mathmaticien, comme dailleurs le


planificateur ou lconomiste, a t amen tracer sur le papier des points
(reprsentant des nombres, des individus, des localits, des oprations) et des lignes
continues reliant certaines paires de ces points et symbolisant une relation, une
route, une prfrence, etc.
Pour raisonner sur de tels schmas, on a convenu dappeler sommets ces points,
arcs ou artes ces lignes (suivant quelles sont orientes ou non), et den tudier les
proprits combinatoires.
Il convient de distinguer les graphes orients de ceux qui ne le sont pas. Nous nous
intressons dans ce chapitre aux premiers et nous donnerons quelques exemples est
proprits des seconds dans la section
1.1.

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).

lments de thorie des graphes

Dfinition 1 On appelle graphe le couple G = (X, U ) form de deux ensembles : un


ensemble X dont les lments sont appels sommets, et un ensemble U qui est une famille
dlments de X X, dont les lments sont appels arcs.
Un exemple de graphe dordre 6 est donn par la figure 1 ci-dessous :

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

lments de thorie des graphes

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.

Soit xi un sommet du graphe G.

Le demi-degr extrieur de xi , not d+ (xi ), est le nombre darcs ayant xi comme


extrmit initiale.
Le demi-degr intrieur de xi , not d (xi ), est le nombre darcs ayant xi comme
extrmit finale.
Le degr de xi est d(xi ) = d+ (xi ) + d (xi ).
Remarque : dans le cas dun 1-graphe, on a d+ (xi ) = |+ (xi )| et d (xi ) = | (xi )|.

lments de thorie des graphes

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.

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.

Matrice dun graphe

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).

lments de thorie des graphes

Rappelons la dfinition de la somme boolenne et du produit boolen :


00=0
10=1
01=1
11=1

00=0
10=0
01=0
11=1

Addition et produit de matrices boolennes


matrices boolennes dordre n

Soit A = (aij ) et B = (bij ) deux

Dfinition 3 La somme boolenne AB des deux matrices A et B est la matrice C = (cij )


o cij = aij bij

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

est lment neutre du produit boolen.


Dfinition 5 Une puissance dordre p de la matrice boolenne A sera note
A[p] = A
| A
{z A}
p fois

lments de thorie des graphes

0 1 0
0 1 0
0 1 0
1 1 0

Par exemple, si A = 1 1 0 , alors A[2] = 1 1 0 1 1 0 = 1 1 0


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

0 sil nexiste pas de chemin de longueur p de xi vers xj


aij =
1 sil existe un chemin de longueur p de xi vers xj
Considrons le graphe suivant :

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

lments de thorie des graphes

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

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 xi et xj , est appel arte
quon note e = [xi , xj ].
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.
e1
e9
1
3
2

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

====

2 A tout graphe orient G = (X, U ), on associe le multigraphe (X, E) o :

[xi , xj ] E (xi , xj ) U ou (xj , xi ) U


Le multigraphe de la figure 10 est associ au graphe orient de la figure 1.

lments de thorie des graphes

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 :

Les quatre rgions sont reprsentes par


des sommets, et les sept ponts par des
artes. Ainsi on obtient un multigraphe.

d
c

Lemme 1 Poignes de mains Soit G = (X, E) un graphe simple, alors


X

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.

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 u1 , u2 , . . . , up telle que


lextrmit finale de chaque arc concide avec lextrmit initiale de larc suivant.

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.

lments de thorie des graphes

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

Voici quelques types de graphes jouissant de proprits particulires :


Graphe symtrique. Un graphe est dit symtrique si deux sommets adjacents sont
toujours relis par deux arcs (un dans chaque sens) :
(xi , xj ) U = (xj , xi ) U
Un graphe symtrique a donc une allure particulire. Pour chaque arc aller
(xi , xj ), il y a un arc retour (xj , xi ).

Dans ce cas, il est plus commode de reprsenter ce graphe en remplaant les doubles
arcs par une simple arte.

lments de thorie des graphes

13

Graphe anti-symtrique. Un graphe est dit anti-symtrique si deux sommets


adjacents ne sont jamais relis par deux arcs (un dans chaque sens) :
(xi , xj ) U = (xj , xi )
/U
Dans un graphe anti-symtrique, pour chaque arc aller (xi , xj ), il ny a pas darc
retour (xj , xi ).
Graphe complet. Un graphe est dit complet si deux sommets quelconques sont
toujours adjacents :
(xi , xj )
/ U = (xj , xi ) U
Autrement dit, un graphe est complet si tout couple de sommets est reli dans au
moins un des deux sens.
Graphe transitif.
a:

Un graphe est dit transitif si pour trois sommets quelconques on

(xi , xk ) U et (xk , xj ) U = (xi , xj ) 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.

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.
concident.

Un cycle eulrien est une chane eulrienne dont les extrmits

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 :

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

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 (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.

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 figure 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.

lments de thorie des graphes

16

2 Un reprsentant de commerce doit rendre visite n clients x1 , x2 , . . . , xn en partant


dune ville x0 et revenir son point de dpart. Il connat les distances d0j qui sparent
le dpt x0 de chacun de ses clients xj , ainsi que la distance dij entre deux clients
quelconques xi et xj .
Dans quel ordre doit-il rendre visite ses clients pour que la distance totale parcourue
soit minimale ? Ce problme revient chercher un cycle hamiltonien de longueur
totale minimale dans le graphe complet G construit sur lensemble des sommets X =
{x1 , x2 , . . . , xn }, les artes tant munies des longueurs dij .

3.

Coloration des sommets dun graphe

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

E = [x1 , x2 ], [x1 , x3 ], [x1 , x4 ], [x2 , x3 ], [x2 , x4 ], [x3 , x4 ], [x1 , x5 ], [x2 , x5 ], [x5 , x6 ]

lments de thorie des graphes

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

lments de thorie des graphes

18

Planifier les examens en un temps minimal consiste dterminer une k-coloration de G,


avec k = (G).
G possde un sous-graphe complet dordre 4 (de sommets 1,2,3,4), donc (G) > 4.
Dterminons une partition des sommets de G en sous-ensembles stables :
S1 = {1, 6}
S2 = {2}
S3 = {3, 5}
S4 = {4, 7}
do (G) 6 4, et finalement (G) = 4. Les examens peuvent tre rpartis en 4 priodes,
de la manire suivante :
1re priode, preuves des cours 1 et 6
2e priode, preuve du cours 2
3e priode, preuves des cours 3 et 5
4e priode, preuves des cours 4 et 7

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.

lments de thorie des graphes

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.

Dcomposition des graphes

Introduction

Le but de ce chapitre est de prsenter quelques mthodes utilises pour la


dcomposition dun graphe sans circuit en niveaux. Cette dcomposition consiste
partitionner lensemble X des sommets du graphe G = (X, U ) dordre n (n = |X|),
en sous ensembles :
X(0), X(1), X(2), . . . , X(p)

(p 6 n)

appeles niveaux, de telle faon que :


a) les sommets du niveau X(0) nont pas de prdcesseurs et ce sont les seuls ;
b) les sommets du niveau X(p) nont pas de successeurs ;
c) aucun sommet dun niveau X(i) (i = 1, . . . , p) ne possde de successeurs dans
les niveaux X(i 1), . . . , X(0)
d) il ny a pas darc entre deux sommets dun mme niveau
Il est clair que :

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))), (x) (X(0) X(1))};


..

X(p) = {x | x (X\(X(0) X(1) X(p 1))),

(x) (X(0) X(1)) X(p 1))}


Proposition 2 Pour quun graphe soit dcomposable en niveaux, il faut et il suffit quil soit
sans circuit.
Remarque :

Si le graphe G est sans circuit, pour i = 1, 2, . . . , n,on a :

X(i) = {x X | le chemin de longueur maximale arrivant x contient i arcs}

Dcomposition des graphes

Exemple :

21

Considrons par exemple le graphe G1 suivant :

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.

Dcomposition base sur la matrice dadjacence

Soit G = (X, U ) un graphe sans circuit dordre n et M sa matrice dadjacence


(Matrice des prdcesseurs). Appelons C1 , C2 ,. . . , Cn les colonnes reprsentant les
colonnes de la matrice M. Le principe de la mthode de dcomposition de G en
niveaux, base sur la matrice dadjacence, est le suivant :
a) Slectionner tous les sommets de X nayant aucun prdcesseur : pour cela
calculer le vecteur V0 dfini par :
P0 = C1 + C2 + + Cn
Il est vident que ces sommets correspondent uniquement aux valeurs nulles
du vecteur P0 . Ils forment le sous-ensemble X(0), do son nom de niveau 0 ;

Dcomposition des graphes

22

b) Slectionner tous les sommets de X\X(0) nayant de prdcesseurs que dans


X(0) : cela revient calculer P1 en retranchant du vecteur P0 les colonnes
correspondant aux sommets de X(0) :
P1 = P0 Ci1 Ci2 Cip
o Ci1 , Ci2 ,. . . ,Cip sont les colonnes qui correspondent aux sommets du niveau 0
et rechercher les sommets qui correspondent uniquement aux valeurs nulles
dans la nouvelle colonne P1 . On obtient ainsi le niveau 1.
c) Itrer le processus comme suit : le dernier niveau obtenu tant N-1, adopter
comme niveau N le sous-ensemble form par les sommets correspondant aux
valeurs nulles dans le vecteur PN dfini par :
PN = PN 1 Cj1 Cj2 Cjk
o Cj1 , Cj2 ,. . . ,Cjk sont les colonnes qui correspondent aux sommets du
niveau N-1. On obtient ainsi le niveau N.
d) Itrer le processus c) jusqu puisement de tous les sommets de X.
Exemple :

Considrons, titre dexemple, le graphe G2 suivant :

Considrons la matrice dadjacence M de G2 et appelons CA , CB , CC ,. . . , CK les


vecteurs reprsentant les colonnes de cette matrice.
1 Calculons le vecteur P0 = CA + CB + + CK . Portons ce rsultat droite de la
matrice comme le montre le tableau ci-aprs. Le vecteur P0 contient un zro qui
correspond au sommet A. Ceci signifie que A na pas de prdcesseur, do son
nom de niveau 0.
2 Calculons maintenant le vecteur P1 : P1 = P0 CA (limination de la colonne
de A). Deux nouveaux 0 apparaissent en B et C formant le niveau 1.
3 Calculons maintenant le vecteur P2 : P2 = P1 CB CC . Un nouveau 0 apparat
en E formant le niveau 2.

Dcomposition des graphes


A
A
B
C
D
E
F
G
H
I
J
K

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

4 Calculons le vecteur P3 : P3 = P2 CE . Deux nouveaux 0 apparaissent pour D


et F formant le niveau 3.
5 Calculons le vecteur P4 : P4 = P3 CD CF . Un zro apparat en H formant le
niveau 4.
6 Calculons le vecteur P5 : P5 = P4 CH . Un zro apparat en I formant le
niveau 5.
7 Calculons le vecteur P6 : P6 = P5 CI . Un zro apparat en J formant le niveau 6.
8 Calculons le vecteur P7 : P7 = P6 CJ . Un zro apparat en G formant le
niveau 7.
9 Calculons le vecteur P8 : P8 = P7 CG . On arrte P8 qui nest form que de 0
correspondant K et constituant le niveau 8.
A B C D E F G H I J K
A
B
C
D
E
F
G
H
I
J
K

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

Dcomposition des graphes

24

Les niveaux obtenus sont alors :


B

3.

Dcomposition base sur la matrice de la fermeture transitive

Dfinition 9 A tout graphe G = (X, U ) on peut associer de faon unique un graphe


b = (X, U
b ), appel fermeture transitive de G, o U
b est dfini par
transitive G
b il existe dans G un chemin de x vers y
(x, y) U
b en ajoutant U un
Schmatiquement, on construit U
arc (xi , xk ) qui nappartient pas U si (xi , xj ) U
et (xj , xk ) U pour au moins un j, et ce de faon
b transitif.
itrative jusqu lobtention dun graphe G

j
i
k

Dfinition 10 On appelle fermeture transitive dun sommet xi dun graphe, le sous


ensemble des sommets du graphe y compris xi lui mme pour lesquels il existe un chemin de
xi chacun deux.
Considrons la p-ime puissance boolenne, de la matrice M associe G :
M[p] = M M M

(p fois)

Rappelons que M[p] reprsente la matrice dadjacence dun graphe o un arc de xi


vers xj signifie quil existe dans G un chemin de longueur p allant de xi vers xj .
c de G
b:
On en dduit la matrice dadjacence M
c = M M[2] M[n1]
M
Remarque :

b sa fermeture transitive. On voit facilement que


Soit G un graphe et G

1 G est transitif si et seulement si la matrice dadjacence M associe G est gale


c associe G
c=M
b:M
la matrice dadjacence M
c associe G
b ne
2 G est sans circuit si et seulement si la matrice dadjacence M
possde aucun 1 sur la diagonale. Cette proprit fournit un premier algorithme
de reconnaissance dun graphe sans circuit.

Dcomposition des graphes

25

Organigramme de lalgorithme dobtention de la fermeture transitive dun


graphe
M
c
M := M
p=2

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

Pour la commodit des calculs, on utilise souvent la matrice M de la fermeture


reflexive transitive dfinie par :
M = I M M[2] M[p]
Rgle de calcul de la matrice M
a) Le calcul de la fermeture transitive dun graphe reprsent par une matrice
dadjacence se fait en ajoutant les matrices boolennes I, M, M[2] , M[3] ... jusqu
obtenir une matrice dont les lments ne changent plus.
(le nombre de termes de cette somme ne dpasse pas le nombre de sommets du
graphe).
b) Mieux on calcule (M + I) (M + I) (M + I) jusqu obtenir une matrice
dont les lments ne changent plus.

Dcomposition des graphes

Exemple :

26

Considrons le graphe G3 suivant :


B

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

On ajoute I M puis on calcule (M I)[2]


A B C D E F G H I
A 1
B 1 1 1
C 1
1
D
1 1
MI=
E
1
1 1
F
1
1
G
1
1 1
H
1 1 1 1
I 1
1
1

(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

Comme (M I)[2] 6= (M I), on calcule (M I)[3] .

(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

Comme (M I)[3] 6= (M I)[2] , on calcule (M I)[4] . On constatera que lon


obtient la mme matrice obtenue prcdemment. Donc :
M = (M I)[3] .

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
contiennent un et un seul 1 : ces sommets constituent le niveau 0 ;
b) Supprimer les lignes et colonnes de M correspondant aux sommets du
niveau 0 : on forme niveau 1 avec les sommets correspondant aux colonnes
contenant un et un seul 1 dans la matrice ampute ;
c) Itrer le processus b) jusqu puisement de tous les sommets de G.
Exemple : Reprenons le graphe G3 et considrons la matrice M de sa fermeture
reflexive 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
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

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.

Dcomposition des graphes

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

6 STOP : puisement de tous les sommets du graphe.


dcomposition en niveaux suivante :

On obtient alors la

B
E
A

G
F

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 M se dfinit comme suit :

1 si larc i succde larc j


M = (aij ) o : aij =
0 si larc i ne succde pas larc j
Exemple :

Reprenons le graphe G3 :
B

C
f

a
b
A

c
I
i

E
l

h
g

m
G

Dcomposition des graphes

29

La matrice dincidence se prsente comme suit :


a
a
b
c
d 1
e
f
g
h
i
j
k
l
m
n

m n

1
1
1
1
1
1

1
1
1
1
1

1
1

Appelons Ca , Cb ,. . . , Cm les vecteurs reprsentant les colonnes de cette matrice.


1 Calculons :
p0 = Ca + Cb + + Cm
Portons ce rsultat droite de la matrice comme le montre le tableau ci-dessus.
Le vecteur p0 contient des zros qui correspondent aux arcs a, b et c. Ceci signifie
que a, b et c nont pas de prdcesseurs, donc ils forment le niveau 0.
2 Calculons maintenant le vecteur p1 :
p1 = p0 Ca Cb Cc
Il apparat trois nouveaux zros pour e, f et g qui seront dit niveau 1.
3 Calculons maintenant le vecteur p2
p2 = p1 Ce Cf Cg
Cinq nouveaux zros apparaissent en d, h, j, k et l formant le niveau 2.
4 Calculons le vecteur p3
p3 = p2 Cd Ch Cj Ck Cl
Deux nouveaux zros apparaissent pour i et m formant le niveau 3.
5 Calculons le vecteur p4
p4 = p3 Ci Cm
Un nouveau zro apparait pour n qui forme le niveau 4.

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 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

La dcomposition en niveaux des arcs est suivante :


d
a

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

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 fin 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 planification 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 afin 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 fin dun travail, dune opration,
dune tche. En plus, il ne consomme ni temps, ni ressources physiques, ni
ressources financires.

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

c) Les tches convergentes : Les tches qui sont prdcesseurs immdiats de la


mme tche, vont vers un vnement commun : deux tches A et B qui prcdent
le mme vnement se reprsentent ainsi :

i
A
k
B
j

Le graphe associ au projet doit reprsenter lenchanement des tches composant


le projet tout en respectant les antriorits et les dlais de ralisation existant entre
ces tches.
En ce qui concerne le projet de la construction de la nouvelle maison, le dessin cidessous prsente un graphe reprsentant lenchanement des tches.

cu

du

au

ue

ug

i
u

ku

uf

j
m

u
u
u

Problmes dordonnancement

35

Expos sous cette faon, il ne prsente aucune utilit pour la planification vu sa


complexit.

3.
3.1.

Construction du graphe PERT


Obtention des niveaux

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 :

1 si la tche i succde la tche j


M = (aij ) o : aij =
0 si la tche i ne succde pas la tche j
En utilisant le tableau des antriorits immdiates, le calcul est prsent ci-dessous :
a b c d e f g h i

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

Les flches indiquent les relations dantriorit. Le schma

signifie que la tche c ne peut dmarrer avant le parachvement de la tche b.


3.2.

La construction du graphe PERT

Revenons maintenant au projet de la construction de la nouvelle maison.


Considrons le sous projet contenant les tches a, b et c :

Puisque les tches a et b nont pas de prdcesseurs, elles commencent du sommet 1.


Le trac du graphe des tches dbute comme suit :
2

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

Considrons maintenant le sous projet constitu des tches c, d et g :

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

Considrons maintenant le sous projet form des tches d, e et f :

Les tches d, e et f sont des tches successives, elles se reprsentent ainsi :

e
d
4

Le sous projet form des tches f , g, h et i prsente une difficult.

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

La figure suivante illustre le graphe complet du projet de la construction du nouvelle


maison.
2

11

F2

F1

4.

10

12

13

Rsolution du graphe PERT

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.

Calcul des dates au plus tt

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

Plusieurs tches avant une tape

i
Tik

ti
i
ti

dik

Tij
dij

tj
j

Tjk

tj
tj = ti + dij

k
tk

djk

tk = max{ti + dik , tj + djk }

Dterminons maintenant t2 : la tche a est la seule qui aboutisse en 2 ; cette tche


dure 8, par consquent,
t2 = t1 + (dure de a) = 0 + 8 = 8.
Pour atteindre le sommet 3, il faut que les tches b et F1 soient paracheves ; do t3
serait le plus grand de temps suivant :
t1 + (dure de b) = 0 + 6 = 6
t2 + (dure de F1 ) = 8 + 0 = 8
le date au plutt retenir est : t3 = max{6, 8} = 8.

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

Calcul des dates au plus tard

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

Plusieurs tches aprs une tape

j
Tij
i

Tij
dij

ti

dij

i
tj

tj

ti

Tik

dik
ti = tj dij

tk

ti = min{tj dij , tk dik }

Pour notre exemple, on a :


t13 = t13 = 65
t12 = t13 (dure de m) = 65 1 = 64
t11 = t12 (dure de l) = 64 2 = 62
t10 = t12 (dure de k) = 64 3 = 61
t9 = t10 (dure de j) = 61 4 = 57
t8 = t9 (dure de i) = 57 6 = 51
t7 = min{t8 (dure de F2 ), t11 (dure de h)} = min{51 0, 62 3} = 51
6

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

allonger la dure optimale du projet.


Elle se calcule en retirant la dure Tij de la tche en question lcart quil peut y
avoir entre sa date au plus tt de dbut ti et sa date au plus tard de fin tj :
Mt = tj ti dij

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 :

Mi = max 0, (tj ti dij )


Daprs cette formule, la marge indpendante est considre comme nulle lorsque
son calcul donne un nombre ngatif

i
ti

Tij
dij

j
tj

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 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

Graphe pour le projet


de la construction du
nouvelle maison :

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

Cest un outil permettant de modliser la planification 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

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.

Diagramme au plus tard


0

a
b
c
d
e
f
g
h
i
j
k
l
m

10

15

20

4
1.

Problme du plus court


chemin

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

Un chemin joignant un sommet xa un sommet xb est dit de longueur minimale (ou


maximale) sil minimise (ou maximise) la longueur `() dans lensemble de tous les
chemins joignant xa xb . Un tel chemin est appel parfois le plus court (ou long)
chemin de xa xb .
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 difficile 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 x1 xn .
Il est utile dintroduire une matrice L, dite matrice des longueurs, dont llment `ij
se dfinit pour le problme du plus court chemin par :

`(u) si u = (xi , xj ) U
`ij =

+ si
(xi , xj )
/U

0
si i = j

2.

Problme du plus court chemin

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

Das könnte Ihnen auch gefallen