Optimisation dans les réseaux

Documents pareils
Chapitre 5 : Flot maximal dans un graphe

OPTIMISATION À UNE VARIABLE

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

INFO-F Algorithmique 3 et Recherche Opérationnelle

Programmation Linéaire - Cours 1

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Eléments de Théorie des Graphes et Programmation Linéaire

Contrainte de flot pour RCPSP avec temps de transfert

Programmation linéaire

Conception de réseaux de télécommunications : optimisation et expérimentations

Programmation linéaire

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Plus courts chemins, programmation dynamique

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Annexe 6. Notions d ordonnancement.


Problème 1 : applications du plan affine

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Une introduction aux codes correcteurs quantiques

Arbres binaires de décision

FIMA, 7 juillet 2005


Resolution limit in community detection

Jean-Philippe Préaux

Optimisation for Cloud Computing and Big Data

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Programmation linéaire et Optimisation. Didier Smets

Quelques algorithmes simples dont l analyse n est pas si simple

Cours de Master Recherche

Conception d'un réseau de transport d'électricité

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Chapitre 6. Fonction réelle d une variable réelle

Concurrence imparfaite

Introduction à la théorie des graphes. Solutions des exercices

Algorithmes de recherche

CH.6 Propriétés des langages non contextuels

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

LE PROBLEME DU PLUS COURT CHEMIN

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

ITIL Gestion de la capacité

Une nouvelle approche de détection de communautés dans les réseaux sociaux

Triangle de Pascal dans Z/pZ avec p premier

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Théorèmes de Point Fixe et Applications 1

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Mlle Yasmin A. RÍOS SOLÍS

Sujet 4: Programmation stochastique propriétés de fonction de recours

Continuité et dérivabilité d une fonction

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Programmation linéaire

Chp. 4. Minimisation d une fonction d une variable

Théorie et codage de l information

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

Algorithmes de recherche d itinéraires en transport multimodal

Raisonnement par récurrence Suites numériques

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Analyse en Composantes Principales

FaceBook aime les Maths!

Chapitre 4 : Exclusion mutuelle

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

CCP PSI Mathématiques 1 : un corrigé

Chaînes de Markov au lycée

LES MÉTA-HEURISTIQUES : quelques conseils pour en faire bon usage

Parallélisme et Répartition

Trouver un vecteur le plus court dans un réseau euclidien

Modélisation multi-agents - Agents réactifs

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

Circuits RL et RC. Chapitre Inductance

Apprentissage statistique dans les graphes et les réseaux sociaux

INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz

CHAPITRE 5. Stratégies Mixtes

Résolution d équations non linéaires

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Convertisseurs statiques d'énergie électrique

CORRECTION TP Multimètres - Mesures de résistances - I. Mesure directe de résistors avec ohmmètre - comparaison de deux instruments de mesure

Algorithmique et Programmation

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

Ordonnancement temps réel

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

Cours de recherche opérationnelle I

LES PROBLEMES D'ORDONNANCEMENT

Algorithmes récursifs

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct (ajout de la section 3 et augmentation de la section 1)

Transcription:

Optimisation dans les réseaux Recherche Opérationnelle GC-SIE Le problème du flot maximal 1

Introduction Données : Graphe (N,A) Capacités : x ij [b ij,c ij ] Un nœud source s Un nœud puits t Problème : Faire passer un maximum de flot de s à t. Maximiser la divergence de s Minimiser la divergence de t. Flot maximal Michel Bierlaire 3 Introduction Plus court chemin: coûts, mais pas de capacités Flot maximal: capacités, mais pas de coûts Transbordement: coûts et capacités Flot maximal Michel Bierlaire

Flot maximal et coupe minimale Idée de base : Un flot x peut être amélioré si l on trouve un chemin de s à t qui soit non bloqué par rapport à x. Envoyer un flot le long de ce chemin augmente la divergence de s sans violer les contraintes de capacité. Question : si on ne trouve pas un tel chemin, sommes-nous à l optimum? Flot maximal Michel Bierlaire 5 Définition : Une coupe Q dans un graphe (N,A) est une partition de l ensemble des nœuds Nen deux ensembles non vides Set N \ S. On notera Q = [S,N \ S] Attention : [S,N \ S] [S \ N,S] Flot maximal Michel Bierlaire 6 3

