Dualité en Programmation Linéaire lgorithmes primal et dual du simplee lain Fae Option 3 Optimisation
Dualité lagrangienne
Dualité lagrangienne Problème Primal min f() s.c. g i, i =,, m X &h j () =, j =,, p avec XR n Fonction de Lagrange m L,, = f + i g i i= avec& i &&i =,, m p + j h j j= Fonction duale θ(, )=min X L(,, ) Problème Dual ma θ(, ),& 3
Dualité lagrangienne Théorème de dualité f &θ(, ) X satisfaisant les contraintes du primal, Corollaire Soit X satisfaisant les contraintes du primal et, tels que: f = &θ(, ) lors est solution du primal et (, ) est solution du dual 4
PL et dualité 5
Pb du pharmacien : fournir une potion contenant un minimum d unités en vitamines, B, C en utilisant les poudres fournies par laboratoires g de poudre vitamine vitamine B vitamine C coût laboratoire unités 3 unités 5 unités 6 laboratoire 5 unités unités unités 9 Il lui faut au moins 5 unités de vitamine 6 unités de vitamine B 5 unités de vitamine C 6
Pb du pharmacien : g de poudre vitamine vitamine B vitamine C laboratoire unités 3 unités 5 unités laboratoire 5 unités unités unités Il lui faut au moins 5 unités de vitamine 6 unités de vitamine B 5 unités de vitamine C coût 6 9 Un concurrent des laboratoires et : Un 3 ème laboratoire décide de commercialiser les vitamines, B, C séparément. Il lui faut trouver le pri, B, C pour chaque unité de vitamine. Pour être concurrentiel avec le laboratoire il faut : +3 B +5 C 6 Pour être concurrentiel avec le laboratoire il faut : 5 + B + C 9. Le laboratoire désire maimiser les gains en vendant ses vitamines au pharmacien maimiser 5 + 6 B + 5 C 7
8 5 5 6 3 5 5 s.c. 9 min 6 9 5 6 5 3 s.c. 5 6 ma 5 C B C B C B C B Pb du pharmacien : se fournissant auprès des laboratoires et préparer sa potion à un moindre coût Pb du concurrent des laboratoires et : trouver le juste pri des vitamines pb primal pb dual
Dualité et programmation linéaire Primal (P) min c s.c. b Dual (D) ma b s.c. c Format des données et des variables b c 9
b s.c. min c (P) c s.c. b ma D 9 6 c 5 3 5 C B 5 6 5 b 5 5 6 3 5 5 s.c. 9 min 6 9 5 6 5 3 s.c. 5 6 ma 5 C B C B C B C B Construction du dual
= 5 5 6 3 5 5 s.c. 9 6 min P z 9 5 6 5 3 s.c. 5 6 5 ma D C B C B C B C B v =, = 3 /, z = 39 / = / 5, B = / 3, C = / 5, v = = 3 /, = 3 / 4, z = 63 / 4 =, B = 3 / 4, C = 3 / 4, v = 63 / 4 = optimalité des solutions On fait quelques essais et on constate que le coût pour le pharmacien gain du 3 è laboratoire
Dualité et programmation linéaire Eercice - Montrer que : c b satisfaisant les contraintes de (P) satisfaisant les contraintes de (D) Eercice - Ecrire le dual lagrangien de (P) avec = comme variables duales - Donner les conditions sur telles que ce dual lagrangien ait une valeur>- 3- En déduire que le dual lagrangien de (P) est le problème (D)
Saut de dualité Le résultat suivant est très important ; - Si l un des problèmes a un optimum fini, alors les valeurs optimales des problèmes (P) et (D) coïncident. - Si l un des problèmes a un optimum non fini, alors l autre problème n a pas de solution réalisable pas de saut entre les valeurs optimales des problèmes (P) et (D) 3
Propriété. Ecarts complémentaires Soit une solution réalisable de (P) c est-à-dire vérifie les contraintes de (P) et une solution réalisable de (D) c est-à-dire vérifie les contraintes de (D). et sont solutions optimales de (P) et (D) respectivement si et seulement si (-b)= et (c-)=. Vérifions la propriété sur le pb du pharmacien: ( +5-5) + B (3 + -6) + C (5 + -5) + (6- -3 B -5 C ) + (9-5 - B - C ) = termes si la somme= ils sont tous nuls 6 +9-5 -6 B -5 C = l objectif (P)=l objectif de (D) et solutions de (P) et (D) 4
Ecarts complémentaires Eercice Soit satisfaisant les contraintes de (P) et satisfaisant les contraintes de (D) Montrer que : c = b si et seulement si b = et c = 5
Interprétation des variables duales Soit (P) pb de tpe minimiser et son dual (D). l optimum de (P) et (D) on a z * =v * =b De combien varie l optimum de (P) lorsque b le second membre des contraintes varie? z * =b si b pas trop grand sinon z * b les valeurs des var. duales n étant plus optimales Faisons varier un b i uniquement z * = i b i z * /b i = i i représente le pri à paer quand on fait varier la contrainte i 6
Eemple : si le pharmacien fait varier ses demandes en vitamines, B, C Solution du dual: =, B = 3 / 4, C = 3 / 4, v = 63 / 4 P min z 6 3 s.c. 5 9 5 5 6 5 5+ z= = 6+ z= B = 3 / 4 5+ z= C = 3 / 4 La vitamine pas d effet sur le coût, B un peu d effet, C fois plus d effet 7
lgorithmes primal et dual du simplee 8
lgorithmes primal et dual du simplee Problème (P) sous forme standard (contraintes =) min c s.c. = b Problème (D) dual de (P) ma b s.c. c ttention pas de condition de signe sur 9
lgorithmes primal et dual du simplee Base Quitte à déplacer les colonnes de, on partitionne en une matrice carrée B inversible et une matrice N = B N On partitionne de façon identique le vecteur et le vecteur c c = c B c N B N = c B B + c N N c B est le vecteur etrait de c, correspondant au colonnes de la matrice B c N est le vecteur etrait de c, correspondant au colonnes de la matrice B& Même chose pour le vecteur
lgorithmes primal et dual du simplee Solution de base de (P) = b B N B N = B B + N N = b La solution de base (associée à B) est la solution du sstème particulière suivante: N =,& B = B b Le coût de cette solution est c = c B B b On pose = c B B On constate alors que: c = b Égalité entre l objectif de (P) et (D) Maintenant si satisfait les contraintes de (P) et les contraintes de (D) lors et sont solutions (optimales) de (P) et (D) respectivement. Voir le théorème de dualité et son corollaire
lgorithmes primal et dual du simplee Coûts réduits c = c B B + c N N = b&, &B B + N N = b&, & B +&B N N = B b c = c B B + c N N = c B B b + (c N c B B N) N L objectif de (P) est eprimé en fonction de N (variables hors-base) uniquement Les coefficients de N &sont les coûts réduits : c N c B B N
lgorithmes primal et dual du simplee Solution duale réalisable c B c B N c N En prenant = c B B, on obtient: c B B B c B c B B N c N La première condition est toujours trivialement vérifiée. La seconde est vérifiée si et seulement si&&c N c B B N La solution est duale réalisable si et seulement si les coûts réduits sont positifs ou nuls 3
lgorithmes primal et dual du simplee Résumé - La matrice B induit une solution dite de base : B = B b, & N = La solution de base est primale réalisable ( ) si et seulement si&&b b - La matrice B induit une solution = c B B duale réalisable si et seulement si c N c B B N (coûts réduits ) 3- Pour cette solution de base et cette solution, les objectifs du primal et du dual ont la même valeur = c B B b 4
lgorithmes primal et dual du simplee lgorithme primal On passe de solution de base primale réalisable en solution de base primale réalisable Et on stoppe dès que l on a atteint une base B qui est duale réalisable (coûts réduits ) lgorithme dual On passe de base duale réalisable en base duale réalisable Et on stoppe dès que l on a atteint une solution de base primale réalisable (B b ) 5
lgorithmes primal et dual du simplee B et B adjacentes = ne diffèrent que d une colonne 6
lgorithmes primal et dual du simplee Ecriture canonique de (P) relativement à une matrice de base B min&& z = c B B b + c N c B B N N B + B N N = B b B,&&& N que l on peut noter: min&& z = c B B b + j j j&hors base i + a ij j = b i &&&& i&en&base j&hors base B,&&& N 7
lgorithmes primal et dual du simplee Règles de pivotage (pour passer d une base B à une base B adjacente) lgorithme primal Variable entrant dans la base - Variable entrant dans la base : e &tel&que& e < et le plus petit Variable sortant de la base - Si tous les a ie (dans la colonne e) alors minimum non borné (-) (on peut augmenter indéfiniment la variable e &) b Sinon variable s sortant de la base où s = argmin i : i&&t. q.&a i a ie > & ie (cette règle permet de maintenir le second membre b ) 8
lgorithmes primal et dual du simplee Règles de pivotage (pour passer d une base B à une base B adjacente) lgorithme dual Variable sortant de la base - Variable sortant de la base : s &tel&que&b s < et le plus petit Variable entrant dans la base - Si tous les a sj (dans la ligne s) alors primal non réalisable (en ligne s, on a une équation avec membre gauche et membre droit <) Sinon variable e entrant dans la base où e = argma j (cette règle permet de maintenir les coûts réduits ) j a sj :& j&t. q. a sj < 9
Eercice min z = + 3 4 + 8 s.c + 4 8 7 + 47, -Mettre ce problème sous forme standard -Trouver une base duale réalisable évidente 3-Partant de cette base, résoudre le problème par l algorithme dual du simplee 3