La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou Ce transparents ont été élaborés.

Présentations similaires


Présentation au sujet: "Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou Ce transparents ont été élaborés."— Transcription de la présentation:

1 Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou Ce transparents ont été élaborés en se basant sur le document de Pierre Lopez, LAAS, Toulouse

2 Plan du cours 1.Quest ce quon peut faire avec la théorie des graphes ? 2.Concepts généraux en théorie des graphes 3.Le problème du plus court chemin 4.Problème central de lordonnancement 5.Flots et réseaux de transports

3 Pourquoi la théorie des graphes ? Modélisation –Plusieurs problèmes dans différentes disciplines (chimie, biologie, sciences sociales, applications industrielles, …) –Un graphe peut représenter simplement la structure, les connexions, les cheminements possibles dun ensemble complexe comprenant un grand nombre de situations Un graphe est une structure de données puissante pour linformatique Exemples

4 1.Concepts généraux en théorie des graphes Définitions Représentations dun graphe Coloration des sommets dun graphe Connexité dans les graphes Graphes particuliers

5 1.Concepts généraux en théorie des graphes Définitions Concepts orientés –Un graphe G(X,U) est déterminé par Un ensemble X={x 1,…,x n } de sommets Un ensemble U={u 1, …, u m } du produit cartésien X×X darcs. –Un p-graphe : pas plus que p arcs (x i,x j ) 3-graphe 1-graphe = graphe boucleArc u=(xi,xj)

6 1.Concepts généraux en théorie des graphes Définitions Graphes et applications multivoques –x j est successeur de x i si (x i,x j ) U –Lensemble des successeurs de x i est noté (x i ) –Lensemble des prédécesseurs de x i est noté -1 (x i ) – est appelée une application multivoque Pour un 1-graphe, G peut être parfaitement déterminé (ou caractérisé) par (X, )

7 1.Concepts généraux en théorie des graphes Définitions Concepts non orientés –On sintéresse à lexistence darcs entre deux sommets sans en préciser lordre –Arc = arête –U est constitué de paires non pas de couples –Multigraphe : plusieurs arêtes entre deux sommets –Graphe simple = non multigraphe + pas de boucles

8 1.Concepts généraux en théorie des graphes Définitions Dautres définitions : Voir /graphes.html /graphes.html –Adjacence, degrés, Graphe complémentaire, partiel, sous graphe, sous graphe partiel –Graphe réflexif, irréflexif, symétrique, antisymétrique, transitif, complet … définitions

9 1.Concepts généraux en théorie des graphes Représentations dun graphe 1.Matrice dadjacence Pour un graphe numérisé : remplacer 1 par la valeur de larc Place mémoire : n²

10 1.Concepts généraux en théorie des graphes Représentations dun graphe 2.Matrice dincidence sommets-arcs Place mémoire : n x m

11 1.Concepts généraux en théorie des graphes Représentations dun graphe 3.Listes dadjacence Place mémoire : n+1+m

12 1.Concepts généraux en théorie des graphes Coloration dun graphe

13

14 1.Concepts généraux en théorie des graphes Connexité dans les graphes Chaîne – Cycle Chemin – Circuit

15 1.Concepts généraux en théorie des graphes Connexité dans les graphes Le terme parcours regroupe les chemins, les chaînes, les circuits et les cycles Un parcours peut être –élémentaire : tous les sommets sont distincts –simple : tous les arcs sont distincts –hamiltonien : passe une fois et une seule par chaque sommet –eulérien : passe une fois et une seule par chaque arc –préhamiltonien : ou moins une fois par chaque sommet –préeulérien : au moins une fois par chaque arc

16 1.Concepts généraux en théorie des graphes Connexité dans les graphes Exemple –Le problème du voyageur de commerce : un voyageur de commerce doit visiter n villes données en passant par chaque ville exactement une fois et doit revenir à la ville de départ. Trouver un circuit hamiltonien de coût minimal dans un graphe valué

17 1.Concepts généraux en théorie des graphes Connexité dans les graphes Connexité

18 1.Concepts généraux en théorie des graphes Connexité dans les graphes Forte connexité

19 1.Concepts généraux en théorie des graphes G raphes particuliers Graphes sans circuit –Décomposition en niveaux Graphe biparti Graphe planaire Hypergraphe Arbre Forêt Arborescence

20 2. Le problème du plus court chemin Définition Exemples de formulation avec pcch Principe doptimalité et conditions dexistence Graphes sans circuit Graphes à valuations positives –Algorithme de Moore-Dijkstra (1959) Graphes à valuations quelconques –Contre-exemple –Algorithme de Bellman-Ford

21 2.Le problème du plus court chemin Définition

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

23 2.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 p ij : fiabilité du lien (la probabilité pour que le lien fonctionne) –La fiabilité dun 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 a ij = - log p ij

