La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Algorithmes de Bloch et Ford Fulkerson Florent DELAHAYE Christophe DE BATZ Thibault LE BRAS Groupe B.

Présentations similaires


Présentation au sujet: "Algorithmes de Bloch et Ford Fulkerson Florent DELAHAYE Christophe DE BATZ Thibault LE BRAS Groupe B."— Transcription de la présentation:

1 Algorithmes de Bloch et Ford Fulkerson Florent DELAHAYE Christophe DE BATZ Thibault LE BRAS Groupe B

2 Sommaire Introduction Présentation du sujet Étapes Graphe dexemple Première étape: Bloch Algorithme Seconde étape: Ford-Fulkerson Algorithme Conclusion

3 Présentation du sujet Première étape: A partir du flot nul (Flot = 0), nous devons pouvoir être capable de trouver un flot complet par lalgorithme de Bloch. Seconde étape: A partir du flot trouvé à la première étape, notre programme devra être capable de trouver un flot maximal par lalgorithme de Ford-Fulkerson.

4 Introduction Langage utilisée: C++ Orienté objet modularité du code et clarté STL gain de temps Bas niveau rapide et robuste Fonctionnalités du programme Rechercher un flot complet. Rechercher un flot maximal à partir dun flot complet. Vérifier si le flot complet était maximal. Traiter le cas des graphes avec circuit. Structures utilisées La classe Graph La classe Arc

5 Graphe dexemple

6 Algorithme de Bloch Apparence dans la console: 1 ére étape: 2 éme étape: etc.

7 Bloch : principe général Initialiser le Flot par addition des flots des arcs dentrée Marqué comme saturer les chemins où Flots = Capacité Les chemins saturés ne sont pas empruntables. Etablir un chemin (Relier point dentrée à point de sortie) Choisir le prochain sommet disponible dans lordre alphabétique Les arcs ne sont pas empruntable dans le sens contraire Les sommets parcourus sont enregistrés et vérifié à chaque recherche du sommet suivant afin déviter les boucles. Calculer la différence flot / Capacité de chaque arc du chemin Prendre le minimum de ces valeurs, le stoker dans un entier α Ajouter α au flot de chaque arc du chemin. Ajouter α au flot initial Recommencer à létape 2 jusquà ce quil ny ai plus de chemin entre le point dentrée et le point de sortie du graphe.

8 Algorithme de Bloch Graphe du flot complet Résultat en console

9 Algorithme de Ford -Fulkerson

10 Ford –Fulkerson : principe général 1 : Trouver un chemin A partir du point dentrée, prendre prochain sommet dispo dans lordre alphabétique. Prochains sommets dispo = Arcs sortant non-saturés (donc tant que flot capacité) + Arcs entrant non nuls (donc tant que flot 0) A chaque arc parcouru, Marquer si larc est parcouru dans le bon sens ou dans le sens inverse. enregistrer des valeurs : La différence flot/capacité pour les arcs parcourus dans le bon sens. Le flot pour les arcs parcourus dans le sens inverse. 2 : Quand le chemin a été trouvé (Point dentré du graphe relié au point de sortie) Prendre le minimum des Ajouter aux flots des arcs marqués dans le bon sens Soustraire aux flots des arcs marqués dans le sens inverse Ajouter à lint représentant le flot complet/max (1) Continuer lalgorithme tant quun chemin est possible entre le point dentré et le point de sortie.

11 Algorithme de Ford -Fulkerson Apparence dans la console: 1ére étape :

12 Algorithme de Ford -Fulkerson Graphe du flot maximal Console

13 Conclusion Un problème de réseau peut toujours être optimisé. Problématiques dapparences simples mais qui mettent en jeu de réels algorithmes. Prise en charge des circuits dans Bloch Les applications de cette recherche opérationnelle sont multiples travail concret ! Problématique routière, réseaux informatiques, urbanisme

14 Merci de nous avoir écouté


Télécharger ppt "Algorithmes de Bloch et Ford Fulkerson Florent DELAHAYE Christophe DE BATZ Thibault LE BRAS Groupe B."

Présentations similaires


Annonces Google