Méthodes de points intérieurs pour la programmation linéaire

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

Optimisation Discrète

LES MÉTHODES DE POINT INTÉRIEUR 1

Programmation Linéaire - Cours 1

Programmation linéaire

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

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

Résolution d équations non linéaires

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

3 Approximation de solutions d équations

Programmation linéaire et Optimisation. Didier Smets

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

Travaux dirigés n 1. Programmation linéaire

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

Programmation linéaire

Cours d Analyse. Fonctions de plusieurs variables

Théorème du point fixe - Théorème de l inversion locale

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Fonctions de deux variables. Mai 2011

RO04/TI07 - Optimisation non-linéaire

Équations non linéaires

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs

Pour l épreuve d algèbre, les calculatrices sont interdites.

Cours d analyse numérique SMI-S4

Algorithmes pour la planification de mouvements en robotique non-holonome

Cours de méthodes de scoring

4.2 Unités d enseignement du M1

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

EXERCICE 4 (7 points ) (Commun à tous les candidats)

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

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

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

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

Théorèmes de Point Fixe et Applications 1

DUT Techniques de commercialisation Mathématiques et statistiques appliquées

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

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

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Le théorème de Thalès et sa réciproque

Chapitre 3. Les distributions à deux variables

Lecture graphique. Table des matières

Intégration et probabilités TD1 Espaces mesurés Corrigé

INFO-F Algorithmique 3 et Recherche Opérationnelle

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Manuel de validation Fascicule v4.25 : Thermique transitoire des structures volumiques

Programmation mathématique Discrète et Modèles Linéaires

Optimisation, traitement d image et éclipse de Soleil

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

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.

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

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

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Fonctions de plusieurs variables. Sébastien Tordeux

F411 - Courbes Paramétrées, Polaires

MATHS FINANCIERES. Projet OMEGA

Chapitre 2. Matrices

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

Projet de Traitement du Signal Segmentation d images SAR

Dualité dans les espaces de Lebesgue et mesures de Radon finies

C f tracée ci- contre est la représentation graphique d une

Comment tracer une droite représentative d'une fonction et méthode de calcul de l'équation d'une droite.

Cours 02 : Problème général de la programmation linéaire

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

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Polynômes à plusieurs variables. Résultant

Model checking temporisé

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

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

Circuits RL et RC. Chapitre Inductance

1 Introduction et modèle mathématique

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Plan du cours : Zippers. Des fonctions sur les listes avec position. Des fonctions sur les listes avec position

Resolution limit in community detection

Programmation linéaire

FORMULAIRE DE STATISTIQUES

Les fonction affines

Image d un intervalle par une fonction continue

Analyse du temps de réponse des systèmes temps réel

Cours de recherche opérationnelle I

Oscillations libres des systèmes à deux degrés de liberté

Amphi 3: Espaces complets - Applications linéaires continues

Commande Prédictive. J. P. Corriou. LSGC-ENSIC-CNRS, Nancy. corriou@ensic.inpl-nancy.fr

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

de calibration Master 2: Calibration de modèles: présentation et simulation d

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Fonctions de plusieurs variables

Correction de l examen de la première session

TRAVAIL D ETUDE ET DE RECHERCHE. Utilisation des arbres binomiaux pour le pricing des options américaines

Éditorial. Tangente ÉDUCATION. Scratch, AlgoBox, Python. Trimestriel - n 15 - janvier 2011 Numéro spécial 16 activités TICE pour le lycée

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

Chapitre VI Fonctions de plusieurs variables

= constante et cette constante est a.

Introduction à l étude des Corps Finis

Probabilités III Introduction à l évaluation d options

EPFL TP n 3 Essai oedomètrique. Moncef Radi Sehaqui Hamza - Nguyen Ha-Phong - Ilias Nafaï Weil Florian

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Rappels sur les suites - Algorithme

L ALGORITHMIQUE. Algorithme

Chapitre 5 : Flot maximal dans un graphe

Transcription:

