Programmation linéaire Optimisation combinatoire. Hervé Rivano 30 juin 2010

Documents pareils
Programmation linéaire

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

Optimisation Discrète

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

Chapitre 5 : Flot maximal dans un graphe

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

INSERTION TECHNIQUES FOR JOB SHOP SCHEDULING

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

RECHERCHE OPERATIONNELLE

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

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

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

Programmation linéaire

A l'avenir, chacun aura son quart d'heure de célébrité.. Andy WAHROL

Annexe 6. Notions d ordonnancement.

Stratégie DataCenters Société Générale Enjeux, objectifs et rôle d un partenaire comme Data4

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Tarification et optimisation pour le marketing

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

Programmation Linéaire - Cours 1

Programmation linéaire

Plus courts chemins, programmation dynamique

Instructions Mozilla Thunderbird Page 1

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

Génération de code binaire pour application multimedia : une approche au vol

Cours de Master Recherche

La gestion des flux de trafic aérien en Europe : état de l art, problèmes et perspectives

Application Form/ Formulaire de demande


LES MÉTHODES DE POINT INTÉRIEUR 1

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

Project 1 Experimenting with Simple Network Management Tools. ping, traceout, and Wireshark (formerly Ethereal)

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

POLICY: FREE MILK PROGRAM CODE: CS-4

How to Login to Career Page

Chapitre 2 Le problème de l unicité des solutions

Cours Bases de données 2ème année IUT

INSTITUT MARITIME DE PREVENTION. For improvement in health and security at work. Created in 1992 Under the aegis of State and the ENIM

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h

XtremWeb-HEP Interconnecting jobs over DG. Virtualization over DG. Oleg Lodygensky Laboratoire de l Accélérateur Linéaire

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

Rappels sur les suites - Algorithme

LOI SUR LA RECONNAISSANCE DE L'ADOPTION SELON LES COUTUMES AUTOCHTONES ABORIGINAL CUSTOM ADOPTION RECOGNITION ACT

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Résolution de systèmes linéaires par des méthodes directes

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

3615 SELFIE. HOW-TO / GUIDE D'UTILISATION

Package Contents. System Requirements. Before You Begin

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

FIMA, 7 juillet 2005

Differential Synchronization

Enhancing cybersecurity in LDCs thru multi-stakeholder networking and free software

Cours de recherche opérationnelle I

Paxton. ins Net2 desktop reader USB

Optimisation et Processus métier

Optimisation des fonctions de plusieurs variables

