Recherche Opérationnelle

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 Méthode de Simplexe Standardisation
Théorie des graphes.
Algorithmes et structures de données avancées Cours 7
Algorithmes et structures de données avancés
Introduction à la Théorie des graphes
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
LES GRAPHES.
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Chap. 1 INTRODUCTION Beaucoup de problèmes de la vie courante, tels la gestion de réseaux de communication ou l'ordonnancement de tâches, correspondent.
Flots et réseaux de transport
Houssein ALAEDDINE Kamal SERRHINI
Génération de colonnes
R.K.Ahuja & James B.Orlin (1988)
Recherche Opérationnelle
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 linéaire
Optimisation et Complexité
Rappel... Solution itérative de systèmes linéaires (suite et fin).
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
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.
Calcul des groupes d'homologie d’objets discrets
DONG Xiaoguang HONG Liang OULDBABA Fadel WANG Min
Programmation dynamique
GPA750 – Gestion de Projets
Pour le chemin le plus court pour tous les couples
Programmation linéaire en nombres entiers : les méthodes de troncature
Cours du 25 octobre Mardi le 24 octobre
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
Arbres et graphes.
II- Loi de Biot et Savart
La firme Les techniques à deux facteurs La demande de facteurs
Electrostatique- Chap.2 CHAPITRE 2 CHAMP ELECTROSTATIQUE Objectif :
Graph cuts et applications
Programmation linéaire en nombres entiers
Le problème central de l’ordonnancement (les plus longs chemins)
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,…..
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.
Licence d’Informatique Algorithmique des graphes
Post-optimisation, analyse de sensibilité et paramétrage
Introduction à la Théorie des graphes
Techniques d’Optimisation Chapitre 2: Problème de flôt Dr TARI Abdelkamel Mars 2014.
Cycle, Cocycle, Arbre et Arborescence
1 Plan du cours Introduction Notions de mécanique : force, énergie, travail, puissance… Température et chaleur Systèmes, transformations et échanges thermodynamiques.
Chapitre 3 Problèmes de Cheminement
1 UE Intro. Optimisation L3 INFO UPSud II. Programmation linéaire en variables entières (ou mixtes)
Techniques d’Optimisation Chapitre 2: Problème de flôt
Transcription de la présentation:

Recherche Opérationnelle Recherche Opérationnelle Flots Recherche Opérationnelle Théorie des graphes: Flots dans les réseaux

Recherche Opérationnelle Flots Le problème des flots dans les réseaux concerne la circulation de matière sur les arcs d’un graphe. Parmi les nombreuses applications qui relèvent de ce problème, on trouve: les réseaux de transport de marchandises (urbains, ferroviaires ou aériens) de différents points distributeurs à différents points consommateurs ; l’écoulement de liquides à l’intérieur de tuyaux ; le courant dans les réseaux électriques ; l’informatique à travers les réseaux de communication ; le coût de réalisation d’un projet en ordonnancement ; etc.

1. Définitions et propriétés Recherche Opérationnelle Flots 1. Définitions et propriétés On considère des réseaux, i.e., des graphes connexes, sans boucle et asymétriques, possédant une entrée et une sortie. Soit S = {sij}, la matrice d’incidence sommets-arcs de G(X,U), u = 1, 2, . . . , m. 1.1 Flot dans un réseau: Définition Un flot sur un graphe G(X,U) est un vecteur ligne ϕ = [ϕ1, ϕ2, . . . , ϕm] Rm à m composantes et tel que : – – en tout sommet i  X, la 1ère loi de Kirchhoff est vérifiée (loi de conservation aux noeuds) : ϕj est la quantité de flot ou flux sur l’arc j. La 2ème condition peut également s’écrire (pour i = 1 à n) : S.ϕt=0

Recherche Opérationnelle Flots 1.2 Flot : Propriétés - Opérations : Soient ϕ , ϕ1 et ϕ2 des flots sur G(X,U) et k  R+ k. ϕ est un flot. ϕ1 + ϕ2 est un flot. ϕ1 - ϕ2 est un flot si ϕ1 ≥ ϕ2. - Flot élémentaire: Soit  un circuit élémentaire sur G (i.e., il passe au plus une fois par un sommet) et v le vecteur tel que: vi = 1 si ui   vi = 0 sinon v est un flot cyclique élémentaire sur G. - Théorème (Flot élémentaire) Tout flot ϕ se décompose en une somme de flots cycliques élémentaires linéairement indépendants. ϕ = 1.V1 + … + k .Vk i ≥ 0, Vi est le vecteur flot du circuit élémentaire i

