180 likes | 375 Views
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.
E N D
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
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
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
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
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)
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 • …
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
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
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 {kj, uk + akj}
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
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
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
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 kT, 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
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
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
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{kj, uk(m) + akj}} • Si le graphe ne contient pas de circuit de valeur négative alors uj = uj(n-1)
Le problème du plus court cheminGraphes à valuations quelconques Algorithme de Bellman-Ford • Etape 0 • u1(0)= 0, uj(0) = + pour tout j1, m:=0 • Etape 1 (On modifie les marques à partir des marques de l’étaqe pécédente) Pour tout j1 uj(m+1) = min{uj(m) , min{kj, 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
Le problème du plus court cheminGraphes à valuations quelconques • Plus court chemin entre tous les couples de sommets • Algorithme matriciel de Floyd-Warshall