Vous êtes sur la page 1sur 3

Série N°5

Le problème du plus court chemin et ses extensions

Exercice n° 1.
Pour relier une mine de montagne à un terminal de chargement de minerai accessible par camion, on
doit construire une voie ferrée à crémaillère pour descendre le minerai avec des wagonnets. Les
segments de voie possibles sont donnés par le graphe suivant, avec les coûts de construction en Millions
de Dinars. La mine est au nœud 1 et le terminal est au nœud 8.
3
2 6
12
7 4
9
4
1 3 15 7
8
5 4
2 18
29
4 8

Donner la voie ferrée la plus économique en utilisant l’algorithme de Dijkstra, ensuite l’algorithme de
Ford.

Algorithme de Dijkstra o(n2) fixation d’étiquettes

Itération 1 2 3 4 5 6 7 8
1 0/1 12/1 4/1 2/1 + + + +
2 - 12/1 4/1 - 20/4 + + 31/4
3 - 11/3 - - 19/3 + + 31/4
4 - - - - 19/3 14/2 + 31/4
5 - - - - 19/3 - 18/6 23/6
6 - - - - 19/3 - - 22/7
7 - - - - - - - 22/7

Le problème est résolu en exactement n-1 itérations. L’algorithme de Dijkstra se déroule comme suit :

Itération 1
Etape1 : Initialisation : u1=0, u2=12, u3=4, u4=2, u5=u6=u7=u8=+
Etape 2 : Fixation d’une étiquette : k=4 P={1,4} T={2,3,5,6,7,8}, T alors on continue
Etape 3 : Mise à jour des étiquettes temporaires : u2=12, u3=4, u5=20, u6=u7=+, u8=31
Itération 2
Etape 2 : k=3 P={1,3,4} T={2,5,6,7,8}, T alors on continue
Etape 3 : u2=min{12,4+7}=11, u5=min{20,4+15}=19, u6=u7=+, u8=31
Itération 3
Etape 2 : k=2 P={1,3,4,2} T={5,6,7,8}, T alors on continue
Etape 3 : u5=19, u6=14, u7=+, u8=31
Itération 4
Etape 2 : k=6 P={1,3,4,2,6} T={5,7,8}, T alors on continue
Etape 3 : u5=19, u7=18, u8=min{31,23}=23

1/6
Itération 5
Etape 2 : k=7 P={1,3,4,2,6,7} T={5,8}, T alors on continue
Etape 3 : u5=19, u8= min{22,23}=22
Itération 6
Etape 2 : k=5 P={1,3,4,2,6,7,5} T={8}, T alors on continue
Etape 3 : u8=22
Itération 7
Etape 2 : k=8 P={1,3,4,2,6,7,5,8} T= alors on arrête

Le chemin le plus court de 1 à 8 est 132678

3
2 6
12
7 4
9
4
1 3 15 7
8

5 4
2 18
29
4 8

Algorithme de Ford o(n3) pas de fixation d’étiquettes

Itération 1 2 3 4 5 6 7 8
1 0/1 12/1 4/1 2/1 + + + +
2 0/1 11/3 4/1 2/1 19/3 15/2 + 31/4
3 0/1 11/3 4/1 2/1 19/3 14/2 19/6 24/6
4 0/1 11/3 4/1 2/1 19/3 14/2 18/6 23/6 ou 7
5 0/1 11/3 4/1 2/1 19/3 14/2 18/6 22/7
6 0/1 11/3 4/1 2/1 19/3 14/2 18/6 22/7

Les lignes 5 et 6 sont identiques donc arrêt

Le problème est résolu en au plus n-1 itérations. L’algorithme de Ford se déroule comme suit :

Itération 1 : u1=0, u2=12, u3=4, u4=2, u5=u6=u7=u8=+


Itération 2 : u1=0, u2=min{12,4+7}=11, u3=4, u4=2, u5=min{+, 4+15}=19, u6= min{+,
12+3}=15, u7=+, u8=min{+, 2+29}=31
Itération 3 : u1=0, u2=11, u3=4, u4=2, u5=19, u6= min{+, 12+3, 11+3}=14, u7=min{+, 19+8,
15+4}=19,u8=min{31,15+9}=24
Itération 4 : u1=0, u2=11, u3=4, u4=2, u5=19, u6=14, u7=min{19,14+4}=18,
u8=min{31,19+4,14+9}=23
Itération 5: u1=0, u2=11, u3=4, u4=2, u5=19, u6=14, u7=18, u8=min{23, 18+4}=22
Itération 6: u1=0, u2=11, u3=4, u4=2, u5=19, u6=14, u7=18, u8=min{23, 18+4}=22
Arrêt

Exercice n° 2.
Une étudiante a besoin d’une voiture pour ses 5 années d’études universitaires. Au début de sa première
année (t = 0), elle achète une voiture neuve et au début de chaque année t, elle a la possibilité de soit
garder sa voiture durant l’année [t, t+1[, soit vendre sa voiture au prix v(i), où i est l’âge de la voiture
au moment de la vente et acheter une autre neuve au prix p(t). A la fin de sa dernière année d’études,
l’étudiante revendra sa voiture sans en racheter d’autre.

2/6
Le coût annuel de maintenance d’une voiture dépend de son âge i au début de chaque année t et est
désigné par r(i). Les valeurs p(t), v(i) et r(i) étant supposées actualisées à la date 0, l’objectif est de
déterminer une politique qui permet à l’étudiante de bénéficier d’une voiture durant les 5 années
d’études et ce avec un coût total minimal.

1. Montrer que l’objectif revient à déterminer un plus court chemin entre deux sommets
particuliers dans un graphe qu’on précisera.
2. Résoudre ce problème avec les données suivantes :
Age de la voiture (ans) i /Année t 0 1 2 3 4 5
Prix d’achat p(t) 12.000 14.000 15.000 15.000 16.000 -
Prix de récupération (DT) 9.000 6.000 2.000 1.000 0
Coût annuel de maintenance (DT) 2.000 4.000 5.000 9.000 12.000 -

Il s’agit d’un problème de remplacement d’équipement qui peut être remplacé par le graphe suivant :

44000

31000
24000
21000
12000 15000

5000 7000 8000 8000 9000


0 1 2 3 4 5
14000 15000
23000

33000

Les sommets représentent les années. Les coûts sur les arcs sont calculés comme suit :
𝑗−𝑟−1
cij=p(i)+∑𝑘=0 𝑟(𝑘)-v(j-i)

Graphe sans circuit


U0=0 ; U1=5000/0 ; U2= min {12000, 500+7000}=12000/0 ou 1 ;
U3=min {5000+7000+8000, 5000+14000, 21000}=19000/1
U4=min {12000+15000, 5000+23000, 19000+8000,31000}=27000/2 ou 3
U5=min {44000, 5000+33000, 12000+24000, 19000+15000, 17000+9000}=34000/3

Ainsi le plus court chemin est : 0135


Ce qui revient à acheter la voiture l’année 0, la revendre en année 1 et en racheter une nouvelle qu’il
faudra revendre l’année 3 et en racheter une nouvelle pour enfin arriver à l’année 5 avec un coût total
de 34000.

3/6

Vous aimerez peut-être aussi