Slides:



Advertisements
Présentations similaires
7. Probème de flot à coût minimum.
Advertisements

Mais vous comprenez qu’il s’agit d’une « tromperie ».
Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni UV RO.
Introduction à la Théorie des graphes
La recherche de chemin optimal
Théorie des graphes.
Connexité.
Parcours.
Graphes et Applications Thème de léquipe « Combinatoire et Algorithmique » LaBRI – janvier 2008.

Introduction à la Théorie des graphes
UMLV 1 Problème G = (S, A) graphe (orienté) Calculer H = (S, B) où B est la clôture réflexive et transitive de A. Note : (s,t) B ssi il existe un chemin.
Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut.
Mise à Niveau en Recherche Opérationnelle
LES GRAPHES.
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Chap. 1 INTRODUCTION Beaucoup de problèmes de la vie courante, tels la gestion de réseaux de communication ou l'ordonnancement de tâches, correspondent.
Flots et réseaux de transport
Plus rapide chemin bicritère : un problème d’aménagement du territoire
Houssein ALAEDDINE Kamal SERRHINI
R.K.Ahuja & James B.Orlin (1988)
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Algorithmes Branch & Bound
Calcul des réseaux en charge
Optimisation et Complexité
Plan d’expérience dynamique pour la maximisation
Algorithme de Bellman-Ford
Problème de flot à coût minimum
Modèles d’implantation
7. Problème de flot à coût minimum.
Démo 10 - #2 En détails… Au début, tous les sommets sauf la source (1) sont dans T: S = {1}; T ={2,3,4,5,6}
Problème de flot maximal dans un réseau




Algorithmes d ’approximation
Optimisation dans les réseaux
Optimisation dans les réseaux
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Programmation linéaire et Recherche opérationnelle
Recherche Opérationnelle
23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.
DONG Xiaoguang HONG Liang OULDBABA Fadel WANG Min
Programmation dynamique
Atelier de formation : MAT optimisation II (les graphes).
8INF8061 Conception et analyse des algorithmes Comment comparer deux problèmes?
Pour le chemin le plus court pour tous les couples
Structures de données IFT-2000 Abder Alikacem Arbres de recouvrement minimum Département dinformatique et de génie logiciel Édition Septembre 2009 JFK.

MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
I MAGIS est un projet commun CNRS - INPG - INRIA - UJF iMAGIS-GRAVIR / IMAG Optimisation à base de flot de graphe pour l'acquisition d'informations 3D.
Coupes efficaces pour la relaxation lagrangienne
Calcul des réseaux en charge
Tutorat 7 - Introduction au Routage et OSPF
Graph cuts et applications
Algorithmes Branch & Bound
LE FLOT MAXIMAL et LA COUPE MINIMALE
Ceci est un graphe valué Des arcs : 1-2, 1-4, 7-10,…..
Licence d’informatique Algorithmique des graphes
Université Pierre et Marie Curie Laboratoire d’Informatique de Paris VI Département ASIM Analyse et résultats sur le dimensionnement des mémoires pour.
6. Problème de flot à coût minimum.
Licence d’Informatique Algorithmique des graphes

Algorithme de DIJKSTRA
Projet Théorie des graphes
Techniques d’Optimisation Chapitre 2: Problème de flôt Dr TARI Abdelkamel Mars 2014.
Techniques d’Optimisation Chapitre 2: Problème de flôt
UMLV ã Plus courts chemins Toutes paires d'états
Transcription de la présentation:

Graphe orienté valué G = (S, A, c) c(p, q) : capacité de l’arc (p, q) UMLV ã Réseaux de transport source s puits t Graphe orienté valué G = (S, A, c) c(p, q) : capacité de l’arc (p, q) f(p, q) : débit ou flot de l’arc (p, q) Exemples Canalisations hydrauliques Pipe-lines Voies de circulation Transports de marchandises, Réseau de communication

Capacité c : S x S  R avec c(p, q)  0 et si (p, q)  A c(p, q) = 0 UMLV ã Conditions Capacité c : S x S  R avec c(p, q)  0 et si (p, q)  A c(p, q) = 0 Flot f : S x S ® R source s Î S, puits t Î S Accessiblité tous les sommets sont sur un chemin de s à t Contrainte de capacité pour tous p, q Î S f (p, q)  c (p, q) c(p, q) f (p, q)

pour tous p, q Î S f (q, p) = - f (p, q) 17 -17 p q p q UMLV ã Conditions (suite) Anti-symétrie pour tous p, q Î S f (q, p) = - f (p, q) 17 -17 p q p q flot direct flot prélevable Conservation du flot pour tout p Î S \ {s,t }  (f (p, q) | q Î S ) = 0 3 5 8 7 9 p

pour tout q Î S  (f (p, q) | p Î S ) = 0 UMLV ã Flot source s puits t Valeur du flot | f | =  (f (s, q) | q Î S ) ce qui part de la source Propriétés pour tout p Î S f (p, p) = 0 pour tout q Î S  (f (p, q) | p Î S ) = 0 | f | =  (f (p, t) | p Î S ) ce qui arrive au puits

