Licence d’Informatique Algorithmique 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
Théorie des graphes.
La Couche Réseau.
Algorithmes et structures de données avancées Cours 7
Modèle des jeux et des mécanismes
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
Définition : ordonnancement o Lordonnancement répartit lensemble des fonctions dans des étapes de contrôle en vérifiant un ensemble de contraintes. o lenchaînement.
LES GRAPHES.
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
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
En management de Projet
LA RECONFIGURATION DES PROCESSUS
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é
Théorie des graphes Un peu de vocabulaire.
Le problème de sécurisation multicouche avec capacités du réseau IP
Algorithme de Bellman-Ford
Problème de flot à coût minimum
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


1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Algorithmes d ’approximation
PROBLEMES DE DEGRE-DIAMETRE DE GRAPHES DANS LE CAS GENERAL
Optimisation dans les réseaux
Programmation linéaire et Recherche opérationnelle
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
GPA750 – Gestion de Projets
Pour le chemin le plus court pour tous les couples
Arbres et graphes.
1 Licence d’informatique Algorithmique des graphes Cours 3 deuxième partie : Opérations et relations entre graphes. Composition, puissances. Utilisation.
On cherche le plus court chemin de E à S sur le graphe suivant :
Graph cuts et applications
Licence Informatique Algorithmique des graphes
LE FLOT MAXIMAL et LA COUPE MINIMALE
Ceci est un graphe valué Des arcs : 1-2, 1-4, 7-10,…..
1 Licence d’informatique Algorithmique des graphes Exploration de la descendance d’un sommet Utilisation de ce document strictement réservée aux étudiants.
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.
La stabilité verticale
6. Problème de flot à coût minimum.
1 Licence d’informatique Algorithmique des graphes Utilisation de ce document strictement réservée aux étudiants de l ’IFSIC dans le cadre de leur formation.
Point Presse Le Développement de l’Internet Haut Débit en France
Optimisation et Complexité 2012 CHEUCLE Pierre ODIER Valentin WAKIM Marie Résoudre un problème de flot par les algorithmes de Bloch et Ford-Fulkerson.
Réseaux de Petri et suivi du joueur
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
Chapitre 3 Problèmes de Cheminement
Techniques d’Optimisation Chapitre 2: Problème de flôt
Aa. b b c a.
Transcription de la présentation:

Licence d’Informatique Algorithmique des graphes Flots sur les réseaux de transport

Flots sur les réseaux de transport Exemple : problème d’approvisionnement Sites fournisseurs A1 A2 An ... Quantités disponibles a1 a2 an ... Sites demandeurs B1 B2 Bp ... Quantités demandées b1 b2 bp ...

(quantité maximum qui peut Sites fournisseurs A1 A2 ... An Quantités disponibles a1 a2 an ... Sites demandeurs B1 B2 ... Bp Quantités demandées b1 b2 bp ... Réseau d’acheminement : graphe Contraintes d’acheminement : capacités A1 A2 An B1 B2 Bp (quantité maximum qui peut emprunter l’arc) c

Réseau d’acheminement : graphe Sites fournisseurs A1 A2 ... An a1 a2 ... an Quantités disponibles Sites demandeurs B1 B2 ... Bp b1 b2 ... bp Quantités demandées Réseau d’acheminement : graphe Prise en compte des données ai et bj A1 A2 An B1 B2 Bp a1 b1 a2 e b2 s an c bp

Réseau de transport G = ( X  {e}  {s}, G, c) A1 A2 An B1 B2 Bp a1 b1

Flot sur un réseau de transport Conditions de conservation du flux en chaque nœud  e, s Fonction  : G  N x E(x) S(x) A1 A2 An B1 B2 Bp a1 b1 a2 e b2 s an c bp

Flot sur un réseau de transport Conditions de conservation du flux en chaque nœud  e, s Fonction  : G  N E(x) = S(x) Compatible: Valeur du flot : A1 A2 An B1 B2 Bp a1 b1 a2 e b2 s an c bp

Flot sur un réseau de transport Conditions de conservation du flux en chaque nœud  e, s Fonction  : G  N E(x) = S(x) Compatible: Valeur du flot : A1 B1 a1 b1 A2 B2 a2 e b2 s Un flot compatible représente un approvisionnement possible an c bp An Bp

Exemple Un flot compatible représente un approvisionnement possible 1 2 3 4 5 6 s Flot de valeur 5 1 4 2 2 2 2 e 2 5 s 2 2 3 6 1 Un flot compatible représente un approvisionnement possible

Flot sur un réseau de transport Conditions de conservation du flux en chaque nœud  e, s Fonction  : G  N E(x) = S(x) Compatible: Valeur du flot : Problème : calculer un flot - compatible - de valeur maximale Un flot compatible représente un approvisionnement possible

Résultats fondamentaux Proposition 1 (théorème des flux) e s A

Résultats fondamentaux Proposition 1 (théorème des flux) Démonstration de i) y A z x

