Optimisation dans les réseaux Recherche Opérationnelle GC-SIE.

Slides:



Advertisements
Présentations similaires
La recherche de chemin optimal
Advertisements

Recherche de chemin A* Par: François Roseberry Benoît Tremblay.
PLAN I / OBJECTIFS II/ OBSERVATIONS FAITES LORS DE LA PRECEDENTE SEANCE III/CARACTERISATION DES ANTENNES IV/CONCLUSION V/PERSPECTIVES.
Algorithmes et structures de données avancés
Classification et prédiction

Programme de seconde 2009 Géométrie
1 UMLV Optimalité des tris par comparaisons : O(n logn) Classements linéaires Tris lexicographiques Tri lexicographique.
Bloc1 : Théorie des graphes et problèmes d’ordonnancement
Métrologie pour lInternet. Jean-Loup Guillaume Journées Franciliennes de Recherche Opérationnelle.
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Plus rapide chemin bicritère : un problème d’aménagement du territoire
Génération de colonnes
CALCUL PARALLELE PRODUIT : MATRICE – VECTEUR 10 pages Exposé par :
3. Algorithme Colonies de fourmis.
Recherche Opérationnelle
Circuits équivalents de Thévenin et de Norton
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Algorithme de Dijkstra
Optimisation en nombres entiers
Optimisation non linéaire sans contraintes
Produit vectoriel Montage préparé par : André Ross
ASI 3 Méthodes numériques pour l’ingénieur
Rappel... Opérations élémentaires sur les matrices:
Optimisation linéaire
1.2 COMPOSANTES DES VECTEURS
Optimisation et Complexité
Optimisation en nombres entiers Recherche Opérationnelle GC-SIE.
Optimisation non linéaire sans contraintes
Optimisation non linéaire sans contraintes
Pr ZEGOUR Djamel Eddine
Algorithme de Bellman-Ford
Rappel... Systèmes dynamiques: discrets; continus.
Optimisation en nombres entiers Recherche Opérationnelle GC-SIE.
Optimisation dans les réseaux
Optimisation dans les réseaux
Optimisation dans les réseaux
Optimisation linéaire
Optimisation linéaire
Optimisation linéaire
Optimisation non linéaire sans contraintes Recherche opérationnelle GC-SIE.
Optimisation non linéaire sans contraintes
Recherche Opérationnelle
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
DONG Xiaoguang HONG Liang OULDBABA Fadel WANG Min
Programmation dynamique
2.2 PRODUIT SCALAIRE ET CALCUL D’ANGLES
Programmation linéaire en nombres entiers : les méthodes de troncature
Exploration systématique de graphes
Examen partiel #1 Mercredi le 4 octobre de 13h30 à 15h20
L l Si l = B A II) Chemins Nombre de chemins = l A II) Chemins 1 1.
Les Distances à New York
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
D.E ZEGOUR Ecole Supérieure d’Informatique
INTRODUCTION.
Notions premières. x a b c d y z t G = (V,E) V sommets ou nœuds E arêtes ou liens.
Tutorat 7 - Introduction au Routage et OSPF
© Petko ValtchevUniversité de Montréal Février IFT 2251 Génie Logiciel Spécification de Processus Concurrents Hiver 2002 Petko Valtchev.
CHAPITRE III Calcul vectoriel
Chapitre 3: Translation et Vecteurs
6. Problème de flot à coût minimum.
Ajouts et retraits dans un arbre de connexion Nicolas Thibault et Christian Laforest, Équipe OPAL Laboratoire IBISC (regroupement LaMI et LSC), Évry 8.
Post-optimisation, analyse de sensibilité et paramétrage
Courbes de Bézier P2 P1 P3 P0 O
1 Courbes Bsplines non uniformes Bsplines uniformes 1.Nombre de points de définition 2.Position des points de définition 3.Degré m des polynômes Paramètres.
CSI2510 Structures de données et algorithmes Plus court chemin
Cycle, Cocycle, Arbre et Arborescence
Chapitre 3 Problèmes de Cheminement
Transcription de la présentation:

Optimisation dans les réseaux Recherche Opérationnelle GC-SIE

Le problème du plus court chemin

Plus courts cheminsMichel Bierlaire3 Introduction Plusieurs versions : – dun nœud vers un nœud – de tous les nœuds vers un nœud – dun nœud vers tous les nœuds – de tous les nœuds vers tous les nœuds Nous allons étudier le problème du plus court chemin dun nœud vers tous les autres. Souvent, on supposera que =1.

Plus courts cheminsMichel Bierlaire4 Introduction Idée générale : Parcourir le réseau à partir de lorigine Appliquer et mettre à jour des étiquettes (d 1,…,d N ) à chaque nœud. Chaque étiquette est soit un scalaire soit +.

Plus courts cheminsMichel Bierlaire5 Conditions doptimalité Soient d 1,d 2,…,d N des scalaires tels que d j d i + a ij (i,j) A Soit P un chemin entre un nœud et un nœud. Si d j d i + a ij (i,j) P Alors P est un plus court chemin entre et.

Plus courts cheminsMichel Bierlaire6 Conditions doptimalité Preuve : P est composé des arcs (,i 1 ),(i 1,i 2 ),…,(i P, ) Longueur de P = a,i 1 +a i 1,i 2 +…+a i P, Comme a ij = d j d i (i,j) P, on a Longueur de P = (d – d i P ) + (d i P – d i P-1 )+…+(d i 2 -d i 1 )+(d i 1 -d )= d -d

Plus courts cheminsMichel Bierlaire7 Conditions doptimalité Soit Q un chemin quelconque entre et. Q est composé des arcs (,j 1 ),(j 1,j 2 ),…,(j Q, ) Longueur de Q = a,j 1 +a j 1,j 2 +…+a j Q, Comme a ij d j d i (i,j) Q, on a Longueur de Q (d – d j Q ) + (d j Q – d j Q-1 )+…+(d j 2 -d j 1 )+(d j 1 -d )= d –d = Longueur de P. CQFD

Plus courts cheminsMichel Bierlaire8 Algorithme générique Idée : On démarre avec un vecteur détiquettes (d 1,…,d N ) On sélectionne un arc (i,j) qui viole les conditions doptimalité, c-à-d tel que d j d i + a ij On met à jour létiquette de j d j d i + a ij Et ainsi de suite jusquà ce que tous les arcs vérifient la condition.

Plus courts cheminsMichel Bierlaire9 Algorithme générique A tout moment, létiquette dun nœud i peut être interprétée comme la longueur dun chemin reliant à i. Si d j d i + a ij, cela signifie que le chemin arrivant en j à partir de i est plus court que le chemin actuel reliant à j. Il est plus facile deffectuer le traitement nœud par nœud. Pour chaque nœud considéré, on traitera tous ses arcs sortant. V= liste des nœuds à traiter

Plus courts cheminsMichel Bierlaire10 Algorithme générique Algorithme : Initialisation : – V={ } – d = 0, d i = i Itérations. Tant que V – Sélectionner un nœud i dans V et len retirer – Pour chaque arc (i,j) sortant de i, Si d j d i + a ij, alors – d j d i + a ij – Ajouter j à V

d 2 = d 3 =+ d 4 =+ d 1 =0 1

d 2 = d 3 =+ d 4 =+ d 1 =0

d 2 = d 3 =1 d 4 =+ d 1 =0

d 2 = d 3 =1 d 4 =+ d 1 =0

d 2 = d 3 =1 d 4 =+ d 1 =0

d 2 = d 3 =1 d 4 =5d 1 =0

d 2 = d 3 =1 d 4 =5d 1 =0

d 2 = d 3 =1 d 4 =4d 1 =0

d 2 = d 3 =1 d 4 =4d 1 =0

d 2 = d 3 =1 d 4 =4d 1 =0

d 2 = d 3 =1 d 4 =4d 1 =0

d 2 = d 3 =1 d 4 =4d 1 =0

