1 / 18

Aide à la décision

Bloc1 : Théorie des graphes et problèmes d’ordonnancement Séance 2 Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Une partie de ces transparents a été élaborée en se basant sur le document de Pierre Lopez, LAAS, Toulouse http://www.laas.fr/~lopez/cours/GRAPHES/graphes.html.

inge
Download Presentation

Aide à la décision

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bloc1 : Théorie des graphes et problèmes d’ordonnancement Séance 2 Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Une partie de ces transparents a été élaborée en se basant sur le document de Pierre Lopez, LAAS, Toulousehttp://www.laas.fr/~lopez/cours/GRAPHES/graphes.html Aide à la décision

  2. Plan du cours • Qu’est ce qu’on peut faire avec la théorie des graphes ? • Concepts généraux en théorie des graphes • Le problème du plus court chemin • Problème central de l’ordonnancement http://www.lamsade.dauphine.fr/~aloulou/cours/L3STCF_Bloc1_Graphes.pdf

  3. Le problème du plus court chemin • Définition du problème • Exemples de formulation avec pcch • Principe d’optimalité et conditions d’existence • Graphes sans circuit • Graphes à valuations positives • Algorithme de Moore-Dijkstra (1959) • Graphes à valuations quelconques • Contre-exemple • Algorithme de Bellman-Ford

  4. 1 A C 6 2 S E 2 -4 2 3 3 D B Le problème du plus court chemin Définition du problème • Soit G=(X,U) un graphe sans boucle • Pour tout arc u=(xi,xj)U on associe une valuation a(u) = aij : durée, distance ... • La valeur d’un chemin  : v() = a(u), u

  5. 1 A C 6 2 S E 2 -4 2 3 3 D B Le problème du plus court chemin Définition du problème • On peut s’intéresser aux problème • de plus court chemin (valeur min) • de plus long chemin (valeur max)

  6. B E H C F I K A G J D Le problème du plus court chemin Exemples • Exemple 1 : Construire une autoroute entre deux villes A et K • Arcs = tronçons possibles de l’autoroute • Valuation des arcs peut être • coût de réalisation correspondant • longueur du trajet • …

  7. Le problème du plus court chemin Exemples • Exemple 2 : Chemin le plus fiable dans un réseau de télécommunication • Arêtes = liens physiques • Valuation des arêtes (i,j) est pij: fiabilité du lien (la probabilité pour que le lien fonctionne) • La fiabilité d’un chemin est le produit des probabilités des liens qui le constituent • Le problème devient un problème de pcch en remplaçant chaque probabilité par aij = - log pij

  8. Le problème du plus court chemin Les 3 types de problèmes • Recheche des chemins extrêmaux d’un sommet xk vers un sommet xj • Recherche des chemins extrêmaux d’un sommet xk vers tous les autres sommets • Recherche des chemins extrêmaux entre tout couple de sommets

  9. Le problème du plus court cheminPrincipe d’optimalité • aij = longueur de l’arc (i,j) si l’arc existe sinon +  • uj : longueur du pcch de l’origine 1 vers le sommet j • Equations de Bellman • u1 =0 • uj = min {kj, uk + akj}

  10. j k w l(w)<0 i Le problème du plus court cheminCondition d’existence • Condition d’existence Le graphe n’admet pas de circuit de longueur négative

  11. Le problème du plus court cheminGraphes acycliques • Un graphe est acyclique ssi il existe une numérotation des sommets telle qu’un arc existe entre i et j seulement si i < j • Les équations de Bellman deviennent • u1 =0 • uj = min {k < j, uk + akj} -6 3 2 4 2 -4 1 1 2 1 6 5 3 9 3 5 6

  12. Le problème du plus court cheminGraphes à valuations positives • Algorithme de Dijkstra : plus court chemin de l’origine à tous les autres sommets • Utilise des labels pour les sommets • Les labels permanents représentent la valeur du pcch de l’origine jusqu’au sommet correspondant • Les labels temporaires représentent une borne supérieure de ce pcch • A chaque itération un label temporaire est transformé en label permanent

  13. Le problème du plus court cheminGraphes à valuations positives Algorithme de Dijkstra • Etape 0 • u1 =0; • uj =a1j, pour j=2,…, n • P={1}, T={2, …, n} • Etape 2 (Désignation du label permanent) • Déterminer kT, tq uk=min{j T, uj} • T=T\{k} et P=P{k} • Si T=vide, stop • Etape 3 (Révision des labels temporaires) • uj=min{uj, uk+akj} pour tout j T • Aller à l’étape 1

  14. 4 B E 2 2 5 4 3 A D F H 2 2 3 2 1 G C Le problème du plus court cheminGraphes à valuations positives • Exemple 3

  15. 1 A C 6 2 S E 2 -4 2 3 3 D B Le problème du plus court cheminAlgorithme de Dijkstra et graphes à valuations quelconques

  16. Le problème du plus court cheminGraphes à valuations quelconques • Algorithme de Bellman-Ford • uj(m) = longueur du pcch de 1 vers j tel que le chemin ne contient pas plus que m arcs u1(1)= 0 uj(1) = a1j uj(m+1) = min{uj(m) , min{kj, uk(m) + akj}} • Si le graphe ne contient pas de circuit de valeur négative alors uj = uj(n-1)

  17. Le problème du plus court cheminGraphes à valuations quelconques Algorithme de Bellman-Ford • Etape 0 • u1(0)= 0, uj(0) = + pour tout j1, m:=0 • Etape 1 (On modifie les marques à partir des marques de l’étaqe pécédente) Pour tout j1 uj(m+1) = min{uj(m) , min{kj, uk(m) + akj}} • Etape 2 • Si pour tout j, uj(m+1) = uj(m) alors FIN • Sinon Si m<n-1 alors poser m:=m+1 et aller à l’étape 1 • Sinon Si m=n-1, alors G admet au moins un circuit absorbant

  18. Le problème du plus court cheminGraphes à valuations quelconques • Plus court chemin entre tous les couples de sommets • Algorithme matriciel de Floyd-Warshall

More Related