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

Recherche Opérationnelle Théorie des graphes: Flots dans les réseaux Recherche OpérationnelleFlots.

Présentations similaires


Présentation au sujet: "Recherche Opérationnelle Théorie des graphes: Flots dans les réseaux Recherche OpérationnelleFlots."— Transcription de la présentation:

1 Recherche Opérationnelle Théorie des graphes: Flots dans les réseaux Recherche OpérationnelleFlots

2 Le problème des flots dans les réseaux concerne la circulation de matière sur les arcs dun graphe. Parmi les nombreuses applications qui relèvent de ce problème, on trouve: les réseaux de transport de marchandises (urbains, ferroviaires ou aériens) de différents points distributeurs à différents points consommateurs ; lécoulement de liquides à lintérieur de tuyaux ; le courant dans les réseaux électriques ; linformatique à travers les réseaux de communication ; le coût de réalisation dun projet en ordonnancement ; etc. Recherche OpérationnelleFlots

3 On considère des réseaux, i.e., des graphes connexes, sans boucle et asymétriques, possédant une entrée et une sortie. Soit S = {s ij }, la matrice dincidence sommets-arcs de G(X,U), u = 1, 2,..., m. 1. Définitions et propriétés 1.1 Flot dans un réseau: Définition Un flot sur un graphe G(X,U) est un vecteur ligne ϕ = [ ϕ 1, ϕ 2,..., ϕ m] R m à m composantes et tel que : – – en tout sommet i X, la 1ère loi de Kirchhoff est vérifiée (loi de conservation aux noeuds) : ϕ j est la quantité de flot ou flux sur larc j. La 2ème condition peut également sécrire (pour i = 1 à n) : S. ϕ t =0 Recherche OpérationnelleFlots

4 1.2 Flot : Propriétés - Opérations : Soient ϕ, ϕ 1 et ϕ 2 des flots sur G(X,U) et k R+ k. ϕ est un flot. ϕ 1 + ϕ 2 est un flot. ϕ 1 - ϕ 2 est un flot si ϕ 1 ϕ 2. - Flot élémentaire: Soit un circuit élémentaire sur G (i.e., il passe au plus une fois par un sommet) et v le vecteur tel que: vi = 1 si ui vi = 0 sinon v est un flot cyclique élémentaire sur G. - Théorème (Flot élémentaire) Tout flot ϕ se décompose en une somme de flots cycliques élémentaires linéairement indépendants. ϕ = 1.V 1 + … + k.V k i 0, V i est le vecteur flot du circuit élémentaire i Recherche OpérationnelleFlots

5 Exemple: Deux Possibilités de décomposition: La première La deuxième Recherche OpérationnelleFlots

6 - Réseau de transport: Capacité Un réseau de transport est un réseau où à chaque arc u sont associés une capacité (i.e débit, tonnage,…) c u 0 ( limite supérieur pour un flux sur u: flux admissible) et éventuellement un coût d u. Un flot ϕ est admissible sur un réseau de transport si et seulement si ses flux sont admissibles, i.e. Recherche OpérationnelleFlots

7 1.3 Graphe décart : définition Soit ϕ un flot admissible sur G. Le graphe décart associé à ϕ est G e ( ϕ ) = (X,U e ( ϕ )) avec U e tel que pour tout u U, on associe deux arcs dans G e : u+ de même sens et de capacité résiduelle c + u = c u ϕ u u de sens opposé et de capacité résiduelle c u = ϕ u Le graphe décart représente la modification que lon peut faire subir au flot ϕ en lui conservant la propriété dadmissibilité. Par convention, les arcs de capacité nulle ne sont pas représentés sur le graphe. Exemple Recherche OpérationnelleFlots G( ϕ ) G e ( ϕ )

8 2. Problème du flot maximum dans un réseau de transport - Définition Soient deux sommets fictifs source (s) et puits (t) permettant de modéliser des entrées et des sorties de matières à différents sommets du graphe. G 0 (X,U 0 ) est déduit de G en rajoutant larc (t, s) appelé arc de retour du flot, noté u 0 ( U 0 =U {u 0 }): où ϕ 0 est appelé valeur du flot. Le problème du flot maximum de s à t dans G consiste à déterminer un flot ϕ dans G 0 vérifiant les contraintes de capacité et maximisant ϕ 0. Recherche OpérationnelleFlots

