Théorie des graphes.

Slides:



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

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
La Méthode de Simplexe Standardisation
2. Méthodes du simplexe et son analyse.
Algorithmes et structures de données avancés
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.
Modélisation par le concept de graphe
Mise à Niveau en Recherche Opérationnelle
Bloc1 : Théorie des graphes et problèmes d’ordonnancement
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Flots et réseaux de transport
Introduction à la Théorie des Graphes
Plus rapide chemin bicritère : un problème d’aménagement du territoire
Houssein ALAEDDINE Kamal SERRHINI
R.K.Ahuja & James B.Orlin (1988)
Recherche Opérationnelle
L’échange naturel Le choix individuel de Robinson l’amène à déterminer les termes d’un contrat naturel d’échange, selon lequel, en échange des quantités.
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.
Optimisation et Complexité
Algorithme de Bellman-Ford
Problème de flot à coût minimum
Structures de données IFT-2000
Modèles d’implantation
Structures de données IFT-2000
Structures de données IFT-2000
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}
IFT Complexité et NP-complétude
Problème de flot maximal dans un réseau

Algorithmes d ’approximation
Optimisation dans les réseaux
Optimisation dans les réseaux
Programmation linéaire et Recherche opérationnelle
Recherche Opérationnelle
21 février 2006Cours de graphes 2 - Intranet1 Cours de graphes Les plus courts chemins, les chemins les plus légers : à laide de la vague, à laide de la.
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
GPA750 – Gestion de Projets
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
Programmation linéaire en nombres entiers : les méthodes de troncature
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
Arbres et graphes.
REGLAGE ECONOMIQUE DES PRODUCTIONS Le réglage tertiaire.
Tutorat 7 - Introduction au Routage et OSPF
Graph cuts et applications
Programmation linéaire en nombres entiers
LE FLOT MAXIMAL et LA COUPE MINIMALE
I.A. Session 2009/2010 E.P.S.I. Bordeaux – C.S.I.I – 2 ème Année – Cours n°6.
Ceci est un graphe valué Des arcs : 1-2, 1-4, 7-10,…..
1 Licence d’informatique Algorithmique des graphes Cours 7 : Graphes valués Chemins de valeur optimale Algorithme de Bellmann-Kalaba Utilisation de ce.
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.
Exploration systématique de graphes
6. Problème de flot à coût minimum.
1/16 Chapitre 3: Représentation des systèmes par la notion de variables d’état Contenu du chapitre 3.1. Introduction 3.2. Les variables d’état d’un système.
Licence d’Informatique Algorithmique des graphes
2. Méthode du simplexe et son analyse.
Projet Théorie des graphes
Techniques d’Optimisation Chapitre 2: Problème de flôt Dr TARI Abdelkamel Mars 2014.
Cycle, Cocycle, Arbre et Arborescence
Techniques d’Optimisation Chapitre 2: Problème de flôt
Transcription de la présentation:

Théorie des graphes

Plan du cours Que peut-on faire avec la théorie des graphes ? Concepts généraux en théorie des graphes 2. Le problème du plus court chemin 3. Flots et réseaux de transport

3. Flots dans les réseaux PROBLEME DU FLOT MAXIMUM

Recherche de flots maximaux Objectif : Faire transiter la plus grande quantité (informations, marchandises, personnes) d’une source vers une destination au sein d’un réseau. Un réseau avec capacités R = (X,U,C) d’ordre n est un graphe orienté asymétrique* valué dans lequel : -1(x1) = Ø x1 est le sommet entrée (source) (xn) = Ø xn est le sommet sortie (destination) *  (xi,xj)  U  (xj,xi)  U (arc à sens unique) Notation :  (xi,xj)  U : C(xi,xj) = Cij capacité de l’arc (xi,xj)

Exemple de réseau avec capacités b [3] [7] [5] Entrée a [4] d e Sortie [2] [5] [2] c

Définition du flot réalisable Un flot F sur un réseau avec capacités R = (X,U,C) est une valuation de l’ensemble des arcs U. Le flot correspond à la quantité qui transite sur le réseau. Notation :  (xi,xj)  U : F(xi,xj) = Fij flot sur l’arc (xi,xj) Un flot F sur R = (X,U,C) est réalisable s’il satisfait les contraintes de : Capacité des arcs Le flot sur un arc ne dépasse pas la capacité de cet arc. Conservation du flux (loi de Kirchhoff) La somme des flots entrant dans un sommet est égale à la somme des flots sortant de ce sommet.