Cinquième partie Méthodes de points intérieurs pour la programmation linéaire 4 Notions de base Introduction L algorithme du simplexe n est pas un algorithme polynomial pour la programmation linéaire. En 979, Khachiyan a développé le premier algorithme polynomial pour la programmation linéaire : la méthode de l ellipsoïde. Impact théorique important, mais performances pratiques mauvaises. En 984, Karmarar propose les méthodes de points intérieurs : polynomiales et efficaces en pratique sur des problèmes creux de grande taille. Simplexe : se déplace de point extême en point extrême le long de la frontière du polyèdre. Il y a un nombre fini de points extrêmes algorithme combinatoire. Points intérieurs : déplacement le long de la direction admissible qui donne la meilleure amélioration de l objectif après projection sur un sous-espace linéaire). En général, direction à l intérieur du polyèdre méthode non-linéaire. Transformations projectives Considérons le problème sous forme standard : max s.c. c T x x 0 et supposons que x 0 > 0. Meilleure direction d amélioration : gradient de l objectif c. Problème si cette direction n est pas admissible peut amener à une violation de ). Une direction x est admissible pour si et seulement si x H = {x R n : Ax = 0}. Comme x 0 > 0, x 0 + α x est admissible pour α suffisamment petit. Nous voulons de plus que x soit une direction d amélioration, la plus proche possible de c projection de c sur H gradient projeté). Proposition 59 Gradient projeté). La projection x de c sur H = {x R n : Ax = 0} est x est une direction admissible : x est une direction d amélioration si x 0. x = I A T AA T ) A ) c. A x = A I A T AA T ) A ) c = Ac AA T AA T ) Ac = Ac Ac = 0. c T x = x + A T AA T ) Ac ) T x = x T x + c T A T AA T ) T A x }{{} =0 = x 2 0 60

Exemple max z = 5x +4x 2 s.c. 6x +4x 2 +s = 24 x +2x 2 +s 2 = 6 x 2 +s 3 = 2 x +x 2 +s 4 = x, x 2, s, s 2, s 3, s 4 0 Considérons le point intérieur x, x 2 ) =, ), c est-à-dire x 0 = 4 3 c T x 0 = 9. Matrice de projection : P = A T AA T ) A 0.9544 0.0992 0.39706 0.099265 0.0992 0.7647 0.0992 0.85668 0.022059 0.94853 0.43382 0.235294 = 0.39706 0.022059 0.073529 0.83824 0.022059 0.7647 0.099265 0.94853 0.83824 0.709559 0.94853 0.2948 0.0992 0.43382 0.022059 0.94853 0.85668 0.235294 0.7647 0.235294 0.7647 0.2948 0.235294 0.588235 x = c P c = Pas maximal : α = x = x 0 + α x = min i: x i<0.48387 2.00000 7.09677 0.563 0.00000 0.48387 0.05547 0.397 0.786765 0.283088 0.397 0.058824 { x0 i x i } = 8.7742 c T x = 5.49 6

Désavantages du gradient projeté Le gradient projeté x peut être très différent de la direction de meilleure amélioration le gradient c). Si le point x 0 est trop près de la frontière, il n est pas possible de faire un grand pas dans la direction x sans atteindre la frontière. Solution : éviter d être près de la frontière. Deux approches : Transformer le polyèdre de sorte que le point courant soit centré pour permettre des pas longs dans la direction du gradient projeté affine scaling). Eviter la frontière avec des fonctions barrières. 5 Affine scaling Stratégie simple pour éviter la frontière du polyèdre : scaling du modèle pour que x soit équidistant des contraintes d inégalités. A l itération de l algorithme, on définit la transformation affine T : R n R n par z = T x) = X x où X est la matrice diagonale X = x 0 0 0 x 2 0....... 0 0 x n Proposition 60. Si x 0 0 0 x 2 0 X =....... 0 0 x n et x i > 0, i =,..., n, alors, sous la transformation z X x,. e X x ; 2. si z = X x, alors x = X z ; 3. si P R n est un polyèdre, alors P X P est aussi un polyèdre de Rn et si x est un point intérieur de P, alors z = X x est un point intérieur de P. En appliquant la transformation affine à un programme linéaire sous forme standard, on obtient : max s.c. c T X z AX z = b z 0 Dans cet espace transformé, le point courant x est transformé en e e T =,,..., )), et on se trouve donc à une distance d au moins une unité de la frontière créée par les contraintes de non-négativité. Gradient projeté Soit ĉ = X c et  = AX. z = I  ) T   ) T )  ) ĉ = X c X A T AX 2 A T ) AX 2 )c. Longueur de pas : α = α min i: z i<0 { }) z i 62

