Vous êtes sur la page 1sur 28

Modélisation

Notions de base Degrés Représentation Chemins critiques


Chemins critiques

Recherche opérationnelle

Chapitre 1: Théorie des graphes

Chemins critiques

A. Selmani

A. Selmani 1
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Valuations d’un graphe
q Soit G un graphe sans boucle.
q On associe à chaque arc u = (xi,xj) du graphe un nombre réel positif négatif ou
nul noté vij = v(u).
q On appellera ce nombre valuation ou longueur de l’arc même si v(u) < 0.
q Un graphe est dit valué si tout arc est muni d’une longueur

Les valuations du graphe sont les suivantes :

ü v13 = 7, ü v24 = −2
ü v36 = 10, ü v46 = 11,
ü v14 = 2, ü v45 =13
ü v12 = 9 ü v65 =6.

A. Selmani 2
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Longueur d’un chemin
q Soit (X, R) un graphe orienté, sans boucle et valué.
q La longueur d’un chemin est la somme des longueurs des arcs qui le composent.

ü Chemin (1,2,4,5) : 9 + (−2) + 13 = 20,

ü Chemin (1,4,6,5): 2 + 11 + 6 = 19,


ü Chemin (1,3,6,5): 7 + 10 + 6 = 23.

A. Selmani 3
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemins critiques:
Hypothèses:
q Soit un graphe :
ü Valué et sans circuit;
ü A valeurs positives (vnij > 0);
ü Possédant une entrée notée x;
ü Une sortie notée xn.

Problématique:

q Parmi tous les chemins d’origine xi , d’extrémité xn , on cherche celui dont la


longueur est minimale ou maximale.
A. Selmani 4
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin minimal: l’algorithme de Ford
Problématique
Parmi tous les chemins d’origine xi, d’extrémité xn, on cherche celui dont la longueur est
minimale

Stratégie:
q On associe à chaque sommet xj un coefficient αj défini par:

α1
ü α1 = 0: Pour x1(Entrée); +
α3 αj
v1j p1
ü αj =min[αi+vij]. +
v3j
p3 xj
pi sont les précédents de xj. v2j + α2