Listes des successeurs avec capacités et flots Graphique UMLV ã Représentations Matrices d ’adjacence matrice des capacités matrice des flots Listes des successeurs avec capacités et flots Graphique p q flot / capacité

Graphe orienté valué G = (S, A, c) Calculer le flot maximum, UMLV ã Problème Graphe orienté valué G = (S, A, c) Calculer le flot maximum, i.e. un flot f dont la valeur est maximale source s A F E D C B 6 8 3 A F E D C B 6/6 5/8 0/3 2/3 3/3 8/8 3/6 capacités un flot maximal ? | f | = 11 puits t

Méthode de Ford et Fulkerson UMLV ã Méthode de Ford et Fulkerson 1 initialiser le flot f à 0 ; 2 tant qu'il existe un chemin de s à t sous-utilisé faire augmenter le flot f sur ce chemin ; 3 retour le flot f Théorème si tout chemin (s, …, p, q, …, p’, q’, …, t) possède un arc avant plein, f (p, q) = c (p, q), ou un arc arrière vide, f (q’, p’) = 0, alors le flot est maximum

A F E D C B A F E D C B ABDF sous-utilisé augmentation UMLV ã Exemple A F E D C B 0/6 0/8 0/3 A F E D C B 6/6 0/8 0/3 6/8 0/6 ABDF sous-utilisé augmentation du flot sur ABDF | f | = 0 | f | = 6

A F E D C B A F E D C B ACEF sous-utilisé augmentation UMLV ã Exemple (suite) A F E D C B 6/6 0/8 0/3 6/8 0/6 A F E D C B 6/6 3/8 0/3 3/3 6/8 3/6 ACEF sous-utilisé augmentation du flot sur ACEF | f | = 6 | f | = 9

A F E D C B A F E D C B ACDF sous-utilisé augmentation UMLV ã Exemple (suite) A F E D C B 6/6 3/8 0/3 3/3 6/8 3/6 A F E D C B 6/6 5/8 0/3 2/3 3/3 8/8 3/6 ACDF sous-utilisé augmentation du flot sur ACDF | f | = 9 | f | = 11

A F E D C B A F E D C B ACDBEF sous-utilisé augmentation UMLV ã Exemple (suite) A F E D C B 6/6 5/8 0/3 2/3 3/3 8/8 3/6 A F E D C B 6/6 6/8 1/3 3/3 5/6 8/8 4/6 ACDBEF sous-utilisé augmentation du flot sur ACDBEF | f | = 11 | f | = 12 maximum

Le nombre d’itérations dépend du choix des chemins UMLV ã Exemple Le nombre d’itérations dépend du choix des chemins B D C A 2/1000 1/1000 1/1 B D C A 1000/1000 0/1 augmentations chemins augmentations chemins 1 ABCD 1000 ABD 1 ACBD 1000 ACD 1 ABCD flot maximum etc.

Pour augmenter le flot : choisir le plus court chemin sous-utilisé UMLV ã Stratégie 1 Pour augmenter le flot : choisir le plus court chemin sous-utilisé Théorème le calcul du flot maximum obtenu avec cette stratégie nécessite l'examen de moins de cardS.cardA chemins.

Pour augmenter le flot : UMLV ã Stratégie 2 Pour augmenter le flot : choisir le chemin qui a la plus forte capacité disponible [augmentation maximum du flot à cette itération] Choix du chemin : problème dual du plus court chemin de s à t Réalisation : en utilisant une file de priorité sur les sommets

(X, Y) coupure de G = (S, A, c) : UMLV ã Coupure s A F E D C B 6/6 6/8 1/3 3/3 5/6 8/8 4/6 (X, Y) coupure de G = (S, A, c) : (X, Y) partition de S avec s Î X, t Î Y capacité c(X, Y) =  ( c(x, y) | x Î X, y Î Y ) flot f (X, Y) =  ( f (x, y) | x Î X, y Î Y ) X Y t | f | = 12 X = {A,B,C,D} Y = {E,F} c(X,Y) = 14 f (X,Y) = 12

Propriétés (X,Y) coupure 1 f (X,Y) = | f | 2 f (X,Y) £ c(X,Y) UMLV ã Propriétés (X,Y) coupure 1 f (X,Y) = | f | 2 f (X,Y) £ c(X,Y) Le flot maximum est borné par le minimum des capacités des coupures 3 f est un flot maximal ssi | f | = c(X',Y') pour une coupure (X',Y')

(X’,Y’) de capacité minimale f (X’,Y’) = 12 flot maximum X’ UMLV ã Coupure optimale s A F E D C B 6/6 6/8 1/3 3/3 5/6 8/8 4/6 X’ = {A,C} Y’ = {B,D,E,F} c(X’,Y’) = 12 (X’,Y’) de capacité minimale f (X’,Y’) = 12 flot maximum X’ Y’ t | f | = 12