Optimisation et Complexité

Slides:



Advertisements
Présentations similaires
Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni UV RO.
Advertisements

Introduction à la Théorie des graphes
La recherche de chemin optimal
Théorie des graphes.
Accélération du Rendu Volumique basée sur la Quantification des Voxels
EXERCICE 2.1 : APRES AVOIR DEMANDE LA SAISIE DUN NOMBRE POSITIF (ERREUR DE SAISIE A TRAITER). AFFICHER LE DECOMPTE EN PARTANT DE CE NOMBRE JUSQUÀ ARRIVER.
? ? En mémoire vive : I NB ALGORITHME EXERCICE 4 ETAPE 2 DEBUT
Introduction à la Théorie des graphes
GEF 243B Programmation informatique appliquée
Les Algorithmes de tri.
Modélisation par le concept de graphe
Mise à Niveau en Recherche Opérationnelle
Cours S.S.I., SI1, avril 2007 – Comment utiliser les outils déjà présentés. Page 1 Comment utiliser les outils déjà présentés dans le cours S.S.I. et pourquoi.
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Plus rapide chemin bicritère : un problème d’aménagement du territoire
R.K.Ahuja & James B.Orlin (1988)
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Apprentissage du jeu de morpion
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.
Algorithmique et Programmation
Algorithmique et structure de données
Algorithme de Bellman-Ford
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}
Les listes chaînées par Frédérick Henri.
IFT Complexité et NP-complétude
Problème de flot maximal dans un réseau


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.
DONG Xiaoguang HONG Liang OULDBABA Fadel WANG Min
Pour le chemin le plus court pour tous les couples
Apérisentation Sur les graphes évolutifs Mardi 22 novembre 16h30.
ALGORITHME DE TRI Le tri par insertion.
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
Arbres et graphes.
Les Entiers Relatifs La règle des entiers relatifs
GRAPHES EN INFORMATIQUE. INTRODUCTION Les objets mathématiques appelés graphes apparaissent dans de nombreux domaines comme les mathématiques, la biologie,
On cherche le plus court chemin de E à S sur le graphe suivant :
Graph cuts et applications
Le problème central de l’ordonnancement (les plus longs chemins)
Licence Informatique Algorithmique des graphes
LE FLOT MAXIMAL et LA COUPE MINIMALE
Powerpoint Templates Page 1 Powerpoint Templates BE Graphe : Algorithme de Dijsktra Distribution d’un algorithme Jeudi 7 mai 2012 RULLIER Anthony.
Ceci est un graphe valué Des arcs : 1-2, 1-4, 7-10,…..
Licence d’informatique Algorithmique des graphes
Organisation des données Introduction à la programmation Traitements simples Affectation Parcours Définition du tableau Les Tableaux Mise en situation.
Sujets spéciaux en informatique I
Mise en correspondance de deux maillages bruités
Optimisation pour la Conception de Systèmes Embarqués
Licence d’Informatique Algorithmique des graphes
Algorithme de DIJKSTRA
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.
2 Cadre du TER Projet Algol But du TER Conception et étude d’algorithmes de traitement de données dans un satellite d’observation de la voûte spatiale.
Post-optimisation, analyse de sensibilité et paramétrage
La pile de crêpes.
Chapitre 4 La représentation des nombres.
Algorithmique Tableaux de données
Sixième étape : pondérer les graphes. Longueur d’une chaîne d’un graphe quelconque = nombre des arêtes qui la constituent. Distance entre deux sommets.
31/05/2007Projet Master 11 Présentation ludique de la recherche opérationnelle à la fête de la science Année universitaire 2006/2007 Sylvain FIX Julien.
Algorithmique Algorithmique  Pascal
CHAPITRE 5 Les nombres entiers 1. Les entiers 2 Les entiers signés représentations pour le 0.
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
Technologie - Cycle 4 Exemple de progressivité
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
Plan Introduction Parcours de Graphe Optimisation et Graphes
Transcription de la présentation:

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

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

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

Introduction Langage utilisée: C++ Fonctionnalités du programme 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 d’un 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

Graphe d’exemple

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

Bloch : principe général Initialiser le Flot par addition des flots des arcs d’entrée Marqué comme saturer les chemins où Flots = Capacité Les chemins saturés ne sont pas empruntables. Etablir un chemin (Relier point d’entrée à point de sortie) Choisir le prochain sommet disponible dans l’ordre 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 qu’il n’y ai plus de chemin entre le point d’entrée et le point de sortie du graphe.

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

Algorithme de Ford -Fulkerson Rappel : Arc dans le bon sens => Chemin saturé quand : Flot = Capacité Arc dans le sens inverse => Chemin saturé quand : Flot = 0 Calcule la valeur du flot maximal: Pour les arcs ( i , j ) parcourus dans le sens des flèches 𝑑 1 =𝑚𝑖𝑛 𝐶 𝑖,𝑗 −𝜑 𝑖,𝑗 Pour les arcs ( i , j ) parcourus en sens opposé des flèches 𝑑 2 = min 𝜑 𝑖,𝑗

Ford –Fulkerson : principe général 1 : Trouver un chemin A partir du point d’entrée, prendre prochain sommet dispo dans l’ordre 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 l’arc 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 d’entré 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 ∆ à l’int représentant le flot complet/max (1) Continuer l’algorithme tant qu’un chemin est possible entre le point d’entré et le point de sortie.

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

Algorithme de Ford -Fulkerson Graphe du flot maximal Console

Conclusion Un problème de réseau peut toujours être optimisé. Problématiques d’apparences 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

Merci de nous avoir écouté Fin de la présentation