Programmation Linéaire - Cours 4 P. Pesneau pierre.pesneau@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 265
Sommaire Dualité 1 Dualité 2 3
Primal / Dual Dualité Les PL vont toujours par paires : Primal : max j c jx j s.c. j a i,jx j b i x j 0 pour i = 1,..., m pour j = 1,..., n Dual : min s.c. i b iy i i a i,jy i c j y i 0 pour j = 1,..., n pour i = 1,..., m
faible Dualité Théorème Dualité faible : Pour toute solution réalisable x du problème primal et toute solution réalisable y du problème dual, on a n c j x j j=1 m b i y i. i=1 Preuve : n j=1 c jx j n j=1 ( m i=1 a i,jy i )x j = m i=1 ( n j=1 a i,jx j )y i m i=1 b iy i
faible Dualité Corollaire Si x est une solution réalisable du problème primal et ȳ une solution réalisable du problème dual tel que n j=1 c j x j = m i=1 b jȳ j, alors x est optimale pour le primal et ȳ est optimale pour le dual.
faible Dualité Preuve : Supposons au contraire que x n est pas une solution optimale du primal. Il existe donc une solution x telle que n j=1 c j x j < n j=1 c jx j. On a alors m i=1 b jȳ j < n j=1 c jx j ce qui est contraire au théorème de dualité faible. La solution x est donc optimale. La preuve est similaire pour ȳ.
forte Dualité Théorème Dualité forte : Si le primal a une solution optimale x = (x 1,..., x n), alors le dual a une solution optimale y = (y 1,..., y m) telle que n c j xj = j=1 m i=1 b i y i. Idée pour la preuve : z = c B B 1 b = cx = y b On devine qu on doit avoir (y 1,..., y m) = c B B 1. On va montrer que cette solution est réalisable et optimale pour le dual.
Preuve dualité forte Remarque sur les coûts réduits : cx = (c c B B 1 A)x (c B c B B 1 B)x B +(c N c B B 1 N)x N (c B c B I)x B + c N x N 0x B + c N x N = (c O c B B 1 A O )x O +(c E c B B 1 A E )x E (c O c B B 1 A O )x O +(c E c B B 1 I)x E (c O c B B 1 A O )x O +( c B B 1 )x E
Preuve dualité forte Soit x la solution optimale du problème primal et B la base optimale. On a z = c B B 1 b + c N x N c B B 1 b +(c O c B B 1 A O )x O +( c B B 1 )x E s.c. x B = B 1 b B 1 Nx N x B, x N O Posons y = c B B 1 = c E. Les conditions d optimalités de x impliquent la duale réalisabilité de y : c E 0 y 0. c O 0 c O c B B 1 A O 0 c O y A O 0 A T O y c O De plus : y b = c B B 1 b = cx. Par le corollaire précédent, y est une solution optimale du dual.
Ecart de dualité Dualité faible z Dualité forte z Solutions dualréalisables Min Min Ecart de dualité Solution optimale Solutions primalréalisables Max Max
Utilité de la dualité forte Si on a une paire (x,y ) de solutions du primal et du dual, on peut facilement vérifier la réalisabilité de x pour le problème primal, la réalisabilité de y pour le problème dual, l égalité des deux objectifs. On a alors un certificat d optimalité pour la paire (x,y ).
Théorème des écarts complémentaires Théorème Si une solution x est primale réalisable et qu une solution y est duale réalisable, alors les conditions nécessaires et suffisantes à leur optimalité simultanée sont 1 ( b i n j=1 a i,jx j ) y i = 0, i = 1,..., m 2 ( m i=1 a i,jy i c j )x j = 0, j = 1,..., n Observation : A l optimalité, soit une contrainte est satisfaite à l égalité, soit sa variable duale est nulle.
Interpretation économique z = j c jxj = i b iyi j a i,jxj b i (yi ) et i a i,jyi c j (xj ) Si une ressource n est pas limitative du profit, sa valeur (expliquant de combien le profit augmenterait si sa capacité était augmentée) doit être nulle : n j=1 a i,jxj < b i yi = 0. yi > 0 n j=1 a i,jxj = b i. Si la valeur totale des ressources utilisées pour produire j dépasse le profit escompté, on ne produira pas j : m i=1 a i,jyi > c j xj = 0. xj > 0 m i=1 a i,jyi = c j.
Preuve du théorème Soit x une solution primale réalisable et y une solution duale réalisable. On a : n j=1 c jx j n j=1 ( m i=1 a i,jyi )x j = m i=1 ( n j=1 a i,jxj )y i m i=1 b iy i ( ) Supposons d abord que x et y sont optimales. Par le théorème de dualité forte, on a cx = by et on obtient l égalité partout dans la formule précédente. En particulier : n j=1 c jx j = n j=1 ( m i=1 a i,jyi )x j n j=1 ( m i=1 a i,jyi c j )xj = 0
Preuve du théorème n j=1 ( m i=1 a i,jy i c j )x j = 0 x est réalisable xj 0 y est réalisable m i=1 a i,jyi c j Il s ensuit que ( m i=1 a i,jyi c j )xj 0. Par conséquent, pour que la formule ci-dessus soit nulle, il faut que chaque terme de la somme soit nulle. Ainsi ( m i=1 a i,jy i c j )x j = 0, j = 1,..., n. De la même façon, on montre que ( b i ) n j=1 a i,jxj yi = 0, i = 1,..., m.
Preuve du théorème ( ) Supposons maintenant que ( m i=1 a i,jyi c j )xj = 0, j = 1,..., n, ( b i ) n j=1 a i,jxj yi = 0, i = 1,..., m. En sommant la première formule sur j = 1,..., n et la seconde sur i = 1,..., m, on obtient : n j=1 ( m i=1 a i,jyi c j )xj = 0, m i=1 ( n j=1 a i,jxj b i )yi = 0. Ceci implique n j=1 ( m i=1 a i,jyi )x j = n j=1 c jxj, m i=1 ( n j=1 a i,jxj )y i = m i=1 b iyi. On a alors n j=1 c jxj = m i=1 b iyi Par le théorème de dualité forte, on en déduit que x et y sont optimales.
Utilité des écarts complémentaires Connaissant la solution optimale x du primal, le théorème des écarts complémentaires permet de retrouver directement la solution optimale y du dual. Il permet aussi de vérifier si une solution donnée est optimale. Théorème Une solution primale réalisable x = (x1,..., x n) est optimale si, et seulement si, il existe des nombres (y1,...y m) tels que { m = i=1 a i,jyi cj pour tout j : xj > 0 (1a) c j pour tout j : xj = 0 (1b) { = 0 pour tout i : n yi j=1 a i,jxj < b i (2a) 0 pour tout i : n j=1 a i,jxj = b i (2b)
Utilité des écarts complémentaires En pratique : Etant donnée une solution de base réalisable x, y est la solution du système linéaire donné par les égalités (1a) et (2a). Si la base n est pas dégénérée, ce système contient m équations et m inconnues. Si ce système a une solution unique, alors x est optimale si, et seulement si, y vérifie les inégalités restantes. Si x est une solution de base dégénérée, il y a moins de m égalités pour déterminer les y i et donc plusieurs solutions duales possibles. Théorème Si la solution x est une solution primale réalisable non dégénérée, alors le système d équations (1a) et (2a) admet une et une seule solution y.
Relations Primal / Dual Le dual du dual est le primal. DUAL optimal irréalisable non-borné optimal possible impossible impossible PRIMAL irréalisable impossible possible possible non-borné impossible possible impossible On peut appliquer le simplex au dual au lieu du primal si le dual a moins de contraintes que le primal (cf complexité empirique du simplex).
Relations Primal / Dual Il n est pas nécessaire de passer en forme normale pour écrire le dual d un programme linéaire. Tableau de passage : Primal (Max) Dual (Min) Contraintes Variables 0 0 = non restreinte Variables Contraintes 0 0 non restreinte =
Sommaire Dualité 1 Dualité 2 3
Question de réalisabilité Est-ce que le système suivant est réalisable? x 1 + 3x 2 + 2x 3 + 4x 4 5 (y 1 ) 3x 1 + x 2 + 2x 3 + x 4 4 (y 2 ) 5x 1 3x 2 3x 3 3x 4 = 9 (y 3 ) x 3 0 (y 4 ) x 4 0 (y 5 ) En prenant les multiplicateurs on obtient y 1 = 1, y 2 = 3, y 3 = 2, y 4 = 2, y 5 = 1 0x 1 +0x 2 +0x 3 +0x 4 1 Toute solution devrait satisfaire cette contrainte irréalisable. On en déduit que le système est irréalisable.
Lemme Le système Ax b est irréalisable si, et seulement si, il existe y 0 tel que ya = 0 et yb < 0. Preuve : Considérons la paire Primal/Dual suivante Primal Max 0x s.c. Ax b Dual Min yb s.c. ya = 0 y 0 ( ) Si le primal est réalisable, alors le dual est borné inférieurement par 0 (dualité faible). Il ne peut donc pas exister de y 0 tel que ya = 0 et yb < 0.
( ) Si le primal est irréalisable, alors le dual est soit non-borné, soit irréalisable. Or le dual ne peut être irréalisable puisque la solution y = 0 est une solution réalisable. Le dual est donc non-borné. Il existe ainsi ȳ 0 tel que ȳa = 0 et ȳb < 0. Un tel ȳ peut être également vu comme une direction de descente et y = αȳ reste réalisable et diminue le coût quand α tend vers l infini.
Autres formes du lemme de Farkas Lemme Il existe un x, solution de Ax b si, et seulement si, pour tout y 0 tel que ya = 0, on a yb 0. Théorème Théorème des alternatives : un et un seul des deux systèmes suivants est réalisable yb < 0 (P) Ax b (D) ya = 0 y 0
Autres formes du lemme de Farkas Lemme Le système Ax b, x 0 est irréalisable si, et seulement si, il existe y 0 tel que ya 0 et yb < 0. Théorème Théorème des alternatives : un et un seul des deux systèmes suivants est réalisable { yb < 0 Ax b (P) (D) ya 0 x 0 y 0
Sommaire Dualité 1 Dualité 2 3
Définitions Dualité Hyperplan : H = {x IR n : n j=1 a jx j = b, avec a 0} Demi-Espace fermé : D = {x IR n : n j=1 a jx j b, avec a 0} Polyèdre : (intersection de demi-espaces fermés) P = {x IR n : n j=1 a i,jx j b i, pour i = 1,..., m}
Définitions Dualité Convexe : C IR n est convexe si, et seulement si : x,y C,z(λ) = λx +(1 λ)y C, 0 λ 1. Combinaison convexe : x = T t=1 λ tx t avec T t=1 λ t = 1 et λ t 0 pour t = 1,...,T est une combinaison convexe des points {x t }, t = 1,...,T. Enveloppe convexe de l ensemble de points S = {x 1,...,x T } est conv(s) = {x = T t=1 λ tx t : T t=1 λ t = 1 et λ t 0, t = 1,...,T}.
Définitions Dualité Point extrême : x est un point extrême de l ensemble P ssi : x P et x ne peut pas être écrit comme une combinaison convexe d autres points de P. Rayon : r IR n est un rayon de P si Ar 0 et r 0. Un rayon r peut être vu comme une direction infinie sur laquelle toutes les solutions sont réalisables (polyèdre non borné). En effet, si x est réalisable (Ax b) et r est un rayon (Ar 0), on a pour tout α > 0 : A(x +αr) = Ax +αar Ax b et la solution x +αr est réalisable. Rayon extrême : r est un rayon extrême de l ensemble P ssi : r ne peut pas être écrit comme une combinaison linéaire d autres rayons de P.
Propriétés Dualité Si un programme linéaire a une solution optimale, alors il admet une solution optimale en un point extrême. Pour tout point extrême x, il existe un vecteur c tel que x est optimal pour max{cx : x P}. Un polyèdre borné est l enveloppe convexe de ses points extrêmes.
Propriétés Dualité Un déplacement le long d un rayon r de P est réalisable (voir plus haut). Si l objectif croît le long d un rayon r de P, alors le problème est non borné : si x P et r IR n est un rayon de P tel que cr > 0, alors c(x +αr) quand α. Le lemme de Farkas dit qu un problème est non-réalisable si, et seulement si, son dual a un rayon extrême le long duquel l objectif décroît.
Théorème Dualité Théorème Théorème de Minkowski Si P = {x 0 : Ax b} et rang(a) = n, alors P = {x = T t=1 λ tx t + S s=1 µ sr s tel que T t=1 λ t = 1, λ t 0 t, µ s 0 s}, où {x 1,...,x T } est l ensemble des points extrêmes de P et {r 1,...,r S } est l ensemble des rayons extrêmes de P.
Théorème Dualité Théorème Soient {x 1,...,x T } l ensemble des points extrêmes et {r 1,...,r S } l ensemble des rayons extrêmes de P = {x 0 : Ax 0}, alors pour tout c, le PL max{cx : x P} 1 est irréalisable si T = 0, 2 est non-borné si T > 0 et il existe s {1,...,S} tel que cr s > 0, 3 a une solution optimale si T > 0 et cr s 0 pour tout s {1,...,S}.