1 Programmation linéaire Modélisation sensibilité
2 1.1 Exemple Monsieur X veut acquérir un logement dont le coût, tout frais compris est de F. -le prêt auquel il a droit au titre de son épargne logement: d’un montant maximal de F, remboursable par mensualités de 159 F pour F empruntés; - un apport personnel d’un montant maximal de F; - un prêt conventionné, remboursable par mensualités de 117 F pour F empruntés. Pour apporter son concours une banque impose deux conditions supplémentaires: - le total des remboursements annuels à la charge de l’emprunteur ne doit pas excéder 30% de ses ressources mensuelles, qui sont pour Monsieur X de F. - le montant total des emprunts ne doit pas dépasser 80 % du coût total de l’acquisition. En désignant par PL le montant emprunté en épargne logement et par PC le montant emprunté en prêt conventionné, si le coût total actualisé pour Monsieur X est la fonction: Z = ,1733 PL + 0,1052 PC
3 Modèlisation - fonction objectif - variables - contraintes
4 Fonction objectif: Z = ,1733 PL + 0,1052 PC, où Variables: PL prêt à partir du Plan d’Epargne Logement, PC prêt conventionné. Les contraintes 1 montant de l’achat: inférieur ou égal à F 2 prêt PEL: inférieur ou égal à F 3 remboursements mensuels sont de : 159F pour 10000F empruntés pour le PEL, 117F par F empruntés pour le PC d’où[(159xPL)/10000] + [(117xPC)/10000] 4 apport personnel F 5 total remboursement mensuel inférieur ou égal à 30% des ressources mensuelles de F soit 0.3* =6000 F 6 montant total emprunté inférieur ou égal à 80% coût total 7 variables réelles PL et PC ne peuvent être négatives.
5 2PL et (PC + PL) et 7 PL + PC 0.80 x , 4, 6[(159xPL)/10000] + [(117xPC)/10000] PL 0, PC 0 d’où le Programme linéaire suivant: Min Z = ,1733 PL + 0,1052 PC sous PL PC + PL PL + PC PL PC PL 0, PC 0
6 (D1) PL+PC= et (D2) PL PC=6 000 soit PC = , PL= , point C (D1) PL+PC= et (D3) PL+PC= parallèles (D1) PL+PC et (D4) PL n’appartient pas au polygone solution point E (D2) PL PC=6 000 et (D3) PL+PC= n’appartient pas au polygone solution, zone PL négatif, (D2) PL PC=6 000 et (D4) PL n’appartient pas au polygone solution point F (D3) PL+PC= et (D4) PL n’appartient pas au polygone
7 1.2 Polygone des admissibles D2 coupe axe des abscisses en , des ordonnées en PL PC D3 D4 D1 D Le polygone défini par l’ensemble des contraintes est l’ensemble des admissibles. Ici le triangle ABC Le sommet C, à l’intersection des droites limites des contraintes D1 D2, est le premier rencontré, par une parallèle de la fonction objectif à minimiser, à partir du centre. C A B
8 2.1 Définition Max Z; Z = d i x i i=1....n i sous j=1...m a ji x i b j j x i ≥0 Programme à n variables et m contraintes, dont la fonction objectif est Z. Les solutions du système d’inéquations-équations des contraintes constituent l’ensemble des admissibles.
9 2.2Représentation géométrique Dans IR n, les points vérifiant: - une équation, se situent sur un hyperplan, - une inéquation, dans un demi-espace Intersection des demi-espaces: polyèdre convexe (dim n) Un sous ensemble P de IR n est convexe si et seulement si étant donné deux points quelconques de P, x et y, et un nombre quelconque de [0,1], le point: z= ( x 1 +(1- ) y 1, x 2 +(1- ) y 2, , x n +(1- )y n ) appartient à P. Soit P={X IR n | AX B}, l’ensemble des admissibles.
10 2.3Point Optimaux Les points optimaux se situent sur l’enveloppe du polyèdre. S’il existe une solution optimale, elle correspond à un sommet du polyèdre. S’il existe plusieurs solutions, elles sont obtenues par combinaison convexe des sommets de la face concernée (une face est un sous-ensemble du polyèdre pour lequel les valeurs limites sont atteintes)
CNS d’optimalité Dans un problème d’optimisation linéaire X* est solution du problème ssi : v j 0 IR+, j J* | D= v j V j où J* = { j (1,2,.....,m’); V j IR n V j X* = b j } J* ensemble des contraintes saturées.
12 CNS OPTIMALITE démonstration - CN: X* solution optimale, alors si j J* Y IR n | j (1,2,.....,m') V j Y 0, a IR + X a =X*- a Y, j (1,2,.....,m') V j X a = V j X*- aV j Y V j X* = b j et si j J*, lim V j X a =VjX*< b j d'où si a>0 petit | V j Xa b j, X a P, D X a = D X* - a Y D X* or le lemme de FARKAS: D, V 1 V 2,....V m IR n, X IR n, j (1,2...,m') V j X 0 DX 0 alors v j 0 IR+, j (1,2...,m') | D = v j V j - CS: D= v j V j, vj 0, j (1,2...,m'), X P, DX= v j V j X v j b j = v j V j X* = D X*
13 X* maximum est un sommet du polyèdre X P IR n, j (1,2,.....,m), V j X b j, d ’après la CNS: D= v j V j, v j 0, V j X*=b jm X’ P(X*), V j X*=b j, V j X’= j v j X’= v j b j = v j V j °X*= DX* d’où tout point de la face de X* est aussi solution optimale. Cette face contient au moins un sommet de P, si P ne contient pas de droite
14 Si X 0 la CNS sous forme matricielle devient: V* 0, D = V*‘A, DX*= V*‘AX* =V*‘B car si V‘= (v 1 v 2 v v m ), D= v i V i = v i a ij = a’ ji V i Alors D = V*‘A et V i * (V i X*- b i ) = V i * a ij x j * - V i *b i = V*‘A X* - V*‘B
Algorithme du simplex Max Z ; Z = D X sous (A+I)X = B X 0 -Phase initiale: solution de base réalisable, variables toutes nulles au départ [1] [1] -Récursion: déplacement le long de l’arête reliant le sommet initial au sommet suivant à l’aide de la méthode du “ pivot ”, (ramener la matrice des contraintes à la matrice Identité, en transformant de la même façon la matrice Identité qui devient la matrice inverse ou résolution d’un système) -Test de fin: tous les coefficients de la fonction objectif sont positifs [1] [1] Une solution réalisable de base est définie en fonction des variables de base du programme linéaire.
16 {Max Z; Z-1500X Y = 0 {sous 5X + 3Y+ E1 = 270 { 7X + 8Y +E2 = 800 {4X + 6Y +E3 = 360 { X 0 Y 0 {E1 0, E2 0, E3 0 { Max Z; Z-1500X Y = 0 {sous 5X + 3Y 270 { 7X + 8Y 800 {4X + 6Y 360 { X 0 Y 0 devient 3.2 Formalisation Maximiser un profit sous des contraintes de production
17 Une société fabrique deux types de biens, B1 B2 3 facteurs de production heures machines, heures ouvriers, techniciens; 2 ateliers. Coût unitaire des facteurs de production CM= 20 CO= 30 CT= 50 en euros. Capacités maximales:FM= 270, FO= 800, FT= 360. B1, M1=5, O1=7, T1= 4, V1= 2010, prix de vente unitaire en euros, pour B2 M2= 3, O2= 8, T2= 6, V2= 2400 euros Trouver le nombre de biens B1 et B2 à fabriquer pour maximiser la marge sur coût total. Z la marge sur coût total, X et Y les variables quantités de chaque bien à fabriquer. CT le coût total de fabrication. CB1= M1xCM + O1x CO + T1x CT= 5x20+7x30+4x50=510 euros, CB2= M2xCM + O2x CO + T2x CT= 3x20+8x30+6x50= 600euros Z= (V1-CB1)X +( V2- CB2)Y= ( )X +( )Y
18 Maximiser un profit sous des contraintes de production peut être vu comme Minimiser le prix avec variables V1, V2, V3 sont les prix unitaires des facteurs de production sous des contraintes de rentabilité utiliser 5 unités de M, 7 de O, 4 de T, pour fabriquer un bien 1 qui rapporterait 1500€, utiliser 3 unités de M, 8 de O, 6 de T, pour fabriquer un bien 2 qui rapporterait 1800€ Plus généralement une maximisation du profit sous des contraintes techniques de production est aussi un programme de minimisation des coûts de production sous des contraintes de rentabilité.
19 PrimalDual Max Z = D XMin W = V’B sousSous ( V ) AX B X 0 ( X ) V’A D V 0 4.1Dualité
20 X* est solution du programme linéaire ssi il existe un vecteur V tel que: V 0, et DX* B et D’X*=V’AX*= V’B P est défini par m contraintes telles que: A X B et -I X 0 X* solution de P ssi il existe V et F tels que: V 0, F 0, D=A’V-IF, V’AX*=V’B et -F’IX*=0 d’où: F=A’V-D, D A’V et (V’A-D’)X*=0
21 primaldual Max Z= 1500 X YMin W= 270 V V V3 (V1)5X + 3Y 270 (V2) 7X + 8Y 800, (V3)4X + 6Y 360 X 0 Y 0 (X)5 V1 + 7V2 + 4 V3 1500 (Y) 3 V1 + 8 V2 + 6 V3 1800 V1 0 V2 0 V3 0
22 D1 cuts the x-axis in 54 of 90 ordered D2 cut the abscissa in and ordered 100 the intersection of D1 and D2 is outside the allowable because the abscissa is negative 5454 x y D3 Le polygone défini par les contraintes constitue l’ensemble des combinaisons B1,B2 possibles; ici, le polygone AOBC. Le point C à l’intersection des droites contraintes D1, D3 est le sommet du polygone optimal. Le sommet le plus éloigné atteint par une parallèle à la fonction objectif est solution de maximisation. A ’ Polygone des admissibles D1D1 D D2 D B C O Z
23 -Les variables structurelles du primal sont les variables duales du dual -Le nombre de contraintes du primal est égal au nombre de variables structurelles du dual -Les fonctions objectifs ont la même valeur optimale A’V D’ A’V b *=D’, AX B AX b *=B X b *= A -1 B, DX b *=D b A -1 B (A’V b *)’A -1 B=V b *’B
RDC comme Max Z = DX*= Min W = V*’B V*’A D, X DX V*’A X, mais B A X d’où:DX V*’A X V’B, de même: V’A D V’A X* D X*, V’AX* B V, DX* V’AX* V’B, or à l’optimum V*’B=DX* d’où DX V*’AX V*’B = DX* V’AX* V’B En remplaçant X par X*, V par V*, car vraie pour tout X, V, alors: DX*=V*’AX*=V*’B d’où (V*’A - D) X*= 0 et V*’(B - AX*)= 0 simultanément vraies à l’optimum seulement
25 (V*’A - D) X*= V*’(B - AX*)= 0 - Si V*’non nul, alors B - AX* = 0 Coût dual différent de zéro signifie saturation de la contrainte associée - RDC système d’équations homogène à n+m variables Permet de trouver les solutions d’un programme linéaire, Une valeur est souvent connue ou fixée, il suffit de chercher les autres Intérêt des RDC
26 5.1Sensibilité Estimation des coefficients de la fonction objectif, des contraintes, les limites lors de la modélisation Tester si l’optimum trouvé est sensible ou non nécessaire Optimum peu stable: modèle peu intérêt, Préférer une solution plus stable avec optimum moindre [1] [1] Le tableur EXCEL fournit en plus des réponses, un rapport de sensibilité. Voir TD.
27 Polygone des admissiblesPolygone des admissibles D2 coupe axe des abscisses en , des ordonnées en PL PC D3 D4 D1 D Le polygone défini par l’ensemble des contraintes est l’ensemble des admissibles. Supposons que l’on resserre la limite de la contrainte relative au coût, de , D1 devient D1’, y= -x Le polygone des admissibles est modifié C A B D1’ Exemple coût de l’emprunt Les valeurs à l’optimum sont-elles bouleversées? Les contraintes saturées seront desserrées/resserrées Second membre contraintes Bi + Bi
28 Avec une modification des limites, Sous l’hypothèses de non retournement des saturations, La variation sur la fonction objectif, Z est égale au produit coût dual (ou valeur marginale) de la variable duale par variation de la contrainte Z = V*. B Dans l’exemple, la variation sur la contrainte est de B= Mais TD\OPTIexintro.xlsTD\OPTIexintro.xls
29 FinaleOmbreContrainteAdmissible Nom ValeurCoûtà droiteAugmentationRéduction cd E ca cc cb E D1 5.2 Solveur du tableur Excel
30 SATUREE Saturation avec le solveur du tableur Excel
31 D3 passe de l’état de saturation à celui de non lié Impact d’une variation avec solveur
32 -La variation autorisée avant retournement de saturation est Donc la variation sur la fonction objectif ne peut être obtenue par la formule Mais, par exemple - Avec resserrement: Z1= , or V*= 0.88 b= V* b= 0.88 * = et Z*-Z1 = Exemple 1
33 En modifiant les contraintes, sur l’exemple des deux biens: Sous réserve de non retournement de saturation des contraintes, la variation de la fonction objectif, Z est égale au produit de la valeur de la variable duale à l’optimum par la variation de la limite de la contrainte associée Z = V*. B Dans l’exemple: B= +30 Exemple 2
34 Final value Shadow price Constraint right D D D Solveur à l’optimum, D2, contrainte sur les heures de travail n’est pas saturée; 270 heures n’ont pas été utilisées
35 Sans retournement de saturation de contraintes,la variation de la valeur de la FO à l’optimum est obtenue par la formule Si l’on desserre de 30 heures la contrainte relative aux machines, l’impact V1*= 100 b= +30 V1*. b1=100 * 30 = comme gain
36 D'1 cuts the x-axis in B'=60 instead of 54, of 90 ordered D3 cutsD'1: abscissa in 40 and ordered 100/3. the intersection of D1 and D2 is outside the allowable because the abscissa is negative yet x y D3 Le polygone défini par les droites limites des contraintes englobe les combinaisons possibles des B1 et B2; ici, le polygone AOB'C'. Le point C' à l’intersection des droites limites D'1, D3 est sommet du nouveau polygone des admissibles. A ’ Admissible et variation D D2 D B C O C' D'1