html5-img
1 / 28

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

Recherche Opérationnelle Flots. Recherche Opérationnelle Théorie des graphes: Flots dans les réseaux. Recherche Opérationnelle Flots. Le problème des flots dans les réseaux concerne la circulation de matière sur les

aviva
Télécharger la présentation

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

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. Recherche Opérationnelle Flots Recherche Opérationnelle Théorie des graphes: Flots dans les réseaux

  2. Recherche Opérationnelle Flots • Le problème des flots dans les réseaux concerne la circulation de matière sur les • arcs d’un 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 à l’intérieur de tuyaux ; • le courant dans les réseaux électriques ; • l’informatique à travers les réseaux de communication ; • le coût de réalisation d’un projet en ordonnancement ; • etc.

  3. Recherche Opérationnelle Flots 1. Définitions et propriétés 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 = {sij}, la matrice d’incidence sommets-arcs de G(X,U), u = 1, 2, . . . , m. 1.1 Flot dans un réseau: Définition Un flot sur un graphe G(X,U) est un vecteur ligne ϕ= [ϕ1, ϕ2, . . . , ϕm] Rmà 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 fluxsur l’arc j. La 2ème condition peut également s’écrire (pour i = 1 à n) : S.ϕt=0

  4. Recherche Opérationnelle Flots • 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.V1 + … + k .Vki ≥ 0, Viest le vecteur flot du circuit élémentaire i

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

  6. Recherche Opérationnelle Flots • 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,…)cu ≥ 0 ( limite supérieur pour un flux sur u: flux admissible) et éventuellement un coût du. Un flot ϕ est admissible sur un réseau de transport si et seulement si ses flux sont admissibles, i.e.

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

  8. Recherche Opérationnelle Flots 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. G0(X,U0) est déduit de G en rajoutant l’arc (t, s) appelé arc de retour du flot, noté u0 ( U0=U  {u0}): où ϕ0 est appelé valeur du flot. Le problème du flot maximum de s à t dans G consiste à déterminer un flot ϕdans G0 vérifiant les contraintes de capacité et maximisant ϕ0.

  9. Recherche Opérationnelle Flots • Circuit d’incrémentation: définition • Un circuit d’incrémentation sur Ge(ϕ ) 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 d’incrémentation) • ϕ est maximum si et seulement si Ge(ϕ ) ne contient pas de circuit d’incrémentation. • Coupe: • Soit (X′,X′′) une partition de X. On appelle coupe l’ensemble des arcs (x′, x′′)  (X′ x X′′)  U tels que si on les enlève il n’y aura plus de chemin menant de s(origine) à t (puits). • La capacité de la coupe est 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, • Théorème (Ford-Fulkerson) • La valeur d’un flot maximum est égale à la plus petite capacité des coupes séparant s et t.

  10. Recherche Opérationnelle Flots Algorithme (Ford-Fulkerson, 1956) 1 Constitution d’un flot initial admissible ϕ k ← 0 2 - Construire Ge (ϕ ) - Cherche un circuit d’incrémentation  - Si  n’existe 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

  11. Recherche Opérationnelle Flots Exemple

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

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

  14. Recherche Opérationnelle Flots Algorithme de Busacker-Gowen (1961) Etape 1. Construction d’un flot initial à coût minimum (flot nul). Etape 2. Chercher un circuit d’incré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(n4), O(n3) (Edmonds & Karp), O(n2,5)(Hopcroft & Karp).

  15. Recherche Opérationnelle Flots Exemple : z=5 z=5

  16. Recherche Opérationnelle Flots Exemple : z=6 z=6

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

  18. a [0,10] [0,20] [0,30] 1 [0,15] [0,45] [0,5] [0,10] b [0,25] S 2 T [0,20] [0,5] [0,25] c [0,10] 3 [0,20] [0,30] [0,10] d Exemple : FLOTFlot 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 d’un entrepôt à un client

  19. a [10,10] 1 [15,20] [25,30] [5,15] [35,45] [10,10] b [5,5] [25,25] S 2 T [15,20] [5,5] [20,25] c [10,10] 3 [20,20] [30,30] [10,10] d Exemple de flot 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 d’un flot maximum Améliorer itérativement ce flot • Graphe d’écart : Soit  un flot admissible sur G. Le graphe d’écart Ge()=(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. a [0,10], 10 [0,30], 25 [0,20], 15 1 [0,45], 35 [0,15], 5 [0,10], 10 [0,5], 5 b [0,25], 25 S 2 T [0,5], 5 c [0,20], 15 [0,10], 10 [0,25], 20 3 [0,20], 20 [0,30], 30 [0,10], 10 d

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

  23. Détermination d’un flot maximum Améliorer itérativement ce flot • Théorème : Un flot  compatible est maximal ssi il n’existe pas de chemin de E à S dans Ge(). • Principe de l’amélioration • Chercher un chemin  de E à S dans Ge() • Soit  la plus petite capacité de  • Pour j+ de , augmenter j de  • Pour j- de , diminuer j de 

  24. 30 20 5 5 0 0 40 10 0 5 Détermination d’un flot maximum 25 10 a 15 5 5 10 1 10 35 5 b 10 25 5 5 S 2 T 5 15 5 c 10 20 20 3 30 10 d Valeur du flot = 85 Capacité minimale  = 5

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

  26. Recherche Opérationnelle Flots Exercice 1 Soit le réseau de la figure ci-dessous, pour chaque chiffre entouré correspond la capacité max. de l’arc, 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 l’algorithme vu en cours. Vous explorez les sommets selon l’ordre alphabétique à chaque fois que cela sera nécessaire.

  27. Recherche Opérationnelle Flots Exercice 2

More Related