Etude Bibliographique sur la Programmation Linéaire

Dimension: px
Commencer à balayer dès la page:

Download "Etude Bibliographique sur la Programmation Linéaire"

Transcription

1 Etude Bibliographique sur la Programmation Linéaire Rapport pour l Etude Métiers «Algorithmes de Programmation Linéaire Embarquable pour le Rendez-Vous Orbital» Convention CNES N /00 Note NT 1.0 Version 1.0 D. Arzelier, N. Jozefowiez, P. Lopez, C. Louembet CNRS; LAAS; 7 avenue du colonel Roche, F Toulouse, France Université de Toulouse; UPS, INSA, INP, ISAE; LAAS; F Toulouse, France

2

3 Notations - N : ensemble des nombres entiers ; - Z : ensemble des nombres relatifs ; - R : ensemble des nombres réels ; - co{a 1,,A N } : enveloppe convexe des N éléments A 1,,A N ; - A : frontière de l ensemble A; - S n + : cône des matrices semi définies positives de dimension n ; - S n ++ : cône des matrices définies positives de dimension n ; - P : polyèdre des points réalisables pour un problème primal de PL ; - P + : intérieur du polyèdre des points réalisables pour un problème primal de PL ; - D : polyèdre des points réalisables pour un problème primal de PL ; - D + : intérieur du polyèdre des points réalisables pour un problème primal de PL ; - A B : ordre partiel de Löwner défini dans S n ++ i.e. B A S n + ; - u v : inégalité large composante par composante pour les vecteurs u R n et v R n ; - U : vecteur gradient de la fonction scalaire U : R n R - g : matrice gradient du champ de vecteur g : R n R n ; - u t : vecteur transposé du vecteur u R n ; - A t : matrice transposée du vecteur A R m n ; - A t : matrice transposée de l inverse de la matrice A; - A j : colonne j de la matrice A R m n ; - A j : ligne j de la matrice A R m n ; - O m n : matrice nulle de dimension m par n ; - I m : matrice identité de dimension m ; - 1 m : vecteur de R m composé de 1 ; - e i : vecteur unitaire de la base canonique avec 1 sur la ième composante et 0 ailleurs ; - e : vecteur tel que e = [ 1 1 ] t R n ; - diag(x 1,,x n ) : matrice diagonale dont l élément diagonal i,i est x i ; - E I I [ ] : opérateur espérance mathématique ; 1

4 2 Notations

5 Table des matières 1 Introduction Définition et formulations des problèmes de programmation linéaire Variations sur le problème de programmation linéaire Quelques éléments historiques et notes bibliographiques Théorie de la programmation linéaire Géométrie de la programmation linéaire Ensembles convexes, cônes, hyperplans, polyèdres et polytopes Points extrêmes, sommets, solutions réalisables de base d un polyèdre Cas des polyèdres sous forme standard Dégénérescence Existence et optimalité des points extrêmes Théorie de la dualité Construction du dual d un programme linéaire Théorème fondamental de la dualité Théorème des écarts complémentaires Solution de base duale et dégénérescence duale Analyse de sensibilité Théorie de la complexité et programmation linéaire Introduction Complexité d un algorithme et d un problème Classes de complexité Algorithme du simplexe Cas favorable Initialisation Invariants de boucle L itération principale Quelques remarques Fin de l exemple Programme sous forme canonique associé à un tableau simplicial Cas d arrêt particuliers Problèmes bornés Problèmes non bornés Sommets multiples Le problème de l arrêt Complexité de l algorithme Problèmes de démarrage Récapitulatif de l algorithme du simplexe Phase Phase Algorithme du simplexe dual

6 4 Table des matières 4 Méthodes du point intérieur Introduction Rappels sur les conditions d optimalité de Karush-Kuhn-Tucker Fonction barrière logarithmique et chemin central Classification des méthodes du point intérieur Méthodes Primales-Duales Cadre de travail Méthodes de suivi du chemin central Méthodes de suivi de chemin à pas courts Méthodes de Prédiction/Correction Méthodes de suivi de chemin à pas longs Méthodes de réduction de potentiel Algorithme Convergence et complexité polynomiale Itéré initial et détection de programme irréalisable Problème homogène auto-dual Méthode de suivi de chemin à itérés non admissibles A Méthodes du point intérieur historiques 75 A.1 La méthode de Karmarkar A.2 Méthode de mise à l échelle affine A.3 Problème de complémentarité linéaire A.3.1 Problème de complémentarité linéaire monotone A.3.2 Problème de complémentarité linéaire mixte A.4 Rappels sur la méthode de Newton A.5 Minimisation linéaire sous contrainte de norme Références

7 Chapitre 1 Introduction 1.1 Définition et formulations des problèmes de programmation linéaire Un problème de programmation linéaire consiste à maximiser ou à minimiser une fonction linéaire z = f 1 x 1 + +f n x n où x R n est le vecteur des variables de décision appartenant à un domaine P décrit par des contraintes linéaires qui peuvent être des égalités et/ou des inégalités larges (1.1). A 1 x 1 +A 2 x 2 + +A n x n = a B 1 x 1 +B 2 x 2 + +B n x n b C 1 x 1 +C 2 x 2 + +C n x n c (1.1) x i 0 i N 1 x i 0 i N 2 où A j R p, a R p, B j R q, b R q, C j R r, c R r, N 1 et N 2 sont des sous-ensembles de {1,,n}. Si i n appartient ni à N 1 ni à N 2 alors la variable de décision x i est libre en signe. Le système (1.1) définit un domaine P appelé domaine des solutions réalisables. x P est une solution réalisable. z = f t x est appelé la fonction objectif ou fonction économique. Les composantes f i sont les coûts. Soit x P une solution réalisable alors une contrainte d inégalité Bj 1x 1 + +Bj nx n b j est dite active si Bj 1x 1 + +Bj nx n = b j sinon elle est dite inactive. Un problème de programmation linéaire se présente donc sous sa forme matricielle la plus générale : [max] ou [min] f t x sous Ax = a Bx b (1.2) Cx c x i 0 i N 1 x i 0 i N 2 Remarque 1 Un problème de maximisation max f t x pouvant toujours être résolu comme le problème de minimisation min f t x, nous adoptons la convention du minimum pour tous les problèmes abordés dans la suite de ce rapport. Définition 1 (solution optimale-coût optimal) On appelle solution optimale toute solution réalisable x pour laquelle la fonction coût est optimale (f t x f t x, x P). f t x est le coût optimal ou optimum. 5

8 6 Introduction Exemple 1 (Commande optimale en temps discret) Considérons un système dynamique dont le modèle d état en temps discret est donné par : x k+1 = Fx k +Gu k, x 0 = x y k = Mx k (1.3) où x k R n est le vecteur d état à l instant k, u k R m est le vecteur de commande à l instant k et y k R est la sortie mesurée à l instant k. On suppose que le vecteur de commande doit vérifier les contraintes linéaires à chaque instant : H k u k h k, k = 0,,T 1 (1.4) où H k R l k m, h R l k. Connaissantx 0 = x, le problème de commande optimale associé est de déterminer la séquence de commande u 0, u 1,,u T 1 amenant l état final x T en l origine 0 de l espace d état en minimisant la sortie du système à chaque instant. max y k (1.5) k=0,,t 1 Un tel problème de commande optimale peut être modélisé comme le problème de programmation linéaire suivant : min v, x k, y k, u j k = 1,,T 1 j = 0,,T 1 sous v v y k v x k+1 = Fx k +Gu k y k = Mx k H k u k h k k = 1,,T 1 k = 0,,T 1 k = 1,,T 1 k = 0,,T 1 (1.6) Le problème (1.6) peut être aisément reformulé en le problème (1.2) avec les notations suivantes (le vecteur des variables de décision est noté X pour le distinguer du vecteur d état du système dynamique) : avec : f = X = v x 1. x T 1 y 1. y T 1 u 0. u T 1 A = [ Ã A ] a = Fx 0 O.. O x T O. O [ ] B = B B c = O (T 1) 1 C = [ 1 O (T 1) (T 1) I T 1 O (T 1) (T 1) ] O I O O O G O O O F I O O O G O O A = O O F I O G O O O F O O O G b = O.. O h 0. h T 1 (1.7) (1.8) (1.9)

9 Définitions et formulations 7 O M O O O 1 O O O O M O O O 1 O O Ã = O (1.10) O O M O O 1 B = [ ] 1 T 1 O (T 1) (T 1) I T 1 O (T 1) T O O H 0 O O (1.11) B = O (1.12) O O H T 1 Lorsque P R 2, il est possible d utiliser une méthode graphique afin de résoudre le problème de programmation linéaire en deux variables. Nous nous servirons de ce cas afin d illustrer les différentes notions présentées dans ce rapport. Exemple 2 (2D) Soit l exemple suivant de problème de programmation linéaire en deux dimensions : J = max x,y sous x 0 y 0 x 2 y 2 x+y 3 2x+y = min x,y 2x y (1.13) y 2 J = 5 1 P (x,y ) = (2,1) 0 f 1 2 f x Figure 1.1 Domaine réalisable et solution optimale pour le problème (1.13) La figure 1.1 permet d illustrer clairement l ensemble des notions qui seront présentées dans la suite de ce rapport et qui sont résumées brièvement par : - Chaque contrainte d inégalité est matérialisée par une droite délimitant deux demi-plans. Le domaine P des solutions réalisables est un polytope formé de l intersection de tous les demiplans réalisables issus des contraintes du problème (1.13). Il est ici représenté en couleur sur la figure 1.1.

10 8 Introduction - Les courbes des iso-coûts ou lignes de niveau f t x = k pour k R sont les droites en bleu dont le gradient est représenté par le vecteur f. L ensemble des solutions réalisables pour lesquelles la fonction coût vaut k est l intersection du polytope P avec la droite f t x = k. - La solution optimale x,y ) = (2,1) est obtenue en choisissant la ligne de niveau dont le coût est maximal et qui a une intersection non vide avec P. On obtient le coût optimal J = 5 pour l intersection de la ligne de niveau avec un des sommets du polytope. 1.2 Variations sur le problème de programmation linéaire La formulation très générale du problème de programmation linéaire (1.2) peut se décliner en différentes formes particulières permettant de vérifier les hypothèses et prérequis des méthodes de résolution et de simplifier la présentation des futurs algorithmes. Définition 2 (Forme canonique) Un programme linéaire est dit sous forme canonique s il s écrit min f t x sous Cx c x O (1.14) Dans un programme linéaire sous forme canonique, toutes les inégalités sont dans le même sens, les variables de décision sont positives ou nulles et les contraintes d égalité en sont absentes à l inverse de la formulation standard. Définition 3 (Forme standard) Un programme linéaire est dit sous forme standard s il s écrit min f t x sous Ax = a x O (1.15) Proposition 1 Tout programme linéaire général (1.2) peut être mis sous forme standard (resp. sous forme canonique). Les passages d une forme à l autre sont possibles à l aide des propriétés élémentaires suivantes. - Toute inégalité est équivalente à une inégalité en multipliant ses termes par 1 ; - Toute égalité est équivalente à deux inégalités : a = O, a R n équivaut ainsi aux deux inégalités : a O, a O ; - Toute inégalité (resp. ) peut être transformée en une égalité au moyen de «variables d écart». Ainsi Bx b (resp. Cx c) devient Bx+Z = b (resp. Cx Z = c) avec Z R q et Z O (resp. Z R r et Z O); - Toute variable x i libre en signe peut être remplacée par deux variables positives ou nulles x + i 0 et x i 0 telles que x i = x + i x i ; Exemple 3 (2D) L exemple académique s écrit sous forme canonique comme : J = min 2x y x,y sous x 0 y 0 x 2 y 2 x y 3 (1.16)

11 Quelques éléments historiques 9 La forme standard de l exemple académique est donc donnée par : J = min 2x y x,y sous x 0 y 0 z 1 0 z 2 0 z 3 0 x+z 1 = 2 y +z 2 = 2 x+y +z 3 = 3 (1.17) Dans de nombreux cas (cf. exemple de la commande optimale en temps discret), le critère à minimiser n est pas un critère linéaire mais linéaire par morceaux. Par exemple considérons le problème min x,y n f i x i i=1 sous Ax b (1.18) où f i 0, i = 1,,n. Deux méthodes permettent de mettre le problème d optimisation (1.18) sous forme d un programme linéaire. 1- On remarque que x i est le plus petit nombre z i tel que x i z i et z i x i conduisant à reformuler le problème (1.18) comme : min x,y n f i z i i=1 sous Ax b x z x z (1.19) - Une méthode alternative consiste à séparer chaque variable de décision en deux nouvelles variables non négatives x i = x + i x i, x+ i 0, x i 0 avec la formulation du problème de programmation linéaire qui s en déduit : min x,y n f i (x + i +x i ) i=1 sous Ax + Ax b x + O x O (1.20) 1.3 Quelques éléments historiques et notes bibliographiques Le développement de la théorie et des outils de la programmation linéaire a réellement pris son essor à partir des années 1940 même si les structures mathématiques sous-jacentes ainsi que quelques éléments algorithmiques ont vu le jour durant la période avec les travaux de J.B. Fourier (fondements de la programmation linéaire et de la méthode du simplexe), T. Motzkin (théorie de l élimination, dualité) Farkas (dualité), Minkowski (dualité), Caratheodory (polyèdres et polytopes), de la Vallée Poussin (méthode d élimination de Motzkin), Von Neuman (théorie des jeux). La fondation de la programmation linéaire en tant que domaine d étude est principalement créditée à D.B. Dantzig auteur de l algorithme du simplexe en 1947 dans le contexte du projet SCOOP (Scientific Computation of Optimal Programs) et du complexe militaro-industriel installé au sein de l US Air Force au Pentagone. L algorithme devait répondre aux besoins de planification des transports lors d opérations militaires modélisés comme un problème de programmation linéaire. Signalons que L.V. Kantorovich, mathématicien et économiste soviétique, a proposé des

12 10 Introduction modèles de programmation linéaire pour des applications industrielles en économie planifiée ainsi qu une méthode expérimentale de résolution par des variables duales, malheureusement non soutenue par une théorie formelle. Cela lui a valu de partager «le prix Nobel» d économie avec T. Koopmans en 1975 [21], [12]. Aussi performant et largement utilisé que peut être l algorithme du simplexe, le fait qu il appartienne à la classe des algorithmes non polynomiaux a incité les chercheurs à proposer d autres algorithmes dont la polynomialité était avérée. Le premier algorithme polynomial pour la programmation linéaire est dérivé de la méthode générale de l ellipsoïde défini par A. Nemirovski (Prix John von Neumann 2003), D. B. Yudin et N. Shor en L. Khachiyan a ainsi construit un algorithme de l ellipsoide adapté à la programmation linéaire en 1979 dont le mérite tient plus à la contribution en théorie de la complexité et à l ouverture ainsi réalisée vers les méthodes polynomiales plutôt qu en son efficacité pratique jugée médiocre. Une nouvelle avancée décisive a été réalisée en 1984 par N. Karmarkar [14], chercheur à IBM qui a proposé, pour la première fois, une méthode des points intérieurs dont il a démontré la complexité polynomiale dans le pire des cas. La majorité des solutions logicielles actuelles sont construites autour de l algorithme du simplexe et d algorithmes des points intérieurs. Sur un sujet devenu une matière d enseignement indispensable dans la majorité des écoles d ingénieurs et des universités, la bibliographie est nécessairement très riche. Nous nous sommes essentiellement appuyés sur les monographies classiques telles que [4], [20], [16], [2], [5], [30], [26], [3], [17], [25].

13 Chapitre 2 Théorie de la programmation linéaire 2.1 Géométrie de la programmation linéaire Cette section a pour but principal de definir les notions géométriques mais également leur interprétation algébrique qui seront nécessaires à la compréhension des solutions algorithmiques utilisées en programmation linéaire. En particulier, nous verrons que la notion de convexité et la géométrie des polyèdres et polytopes vont jouer un rôle prépondérant en programmation linéaire Ensembles convexes, cônes, hyperplans, polyèdres et polytopes Définition 4 (Ensemble convexe) Un sous-ensemble C V d un espace vectoriel V est convexe ssi : x C, y C (1 λ)x+λy C λ [0, 1] Cette définition signifie qu un ensemble C est convexe si le segment joignant deux de ses points quelconques est contenue dans l ensemble C Figure 2.1 Deux ensembles convexes et un ensemble non convexe Propriété 1 - L intersection d une collection arbitraire d ensembles convexes est un ensemble convexe. est convexe. - Si C est convexe et β R, l ensemble : C = i I C i βc = {x R n : x = βc c C} est convexe. - Si C, D sont deux sous-ensembles convexes de V alors l ensemble : est convexe. C +D = {x R n : x = c+d, c C, d D} 11

14 12 Théorie de la programmation linéaire Définition 5 (Combinaison convexe) Soient x 1,,x k R n, une combinaison convexe de x 1,,x k est le vecteur k λ i x i, λ i 0, i=1 k λ i = 1 (2.1) Définition 6 (Enveloppe convexe) - Soit S V, l enveloppe convexe de S, notée co(s), est l ensemble défini comme l intersection de tous les ensembles convexes contenant S. L enveloppe convexe est le plus petit ensemble convexe de V contenant S. co(s) = { λ i x i : x i S λ i 0 λ i = 1} i i - L enveloppe convexe des vecteurs x 1,,x k R n, co{x 1,,x k } est l ensemble de toutes les combinaisons convexes (2.1). Propriété 2 L enveloppe convexe d un nombre fini de vecteurs de R n est un ensemble convexe Figure 2.2 Enveloppes convexes de points et d un ensemble i=1 Définition 7 (Cône) Un sous-ensemble K V est un cône ssi x K, λ 0 λx K. Un cône qui possède la propriété de convexité est un cône convexe Figure 2.3 Deux cônes non convexes et un cône convexe

15 Géométrie de la programmation linéaire 13 Définition 8 (Hyperplan) Soit a 0 R n et c R. L ensemble défini par : est un hyperplan de R n. H = { x R n : a t x = c } x 1 a x 0 x x 2 Figure 2.4 Hyperplan et demi-plan x H, x 1 H, x 2 H + H est une variété linéaire de dimension n 1 de R n. Un hyperplan est la frontière du demi-plan correspondant et le vecteur a est perpendiculaire à l hyperplan. Définition 9 (Demi-plans fermés) Soient a 0 R n, c R. On considère l hyperplan : H = { x R n : a t x = c } On définit alors, à partir de H les demi-plans fermés positif et négatif, donnés par : H + = { x R n : a t x c } qui sont des espaces convexes. H = { x R n : a t x c } Définition 10 (Hyperplan support) Un hyperplan support d un ensemble convexe C tel que int(c) en un point x C est défini par : a 0 R n : a t (x x) 0 x C H S = {x R n a t (x ˆx) = 0} x a H S C Figure 2.5 Hyperplan support d un ensemble convexe C

