La notion de dualité Dual d un PL sous forme standard Un programme linéaire est caractérisé par le tableau simplexe [ ] A b. c Par définition, le problème dual est obtenu en transposant ce tableau. [ A T c T ]. b T Soit v R n le vecteur-colonne des variables du problème dual ou u R n le vecteur-ligne des variables du problème dual. 38
Le problème primal s écrit: (P ) Min x z = cx sous Ax = b et x 0 Le problème dual s écrit: (D) ou encore, avec u = v T, (D) Max v w = b T v sous A T v c T et v 0 ou < 0 Max u w = ub sous ua c et u 0 ou < 0 39
Dual d un PL sous forme générale Primal Dual Minimiser cx Second membre c T Second membre b Maximiser b T v A matrice des contraintes A T matrice des contraintes Contrainte j Variable v j 0 Variable x i 0 Contrainte i contrainte j = Variable v j 0 ou 0 Variable x i 0 ou 0 Contrainte i = 40
Théorèmes de la dualité 1. Le dual du dual est le primal. En effet, la transposée d une matrice est la matrice elle-même. 2. Si x et ū sont respectivement des solutions du primal et du dual, alors: z = c x w = ūb. Démonstration : Dans (P), multiplions les 2 termes de la contrainte A x = b à gauche par ū ūa x = ūb Dans (D), multiplions les 2 termes de l inégalité ūa c à droite par x: ( x 0): ūa x c x. D où ūb c x. Interprétation : Une solution primale admissible sous-optimale est meilleure qu optimale, mais non admissible pour le problème dual. Une solution duale admissible sous-optimale est meilleure qu optimale, mais non admissible pour le problème primal. 41
3. Si (P) et (D) ont des solutions, alors chacun d entre eux a une solution optimale et: z = min cx = w = max ub Réciproquement, si x est admissible pour (P) et u est admissible pour (D) et que cx = ub, alors x est optimal pour (P) et u est optimal pour (D). Si l un d eux a un optimum non borné, l autre n a pas de solution. 4. Complémentarité: Une CNS pour que (x, u ) soit optimal est: (u A j c j )x j = 0 j = 1,.., n, A j représentant la jème colonne de A. Eléments de démonstration : donc ūa x = ūb ūa x c x = ūb c x L égalité est obtenue si et seulement si (x, u ) est optimal. Interprétation Les variables x j 0 sont associées aux contraintes inégalité ua j c j : Une variable duale associée à une contrainte inégalité non saturée (ua j < c j ) est nécessairement nulle. Une variable duale associée à une contrainte saturée (ua j = c j ) est nécessairement positive.
Interprétation économique de la dualité: La variable duale associée à une contrainte correspond au coût de cette contrainte dans la solution courante. Si cette contrainte est saturée, ce coût est positif. Il est nul si cette contrainte n est pas saturée. Utilisation algorithmique de la dualité Résolution du dual La première utilisation, évidente, du problème dual, est de le résoudre s il est plus simple que le problème primal. Ce sera le cas, en particulier, lorsque le problème primal n a pas de solution admissible évidente mais qu il est facile d en construire une pour le problème primal. 42
Propriétés du dual On remarque que la condition d admissibilité d une solution de base pour le problème dual est c 0, qui est la condition d optimalité du problème primal. De façon analogue (duale), la condition d admissibilité d une solution de base pour le problème primal est b 0, qui est la condition d optimalité du problème dual. On résoudra donc plutôt le problème dual au lieu du problème primal s il est plus simple ou (et) si l on parvient plus facilement à construire une solution avec c 0 qu avec b 0 43
Exemple Min x1,x 2 z = 4x 1 + 6x 2 + 18x 3 sous x 1 + 3x 3 3 sous x 2 + 2x 3 5 et x 1, x 2, x 3 0 L introduction de variables d écart x 4 et x 5 conduit au tableau simplexe suivant: x 4 x 5 x 1 x 2 x 3 z (1) 1 0-1 0-3 0-3 (2) 0 1 0-1 -2 0-5 (c) 0 0 4 6 18-1 0 La solution de base construite avec comme variables de base les variables d écart n est pas admissible car les termes de b sont négatifs. Mais on peut remarquer que tous les coûts réduits associés aux variables d écart sont positifs. La valeur de base du critère est donc un minorant de la valeur optimale du critère. 44
Problème dual Cette propriété sur les coûts réduits indique que la solution de base associée est admissible pour le problème dual. Le problème dual s écrit: Max u1,u 2 w = 3u 1 + 5u 2 sous u 1 4 u 2 6 3u 1 + 2u 2 18 et u 1, u 2 0 45
Appliquons la méthode du simplexe au problème dual. Etape 1: u 3 u 4 u 5 u 1 u 2 w (1) 1 0 0 1 0 0 4 (2) 0 1 0 0 1 0 6 (3) 0 0 1 3 2 0 18 (c) 0 0 0 3 5-1 0 Etape 2: variable entrante u 2, variable sortante u 4, puis variable entrante u 1, variable sortante u 5, ce qui donne u 3 u 2 u 1 u 5 u 4 w (1) 1 0 0-1/3 2/3 0 2 (2) 0 1 0 0 1 0 6 (3) 0 0 1 1/3-2/3 0 2 (c) 0 0 0-1 -3-1 -36 La solution duale optimale est donc: w = 36, u 1 = 2, u 2 = 6, u 3 = 2, u 4 = u 5 = 0. 46
L algorithme dual du simplexe 1. Base initiale en représentation primale, non-réalisable pour le primal mais correspondant à une solution réalisable du problème dual : B 0, k = 0. Pour être duale-réalisable, on doit avoir, pour une minimisation, c N 0, et pour une maximisation, c N 0 2. Pour k, calculer b = B 1 b, π = c B B 1, c N = c N πn, Ā = B 1 A, 3. Si b 0, STOP, optimum réalisable atteint Sinon, choisir s tel que b s 0. En pratique, on choisit la variable de base dont la valeur est la plus négative. Cette variable sort de la base. Elle sera donc nulle dans la base de l itération k+1. 47
4. Pivot. Soit Ā s la ligne s de Ā. On fait entrer dans la base une variable de base à coefficient négatif dans Ā s. On choisit comme variable entrante i celle c pour laquelle le rapport i est non-négatif Ā is et minimal, de façon à faire croître le critère le moins possible. Construire la nouvelle base, B et aller en 2-
Exemple x 4 x 5 x 1 x 2 x 3 z (1) 1 0-1 0-3 0-3 (2) 0 1 0-1 -2 0-5 (c) 0 0 4 6 18-1 0 On constate que la solution est duale-réalisable car les coefficients c i sont non-négatifs. Etape 1 On choisit x 5 comme variable de base sortante. La variable entrante est x 2, que l on élimine dans l équation (c), ce qui donne, après permutation des colonnes de x 5 et x 2 : x 4 x 2 x 1 x 5 x 3 z (1) 1 0-1 0-3 0-3 (2) 0 1 0-1 2 0 5 (c) 0 0 4 6 6-1 -30 On constate que la solution est restée duale-réalisable car les coefficients c i sont non-négatifs. 48
Etape 2 La nouvelle variable sortante est x 4 et la nouvelle variable entrant en base est x 3, ce qui donne: x 3 x 2 x 1 x 5 x 4 z (1) 1 0 1/3 0-1/3 0 1 (2) 0 1-2/3-1 2/3 0 3 (c) 0 0 2 6 2-1 -36 La solution est devenue primale-réalisable tout en restant duale-réalisable. Elle est donc optimale. La solution primale optimale est donc : z = 36, x 1 = 0, x 2 = 3, x 3 = 1.
Utilisation de la complémentarité La solution duale et la solution primale optimales ont été obtenues par deux techniques différentes. On vérifie que z = w = 36, mais ce résultat était connu théoriquement. De même, la théorie permet directement de trouver les valeurs optimales des variables duales. On a donc en pratique un seul problème à résoudre, Théorème La valeur optimale de la variable duale associée à une contrainte inégalité est égale (au signe pres) au coût réduit de la variable d écart associée dans le tableau simplexe de la solution primale optimale. Exemple: Ici, à partir de la solution primale, on déduit: u 1 = 2, u 2 = 6. En reportant ces valeurs dans l expression du dual, on obtient les variables d écart du dual: u 3 = 2, u 4 = 0 u 5 = 0. 49
Algorithme primal-dual Dans le cas où il est difficile de trouver une solution primale-réalisable mais aussi une solution duale-réalisable, on peut partir d une initialisation quelconque des variables et procéder alternativement par optimisation duale et primale. L introduction de variables artificielle est un autre moyen de résoudre le problème de recherche d une solution initiale admissible. Il s agit alors de la méthode dite révisée du simplexe. 50
Application Numérique Voici des valeurs numériques relatives au problème de transport: QUANTITES DEMANDEES QUANTITES DISPONIBLES PARIS 1 400 550 MARSEILLE 1 LE HAVRE 5 6 3 5 3 TOULOUSE 2 300 350 2 4 BORDEAUX 3 200 Application Numérique Minimiser z = 5x 11 + 6x 12 + 3x 13 + 3x 21 + 5x 22 + 4x 23 sous les contraintes: x 11 + x 12 + x 13 550 x 21 + x 22 + x 23 350 x 11 x 21 400 x 12 x 22 300 x 13 x 23 200 x ij 0 pour i = 1, 2, pour j = 1,.., 3. 51
Interprétation du problème dual Le problème primal exprime le point de vue du constructeur qui cherche à minimiser ses coûts de production. Le problème dual s écrit ainsi : Maximiser z = 550u 1 350u 2 + 400v 1 + 300v 2 + 200v 3 sous les contraintes: v 1 u 1 5 v 2 u 1 6 v 3 u 1 3 v 1 u 2 3 v 2 u 2 5 v 3 u 2 5 u i 0 pour i = 1, 2, v j 0 pour j = 1,.., 3. 52
Interprétation du problème dual Le problème dual exprime le point de vue du transporteur qui veut maximiser son profit. Ses variables sont les prix d achat à Marseille (u 1 ) et au Havre (u 2 ) et ses prix de vente à Paris (v 1 ), Toulouse (v 2 ) et Bordeaux (v 3 ). Les quantités qu il doit acheter et vendre sont fixées. Les contraintes du problème dual expriment que les prix sont compétitifs, c est à dire acceptables pour le constructeur. 53
Résolution La valeur optimale du critère est 3700 $. Elle correspond au graphe d approvisionnement suiv- QUANTITES DEMANDEES QUANTITES DISPONIBLES PARIS 1 400 MARSEILLE 50 550 1 300 TOULOUSE 2 300 ant. 350 LE HAVRE 2 350 200 BORDEAUX 3 200 Solution optimale 54
Approche Lagrangienne en Programmation Linéaire Le lagrangien d un problème permet de combiner la formulation duale et la formulation primale. Soit x le vecteur de variables de (P), appelées variables primales. Soit u le vecteur de variables de (D), appelées variables duales. Les variables duales sont associées aux contraintes Ax = b du problème primal. Elles sont encore appelées multiplicateurs de Lagrange, car elles sont associées multiplicativement aux contraintes à travers les relations de complémentarité à l optimum : u j (b j A j x ) = 0. 55
Approche Lagrangienne en Programmation Linéaire Le lagrangien du problème est la fonction: L(x, u) = cx + u(b Ax) Résoudre le problème (P) est équivalent à résoudre son problème dual (D). Ces problèmes sont équivalents au problème suivant : Max u Min x 0 L(x, u) = cx + u(b Ax) Le problème d optimisation sous contraintes revient à la recherche du point selle du lagrangien sans contraintes. 56
Lemme de Farkas-Minkowski C est un lemme tres utile dans de nombreuses démonstration, et à la base des propriétés de dualité. Lemme Un et un seul des systàmes linéaires suivants a une solution : { Ax b x 0 et ua 0 u 0 ub < 0 Il y a de nombreuses variantes de ce Lemme. Corollaire du Lemme de Farkas x 0; Ax = b si et seulement si ua 0 = ub 0 (b, u R m ). Corollaire x; Ax b si et seulement si u 0 et ua = 0 = ub 0 (b, u R m ). Corollaire x 0; Ax b si et seulement si u 0 et ua 0 = ub 0 (b, u R m ). 57