p2
α Sortie) est la longueur minimale du chemin entre l’entrée x1 et la sortie xn.
n(
A. Selmani 5
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin minimal: l’algorithme de Ford
3
• α1 = 0

• Le sommet x2 a un seul précédent x1: 0


α2 = min[α1 +v12] = min[0+3] = 3

0 α2 Exemple 01:
+
3 x P(x)
x1 x2
x1
x2 x1
x3 x1, x2
x4 x3

A. Selmani
x5 x2, x3, x5 6
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin minimal: l’algorithme de Ford
3
• Le sommet x3 a deux précédents x1 et x2:
α3 = min[α1 +v13,α2 +v23] = min[0+5,3+1] = 4
0
3
+
0 1 x2
+ α3 4
5 Exemple 01:
x1 x3 x P(x)
x1
x2 x1
x3 x1, x2
x4 x3

A. Selmani
x5 x2, x3, x5 7
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin minimal: l’algorithme de Ford
3
• Le sommet x4 a un seul précédent x3:
α4 = min[α3 +v34] = min[4+4] = 8
0
4 α4
+
4 8
x3 x4 4
Exemple 01:
x P(x)
x1
x2 x1
x3 x1, x2
x4 x3
x5 x2, x3, x5
Le chemin minimal a pour longueur 10 (α5=10)
A. Selmani 8
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin minimal: l’algorithme de Ford
3
• Le sommet x5 a trois précédents x2, x3 et x4:
α5 = min[α2 +v25,α3 +v35,α4 +v45] 10
= min[3+10,4+6,8+5] = 10 0

8 4 8
+
4 15 Exemple 01:
+ α5 x4
6 x P(x)
x3 x5 x1
10 + 3
x2 x1

x2 x3 x1, x2
x4 x3
x5 x2, x3, x5
Le chemin minimal a pour longueur 10 (α5=10)
A. Selmani 9
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin minimal: l’algorithme de Ford
q Pour retrouver les arcs qui constituent le chemin minimal, appelé chemin critique,
on part de la sortie et on repère l’arc qui donne la valeur α correspondante.

x1• α1 = 0
• Le sommet x2 a un seul précédent x1:
α2 = min[α1 +v12] = min[0+3] = 3
• Le sommet x3 a deux précédents x1 et x2:
x2 α3 = min[α1 +v13,α2 +v23] = min[0+5,3+1] = 4

• Le sommet x4 a un seul précédent x3:


α4 = min[α3 +v34] = min[4+4] = 8
x3 Exemple:
• Le sommet x5 a trois précédents x2, x3 et x4:
α5 = min[α2 +v25,α3 +v35,α4 +v45]
= min[3+10,4+6,8+5] = 10
x5
A. Selmani Le chemin (x1,x2,x3,x5) a pour longueur 10 10
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin maximal: l’algorithme de Ford
Problématique
Parmi tous les chemins d’origine xi, d’extrémité xn, on cherche celui dont la longueur est
maximale.

Stratégie:
q On associe à chaque sommet xj un coefficient αj défini par:

α1
ü α1 = 0: Pour x1(Entrée); +
α3 αj
v1j p1
ü αj =max[αi+vij]. +
v3j
p3 xj
pi sont les précédents de xj. v2j + α2

p2
α Sortie) est la longueur maximale du chemin entre l’entrée x1 et la sortie xn.
n(
A. Selmani 11
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin maximal: l’algorithme de Ford

• α1 = 0
• Le sommet x2 a un seul précédent x1:
α2 = max[α1 +v12] = max[0+3] = 3

• Le sommet x3 a deux précédents x1 et x2:


α3 = max[α1 +v13, α2 +v23] = max[0+5, 3+1] = 5 Exemple 01:
• Le sommet x4 a un seul précédent x3: x P(x)
α4 = max[α3 +v34] = max[5+4] = 9
x1
• Le sommet x5 a trois précédents x2, x3 et x4: x2 x1
α5 = max[α2 +v25,α3 +v35,α4 +v45] x3 x1, x2
= max[3+10,4+6,9+5] = 14 x4 x3
Le chemin maximal a pour longueur 14 (α5=14)
A. Selmani
x5 x2, x3, x5 12
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin maximal: l’algorithme de Ford

• α1 = 0
• Le sommet x2 a un seul précédent x1:
α2 = max[α1 +v12] = max0+3] = 3

x1• Le sommet x3 a deux précédents x1 et x2:


α3 = max[α1 +v13,α2 +v23] = max[0+5,3+1] = 5 Exemple:
x3• Le sommet x4 a un seul précédent x3:
x P(x)
α4 = max[α3 +v34] = max[5+4] = 9
x1
x4• Le sommet x5 a trois précédents x2, x3 et x4: x2 x1
α5 = max[α2 +v25,α3 +v35,α4 +v45] x3 x1, x2
= max[3+10,4+6,9+5] = 14 x4 x3
x5 Le chemin (x1,x3,x4,x5) a pour longueur 14 x5 x2, x3, x5 13
A. Selmani
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Exercice 7: Le tableau ci-dessous indique le temps en minutes de navette entre
plusieurs entrepôts.
1. Déterminer le point de départ et le point d’arrivée?
2. Quel est le chemin et la durée pour partir de point de départ au point d’arriver?
Arrivée a b c d e f g h i j k l m
Départ
a 4 2 7 2 1 9
b 5 4
c 1 3
d 3 8
e 3 5 6
f 6 6
g 2
h 2 2 8 7
i 3 5
j 5
k 3 7 6
l
14
m
A. Selmani 5
Notions de base Degrés Représentation Chemins critiques
Chemins critiques

Dictionnaire des suivants et des précédents


x a b c d e f g h i j k l m
S(x) b,c,d,e,h,i d,k b,d j,l b,f,k k,m l b,f,i,m g,l l g,j,l g

