Vous êtes sur la page 1sur 159

UNIVERSITÉ ABDELMALEK ESSAADI

École Nationale des Sciences Appliquées de Tétouan

Théorie des graphes &


Recherche Opérationnelle

Pr DKHISSI Btissam

13/10/2022 Théorie des graphes 2022/2023 1


L’optimisation

L’optimisation est une branche des mathématique cherchant à analyser et à


résoudre analytiquement ou numériquement les problèmes qui consistent à
déterminer le meilleur élément (l’optimal) d'un ensemble, au sens
d'un critère quantitatif donné (le coût).

13/10/2022 Théorie des graphes 2022/2023 2


L’optimisation

• L'optimisation est essentiellement un outil d'aide à la décision au sein des


entreprises, mais aussi pour des individus.

• Le terme « optimal » est souvent trompeur. Ce n'est pas un jugement de valeur absolu.
C'est plutôt une information sur l'approche méthodologique utilisée.

13/10/2022 Théorie des graphes 2022/2023 3


Exemples d’Application

✓ Les problème de flux : minimiser les coûts / le nombre de véhicules


utilisés
✓ Problèmes d’affectation : l’affectation des activités au personnel d’une
entreprise en maximisant la rentabilité de personnes;

✓ L’investissement : maximiser le rendement, sans dépasser la somme


disponible.

➢ File d’attente : l’objet de l’optimisation est de déterminer le nombre de


guichets qu’il convient de mettre en place afin de limiter au maximum
l’attente des clients.

➢ Problème d’ordonnancement : établir l’ordre d’exécution des tâches


afin de produire le maximum de produits en un temps donné et de
réduire le temps total de production d’un nombre donné de produits.

13/10/2022 Théorie des graphes 2022/2023 4


Théorie des graphes
INTRODUCTION

13/10/2022 Théorie des graphes 2022/2023 5


Historique
La théorie des graphes est née en 1736 avec la communication d'Euler
(1707-1783) dans laquelle il proposait une solution au célèbre
problème des ponts de Königsberg l'ancien nom de l'actuelle ville russe
de Kaliningrad. (Euler, 1736). Le problème posé était le suivant:

13/10/2022 Théorie des graphes 2022/2023 6


Historique

Deux îles A et D sur la rivière Pregel (la Pregolia) à Königsberg étaient


reliées entre elles ainsi qu'aux rivages B et C à l'aide de sept ponts (a, b, c,
d, e, f et g) comme le montre la figure.

13/10/2022 Théorie des graphes 2022/2023 7


Problématique
• A partir d'une terre quelconque A, B, C, ou D, traverser chacun des ponts une fois et une
seule et à revenir à son point de départ (sans traverser la rivière à la nage !).

• Problème identique à celui consistant à tracer une Figure géométrique sans lever le
crayon et sans repasser plusieurs fois sur un même trait.

13/10/2022 Théorie des graphes 2022/2023 8


Historique

• En 1847, Kirchhoff (1824-1887) découvrit la notion d'arbre (qui est un


type particulier de graphe n'ayant pas de cycle, i.e. dans lequel il est
impossible de revenir à un point de départ sans faire le chemin
inverse) pour l'appliquer à l'analyse de circuits électriques.

• Dix ans plus tard, Cayley (1821-1895) développa la théorie des arbres

13/10/2022 Théorie des graphes 2022/2023 9


Historique

Les graphes ont été apparus dans différentes situations


concrètes où interviennent des objets en interaction:
• Le trafic routier, feroviaire, aérien
• Réseau de telecommunication (implantation des
antenes)
• Circuit éléctronique

Problèmes d’optimisation

13/10/2022 Théorie des graphes 2022/2023 10


Optimisation
Étude du problème
d’optimisation

Modélisation Résolution

Graphiquement Mathématiquement Algorithmes &


méthodes

13/10/2022 Théorie des graphes 2022/2023 11


Définition: un graphe

Un graphe G est un couple (A,U) qui décrit un ensemble d'objets A


et l’ensemble des liens entre eux U

• A est appelé l’ensemble des nœuds, ou des sommets du


graphe.
• Un élément de U est un lien entre deux objets et appelé une
arête ou arc

13/10/2022 Théorie des graphes 2022/2023 12


Exemples

A = a , b, c, d, e, f , g, h

U = (a, b), (b, c), (b, e), (a, e), (d, e), (a, h ), (d, h ), (g, h ), (d, g), (g, h ), (f , g), (e, f )
b
a

c
d

h
f

g
13/10/2022 Théorie des graphes 2022/2023 13
Graphe orienté

On dit que le graphe G est orienté si les éléments de U (les connexions entre les
sommets) sont orientés et dans ce cas , les éléments de U sont appelés des arcs

b
d

13/10/2022 Théorie des graphes 2022/2023 14


Graphe non orienté

On dit que le graphe G est non orienté si les éléments de U (les


connexions entre les sommets) sont non orientés et dans ce cas ,
les éléments de U sont appelés des arêtes

b
a

c
d

13/10/2022 Théorie des graphes 2022/2023 15


Remarques


On note un arc par (i,j) ou ij

13/10/2022 Théorie des graphes 2022/2023 16


Remarques
Soit A={x1, x2, ..., xn} un ensemble de sommets
On peut définir un graphe par la relation binaire R:
xi R xj (xi,xj) est un arc du graphe
x1

x2

x3

x1 R x2 , x2 R x1 , x2 R x3 et x1 R x3
13/10/2022 Théorie des graphes 2022/2023 17
Vocabulaire de la théorie des graphes

Graphe sans boucle:

• On dit qu'un graphe est sans boucle si A ne contient pas d'arête de la forme (x, x),
c'est à dire joignant un sommet à lui même.

• Le nombre de sommets du graphe est appelé ordre du graphe.

13/10/2022 Théorie des graphes 2022/2023 18


Définition: sommets adjacents

• xi R xj , on dit que les sommets xi et xj sont adjacents


• xi et xj sont adjacents s’il y a un arc qui les relis

Remarques

• Si le graphe est non orienté, la relation binaire définie est symétrique : xi R xj alors
xjR xi

13/10/2022 Théorie des graphes 2022/2023 19


Remarques

Soit G=(X, U) un graphe orienté et x un sommet, on note:

U − ( x ) = y  X /( y, x )  U: Ensemble des antécédent s du sommet x


U + ( x ) = z  X /( x , z)  U: Ensemble des successeurs du sommet x
U( x ) = U − ( x )  U + ( x ) : Ensemble des sommets adjacents au sommet x

13/10/2022 Théorie des graphes 2022/2023 20


Exemples

a
U − (d ) = e
e
U (c) = a , b, d

U + (a ) = b, c, e b
+
d
Ø
U ( c) =
c

Un graphe peut être définit par l’ensemble de


ses sommets et des antécédents et de
successeurs de chaque sommet
13/10/2022 Théorie des graphes 2022/2023 21
Définitions

• Le cardinal de l’ensemble des sommets X (nombre de sommets


de G) est appelé ordre de G et est noté |X|

