Optimisation dans les rseaux - PowerPoint PPT Presentation

1 / 59
About This Presentation
Title:

Optimisation dans les rseaux

Description:

d'un n ud a vers tous les n uds. de tous les n uds vers tous les n uds ... Si dj di aij, cela signifie que le chemin arrivant en j partir de i est plus court ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 60
Provided by: michelbi9
Category:

less

Transcript and Presenter's Notes

Title: Optimisation dans les rseaux


1
Optimisation dans les réseaux
  • Optimisation B
  • Génie Mécanique

2
Le problème du plus court chemin

3
Introduction
  • Plusieurs versions
  • dun nud a vers un nud b
  • de tous les nuds vers un nud b
  • dun nud a vers tous les nuds
  • de tous les nuds vers tous les nuds
  • Nous allons étudier le problème du plus court
    chemin dun nud a vers tous les autres.
  • Souvent, on supposera que a1.

4
Introduction
  • Idée générale
  • Parcourir le réseau à partir de lorigine
  • Appliquer et mettre à jour des étiquettes
    (d1,,dN) à chaque nud.
  • Chaque étiquette est soit un scalaire soit ?.

5
Conditions doptimalité
  • Soient d1,d2,,dN des scalaires tels que
  • dj di aij ?(i,j) ? A
  • Soit P un chemin entre un nud a et un nud b.
  • Si
  • dj di aij ?(i,j) ? P
  • Alors P est un plus court chemin entre a et b.

6
Conditions doptimalité
  • Preuve
  • P est composé des arcs
  • (a,i1),(i1,i2),,(iP,b)
  • Longueur de P
  • aa,i1ai1,i2aiP,b
  • Comme aij dj - di ?(i,j) ? P, on a
  • Longueur de P
  • (db diP) (diP diP-1)(di2-di1)(di1-da)
  • db -da

7
Conditions doptimalité
  • Soit Q un chemin quelconque entre a et b.
  • Q est composé des arcs
  • (a,j1),(j1,j2),,(jQ,b)
  • Longueur de Q
  • aa,j1aj1,j2ajQ,b
  • Comme aij ³ dj - di ?(i,j) ? Q, on a
  • Longueur de Q ³
  • (db djQ) (djQ djQ-1)(dj2-dj1)(dj1-da)
  • db da Longueur de P.
  • CQFD

8
Algorithme générique
  • Idée
  • On démarre avec un vecteur détiquettes (d1,,dN)
  • On sélectionne un arc (i,j) qui viole les
    conditions doptimalité, c-à-d tel que dj gt di
    aij
  • On met à jour létiquette de j
  • dj ? di aij
  • Et ainsi de suite jusquà ce que tous les arcs
    vérifient la condition.

9
Algorithme générique
  • A tout moment, létiquette dun nud i peut être
    interprétée comme la longueur dun chemin reliant
    a à i.
  • Si dj gt di aij, cela signifie que le chemin
    arrivant en j à partir de i est plus court que le
    chemin actuel reliant a à j.
  • Il est plus facile deffectuer le traitement
    nud par nud.
  • Pour chaque nud considéré, on traitera tous ses
    arcs sortant.
  • V liste des nuds à traiter

10
Algorithme générique
  • Algorithme
  • Initialisation
  • Va
  • da 0, di ? ?i?a
  • Itérations. Tant que V ? ?
  • Sélectionner un nud i dans V et len retirer
  • Pour chaque arc (i,j) sortant de i,
  • Si dj gt di aij, alors
  • dj ? di aij
  • Ajouter j à V

11
d2?
2
3
2
1
1
1
4
1
d4?
d10
1
3
3
d3?
12
d23
2
3
2
1
1
1
4
d4?
d10
1
3
3
d3?
13
d23
2
3
2
1
1
1
4
d4?
d10
1
3
3
d31
14
d23
2
3
2
1
1
1
4
d4?
d10
1
3
3
d31
15
d23
2
3
2
1
1
1
4
d4?
d10
1
3
3
d31
16
d23
2
3
2
1
1
1
4
d45
d10
1
3
3
d31
17
d23
2
3
2
1
1
1
4
d45
d10
1
3
3
d31
18
d23
2
3
2
1
1
1
4
d44
d10
1
3
3
d31
19
d22
2
3
2
1
1
1
4
d44
d10
1
3
3
d31
20
d22
2
3
2
1
1
1
4
d44
d10
1
3
3
d31
21
d22
2
3
2
1
1
1
4
d44
d10
1
3
3
d31
22
d22
2
3
2
1
1
1
4
d44
d10
1
3
3
d31
23
d22
2
3
2
1
1
1
4
d44
d10
1
3
3
d31
24
d22
2
3
2
1
1
1
4
d44
d10
1
3
3
d31
25
Algorithme générique
  • Propriétés à la fin de chaque itération
  • Si dj lt ?, alors dj est la longueur dun chemin
    reliant a à j.
  • Si i ? V, alors soit di ?, soit
  • dj di aij ?j tel que (i,j) ? A