24 2.Le problème du plus court chemin Exemples Exemple 3 : Problème de sac à dos –Un sac à dos de capacité b –n objets j=1…n aj : poids de lobjet j pj : profit de lobjet j –Objectif : déterminer un sous ensemble dobjets de profit maximal respectant la capacité du sac. Maximiser j p j x j s.c. j a j x j b avec x ij = 1 si lobjet est choisi et 0 sinon

25 2.Le problème du plus court chemin Exemples Exemple 3 : Problème de sac à dos –n(b+1) sommets notés j (k), j=1,2,…,n et k=0,1,…,b –Un sommet origine s et un sommet destination t –Un sommet j (k) a deux arcs entrants (sils existent): Un arc de (j-1) (k) valué par 0 Un arc de (j-1) (k-aj) valué par pj –Deux arcs de s vers 1 (0) et 1 (a1) valués par 0 et p1 –Un arc de valuation 0 entre chaque sommet n (k) et t –Un chemin de s à j (k) correspond a un sous ensemble des j premiers objets dont le poids total est égal à k. La longueur du chemin est la valeur du sous ensemble

26 2.Le problème du plus court chemin Principe doptimalité a ij = longueur de larc (i,j) si larc existe sinon + u j : longueur du pcch de lorigine 1 vers le sommet j Equations de Bellman –u 1 =0 –u j = min {k j, u k + a kj }

27 2.Le problème du plus court chemin C ondition dexistence Condition dexistence Le graphe nadmet pas de circuit de longueur négative i j k w l(w)<0

28 2.Le problème du plus court chemin Graphes acycliques Un graphe est acyclique ssi il existe une numérotation des sommets telle quun arc existe entre i et j seulement si i < j Les équations de Bellman deviennent –u 1 =0 –u j = min {k < j, u k + a kj }

29 2.Le problème du plus court chemin Graphes à valuations positives Algorithme de Dijkstra : plus court chemin de lorigine à tous les autres sommets –Utilise des labels pour les sommets Les labels permanents représentent la valeur du pcch de lorigine jusquau 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

30 2.Le problème du plus court chemin Graphes à valuations positives Algorithme de Dijkstra Etape 0 –u 1 =0; –uj =a 1j, pour j=2,…, n –P={1}, T={2, …, n} Etape 2 (Désignation du label permanent) –Déterminer k T, tq u k =min{j T, u j } –T=T\{k} et P=P {k} –Si T=vide, stop Etape 3 (Révision des labels temporaires) –u j =min{u j, u k +a kj } pour tout j T –Aller à létape 1

31 2.Le problème du plus court chemin Graphes à valuations positives Exemple A B D C E FH G

32 2.Le problème du plus court chemin Algorithme de Dijkstra et graphes à valuations quelconques S A B C E D

33 2.Le problème du plus court chemin Graphes à valuations quelconques Algorithme de Bellman-Ford –u j (m) = longueur du pcch de 1 vers j tel que le chemin ne contient pas plus que m arcs u 1 (1) = 0 u j (1) = a 1j u j (m+1) = min{u j (m), min{k j, u k (m) + a kj }} Si le graphe ne contient pas de circuit de valeur négative alors u j = u j (n-1)

34 2.Le problème du plus court chemin Graphes à valuations quelconques Plus court chemin entre tous les couples de sommets –Algorithme matriciel de Floyd-Warshall

35 3. Le problème central de lordonnancement

36 3.Le problème central de lordonnancement Modélisation Le niveau dune tâche X est le plus grand nombre darc sur un chemin entre Début et X Début G K J H D A EF BC O L M N I Fin O NIVEAU :

37 3.Le problème central de lordonnancement Dates de début au plus tôt La date début au plus tôt dptôt(i) dune tâche i = longueur du plus long chemin de la tâche Début (ou 0) à i Formule de récurrence –dptôt(i)=max j Pred(i) (dptôt(j)+durée(j)) –dptôt(0) =0

38 3.Le problème central de lordonnancement Dates de fin au plus tard On souhaite terminer le projet au plus tard à la date D=dptôt(n+1) Date de début au plus tard de i = Date maximum à laquelle on peut exécuter i sans retarder le chantier Longueur du plus long chemin de i à Fin (ou n+1) Formule de récurrence –dptard(n+1)=D –dptard(i)=min j Succ(i) dptard(j)-durée(i)

39 3.Le problème central de lordonnancement Marges, chemin critique La marge totale dune tâche i est le retard total quon peut se permettre sur i sans remettre en cause la date de fin du projet MT(i)=dptard(i)-dptôt(i). Les tâches critiques ont une marge nulle. Tout retard sur leur exécution entraîne un retard global sur le projet Un chemin est critique sil relie Début à Fin et sil ne contient que des tâches critiques

