You are on page 1of 28
CHAPITRE 1 Programmation linéaire 1.1 Introduction Bien qu'on puisse mudéliser des problémes d'pplimisation et atiliser des logiviels. sans connafize a théurie qui se cache derrigre, quelques notions sont utiles pour démystifier le sujet, Ce chapitre présente done des beses de programmation lingaire sufisantes pour les chapitres 3.4 14 consacrés 0 la modelisation, Le § 1.2 donne un exemple de programme linéaire puis définit les programmes linéaires en général, sous leurs deux principales formes. Les programmes lingaives & deus variables peuvent étre nésolus pur une méthode gcométrique, présentéc cu § 1.3, qui permet de saisir physiquement les principes, Les problémes 4 plus de deux variables sont résolus par ane méthode algébrique eétébre, Falgorithme du sonplere, istreduite ax § 14. La forme tableau de Palgonthie, gui facilite les calculs, est présentée au § 1.5. Quelques simations particuligres font l'objet du § 1.6. La dualité et Hanalyse de sensibilité sont riches en propristés qui dépassent le cadre de-ce livre. Les paragraphs 1.7 et L8 consacrés & ces sujets ne présenient que des rudiments. Quelqaes Evolutions récentes comme les méthodes de points intéricurs sont Gvoquées a § 1.9, La derniere partie est consacrée aux complements et aux références pour approfondir fe sujet. 1.2 Notion de programme linéaire 1.2.1 Composantes d'un programme linéaire et exemple Soit une nsine qui produit deux viments capportant 50 $ et 70 $ fa tonne. Pour fabriquer une tonne de ciment I, if fant 40 min de calcination dans un four et 20 rin de broyage. Pour fubriquer une tonne de viment 2, il fut 30 min de four et 30 min de broyage. Le four et atelier de broyage sont disponibles 6 } ut 8 b par jour. Combien de ciment de chaque type peut-on produire par jour pour maximiser Je bénéfice ? Ce probléme se modélise par te progeamme iinésire (PL) suivant, cn nolan x; et x: les quantités de cient & fabriquer. Programmation linéaire avec Excel (1) Max z= 5x + 70%, (2) 40%; + 30x. < 360 (3) 204 +308, $480 sym 20 La ligne (1) représente fe profit tolal 2 qui est Te eritére a optimiser, appelé aussi fonction objectif (nom compos’), fonction de caiit ou jonetion économique. Max signifie que ce critére doit étre maximise ; on écrirait Mfr pour minimiser, Les autres Kgnes désignent des contraites, Ls contrainte (2) concerne ta disponibitité du four: elle stipaks que le temps total de caleination requis par les ciments ne doit pas dépasser 360min ow 6b, La contrainte (3) décrit de meme la disponibiliee du bruyear. Les contraintes (4) précisent les domines des variables. 1.2.2 Forme générale d'un programme linéaire et extensions Pius géndralement, on appelle programme mathématique wn probléne doptimisation Pune fonction-objectif de plusicurs variables en présence de contraintes, Le programme est dit Tingaive si ta fonction et tes contraintes sont toutes des combinaisons linéaires de variables. Thala forme pénérique suivante. TT compotie n variables non négatives (34, m contraintes degalité ov dinggalité (2), et fa fonetion-objectif & optimiser (1), Le coefficient de cot ou de profit de ta variable x est not’ c. cutui de fa variable s; dans ta contrainte # est nate ay Lat contrainte ¢ a un second membre constant &, Les contraintes simpies de positivite oe sont pas invetuses dans les 2 contraintes, car elles sont gérées a part par les algorithmes, (1) Max ou Min ant 0, Des valeurs de variables qui vérifient toutes les contraintes, comme x; = 4 et x= 2 dans Fexemple des ciments, forment une solution réalisable (SR) du PL. Une solution réalisable est optimale si aucune autre solution o°a un profit supérieur, Si les variables sont astreintes A étre entigres, on obtient un programme linéaire ex nombres entiers (PLNE). Un programme linéaire en O-1 est un eas particulier de PLNE dont les variables ne peuvent prendre que deux valeurs 0-1; ces variables sont dites booldemes, binuires ou de dévision, Un PL mixte comprend 4 ta fois des variables continues et des variables entidres. Enfin, a partir du mement of au. moins une contrainte ou la fenction- objectif n'est plus une combinaison lingaite de variables, on a affaire & un programme non linéaire (PNL). Les PLNE et PL en 0-1, qui font objet du chapitre 2, sont plus diffictles & résoudre que les PL ondinaires. Les PNL sont encore plus difficiies, sauf dans quelques cas partientiers comme des fonetions-objectifs convexes. Les algorithmes actuels ne tromvent cen général quan optimum loval et ils sorteni da esdre de cet owveage. hapitre. } ~ Programmation inéaire- 1.2.3 Formes matricielles classiques et conversions Notons x# (4,33... tu)" le veoteur des variables, 6 = (b,. bs, . by)" velui des sevonds membres des contrainies, ¢ » (1, €5 «4. €)) les colits ou profits associés aux variables, et 4 a mattice a xn des ay. Dans la suite, nous a’Geritons plus les siznes de transposition pour alléger Mécriture. On peut slery éerire un PL sous forme mauricietle. Deux formes sont vourantes : li forme canonique avec des contraintes <, utilisee pour la résulution graphique, et Ii forme standard avec égalités, pour la résolution algébrique par des algarithies. Par convention, Ia forme standard est souvent exprimée avec des seconds membres posit, Forme canoniqu Forme standard Mas er Max cx Aw Axsb xe0 vet Ces formes ne servent qa'd simplilier les présentations théoriques. Dans la réalité, un PL peut présenter des éyalités et dex inégalilés, et les logiciels du marché acveptent heureusenient ces mélanges. On peut fucilement convertir les formes mixtes en formes classiques. Ainsi, toute contrainte dégalité peut étre remplacge par deux ingyal [ts Yas, sh Gn peut convertit une inégalits en égalité en ajoutant ou soustravant une variable d'éoart 6,20, propre & chaque contrainte i A Poptimam, pour une ing disponibilité dune ressource f, cette variable indique ta quantiié imutilisée de fa resource. Hiié < concemant ta Neyx, Shera 2029 Yayy, teh, Dravires conversions sont possibles. Ainsi, on peut passer d'une maximisation & une minimisation, car maximiser 2 revient & minintiser -2. I ne faut pas oublier alors de multiplier par -1 la valeur de la fonction-objectif trouvée par la minimisation ! L'exigence de variables positives n'est pas restrictive, ear une variaise x; non contrainte en signe peut Toujours s'éerire comme une difference x -"; de deux variables non négatives. 1.2.4 Interprétation économique Un PL a.une interpretation économigue tres large. Seit un acteur économique qui exeree activités avec des intensités x) 4 déterminer. Ces activités utilisent m ressources. On connal la quantité a, de ressource # nécessaire pour exercer Pactivité j avec ane intensité 1, On connait aussi le profit ov le cot ¢; pour une intensité 1 de activité j. On veut trouver tes intensités des activités, compatibles avec les ressources, pour maximiser le profit ou minimiser le cotit, Ce probléme est modélisubie per un PL sons forme canonique Programmation linéaire avec Exce! La programmation linéaire définit done tine classe tes large de modes, mais dans Inquelle ‘on prend deux bypothises restrictives fondamentales : la proportionnuliié des couts et des consummations de ressources aux intensités d'activités, et Padditivité des consommations de ressources (pas dinteractions entre, activités). Nous verrons en fait que de nombreux problémes, en apparence non linéaires, peuvent Gire rexidas lin Par exemple, Ihypothése de proportiounalitén’est pas respectée quand on produit an bien en grande série. Le prix de vente par unité hénéficie sonvent de tari’ dépressifS, price aux dconomies échelle. Le prix de vente en fonction do In qualité est alors une fiction lingaire par moreemux gui erott de moins ea moins vite. Tl n’empéche que ce genre de fonction se fingarise faciloment, moyennant des variables supplémentaires. Ainsi, le ehamp application de ta progeammation linéaire est bien plus waste qu'il n'y parait 1.3 Résolution graphique Appelée aussi résolution géomérigue, elle est possible pour un PL sous forme camonique avec deux ou trois variables Gr 2 ou n~ 3). Soit par exemple le PL suivant, qu'on interprétera comme le calcul des quantités & produine x, et x» de deux produits pour maximiser un profi Max ny + 2. y+ 6 Xe 0 forme canonique. Fu uiilisant les notations matricietles, on peut éerire Ona)", b= (6.3) et: Pour ce PL. A deux varizhles, on trace dans te plan les axes des coordonnées pour les valeurs positives dex, el xs, On finit de délimiter le damaine des solutions réatisables, qui forme un pobygone convexe, en tragant les droites d’équations xy $x; > 6 et x. 3 (figure 1.1 page suivante), Pour chaque droite, an indique par des féches le demi-plan & conserver. On peut saissi hachurer les demi-plans interdits, mais la figure est souvent moins lisible, Fragons ta droite de profit z= 0, Son intersection avec te domaine des solutions réalisables est réduite au point O es corressond a le solution triviale of on ne produit rien, ce qui ne tapporie rien, Une droite d’équation >= k, of & est ume constante entre O el 9 (exclus) anne par intersection avec le domaing tout un segment de plans de production possibles, ayant te méme profit & On peut augmenter & jusqu'a 9, ee qui donne ta solution eorrespondant au point J 2x, = 3x7 3. Cette solution est optimale, car si on augmente encore &, an sort dn domaine. En remplagant dans Je PL. les variables par Jeurs valeurs, on peut vérifier fe eott et le respect des conteaintes hapitre. } ~ Programmation inéaire- > gure 1.1 ~ Bromple de ré m graphique On peut formuler sur te figure des remarques générales, Les comtraintes de posttivitg confinent les sotutions dans le quart de plan positif et chaque suite contrainte définit un demi-espace {ici un demi-plan). L'imtersection de tous ces espaces forme un polvgone convere non vide, ici OUK. La convexité signifie que pour deux points queleonques 4 et 8 du polygone, le segment [A, B] est contemu dans fe polygone, Pour un nombre queleongue 1 de variables, on parle de polyédre convere. Pour k croissant, tex droites Wéquation 2 * k forment une famille de droites paralléles, z augmente dans ta direction du veeteur ¢ de la fonetion-objectif. L’optimum x, iei unique, est aifteint an sommet I= (3, 3) du polyedre, Le cout optimal correspondant est == 9, Les cas spécinux suivants pourraient se produire. En supprimant « 6, le domaine des solutions sernit non barié, ainsi que optimum, L’optimum peut eependant étre fini méme si le domaine est non borné ; ce seruit fe eas pour e= CL, 2), qui damnersit le point I. Sion ujoutait la contrainte x, ~ x) S -4, le polyédre serait vide et il n'y murait aucune solution réulisable, Enfin, si on maximisail z= x, + x, iy aurait plusiews optima (tous les points de Varéte JK). Remarqaons cependant que Fensemble des points optimaux, s'il est nen vide, comprend toujours un sommet du polyedre. Pour un probléme réel comme un plan de production, le domaine a‘est normalement pas ide caril y a.m moins one solution : le plan de production actuel de Ventreprise. De plus Voptinnm est bors en pratique a cause de limites sur les ressources. Dans un probléme récl, Vabsence de solution indigue en général un probléme surcontraint, tandis que Poubli dune contrainte peut donner ur: optimem non borné. Line erreur de saisic du modéle dans un logiciel, comme une inversion de signe, peut également produire ces phénoménes. Dans tous ees eas anormaun, i! faut revoir scigneusement la formulation. Si on est bon dessinateur, ta résulution graphique est envore possible pour trois variables les contraintes définissent des demi-espaces dont intersection forme un palyédre 4 trots dimeasioas (une sorte do cristal), ot les solutions de profit ¢ constant ferment une famaille de plans paralléies. Ti est clair qu’il faur utiliser une autre méthode en présence de plus de trois variables. C'est le but de la résolution algébrique des sections suivantes, re avec Excel Programmation ling 1.4 Principes de la résolution algébrique 1.4.1 Bases et solutions de base Ceite résolution utilise Ia forme standard. Rappelons gue le systéme d’épalités Tingaires Gen PL en forme standard s°éerit mavriciellement Av 6, avec A une matriee mm Xn telle que m Sno un vecteur ax 1, et bun vecteur om x L. On suppose aussi qu'il n’y a pas de contrainte redondante, c"est-i-dire combinaison linéaire d'autres coniraintes : te rang de. vauit m, en termes mathématiques. Heureasement, les logiciels da commerce fonetionnent quand méme correetement si ces hypotheses ne sont pas verifies ! On appelle base de 4, 06 marrice de. base, joute sous-mairice carrée inyersible Bm xc, de A, Pour une base B. on peut (en réarrangeant les colonnes si nécessaire) partitionmer A en (B, NY et x 0 (4. xa). Nest le rnatrive mx (net) des cotormes hors base, «nt mate) base. Le vecteur rg a pour composantes les mr variahles de base (associées aux eolonnes de B), vy @ pore composantes les n-ne variables hore base, Le systéme de coniraintes ct la fonction-objectif peuvent alors s’éctire de maniére équivatente Asx= bo Boxy > Nery =b 42 ty = Bo b-B Xe Cy Rp ety ty = Cy Bb Hey ey BO Pour une hase choisie B. le systéme équivitent est simpiement une expression des variable: de base en fonction des variables hors hase. On a une solution évidente en foryant xy & 0 on a alors xy = B$. Cotte solution du Pl. est kx solution de base (SB) assoeiée & ka base B. Eile peut violer des contraintes de positivité : on appelle solution de have réalisable (SBR) une solution réalisable dont toutes les variables sont positives ou nulles. 1.4.2 Exemple d’énumération des bases et changements de base Reprenons te PL waité par ta résolution géométrique, ‘sjoulant une variable d ‘Scart xy pour la premiere contra mais mis sous forme standard on nie, ef une abtre x, pour fa seconde, Maxz= ap # 2x Ht om ty ~ 6 tom = 3 % % 2 0 Les hases de 4 sont ses sous-matrices carrées inversibles 2 x 2, en fait toutes sau? (ay, 4). On trouve ainsi les cing matrices de base de la page suivante, pour lesquelles on a caleulé Jes solutions de base. Toutes ces solutions de base sont réalisubles, sauf celle correspondant AB, ~ Chopitre | ~ Programmation finéeire— ft 1 8 =(a,e)=| 4 a By = (@y,a5) = u Dans cot exemple, on ne peut pas visualiser le polyédre en quatre dimensions, Mais ie polyédre utitisé pour a résolutian graphique en est une projection & deux dimensions, sans les variables d’éoart (figure 1.1). On constate alors guc tes SBR correspondent aux sommmets JK, Let O du poiveddre. La base By est la matrice identite ussocige aun variables d’écart, La SBR assucige comespmd sat point Q de fa résolution graphique. Dans en contexte de production, elle consiste & ne rien produire : on met & zéro ley variables du PL canonique Worigine, ot les variables d'écart sont dgafes aux quuntités de ressources disponibles (non consommées), définies par le vecteur b. Los opérations préeédentes ont lair compliquées sous forme matricielle, Elles sont en fit simples si on détaille les équations en exprimant tes variables de base en fonction des variables hors base, Par exemple, peur retrouver la solution de base associge & A, (point J de la résohition graphique), on part du systeme dy = & de la forme standard, syeay=3 Ti faut transformer ce systéme pour exprimer les variables de base x; et x; en fonction des autres variables (hors base) # et xy. Tse trouve que x, est déjA exprimée on fonction de xy dans la ligne 2, En substituant son expression (¥:> 3 -.x4) dans la premigre équation, on obtient ie systéme suivant, traduction non matricielle du systéme xp = B'D - BNaxy. En fixauit fes variables hors base ay et x. a 0), on retrouve effeetivemtent fa solution réalisable de ba 3 etx: © 3 correspondant au point J Baty oy Les bases pour deux sommets adjacents du pulyédre ne différent que par une variable. Sion dispose du systéme exprimant les variables de base en fonction de celles hors base, on peut Gédoire le systeme pour autre base, sans inversion de matrice. Par exemple, suppasons que Von parte de la base Bs des variables &°éeurt x5 et xy, correspandant aut point O. ~ Programmation linéaire avec Encei ig mmx en déplagant x» dans te membre de gauche et xy dans le membre de droite, I faut ensuite éliminer xy dans les membres de droite des autres équations, réservées aux variables hors base. Ce qui s‘efTectue simplement en remplagant x3 par son expression, 3 ~ x, Cette transformation du systeme est appelée pivorage de x, vers 3. On obtient ainsi fe systéme suivant : 1.4.3 Propriétés fondamentales de la programmation linéaire 1.es méthodes de résolution algébriques reposent sur deux propriétés fondamentales 4 admetice, mais vues intaitivement duns les paragraphes précéclemts. Les précautions de style sont nécessaires 4 cause des polyéures non bomes ou vides, + Si une fonction linéaire atteint son maximum (ou: son mininnim) sur le polyédre A défini par les contraintes, slors cet optimum a lieu en ws somunet de X, + Si est non vide, alo correspond aux solutions il existe au moins um sonwmet, et ensemble des sommets de base réalisables, Ainsi, bien qu°un polyédre non vide contienne une infinite de solutions réalisnbles, i su flit Ge consulter ses soromels, en nombre fini, pour troaver optimum, Le combre de somumets peut étre énorme : pour 100 contraintes et 4010 variables, on peut avoir autant de matrices de base que de lagons de choisir 100 colonies parmi 400, soit de ordre de 10“ sommets £ algorithme du simplexe va seulement genérer une suite de sommets de profits croissants. 1.4.4 Algorithme du simplexe a la main Reprenoas notre PL favori en forme standard, avec ses deux contuintes Cégulité Maxz= 4 $ Qexy algorithme du simplexe a &é publi¢ par Dantzig en 1949 (Dantwig 1949}, tf construit une suite de solutions de base réalisables de profit croissant, jasqu’a ce qu'il n’y ait plus de guin possible, Géornétriquement, i! visite une suite de sommets adjacents du palyédre. Le passage Pune base A Pautne s"eflectue par des opérations de pivatage (ef § 1.42). On part ce la base évidente (matrice identité) formée par les variables d’écart xy et vg. La rééerinure es contraintes pour obtenir les expressions de x, et.x, en fonction des variables hors base x; o& 1, est immédiate. La tonetion-objectit est ajustée de la méme maniére, mais au début il n'y acrien a faire puisque les variables d'écart y ont un exefficient nul, On obtient : Chopitre | ~ Programmation finéeire— wy ==, xy=3 04a 42x, La SBR initiate assoeige s*obtient en mettant les variables hors base des seconds membres 80, On trouve s) = 0,.xs 0 84° 6x4 3 et sO, Elle correspond au point O de la rés0- lution ggométrique, Pour changer de SBR, on imagine que les variables hors base sont ultes dans le sysiéme préeédent. Une variable hors base, actuellement a 0, va étre choisie pour eotrer en base et auugmenter jasgu’a anmuler wne variable de base. A la suite de cette opération de pivotage. fa variable hors base qu’oa augmente, dite entranie, remplace celle ui s‘annule dans be sofution de base, dite sorraste, Géometriquement on passe sar un sommet adjacent da polyédre. Pour déterminer ta variable entrante, on examtine les coefficients des variables hors base dans =, appelés profits. marginauy ou réduits (colts marginawe en minimisation). Hs donnent te gain obtenu en augmentant de 1 Ja variable associee, kn fait, algorithme converge si ort augmente une des variables de profit marginal strictement positif, mais plus rapideraent ea eauyentie si un choisit paruti elles velle de profit marginal mecimat, ii xy ‘Voyons maintenant comment trouver la vaniable sortante, D'apres la premisre contrainte, x ne peut pas augmenter au-dela de 6, sinon x: deviendrait négative, La seconde contrainte est cheore plus limitante, car x peut augmenter jusqu’& 3 seulerent. Ainsi, x s'annule, La variable sortame est done ta premiére gui s‘annule quand on auymente ta variable entranie. Les nouvelles variubles de base sont done x; et rs, et on doit les écrire, ainsi que 2, uniquement ea fonction des nouvelles variables hors base x, et xy. On obtient sasdoxy aye 6-26 “Goa l= da tay £2044, 423—x,) = 645) 2x, La SBR actuelle se lit on plagant 8.0 les variables hors base 72 3, 44 3,1 42 = 0, avec un profit: = 6, Eile correspond au point f du polyédre, Pour augmenter encore le profit, on peut seulement augmenter xs, ear cvest la seule variable hors base de profit unitaire sirietement pusitil. «5 pout augmenter jusqu’a 3 ct remplace dans la base x, gai s'annule: On écrit done xj, #2 et 2 en fonction de ¥3 et x4 2 Spy) 2g =D ay 8 A ce siade Ia SBR associge est « = (3.3,0,0), de profit 9. lle conespond au sommet J du polyédre. On est & Poptinam, ear toutes fes vasiables hors base ont un profit unitaire négatif: te profit dimimerait si on augmentait Pune dente elles, Finalement, sur les cing bases possibles pour ee PL, Palgorithine die siinplexe o’en a consullé que trois, Pour ua PL volumineux, Méconomie par rapport & une énumération compléte des solutions de base est énorme : des tests numériques montrent qu’en moyenne le nombre de pivotages reste proportionne! aa nombre mr de coniraintes, io ~ ~ Programmation linéaire avec Excel Le processus est fiacilement adaptable aut cas dune minimisation, La seule diffrence est fa végle pour la variable entrante : il faut prendre celle ayant le plus petit cott marginal strictement négatif (le plus grand en valeur absolue), fe but étant d’obtenir un coat minioral, 1.5 Algorithme du simplexe forme tableau Dans fe § 1.4.4, nous avons manipulé directement le PL en opérant par calcul matriciel sans nous en apercevoir, En effet, a toute itération et pour une base A, Te PL était écrit sous ta forme équivatente définie A la fin du § LAI: pe Bb BUN Nox meg BUN ay Saye zeey Bs Pour les contraintes, on reconnait chague variable de bas 6° (sa vaicur aviuelle) pius une combinaison linéaire des variables hors base, L"expre: de = comporte un terme constant noté zp (valeur actuelle de la fonction-objectif) plus une combinaison lingaire dans laquelle Ay désigne fe vecteur des profits marginaus, 1G, Ggale a wn terme constant ion La forme tableau de Palgorithme du simplexe facilite les calculs prévédents et se prow bien 4 fa programmation, Reprenons le programme fingaire vu pour iz résolution geomécriqee, Lune fois mais sows Forme standard Max z= + Bay Sette tti 6 Xs + uy 3 xy vy X. 4 20 Le tableau initial de ce PL est composé de quatre sous-tableaux. Le tableau central 7 est chargé avec Ia mattice 4 du PL. Le tableau-colonne ase donne les indices des vatiables de base actuclies, fes variables d'écant xy et xy Le tablews-colome &° contient les seconds membres, La ligne A est la fonction-ebjectif sous ly forme O.rg + AyXy= ~Zy (les variables de hase ant ua profit marginal nul}, Notez que lit case -zq conticat bien Ia valenr de ta fonction-vbjectif, mais multiplige par -1. Actuellement cette valeur est nulls, i Effeemons I munipalant di premiéte itGration, tout 3 fait équivatente 4 ce quae nous avons stelisé en ‘erent les Equations, Elle construit fe tableau de la prochaine bese, Chopitre | ~ Programmation finéeire— “1 + La variable hors base x, entrant on base est xz, car elle a fe cotit rédnit strietement positif le plus grand sur la Tigne A. On repére sa colonne (co/onne pivac) avec un e. + Lavariable sortant de fa base est celle s'annulant en premier quand x, angmente, C’est celle qui minimise les b*, T,, avec T,, > 0 ou, comme on suppase des seconds membres positifS dans la forme standard, tes A°, / T;, > 0. Ceci se produit la ligne s = 2, dite ligne pivot. Bases) donne indice de ta variable de base correspondante, rs, * On entoure le pivor 7... Pour exprimer x3 en fonction des variables hors base, il faut éorire dans fe tableau suivant le ligne dn pivot, divisée par fe pivot, pour obtenir un 1 a Ja place du pivot. Le pivot valant déja 1, on se contente de recopier ia ligne du pivot. + On fait apparaitre ensuite des 0 dans tes Te des lignes ¢ = s : on mubiiplie Ia ligne du pivot (déji caleulée dans fe tableau suivant) par Z,, puis on fa soustrait A ls ligne {Les lignes obtenues sont copies dans le tableau saivant, Ceci imine x, des équations autres que [a ligne 5, le, le traitement équivaur 2 soustraire te figne 2 4 la ligne 1, * On applique le méine operation & fa ligne A, y compris powr —zp: la ligne du pivot est multipliée par A. ot soustraite & la ligne A pour obtenir la nouvelle ligne 4 du tableau suivant, lei, evel revient ii muftiptier fa ligne 2 par 2 et A fa soustraire a Ia ligne A. * On roublie pas de mettre @ jour Vindice de lu variable de base correspondant désormais @ la Higne » dans Base : 2 au ficu de 3. On obtient fe tableau suivant Bae Td 2 HEE. BY Ta O 37] in o irae) anes aH 3 jis cite | at ae [se Ha ag | CE 2s EE € Orit] ] 6 il 2B e Ce tablemt se hi comme suit ae, wy tty 23 anda 6 On retrouve fe systme obtenu pur Falgorithme du § sont plus dans les membres de gauche : ¢*est le tableau Base qui donne leurs colonnes, La solution de base actuelle est done xy O35) = G, 3) xx Gig) © (0, 0). La mnatrice identité des variables de buse s'est dépiacée dans 7 aux colommes 3 et 2. Le profit actuel est 6. Le vecteur des profits unitaires des variables hors base est Av CL, Lalgorithme n’est pas terminé car on peut encore augmenter Ie profit en sugmentant x). On aa pas le choix car c’est In seule variable hors base de profit unitaire > 0. Le minimum des Bi! Tie > © est obtenu sur kt ligne 1. Le tiret sur la ligne 2 signifie que xy peut augmenter autant qu'on veut sans affecter fa variable de base x; On teouve ¢ = 1 s= I, Basels] = 1 contre en base ct xy en sost), Le pivotage sur 7,= fy revient a soustraire [a ligne du pivot & la ligne pour faire apparaitre ua dans ACL), On obticnt le tableau suivant, — Programmation linéaire avec Exce! ‘Crest la fin de Palgorithme car les profits marginaux sont néyatifs ou nuls. On retrouve évidemment ta solution aptimate de ta méthode géomériqne et_de Valgorithme non matriciel : 4% = 3, xy = 3.les autres variables 4 0, et un eat toral 29 1.6 Cas spéciaux pour lalgorithme du simplexe 1.6.1 Optimum non borné Cansidécons le programme linéaire suivant sous forme eanonique Max ¢ = hob Dy 4 2) ae Rr (4,0) | >, 1 Figure 1.2 ~ Résolution seoraéirique A eas sans aptionum bora Résolvonsle maintenant par Palgorithme du simplexe. On passe & li forme standard en introduisant trois variables d°éeart x, 14, et, Le premier tableau correspond au sommet O du patyédre de fa forme canonique. Chopitre | ~ Programmation finéeire— Base 1 2 3 C3 2 | Ti] 1 a ae é 5 AEH 0 sy Et EE a. 5 ina et} in 2p Base 7 3 5 BRT Le trvisiéme et dernier tableau correspond au point J. On peut ensuite augmenter fe cot en faigant entrer x: en base. L ‘opiimum n'est pas burné, car on peut augmenter xy sans armuler une variable hors base : il n'y a pas de 6°,/ T,,> 0, Celle situation est purfaitement déiectée par les logiciels commercianx, avec un message du genre Uinbounded optionen, 1.6.2 Absence de base initiale évidente Le probleme Soit le programme linéaire suivant sous forme canonique > Maxz= x + 2oty ay + HS e-ue is ~ Progrararnation linéaire avec Excet Pour fa forme standard, il faut soustraire une variable Pécart 4 fa troisiéme contrainte. En effet, une variable d*écart doit étre non uégative, comme toute auire variable : Maxs= oxy 2a: mt = 6 +m = 3 m + ~ a = 1 ere red aatdes ere Op o°a plus ka matrice identité habituetie, qui nous foumissait une base initisle évidente Ceei est confirmé par Pinterprétation géométriqe (forme canonique) : Veptimum est atteint en J G.3), mits Porigine O n’est plus réatisable (figare 1 3). Figure 1.3 Un cas ot le point O west pas solution de hase Pour démuarrer Malgoritime du simplese, on pourrait Gouver par Gitonnemwnt une sous- mattice # inversible, mais Fetfort de ealeu! peut étre enorme pour un grand PL. Les logiciels utitisent en pratique deux méthades basées sar emploi de variables artitivielles : iw méthode des deax phases et la méthode du grand Mf. L'idée est fa suivante : on fait apparattre une matrice identité en ajoutant aux contraintes qui en ont besuin une variable elle (VA), avec un coefficient 1. Les variables x, a x sont dites fépitimes + elles sont nécessaires 4 obrention de la forme standard, Les variables d'écart xs e¢ x4 news donnent denx colonnes de matrice identité, les vontraintes correspondantes (premiére et deuxiéme) n'ont done pas besoin de VA. On ajoute xy 4 li toisiéme contrainte pour compléter ia base. Une telle variable est reellement amtificiglle et n'a aucun sens économique: & Voptinnum, elle doit étre mulle (hors base) sinon Ix contrainte n'est pas vérifice aver galité ! Les deux méthodes des 2 phases et du grind M ont précisément pour but de sen debarrasser, Chapitre 1 - Programmation linéaire. mt 2x y+ toy = 6 _ x 3 sett -% +m 1 a a Pi au eaestiagtE eG ‘Méthode des deux phases Dans ta phase J, on ignore Ia vraie fooction-ubjectif et on cherche A minimiser a somme des p variabies antificielles qu'on a dit introduire, On résout done le PL auxiliaire suivant, vil s, désigne fe veetwur des p VA, et ¢ un vecteur avec p composantes 8 1. Notez qu'on est en minimisation, te choix de ia variable entrunte dans Valgorithme du simplexe est modifié : c'est celle de plus petit colt marginal négatit, Min z= e-xy Axe Si tout se passe bien, on parvient a annuler Ja somme des VA et & trouver une base sans VA..On obtient donc une solution réalisable pour te probléme de départ. La phase 2 consiste a Sliminer du tableau tes colonnes des VA, deveaues inatiles, & templacer Ia ligne A par la \raie forction-objectif, et 4 continuer te simplexe sur te tableau obtena. C'est en phase 2 qu'on peut détecier si le PL d'origine n'a pas d'optimum borne. En réalité, Cautres cas spéciaux peuvent se produire en fin de phase 1 : + Six: #0 Gonction-objectif non nulle), fe PL d'origine n'a pas de solution réalisable. # Sicc=O aver des VA dans la base. on peut montrer que les contraintes associées & ces variables sont redondantes. On peut les climiner et attaguer Ja phase 2 A notre connuissance, cette technique de variables amificielles est Ia seule qui permette de détecter assez simplement les PL. sans solution et les contraines redondantes. Eile peut aussi servir & savoir si_un systéme Pinégalités lingaires « ou non des solutions, en hii ajoutant des variables dScart el des variubles wtificieiles comme pour un programme lineaice, Appliquons la méthode des deux phases a exemple. La base est formée des colonues 3, 4 et 6. Mais dans Palgorithine du siniplexe, les variables de base doivent avoir des cotits véduits nuts, ce qui n'est pas le eas pour xy. Transformons A en une ligne comrecte A’, en hut soustcayant la ligne 3 du tableaa. Ceei fait apparaitre le vétitable cot de Ja solution de base actuell c'est-i-dire qu'elle contient une VA, Btant en minimisation, il faut faire entrer cn base Ia variable de coit réduit négatif minimal, On a le choix entre e 1 et ¢= 2, Par convention, nous prenons fe plus petit indi —~ Programmation linéaire avec Excel a La phase | se termine ici aver succes, puisqne tous tes cofits marginaux sont posits ov nuts {on est en ntinimisation). LLa solution réalisable trouvée correspond au point V du polyédre de la forme canonique. e Op peut mener ta phase 2 car kx VA ay « 612 djectée de la base, Pour débuter, les colonnes: des VA (ici une seule) sont supprimées du tableau de fin de phase 1, ce qui donne le tablear ci-dessus. La fonction-objectit d'origine x, + 2.x, est reintroduile, Bite doit dire exprinaée en fonction des variables hors base, comme les autres fignes, Pour cela, on soustrait la Tigne 3 dla ligne A’, ce qui donne une ligne canecte A". Aprés pivotage sur 7js on parviont au point K dx polyédre de ta forme canonigue (tableau suivant), Notez qu'on aun peut “triché” en faisant entrer en base xv au Tew de xs, pour gagocr une ifération : en a ainsi empranté fe suite de somimets V, K,J au liew de V,U, Jt Chopitre | ~ Programmation finéeire— Un dernier pivowage nous améne & optimum, au point J ~ Gn. 42) G3), de coat 9, Buse La méthode du grand Mt Cette méthode proeéde en une phase. Elle ajoute Jes VA a te fonction-objectif da PL Corigine, mais penalisses par un eal ML AY ant wi grand nombre positif (10° par exemple}. Avec les mémes uotations que pour les deux phases, on résout on fait le PL. Son -ubsun Max c= corn Af seo, Axtey=b B42 Si tout se passe bien, le simplexe se débarrasse des VA dés les premitres itérations et ne les fait plus entrer en base & cause de leur cotit énorme. On peur ignorer les eolonnes des VA dés qu’elles ne sont plus en base, Les eas spéciaux suivants peuvent aussi se produire : * Le PL modifié n’a pas d’optinmum bomé etx, = 0: fe PL d’origine est aussi non borné, * Le PL modifié n’a pas d’optinmim bomé et xy #0: Te PL dorigine n'a pas de solution, * Le PL modifié a un optinwam borné, mais.x, #0 : Je PL d'origine n'a pas de salution. En général, fa méthode du grand Af donne moins d’itérations que celle des deux phases, Eo revanche, sur ordinateur, la coexistence de Mavoe des petits nombres engendre sonvent des problimes de précision, ce qui fait que les logiciels commerciaus utilisent phuét bi méthode des deax phs Voyons la méthode sur exemple. Les tableaux 7, Bare et 6! sont identiques a ceux du début de la phase 1 dans la méthode des deux phases. La ligne A est chargée avec les cots des variables légitimes et un codt -AY pour chaque VA. On send nls les evtits marginaux des varinbles de base en ajoutunt la ligne 3, mmultiplige par Af, & ka ligne , ce qui donne a ligne A ee f § 2 ta a BIT. O 38 wins On retrouve Peptinnur caleulé par la méthode des deax phases { hapitre. } ~ Programmation inéaire- 1.7 Dualité 1.7.1 Définition et exemple A tout programme linéaire, appelé par convention PL primal, an peut associer un autre PL. appelé sun duu? Voici un PL primal sous forme géncrale, cest-dedine non mis seus forone vanonigue ou standard, et son daa. On a separé dans ev primal tes variables positives de celles non contraintes en signe, une part, et les contraintes d’égalité des contraintes Winégalilé, d'autre part, Ceci partitionne la matrice 4 en quatre sous-mnatric Primal Dual Max Fyre Min we by + Ay, Axi + Anes Sb, 2 footy t Aya hy 5 de signe quelconque x20 An+al pee x designe queleongue tun PL primal! sous forme canonique Min we vob =a yt By, 5, +2y,27 Jiehs 20 Noicz comment on est passé mécaniquement au dual pour ce dernier PL eancnique : + Une variable duale y; 2 0 est associée a chaque contrainte / du primal, + Dans Pobjecti fc est remplace par b et le sens de "optimisation est inversé, + Dans tes confraintes, fe second membre b est remplacé par ¢, et < est remplacé par > * La matrice 4 ext transposée. La notion de primal et de dual est relative, car fa transformation peut avoir ticu dans les deux sens : le dual du dual est te primal, 1.7.2 Interprétation économique Reprenons Pinterprésation économique d’wn PY. primal en forme canonique, vue au $12.4 Supposims qu une autre firme B venille racheter les ressources de lentreprise A a moindre ovit, avec un prix unitaire de y; pour ka ressousce 7, A n'acceptéra de vendre qué si, pour chaque activité j, le prix de vente des ressources nécessaines 4 Pexercice de cette activité avce une intensité | est au moins égal au profit unitaire cj aequel elle renoncera. Les pri vptiniaux sont préciséinent solutions du dual suivant, dans lequel la sone dans chaque contrainte jest la somme des prix de vente des ressources pour Mactivité j 20 Programmation linéaire avec Excel Min x why a La dualilé est également ulilisable par la firme qui posséde les biens. Dans le primal, fa valeur optinude d'une variable duale 1, conespond & Pamétioration du profit quand on rebiche lu contrainte ¢ "une unité (c"est-a-dire quand on augmente de } la capacité b, de la ressource 7 pour ung contrainte S, ou quand on la diminuve pour 2). Pour ces raisons, y, est souvent appelé cori réduit, ou marginal, de ta contrainte i, Les économistes sont friands de cette interpnétation. Les variables duales sont des sortes dev colts Popportunité + sugmenter la capacité d'une ressource est une opportunité Pangmenter le profit, et la variable duale est le colt de cette oppartunité non réalisée, Les colts réduits des vontraintes sont és utilises par les décideurs. Heureusement, if n'est pas nécessaire de construire fe dual et de te résoudre : les logiciels commerciaux fournissent pour un PL primal un listing de résaltats avec le codt réduic de chague contrainie, 1.7.3 Propriétés du dual Une présentation compléte de la dualité dépasse le eadre de ee livre, aussi citerons-nous seulement quelques propriétés intésessantes. Les deux promidres ont déja été mentionnées dans les deux paragraphes précédents, + Ledusl du dual est le primal, + Lasolution du dual est égale aux cotits réduits da primal, et vi * tent denne un primal ct son dual, soit les deux problémes ont un optinman fini, soit ils sont tous deux sans solation, soit l'un est sans sofution et autre sans optimum tin * Pour un prima} en maximisation, le cobt d'une solution réalisable est inféricur ou egal au coat d'ine sotution réalisable du dual. Ces curits sont égoux si of seulement si les deux solutions sont opiimates, re Vea. * Pour toute contrainte $ du primal, soit la contrainte est saturée (vérifiée avec éyalité), soit fs variable comespondante du dual est nulle. Pour toute contrainte 2 du dual, soit ta contrainte est samurée, soit la variable associde du primal est autle, La demidre propriété, connue sous le nom de shdvréme dex carts compléntentaires on de relations d’exclusion, est trés utilisée. Intuitivement, dans l'interprétation écononsigue, elle signifie qu'une contrainte non saturée (non vérifige avec égalité a Voptinum) a un cont réduit mul : isée Complement, auginenter sat cxpa ne rapporte rien. Le théoréime peut s’Gerine matricieltement pour les dewx formes classigues d'un PL. Pour un primal canonique et deux solutions optimales x et y* du primal et du dual, on a y*(h-Aw*}=0 et QA o).e*=0. Pour un primal standard, on a toujours (b+ Axty~ 0 grdice aux égalites, la propriété se niduit done & Ged = cle © 0. cite p effet, la ressouree n°étant pas ub Chapitre 1 - Programmation linéaire. 1.7.4 Utilité de fa dualité Outre Minterprétation économique, la dyalité vot tres uitisée en programmation linéaire, notamment pour faciliter les calcuis. Par exemple, un PL avec dix yariables et deux contraintes ne peut pas étre résolu graphiquement, tandis que cela ne pose pas de probléme pour son dual a deax variables et dix conteaintes, Les propriétés permettent aussi aceélérer {a résolution dit PL. dual si on dispose d@ji de la sohition opsimale da prima Voici un petit exemple, avec un PL, primal sous forme canonique et son dual Max 2 Min w= 24y, #17 yy) 42h +15) 1D Syd S24 (8) By FAM ty eH 2) Qnty S17 (HY yey ty e3yB1 GB) H=3y S21 Konan 20 (4) 23x S15 Ray Lalgorithme du simplexe ou une résolution graphique trouve optimum défint par 2 « 11, "6 et xy 5. D'aprés la proprigté 4, on sait dgja que la valeur optimate de Mobjectif dur dual est w= 11, Les contraintes (2) et (3) sont saturées, mais (1) et (4) ne le sont pas. D'aprés fe théoréme des écaris complémentaires, y, et yy sont done nulles, Ensuite, x. et xs sont non nuftes dans le primal, Les contraintes correspondantes (5) et (6) dh dual sont done satarées, Véritiées aver égalité, elles donnent les deux équations 4 deux incennues (7) et (8) qui fournissent fes deux sutres variables duntes Set ys = US. (7) ay @) ype dye Quand on résout un PL par Palgorithme du simplexe, an peut déduire du tableau final une solution optimate du probléme dual, Ceci expliqne «te les logiciels sont capables de fournir la valeur de a variable duale pour chaque contrainte, dans leur fisting de résultats. Cette déduction est facile & expliquer si le PL. de départ avec » variables em contraintes est sous forme canonigue. Le PL mis en forme standard a ane variable 'éeatt par contrainte, indicées de xy) &.xy:m. Sila Heme variable d°éeart x,,, est en base, alors la variable duale de la contrainte # est nulle y,~ 0, Si elle est hors base, son eodit réduit dans fa ligne A est Fopposé de la valeur de y, (ou la valeur dey, en minimisation), Reprenons par exemple le PL déja utilisé dans fe $ 1.3 ei le § 1.5, avec la forme canonique A gauche et 1a formne standard & droite, Max z= x Max 2= 4) # 2%) Atay SO Reb asd Memeo 20 Rappelons fe tebteau final do simplese tel qu’ obtenu a la fin du § 1.5, Programmation linéaire avec Excel yey Les variables d’écart ¥, et x; correspondent aux contraintes 1 et 2 de la forme canonique. Filles ne sont pas en base & Hoptimum, Leurs caiits réduits sur 1a tigne A du tableau sont done respectivement €gaux ain variables duals, mubipliges par -1 car on est en mitximisation 29,7 bet ys 7 | 1.8 Analyse de sensibilité Une question fréquente eonceme les conséquences sur la solution si des données ehangent ‘On peut modifier les données et relancer aigoritime du simplexe, mais, heureusement, ec nest pas tonjours nécessaire, f,’analese de sensibilité consiste a calouier fes intervalles lesquels peut varier un coefficient de cott ¢; ow un second membre &, sans que Poptinum change, Les logiciels ont souveni une commande “Ranze” qui calcule ces intervalles, Les informations fournies ne sont valides que ston fit varier un seal paramétre Changement d'un coefficient de cott ‘Montrons sur an exemple qu'il n'est pas nécessaire de tout recaleuler quand on change un icient de cofit daas la fonction-objectif, Soit le programme linéaire suivant re) Le tableau final du simpiexe est le suivant Base Td 2 3 4 a 3 i 1 to. i 2 0 20 Dans quel intervalle la solution reste-t-elle optimale si on fait varier le coefficient o, de x) 2 La fonction-objectif initiafe, paramétrée par ¢), est 2—¢)2) - 2a, Le tableau final nous donne ‘ans de x) ex, en fonction des variables hors base : hapitre. } ~ Programmation tnéaire~ 23 La fonetion-objectif peut ainsi étre rééerite en fonction des varia qui redonne ta ligne A du tableau, mais paramétrée par 6, : ies hars base xy et ty. Ce pas $6 (Way 4) 2-10-35 FB) =M4(q-)+0 ghey tle doy L fe solution reste optimale si les coits réduits des variables hors base sont négatifs oa mls est le cus si 2 =e $O ele, -45.6, cesticdire sic) [2.4]. Une analyse similaire pour le coefficient de coiit e de x permet de trouver o; € [3-3/2]. Ainsi, si on modifi un seul coefficient a la fois en restam dans sou intervalle, les valeurs optimules de x) et as ae chanigent pas. Bien cotendu, i! faut revaleuter le cout tora Ces informations sont précieuses pour les décideurs. Soit par exemple un aliment pour bétail 4 tencurs garanties en protéines. lipides et gincides, produit & partir de matiéres preinitres comune loige, le sorgho, le soja, ete, Le mélaage de voit minimal est déterming par les cours du jour de ces matiéres. L’analyse de sensibilité permet de préciser pour chaque matiére premidre tes plages de corits dans tesqueties le nudtange reste optimal, Changement d'un second membre Conceptuetiement, il suflit de passer aut dual les variations de seoonds membres da prinsal deviennent des variations de coefficients dans la fonction-objectif. Sans aller aussi foin, et sans chercher 4 optimiser les caleuls, montrons sur exemple préeédent qu'il est possible de trouver sans tdtonner fa plage de variation da premier second membre La base optimale & est formée des cotormes de x, et x2, On ne touche pas au contenu du tableau T et aux coiits, mais fe changement da second membre &, peut rendre la solution de base non rédlisable. En effet, fa solution de base actuelle xy est de la forme xy” AD, et ses cainposanies doivent étre positives ou nulles (cf. § 1.4), D'vit (2-1 1-1) Une analyse de sonsibilité similaire donne pour b, Vintervalle Jo», 5), 1.9 Les algorithmes modernes 1.9.1 Raffinements dans I’algorithme du simplexe L’algorithme du simplexe nécessite de nombreux raffinements pour traiter de fagon rabuste de grands PL. La version simple que nous avous vue, fa forme tableau, a Vinconvénient de prendre trop de place si fa matrice est pet dense (avec beancoup de zéros) et d’accamuler 24 Programmation linéaire avec Excel progressivement des emeurs d’arrondi au cours des pivotages. Elle nécessite aussi te forme sxandaed, avec des contraintes d’égalité, Citons six raftinements des logiciels modomes. Les langages de modéfisation ne sont pas mentionnés ici; ils fort objet du chapitre 3, Le formatage automatique en forme standard ‘On peut mater directement un PL qui mixe des contraintes , > et =, voire des variables non contraintes en signe, Les logiciels modetnes font tee changements névessiines pour se ramener a une forme standard avec variables non negatives, La gestion des cas a problame Les versions modemes du simplexe détectent sans difficulté les PL. & solution non bornée ‘out sans solution, Quand fa base évidente (point O du polyédre} n'est pas disponible, elles calculent une base initiale par une des techniques de variables artificieltes que nous avons exposées (méthades des deux phases ou du grand M). Le contréle de la précision A une iiération n? & da simplexe, on utilise Pinverse BY) de ta matrice de base actuelle BR). AT ke, Vinverse de la nouvelle matrice de base Bie+L) est dédoite par pivotage de Vinverse 1°'(K) de ta base précécente, Ceci est possible car dex matrices de base suecessives ne different que dane colonne, Le prix A payer est une perte progressive de précision av cours des itérations, Cette perte peut éte importante et rapide sur cerlaines matrices trés purticuliéres, dites de Hilbert. La précision peut étre amétiorée en utifisant des formes plus stables de Palgorithme du simplexe (algorithme révisé du simplexe} et en décomposunt les matrices en une matrice triangulaire supérieure et une inférieure (décomposition LLU). Périodiquement, i! fant aussi inverser explicitement Ia inatrice de base actuelle pour purger les erreurs Purrandi La gestion efficace des matrices creuses. Les grands PL rencontrés en pratique sont creux a an moins 90%, e"est-iedire que fours matrices A ont au moins 90% de zéros. TI existe des techniques pour compresser ees matrices de manire & ne stacker que ies éléments on mals. Par exemple, on crée des tistes chainées détéments non nuly dans chaque ligne et chaque colonne, Outre ut gain énorme de place qui permet de traiter en mémwire des PL plus grands, les caleuds sont aecéléts Le prétraitement Cette technique (preprocessing) consiste & rechercher des simplifications cowme par exemple Vélimination de contraintes redondantes ou des changements de variables. Elle pertnet de diminuer notublement la taille du PL foun aux algorithmes de résolution, Variables duales et analyse de sensibilité Les bons logiciels donneat d'embiée dans leurs listings de résultats les variables duales #9800) chaque eontrainte. En général, une commande supptémentaire Raage foumit pour chagae coefficient de coat et chaque second membre Fiutervalle 4 Finteriear duguel optimum reste inchangé. hapitre. } ~ Programmation inéaire- 1.9.2 Les méthodes de points intérieurs Généralités Lealgorithime du simplexe emprinte une suite de sonnets du pot moyenne: le nambre de pivotages est proportionnel pivots Sdre et il ext rapide en nomibee de contraintes 7, et chaque ie cobte de Vordre de om opérations. Klee et Minty [Klee 1972] om trouve des exemples pathologiques of le simplexe visite quasiment tous les sommets, dont fe nombre peut éire énorme (nombre de fagons de choisir mr colonnes parm denis A, soit C’ Cette possibilité théorique de rencontrer des PL faisant “dérailler” Ie simploxe a stimulé des recherches pour un algorithme ayant une complexité polynomiale en mt etn, méme sur Tes pites PL. Le rasse Khachian a trouvé fe premier algorithme de 1979, ta méthode de Fellipsoide [Khachian 1979], Bien que plus rapide que le simplexe sur les problémes de Minty. elle o’a jamais pu s'imposer car, en moyenne, elle est bien plus lente que te simplexe sur des problames réels Karmarkar, des laboratoires ATT, a trouvé ea 1984 wn nonvel algorithme [Karmarkar 1984]. Son temps de caleul dans fe pire des cas est proportionne! an’ 'L, L désignant le nombre de bits néeessaires pour coder en mémoire es tableaux a, b et ¢ définissant fe PI. Cet algorithme est top compliqué pour des calculs & la main, e’est pourquoi nous ne le Uctaillons pas. HH faut seulement retenir qu'il s"agit une méthode de poinis intériesrs, vit ‘on plonge dans le polyédre pour afler plas vite vers te sommet optimal Des dérivés de cet algorithme sont aujourd’hat compéttifS avec fe simplexe. Certains logiciels incluent déja, en plus du simplexe, um algorithme de points intéricurs, Sur certains types de PL, les métbodes de points intérieurs peuvent étte dix fois plus rapides que le simplex, mais il existe encore de nombreux eas of le simplexe reste plus rapide. Le simplexe a encore de beaux jours devant fui, car ila bénstieié de nombeeuses amnéhiorations depuis la veesion initiale de Dantzig en 1947. Un exemple d’algorithme de points intérieurs Lalgorithme suivant est plas simple que la version initigle de Karmarkar. Il 9 ét8 proposé par Adier, Karmarkar, Resende et Veiga [Adler 1989}, 1 travaille sur un PL en forme anonigue (P) et en maximisation, Hl nécessite aussi un point initial x! intériear au polyédre Hh ealcate une suite de points intérieurs x", x', ..., x teRe que b- 4% > Det ca > ent, 2% ~ Programmation linéaire avec Excel Le veoteur v correspond aux variables d’écart pour fa solution actuelle x. Pour caleuler 2, on initialise un tablem: m xn a0, et on copie v sur Ia diagonale. 9° se dédnit de D en, remplagant chaque terme D, — v; de lt diagonale par Je carré de son inverse (1). Le vecteur A est une direction de déplacement. Le réel g est la vaicur du déplacement dans cette direction. Le paramtre p est un facteur de séourité, nombre réel entre 0 et 1 qui limite fe déplacement car, sur des PL velumtineux, on peut sortir du poly@dre 4 cause des erreurs de caleul, Sur de petits PL, on peut prendre sans risque p = 1. Le nouveau point est done x gh. Walgorithine s'arréte qaand fa variation de coiit devient mnféricure & ne limite fixe 2 (10° par exemple} Voici un exemple numérique sur un petit PL a n~ 2 variables et m ~ 4 contraintes Max xyes ny s0 aut 20 La figure 1.4 illustre te polygone défini par ies contraintes, L’optimum est x* = 2,2), avec un colit 2* = 6 (paint K). Figure 1.4 Trajectoire suivie par Vatgerithme En partant du point iniériear ay ~ (1.1) et sams fieteur de sécurité (p = 1), Palgorithme effectue deux itérations if atteimt d’abord le point.» = (2, 1.591), puis x*. Détaillons tes calculs pour la premiére itération uniquement. hapitre. } ~ Programmation tnéaire~ | hee 517.0.897), 2A14,0.621,-1.517,0.138) (sans facteur de sécurité) = 0.659 Fotr =O 591), En Vabstnee de point intéricur initial pour te PL de départ (P), on utilise une méthode en deux phases avec une seule variable artificietle vs, On résout en phase | le PL (OP) suivant dans lequel AY est un grand réel positif et ¢ um vecteur m 21 = (Ly ting Ds Max we cna Moa Axm ery Sb xxy 20 Le veetwur initial x doit Gtre (Jb 1 / f Ae © (les doubles barres désignent In nonne euclidienne), et la valeur initiale de Ia variable artificielle x, est 2.|j 6 - Ax |', Dans ce-cas, le vecteur (x,.x;) est un point intérieur initial pour (P'), L’algorithme de point intérieur applique a (P), mais avee-un test de fin supplemeniaite x, < 0, En fin de phase by si xi <0, alors x est un point intéricur pour (P) > on peut passer A la phase 2 qui consiste a appliquer Falgorithme & (P) avee x comme point initial, Si la phase I se termine sans avoir << 0, alors (P) 1°a pas de solution réatisable Cet.algorithme est assez simple 4 programmer mais nécessite des calouls pénibies 4 la main. UL s‘agit d'une version pédagogique, bien plus lente que Ualgorithme du simptexe et néeessitunt de maltiples raffinements pour Sire aussi rapide, 1.10 Références et complements La progeammation Tingaire donne toujours tiew 4 un ow plusieurs chapitres dans les ouvrages gonérnix sur fi recherche opérstionnelle, comme celui d’Alj et Faare en francais TA 1990} elui de Winston [Winston 1991] en anglais. Des livres entiers hui sont aussi in langue francaise, citons celui de de Werra [de Werra 1990] vt fe petil tivre de Jacquet-Lagrive [Jacquet-Lagreze 1999]. Les titres en langue anglaise sont trés nombreux nous recommandons coux de Chvatal [Chvdtal 1983}, Berisimas and Tsisiklis {lertsimas 1997}, Schrijver [Schrijver 1998}, Vanderbel [Vanderbei 2001), ainsi que ouvrage «és fouillé de Bazaraa er ai. (Bavaraa 2009} Fleury et Lacomme ont publié récemment [Fleury 2010) un livre sur fes concepts avaneés de programmation linéaire, incluant 1s relaxation layrangienne, la génération de eoonnes, la programmation linéaire stochastique et la programmation linéaire multiobjectif, En particulier, les deux demiers sujets sont pour la premiere fois présentés de maniére ubordable dans un ouvrage en francais. 28 — —~ Programmation linéaire avec Excel La programmation non fingaire est souvent ttaitée avec fa programmation linéaire dans des livres genéraux sur Poptimisation, Citons en frangais les livres de Cutioli Culiali 1994] et de Minoux [Minoux 2007], ct ev anglais fes ouvrages de Luenberger [Luenberger 2003] et de Sofer et Nash [Sofer 2008]. t) existe cependant des titres enti¢rement consacrés & la programmation non linéaire : nous recommantdons celar de Bazarva ef al, car il contient de nombreux algorithmes et exemples munériques (Bazaraa 2006). La méthode de points intéricurs du paragraphe 1.9 a été publiée dans un article d’Adler ef al, [Adler 1989]. La roeherche dans ce comaine est tres active : la plupart des numsros de la revue Mashematical Programming eonticnnent un article sur le sujet. H existe un livre tres intéressant et abordable d’Arbe] [Atbel 1993] sur les méthodes de points intériewrs, augue! ext jointe une disquette de logiciels,

You might also like