13/10/2022 Théorie des graphes 2022/2023 22


Définitions

• Si on indique un nombre sur chaque arc du graphe, on dit qu’on a un graphe


valué

Exemple: a
4
3 e
2
11
b
5 d
1
c

13/10/2022 Théorie des graphes 2022/2023 23


Exemple des graphes
• Un graphe simple est un graphe sans boucle dont chaque couple de
sommets est relié par au plus une arête
• Un graphe complet est un graphe simple dont tout couple de sommet est
connecté (tous les sommets sont adjacents / tous les sommets sont de
degré n-1)

• Un graphe discret d’ordre n, Gn=(X, Ø)


• Un graphe biparti (biparti-complet) est un graphe constitué de deux partie
X1 et X2 de sommets dont (tous) les sommets de X1 et les sommets de X2
sont adjacents

13/10/2022 Théorie des graphes 2022/2023 24


Degré de sommet

Soit L=(x,y) un arc (qui n’est pas une boucle) d’un graphe G
• On dit que L est incident à x vers l’extérieur et incident à y vers
l’intérieur
• Le nombre des incidents à x vers l’extérieur est noté: d G+ (xet
)
s’appelle le demi-degré extérieur de x
• Le nombre des incidents à x vers l’intérieur est noté: d G− (x) et
s’appelle le demi-degré intérieur de x
• Le nombre d G+ (x) + d G− (x)s’appelle le degré du sommet x et on le
note d G (x)
Remarque:
si dG(x)=0, on dit que x est isolé

13/10/2022 Théorie des graphes 2022/2023 25


Exemple:
x1

x5

x2
x4

x3

x1 X2 x3 x4 x5
+
dG (x) 3 1 0 1 1

dG (x) 0 1 3 1 1
d G (x) 3 2 3 2 2
13/10/2022 Théorie des graphes 2022/2023 26
Théorème des poignées de mains
La somme des degrés de tous les sommets d’un graphe vaut le double
du nombre d’arêtes

d
x X
G (x) = 2 U

A prouver par récurrence (Nombre d’arêtes)


Corrolaire:
Le nombre de sommets de degré impair est pair

Définition: un graphe G dont tous les sommets ont le même degré


est dit régulier. On dit que le graphe est k-régulier si le degré commun
est k

13/10/2022 Théorie des graphes 2022/2023 27


Représentation d’un graphe

Représentation par énumération:


Exemple :
X= {a,b,c,d,e,f}
U= { (a,b),(b,a),(b,c),(c,d),(d,a),(c,e),(e,f),(d,f) }
a

b
d

c f

13/10/2022 Théorie des graphes 2022/2023 28


Représentation d’un graphe

Représentation par dictionnaire:


Exemple :
Dictionnaire des suivants
X S(x)
a b
b a,c a
c d,e
d a,f e
e f
f --
b
d

c f

13/10/2022 Théorie des graphes 2022/2023 29


Représentation d’un graphe

Représentation par dictionnaire:


Exemple :
Dictionnaire des précédents
X P(x)
a b,d
b a a
c b
d c e
e c
f d,e
b
d

c f

13/10/2022 Théorie des graphes 2022/2023 30


Représentation d’un graphe

Remarque:

On peut construire le dictionnaire des précédents en se servant du dictionnaire des


suivants

13/10/2022 Théorie des graphes 2022/2023 31


Représentation d’un graphe

Représentation matricielle: Matrice d’adjacence

1 si (x i , x j )  U
On pose M=(mij)1≤i,j≤n avec m ij = 
0 sinon
Exemple :
a b c d
a
0
a 1 0 0
 
b 1 0 1 0
M =
c 0 0 0 1
  b
d
d 
1 1 0 0
 c

13/10/2022 Théorie des graphes 2022/2023 32


Représentation d’un graphe

Représentation matricielle:

− ab − −
 
 ba − bc −
M=
cd 
a
− − −
 
 da − − 
 db
b
d

13/10/2022 Théorie des graphes 2022/2023 33


Représentation d’un graphe

Dénitions :
• On appelle graphe réflexif un graphe possédant une boucle sur chaque sommet.

• Un graphe est symétrique si, pour tout arc u = (x, y) appartenant à U, l'arc v = (y,
x) appartient également à U.

• Un graphe est antisymétrique si, pour tout arc u = (x, y) appartenant à U, l'arc v =
(y, x) n'appartient pas à U.

• Un graphe est transitif si, quelque soit deux arcs adjacents u = (x, y) et v = (y, z)
appartenant à U, alors l'arc w = (x, z) appartient également à U.

13/10/2022 Théorie des graphes 2022/2023 34


Représentation d’un graphe

Dénition :
• Un graphe G = (A,U) est dit complet si, pour toute paire de sommets (x, y), il
existe au moins un arc de la forme (x, y) ou (y, x).

• Un sous-ensemble de sommets tel que deux sommets quelconques de C


C (sous-graphe
sont reliés par une arête est appelé une clique A complet).

13/10/2022 Théorie des graphes 2022/2023 35


Dénition :

Soit G=(X, U) un graphe non orienté.


S X
Un sous ensemble est un ensemble stable s’il ne comprend que des sommets non
adjacents deux à deux:

i, j  S  (i, j)  U
a
e

b
d
S={a,d,e} f
c

13/10/2022 Théorie des graphes 2022/2023 36


Application:
Coloration des sommets d’un graphe

• La coloration des sommets d’un graphe consiste à une affectation de couleurs à tous les sommets
du graphe de telle sorte que deux sommets adjacents ne soient pas porteurs de la même couleur.

• Le nombre chromatique (Gcomme


est définit ) le nombre de couleurs distinctes nécessaires à la
coloration des sommets de G.

13/10/2022 Théorie des graphes 2022/2023 37


Application:
Coloration des sommets d’un graphe

• Un graphe G qui est coloré en K couleurs est dit k-chromatique

• Une K-coloration des sommets est une partition (S1, S2, ..., Sk) de
l’ensemble des sommets en K ensembles stables
(chaque couleur i représente un sous ensemble de sommets non
adjacents puisqu’ils sont de la même couleur)

13/10/2022 Théorie des graphes 2022/2023 38


Vocabulaire de la théorie des graphes

Chemin:
Une suite d’arcs dont l’extrémité terminale de chacun est l’extrémité initiale du
suivant sauf pour le dernier

b
d

c
a,b,c,d est un chemin

13/10/2022 Théorie des graphes 2022/2023 39


Vocabulaire de la théorie des graphes

Chemin hamiltonien:
Un chemin est dit hamiltonien, s’il passe une fois et une seule
par chaque sommet du graphe
a

b
d
c

a,b,c,d,e est un chemin hamiltonien


a,b,c,d,a,c,d,e n’est pas un chemin hamiltonien
13/10/2022 Théorie des graphes 2022/2023 40
Vocabulaire de la théorie des graphes

