Vous êtes sur la page 1sur 3

06/01/2021

Chapitre 3– Recherche de chemin


de valeur extremum dans un  1.Définition du problème :

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


 
à chaque arc  x ,x ∈U soit associé une valeur c (cout, délai, distance...)
 i j ij
On se propose de chercher un chemin d'un sommet x à un sommet x n tq
1
la somme des valeurs des arcs soit minimum (maximum).

 
Poser cij = +∞ si  x ,x ∉U (resp -∞ en cas de maximisation)
 i j
= 0 si i=j

Recherche Opérationnelle T AGOUTI Théorie des Graphes 17


Tarik Agouti Département d’Informatique FSSM

 2. Algorithme de FORD (peu recommandé : heuristique)  2. Algorithme de FORD (peu recommandé : heuristique)

−Hypothèse particulière : c ij ≥ 0 ∀ i , j
−A lg orithme :
.. On pose λ1 = 0 et λi = +∞ ∀ i ≠ 1
(resp. λi = −∞ ∀ i ≠ 1 en cas de maximisation)
.. On cherche un arc (x i ,x j ) tq λj − λi ≻ c ij
(resp ≺ ) et on remplace λ j par λj ' = λi + c ij EXEMPLE

.. On continue jusqu'à ce que aucun arc ne permette de diminuer les λi


(resp. augmenter)
.. Il existe nécessairement un sommet x p1 tq λn − λp1 = c p1n , et un sommet
x p2 tq λp1 − λp2 = c p 2 p1 et ainsi de suite jusqu'à ce que x pk = x 1
Recherche Opérationnelle T AGOUTI Théorie des Graphes 17 Recherche Opérationnelle T AGOUTI Théorie des Graphes 17

1
06/01/2021

 3. Algorithme de BELLMAN - KALABA  3. Algorithme de BELLMAN - KALABA

−A lg orithme :
On va calculer les quantités λ ( j ) successivement pour
i
Il est basé sur le principe d'optimalité suivant :
i=1,...,n ou λ ( j ) représente la valeur du chemin optimal
i
Si (x1 ,...,x i ,...,x r ,...,x j ,...,x n ) est optimal de x1 à x n alors
de x à x et composé de j arcs au plus.
le chemin (x i ,...,x r ,...,x j ) est optimal entre x i et x j. 1 i
Il est clair que : λ (1) = 0 , λ (1) = c pour i=2,...,n
1 i 1i
D'autre part en vertu du principe d'optimalité on aura :

λ1(k ) = 0 , λi (k ) = min { λ (k − 1) + c ji
j ∈{1,...,n } j
} ∀ i=2,...,n
Recherche Opérationnelle T AGOUTI Théorie des Graphes 17 Recherche Opérationnelle T AGOUTI Théorie des Graphes 17

 3. Algorithme de BELLMAN - KALABA  4. Algorithme de DIJKSTRA

Hypothèse : cij ≥ 0 ∀ i , j
Exemple

Recherche Opérationnelle T AGOUTI Théorie des Graphes 17 Recherche Opérationnelle T AGOUTI Théorie des Graphes 17

2
06/01/2021

 4. Algorithme de DIJKSTRA  4. Algorithme de DIJKSTRA

Notons
Etape 1
- λi (k ) la marque du sommet i à l'étape k.
λi (1) = c1i ∀ i ≠ 1 , λ1 (1) = 0 = λ1 , n1 =1 , M(1)= {1}.
- λi la marque définitive du sommet i.
Etape k+1
- M(k) l'ensemble des sommets marqués définitivement à
la fin de l'étape k. λi (k + 1) = min {λi (k ), λn + c n
k ki
} ∀ i ∉ M(k),
- n k le numéro du sommet marqué définitivement à l'étape k λn k +1
= min λi (k + 1), M(k+1) =M(k) ∪ {n k +1}.
i
(sa marque étant donc λn k )

Recherche Opérationnelle T AGOUTI Théorie des Graphes 17 Recherche Opérationnelle T AGOUTI Théorie des Graphes 17

 4. Algorithme de DIJKSTRA

A chaque étape un nouveau sommet reçoit une marque définitive.


C'est celui qui, à cette étape, a la plus petite marque parmi les
sommets non encore marqués définitivement. L'algorithme s'arrete
lorsque x n est marqués définitivement. Il comporte donc au plus
n étapes.

Recherche Opérationnelle T AGOUTI Théorie des Graphes 17

Vous aimerez peut-être aussi