Vous êtes sur la page 1sur 4

Probl`emes de cheminement

Ecole Nationale Superieure en Genie des Syst`emes Industriels

Optimisation et recherche operationnelle


Partie 2 : Elements de theorie des graphes

Objectif : implementer `a la main, un algorithme de cheminement (en


particulier lalgorithme de Ford) pour la recherche de chemins de
longueur minimale ou maximale, ou pour determiner les niveaux dun
graphe.

Didier Maquin

Algorithme de Ford : on consid`ere un graphe G dont les arcs sont values


positivement par une fonction d.
On se fixe un sommet a qui sera le sommet de depart et on cherche,
pour tout sommet x, un chemin de longueur minimale joignant a `a x.
Pour effectuer cette recherche, on definit, sur tous les sommets du
graphe, une fonction p (le potentiel), telle que p(x) represente la
longueur du plus court chemin reliant a `a x.
De facon assez intuitive, on peut alors ecrire :
1
2

Octobre 2009

Probl`emes de cheminement

p(a) = 0
pour tout sommet x possedant des antecedents,
p(x) = min(p(y ) + d(y , x)) o`
u y est un antecedent de x.

Probl`emes de cheminement
Exercice n 1 : Recherche de chemins optimaux

Exemple
Considerons le graphe G decrit par la table de listes dantecedents
ci-dessous. On a egalement fait figurer dans cette table les differentes valeurs
de potentiel pour une recherche des chemins minimaux issus de a.
a

b
a5

1
P0
P1
P2
P3

0
0
0
0

+
5
5
5

c
b4
d 1
e 2
+
9
8
8

d
e 3

+
+
9
9

e
a6
b2

f
c 4
d 4

+
6
6
6

+
13
12
12

La suite est stationnaire `a partir du rang 3 et lon obtient ainsi les longueurs
des chemins minimaux issus du sommet a.

Considerons le graphe G decrit par la table des antecedents de chaque


sommet :
a
1

b
a2
f 1

c
b3
a6

d
c 2
h4

e
d 3
i 3

g
f 3

h
g 3
b1

i
h3
g 5

Question 1
Donner la longueur des chemins minimaux (de longueur minimale) reliant le
sommet a aux autres sommets du graphe ; tous les sommets sont-ils relies au
sommet a ?
Question 2
Meme question si f est le sommet de depart.
Question 3
Donner la longueur des chemins maximaux reliant le sommet b aux autres
sommets du graphe.

Probl`emes de cheminement

Probl`emes de cheminement

Exercice n 1 : Recherche de chemins optimaux


Considerons le graphe G decrit par la table des antecedents de chaque
sommet :
a
b
c
d
e
f
g
h
i
a2 b3 c 2 d 3
f 3 g 3 h3
1
f 1 a6 h4 i 3
b1 g 5
Dessin du graphe
a
6

1
P0
P1
P2
P3

1
P0
P1
P2
P3

Seul le sommet a nest pas relie `a f .

e
d 3
i 3

10
9
9

g
f 3

h
g 3
b1

3
3
3

i
h3
g 5

6
6
6

Exercice n 1 : Recherche de chemins optimaux

Longueur des chemins minimaux reliant le sommet f aux autres sommets du


graphe.
d
c 2
h4

6
6
6

d
c 2
h4

7
7
7

Probl`emes de cheminement

Question 2

c
b3
a6

4
4
4

c
b3
a6

5
5
5

Exercice n 1 : Recherche de chemins optimaux

b
a2
f 1

1
1
1

0
0
0
0

b
a2
f 1

2
2
2

Les sommets f et g ne sont pas relies `a a.

Probl`emes de cheminement

Longueur des chemins minimaux reliant le sommet a aux autres sommets du


graphe.
a

Question 1

Exercice n 1 : Recherche de chemins optimaux

e
d 3
i 3

9
8
8

g
f 3

0
0
0
0

3
3
3

h
g 3
b1

2
2
2

i
h3
g 5

5
5
5

Question 3
Longueur des chemins maximaux reliant le sommet b aux autres sommets du
graphe.
a
1
P0
P1
P2

b
a2
f 1
0
0
0

c
b3
a6

3
3

d
c 2
h4

5
5

e
d 3
i 3

8
8

g
f 3

h
g 3
b1

1
1

i
h3
g 5

4
4

Probl`emes de cheminement

Probl`emes de cheminement

Exercice n 2 : Determination des niveaux dun graphe


Considerons le graphe G decrit par la table des antecedents suivante :
a
1

b
c 2
d 4
f 5

c
e 3
h5

d
e 2
f 1

e
g 5
h3

f
h4
g 3

g
i 1

h
i 2
a1

Exercice n 2 : Determination des niveaux dun graphe


Question 1
Longueur des chemins minimaux reliant le sommet a aux autres sommets du
graphe.

Question 1
Donner la longueur des chemins minimaux reliant le sommet a aux autres
sommets du graphe.
Question 2
Determiner les niveaux de ce graphe. On rappelle que les sommets sans
predecesseurs sont situes au niveau 0 (racines) et que le niveau des autres
sommets est defini par la longueur du chemin maximum, compte en nombre
darcs, entre une racine et ces sommets. On proposera une initialisation
permettant de repondre `a la question posee.
Question 3
Reprendre la question n 1 en examinant maintenant les sommets non pas
par ordre alphabetique, mais selon lordre defini par leur niveau. Que
constate-t-on ?

Probl`emes de cheminement

a
1
P0
P1
P2
P3
P4

0
0
0
0
0

b
c 2
d 4
f 5

8
8

c
e 3
h5

d
e 2
f 1

e
g 5
h3

f
h4
g 3

g
i 1

h
i 2
a1

6
6
6

6
6

4
4
4

5
5
5

1
1
1
1

b
c 2
d 4
f 5

8
8

Probl`emes de cheminement

Exercice n 2 : Determination des niveaux dun graphe


Question 2
Pour determiner les niveaux du graphe, on calcule les chemins maximaux
avec toutes les longueurs fixees `a 1 et en posant P0 (a) = P0 (i) = 0
(sommets sans predecesseurs).
a
1
P0
P1
P2
P3
P4
P5

0
0
0
0
0
0

b
c 1
d 1
f 1

3
4
4

c
e 1
h1

d
e 1
f 1

e
g 1
h1

f
h1
g 1

g
i 1

h
i 1
a1

2
3
3
3

3
3
3

2
2
2
2

2
2
2
2

1
1
1
1
1

1
1
1
1
1

0
0
0
0
0
0

Exercice n 2 : Determination des niveaux dun graphe


Question 3
a

g
i 1

h
i 2
a1

e
g 5
h3

f
h4
g 3

c
e 3
h5

d
e 2
f 1

0
0
0

1
1

4
4

5
5

6
6

6
6

1
P0
P1
P2

Probl`emes de cheminement
Exercice n 2 : Determination des niveaux dun graphe
Dessin du graphe
a

Visualisation des niveaux


a

h
4

i
Niveau

g
1

5
3
5
3

3
2

f
2

2
4

1
5
3

b
4