Définition du flot maximal La valeur d’un flot F sur R = (X,U,C) correspond à la quantité totale qui transite sur le réseau. La valeur du flot correspond à la somme des flots sortant de l’entrée qui est égale à la somme des flots convergeant vers la sortie (conservation du flux). Un flot F sur R = (X,U,C) est maximal si F est un flot réalisable qui maximise la valeur du flot.

Connaissant les capacités des arcs d'un réseau de transport, le problème du flot maximum consiste à trouver quelle est la quantité maximum de flot qui peut circuler de la source à la destination. L'algorithme le plus connu pour résoudre ce problème est celui de Ford et Fulkerson. Nous verrons l’approche par cette méthode qui consiste à construire un graphe "d'écart" dans lequel on recherche un chemin.

Construction du graphe d’écart Un arc (xi,xj) du réseau R = (X,U,C) est saturé par le flot F si : Fij = Cij (capacité maximale atteinte) Un arc (xi,xj) du réseau R = (X,U,C) est antisaturé par F si : Fij = 0 (flot inexistant) A partir du réseau R = (X,U,C) et d’un flot F, on peut construire le graphe d’écart G = (X,F(U),E) qui traduit les augmentations ou diminutions possibles du flot F dans le réseau.  (xi,xj)  U : Si Fij < Cij (non saturé) alors (xi,xj)  F(U) , Eij = Cij-Fij (augmentation) Si Fij > 0 (non antisaturé) alors (xj,xi)  F(U) , Eji = Fij (diminution)

Exemple de graphe d’écart b b 3 [3] 2 5 [7] 3 5 a 2 [4] d a 2 2 d 1 4 [5] 2 [2] 2 4 c c Réseau R = (X,U,C) Graphe d’écart G = (X,F(U),E)

Construction d’un flot maximal Algorithme de Ford-Fulkerson Initialisation du flot F : Fij = 0 (arcs antisaturés) Fin = FAUX Tant que NON Fin Construction du graphe d’écart G = (X,F(U),E) Recherche d’un chemin C dans G depuis l’entrée vers la sortie Si C existe Alors Calcul de l’augmentation Affectation de l’augmentation Sinon Fin = VRAI

ALGORITHME DE FORD-FULKERSON, GRAPHE D'ECART on part d'un flot compatible. Ensuite, on construit un graphe d'écart à partir de ce flot. Ce graphe d'écart représente les modifications de flot possibles sur chaque arc. Sur ce graphe, les noeuds ont exactement la même signification que dans le réseau de transport. Par contre, un arc indiquera de combien il est possible d'augmenter le flot entre deux noeuds. Ainsi, pour un arc u = (x;y), on créera dans le graphe d'écart: un arc de x à y de capacité c'((x;y)) = c(u) - f(u) si c(u) > f(u), un arc de y à x de capacité c'((y;x)) = f(u) si f(u)> 0. Ensuite, dans ce graphe d'écart, on cherchera un chemin de l’entrée à la sortie. Si on n'en trouve pas, le problème est résolu. Sinon, on augmente le flot sur ce chemin. Le flot sera augmenté de la plus petite capacité des arcs du chemin. Autrement dit, le chemin C sera augmenté de: min{c'(u) | u étant sur le chemin C}

Exemple : réseau et graphe d’écart correspondant

(A,B,C,D,F,G) est un chemin pour aller de A à G (A,B,C,D,F,G) est un chemin pour aller de A à G. On peut augmenter le flot de: 2 entre A et B, 3 entre B et C,1 entre C et D,4 entre D et F, 2 entre F et G. On augmentera donc le flot de 1 sur ce chemin, ce qui signifie: augmenter de 1 entre A et B,réduire de 1 entre C et B,augmenter de 1 entre C et D,augmenter de 1 entre D et F,augmenter de 1 entre F et G.

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

3. Flots dans les réseaux Exemple de flot 1 2 3 a b d c S [0,10], 10 [0,15], 5 [0,20], 20 [0,20], 15 [0,5], 5 [0,45], 35 [0,25], 25 [0,25], 20 [0,30], 25 [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é

3. Flots dans les réseaux Problèmes Détermination d’un flot réalisable ou compatible Détermination d’un flot maximum

3. Flots dans les réseaux Détermination d’un flot maximum Principe de l’algorithme de Ford-Fulkerson Construire un flot complet Améliorer itérativement ce flot 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