Résultats fondamentaux Proposition 1 (théorème des flux) Démonstration de i)

Résultats fondamentaux Proposition 1 (théorème des flux) Démonstration de i)

Résultats fondamentaux Proposition 1 (théorème des flux) Démonstration de i) Arcs « internes » x A y z x

Résultats fondamentaux Proposition 1 (théorème des flux) Démonstration de i)

Résultats fondamentaux Proposition 1 (théorème des flux) Démonstration de ii) A e A ’=A-{e} Sort de A’ (et donc de A) Sort de A, mais pas de A’

Résultats fondamentaux Proposition 1 (théorème des flux) Démonstration de ii) A e A ’=A-{e} Entre dans A’ , mais pas dans A Entre dans A’ (et donc dans A)

Résultats fondamentaux Proposition 1 (théorème des flux) Démonstration de ii)

Résultats fondamentaux Proposition 1 (théorème des flux) Démonstration de ii)

Résultats fondamentaux Notion de coupe Tout chemin de e à s emprunte au moins un arc de la coupe e s A L’ensemble des arcs sortant de A, noté GS(A), constitue une coupe du réseau.

Résultats fondamentaux Notion de coupe Tout chemin de e à s emprunte au moins un arc de la coupe e s A La suppression des arcs d ’une coupe déconnecte le réseau L’ensemble des arcs sortant de A, noté GS(A), constitue une coupe du réseau.

Résultats fondamentaux Lemme de Ford-Fulkerson Démonstration

Résultats fondamentaux Lemme de Ford-Fulkerson Interprétation concrète e s Tout chemin de e à s emprunte au moins un arc de la coupe A Toute coupe constitue une « limitation » du flux sortant de A

Résultats fondamentaux Lemme de Ford-Fulkerson DUALITÉ : Si on trouve un couple , A tel que alors:  est de valeur maximum, et GS(A) est de capacité minimum (goulot d’étranglement)

Algorithme de Ford-Fulkerson Invariant :  est un flot compatible, A est un ensemble de sommets « marqués », avec e A (procédure marquage()) Arrêt : s A  GS(A) est une coupe de capacité minimum, et  est un flot compatible de valeur maximum Progression :   amélioration de  (procédure amélioration(, A))

Exemple Construction d’un flot compatible initial 1 1 4 2 1 1 2 2 2 e 5 s 2 2 3 6 1

Exemple Construction d’un flot compatible initial 1 1 4 2 2 1 1 1 2 2 5 s 2 2 3 6 1

Exemple Construction d’un flot compatible initial 1 1 4 2 2 1 1 1 2 2 5 s 2 2 3 6 1

Exemple Construction d’un flot compatible initial 1 1 4 2 2 1 1 1 2 2 5 s 2 2 3 6 1

Exemple Construction d’un flot compatible initial 1 1 4 2 2 1 1 1 2 2 5 s 2 1 1 2 3 6 1 1

Exemple Flot de valeur 5 Construction d’un flot compatible initial 1 1 4 2 2 1 2 2 1 2 2 1 2 2 e 2 5 s 2 1 1 2 3 6 1 Flot de valeur 5 1

