Problème du plus court chemin :
Algorithmes et complexité
MSE3211A: Flot et Routage
(d’après Ahuja, R.K., T.L. Magnanti and J.B. Orlin, Prentice Hall, 1993,
et d’après les notes des cours de L.A. Wolsey et F. Vanderbeck)
Last update: January 10, 2011
Gautier Stauffer, MAB, Bur. A33:358, Email g[email protected]
PROBLÈME DU PLUS COURT CHEMIN
Dans un réseau orienté avec des arcs de longueur connue,
trouver un chemin de longueur minimale entre s et tous les
autres noeuds.
INTÉRÊTS:
capture tout l’aspect optimisation du flot dans un réseaux;
nombreuses applications directes, et apparait souvent
comme sous problème de problèmes plus complexes;
relativement facile mais nécessite beaucoup d’ingéniosité
pour développer des algo très rapides (problème de
grande taille ou sous-problème résolu de nombreuses
fois).
PROBLÈME DU PLUS COURT CHEMIN
HYPOTHÈSES:
cij ≤Centier pour tout (i,j)
∃un chemin orienté de svers tout autre noeud i
Le graphe est orienté
Le réseau ne contient pas de cycle de coût négatif.
CAS GENERAL:
Détecter la présence d’un cycle de coût négatif (facile).
Si ∃, il est difficile de trouver un plus court chemin.
Détecter la présence d’un cycle de coût négatif:
un problème intéressant en soi
PROBLÈME DU PLUS COURT CHEMIN
On a déjà vu qu’un chemin de sàipeut s’intereprêter comme un flot.
En sommant tous les flots liés aux plus courts chemins de sàipour
tout i6=s, on obtient un flot satisfaisant les contraintes suivantes :
X
j∈Nxi j −X
j∈Nxj i =n−1i=s
−1i6=s(1)
xi j ≥0 pour tout (i,j)
Vice-versa si on résoud le problème suivant, on peut retrouver les plus
courts chemins de sà tous sommet de Gpar le théorème de
décomposition des flots.
min X
(i,j)∈Aci j xi j (2)
X
j∈Nxi j −X
j∈Nxj i =n−1i=s
−1i6=s(3)
xi j ≥0 pour tout (i,j)
PROBLÈME DUAL
minimiser la distance de sà tous les autres noeuds
min X
(i,j)∈Aci j xi j
X
j∈Nxj i −X
j∈Nxi j =1−n i =s
1i6=s(4)
xi j ≥0 pour tout (i,j)∈A
DUAL (MODÈLE DES FICELLES)
di=distance au noeud i(ou de sàisi on pose ds=0).
max X
i6=s
(di−ds)
dj−di≤ci j pour tout (i,j)∈A
=>Preuve d’optimalité
Si x∗est réalisable,d∗est un vecteur de distances associé à la solution x∗, et d∗est
dual réalisable, alors x∗et d∗sont optimaux. NB: Les solutions de base du problème
primal sont des arbres (orientés de svers tous les autres sommets). La solution duale
associée satisfait dj−di=cij pour tous les arcs de l’arbre.
1 / 19 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!