26
Algorithme générique
  • Propriétés si lalgorithme se termine
  • ?j t.q. dj lt ?,
  • dj est la longueur du plus court chemin entre a
    et j.
  • dj min(i,j) ? A diaij si j ? a Eq. de
    Bellman
  • da 0
  • dj ? ssi il ny a pas de chemin reliant a et
    j.
  • Lalgorithme se termine ssi il ny a aucun chemin
    commençant en a et contenant un cycle à coût
    négatif

27
Algorithme générique
  • Les équations de Bellman permettent de
    reconstituer les plus courts chemins à partir des
    étiquettes.
  • Le prédécesseur du nud j dans le plus court
    chemin est celui qui réalise le minimum de
    léquation de Bellman.

28
d22
2
3
2
1
1
1
4
d44
d10
1
3
3
d31
d22
2
3
2
1
1
1
4
d44
d10
1
3
3
d31
29
Algorithme de Dijkstra
  • Lalgorithme générique ne spécifie pas comment
    choisir dans V le nud à traiter.
  • Lalgorithme de Dijkstra impose que le nud i à
    traiter soit tel que
  • di minj?V dj

30
Algorithme de Dijkstra
  • Algorithme
  • Initialisation
  • Va
  • da 0, di ? ?i?a
  • Itérations. Tant que V ? ?
  • Sélectionner un nud i dans V tel que
  • di minj?V dj
  • Retirer i de V
  • Pour chaque arc (i,j) sortant de i,
  • Si dj gt di aij, alors
  • dj ? di aij
  • Ajouter j à V

31
d2?
2
0
2
1
1
1
1
4
5
d10
0
d5 ?
d4 ?
1
3
3
d3 ?
32
d2?
2
0
2
1
1
1
1
4
5
d10
0
d5 ?
d4 ?
1
3
3
d3 ?
33
d22
2
0
2
1
1
1
1
4
5
d10
0
d5 ?
d4 ?
1
3
3
d3 ?
34
d22
2
0
2
1
1
1
1
4
5
d10
0
d5 ?
d4 ?
1
3
3
d3 1
35
d22
2
0
2
1
1
1
1
4
5
d10
0
d5 ?
d4 ?
1
3
3
d3 1
36
d22
2
0
2
1
1
1
1
4
5
d10
0
d5 ?
d4 ?
1
3
3
d3 1
37
d22
2
0
2
1
1
1
1
4
5
d10
0
d5 ?
d4 4
1
3
3
d3 1
38
d22
2
0
2
1
1
1
1
4
5
d10
0
d5 ?
d4 4
1
3
3
d3 1
39
d22
2
0
2
1
1
1
1
4
5
d10
0
d5 ?
d4 4
1
3
3
d3 1
40
d22
2
0
2
1
1
1
1
4
5
d10
0
d5 ?
d4 3
1
3
3
d3 1
41
d22
2
0
2
1
1
1
1
4
5
d10
0
d5 2
d4 3
1
3
3
d3 1
42
d22
2
0
2
1
1
1
1
4
5
d10
0
d5 2
d4 3
1
3
3
d3 1
43
d22
2
0
2
1
1
1
1
4
5
d10
0
d5 2
d4 3
1
3
3
d3 1
44
d22
2
0
2
1
1
1
1
4
5
d10
0
d5 2
d4 3
1
3
3
d3 1
45
d22
2
0
2
1
1
1
1
4
5
d10
0
d5 2
d4 3
1
3
3
d3 1
46
Algorithme de Dijkstra
  • Propriété des étiquettes permanentes
  • Si les coûts sur tous les arcs sont non négatifs
  • Considérons Widi lt? et i?V
  • Alors, pour chaque itération,
  • aucun nud appartenant à W au début de
    litération nentrera dans V pendant litération
  • à la fin de litération, didj si i?W et j?W.

47
Notes
  • Si lon désire calculer le plus court chemin de a
    à b, on peut arrêter lalgorithme de Dijkstra dès
    que le nud b est dans W.
  • Si au moins un arc a un coût négatif, rien ne
    garantit le caractère permanent des étiquettes

48
d2 ?
2
2
1
-2
1
4
d10
d4 ?
1
1
3
d3 ?
49
d2 ?
2
2
1
-2
1
4
d10
d4 ?
1
1
3
d3 ?
50
d2 ?
2
2
1
-2
1
4
d10
d4 ?
1
1
3
d3 ?
51
d2 2
2
2
1
-2
1
4
d10
d4 ?
1
1
3
d3 ?
52
d2 2
2
2
1
-2
1
4
d10
d4 ?
1
1
3
d3 1
53
d2 2
2
2
1
-2
1
4
d10
d4 ?
1
1
3
d3 1
54
d2 2
2
2
1
-2
1
4
d10
d4 2
1
1
3
d3 1
55
d2 2
2
2
1
-2
1
4
d10
d4 2
1
1
3
d3 1
56
d2 2
2
2
1
-2
1
4
d10
d4 2
1
1
3
d3 1
57
d2 2
2
2
1
-2
1
4
d10
d4 2
1
1
3
d3 0
Nud 3 rentre à nouveau dans V
58
d2 2
2
2
1
-2
1
4
d10
d4 2
1
1
3
d3 0
59
d2 2
2
2
1
-2
1
4
d10
d4 1
1
1
3
d3 0
Write a Comment
User Comments (0)
About PowerShow.com