Chemin pré-hamiltonien:
Un chemin est dit pré-hamiltonien, s’il passe au moins une fois
par chaque sommet du graphe
a

b
d
c

a,b,c,d,a,c,d,e est un chemin pré-hamiltonien


13/10/2022 Théorie des graphes 2022/2023 41
Vocabulaire de la théorie des graphes

Chemin élémentaire :
Un chemin est dit élémentaire s’il ne passe pas plus qu’une fois
par chacun des sommets (pas tous les sommets)
a

b
d
c

e,a,b est un chemin élémentaire


13/10/2022 Théorie des graphes 2022/2023 42
Vocabulaire de la théorie des graphes

Chemin simple:
Un chemin est dit simple s’il ne passe pas plus qu’une fois par le
même arc
a

b
d
c

e,a,b,c est un chemin simple


13/10/2022 Théorie des graphes 2022/2023 43
Vocabulaire de la théorie des graphes

Chemin eulérien:
Un chemin est dit eulérien s’il passe une fois et une seule par
chaque arc
a

b
d
c

a,b,c,d,e est un chemin eulérien


13/10/2022 Théorie des graphes 2022/2023 44
Vocabulaire de la théorie des graphes

Chemin pré-eulérien:
Un chemin est dit pré-eulérien s’il passe au moins une fois par
chaque arc
a

b
d
c

a,b,c,d,e,a,c,d,a est un chemin eulérien


13/10/2022 Théorie des graphes 2022/2023 45
Vocabulaire de la théorie des graphes

Circuit :
Un chemin est dit circuit s’il se ferme sur lui même

a,b,c,a est un circuit

13/10/2022 Théorie des graphes 2022/2023 46


Vocabulaire de la théorie des graphes

Circuit hamiltoniens:
Un circuit est dit hamiltonien s’il passe une fois et une seule par
chaque sommet
a

a,b,c,a est un circuit hamiltonien


13/10/2022 Théorie des graphes 2022/2023 47
Vocabulaire de la théorie des graphes

Chaîne :
Une chaîne est une suite d’arêtes dont chacune a une extrémité
commune avec l’arête précédente
a
e

b
d
c

13/10/2022 Théorie des graphes 2022/2023 48


Vocabulaire de la théorie des graphes

Chaîne hamiltonien:
Une chaîne hamiltonien est une chaîne de longueur n-1

a
e

b
d
c

13/10/2022 Théorie des graphes 2022/2023 49


Vocabulaire de la théorie des graphes

Cycle:
Un cycle est une chaîne simple se fermant sur elle-même

b
d
c

13/10/2022 Théorie des graphes 2022/2023 50


Application : Problème de voyageur de
commerce (Travelling Salesmen Problem TSP)

Problème : En sortant de son domicile (sommet en noir) comment


trouver un cycle hamiltonien de longueur minimale en visitant
toutes les villes (sommets en blanc) ?

Vi Vj
dij

13/10/2022 Théorie des graphes 2022/2023 51


Vocabulaire de la théorie des graphes

Connexité :
Un graphe est dit (faiblement) connexe si,

pour tout couple de sommets (xi , xj)  A (i  j) , il existe une


chaîne joignant xi à xj.

13/10/2022 Théorie des graphes 2022/2023 52


Vocabulaire de la théorie des graphes

Connexité :
Soit R la relation binaire définie par:

 xi = x j
xi R xj 
ou
 il existe une chaîne reliant x i à x j

Les classes d’équivalences de R sont les composantes


(faiblement) connexes de A.

13/10/2022 Théorie des graphes 2022/2023 53


Vocabulaire de la théorie des graphes

Connexité : Exemple
a
b

d
c

Le graphe est connexe et contient une seule classe d’équivalence

a = a, b, c, d

13/10/2022 Théorie des graphes 2022/2023 54


Vocabulaire de la théorie des graphes

Connexité :
Un graphe est dit (fortement) connexe si,

pour tout couple de sommets (xi , xj)  A (i  j) , il existe un


chemin allant de xi à xj.

13/10/2022 Théorie des graphes 2022/2023 55


Vocabulaire de la théorie des graphes

Connexité :
Soit R la relation binaire définie par:

 xi = x j

xi R xj  ou
 il existe un chemin allant de x à x et un chemin de x vers x
 i j j i

Les classes d’équivalences de R sont les composantes fortement


connexes .

13/10/2022 Théorie des graphes 2022/2023 56


Vocabulaire de la théorie des graphes

Connexité forte: Exemple


e d
f

c
g
b

Le graphe n’est pas fortement connexe et contient deux classes


d’équivalence : {a,b,f} et {c,d,e,g}

13/10/2022 Théorie des graphes 2022/2023 57


Algorithme de connexité forte

a. Marquer x0 par les signes (+) et (-)


b. Marquer du signe (+) tout successeur non encore marqué par (+) d’un sommet marqué par
(+)
c. Marquer du signe (-) tout prédécesseur non encore marqué par (-) d’un sommet marqué
par (-)
d. Quand on ne peut plus marquer de sommet, les sommets marqués par (+) et (-) constituent
la composante fortement connexe de x0

Exemple:
1 6 10 12

7 9 11
2

3 4 5 8
13/10/2022 Théorie des graphes 2022/2023 58
Vocabulaire de la théorie des graphes

Réseau :
On appelle réseau, un graphe connexe sans boucle.

• L’entrée du réseau est le sommet n’ayant pas de précédent.

• La sortie du réseau est le sommet n’ayant pas de suivant.

13/10/2022 Théorie des graphes 2022/2023 59


Vocabulaire de la théorie des graphes

Arbre:
On appelle arbre, un graphe connexe sans cycle.

13/10/2022 Théorie des graphes 2022/2023 60


Vocabulaire de la théorie des graphes
Arborescence ou « arbre enraciné » (« rooted tree ») :
C’est un arbre avec un noeud « distinct » appelé racine et noté r
La profondeur ou le niveau d’un noeud, disons x , dans
l’arborescence, est la distance d(r,x) entre ce noeud et la racine. La
hauteur de l’arborescence en est le maximum de ces niveaux, alors
que la largeur en est le nombre maximum de noeuds au même
niveau.

13/10/2022 Théorie des graphes 2022/2023 61


Vocabulaire de la théorie des graphes

Remarques:

• On dit que x est l’enfant de y , si x,y sont adjacents avec : d(r,x) =1+d(r,y)
• Les feuilles sont les noeuds sans enfants.
• On représente les arborescences par leurs branches (chemins) en commençant
par la racine

13/10/2022 Théorie des graphes 2022/2023 62


Vocabulaire de la théorie des graphes

Ascendant et descendant d’un sommet:


Si xi et xj sont deux sommets tels qu’il existe un chemin du
premier sommet xi à xj, on dit que xi est ascendant de xj et que xj
est descendant de xi.

13/10/2022 Théorie des graphes 2022/2023 63


Algorithme de parcours d’un graphe

Parcours des graphes