P(x) a,c,e,h a a,b,c a e,h i,km a a,h d,k b,e,f d,g,i,j,k f,h

Classement des sommets par niveau;


• N0 ={a}
• N1 ={c,e,h}
• N2 ={b,f,i}
• N3 ={d,k,m}
• N4 ={g,j}
• N5 ={l}

A. Selmani 15
Notions de base Degrés Représentation Chemins critiques
Chemins critiques

Graphe ordonnancé par niveau.

• N0 ={a}
• N1 ={c,e,h}
• N2 ={b,f,i}
• N3 ={d,k,m}
• N4 ={g,j}
• N5 ={l}

A. Selmani 16
Notions de base Degrés Représentation Chemins critiques
Chemins critiques

Déterminons les coefficients αj de chacun des sommets :


• αa = 0
• αc = min[αa +vac] = min[0+2] = 2 (a)
• αe = min[αa +vae] = min[0+2] = 2 (a)
• αh = min[αa +vah] = min[0+1] = 1 (a)
• αb = min[αc +vcb,αa +vab,αe +veb,αh +vhb]
= min[2+1,0+4,2+3,1+2] = 3 (c),(h)
• αf = min[αe +vef,αh +vhf] = min[2+5,1+2] = 3 (h)
• αi = min[αa +vai,αh +vhi] = min[0+9,1+8] = 9 (a),(h)
• αd = min[αa +vad,αb +vbd,αc +vcd] = min[0+7,3+5,2+3] = 5 (c)
• αk = min[αb +vbk,αe +vef,αf +vfk] = min[3+4,2+6,3+6] = 7 (b)
• αm = min[αf +vfm,αh +vhm] = min[3+6,1+7] = 8 (h)
• αj = min[αd +vdj,αk +vkm] = min[5+3,7+7] = 8 (d)
• αg = min[αk +vkg,αm +vmg,αk +vim] = min[7+3,8+5,9+3] = 10 (k)
• αl = min[αe+vdl, αj+vjl, α11+vkl, αg+vgl, αi+vil ]
= min[5+8, 8+5, 7+6, 10+2, 9+5] = 12 (g)
A. Selmani 17
Notions de base Degrés Représentation Chemins critiques
Chemins critiques

Déterminons les coefficients αj de chacun des sommets :


• αa = 0
• αc = min[αa +vac] = min[0+2] = 2 (a) a
• αe = min[αa +vae] = min[0+2] = 2 (a)
• αh = min[αa +vah] = min[0+1] = 1 (a)
• αb = min[αc +vcb,αa +vab,αe +veb,αh +vhb]
= min[2+1,0+4,2+3,1+2] = 3 (c),(h) c h
• αf = min[αe +vef,αh +vhf] = min[2+5,1+2] = 3 (h)
• αi = min[αa +vai,αh +vhi] = min[0+9,1+8] = 9 (a),(h)
• αd = min[αa +vad,αb +vbd,αc +vcd] = min[0+7,3+5,2+3] = 5 (c)
• αk = min[αb +vbk,αe +vef,αf +vfk] = min[3+4,2+6,3+6] = 7 (b) b
• αm = min[αf +vfm,αh +vhm] = min[3+6,1+7] = 8 (h)
• αj = min[αd +vdj,αk +vkm] = min[5+3,7+7] = 8 (d) k
• αg = min[αk +vkg,αm +vmg,αk +vim] = min[7+3,8+5,9+3] = 10 (k)
• αl = min[αe+vdl, αj+vjl, αk+vkl, αg+vgl, αi+vil ] g
= min[5+8, 8+5, 7+6, 10+2, 9+5] = 12 (g)
A. Selmani l 18
Notions de base Degrés Représentation Chemins critiques
Chemins critiques

c
a b k g l
A. Selmani h 19
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin minimal: l’algorithme Dijkstra
Problématique
q Détermination d’une plus courte chaîne d’un graphe pondéré entre un sommet !
et un sommet ".
Stratégie:
q Etape d’initialisation.
§ On fixe le poids du sommet ! à 0.
§ On marque provisoirement chaque sommet adjacent à ! du poids de
l’arête reliant ! à ce sommet.
§ On marque provisoirement les autres sommets du poids +∞.

