Chap 01 Part 02
Chap 01 Part 02
Chap 01 Part 02
Recherche opérationnelle
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
ü 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.
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:
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
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
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
• α1 = 0
• Le sommet x2 a un seul précédent x1:
α2 = max[α1 +v12] = max0+3] = 3
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
A. Selmani 15
Notions de base Degrés Représentation Chemins critiques
Chemins critiques
• 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
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