DFS : Depht First Search ( Recherche en profondeur d'abord )

C’est le parcours le plus utilisé sur les graphes

13/10/2022 Théorie des graphes 2022/2023 64


Algorithme de parcours d’un graphe

DFS : principe

Initialement tous les nœuds sont marqués " non visités".

Choisir un nœud v de départ et le marquer " visité".

Chaque nœud adjacent à v, non visité, est à son tour visité en utilisant DFS
récursivement.

Une fois tous les nœuds accessibles à partir de v ont été visités, la recherche
de v ( DFS(v) ) est complète.

Si certains nœuds du graphe restent "non visités", sélectionner un comme


nouveau nœud de départ et répéter le processus jusqu'à ce que tous les nœuds
soient visités.

13/10/2022 Théorie des graphes 2022/2023 65


Algorithme de parcours d’un graphe

//S est l’ensemble des sommets

13/10/2022 Théorie des graphes 2022/2023 66


Algorithme de parcours d’un graphe

DFS : Exemple
1
Choisir A A

2 6
4
B D E
C 3
B 5
C I
A I
D
E 1
Choisir F F
H 2
F
G
G

1
Choisir H H
13/10/2022 Théorie des graphes 2022/2023 67
Algorithme de parcours d’un graphe

Parcours des graphes

BFS : Breadh First Search ( Recherche en largeur)

C’est le parcours le moins utilisé sur les graphes

C'est la généralisation du parcours niveau par niveau défini sur les arbres

13/10/2022 Théorie des graphes 2022/2023 68


Algorithme de parcours d’un graphe

BFS : principe

Initialement tous les nœuds sont marqués " non visités".

Choisir un nœud v de départ et le marquer " visité".

Chaque nœud adjacent à v, non visité, est à son tour visité en utilisant BFS

Une fois tous les nœuds accessibles à partir de v ont été visités, la recherche
de v ( BFS(v) ) est complète

Si certains nœuds du graphe restent "non visités", sélectionner un comme


nouveau nœud de départ et répéter le processus jusqu'à ce que tous les nœuds
soient visités.

13/10/2022 Théorie des graphes 2022/2023 69


Algorithme de parcours d’un graphe

//S est l’ensemble des sommets

13/10/2022 Théorie des graphes 2022/2023 70


Algorithme de parcours d’un graphe

BFS : Exemple
1
Choisir A A

2 3 4
B D E
C
B 5 6
C I
A I
D
E 1
Choisir F F
H 2
F
G
G

1
Choisir H H
13/10/2022 Théorie des graphes 2022/2023 71
Niveau de génération (rang) d’un sommet

Dans un graphe sans circuit, on peut numéroter les sommets du graphe de


telle sorte que le numéro affecté à chaque sommet soit inférieur à celui des
suivants et supérieur à celui des précédents.
Ce numéro ainsi défini est appelé niveau de génération ou rang du sommet.

Le niveau d’un sommet xi est la longueur du plus long


chemin ayant pour extrémité xi et on le note rg(xi)

Les sommets de rang 0 sont ceux qui n’ont aucun précédent


Les sommets de rang 1 sont ceux dont les précédents appartiennet au rang 0.

13/10/2022 Théorie des graphes 2022/2023 72


Niveau de génération (rang) d’un sommet

Commet déterminer les rangs des sommets:


Exemple:

N° de ligne X P(X) x1
x4
1 x0 néant

2 x1 x0
x0 x2 x5
3 x2 x0,x1,x4,x5

4 x3 x0,x1

5 x4 x1,x5
x3
6 x5 x3
13/10/2022 Théorie des graphes 2022/2023 73
Niveau de génération (rang) d’un sommet

Commet déterminer les rangs des sommets:


Exemple: rg(x0)=0

N° de ligne X P(X) x1
x4
1 x0 néant

2 x1 x0 néant
x0 x2 x5
3 x2 x0,x1,x4,x5

4 x3 x0,x1

5 x4 x1,x5
x3
6 x5 x3
13/10/2022 Théorie des graphes 2022/2023 74
Niveau de génération (rang) d’un sommet

Commet déterminer les rangs des sommets:


Exemple: rg(x1)=1

N° de ligne X P(X) x1
x4
1 x0 néant

2 x1 x0 néant
x0 x2 x5
3 x2 x0,x1,x4,x5

4 x3 x0,x1 néant

5 x4 x1,x5 x3
6 x5 x3
13/10/2022 Théorie des graphes 2022/2023 75
Niveau de génération (rang) d’un sommet

Commet déterminer les rangs des sommets:


Exemple: rg(x3)=2

N° de ligne X P(X) x1
x4
1 x0 néant

2 x1 x0 néant
x0 x2 x5
3 x2 x0,x1,x4,x5

4 x3 x0,x1 néant

5 x4 x1,x5 x3
6 x5 x3 néant
13/10/2022 Théorie des graphes 2022/2023 76
Niveau de génération (rang) d’un sommet

Commet déterminer les rangs des sommets:


Exemple: rg(x5)=3

N° de ligne X P(X) x1
x4
1 x0 néant

2 x1 x0 néant
x0 x2 x5
3 x2 x0,x1,x4,x5

4 x3 x0,x1 néant

5 x4 x1,x5 néant x3
6 x5 x3 néant
13/10/2022 Théorie des graphes 2022/2023 77
Niveau de génération (rang) d’un sommet

Commet déterminer les rangs des sommets:


Exemple: rg(x4)=4

N° de ligne X P(X) x1
x4
1 x0 néant

2 x1 x0 néant
x0 x2 x5
3 x2 x0,x1,x4,x5
néant
4 x3 x0,x1 néant

5 x4 x1,x5 néant x3

13/10/2022
6 x5 x3 néant
Théorie des graphes 2022/2023 78
Niveau de génération (rang) d’un sommet
Commet déterminer les rangs des sommets:
Exemple: rg(x2)=5 (la longueur du plus long chemin ayant comme
extrémité finale x2)

N° de ligne X P(X)

1 x0 néant
x1
x4
2 x1 x0 néant

3 x2 x0,x1,x4,x5
néant x2 x5
x0
4 x3 x0,x1 néant

5 x4 x1,x5 néant

6 x5 x3 néant x3

13/10/2022 Théorie des graphes 2022/2023 79


Nombre de chemins / fermeture transitive et
Recherche du chemin optimal

13/10/2022 Théorie des graphes 2022/2023 80


Nombre de chemins dans un graphe

Théorème:
L’élément M(i,j) de Mk est le nombre de chemin de longueur k
allant du sommet i au sommet j.

1 si (x i , x j )  U
m ij = 
0 sinon

Dans un graphe de n sommets, les plus longs chemins


élémentaires comportent évidement s’ils existent n-1 arcs.

13/10/2022 Théorie des graphes 2022/2023 81


Nombre de chemins dans un graphe

Considérons le graphe

0 1 1 0 1 a
 
0 0 1 0 0 e
M = 0 0 0 0 0
 
0 0 1 0 0 b
d
 
0 0 0 1 0
c

13/10/2022 Théorie des graphes 2022/2023 82


Nombre de chemins dans un graphe

a
0 0 1 1 0
 
0 0 0 0 0 e

M2 = 0 0 0 0 0
  b
0 0 1 0 0 d
 
0 0 1 0 0 c

13/10/2022 Théorie des graphes 2022/2023 83


Nombre de chemins dans un graphe

a
0 0 1 0 0
 
0 0 0 0 0 e

M3 = 0 0 0 0 0
  b
0 0 0 0 0 d
 
0 0 0 0 0 c

13/10/2022 Théorie des graphes 2022/2023 84


Nombre de chemins dans un graphe

Démonstration par récurrence sur k:


m ij(1) = m ij est le nombre de chemins allant du sommet xi au sommet xj
de longueur 1.

Hypothése: le résultat est vrais pour l’entier k-1.


n
Comme m ij =  m il( k −1) .m lj
(k )
et ( k −1) est le nombre de chemins de
l =1 m il
longueur k-1 allant de xi à xl et
1 si (x l , x j )  U
m lj = 
m il( k −1) .m lj 0 sinon
est donc le nombre de chemins de longueur k allant de xi à
xj traversant le sommet xl.
La somme de ces termes est donc bien le nombre de chemins de
longueur k allant de xi à xj.

13/10/2022 Théorie des graphes 2022/2023 85


Fermeture transitive

Définition:
On appelle fermeture transitive d’un sommet x (ou ensemble de
descendant de x) d’un graphe G=(A,U) l’expression suivante:


U( x ) = x U ( x ) U
+ +2
( x ) ... U + n −1
(x)
Où:

+k + + k −1
U (x) = U (U ( x ))

13/10/2022 Théorie des graphes 2022/2023 86


Fermeture transitive

La matrice associée à la fermeture transitive de l’ensemble A des


sommets du graphe coincide avec la matrice:

 • • • •
M = I+M+M ( 2)
+ ... + M ( n −1)

Où:
M( k ) est la matrice produit dont les éléments sont calculés en
utilisant le produit logique et la somme logique.
 0 1 + 0 1
0 0 0 0 0 1
1 0 1 1 1 1
13/10/2022 Théorie des graphes 2022/2023 87
Fermeture transitive

Remarque:

• • • •
( n −1) ( n −1) ( n − 2)
(A + B) =A +A B + ... + B( n −1)

13/10/2022 Théorie des graphes 2022/2023 88


Fermeture transitive

Exemple:

0 1 0 0 1 0 b
 
0 0 1 0 0 0 c
0 0 0 1 0 0 a
M=   d
0 0 0 0 0 1
 
0 1 1 0 0 1 e
0 0 0 0 0 0 
f

13/10/2022 Théorie des graphes 2022/2023 89


Fermeture transitive

Exemple:

1 1 0 1 00
 
0 1 0 0 01
• 0 0 1 1 0 0
M+I =  
0 0 0 1 0 1
 
0 1 1 0 1 1
0 0 0 0 0 1 

13/10/2022 Théorie des graphes 2022/2023 90


Fermeture transitive

Exemple:

1 1 0 1 11
 
0 1 1 0 01
• 0 0 1 1 0 1
( M + I) 2 =  
0 0 0 1 0 1
 
0 1 1 1 1 1
0 0 0 0 0 1 

13/10/2022 Théorie des graphes 2022/2023 91


Fermeture transitive

Exemple:

1 1 1 1 1
1
 
0 1 1
1 0 1
• 0 0 1 1 0 1
( M + I) 5 =  
0 0 0 1 0 1
 
0 1 1 1 1 1
0 0 0 0 0 1

13/10/2022 Théorie des graphes 2022/2023 92


Fermeture transitive

Remarques:
1. En pratique, on peut arrêter les calculs dés que :

• •
( M + I) (k)
= ( M + I) ( k −1)

2. Il n’existe pas de chemin de longueur supérieure à (n-1)


pas d’interêt à dépasser la puissance (n-1)
où n est le nombre de sommets du graphe
3. La présence d’un 1 à l’intersection de la ligne x et la colonne y
signifie qu’il existe au moins dans le graphe un chemin de
longueur ≤ k-1

13/10/2022 Théorie des graphes 2022/2023 93


Fermeture transitive


U(a ) = a U + (a ) U + (a ) U + (a ) U + (a ) U + (a )
2 3 4 5

= a, b, e, c, d, f 
 b
U( b) = b, c, d, f 
 c
U(c) = c, d, f 
a
 d
U(d ) = d, f 

U(e) = b, c, d, e, f  e
 f
U (f ) = f 

13/10/2022 Théorie des graphes 2022/2023 94


Recherche des chemins de longueur extrémale

Problème:
comment chercher le ou les chemins de longueur extrémale (minimale ou
maximale) partant du sommet n°1 vers un sommet donné.

c
b e
d f
a
g

h
13/10/2022 Théorie des graphes 2022/2023 95
Recherche des chemins de longueur extrémale

Propriétés des chemins minimaux:

La valeur (le coût) d’un chemin est la somme des valuations de


ses arcs.

Un chemin allant de x0 à xi est de valeur minimale si sa valeur est


plus petite que celle de tout autre chemin allant de x0 à xi.

13/10/2022 Théorie des graphes 2022/2023 96


Recherche des chemins de longueur extrémale

Lemme1:

Tout sous-chemin d’un chemin de valeur minimale est un chemin


de valeur minimale.

13/10/2022 Théorie des graphes 2022/2023 97


Recherche des chemins de longueur extrémale

Démonstration (Lemme1)

Soit C un chemin allant de xi à xj et soit C’ un sous-chemin allant de


xl à xk et C1=[xi,xl] et C2=[xk,xj]
On a C=C1 C’ C2
Supposons que C’ n’est pas minimal alors il exise un sous-chemin
C’’ de xl à xk de valeur plus faible.
Le chemin C1 C’’ C2 serait de valeur strictement inférieure à celle
de C.
Contradiction avec l’hypothèse

13/10/2022 Théorie des graphes 2022/2023 98


Définition :

• Soit G=(A,U) un graphe sans boucle, un sous ensemble N de A


est dit absorbant si:
x  A / N, y  N tel que (x, y) U

• Un circuit est dit absorbant s’il contient des valeurs strictement


négatives.

13/10/2022 Théorie des graphes 2022/2023 99


Recherche des chemins de longueur extrémale

Lemme2:

Une condition nécessaire et suffisante pour que, pour tout i, il


existe un chemin de valeur minimale allant de x0 à xi est que le
graphe G soit sans circuit de valeur strictement négative (circuits
absorbants).

13/10/2022 Théorie des graphes 2022/2023 100


Recherche des chemins de longueur extrémale

Démonstration (Lemme2):
• Supposons qu’il existe un circuit C1=[xi,xi] de valeur strictement
négative et que C =[x0,xi] soit un chemin de valeur minimale de x0 à xi.
Alors la valeur du chemin C’=CC1 est strictement inférieure à celle de C
ce qui contredit sa minimalité.

• Réciproquement, supposons G sans circuit absorbant.


De tout chemin allant de x0 à xi, on peut extraire un chemin
élémentaire de valeur plus faible. On peut alors limiter la recherche
des chemins minimaux à celle des chemins minimaux élémentaire. Or
leur nombre est fini alors il existe un chemin élémentaire de valeur
minimale allant de x0 à xi.

13/10/2022 Théorie des graphes 2022/2023 101


Algorithme de Ford pour la recherche de chemin maximal

Remarques :

• L’algorithme de Ford calcule les valeurs des chemins maximaux


(minimaux) issus de x0, lorsque le graphe est sans circuit
absorbant.

• L’algorithme de Ford permet l’obtention de chemin de longueur


maximale (minimale) quel que soit les signes des longueurs des
arcs.

13/10/2022 Théorie des graphes 2022/2023 102


Algorithme de Ford pour la recherche de chemin maximal

Algorithme de Ford :
1. Numéroter les sommets du graphe valué dans n’importe
quel ordre, en commençant par x0 et en terminant par xn-1.
2. Affectation d’une valeur ti=0 (0≤ i ≤ n-1) à tous les sommets
du graphe valué
3. Pour tout arc (xi,xj) si vji=tj-ti < dij (la valuation de l’arc (xi,xj) ),
On remplace la valeur de tj par la valeur: ti+dij, sinon on ne
change pas la valeur de tj.
4. On continue les itérations jusqu’à ce qu’on ne peut plus
augmenter les ti

13/10/2022 Théorie des graphes 2022/2023 103


Algorithme de Ford pour la recherche de chemin maximal

Exemple:
Recherche du chemin de longueur maximale dans un graphe
valué à l’aide de l’algorithme de Ford
a 24 g
21
12 13 3 5
7 21 s
e b
f
1 4
10
14 26

c 16 d

13/10/2022 Théorie des graphes 2022/2023 104


Algorithme de Ford pour la recherche de chemin maximal

Exemple:

t1=0 t4=0
x1 24 x4
21
12 13 3 5
t7=0
t2=0 7 t5=0 21
x0 x2 x7
x5
t0=0 1 4
10
14 26

x3 16 t6=0x6
t3=0

13/10/2022 Théorie des graphes 2022/2023 105


Algorithme de Ford pour la recherche de chemin maximal

Exemple:
• x0 (x0,x1), (x0,x3)
Pour l’arc (x0,x1) on a v10=t1-t0 < d01=12
Donc on remplace t1=0 par t1’=t0+d01=12
Pour l’arc (x0,x3)...
• x1 (x1,x6), (x1,x2)
• .
• .
• .

13/10/2022 Théorie des graphes 2022/2023 106


Algorithme de Ford pour la recherche de chemin maximal

Exemple:
t1’=12
t1=0 t4=0
x1 24 x4
21
12 13 3 5
t7=0
t2=0 7 t5=0 21
x0 x2 x7
x5
t0=0 1 4
10
14 26

x3 16 x6
t3=0 t6=0

13/10/2022 Théorie des graphes 2022/2023 107


Algorithme de Ford pour la recherche de chemin minimal

Algorithme de Ford :
1. Numéroter les sommets du graphe valué dans n’importe
quel ordre, en commençant par x0 et en terminant par xn-1.
2. Affectation d’une valeur ti=∞ (1≤ i ≤ n-1) à tous les sommets
du graphe valué et t0=0
3. Pour tout arc (xi,xj) si vji=tj-ti > dij (la valuation de l’arc (xi,xj) ),
On remplace la valeur de tj par la valeur: ti+dij, sinon on ne
change pas la valeur de tj.
4. On continue les itérations jusqu’à ce qu’on ne peut plus
améliorer les ti

13/10/2022 Théorie des graphes 2022/2023 108


Algorithme de Ford pour la recherche de chemin minimal

Exemple:
Recherche du chemin de longueur minimale dans un graphe
valué à l’aide de l’algorithme de Ford
t1’=2
x1 t =∞
1

2 1 7
t7= ∞
x0 x3 t3= ∞ x4

t0=0
1
4
5
x2 t4= ∞
13/10/2022 Théorie des graphes 2022/2023 109
Algorithme de Ford pour la recherche de chemin maximal

Remarque:
Si le graphe comporte un circuit absorbant, l’algorithme de Ford
peut ne pas se terminer
b

-5
2
-1 d
a

3 4

13/10/2022 Théorie des graphes 2022/2023 110


Algorithme de Ford pour la recherche de chemin maximal

Remarque:
t1’’=0
t1’=2
t1=+∞
x1
-5
2
t3’=-3
-1 t3=+∞
t0=0 x3
x0

3 4
x2
t2=+∞
t2’=3
t2’’=1
13/10/2022 Théorie des graphes 2022/2023 111
Cas des valeurs positives: Algorithme de Dijkstra

Dans le cas où les valuations des arcs sont positives ou nulles,


l’algorithme de Dijkstra évite l’inconvénient de traiter des
sommets plusieurs fois .

A chaque itération, on attribue une marque définitive à un


nouveau sommet ((n-1) itérations)

13/10/2022 Théorie des graphes 2022/2023 112


Cas des valeurs positives: Algorithme de Dijkstra

Algorithme de Dijkstra pour la recherche du chemin minimal:

1. Numéroter les sommets du graphe valué dans n’importe quel ordre, en


commençant par x0 et en terminant par xn-1.
2. Affectation d’une valeur ti=∞ (1≤ i ≤ n-1) à tous les sommets du graphe valué
et t0=0
3. Soit xi un sommet non traité telle que ti est minimale, Pour tout arc (xi,xj) si
vji=tj-ti > dij (la valuation de l’arc (xi,xj) ),
On remplace la valeur de tj par la valeur: ti+dij, sinon on ne change pas la
valeur de tj.
4. Si i =n-1 stop, sinon retour au 3

Remarque: l’algorithme de Dijkstra permet uniquement l’obtention de chemin


minimal
13/10/2022 Théorie des graphes 2022/2023 113
Algorithme de Belman

Dans le cas des graphes sans circuits pour calculer le plus


court/long chemin allant d’un sommet à un autre sommet.
Il a le même principe que l’algorithme de Ford

13/10/2022 Théorie des graphes 2022/2023 114


Algorithme de Belman

Algorithme de Belman (Problème de recherche du chemin


minimal/maximal):

1. Numéroter les sommets du graphe valué dans n’importe quel ordre, en


commençant par x0 et en terminant par xn-1 et poser ti=0.
2. Affecter une valeur tk=min(ti+dik) / tk=max(ti+dik) (1≤ k ≤ n-1) où les xi sont
les précédents de xk
3. Si k=n-1 stop, sinon retour au 2

13/10/2022 Théorie des graphes 2022/2023 115


Algorithme de Belman
Exemple :

Déterminer le chemin de longueur minimale entre x0 et x5 en utilisant l’algorithme


de Belman dans le graphe :

2 X3
X
1
6 7 1

X X
0
4

8 5 1

X
2 9
X
5

13/10/2022 Théorie des graphes 2022/2023 116


Algorithme de Belman

Exemple :
t3=8
t1=6 2 X3

X1

6 7 1

X0
X4
t4=min(6+7, 8+5, 8+1)

8 5 1

X2

9
t2=8 X5

13/10/2022 Théorie des graphes 2022/2023 117


Exemple des problèmes classe de la recherche du chemin
optimal

Problèmes d’ordonnancement

13/10/2022 Théorie des graphes 2022/2023 118


Problèmes d’ordonnancement

Définition:

Ordonnancer : Accomplir un ensemble de tâches (opérations) qui


sont soumises à un nombre de contraintes , et cela via des
ressources en vue de la réalisation d’un objectif ( fonction
objectif / économique) précis

13/10/2022 Théorie des graphes 2022/2023 119


Problèmes d’ordonnancement

Application directe des méthodes de recherche des chemins


optimaux dans un graphe.

Recherche du chemin maximal

13/10/2022 Théorie des graphes 2022/2023 120


Problèmes d’ordonnancement

Domaines d’application:

13/10/2022 Théorie des graphes 2022/2023 121


Problèmes d’ordonnancement

Caractéristiques des tâches:


• Une tâche est dite morcelable si elle peut être exécutée par
morceaux

• Les tâches sont regroupées en entités appelées Travaux ou Job

• Un atelier contient plusieurs machines distinctes et un


ensemble des Job, chacun est constitué d’un ensembles de
tâches (opérations élémentaires), chacune d’elle doit s’exécuter
sur l’une des machines

13/10/2022 Théorie des graphes 2022/2023 122


Problèmes d’ordonnancement

Les types d’atelier:


Selon la nature des contraintes de précédence entre les tâches d’un
même Job (travail), on distingue 3 types d’ateliers:
• Si les opérations élémentaires (tâches) d’un travail (leur nombre
n’est pas forcément le même pour tous les Jobs) sont liées par un
ordre total, non nécessairement identique pour tous les travaux, il
s’agit d’un problème Job-shop

13/10/2022 Théorie des graphes 2022/2023 123


Problèmes d’ordonnancement

Les types d’atelier:


• Si les m (nombre d’opérations pour tous les Jobs) opérations
élémentaires (tâches) des travaux sont liées par le même
ordre total, il s’agit d’un problème flow-shop

13/10/2022 Théorie des graphes 2022/2023 124


Problèmes d’ordonnancement

Les types d’atelier:


• Si Le nombre d’opérations n’est pas forcément le même pour
tous les jobs et l’ordre de passage sur les machines est
totalement libre, il s’agit d’un problème open-shop

13/10/2022 Théorie des graphes 2022/2023 125


Problèmes d’ordonnancement

Types des contraintes:


• Contraintes de type potentiel:
✓ les contraintes de localisation temporelle (la tâhe i ne doit pas
commencer avant la date t ou elle doit être achevée à la date t)

✓ Les contraintes de succession (la tâhe j ne peut pas commencer


avant que la tâhe i ne soit terminée)
✓ Contrainte de délai : j doit être terminée avant une certaine date

• Contraintes de type disjonctif : imposent la disjonction de deux intervalles de


temps relatifs (deux tâches i et j devant s’exécuter sur une même machine et
qui ne peuvent pas être réalisées simultanément)

13/10/2022 Théorie des graphes 2022/2023 126


Problèmes d’ordonnancement

Fonction objectif (fonction économique):

La programmation des tâches se rèalise de façon à optimiser un


certain objectif qui peut être généralement:

• L’utilisation efficace des ressources


• La minimisation d’un coût (coût de production)
• La minimisation de la durée totale

13/10/2022 Théorie des graphes 2022/2023 127


Résolution des problèmes d’ordonnancement

Algorithmes qui garantissent l’optimalité pour les problèmes de


petites tailles

13/10/2022 Théorie des graphes 2022/2023 128


Résolution des problèmes d’ordonnancement

Diagramme de GANTT

Permet de planifier le projet et de rendre plus simple le suivi de


son avancement.
Méthode efficace pour des projets d’une vingtaine de tâches

13/10/2022 Théorie des graphes 2022/2023 129


Résolution des problèmes d’ordonnancement

Diagramme de GANTT : Exemple


1ére étape: Lister les tâches, estimer les duréers et identifier
l’ordre dans lequel les tâches doivent être faites

tâches Durée Tâches précédentes


A 6
B 3
C 6
D 2 B
E 4 B
F 3 D, A
G 1 F, E, C

13/10/2022 Théorie des graphes 2022/2023 130


Résolution des problèmes d’ordonnancement
Diagramme de GANTT : Exemple
2ème étape: Dessiner chaque tâche en faisant apparaître au fure et à
mesure les contraintes de précédence

Tâches

Temps
13/10/2022 0 1 2 3 4 des5graphes 2022/2023
Théorie 6 7 8 9 10 131
Résolution des problèmes d’ordonnancement
Diagramme de GANTT : Exemple
2ème étape: Dessiner chaque tâche en faisant apparaître au fure et à
mesure les contraintes de précédence
D 2 B
E 4 B
Tâches F 3 D, A
A G 1 F, E, C

B D

Temps
13/10/2022 0 1 2 3 4 des5graphes 2022/2023
Théorie 6 7 8 9 10 132
Résolution des problèmes d’ordonnancement
Diagramme de GANTT : Exemple
2ème étape: Dessiner chaque tâche en faisant apparaître au fure et à
mesure les contraintes de précédence
F 3 D, A
Tâches G 1 F, E, C
A

B D F

Temps
13/10/2022 0 1 2 3 4 des5graphes 2022/2023
Théorie 6 7 8 9 10 133
Résolution des problèmes d’ordonnancement

Diagramme de GANTT : Exemple


2ème étape: Dessiner chaque tâche en faisant apparaître au fure et à
mesure les contraintes de précédence

Tâches G 1 F, E, C

B D F

C G

Temps
13/10/2022 0 1 2 3 4 des5graphes 2022/2023
Théorie 6 7 8 9 10 134
Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : PERT

Le PERT (Program of Evaluation and Review


Technologique/technique d’élaboration et de contrôle de projets) :
Méthode américaine datée de 1958

Consiste à mettre en ordre un ensemble de tâches en utilisant un


graphe orienté sans boucles dont :
• Les sommets constituent des événement (Étapes de la
réalisation des tâches)
• Les arcs représentent les tâches
• Les valuations des arcs sont les détails de l’exécution

13/10/2022 Théorie des graphes 2022/2023 135


Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : PERT

Représentation d’une tâche a :

Toute tâche a une étape de début et une étape de fin

Numéro de l’étape
1

6 9

Délai au plus tôt Délai au plus tard

13/10/2022 Théorie des graphes 2022/2023 136


Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : PERT

Chaque tâche a une étape de début et une étape de fin:

1 a 2 b 3

13/10/2022 Théorie des graphes 2022/2023 137


Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : PERT

Deux tâches simultanées:

a
1

b
3

13/10/2022 Théorie des graphes 2022/2023 138


Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : PERT

Deux étapes convergentes:

1
a

3 c 4

b
2

13/10/2022 Théorie des graphes 2022/2023 139


Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : PERT

date au plus tôt :

θi désigne la date au plus tôt de l’événement Xi


dij désigne la durée de l’opération (i, j)
On a :

 j = max [i + dij 



iu ( j)

13/10/2022 Théorie des graphes 2022/2023 140


Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : PERT

date au plus tard :


La date au plus tard de l’événement Xi est définie par :

i si X i appartient à un chemin critique



i = [j − dij ] sinon
min

 ju ( i )
+

Chemin critique est constitué par les événement (dits critiques) dont la date
attendue est égale à la différence entre la date attendue de l’événement
suivant (sur le chemin critique) et la valeur de l’arc qui les relie
13/10/2022 Théorie des graphes 2022/2023 141
Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : PERT

Marges :

Une tâche est bénéficiée d’une marge libre

mij = j - (i + dij )

Une réserve de temps dont on dispose sur une tâche qui


permet si elle est consommée de ne pas tarder les dates
au plus tôt des tâches ultérieures.

13/10/2022 Théorie des graphes 2022/2023 142


Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : PERT

Marges :
La marge totale est définie par :

Mij = j − (i + d ij )

Une réserve de temps sur une tâche que si elle est


consommée, l’opération (i,j) se termine à sa date au plus
tard.

13/10/2022 Théorie des graphes 2022/2023 143


Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : PERT

Tâches fictives :
Soit les trois tâches suivantes
1
a
3 c 4

b
2

13/10/2022 Théorie des graphes 2022/2023 144


Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : PERT

Tâches fictives :
Comment créer une tâche d qui n’a que b comme prédécesseur ?
1 a 3 c 4

2 b 5 d 6

13/10/2022 Théorie des graphes 2022/2023 145


Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : PERT

Tâches fictives :
Comment créer une tâche d qui n’a que b comme prédécesseur ?

1 a 3 c 4

2 b 5 d 6

Remarque : La tâche fictive (5,3) a une durée d’exécution égale à 0

13/10/2022 Théorie des graphes 2022/2023 146


Résolution des problèmes d’ordonnancement

La méthode MPM (Méthode des Potentiels Metra) :


Méthode française datée de 1958

Consiste à mettre en ordre un ensemble de tâches en utilisant un graphe orienté


sans boucles dont :
• Les sommets représentent les opérations (tâches)
• L’arc (a, b) connectant les tâches a et b, est valué par un nombre qui indique la
durèe minimale entre le début de la tâche b et celui de la tâche a

13/10/2022 Théorie des graphes 2022/2023 147


Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : MPM


Chaque opération est représentée par un “ sommet ”
Identificateur de la tâche Durée d’exécution de la tâche a

a da b db c

Date au plus tôt de Date au plus tard de


début d’exécution début d’exécution

13/10/2022 Théorie des graphes 2022/2023 148


Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : MPM

date au plus tôt :

t j = max [ ti + Vij ]

iu ( j)

Où Vij est la valuation de l’arc (i, j), en général Vij=di durée de la


tâche i

13/10/2022 Théorie des graphes 2022/2023 149


Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : MPM

date au plus tard :

 ti si X i appartient à un chemin critique



t i =  [ t j − Vij ] sinon
min

 ju ( i )
+

Chemin critique est constitué par les événement (dits critiques) dont la date
attendue est égale à la différence entre la date attendue de l’événement
suivant (sur le chemin critique) et la valeur de l’arc qui les relie

13/10/2022 Théorie des graphes 2022/2023 150


Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : MPM

Marges :

Une tâche est bénéficiée d’une marge libre

 
mi =  min [t j − Vij ]  - t i
 ju + ( i ) 
Une réserve de temps dont on dispose sur une tâche qui
permet si elle est consommée de ne pas tarder les dates
au plus tôt des tâches ultérieures.

13/10/2022 Théorie des graphes 2022/2023 151


Résolution des problèmes d’ordonnancement

Méthodes utilisant la théorie des graphes : MPM

Marges :
La marge totale est définie par :

Mi = t i − t i

Une réserve de temps sur une tâche que si elle est


consommée, ça ne va pas retarder la réalisation du projet.

13/10/2022 Théorie des graphes 2022/2023 152


Résolution des problèmes d’ordonnancement

Exemple :

tâches Durée Tâches précédentes


A 2
B 4
C 4 A
D 5 A, B
E 6 C, D

13/10/2022 Théorie des graphes 2022/2023 153


Résolution des problèmes d’ordonnancement
tâches Durée Tâches
précédentes
Exemple : MPM A 2
B 4
C 4 A
D 5 A, B
E 6 C, D

A 2 C

4
6 Fin
E
2

5
B D
4

13/10/2022 Théorie des graphes 2022/2023 154


Résolution des problèmes d’ordonnancement
tâches Durée Tâches
précédentes
Exemple : MPM A 2
B 4
C 4 A
D 5 A, B
A 2 C E 6 C, D

4
0 6 Fin
E
Début 2

0 0 5
B D
0
4

13/10/2022 Théorie des graphes 2022/2023 155


Résolution des problèmes d’ordonnancement
tâches Durée Tâches
précédentes
Exemple : MPM A 2
Date au plus tôt : t j = max [ ti + Vij ] B 4

iu ( j) C 4 A
D 5 A, B
A 2 C E 6 C, D
0 2
4
0 6 Fin
E
Début 2
9 15
0 0 5
B D
0
0 4
4

13/10/2022 Théorie des graphes 2022/2023 156


Résolution des problèmes d’ordonnancement

Exemple : MPM
 ti si X i appartient à un chemin critique

Date au plus tard : t i = [ t j − Vij ] sinon
min

 ju ( i )
+

A 2 C
0 2 2 5
4
0 6 Fin
E
Début 2
9 9 15 15
0 0 5
B D
0
0 0 4 4
4

13/10/2022 Théorie des graphes 2022/2023 157


Résolution des problèmes d’ordonnancement

Exemple : MPM
Chemin critique

A 2 C
0 2 2 5
4
0 6 Fin
E
Début 2
9 9 15 15
0 0 5
B D
0
0 0 4 4
4

13/10/2022 Théorie des graphes 2022/2023 158


Résolution des problèmes d’ordonnancement
tâches Durée Tâches
précédentes
Exemple : PERT A 2
 j = max [i + dij  B 4

iu ( j) C 4 A
D 5 A, B
i si X i appartient à un chemin critique

i =  [j − dij ] sinon
E 6 C, D
min

 ju + ( i )

2
2 4
A(2) C(4)
E(6) 5
4
1 X(0)
9 9 15 15
0 0
3 D(5)
B(4) 4 4
13/10/2022 Théorie des graphes 2022/2023 159

Vous aimerez peut-être aussi