d 2 = d 3 =1 d 4 =4d 1 =0

d 2 = d 3 =1 d 4 =4d 1 =0

Plus courts cheminsMichel Bierlaire25 Algorithme générique Propriétés à la fin de chaque itération Si d j <, alors d j est la longueur dun chemin reliant à j. Si i V, alors soit d i = +, soit d j d i + a ij j tel que (i,j) A

Plus courts cheminsMichel Bierlaire26 Algorithme générique Propriétés si lalgorithme se termine j t.q. d j <, – d j est la longueur du plus court chemin entre et j. – d j = min (i,j) A d i +a ij si j [Eq. de Bellman] – d = 0 d j = + ssi il ny a pas de chemin reliant et j. Lalgorithme se termine ssi il ny a aucun chemin commençant en et contenant un cycle à coût négatif

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

d 2 = d 3 =1 d 4 =4d 1 = d 2 = d 3 =1 d 4 =4d 1 =0

Plus courts cheminsMichel Bierlaire29 Algorithme de Dijkstra Lalgorithme générique ne spécifie pas comment choisir dans V le nœud à traiter. Lalgorithme de Dijkstra impose que le nœud i à traiter soit tel que d i = min j V d j

Plus courts cheminsMichel Bierlaire30 Algorithme de Dijkstra Algorithme : Initialisation : – V={ } – d = 0, d i = i Itérations. Tant que V – Sélectionner un nœud i dans V tel que d i = min j V d j – Retirer i de V – Pour chaque arc (i,j) sortant de i, Si d j d i + a ij, alors – d j d i + a ij – Ajouter j à V

d 2 = d 3 = d 4 = d 1 = d 5 =

d 2 = d 3 = d 4 = d 1 = d 5 =

d2=2d2= d 3 = d 4 = d 1 = d 5 =

d2=2d2= d 3 = 1 d 4 = d 1 = d 5 =

d2=2d2= d 3 = 1 d 4 = d 1 = d 5 =

d2=2d2= d 3 = 1 d 4 = d 1 = d 5 =

d2=2d2= d 3 = 1 d 4 = 4 d 1 = d 5 =

d2=2d2= d 3 = 1 d 4 = 4 d 1 = d 5 =

d2=2d2= d 3 = 1 d 4 = 4 d 1 = d 5 =

d2=2d2= d 3 = 1 d 4 = 3 d 1 = d 5 =

d2=2d2= d 3 = 1 d 4 = 3 d 1 = d 5 = 2

d2=2d2= d 3 = 1 d 4 = 3 d 1 = d 5 = 2

d2=2d2= d 3 = 1 d 4 = 3 d 1 = d 5 = 2

d2=2d2= d 3 = 1 d 4 = 3 d 1 = d 5 = 2

d2=2d2= d 3 = 1 d 4 = 3 d 1 = d 5 = 2

Plus courts cheminsMichel Bierlaire46 Algorithme de Dijkstra Propriété des étiquettes permanentes Si les coûts sur tous les arcs sont non négatifs Considérons W={i¦d i < et i V} Alors, pour chaque itération, – aucun nœud appartenant à W au début de litération nentrera dans V pendant litération – à la fin de litération, d i d j si i W et j W.

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

d 2 = d 3 = d 4 = d 1 =0

d 2 = d 3 = d 4 = d 1 =0

d 2 = d 3 = d 4 = d 1 =0

d 2 = d 3 = d 4 = d 1 =0

d 2 = d 3 = 1 d 4 = d 1 =0

d 2 = d 3 = 1 d 4 = d 1 =0

d 2 = d 3 = 1 d 4 = 2 d 1 =0

d 2 = d 3 = 1 d 4 = 2 d 1 =0

d 2 = d 3 = 1 d 4 = 2 d 1 =0

d 2 = d 3 = 0 d 4 = 2 d 1 =0 Nœud 3 rentre à nouveau dans V

d 2 = d 3 = 0 d 4 = 2 d 1 =0

d 2 = d 3 = 0 d 4 = 1 d 1 =0