Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni UV RO
L’algorithme de Ford Fulkerson Proposition d’une solution Notre présentation Introduction L’algorithme de Ford Fulkerson Proposition d’une solution Notre solution… Démonstration Conclusion UV RO
Calcul du flot maximum dans un graphe Introduction 1/2 Calcul du flot maximum dans un graphe Implémentation de l’algorithme de Ford Fulkerson Cas d’utilisation : Problèmes de charge maximale admissible par des réseaux (électriques, informatiques, routiers) UV RO
Introduction 2/2 Contrainte : But pédagogique Présentation claire Résolution pas à pas Aide à la compréhension de l’algorithme UV RO
L’algorithme de Ford Fulkerson 1/6 Calcul du flot maximum Définition : Soit le graphe G(X,U) orienté, valué, connexe, anti-symétrique, sans circuit A chaque arc u on associe deux scalaires Cu capacité de l’arc u tel que Cu ≥ 0 φu le flot circulant sur u tel que φu ≤ Cu UV RO
L’algorithme de Ford Fulkerson 2/6 Principe fondamental A tout moment, la loi de Kirchhoff doit être vérifiée sur chaque sommet x de G But : Augmenter le flot jusqu’à son maximum tout en respectant cette règle UV RO
L’algorithme de Ford Fulkerson 3/6 Exemple : 1 P 2 S 3/3 1/2 2/2 Flot max : 5 UV RO
L’algorithme de Ford Fulkerson 4/6 Principe général : On part d’un flot compatible (généralement 0) On utilise deux fonctions alternativement : Procédure de marquage Procédure d’augmentation du flot UV RO
L’algorithme de Ford Fulkerson 5/6 Procédure de marquage But : trouver une chaîne améliorante Principe : Marquage des sommets selon deux critères : Delta (flot max que l’on peut faire parvenir au sommet) Sommet de provenance Algorithme : cf. cours de RO du 21/10/2002 UV RO
L’algorithme de Ford Fulkerson 6/6 Procédure d’augmentation du flot But : augmenter le flot dans le graphe selon la valeur et le marquage obtenu par la procédure de marquage Principe : Parcours du graphe du puit vers la source suivant les indications de provenance de la procédure de marquage Algorithme : cf. cours de RO du 21/10/2002 UV RO
Proposition d’une solution 1/3 Projet pédagogique sous-entend : Interface graphique claire Ergonomie Pas (trop) de contrainte de performance => Utilisation de Java UV RO
Proposition d’une solution 2/3 Un format d’archivage de graphes réutilisable : Sauvegarde des graphes selon le format XML => les graphes, définis par une dtd, sont potentiellement réutilisables par d’autres programmes Évolutions possibles : affichage web, implémentation d’autres algorithmes. UV RO
Proposition d’une solution 3/3 Un éditeur de graphe : Facilité de créer et de modifier des graphes Possibilité de faire tourner l’algorithme directement après quelques modifications sur le graphe UV RO
Notre solution… 1/6 Étapes du projet : Compréhension de l’algorithme Définition d’un modèle Codage du modèle et de l’algorithme Implémentation de l’interface graphique, de l’éditeur et de la sauvegarde XML Phase de tests UV RO
Diagramme de classes simplifié Notre solution… 2/6 Diagramme de classes simplifié UV RO
Notre solution 3/6 Menus généraux UV RO
Notre solution 4/6 L’éditeur UV RO
Le viewer lors du déroulement de l’algorithme Notre solution 5/6 Le viewer lors du déroulement de l’algorithme UV RO
L’algorithme est terminé… Notre solution 6/6 L’algorithme est terminé… UV RO
Démonstration ? UV RO
Résultat conforme à nos attentes Projet intéressant Conclusion Résultat conforme à nos attentes Projet intéressant Projet évolutif (graphes XML) QUESTIONS ? UV RO