16 14 Théorie de la programmation linéaire Définition 11 (Polyèdre) Un polyèdre P R n est un ensemble décrit par où C R r n et c R r. P = {x R n : Cx c} (2.2) Un polyèdre est formé comme l intersection d un nombre fini de demi-espaces fermés. Définition 12 (Ensemble borné) Un ensemble S R n est borné s il existe K R tel que la valeur absolue de chaque composante de chaque élément de S est plus petite que K. Définition 13 (Polytope) Un polyèdre convexe et borné est un polytope convexe Figure 2.6 Polyèdre convexe et polytope Ce qui précède permet de définir une des proriétés fondamentales des problèmes de programmation linéaire utilisée en particulier par la méthode du simplexe. Théorème 1 L ensemble réalisable du problème de programmation linéaire (1.2) est un polyèdre convexe borné ou non borné Points extrêmes, sommets, solutions réalisables de base d un polyèdre Nous définissons la notion de point extrême ou de sommet d un polyèdre de deux manières complémentaires. Définition 14 (Point extrême et sommet) - Etant donné un polyèdre P, un vecteur x P est un point extrême de P s il n existe pas deux vecteurs y,z x P et λ ]0,1[ tels que x = λy +(1 λ)z - Etant donné un polyèdre P, un vecteur x P est un sommet de P s il existe un vecteur c tel que c t x < c t y, y x P.

17 Géométrie de la programmation linéaire 15 A 4 A 3 C 1 C 2 A 5 A 2 C A 6 A 1 C 4 C 3 Figure 2.7 Sommets (points extrêmes) de différents ensembles convexes La figure 2.7 présente différents cas de figure d ensembles de points extrêmes. Dans le cas du disque, l ensemble des points extrêmes est C, soit le cercle définissant la frontière du disque alors que pour les deux polytopes, on retrouve classiquement les sommets {A 1,A 2,,A 6 } et {C 1,C 2,C 3,C 4 }. Considérons un polyèdre P défini par les contraintes inégalités et égalités : P = { x R n : a t i x = a i, b t j x b j, i M 1, j M 2 } (2.3) où M 1 et M 2 sont des ensembles finis d indice. Définition 15 (Contrainte active) Si le vecteur x R n vérifie a t i x = a i (resp. b t i x = b i) pour i M 1 (resp. i M 2 ) alors la contrainte associée est dite active en x. Définition 16 (Solution de base) x R n est une solution de base du polyèdre P si : - Toutes les contraintes égalités i M 1 sont actives en x ; - Parmi toutes les contraintes actives en x, n sont linéairement indépendantes i.e. il existe n vecteurs {a i, b i,i I} linéairement indépendants (I ensemble des indices des contraintes actives). Si x est une solution de base satisfaisant toutes les contraintes définissant le polyèdre P alors x est une solution de base réalisable. A E D P F C B Figure 2.8 Solutions de base d un polyèdre

18 16 Théorie de la programmation linéaire La figure 2.8 représente un polyèdre borné en deux dimensions (un polytope en deux dimensions) pour lequel les points A, B, C, D, E, F sont des solutions de base car pour chacun de ces points, deux contraintes sont actives et linéairement indépendantes. Les points C, D, E, F sont des solutions de base réalisables pour le polyèdre P. Le résultat suivant unifie les points de vue géométrique et algébrique définissant la même notion. Théorème 2 SoitP un polyèdre non vide et x R n alors tout sommet (ou point extrême) de P est une solution de base réalisable. De plus, il ne peut exister qu un nombre fini de solutions de base ou de solutions de base réalisables. Définition 17 (Solutions de base adjacentes) Pour un polyèdre P R n donné, deux solutions de base distinctes sont dites adjacentes s il existe n 1 contraintes linéairement indépendantes actives simultanément en ces deux sommets. Si deux solutions adjacentes sont également réalisables alors le segment liant ces deux sommets est une arête de l ensemble réalisable. Dans l exemple de la figure 2.8, A et F sont adjacentes à E et [E, F] est une arête de l ensemble réalisable Cas des polyèdres sous forme standard La définition très générale donnée pour les solutions de base réalisable peut être précisée dans le cas des polyèdres définis sous forme standard. avec les hypothèses suivantes. Hypothèse 1 - Le polyèdre P est non vide ; - A R m n avec m n ; - A est une matrice de rang plein i.e. rang(a) = m. P = {x R n : Ax = a, x O} (2.4) L hypothèse de rang sur A n est pas une hypothèse restrictive. Dans le cas contraire, cela signifie que le système d équations linéaires contient des contraintes redondantes qui peuvent être éliminées pour obtenir un systèmes d équations linéaires vérifiant l hypothèse de rang et définissant un polyèdre identique au polyèdre initial. On définit l ensemble d indices b(1),,b(m), N. Proposition 2 En reprenant la définition 16 et en l appliquant à la forme standard (2.4), il est toujours possible de construire une solution de base x de P sous les hypothèses 1 : - Extraire de la matrice A une sous-matrice A B = [ A b(1) A b(m) ] R m m inversible ; - Choisir x i = 0 i b(1),,b(m); - Résoudre le système linéaire en x B = [ x b(1) x b(m) ] t : La solution de base est alors donnée par : A B x B = a x B = A 1 B a (2.5) x = x b(1). 0 x b(m) 0 (2.6)

19 Géométrie de la programmation linéaire 17 Définition 18 (Matrice de base) Toute sous-matricea B composée des colonnes de base (linéairement indépendantes)a b(1),,a b(m) est appelée matrice de base et ses colonnes forment une base de R m. Cette base sera notée par l ensemble d indices qu elle contient {b(1),, b(m)}. Deux bases sont considérées comme différentes si elles ne sont pas formées à partir des mêmes ensembles d indices (sans tenir compte de l ordre) {b(1),,b(m)}. Exemple 4 (2D) Reprenons l exemple académique défini dans le chapitre introductif. J = min 2x y x,y sous x 2 y 2 x+y 3 x 0 y 0 (2.7) Nous rappelons que la forme standard de l exemple académique est donnée par : J = min 2x y x,y z 1,z 2,z 3 sous x+z 1 = 2 y +z 2 = 2 x+y +z 3 = 3 x 0 y 0 z 1 0 z 2 0 z 3 0 (2.8) Les données de ce programme linéaire sous forme standard s écrivent sous forme matricielle comme : A = a = 2 2 (2.9) En choisissant les colonnes (3,4,5) de A, on obtient la matrice de base A B1 = = [ ] A 3 A 4 A (2.10) La solution de base est donnée par [ ] t [ ] t x y z 1 z 2 z 3 = qui est une solution de base réalisable puisque tous ses éléments sont positifs ou nuls. Par contre, la solution de base x 2 = [ ] t associée à la matrice de base A B2 = = [ A 1 A 2 A 5 ] (2.11) n est pas réalisable. Définition 19 (Variables de base) Les variables dont les indices appartiennent à la base {b(1),, b(m)} sont appelées variables de base. Les autres sont appelées variables hors base.

20 18 Théorie de la programmation linéaire Exemple 5 (Exemple 2D (suite)) Dans le premier cas, les variables de base sont les variables d écart z 1, z 2 et z 3 et les variables hors base sont x, y. Définition 20 (Forme canonique) Un programme linéaire sous forme standard est dit sous forme canonique par rapport à une base {b(1),,b(m)} si la matrice A B est l identité et les coûts correspondant aux variables de base sont nuls. Exemple 6 (Exemple académique (suite)) Le programme linéaire de l exemple académique est sous forme canonique par rapport à la basea B1. Remarque 2 La solution de base associée à une base {b(1),,b(m)} est calculée par inversion du sous-système linéaire inversible A B x B = a pour obtenir les variables de base et en posant les variables hors base égales à zéro. Proposition 3 Pour un problème de programmation linéaire sous forme standard et canonique, les valeurs des variables de base dans la solution de base se lisent dans le vecteur a. Cette proposition est une conséquence du fait que la matrice A B est égale à la matrice identité. Définition 21 (Coût réduit) Soit x une solution de base, A B la matrice de base associée et f B le vecteur de la fonction coût associé aux variables de base. Pour j donné, le coût réduit f j de la variable x j est défini par : f j = f j f t BA 1 B Aj (2.12) Il est à noter que la définition (21) implique en particulier que le coût réduit associé à une variable de base est nécessairement nul. Exemple 7 (Exemple 2D (suite)) Reprenons la solution de base B 2 de l exemple académique. Les variables de base sont les variables x, y, z 3 dont les coûts associés sont donnés par le vecteur fb t 2 = [ ]. Cela permet de calculer les coûts réduits associés à la solution de base B 2. f j = f j fb t 2 A 1 B 2 A j = f j [ ] A j, j = 1,,5 (2.13) Le vecteur des coûts réduits est donc donné par f t = [ ] Dégénérescence La définition des solutions de base ouvre la possibilité pour que le nombre de contraintes actives en une solution de base soit supérieure à la dimension de l espace du polyèdre, définissant ainsi la notion de solution de base dégénérée. Cette notion de dégénérescence des solutions de base peut ainsi affecter très fortement le comportement numérique des algorithmes de programmation linéaire. Elle est donc très importante et doit être précisément définie. Définition 22 (Dégénérescence) - Soit un polyèdre P R n donné sous la forme (2.3). Une solution x de base (réalisable) de P est dite dégénérée si le nombre de contraintes actives en x est supérieur strictement à n.

21 Géométrie de la programmation linéaire 19 - Soit un polyèdre P R n donné sous la forme standard (2.4). Une solution x de base (réalisable) de P est dite dégénérée si plus de n m composantes de x sont nulles. La figure 2.9 illustre que le point A est une solution de base dégénérée alors que le point D est une solution de base réalisable dégénérée. A E D P F C B Figure 2.9 Solutions de base dégénérées Remarque 3 - La dégénérescence des solutions de base réalisables n est en général pas une propriété géométrique du polyèdre (i.e. indépendante de sa représentation). Prenons l exemple du polyèdre P défini de manière équivalente sous forme standard et non standard : P = { x R 3 : x 1 x 2 = 0, x 1 +x 2 +2x 3 = 2, x O } = { x R 3 : x 1 x 2 = 0, x 1 +x 2 +2x 3 = 2, x 1 0, x 3 0 } Le sommet est une solution de base réalisable dégénérée dans le premier cas alors qu elle est une solution de base réalisable non dégénérée dans le second. - Dans le cas standard, il est possible d associer, en général, plusieurs bases à une solution de base dégénérée. Dans ce cas, une ou plusieurs variables de base sont nulles. Dans le sens inverse, un point extrême correspond à une unique solution de base réalisable Existence et optimalité des points extrêmes Dans cette section, les conditions d existence et d optimalité d une solution d un problème de programmation linéaire sont rappelées. Les conditions d existence sont essentiellement liées à l existence d une ligne infinie contenue dans le polyèdre définissant le domaine du problème de PL. Définition 23 (Ligne infinie) Un polyèdre P R n contient une ligne infinie si x P et d 0 R n tels que x = λd P, λ R. Théorème 3 Un polyèdre P non vide possède un point extrême si seulement si P ne contient pas de ligne infinie. En particulier, tout polyèdre borné non vide possède au moins un point extrême. Cela permet de déduire un résultat général quant à l optimalité des points extrêmes.

22 20 Théorie de la programmation linéaire Corollaire 1 Pour le problème de programmation linéaire (PL) : J = min x P où le polyèdre P, on a l alternative suivante : - J = ; - Il existe un point extrême optimal. f x Du fait que tout polyèdre non vide sous forme standard est contenu dans l orthant positif, les résultats précédents peuvent être étendus au cas standard de la façon suivante. Théorème 4 Pour un problème de PL donné sous forme standard (1.15) sous les hypothèses 1, i- S il existe une solution réalisable, il existe une solution réalisable de base ; ii- S il existe une solution réalisable et que la fonction objectif f x est bornée inférieurement sur l ensemble des solutions réalisables, il existe une solution optimale ; iii- S il existe une solution réalisable optimale, il existe une solution réalisable de base optimale. Pour un problème de PL sous forme standard, il suffit de s intéresser aux solutions réalisables de base pour déterminer la solution optimale si elle existe car elle sera toujours atteinte en un de ces points. De plus, des conditions d optimalité peuvent être données en termes des coûts réduits. Théorème 5 Soit x une solution de base réalisable associée à une matrice de base A B et soit f le vecteur correspondant des coûts réduits : - Si f O alors x est optimal ; - si x est optimal et non dégénéré alors f O. De plus, nous avons la définition supplémentaire suivante : Définition 24 (Matrice de base optimale) Une matrice de base A B est dite optimale si les deux conditions suivantes sont vérifiées : 1- A 1 B a O ; 2- f t = f t f B A 1 B A O. Exemple 8 (Exemple 2D (suite)) Reprenons la solution de base B 2 de l exemple académique. Les variables de base sont les variables x, y, z 3 dont les coûts réduits sont donc donnés parf t = [ ] qui vérifie la condition 2 d optimalité. Si l on calcule la première condition, on obtient : A 1 B 2 a = O donc cette solution de base n est pas réalisable comme il a été vu précédemment. En revanche, si l on choisit la base B 3 définie par la matrice : A B3 = A 1 B 3 = et les variables de base x, y, z 2, on obtient alors : A 1 B 3 a = O f 3 = f A t A 1 B 3 f t B 3 = O

23 Théorie de la dualité 21 La base B 3 est donc réalisable et optimale. Du fait de la convexité de l ensemble réalisable non vide d un problème de PL, il est possible de déduire le résultat suivant. Lemme 1 Toute solution d un problème de programmation linéaire qui est une solution minimale locale est une solution minimale globale. Ces résultats ne permettent toutefois pas de se prononcer sur l unicité de la solution optimale du fait de la possibilité de l existence d une infinité de solutions dans le cas où le vecteur f est perpendiculaire à une des contraintes définissant le polyèdre réalisable (lignes de niveau du coût parallèles à une contrainte). 2.2 Théorie de la dualité Pour chaque problème de PL, il est possible de construire un autre problème de PL dit dual à partir des mêmes données (fonction coût, coefficients des contraintes...). Si le problème original, le primal, est un problème de minimisation alors le dual est un problème de maximisation et les valeurs respectives des fonctions objectif sont égales à l optimum si elles sont finies. La construction du programme de PL dual ainsi que l étude de ses propriétés constitue la théorie de la dualité. Elle propose, entre autres, une interprétation économique qui adjoint à chaque contrainte du problème primal une variable duale ou paramètre de Lagrange définissant le prix associé à la violation de la contrainte. La recherche de l ensemble des prix optimaux pour le premier problème peut ainsi se reformuler comme un problème de PL dual opérant sur les variables duales. Elle permet également de comprendre plus profondément les algorithmes de résolution des problèmes de PL et d en proposer de nouveaux Construction du dual d un programme linéaire Reprenons la forme initiale et générale (1.2) du problème de PL présentée en introduction. On note N 3 l ensemble des indices des variables x i qui sont libres et qui ne sont donc pas contraintes en signe. La dualité linéaire est une application particulière de la dualité Lagrangienne qui se définit à partir du Lagrangien construit comme : L(x,λ p,λ q,λ r ) = f t x+λ t p(a Ax)+λ t q(b Bx)+λ t r(c Cx) (2.14) où λ = [ ] λ t p λ t q λ t t r R p+q+r est le vecteur des variables adjointes ou vecteur des variables de Lagrange ou vecteur des variables duales. La fonction L(x,λ p,λ q,λ r ) est construite à partir de la fonction coût du problème (1.2) à laquelle ont été ajoutées des pénalités en cas de violation des contraintes de (1.2). Pour que ces termes additionnels jouent le rôle de pénalités en cas de violation des contraintes, il est nécessaire que les variables de Lagrange vérifient : λ p libre λ q O λ r O (2.15) A partir du Lagrangien, on définit la fonction duale de Lagrange, solution du problème primal relaxé : g(λ) = inf L(x,λ p,λ q,λ r ) = λ t a n [ b + inf fi λ t pa i λ t qb i λ t rc i] x i (2.16) x P x P c i=1 On obtient aisément : inf x P f i λ t M i i N 1 n [ 0, si f i λ t M i i N 2 fi λ t p Ai λ t q Bi λ t r Ci] x i = f i = λ t M i i N 3 i=1 sinon

24 22 Théorie de la programmation linéaire où M i est la ième colonne de la matrice M définie par : M = Ai B i C i De plus, la fonction duale de Lagrange vérifie l inégalité : g(λ) = inf x P λt a n [ b + fi λ t pa i λ t qb i λ t rc i] x i c i=1 (2.17) n [ f t x + fi λ t p Ai λ t q Bi λ t r Ci] x i ft x i=1 Cela signifie que pour chaque valeur du vecteur des variables duales λ, la fonction duale fournit une borne inférieure au coût optimal. Un problème relaxé appelé dual du problème initial peut ainsi être construit afin de trouver la meilleure borne inférieure au coût optimal du problème primal. max g(λ) λ sous λ p libre λ q O λ r O (2.18) On déduit les formulations primale et duale du problème de PL (1.2). Primal min f t x sous Ax = a Bx b Cx c x i 0 i N 1 x i 0 i N 2 x i libre i N 3 Dual max λ t sous a b c λ t M i f i i N 1 λ t M i f i i N 2 λ t M i = f i i N 3 λ p libre λ q O λ r O (2.19) Dans le cas particulier où le problème de PL primal est sous forme standard, on obtient le problème dual suivant : Primal Dual min f t x sous max λ t a sous (2.20) Ax = a λ t A f t x 0 λ libre Exemple 9 (2D) Reprenons l exemple académique (1.13) du chapitre introductif min x,y 2x y sous x 0 y 0 x 2 y 2 x+y 3 (2.21)

25 Théorie de la dualité 23 Avec les notations utilisées dans ce rapport, on a : [ ] 2 f = b = B 1 = B 2 = B = On écrit alors le lagrangien associé : L(x,y,λ) = λ t b+ [ 2 λ t B 1 1 λ t B 2 ][ x y ] (2.22) avec le vecteur des variables duales λ R 3 et λ O. La fonction duale de Lagrange s écrit donc comme : g(λ) = inf x,y P L(x,y,λ) = Le problème dual est donc donné par : λ t b si sinon { 2 λ t B λ t B 2 0 (2.23) max λ sous 2λ 1 +2λ 2 +3λ 3 λ O 2 λ 1 λ λ 2 λ 3 0 (2.24) La construction du problème primal fait apparaître une transformation formelle permettant de passer de la formulation primale à la formulation duale et associe à chaque contrainte du primal, hors contraintes de signe, une variable duale qui aura un signe imposé si la contrainte primale est une inégalité. Pour chaque variable du primal, une contrainte duale inégalité est introduite si la variable est signée ou égalité si la variable est libre. Enfin, la transformation est involutive : Proposition 4 Le dual d un dual est un programme linéaire équivalent au primal. De plus, il est possible de montrer que les opérations permettant de transformer un primal en un primal équivalent ne détruisent pas la dualité. Théorème 6 On suppose qu un problème de PL (P 1 ) a été transformé en un problème de PL équivalent (P 2 ) par les opérations suivantes : - Remplacer une variable libre de (P 1 ) par la différence de deux variables d écart positives ; - remplacer une contrainte inégalité par une contrainte égalité par l introduction d une variable d écart positive ; - éliminer les contraintes égalités redondantes. Les problèmes de PL duaux (P 1 ) et (P 2 ) sont équivalents (ils sont irréalisables ou ont la même solution optimale) Théorème fondamental de la dualité Dans la section précédente, la notion de dualité a été essentiellement présentée du point de vue formel. Les relations et propriétés partagées par le problème de PL primal et son dual peuvent être synthétisées dans le théorème fondamental de la dualité proposé initialement, sans démonstration,

26 24 Théorie de la programmation linéaire par John Von Neumann en 1947 puis démontré rigoureusement par Gale, Kuhn et Tucker en s appuyant sur le lemme de Farkas en Pour présenter ce résultat, nous reprenons la formulation symétrique de Von Neumann du problème de PL et de son dual. Primal min f t x sous Ax b x O Dual max b t λ sous A t λ f λ O (2.25) où A R m n. Théorème 7 (Dualité faible) Si x est une solution réalisable du problème primal (2.25) et λ est une solution réalisable du problème dual (2.25) alors : λ t b f t x (2.26) Ce résultat montre qu une solution réalisable d un des problèmes de PL qui sont en relation de dualité fournit une borne à la valeur de l autre problème. De ce premier résultat, il est possible d établir le résultat fondamental du à Von Neumann. Théorème 8 (Dualité forte) Si l un ou l autre des problèmes de PL (2.25) ont une solution optimale finie alors l autre a nécessairement une solution optimale finie et les valeurs respectives des fonctions objectif sont égales. f t x = λ t b (2.27) Théorème 9 Quand deux problèmes de PL sont en dualité, seuls les trois cas suivants peuvent se produire. 1. Le problème de Pl primal et le problème dual ont chacun au moins une solution réalisable. Les deux problèmes sont bornés et réalisent le même objectif à l optimum (principe de la dualité de Von Neumann); 2. L un des deux problèmes de PL n a pas de solution réalisable et l autre a une solution réalisable. Ce dernier est non borné. 3. Aucun des deux problèmes de PL n a de solution réalisable. Exemple 10 (2D) Si nous reprenons l exemple en 2 dimensions dont les formes primale et duale sont rappelées cidessous : Primal 2x y min x,y sous x 0 y 0 x 2 y 2 x+y 3 Dual max λ sous 2λ 1 +2λ 2 +3λ 3 λ 1 0 λ 2 0 λ λ 1 λ λ 2 λ 3 0 Le problème primal une solution réalisable optimale donnée par (x,y ) = (2,1) alors que le problème possède également une solution réalisable optimale calculée comme(λ 1,λ 2,λ 3 ) = ( 1,0, 1).

27 Théorie de la dualité 25 Exemple 11 Considérons le problème de PL primal suivant : p = min x [ ] 1 1 µ sous [ ] 0 1 x = 1 x 0 Il apparaît clairement que ce problème primal ne peut avoir de solution réalisable puisque la contrainte linéaire conduit à x 2 = 1 qui est en contradiction avec la contrainte de positivité des variables de décision. On a donc p =. Si l on calcule le dual de ce problème de PL, on obtient alors : d = max λ λ sous [ 0 1 ] [ 1 λ 1 qui est un problème non borné et pour lequel on obtient d = confirmant l irréalisabilité du problème primal. Remarque 4 Si le problème primal est donné sous la forme standard suivante : ] le problème dual associé sera défini par : min x sous max λ sous f t x Ax = a x O a t λ A t λ f (2.28) (2.29) Cette paire de problèmes de PL correspond à la forme asymétrique de la dualité en programmation linéaire Théorème des écarts complémentaires La relation entre les solutions d un problème primal et les solutions du problème dual associé est définie par le théorème connu sous le nom de «théorème des écarts complémentaires» ou «théorème des relations d exclusion». Pour le formuler, nous reprenons la paire de problèmes de PL primal-dual donnée par la formulation symétrique de Von-Neumann : Primal min f t x sous Ax b x O Dual max b t λ sous A t λ f λ O (2.30) où A R m n.

28 26 Théorie de la programmation linéaire Théorème 10 (Théorème des écarts complémentaires) Soient x et λ deux solutions respectivement réalisables du problème primal et du problème dual. Les vecteurs x et λ sont des solutions respectivement optimales pour le problème primal et le problème dual si et seulement si : λ i (A i x b i ) = 0 i = 1,,m (f j λ t A j )x j = 0 j = 1,,n (2.31) Remarque 5 Le théorème des écarts complémentaires a été donné pour la paire de problèmes sous la formulation symétrique de Von-Neumann mais il peut être donné pour n importe quelle paire duale. Différents commentaires peuvent être faits sur le théorème des écarts complémentaires : - Si l on introduit des variables d écart z i 0, i pour les contraintes inégalités du problème primal et des variables d écarts w i 0, i pour les contraintes inégalités du problème dual, les conditions de complémentarité (2.31) deviennent : λ i z i = 0 i = 1,,m w j x j = 0 j = 1,,n (2.32) - La première condition est toujours vérifiée si le problème primal est sous forme standard. Si le problème primal a une solution optimale x telle que l inégalité A i x > b i est vérifiée alors le théorème de complémentarité implique nécessairement que la variable duale associée à cette inégalité est telle que λ i = 0. Toute contrainte inactive à l optimum peut être supprimée du problème primal sans modifier la valeur du coût optimal et il est donc inutile d y associer une pénalité λ i non nulle. - Si le problème primal est sous forme standard alors pour toute variable de base réalisable optimale non dégénérée x j 0, la seconde condition de complémentarité λ t A j = c j permet d obtenir le vecteur des variables duales par l inversion d un système linéaire : λ t = f B A 1 B où f B est le sous-vecteur du critère primal correspondant aux variables de base. Théorème 11 (Théorème des écarts complémentaires stricts) Si un problème de PL a une solution optimale alors il existe une solution optimale (x,z ) du problème primal et une solution optimale (λ,w ) du problème dual telles que x + w > 0 et λ +z > 0. Exemple 12 (2D) Si nous reprenons l exemple en 2 dimensions dont les formes primale et duale sont rappelées cidessous : Primal 2x y min x,y sous x 0 y 0 x 2 y 2 x+y 3 Dual max λ sous 2λ 1 +2λ 2 +3λ 3 λ 1 0 λ 2 0 λ λ 1 λ λ 2 λ 3 0 Le problème de PL primal a une solution optimale donnée par(x,y ) = (2,1) alors que le problème de PL dual a une solution optimale donnée par (λ 1,λ 2,λ 3 ) = ( 1,0, 1). Les deux solutions optimales primale et duale montrent que les variables d écart primales(z1,z 2,z 3) et duales(w1,w 2) optimales sont calculées comme : z 1 = 0 w 1 = 0 z 2 = 1 w 2 = 0 z 3 = 0

29 Théorie de la dualité 27 Il est donc possible de retrouver les conclusions du théorème des écarts complémentaires stricts. z 1 λ 1 = 1 > 0 w 1 +x = 2 > 0 z 2 λ 2 = 1 > 0 w 2 +y = 1 > 0 z 3 λ 3 = 1 > 0 Notons que, dans le contexte général de l optimisation sous contraintes, le système de conditions nécessaires et suffisantes d optimalité donné par le théorème des écarts complémentaires peut être obtenu par application des conditions d optimalité de Karush-Kuhn-Tucker (KKT). Reprenons le problème de PL sous forme standard et son dual où l on a introduit les variables d écartw i 0, i. Primal Dual min f t x sous Ax = a x O max sous a t λ A t λ+w = f (2.33) où A R m n. L application des conditions de KKT au problème primal nous dit que la solution du problème primal (4.1) doit vérifier le système de conditions suivant : (λ R m,w R n ) tels que Ax = a A t λ+w = f x i w i = O, i = 1,,n (x,w) O (2.34) avec λ et w définis comme les multiplicateurs de Lagrange associés aux contraintesax = a et x 0 respectivement. On retrouve que la seconde équation de ce système est identique à la contrainte d égalité du problème dual défini par (2.33). De plus, en vérifiant que pour toute paire de vecteurs u et v tels que (u,v) 0 u i v i = 0, i i u i v i = 0 u t v = 0, il vient alors qu une solution x est optimale si et seulement si Ax = a (λ R m,w R n A t λ+w = f ) tels que x t w = O (x,w) O (2.35) Ces dernières conditions expriment la propriété de dualité forte : une condition nécessaire et suffisante d optimalité d une solution au problème primal est l existence d une solution admissible (λ,w) au problème dual telle que le saut de dualité est nul. Le saut de dualité étant l écart entre le coût primal et dual, f t x a t λ, un saut de dualité nul se déduit facilement de la condition x t w = 0 : w t x = (f A t λ)x = f t x λ t (Ax) = f t x a t λ. De façon similaire, les conditions KKT pour le problème dual sont données par le système d équations (2.35), imposant ainsi l existence d une solution primale x admissible avec un saut de dualité nul.

30 28 Théorie de la programmation linéaire Solution de base duale et dégénérescence duale Soit un problème primal de PL donné sous forme standard. min x sous f t x Ax = a x O (2.36) où A R m n est de rang plein en ligne. Son dual s écrit alors comme : max λ sous a t λ A t λ f (2.37) Il est alors possible d établir des relations entre les solutions de base primales, les solutions de base duales et de déduire une condition de dégénérescence du dual. Théorème 12 - Toute solution de base primale de matrice de base A B détermine également une solution de base duale donnée par : λ = A t B f B (2.38) - La solution de base duale est réalisable si et seulement si tous les coûts réduits associés f j sont non négatifs. - Pour cette solution de base duale, les coûts réduits tels que f j = 0 correspondent à des contraintes actives du problème dual. - Cette solution de base duale est dégénérée si et seulement si au moins une des variables hors base a un coût réduit nul. Exemple 13 Soit le problème primal de PL sous forme standard : min 14x 1 10x 3 sous x 1 x 2 +x 3 +z 1 = 3 2x 1 +x 2 +4x 3 +z 2 = 8 5x 1 x 2 +x 3 +z 3 = 5 x 1, x 2, x 3, z 1, z 2, z 3 0 (2.39) dont le dual A B = max 3λ 1 +8λ 2 +5λ 3 sous λ 1 +2λ 2 +5λ 3 14 λ 1 +λ 2 λ 3 0 λ 1 +4λ 2 +λ 3 10 λ 1, λ 2, λ 3 0 x B = A 1 B a = (2.40) Si l on choisit une base donnée par sa matrice de base A B, ses variables de base x B et sa solution x : x =

31 Théorie de la dualité 29 une solution de base duale associée est calculée par : λ = A t B = Le calcul des coûts réduits associés à cette solution de base donne : 0 0 f = On en déduit que la solution de base duale est réalisable mais dégénérée. Les quatre premières contraintes du problème dual sont actives en cette solution de base pour un espace paramétrique de dimension Analyse de sensibilité L analyse de sensibilité se définit comme l étude de l influence de perturbations dans les données d un problème de PL sur la solution et le coût optimaux. Elle s intéresse également à l évolution de la solution et du coût optimaux quand on ajoute/supprime une contrainte/variable. Cette section présente un résumé de quelques résultats d analyse de sensibilité. Un exposé détaillé des résultats d analyse de sensibilité et de programmation linéaire paramétrique pourrait en effet faire l objet d un chapitre complet [2], [25], [7]. Pour cette présentation, nous reprenons le problème de PL primal écrit sous forme standard (2.36) et son dual (2.37). On suppose qu une base optimale donnée par la matrice A B a été calculée ainsi que sa solution optimale de base x B = A 1 B a. Les deux conditions suivantes sont alors vérifiées : x B = A 1 B a O f At A t B f B O (2.41) La première condition correspond à la réalisabilité de la solution optimale du problème primal alors que la seconde traduit son optimalité. Le principe de l analyse de sensibilité consiste à étudier comment ces conditions sont affectées par des perturbations dans les données (A, a, f) du problème de PL ou par des additions/suppressions de contraintes/variables. Nous omettons ici les résultats concernant les perturbations sur la matrice A qui sont plus complexes à appréhender. Théorème 13 - Si un des éléments de a ou de f est altéré par une perturbation δ, l intervalle de valeurs de δ pour lesquelles la base de départ reste optimale peut être calculé explicitement. 1- Le second membre perturbé est donné par ã = a + δe i. La condition d optimalité n est pas affectée par ce changement alors que la condition de réalisabilité est toujours vérifiée pour δ tel que : ( ) ( ) max {j a B ji >0} x b(j) a B ji δ min {j a B ji <0} x b(j) a B ji (2.42) où a B ji est l élément ji de la matrice A B. Pour δ vérifiant cette condition, le coût optimal associé au problème perturbé devient : λ t a+δλ i (2.43) Si δ est en dehors de cet intervalle, la solution optimale initiale vérifie la condition d optimalité primale (duale réalisable) mais n est pas réalisable pour le primal.

32 30 Théorie de la programmation linéaire 2- Si l un des éléments de la fonction coût est perturbé par f j = f j +δ alors la condition de réalisabilité n est pas affectée. δ f j si j hors base δq li f i i j si j = b(l) base (2.44) où q li est l élément l de A 1 B Ai. - Si une nouvelle variable x n+1 est ajoutée avec la colonne associée A n+1 et le coefficient de coût f n+1, la base A B reste optimale si et seulement si le coût réduit associé f n+1 = f n+1 f t B A 1 B An+1 0 (2.45) - Si une nouvelle contrainte inégalité α t x β est ajoutée alors la base A B reste optimale si la condition suivante est vérifiée. α t BA 1 B a β 0 (2.46) Exemple 14 (2D (suite)) Si l on ajoute la contrainte 2x y 6 au problème de PL académique, la condition (2.46) s écrit alors : [ ][ 2//2//1 ] = 6 6 avec α = [ ], α B = [ ] et β = 6. La base A B3 reste donc optimale malgré l addition de cette contrainte. Cela est parfaitement logique puisque cette contrainte ne change pas le domaine réalisable. A l inverse, si l on considère la contrainte donnée par x 1, on obtient la condition (2.46) : [ ][ 2//2//1 ] = 2 1 avec α = [ ], α B = [ ] et β = 1. La condition (2.46) n est plus vérifiée et la base A B3 n est plus optimale pour ce nouveau problème de PL. 2.3 Théorie de la complexité et programmation linéaire Introduction La présentation de cette section ne se veut pas complètement rigoureuse ni exhaustive mais a pour objectif d exposer les principales définitions permettant d aborder les questions élémentaires de complexité des algorithmes de résolution des problèmes de PL du point de vue pratique. On pourra se reporter à la référence [11] pour un exposé plus complet sur la théorie de la complexité et [27, chapitre 3], [30, section 1.4], [2, section 11.8], [18, chapitre 3] pour des éléments de théorie de la complexité en programmation linéaire. La théorie de la complexité étudie les ressources en termes de temps de calcul et d espace mémoire, nécessaires à la résolution d un problème par un calculateur. En particulier, elle a pour objet de définir des grandes classes de problèmes en fonction de leur complexité supposée de résolution. Pour réaliser cette classification, il faut définir précisément et formellement les notions de problème, d algorithme et enfin ce que l on entend par complexité. Un problème est en général défini comme une question à résoudre pour un ensemble de paramètres ou de variables libres dont la valeur n est pas spécifiée. Un jeu de données (instance en anglais) est obtenu en attribuant des valeurs particulières à l ensemble de ces paramètres. La théorie de la complexité s applique particulièrement aux problèmes de décision plutôt qu aux problèmes d optimisation. Dans le premier cas, il s agit d établir pour le problème une solution de type oui/non ou 0/1 comme réponse à la question posée. Le problème de décision est défini alors comme une fonction de l ensemble des données vers {0, 1}. Il est toutefois toujours possible de transformer le problème d optimisation en problème de décision (en imposant une borne sur la valeur à optimiser) et d y appliquer la théorie de la complexité.

33 Théorie de la complexité et PL 31 Un algorithme est défini de manière générale comme une procédure composée d étapes élémentaires. Un algorithme A est dit résoudre un problème P s il peut être appliqué pour n importe quel jeu de données I de P et est garanti de toujours produire une solution pour ce jeu de données I. Un algorithme est souvent assimilé à un programme d ordinateur écrit dans un langage particulier. Quoique de portée générale, la théorie de la complexité nécessite de définir précisément le modèle de machine utilisé. Citons par exemple la machine de Turing déterministe, la machine de Turing non déterministe ou la machine de Von Neumann. Les notions présentées dans cette section sont principalement définies dans le cadre de la machine de Turing et de l arithmétique rationnelle. Cherchant en général l algorithme le plus «efficace» pour résoudre un problème donné, il est naturel d essayer de définir une mesure de cette efficacité. Le temps d exécution de l algorithme défini comme une fonction de la taille du jeu de données du problème à résoudre est généralement le facteur dominant déterminant l efficacité pratique d un algorithme dans la résolution d un problème donné. La taille du jeu de données dépend quant à elle du schéma de codage retenu pour l entrée des données. Le calcul de la complexité en temps sera donc dépendant du modèle de la machine et du schéma de codage utilisés. Toutefois, la théorie générale de la complexité et les quelques éléments présentés ici restent valides en dépit de ces différences si l on garde à l esprit que les résultats sont obtenus pour un codage particulier et un modèle de machine donné Complexité d un algorithme et d un problème Soit un algorithme A résolvant un problème P sur les données I. On définit ν(i) N mesurant la longueur d écriture des données I au moyen d un alphabet fini (ensemble fini de symboles). ν(i) représente la taille du problème, i.e. la taille mémoire nécessaire afin de stocker l ensemble des données I du problème P. Par exemple, en programmation linéaire (sous forme standard), les données sont constituées par les éléments du triplet (A, a, f). La taille n (parfois également m) de la matrice A définit la dimension du problème de PL. De plus, on associe la complexité c(a,i) N à la paire (A, I) pour mesurer le nombre d étapes élémentaires de la résolution du problème P sur les données I à l aide de l algorithme A. Différents types de complexité sont usuellement utilisés dans le domaine de l analyse de complexité : complexité dans le pire des cas, complexité moyenne, complexité asymptotique... Seuls les deux premiers types sont définis dans ce document. La majorité des calculs de complexité se fondent sur l analyse dans le pire des cas. Définition 25 (Complexité dans le pire des cas) Le calcul de complexité dans le pire des cas consiste à déterminer une borne supérieure sur le temps d exécution requis pour résoudre un problème donné avec n importe quel jeu de données I. Formellement, si tout jeu de données I appartient à l ensemble I p alors la complexité dans le pire des cas c pc (A) se définit comme : c pc (A) = sup I I p c(a,i) (2.47) Toutefois, l analyse de complexité de certains algorithmes (l algorithme du simplexe en est un exemple typique) a montré de grands écarts entre la complexité calculée dans le pire des cas et les performances relevées pour certains jeux de données typiques. Pour pallier ce défaut, les algorithmes peuvent être également caractérisés par une complexité moyenne. Définition 26 (Complexité moyenne) On suppose que l ensemble des données possibles est noté I p et que l on dispose d une distribution de probabilités sur I p alors la complexité moyenne de l algorithme A est calculée par : c m (A) = E I Ip [c(a,i)] (2.48)

34 32 Théorie de la programmation linéaire Classes de complexité Définition 27 (Algorithme et problème polynomial) Un algorithme A résolvant un problème P est polynomial si, pour toute donnée I, il existe un polynôme Q tel que c(a,i) = O(Q(ν(I)). Cela signifie qu il existe une constante k telle que : c(a,i) kq(ν(i)) Un algorithme pour lequel une telle constante k n existe pas est appelé algorithme en temps exponentiel. Un problème P sera dit polynomial s il existe un algorithme A polynomial résolvant ce problème P. La classe des problèmes polynomiaux est notée classe P. Le modèle de calcul pour définir la classe P est la machine de Turing déterministe. La notation usuelle pour la complexité polynomiale c(a,i) est donnée par O(p α1 1 pα2 2 ) où les p i sont des paramètres du problème P. La notation signifie que c(a,i) se comporte comme le monôme p α1 1 pα2 2 quand les p i tendent vers l infini. La classe des algorithmes polynomiaux est considérée de manière générale comme une classe d algorithmes efficaces en pratique et la classe des problèmes P comme une classe de problèmes «faciles» à résoudre à l inverse des algorithmes nécessitant un temps exponentiel de calcul pour la résolution d un problème P. Définition 28 (Problèmes NP) Un problème est dit appartenir à la classe N P s il peut être résolu en temps polynomial par une machine de Turing non déterministe. Un des questionnements majeurs en théorie de la complexité concerne la question P = NP?. De manière non rigoureuse, on peut définir la classe P comme la classe des problèmes qui peuvent être résolus rapidement alors que la classe NP est celle des problèmes dont une solution peut être validée rapidement. La seule relation clairement identifiée entre les deux classes est P NP puisque les machines de Turing déterministes forment une sous-classe des machines de Turing non-déterministes. Si P NP alors une autre sous-classe de problèmes peut être définie. Afin de définir cette classe de manière rigoureuse, il est nécessaire d introduire la notion de transformation polynomiale. Définition 29 (Transformation polynomiale) Un problème P se transforme en temps polynomial en le problème P (avec la notation P P ) s il existe un algorithme en temps polynomial tel que la solution, pour un jeu de données I de P est identique à la solution pour un jeu de données I pour le problème P. Deux problèmes P et P seront polynomialement équivalents si P P et P P. La signification principale d une transformation polynomiale d un problème est liée essentiellement au résultat suivant. Lemme 2 Si P P alors P P P P. Définition 30 (Problèmes NP-complets) Un problème P est dit NP-complet si P NP et pour tout problème P NP alors P et P sont polynomialement équivalents. Un exemple de problème NP-complet est donné par celui du problème de décision du voyageur de commerce. De manière informelle, la classe P peut être considérée comme la classe des problèmes les plus «faciles» à résoudre de NP alors que la classe des problèmes NP-complets regrouperait la classe des problèmes «les plus difficiles» à résoudre de NP. Enfin, si l on ne se limite pas à la classe des problèmes NP, on peut définir une dernière classe. Définition 31 (Problèmes NP-difficiles) Un problème P tel que tout problème P NP-complet peut être polynomialement transformé en P, P P, P NP-complet est un problème NP-difficile.

35 Théorie de la complexité et PL 33 Le problème d optimisation du voyageur de commerce est un problème NP-difficile.

36 34 Théorie de la programmation linéaire

37 Chapitre 3 Algorithme du simplexe L algorithme du simplexe permet de résoudre des programmes linéaires en nombres réels uniquement. Bien que sa complexité dans le pire des cas soit exponentielle, il se comporte très bien sur les programmes linéaires issus de «vrais» problèmes et souvent bien mieux que des algorithmes concurrents de meilleure complexité dans le pire des cas. Il a été inventé par George Dantzig en Dans l algorithme du simplexe, on commence par transformer le programme linéaire à traiter en un programme linéaire équivalent sous forme standard. Il ne reste alors plus qu à déterminer une solution optimale d un programme linéaire sous forme standard. L algorithme du simplexe consiste à se déplacer d un sommet du polyèdre en un autre sommet du polyèdre tout en augmentant l objectif économique. Ce raisonnement est valable parce que le polyèdre des solutions réalisables est convexe : il n y a pas de risque de se trouver coincé dans un minimum local. La convexité découle du fait que les contraintes sont données par des expressions linéaires. 3.1 Cas favorable Exemple 15 (Boulanger) Un boulanger veut produire des rouleaux de pâte brisée (prix de vente : 4 euros le rouleau) et des rouleaux de pâte feuilletée (prix de vente : 5 euros le rouleau). La production d un rouleau de pâte brisée nécessite 2 kilos de farine et 1 kilo de beurre. Celle d un rouleau de pâte feuilletée 1 kilo de farine, 2 kilos de beurre et 1 kilo de sel. Comment maximiser les bénéfices sachant qu il dispose d un stock de 8000 kilos de farine, 7000 kilos de beurre et 3000 kilos de sel? On a affaire à un programme linéaire en deux variables : 1. x 1 le nombre de milliers de rouleaux de pâte brisée à produire 2. x 2 le nombre de milliers de rouleaux de pâte feuilletée à produire Mathématiquement, le programme linéaire s écrit : max 4000x x 2 2x 1 +x 2 8 (farine) x 1 +2x 2 7 (beurre) x 2 3 (sel) x 1, x 2 0 (x 1, x 2 R) On le met sous forme standard en utilisant trois variables d écart x 3, x 4 et x 5. maxz = 4000x x 2 2x 1 +x 2 +x 3 = 8 x 1 +2x 2 +x 4 = 7 x 2 +x 5 = 3 x 1,...,x

38 36 Algorithme du simplexe Sous forme matricielle, on a : f t x = maxz Ax = a x Initialisation avec f = ,A = ,a = 8 7,x = On commence par extraire de la matrice une base I qui soit «réalisable» et telle que le programme linéaire soit «sous forme canonique par rapport à elle». Comme on va le voir, la liste I = (3, 4, 5) des indices des variables d écart fournit une telle base. A = Définition 32 Soit I une base. Les variables dont les indices appartiennent à I sont appelées variables de base. Les autres sont appelées variables hors base. Les variables de base sont ici les variables d écart x 3, x 4 et x 5. Définition 33 Un programme linéaire sous forme standard est dit sous forme canonique par rapport à une base I si la matrice A I est l identité et les coûts correspondant aux variables de base sont nuls. Le programme linéaire de l exemple est sous forme canonique par rapport à la base I. Définition 34 On suppose une base fixée. On appelle solution de base la solution x du système Ax = a obtenue en posant les variables hors base égales à zéro.. x 1 x 2 x 3 x 4 x 5. La solution de base I est ici x = x 1 x 2 x 3 x 4 x 5 = Définition 35 Une base est dite réalisable si la solution de base qui lui correspond est réalisable. La solution de base est par définition une solution du système Ax = a. Il ne reste plus qu à vérifier la contrainte de positivité des variables, qui n est pas exprimée par les équations. La base I choisie dans l exemple est donc réalisable. Proposition 5 Les valeurs des variables de base dans la solution de base se lisent dans le vecteur a. C est une conséquence du fait que la matrice A I est l identité. On associe un sommet du polyèdre D à chaque solution de base : on l obtient en supprimant, dans la solution de base, les coordonnées correspondant aux variables introduites par la mise sous forme standard. Dans notre cas, on supprime les coordonnées d indice 3, 4 et 5, qui correspondent

39 Cas favorable 37 aux variables d écart. Sur l exemple, le sommet associé à la solution de base I est l origine x 1 = x 2 = 0. On définit z 0 comme la constante pour laquelle la droite de l objectif f t x = z 0 passe par le sommet associé à la solution de base x. Dit autrement : Définition 36 On définit z 0 comme l objectif économique évalué sur la solution de base : z 0 = def f t x. On forme un premier «tableau simplicial» à partir du programme linéaire et de la base I choisie en bordant la matrice A à droite avec le vecteur a, à gauche avec le vecteur des variables de base et en dessous avec l objectif. On place chaque variable de base sur la ligne où figure sa valeur dans la solution de base. On initialise la case en bas à droite à z 0. Comme la base initiale est formée des variables d écart qui ne contribuent pas à l objectif on a z 0 = Invariants de boucle x 1 x 2 x 3 x 4 x 5 x x x L algorithme du tableau simplicial s écrit schématiquement ainsi : Algorithme 1 Algorithme du tableau simplicial Former le premier tableau simplicial ; Tant que Ce n est pas fini Faire Former le tableau simplicial suivant (et changer de base) Fin tant que Définition 37 Un invariant de boucle «tant que» est une propriété vraie à chaque fois que la condition du «tant que» est évaluée. Un invariant de boucle «tant que» doit donc être vrai au début de la première itération. Il doit aussi être vrai lorsque la boucle s arrête, c est-à-dire lorsque la condition s évalue en «faux». Combiné à la négation de la condition, l invariant permet alors de déduire les propriétés des variables calculées par la boucle. Proposition 6 (invariants de boucle) Les propriétés suivantes sont des invariants de l itération principale de l algorithme du tableau simplicial : 1. Le programme linéaire est sous forme canonique par rapport à la base. 2. La base est réalisable (les éléments de la dernière colonne sont positifs ou nuls). 3. Les variables de base sont listées sur la première colonne. 4. La case en bas à droite vaut z L itération principale Il s agit d un pivot de Gauss Jordan muni d une stratégie spéciale pour choisir le pivot. Dans ce paragraphe, on se contente d énoncer l algorithme. On remarque que l algorithme ne peut pas conclure au fait que le programme linéaire est sans solution réalisable. Ce cas-là est traité dans le paragraphe intitulé «problèmes de démarrage».

40 38 Algorithme du simplexe Pour choisir la colonne s du pivot, on cherche sur la dernière ligne (objectif) le coefficient (le coût) le plus grand. Si ce coût est négatif ou nul on s arrête : une solution optimale est trouvée. S il est positif, la colonne du pivot est trouvée. Sur l exemple, la colonne du pivot est la colonne s = 2 (correspondant à x 2 ). On cherche ensuite s il existe au moins un élément strictement positif sur la colonne du pivot (on ne cherche pas sur la ligne de l objectif). S il n y en a pas alors on s arrête : le problème n est pas borné (il n y a pas de solution optimale). Parmi toutes les lignes contenant un élément strictement positif, on choisit pour ligne du pivot une ligne r telle que le rapport a r /A s r est minimal. Sur l exemple, on est amené à comparer les rapports 8/1, 7/2 et 3/1. Le rapport minimal est 3/1. La ligne du pivot est donc la ligne r = 3. On applique une étape du pivot de Gauss Jordan : on multiplie la ligne r par l inverse du pivot (de telle sorte que le pivot devienne 1) et on ajoute un multiple de cette ligne à toutes les autres lignes (ligne d objectif et dernière colonne incluses) de façon à faire apparaître des zéros sur la colonne du pivot. Enfin on change de base en faisant sortir de la base la variable x 5 qui se trouve sur la ligne du pivot dans le tableau simplicial et en la remplaçant par la variable x 2 correspondant à la colonne du pivot. Sur l exemple, on obtient Et on recommence. Proposition 7 Les invariants sont à nouveau vérifiés. x 1 x 2 x 3 x 4 x 5 x x x On vérifie que le nouveau programme linéaire est sous forme canonique par rapport à I. Au passage, on remarque que l ancienne base I est toujours une base (le pivot de Gauss ne change pas les bases) mais que le nouveau programme linéaire n est pas sous forme canonique par rapport à elle. La solution de base I obtenue en posant les variables hors base x 1 et x 5 égales à zéro est x = x 1 x 2 x 3 x 4 x 5 = Comme toutes ses coordonnées sont positives ou nulles, la base I est réalisable. On a aussi que les valeurs des variables de base I se lisent sur la colonne a et que le réel en bas à droite vaut bien z 0 = t f x = 4000x x 2 = Proposition 8 Le sommet associé à la nouvelle base est adjacent au sommet associé à l ancienne. Le sommet associé à la nouvelle base est le sommet (x 1, x 2 ) = (0, 3). La droite parallèle à la droite de l objectif qui passe par ce sommet a pour équation 4000x x 2 = Proposition 9 La valeur de z 0 a augmenté

41 Cas favorable Quelques remarques Le fait de choisir une colonne sur laquelle le coût est non nul fait que la variable qui entre en base est bien une variable hors base (cf. le premier invariant). Le choix de la colonne du pivot est heuristique. On peut en fait choisir n importe quelle colonne sur laquelle le coût est positif. Sur l exemple, on aurait pu faire entrer en base la variable x 1. On s interdit de choisir une colonne sur laquelle le coût est négatif pour ne pas faire diminuer l objectif réalisé. Le choix de la ligne n est pas heuristique. On voit sur l exemple que si on choisit une autre ligne que celle donnée par l algorithme on obtient des nombres négatifs sur la colonne des seconds membres c est-à-dire une base non réalisable Fin de l exemple La colonne du pivot est la colonne s = 1 correspondant à x 1. La ligne du pivot est la ligne r = 2. La variable x 4 sort de la base. La variable x 1 y entre. Le programme linéaire est sous forme canonique par rapport à la base I = (3, 1, 2). La solution de base I correspond au sommet (x 1, x 2 ) = (1, 3). x 1 x 2 x 3 x 4 x 5 x x x La colonne du pivot est la colonne s = 5 correspondant à x 5. La ligne du pivot est la ligne r = 1. La variablex 3 sort de la base. La variablex 5 entre. Le programme linéaire est sous forme canonique par rapport à la base I = (5, 1, 2). La solution de base I correspond à la solution (x 1, x 2 ) = (3, 2). x 1 x 2 x 3 x 4 x 5 x /3 2/3 1 1 x /3 1/3 0 3 x /3 2/ Tous les coûts sont négatifs ou nuls (critère d arrêt de l algorithme). La solution de base I est donc optimale. L objectif atteint pour cette solution est z 0 = On vérifie que les trois propositions énoncées ci-dessus sont vérifiées à chaque itération Programme sous forme canonique associé à un tableau simplicial On a compris sur un exemple qu à tout programme linéaire sous forme canonique avec seconds membres positifs ou nuls on pouvait associer un tableau simplicial satisfaisant les invariants. La réciproque est vraie aussi. Proposition 10 À tout tableau simplicial satisfaisant les invariants, il est possible d associer un programme linéaire sous forme canonique avec seconds membres positifs ou nuls. Il suffit pour cela de traduire le tableau simplicial comme un programme linéaire sous forme standard puis d interpréter les variables de base comme des variables d écart. Considérons à titre d exemple le deuxième tableau simplicial obtenu à partir de l exemple du boulanger : x 1 x 2 x 3 x 4 x 5 x x x

42 40 Algorithme du simplexe Ce tableau correspond au programme linéaire sous forme standard maxz = 4000x x x 1 +x 3 x 5 = 5 x 1 +x 4 2x 5 = 1 x 2 +x 5 = 3 x 1,...,x 5 0 Il s agit en fait du programme linéaire obtenu en interprétant l équation x 2 + x 5 = 3 comme la règle de substitution x 2 3 x 5 et en l utilisant pour réécrire toutes les autres équations ainsi que l objectif économique du programme initial. Interprétons maintenant les variables de base comme des variables d écart. On obtient le programme linéaire suivant : maxz = 4000x x x 1 x 5 5 x 1 2x 5 1 x 5 3 x 1, x 5 0 On remarque que c est bien le premier invariant qui rend cette transformation possible : chaque variable choisie comme variable d écart apparait avec un coefficient 1 dans exactement une équation et n apparaît pas dans l objectif économique. D où l expression «programme linéaire sous forme canonique par rapport à une base». La transformation est réversible : si on construit un premier tableau simplicial à partir de ce programme, on retrouve le tableau simplicial ci-dessus (au nommage des variables d écart près). Résoudre ce programme linéaire équivaut donc à résoudre l exemple du boulanger. 3.2 Cas d arrêt particuliers Problèmes bornés Revenons au tableau simplicial : x 1 x 2 x 3 x 4 x 5 x x x La solution réalisable courante est la solution de base 0 3 x = L objectif est de maximiser 4000x x On voit que les variables de base x 2, x 3 et x 4 ont une valeur non nulle mais ne contribuent pas à l objectif (on ne perdrait rien à diminuer leur valeur) alors que la variable x 1 a une valeur nulle mais est associée à un coût positif dans l objectif. On a tout intérêt à augmenter sa valeur. Il suffit pour cela de la faire entrer en base. Par un raisonnement similaire, on voit qu on ne peut pas modifier la valeur de x 5 sans faire diminuer l objectif. On en déduit que lorsque tous les coûts sont négatifs ou nuls, il est impossible de faire entrer une variable en base sans faire diminuer l objectif : on a atteint un maximum local et donc le maximum global recherché puisque le polyèdre des solutions réalisables est convexe. Les raisonnements tenus ci-dessus justifient le critère d arrêt de l algorithme dans le cas de problèmes bornés.

43 Cas d arrêt particuliers 41 Théorème 14 (condition suffisante d optimalité) Considérons un programme linéaire sous forme canonique par rapport à une base réalisable I. Si les coûts correspondant aux variables hors base sont négatifs ou nuls alors la solution de base I est la solution optimale et l objectif à l optimum est z Problèmes non bornés Modifions un peu le deuxième tableau simplicial de telle sorte que l algorithme s arrête en indiquant que le programme linéaire est non borné. Il suffit de rendre négatifs tous les coefficients présents sur la colonne du pivot. x 1 x 2 x 3 x 4 x 5 x x x Considérons le programme linéaire sous forme canonique associé à ce tableau simplicial. maxz = 4000x x x 1 x 5 5 x 1 2x 5 1 x 5 3 x 1, x 5 0 Parce que tous les coefficients situés sur la colonne du pivot sont négatifs, on voit qu on peut attribuer à x 1 une valeur arbitrairement grande sans violer les contraintes. Parce que le coût associé à x 1 est positif, on voit qu augmenter la valeur de x 1 augmente l objectif réalisé. On a donc bien affaire à un programme linéaire non borné. Théorème 15 (problème non borné) Considérons un programme linéaire sous forme canonique par rapport à une base réalisable I. S il existe un indice de colonne s tel que le coût f s soit positif et tous les coefficients de la colonne s soient négatifs ou nuls alors le programme linéaire n est pas borné Sommets multiples Dans certains cas, il se peut que l élément de la colonne des seconds membres situé sur la ligne du pivot, a r, soit nul. Dans ce cas, la valeur de la variable de base x s dans la solution de base est nulle et l objectif réalisé n augmente pas. On passe d un sommet à un sommet adjacent sans déplacer la droite de l objectif. Comme le polyèdre est convexe, les deux sommets sont superposés : on a affaire à un sommet «multiple». Les sommets multiples sont rares dans les petits programmes linéaires écrits avec un minimum de contraintes et de variables. Ils apparaissent plus naturellement dans des modèles plus volumineux lorsqu on rajoute, par exemple, des contraintes et des variables «mathématiquement inutiles» qui servent à nommer des quantités intermédiaires et simplifient l écriture des modèles Le problème de l arrêt Dans le cas où l objectif réalisé augmente strictement à chaque itération, l algorithme s arrête nécessairement : des valeurs différentes de l objectif réalisé correspondent à des sommets différents du polyèdre D, or D n a qu un nombre fini de sommets. L algorithme n est donc susceptible de boucler que dans le cas où l objectif réalisé garde la même valeur, c est-à-dire dans le cas de sommets multiples.

44 42 Algorithme du simplexe La stratégie adoptée ne garantit pas l arrêt de l algorithme. Il se peut que l algorithme énumère cycliquement une série de bases réalisables sans que l objectif réalisé change. Voici un exemple : maxz = (3/4)x 1 20x 2 +(1/2)x 3 6x 4 (1/4)x 1 8x 2 x 3 +9x 4 0 (1/2)x 1 12x 2 (1/2)x 3 +3x 4 0 x 3 1. Après mise sous forme standard et ajout de trois variables d écart x 5, x 6 et x 7, on obtient un premier tableau simplicial et une première base (x 5, x 6, x 7 ). En appliquant la stratégie que nous avons énoncée, on peut obtenir («peut» parce qu on a parfois plusieurs choix possibles pour la ligne) successivement les bases (x 1, x 6, x 7 ), (x 1, x 2, x 7 ), (x 3, x 2, x 7 ), (x 3, x 4, x 7 ), (x 5, x 4, x 7 ) et (x 5, x 6, x 7 ). Le tableau simplicial obtenu à la dernière étape est égal au premier tableau simplicial. L objectif réalisé en la solution de base a toujours gardé la valeur z 0 = 0. Théorème 16 (stratégie garantie) La stratégie suivante de sélection du pivot garantit l arrêt de l algorithme. 1. choisir la colonne possible de plus petit indice (s est le plus petit indice i tel que f i > 0). 2. choisir la ligne possible de plus petit indice (prendre pour r le plus petit indice i tel que A s r > 0 et tel que la base obtenue après pivot soit réalisable). Cette stratégie garantie est rarement utilisée parce que, sur beaucoup de problèmes pratiques, elle nécessite beaucoup plus d itérations que la stratégie usuelle pour atteindre la solution optimale. Une bonne méthode consiste à appliquer la stratégie non garantie tout en conservant un petit historique des valeurs de l objectif réalisé. Cet historique permet de vérifier que les valeurs de l objectif réalisé ne restent pas stationnaires trop longtemps. Si ce n est pas le cas, il suffit d appliquer la stratégie garantie jusqu à ce que la valeur de l objectif réalisé change puis d appliquer à nouveau la stratégie usuelle Complexité de l algorithme L exemple suivant montre que l algorithme du tableau simplicial (muni d une stratégie qui garantit l arrêt) a une complexité en temps exponentielle en le nombre de variables (ou de contraintes) dans le pire des cas. maxz = 2 n 1 x 1 +2 n 2 x x n 1 +x n x 1 5 4x 1 +x x 1 +4x 2 +x n x 1 +2 n 1 x x n 1 +x n 5 n x 1,...,x n 0. Ce programme linéaire a n variables, n contraintes. Le polyèdre des solutions réalisables a 2 n sommets. L algorithme du tableau simplicial, partant de x 1 = = x n = 0 énumère tous les sommets avant d atteindre la solution optimale (x 1,...,x n ) = (0,...,0, 5 n ). Si la complexité dans le pire des cas était représentative de la complexité pour les «vrais» exemples alors le simplexe serait inutilisable. Penser que certains problèmes comportent des centaines de milliers de variables. Heureusement, ce n est pas le cas! 3.3 Problèmes de démarrage On dit qu un problème P peut se réduire en un problème Q si toute instance de P peut se reformuler en une instance de Q.

45 Problèmes de démarrage 43 Supposons qu un problème P puisse se réduire en un problème Q et qu on connaisse un algorithme de résolution pour toutes les instances de Q. Alors on dispose d un algorithme de résolution pour toutes les instances de P : il suffit, étant donné une instance de P, de la reformuler en une instance de Q, de déterminer la solution du problème reformulé avec l algorithme connu puis de réinterpréter la solution obtenue comme une solution du problème initial. Pour pouvoir traiter les programmes linéaires généraux, la difficulté consiste à former un premier tableau simplicial satisfaisant les invariants. En effet, former ce premier tableau équivaut à identifier un sommet du polyèdre des solutions réalisables (via la solution de base) et donc, en particulier, à démontrer que le programme linéaire admet au moins une solution réalisable. Dans le «cas favorable» (inégalités avec seconds membres positifs ou nuls), l origine est une solution évidente mais c est faux en général où il se peut que le programme linéaire soit infaisable. Dans ce paragraphe, on montre que le problème de la recherche d un premier tableau simplicial peut se réduire en un problème d optimisation, la résolution d un autre programme linéaire, appelé «programme artificiel», qui relève, lui, du cas favorable 1. Dit autrement, si on sait résoudre les programmes linéaires dans le cas favorable, on sait résoudre les programmes linéaires dans tous les cas. Une fois le programme artificiel résolu, on détermine facilement si le problème initial admet au moins une solution. Si c est le cas, il ne reste plus qu à résoudre le programme linéaire initial en partant de la base trouvée. Prenons pour programme linéaire initial : (PL) maxz = x 1 x 2 3x 1 4x x 1 +x 2 4 x 1, x 2 0 La mise sous forme standard introduit deux variables d écart. maxz = x 1 x 2 3x (PL) 1 +4x 2 x 3 = 12 2x 1 +x 2 +x 4 = 4 x 1, x 2, x 3, x 4 0 La base (3, 4) n est pas réalisable puisque la solution de base comporte une coordonnée négative (on a x 3 = 12). Voici le programme artificiel associé à l exemple. minw = x 5 3x (PLA) 1 +4x 2 x 3 +x 5 = 12 2x 1 +x 2 +x 4 = 4 x 1, x 2, x 3, x 4, x 5 0 On a introduit une «variable artificielle» x 5 dans l équation qui pose problème. On a pris pour «objectif artificiel» : minimiser cette variable. Explication. Le programme artificiel relève du cas favorable : la base évidente (x 5, x 4 ) est réalisable. Il y a bijection entre les solutions du programme linéaire initial et les solutions du programme artificiel telles que x 5 = 0. Pour déterminer si le programme initial admet au moins une solution, il suffit donc de déterminer si le programme artificiel a une solution telle que x 5 = 0. C est ce qu on fait en prenant pour objectif : minimiser x 5. Pour pouvoir appliquer l algorithme du tableau simplicial il reste une difficulté technique à lever : la variable x 5 est en base alors que le coût f 5 est non nul (l un des invariants n est pas satisfait). Il suffit de reformuler l objectif en utilisant l équation où figure la variable artificielle : 3x 1 +4x 2 x 3 +x 5 = 12 x 5 = 3x 1 +4x 2 x Le nouvel objectif à maximiser est donc : maxw = 3x 1 +4x 2 x La méthode présentée ici est la méthode «des deux phases». D autres méthodes existent comme, par exemple, celle du «grand M».

46 44 Algorithme du simplexe Pour déterminer w 0, on évalue l objectif x 5 (ou encore 3x 1 +4x 2 x 3 12) sur la solution de base. Attention à la constante cette fois. On obtient w 0 = 12. On obtient ainsi un premier tableau simplicial satisfaisant tous les invariants de l algorithme du tableau simplicial x 1 x 2 x 3 x 4 x 5 x x On applique au programme artificiel l algorithme donné dans le cas favorable. On trouve en une itération le tableau simplicial suivant : x 1 x 2 x 3 x 4 x 5 x 2 3/4 1 1/4 0 1/4 3 x 4 5/4 0 1/4 1 1/ On a une base réalisable I = (2, 4) avec une solution de base I x = L optimum du programme artificiel est w 0 = 0. La variable artificielle x 5 est hors base. On obtient une première base réalisable pour le programme linéaire initial en «supprimant» purement et simplement la variable artificielle. On obtient ainsi un programme linéaire équivalent au programme linéaire initial avec une première base réalisable I = (2, 4) : Synthétisons : maxz = x 1 x 2 3/4x 1 +x 2 1/4x 3 = 3 5/4x 1 +1/4x 3 +x 4 = 1 x 1, x 2, x 3, x 4 0 Proposition 11 Le programme linéaire initial admet au moins une solution réalisable si et seulement si l objectif réalisé à l optimum du programme artificiel est w 0 = 0. Proposition 12 Supposons que l objectif réalisé à l optimum du programme artificiel soit w 0 = 0. La solution optimale du programme artificiel fournit une première base réalisable au programme linéraire initial si et seulement si aucune variable artificielle n est en base. On remarque que le programme linéaire obtenu ne satisfait pas tous les invariants de l algorithme du tableau simplicial puisque les coûts correspondant aux variables de base ne sont pas tous nuls. On applique la même technique que précédemment : on réécrit l objectif en se servant de la première équation. 3/4x 1 +x 2 1/4x 3 = 3 x 2 = 3 3/4x 1 +1/4x 3. Et donc x 1 x 2 = 1/4x 1 1/4x 3 3. Le nouvel objectif est (on peut supprimer la constante) : maxz = 1/4x 1 1/4x 3.

47 Récapitulatif 45 Pour déterminer z 0, on évalue l objectif (attention à la constante) sur la solution de base : z 0 = 3. x 1 x 2 x 3 x 4 x 2 3/4 1 1/4 0 3 x 4 5/4 0 1/ /4 0 1/4 0 3 On peut appliquer l algorithme étudié dans le cas favorable. Sur l exemple, il s arrête tout de suite puisque tous les coûts sont négatifs ou nuls (mais c est un hasard dû à l exemple). La solution optimale du programme linéaire initial est donc ( ) ( x1 0 = x 2 3 L objectif réalisé à l optimum est z 0 = 3. Remarques Dans le cas général, on peut être amené à introduire plusieurs variables artificielles. L objectif du programme linéaire artificiel consiste alors à minimiser leur somme. Il existe des cas «dégénérés» où, à l optimum du programme artificiel, l objectif réalisé est nul (prouvant que le programme initial a au moins une solution) mais où la base réalisable contient au moins une variable artificielle (ayant alors forcément une valeur nulle). C est gênant parce qu alors, en «supprimant» la variable artificielle, on «perd» la base finale du programme artificiel qui doit nous servir de première base pour traiter le programme initial mais ce n est pas rédhibitoire : comme sa valeur est nulle dans la solution de base, on ne modifie pas l objectif réalisé à l optimum du programme artificiel en la rendant hors base. Il suffit pour cela de la remplacer dans la base par une variable non artificielle en effectuant une étape supplémentaire du pivot de Gauss Jordan. 3.4 Récapitulatif de l algorithme du simplexe Nous allons ici récapituler l algorithme du simplexe primal. Nous supposons que le programme linéaire est sous forme standard. Les données de l algorithme sont : la matrice de membre gauche A R p q, le vecteur des membres droits a R p+, le vecteur de coût f R p et le vecteur de variable x 0. On peut généraliser alors l algorithme en deux phases. La première phase consiste à rechercher une base B associée à une solution réalisable de base SRB. La seconde phase consiste à résoudre le problème initial en partant de la solution réalisable trouvée lors de la premère phase si une telle solution existe Phase 1 Deux cas peuvent se produire. Le premier cas se produit si la matrice A admet une base B telle que la solution de base qui lui est associée est réalisable. Sinon, on cherche une base admettant une solution réalisable de base par le biais de la résolution d un programme linéaire articiel PL a = min{e t z : Ax+Iz = b,x,z 0} où z est un vecteur de variables articielles (une variable pour chaque contrainte) et I est la matrice identité. Dans les faits, il n est pas nécessaire d ajouter une variable articielle pour chaque contrainte mais nous restons ici dans le cas le plus général possible. PL a est alors résolu par la méthode décrite dans la phase 2 ci-dessous. Si la solution optimale est non nulle, cela signifie que le programme linéaire original n admet pas de solution. Sinon on obtient un système de la forme min{f t x : A x+i z = a ;x 0,z 0} associé à une base réalisable B. Comme les variables artificielles sont hors-base et valent 0, on peut les supprimer et ne garder que le système de contraintes : A x = a avec B la base réalisable. Il suffit alors de modifier le vecteur de coût f t x pour mettre le système sous forme canonique par rapport B. Il s agit alors de résoudre lors de la seconde phase le programme liéaire max{f t x : A x = a ;x 0}. ).

48 46 Algorithme du simplexe Phase 2 Dans la seconde phase, nous supposons que le programme linéaire min{f t x : Ax = a,x 0} est sous forme canonique par rapport à la base B. L algorithme du simplexe consiste alors de passer à une autre base adjacente améliorant le coût de la solution par un pivot de Gauss-Jordan. Cela est alors itéré jusqu à arriver à un des critères d arrêt. L algorithme est alors : Etape 1 (Initialisation) Commencer avec une base primale réalisable B (Il peut s agir d une base évidente ou d une base obtenue par la résolution d un problème artificiel lors de la phase 1). Etape 2 (Test d optimalité) Si f < 0, une solution optimale a été trouvée. Cette solution s obtient en posant les variables hors-base égales à 0 et en lisant les valeurs des variables de base directement dans le membre droit. Sinon on passe à l étape 3. Etape 3 (Changement de base par pivot) Choisir une variable s telle que f s > 0. Deux cas peuvent se produire : 1. (Cas non borné) Si A s 0, le problème est alors non borné et l algorithme s arrête. 2. (Changement de base) Choisir la ligne r associée à la variable de base x r tel que a r > 0 et a r /A r s soit minimal. On effectue le changement de base (en faisant sortir x r de B et en faisant entrer s dans B) par l exécution d un pivot de Gauss-Jordan avec A r s comme pivot. Notez que le choix de s est heuristique tandis que le choix de r lui est déterministe une fois s choisie. Dans les faits, l algorithme utilise la structure du tableau simplicial lors des implémentations pour faciliter le stockage des données. 3.5 Algorithme du simplexe dual En alternative à l algorithme, dit primal, du Simplexe que l on a présenté précédemment, on décrit ici l algorithme dual du Simplexe. Ce dernier procède en se déplaçant d une base réalisable du programme dual à une autre. Cet algorithme prend tout son intérêt lorsqu on dispose d une solution de base non réalisable dont tous les coûts réduits associés sont positifs ou nuls. Ce cas survient, par exemple, lorsqu on a une solution optimale d un problème linéaire qui devient non réalisable à la suite de l adjonction de contraintes additionnelles. Pour un tel problème, l algorithme primal du Simplexe n offre pas de résolution directe à partir de cette solution de base. Il faut en effet passer par la résolution d un programme linéaire artificiel pour obtenir une première base réalisable. Dans les faits, il est possible de résoudre par l algorithme du simplexe décrit précédemment le dual après avoir construit ce dernier. Cependant il est plus efficace de ne pas le construire explicitement et de faire les pivots en raisonnant sur le dual. Pour cela, l algorithme précédent reste sensiblement identique. La différence se faisant sur le choix du pivot. En effet, dans l algorithme du simplexe primal, on choisit d abord la variable à faire entrer dans la base en fonction de son coût dans la fonction objectif. Ici, on choisit d abord la variable à faire sortir de la base en fonction du membre droit de la contrainte à laquelle elle est associée, c est-à-dire le coût de la variable d écart associée dans le dual. Le choix de la variable à faire entrer étant alors dicté par la variable à faire sortir et le coût des variables hors-base dans la fonction objectif, soit les membres droits dans les contraintes du dual. Formellement l algorithme du simplexe dual s écrit : Etape 1 (Initialisation) Commencer avec une base duale réalisable B. Etape 2 (Test d optimalité) Si B est une base réalisable pour le primal, c est-à-dire si a B 0 alors on a une solution optimale. Cette solution s obtient en posant les variables hors base égale à 0 et en lisant les valeurs des variables de base dans a. En effet, à ce moment-là, B est à la fois réalisable pour le dual et le primal. Sinon, on passe à l étape 3. Etape 3 (Changement de base par pivot) Choisir un s tel que a s < 0. Deux cas peuvent se produire :

49 Algorithme du simplexe dual (Problème non admissible) Si A j s 0 pour toute variable j hors base, le problème n a pas de solution admissible. 2. (Changement de base) Sinon choisir la variable r qui maximise le rapport f j /A j s pour tous les indices j tels que A j s < 0. Effectuer le pivotage avec Ar s comme pivot et revenir à l Etape 2. En revanche, comme tous les coûts réduits sont non-négatifs, on a une solution de base réalisable du problème dual. L algorithme dual du Simplexe permet de résoudre le problème dual, sans pour autant l expliciter, et en garantissant donc la résolution du problème linéaire posé dans ce cas particulier.=

50 48 Algorithme du simplexe

51 Chapitre 4 Méthodes du point intérieur 4.1 Introduction Contrairement à la méthode du simplexe, présentée au chapitre 3 et qui explore les frontières de l espace admissible en parcourant les sommets du polyèdre admissible, les algorithmes du point intérieur calculent une suite d itérés appartenant à l intérieur de l espace admissible et convergeant vers la solution optimale. Les méthodes du point intérieur ont été très rapidement populaires car elles offrent la possibilité de résoudre un problème d optimisation linéaire en un temps polynomial dans le pire des cas alors que les algorithmes du simplexe sont réputés être de complexité algorithmique exponentielle dans le pire des cas. Ainsi, les méthodes du point intérieur offrent la promesse de réduire de manière significative le temps de résolution des problèmes de programmation linéaire. En contrepartie de cet avantage, les itérés successifs calculés par une méthode du point intérieur appartiennent à l intérieur du domaine admissible et tendent (sans jamais l atteindre) vers une solution optimale dont on sait qu elle appartient à la frontière du domaine. Une procédure d arrondi permettant l obtention de la solution exacte à partir d un itéré quasi optimale doit être définie. Le second concept majeur sur lequel sont fondées les méthodes du point intérieur consiste à remplacer la résolution du problème d optimisation linéaire initial par celle d un système non linéaire d équations exprimant les conditions d optimalité de Karush-Kuhn-Tucker. Ceci implique l utilisation de la méthode de Newton pour la résolution de ce système d équations non linéaires Enfin, de par leur nature, le comportement des méthodes du simplexe et des méthodes du point intérieur divergent lorsque qu une face complète du domaine admissible est optimale. Les méthodes du point intérieur convergent vers un point situé à l intérieur de la face tandis que l algorithme du simplexe aboutit sur l un de ses sommets. Nous reprenons le programme linéaire écrit sous la forme primale standard : min x R n sous f t x Ax = a x O (4.1) Nous noterons l ensemble linéaire admissible primal P et son intérieur P + P = {x R n Ax = a, x O} P + = {x R n Ax = a, x O} (4.2) Le problème dual de (4.1) est défini par : max y sous a t λ A t λ f 49, (4.3)

52 50 Méthodes du point intérieur L ensemble polyédrique admissible D associé et son intérieur D + peuvent être donnés de manière classique ou en introduisant les variables d écart s R n : D = {λ R m A t λ f} = {y R m A t λ+s = f,s O} D + = {λ R m A t λ f} = {λ R m A t λ+s = f,λ O} (4.4) Les méthodes du point intérieur qui sont l objet de ce chapitre sont très variées mais elles reposent sur quelques notions communes (conditions nécessaires d optimalité, fonction barrière et chemin central) qui sont développées dans cette section Rappels sur les conditions d optimalité de Karush-Kuhn-Tucker Comme nous l avons vu dans l introduction, la principale caractéristique des méthodes du point intérieur repose sur la résolution itérative de conditions nécessaires d optimalité d un problème d optimisation non linéaire convexe construit à partir du problème de PL original, d une fonction barrière et d un paramètre de barrière. Nous rappelons ici brièvement les conditions nécessaires et suffisantes d optimalité de Karush-Kuhn-Tucker pour un problème d optimisation sous contraintes linéaires et dont la fonction objectif est non linéaire convexe et différentiable. min x R n sous f(x) Ax = a x O (4.5) où la fonction f est supposée différentiable avec des dérivées partielles continues et A R m n. Les conditions nécessaires et suffisantes d optimalité de Karush-Kuhn-Tucker (KKT) sont définies par le théorème suivant. Théorème 17 (KKT) Une solution réalisable x R n est une solution optimale du problème (4.5) si et seulement s il existe un vecteur λ R m et un vecteur µ R n tels que les conditions suivantes sont satisfaites : f(x ) A t λ +µ = 0 Ax = a µ i x i = O i = 1,,n µ O (4.6) Le vecteur λ est un vecteur des multiplicateurs de Lagrange alors que µ est appelé vecteur des multiplicateurs de Karush-Kuhn-Tucker Fonction barrière logarithmique et chemin central En programmation mathématique, quand on traite d un problème de minimisation sous contraintes égalité et inégalité définissant un domaine réalisable P, il peut être intéressant de se ramener à un problème ne comportant que des contraintes égalité en substituant aux contraintes inégalité un terme additionnel (appelé terme barrière) à la fonction objectif pondéré par un paramètre réel positif τ. Le terme barrière possède la propriété fondamentale de tendre vers + quand un point test réalisable x approche la frontière du domaine réalisable. Une fonction barrière classiquement utilisée en programmation mathématique convexe est la fonction barrière logarithmique. La fonction logarithme népérien est dérivable et finie sur l orthant positif et tend vers l infini à l approche des frontières de son domaine. Par exemple, si l on reprend le problème de PL sous sa forme

53 Introduction 51 standard (4.1) (f(x) = f t x dans (4.5)), les contraintes inégalité sont définies par l appartenance du vecteur de décision x à l orthant positif. La fonction barrière est alors définie par : n φ B (x,τ) = τ lnx i (4.7) où τ > 0 est le paramètre de barrière. i=1 (a) τ = (b) τ = 1 (c) τ = 0.05 (d) chemin central Figure 4.1 Domaine admissible polytopique et les lignes de niveau de la fonction barrière. La méthode de la fonction barrière logarithmique développée dans [10] et [8] se propose de remplacer le problème de minimisation convexe sous contraintes par une séquence de minimisations sans contraintes de la fonction barrièreφ B (x,τ) pour une séquence de valeurs du paramètre barrière τ > 0. Une famille de problèmes de programmation non linéaire non contraint se substitue ainsi au problème initial de minimisation sous contraintes. Définition 38 (Problème de barrière et chemin central) Le problème de minimisation (4.8) paramétré par τ > 0 est appelé problème barrière associé au problème de PL sous forme standard (4.1) : min f t +φ B (x,τ) x sous Ax = b (4.8) Quand le paramètre de barrière τ varie, la solution optimale minimisante de (4.8) x(τ) décrit une courbe à l intérieur du domaine réalisable appelée chemin central. C p = {x(τ) solution de (4.8) τ > 0} (4.9) Pour le paramètre de barrière τ =, le problème de barrière devient alors : min x n lnx i i=1 sous Ax = b dont la solution optimale est le centre analytique du domaine réalisable. (4.10)

54 52 Méthodes du point intérieur Définition 39 (Centre analytique) Le point x ac P + solution optimale minimisante du problème de barrière (4.10) associé au problème de PL (4.1) défini pour τ = est appelé centre analytique du domaine admissible ou réalisable primal. Remarque 6 Il est également possible de définir la notion de centre analytique d un polyèdre général P donné par un système de m inégalités : P = { x R n : b t i x b i, i = 1,,n } comme la solution optimale minimisant la fonction barrière m ln(b i b t ix) (4.11) i=1 Il est important de noter que cette définition n est pas géométrique dans le sens où elle dépend de la représentation du polyèdre. Le centre analytique sera différent si l on ajoute une contrainte redondante à la définition du polyèdre. Il est également possible d associer au problème dual (4.3) du problème primal standard un problème de barrière défini par : n max a t λ+τ lnw i λ,w (4.12) i=1 sous A t λ+w = f Pour τ > 0 fixé, les solutions de (4.12) sont notées (λ(τ),w(τ)). Ces solutions définissent un chemin central dual C d = {(λ(τ),w(τ)) solution de (4.12) τ > 0} (4.13) Les problèmes (4.8) et (4.12) sont des problèmes d optimisation convexes pour lesquels il est possible d écrire des conditions d optimalité de Karush-Kuhn-Tucker. Théorème 18 Si x, λ et w vérifient les conditions de Karush-Kuhn-Tucker : Ax(τ) = a A t λ(τ)+w(τ) = f x i (τ)w i (τ) = τ i = 1,,n x(τ) > O w(τ) O (4.14) alors x, λ et w sont des solutions optimales aux problèmes (4.8) et (4.12). Il est à noter que, pour une valeur donnée de τ, les centres analytiques du primal x(τ) P + et du dual (λ(τ),w(τ)) D + vérifient x(τ) t w(τ) = nτ. Théorème 19 Soient les problèmes primal (4.1) et dual (4.3) possédant des ensembles admissibles intérieurs tels que P + et D +. Alors τ 0 < τ <, les centres analytiques du primal et du dual (x(τ),λ(τ),w(τ)) P + D + existent et sont uniques.

55 Introduction 53 Exemple 16 (2D (suite)) Nous reprenons l exemple académique en 2D Primal min x,y sous 2x y x 2 y 2 x+y 3 x,y 0 Dual max λ sous 2λ 1 +2λ 2 +3λ 3 λ 1 0 λ 2 0 λ λ 1 λ λ 2 λ 3 0 La fonction barrière primale associée au primal est donnée par : φ p B (x,y) = ln(xy) ln(2 x) ln(2 y) ln(3 x y) Le centre analytique primal peut se calculer explicitement par minimisation de cette fonction dont on écrit la stationarité du gradient : 1 x x x y 1 y y x y = 0 (x ac,y ac ) = ( 6 6 5, 6 6 ) 5 Ce système d équations possède en effet 4 solutions telles que x = y dont deux ne sont pas dans le domaine de définition de la fonction barrière alors que parmi les deux autres, seule la solution retenue conduit à un minimum de la fonction barrière. Le centre analytique et la fonction barrière sont présentés aux figures 4.2 et 4.3. Figure 4.2 Fonction barrière primale pour l exemple 2D

56 54 Méthodes du point intérieur y x 2 Figure 4.3 Courbes de niveau de la fonction barrière primale et son centre analytique pour l exemple 2D Classification des méthodes du point intérieur La littérature concernant les algorithmes du point intérieur pour la programmation linéaire est très riche du fait des très nombreuses variantes de l algorithme initial proposé par Karmarkar en 1984 [14]. Malgré cette richesse et la relative proximité des différentes variantes, trois grandes classes de méthodes peuvent être définies. 1- Les méthodes de mise à l échelle affine reposent sur une approximation ellipsoïdale de l ensemble polyédral des solutions réalisables. Prenant leur origine avec l algorithme de Dikin de 1967 [6], elles forment la classe des méthodes du point intérieur sans doute les plus simples et les plus proches de la méthode du simplexe, tout en assurant des bonnes performances pratiques bien que l on suspecte qu elles ne soient pas des méthodes de classe polynomiale. 2- Les méthodes de réduction de potentiel ont pour principe d imposer la réduction d une fonction potentielle non linéaire à chaque étape, tout en maintenant une certaine distance avec la frontière du domaine réalisable. L algorithme de Karmarkar de 1984 appartient à cette catégorie. 3- Les méthodes de suivi de chemin reposent sur trois principes : transformer le problème de PL initial sous contraintes en un problème non contraint en ajoutant les contraintes à la fonction coût au travers d une fonction barrière logarithmique pénalisée comme l inverse de la distance à la frontière du domaine réalisable, résoudre de manière approchée le problème non contraint par une méthode de Newton et enfin diminuer itérativement la pénalité afin que la solution du problème non contraint suive un chemin convergeant vers la solution optimale du problème initial de PL contraint. Ces méthodes démontrent en général un excellent comportement pratique et théorique. Pour chacune de ces classes de méthodes, il est possible de définir des variantes primales, duales, primales-duales et auto-duales. Du fait que la majorité des solveurs rencontrés sont fondés sur des méthodes primales-duales du type 2 et 3, seuls les algorithmes associés seront présentés en détails dans ce chapitre. Les méthodes de classe 1 ainsi que la méthode historique de Karmarkar sont brièvement exposées à l annexe A.

57 4.2. MÉTHODES PRIMALES-DUALES Méthodes Primales-Duales Cadre de travail Les méthodes du point intérieur primales-duales ont pour but de trouver simultanément la solution optimale primale pour le problème (4.1) et la solution optimale duale du problème (4.3) formant le triplet (x,λ,w ) en appliquant des variantes de la méthode de Newton aux conditions d optimalité de KKT : Ax = a A t λ+w = f XWe = O (4.15) x > O w O où x w X = 0 x , W = 0 w , e = 1. Rn (4.16) x n w n 1 De même, l espace réalisable primal-dual F et son intérieur F + sont alors définis par : F = {(x,λ,w) R n R m R n Ax = a, A t λ+w = f, (x,w) 0} F + = {(x,λ,w) R n R m R n Ax = a, A t λ+w = f, (x,w) 0} (4.17) Les trois premières équations du système de KKT (4.15) forment un système carré d équations non linéaires de dimensions 2n + m pour 2n + m inconnues. La difficulté principale de la résolution du système de KKT vient essentiellement des contraintes de positivité attachées aux variables x et w. Les conditions (4.15) peuvent être reformulées à l aide de l application F : (x, λ, w) R 2n+m R 2n+m définie par : F(x,λ,w) = At λ+w f Ax a XWe = O (4.18) (x,w) 0 (4.19) Les deux premiers termes de l application (4.18) sont linéaires alors que le troisième est non linéaire (bilinéaire). Le principe des méthodes du point intérieur primales-duales est de générer à partir d une condition initiale (x (0),λ (0),w (0) ) F +, une séquence (x (k),λ (k),w (k) ) F + en appliquant une variante de la méthode de Newton (cf. annexe A.4 pour un rappel sur la méthode de Newton) à la fonction F(x,λ,w). Afin d appliquer des méthodes itératives de type Newton, il est nécessaire de choisir les directions de descente et la longueur des pas qui maintiennent la condition de positivité stricte (x, w) 0, tout en convergeant vers la solution du système linéaire d équations déduit de l approximation linéaire du système (4.18) autour d un itéré (x (k),λ (k),w (k) ) : x (k) J(x (k),λ (k),w (k) ) λ (k) = F(x (k),λ (k),w (k) ) w (k) où J représente la matrice Jacobienne de F. Dans le cas où l itéré k est strictement admissible, i.e. (x (k),λ (k),w (k) ) F +, le système précédent s écrit : 0 A t I x (k) 0 A 0 0 λ (k) = 0 (4.20) W (k) 0 X (k) w (k) X (k) W (k) e

58 56 Méthodes du point intérieur De manière générale, l itéré suivant (x (k+1),λ (k+1),w (k+1) ) est calculé par une méthode de recherche monodimensionnelle portant sur le scalaire α (k) ]0, 1] tel que (x (k+1),λ (k+1),w (k+1) ) = (x (k),λ (k),w (k) )+α (k) ( x (k), λ (k), w (k) ) En pratique, seules de petites de valeurs de α (k) peuvent assurer le respect de la condition de positivité (x,w) 0. Ainsi, les directions de Newton ( x (k), λ (k), w (k) ) calculées à partir du système (4.20) ne permettent de progresser que très lentement vers la solution optimale. Les méthodes primales-duales vont modifier cette recherche en utilisant les concepts du chemin central et du potentiel logarithmique. Il est à noter que, même si ces deux concepts sont deux approches d une même idée, elles ont distinctement donné naissance à deux familles différentes de méthodes du point intérieur : les méthodes de suivi du chemin central (path-following methods) et les méthodes de réduction de potentiel (potential reduction methods). Pour ces deux familles de méthodes, les conditions de KKT sont altérées par l introduction d un saut de dualité non nul : Ax(τ) = a A t λ(τ)+w(τ) = f x t i (τ)w i(τ) = τ i = 1,...,n (x(τ),w(τ)) 0 Les conditions précédentes identiques aux conditions (4.14) définissent les points du chemin central primal-dual C. C pd = {(x(τ),λ(τ),w(τ)) solution de (4.14) τ > 0} (4.21) En utilisant la notation (4.18), le système précédent peut être formulé comme : F(x(τ),λ(τ),w(τ)) = At λ(τ)+w(τ) f Ax(τ) a = 0 0 (4.22) X(τ)W(τ)e τe (x(τ),w(τ)) 0 Le paramètre τ force indirectement l algorithme primal-dual à chercher des solutions appartenant à F +. Ainsi, puisque l on impose une recherche à l intérieur du domaine admissible, il est possible de calculer des pas plus longs suivant les directions de Newton calculées en résolvant le système (4.22). Pour un itéré courant (x (k) (τ),λ (k) (τ),w (k) (τ)), les directions de Newton associées à la résolution de (4.22) sont les solutions du système : 0 A t I x (k) 0 A 0 0 λ (k) = 0 (4.23) W (k) 0 X (k) w (k) X (k) W (k) e+σ (k) µ (k) e où σ (k) [0, 1], le paramètre de centrage et µ (k), la mesure de la dualité, sont définis tels que : µ (k) = 1 n n i=1 x (k) i (τ)w (k) i (τ) = x(k)t (τ)w (k) (τ) = τ(k) (4.24) n σ (k) La direction de recherche ( x (k), λ (k), w (k) ), ainsi calculée, correspond à un pas de Newton dans le processus de convergence vers le point central (x σ (k) µ (k),λ σ (k) µ (k),w σ (k) µ (k)) C pd. Ces deux paramètres permettent de décrire le saut de dualité τ (k) à chaque pas de Newton, tel que τ (k) = σ (k) µ (k). Pour σ (k) = 1, les équations (4.23) définissent une direction de recherche de centrage vers le point du chemin central (x µ (k),λ µ (k),w µ (k)) C pd. Le pas de Newton produit un point «plus central» que l itéré courant au dépens de la progression vers la solution primale-duale. L avantage de construire un itéré près du chemin central réside dans le fait que, lors de l itération suivante, des progrès plus significatifs pourront être réalisés. A l inverse, lorsque σ (k) = 0, nous retrouvons

59 Méthodes de suivi du chemin central 57 un pas de Newton classique, appelé direction de mise à l échelle affine, qui conduit à une grande progression vers la solution primale-duale mais en négligeant l équilibre des produits x (k) i w (k) i dans l orthant positif. Ainsi le réglage du paramètre de centrage σ (k) permet de faire un arbitrage entre l objectif de réduction du saut de dualité et le centrage des itérés. Fort des concepts présentés jusq à présent, nous pouvons donner un cadre algorithmique générique aux méthodes du point intérieur primales-duales qui vont être développées dans ce rapport : Algorithme 2 Algorithme primal-dual générique Entrées: (A,a,f), (x (0),λ (0),w (0) ) F +, ǫ > 0 Sorties: (x,λ,w ) tel que µ < ǫ Tant que µ (k) > ǫ Faire σ (k) [0, 1] et µ (k) = (x(k) ) t w (k) n x (k) Calculer λ (k) tel que : w (k) Calculer α (k) tel que : 0 A t I x (k) 0 A 0 0 λ (k) = 0 W (k) 0 X (k) w (k) X (k) w (k) e+σ (k) µ (k) (x (k),w (k) )+α (k) ( x (k), w (k) ) = (x (k+1),w (k+1) ) 0 Poser (x (k+1),λ (k+1),w (k+1) ) = (x (k),λ (k),w (k) )+α (k) ( x (k), λ (k), w (k) ) Fin tant que Si l algorithme 2 définit l algorithme type des méthodes primales-duales, de nombreuses variantes peuvent être proposées suivant la manière dont ses étapes élémentaires sont mises en œuvre comme cela a été défini dans la section Nous étudierons plus particulièrement dans la suite de ce rapport, les méthodes du point intérieur dites de suivi de chemin central et de réduction de potentiel dans le cadre primal-dual car elles sont les plus présentes dans les solveurs actuellement disponibles Méthodes de suivi du chemin central Comme le suggère leur dénomination, cette classe de méthodes consiste à suivre le chemin central dans la direction des τ décroissants jusqu à la solution optimale. Les itérés successifs construits par ce type d algorithme appartiennent à un voisinage défini quoique possiblement large du chemin central tout en faisant tendre la mesure de dualité vers 0. Chaque direction de recherche est un pas de Newton dans la direction d un point du chemin central C pd avec comme valeur cible τ = σµ. L algorithme générique de suivi du chemin central est donc le suivant :

60 58 Méthodes du point intérieur Algorithme 3 Algorithme primal-dual de suivi de chemin central Entrées: (x (0),λ (0),w (0) ) F +, σ min et σ max : 0 < σ min < σ max < 1 Sorties: (x,λ,w ) Pour k = 0, 1, 2, Faire Choisir σ (k) [σ min,σ max ] x (k) Calculer λ (k) tel que w (k) 0 A t I x (k) A t λ (k) +w (k) f A 0 0 λ (k) = Ax (k) a (4.25) W (k) 0 X (k) w (k) X (k) W (k) e σ (k) µ (k) e avec µ (k) = (x(k) ) t w (k) ; n Choisir le plus grand α max > 0 tel que (x (k),w (k) )+α( x (k), w (k) ) 0 ; Poser α (k) = min(1,η (k) α max ) pour η (k) (0,1); Poser (x (k+1),λ (k+1),w (k+1) ) = (x (k),λ (k),w (k) )+α (k) ( x (k), λ (k), w (k) ). Fin pour Des valeurs raisonnables pour les constantes sont σ min = 0.01 et σ max = Les stratégies de choix des paramètres σ (k) et η (k) à chaque pas sont particulièrement détaillées dans la référence [7, Section 8.3.4]. Comme nous l avons indiqué, les méthodes de suivi de chemin central calculent en fait des itérés {(x (k),λ (k),w (k) )} qui appartiennent à un voisinage du chemin central (x τ,y τ,s τ ) C pd. Ainsi, un des principaux critères de caractérisation des méthodes de suivi de chemin central est la définition du voisinage (ou de la proximité) du chemin central. L itéré courant dévie principalement du chemin central du fait de la violation de la condition de positivité des produits x (k) parmi les conditions de KKT (4.22). Cette déviation est mesurée par la définition d un voisinage autour de la valeur moyenne de ces produits associé à une norme particulière. Les deux voisinages (associés à leur norme) de C pd les plus utilisés sont le voisinage de norme 2, noté N 2 et le voisinage N donnés par : N 2 (θ) = {(x,λ,w) F + XWe µe 2 θµ} (4.26) avec µ, la mesure de dualité et θ [0, 1]. i w (k) i N (γ) = {(x,λ,w) F + x i w i γµ, i = 1,...,n} (4.27) où γ [0, 1]. Pour tout point du voisinagen (γ), chaque produit x i w i doit être au moins plus grand que le γ multiple de leur valeur moyenne. Cette définition de N (γ) en fait un voisinage large pouvant englober l ensemble du domaine F + lorsque γ tend vers zéro. Le voisinage N 2 est plus restrictif. En effet, pour θ fixé, il est impossible que tous les points de F + appartiennent à N 2. Pour ces deux voisinages, les méthodes de suivi de chemin central permettent de faire tendre les produits x i w i vers zéro avec des vitesses différentes de convergence. Le voisinage N 2 est souvent associé aux méthodes de suivi de chemin central à pas courts. En effet, le paramètre de centrage σ doit être choisi proche de 1 afin d éviter de sortir du voisinage choisi. Ces méthodes, si elles permettent de rester à proximité du chemin central, ne font que peu de progrès vers la solution à chaque itération. Les méthodes dites de prédiction/correction utilisent deux voisinages N 2 imbriqués l un dans l autre. Elles améliorent très sensiblement les performances des méthodes à pas courts. A chaque étape de prédiction, l itéré de départ est dans le voisinage interne et se déplace selon la direction calculée pour σ = 0 jusqu à atteindre les frontières du voisinage extérieur. Si l écart entre les volumes des deux voisinages est suffisant, la mesure de dualité peut être fortement réduite. L étape

61 Méthodes de suivi du chemin central 59 de correction, calculée avec σ = 1 et α = 1, ramène l itéré à l intérieur du voisinage interne afin de préparer l étape de prédiction suivante. Enfin, les méthodes de suivi de chemin central à pas longs font un choix pour σ moins conservateur i.e. σ 1. Cependant, il faut procéder, dans ce cas, à une recherche de longueur de pas évitant à l itéré de sortir de F +. L utilisation du voisinage N permet, avec un choix judicieux de σ, de faire des progrès plus intéressants que dans les méthodes à pas courts. L algorithme et la complexité numérique de ces trois types de méthodes de suivi de chemin central sont présentés de manière synthétique Méthodes de suivi de chemin à pas courts Algorithme Les méthodes de suivi de chemin à pas courts ont comme objectif de maintenir les itérés successifs au voisinage N 2 du chemin central. La stratégie adoptée est de maintenir constant pour tout k le paramètre de centrage, σ (k) = σ et la longueur du pas α (k) = 1. Lorsque le paramètre σ est lié à la taille du voisinageθ, la mesure de dualité décroît avec une vitesse constante (1 σ). L algorithme formel associé aux méthodes de suivi de chemin à pas courts est donné par l algorithme 4. Algorithme 4 Algorithme primal-dual à pas courts Entrées: (x (0),λ (0),w (0) ) N 2 (θ), ǫ > 0 Sorties: (x,λ,w ) tels que µ < ǫ Tant que µ (k) > ǫ Faire θ = 0.4, σ (k) = σ = n x (k) Calculer λ (k) tel que w (k) 0 A t I x (k) 0 A 0 0 λ (k) = 0 (4.28) W (k) 0 X (k) w (k) X (k) W (k) e+σ (k) µ (k) e Poser (x (k+1),λ (k+1),w (k+1) ) = (x (k),λ (k),w (k) )+( x (k), λ (k), w (k) ) Fin tant que L algorithme à pas courts est illustré par la figure 4.4 qui trace les premières itérations projetées dans l espace x i w i. L axe des abscisses représente la valeur du produit x 1 w 1 et celui des ordonnées représente le produit x 2 w 2 dans le contexte d un problème de dimension 2. Dans cet espace non linéaire, le chemin central est la droite passant par l origine et de coefficient directeur 1. Cependant les directions de recherche normalement linéaires sont représentées par des courbes. La solution optimale se trouve à l origine. Cette représentation utilisée dans les figures 4.4, 4.5 et 4.6 illustre la manière dont les longueurs de pas sont influencées par la présence des voisinages N 2 (θ) et N 2 (γ). L un des points importants de l analyse de l algorithme à pas courts est de montrer que chaque itéré reste dans le voisinage N 2 (θ). La démarche consiste à montrer que la direction de recherche est bornée en norme. Ce résultat permet de déterminer une borne sur la distance entre l itéré k+1 et le chemin central. Finalement, en utilisant cette information, on établit une relation entre θ et σ telle que l itéré k +1 reste dans le voisinage N 2 du chemin central [27, Chapitre 5]. Convergence et complexité polynomiale Pour analyser la convergence de l algorithme de suivi de chemin central à pas courts, nous allons d abord donner un lemme de décroissance de la mesure de dualité.

62 60 Méthodes du point intérieur x 2 w N 2 θ Chemin central 2 0 x 1 w 1 Figure 4.4 Itérés de l algorithme à pas courts dans l espace x i w i Lemme 3 Soit la direction de recherche ( x (k), λ (k), w (k) ) calculée grâce à l équation (4.25), nous avons alors ( x (k) ) t w (k) = 0 (4.29) et µ (k+1) = (1 α(1 σ))µ (k) (4.30) Ainsi pour les algorithmes de suivi de chemin à pas courts, le choix des paramètres σ et α conduit au résultat suivant : ( µ (k+1) = σµ (k) = )µ (k), k = 0,1,... (4.31) n L équation (4.31) décrit la convergence globalement linéaire de la mesure de dualité par l utilisation d un algorithme à pas courts. La complexité polynomiale de l algorithme se déduit d un théorème général à toutes les méthodes de suivi de chemin. Théorème 20 Soit ǫ ]0, 1[ fixé, on suppose que l algorithme génère une séquence d itérés telle que la séquence de mesures de dualité vérifie : ( µ (k+1) 1 δ ) n ω µ (k), k = 0,1,... (4.32) δ et ω étant des constantes positives. On suppose aussi que l itéré initial (x (0),λ (0),w (0) ) vérifie pour une constante positive κ : µ (0) 1/ǫ κ (4.33) Alors, il existe un rang K tel que : pour lequel : K = O( n lnǫ ) µ (k) ǫ, pour tout k K La complexité polynomiale de l algorithme à pas courts est un résultat direct du théorème 20 est de la convergence linéaire (4.31) en posant δ = 0.4 et ω = 0.5.

63 Méthodes de suivi du chemin central 61 Théorème 21 Pour ǫ > 0, il est supposé que l itéré initial (x (0),λ (0),w (0) ) appartienne au voisinage N 2 (0.4) tel que µ (0) 1/ǫ κ avec κ positif. Alors, l algorithme à pas courts a une solution telle que µ (k) ǫ, k K après K = O( nln(1/ǫ)) (4.34) itérations Méthodes de Prédiction/Correction Algorithme Comme nous l avons vu précédemment dans la description des méthodes de suivi de chemin central à pas courts, le paramètre de centrage σ joue un rôle important dans l efficacité de l algorithme. En effet, pour une valeur σ proche de 1, le pas de Newton ne réalise que peu de progrès mais permet de maintenir les itérés dans le voisinage N 2 du chemin central. Dans le cas d une valeur proche de 0, la réduction de la mesure de dualité est alors significative à chaque itération autorisant une progression plus conséquente vers la solution optimale. Cependant, ce type de pas de Newton mène généralement les itérés en dehors de l espace admissible. Prenant conscience de la difficulté d améliorer la proximité au chemin central et la réduction de la mesure de dualité en une seule étape, Mehrotra a proposé un choix heuristique de σ en deux étapes définissant ainsi l algorithme de suivi de chemin central dit prédicteur-correcteur [19]. Cet algorithme alterne deux types d itérations différentes : - Une étape de prédiction afin de réduire la mesure de dualité µ : σ = 0 ; - une étape de correction afin d amener l itéré dans le voisinage du chemin central : σ = 1. Le terme de prédiction/correction vient de l analogie avec les méthodes d intégration des équations différentielles ordinaires qui alternent des étapes de prédiction avec des étapes de correction. Afin de mettre en place ces deux étapes, l algorithme de prédiction/correction utilise deux voisinages N 2 imbriqués l un dans l autre, à savoir N 2 (θ 1 ) et N 2 (θ 2 ) tels que θ 1 < θ 2. La convention choisie est que les itérés pairs (x (k),λ (k),w (k) ) (k pair) appartiennent au voisinage interne N 2 (θ 1 ) tandis que, pour k impair, les itérés appartiennent au voisinage externe N 2 (θ 2 ). L algorithme de Mehrotra est ainsi donné par :

64 62 Méthodes du point intérieur Algorithme 5 Algorithme de prédiction/correction primal-dual Entrées: (x (0),λ (0),w (0) ) N 2 (θ 1 ), ǫ > 0 Sorties: (x,λ,w ) tel que µ < ǫ Tant que µ (k) > ǫ Faire Si k pair (prédiction) Alors σ (k) = 0 x (k) Calculer λ (k) tel que w (k) Calculer α (k) tel que 0 A t I x (k) 0 A 0 0 λ (k) = 0 (4.35) W (k) 0 X (k) w (k) X (k) W (k) e+σ (k) µ (k) e (x (k),λ (k),w (k) )+α (k) ( x, λ (k), w (k) ) N 2 (θ 2 ) Poser (x (k+1),λ (k+1),w (k+1) ) = (x (k),λ (k),w (k) )+α (k) ( x (k), λ (k), w (k) ) Fin si Si k impair (correction) Alors σ (k) = 1 x (k) Calculer λ (k) tel que w (k) 0 A t I x (k) 0 A 0 0 λ (k) = 0 (4.36) W (k) 0 X (k) w (k) X (k) W (k) e+µ (k) e Poser (x (k+1),λ (k+1),w (k+1) ) = (x (k),λ (k),w (k) )+( x (k), λ (k), w (k) ) Fin si Fin tant que L examen des deux premières étapes de l algorithme 5 permet de comprendre le comportement global de l algorithme de prédiction/correction (voir aussi la figure 4.5). Soit l itéré initial (x (0),λ (0),w (0) ) appartenant à N 2 (θ 1 ), le pas de prédiction est calculé pour σ = 0. Une recherche linéaire permet alors d obtenir α (0) tel que l itéré (x (1),λ (1),w (1) ) appartienne à la frontière du voisinage N 2 (θ 2 ). L étape de correction va ramener l itéré (x (2),λ (2),w (2) ) dans le voisinage N 2 (θ 1 ) par application d un pas de correction complet (σ = 1) et (α (1) = 1). Lors de l étape de prédiction, la mesure de dualité µ est réduite d un facteur (1 α (k) ). Si l étape de correction laisse inchangée µ en ramenant l itéré dans le voisinage interne, elle permet toutefois de se donner plus de lattitude pour exécuter l étape de prédiction suivante.

65 Méthodes de suivi du chemin central 63 x 2 w 2 N 2 (θ 2 ) N 2 (θ 1 ) 0 Chemin central x 1 w 1 Figure 4.5 Itérés de l algorithme prédicteur/correcteur dans l espace x i w i Convergence et complexité polynomiale L analyse de convergence consiste à étudier uniquement le comportement des étapes de prédiction. Tout d abord, un ensemble de variations pour α assurant l appartenance de l itéré impair à N 2 (θ 2 ) est construit. Les résultats sont présentés en reprenant un exemple classique de la littérature : θ 1 = 1 4, θ 2 = 1 2 Lemme 4 Soit l itéré pair (x (k),λ (k),w (k) ) N 2 ( 1 4 ), et soit la direction de descente ( x(k), λ (k), w (k) ) calculée à partir du système (4.35), alors(x (k+1),λ (k+1),w (k+1) ) N 2 ( 1 2 ) pour tout α(k) [0, ᾱ (k) ] où ᾱ = min ( ( 1 2, µ 8 X (k) W (k) e ) 1/2 ) (4.37) Ainsi, ᾱ est la longueur minimale que le pas de prédiction peut réaliser et la réduction de saut de dualité est au minimum calculée comme : µ (k+1) = (1 ᾱ)µ (k) Pour le choix de paramètres θ 1 = 1 4 et θ 2 = 1 2, on peut vérifier que ᾱ 0.4 n On peut en déduire que, grâce aux étapes de prédiction, la réduction de la mesure de dualité µ possède une borne inférieure et permet un progrès minimal donné par : µ (k+1) ( n )µ (k) (4.38) Il nous faut maintenant montrer que l itéré est bien ramené dans le voisinage interne lors des phases de correction.

66 64 Méthodes du point intérieur Lemme 5 Soit l itéré impair (x (k),λ (k),w (k) ) N 2 (θ 2 ), et soit la direction de descente ( x (k), λ (k), w (k) ) calculée à partir du système (4.36) (σ = 1), alors : (x (k+1),λ (k+1),w (k+1) ) N 2 ( 1 4 ), µ(k+1) = µ (k) Du point de vue de la convergence, si seules les étapes de prédiction permettent d améliorer la mesure de dualité, elles procurent néanmoins des réductions substantielles. Aussi, il est toujours possible de prouver que l algorithme de prédiction/correction est de complexité polynomiale à l instar des méthodes à pas courts. Théorème 22 On suppose que l itéré initial (x (0),λ (0),w (0) ) N 2 ( 1 2 ) vérifie pour une constante positive κ : µ (0) 1/ǫ κ (4.39) alors il existe un rang K pour lequel : µ (k) ǫ, pour tout k K et tel que K = O( n lnǫ ) L intérêt des méthodes de prédiction/correction est multiple. Tout d abord, les étapes de prédiction permettent de faire des progrès importants sans s éloigner trop rapidement du chemin central. De plus, durant les dernières itérations, les directions de prédiction deviennent meilleures lorsque l on approche de l optimalité. Cela permet à l algorithme de choisir des longueurs de pas proches de Méthodes de suivi de chemin à pas longs Algorithme Les méthodes de suivi de chemin à pas longs vont générer une séquence d itérés appartenant au voisinage N (γ). Rappelons que pour de faibles valeurs de γ (par exemple 10 3 ), le voisinage N (γ) occupe une grande partie de l intérieur de l espace admissible F +. A chaque itération, le paramètre de centrage σ (k) sera choisi dans un intervalle [σ min, σ max ] [0, 1]. La direction de descente est obtenue par la résolution du système (4.23). La longueur du pas α (k) sera prise aussi grande que possible, tout en respectant l appartenance au voisinage N (γ) (d où le nom de la méthode). L algorithme de suivi de chemin central à pas longs se décrit formellement comme suit.

67 Méthodes de suivi du chemin central 65 Algorithme 6 Algorithme primal-dual à pas longs Entrées: x (0),λ (0),w (0) N (γ) et les paramètres ǫ, γ, σ min, σ max tels que ǫ > 0, γ [0, 1] et [σ min, σ max ] [0, 1] Sorties: (x,λ,w ) tels que µ < ǫ Tant que µ (k) > ǫ Faire σ (k) [σ min, σ max ], µ (k) = (x(k) ) t w (k) n x (k) Calculer λ (k) tel que w (k) 0 A t I x (k) 0 A 0 0 λ (k) = 0 W (k) 0 X (k) w (k) X (k) W (k) e+σ (k) µ (k) e Choisir α (k) [0,1] le plus grand possible tel que (x (k),λ (k),w (k) )+α (k) ( x (k), λ (k), w (k) ) N Poser (x (k+1),λ (k+1),w (k+1) ) = (x (k),λ (k),w (k) )+α (k) ( x (k), λ (k), w (k) ) Fin tant que Le comportement de l algorithme est illustré par la figure 4.6. Notons que si la représentation des voisinages N 2 et N en deux dimensions est identique (à savoir les voisinages sont délimités par des cônes de sommet en l origine et centrés sur le chemin central), cela n est plus vrai pour des dimensions plus grandes. x 2 w 2 1 N (γ) 0 Chemin central 2 3 x 1 w 1 Figure 4.6 Itérés de l algorithme à pas longs dans l espace x i w i Convergence et complexité polynomiale La borne inférieure σ min doit permettre d assurer que la direction de recherche va éloigner les itérés des frontières de F +. Ainsi, pour des petites longueurs de pas, la proximité des itérés au chemin central sera améliorée. Pour des valeurs plus importantes de α, les itérés vont de nouveau se rapprocher des frontières. Ceci est notamment dû à l erreur faite lors de l approximation linéaire des conditions non linéaires de KKT. Le lemme 6 et le théorème 23 montrent qu un pas minimum peut-être réalisé avant d atteindre les bords du

68 66 Méthodes du point intérieur voisinage N (γ). Une estimation de la réduction de la mesure de dualité à chaque itération peut ainsi en être déduite. Lemme 6 Soit l itéré (x (k),λ (k),w (k) ) N (γ), il vient alors ( X (k) W (k) e 2 2/ ) nµ γ Théorème 23 Soit les paramètres γ, σ min, σ max, il existe une constante δ indépendante de n, telle que pour tout k, ( µ (k+1) 1 δ ) µ (k) n La complexité algorithmique est une conséquence des théorèmes 23 et 20. Théorème 24 Soit ǫ > 0, γ ]0,1[ et l itéré initial (x (0),λ (0),w (0) ) N (γ) tel que pour une constante positive κ : alors il existe un rang K pour lequel : µ (0) 1/ǫ κ (4.40) µ (k) ǫ, pour tout k K tel que : K = O(n lnǫ ) Méthodes de réduction de potentiel Nous avons vu dans la sous-section 4.1.2, la définition des fonctions potentiel jouant un rôle prépondérant dans le développement des méthodes du point intérieur. Les méthodes de réduction de potentiel reposent très fortement sur ces fonctions barrière. En effet, si elles suivent les mêmes étapes que les méthodes de suivi de chemin central, elle sont construites, non pour suivre explicitement le chemin central à chaque étape mais plutôt afin de réduire la fonction potentiel logarithmique à chaque itération. Celle-ci mesure en effet la progression de la séquence d itérés vers la solution optimale. De nombreuses variantes de la fonction potentiel générique (4.7) ont été utilisées dans les différents algorithmes de réduction de potentiel (algorithmes de Karmarkar, de Ye [29] et de Freund [9] ou de Gonzaga et Todd [13]). Dans le cadre des méthodes primales-duales, Tanabe [23] et Todd et Ye [24] ont défini la fonction potentiel suivante : φ Bρ (x,w) = ρlnx t w n lnx i w i (4.41) où ρ > n. Cette fonction est fondamentale dans le développement des méthodes de réduction de potentiel primales-duales. Le lien avec la fonction potentiel de Karmarkar (A.1) est facile à établir en utilisant la dualité. En effet, a t λ étant une borne inférieure au coût primal, on peut remplacer Z par a t λ dans (A.1). Puis, en utilisant la relation x t w = f t x a t λ, on retrouve le potentiel (4.41). L ajout de la somme i lnw i vient construire une fonction barrière sur la variable duale w pour la contrainte de positivité w 0 comme cela a été fait pour la variable primale x 0. Naturellement, le domaine de validité de la fonction potentiel (4.41) est F +. i=1

69 Méthodes de réduction de potentiel Algorithme Les algorithmes usuels de réduction de potentiel, mentionnés ci-dessus, travaillent essentiellement dans l espace des variables primales et mettent à jour périodiquement les variables duales par d autres moyens. L algorithme, décrit ici, prend le parti de considérer simultanément les variables primales et duales. Cet algorithme, dû à Kojima, Mizuno et Yoshise [15], possède la meilleure complexité algorithmique parmi les algorithmes de réduction de potentiel. Il ne demande que O( n lnǫ ) itérations pour obtenir un saut de dualité inférieur à la tolérance ǫ. La fonction potentiel considérée est la suivante : φ Bρ (x,w) = (ρ n)lnx t w+φ Bn (x,w) (4.42) n = (ρ n)lnx t w ln x iw i x t +nlnn w/n (4.43) Cette fonction φ Bρ prend en considération conjointement la dualité (lnx t w) et la proximité au centre analytique. En effet, φ Bρ sera meilleure si les termes x i w i sont très inférieurs à la mesure de dualité µ = x t w/n. Parmi les méthodes du point intérieur, l algorithme de réduction de potentiel a pour particularité de choisir le paramètre de centrage constant, σ (k) = n/ρ (ρ > n), et de réaliser une recherche linéaire pour la longueur de pas α (k) tel que le potentiel φ Bρ soit minimisé le long de la direction de recherche. Algorithme 7 Algorithme primal-dual de réduction de potentiel Entrées: x (0),λ (0),w (0) F + Sorties: (x,λ,w ) tels que µ < ǫ Tant que µ (k) > ǫ Faire σ (k) = n ρ x (k) Calculer λ (k) tel que : w (k) Choisir α (k) [0,1] tel que α (k) = arg i=1 0 A t I x (k) 0 A 0 0 λ (k) = 0 W (k) 0 X (k) w (k) X (k) W (k) e min α (k) [0,α max] φ Bρ (x (k) +α (k) x (k),w (k) +α (k) w (k) ) où α max = sup{α [0, 1] (x (k) +α (k) x (k),w (k) +α (k) w (k) ) 0} Poser (x (k+1),λ (k+1),w (k+1) ) = (x (k),λ (k),w (k) )+α (k) ( x (k), λ (k), w (k) ) Fin tant que Convergence et complexité polynomiale L analyse de la convergence de cet algorithme consiste à montrer que le potentiel φ Bρ est réduit à chaque itération d une quantité garantie. Dans un premier temps, un premier résultat établit que la réduction du potentiel implique la réduction de la mesure de dualité au travers des lemmes 7, 8, 9. Le théorème 25 nous donne un résultat fondamental sur la complexité. Ce théorème est l équivalent pour les méthodes de réduction de potentiel du théorème 20 pour les méthodes de suivi de chemin central.

70 68 Méthodes du point intérieur Lemme 7 1. Nous avons ln(1+β) { β, β > 1 = β, si et seulement si β = 0 2. Pour tout t R n tel que t τ < 1, nous avons : Lemme 8 Soit (x, w) 0, nous avons alors : φ Bn (x,w) n i=1 ln(1+t i ) e t t+ t 2 2(1 τ) { nlnn = nlnn, si et seulement si XWe = (x t w/n)e = µe Le prochain résultat montre que le potentiel φ Bρ n est pas borné de manière inférieure sur son domaine de validité et déduit une relation en le potentiel φ Bρ et la mesure de dualité µ. Lemme 9 1. φ Bρ is non borné sur son domaine de validité ; 2. Pour tout point (x,λ,w) F +, nous avons : avec µ = xt w n µ e φ Bρ (x,w) ρ n (4.44) Une conséquence de la seconde partie du lemme 9 est qu il est possible de générer une séquence d itérés {(x (k),λ (k),w (k) )} F + pour laquelle le potentiel φ Bρ (x (k),w (k) ) tend vers et la mesure de dualité vers 0. Les résultats suivants montrent que le potentiel est réduit à chaque itération d une quantité δ > 0 telle que : φ Bρ (x (k+1),w (k+1) ) φ Bρ (x (k),w (k) ) δ, k = 1,2,... (4.45) Tout d abord, nous allons établir un résultat sur la complexité algorithmique de tous les algorithmes de réduction de potentiel qui réalisent l incrément (4.45). Théorème 25 Soit l itéré initial(x (0),λ (0),w (0) ) F + et l algorithme générant une séquence d itérés(x (k),w (k) ) F + telle que (4.45) soit satisfaite à chaque itération pour un paramètre positif δ. Il vient alors que pour tout ǫ ]0, 1[, il existe un indice K donné par : tel que : K = φ Bρ(x (k),w (k) ) δ + ρ n ln ǫ (4.46) δ µ (k), k K (4.47) A chaque itération, une recherche de α (k) est réalisée. α (k) doit permettre de minimiser le potentiel φ Bρ dans la direction de recherche( x (k), λ (k), w (k) ). Or, ce potentiel est non convexe sur la plage [0,α max ]. Ainsi, on utilise en lieu et place de φ Bρ une approximation quadratique q(α) qui borne le potentiel par le dessus. On montre que sur l intervalle [0,α ν ] [0,α max ] : φ Bρ (x (k),+α x (k),w (k),+α w (k) ) q(α) = φ Bρ (x (k),w (k) )+αg α2 g 2

71 Itéré initial et irréalisabilité 69 où α ν se définit par l expression suivante : ( ) α n umax X 1 x (k), W 1 w (k) = ν, ν ]0, 1[ Les coefficients de l approximation q(α) sont donnés par : g 1 = ρ wt x+x t w x t e t (X 1 x+w 1 w) w 1 g 2 = 1 ν ( X 1 x 2 + W 1 w 2 Dans ce contexte, il est montré dans [27], comment à partir d estimations des coefficients g 1 et g 2, on obtient le résultat suivant : Théorème 26 Soit ν ]0, 1[ tel que l on définisse ᾱ par : ᾱ = v minν r avec r = (XW) 1 2e+ n ρ µ(xw) 1 2e, alors il vient : et ainsi (4.45) est satisfait pour δ = q(ᾱ) q(0) 0.15 Le corollaire de ce théorème est l obtention d un résultat formel, basé sur le théorème 25, sur la complexité de la méthode de réduction de potentiel présentée. Théorème 27 Soient ρ n+ n et ǫ > 0, supposons que l itéré initial (x (0),λ (0),w (0) ) F + satisfait : φ Bρ (x (0),w (0) ) κ(ρ n) lnǫ avec κ > 0 indépendant de n. Il existe alors un indice K défini par : pour lequel : K = κ+1 (ρ n) lnǫ = O((ρ n) lnǫ) 0.15 (x (k),λ (k),w (k) ) F +, µ k ǫ, k K Itéré initial et détection de programme irréalisable Dans les sections précédentes, nous avons exposé plusieurs méthodes du point intérieur : trois méthodes de suivi de chemin central et une méthode de réduction de potentiel. Ces différentes techniques ont en commun la nécéssité de la donnée d un itéré initial (x (0),λ (0),w (0) ) strictement réalisable (etappartenant à un certain voisinage pour les méthodes de suivi de chemin). Il est souvent difficile de trouver un tel point et il peut s avérer qu il n existe même pas pour un programme linéaire parfaitement valide. Afin de s en convaincre, considérons le problème suivant : min x 1,x 2 2x 1 +x 2 sous x 1 +x 2 +x 3 = 5 x 1 +x 3 = 5 x 0 pour lequel l espace primal admissible P est donné par P = {(β,0,5 β) β [0,5]}. On en déduit que l intérieur de l espace primal-dual F + est un ensemble vide car x 2 = 0 dans P.

72 70 Méthodes du point intérieur De manière générale, les programmes linéaires sous forme standard obtenus par transformation d un programme sous forme générale présentent régulièrement la propriété de ne pas posséder de points strictement admissibles. De plus, en pratique, même si un itéré initial strictement admissible existe, la recherche de celui-ci est, en général une tâche difficile. Nous présentons ici deux approches permettant de surmonter cette difficulté. Une première technique est d intégrer le programme dans un programme homogène auto-dual. L intérêt de ce programme augmenté est multiple. Tout d abord, un itéré initial strictement admissible est facile à identifier et le domaine admissible est non vide. Ce fait garantit la convergence systématique des algorithmes présentés jusqu à présent. De plus, le programme homogène auto-dual donne des informations sur l éventuelle irréalisabilité du problème original, en précisant si celle-ci intervient au niveau du problème primal ou dual. Enfin, si une solution existe, elle sera facilement déduite de la solution du problème augmenté. La seconde technique consiste à utiliser un algorithme ne nécessitant pas que le point initial soit strictement admissible mais seulement qu il respecte la contrainte de positivité (x, w) 0. Cet algorithme a été développé sur la base de l algorithme de suivi de chemin central à pas longs Problème homogène auto-dual Auto-dualité Un programme auto-dual est un programme pour lequel les problèmes primal et dual sont identiques. Dans le contexte des méthodes du point intérieur, cela autorise à éliminer la moitié du système de KKT afin de gagner en efficacité. Un problème auto-dual prend la forme générale suivante : min u,w sous f t u+g t w M 11 u+m 12 w f M12u+M t 22 w = g u 0 w libre (4.48) Les matrices M 11 et M 22 sont des matrices carrées et anti-symétriques i.e. M 11 = M11 t et M 22 = M22 t. On vérifie alors facilement que le problème dual de (4.48) n est autre que lui-même. Après avoir éliminer les redondances dans les conditions de KKT, on peut montrer que la solution de (4.48) peut être déduite de la solution du problème : [ [ ][ ] [ v M11 M = 12 u f + 0] M 12 M 22 w g] u t (4.49) v = 0 u,v 0 Ce problème est appelé problème complémentaire mixte. Il a pour propriété que toute solution (u, v, w) de (4.49) implique que(u, w) est solution du programme (4.48). Inversement, toute solution (u,w) de (4.48) implique que (u,m 11 u+m 12 w+f,w) est solution de l équation (4.49). Comme décrit dans l annexe A.3, le problème (4.49) peut être résolu par une méthode du point intérieur. Rappelons ici que, de manière générale, la résolution de (4.49) ne procure pas de solutions strictement complémentaires comme le nécessité les solutions d un programme linéaire. La réponse à ce problème est donnée dans le théorème suivant. Théorème 28 Si le programme linéaire auto-dual (4.48) admet une solution admissible alors le programme complémentaire mixte associé possède une solution strictement complémentaire. Une preuve de ce théorème est disponible dans [27, Annexe A]. Forme auto-duale homogène Il existe deux types de forme auto-duale homogène. La forme auto-duale homogène, dite simplifiée, a été présentée pour la première fois par Xu, Hung et Ye [28]. Si elle reformule les problèmes primal et dual en un seul problème auto-dual puis en un problème de complémentarité mixte qui possède toujours une solution, elle nécessite toutefois l utilisation

73 Itéré initial et irréalisabilité 71 d un algorithme du point intérieur supportant des itérés non admissibles. Nous nous intéressons aux formes auto-duales homogènes décrites par Ye, Todd et Mizuno [31]. L avantage premier de cette forme est qu il est très facile définir un itéré initial strictement admissible. Le problème auto-dual décrit dans [31] est le suivant : où : min ((x (0) ) t w (0) +1)ϑ sous f t x+a t λ+ zϑ 0 fς A t λ fϑ 0 bς +Ax+āϑ = 0 zς + f t x a t λ = ((x (0) ) t w (0) +1) (ς, x) 0 λ,ϑ libre ā = a Ax (0), f = f A t λ (0) w (0) z = f t x (0) +1 a t λ (0) (4.50) et (x (0),λ (0),w (0) ) est l itéré initial vérifiant (x (0),w (0) ) 0. Les vecteurs ā et f représentent l irréalisabilité de l itéré initial par rapport aux contraintes du problème primal-dual. La variable ς R est un facteur d échelle sur les contraintes primales (Ax = a) et duales (A t λ f) tandis que ϑ R joue le même rôle vis-à-vis des vecteurs d irréalisabilité initiale ā et f. L auto-dualité de (4.50) est facilement vérifiable. Remarquons que le terme «homogène» pour le problème (4.50) est légèrement usurpé du fait que le membre de droite pour la dernière contrainte n est pas nul. Nous allons maintenant définir le problème linéaire complémentaire mixte équivalent à (4.50) à l aide de la variable supplémentaire κ R et de la variable duale w R n. Il vient alors la formulation complémentaire du problème (4.50) : κ 0 f t a t z ς s 0 = f 0 A t f x a A 0 ā λ + 0 z ft ā t 0 ϑ ((x (0) ) t w (0) +1) (ς,x,κ,w) 0, ςκ+x t w = 0 Un itéré initial strictement admissible pour le problème précédent est donné par : (ς,x,λ,ϑ,κ,w) = (1,x (0),λ (0),1,1,w (0) ), (4.51) D ailleurs, remarquons que le point (ς,x,λ,ϑ) = (1,x (0),λ (0),1) est aussi un point strictement réalisable pour le problème (4.50). Il est possible de démontrer que l ensemble des solutions de (4.50) et par conséquent de (4.51) est un ensemble borné. Dans le théorème suivant, il est établi que pour toute solution du problème (4.50) alors ϑ = 0. Théorème 29 Soit une solution (ς,x,λ,ϑ,κ,w ) au problème (4.51) alors ϑ = 0 Enfin, les prochains théorèmes montrent comment l ensemble des solutions du problème primaldual est lié à celui du programme linéaire complémentaire mixte (4.51). Théorème 30 Le programme primal-dual possède un ensemble de solutions Ω si et seulement si toutes les solutions strictement complémentaires (ς,x,λ,ϑ,κ,w ) de (4.51) sont telles que ς > 0 et κ = 0 Dans le cas où ς = 0 alors le problème primal et/ou le problème dual sont irréalisables. Le prochain résultat montre comment identifier un programme défaillant à partir des solutions de (4.51). Théorème 31 Soit la solution strictement complémentaire (ς,x,λ,ϑ,κ,w ) de (4.51) pour lequel κ > 0. Alors, au moins une des propositions suivantes est vérifiée :

74 72 Méthodes du point intérieur i f t x < 0 et le programme dual est irréalisable ; ii a t λ < 0 et le programme primal est irréalisable. Enfin, les solutions du programme original primal-dual (x,λ,w ) peuvent être extraites d une solution strictement complémentaire ( ς, x, λ, ϑ, κ, w ) de (4.51) : ) (x,λ,w ( x λ ) = ς, ς,f At λ ς (4.52) Méthode de suivi de chemin à itérés non admissibles Après avoir défini une première technique basé sur l auto-dualité et la conversion en problème de complémentarité linéaire, nous allons présenter un algorithme qui ne requiert pas un itéré initial strictement admissible pour converger vers une solution optimale et qui est réalisable même si l intérieur de l espace admissible primal-dual est vide. Cette méthode donne lieu à un algorithme dit du point intérieur non admissible. Cet algorithme est une variante de l algorithme de suivi de chemin central à pas longs proposé précédemment. Il génère une séquence d itérés {(x (k),λ (k),w (k) )}, non nécessairement admissibles, mais dont la limite est admissible et optimale. L intérêt pour les méthodes non admissibles est venu de la nécessité de développer des solveurs pratiques et ergonomiques afin que l utilisateur n ait pas à spécifier un point initial strictement réalisable. Algorithme Les principes de l algorithme de suivi de chemin à itérés non admissibles n est pas fondamentalement très éloigné du concept d algorithme de suivi de chemin central à pas longs. Il prend toutefois en compte la distance à l admissibilité de l itéré actuel. Afin de décrire cette distance, nous définissons les résidus suivants : r P = Ax b, r D = A t λ+w c (4.53) Le calcul des directions de recherche va alors être modifié afin de prendre en compte la distance à l admissibilité de l itéré actuel. 0 A t I x (k) r (k) A 0 0 λ (k) P = r (k) (4.54) W (k) 0 X (k) w (k) D X (k) W (k) e+σ (k) µ (k) e où les résidus r (k) 1 etr (k) 2 sont évalués à l itéré courant (x (k),λ (k),w (k) ). A l instar des méthodes de suivi de chemin à pas longs, la notion de voisinage N du chemin central est de nouveau utilisée. Celui-ci est défini par deux paramètres γ et β tels que : { } N (γ,β) = (x,λ,w) (r P,r D ) (r(0) P,r(0) D ) βγ, (x,w) > 0, x µ (0) i w i γµ, i = 1,...,n (4.55) Les paramètresγ (0,1) et β 1 sont donnés. La mesure de dualité µ (0) est évaluée à l itéré initial (x (0),λ (0),w (0) ). La condition β 1 est nécessaire pour que l itéré initial appartienne au voisinage N (γ,β). On peut montrer que les points de ce voisinage admettent des résidus bornés par un multiple de la mesure de dualité µ. La principale caractéristique de l algorithme qui sera présenté est de forcer la convergence à zéro des résidus r P et r D en contraignant les itérés (x (k),λ (k),w (k) ) dans le voisinage N (γ,β) et réduisant de manière monotone la mesure de dualité µ. La seconde condition x i w i γµ permet de garder chaque produit x i w i suffisament loin de zéro.

75 Itéré initial et irréalisabilité 73 Algorithme 8 Algorithme primal-dual de suivi de chemin à itérés non admissibles Entrées: (x (0),λ (0),w (0) ) tel que (x (0),w (0) ) 0, γ [0,1], β 1 et [σ min,σ max ] [0,0.5] Sorties: (x,λ,w ) tel que µ < ǫ Tant que µ (k) > ǫ Faire Choisir σ (k) [σ min,σ max ], Calculer, avec µ (k) = (x(k) ) t w (k) n, x (k) λ (k) tel que : w (k) 0 A t I x (k) r (k) A 0 0 λ (k) P = r (k) W (k) 0 X (k) w (k) D X (k) W (k) e+σ (k) µ (k) e Choisir α (k) [0,1] le plus grand possible tel que et (x (k),λ (k),w (k) )+α (k) ( x (k), λ (k), w (k) ) N µ (k+1) (1.01α (k) )µ (k) (4.56) Poser (x (k+1),λ (k+1),w (k+1) ) = (x (k),λ (k),w (k) )+α (k) ( x (k), λ (k), w (k) ) Fin tant que Convergence et complexité polynomiale La convergence de cet algorithme est analysée en montrant qu il existe une constante ᾱ > 0 telle que α (k) ᾱ pour tout k. En utilisant la condition (4.56), il vient : µ (k+1) (1 0.1α (k) )µ (k) (1 0.1ᾱ)µ (k), pour tout k Ainsi, la séquence de mesure de dualité {µ (k) } converge linéairement vers 0. Par ailleurs, on peut écrire,r (k+1) D ) = (1 α (k) )(r (k) P,r(k) D ) Par conséquent, nous avons : et la séquence des résidus (r (k) (r (k+1) P r (k+1) P P,r(k) D,r (k+1) D (1 ᾱ) r (k) P,r(k) D (4.57) ) converge vers 0. Théorème 32 La séquence de mesures de dualité {µ k } générée par l algorithme à itérés non admissibles converge vers 0 ainsi que la séquence des normes de résidus r (k) P,r(k) D. L étude de la complexité algorithmique se base sur le fait que la borne ᾱ sur la longueur du pas est inversement polynomiale en n si le point de départ est : (x (0),λ (0),w (0) ) = (ζe,a,ζe) où ζ est un scalaire vérifiant : (x,s ) ζ Théorème 33 Soit le paramètre ǫ > 0 et l itéré initial donné par : (x (0),λ (0),w (0) ) = (ζe,a,ζe)

76 74 Méthodes du point intérieur Supposons que le paramètre ζ satisfait : ζ C ǫ κ où C > 0 et κ > 0. Il existe alors un indice K tel que {(x (k),λ (k),w (k) )} généré par l algorithme à itérés non admissibles satisfait µ (k) ǫ k K pour lequel : K = O(n 2 logǫ ) La preuve de ce théorème est très technique et dépasse la portée de ce rapport. Une preuve est cependant disponible dans [27]. Ce dernier théorème impliquant la connaissance de la solution optimale (x,λ,w ), un itéré initial, dont le ratio (r (0) P,r(0) D /µ(0) est petit, permet en pratique une convergence plus rapide qu un itéré initial avec un ratio grand. Enfin, un dernier résultat nous indique que la séquence d itérés est bornée dans le cas où F + est non vide. Théorème 34 Soit la séquence d itérés {(x (k),λ (k),w (k) )} générée par l algorithme de suivi de chemin à itérés non admissibles et supposons que l intérieur de l espace admissible soit non vide F +. Il vient que la séquence {(x (k),w (k) )} est bornée et admet un point limite.

77 Annexe A Méthodes du point intérieur historiques A.1 La méthode de Karmarkar En 1984, l algorithme de Karmarkar a été annoncé comme la première méthode de programmation linéaire dont la complexité est polynomiale. Cette méthode utilise uniquement le domaine primal sans faire référence au problème dual ni aux variables duales. A chaque itération, l algorithme exécute une transformation projective de l espace admissible qui fait de l itéré courant x (k) le centre de l ensemble projeté dans lequel une direction de descente est ensuite calculée. L objectif de la méthode est de réduire la fonction potentielle logarithmique φ BK : φ BK (x) = ρln(f t x Z) n lnx i i=1 (A.1) où ρ = n + 1 et Z est une borne inférieure du coût optimal. Pour ce faire, Karmarkar a posé le problème linéaire sous une forme normalisée appelée forme canonique de Karmarkar : min x sous f t x Le domaine admissible, noté P, est alors défini par : Ax = 0 e t x = n x 0 P = { x Ax = 0, e t x = n, x 0 } (A.2) S appuyant sur l homogénéité de la fonction potentiel φ BK, il pose alors la transformation projective : x = T(x) = n(x(k) ) 1 x e t (X (k) ) 1 x x P La transformation inverse est donnée par : x = T 1 (x ) = nx(k) x e t X (k) x x K P Cette projection transforme l espace admissible P en P et le potentiel φ BK en φ BK tel que : P = {x A (k) x = 0, e t x = n, x 0} n φ BK (x ) = nln((f (k) ) t x ) lnx i 75 i=1

78 76 Méthodes du point intérieur historiques avec f (k) = (X (k) ) 1 f et A (k) = AX (k). Elle possède l avantage d être transparente vis-à-vis de la dernière contrainte de (A.2) e t x = n qui devient e t x = n. De plus, la différence de potentiel entre deux points de P + est invariante par la projection T : φ BK (T(x (2) )) φ BK (T(x (1) )) = φ BK (x(2) ) φ BK (x(1) ) Par la transformation projective T, le programme linéaire (A.2) est alors reformulé comme : min x ((f (k) ) t x sous A (k) x = 0 e t x = n x 0 (A.3) L idée de Karmarkar est de transformer l itéré courant x (k) en centre analytique de l ensemble admissible projeté P par la projection T. En effet, on peut montrer que le centre analytique T(x (k) ) = e est le centre analytique de P. Ensuite, l algorithme va tenter de réduire la valeur du potentiel φ BK dans l espace P. Pour ce faire, la minimisation va porter sur la linéarisation de φ BK autour du centre analytique e : ( ) t φ BK (e)t x = x = n (f (k) ) t e c(k) e ( ) t n e x = n ) t x n f t x (k)f(k) f t x (k)(f(k) Ainsi, en remarquant que f t x (k) et n sont fixes, on montre que le problème de minimisation du potentiel sur P s écrit comme un problème d optimisation linéaire sur l intersection d une boule unité et d un sous-espace défini par des contraintes linéaires : min x sous ((f (k) ) t (x e) A (k) (x e) = 0 e t (x e) = n x e 1 (A.4) La solution de ce problème est donnée par (cf. l annexe A.5) : où x e = α d(k) d (k) d (k) = X (k) (f A t λ (k) ) ft x (k) n e où λ (k) = (A (k) (A (k) ) t ) 1 A (k) f (k) est une approximation inférieure du coût minimal (f (k) ) t x. On montre que la différence de potentiel entre le centre analytique de P et le point x minimisant le potentiel est borné : φ BK(x ) φ BK(e) δ δ est une constante positive vérifiant δ = 3α/4 α 2 /2(1 α). Ainsi pour un α = 1/3, il vient δ = 1/6. De plus, en utilisant la projection inverse T 1 (x ) = x (k+1) et T 1 (e) = x (k), on peut affirmer que la réduction de potentiel à chaque itération est bornée par une constante : φ BK (x (k+1) ) φ BK (x (k) ) 1 6 La complexité d un algorithme basé sur la méthode de Karmarkar est polynomiale et requiert O(nlog(1/ǫ)) itérations pour obtenir une solution ǫ optimale. Peu de temps après la publication des travaux de Karmarkar, Renegar [22] a publié un algorithme utilisant une méthode de Newton conjointement avec une autre fonction logarithmique barrière donnée par : min x nln(z c t x) n lnx i i=1

79 A.2. MÉTHODE DE MISE À L ÉCHELLE AFFINE 77 avec la contrainte supplémentaire c t x Z, Z étant une borne supérieure du coût optimal c t x. L intérêt de l algorithme de Renegar est d améliorer sensiblement la compléxité de l algorithme initial. En effet, dans le pire des cas, il faudra O( nln(1/ǫ)) itérations pour identifier une solution admissible ǫ optimale x tel que c t x c t x < ǫ. A.2 Méthode de mise à l échelle affine Nous pouvons aussi citer, parmi les méthodes primales historiques, les méthodes de mise à l échelle affine (affine scaling method). Elles ont été développées en premier lieu dans le cadre primal par Dickin [6]. Ces méthodes de réduction de potentiel se basent sur des transformations projectives affines et non pas sur la notion de chemin central ou sur des méthodes de Newton. Dans le problème primal, la contrainte de positivité sur x est remplacée par une contrainte d appartenance à un ellipsoïde centré autour de l itéré courant : min x sous f t x Ax = a (X (k) ) 1 (x x (k) ) 1 (A.5) où x (k) représente l itéré courant, X (k) la matrice diagonale comportant le vecteur x (k) sur la diagonale. On peut montrer que l ellipsoïde, appelé ellipsoïde de Dikin, est entièrement inclus à l intérieur de P. Le minimum sur cette ellipsoïde est obtenu en x (k+1) = x (k) + x (k) où 1 x (k) = X(k) P AX (k)x (k) f P AX (k)x (k) f Si les méthodes primales ont un intérêt théorique en termes d analyse de complexité et de vitesse de convergence ou encore en termes de concept de point intérieur, il apparaît que ce sont surtout les méthodes utilisant les variables primales et duales qui ont été largement codées dans les solveurs numériques disponibles [1]. 1. P Q est la matrice projection sur kerq = {x Qx = 0}, qui peut s écrire P Q = I Q t (QQ t ) 1 Q si Q est de rang plein.

80 78 Problème de complémentarité linéaire A.3 Problème de complémentarité linéaire Les problèmes de complémentarité linéaire sont une classe générale de problèmes en laquelle il est aisé de transcrire les problèmes de programmation linéaire. Pour cette classe de problèmes, les algorithmes du point intérieur peuvent être ré-écrits au moyen de simples changements de notations et appliqués avec l arsenal de propriétés qui font le succès des méthodes du point intérieur. A.3.1 Problème de complémentarité linéaire monotone Le problème de complémentarité linéaire monotone consiste à trouver x R n et s R n qui satisfont les contraintes suivantes : w = Mx+q, (x,w) 0, x t w = 0 (A.6) M R n n est une matrice semi-définie positive et q un vecteur appartenant à R n. Les conditions x t w = 0 et (x,w) 0 impliquent que pout tout i x i w i =0 où de manière équivalente : x i = 0 ou w i = 0 pour tout i = 1,...,n. Si le problème (A.6) n est pas un problème d optimisation, il possède cependant des contraintes égalité (w = Mx+q), des conditions de non-négativité ((x,w) 0) et de complémentarité (x t w = 0) à l instar des programmes linéaires. Ainsi le problème (A.6) peut-être reformulé sous la forme d un système non linéaire : [ ] Mx+q w F(x,w) = = 0 (A.7) XWe Le problème A.7 peut être résolu par des méthodes de descente de type Newton à l instar des conditions de KKT pour les programmes linéaires. Un espace admissible et son intérieur peuvent être alors définis : F = {(x,w) w = Mx+q, (x,w) 0} F = {(x,w) w = Mx+q, (x,w) 0} (A.8) Dans ce cadre, la notion de chemin central peut-être étendue. Il se définit alors comme l ensemble des points (x τ,w τ ) avec τ > 0 tels que : Mx+q = w (x,w) 0 x i w i = τ i = 1,...,n (A.9) Ainsi le cadre général des méthodes du point intérieur est aussi applicable au problème (A.7) Algorithme 9 Algorithme de complémentarité linéaire Entrées: (x (0),w (0) ) F + Pour k = 1, 2, Faire Résoudre [ ][ ] [ ] M I x (k) 0 W (k) X (k) = X (k) X (k) e+σµe w (k) pour σ (k) [0, 1] et µ (k) = (x(k) ) t w (k) n ; Poser (x (k+1),w (k+1) ) = (x (k),w (k) )+α (k) ( x (k), w (k) ) Choisir α (k) tel que (x (k+1),w (k+1) ) 0 Fin pour Les notions de voisinage peuvent aussi être décrites comme pour les méthodes de suivi de chemin central. Ainsi, l extension d un algorithme tel que celui prédiction-correction est possible à peu de frais.

81 Problème de complémentarité linéaire 79 Algorithme 10 Algorithme de complémentarité linéaire 2 Entrées: (x (0),w (0) ) N 2 (θ 1 ) Pour k = 1, 2, Faire Si k pair (prédiction) Alors Résoudre [ ][ ] [ ] M I x (k) 0 W (k) X (k) = X (k) W (k) e w (k) avec σ = 0 ; Calculer α (k) [0,1] le plus grand possible tel que : (A.10) (x (k+1),w (k+1) ) = (x (k),w (k) )+α (k) ( x (k), w (k) ) N 2 (θ 2 ) Fin si Si k impair (correction) Alors Résoudre [ ][ ] [ ] M I x (k) 0 W (k) X (k) = X (k) W (k) e+µ (k) e w (k) avec σ = 1. Poser (x (k+1),w (k+1) ) = (x (k),w (k) )+( x (k), w (k) ); Fin si Fin pour (A.11) Les différents résultats sur la convergence et la complexité de cet algorithme sont quasiment identiques à ceux obtenus dans le cadre des programmes linéaires : Théorème 35 Soit ǫ > 0 et un itéré initial (x (0),w (0) ) N 2 (θ 1 ) avec θ 1 = 1 4 et θ 2 = 1 2 prédiction/correction avec : alors pour l algorithme de µ 0 C ǫ κ où C et κ sont des constantes positives, il existe un indice K = O( n lnǫ ) tel que A.3.2 µ (k) ǫ k K Problème de complémentarité linéaire mixte Nous présentons maintenant une variante du problème de complémentarité linéaire appelé problème de complémentarité linéaire mixte. Bien qu équivalent à la forme standard (A.6), cette forme mixte est plus générale que la précédente. Elle permet surtout un lien plus aisé avec les problèmes de programmation linéaire. L équivalence entre les deux formes permet d utiliser les algorithmes précédents et de conserver les propriétés de convergence et de complexité algorithmique. Le problème de complémentarité linéaire mixte consiste en la recherche des vecteurs x R n, s R n et z R m tel que [ [ ][ ] [ ] w M11 M = 12 x q1 +, (x,w) 0, x 0] M 21 M 22 z q t w = 0 (A.12) 2 [ ] M11 M où la matrice M = 12, de dimensions (n +m) (n+m) est semi-définie positive. En M 21 M 22 utilisant la forme (A.12), les conditions de KKT pour un programme linéaire peuvent se réécrire comme : [ ] [ ][ [ w 0 A t x f = +, (x,w) 0, x 0 A 0 λ] a] t w = 0

82 80 Problème de complémentarité linéaire Pour la forme mixte du problème de complémentarité linéaire, le calcul de la direction de recherche se décline la façon suivante : M 11 M 12 I M 21 M 22 0 W 0 X [ x (k) z (k) w (k) ] w M 11 x M 12 z q 1 = M 21 x M 22 z q 2 X (k) W (k) e+σµe

83 Rappels sur la méthode de Newton 81 A.4 Rappels sur la méthode de Newton La méthode de Newton est une méthode itérative de résolution des systèmes d équations non linéaires. Soit F : R n R n une fonction non linéaire différentiable. La méthode de Newton est une procédure itérative qui a pour objectif de trouver un point x R n tel que F(x ) = 0. En supposant que l on dispose d un vecteur x (k) fournissant une approximation de la solution x, la méthode de Newton utilise une approximation du premier ordre (linéaire) de F autour de x (k) afin d améliorer cette approximation. F(x (k) + x (k) ) F(x (k) )+J(x (k) ) x (k) (A.13) où J(x (k) ) est la matrice Jacobienne de F calculée en x (k). L élément (i,j) de J(x (k) ) est calculé comme : F i (x) x j x=x (k) On suppose que la matrice Jacobienne n est pas singulière. L itéré suivant x (k+1), constituant l approximation suivante de x est calculée comme : x (k+1) = x (k) + x (k) (A.14) où le pas de Newton x (k) est choisi afin d annuler l approximation linéaire de la fonction F. F(x (k) )+J(x (k) ) x (k) = O (A.15) Le calcul de x (k) est généralement effectué en pratique via la résolution du système linéaire : J(x (k) ) x (k) = F(x (k) ) (A.16) et non par l inversion de la matrice J(x (k) ). F(x) F(x (k) )+J(x (k) ) x (k) x 0 x x (k) x (k+1) Figure A.1 Illustration de la méthode de Newton pour une fonction F scalaire La convergence vers une solution est généralement rapide quand un itéré atteint un voisinage de la solution. En fait, si la fonction F est Lipschitz et continûment différentiable au voisinage de

84 82 Rappels sur la méthode de Newton la solution x et si la matrice Jacobienne n est pas singulière alore la méthode de Newton converge quadratiquement. x (k+1) x 2 K x (k) x 2 2 (A.17) pour une constante K > 0. Si x 0 se trouve éloigné d un voisinage d un des zéros x de F, la méthode peut diverger. Il est alors possible de définir l itération de base à l aide d une recherche monodimensionnelle : x (k+1) = x (k) +α k δx (k) (A.18) où α k la longueur du pas de Newton peut être choisi comme : [ ] α k = Arg min F(x (k) +α x (k) ) 2 α (A.19)

85 Minimisation linéaire sous contrainte de norme 83 A.5 Minimisation linéaire sous contrainte de norme ou Le problème de minimisation linéaire sous contrainte de norme peut prendre plusieurs formes : min x sous min x sous f T x Ax = 0 x 2 1 g T y A T y 2 1 x est un minimum pour le problème (A.20) si et seulement s il existe un vecteur y satisfaisant et si f A T y 0 alors : AA T y = Af x = (f AT y) f A T y (A.20) (A.21) Si f A T y = 0 alors toute solution admissible miminise le coût. De même, le problème (A.21) a une solution y qui est donnée par : y = ȳ A T ȳ où ȳ 0 vérifie la relation : AA T = g Si ȳ = 0 alors toute solution admissible est solution du problème (A.21). Ainsi, les problèmes de minimisation sous contrainte de norme (A.20) et (A.21) se résument à une résolution d un système d équations linéaires.

86 84 Minimisation linéaire sous contrainte de norme

87 Bibliographie [1] H.Y. Benson. Encyclopedia of OR/MS, chapter Interior-Point Linear Programming Solvers. Wiley, A paraitre. [2] D. Bertsimas and J. N. Tsitsiklis. Introduction to linear optimization. Optimization and Computation Series. Athena Scientific, Belmont, Massachussetts, USA, [3] A. Billionnet. Optimisation discrète. Dunod, Paris, France, [4] G. B. Dantzig. Applications et prolongements de la programmation linéaire. Dunod, Dunod, Paris, [5] G. B. Dantzig and M. N. Thapa. Linear programming. Springer, New York, New York USA, [6] I. I. Dikin. Iterative solution of problems of linear and quadratic programming. Soviet Mathematics Doklady, 8 : , [7] M. C. Ferris, O. L. Mangasarian, and S. J. Wright. Linear programming with MATLAB. MPS-SIAM Series on Optimization. SIAM, Philadelphie, Pennsylvanie, USA, [8] A.V. Fiacco and G.P. McCormick, editors. Nonlinear programming, sequential unconstrained minimization techniques. John Wiley and Sons, New York, New York, USA, [9] R. Freund. Polynomial-time algorithms for linear programming based only on primal scaling and projected gradients of a potential function. Mathematical Programming, 51 : , [10] K.R. Frisch. The logarithmic potential method of convex programming. Technical report, University Institute of Economics, Oslo, Norvège, [11] M. R. Garey and D. S. Johnson. Computers and Intractability, a guide to the theory of NP-completeness. Freeman, San Francisco, Californie, USA, [12] S. I. Gass. The first linear programming shoppe. Operations Research, 50(1) :61 68, [13] C. Gonzaga and Todd M. An o( nl-iteration large step primal-dual affine algorithm for linear programming. SIAM Journal on optimization, 2 : , [14] N. Karmarkar. A new polynomial-time algorithm for linear programming. Combinatorica, 4 : , [15] M. Kojima, Mizuno S., and Yoshise A. An o( nl iteration potential reduction algorithm for linear complementary problems. Mathematical Programming, 50 :33 342, [16] D. G. Luenberger. Linear and nonlinear programming. Addison Wesley Publishing Company, Reading, Massachussets, USA, [17] J. Matou sek and B. Gärtner. Understanding and using linear programming. Springer, Heiderlberg, Germany, [18] J. F. Maurras. Programmation linéaire, complexité. Springer, Heiderlberg, Germany, [19] S. Mehrotra and J.S. Wang. On the implementation of a primal-dual interior point method. SIAM Journal on Optimization, 2 : , [20] M. Minoux. Programmation mathématique. Dunod, Paris, France, [21] A. Orden. LP from the 40s to the 90s. Interfaces, 23(5) :2 12,

88 86 BIBLIOGRAPHIE [22] J. Renegar. A polynomial-time algorithm, based on Newton s method, for linear programming. Mathematical Programming, 40 :59 93, [23] K. Tanabe. Centered Newton method for mathematical programming. In System modeling and optimization : proceedings of the 13 th IFIP conference, pages , Berlin, August/September Springer-Verlag. [24] M.J. Todd and Y. Ye. A centered projective algorithm for linear programming. Mathematics of operation research, 38 : , [25] R. J. Vanderbei. Linear Programming : Foundations and extensions. International Series on Operations Research and Management Science. Springer, New York, New York, USA, [26] H.P. Williams. Model building in mathematical programming. Wiley, New York, NY, USA, [27] S. Wright. Primal-dual interior-point methods. SIAM, [28] X. Xu, P. Hung, and Y. Ye. A simplified homogeneous and self-dual linear programming algorithm and its implementation. Annals of operations research, 62 : , [29] Y. Ye. An o(n 3 l) potential reduction algorithm for linear programming. Mathematical Programming, [30] Y. Ye. Interior point algorithms. John Wiley and Sons, New York, New York, USA, [31] Y. Ye, M. Todd, and S. Mizuno. An o( nl)-iteration homogeneous and self-dual linear programming algorithm. Mathematics of operations research, 4 : , 1994.

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Programmation linéaire

Programmation linéaire Programmation linéaire DIDIER MAQUIN Ecole Nationale Supérieure d Electricité et de Mécanique Institut National Polytechnique de Lorraine Mathématiques discrètes cours de 2ème année Programmation linéaire

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

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

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique La programmation linéaire : une introduction Qu est-ce qu un programme linéaire? Qu est-ce qu un programme linéaire? Exemples : allocation de ressources problème de recouvrement Hypothèses de la programmation

Plus en détail

Optimisation Discrète

Optimisation Discrète Prof F Eisenbrand EPFL - DISOPT Optimisation Discrète Adrian Bock Semestre de printemps 2011 Série 7 7 avril 2011 Exercice 1 i Considérer le programme linéaire max{c T x : Ax b} avec c R n, A R m n et

Plus en détail

Programmation linéaire et Optimisation. Didier Smets

Programmation linéaire et Optimisation. Didier Smets Programmation linéaire et Optimisation Didier Smets Chapitre 1 Un problème d optimisation linéaire en dimension 2 On considère le cas d un fabricant d automobiles qui propose deux modèles à la vente, des

Plus en détail

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

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA 75. Un plombier connaît la disposition de trois tuyaux sous des dalles ( voir figure ci dessous ) et il lui suffit de découvrir une partie de chacun d eux pour pouvoir y poser les robinets. Il cherche

Plus en détail

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

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante

Plus en détail

LES MÉTHODES DE POINT INTÉRIEUR 1

LES MÉTHODES DE POINT INTÉRIEUR 1 Chapitre XIII LES MÉTHODES DE POINT INTÉRIEUR 1 XIII.1 Introduction Nous débutons par un rappel de la formulation standard d un problème d optimisation 2 linéaire et donnons un bref aperçu des différences

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

Plus en détail

Image d un intervalle par une fonction continue

Image d un intervalle par une fonction continue DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction

Plus en détail

Programmation Linéaire - Cours 1

Programmation Linéaire - Cours 1 Programmation Linéaire - Cours 1 P. Pesneau [email protected] Université Bordeaux 1 Bât A33 - Bur 265 Ouvrages de référence V. Chvátal - Linear Programming, W.H.Freeman, New York, 1983.

Plus en détail

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

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer Pour commencer Exercice 1 - Ensembles de définition - Première année - 1. Le logarithme est défini si x + y > 0. On trouve donc le demi-plan supérieur délimité par la droite d équation x + y = 0.. 1 xy

Plus en détail

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

Chapitre 2 Le problème de l unicité des solutions Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)

Plus en détail

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

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

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.

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. 1 Définitions, notations 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. On utilise aussi la notation m n pour le

Plus en détail

3 Approximation de solutions d équations

3 Approximation de solutions d équations 3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle

Plus en détail

Continuité et dérivabilité d une fonction

Continuité et dérivabilité d une fonction DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité

Plus en détail

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

Sujet 4: Programmation stochastique propriétés de fonction de recours Sujet 4: Programmation stochastique propriétés de fonction de recours MSE3313: Optimisation Stochastiqe Andrew J. Miller Dernière mise au jour: October 19, 2011 Dans ce sujet... 1 Propriétés de la fonction

Plus en détail

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur

Plus en détail

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

Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la Programmation Linéaire. 5 . Introduction Un programme linéaire s'écrit sous la forme suivante. MinZ(ou maxw) =

Plus en détail

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

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin. Exo7 Matrice d une application linéaire Corrections d Arnaud odin. Exercice Soit R muni de la base canonique = ( i, j). Soit f : R R la projection sur l axe des abscisses R i parallèlement à R( i + j).

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

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

Dualité dans les espaces de Lebesgue et mesures de Radon finies Chapitre 6 Dualité dans les espaces de Lebesgue et mesures de Radon finies Nous allons maintenant revenir sur les espaces L p du Chapitre 4, à la lumière de certains résultats du Chapitre 5. Sauf mention

Plus en détail

Optimisation des fonctions de plusieurs variables

Optimisation des fonctions de plusieurs variables Optimisation des fonctions de plusieurs variables Hervé Hocquard Université de Bordeaux, France 8 avril 2013 Extrema locaux et globaux Définition On étudie le comportement d une fonction de plusieurs variables

Plus en détail

Calcul différentiel sur R n Première partie

Calcul différentiel sur R n Première partie Calcul différentiel sur R n Première partie Université De Metz 2006-2007 1 Définitions générales On note L(R n, R m ) l espace vectoriel des applications linéaires de R n dans R m. Définition 1.1 (différentiabilité

Plus en détail

Cours d Analyse. Fonctions de plusieurs variables

Cours d Analyse. Fonctions de plusieurs variables Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........

Plus en détail

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

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h Télécom Physique Strasbourg Master IRIV Optimisation et programmation mathématique Professeur Michel de Mathelin Cours intégré : 20 h Programme du cours d optimisation Introduction Chapitre I: Rappels

Plus en détail

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

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

Résolution d équations non linéaires

Résolution d équations non linéaires Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique

Plus en détail

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer

Plus en détail

Chapitre 2. Matrices

Chapitre 2. Matrices Département de mathématiques et informatique L1S1, module A ou B Chapitre 2 Matrices Emmanuel Royer emmanuelroyer@mathuniv-bpclermontfr Ce texte mis gratuitement à votre disposition a été rédigé grâce

Plus en détail

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

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

Approximations variationelles des EDP Notes du Cours de M2

Approximations variationelles des EDP Notes du Cours de M2 Approximations variationelles des EDP Notes du Cours de M2 Albert Cohen Dans ce cours, on s intéresse à l approximation numérique d équations aux dérivées partielles linéaires qui admettent une formulation

Plus en détail

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

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples, Non-linéarité Contexte Pour permettre aux algorithmes de cryptographie d être sûrs, les fonctions booléennes qu ils utilisent ne doivent pas être inversées facilement. Pour cela, elles doivent être très

Plus en détail

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions Formes quadratiques Imen BHOURI 1 Ce cours s adresse aux étudiants de niveau deuxième année de Licence et à ceux qui préparent le capes. Il combine d une façon indissociable l étude des concepts bilinéaires

Plus en détail

Calcul fonctionnel holomorphe dans les algèbres de Banach

Calcul fonctionnel holomorphe dans les algèbres de Banach Chapitre 7 Calcul fonctionnel holomorphe dans les algèbres de Banach L objet de ce chapitre est de définir un calcul fonctionnel holomorphe qui prolonge le calcul fonctionnel polynômial et qui respecte

Plus en détail

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015 Énoncé Soit V un espace vectoriel réel. L espace vectoriel des endomorphismes de V est désigné par L(V ). Lorsque f L(V ) et k N, on désigne par f 0 = Id V, f k = f k f la composée de f avec lui même k

Plus en détail

I. Polynômes de Tchebychev

I. Polynômes de Tchebychev Première épreuve CCP filière MP I. Polynômes de Tchebychev ( ) 1.a) Tout réel θ vérifie cos(nθ) = Re ((cos θ + i sin θ) n ) = Re Cn k (cos θ) n k i k (sin θ) k Or i k est réel quand k est pair et imaginaire

Plus en détail

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

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008) Examen optimisation Centrale Marseille (28) et SupGalilee (28) Olivier Latte, Jean-Michel Innocent, Isabelle Terrasse, Emmanuel Audusse, Francois Cuvelier duree 4 h Tout resultat enonce dans le texte peut

Plus en détail

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours Exo7 Continuité (étude globale). Diverses fonctions Exercices de Jean-Louis Rouget. Retrouver aussi cette fiche sur www.maths-france.fr * très facile ** facile *** difficulté moyenne **** difficile *****

Plus en détail

RO04/TI07 - Optimisation non-linéaire

RO04/TI07 - Optimisation non-linéaire RO04/TI07 - Optimisation non-linéaire Stéphane Mottelet Université de Technologie de Compiègne Printemps 2003 I Motivations et notions fondamentales 4 I1 Motivations 5 I2 Formes quadratiques 13 I3 Rappels

Plus en détail

CCP PSI - 2010 Mathématiques 1 : un corrigé

CCP PSI - 2010 Mathématiques 1 : un corrigé CCP PSI - 00 Mathématiques : un corrigé Première partie. Définition d une structure euclidienne sur R n [X]... B est clairement symétrique et linéaire par rapport à sa seconde variable. De plus B(P, P

Plus en détail

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. E-mail address: [email protected] URL: http://nicolas.thiery.

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. E-mail address: Nicolas.Thiery@u-psud.fr URL: http://nicolas.thiery. Cours de Recherche Opérationnelle IUT d Orsay Nicolas M. THIÉRY E-mail address: [email protected] URL: http://nicolas.thiery.name/ CHAPTER 1 Introduction à l optimisation 1.1. TD: Ordonnancement

Plus en détail

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois

Plus en détail

Calcul intégral élémentaire en plusieurs variables

Calcul intégral élémentaire en plusieurs variables Calcul intégral élémentaire en plusieurs variables PC*2 2 septembre 2009 Avant-propos À part le théorème de Fubini qui sera démontré dans le cours sur les intégrales à paramètres et qui ne semble pas explicitement

Plus en détail

Chapitre 5 : Flot maximal dans un graphe

Chapitre 5 : Flot maximal dans un graphe Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d

Plus en détail

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

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé Baccalauréat ES Pondichéry 7 avril 204 Corrigé EXERCICE 4 points Commun à tous les candidats. Proposition fausse. La tangente T, passant par les points A et B d abscisses distinctes, a pour coefficient

Plus en détail

Une introduction aux codes correcteurs quantiques

Une introduction aux codes correcteurs quantiques Une introduction aux codes correcteurs quantiques Jean-Pierre Tillich INRIA Rocquencourt, équipe-projet SECRET 20 mars 2008 1/38 De quoi est-il question ici? Code quantique : il est possible de corriger

Plus en détail

Chp. 4. Minimisation d une fonction d une variable

Chp. 4. Minimisation d une fonction d une variable Chp. 4. Minimisation d une fonction d une variable Avertissement! Dans tout ce chapître, I désigne un intervalle de IR. 4.1 Fonctions convexes d une variable Définition 9 Une fonction ϕ, partout définie

Plus en détail

IV- Equations, inéquations dans R, Systèmes d équations

IV- Equations, inéquations dans R, Systèmes d équations IV- Equations, inéquations dans R, Systèmes d équations 1- Equation à une inconnue Une équation est une égalité contenant un nombre inconnu noté en général x et qui est appelé l inconnue. Résoudre l équation

Plus en détail

Problème 1 : applications du plan affine

Problème 1 : applications du plan affine Problème 1 : applications du plan affine Notations On désigne par GL 2 (R) l ensemble des matrices 2 2 inversibles à coefficients réels. Soit un plan affine P muni d un repère (O, I, J). Les coordonnées

Plus en détail

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES Théorème - Définition Soit un cercle (O,R) et un point. Une droite passant par coupe le cercle en deux points A et

Plus en détail

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

Théorème du point fixe - Théorème de l inversion locale Chapitre 7 Théorème du point fixe - Théorème de l inversion locale Dans ce chapitre et le suivant, on montre deux applications importantes de la notion de différentiabilité : le théorème de l inversion

Plus en détail

Mathématiques appliquées à l'économie et à la Gestion

Mathématiques appliquées à l'économie et à la Gestion Mathématiques appliquées à l'économie et à la Gestion Mr Makrem Ben Jeddou Mme Hababou Hella Université Virtuelle de Tunis 2008 Continuité et dérivation1 1- La continuité Théorème : On considère un intervalle

Plus en détail

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

Chapitre 6. Fonction réelle d une variable réelle Chapitre 6 Fonction réelle d une variable réelle 6. Généralités et plan d étude Une application de I dans R est une correspondance entre les éléments de I et ceu de R telle que tout élément de I admette

Plus en détail

Polynômes à plusieurs variables. Résultant

Polynômes à plusieurs variables. Résultant Polynômes à plusieurs variables. Résultant Christophe Ritzenthaler 1 Relations coefficients-racines. Polynômes symétriques Issu de [MS] et de [Goz]. Soit A un anneau intègre. Définition 1.1. Soit a A \

Plus en détail

Simulation de variables aléatoires

Simulation de variables aléatoires Chapter 1 Simulation de variables aléatoires Références: [F] Fishman, A first course in Monte Carlo, chap 3. [B] Bouleau, Probabilités de l ingénieur, chap 4. [R] Rubinstein, Simulation and Monte Carlo

Plus en détail

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre IUFM du Limousin 2009-10 PLC1 Mathématiques S. Vinatier Rappels de cours Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre 1 Fonctions de plusieurs variables

Plus en détail

Limites finies en un point

Limites finies en un point 8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,

Plus en détail

Sur certaines séries entières particulières

Sur certaines séries entières particulières ACTA ARITHMETICA XCII. 2) Sur certaines séries entières particulières par Hubert Delange Orsay). Introduction. Dans un exposé à la Conférence Internationale de Théorie des Nombres organisée à Zakopane

Plus en détail

8.1 Généralités sur les fonctions de plusieurs variables réelles. f : R 2 R (x, y) 1 x 2 y 2

8.1 Généralités sur les fonctions de plusieurs variables réelles. f : R 2 R (x, y) 1 x 2 y 2 Chapitre 8 Fonctions de plusieurs variables 8.1 Généralités sur les fonctions de plusieurs variables réelles Définition. Une fonction réelle de n variables réelles est une application d une partie de R

Plus en détail

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples 45 Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples Les espaces vectoriels considérés sont réels, non réduits au vecteur nul et

Plus en détail

Economie de l incertain et de l information Partie 1 : Décision en incertain probabilisé Chapitre 1 : Introduction à l incertitude et théorie de

Economie de l incertain et de l information Partie 1 : Décision en incertain probabilisé Chapitre 1 : Introduction à l incertitude et théorie de Economie de l incertain et de l information Partie 1 : Décision en incertain probabilisé Chapitre 1 : Introduction à l incertitude et théorie de l espérance d utilité Olivier Bos [email protected]

Plus en détail

Théorèmes de Point Fixe et Applications 1

Théorèmes de Point Fixe et Applications 1 Théorèmes de Point Fixe et Applications 1 Victor Ginsburgh Université Libre de Bruxelles et CORE, Louvain-la-Neuve Janvier 1999 Published in C. Jessua, C. Labrousse et D. Vitry, eds., Dictionnaire des

Plus en détail

RECHERCHE OPERATIONNELLE

RECHERCHE OPERATIONNELLE RECHERCHE OPERATIONNELLE 0. Introduction. Ce cours a été enseigné jusqu en 2002, en année de licence, à la MIAGE de NANCY. L objectif principal de ce cours est d acquérir une connaissance approfondie de

Plus en détail

Les indices à surplus constant

Les indices à surplus constant Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté

Plus en détail

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans Mathématique et Automatique : de la boucle ouverte à la boucle fermée Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans [email protected] Plan 1. Un peu de

Plus en détail

Différentiabilité ; Fonctions de plusieurs variables réelles

Différentiabilité ; Fonctions de plusieurs variables réelles Différentiabilité ; Fonctions de plusieurs variables réelles Denis Vekemans R n est muni de l une des trois normes usuelles. 1,. 2 ou.. x 1 = i i n Toutes les normes de R n sont équivalentes. x i ; x 2

Plus en détail

Calcul différentiel. Chapitre 1. 1.1 Différentiabilité

Calcul différentiel. Chapitre 1. 1.1 Différentiabilité Chapitre 1 Calcul différentiel L idée du calcul différentiel est d approcher au voisinage d un point une fonction f par une fonction plus simple (ou d approcher localement le graphe de f par un espace

Plus en détail

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en 2000. Énoncé.

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en 2000. Énoncé. Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en 2000. Énoncé. I- ACTIVITES NUMERIQUES (12 points) Exercice 1 (3 points) On considère

Plus en détail

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

Plus en détail

Cours de mathématiques

Cours de mathématiques DEUG MIAS premier niveau Cours de mathématiques année 2003/2004 Guillaume Legendre (version révisée du 3 avril 2015) Table des matières 1 Éléments de logique 1 1.1 Assertions...............................................

Plus en détail

3. Conditionnement P (B)

3. Conditionnement P (B) Conditionnement 16 3. Conditionnement Dans cette section, nous allons rappeler un certain nombre de définitions et de propriétés liées au problème du conditionnement, c est à dire à la prise en compte

Plus en détail

OPTIMISATION À UNE VARIABLE

OPTIMISATION À UNE VARIABLE OPTIMISATION À UNE VARIABLE Sommaire 1. Optimum locaux d'une fonction... 1 1.1. Maximum local... 1 1.2. Minimum local... 1 1.3. Points stationnaires et points critiques... 2 1.4. Recherche d'un optimum

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

Algorithmes pour la planification de mouvements en robotique non-holonome

Algorithmes pour la planification de mouvements en robotique non-holonome Algorithmes pour la planification de mouvements en robotique non-holonome Frédéric Jean Unité de Mathématiques Appliquées ENSTA Le 02 février 2006 Outline 1 2 3 Modélisation Géométrique d un Robot Robot

Plus en détail

Plan du cours : électricité 1

Plan du cours : électricité 1 Semestre : S2 Module Physique II 1 Electricité 1 2 Optique géométrique Plan du cours : électricité 1 Partie A : Electrostatique (discipline de l étude des phénomènes liés aux distributions de charges stationnaires)

Plus en détail

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x = LE NOMBRE D OR Présentation et calcul du nombre d or Euclide avait trouvé un moyen de partager en deu un segment selon en «etrême et moyenne raison» Soit un segment [AB]. Le partage d Euclide consiste

Plus en détail

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

Pour l épreuve d algèbre, les calculatrices sont interdites. Les pages qui suivent comportent, à titre d exemples, les questions d algèbre depuis juillet 003 jusqu à juillet 015, avec leurs solutions. Pour l épreuve d algèbre, les calculatrices sont interdites.

Plus en détail

Un K-espace vectoriel est un ensemble non vide E muni : d une loi de composition interne, c est-à-dire d une application de E E dans E : E E E

Un K-espace vectoriel est un ensemble non vide E muni : d une loi de composition interne, c est-à-dire d une application de E E dans E : E E E Exo7 Espaces vectoriels Vidéo partie 1. Espace vectoriel (début Vidéo partie 2. Espace vectoriel (fin Vidéo partie 3. Sous-espace vectoriel (début Vidéo partie 4. Sous-espace vectoriel (milieu Vidéo partie

Plus en détail

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Modèles à Événements Discrets. Réseaux de Petri Stochastiques Modèles à Événements Discrets Réseaux de Petri Stochastiques Table des matières 1 Chaînes de Markov Définition formelle Idée générale Discrete Time Markov Chains Continuous Time Markov Chains Propriétés

Plus en détail

CHOIX OPTIMAL DU CONSOMMATEUR. A - Propriétés et détermination du choix optimal

CHOIX OPTIMAL DU CONSOMMATEUR. A - Propriétés et détermination du choix optimal III CHOIX OPTIMAL DU CONSOMMATEUR A - Propriétés et détermination du choix optimal La demande du consommateur sur la droite de budget Résolution graphique Règle (d or) pour déterminer la demande quand

Plus en détail

Continuité en un point

Continuité en un point DOCUMENT 4 Continuité en un point En général, D f désigne l ensemble de définition de la fonction f et on supposera toujours que cet ensemble est inclus dans R. Toutes les fonctions considérées sont à

Plus en détail

Chapitre VI - Méthodes de factorisation

Chapitre VI - Méthodes de factorisation Université Pierre et Marie Curie Cours de cryptographie MM067-2012/13 Alain Kraus Chapitre VI - Méthodes de factorisation Le problème de la factorisation des grands entiers est a priori très difficile.

Plus en détail

Principe de symétrisation pour la construction d un test adaptatif

Principe de symétrisation pour la construction d un test adaptatif Principe de symétrisation pour la construction d un test adaptatif Cécile Durot 1 & Yves Rozenholc 2 1 UFR SEGMI, Université Paris Ouest Nanterre La Défense, France, [email protected] 2 Université

Plus en détail

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

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique : Chapitre Chapitre. Séries de Fourier Nous supposons connues les formules donnant les coefficients de Fourier d une fonction - périodique : c c a0 f x dx c an f xcosnxdx c c bn f xsinn x dx c L objet de

Plus en détail

Fonctions de deux variables. Mai 2011

Fonctions de deux variables. Mai 2011 Fonctions de deux variables Dédou Mai 2011 D une à deux variables Les fonctions modèlisent de l information dépendant d un paramètre. On a aussi besoin de modéliser de l information dépendant de plusieurs

Plus en détail

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

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme Chapitre 3 Quelques fonctions usuelles 1 Fonctions logarithme et eponentielle 1.1 La fonction logarithme Définition 1.1 La fonction 7! 1/ est continue sur ]0, +1[. Elle admet donc des primitives sur cet

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Maths MP Exercices Fonctions de plusieurs variables Les indications ne sont ici que pour être consultées après le T (pour les exercices non traités). Avant et pendant le T, tenez bon et n allez pas les

Plus en détail

Cours d analyse numérique SMI-S4

Cours d analyse numérique SMI-S4 ours d analyse numérique SMI-S4 Introduction L objet de l analyse numérique est de concevoir et d étudier des méthodes de résolution de certains problèmes mathématiques, en général issus de problèmes réels,

Plus en détail

Comparaison de fonctions Développements limités. Chapitre 10

Comparaison de fonctions Développements limités. Chapitre 10 PCSI - 4/5 www.ericreynaud.fr Chapitre Points importants 3 Questions de cours 6 Eercices corrigés Plan du cours 4 Eercices types 7 Devoir maison 5 Eercices Chap Et s il ne fallait retenir que si points?

Plus en détail

Une forme générale de la conjecture abc

Une forme générale de la conjecture abc Une forme générale de la conjecture abc Nicolas Billerey avec l aide de Manuel Pégourié-Gonnard 6 août 2009 Dans [Lan99a], M Langevin montre que la conjecture abc est équivalente à la conjecture suivante

Plus en détail

Logique. Plan du chapitre

Logique. Plan du chapitre Logique Ce chapitre est assez abstrait en première lecture, mais est (avec le chapitre suivant «Ensembles») probablement le plus important de l année car il est à la base de tous les raisonnements usuels

Plus en détail

Deux disques dans un carré

Deux disques dans un carré Deux disques dans un carré Table des matières 1 Fiche résumé 2 2 Fiche élève Seconde - version 1 3 2.1 Le problème............................................... 3 2.2 Construction de la figure avec geogebra...............................

Plus en détail

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

Eteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques : MTH EN JEN 2013-2014 Elèves de seconde, première et terminale scientifiques : Lycée Michel Montaigne : HERITEL ôme T S POLLOZE Hélène 1 S SOK Sophie 1 S Eteindre Lycée Sud Médoc : ROSIO Gauthier 2 nd PELGE

Plus en détail

Introduction à l étude des Corps Finis

Introduction à l étude des Corps Finis Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur

Plus en détail

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES Dominique LAFFLY Maître de Conférences, Université de Pau Laboratoire Société Environnement Territoire UMR 5603 du CNRS et Université de Pau Domaine

Plus en détail

Continuité d une fonction de plusieurs variables

Continuité d une fonction de plusieurs variables Chapitre 2 Continuité d une fonction de plusieurs variables Maintenant qu on a défini la notion de limite pour des suites dans R n, la notion de continuité s étend sans problème à des fonctions de plusieurs

Plus en détail