avec 0 < α < pour éviter d atteindre la frontière. Le nouveau point est défini par z + = z + α z dans l espace transformé. En utilisant x + = X z +, on obtient : x + = x + α X X c X A T AX 2 A T ) AX 2 )c). Remarque : Il existe une méthode travaillant dans l espace dual dual affine scaling). Critère d arrêt Du pas primal, on peut aisément déduire une solution duale : Cette solution est admissible si et seulement si et x +, y +, t + ) est primal-dual optimal si y + = AX 2 A T ) AX 2 )c. t + = A T y + c 0, x + ) T t + = 0. Critère d arrêt t + = A T y + c 0 et x + ) T t + < ɛ. Exemple max z = 5x +4x 2 s.c. 6x +4x 2 +s = 24 x +2x 2 +s 2 = 6 x 2 +s 3 = 2 x +x 2 +s 4 = x, x 2, s, s 2, s 3, s 4 0 Considérons le point intérieur x, x 2 ) =, ), c est-à-dire x 0 = 4 3 c T x 0 = 9. Itération y = t = 0.409 0.65493.62563.0746 2.64309.62563 0.409 0.65493.62563.0746 63

x = 2.207.74465 3.7576 0.30000 0.25535.46606 Itération 2 Itération 3 Itération 4 c T x = 8.032 x T t = 9.307 y = t = x = 0.22229 3.5227 2.75226 0.38249 0.3492 0.05896 0.222292 3.52268 2.752258 0.382487 2.789078.58328 0.933020 0.044666 0.46872 2.205950 c T x = 20.278 x T t =.963 y = t = x = 0.673240 0.89735 0.43832 0.044704 0.08720 0.028694 0.673240 0.89735 0.43832 0.044704 2.92039.58403 0.405554 0.043055 0.48597 2.40736 c T x = 20.674 x T t = 0.00602 y = 0.737720 0.5625209 0.062020 0.007662 64

t = x = 0.0034962 0.0062393 0.737720 0.5625209 0.062020 0.007662 2.946970.505456 0.296352 0.0427 0.494544 2.4454 c T x = 20.757 x T t = 0.9203 6 Barrières logarithmiques 6. Introduction Idée : pénaliser la frontière x 0 par une barrière logarithmique. LP µ ) max s.c. c T x + µ n i= lnx i) x 0 et supposons que x > 0. Gradient de l objectif : Gradient projeté : c + µx e I A T AA T ) A ) c + µx e) Exemple µ=0 µ=5 µ=000 65

Conditions de Karush-Kuhn-Tucer Les conditions nécessaires d optimalité pour LP µ ) s écrivent : En posant t = µx e, on obtient le problème : c + µx e A T y = 0 A T y t = c x 0 x 0. t = µx e. Propriétés de convergence Hypothèses :. {x R n :, x > 0}. 2. {y, t) R m R n : A T y t = c, t > 0}. 3. La matrice des contraintes A est de rang m. Proposition 6. Etant donné µ > 0, il existe une solution unique xµ), yµ), tµ)) aux conditions de Karush- Kuhn-Tucer, et xµ) est la solution optimale de LP µ ). Chemin central Proposition 62. xµ), yµ), tµ)) converge vers une solution primale-duale optimale lorsque µ 0. Comme la solution des conditions de Karush-Kuhn-Tucer est unique pour tout µ > 0, la solution xµ), yµ), tµ)) trace un chemin une trajectoire) dans R n R m R n. Chemin central central path) : Γ = {xµ), yµ), tµ)) : µ > 0}. Difficultés Résoudre les conditions de Karush-Kuhn-Tucer n est pas facile à cause de l équation non-linéaire t = µx e. Idée des algorithmes path following : ne pas suivre exactement la trajectoire centrale Γ, mais rester suffisamment proche en approximant t = µx e. 6.2 Primal Path Following Nous voulons résoudre : A T y t = c x 0 t = µx e. Idée : prendre une solution approchée x, y, t ) pour µ = µ doné, telle que A T y t = c, Ax = b, et x, t > 0. Utiliser cette solution comme point de départ pour générer une nouvelle solution approchée x +, y +, t + ) par la méthode de Newton. Rappel : soit le système d équations g i x) = 0 i =,..., m où g i : R n R, g i C, i =,..., m. 66