Notations : Q + ={(i,j) A i Set j S} Q ={(i,j) A i Set j S} Q est non videsi Q + Q Q sépare s de t si s S et t S Flot maximal Michel Bierlaire 7 S N \ S S={1,,3} Q + ={(,),(1,6)} Q - ={(,1),(6,3),(5,3)} Flot maximal Michel Bierlaire 8

Définition Soit un vecteur de flots. Le flot F(Q)à travers une coupe non videq=[s,n \ S] est le flot total net sortant de S. On peut facilement montrer que Flot maximal Michel Bierlaire 9 Définition : Étant données les contraintes de capacité sur les flots, la capacité d une coupeq non vide est Flot maximal Michel Bierlaire 10 5

S (1,1,) (1,,3) (-1,,) (1,,) F(Q)= 1+-(1++)=- C(Q)=+3-(0-1+1)=5 Flot maximal Michel Bierlaire 11 N \ S On a toujours F(Q) C(Q) Si F(Q)=C(Q), on dit que la coupe est saturée par rapport au vecteur de flots x. Par convention, une coupe vide est supposée saturée. Flot maximal Michel Bierlaire 1 6

S (1,,) (1,3,3) (-1,-1,) (1,1,) F(Q)= +3-(0-1+1)=5 C(Q)=+3-(0-1+1)=5 Flot maximal Michel Bierlaire 13 N \ S Théorème Soit x un vecteur de flots vérifiant les contraintes de capacité. Soit s et t deux nœuds. Exactement une des deux affirmations suivantes est vérifiée : 1. Il existe un chemin simple de s à t non bloqué par rapport à x.. Il existe une coupe saturée séparant s de t. Flot maximal Michel Bierlaire 1 7

Algorithme du chemin non bloqué Idée : On génère une suite d ensembles de nœuds (T k ), avec T 0 = {s} T k contient l ensemble des nœuds qui peuvent être atteints à partir de s par un chemin non bloqué de k arcs. Flot maximal Michel Bierlaire 15 Algorithme du chemin non bloqué Pour k=0,1, Si T k = ou t T k, STOP T k+1 = Pour tout nœud i T k Pour tout (i,j) A Si x ij < c ij et j T 0, T k alors T k+1 =T k+1 {j} Pour tout (j,i) A Si x ij > b ij et j T 0, T k alors T k+1 =T k+1 {j} Flot maximal Michel Bierlaire 16 8

Notes : Il y a deux manières pour cet algorithme de s arrêter 1. t T k. Dans ce cas, il existe un chemin non bloqué de s à t.. T k =. Si on définit S= T i, alors la coupe [S,N \ S] est saturée. Flot maximal Michel Bierlaire 17 Exemple 1: s=1, t=5 T 0 (-1,0,1) (1,1,) (1,,) (1,1,) Flot maximal Michel Bierlaire 18 9

Exemple 1: s=1, t=5 T 0 (-1,0,1) (1,1,) (1,,) (1,1,) Flot maximal Michel Bierlaire 19 Exemple 1: s=1, t=5 T 0 (-1,0,1) (1,1,) (1,,) (1,1,) Flot maximal Michel Bierlaire 0 10

Exemple 1: s=1, t=5 T 0 (-1,0,1) (1,1,) (1,,) (1,1,) Flot maximal Michel Bierlaire 1 Exemple 1: s=1, t=5 T 0 (-1,0,1) (1,1,) T 1 (1,,) (1,1,) Flot maximal Michel Bierlaire 11

Exemple 1: s=1, t=5 T 0 (-1,0,1) (1,1,) T 1 (1,,) (1,1,) Flot maximal Michel Bierlaire 3 Exemple 1: s=1, t=5 T 0 (-1,0,1) (1,1,) T 1 (1,,) (1,1,) Flot maximal Michel Bierlaire 1

