La notion de dualité Dual d`un PL sous forme standard Un
Transcription
La notion de dualité Dual d`un PL sous forme standard Un
Outils d'aide à la décision 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. " AT bT cT # . Soit v ∈ <n le vecteur-colonne des variables du problème dual ou u ∈ <n le vecteur-ligne des variables du problème dual. 38 Master SIS 2009-2010 Outils d'aide à la décision Le problème primal s’écrit: Min xz = cx (P ) sous Ax = b et x ≥ 0 Le problème dual s’écrit: Max v w = bT v T v ≤ cT (D) sous A et v ≥ 0 ou < 0 ou encore, avec u = v T , Max u w = ub (D) sous uA et u ≤ c ≥ 0 ou < 0 39 Master SIS 2009-2010 Outils d'aide à la décision Dual d’un PL sous forme générale Primal Minimiser cx Second membre b A matrice des contraintes Contrainte j ≥ Variable xi ≥ 0 contrainte j = Variable xi ≥ 0 ou ≤ 0 Dual Second membre cT Maximiser bT v AT matrice des contraintes Variable vj ≥ 0 Contrainte i ≤ Variable vj ≥ 0 ou ≤ 0 Contrainte i = 40 Master SIS 2009-2010 Outils d'aide à la décision 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̄ = cx̄ ≥ w̄ = ūb . Démonstration : Dans (P), multiplions les 2 termes de la contrainte Ax̄ = b à gauche par ū ūAx̄ = ūb Dans (D), multiplions les 2 termes de l’inégalité ūA ≤ c à droite par x̄: (x̄ ≥ 0): ūAx̄ ≤ cx̄. D’où ūb ≤ cx̄. 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 Master SIS 2009-2010 Outils d'aide à la décision 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∗Aj − cj )x∗j = 0 ∀j = 1, .., n, Aj représentant la jème colonne de A. Eléments de démonstration : ūAx̄ = ūb donc ūAx̄ − cx̄ = ūb − cx̄ L’égalité est obtenue si et seulement si (x∗ , u∗ ) est optimal. Interprétation Les variables xj ≥ 0 sont associées aux contraintes inégalité uAj ≤ cj : Une variable duale associée à une contrainte inégalité non saturée (uAj < cj ) est nécessairement nulle. Une variable duale associée à une contrainte saturée (uAj = cj ) est nécessairement positive. Master SIS 2009-2010 Outils d'aide à la décision 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 Master SIS 2009-2010 Outils d'aide à la décision 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 Master SIS 2009-2010 Outils d'aide à la décision Exemple Min x1,x2 z = 4x1 + 6x2 + 18x3 sous x + 3x 1 3 ≥ 3 sous x2 + 2x3 ≥ 5 et x1, x2, x3 ≥ 0 L’introduction de variables d’écart x4 et x5 conduit au tableau simplexe suivant: (1) (2) (c) x4 1 0 0 x5 0 1 0 x1 -1 0 4 x2 0 -1 6 x3 -3 -2 18 z 0 0 -1 -3 -5 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 Master SIS 2009-2010 Outils d'aide à la décision 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,u2 w sous u1 u2 3u1 + 2u2 et u1, u2 = ≤ ≤ ≤ ≥ 3u1 + 5u2 4 6 18 0 45 Master SIS 2009-2010 Outils d'aide à la décision Appliquons la méthode du simplexe au problème dual. • Etape 1: u3 1 0 0 0 (1) (2) (3) (c) u4 0 1 0 0 u5 0 0 1 0 u1 1 0 3 3 u2 0 1 2 5 w 0 0 0 -1 4 6 18 0 • Etape 2: variable entrante u2, variable sortante u4, puis variable entrante u1, variable sortante u5, ce qui donne (1) (2) (3) (c) u3 1 0 0 0 La solution 36, u∗1 = 2, u2 0 1 0 0 u1 0 0 1 0 u5 -1/3 0 1/3 -1 u4 2/3 1 -2/3 -3 w 0 0 0 -1 2 6 2 -36 duale optimale est donc: w∗ = u∗2 = 6, u∗3 = 2, u∗4 = u∗5 = 0. 46 Master SIS 2009-2010 Outils d'aide à la décision 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 −1b, π = cB B −1, c̄N = cN − πN , Ā = B −1A, 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 Master SIS 2009-2010 Outils d'aide à la décision 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 pour laquelle le rapport −c̄Ā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- Master SIS 2009-2010 Outils d'aide à la décision Exemple (1) (2) (c) x4 1 0 0 x5 0 1 0 x1 -1 0 4 x2 0 -1 6 x3 -3 -2 18 z 0 0 -1 -3 -5 0 On constate que la solution est duale-réalisable car les coefficients c̄i sont non-négatifs. • Etape 1 On choisit x5 comme variable de base sortante. La variable entrante est x2, que l’on élimine dans l’équation (c), ce qui donne, après permutation des colonnes de x5 et x2 : (1) (2) (c) x4 1 0 0 x2 0 1 0 x1 -1 0 4 x5 0 -1 6 x3 -3 2 6 z 0 0 -1 -3 5 -30 On constate que la solution est restée duale-réalisable car les coefficients c̄i sont non-négatifs. 48 Master SIS 2009-2010 Outils d'aide à la décision • Etape 2 La nouvelle variable sortante est x4 et la nouvelle variable entrant en base est x3, ce qui donne: (1) (2) (c) x3 1 0 0 x2 0 1 0 x1 1/3 -2/3 2 x5 0 -1 6 x4 -1/3 2/3 2 z 0 0 -1 1 3 -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. Master SIS 2009-2010 Outils d'aide à la décision 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 Master SIS 2009-2010 Outils d'aide à la décision 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 Master SIS 2009-2010 Outils d'aide à la décision Application Numérique Voici des valeurs numériques relatives au problème de transport: QUANTITES DEMANDEES QUANTITES DISPONIBLES PARIS 1 5 MARSEILLE 550 3 6 1 400 TOULOUSE 3 2 5 300 LE HAVRE 350 2 4 BORDEAUX 3 200 Application Numérique Minimiser z = 5x11 + 6x12 + 3x13 + 3x21 + 5x22 + 4x23 sous les contraintes: x11 + x12 + x13 ≤ 550 x21 + x22 + x23 ≤ 350 −x11 − x21 ≤ −400 −x12 − x22 ≤ −300 −x13 − x23 ≤ −200 xij ≥ 0 pour i = 1, 2, pour j = 1, .., 3. 51 Master SIS 2009-2010 Outils d'aide à la décision 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 = −550u1 − 350u2 + 400v1 + 300v2 + 200v3 sous les contraintes: v1 − u1 ≤ 5 v2 − u1 ≤ 6 v3 − u1 ≤ 3 v1 − u2 ≤ 3 v2 − u2 ≤ 5 v3 − u2 ≤ 5 ui ≥ 0 pour i = 1, 2, vj ≥ 0 pour j = 1, .., 3. 52 Master SIS 2009-2010 Outils d'aide à la décision 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 (u1) et au Havre (u2) et ses prix de vente à Paris (v1), Toulouse (v2) et Bordeaux (v3). 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 Master SIS 2009-2010 Outils d'aide à la décision Résolution La valeur optimale du critère est 3700 $. Elle correspond au graphe d’approvisionnement suivQUANTITES DEMANDEES QUANTITES DISPONIBLES PARIS 1 MARSEILLE 550 50 1 300 TOULOUSE 2 LE HAVRE 350 400 350 300 200 2 BORDEAUX ant. 3 200 Solution optimale 54 Master SIS 2009-2010 Outils d'aide à la décision 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 (bj − Aj x∗) = 0. 55 Master SIS 2009-2010 Outils d'aide à la décision 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 : Maxu Minx≥0L(x, u) = cx + u(b − Ax) Le problème d’optimisation sous contraintes revient à la recherche du point selle du lagrangien sans contraintes. 56 Master SIS 2009-2010 Outils d'aide à la décision 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 uA ≥ 0 et u ub ≥ 0 < 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 ∈ <m). Corollaire ∃x; Ax ≤ b si et seulement si u ≥ 0 et uA = 0 =⇒ ub ≥ 0 (b, u ∈ <m). Corollaire ∃x ≥ 0; Ax ≤ b si et seulement si u ≥ 0 et uA ≥ 0 =⇒ ub ≥ 0 (b, u ∈ <m). 57 Master SIS 2009-2010