Recherche Opérationnelle Flots Exemple: Deux Possibilités de décomposition: La première La deuxième

Recherche Opérationnelle Flots Réseau de transport: Capacité Un réseau de transport est un réseau où à chaque arc u sont associés une capacité (i.e débit, tonnage,…) cu ≥ 0 ( limite supérieur pour un flux sur u: flux admissible) et éventuellement un coût du. Un flot ϕ est admissible sur un réseau de transport si et seulement si ses flux sont admissibles, i.e.

Recherche Opérationnelle Flots 1.3 Graphe d’écart : définition Soit ϕ un flot admissible sur G. Le graphe d’écart associé à ϕ est Ge(ϕ ) = (X,Ue(ϕ )) avec Ue tel que pour tout u  U, on associe deux arcs dans Ge : u+ de même sens et de capacité résiduelle c+u= cu − ϕ u u− de sens opposé et de capacité résiduelle c−u = ϕ u Le graphe d’écart représente la modification que l’on peut faire subir au flot ϕ en lui conservant la propriété d’admissibilité. Par convention, les arcs de capacité nulle ne sont pas représentés sur le graphe. Exemple G(ϕ ) Ge(ϕ )

Recherche Opérationnelle Flots 2. Problème du flot maximum dans un réseau de transport - Définition Soient deux sommets fictifs source (s) et puits (t) permettant de modéliser des entrées et des sorties de matières à différents sommets du graphe. G0(X,U0) est déduit de G en rajoutant l’arc (t, s) appelé arc de retour du flot, noté u0 ( U0=U  {u0}): où ϕ0 est appelé valeur du flot. Le problème du flot maximum de s à t dans G consiste à déterminer un flot ϕ dans G0 vérifiant les contraintes de capacité et maximisant ϕ0.

Recherche Opérationnelle Flots Circuit d’incrémentation: définition Un circuit d’incrémentation sur Ge(ϕ ) un circuit traversant u+0 et pas u−0 et dont tous les arcs ont une capacité résultante non nulle. - Théorème (Circuit d’incrémentation) ϕ est maximum si et seulement si Ge(ϕ ) ne contient pas de circuit d’incrémentation. Coupe: Soit (X′,X′′) une partition de X. On appelle coupe l’ensemble des arcs (x′, x′′)  (X′ x X′′)  U tels que si on les enlève il n’y aura plus de chemin menant de s(origine) à t (puits). La capacité de la coupe est X’ X’’ La coupe ci-contre est définie par la partition X’={ s, a, b, c } et X’’={ d, e, t }. Elle comporte les arcs (a,d) (b,d) et (c,e). Sa capacité est de 6, Théorème (Ford-Fulkerson) La valeur d’un flot maximum est égale à la plus petite capacité des coupes séparant s et t.

Recherche Opérationnelle Flots Algorithme (Ford-Fulkerson, 1956) 1 Constitution d’un flot initial admissible ϕ k ← 0 2 - Construire Ge (ϕ ) - Cherche un circuit d’incrémentation  - Si  n’existe pas, • ϕ est maximum • FIN 3 Soit  la plus petite capacité de  Pour u+  , augmenter ϕ u de  Pour u−  , diminuer ϕ u de  k ← k + 1 Retour en 2

Recherche Opérationnelle Flots Exemple

Recherche Opérationnelle Flots 3 Problème du flot maximum à coût minimum On associe sur le graphe d’écart Ge un coût à chaque arc : du pour un arc u+ -du pour un arc u− Le coût total d’un flot sur G est alors On recherche un flot maximum de coût minimum.