9 -Théorème (Ford-Fulkerson) La valeur dun flot maximum est égale à la plus petite capacité des coupes séparant s et t. -Coupe: Soit (X,X) une partition de X. On appelle coupe lensemble des arcs (x, x) (X x X) U tels que si on les enlève il ny aura plus de chemin menant de s(origine) à t (puits). La capacité de la coupe est -Circuit dincrémentation: définition Un circuit dincrémentation sur G e ( ϕ ) un circuit traversant u + 0 et pas u 0 et dont tous les arcs ont une capacité résultante non nulle. - Théorème (Circuit dincrémentation) ϕ est maximum si et seulement si G e ( ϕ ) ne contient pas de circuit dincrémentation. Recherche OpérationnelleFlots X X La coupe ci-contre est définie par la partition X={ s, a, b, c } et X={ d, e, t }. Elle comporte les arcs (a,d) (b,d) et (c,e). Sa capacité est de 6,

10 Algorithme (Ford-Fulkerson, 1956) 1 Constitution dun flot initial admissible ϕ k Construire G e ( ϕ ) - Cherche un circuit dincrémentation - Si nexiste pas, ϕ est maximum FIN 3 Soit la plus petite capacité de Pour u+, augmenter ϕ u de Pour u, diminuer ϕ u de k k + 1 Retour en 2 Recherche OpérationnelleFlots

11 Exemple Recherche OpérationnelleFlots

12 3 Problème du flot maximum à coût minimum On associe sur le graphe décart G e un coût à chaque arc : d u pour un arc u+ -d u pour un arc u Le coût total dun flot sur G est alors On recherche un flot maximum de coût minimum. Recherche OpérationnelleFlots

13 Algorithme de construction dun flot maximum à coût minimum On présente ici une méthode par augmentation de flot, à partir dun flot initial nul. Une autre approche consiste à appliquer une méthode par diminution du coût, à partir dun flot initial complet (Ford-Fulkerson 1962). ϕ est un flot à coût minimum de G, un circuit dincrémentation à coût minimum sur G e ( ϕ ) et δ sa plus petite capacité. Comme dans lalgorithme de Ford-Fulkerson, on introduit un vecteur ϕ défini par ϕ = ϕ est un flot à coût minimum sur G de valeur plus grande de δ, que celle de ϕ. Lalgorithme est identique à celui de Ford-Fulkerson pour la recherche dun flot maximum aux différences suivantes près : – ϕ + δ si u+ ; – ϕ δ si u ; – ϕ si u+, u. Recherche OpérationnelleFlots

14 Algorithme de Busacker-Gowen (1961) Etape 1. Construction dun flot initial à coût minimum (flot nul). Etape 2. Chercher un circuit dincrémentation à coût minimum z. Etape 3. La valeur du coût total est incrémentée par δ.z. Complexité : suivant les implémentations O(n 4 ), O(n 3 ) (Edmonds & Karp), O(n 2,5 )(Hopcroft & Karp). Recherche OpérationnelleFlots

15 Exemple : z=5 Recherche OpérationnelleFlots

16 Exemple : z=6 Recherche OpérationnelleFlots

17 Exemple : Flot maximum à coût minimum: flot max = 11 ; coût total = 5x5 + 2x5 + 3x6 + 1x6 = 59. Recherche OpérationnelleFlots

18 Exemple : FLOT 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 S a b d c T [0,10] [0,15] [0,20] [0,5] [0,10] [0,45] [0,25] [0,30] [0,10] [0,20] [0,30]

19 Exemple de flot S a b d c T [10,10] [5,15] [20,20] [15,20] [5,5] [10,10] [35,45] [25,25] [20,25] [25,30] [10,10] [15,20] [30,30] Valeur du flot = 80 Ce flot est un flot complet, c-à-d, tout chemin de S à T comporte au moins un arc saturé

20 Détermination dun flot maximum 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 c + (j)=c(j)- j –j - de sens opposé que j et de capacité c - (j)= j

21 S a b d c T [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

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

23 Détermination dun flot maximum 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

24 Détermination dun flot maximum S a b d c T Capacité minimale = Valeur du flot = 85

25 S a b d c T [10,10] [10,15] [20,20] [0,5] [5,5] [10,10] [40,45] [25,25] [20,25] [30,30] [10,10] [15,20] [30,30] S a b d c T Graphe décart Un flot complet PLUS DE CHEMIN entre S et T 5

26 Exercice 1 Soit le réseau de la figure ci-dessous, pour chaque chiffre entouré correspond la capacité max. de larc, l »autre indique le flux max trouvé par un étudiant pour aller de s à p: 1- Le flux trouvé par cet étudiant est-il réalisable ? 2- Donner le flux maximal entre s et p selon lalgorithme vu en cours. Vous explorez les sommets selon lordre alphabétique à chaque fois que cela sera nécessaire. Recherche OpérationnelleFlots

27

28 Exercice 2 Recherche OpérationnelleFlots


Télécharger ppt "Recherche Opérationnelle Théorie des graphes: Flots dans les réseaux Recherche OpérationnelleFlots."

Présentations similaires


Annonces Google