Le pas de Newton en x est la solution x de où Dgx) est le Jacobien de g au point x. Pour notre système, le pas de Newton est la solution de Pour α suffisamment petit, le point Dgx ) x = gx ). A T y t = 0 A x = 0 t + µ X 2 x = t + µ X e. x +, y +, t + ) = x, y, t ) + α x, y, t) satisfait aussi A T y + t + = c, Ax + = b, et x +, t + > 0. Soit T la matrice diagonale correspondant à t. t + µ X 2 x = t + µ X e peut se réécrire : X t + µ X x = X T e + µ e et comme A T y t = 0, X A T y + µ X x = X T e + µ e. Multipliant à gauche par AX, et vu que A x = 0, on a : et donc AX 2 A T y = AX )X T e µ e) y = AX 2 A T ) AX )X T e µ e). De on obtient : X A T y + µ X x = X T e + µ e, x = µ X X T e µ e) µ X X A T ) y = µ X I X A T )AX 2 A T ) AX ) ) X T e µ e) et on a également : t = A T y = A T AX 2 A T ) AX )X T e µ e). Longueur de pas sélectionnée pour que x +, t + > 0, avec et x + = x + α P x t + = t + α D t y + = y + α D y αp = α αd = α min i: x i<0 min i: t i<0 { x i x i { t i t i avec 0 < α <. Le processus pourrait être itéré plusieurs fois pour générer de meilleures solutions pour un µ donné. Cependant, il est plus efficace de ne faire qu un pas de Newton à chaque itération puis diminuer µ en choisissant 0 < θ < et en posant µ + = θµ ). On peut montrer qu avec un choix approprié des paramètres, µ 0, θ et α, la méthode se termine en O nl) itérations avec L la longueur de l encodage binaire des données du primal) et qu il est possible de trouver en temps polynomial la solution optimale à partir de ce point intérieur. }) }), 67

Exemple 6.3 Dual Path Following Philosophie identique à la méthode primale, mais en utilisant une barrière pour les contraintes de non-négativité du dual. DLP µ ) min s.c. b T y + µ n i= lnt i) A T y t = c t 0 Les conditions nécessaires d optimalité pour DLP µ ) s écrivent : A T y t = c x = µt e t 0. Pour notre système, le pas de Newton est la solution de Pour α suffisamment petit, le point A T y t = 0 A x = 0 x + µ T 2 t = x + µ T e. x +, y +, t + ) = x, y, t ) + α x, y, t) satisfait aussi A T y + t + = c, Ax + = b, et x +, t + > 0. Avec des transformations similaires à la méthode primale, on obtient : y = AT 2 x = T AT ) AT )e AT 2 µ AT ) b T 2 t = A T AT 2 AT AT 2 AT ) AT ))µ e T x ) AT ) AT )e A T AT 2 µ AT ) b Exemple 68

6.4 Primal-Dual Path Following Expression des conditions de Karush-Kuhn-Tucer : Primal Path Following : Dual Path Following : t = µx e. x = µt e Primal-Dual Path Following : XT e = µe Cette forme ne correspond à aucune fonction barrière connue, mais quand µ = 0, on retrouve la contrainte des écarts complémentaires. Nous voulons résoudre : Le pas de Newton est la solution de A T y t = c XT e = µe x, t 0. A x = 0 A T y t = 0 T x + X t = X T e + µ e. Vu que A T y t = 0, on a : T x + X A T y = X T e + µ e. En multipliant par AT, et comme A x = 0, on obtient : et donc AT X A T y = AT X T e µ e), y = AT X A T ) AT X T e µ e) t = A T AT X A T ) AT X T e µ e) x = T X A T AT X A T ) AT I)X T e µ e) 69

Exemple 70