Recherche Opérationnelle Flots Algorithme de construction d’un flot maximum à coût minimum On présente ici une méthode par augmentation de flot, à partir d’un flot initial nul. Une autre approche consiste à appliquer une méthode par diminution du coût, à partir d’un flot initial complet (Ford-Fulkerson 1962). ϕ est un flot à coût minimum de G,  un circuit d’incrémentation à coût minimum sur Ge(ϕ) et δ sa plus petite capacité. Comme dans l’algorithme de Ford-Fulkerson, on introduit un vecteur ϕ défini par ϕ’ = – ϕ + δ si u+   ; – ϕ − δ si u−   ; – ϕ si u+, u−   . ϕ’ est un flot à coût minimum sur G de valeur plus grande de δ, que celle de ϕ. L’algorithme est identique à celui de Ford-Fulkerson pour la recherche d’un flot maximum aux différences suivantes près :

Recherche Opérationnelle Flots Algorithme de Busacker-Gowen (1961) Etape 1. Construction d’un flot initial à coût minimum (flot nul). Etape 2. Chercher un circuit d’incrémentation à coût minimum z. Etape 3. La valeur du coût total est incrémentée par δ.z. Complexité : suivant les implémentations O(n4), O(n3) (Edmonds & Karp), O(n2,5)(Hopcroft & Karp).

Recherche Opérationnelle Flots Exemple : z=5 z=5

Recherche Opérationnelle Flots Exemple : z=6 z=6

Exemple : Recherche Opérationnelle Flots Flot maximum à coût minimum: coût total = 5x5 + 2x5 + 3x6 + 1x6 = 59.

Exemple : FLOT 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] T [0,30] [0,10] [0,20] a b c d 1 10 15 - 20 2 5 3 S [0,45] [0,25]

Exemple de flot S 1 2 3 a b d c T [10,10] [5,15] [20,20] [15,20] [5,5] [35,45] [25,25] [20,25] [25,30] [30,30] Valeur du flot = 80 Ce flot est un flot complet, c-à-d, tout chemin de S à T comporte au moins un arc saturé

Détermination d’un flot maximum Améliorer itérativement ce flot Graphe d’écart : Soit  un flot admissible sur G. Le graphe d’écart Ge()=(X, Üe()) est tel que Pour tout arc jU on associe deux arcs dans Üe() j+ de même sens que j et de capacité résiduelle c+(j)=c(j)- j j- de sens opposé que j et de capacité c-(j)=j

S 1 2 3 a b d c T [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

[10,10] [15,20] [25,30] Un flot complet [5,15] [35,45] [5,5] [25,25] S 1 2 3 a b d c T [10,10] [5,15] [20,20] [15,20] [5,5] [35,45] [25,25] [20,25] [25,30] [30,30] Un flot complet S 1 2 3 a b d c T 35 25 20 10 5 15 30 10 5 Graphe d’écart

Détermination d’un flot maximum Améliorer itérativement ce flot Théorème : Un flot  compatible est maximal ssi il n’existe pas de chemin de E à S dans Ge(). Principe de l’amélioration Chercher un chemin  de E à S dans Ge() Soit  la plus petite capacité de  Pour j+ de , augmenter j de  Pour j- de , diminuer j de 

Détermination d’un flot maximum 25 5 40 10 20 30 10 a 15 10 5 5 10 1 35 5 b 10 25 5 5 S 2 T 5 15 5 c 10 20 20 3 30 10 d Valeur du flot = 85 Capacité minimale  = 5

PLUS DE CHEMIN entre S et T a [10,10] [20,20] [30,30] 1 [40,45] [10,15] Un flot complet [0,5] [10,10] b [25,25] S 2 T [5,5] [10,10] c [15,20] [20,25] 3 [20,20] [10,10] [30,30] d S 1 2 3 a b d c T 40 25 20 10 5 30 15 Graphe d’écart 5 5 PLUS DE CHEMIN entre S et T

Exercice 1 Recherche Opérationnelle Flots Soit le réseau de la figure ci-dessous, pour chaque chiffre entouré correspond la capacité max. de l’arc, l »autre indique le flux max trouvé par un étudiant pour aller de s à p: 1- Le flux trouvé par cet étudiant est-il réalisable ? 2- Donner le flux maximal entre s et p selon l’algorithme vu en cours. Vous explorez les sommets selon l’ordre alphabétique à chaque fois que cela sera nécessaire.

Recherche Opérationnelle Flots Exercice 2