40 4. Flots dans les réseaux Définition : Un flot dans un graphe G=(X,U) est un vecteur =[ 1, 2,…, m ] m tel que –La quantité de flot ou flux sur larc j j 0, pour tout j =1,…, m –Pour tout sommet x X, la 1ère loi de Kirchhoff est vérifiée

41 4.Flots dans les réseaux Flot dans un réseau de transport On dit que le vecteur =[ 1, 2,…, m ] est flot de E à S dans G ssi la loi de Kirshhoff est vérifiée en tout sommet de G sauf pour E et S où on a Donc, si =[ 1, 2,…, m ] est un flot dans G alors =[ 0, 1, 2,…, m ] est un flot dans G 0 =[ 0, 1, 2,…, m ] est un flot admissible dans G 0 ssi pour tout j=0,…,m, b(j) j k(j)

42 4.Flots dans les réseaux Flot dans un réseau de transport On veut acheminer un produit à partir de 3 entrepôts (1,2,3) vers 4 clients (a,b,c,d) –Quantités en stock : 45, 25, 25 –Demande des clients : 30,10, 20, 30 –Limitations en matière de transport dun entrepôt à un client abcd E a b d c S [0,10] [0,15] [0,20] [0,5] [0,10] [0,45] [0,25] [0,30] [0,10] [0,20] [0,30]

43 4.Flots dans les réseaux Exemple de flot E a b d c S [0,10], 10 [0,15], 5 [0,20], 20 [0,20], 15 [0,5], 5 [0,10], 10 [0,45], 35 [0,25], 25 [0,25], 20 [0,30], 25 [0,10], 10 [0,20], 15 [0,30], 30 Valeur du flot = 80 Ce flot est un flot complet, c-à-d, tout chemin de E à S comporte au moins un arc saturé

44 4.Flots dans les réseaux Quelques problèmes qui se posent 1.Détermination dun flot réalisable ou compatible : cest le cas où il existe des arcs u tels que b(u)>0 2.Détermination dun flot maximum Un flot complet nest pas forcément maximum Un flot maximum est forcément complet 3.Détermination dun flot maximum de coût minimum

45 4.Flots dans les réseaux Détermination dun flot maximum Principe de lalgorithme de Ford-Fulkerson 1.Construire un flot complet 2.Améliorer itérativement ce flot 1.Construire un flot complet –Examiner tous les chemins de E à S de façon systématique –Pour chaque chemin faire passer un flot égal à la capacité résiduelle minimale de ce chemin

46 4.Flots dans les réseaux Détermination dun flot maximum 2.Améliorer itérativement ce flot –Graphe décart : Soit un flot admissible sur G. Le graphe décart G e ( )=(X, Ü e ( )) est tel que Pour tout arc j U on associe deux arcs dans Ü e ( ) –j + de même sens que j et de capacité résiduelle k + (j)=k(j)- j –j - de sens opposé que j et de capacité k - (j)= j -b(j)

47 E a b d c S [0,10], 10 [0,15], 5 [0,20], 20 [0,20], 15 [0,5], 5 [0,10], 10 [0,45], 35 [0,25], 25 [0,25], 20 [0,30], 25 [0,10], 10 [0,20], 15 [0,30], 30 E a b d c S Graphe décart Un flot complet

48 4.Flots dans les réseaux Détermination dun flot maximum 2.Améliorer itérativement ce flot –Théorème : Un flot compatible est maximal ssi il nexiste pas de chemin de E à S dans G e ( ). –Principe de lamélioration Chercher un chemin de E à S dans G e ( ) Soit la plus petite capacité de –Pour j + de, augmenter j de –Pour j - de, diminuer j de

49 4.Flots dans les réseaux Détermination dun flot maximum E a b d c S Capacité minimale = Valeur du flot = 85

50 Exemples En 1736, Euler a montré que cest impossible !! retour

51

52

53

54 Références bibliographiques P. Lopez, Cours de graphes, LAAS-CNRS Ph. Vallin and D. Vanderpooten. Aide à la décision : une approche par les cas. Ellipses, Paris, M. Gondron, M. Minoux, Graphes et algorithmes, Eyrolles, Paris, 1984 C. Prins, Algorithmes de graphes, Eyrolles, Paris, 1994 Ph. Lacomme, C. Prins, M. Sevaux, Algorithmes de graphes, Eyrolles, 2003 B. Baynat, Ph. Chrétienne, …, Exercices et problèmes dalgorithmique, Dunod, 2003 E. Lawler, Combinatorial Optimization – Networks and matroids, Dover Publications, INC, 1976.


Télécharger ppt "Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou Ce transparents ont été élaborés."

Présentations similaires


Annonces Google