Iter. X D A B C F E G
0 D 0 3 D 12 D ∞ ∞ ∞ ∞

A. Selmani
Précédent 20
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin minimal: l’algorithme Dijkstra
q Etapes d’itérations.
§ On choisit le sommet # dont le poids marqué provisoirement v# est le plus
petit.
§ On marque définitivement ce sommet # du poids p#
§ On marque provisoirement chaque sommet $ successeur du sommet # par le
poids %$ =min(pY, p# + v#,$)
§ On enlève # dans l’itération suivante.

Iter. X D A B C F E G
0 D 0 3 D 12 D ∞ ∞ ∞ ∞
1 A 3 D 12 D 8 A 38 A∞ ∞
pX=3 3+5 3+35
=8 =38
vA,C=5 vA,F=35
A. Selmani 21
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin minimal: l’algorithme Dijkstra
Iter. X D A B C F E G
0 D 0 3 D 12 D ∞ ∞ ∞ ∞
1 A 3 D 12 D 8 A 38 A ∞ ∞
2 C 12 D 8 A 16 C 18 C ∞
pX=8 8+8 8+10
=16 =18
vC,F=16 vC,E=18

A. Selmani 22
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin minimal: l’algorithme Dijkstra
Iter. X D A B C F E G
0 D 0 3 D 12 D ∞ ∞ ∞ ∞
1 A 3 D 12 D 8 A 38 A ∞ ∞
2 C 12 D 8 A 16 C 18 C ∞
3 B 12 D 16 C 18 C ∞
pX=12 12+15
=27
>18
pB,F=18

%$ =min(pY, p# + v#,$)
= min(18,27)=18

A. Selmani 23
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin minimal: l’algorithme Dijkstra
Iter. X D A B C F E G
0 D 0 3 D 12 D ∞ ∞ ∞ ∞
1 A 3 D 12 D 8 A 38 A ∞ ∞
2 C 12 D 8 A 16 C 18 C ∞
3 B 12 D 16 C 18 C ∞
4 F 16 C 18 C 29 F
pX=16
16+13
=29

pF,G=13

A. Selmani 24
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin minimal: l’algorithme Dijkstra
Iter. X D A B C F E G
0 D 0 3 D 12 D ∞ ∞ ∞ ∞
1 A 3 D 12 D 8 A 38 A ∞ ∞
2 C 12 D 8 A 16 C 18 C ∞
3 B 12 D 16 C 18 C ∞
4 F 16 C 18 C 29 F
5 E 18 C 29 F
pX=18 18+14
=32
>29
pE,G=14
%$ =min(pY, p# + v#,$)
A. Selmani
= min(29,32)=26 25
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Chemin minimal: l’algorithme Dijkstra
Iter. X D A B C F E G
0 D 0 3 D 12 D ∞ ∞ ∞ ∞
1 A 3 D 12 D 8 A 38 A ∞ ∞
2 C 12 D 8 A 16 C 18 C ∞
3 B 12 D 16 C 18 C ∞
4 F 16 C 18 C 29 F
5 E 18 C 29 F
6 G 29 F

A. Selmani 26
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
Graphe: Représentations matricielles
Exercice 7: En appliquant l’algorithme de Dijkstra, trouver le plus court chemin de
s à t dans le graphe

A. Selmani 27
Notions de base Degrés Représentation Chemins critiques
Chemins critiques

Iter. X s a b c d e f t
0 s 0 3 s ∞ ∞ 3 s ∞ 5 s ∞
1 a 3 s 5 a ∞ 3 s ∞ 5 s ∞
2 d 4 d ∞ 3 s ∞ 5 s ∞
3 b 4 d 5 b ∞ 5 s ∞
4 c 5 b 8 c 5 s ∞
5 f 7 f 5 s 12 f
6 e 7 f 9 e
7
A. Selmani
t 9 e 28

Vous aimerez peut-être aussi