Exemple 1: s=1, t=5 T 0 (-1,0,1) (1,1,) T 1 (1,,) (1,1,) T Flot maximal Michel Bierlaire 5 Exemple 1: s=1, t=5 T 0 (-1,0,1) (1,1,) T 1 (1,,) (1,1,) T T 3 Flot maximal Michel Bierlaire 6 13

Exemple 1: s=1, t=5 T 0 (-1,0,1) (1,1,) T 1 (1,,) (1,1,) T T 3 Flot maximal Michel Bierlaire 7 Exemple : s=1, t=5 T 0 (-1,0,1) (1,1,) T 1 (1,,) (1,1,) Coupe saturée {(5,3),(5,6)} séparant s et t T Flot maximal Michel Bierlaire 8 1

Coupe et flot maximal Dans le problème de flot maximal, on cherche parmi les vecteurs de flot admissibles, ayant une divergence nulle en tout nœud différente de s ou t, celui qui maximise la divergence de s. Soit un de ces vecteurs de flots, et une coupe Q=[S,N \ S] séparant s de t. La divergence de s est le flot qui traverse Q. En effet, s est le seul nœud de Sà divergence non nulle. Flot maximal Michel Bierlaire 9 On a donc Coupe et flot maximal Q, divergence s = F(Q) C(Q) flot maximal capacité de Q Si le problème de flot maximum possède une solution, alors il existe une coupe telle que l inégalité soit une égalité. Flot maximal Michel Bierlaire 30 15

Coupe et flot maximal Théorème de flot maximal/coupe minimale Soit x* est une solution optimale du problème de flot maximum. Soit Q* la coupe de capacité minimum séparant s de t. Alors la divergence de s est égale à la capacité de Q*. Flot maximal Michel Bierlaire 31 Algorithme de Ford-Fulkerson Idée : Soit un vecteur de flots tel que il vérifie les contraintes de capacité divergence nœud i=0, si i s, i t Soit un chemin P non bloqué de s à t. On envoie le plus de flot possible le long de P : augmentation du flot. On dira que P est un chemin d augmentation. Flot maximal Michel Bierlaire 3 16

Algorithme de Ford-Fulkerson Augmentation du flot : Flot maximal Michel Bierlaire 33 Algorithme de Ford-Fulkerson Initialisation Trouver un vecteur de flots admissible. Si toutes les capacités inférieures b ij sont nulles, le vecteur nul est admissible. Itérations Appliquer l algorithme du chemin non bloqué. Si coupe saturée : STOP. Si chemin non bloqué : augmentation de flot. Flot maximal Michel Bierlaire 3 17

Algorithme de Ford-Fulkerson Notes : Si le vecteur de flot initial ainsi que les bornes sont entiers ou rationnels, l algorithme se terminera en un nombre fini d itérations. Méthode du plus court chemin d augmentation: parmi tous les chemins non bloqués, choisir comme chemin d augmentation celui comportant le moins d arcs. Si cette méthode est utilisée, l algorithme convergera toujours. De plus, même avec des données entières, cette méthode est plus performante. Flot maximal Michel Bierlaire 35 (0,0,) s (0,0,) (0,0,) 3 (0,0,3) (0,0,5) t 18

(0,0,) s (0,0,) (0,0,) 3 (0,0,3) (0,0,5) t (0,1,) s (0,0,) (0,0,) 3 (0,0,3) (0,0,5) t 19

(0,1,) s (0,0,) (0,0,) 3 (0,0,3) (0,0,5) t (0,,) s (0,0,) (0,0,) 3 (0,0,3) (0,1,5) t 0

(0,,) s (0,0,) (0,0,) 3 (0,0,3) (0,1,5) t (0,,) s (0,0,) (0,,) 3 (0,,3) (0,3,5) t 1

(0,,) s (0,0,) (0,,) 3 (0,,3) (0,3,5) t (0,3,) s (0,1,) (0,,) 3 (0,3,3) (0,,5) t

F(Q)=C(Q)=5 (0,3,) y s =5 s (0,1,) (0,,) 3 (0,3,3) (0,,5) t y t =-5 3