Toni Lazazzera Tmanco is expert partner from Anatole ( and distributes the solution AnatoleTEM

Laboratoire d Automatique et Productique Université de Batna, Algérie

GNS 3 Travaux pratiques

Résolution d équations non linéaires

Exercices - Polynômes : corrigé. Opérations sur les polynômes

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

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

AMENDMENT TO BILL 32 AMENDEMENT AU PROJET DE LOI 32

Algorithmes de recommandation, Cours Master 2, février 2011

SensOrLabs. a protocol validation platform for the IoT. Dominique Barthel, Quentin Lampin IMT/OLPS/BIZZ/MIS Apr 7th 2014, ST, CEA, LIG

I>~I.J 4j1.bJ1UlJ ~..;W:i 1U

CHAPITRE 4. La réglementation du médicament

CONSOLIDATION DES COMPTES. Sophie de Oliveira Leite

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

Une forme générale de la conjecture abc

Contents Windows

Fabricant. 2 terminals

Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe

Un modèle réactif pour l optimisation par colonies de fourmis : application à la satisfaction de contraintes

Représenté par Eric Mamy A22 présenté par CFR & CGL Consulting

Architecture des Systèmes d Information Architecture des Systèmes d Information

Editing and managing Systems engineering processes at Snecma

UNIVERSITE PARIS VII - DENIS DIDEROT U.F.R. D'INFORMATIQUE THESE

PARIS ROISSY CHARLES DE GAULLE

Exemple PLS avec SAS

RO04/TI07 - Optimisation non-linéaire

Cheque Holding Policy Disclosure (Banks) Regulations. Règlement sur la communication de la politique de retenue de chèques (banques) CONSOLIDATION

BNP Paribas Personal Finance

IPv6: from experimentation to services

OUTIL DE TRAVAIL COLLABORATIF

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Quelques tests de primalité

Thank you for choosing the Mobile Broadband USB Stick. With your USB Stick, you can access a wireless network at high speed.

Chp. 4. Minimisation d une fonction d une variable

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

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

APPROBATION DES PROCEDURES DE VOL A VUE ET DE VOL AUX INSTRUMENTS

Services à la recherche: Data Management et HPC *

Algorithmes de recherche d itinéraires en transport multimodal

APPENDIX 2. Provisions to be included in the contract between the Provider and the. Holder

Programmation linéaire et Optimisation. Didier Smets

Équations non linéaires

Transcription:

Programmation linéaire Optimisation combinatoire Hervé Rivano 30 juin 2010

Router dans un réseau Un graphe : V sommets, E arcs c capacité Ensemble (source,destination) Router le plus de trafic possible Respect des capacité

Flot maximum

Flot maximum Max d s.t. f(v, s)+d f(s, v) =0 v v f(v, t) d f(t, v) =0 v v f(v, u) f(u, v) =0, u v v f(u, v) c(u, v), (u, v)

Programmation linéaire

L optimisation convexe La programmation linéaire La programmation linéaire en nombre entiers Dualité Génération de colonnes

Optimisation convexe Max f(z) s.t. z C Optimiser, c est possible Newton,... Optimiser et décider, c est «pareil» Dichotomie

Séparation Soit C un convexe fermé et z C H hyperplan séparant z et C

Séparation Soit C un convexe fermé et z C H hyperplan séparant z et C

Séparation Soit C un convexe fermé et z C H hyperplan séparant z et C Séparer = Optimiser Algorithme de l ellipsoïde Généralisation de la dichotomie

Séparation Soit C un convexe fermé et z C H hyperplan séparant z et C Séparer = Optimiser Algorithme de l ellipsoïde Généralisation de la dichotomie

Séparation Soit C un convexe fermé et z C H hyperplan séparant z et C Séparer = Optimiser Algorithme de l ellipsoïde Généralisation de la dichotomie

Programmation linéaire Forme particulière de programmation convexe Polytope défini par l intersection d hyperplan Optimisation d une forme linéaire Points extrémaux Algorithme du simplex

Programmation linéaire Forme particulière de programmation convexe Polytope défini par l intersection d hyperplan Optimisation d une forme linéaire Points extrémaux Algorithme du simplex

Programmation linéaire Forme particulière de programmation convexe Polytope défini par l intersection d hyperplan Optimisation d une forme linéaire Points extrémaux Algorithme du simplex

Programmation linéaire Forme particulière de programmation convexe Polytope défini par l intersection d hyperplan Optimisation d une forme linéaire Points extrémaux Algorithme du simplex

Programmation linéaire Forme particulière de programmation convexe Polytope défini par l intersection d hyperplan Optimisation d une forme linéaire Points extrémaux Algorithme du simplex

Programmation linéaire Forme particulière de programmation convexe Polytope défini par l intersection d hyperplan Optimisation d une forme linéaire

Programmation linéaire Forme particulière de programmation convexe Polytope défini par l intersection d hyperplan Optimisation d une forme linéaire

Programmation linéaire Forme particulière de programmation convexe Polytope défini par l intersection d hyperplan Optimisation d une forme linéaire

Programmation linéaire Forme particulière de programmation convexe Polytope défini par l intersection d hyperplan Optimisation d une forme linéaire Points extrémaux Algorithme du simplex

Ecriture matricielle s.t. pe Max p P f(p) f(p) c(e), e p P u f(p) d(u), u f(p) 0, p

Ecriture matricielle s.t. pe Max p P f(p) f(p) c(e), e p P u f(p) d(u), u f(p) 0, p Max c.x s.t. A.x b

Ecriture matricielle s.t. pe Max p P f(p) f(p) c(e), e p P u f(p) d(u), u f(p) 0, p Max c.x s.t. A.x b x R n c R n b R m A R m n

Ecriture matricielle s.t. pe Max p P f(p) f(p) c(e), e p P u f(p) d(u), u f(p) 0, p Max c.x s.t. A.x b Min c 2.x s.t. A 2.x b 2 x R n c R n b R m A R m n

Prog. Lin. en nb entiers Si les variables sont toutes dans Z : ILP Si certaines sont dans Z, les autres dans R : MILP En général NPdifficile, non approximable

Prog. Lin. en nb entiers Si les variables sont toutes dans Z : ILP Si certaines sont dans Z, les autres dans R : MILP s.t. c Min C y(c) x c (u) 1, u x c (u)+x c (v) 1, c, u, v y(c) x c (u) 0, c, u En général NPdifficile, non approximable

Intuition de la difficulté OPTIMUM FRACTIONNAIRE OPTIMUM ENTIER

Dualité Posons le problème de décision?x s.t. c.x C & Ax b

Dualité Posons le problème de décision Cherchons à prouver que non?x s.t. c.x C & Ax b x, Ax b c.x C

Dualité Posons le problème de décision Cherchons à prouver que non C est vrai si?x s.t. c.x C & Ax b x, Ax b c.x C y s.t. x c.x y.a.x & y.b C

Dualité Posons le problème de décision Cherchons à prouver que non C est vrai si Autrement dit?x s.t. c.x C & Ax b x, Ax b c.x C y s.t. x c.x y.a.x & y.b C y s.t. t At c & b.y C

Dualité Posons le problème de décision Cherchons à prouver que non C est vrai si Autrement dit?x s.t. c.x C & Ax b x, Ax b c.x C y s.t. x c.x y.a.x & y.b C y s.t. t At c & b.y C Conséquence

Dualité Posons le problème de décision Cherchons à prouver que non C est vrai si Autrement dit?x s.t. c.x C & Ax b x, Ax b c.x C y s.t. x c.x y.a.x & y.b C y s.t. t At c & b.y C Conséquence Max{c.x s.t. Ax b} Min b.y s.t. t Ay c

Retour au flot maximum Max d s.t. f(v, s)+d f(s, v) =0 v v f(v, t) d f(t, v) =0 v v f(v, u) f(u, v) =0, u v v f(u, v) c(u, v), (u, v)

Trichons un peu Max d s.t. f(v, s)+d v v... f(s, v) 0 f(v, u) f(u, v) 0, u v v f(u, v) c(u, v), (u, v) Min λ(e)c(e) e s.t. p s 1 λ(u, v) p u + p v 0, (u, v) p t =0

Trichons un peu Max d s.t. f(v, s)+d v v... f(s, v) 0 f(v, u) f(u, v) 0, u v v f(u, v) c(u, v), (u, v) DUAL : COUPE MINIMUM Min λ(e)c(e) e s.t. p s 1 λ(u, v) p u + p v 0, (u, v) p t =0

A quoi ça sert? Le dual donne une borne supérieure Algorithmes primal/dual : garantie sur la solution

A quoi ça sert? Le dual donne une borne supérieure Algorithmes primal/dual : garantie sur la solution Pb de décision : primal plein = dual vide Solution sous-optimale = contrainte duale violée

A quoi ça sert? Le dual donne une borne supérieure Algorithmes primal/dual : garantie sur la solution Pb de décision : primal plein = dual vide Solution sous-optimale = contrainte duale violée Génération de colonnes...

Génération de colonne Min c.x Ax b Max b t.y A t y c t

Retour sur le flot Max d s.t. f(v, s)+d f(s, v) =0 v v f(v, t) d f(t, v) =0 v v f(v, u) f(u, v) =0, u v v f(u, v) c(u, v), (u, v)

Retour sur le flot Max d s.t. f(v, s)+d f(s, v) =0 v v f(v, t) d f(t, v) =0 v v f(v, u) f(u, v) =0, u v v f(u, v) c(u, v), (u, v) s.t. pe Max p P f(p) f(p) c(e), e

Retour sur le flot Max d s.t. f(v, s)+d f(s, v) =0 v v f(v, t) d f(t, v) =0 v v f(v, u) f(u, v) =0, u v v f(u, v) c(u, v), (u, v) s.t. pe Max p P f(p) f(p) c(e), e NOMBRE EXPONENTIEL DE VARIABLES

Des colonnes de flot s.t. pe Max p P f(p) f(p) c(e), e

Des colonnes de flot Max p P f(p) Min e λ(e)c(e) s.t. pe f(p) c(e), e s.t. e p λ(e) 1, p

Des colonnes de flot Max p P f(p) Min e λ(e)c(e) s.t. pe f(p) c(e), e s.t. e p λ(e) 1, p Génération de colonnes : Démarrer avec un ensemble de chemins triviaux Calculer le flot sous optimal, récupérer les lambda Trouver un plus court chemin S il est trop court, on l insère et on boucle Sinon, l optimalité est prouvée

Application aux Mesh

Radio Mesh Networks 20

Model and objectives Synchronous network, periodic steady state Slotted network Throughput : #packets sent during each period/t Transport capacity Known demand, maximum concurrent flow Optim Throughput ==minimizing the period 21

Model and objectives Synchronous network, periodic steady state Slotted network Throughput : #packets sent during each period/t u V, D(u) Transport capacity P P u Φ(P ) T Known demand, maximum concurrent flow Optim Throughput ==minimizing the period 21

The Rounds Round : set of simultaneouly activable links Binary, distance-wise model Sending at distance r, jamming at distance r(1+ ) Signal to noise model Sending with power Pu, reception if Puα(u,v)>S (N +Pu α(u,v)) 22

Minimization MILP Objective : minimize nb of APs 23

Minimization MILP Objective : minimize nb of APs Admissibles calls Link capacities Routing Demand transport 23

Minimization MILP Objective : minimize nb of APs Admissibles calls Link capacities Routing Demand transport Very hard to solve! 23

Routing and scheduling Obj : minimize round activation = max Tput C w (e) Min w(r) R R C w (e) = w(r) P P,e P P P v Φ(P )=t(v) R R,e R Φ(P ) e E v V r 24

Routing and scheduling Obj : minimize round activation = max Tput Min R R w(r) C w (e) C w (e) = w(r) P P,e P P P v Φ(P )=t(v) R R,e R Φ(P ) e E v V r Activating rounds gives capacity In order to transport the flow And route the demand 24

Routing and scheduling Obj : minimize round activation = max Tput Min R R w(r) C w (e) C w (e) = w(r) P P,e P P P v Φ(P )=t(v) R R,e R Φ(P ) e E v V r Activating rounds gives capacity In order to transport the flow And route the demand Sets of rounds and paths are exponential Column generation is necessary 24

Dualité, encore C w (e) Min w(r) R R C w (e) = w(r) P P,e P P P v Φ(P )=t(v) R R,e R Φ(P ) e E v V r s.t. e R e p Min e λ(e)c(e) λ(e) 1, R λ(e) 1, p Génération de colonnes : Démarrer avec un ensemble de chemins et de rounds triviaux Calculer le RWP sous optimal, récupérer les lambda Trouver un plus court chemin ou un round le plus lourd Toute la difficulté est réduite au calcul du round 25

Max-flow & Min-cut V S G V D 26

Max-flow & Min-cut If it exists a flow Φ, V S G V D 26

Max-flow & Min-cut If it exists a flow Φ, Φ sends t(v) from Vs to Vd in G V S G V D 26

Max-flow & Min-cut If it exists a flow Φ, Φ sends t(v) from Vs to Vd in G S is a cut separating Vs and Vd : Cw(S) t(v) V S G V D 26

Max-flow & Min-cut If it exists a flow Φ, Φ sends t(v) from Vs to Vd in G S is a cut separating Vs and Vd : Cw(S) t(v) Cw(S) = δ(r,s)w(r) V S G V D 26

Round/Cut Formulation Obj : min round activation Min R R w(r) R R δ(r, S)w(R) t(s) S S 27

Round/Cut Formulation Obj : min round activation Min R R w(r) R R δ(r, S)w(R) t(s) S S providing enough capacity for the traffic 27

Round/Cut Formulation Obj : min round activation Min R R w(r) R R δ(r, S)w(R) t(s) S S providing enough capacity for the traffic Covering of the cuts by the rounds Set of the rounds : as before Set of the cuts : line generation 27

Line and column gen. Compute an initial set S Solve the primal with S 28

Line and column gen. Compute an initial set S Solve the primal with S 28

Line and column gen. Compute an initial set S Solve the primal with S Look for a violated constraint in the primal Compute a minimum cut, update S 28

Line and column gen. Compute an initial set S Solve the primal with S Look for a violated constraint in the primal Compute a minimum cut, update S 28

Line and column gen. Compute an initial set S Solve the primal with S Look for a violated constraint in the primal Compute a minimum cut, update S Optimal solution 28

Interest of two models Flow : control on the kind of paths Cut : zone constraints related to the problem Similar complexity for the whole network local optimization might be enough 29