Exemple Mais : Flot de valeur 5 1 Construction d’un flot compatible initial 1 1 4 2 2 1 2 2 1 2 2 1 2 2 e 2 5 s 2 1 1 2 3 6 1 Flot de valeur 5 Ce flot est complet : tout chemin est saturé Mais : Est-il de valeur maximale?

Exemple 1. Le sommet e est « marqué » Comment essayer d’augmenter la valeur de ce flot ? 1 1 4 2 2 1 2 2 1 2 2 1 2 2 e 2 5 s + +3 2 1 1 2 3 6 +e 1 1. Le sommet e est « marqué » 3. L’unité peut repartir vers 5 (marqué +3) 2. Une nouvelle unité peut partir de e vers 3 (marqué +e)

Exemple Comment cette unité peut-elle repartir de 5? 1 Comment essayer d ’augmenter la valeur de ce flot ? -5 1 1 4 2 2 1 2 2 1 2 2 1 2 2 e 2 5 s + +3 2 1 1 2 3 6 +e 1 Comment cette unité peut-elle repartir de 5? Pas en allant vers s (l’arc (5,s) est saturé) Mais en diminuant le flux d’entrée depuis 1 ou 2  1 et 2 sont marqués -5

Exemple 1 Comment essayer d ’augmenter la valeur de ce flot ? -5 1 1 4 2 2 1 2 2 1 2 2 1 2 2 e 2 5 s + +3 2 1 1 2 3 6 +e 1 Si 2 diminue son flux vers 5, il peut compenser en augmentant vers 6 Si 1 diminue son flux vers 5, pas de rééquilibrage possible Mais en diminuant le flux d’entrée depuis 1 ou 2  1 et 2 sont marqués -5

Exemple 1 Comment essayer d ’augmenter la valeur de ce flot ? -5 1 1 4 2 2 1 2 2 1 2 2 1 2 2 e 2 5 s + +3 2 1 1 2 3 6 +e 1 +2 Si 2 diminue son flux vers 5, il peut compenser en augmentant vers 6 Si 1 diminue son flux vers 5, pas de rééquilibrage possible  6 est marqué +2

Exemple L ’unité arrivant en 6 peut repartir vers s  s est marqué +6 1 Comment essayer d ’augmenter la valeur de ce flot ? -5 1 1 4 2 2 1 2 2 1 2 2 1 2 2 e 2 5 s + +3 +6 2 1 1 2 3 6 +e 1 +2 L ’unité arrivant en 6 peut repartir vers s  s est marqué +6 ON PEUT DONC AUGMENTER LA VALEUR DE CE FLOT

Algorithme de Ford-Fulkerson Procédure de marquage e est marqué (+) Soit x marqué marquer (+x) tout successeur y non marqué tel que (x,y) est non saturé (x,y)<c(x,y) marquer (-x) tout prédécesseur z non marqué tel que (z,x) est chargé (z,x)>0 Arrêt lorsque: s est marqué  flot non maximum, ou plus de sommet à marquer  flot maximum

Procédure d’amélioration (-5) 1 1 4 2 2 1 2 2 1 2 2 1 2 2 e 2 5 s (-5) (+3) (+) (+6) 2 1 1 2 3 6 (+e) 1 (+2) 1 e 3 5 2 6 s +1 +1 -1 +1 +1

Procédure d’amélioration 1 1 4 2 2 1 2 2 1 2 2 1 2 2 e 2 5 s 1 2 1 1 2 2 3 6 1 1 e 3 5 2 6 s +1 +1 -1 +1 +1

Procédure d’amélioration 1 1 4 2 2 1 2 2 1 2 2 1 2 2 e 2 5 s 1 2 1 1 1 2 2 2 3 6 1 1 e 3 5 2 6 s +1 +1 -1 +1 +1

Flot de valeur 6 Procédure d’amélioration 1 1 4 2 2 1 2 2 1 2 2 1 2 2 2 2 e 2 5 s 1 2 1 1 1 2 2 2 3 6 1 Flot de valeur 6 1 e 3 5 2 6 s +1 +1 -1 +1 +1