343
Optimisation appliquée

Optimisation appliquée (statistique et probabilitiés appliquées)

Embed Size (px)

Citation preview

Page 1: Optimisation appliquée (statistique et probabilitiés appliquées)

Optimisation appliquée

Page 2: Optimisation appliquée (statistique et probabilitiés appliquées)

SpringerParisBerlinHeidelbergNew YorkHong KongLondresMilanTokyo

Page 3: Optimisation appliquée (statistique et probabilitiés appliquées)

Optimisationappliquée

Yadolah Dodge

Avec la collaboration de

Sylvie Gonano-Weber et Jean-Pierre Renfer

Page 4: Optimisation appliquée (statistique et probabilitiés appliquées)

ISBN : 2-287-21335-X

© Springer-Verlag France 2005Imprimé en FranceSpringer-Verlag France est membre du groupe Springer Science + Business Media

Cet ouvrage est soumis au copyright. Tous droits réservés, notamment la reproduction et la représentation, la tra-duction, la réimpression, l’exposé, la reproduction des illustrations et des tableaux, la transmission par voie d’enre-gistrement sonore ou visuel, la reproduction par microfilm ou tout autre moyen ainsi que la conservation desbanques données. La loi française sur le copyright du 9 septembre 1965 dans la version en vigueur n’autorise unereproduction intégrale ou partielle que dans certains cas, et en principe moyennant les paiements des droits. Toutereprésentation, reproduction, contrefaçon ou conservation dans une banque de données par quelque procédé que cesoit est sanctionnée par la loi pénale sur le copyright.L’utilisation dans cet ouvrage de désignations, dénominations commerciales, marques de fabrique, etc., même sansspécification ne signifie pas que ces termes soient libres de la législation sur les marques de fabrique et la protec-tion des marques et qu’ils puissent être utilisés par chacun.La maison d’édition décline toute responsabilité quant à l’exactitude des indications de dosage et des modes d’em-plois. Dans chaque cas il incombe à l’usager de vérifier les informations données par comparaison à la littératureexistante.

SPIN: 10994331

Maquette de couverture : Jean-François MONTMARCHÉ

Yadolah DodgeProfesseur HonoraireUniversité de Neuchâtel2002 Neuchâ[email protected]/members/dodgey

Sylvie Gonano-Weber et Jean-Pierre RenferProfesseur de statistique Office Fédéral de StatistiqueHaute École de Gestion Service de méthodes statistiques2002 Neuchâtel 2002 Neuchâtel

Page 5: Optimisation appliquée (statistique et probabilitiés appliquées)

Préface

Cet ouvrage présente les concepts fondamentaux d’optimisation clas-sique et de programmation linéaire. Il est destiné aux étudiants d’éco-nomie, de gestion, d’informatique de gestion et de mathématiquesappliquées. Il s’adresse aussi aux chercheurs de divers domaines dessciences appliquées ainsi qu’aux professeurs qui disposent ainsi d’unsupport pour leur enseignement. Il est conçu pour un cours couvrantun semestre universitaire, à raison de deux heures de cours et de deuxheures de travaux pratiques par semaine. Il nécessite des connais-sances en calcul différentiel et en calcul matriciel.

Ce manuscrit a été imprimé pour la première fois en 1987 avec letitre « Introduction à la programmation linéaire » par les ÉditionsEDES de Neuchâtel. Depuis, il a été complété et amélioré par desannées d’enseignement et d’expériences.

Outre un prologue et un épilogue, l’ouvrage comporte une partie dethéorie mathématique sur le calcul matriciel et les systèmes d’équa-tions et d’inéquations linéaires. Ensuite il traite d’optimisation clas-sique avec et sans contraintes, de programmation linéaire, de laméthode du simplexe et du simplexe révisé. Les derniers chapitressont consacrés à la dualité, à la postoptimisation et analyse de sen-sibilité ainsi qu’aux problèmes de transport. L’accent a été mis surl’explication des méthodes exposées et leur utilisation, en agrémen-tant la théorie de nombreux exemples numériques tirés de diversessituations de la vie économique et sociale. Chaque chapitre se terminepar une série d’exercices illustrant les différents concepts et méthodesétudiés. Les solutions de tous les exercices sont présentées à la finde l’ouvrage. Certains sujets de programmation linéaire, comme parexemple la théorie des graphes ou celle des réseaux, n’ont pas étéabordés dans cet ouvrage. Les personnes intéressées pourront déve-lopper leur connaissance en consultant les ouvrages cités en référence.

Page 6: Optimisation appliquée (statistique et probabilitiés appliquées)

Je tiens à remercier tout particulièrement Sylvie Gonano-Weber etJean-Pierre Renfer qui ont collaboré de manière étroite à la rédac-tion de cet ouvrage. Mes remerciements vont aussi à toutes les per-sonnes ayant participé à l’élaboration de la première édition. Il s’agitde Thierry Gafner qui m’a aidé pour la partie des problèmes de trans-port et d’Alain Weber pour la partie informatique. En ce qui concernela mise au point de cette version, je remercie Thierry Murier pour sarelecture et Christophe Beuret pour l’intégration des programmesMicrosoft Solveur dans ce manuscript. Finalement, j’aimerais remer-cier vivement Anna Serbinenko pour la vérification des corrigés del’ensemble des exercices ainsi que mon fils Arash auquel je dédie cetouvrage.

Neuchâtel, Mars 2004

Yadolah Dodge

vi Préface

Page 7: Optimisation appliquée (statistique et probabilitiés appliquées)

1 Prologue 11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Programmation mathématique . . . . . . . . . . . . . . . . . . 41.3 Les programmes linéaires . . . . . . . . . . . . . . . . . . . . . 5

2 Préliminaires 72.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Logiciel Microsoft Excel . . . . . . . . . . . . . . . . . . . . . 82.3 Les fonctions dans Excel . . . . . . . . . . . . . . . . . . . . . 102.4 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.5 Opérations élémentaires sur les matrices . . . . . . . . . . . . 122.6 Les di érents types de matrices . . . . . . . . . . . . . . . . . 142.7 Trace d’une matrice carrée . . . . . . . . . . . . . . . . . . . . 152.8 Déterminant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.9 Inverse d’une matrice . . . . . . . . . . . . . . . . . . . . . . . 182.10 Calcul de l’inverse d’une matrice carrée . . . . . . . . . . . . . 182.11 Rang d’une matrice . . . . . . . . . . . . . . . . . . . . . . . . 202.12 Transformations élémentaires . . . . . . . . . . . . . . . . . . 212.13 Systèmes d’équations linéaires . . . . . . . . . . . . . . . . . . 222.14 Utilisation de l’outil Solveur . . . . . . . . . . . . . . . . . . . 262.15 Dépendance linéaire . . . . . . . . . . . . . . . . . . . . . . . . 302.16 Bases et espaces vectoriels . . . . . . . . . . . . . . . . . . . . 332.17 Convexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392.18 Inéquations linéaires . . . . . . . . . . . . . . . . . . . . . . . 422.19 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Table des matières

vii

Page 8: Optimisation appliquée (statistique et probabilitiés appliquées)

Table de matières

3 Optimisation classique 513.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.2 Optimisation classique sans contrainte . . . . . . . . . . . . . 523.3 Optimisation classique avec contraintes . . . . . . . . . . . . . 703.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

4 Programmation linéaire 894.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894.2 Problèmes de programmation mathématique . . . . . . . . . . 894.3 Problèmes de programmation linéaire . . . . . . . . . . . . . . 904.4 Les di érents types de solutions d’un problème de program-

mation linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . 1004.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

5 La méthode du simplexe 1115.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1115.2 Formulation du problème . . . . . . . . . . . . . . . . . . . . . 1115.3 Caractérisation des solutions du problème . . . . . . . . . . . 1195.4 Recherche d’une solution optimale . . . . . . . . . . . . . . . . 1225.5 Tableaux du simplexe et procédure de calcul . . . . . . . . . . 1385.6 Recherche d’une solution réalisable de base initiale . . . . . . . 1485.7 La méthode du big M . . . . . . . . . . . . . . . . . . . . . . 1505.8 La méthode des deux phases . . . . . . . . . . . . . . . . . . . 1595.9 Utilisation du Solveur Excel . . . . . . . . . . . . . . . . . . . 1725.10 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

6 Le simplexe révisé 1836.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1836.2 Factorisation de l’inverse d’une matrice . . . . . . . . . . . . . 1846.3 Première formulation . . . . . . . . . . . . . . . . . . . . . . . 1866.4 Deuxième formulation . . . . . . . . . . . . . . . . . . . . . . 1936.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

7 La dualité 2057.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2057.2 Un exemple de programme linéaire dual . . . . . . . . . . . . 205

viii

Page 9: Optimisation appliquée (statistique et probabilitiés appliquées)

Table de matières

7.3 Relations entre le primal et le dual d’un problème de program-mation linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . 208

7.4 Propriétés fondamentales des problèmes de dualité . . . . . . . 2157.5 Interprétation économique des variables duales . . . . . . . . . 2187.6 L’algorithme dual du simplexe . . . . . . . . . . . . . . . . . . 2207.7 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

8 Postoptimisation et analyse de sensibilité 2258.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2258.2 Changements ponctuels parmi les paramètres aij, bj et cj . . . 226

8.2.1 Modification de c en c . . . . . . . . . . . . . . . . . . 2268.2.2 Modification du vecteur des contraintes b en b . . . . 2318.2.3 Modification d’un vecteur hors-base aj en aj . . . . . . 233

8.3 Changements continus parmi les paramètres aij , bj et cj . . . . 2348.3.1 Changement continu de c en c . . . . . . . . . . . . . 2358.3.2 Changement continu de b en b . . . . . . . . . . . . 238

8.4 Changements structurels . . . . . . . . . . . . . . . . . . . . . 2388.4.1 Introduction ou suppression de variables . . . . . . . . 2398.4.2 Introduction ou suppression d’une contrainte . . . . . . 240

8.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

9 Problème de transport 2459.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2459.2 Formulation du problème de transport . . . . . . . . . . . . . 2459.3 Équations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469.4 Exemple illustratif . . . . . . . . . . . . . . . . . . . . . . . . 2479.5 Résolution du problème . . . . . . . . . . . . . . . . . . . . . 2499.6 Boucles et dépendances linéaires . . . . . . . . . . . . . . . . . 2509.7 Recherche de la solution réalisable de base initiale . . . . . . . 2519.8 Remarques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649.9 Optimisation de la solution . . . . . . . . . . . . . . . . . . . . 2659.10 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

10 Épilogue 27510.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27510.2 Algorithme de Khachian . . . . . . . . . . . . . . . . . . . . . 278

10.2.1 L’algorithme de la méthode de Khachian pour IL . . . 28010.2.2 Interprétation graphique . . . . . . . . . . . . . . . . . 285

ix

Page 10: Optimisation appliquée (statistique et probabilitiés appliquées)

Table de matières

10.2.3 L’algorithme de Shor-Khachian en programmation linéaire28810.3 Algorithme de Karmarkar . . . . . . . . . . . . . . . . . . . . 29410.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

11 Solutions des exercices 29911.1 Chapitre 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29911.2 Chapitre 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30311.3 Chapitre 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30711.4 Chapitre 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31011.5 Chapitre 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31411.6 Chapitre 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31511.7 Chapitre 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31611.8 Chapitre 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

x

Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

Page 11: Optimisation appliquée (statistique et probabilitiés appliquées)

Chapitre 1

Prologue

1.1 Introduction

Dans une économie caractérisée par la raréfaction des ressources naturelles,une diminution des sources de financement et une concurrence toujours plusvive entre les entreprises, la répartition optimale de moyens limités entre lamultitude des besoins devient la tâche principale des responsables politiqueset économiques de notre société. Ce problème se retrouve dans tous lesdomaines de l’activité économique, politique, scientifique et sociale.

En gestion de la production, il s’agit, par exemple, de définir une politiqued’approvisionnement, d’adapter la production à la demande, de déterminerles niveaux de stocks. En gestion financière, il faut procéder au choix desinvestissements et définir un programme d’amortissements. En marketing,il est nécessaire d’établir un réseau de représentants, de choisir un supportpublicitaire.

En raison de l’ampleur des enjeux décisionnels, le décideur ne peut plusprendre de décisions hâtives et justifier un choix d’attribution fondé sur unraisonnement instinctif ou des calculs naïfs. Une bonne résolution de ce typede problèmes nécessite la connaissance de méthodes approuvées ainsi que lamaîtrise des outils mathématiques et informatiques développés à cet e et.

Les méthodes proposées pour résoudre les problèmes évoqués ci-dessussont nombreuses, mais elles peuvent toutes se résumer à l’énoncé mathémati-que suivant, à savoir maximiser ou minimiser une fonction numérique devariables soumises à diverses contraintes.

1

Page 12: Optimisation appliquée (statistique et probabilitiés appliquées)

2 Prologue

Soit f(x) = f(x1, . . . , xn) une fonction di érentiable de n variables àvaleurs réelles. Nous désirons trouver x tel que f(x ) f(x), pour tout x.Dans ce cas, on dit que f possède unminimum global en x . Les variablesnotées en caractères gras représentent des vecteurs à n composantes.On dit que la fonction f(x) possède unminimum local en x0 s’il existe

un , > 0, tel que pour tout x au -voisinage de x0, f(x0) f(x).

Remarque 1.1 Un point x appartient au -voisinage de x0 si xi ]x0i, x0i + [ pour tout i = 1, . . . , n.

La méthode d’optimisation classique nous permet de déterminer des min-ima locaux en utilisant les dérivées partielles de f . Du calcul di érentiel,nous trouvons que si f est di érentiable et possède un minimum local aupoint x0, alors x0 doit être une solution à l’ensemble des n équations :

f(x)

xj= 0, j = 1, . . . , n (1.1)

Exemple 1.1 Si f(x) est une fonction de deux variables x1 et x2, le mini-mum local x0, s’il existe, est une solution des deux équations :

f(x)

x1= 0 et

f(x)

x2= 0

Dans ce cas, j = 1, 2.

Ce résultat est également vrai pour une définition analogue du maximumlocal. Cette méthode est connue sous le nom de méthode d’optimisationsans contrainte.Lorsqu’il y a des contraintes, il faut résoudre le problème à l’aide des mul-

tiplicateurs de Lagrange. Supposons qu’il y ait un ensemble de contraintesde la forme: gi(x) = bi, i = 1, . . . ,m

Nous pouvons alors écrire la fonction de Lagrange comme suit :

F (x, ) = f(x) +m

i=1

i[bi gi(x)] (1.2)

où = ( 1, . . . , m) est un vecteur de nombres réels.

Page 13: Optimisation appliquée (statistique et probabilitiés appliquées)

1.1. Introduction 3

Si f(x) atteint un minimum local au point x0, alors il existe un vecteurtel que :

f(x0)

xj

m

i=1

igi(x0)

xj= 0, j = 1, . . . , n

etgi(x0) = bi, i = 1, . . . ,m (1.3)

Exemple 1.2 Considérons le cas d’une fabrique d’acier engagée dans la pro-duction de plaques de métal et utilisant dans son processus de fabrication desmatériaux recyclés. Le métallurgiste responsable désire prévoir la productiond’acier en fonction des matériaux recyclés employés.

Soient Yi la production en tonnes à la ième fusion et xij le jème type demétal utilisé dans la ième fusion, sachant que i = 1, . . . , n et j = 1, . . . , p.Le métallurgiste sait que le produit final est une fonction linéaire des

matériaux entrés (inputs). Donc, il fait l’hypothèse d’un modèle linéairepour prévoir la production finale qui est :

Y =X +

où Y = (Y1, . . . , Yn),X = (xij), est un terme d’erreurs aléatoires etdénote le paramètre inconnu qui doit être estimé. Pour l’estimation de , ilutilise la méthode des moindres carrés, c’est-à-dire qu’il désire minimiser :

f( ) = (Y X ) (Y X ) (1.4)

Soulignons que cette fonction est di érentiable et qu’il s’agit d’un prob-lème d’optimisation sans contrainte. En annulant les dérivées partielles, nousobtenons les célèbres équations normales de l’analyse de régression sous laforme :

2X Y + 2X Xˆ = 0

ou

X Xˆ =X Y

Page 14: Optimisation appliquée (statistique et probabilitiés appliquées)

4 Prologue

Si nous supposons que XX est de rang plein, alors ˆ est la solutionunique à (1.4) et

ˆ = (X X) 1X Y

Cependant, lorsque le métallurgiste débouche sur cette solution, il peutêtre amené à la refuser si certains ˆj sont négatifs, par exemple. En e et,il a à l’esprit certaines restrictions posées sur . Généralement, les produitsfinis (en tonnes) sont plus petits ou égaux aux matériaux entrés car despertes surviennent lors de la fusion. Il faut donc introduire ces restrictionssupplémentaires sur , c’est-à-dire :

0 j 1, j = 1, 2, . . . , p

Supposons que nous désirons résoudre ce problème avec de telles con-traintes par la méthode classique. Le problème est alors :

trouver , tel que f( ) f( ) pour tout F oùF = { | 0 j 1, j = 1, . . . , p}

De tels problèmes sont en général di ciles à résoudre et nécessitent beau-coup de travail pour en déterminer le minimum global. Le lecteur intéressépeut se référer à Arthanari et Dodge (1993) pour plus de détails.

1.2 Programmation mathématique

Un problème de programmation mathématique peut s’énoncer de la manièresuivante :

trouver un x F tel que f(x ) f(x) pour tout x F

Ici F est appelé ensemble réalisable. Si F est donné comme sous-ensemble de Rn, nous obtenons alors le problème de programmation nonlinéaire suivant :

trouver un x F tel que f(x ) f(x), pour tout x Foù F = {x | gi(x) bi, i = 1, . . . ,m; x 0}

Page 15: Optimisation appliquée (statistique et probabilitiés appliquées)

1.3. Les programmes linéaires 5

Ici f est appelée fonction objectif (fonction économique) et gi(x)bi, i = 1, . . . ,m sont les contraintes ; gi est une fonction à valeurs réellesdéfinie sur F , et x 0 est appelée contrainte de non négativité. On peutégalement énoncer le même problème comme suit :

Minimiser f(x)

sous contraintes gi(x) bi i = 1, . . . ,m

x 0 (1.5)

Remarque 1.2 Il est particulièrement aisé de travailler avec une variable xjsans restriction de signe, en remplaçant xj par la di érence de deux variablesnon négatives. De même, des contraintes d’égalité peuvent être remplacéespar deux contraintes d’inégalité. Des problèmes classiques sans contrainte etdes problèmes avec contraintes d’égalité peuvent alors être considérés commedes cas particuliers de ( .5).

Remarque 1.3 Lorsque la fonction objectif f(x) et les contraintes gi(x)sont linéaires, nous sommes en présence d’un problème de programmationlinéaire. De plus, si on impose à toutes les variables du programme d’avoirdes valeurs entières à l’optimum, nous sommes en présence d’un problèmede programmation linéaire en variables “entières” ou en nombres entiers.

Les problèmes de programmation mathématique ont retenu l’attentionde chercheurs en mathématiques, en économie et en recherche opérationnellependant plus de cinq décades. De plus, l’accent a été mis sur la résolutionde certains problèmes en vue de trouver des méthodes e caces, adaptablesaux ordinateurs. Certains problèmes, comme ceux dans lesquels la fonctionobjectif et les contraintes sont linéaires, ont été entièrement étudiés et peu-vent être résolus aujourd’hui par des méthodes relativement e caces. Demême, les problèmes dans lesquels les solutions doivent être uniquement descomposantes entières ont bénéficié d’une attention considérable de la partdes chercheurs.

1.3 Les programmes linéaires

Les problèmes de programmation ont pour objectif l’allocation optimale deressources limitées afin d’atteindre des objectifs donnés. Les contraintes peu-vent être d’origines très variées ; par exemple, elles peuvent être imposées

Page 16: Optimisation appliquée (statistique et probabilitiés appliquées)

6 Prologue

par les conditions du marché ou par celles de la production. Elles peuventégalement provenir de la limitation du volume de stockage disponible ou dela quantité de matières en réserve. Il peut exister un grand nombre d’al-locations admissibles, mais le but est d’en déterminer une ou plusieurs quimaximisent ou minimisent des quantités telles que les profits ou les coûts.Les problèmes de programmation cherchent à déterminer la meilleure

solution possible sous certaines contraintes. En particulier, ils évoquent dessituations où un grand nombre de ressources telles que la main d’oeuvre,les machines et diverses matières disponibles doivent être combinées afind’obtenir des produits de toute nature.Par exemple, certains produits chimiques peuvent être fabriqués grâce

à des combinaisons variées de matières. Les produits obtenus sont ensuitesoumis à di érents traitements. Il faut, pour réaliser un programme optimal,considérer simultanément toutes les combinaisons possibles.Comme nous l’avons déjà indiqué auparavant, la programmation linéaire

est un cas particulier d’un très vaste domaine : la programmation mathémati-que. La programmation linéaire concerne une catégorie de problèmes deprogrammation mathématique, où la fonction objectif et les contraintes sontlinéaires.Les éléments de mathématiques de base, tels que le calcul matriciel et la

convexité seront présentés dans le chapitre 2. Le chapitre 3 sera consacré àl’optimisation classique avec ou sans contraintes.Le chapitre 4 traitera de programmation linéaire. Le sujet du chapitre 5

sera le développement théorique de la méthode du simplexe et le chapitre 6présentera la méthode du simplexe révisé. Dans le chapitre 7 nous étudieronsla théorie de la dualité et son développement puis, dans le chapitre 8, quelqueséléments d’analyse de sensibilité. Finalement, nous traiterons des problèmesde transport dans le chapitre 9.

Page 17: Optimisation appliquée (statistique et probabilitiés appliquées)

Chapitre 2

Préliminaires

2.1 Introduction

Dans de nombreux domaines de l’économie, les di érentes variables sont re-liées entre elles par des équations linéaires. Le calcul matriciel fournit unenotation claire, précise et concise pour formuler et résoudre de tels problèmes,qui seraient la plupart du temps trop compliqués à résoudre de manière al-gébrique. Dans cette optique, l’utilisation de moyens informatiques permetun gain de temps considérable, notamment grâce à des logiciels tels queSTAN, Lindo, Mathematica, Excel, Lotus et bien d’autres encore. Dansce chapitre, nous présentons les bases de l’utilisation du logiciel MicrosoftExcel, en particulier, les fonctions matricielles et l’outil Solveur. Nousdéfinissons la notion de matrice, terme introduit dans un article publié en1842 par le mathématicien allemand Otto Hesse (1811-1874), à qui l’on doitnotamment le développement de la théorie des fonctions algébriques ainsique celle des invariants. Nous étudions ensuite les opérations possibles surles matrices, ainsi que les règles permettant de trouver les solutions d’un sys-tème d’équations linéaires, avant de développer la résolution d’un tel systèmeavec Excel. Enfin, nous présentons les notions de vecteurs, d’espaces vecto-riels, de convexité et d’inéquations linéaires. Pour conclure, nous donnonsune application économique en utilisant un modèle aléatoire simple.

7

Page 18: Optimisation appliquée (statistique et probabilitiés appliquées)

8 Préliminaires

2.2 Logiciel Microsoft Excel

Le logiciel Microsoft Excel est un tableur qui se présente sous la forme d’unclasseur composé de feuilles de calcul. Chaque feuille de calcul est un tableaurectangulaire dont les lignes sont identifiées par des nombres et les colonnespar des lettres. Chaque cellule du tableau est donc identifiée par la ligne etla colonne à laquelle elle appartient. On délimite une plage rectangulaire decellules par le couple de cellules constitué de la première cellule en haut àgauche et de la dernière en bas à droite.

Figure 2.1 : Sélection de la plage (A1 :B5)

Une cellule de feuille de calcul Excel peut contenir du texte, un nombre,une formule ou faire référence à une autre cellule ou groupe de cellules. Il estpossible d’attribuer un nom à une cellule ou à un groupe de cellules ; il su talors de citer ce nom sans qu’il soit nécessaire de se souvenir de l’emplacementde cette cellule ou de ce groupe de cellules. Ce nom peut contenir jusqu’à255 caractères, mais ne doit pas commencer par un chi re ; d’autre part,les caractères spéciaux tels que !{+*-/@<>&# ne peuvent pas être utilisés.Nous verrons au point 2.5 qu’il est parfois nécessaire d’attribuer un nom.Pratiquement, la façon la plus simple de procéder est la suivante (voir aussiFigure 2.2) :

Page 19: Optimisation appliquée (statistique et probabilitiés appliquées)

2.2. Logiciel Microsoft Excel 9

1. sélectionner la ou les cellules à nommer ;

2. cliquer avec la souris sur Nom dans le menu Insertion ;

3. choisir l’option Définir et taper le nom dans la boîte de dialogue.

Figure 2.2 : Définir un nom pour la plage de cellules sélectionnées.

Il est parfois utile et plus rapide d’attribuer des noms déjà saisis au-dessus,au-dessous, à gauche ou à droite des cellules ; tout particulièrement s’il y aplusieurs cellules à nommer et lorsque le résultat présenté est un tableau àdouble entrée, la procédure devient alors :

1. taper les noms à donner sur la ligne supérieure ou dans la colonne degauche ;

2. sélectionner la ou les cellules à nommer ;

3. cliquer avec la souris sur Nom dans le menu Insertion ;

4. choisir l’option Créer et sélectionner l’emplacement des noms dans laboîte de dialogue (Figure 2.3).

Page 20: Optimisation appliquée (statistique et probabilitiés appliquées)

10 Préliminaires

Figure 2.3 : Boîte de dialogue ”Créer des noms”.

2.3 Les fonctions dans Excel

Outre les opérations mathématiques élémentaires, Excel est doté de nom-breuses fonctions mathématiques, statistiques, financières et logiques. Lorsqu’unefonction est placée dans une cellule, elle commence toujours par le signe “=”.Il existe deux solutions pour saisir une fonction : soit en la tapant directe-ment dans la cellule, ce qui suppose que l’on en connaît la syntaxe exacte,soit en utilisant l’assistant de fonction (Figure 2.4) en cliquant sur Fonctiondans le menu Insertion.

Figure 2.4 : Boîte de dialogue de l’assistant fonction

Page 21: Optimisation appliquée (statistique et probabilitiés appliquées)

2.4. Matrices 11

Il est souvent plus intéressant d’utiliser des formules qui e ectuent desopérations sur des nombres contenus dans un groupe de cellules. La Figure2.5 explique ainsi comment élever tous les nombres de la colonne A à lapuissance contenue dans la cellule B1. Noter que la référence B1 est précédéedu signe $, pour qu’elle ne soit pas modifiée en recopiant la formule vers lebas (en cliquant et en tirant avec la souris la poignée de recopie).Grâce à cette manière de procéder, même si le contenu des cellules change,

le résultat est automatiquement modifié. D’autre part, il est possible decombiner les di érentes fonctions d’Excel entre elles.

Figure 2.5 : En tirant la poignée de recopie jusqu’à la cellule B6,le calcul est automatiquement e ectué.

2.4 Matrices

Une matrice est un tableau rectangulaire de nombres réels pouvant se repré-senter de la manière suivante :

A = (aij) =

a11 a12 . . . a1na21 a22 . . . a2n...

.... . .

...am1 am2 . . . amn

Les termes représentés dans le tableau constituent les éléments de la ma-trice. Ces éléments, notés aij, sont caractérisés par leur valeur et leur posi-tion. L’indice de ligne i et l’indice de colonne j indiquent la position d’un

Page 22: Optimisation appliquée (statistique et probabilitiés appliquées)

12 Préliminaires

élément dans la matrice. Ainsi, l’élément aij se trouve dans la ième ligne etla jème colonne. Une matrice composée de m lignes et n colonnes est dited’ordre (m×n). Une matrice d’ordre (m×1) est appelée vecteur-colonne,tandis qu’une matrice d’ordre (1× n) est appelée vecteur-ligne. Une ma-trice dont le nombre de lignes est égal au nombre de colonnes est une matricecarrée d’ordre n.Dans le logiciel Excel, tout groupe de cellule formant un tableau rectangu-

laire peut être considéré comme une matrice. La plupart des opérations surles matrices peuvent être e ectuées directement en utilisant l’Assistant fonc-tion. Pour valider une fonction matricielle, il su t de presser simultanémentles touches Ctrl, Shift et Enter.

2.5 Opérations élémentaires sur les matrices

• Addition de matrices

Si A = (aij) et B = (bij) sont deux matrices d’ordre (m×n), leur sommeA + B est définie par la matrice C = (cij) d’ordre (m × n), dont chaqueélément est la somme des éléments correspondants de A et B :

C = (cij) = A+B = (aij + bij)

Ainsi, l’addition se fait terme à terme.

• Multiplication d’une matrice par un scalaire

Si est un scalaire et A une matrice, le produit A s’obtient en multi-pliant chaque élément de A par : A = (aij) = ( aij).

• Multiplication de matrices

Soient A et B deux matrices, le produit AB est défini si et seulement sile nombre de colonnes de A est égal au nombre de lignes de B. SiA est d’ordre (m × p) et B d’ordre (p × n) alors le produit AB est définipar la matrice C d’ordre (m× n) dont les éléments sont obtenus par :

cij =

p

k=1

aikbkj i = 1, . . . ,m et j = 1, . . . , n

Page 23: Optimisation appliquée (statistique et probabilitiés appliquées)

2.5. Opérations élémentaires sur les matrices 13

Exemple 2.1 A =1 0 24 1 0

et B =2 01 53 0

La fonction à utiliser dans Excel est PRODUITMAT. Une fois que lesdeux matrices ont été saisies, il faut sélectionner une plage de cellules dedimension appropriée. La figure 2.6 représente la feuille de calcul correspon-dante ainsi que l’Assistant de fonction lors de la dernière étape précédant lavalidation du résultat.

Figure 2.6 : Multiplication de matrices sur Excel.

À noter que AB = BA; en e et, on voit dans la Figure 2.7 que lesrésultats sont di érents.

Figure 2.7 : Résultats de AB et de BA

Page 24: Optimisation appliquée (statistique et probabilitiés appliquées)

14 Préliminaires

La multiplication matricielle n’est pas commutative : AB = BA, engénéral.Lorsque AB = BA, on dit que les matrices A et B commutent. Dans

ce cas, on écrit A B .

• Transposée d’une matrice

La transposée d’une matrice A(m×n) est définie comme une nouvelle ma-trice, notée A (n×m). Elle a pour colonnes les lignes de A et pour lignes lescolonnes de A : A = (aij) = (aji).La fonctionTRANSPOSE permet d’obtenir rapidement le résultat souhaité

dans Excel. Elle s’utilise comme les autres fonctions matricielles, en sélec-tionnant la plage de destination et en appelant l’Assistant fonction.

Exemple 2.2 La matriceA d’ordre (2×3) et sa transposéeA d’ordre (3×2)calculée avec Excel.

A =2 4 03 1 8

2.6 Les di érents types de matrices

• Matrice nulleLa matrice nulle, notée 0 n’est composée que de 0.

• Matrice identitéIl s’agit d’une matrice carrée contenant le chi re 1 sur la diagonaleprincipale et des 0 partout ailleurs. Elle est notée I.

• Matrice symétriqueIl s’agit d’une matrice A carrée telle que A = A .

• Matrice anti-symétriqueIl s’agit d’une matrice A carrée telle que A = A . Une matriceanti-symétrique comporte des 0 sur sa diagonale principale.

Page 25: Optimisation appliquée (statistique et probabilitiés appliquées)

2.7. Trace d’une matrice carrée 15

• Matrice scalaireIl s’agit d’une matrice A carrée telle que :

aij = si i = j

aij = 0 si i = j

• Matrice diagonaleIl s’agit d’une matrice A carrée telle que :

aij = dij si i = j

aij = 0 si i = j

• Matrice triangulaire supérieureIl s’agit d’une matrice A carrée telle que :

aij = 0 pour i > j

2.7 Trace d’une matrice carrée

Définition 2.1 La trace d’une matrice carrée A est la somme des élémentsde la diagonale principale :

Tr(A) =n

i=1

aii

2.8 Déterminant

À chaque matrice carrée A, on associe un nombre appelé déterminant quel’on note dét(A) ou simplement | A |.Pour définir le déterminant d’une matrice carrée A d’ordre n, on com-

mence par choisir n éléments aij en prenant un seul élément par ligne et parcolonne pour en faire le produit.

Page 26: Optimisation appliquée (statistique et probabilitiés appliquées)

16 Préliminaires

On peut procéder à ce choix de la manière suivante: on conserve dans leurordre naturel les indices de ligne et on opère une permutation quelconque desindices de colonne

a1j1a2j2 . . . anjn

On multiplie ensuite ce produit par (j), c’est-à-dire par 1 si la permuta-tion est paire et par 1 si la permutation est impaire.En procédant de même pour toutes les permutations et en sommant tous

ces produits, on obtient le déterminant de A.

Définition 2.2 On définit le déterminant comme suit :

| A |=(j)

(j)a1j1a2j2 . . . anjn

Le symbole (j) signifie que la somme est calculée sur toutes les permu-tations.

Exemple 2.3 Pour une matrice d’ordre 3, on a :

Permutations Nombre d’inversions Parité1,2,3 0 paire2,3,1 2 paire3,1,2 2 paire1,3,2 1 impaire2,1,3 1 impaire3,2,1 3 impaire

Ainsi :

| A | = a1(1)a2(2)a3(3) + a1(2)a2(3)a3(1) + a1(3)a2(1)a3(2)

a1(1)a2(3)a3(2) a1(2)a2(1)a3(3) a1(3)a2(2)a

La définition du déterminant qui a été donnée s’appelle l’expansion parles lignes (indices de ligne fixés dans leur ordre naturel).On peut tout aussi bien fixer les indices de colonnes dans leur ordre

naturel et opérer les permutations sur les indices de ligne.On obtient le même résultat du déterminant en faisant une expansion par

les colonnes. Ainsi | A |=| A | .

Page 27: Optimisation appliquée (statistique et probabilitiés appliquées)

2.8. Déterminant 17

Ce résultat très important provient du fait que tous les résultats sur leslignes de A seront également valables pour les colonnes de A.Appliquons ce résultat à un exemple numérique résolu avec Excel (Figure

2.8). La fonction qui calcule le déterminant s’appelle DETERMAT. Il fautse placer dans la cellule de destination, choisir la fontion DETERMATdans l’Assistant fonction et sélectionner la plage de cellules correspondant àla matrice A.

Soit A =2 3 10 6 41 2 2

Figure 2.8 : Calcul du déterminant de la matrice A

• L’expansion du déterminant par les cofacteursReprenons le déterminant de la matrice A ci-dessus :

a11a22a33 + a12a23a31 + a13a21a32(a11a23a32 + a12a21a33 + a13a22a31)

Considérons maintenant les deux termes qui contiennent l’élément

a11 : a11a22a33 a11a23a32 que nous pouvons écrirea11 (a22a33 a23a32)

Les termes entre parenthèse représentent le cofacteur de l’élément a11.On notera qu’il ne contient aucun élément de la première ligne ni de lapremière colonne. Nous représentons le cofacteur de a11 par A11.Considérons maintenant les deux termes du déterminant contenant le2e élément de la première ligne A :

a12a23a31 a12a21a33 = a12 (a23a31 a21a33)= a12A12

Page 28: Optimisation appliquée (statistique et probabilitiés appliquées)

18 Préliminaires

De même, pour le troisième élément de la première ligne de A :

a13a21a32 a13a22a31 = a13 (a21a32 a22a31)= a13A13

Notons que tous les termes du déterminant ont été utilisés. Nous pou-vons donc écrire :

|A| = a11A11 + a12A12 + a13A13 =3

j=1

aijAij

Le même raisonnement peut être répété pour toutes les lignes et colonnesde A. Le cofacteur Aij de l’élément aij est égal au déterminant de lasous-matrice obtenue à partir de la matrice originale lorsque l’on aéliminé la ième ligne et la jème colonne, multiplié par ( 1)i+j .

2.9 Inverse d’une matrice

Définition 2.3 Soit A et B deux matrices du même ordre. B est l’inversede A si et seulement si :

AB = BA = I.

Résultat 2.1 Soit A une matrice carrée. Si AB = I et CA = I, alorsB = C (l’inverse à droite et à gauche sont identiques).

On note l’inverse d’une matrice A par A 1.

Résultat 2.2 SiA est inversible (c’est-à-dire possède un inverse), alors l’in-verse est unique.

2.10 Calcul de l’inverse d’une matrice carrée

Nous avons vu précédemment qu’à chaque élément aij de la matrice A cor-respond un cofacteur Aij. Nous pouvons dès lors former la matrice des co-facteurs (Aij). Cette matrice sera notée Ac.

Page 29: Optimisation appliquée (statistique et probabilitiés appliquées)

2.10. Calcul de l’inverse d’une matrice carrée 19

La transposée de cette matrice est appelée matrice adjointe et notée Aa.

Aa = (Ac) = (Aij) =

A11 A21 . . . An1A12 A22 . . . An2...

.... . .

...A1n A2n . . . Ann

Le produit AAa est une matrice dont l’élément de la ième ligne et jème

colonne est :n

k=1

aikAkj =n

k=1

aikAjk

Or, le résultat 2.2 nous montre que :

n

k=1

aikAjk = 0 si i = j

Par conséquent, tous les éléments hors de la diagonale principale de AAa

sont nuls. Les éléments de la diagonale principale sont donnés par :

n

k=1

aikAik =| A |

Ainsi :AAa =| A | I

Si | A |= 0, on obtient :

A1

| A |Aa = I

et puisque l’inverse est unique :

A 1 =1

| A |Aa

À noter que l’inverse de A existe si et seulement si :

| A |= 0

Dans ce cas, A est dite non-singulière.

Page 30: Optimisation appliquée (statistique et probabilitiés appliquées)

20 Préliminaires

• Marche à suivre pour inverser une matrice

1. Calculer | A | ; si | A |= 0, l’inverse n’existe pas !

2. Pour chaque élément de A, calculer son cofacteur.

3. Construire la matrice adjointe : (Ac) = Aa.

4. A 1 s’obtient en divisant chaque élément de Aa par le déterminant deA :

A 1 =1

| A |Aa

Le logiciel Excel contient une fonction permettant d’inverser une matrice(Figure 2.9). Il s’agit de la fonction matricielle INVERSEMAT, que l’onactive en sélectionnant une plage de cellule de dimension égale à la matriceà inverser et que l’on valide avec les touches Ctrl + Shift + Enter.

Soit la matrice A =2 0 10 1 03 0 2

Figure 2.9 : Matrice A et son inverse.

2.11 Rang d’une matrice

Avant d’introduire la notion de rang d’une matrice, rappelons qu’une sous-matrice de A est une matrice obtenue de A en éliminant un certain nombrede lignes et de colonnes.La plus grande sous-matrice est la matriceA elle-même tandis que la plus

petite n’est composée que d’un seul élément de A.

Remarque 2.1 L’ordre maximum d’une sous-matrice carrée d’une matriceA d’ordre m× n est égal au plus petit des entiers m et n.

Page 31: Optimisation appliquée (statistique et probabilitiés appliquées)

2.12. Transformations élémentaires 21

Soit r un nombre entier tel que r min(m,n).Le rang d’une matrice A d’ordre (m× n) est égal à r s’il existe au moins

une sous-matrice carrée d’ordre r qui est non-singulière et si toutes les sous-matrices carrées d’ordre supérieur à r sont singulières.

Définition 2.4 Le rang d’une matrice est égal à l’ordre de la plus grandesous-matrice carrée non-singulière.

Dans le cas d’une matrice nulle, on dit que le rang est zéro. Lorsque lerang r d’une matrice est maximal : r = min(m,n) ; la matrice est dite derang plein.

2.12 Transformations élémentaires

Il est évident que le calcul du rang d’une matrice peut être une opération trèslongue. Prenons le cas d’une matrice carrée d’ordre n. Nous devons d’abordcalculer le déterminant de la matrice. S’il est di érent de zéro, le rang dela matrice est n, mais s’il est égal à zéro, il faut calculer le déterminant dessous-matrices d’odre (n 1) . Or, il y en a n2. Et si toutes ces sous-matricesont un déterminant nul, il faut passer aux sous-matrices d’ordre (n 2) etainsi de suite. C’est pour cette raison que nous allons voir une méthode quifacilite la détermination du rang d’une matrice. Cette méthode se base surles transformations élémentaires.Il y a trois sortes de transformations élémentaires :

1. Echange de deux lignes (colonnes) de la matrice.

2. Multiplication de tous les éléments d’une ligne (colonne) de la matricepar la même constante (di érente de zéro).

3. Addition aux éléments d’une ligne de la matrice un multiple quelconquedes éléments correspondants d’une autre ligne (idem pour les colonnes).

Ces transformations élémentaires ne changent pas le rang de la matrice.Ainsi, nous allons utiliser ces transformations pour réduire une matrice A àsa forme normale. SiA est une matrice d’ordre (m× n) , sa forme normale

Page 32: Optimisation appliquée (statistique et probabilitiés appliquées)

22 Préliminaires

est la suivante :

r

m r

1 0 · · · 0 0 · · · 00 1 · · · 0 0 · · · 0....... . .

....... . .

...0 0 · · · 1 0 · · · 00 0 · · · 0 0 · · · 0....... . .

....... . .

...0 0 · · · 0 0 · · · 0

=I 0

0 0

Le rang de cette matrice est r, car la plus grande sous-matrice non-singulière est d’ordre r.

2.13 Systèmes d’équations linéaires

Un système d’équations linéaires peut s’écrire sous la forme générale :

a11x1 + a12x2 + . . . + a1nxn = b1a21x1 + a22x2 + . . . + a2nxn = b2...

......

...am1x1 + am2x2 + . . . + amnxn = bm

Ce système peut s’écrire de façon beaucoup plus concise sous forme ma-tricielle :

Ax = b

oùA est la (m×n) matrice des coe cients, x le (n×1) vecteur des inconnueset b le (m× 1) vecteur des constantes (également appelé second membre).La terminologie adoptée dans ce paragraphe est la suivante : on appelle

matrice augmentée la matrice A à laquelle on a ajouté le vecteur b et onla note (A | b). On appelle solution du système l’ensemble des valeursx1, x2, . . . , xn qui satisfait simultanément les m équations du système.Un système d’équations est dit équivalent à un autre système si toutes

les solutions du premier système sont les mêmes que celles du deuxième etinversement.

Résultat 2.3 Les trois opérations élémentaires (décrites dans le paragraphe2. 2) appliquées aux lignes de la matrice augmentée fournissent un systèmed’équations équivalent.

Page 33: Optimisation appliquée (statistique et probabilitiés appliquées)

2.13. Systèmes d’équations linéaires 23

Exemple 2.4 Soit à résoudre le système d’équations linéaires :

2x1 + 3x2 = 85x1 + 7x2 = 19

La matrice augmentée s’écrit :

(A | b) =2 3 8

5 7 19

Appliquons les opérations élémentaires sur les lignes de cette matrice demanière à obtenir la matrice identité dans la partie non-augmentée.

2 3 8

5 7 19

1

2L1

1 32

4

5 7 19L2 5L1

1 32

4

0 12

1( 2)L2

1 324

0 1 2L1

3

2L2

1 0 1

0 1 2

Le système d’équations ainsi obtenu est équivalent à celui de départ ets’écrit :

1x1 + 0x2 = 10x1 + 1x2 = 2

D’où la solution immédiate : x1 = 1 et x2 = 2.Cependant, il n’est pas toujours possible de procéder ainsi ; en e et, nous

n’avons pu obtenir une matrice identité dans la partie non-augmentée queparce que la solution à ce système d’équations était unique.Un système d’équations peut avoir une solution unique, une infinité de

solutions ou aucune solution. Dans ce dernier cas, on dit que le système estincompatible. Si un système d’équations a au moins une solution, il est ditcompatible.Le résultat 2.4 nous indique sous quelle condition un système est com-

patible.

Page 34: Optimisation appliquée (statistique et probabilitiés appliquées)

24 Préliminaires

Résultat 2.4 Un système de m équations à n inconnues est compatible siet seulement si :

r(A) = r(A | b)

En e et, par des opérations élémentaires sur les lignes de la matrice aug-mentée, on aboutit au système d’équations équivalent suivant:

1 0 . . . 0 a1(r+1) . . . a1n b10 1 . . . 0 a2(r+1) . . . a2n b2....... . .

......

......

0 0 . . . 1 ar(r+1) . . . arn br0 0 . . . 0 0 . . . 0 br+1......

......

......

......

0 0 . . . 0 0 . . . 0 bm

où la notation aij, bi indique que les valeurs de aij et bi ont été modifiées parces opérations élémentaires.Le rang de cette matrice sans la dernière colonne est r.Si br+1 = br+2 = ... = bm = 0, le rang de la matrice augmentée correspond

également à r et le système est compatible.En revanche, si l’une de ces valeurs est non nulle (par exemple bk = 0,

avec r + 1 k m), le rang de la matrice (A | b) vaut r + 1. Le systèmeest donc incompatible puisque l’équation 0 = bk est absurde.Notons que lorsque le système est compatible, on peut donner aux (n r)

variables xr+1, . . . , xn des valeurs arbitraires et calculer les valeurs correspon-dantes de x1, . . . , xr.On trouve ainsi toutes les solutions du système. On parle alors de solution

complète.

Exemple 2.5 Soit à résoudre le système d’équations :

x1 + x2 + x3 = 72x1 + 3x2 x3 = 4

7x1 + 10x2 2x3 = 19

E ectuons les opérations élémentaires sur les lignes de la matriceaugmentée:

Page 35: Optimisation appliquée (statistique et probabilitiés appliquées)

2.13. Systèmes d’équations linéaires 25

1 1 1 7

2 3 1 4

7 10 2 19

L2 2L1

L3 7L1

1 1 1 7

0 1 3 10

0 3 9 30

L1 L2

L3 3L2

1 0 4 17

0 1 3 10

0 0 0 0

Comme r(A) = r(A | b) = 2, le système est compatible. On peut choisir(n r) = (3 2) = 1 variable arbitrairement. Écrivons pour cela les équationsobtenues à partir de la dernière matrice augmentée :

x1 + 0x2 + 4x3 = 170x1 + x2 3x3 = 10

Posons par exemple x3 = t IR. D’où x1 = 17 4t etx2 = 10 + 3t.La solution complète du système est donc :

x =x1x2x3

=17 4t10 + 3tt

, t IR

Pour chaque valeur donnée du paramètre t, la solution satisfait le systèmeconsidéré de trois équations à trois inconnues.Voyons à présent les trois cas de figure qui peuvent se présenter dans un

système d’équations, à savoir m = n, m > n et m < n.

Système de m équations à n inconnues (m = n) :

• | A |= 0 : la solution est unique et donnée par x = A 1b.

• | A |= 0 et r(A) = r(A | b) : infinité de solutions.

• | A |= 0 et r(A) = r(A | b) : pas de solution.

Page 36: Optimisation appliquée (statistique et probabilitiés appliquées)

26 Préliminaires

Système de m équations à n inconnues (m > n) :

• r(A) = r(A | b) et r(A) = n : solution unique.

• r(A) = r(A | b) et r(A) < n : infinité de solutions.

• r(A) = r(A | b) : pas de solution.

Système de m équations à n inconnues (m < n) :

• r(A) = r(A | b) : infinité de solutions.

• r(A) = r(A | b) : pas de solution.

À noter que lorsquem < n, il ne peut y avoir une solution unique puisquer < n et donc (n r) > 0.

2.14 Utilisation de l’outil Solveur

Après cette section consacrée aux systèmes d’équations linéaires, il estopportun d’expliquer l’utilisation de l’outil Solveur d’Excel. En e et, ilpermet de résoudre aisément de tels systèmes.

Exemple 2.6 Soit à résoudre le système d’équations linéaires suivant :

x1 + x2 + x3 = 92x1 + 3x2 x3 = 16

7x1 + 10x2 2x3 = 57

Il convient en premier lieu de nommer les cellules contenant les variables.La solution la plus simple consiste à écrire sur la première ligne les variableset à attribuer à la deuxième ligne des valeurs arbitraires. Pour ce faire, il fautsélectionner les cellules à nommer puis choisir Nom, Créer dans le menuInsertion, avant de séléctionner la ligne du haut et de cliquer sur OK.

Page 37: Optimisation appliquée (statistique et probabilitiés appliquées)

2.14. Utilisation de l’outil Solveur 27

Figure 2.10 : Attribution des noms de variables aux cellules A2 :C2

Il faut ensuite saisir les trois équations du système dans la feuille de calcul:

Figure 2.11 : Saisie des équations

À noter que les équations n’apparaissent pas à l’écran. En revanche,les résultats des calsculs sont a chés avec les valeurs actuelles (dans notreexemple x1 = x2 = x3 = 1) des variables. L’étape suivante consiste à lancerle Solveur en cliquant sur Solveur du menu Outil.

Page 38: Optimisation appliquée (statistique et probabilitiés appliquées)

28 Préliminaires

Figure 2.12 : Boîte de dialogue du Solveur

Le logiciel propose toujours de définir une cellule cible : celle-ci doitcorrespondre à la première des trois équations du système. Si tel n’est pas lecas, cliquer dans la plage Cellule à définir et sélectionner la cellule contenantla première des trois équations. La ligne suivante permet de choisir le typede résolution ; dans notre cas, il faut choisir Valeur et noter 9 (valeur dusecond membre de la première équation). Dans le champ Cellules variables,sur une feuille de calcul où seul un groupe de variables a été dé fini, Excelpropose d’o ce les cellules contenant ces variables. Si tel n’est pas le cas,placer le curseur dans le champ et sélectionner les cellules correspondantessur la feuille de calcul (dans notre exemple, il s’agit de la plage A2 :C2).Pour le Solveur, les deux autres équations du système représentent les

contraintes. Cliquer sur Ajouter et, dans la boîte de dialogue qui apparaît,sélectionner la cellule correspondante et la valeur que doit prendre la con-trainte.

Figure 2.13 : Ajout d’une contrainte

Page 39: Optimisation appliquée (statistique et probabilitiés appliquées)

2.14. Utilisation de l’outil Solveur 29

Répéter l’opération avec la troisième équation. La boîte de dialogue duSolveur apparaît finalement de la manière suivante :

Figure 2.14 : Boîte de dialogue du Solveur lors de l’étape précédantimmédiatement la résolution du système

Le programme s’exécute en cliquant sur Résoudre. Lorsqu’une solutionest trouvée, une nouvelle boîte de dialogue s’a che et propose de conservercette solution ou de rétablir les valeurs d’origine. Di érents rapports sur laprocédure sont proposés.

Figure 2.15 : Le Solveur a trouvé une solution

Excel a che les valeurs de x1, x2 et x3 dans les cellules A2, B2 et C2 ainsique les valeurs des seconds membres des trois équations dans les cellules A4,A5 et A6. À noter que les valeurs calculées ne sont pas toujours exactes : ilest en e et parfois nécessaire de privilégier la sensibilité (voir chapitre 7) etla tolérance en cliquant sur Options dans les paramètres du Solveur.

Page 40: Optimisation appliquée (statistique et probabilitiés appliquées)

30 Préliminaires

Figure 2.16 : La feuille de calcul telle qu’elle apparaîtune fois le système résolu

2.15 Dépendance linéaire

Avant d’introduire la notion de dépendance linéaire, il convient de rappelerquelques notions essentielles concernant les vecteurs.Chaque colonne d’une matrice peut être considérée comme un vecteur ;

par convention, un vecteur est toujours un vecteur-colonne. Chaque ligned’une matrice peut aussi être considérée comme un vecteur-ligne et cor-respond à la transposée d’un vecteur-colonne.Les éléments d’un vecteur sont appelés composantes de ce vecteur.

Lorsqu’un vecteur possède n composantes, on dit qu’il est de dimension n.La longueur ou norme d’un vecteur est définie par :

x = x x =n

i=1

x2i

Les vecteurs dont la longueur vaut 1 sont appelés vecteurs unitaires.On appelle produit scalaire de deux vecteurs x = (x1, . . . , xn) et

y = (y1, . . . , yn) la somme des produits de leurs composantes respectives:

Page 41: Optimisation appliquée (statistique et probabilitiés appliquées)

2.15. Dépendance linéaire 31

x y = y x =n

i=1

xiyi =n

i=1

yixi

Si le produit scalaire de deux vecteurs est nul, on dit que ces vecteurssont orthogonaux. De même, si deux vecteurs orthogonaux sont des vecteursunitaires, on dit qu’ils sont orthonormaux.Certains vecteurs jouent un rôle particulier, comme par exemple les vecteurs

unitaires dont la ième composante vaut 1 et dont toutes les autres sont nulles; ces vecteurs sont parfois appelés vecteurs élémentaires et sont notés ei.

e1 =

100...00

, e2 =

010...00

, . . . , en =

000...01

Tout vecteur x de dimension n peut ainsi être exprimé très simplementen terme de vecteurs élémentaires :

x = x1e1 + x2e2 + . . .+ xnen

La dépendance (ou l’indépendance) linéaire constitue l’une des notionsessentielles concernant les vecteurs. Pour définir cette notion, considérons mvecteurs à n composantes : x1,x2, . . . ,xm.

Définition 2.5 Les vecteurs x1,x2, . . . ,xm sont dits linéairement dépen-dants si et seulement s’il existe des constantes c1, c2, . . . , cm telles qu’uneau moins soit non nulle et :

c1x1 + c2x2 + . . .+ cmxm = 0

De manière équivalente, on définit l’indépendance linéaire de m vecteursainsi : les vecteurs x1,x2, . . . ,xm sont dits linéairement indépendants si etseulement si :

c1x1 + c2x2 + . . .+ cmxm = 0 c1 = c2 = . . . = cm = 0

Page 42: Optimisation appliquée (statistique et probabilitiés appliquées)

32 Préliminaires

Exemple 2.7 Soit les trois vecteurs : x1 = (1 0 2) , x2 = (0 3 1)et x3 = (1 1 5) .

Soit l’équation c1x1 + c2x2 + c3x3 = 0.Nous écrivons :

c1 + c3 = 0

3c2 + c3 = 0

2c1 + c2 + 5c3 = 0

Pour déterminer si ces trois vecteurs sont linéairement indépendants, ils’agit de résoudre un système d’équations linéaires homogènes !Si le système ne possède que la solution triviale c1 = c2 = c3 = 0, ces trois

vecteurs seront linéairement indépendants. Par contre, s’il y a une infinitéde solutions, ils seront linéairement dépendants.Dans notre cas, la matrice des coe cients est donnée par :

C =1 0 10 3 12 1 5

Comme | C |= 8 = 0, C est non-singulière et le résultat 2.19 nous assureque ce système ne possède que la solution triviale. Par conséquent, les troisvecteurs x1,x2 et x3 sont linéairement indépendants.Lorsqu’un vecteur peut s’écrire en fonction d’autres vecteurs, on parle de

combinaison linéaire comme spécifié dans la définition 2.8.

Définition 2.6 On dit qu’un vecteur y est une combinaison linéaire desvecteurs x1,x2, . . . ,xm s’il existe des constantes c1, c2, . . . , cm telles que :

y = c1x1 + c2x2 + . . .+ cmxm

Mentionnons, pour conclure, les di érentes propriétés de la dépendancelinéaire de vecteurs.

• Propriété 1

Si les vecteurs x1, . . . ,xm sont linéairement dépendants, alors au moins l’und’entre eux équivaut à la combinaison linéaire des autres.

Page 43: Optimisation appliquée (statistique et probabilitiés appliquées)

2.16. Bases et espaces vectoriels 33

• Propriété 2

Soit m vecteurs x1, . . . ,xm à n composantes. Si m > n, alors x1, . . . ,xmsont linéairement dépendants.Les propriétés suivantes établissent le lien entre les matrices et leurs

colonnes (ou lignes), dont on a vu qu’elles peuvent être considérées commedes vecteurs.

• Propriété 3

Lorsque m = n, les vecteurs correspondant aux colonnes d’une matrice sontlinéairement indépendants si et seulement si cette matrice est non-singulière.(Cette propriété est également valable pour les lignes.)

• Propriété 4

Si une matrice est d’ordre (n × m) avec m > n, alors les vecteurs cor-respondant aux colonnes sont linéairement dépendants. (Cette propriété dé-coule immédiatement de la propriété 2.)

• Propriété 5

Si le rang d’une matrice quelconque A est égal à r, alors il y a exactement rcolonnes et r lignes linéairement indépendantes.

2.16 Bases et espaces vectoriels

La notion d’ensemble d’éléments qui peuvent être additionnés et multipliéspar des nombres (tout en faisant encore partie de cet ensemble) conduit àune définition générale du concept d’espace vectoriel.

Définition 2.7 Un espace vectoriel V est un ensemble d’éléments (appelésvecteurs) qui peuvent être additionnés entre eux et multipliés par des nombres(appelés scalaires) sans cesser d’appartenir à cet ensemble, de telle manièreque les formules habituelles de calcul sont encore valables.

Soit x,y et z des éléments de l’espace vectoriel V et , des scalaires. Enfait, tout ensemble dans lequel a été défini une addition entre les élémentsde cet ensemble et une multiplication par des scalaires de telle sorte quele résultat appartient toujours à cet ensemble est un espace vectoriel si lesconditions suivantes sont satisfaites :

Page 44: Optimisation appliquée (statistique et probabilitiés appliquées)

34 Préliminaires

1. x+ y = y + x (l’addition est commutative) ;

2. (x+ y) + z = x+ (y + z) (l’addition est associative) ;

3. 0 V tel que x+0 = 0+x = x, x V (il existe un élément neutreunique pour l’addition) ;

4. x V , x tel que x+( x) = 0 (il existe un élément inverse uniquepour l’addition) ;

5. 1x = x (il existe un élément neutre unique pour la multiplication) ;

6. ( x) = ( )x (la multiplication par un scalaire est associative) ;

7. (x+ y) = x+ y (la multiplication par un scalaire est distributiveà gauche par rapport à l’addition) ;

8. ( + )x = x+ x (la multiplication par un scalaire est distributiveà droite par rapport à l’addition).

L’ensemble des nombres réels IR forme un espace vectoriel pour l’addi-tion et la multiplication usuelles. L’espace vectoriel le plus fréquemmentutilisé par la suite est l’ensemble IRn (n entier positif) qui est l’ensemble desn-tuples (x1x2 . . . xn) , avec xi IR, i = 1, . . . , n.Selon la valeur de n, le nom donné aux n-tuples est di érent.Pour n = 2, on parle de paires ordonnées (ou de couples), pour n = 3 de

triplets et pour n = 4 de quadruples.L’addition et la multiplication par un scalaire sont définies respective-

ment par :x1x2...xn

+

y1y2...yn

=

x1 + y1x2 + y2...

xn + yn

x1x2...xn

=

x1x2...xn

Page 45: Optimisation appliquée (statistique et probabilitiés appliquées)

2.16. Bases et espaces vectoriels 35

Plusieurs concepts jouent un rôle important dans l’étude des espaces vec-toriels, notamment la notion d’indépendance linéaire des vecteurs, celle debase d’un espace vectoriel et celle de dimension.

Définition 2.8 La base d’un espace vectoriel V est un système de vecteursde V , noté B, tel que chaque vecteur de V peut être représenté de façonunique comme combinaison linéaire des vecteurs de B.

Il est souvent plus pratique d’utiliser une définition équivalente basée surla notion d’indépendance linéaire.La base d’un espace vectoriel V est un système B de vecteurs linéaire-

ment indépendants de V, tel que chaque vecteur de V dépend linéairementdes vecteurs de B.Par la suite, notre intérêt portera essentiellement sur les bases finies d’un

espace vectoriel, c’est-à-dire les bases formées par un nombre fini de vecteurs.Un espace vectoriel ayant une base finie est dit de dimension finie. Dans cecas, on obtient le résultat 2.5.

Résultat 2.5 Si V est un espace vectoriel de dimension finie, alors deuxbases quelconques de V possèdent le même nombre de vecteurs. Ce nombreest appelé dimension de V .

Dans le cas particulier de l’espace vectoriel IRn, sa dimension est n. SoitB = a1,a2, . . . ,an une base de IRn. Un vecteur x quelconque de IRn peutdonc s’écrire :

x =n

i=1

iai

Les scalaires i sont appelés coordonnées de x, par rapport à cette base.À noter que ces coordonnées sont définies de manière unique puisque B estune base de IRn. Les coordonnées d’un vecteur dépendent de la base choisieet sont conventionnellement représentées par un vecteur-colonne :

1...n

Page 46: Optimisation appliquée (statistique et probabilitiés appliquées)

36 Préliminaires

Souvent, la base choisie est la base canonique, formée par les vecteursélémentaires e1, e2, . . . , en :

100...00

,

010...00

, . . . ,

000...01

Cette base a en e et l’avantage d’identifier les composantes et coordonnéesd’un vecteur, puisque pour tout x IRn :

x =

x1...xn

= 1

100...00

+ 2

010...00

+ . . .+ n

000...01

=

1...n

D’où i = xi, i = 1, . . . , n. En d’autres termes, dans la base canonique,x est représenté par :

x1...xn

Nous terminons ce paragraphe par une question qui se révélera impor-tante par la suite, à savoir : ”Sous quelle condition un vecteur quelconquev IRn peut-il remplacer l’un des vecteurs d’une base pour que l’ensemblenouvellement créé soit également une base de IRn?”Soit un ensemble de vecteurs de base a1, . . . ,an et un vecteur

v = 0 IRn. Le vecteur v peut donc s’exprimer comme combinaison linéairedes vecteurs de base :

v =n

i=1

iai

Page 47: Optimisation appliquée (statistique et probabilitiés appliquées)

2.16. Bases et espaces vectoriels 37

Remplaçons à présent l’un des vecteurs de base, disons ak, par v. Lenouvel ensemble de n vecteurs est :

a1,a2, . . . ,ak 1,v,ak+1, . . . ,an

Pour que cet ensemble de vecteurs soit une base de IRn, ceux-ci doivent êtrelinéairement indépendants. Dans notre cas, v ne doit pas être combinaisonlinéaire des vecteurs a1,a2, . . . ,ak 1,ak+1, . . . ,an. Or v est combinaisonlinéaire de ces n 1 vecteurs si et seulement si k = 0. Par conséquent,les n vecteurs formant ce nouvel ensemble sont linéairement indépendantssi et seulement si k = 0. De plus, tout vecteur x quelconque appartenantà IRn doit pouvoir s’exprimer comme une combinaison linéaire des vecteursa1, . . . ,ak 1,ak+1, . . . ,an, ce qui n’est possible que si k = 0 comme l’indiquele développement suivant.Dans la base a1,a2, . . . ,ak . . . ,an,v et x s’écrivent respectivement :

v = 1a1 + 2a2 + . . .+ kak + . . .+ nan

x = 1a1 + 2a2 + . . .+ kak + . . .+ nan

Si k = 0, ak peut être exprimé comme combinaison linéaire dea1,a2, . . . ,ak 1,v,ak+1, . . . ,an.

ak =v 1a1 2a2 . . . k 1ak 1 k+1ak+1 . . . nan

k

Ainsi :

ak =1

kv

n

i=1

i=k

i

kai

Par conséquent, suivant les termes de la nouvelle base, x peut s’écrire :

x = 1a1 + 2a2 + . . .+ k

1

kv

n

i=1

i=k

i

kai + . . .+ nan

=n

i=1

i=k

ii

kk ai +

k

kv

= x =n

i=1

ii

kk ai +

k

k

v

Page 48: Optimisation appliquée (statistique et probabilitiés appliquées)

38 Préliminaires

La dernière implication provient du fait que le coe cient de ak est nul,

kkk k = 0. Par conséquent, x s’écrit comme combinaison linéaire de

a1, . . . ,ak 1,v,ak+1, . . . ,an.

Exemple 2.8 Soit la base canonique de IR3 :

e1 =100

,e2 =010

, e3 =010

et le vecteur v =702

Dans la base canonique, v s’écrit v = 7e1 + 0e2 + 2e3. Ainsi, 1 = 7,2 = 0 et 3 = 2.Si l’on veut remplacer l’un des vecteurs de base par v et que ce nouvel

ensemble de trois vecteurs forme une base, seul e1 ou e3 peut être remplacépuisque la deuxième coordonnée de v est nulle. Formons une nouvelle basede IR3 en remplaçant e3 par v : e1, e2,v.Soit à présent le vecteur x = (4 10 6) dans la base canonique e1, e2, e3

: x = 4e1 + 10e2 + 6e3, où 1 = 4, 2 = 10 et 3 = 6.Pour exprimer x dans la nouvelle base, on utilise l’expression trouvée

précédemment :

x =n

i=1

( ii

kk)ai +

k

kv

On trouve alors :

x = (47

26)e1 + (10

0

26)e2 +

6

2v

= 17e1 + 10e2 + 3v

Les coordonnées de x dans cette nouvelle base sont :

17103

Page 49: Optimisation appliquée (statistique et probabilitiés appliquées)

2.17. Convexité 39

2.17 Convexité

Soit x1 et x2 deux vecteurs de IRn. Le segment de droite joignant l’extrémitéde ces vecteurs est l’ensemble des points :

D = {x IRn | x = x1 + (1 )x2, 0 1}

Exemple 2.9 Considérons les deux vecteurs x1 = (4 1) et x2 = (2 5) .Notons P 1P 2 le segment de droite joignant les extrémités de x1 et x2.

P 1P 2 = x IR2 | x =41

+ (1 )25

, 0 1

En faisant varier la valeur de entre 0 et , on obtient les points de cesegment.

= 0 : x=P 2 =2

5

=1

4: x=

1

4

4

1+3

4

2

5=

5/2

4

=1

2: x=

1

2

4

1+1

2

2

5=

3

3

=3

4: x=

3

4

4

1+1

4

2

5=

7/2

2

= 1 : x=P 1 =4

1

Ces points sont représentés sur la figure 2. 8.

Page 50: Optimisation appliquée (statistique et probabilitiés appliquées)

40 Préliminaires

P2

P1

Figure 2.18 : Segment de droite joignant P 1 à P 2

Définition 2.9 Un ensemble S non vide de IRn est dit convexe si le segmentde droite joignant deux points quelconques de S se trouve dans S :

si x1,x2 S et 0 1, alors x1 + (1 )x2 S

L’intersection de plusieurs ensembles convexes est un ensemble convexe.Par convention, un ensemble contenant un seul point est convexe.Les figures 2.19 et 2.20 représentent respectivement des ensembles con-

vexes et non-convexes.

Figure 2.19 : Ensembles convexes

Page 51: Optimisation appliquée (statistique et probabilitiés appliquées)

2.17. Convexité 41

Figure 2.20 : Ensembles non-convexes

Dans IRn, l’ensemble des points x vérifiant :

c1x1 + c2x2 + . . .+ cnxn = b

est appelé hyperplan. Un hyperplan c x = b divise IRn en trois ensemblesmutuellement exclusifs et collectivement exhaustifs. Il s’agit de :H1 = {x | c x < b}, H2 = {x | c x = b} et H3 = {x | c x > b}. Lesensembles H1 et H3 sont appelés demi-espaces ouverts et sont convexes.

Définition 2.10 Le vecteur x est appelé combinaison convexe des p vecteursx1, x2, . . ., xp s’il existe des constantes non-négatives 1, 2, . . ., p avec1 + 2 + . . .+ p = 1 telles que x =

pi=1 ixi.

Un vecteur x est un point extrême (sommet) d’un ensemble S convexes’il n’existe pas de points x1, x2 (x1 = x2) dans l’ensemble pour lesquelsx = x1+ (1 )x2, 0 < < 1. En d’autres termes, un point extrême de Sne peut être exprimé comme combinaison convexe de deux points distinctsde S. À noter ici les inégalités strictes imposées à .

Exemple 2.10 Soit le rectangle S défini par :

S = {x IR2 | 0 x1 1, 0 x2 2}

et représenté sur la figure 2.2 .

Page 52: Optimisation appliquée (statistique et probabilitiés appliquées)

42 Préliminaires

Cet ensemble est convexe et ses points extrêmes sont P1(0; 0),P2(0; 2), P3(1; 2), P4(1; 0). À noter que P5(1/2; 2) n’est pas un point extrême

puisque1/22

= 12

02

+ 12

12

.

P1

P5

P4

P2 P3

Figure 2.21 : P1, P2, P3 et P4 sont des points extrêmes

2.18 Inéquations linéaires

Par opposition à une équation linéaire, une inéquation linéaire est obtenueen remplaçant le signe d’égalité par un signe d’inégalité :

a1x1 + a2x2 + . . .+ anxn b

L’ensemble des valeurs des variables x1, . . . , xn qui vérifient cette inéqua-tion est appelé solution de l’inéquation linéaire. Il s’agit d’un demi-espaceouvert ou fermé selon que l’inégalité est respectivement stricte (<,>) oularge ( , ).Un système d’inéquations linéaires s’écrit :

a11x1 + . . . + a1nxn b1a21x1 + . . . + a2nxn b2...

......

......

am1x1 + . . . + amnxn bm

ou de manière plus concise sous forme matricielle :

Page 53: Optimisation appliquée (statistique et probabilitiés appliquées)

2.18. Inéquations linéaires 43

Ax b

L’ensemble des solutions d’un système d’inéquations linéaires est doncune intersection finie de demi-espaces. Il s’agit d’un ensemble convexe appelépolygone dans le cas de deux variables et polyèdre dans le cas général.

Exemple 2.11 Soit le système d’inéquations :

x1 + 3x2 64x1 2x2 42x1 x2 2

Chaque inéquation linéaire peut être représentée graphiquement en com-mençant par dessiner l’équation correspondante. Pour vérifier de quel demi-espace il s’agit, il su t d’introduire un point (par exemple l’origine) dansl’inéquation et de vérifier si celle-ci est satisfaite. Les inéquations ci-dessussont représentées sur les figures 2.22, 2.23 et 2.24. La surface hachuréereprésente l’ensemble des solutions de chaque inéquation.

642

6

4

2

0 x1

x2

10-1

1

-1

x1

x2

Figure 2.22 : x1 + 3x2 6 Figure 2.23 : 4x1 2x2 4

Page 54: Optimisation appliquée (statistique et probabilitiés appliquées)

44 Préliminaires

x1

x2

Figure 2.24 : 2x1 x2 2

L’ensemble des solutions satisfaisant simultanément le système des troisinéquations ci-dessus est l’intersection de ces trois ensembles. Il est représentésur la figure 2.25. On voit qu’il s’agit d’un ensemble non-borné possédant unpoint extrême (0 ;-2).

x1

x2

Figure 2.25 : Ensemble des solutions satisfaisant simultanémentle système d’inéquations

Le Solveur Excel ne résoud pas graphiquement un système d’inéquationslinéaires, mais le considère comme un ensemble de contrainte. La procédure

Page 55: Optimisation appliquée (statistique et probabilitiés appliquées)

2.18. Inéquations linéaires 45

est similaire à la résolution d’un système d’équations linéaires. Il faut d’abordnommer les cellules contenant les variables et saisir la partie des trois inéqua-tions qui se trouve à gauche du signe d’inégalité.

Figure 2.26 : Saisie des inéquations

Pour que le Solveur fonctionne, il faut lui fournir une valeur cible. Dansle cas d’un système d’inéquations, il est recommandé de choisir une desvariables comme valeur cible. Les cellules variables et les contraintes sontdéfinies de la même manière que dans les systèmes d’équations linéaires. Ence qui concerne le critère ”Egale à”, il faut opter entre ”Max”, ”Min” ou”Valeur”. Ce choix de valeur cible s’avèrera capital pour la solution pro-posée. Dans l’exemple, nous avons choisi la variable x2 comme valeur cibleet nous la voulons maximale.

Figure 2.27 : Boîte de dialogue du Solveur pour ce système d’inéquations

Page 56: Optimisation appliquée (statistique et probabilitiés appliquées)

46 Préliminaires

Il su t ensuite de cliquer sur Résoudre et le résultat s’a che sur la feuillede calcul. On y lit en particulier les valeurs de x1 et x2, ainsi que les résultatsdes équations pour ces valeurs de x1 et x2.

Figure 2.28 : Solution trouvée par le Solveur

Notons que les résultats changent si l’on modifie les paramètres de lavaleur cible et que, dans bien des cas, aucune solution ne sera trouvée. Si,au lieu de choisir le maximum de la valeur cible, nous avions opté pourle minimum, ou si nous avions choisi la variable x1 comme valeur cible, leSolveur n’aurait pas trouvé de convergence.

Figure 2.29 : Le Solveur ne trouve pas de solution s’il doit minimiser x2

De même, si l’on définit une valeur fixe pour l’une des deux variables, etque celle-ci se trouve à l’extérieur de l’ensemble convexe, le Solveur ne trouvepas de solution satisfaisant aux contraintes et a che un message d’erreur.

Page 57: Optimisation appliquée (statistique et probabilitiés appliquées)

2.18. Inéquations linéaires 47

Figure 2.30 : Résultat du Solveur en fixant x2 = 10

Exemple 2.18 En modifiant les inégalités du système précédent de lamanière suivante :

x1 + 3x2 64x1 2x2 42x1 x2 2

on obtient pour l’ensemble des solutions, un ensemble fermé borné représentésur la figure 2.31.

2

-4 -2

-2

-4

4

4

2x1

x2

Figure 2.31 : Ensemble des solutions fermé borné

Dans cette situation, si les paramètres du Solveur ont été correctementchoisis, Excel proposera une solution à l’intérieur de l’ensemble convexe.

Page 58: Optimisation appliquée (statistique et probabilitiés appliquées)

48 Préliminaires

2.19 Exercices

1. Calculer les produits AB et BA (quand ils sont définis).

(a) A =1 2 5 43 1 0 0

B =

1042

(b) A =1 2 30 0 75 6 8

B =1 0 45 1 06 7 8

(c) A = 1 0 2 6 B = 0 0 1 2 .

2. Trouver l’inverse de :

A =10 2 40 9 32 2 1 .

3. Trouver le rang des matrices suivantes :

A =2 10 3

B =1 2 31 2 30 0 0

C =1 1 10 3 11 0 3

4. Les vecteurs suivants sont-ils linéairement dépendants ou indépendants?

(a) v1 = (1, 0, 0) , v2 = ( 1, 1, 0) , v3 = (1, 1, 1)

(b) v1 = (2, 1, 3) , v2 = (0, 5, 1) , v3 = ( 1, 2, 1)

5. Déterminer si le système suivant est compatible et s’il possède une solu-tion unique ou plusieurs solutions. Trouver ensuite toutes les solutionsde base possibles et définir si elles sont dégénérées ou non.

x1 + 2x2 x3 = 22x1 + 3x2 + 5x3 = 10

Page 59: Optimisation appliquée (statistique et probabilitiés appliquées)

2.19. Exercices 49

6. Soient deux points donnés de IR2 : x1 = (2, 4) et x2 = (6, 1) . Trou-ver le segment x1x2 et les points de ce segment pour = 0, = 1

4,

= 12, = 3

4et = 1. Donner une interprétation graphique.

7. Lesquels de ces ensembles sont convexes ?

(a) S = {(x1, x2) | 3x21 + 2x22 12}

(b) S = {(x1, x2 | x1 3, x1 5}

(c) S = {(x1, x2) | x1x2 2, x1 0, x2 0}

8. Considérons le triangle qui a pour sommets A = (0, 0),B = (6, 0) et C = (3, 3). Exprimer le point M = (3, 1) comme unecombinaison convexe de ces trois points. Donner une interprétationgraphique.

9. Soient les trois vecteurs de IR2 : v1 = (2, 2) , v2 = (5, 2) etv3 = (3, 7) .

Trouver le pointM déterminé par la combinaison convexe avec 1 =12,

2 =38et 3 =

18.

10. Représenter graphiquement les régions déterminées par les inéquationssuivantes :

a) 2x1 + 3x2 3x1 + 4x2 2x1, x2 0

b) x1 + 2x2 102x1 + 2x2 2x2 3x1, x2 0

c) 2x1 + 6x2 6x1 + x2 3x1 0

d) x1 + x2 2x2 3x1 03x2 x1 0x1 + x2 40 x1 2x2 0

Page 60: Optimisation appliquée (statistique et probabilitiés appliquées)

50 Préliminaires

HESSE Ludwig Otto (1811-1874)Le Mathématicien allemand né à Königsberg en 1811, Hesse, est l’élève deJacobi à l’université de sa ville natale où il obtient son doctorat en 1840. Il yenseigne alors la chimie et la physique jusqu’en l856, année où il est nomméà l’université de Heidelberg. Il y restera douze ans avant d’obtenir un posteà Munich, où il décédera en 1874.La science lui doit notamment le développement des théories des fonctions

algébriques et des invariants. Il introduit le déterminant hessien tiré dela matrice hessienne dans un article paru en 1942 et traitant des courbescubiques et quadratiques.

Page 61: Optimisation appliquée (statistique et probabilitiés appliquées)

Chapitre 3

Optimisation classique

3.1 Introduction

Euclide formulait déjà des problèmes d’optimisation au IIIe siècle avant J.-C. Ce prolifique mathématicien de l’Antiquité a rédigé l’un des plus célèbrestextes de l’histoire des mathématiques : les Éléments. Cette œuvre comprendtreize livres et couvre des domaines tels que la géométrie plane et solide ou lathéorie des nombres rationnels et irrationnels. Durant vingt siècle, ce traitéfut l’ouvrage de référence dans l’enseignement mathématique. Plus de milleéditions en furent tirées, depuis la première en 1482. Sir Isaac Newton (1642-1727), auteur du célèbreMathematical Principles of Natural Philosophy, ainsique Gottfried Wilhelm Leibniz (1646-1716) o rirent, à la fin du XVIIe siècle,les premiers outils de résolution de certains problèmes d’optimisation relatifsà la géométrie et à la physique. Ils avaient en e et inventé, simultanémentmais néanmoins indépendamment, le calcul di érentiel.Comme indiqué au chapitre 1, l’optimisation classique se scinde en deux

types de problèmes : l’optimisation sans contrainte et l’optimisation aveccontraintes. Dans les deux cas, le but consiste à trouver les valeurs quimaximisent ou minimisent une fonction. Toutefois, dans l’optimisation aveccontraintes, les solutions sont soumises à des restrictions (contraintes). Lesproblèmes d’optimisation en économie sont souvent caractérisés par un nom-bre très élevé de variables et par la nécessité de trouver des solutions nonnégatives. C’est donc un type d’optimisation avec contraintes.Nous allons reprendre ces deux types d’optimisation et les développer

dans ce chapitre.

51

Page 62: Optimisation appliquée (statistique et probabilitiés appliquées)

52 Optimisation classique

3.2 Optimisation classique sans contrainte

Soit f(x) une fonction d’une variable réelle. Si la fonction f(x) et sa dérivéef (x) sont continues en un point où de croissante la fonction devient décrois-sante, alors elle possède un maximum. En d’autres termes, la pente de latangente passe du positif au négatif. Le raisonnement contraire est valablepour un minimum. Dans les deux cas, il s’agit d’un point où la pente de latangente est nulle. Comme la pente de la tangente est donnée par la premièredérivée de la fonction, il faut annuler la première dérivée de f pour obtenirles points candidats (points où la fonction est susceptible de présenter unminimum ou un maximum). Pour chaque point candidat, il faut déterminers’il s’agit d’un minimum ou d’un maximum.Il existe deux critères pour déterminer si un point candidat est un ex-

tremum (minimum ou maximum). Le premier critère est fourni par lerésultat 3.1.

Résultat 3.1 Si le signe de la dérivée est positif puis devient négatif quandx croît, alors le point candidat est un maximum de la fonction.Si le signe de la dérivée est négatif puis devient positif quand x croît, alors

le point candidat est un minimum de la fonction.

La figure 3.1 illustre ce résultat.Le second critère fait appel à la dérivée seconde de la fonction. La dérivée

seconde f (x) d’une fonction est la dérivée de la dérivée première f (x).Celle-ci mesure le taux de croissance ou de décroissance de f (x), autrementdit le taux de croissance ou de décroissance de la pente de la tangente à lacourbe. Le signe de f (x) au point candidat x = x0 fournit les renseignementsnécessaires. Si f (x0) est positive, la pente de la tangente croît quand x croîten passant par x0. Inversement, si f (x0) est négative, la pente de la tangentedécroît quant x croît en passant par x0. D’où le résultat 3.2 basé sur la dérivéeseconde.

Résultat 3.2 Soit P (x0; f(x0)) le point en lequel : f (x0) = 0.Alors si en ce point :

. f (x0) < 0, il s’agit d’un maximum.

2. f (x0) > 0, il s’agit d’un minimum.

Page 63: Optimisation appliquée (statistique et probabilitiés appliquées)

3.2. Optimisation classique sans contrainte 53

pente positive pente négative

pente positivepente négative

Figure 3.1 : Maximum et minimum d’une fonction à une variable

Exemple 3.1 Soit la fonction y = f(x) = x3 3x2 + 5.

Calculons sa première dérivée :

f (x) =dy

dx= 3x2 6x = 3x(x 2)

et sa deuxième dérivée :

f (x) =d2y

dx2= 6x 6 = 6(x 1)

On obtient les points candidats de la fonction en résolvant l’équationf (x) = 0 :

3x(x 2) = 0 x1 = 0 et x2 = 2

Les valeurs correspondantes de y sont y1 = 5 et y2 = 1.Déterminons la nature des points candidats en utilisant le résultat 3.2

f (0) = 6 < 0 et f (2) = 6 > 0.La fonction a donc un maximum en x1 = 0 et un minimum en x2 = 2.

Les coordonnées du maximum sont (0 ;5) et celles du minimum (2 ;1).Par conséquent, dans un voisinage convenablement choisi du point x1 = 0,

la valeur de la fonction est plus petite que f(x). On dit que la fonctionpossède unmaximum local ou relatif au point x1 = 0. Au point x2 = 2, ondit que la fonction possède unminimum local ou relatif . Ces deux valeurs,maximum et minimum, sont appelées des extrema locaux ou relatifs, parcequ’il existe des valeurs de x pour lesquelles la fonction prend des valeurs plusgrandes que 5 ou plus petites que 1, comme l’illustre la figure 3.2 (a) :

Page 64: Optimisation appliquée (statistique et probabilitiés appliquées)

54 Optimisation classique

minimum relatif

maximum relatif

Figure 3.2 (a) : Extrema locaux

Cependant, on peut définir ce que l’on appelle un maximum ou un mi-nimum global ou absolu. En ce point, la fonction prend la valeur la plusgrande (ou la plus petite) sur un intervalle donné ; la figure 3.2 (b) donne unexemple d’extrema relatifs et absolus.

.

maximum relatif

minimum relatif

minimum absolu

Figure 3.2 (b) : Extrema relatifs et absolus

Exemple 3.2 Un fabricant de postes de télévision produit q postes parsemaine à un coût total de C = 6q2 + 80q + 5000. C’est un monopoleur etson prix s’exprime par la relation p = 1080 4q. Montrons que le bénéficenet maximum est atteint lorsque la production est de 50 postes par semaine.

Page 65: Optimisation appliquée (statistique et probabilitiés appliquées)

3.2. Optimisation classique sans contrainte 55

On sait que le revenu de la firme est égal au prix multiplié par la quantité:

R = pq = (1080 4q)q= 1080q 4q2

Son bénéfice s’exprime par :

B = R C = 1080q 4q2 (6q2 + 80q + 5000)= 10q2 + 1000q 5000

La dérivée de cette fonction est :

B = 20q + 1000

La solution de l’équation B = 0 est :

20q + 1000 = 0q = 50

Sa dérivée seconde est :

B = 20 < 0

Par conséquent, la fonction de bénéfice présente un maximum en x = 50.Ce maximum est un maximum global car la fonction est une parabole, commel’indique la figure 3.3. Pour ce volume de production, le bénéfice réalisés’élève à:

B = 10(50)2 + 1000(50) 5000 = 20000

Le prix du poste de télévision est de :

p = 1080 4(50) = 880

20000

50

10000

B

q

Figure 3.3 : Fonction bénéfice (B = 10q2 + 1000q 5000)

Page 66: Optimisation appliquée (statistique et probabilitiés appliquées)

56 Optimisation classique

Considérons à présent le cas des fonctions à plusieurs variables indé-pendantes. Des exemples simples en sont fournis par des formules de math-ématiques élémentaires. Ainsi, dans la formule de calcul du volume V d’uncylindre droit à base circulaire, V = r2h, V est une fonction à deux vari-ables indépendantes : r (rayon du cercle de base) et h (hauteur). De la mêmemanière, dans la formule qui donne l’aire A d’un triangle quelconque,A = 1

2xy sin , A est une fonction à trois variables indépendantes, x, y et ,

qui traduisent respectivement la longeur de deux côtés du triangle et l’angleformé par ces deux côtés.Pour les fonctions à deux variables, z = f(x, y), le graphe est une sur-

face dans l’espace à trois dimensions. Une telle fonction présente un maxi-mum au point P (x0; y0; f(x0, y0)), si f(x0, y0) atteint une valeur supérieure àtoutes celles que prend f(x, y) au voisinage de x = x0 et y = y0, comme in-diqué sur la figure 3.4 (a). De même, f(x, y) possède un minimum au pointP (x0, y0; f(x0, y0)), si f(x0, y0) atteint une valeur inférieure à toutes cellesque prend f(x, y) au voisinage de x = x0 et y = y0 ; ce cas est illustré par lafigure 3.4 (b). Il en résulte qu’au point P (x0; y0; f(x0, y0)), il existe un plantangent horizontal. Ce plan tangent est engendré par deux tangentes,elles-mêmes déterminées par :

f

xet

f

y

Ainsi, la condition nécessaire à l’existence d’un extremum est la suivante:

f

x= 0 et

f

y= 0

Figure 3.4 (a) : Maximum au point P

Page 67: Optimisation appliquée (statistique et probabilitiés appliquées)

3.2. Optimisation classique sans contrainte 57

Figure 3.4 (b) : Minimum au point P

Cette condition est nécessaire mais pas su sante. En e et, il existe desfonctions pour lesquelles f/ x = f/ y = 0 sans qu’il existe un extremumen ce point. Dans ce cas, on parle de point-selle. Bien que les deux tangentessoient horizontales, il est toujours possible de trouver un point situé au-dessusdu point-selle et un autre au-dessous, ceci quelque soit le voisinage du point-selle considéré. Notons encore, qu’en un point-selle la fonction présente unminimum pour l’une des variables et un maximum pour l’autre variable. Lafigure 3.5 illustre cette situation.

Figure 3.5 : Point-selle en P

Il faut donc remplir une condition su sante qui est la suivante :

Page 68: Optimisation appliquée (statistique et probabilitiés appliquées)

58 Optimisation classique

= fxxfyy f 2xy > 0

où :

• fxx =2f/ x2, c’est-à-dire que la fonction a été dérivée deux fois par

rapport à x,

• fyy =2f/ y2, ce qui signifie que la fonction a été dérivée deux fois

par rapport à y,

• f2xy = ( 2f/ x y)2, c’est-à-dire que la première dérivée se fait parrapport à y et la deuxième par rapport à x ; cette expression est ensuiteélevée au carré.

Le résultat 3.3 résume la situation pour les fonctions à deux variables.

Résultat 3.3 Soit P (x0; y0; f(x0, y0)) le point en lequel :

f/ x = f/ y = 0

Alors si en ce point :

1. fxx > 0 et > 0, f possède un minimum au point P .

2. fxx < 0 et > 0, f possède un maximum au point P .

3. < 0, f ne possède ni minimum ni maximum au point P , mais unpoint-selle.

4. = 0, on ne peut pas conclure.

Notons que la condition su sante évoquée ci-dessus provient d’un résultatplus général concernant les fonctions à n variables f(x1, x2, . . . , xn).Avant d’énoncer ce résultat général, introduisons la matrice des secondes

dérivées partielles. Celle-ci joue un rôle clé dans la détermination des extremad’une fonction à plusieurs variables. Cette matrice est appelée matricehessienne et se présente sous la forme :

Page 69: Optimisation appliquée (statistique et probabilitiés appliquées)

3.2. Optimisation classique sans contrainte 59

H =

fx21 fx1x2 . . . fx1xnfx2x1 fx22 . . . fx2xn...

.... . .

...fxn 1x1 fxn 1x2 . . . fxn 1xnfxnx1 fxnx2 . . . fx2n

où fx21= 2f/ x21, fx1x2 =

2f/ x1 x2, . . ., et fx2n =2f/ x2n

On appelle mineurs principaux de la matrice H, notés i, les déter-minants des sous-matrices de H obtenues en lui retirant ses n i dernièreslignes et colonnes (i = 1, . . . , n).Dans le cas général, la recherche des extrema d’une fonction à plusieurs

variables est basée sur le résultat 3.4.

Résultat 3.4 Soit P le point en lequel :

f/ x1 = f/ x2 = . . . = f/ xn = 0.

Alors:

. si les mineurs principaux de la matrice hessienne au point P sont tousstrictement positifs, il s’agit d’un minimum.

2. si les mineurs principaux de la matrice hessienne au point P sont designes alternés, le premier étant strictement négatif, il s’agit d’un max-imum.

3. si les mineurs principaux ne vérifient pas l’une des conditions ci-dessusprises au sens large (c’est-à-dire respectivement ”positif ou nul” et ”né-gatif ou nul”), il ne s’agit ni d’un minimum ni d’un maximum, maisd’un point-selle.

4. si les conditions ( ) et (2) se vérifient au sens large, alors on ne peutpas conclure.

Page 70: Optimisation appliquée (statistique et probabilitiés appliquées)

60 Optimisation classique

Dans le cas de fonctions à deux variables, on retrouve le résultat 3.3. Ene et, dans ce cas, tout comme fxy = fyx, on a :

1 = fxx2 = fxxfyy (fxy)

2

Ainsi

1 > 0 et 2 > 0 = minimum.1 < 0 et 2 > 0 = maximum.1 quelconque et 2 < 0 = point-selle.1 quelconque et 2 = 0 = on ne peut pas conclure.

Exemple 3.3 Soit la fonction z = f(x, y) = x2 + y2.

Les candidats aux extrema s’obtiennent en résolvant le système d’équa-tions : f/ x = 0 et f/ y = 0.

f

x= 2x = 0 = x = 0

f

y= 2y = 0 = y = 0

Il existe donc un point candidat en x0 = y0 = z0 = 0 ; ce point estforcément un minimum puisque f(x, y) = x2 + y2 > 0, x = 0, y = 0,comme la figure 3.6 en témoigne. En e et, en appliquant le résultat 3.4, ontrouve :

2f

x2= 2,

2f

y2= 2,

2f

x y= 0

La matrice hessienne est donc définie par :

H =2 00 2

Ici, 1 = 2 et 2 = 4. Par conséquent, f possède un minimum en(0; 0; 0).

Page 71: Optimisation appliquée (statistique et probabilitiés appliquées)

3.2. Optimisation classique sans contrainte 61

-2-1

01

2

-2 -1 0 1 2

0

2

4

6

8

-2-1

01

2

-2 -1 0 1 2

Figure 3.6 : Graphe de z = f(x, y) = x2 + y2

Exemple 3.4 Soit f(x, y) = 4x2 xy + y2 x3.

On a :

f

x= 8x y 3x2

f

y= x+ 2y

2f

x2= 8 6x

2f

y2= 2

2f

x y= 1

Les points candidats s’obtiennent en résolvant les deux équations :

8x y 3x2 = 0 (3.1)

x+ 2y = 0 (3.2)

Après substitution de x = 2y (tiré de (3.2)) dans (3.1), on trouve :

12y2 + 15y = 0 y1 = 0

y2 =5

4

Comme x = 2y, on trouve x1 = 0 et x2 =5

2

Il existe donc deux points candidats : P1(0; 0; 0) et P2(5

2;5

4;125

16).

La matrice hessienne est définie par :

Page 72: Optimisation appliquée (statistique et probabilitiés appliquées)

62 Optimisation classique

H =8 6x 1

1 2

Évaluons la matrice hessienne pour le premier point candidat x1 = 0,y1 = 0 :

H =8 11 2

Comme 1 = 8 > 0 et 2 = 15 > 0, il s’agit d’un minimum.

Pour le second point candidat x =5

2et y =

5

4, on obtient :

H =7 11 2

Comme 1 = 7 < 0 et 2 = 15 < 0, il ne s’agit ni d’un minimum nid’un maximum, mais d’un point-selle de la fonction.

Exemple 3.5 Soit f(x, y, z) = x4 17x2 + 2y2 + z2 2xy 2yz + 81.

Annulons les premières dérivées partielles :

f

x= 4x3 34x 2y = 0 (3.3)

f

y= 4y 2x 2z = 0 (3.4)

f

z= 2z 2y = 0 (3.5)

Par simplification, de (3.5) on tire :

y = z (3.6)

Substituons (3.6) dans (3.4) :

4y 2x 2y = 0

2y 2x = 0

x = y (3.7)

Page 73: Optimisation appliquée (statistique et probabilitiés appliquées)

3.2. Optimisation classique sans contrainte 63

En introduisant (3.6) et (3.7) dans (3.3), on trouve :

4x3 34x 2x = 0

4x3 36x = 0

4x(x2 9) = 0

Cette dernière équation a trois solutions :

x1 = 0, x2 = 3, x3 = 3

Les valeurs correspondantes de y et de z sont :

y1 = 0 y2 = 3 y3 = 3

z1 = 0 z2 = 3 z3 = 3

Les deuxièmes dérivées partielles sont :2f/ x2 = 12x2 34 2f/ x y = 2 2f/ x z = 02f/ y x = 2 2f/ y2 = 4 2f/ y z = 22f/ z x = 0 2f/ z y = 2 2f/ z2 = 2

Pour le point x1 = y1 = z1 = 0, la matrice hessienne est définie par :

H =34 2 02 4 20 2 2

1 = 34

2 = 140

3 = 144

D’après le résultat 3.4, ces trois mineurs principaux ne vérifient ni lacondition 1 ni la condition 2, prises au sens large.La fonction présente donc un point-selle en x1 = y1 = z1 = 0.Pour les points x2 = y2 = z2 = 3 et x3 = y3 = z3 = 3, la matrice

hessienne est la même :

H =74 2 02 4 20 2 2

On a alors :

Page 74: Optimisation appliquée (statistique et probabilitiés appliquées)

64 Optimisation classique

1 = 74

2 = 292

3 = 288

Ainsi, pour chacun de ces deux points, la fonction présente un minimum.

Exemple 3.6 Une firme aéronautique fabrique des avions qu’elle vend surdeux marchés étrangers. Soit q1 le nombre d’avions vendus sur le premiermarché et q2 le nombre d’avions vendus sur le deuxième marché. Les fonc-tions de demande dans les deux marchés respectifs sont :

p1 = 60 2q1

p2 = 80 4q2

P1 et p2 sont les deux prix de vente. La fonction de coût total de la firme est:

C = 50 + 40q

où q est le nombre total d’avions produits. Il faut trouver le nombre d’avionsque la firme doit vendre sur chaque marché pour maximiser son bénéfice.

Comme q = q1 + q2, la fonction de coût devient :

C = 50 + 40q= 50 + 40(q1 + q2)= 50 + 40q1 + 40q2

Le revenu total R s’obtient en multipliant le prix par la quantité surchaque marché :

R = p1q1 + p2q2= (60 2q1)q1 + (80 4q2)q2= 60q1 2q21 + 80q2 4q22

On obtient le bénéfice B en calculant la di érence entre le revenu et lecoût :

B = R C= 60q1 2q21 + 80q2 4q22 (50 + 40q1 + 40q2)= 20q1 2q21 + 40q2 4q22 50

Page 75: Optimisation appliquée (statistique et probabilitiés appliquées)

3.2. Optimisation classique sans contrainte 65

Annulons les premières dérivées partielles :

B/ q1 = 4q1 + 20 = 0 q1 = 5

B/ q2 = 8q2 + 40 = 0 q2 = 5

Il reste à vérifier que le point candidat (q1; q2) = (5; 5) est un maximum; pour cela, calculons les deuxièmes dérivées partielles :

2B/ q21 = 4 2B/ q22 = 8 2B/ q1 q2 = 0

La matrice hessienne est donc :

H =4 00 8

Par conséquent :

1 = 4 < 0

2 = 32 > 0

Comme 1 < 0 et 2 > 0, il s’agit d’un maximum.Le bénéfice maximum réalisé est égal à :

20(5) 2(5)2 + 40(5) 4(5)2 50 = 100

Quant aux prix, ils s’élèvent respectivement à :

p1 = 60 2(5) = 50

p2 = 80 4(5) = 60

Exemple 3.7 Cas de la régression linéaire simple (méthode des moin-dres carrés)

Les méthodes de régression permettent de dégager les relations qui exis-tent entre les variables, particulièrement entre les variables dont la relationest importante. On peut citer en exemple la relation entre le poids et lataille des individus. Ce type de problèmes scientifiques existait bien avantque le nom “régression” leur fut donné par Sir Francis Galton (1822-1911),anthropologiste anglais et cousin de Charles Darwin, lorsqu’il s’intéressa aux

Page 76: Optimisation appliquée (statistique et probabilitiés appliquées)

66 Optimisation classique

problèmes d’hérédité. Lors de ses recherches, Galton remarqua que les pèresde grande taille avaient des fils de grande taille mais qu’en moyenne la taillede ces derniers était inférieure à celle de leurs pères. De même, les pères depetite taille avaient des fils de petite taille mais en moyenne la taille desfils était plus élevée que celle des pères.Les caractéristiques moyennes de la deuxième génération ont donc ten-

dance à se rapprocher de la moyenne de la population plutôt que de lamoyenne de leurs parents. C’est dans ce sens que Galton parle de “ré-gression”, plus exactement de “régression” vers la moyenne. Il découvritce phénomène en 1875, introduisit l’index de corrélation en 1888 et fut l’undes premiers à utiliser les méthodes de questionnaire et d’échantillonnagedans le cadre de ses recherches en météorologie, anthropométrie et physiqueanthropologique. Malgré des faiblesses en mathématiques, les idées de Gal-ton ont fortement influencé le développement de la statistique, notammentpar sa démonstration qu’une loi composée d’un mélange de lois normales estelle-même normale.L’analyse de régression linéaire simple permet de connaître la relation

linéaire qui existe entre deux variables en estimant une fonction, appeléeéquation de régression.L’estimation de cette équation de régression se fait à partir du modèle

de régression linéaire simple suivant :

Y = 0 + 1X +

où Y est la variable dépendante, X la variable indépendante, unterme d’erreur aléatoire non observable et 0, 1 les paramètres à estimer.Avec un ensemble de n observations (x1; y1), (x2; y2), . . . , (xn; yn), le mo-

dèle s’écrit :

Yi = 0 + 1Xi + i, i = 1, . . . , n

Le problème consiste à estimer les paramètres 0 et 1, en trouvant lesvaleurs ˆ0 et ˆ1 qui minimisent la distance entre Yi et ( 0 + 1Xi). Ainsi :

i = Yi 0 1Xi

doit être petit pour tout i. Pour cela, il existe plusieurs critères d’estimation,comme par exemple :

Page 77: Optimisation appliquée (statistique et probabilitiés appliquées)

3.2. Optimisation classique sans contrainte 67

(a) min0, 1

maxi| i |

(b) min0, 1

n

i=1

| i |

(c) min0, 1

n

i=1

2i

La méthode d’estimation la plus fréquemment utilisée est celle basée surle critère (c). On l’appelle méthode des moindres carrés puisqu’elle consisteà minimiser la somme des carrés des erreurs.L’estimation de 0 et 1 équivaut donc à résoudre un problème d’optimi-

sation classique sans contrainte en minimisant la fonction de deux variables:

f( 0, 1) =n

i=1

2i =

n

i=1

(Yi 0 1Xi)2

En annulant les premières dérivées partielles, on obtient le système d’équa-tions à deux inconnues suivant :

f

0

= 2n

i=1

(Yi 0 1Xi) = 0 (3.8)

f

1

= 2n

i=1

Xi(Yi 0 1Xi) = 0 (3.9)

En développant la somme des équations (3.8) et (3.9) et en les divisantpar 2, on obtient :

n

i=1

Yi n 0 1

n

i=1

Xi = 0 (3.10)

n

i=1

XiYi 0

n

i=1

Xi 1

n

i=1

X2i = 0 (3.11)

Page 78: Optimisation appliquée (statistique et probabilitiés appliquées)

68 Optimisation classique

On peut alors en déduire les valeurs estimées de 0 et 1, notées ˆ0 et ˆ1:

ˆ0 =

1

n

n

i=1

Yi ˆ1

1

n

n

i=1

Xi = Y ˆ1X

où X et Y représentent les moyennes empiriques.En opérant une substitution dans l’équation (3.11), on obtient :

ˆ1 =

ni=1(Xi X)(Yi Y )

ni=1(Xi X)2

Nous pouvons alors écrire l’équation de régression (droite de régression) :

Y = ˆ0 + ˆ1X

ou encore :

Yi = ˆ0 + ˆ1Xi

où Yi est la valeur estimée pour unXi donné lorsque ˆ0 et ˆ1 sont déterminés.

Exemple 3.8 Application économique. Le directeur d’une agence delocation de voitures s’interroge sur les frais d’entretien par année (Y ) enfonction du nombre de kilomètres parcourus (X) par ses voitures.

Il a récolté les données suivantes sur les 20 voitures qu’il possède.

Page 79: Optimisation appliquée (statistique et probabilitiés appliquées)

3.2. Optimisation classique sans contrainte 69

Observation X Y1 5 229 5302 7 489 6863 12 784 1 5474 23 792 2 1805 18 704 2 0196 9 871 9767 19 484 2 0188 30 412 3 2999 17 017 1 59810 8 741 95111 23 219 2 35012 28 783 3 03113 37 418 3 77314 12 972 1 38615 4 781 51216 17 412 1 64717 29 218 3 07018 36 413 3 57619 29 287 292020 14 536 1 674

Le modèle s’écrit donc :

Yi = 0 + 1Xi + i

Ici :

X = 19378, 6 ni=1(Xi X)2 = 1 930 885 291

Y = 1987, 15

On trouve alors :

ˆ1 =

ni=1(Xi X)(Yi Y )

ni=1(Xi X)2

=193 801 388

1 930 885 291= 0, 1004

et ˆ0 = Y ˆ1X = 1987, 15 0, 1004(19 378, 6) = 41, 5386

D’où l’équation de régression :

Y = 41, 5386 + 0, 1004X

Page 80: Optimisation appliquée (statistique et probabilitiés appliquées)

70 Optimisation classique

3.3 Optimisation classique avec contraintes

Dans de nombreuses applications pratiques, les variables d’une fonction don-née sont soumises à certaines conditions ou contraintes. Ces contraintespeuvent être formulées sous forme d’égalités ou d’inégalités.

Par exemple, si un producteur fabrique deux biens, il peut vouloir min-imiser le coût total tout en étant obligé de fabriquer une quantité totaleminimum spécifiée. De même, une compagnie peut désirer maximiser sesventes résultant de deux publicités alors qu’elle doit observer la contraintedu budget de publicité. Enfin, le consommateur désirant maximiser la fonc-tion d’utilité provenant de la consommation de certains biens est restreintpar son budget.

Dans le cas où les contraintes s’expriment sous forme d’égalités, l’opti-misation de la fonction peut être obtenue grâce à la méthode des multi-plicateurs de Lagrange qui est la plus largement répandue pour trouverles extrema d’une fonction soumise à des contraintes d’égalité. Cette méth-ode tient son nom du mathématicien franco-italien (1736-1813), à qui l’ondoit le fameux Mécanique céleste (1788), ouvrage résumant sous une formerigoureuse toutes les connaissances acquises en matière de mécanique depuisNewton. C’est dans le cadre de deux mémoires importants sur la théoriedes équations, publiés en 1770 et 1771, qu’apparaît pour la première fois lerésultat connu sous le terme de théorème de Lagrange.

Dans un premier temps, introduisons cette méthode dans le cas simple oùla fonction à optimiser (fonction objectif) est une fonction à deux variablesf(x, y) soumise à une seule contrainte de la forme g(x, y) = 0.

La méthode des multiplicateurs de Lagrange consiste à construire unefonction auxiliaire F (x, y, ), appelée Lagrangien, définie ainsi :

F (x, y, ) = f(x, y) + g(x, y)

où (appelé multiplicateur de Lagrange) est une inconnue. Il faut ensuiteannuler ses premières dérivées partielles (condition nécessaire) :

Page 81: Optimisation appliquée (statistique et probabilitiés appliquées)

3.3. Optimisation classique avec contraintes 71

F

x=

f

x+

g

x= 0

F

y=

f

y+

g

y= 0

F= g(x, y) = 0

Les points candidats s’obtiennent en résolvant ce système de trois équa-tions à trois inconnues (x, y, ).Mentionnons que la troisième équation de ce système F/ = g(x, y) =

0 n’est rien d’autre que la contrainte ! Les points candidats satisfont parconséquent cette contrainte.La solution des trois équations ci-dessus fournit les points candidats de la

fonction sous contrainte. Ces points candidats satisfont la contrainte mais ilreste à déterminer leur nature ; pour cela, introduisons lamatrice hessiennebordée :

H =

2F2

2F

x

2F

y

2F

x

2F

x2

2F

x y

2F

y

2F

y x

2F

y2

=

0g

x

g

y

g

x

2F

x2

2F

x y

g

y

2F

y x

2F

y2

dont le déterminant sera noté |H |.La condition su sante pour l’existence d’un extremum est fournie par le

résultat 3.5.

Résultat 3.5 Soit P (x0; y0; f(x0, y0)) le point en lequel

F/ x = F/ y = F/ = 0

Alors, si en ce point

|H |< 0 = minimum au point P.

|H |> 0 = maximum au point P.

Page 82: Optimisation appliquée (statistique et probabilitiés appliquées)

72 Optimisation classique

La méthode des multiplicateurs de Lagrange peut se généraliser à l’opti-misation d’une fonction à n variables f(x1, . . . , xn) soumise à k contraintes:

gj(x1, . . . , xn) = 0, j = 1, . . . , k où 1 k n

Dans ce cas, le Lagrangien s’écrit :

F (x1, x2, . . . , xn, 1, . . . , k) = f(x1, . . . , xn) +k

j=1

jgj(x1, . . . , xn)

L’annulation des premières dérivées partielles fournit un système de n + kéquations à n+ k inconnues :

F

x1=

f

x1+ 1

g1x1+ 2

g2x1+ . . .+ k

gkx1= 0

F

x2=

f

x2+ 1

g1x2+ 2

g2x2+ . . .+ k

gkx2= 0

...F

xn=

f

xn+ 1

g1xn+ 2

g2xn+ . . .+ k

gkxn= 0

F

1= g1(x1, . . . , xn) = 0

...F

k

= gk(x1, . . . , xn) = 0

Les conditions du deuxième ordre permettant de déterminer s’il s’agitd’un maximum ou d’un minimum reposent sur le calcul des mineurs de lamatrice hessienne bordée suivante :

Page 83: Optimisation appliquée (statistique et probabilitiés appliquées)

3.3. Optimisation classique avec contraintes 73

H =

. . . 0g1x1

. . .g1xn

0 . . . 0g2x1

. . .g2xn

.... . .

......

. . ....

0 . . . 0gkx1

. . .gkxn

g1x1

. . .gkx1

2F

x21. . .

2F

x1 xng1x2

. . .gkx2

2F

x2 x1. . .

2F

x2 xn...

. . ....

.... . .

...g1xn

. . .gkxn

2F

xn x1. . .

2F

x2n

Notons le mineur principal qui contient 2F/ x21 comme dernier élémentde la diagonale principale par |H1 |. |H2 | correspond au mineur principalqui contient 2F/ x22 comme dernier élément de la diagonale principale etainsi de suite. La condition su sante pour l’existence d’un minimum oud’un maximum dépend des signes des mineurs principaux |Hk+1 |, |Hk+2 |,. . . , |Hn |=|H |.Mentionnons qu’il existe au moins une contrainte (k 1) et que, par con-

séquent, | H1 | n’intervient jamais dans les calculs. La condition su santepour l’existence d’un extremum est donnée dans le résultat 3.6.

Résultat 3.6 La fonction f(x1, . . . , xn) soumise aux k contraintes :

gj(x1, . . . , xn) = 0, j = 1, . . . , k

admet :

• un maximum au point candidat si les mineurs principaux | Hk+1 |,| Hk+2 |, . . ., | Hn | sont de signe alterné, le signe de | Hk+1 | étantcelui de ( 1)k+1,

Page 84: Optimisation appliquée (statistique et probabilitiés appliquées)

74 Optimisation classique

• un minimum si les mineurs principaux | Hk+1 |, | Hk+2 |, . . ., | Hn |sont de même signe, celui de ( 1)k.

Exemple 3.9 Trouver les extrema de la fonction objectif :

f(x, y) = 5x2 + 6y2 xy

sous la contrainte :

x+ 2y = 24

La contrainte s’écrit g(x, y) = x+ 2y 24 = 0.Le Lagrangien est donné par :

F (x, y, ) = 5x2 + 6y2 xy + (x+ 2y 24)

L’annulation des premières dérivées partielles fournit un système de troiséquations à trois inconnues qu’il s’agit de résoudre.

F

x= 10x y + = 0 (3.12)

F

y= 12y x+ 2 = 0 (3.13)

F= x+ 2y 24 = 0 (3.14)

En éliminant des équations (3.12) et (3.13), on obtient 2y = 3x que l’onsubstitue dans (3.14).

x+ 3x 24 = 04x = 24

On obtient x0 = 6.Comme x+ 2y = 24, on trouve y0 = 9.Pour déterminer si le point candidat x0 = 6 et y0 = 9 est un extremum,

il faut calculer les dérivées partielles du deuxième ordre.

Page 85: Optimisation appliquée (statistique et probabilitiés appliquées)

3.3. Optimisation classique avec contraintes 75

2F

x2= 10

2F

y2= 12

2F

x y=

2F

y x= 1

Les dérivées partielles de la contrainte g(x, y) = x+ 2y 24 sont :

g

x= 1 et

g

y= 2

La matrice hessienne bordée est donc

H =0 1 21 10 12 1 12

Puisqu’il s’agit d’une fonction à deux variables soumise à une contrainte,on utilise le résultat 3.5.Comme |H |= 56 < 0, la fonction objectif sous la contrainte x+2y = 24

possède un minimum en x0 = 6 et y0 = 9.Nous avons donc trouvé la solution qui minimise la fonction objectif tout

en respectant la contrainte. Remarquons que cette même fonction, si ellen’est pas soumise à la contrainte x + 2y = 24, ne possède pas un minimumau même point ! Le lecteur peut vérifier que sans la contrainte, cette fonctionpossède un minimum en x0 = y0 = 0.

Exemple 3.10 Une entreprise fabrique trois types de machines : x1, x2 etx3. La fonction de coût conjointe C(x1, x2, x3) est :

C(x1, x2, x3) = 4x21 + 2x

22 + x

23 2x1x2 + x2x3 30x2 30x3

Combien de machines de chaque type l’entreprise doit-elle fabriquer pourminimiser son coût s’il lui faut un total de 00 machines ?

Il s’agit ici de minimiser la fonction de coût conjointe sous la contrainte :

x1 + x2 + x3 = 100

Ainsi g(x1, x2, x3) = x1 + x2 + x3 100.La fonction de Lagrange F (x1, x2, x3, ) est donnée par :

Page 86: Optimisation appliquée (statistique et probabilitiés appliquées)

76 Optimisation classique

F (x1, x2, x3, ) = C(x1, x2, x3) + g(x1, x2, x3)= 4x21 + 2x

22 + x

23 2x1x2 + x2x3 30x2 30x3

+ (x1 + x2 + x3 100)

Annulons les premières dérivées partielles :

F

x1= 8x1 2x2 + = 0 (3.15)

F

x2= 4x2 2x1 + x3 30 + = 0 (3.16)

F

x3= 2x3 + x2 30 + = 0 (3.17)

F= x1 + x2 + x3 100 = 0 (3.18)

Tirons de la première équation : = 2x2 8x1. En substituant dansles équations (3.16) et (3.17), on obtient avec l’équation (3.18) un systèmede trois équations à trois inconnues :

10x1 + 6x2 + x3 = 30 (3.19)

8x1 + 3x2 + 2x3 = 30 (3.20)

x1 + x2 + x3 = 100 (3.21)

De (3.21), on tire x1 = 100 x2 x3 que l’on remplace dans (3.19) et(3.20) pour obtenir :

16x2 + 11x3 = 1030 (3.22)

11x2 + 10x3 = 830 (3.23)

De (3.23), on tire x3 =830 11x2

10que l’on substitue dans (3.22).

16x2 +11

10(830 11x2) = 1030

160x2 121x2 = 117039x2 = 1170x2 = 30

Page 87: Optimisation appliquée (statistique et probabilitiés appliquées)

3.3. Optimisation classique avec contraintes 77

En utilisant ce résultat dans (3.23), on obtient :

330 + 10x3 = 83010x3 = 500x3 = 50

Finalement, en se basant sur (3.21), on en conclut quex1 = 100 30 50 = 20.Ainsi, le point candidat est x1 = 20, x2 = 30 et x3 = 50. Vérifions à

présent qu’il s’agit bien d’un minimum. Pour cela, calculons :

g

x1= 1

g

x2= 1

g

x3= 1

2F

x21= 8

2F

x22= 4

2F

x23= 2

2F

x1 x2= 2

2F

x1 x3= 0

2F

x2 x3= 1

La matrice hessienne bordée est par conséquent donnée par :

H =

0 1 1 11 8 2 01 2 4 11 0 1 2

On a alors :

|H2 |=0 1 11 8 21 2 4

= 16 et |H3 |=

0 1 1 11 8 2 01 2 4 11 0 1 2

= 39

Comme dans cet exemple il n’y a qu’une contrainte, (k = 1), on a donc :

|Hk+1 | =|H2 |= 16

|Hk+2 | =|Hn |=|H3 |= 39

( 1)k = ( 1)1 = 1

Page 88: Optimisation appliquée (statistique et probabilitiés appliquées)

78 Optimisation classique

Selon le résultat 3.6, les mineurs |H2 | et |H3 | sont du même signe que( 1)k ; le point x1 = 20, x2 = 30 et x3 = 50 est donc un minimum.

Exemple 3.11 Une firme produit des appareils dans deux usines di érentes.Les coûts de production respectifs pour les deux usines sont :

C1 = 200 + 6q1 + 0, 03q21

C2 = 150 + 10q2 + 0, 02q22

où q1 et q2 représentent le nombre d’appareils produits dans chaque usine.La firme s’est engagée à livrer 100 appareils à une entreprise de Zürich. Lesfrais de transport par appareil sont de Fr. 4.- pour les livraisons à partir dela première usine et de Fr. 2.- pour les livraisons à partir de la seconde usine.Les frais de transport sont supportés par la firme productrice.Calculons le nombre d’appareils que la firme doit produire dans chaque

usine afin de minimiser le coût total (coût de transport y compris).Le coût total C(q1, q2) est égal à :

C(q1, q2) = (C1 + 4q1) + (C2 + 2q2)= 0, 03q21 + 0, 02q

22 + 10q1 + 12q2 + 350

Comme la firme doit livrer 100 appareils au total, il faut tenir compte dela contrainte q1 + q2 = 100.Nous allons résoudre ce problème avec l’outil Solveur d’Excel, présenté

au chapitre 2. La première étape consiste à nommer les cellules contenantles variables. En choisissant l’option Créer dans le menu Insertion puisNom. Les valeurs données n’ont pour le moment aucune importance, maisles cellules ne peuvent pas être vides lorsque l’on utilise le Solveur.

Figure 3.7 : Attribution des noms q1 et q2 aux cellules A2 et B2

Page 89: Optimisation appliquée (statistique et probabilitiés appliquées)

3.3. Optimisation classique avec contraintes 79

Nous allons maintenant saisir la fonction à minimiser, ainsi que la con-trainte dans les cellules A4 et A5.

Figure 3.8 : Saisie des fonctions

Notons que les fonctions n’apparaîtront pas à l’écran. Excel calcule lesrésultats avec les valeurs actuelles des variables.Sélectionner la cellule contenant la fonction à minimiser et lancer le

Solveur du menu Outil. La cellule cible est la fonction à minimiser, lescellules variables sont les cellules A2 et B2 et la contrainte doit être égale à100. De plus, les deux variables doivent être positives.

Figure 3.9 : Le Solveur est prêt à résoudre ce problème

Cliquer sur Résoudre et après quelques secondes, le résultat s’a che :

Page 90: Optimisation appliquée (statistique et probabilitiés appliquées)

80 Optimisation classique

Figure 3.10 : Solution de la minimisation sous contrainte

En plus des valeurs de q1 et q2 qui minimisent le coût sous la contrainte dela quantité totale produite, Excel a che le coût total et le nombre de piècesproduites.

Le Solveur, avant d’a cher le résultat, propose di érents rapports. Dansle cas d’une optimisation classique sous contrainte, en sélectionnant rapportde sensibilité, Excel crée une feuille de calcul sur laquelle on lit, entre autres,la valeur du multiplicateur de Lagrange.

Remarque 3.1 La méthode des multiplicateurs de Lagrange ne peut pas êtreutilisée dans tous les cas. Notamment lorsque le problème d’optimisationpossède des contraintes de non-négativité ou lorsque la fonction n’est pasdérivable, cette méthode n’est pas adaptée.

Voyons à l’aide de deux exemples les di cultés rencontrées dans de tellessituations.

Page 91: Optimisation appliquée (statistique et probabilitiés appliquées)

3.3. Optimisation classique avec contraintes 81

Figure 3.11 : Rapport de sensibilité

Exemple 3.12 Considérons le problème d’optimisation suivant :Minimiser f(x1, x2, x3) = x1 + x2 + x3 sous les contraintes suivantes :

x1 + 2x2 + 3x3 = 12x1 0x2 0x3 0

Les trois dernières contraintes sont appelées contraintes de non-négati-vité. Il faut les transformer en contraintes d’égalité puisque la méthodedes multiplicateurs de Lagrange est basée sur ce type de contraintes. Cettetransformation peut se faire en soustrayant respectivement à x1, x2 et x3 lecarré des variables u1, u2 et u3. Comme un carré est toujours positif ou nul,l’égalité est respectée si et seulement si x1, x2 et x3 sont non-négatifs ; lestrois contraintes de non-négativité sont donc équivalentes à :

x1 u21 = 0

x2 u22 = 0

x3 u23 = 0

Page 92: Optimisation appliquée (statistique et probabilitiés appliquées)

82 Optimisation classique

La fonction de Lagrange correspondante est donnée par :

F (x1, x2, x3) = x1 + x2 + x3 + 1(x1 u21) + 2(x2 u22)+ 3(x3 u23) + 4(x1 + 2x2 + 3x3 12).

En annulant les dérivées partielles par rapport aux variables x1, x2, x3,u1, u2 et u3, on obtient :

F

x1= 1 + 1 + 4 = 0

F

x2= 1 + 2 + 2 4 = 0

F

x3= 1 + 3 + 3 4 = 0

F

u1= 2 1u1 = 0 1u1 = 0

F

u2= 2 2u2 = 0 2u2 = 0

F

u3= 2 3u3 = 0 3u3 = 0

Comme xj = u2j pour j = 1, 2, 3, les trois dernières équations indiquentqu’il existe pour chacune d’elles deux possibilités : soit j = 0, soit xj = 0,pour j = 1, 2, 3. Il y a donc au total 23 = 8 cas di érents.Dans le cas général où il y a n variables, il faudra considérer 2n cas. Dans

ce type de situation, la méthode des multiplicateurs de Lagrange s’avèreinutilisable, car il est impossible, dans la pratique, de considérer tous les 2n

cas possibles lorsque n est grand.

Exemple 3.13 Dans le cas du modèle de régression linéaire simple :

Y = 0 + 1X +

on a vu que 0 et 1 pouvaient être estimés en minimisant la somme desécarts au carré, à savoir :

Page 93: Optimisation appliquée (statistique et probabilitiés appliquées)

3.3. Optimisation classique avec contraintes 83

minn

i=1

2i = min

n

i=1

(Yi 0 1Xi)2

Mais on peut également trouver 0 et 1 en minimisant la moyenne absoluedes écarts, c’est-à-dire :

min1

n

n

i=1

| Yi 0 1Xi |

et ceci sous la contrainte :

Y0 = 0 + 1X0

pour une paire donnée (X0, Y0).Or ici, on ne peut employer ni la méthode des multiplicateurs de Lagrange

ni une autre méthode classique, car on sait que la fonction “valeur absolue”n’est pas di érentiable en son point minimum où elle forme un angle, commel’indique la figure 3. 2.

x

f(x)

Figure 3.12 : f(x) =| x | n’est pas di érentiable en x = 0

Nous venons donc de voir que la méthode des multiplicateurs de Lagrangea des lacunes lorsque l’on rencontre des contraintes de non-négativité. Or, cescontraintes sont très importantes en économie. Par conséquent, il nous fautaborder d’autres méthodes lorsque les contraintes se présentent sous formed’égalité ou d’inégalité.

Page 94: Optimisation appliquée (statistique et probabilitiés appliquées)

84 Optimisation classique

Ce genre de méthodes peut être classé dans la programmation mathémati-que, comme mentionné dans le chapitre 1. Nous allons toutefois limiter notreétude à des problèmes spécifiques dans lesquels la fonction objectif et lescontraintes sont linéaires. Ce type de problèmes sera traité sous le nom deprogrammation linéaire.

3.4 Exercices

1. Une fabrique utilise deux facteurs de production x et y pour produireun certain nombre d’unités d’un bien z.

Le prix d’une unité du facteur x est de 3 CHF et celui d’une unité dufacteur y est 2 CHF. La fonction de coût de production est donc :

c = 3x+ 2y

Si cette fabrique doit produire 300 unités du bien z et que la fonction deproduction est donnée par z = 4 2(15)x3/4y1/4 (contrainte!), combiendevra-t-elle acheter d’unités de x et de y pour minimiser le coût deproduction ?

2. Un investisseur décide d’acheter trois types d’actions pour un montantcompressif de 400 CHF. SoitX1, X2 etX3 le montant consacré à chaquetype d’action, ainsi X1 +X2 +X3 = 400. Le taux de rendement pourchaque action est une variable aléatoire dont l’espérance mathématiqueet la variance sont données par le tableau suivant :

type d’action rendement moyen variance1 0,20 1/52 0,15 1/103 0,10 1/25

On appelle rendement moyen espéré du placement, l’expression :

R = 0.20X1 + 0.15X2 + 0.10X3

On appelle risque du placement, l’expression suivante (c’est-à-dire lavariance) :

Page 95: Optimisation appliquée (statistique et probabilitiés appliquées)

3.4. Exercices 85

V =1

5X21 +

1

10X22 +

1

25X23

(a) Trouver X1, X2 et X3 tels qu’ils minimisent le risque. À quelrendement moyen espéré correspond cette répartition des achats?

(b) Trouver X1, X2 et X3 tels qu’ils minimisent le risque sous la con-trainte additionnelle que le rendement moyen espéré R = 60. Parrapport à la situation sous (a), le risque est-il plus grand ou plusfaible ?

3. Une firme produit un certain bien qu’elle vend sur le marché au prixunitaire de 8 CHF. La quantité produite (et vendue) est donnée par:

Q = 8K3/8L1/8

où K représente les unités de facteur capital employées et L les unitésde facteur travail employées. Le revenu de la firme s’élève donc à8Q = 64K3/8L1/8. Le coût de production de cette firme est donné parC = 12K + 4L.

(a) Trouver les quantités de K et L que la firme doit employer afinde maximiser son bénéfice.

(b) La firme constate que la politique de maximisation du bénéficene lui assure pas une part de marché su sante. Elle décide enconséquence d’adopter la politique de maximisation de la quantitévendue sous réserve d’un bénéfice minimal égal à 48 CHF.

i. Formuler explicitement le problème de maximisation sous con-trainte.

ii. Montrer que dans la solution optimale, la combinaisonoptimale des facteurs (c’est-à-dire leurs proportions) reste lamême que dans le problème de maximisation du bénéfice.

iii. Donner la solution complète pour K,L et Q.

Page 96: Optimisation appliquée (statistique et probabilitiés appliquées)

86 Optimisation classique

4. La fonction de production d’une firme est donnée par

Q = 4K1/4L3/4

où K et L sont les deux facteurs de production et Q la quantité pro-duite. La firme achète les deux facteurs sur le marché : le prix unitairede L est de 3 CHF et, en raison d’une pénurie, le prix unitaire de Kest une fonction croissante de K suivant la formule :

pk = 2 + 0, 1K

Sachant que la somme consacrée à l’achat des deux facteurs de produc-tion est de 150 CHF, trouver les valeurs de K et L qui maximisent laproduction. Quel est le prix unitaire de K ?

5. Maximiser z = x lnx y ln y sous la contrainte x+ y = 1.

6. Une firme monopolistique produit un certain bien. Le coût total de saproduction est représenté par la fonction :

C = 2I2 + 5q2 20q + 400

où q représente les unités produites et I un indice de qualité du produit(par exemple le degré de ra nage du produit).

Le prix que la firme peut exiger sur le marché est fonction de l’indicede qualité :

p = 100 3q + 4I

(a) Calculer la recette totale de la firme.

(b) Trouver q et I tels qu’ils maximisent le bénéfice de la firme.

(c) Vérifier les conditions de deuxième ordre.

7. Vous partez en vol charter pour un voyage aux États-Unis. Dans votrevalise vous êtes autorisé à emporter 24 kg. Vos a aires de toilette pèsent4 kg et vous voulez utiliser les 20 kg qui restent de façon optimale. Vous

Page 97: Optimisation appliquée (statistique et probabilitiés appliquées)

3.4. Exercices 87

aimeriez emporter trois sortes de biens : blue jeans notés X, T-shirtsnotés Y et pull-overs notés Z. Les poids unitaires respectifs sont (enkg) :

pX = 2 pY = 0, 5 pZ = 1

L’utilité que ces vêtements vous procurent pendant votre voyage estmesurée par la fonction :

U = X2Y Z

(a) Choisissez X, Y et Z de façon à maximiser l’utilité.

(b) Ayant choisi votre assortiment optimal, vous vous rendez compteque vous ne pouvez pas fermer votre valise. Le volume totaldisponible (après y avoir rangé vos a aires de toilette) est de40dm3. Le volume unitaire respectif des trois vêtements (en dm3)est :

VX = 4 VY = 2/3 VZ = 3

Trouvez la combinaison optimale sous la double contrainte dupoids et du volume. Vérifier alors la condition de deuxième ordre.

8. Trouver l’extremum de :

f(x, y, z) = x2 2xy + y2 + 5z2

sous la contrainte :

x+ y + 2z = 10

9. Une entreprise a la fonction de production suivante :

Q = 8K1/2L1/4

où Q est la production, K le capital et L le travail. Le prix du capitalest pK = 4, le taux de salaire pL = 2 et l’entreprise désire produireQ = 64. Trouver la combinaison des facteurs K et L donnant aumoindre coût la production requise.

Page 98: Optimisation appliquée (statistique et probabilitiés appliquées)

88 Optimisation classique

10. Déterminer les extrema de la fonction f(x, y) = ln | x | + ln | y |, x ety étant liés par la contrainte x2 + y2 = 9.

11. Une entreprise fabrique deux types de machines : x et y. La fonctionde coût conjointe est donnée par :

f(x, y) = x2 + y2 10x 12y + 151

Trouver le nombre de machines de chaque type que l’entreprise doitfabriquer pour minimiser son coût.

À l’aide des conditions du second ordre, montrer qu’il s’agit bien d’unminimum.

12. Un consommateur dépense 24 CHF pour l’achat de deux biens : x ety. Les prix de x et de y sont respectivement de 1 CHF et de 2 CHF. Lafonction d’utilité du consommateur est donnée par U = 5x2+6y2 xy.

Combien d’unités de chaque bien doit-il consommer pour maximiserson utilité ?

Page 99: Optimisation appliquée (statistique et probabilitiés appliquées)

Chapitre 4

Programmation linéaire

4.1 Introduction

À partir de la fin de la Seconde Guerre mondiale, de nouvelles méthodespermirent de résoudre des problèmes complexes là où les méthodes classiqueséchouaient. Ces méthodes furent connues sous le nom de programmationlinéaire, développées principalement par George B. Dantzig (né le 8 novembre1914), mathématicien américain et créateur de la méthode du Simplexe, etL. Kantorovich (1912-1986).Danzig, outre la programmation linéaire, étudia entre autres la program-

mation mathématique, la prise de décision et les modèles de planificationà large échelle. L’impact de son œuvre fut considérable en gestion et enéconomie et ses méthodes restent totalement d’actualité.Ce chapitre permet de se familiariser avec les notions relatives à la pro-

grammation linéaire. Plusieurs exemples illustrent les di érents domainesd’application de la programmation linéaire, notamment en économie.Les problèmes exposés dans ce chapitre seront résolus graphiquement.

Les techniques de résolution numériques seront abordées au chapitre suivant.

4.2 Problèmes de programmation mathéma-tique

De manière générale, la résolution de problèmes de programmation mathéma-tique vise à déterminer l’allocation optimale (c’est-à-dire la meilleure combi-

89

Page 100: Optimisation appliquée (statistique et probabilitiés appliquées)

90 Programmation linéaire

naison possible) de ressources limitées pour atteindre certains objectifs. Lesallocations doivent minimiser ou maximiser une fonction dite objectif. Enéconomie, ces fonctions sont par exemple le profit ou le coût.Ces problèmes, traités par la programmation mathématique, se distinguent

des problèmes d’optimisation classique par le fait que leurs solutions sontd’ordre numérique. Celles-ci sont obtenues par une technique numériqueitérative, alors que les solutions à un problème classique sont en général don-nées sous forme de formules fermées.La forme générale d’un problème de programmation mathématique est la

suivante :

Optimiser z = f(x1, x2, . . . , xn) (4.1)

sous contraintes hi(x1, x1, x2, . . . , xn) = bi (4.2)

i = 1, 2, . . . ,m

où les fonctions f et hi sont des fonctions numériques à n variables. La fonc-tion f de (4.1) est la fonction objectif à optimiser, tandis que les équationsou inéquations de (4.2) sont les contraintes.Selon la nature des fonctions f et hi, on peut être confronté à plusieurs

types de problèmes de programmation mathématique.Lorsque les fonctions f et hi, i = 1, . . . ,m sont linéaires, il s’agit d’un

problème de programmation linéaire. Si de plus, on impose que les variablesne peuvent prendre que des valeurs entières, on parle de programmationlinéaire entière. Les problèmes dans lesquels la fonction f ou hi sont non-linéaires font partie de la programmation non-linéaire. Un cas particulierest la programmation quadratique relative aux problèmes pour lesquels lafonction f est quadratique et les fonctions hi linéaires. Par la suite, nousétudierons essentiellement les problèmes de programmation linéaire.

4.3 Problèmes de programmation linéaire

La programmation linéaire est définie comme étant un cas particulier dela programmation mathématique pour laquelle (4.1) et (4.2) sont linéaires.De plus, les variables sont supposées être non-négatives. Un problème de

Page 101: Optimisation appliquée (statistique et probabilitiés appliquées)

4.3. Problèmes de programmation linéaire 91

programmation linéaire revient donc à :

Optimiser z = c1x1 + . . .+ cnxn

sous contraintes ai1x1 + . . .+ ainxn = bi (4.3)

i = 1, . . . ,m

et

xj 0, j = 1, . . . , n (4.4)

où aij, bi et cj sont des constantes connues.Les contraintes xj 0, j = 1, . . . , n sont appelées contraintes de non-

négativité.Voyons à présent quelques exemples simples de programmation linéaire

que l’on peut rencontrer dans di érents contextes réels. Ces exemples ontpour but de formuler mathématiquement un problème donné. La résolutionse fera ici graphiquement.

Exemple 4.1 Il s’agit d’un exemple de production dans lequel une entreprisefabrique des chaises et des tables à l’aide de deux machines A et B. Chaqueproduit passe obligatoirement par les deux machines. Pour produire unechaise, il faut 2 heures de machine A et heure de machine B. Pour pro-duire une table, il faut heure de machine A et 2 heures de machine B.L’entreprise réalise un bénéfice de Fr. 3.- sur chaque chaise et de Fr. 4.- surchaque table. Les deux machines A et B sont disponibles 2 heures par jourau maximum.

Le problème consiste à savoir combien de chaises et de tables il fautfabriquer pour maximiser le bénéfice. Le tableau suivant montre :

1. le nombre d’heures nécessaires pour produire chaque table et chaquechaise par machine ;

2. le nombre total des heures disponibles ;

3. le profit pour chaque unité de chaise et de table produite.

Page 102: Optimisation appliquée (statistique et probabilitiés appliquées)

92 Programmation linéaire

Machine Produit DisponibilitéChaise Table

A 2 1 12B 1 2 12

Bénéficepar unité 3 4

Il s’agit à présent de formuler mathématiquement le problème.Notons respectivement par x1 et x2 le nombre de chaises et de tables qui

doit être produit par jour.Le bénéfice pour une chaise étant de Fr. 3.- et celui pour une table de

Fr. 4.-, le bénéfice journalier est donc donné par la fonction objectif :

z = 3x1 + 4x2 (4.5)

qu’il s’agit de maximiser. Il faut dès lors formuler les contraintes. Puisquele temps où les machines peuvent fonctionner est limité, on ne peut pasaccroître la production indéfiniment. Les machines A et B ne peuvent pasfonctionner plus de 12 heures par jour. On sait que pour produire une chaise,il faut 2 heures de machine A alors que pour une table il n’en faut qu’une.La contrainte concernant la machine A est donc :

2x1 + 1x2 12 (4.6)

De même, une chaise requiert 1 heure de machine B, tandis qu’une tableen demande 2. La contrainte concernant la machine B, avec la même duréemaximale de 12 heures par jour, est donnée par :

x1 + 2x2 12 (4.7)

De plus, comme on ne peut pas produire de quantités négatives, il fautajouter encore deux contraintes de non-négativité :

x1 0 (4.8)

et

x2 0 (4.9)

Page 103: Optimisation appliquée (statistique et probabilitiés appliquées)

4.3. Problèmes de programmation linéaire 93

Le problème consiste donc à trouver les valeurs des variables x1 et x2qui maximisent le bénéfice journalier (4.5) tout en satisfaisant les contraintes(4.6) à (4.9).En résumé, le problème s’écrit sous la forme :

Maximiser z = 3x1 + 4x2sous contraintes 2x1 + x2 12

x1 + 2x2 12et x1, x2 0

• Représentation graphique du problème de programmationlinéaireL’exemple de production décrit ci-dessus peut être représenté graphique-ment puisqu’il ne contient que deux variables. Avant de rechercher lasolution du problème, représentons sur la figure 4.1 la région des points(x1; x2) qui satisfont les quatre contraintes simultanément. Les deuxcontraintes de non-négativité x1, x2 0 indiquent que cette région setrouve dans le premier quadrant. En ce qui concerne les deux autresinégalités, on étudie les équations de droite :

2x1 + 1x2 = 12

etx1 + 2x2 = 12

La première est une droite passant par les points (6 ;0) et (0 ;12), tandisque la deuxième passe par (12 ;0) et (0 ;6). L’intersection de ces deuxdroites est le point (4 ;4). La région des points satisfaisant les quatreinégalités est la région hachurée sur la figure 4.1. Elle a pour sommetsles points (0 ;0), (0 ;6), (4 ;4) et (6 ;0).Pour résoudre le problème de programmation linéaire, nous devonstrouver le ou les points appartenant à ce polyèdre convexe et max-imisant la fonction objectif : z = 3x1 + 4x2. Pour une valeur donnéede z, il s’agit d’une droite. En attribuant di érentes valeurs à z onobtient autant de droites parallèles (quelle que soit la valeur de z, lapente reste inchangée et vaut 3/4).Puisque le but est de maximiser la fonction objectif, la recherche dela solution optimale se fait en translatant la droite z = 3x1 + 4x2 demanière à ce que l’ordonnée à l’origine soit la plus grande. De plus,

Page 104: Optimisation appliquée (statistique et probabilitiés appliquées)

94 Programmation linéaire

pour satisfaire les contraintes, l’intersection de cette droite avec la ré-gion hachurée doit être non vide.Sur la figure 4.1, la fonction objectif est tracée pour trois valeurs de z.La première valeur est z1 = 18. Cette valeur n’est pas optimale puisquel’on peut encore déplacer la fonction objectif en gardant des points com-muns avec la région hachurée. La deuxième valeur z2 = 28. Il s’agit dela valeur optimale puisque l’ordonnée à l’origine est la plus grande pos-sible tout en gardant un point d’intersection avec la région hachurée.La troisième valeur z3 = 38 ne peut pas être optimale puisqu’il n’y aplus de point en commun entre la droite et la région hachurée.Ainsi dans cet exemple, la solution optimale se situe à l’intersection desdeux droites 2x1 + x2 = 12 et x1 + 2x2 = 12. Il s’agit d’une solutionunique donnée par x1 = 4 et x2 = 4. Cela signifie que le bénéfice estmaximal lorsqu’on produit 4 chaises et 4 tables par jour. Ce bénéfices’élève à z = 3(4) + 4(4) = 28 par jour.À noter que la solution optimale est l’un des sommets du polyèdre(point extrême). Nous verrons au chapitre 5 que lorsque la solutionexiste, elle coïncide toujours avec un point extrême du polyèdre (bienque la solution ne soit pas forcément unique).

Z=38

Z=28

Z=18 x1

x2

Figure 4.1 : Région réalisable et fonction objectif pour z1 = 18,z2 = 28 et z3 = 38

Exemple 4.2 Voyons à présent un cas où la fonction objectif doit être min-imisée. Une compagnie possède deux mines de charbon A et B. La mine Aproduit quotidiennement tonne de charbon de qualité supérieure, tonne de

Page 105: Optimisation appliquée (statistique et probabilitiés appliquées)

4.3. Problèmes de programmation linéaire 95

qualité moyenne et 6 tonnes de qualité inférieure. La mine B produit par jour2, 4 et 3 tonnes de chacune des trois qualités. La compagnie doit produireau moins 90 tonnes de charbon de qualité supérieure, 20 tonnes de qualitémoyenne et 80 tonnes de qualité inférieure.Sachant que le coût de production journalier est le même dans chaque

mine, soit 000, quel est le nombre de jours de production dans la mine Aet dans la mine B qui minimisent le coût de production de la compagnie ?

Pour traduire ce problème sous la forme d’un programme linéaire, posonsx1 le nombre de jours de travail dans la mine A et x2 celui dans la mine B. Parjour, la mine A permet de produire 1 tonne de charbon de qualité supérieuretandis que la mine B peut en produire 2 tonnes. Comme la compagnie doiten produire au moins 90 tonnes, la contrainte s’écrit :

x1 + 2x2 90

De même, pour les deux autres qualités de charbon, on trouve :

x1 + 4x2 1206x1 + 3x2 180

La fonction objectif à minimiser est :

z = 1000x1 + 1000x2

Le problème de programmation linéaire s’écrit donc :

Minimiser z = 1000x1 + 1000x2sous contraintes x1 + 2x2 90

x1 + 4x2 1206x1 + 3x2 180x1, x2 0

La figure 4.2 indique dans sa partie hachurée l’ensemble des points (x1; x2)qui satisfont les contraintes. Il s’agit dans ce cas d’une région non-bornée quia pour sommets les points :

1. intersection de la droite d’équation 6x1 + 3x2 = 180 avec l’axe x2 :(0 ;60) ;

Page 106: Optimisation appliquée (statistique et probabilitiés appliquées)

96 Programmation linéaire

2. intersection des droites 6x1 + 3x2 = 180 et x1 + 2x2 = 90 : (10 ;40) ;

3. intersection des droites x1 + 2x2 = 90 et x1 + 4x2 = 120 : (60 ;15) ;

4. intersection de la droite d’équation x1 + 4x2 = 120 avec l’axe x1 :(120 ;0).

1 2 01 0 08 06 04 02 0

8 0

6 0

4 0

2 0

0 x 1

x 2

z = 1 0 0 0 x 1+ 1 0 0 0 x 2

Figure 4.2 : L’ensemble des solutions réalisables n’est pas borné.Le point optimal a pour coordonnées (10 ;40).

La fonction objectif étant donnée par z = 1000x1+1000x2, sa pente vaut1. En traçant des droites parallèles ayant pour pente 1, on s’aperçoit

que celle qui conserve un point en commun avec la région réalisable et dontl’ordonnée à l’origine est la plus petite est la droite passant par le sommet(10 ;40). La solution optimale est donc x1 = 10 et x2 = 40. Le coût deproduction est donné par :

z = 1000(10) + 1000(40) = 50000

Exemple 4.3 Il s’agit ici d’un problème que l’on peut résoudre par la pro-grammation linéaire, c’est-à-dire un problème de transport. Ce type de prob-lème se définit comme suit.

Page 107: Optimisation appliquée (statistique et probabilitiés appliquées)

4.3. Problèmes de programmation linéaire 97

Connaissant les quantités disponibles de chacune des unités de production,les quantités requises aux points de distribution et le coût de transport d’unbien d’une usine vers un point de vente, il s’agit de déterminer le plan detransport optimal, c’est-à-dire de déterminer les quantités de biens que chaqueusine va envoyer vers chacun des points de vente afin que le coût de transporttotal soit minimum. On suppose qu’il est possible d’expédier des produits den’importe quelle origine vers n’importe quelle destination.L’exemple ci-dessous est le cas d’une fabrique de conserves qui expédie

des caisses vers ses dépôts. Nous voulons que le plan d’expédition des caissesminimise le coût total de transport des usines aux dépôts. Pour simplifier,supposons qu’il y a deux usines et trois dépôts. L’o re des usines et lesdemandes des dépôts sont les suivantes (en nombre de caisses) :

usine 1 : 350 dépôt 1 : 200usine 2 : 450 dépôt 2 : 300

dépôt 3 : 50

Les coûts de transport de chaque origine vers chaque destination sontdonnés dans le tableau ci-dessous (en francs par caisse) :

Usines Dépôts1 2 3

1 25 17 162 24 18 14

Ainsi, le coût pour transporter une caisse de l’usine 1 au dépôt 1 est de25, le coût pour transporter une caisse de l’usine 2 vers le dépôt 1 est de 24,et ainsi de suite.Ce problème peut se formuler sous la forme d’un problème de program-

mation linéaire. Notons par cij le coût de transport d’une caisse de l’originei vers la destination j. Nous avons donc, d’après le tableau précédent :

Page 108: Optimisation appliquée (statistique et probabilitiés appliquées)

98 Programmation linéaire

c11 = 25

c12 = 17

c13 = 16

c21 = 24

c22 = 18

c23 = 14

Soit ai la quantité de caisses disponibles à l’origine i et bj celle requise àla destination j.

Nous pouvons représenter le problème sous forme d’un diagramme (figure4.3). Les lignes qui relient les usines aux dépôts peuvent être considéréescomme des routes. On y indique leur coût de transport unitaire respectif.

À noter que le nombre de caisses disponibles doit être supérieur ou égalau nombre de caisses requises :

a1 + a2 b1 + b2 + b3

Dans le cas contraire, le problème n’a pas de solutions réalisables.

Si xij représente le nombre de caisses expédiées de l’origine i vers ladestination j, le coût total de l’expédition se traduit alors par l’équation :

z = 3j=1

2i=1 cijxij = c11x11 + c12x12 + c13x13

c21x21 + c22x22 + c23x23

z = 25x11 + 17x12 + 16x13 + 24x21 + 18x22 + 14x23

C’est la fonction objectif à minimiser.

Page 109: Optimisation appliquée (statistique et probabilitiés appliquées)

4.3. Problèmes de programmation linéaire 99

a2 = 450

a1 = 350

2

1

25

17

2424

18

14

Usines

b3 = 50

b2 = 300

b1 = 200

Dépôts

3

2

1

Figure 4.3 : Coût de transport unitaire des usines aux dépôts

Comme il est impossible d’expédier plus de caisses d’une origine donnéequ’il n’y en a de disponibles, nous sommes confrontés aux deux contraintes :

3

j=1

x1j = x11 + x12 + x13 350 (usine 1)

3

j=1

x2j = x21 + x22 + x23 450 (usine 2)

Page 110: Optimisation appliquée (statistique et probabilitiés appliquées)

100 Programmation linéaire

De plus, il faut approvisionner chacun des trois dépôts avec la quantitérequise, ce qui nous donne trois nouvelles contraintes :

2

i=1

xi1 = x11 + x21 = 200 (dépôt 1)

2

i=1

xi2 = x12 + x22 = 300 (dépôt 2)

2

i=1

xi3 = x13 + x23 = 50 (dépôt 3)

Comme il n’est pas possible d’expédier des quantités négatives, nous avonsencore les six contraintes de non-négativité suivantes :

xij 0, i = 1, 2 et j = 1, 2, 3

Finalement, le programme linéaire à résoudre est :

Minimiser z = 25x11 + 17x12 + 16x13 + 24x21 + 18x22 + 14x23sous contraintes x11 + x12 + x13 350

x21 + x22 + x23 450x11 + x21 = 200x12 + x22 = 300x13 + x23 = 50

et xij 0, i = 1, 2 et j = 1, 2, 3

Comme ce problème présente plus de deux variables, nous ne pouvonspas le résoudre géométriquement. En fait, il s’agit d’un cas particulier deprogrammation linéaire dont les méthodes de résolution feront l’objet duchapitre 7.

4.4 Les di érents types de solutions d’un prob-lème de programmation linéaire

Jusqu’ici, les problèmes résolus graphiquement avaient une solution optimaleunique, ce qui n’est pas toujours le cas. En e et, trois autres situationspeuvent se présenter. Ces di érents types de solutions sont expliqués dansles problèmes suivants.

Page 111: Optimisation appliquée (statistique et probabilitiés appliquées)

4.4. Les di érents types de solutions d’un problème de programmation linéaire101

Problème 1 :

Maximiser z = x1 + x2sous contraintes 2x1 + 2x2 8

et x1, x2 0

Comme indiqué sur la figure 4.4, la région réalisable est ici un trianglerectangle dont les sommets sont les points (0 ;0), (0 ;4) et (4 ;0). La fonctionobjectif est parallèle à l’hypoténuse et la droite qui permet d’attribuer la plusgrande valeur à z est le segment de droite reliant les sommets (0 ;4) et (4;0). Par conséquent, tous les points de ce segment représentent une solutionoptimale au problème. Il existe donc une infinité de solutions qui donnent lamême valeur de z, à savoir 4. Comme les solutions optimales à ce problèmecorrespondent au segment de droite d’extrémités (0 ;4) et (4 ;0), elles peuventêtre décrites par l’ensemble :

x1x2

=04

+ (1 )40

, 0 1

En faisant varier entre 0 et 1 on obtient toutes les solutions optimales.

x1

x2

Figure 4.4 : Infinité de solutions

Page 112: Optimisation appliquée (statistique et probabilitiés appliquées)

102 Programmation linéaire

Problème 2 :

Maximiser z = 2x1 + 5x2sous contraintes 8x1 + 4x2 40

x1 + 5x2 10et x1, x2 0

Dans cet exemple, il su t d’attribuer à x1 et x2 des valeurs su sammentgrandes pour que les contraintes soient satisfaites. La valeur de la fonctionobjectif peut être augmentée indéfiniment.Sur la figure 4.5, nous constatons que la région réalisable n’est pas bornée

et que la fonction objectif peut être déplacée à l’infini en conservant toujoursune intersection non vide avec la région réalisable. Dans ce cas, on dit quele programme linéaire possède une solution optimale infinie.

x 1

x 2

Figure 4.5 : Solution optimale infinie

Il reste un troisième cas possible, celui pour lequel il n’existe pas desolution réalisable. Considérons l’exemple suivant.Problème 3 :

Maximiser z = x1 + 2x2sous contraintes x1 + x2 2

x1 x2 3et x1, x2 0

Page 113: Optimisation appliquée (statistique et probabilitiés appliquées)

4.4. Les di érents types de solutions d’un problème de programmation linéaire103

La figure 4.6 ne présente pas de région réalisable. En e et, il n’existeaucun point qui satisfait simultanément les deux contraintes ainsi que lescontraintes de non-négativité. Le programme linéaire ne possède donc aucunesolution.

x1

x2

Figure 4.6 : Aucune solution

En résumé, il existe quatre types de solutions à un problème de program-mation linéaire :

1. solution optimale unique ;

2. infinité de solutions optimales ;

3. solution optimale infinie ;

4. aucune solution.

Exemple 4.4 Un épicier possède 450 kg de cacahuètes et 300 kg de noixen stock. Il vend à ses clients trois mélanges di érents : le premier, quine contient que des cacahuètes, est vendu au prix de 25 CHF le kilo. Ledeuxième mélange est composé de deux tiers de cacahuètes et d’un tiers denoix ; il est vendu au prix de 40 CHF le kilo. Le troisième mélange contientun quart de cacahuètes et trois quarts de noix ; son prix est de 50 CHF lekilo. L’épicier aimerait savoir combien de kilos de chaque mélange il doitvendre pour maximiser son chi re d’a aires.

Page 114: Optimisation appliquée (statistique et probabilitiés appliquées)

104 Programmation linéaire

En désignant par x1 la quantité du premier mélange, par x2 la quantitédu deuxième mélange et par x3 la quantité du troisième mélange, la fonctionobjectif à maximiser est alors :

Maximiser z = 25x1 + 40x2 + 50x3

Les contraintes sont :

x1 +2

3x2 +

1

4x3 450 (4.10)

et

1

3x2 +

3

4x3 300 (4.11)

Finalement, nous avons les contraintes de non-négativité :

x1 0 (4.12)

x2 0 (4.13)

et x3 0 (4.14)

Comme il s’agit d’un problème à trois variables, il n’est pas possible dele résoudre graphiquement. Nous allons résoudre ce problème en utilisantle Solveur d’Excel. La première étape consiste à définir les variables, lafonction à maximiser et les contraintes.

Page 115: Optimisation appliquée (statistique et probabilitiés appliquées)

4.4. Les di érents types de solutions d’un problème de programmation linéaire105

Figure 4.7 : Formulation du problème dans Excel

Nous lançons maintenant le Solveur en sélectionnant la cellule D4 quicontient la fonction de calcul du chi re d’a aires, puis en choisissant Solveurdans le menu Outil. On peut a cher les résultats intermédiaires dans lemenu Options du Solveur.

Figure 4.8 : Boîte de dialogue du Solveur

Page 116: Optimisation appliquée (statistique et probabilitiés appliquées)

106 Programmation linéaire

La solution finale indique un chi re d’a aires de 31 200 CHF en vendant0 kg du premier mélange, 630 kg du deuxième et 120 kg du troisième.

Figure 4.9 : Solution du problème

4.5 Conclusion

Nous allons résumer quelques-unes des propriétés des problèmes de program-mation linéaire que nous avons résolus graphiquement.Nous avons vu que pour un programme linéaire fini, la région des solu-

tions réalisables était convexe, qu’elle possédait des sommets et que des arêtesreliaient les di érents sommets.De plus, nous avons remarqué que lorsque le maximum ou le minimum

de z était fini, la solution optimale était toujours un sommet de la régionréalisable. La situation était di érente quand la fonction objectif pouvaitprendre des valeurs infinies. Dans ce cas, naturellement, aucun sommet n’é-tait optimal. Du point de vue de la terminologie, des solutions infinies nesont pas qualifiées d’optimales. Le terme “solution optimale” est employéquand le minimum ou le maximum de z est fini.À noter que ces constatations, qui dérivent de simples exemples graphiques,

sont vraies pour le cas général de la programmation linéaire. Nous en repar-

Page 117: Optimisation appliquée (statistique et probabilitiés appliquées)

4.6. Exercices 107

lerons d’ailleurs dans le chapitre 5 où nous étudierons la méthode du simplexe.Nous pouvons expliquer cette méthode par une interprétation géométriquetrès simple. Nous avons établi ci-dessus que s’il existait une solution op-timale, il s’agissait d’un point extrême. Or, il n’y a qu’un nombre fini depoints extrêmes. La méthode du simplexe consiste à se déplacer étape parétape d’un point extrême donné à un point extrême voisin, jusqu’à ce quel’on arrive à un point extrême optimal. La méthode du simplexe se déplacele long d’une arête de la région réalisable, d’un point extrême à un autrepoint extrême adjacent. De tous les sommets adjacents, on choisit celui quidonne le plus grand accroissement de la fonction objectif (dans le cas d’unemaximisation). À chaque point extrême, la méthode du simplexe nous dits’il est optimal et si ce n’est pas le cas quel sera le prochain point extrême.Si, à un certain moment, le sommet choisi possède une arête qui conduit àl’infini et si la fonction objectif peut être améliorée en se déplaçant le longde cette arête, la méthode du simplexe nous informe qu’il y a une solutioninfinie.Il a été dit plus haut que la méthode du simplexe commençait avec un

point extrême donné. Le problème consiste alors à trouver un point extrêmeinitial. Cet aspect sera également traité dans le chapitre suivant.

4.6 Exercices

1. Résoudre graphiquement le programme linéaire :

Maximiser z = 2x1 + 3x2sous contraintes x1 + 3x2 6

2x1 + x2 4et x1, x2 0

2. Résoudre graphiquement le programme linéaire :

Minimiser z = 3x1 + 4x2sous contraintes x1 + 2x2 8

3x1 + 3x2 15et x1, x2 0

3. Résoudre graphiquement le programme linéaire :

Page 118: Optimisation appliquée (statistique et probabilitiés appliquées)

108 Programmation linéaire

Maximiser z = x1 + 2x2sous contraintes x1 + x2 4

x1 3et x1, x2 0

4. Résoudre le problème suivant en utilisant la méthode de l’exemple del’épicerie.

Maximiser z = 2x1 + 3x2 + 5x3sous contraintes 4x1 + 3x2 + x3 400

x2 + 2x3 200et x1, x2, x3 0

5. Résoudre en suivant la même méthode que dans l’exercice 4 :

Maximiser z = 0, 4x1 + 0, 3x2 + 0, 2x3

sous contraintes1

3x1 +

2

9x2 +

1

12x3 300

1

9x2 +

1

4x3 200

et x1, x2, x3 0

6. Un tailleur a à sa disposition 10 mètres de coton, 7,5 mètres de laine et5 mètres de soie. Il a besoin pour un complet d’un mètre de coton, d’unmètre de laine et de 0,25 mètre de soie. Pour une robe, il emploie unmètre de coton, 0,5 mètre de laine et un mètre de soie. Si un completcoûte 160 CHF et une robe 100 CHF, combien doit-il confectionner decomplets et de robes pour maximiser son revenu ?

7. Une diététicienne doit préparer un repas composé de deux aliments Aet B qui contienne au moins 300 g de protéines et 400 g d’hydratesde carbone. Chaque unité de l’aliment A contient 10 g de protéineset 16 g d’hydrates de carbone et coûte 80 centimes. Chaque unité del’aliment B contient 12,5 g de protéines et 10 g d’hydrates de carboneet coûte 1,20 CHF. Déterminer le mélange qui coûte le moins cher etqui apporte la quantité requise de protéines et d’hydrates de carbone.

Page 119: Optimisation appliquée (statistique et probabilitiés appliquées)

4.6. Exercices 109

8. Un fermier possède 50 hectares de terre. Il désire planter des pommesde terre dans une partie, du froment dans une autre et laisser, peut-être, la troisième partie en jachère. Le prix de la culture est de 5 CHFpar hectare pour la pomme de terre et de 10 CHF par hectare pourle froment. Le fermier travaille 1/2 jour par hectare pour la pommede terre et 2 jours par hectare pour le froment. Il dispose d’un capitalde 550 CHF et peut travailler 80 jours. Le bénéfice est de 20 CHFpar hectare pour la pomme de terre et de 60 CHF par hectare pourle froment. Comment doit-il organiser ses plantations pour réaliser unbénéfice maximal ?

Page 120: Optimisation appliquée (statistique et probabilitiés appliquées)
Page 121: Optimisation appliquée (statistique et probabilitiés appliquées)

Chapitre 5

La méthode du simplexe

5.1 Introduction

Ce chapitre est consacré à l’étude de la méthode du simplexe. Cette méthodeest l’outil principal de résolution des problèmes de programmation linéaire.Elle consiste à suivre un certain nombre d’étapes avant d’obtenir la solutiond’un problème donné. Il s’agit d’une méthode algébrique itérative qui permetde trouver la solution exacte d’un problème de programmation linéaire en unnombre fini d’étapes.

5.2 Formulation du problème

Un problème général de programmation linéaire peut se formuler de la manièresuivante : trouver les valeurs de n variables xj, j = 1, 2, . . . , n satisfaisant minéquations ou équations linéaires (les contraintes) de la forme :

ai1x1 + ai2x2 + . . .+ ainxn = bi, i = 1, 2, . . . ,m

chaque contrainte pouvant avoir un signe d’inégalité di érent. De plus, lesvariables doivent être non-négatives, c’est-à-dire xj 0, j = 1, 2, . . . , n (con-traintes de non-négativité) et doivent maximiser ou minimiser une formelinéaire (fonction objectif) telle que :

z = c1x1 + c2x2 + . . .+ cnxn

111

Page 122: Optimisation appliquée (statistique et probabilitiés appliquées)

112 La méthode du simplexe

En résumé, un programme linéaire (PL) est un modèle mathématiquequ’on peut écrire sous la forme :

maximiser ou minimiser la fonction objectif :

z =n

i=1

cixi

sous les contraintes :

n

j=1

aijxj = bi, : i = 1, . . . ,m

etxj 0, j = 1, . . . , n

où aij, bi et cj sont des réels connus et xj, j = 1, . . . , n sont des variablesréelles.La forme matricielle permet de représenter un problème de programma-

tion linéaire sous une forme plus concise.

Fonction objectif à optimiser z = cx (5.1)

sous contraintes Ax = b (5.2)

et x 0 (5.3)

où c est un vecteur-ligne de dimension (1 × n), x un vecteur-colonne dedimension (n×1), A une matrice de dimension (m×n), b un vecteur-colonnede dimension (m× 1) et 0 le vecteur nul à n composantes.Un problème de programmation linéaire peut se présenter sous di érentes

formes. En voici la terminologie.

• Forme canonique

Si la fonction objectif doit être maximisée et si toutes les contraintes 5.2sont des inéquations du type , on dit que le programme linéaire se présente

Page 123: Optimisation appliquée (statistique et probabilitiés appliquées)

5.2. Formulation du problème 113

sous une forme canonique. Matriciellement, un problème de programmationlinéaire se présente sous sa forme canonique de la manière suivante :

Maximiser z = cx

sous contraintes Ax b

et x 0

où les dimensions sont les mêmes que pour (5.1)-(5.3). À noter que toutecontrainte peut être transformée sous forme canonique. Deux cas peuventalors se présenter.

Premier cas Si la kème contrainte est de la forme :

ak1x1 + . . .+ aknxn bk (1 k m)

en la multipliant par ( 1) on obtient :

ak1x1 . . . aknxn bk

Second cas Si la kème contrainte est de la forme :

ak1x1 + . . .+ aknxn = bk (1 k m)

on peut transformer cette équation en deux inéquations :

ak1x1 + . . .+ aknxn bk

etak1x1 + . . .+ aknxn bk

Il su t alors de multiplier la deuxième inéquation par 1 pour obtenir :

ak1x1 + . . .+ aknxn bk

etak1x1 . . . aknxn bk

Page 124: Optimisation appliquée (statistique et probabilitiés appliquées)

114 La méthode du simplexe

Exemple 5.1 Transformons les contraintes :

x1 2x2 + x3 5

3x1 + 2x2 x3 2

x1 + x2 + x3 = 7

sous forme canonique.

La première contrainte est déjà sous forme canonique. La deuxième doitêtre multipliée par 1 :

3x1 2x2 + x3 2

Finalement, pour la troisième contrainte, on pose :

x1 + x2 + x3 7

etx1 + x2 + x3 7

La contrainte x1 + x2 + x3 7 doit être multipliée par 1. Sous formecanonique, les trois contraintes transformées s’écrivent :

x1 2x2 + x3 53x1 2x2 + x3 2x1 + x2 + x3 7x1 x2 x3 7

• Forme standard

Un problème de programmation linéaire se présente sous sa forme standard sitoutes les contraintes sont des équations. La fonction objectif doit égalementêtre maximisée. Sous forme matricielle, la forme standard s’écrit :

Maximiser z = cx

sous contraintes Ax = b

et x 0 (5.4)

Page 125: Optimisation appliquée (statistique et probabilitiés appliquées)

5.2. Formulation du problème 115

• Transformation minimisation-maximisation

Tout problème de minimisation peut être transformé en un problème équiva-lent de maximisation. En e et, le problème :

Minimiser z = cx

est équivalent à :Maximiser ( z) = cx

La raison pour laquelle ces deux formulations sont équivalentes est simple: la solution qui permet d’obtenir la plus petite valeur de z fournit égalementla plus grande valeur de ( z). La seule di érence réside dans le signe de lavaleur de la fonction objectif. La valeur minimale de z s’obtient en prenantl’opposé de la valeur maximale de ( z).Soit la fonction objectif à minimiser :

Minimiser z = 3x1 2x2 + 5x3

La formulation équivalente en terme de maximisation est :

Maximiser ( z) = 3x1 + 2x2 5x3

• Variables d’écart

La procédure que nous allons développer pour trouver la solution d’un problè-me de programmation linéaire s’appelle la méthode du simplexe. Cette méth-ode exige que le programme linéaire soit sous forme standard (5.4). Pourcette raison, il faut transformer les inégalités rencontrées en égalités. Cettetransformation se fait simplement en introduisant des variables non-négatives(qui vérifient les contraintes de non-négativité) appelées variables d’écart.Si les contraintes sont du type :

ai1x1 + ai2x2 + . . .+ ainxn bi

nous introduisons une nouvelle variable xn+i 0 et écrivons :

ai1x1 + ai2x2 + . . .+ ainxn + xn+i = bi

Page 126: Optimisation appliquée (statistique et probabilitiés appliquées)

116 La méthode du simplexe

De même, nous pouvons être contraints de transformer les contraintes dela forme :

ai1x1 + ai2x2 + . . .+ ainxn bi

en une égalité en soustrayant cette fois une variable d’écartxn+i 0. Nous écrivons alors :

ai1x1 + ai2x2 + . . .+ ainxn xn+i = bi

Remarquons qu’avec l’introduction des variables d’écart, tout problèmesous forme canonique possède une forme standard équivalente. Notons en-core que la méthode du simplexe requiert des bi 0. Par conséquent, lescontraintes qui ont un bi négatif doivent être transformées en contraintesaux bi positifs. Cette transformation se fait simplement en multipliant lacontrainte par ( 1).

Exemple 5.2 Supposons que les contraintes d’un programme linéaire sontles suivantes :

3x1 + 2x2 5x1 + 8x2 3x1 x2 = 4

Exemple 5.3 Pour les transformer en égalités, il faut introduire une vari-able d’écart dans la première et la deuxième contrainte. La troisième estdéjà sous forme d’égalité mais doit être multipliée par ( 1) pour avoir un bipositif.

Ces trois contraintes peuvent donc être reformulées ainsi :

3x1 + 2x2 + x3 = 5

x1 + 8x2 x4 = 3

x1 + x2 = 4

Nous avons changé les inégalités dans les contraintes en égalités en intro-duisant des variables d’écart, sans mentionner les e ets de cette transforma-tion sur la fonction objectif :

z =n

j=1

cjxj

Page 127: Optimisation appliquée (statistique et probabilitiés appliquées)

5.2. Formulation du problème 117

Le réel cj est souvent appelé le “prix” associé à la variable xj. En assi-gnant un prix nul à chaque variable d’écart, la transformation des contraintesen un système d’équations linéaires ne change pas la fonction objectif qui est:

z = c1x1 + c2x2 + . . .+ cnxn + 0xn+1 + 0xn+2 + . . .+ 0xn+r

=n

j=1

cjxj

où l’indice r indique le nombre de variables d’écart qu’il a fallu rajouter.Ainsi, optimiser une fonction objectif soumise à des contraintes d’inégalitérevient à optimiser cette même fonction avec des contraintes d’égalité quicomprennent des variables d’écart.

• Variables sans restriction de signe

Dans certains problèmes, il arrive qu’on doive traiter une ou plusieurs va-riables de signe quelconque. Or la méthode du simplexe ne résout que desproblèmes à variables non-négatives. Une variable sans restriction de signepeut alors être décomposée en deux variables non-négatives x+ et x enposant :

x = x+ x

où x+ = maximum (0, x) et x = maximum (0, x).Soit le programme linéaire suivant :

Maximiser z = c1x1 + c2x2 + . . .+ cnxnsous contraintes a11x1 + a12x2 + . . .+ a1nxn b1

......

...am1x1 + am2x2 + . . .+ amnxn bm

et xj sans restriction, j = 1, 2, ...n

Nous transformons chaque variable xj, j = 1, 2, . . . , n en deux variablesnon-négatives x+j et xj . La fonction objectif et les contraintes, qui avaient nvariables sans signe, ont désormais 2n variables non-négatives. Le programmelinéaire se présente alors comme suit :

Page 128: Optimisation appliquée (statistique et probabilitiés appliquées)

118 La méthode du simplexe

Maximiser z = c1(x+1 x1 ) + . . .+ cn(x

+n xn )

sous contraintes a11(x+1 x1 ) + . . .+ a1n(x

+n xn ) b1

......

...am1(x

+1 x1 ) + . . .+ amn(x

+n xn ) bm

et x+j , xj 0, j = 1, 2..., n

En résumé, nous avons vu que la fonction objectif d’un programme linéairepeut être présentée sous forme de maximisation, que les contraintes peuventtoujours s’écrire sous forme d’égalité (avec des bi positifs) et que les variablessans restriction de signe peuvent être décomposées en variables non-négatives.En d’autres termes un programme linéaire peut toujours être présenté soussa forme standard (5.4).

Exemple 5.4 Soit le problème de programmation linéaire :

Minimiser z = x1 2x2sous contraintes x1 + 4x2 5

2x1 + 3x2 = 4x1 0, x2 sans restriction de signe

à mettre sous forme standard.Transformons le problème de minimisation en un problème de

maximisation :Maximiser ( z) = x1 + 2x2

L’introduction d’une variable d’écart dans la première contrainte permetde la transformer en égalité :

x1 + 4x2 x3 = 5, avec x3 0

La deuxième contrainte est déjà sous forme d’égalité.Finalement, il reste à décomposer la variable x2, qui est sans restriction

de signe, en deux variables non-négatives x+2 et x2 :

x2 = x+2 x2

Le programme linéaire sous sa forme standard s’écrit donc :

Maximiser ( z) = x1 + 2x+2 2x2

sous contraintes x1 + 4x+2 4x2 x3 = 5

2x1 + 3x+2 3x2 = 4

et x1, x+2 , x2 , x3 0

Page 129: Optimisation appliquée (statistique et probabilitiés appliquées)

5.3. Caractérisation des solutions du problème 119

5.3 Caractérisation des solutions du problème

Dans le paragraphe précédent, nous avons montré comment un problème deprogrammation linéaire pouvait toujours se présenter sous forme standard :

Maximiser z = cx (5.5)

sous contraintes Ax = b (5.6)

et x 0 (5.7)

Dans cette formulation, le vecteur x contient toutes les variables, y com-pris les variables d’écart ; il s’agit d’un vecteur colonne d’ordre (n × 1). Levecteur c est un vecteur ligne d’ordre (1×n). Quant à la matrice A, d’ordre(m× n), il s’agit de la matrice des coe cients des contraintes transformées.Enfin, le vecteur b d’ordre (m× 1) est le vecteur du second membre.On appelle solution d’un problème de programmation linéaire tout vec-

teur x qui satisfait les contraintes (5.6). Une solution est appelée solutionréalisable si elle vérifie les contraintes de non-négativité (5.7). Dans le cascontraire, on dit que la solution n’est pas réalisable.Une solution réalisable est une solution optimale s’il n’existe pas d’au-

tres solutions réalisables qui fournissent une plus grande valeur de la fonctionobjectif. À noter que dans un problème possédant des solutions réalisables,il se peut que la valeur optimale de la fonction objectif soit infinie. Dans cecas, on parle de solution optimale infinie.L’ensemble des contraintes (5.6) s’écrit donc comme un système de m

équations à n inconnues : Ax = b.Pour développer la méthode du simplexe, nous avancerons les hypothèses

suivantes :

1. r(A) = r(A | b), c’est-à-dire que le système d’équations est compatible,

2. r(A) = m, où m est le nombre de contraintes.

La seconde hypothèse permet de former, à partir de A, une (m×m) sous-matrice B non-singulière. Cette matrice B peut être formée par n’importequel ensemble de m colonnes linéairement indépendantes de A. Les colonnesde B seront notées b1, b2, . . ., bm (à ne pas confondre avec le second membreb). La matrice B est appelée matrice de base puisqu’elle est formée de mvecteurs linéairement indépendants.

Page 130: Optimisation appliquée (statistique et probabilitiés appliquées)

120 La méthode du simplexe

Sans restreindre la généralité, on peut supposer que les colonnes deA ontété ordonnées de manière à pouvoir écrire A sous la formeA = (B,N), avecB de dimension (m×m) la matrice de base etN de dimension (m×(n m))contenant les colonnes de A qui n’appartiennent pas à B. Le vecteur x peut

être partitionné de façon analogue en posant x =xBxN

. Les variables

xB sont appelés variables de base et les variables xN les variables horsbase.Finalement le vecteur c peut lui aussi être partitionné de la même manière

en c = (cB, cN).Le programme linéaire (5.5)-(5.7) peut donc être reformulé de la manière

suivante :

Maximiser z = cBxB + cNxN (5.8)

sous contraintes BxB +NxN = b (5.9)

et xB, xN 0 (5.10)

La contrainte (5.9) peut s’écrire de manière équivalente :

BxB = b NxN

et puisque B est non-singulière (inversible) :

xB = B1b B 1NxN (5.11)

Lorsque toutes les variables hors base sont nulles, xN = 0, (5.11) devientxB = B

1b.On appelle solution de base la solution :

xBxN

=B 1b

0

Lorsque xB = B 1b 0 et xN = 0, on parle de solution réalisable debase.

Exemple 5.5 Soit le problème de programmation linéaire suivant :

Page 131: Optimisation appliquée (statistique et probabilitiés appliquées)

5.3. Caractérisation des solutions du problème 121

Maximiser z = 3x1 + 5x2 + x3

sous contraintes x1 + 2x2 x3 16

3x1 4x2 20

et x1, x2, x3 0

Ce problème peut se mettre sous forme standard en introduisant lesvariables d’écart x4 et x5 :

Maximiser z = 3x1 + 5x2 + x3 + 0x4 + 0x5

sous contraintes x1 + 2x2 x3 + x4 = 16

3x1 4x2 + x5 = 20

et x1, x2, x3, x4, x5 0

Sous forme matricielle, on obtient donc :

A =1 2 1 1 03 4 0 0 1

, x =

x1x2x3x4x5

, b =1620

etc = 3 5 1 0 0

Formons à partir de A une matrice de base B en prenant parexemple les colonnes 2 et 4, dans cet ordre :

B =2 14 0

Il s’agit bien d’une base puisque B est non-singulière (| B |= 4 = 0).À noter que dans notre cas, on a :

b1 = a2 (2ecolonne de A)b2 = a4 (4ecolonne de A).

Page 132: Optimisation appliquée (statistique et probabilitiés appliquées)

122 La méthode du simplexe

À cette matrice de base correspond une solution de base donnée par :

xB = B1b

Dans notre cas :

B 1 =0 1/41 1/2

xB =0 1/41 1/2

1620

=526

Les autres variables étant nulles, x1 = x3 = x5 = 0.Cette solution de base n’est pas réalisable pour la simple raison que

xB1 = x2 = 5 viole la contrainte de non-négativité.Dans cet exemple, il est très facile de trouver une base qui fournisse une

solution réalisable de base. En e et les colonnes a4 et a5 forment une basequi est l’identité :

B = I =1 00 1

Ici, b1 = a4 et b2 = a5.La solution de base est le vecteur b puisque :

xB = Ib = b =1620

Comme b doit être non-négatif lorsque le problème est présenté sous saforme standard, la solution est une solution réalisable de base.Z a pour valeur : z = 0 · 16 + 0 · 20 = 0

5.4 Recherche d’une solution optimale

Résultat 5.1 Tout point extrême est une solution réalisable de base.

DémonstrationSoit x = ( x1 . . . xn ) un point extrême de l’ensemble des solutions réal-isables. Pour démontrer que x est une solution de base, nous allons vérifierque les vecteurs associés aux composantes positives de x sont linéairement

Page 133: Optimisation appliquée (statistique et probabilitiés appliquées)

5.4. Recherche d’une solution optimale 123

indépendants. Supposons que k composantes de x sont non-nulles ; numéro-tons les variables de telle façon que les k premières composantes soient non-nulles. Alors :

k

i=1

xiai = b, xi > 0, i = 1, . . . , k

Si les colonnes correspondant aux composantes non-nulles de x sontlinéairement dépendantes, alors il existe des i dont certains sont nuls telsque :

k

i=1

iai = 0

Considérons maintenant :

= mini

xi| i |

, i = 0, i = 1, . . . , k

Notons que est un nombre positif. Si nous choisissons un ,0 < < , alors :

xi + i > 0 et xi i > 0, i = 1, . . . , k

Définissons un vecteur colonne de n composantes = 0 qui a les i dansles k premières positions et zéro pour les (n k) dernières composantes := ( 1, 2, . . . , k, 0, 0, . . . , 0).Écrivons :

x1 = x + ; x2 = x

Ainsi, x1 0 et x2 0. De plus, comme ki=1 iai = 0, on a :

A = 0

De sorte que :Ax1 = b; Ax2 = b

Il s’ensuit que x1, x2 sont des solutions réalisables di érentes de x et :

x =1

2x1 +

1

2x2

Ce résultat contredit le fait que x est un point extrême de l’ensemble con-vexe et montre ainsi que les k (k < m) colonnes de A sont linéairementindépendantes. Ceci prouve que x est une solution réalisable de base.

Page 134: Optimisation appliquée (statistique et probabilitiés appliquées)

124 La méthode du simplexe

Ainsi pour trouver la solution optimale, il su t d’examiner les pointsextrêmes ou de manière équivalente les solutions réalisables de base.À la solution réalisable de base initiale correspond une valeur de la

fonction objectif z. Le but est d’améliorer la valeur de la fonction objec-tif en l’évaluant en un point extrême adjacent. Pour cela, étant donné unebase B, on trouve un point extrême adjacent (nouvelle solution réalisable debase) en échangeant l’une des colonnes de la base (bi) contre une colonne ajqui n’est pas dans la base. Cependant, en faisant cet échange, il faut s’as-surer que la solution de base reste réalisable et que la valeur de la fonctionobjectif augmente (ou du moins ne diminue pas).Il y a donc deux règles à suivre pour cet échange. La première consiste à

déterminer quelle colonne aj deA (à laquelle correspond une variable xj) doitentrer dans la base pour améliorer la fonction objectif. La seconde consisteà sélectionner l’une des colonnes bi qui doit quitter la base de manière à ceque la nouvelle solution de base reste réalisable.Nous développons ici les critères d’entrée et de sortie de la base pour

obtenir une nouvelle solution réalisable de base qui améliore la valeur dela fonction objectif. Il restera ensuite à déterminer si la nouvelle solutionréalisable de base est optimale ou non.Pour développer ces deux critères, nous reformulons le programme linéaire

(5.8)-(5.10) sous la forme suivante :

Maximiser z = cBxB +j J

cjxj (5.12)

sous contraintes BxB +j J

xjaj = b (5.13)

et xB 0, xj 0, j J (5.14)

où J est l’ensemble des indices des variables hors base.CommeB est une base formée dem colonnes linéairement indépendantes,

toute colonne aj de la matrice A peut s’écrire comme une combinaisonlinéaire des colonnes de la matrice B. On peut donc écrire :

aj = y1jb1 + y2jb2 + . . .+ ymjbm =m

i=1

yijbi = Byj

On peut également écrire (puisque B est inversible) :

Page 135: Optimisation appliquée (statistique et probabilitiés appliquées)

5.4. Recherche d’une solution optimale 125

yj = B1aj, j = 1, . . . , n (5.15)

avec

yj =

y1jy2j...ymj

Définissons encore une nouvelle variable zj par :

zj = y1jcB1 + y2jcB2 + . . .+ ymjcBm = cByj (5.16)

En utilisant (5.15), les contraintes (5.13) s’écrivent :

BxB +j J

xjaj = b

xB = B1 b

j J

xjaj

xB = B1b

j J

xjB1aj

xB = B1b

j J

xjyj (5.17)

Introduisons (5.17) dans la fonction objectif (5.12) :

z = cB B 1b

j J

xjyj +j J

cjxj

Finalement, en utilisant (5.16), la fonction objectif s’écrit :

z = cBB1b

j J

xjcByj +j J

cjxj

z = cBB1b

j J

xjzj +j J

cjxj

D’où z = cBB1b

j J

(zj cj)xj (5.18)

Page 136: Optimisation appliquée (statistique et probabilitiés appliquées)

126 La méthode du simplexe

Lorsqu’on obtient une solution réalisable de base, les valeurs des variablesxj sont nulles pour tout indice j J . Dans ce cas, la valeur de la fonctionobjectif est z = cBB 1b.Le but est d’améliorer au maximum cette valeur de z. Dans l’équation

(5.18), les variables xj sont non-négatives et la sommation est précédée dusigne négatif. C’est donc la variable xj , au plus petit (zj cj) < 0, quiaméliorera le plus la valeur de la fonction objectif. Le critère d’entrée dansla base est donc le suivant.

• Critère d’entrée dans la base

Le vecteur ak qui doit entrer dans la base correspond à la variable horsbase xk pour laquelle (zj cj) a la plus petite valeur négative :

zk ck = minj J

(zj cj) avec (zj cj) < 0

Il reste encore à déterminer quel vecteur de base doit quitter la base.Pour cela, reprenons la solution de base (5.17) :

xB = B1b

j J

xjyj

Toutes les variables hors base sont nulles sauf xk qui devient une variablede base. Comme xk est une nouvelle variable de base, elle sera notée xk.Ainsi la nouvelle solution de base, notée xB s’écrit :

xB = B1b xkyk

La ième composante de cette solution de base est :

xBi = xBi xkyik (5.19)

Pour que cette solution de base soit réalisable, il faut que les variables debase soient non-négatives, c’est-à-dire :

xBi = xBi xkyik 0, i = 1, . . . ,m (5.20)

Les contraintes de non-négativité (5.20) sont évidemment satisfaites pourles variables qui ont un yik négatif ou nul. En revanche, en ce qui concerneles variables qui ont yik positif, il faut que :

xkxBiyik

Page 137: Optimisation appliquée (statistique et probabilitiés appliquées)

5.4. Recherche d’une solution optimale 127

pour ne pas violer les contraintes de non-négativité. Cette dernière inégalitédevant être valable pour tout i tel que yik > 0, xk doit être égale au pluspetit rapport xBi/yik. Supposons que ce plus petit rapport soit associé à larème variable de base xBr.Alors en posant :

xk =xBryrk

toutes les contraintes de non-négativité dans (5.20) sont satisfaites et par(5.19) :

xBr = xBrxBryrkyrk = 0

ce qui permet de sortir xBr de la base. Nous avons ainsi obtenu le critèrepour sortir une colonne br de la base.

• Critère de sortie de la base

Soit le vecteur ak qui doit entrer dans la base. Le vecteur br associé à lavariable xBr qui doit sortir de la base est celui qui satisfait :

xBryrk

= mini

xBiyik, yik > 0

Voyons à présent comment fonctionnent les critères d’entrée et de sortiede la base en prenant un exemple.

Exemple 5.6 Soit le programme linéaire :

Maximiser z = 4x1 + 3x2

sous contraintes 2x1 + x2 10

x1 + x2 8

et x1, x2 0

Après introduction des variables d’écart x3 et x4 dans les contraintes, leproblème s’écrit sous forme standard :

Page 138: Optimisation appliquée (statistique et probabilitiés appliquées)

128 La méthode du simplexe

Maximiser z = 4x1 + 3x2 + 0x3 + 0x4

sous contraintes 2x1 + x2 + x3 = 10

x1 + x2 + x4 = 8

et x1, x2, x3, x4 0

Sous forme matricielle, on a :

A =2 1 1 01 1 0 1

, x =

x1x2x3x4

, b =108

, c = 4 3 0 0

Les colonnes a3 et a4 de la matrice A forment une matrice identité. Onpeut donc les prendre comme base :

B =1 00 1

À cette base, correspond la solution réalisable de base :

xB =xB1xB2

=x3x4

= B 1b =108

ainsi que le vecteur :cB = 0 0

Les variables hors base x1 et x2 sont nulles. La valeur de la fonctionobjectif vaut :

z = cBxB

z = 0 0108

= 0

À ce stade, les colonnes a3 et a4 sont dans la base. Pour savoir quellecolonne doit entrer dans la base (a1 ou a2), il faut calculer (zj cj) pour lesvariables hors base :

z1 c1 = cBy1 c1

z2 c2 = cBy2 c2

Page 139: Optimisation appliquée (statistique et probabilitiés appliquées)

5.4. Recherche d’une solution optimale 129

Pour faire ce calcul, il faut d’abord évaluer y1 = B 1a1 ety2 = B 1a2. Puisque B = I, B 1 = I et donc y1 = a1 et y2 = a2.Ainsi :

z1 c1 = 0 021

4 = 4

z2 c2 = 0 011

3 = 3

Les deux valeurs étant négatives, le critère d’entrée nous indique que lavariable à entrer dans la base (et donc la colonne correspondante) est x1puisque min( 4, 3) = 4. Par conséquent, la colonne a1 doit entrer dansla base.Reste à appliquer le critère de sortie pour savoir quelle colonne doit sortir

de la base :

xBryrk

= mini

xBiyik, yik > 0

= mini

xBiyi1, yi1 > 0

= min10

2,8

1

= min (5, 8)

= 5

C’est donc xB1 = x3 qui sort de la base.En définitive, la colonne a1 remplace la colonne a3 pour former une nou-

velle base.Calculons la nouvelle valeur de la variable x1 qui entre dans la base :

x1 =xBryr1

=xB1y11

=10

2= 5

Les nouvelles valeurs des variables de base d’origine se calculent à partirde (5.19) :

xB1 = x3 = xB1 x1y11 = 10 5(2) = 0

Page 140: Optimisation appliquée (statistique et probabilitiés appliquées)

130 La méthode du simplexe

Ce résultat correspond à la théorie développée jusqu’ici puisque x3 sortde la base et que les variables hors base sont nulles.

xB2 = x4 = xB2 x1y21 = 8 5(1) = 3

L’équation (5.18) nous permet de calculer la nouvelle valeur de z

z = cBB1b

j J

(zj cj)xj

= 0 01 00 1

108

(z1 c1)x1 (z2 c2)x2

= 0 [( 4)5 + ( 3)0]

= 20

On peut également obtenir ce résultat en substituant dans la fonctionobjectif les nouvelles variables :

z = 4x1 + 3x2 = 4(5) + 3(0) = 20

La valeur de la fonction objectif s’est améliorée en passant de 0 à 20. Àce stade, nous disposons de la solution réalisable de base suivante :

x1 = 5, x2 = 0, x3 = 0 et x4 = 3

La matrice de base B est formée par les colonnes a1 et a4 :

B =2 01 1

En outre :

xB =xB1xB2

=x1x4

=53

et cB = 4 0

Voyons si la valeur de la fonction objectif peut être améliorée en calculantà nouveau (zj cj) pour les variables hors base.Pour cela, calculons tout d’abord :

Page 141: Optimisation appliquée (statistique et probabilitiés appliquées)

5.4. Recherche d’une solution optimale 131

y2 = B 1a2 =1/2 01/2 1

11

=1/21/2

y3 = B 1a3 =1/2 01/2 1

10

=1/21/2

Ainsi :

z2 c2 = cBy2 c2 = 4 01/21/2

3 = 1

z3 c3 = cBy3 c3 = 4 01/21/2

0 = 2

Le critère d’entrée est ici très simple à appliquer puisqu’il n’existe qu’unevaleur de (zj cj) négative. C’est donc la colonne a2 correspondant à lavariable x2 qui entre dans la base.Appliquons à présent le critère de sortie :

xBryrk

= mini

xBiyi2, yi2 > 0

= min5

1/2,3

1/2

= min (10, 6)

= 6

C’est donc la colonne a4 associée à la variable x4 qui sort de la base.La nouvelle valeur de la variable x2 qui entre dans la base est :

x2 =xBryr2

=xB2y22

=3

1/2= 6

Les nouvelles valeurs des variables xB1 = x1 et xB2 = x4 sont :

xB1 = x1 = xB1 x2y12 = 5 6 (1/2) = 2

xB2 = x4 = xB2 x2y22 = 3 6 (1/2) = 0

La nouvelle valeur de la fonction objectif est :

Page 142: Optimisation appliquée (statistique et probabilitiés appliquées)

132 La méthode du simplexe

z = cBB1b j J(zj cj)xj

= 4 01/2 01/2 1

108

(z2 c2)x2 (z3 c3)x3

= 20 [( 1)6 + (2)0]= 26

Avec cette nouvelle solution réalisable de base x1 = 2, x2 = 6,x3 = 0 et x4 = 0, la valeur de la fonction objectif s’est encore amé-liorée ! On peut tout naturellement se demander si cette valeur peut en-core être améliorée.Pour le savoir, calculons (zj cj) pour les variables hors base, c’est-à-dire

x3 et x4 ; la matrice de base B est formée des colonnes a1 et a2 :

B =2 11 1

et B 1 =1 11 2

On a alors :

y3 = B 1a3 =1 11 2

10

=11

y4 = B 1a4 =1 11 2

01

=12

Ainsi :

z3 c3 = cBy3 c3 = 4 311

0 = 1

z4 c4 = cBy4 c4 = 4 312

0 = 2

On ne peut plus appliquer le critère d’entrée puisque tous les (zj cj)sont non-négatifs. Dans ce cas, la valeur de z ne peut plus être améliorée ;la solution réalisable de base correspondant à cette situation est la solutionoptimale, comme l’indique le résultat 5.2.

Page 143: Optimisation appliquée (statistique et probabilitiés appliquées)

5.4. Recherche d’une solution optimale 133

Résultat 5.2 La solution réalisable de base associée à la base B est optimalesi :

(zj cj) 0

pour chaque colonne aj de A qui n’est pas dans la base.

DémonstrationSoit un problème de programmation linéaire :

Maximiser z = cx

sous contraintes Ax = b

et x 0

pour lequel nous avons une solution réalisable de base xB = B 1b telle que(zj cj) 0 pour toutes les colonnes aj de A qui ne sont pas dans la base.La valeur de la fonction objectif pour cette solution est z0 = cBxB. Il fautmontrer que z0 est la valeur maximum de la fonction objectif z = cx.Soit une solution réalisable quelconque pour Ax = b :

x1a1 + x2a2 + . . .+ xnan =n

j=1

xjaj = b (5.21)

La valeur correspondante de la fonction objectif, notée z , est :

z = c1x1 + c2x2 + . . .+ cnxn =n

j=1

cjxj (5.22)

Pour montrer que z0 est la valeur maximum de la fonction objectif, il fautmontrer que z0 z .Pour cela, montrons tout d’abord que (zj cj) = 0 pour les colonnes de

A qui se trouvent dans la base. Rappelons que nous avons défini (5.15) et(5.16) respectivement par yj = B

1aj et zj = cByj.Ainsi, pour les vecteurs aj qui se trouvent dans la base :

yj = B1aj = B

1bi = ei

où bi est la ie colonne de B et ei le vecteur unitaire d’indice i. En utilisant(5.16) et le fait que Bi = j, on obtient :

zj cj = cByj cj = cBei cj = cBi cj = cj cj = 0

Page 144: Optimisation appliquée (statistique et probabilitiés appliquées)

134 La méthode du simplexe

Puisque, par hypothèse, (zj cj) 0 pour les colonnes de A hors base et(zj cj) = 0 pour les colonnes de A située dans la base, on a (zj cj) 0,c’est-à-dire zj cj pour toutes les colonnes de A. Par conséquent :

z1x1 + z2x2 + . . .+ znxn c1x1 + c2x2 + . . .+ cnxn

En utilisant (5.22), on en déduit que :

n

j=1

zjxj z (5.23)

Calculons xB en utilisant (5.15) et (5.21) :

xB = B1b = B 1

n

j=1

xjaj =n

j=1

xjB1aj =

n

j=1

xjyj

En utilisant à présent (5.16), calculons z0 :

z0 = cBxB = cB

n

j=1

xjyj =n

j=1

xjcByj =n

j=1

xjzj (5.24)

Si l’on compare (5.23) à (5.24), on obtient :

z0 =n

j=1

xjzj =n

j=1

zjxj z

ce qui termine la démonstration.

Remarque 5.1 Il se peut que la solution optimale d’un problème de pro-grammation linéaire possédant une solution réalisable de base soit infinie.

C’est le cas lorsqu’il existe une variable hors base xs pour laquelle(zs cs) < 0 et yis 0, i = 1, . . . ,m. En e et, dans ce cas, la solutionréalisable de base (5.17) :

xB = B1b

j J

xjyj

pour laquelle xj = 0, j J peut être transformée en une solution réalisable :B 1b xsys, puisque yis 0, i = 1, . . . ,m. Ainsi, en attribuant à la variable

Page 145: Optimisation appliquée (statistique et probabilitiés appliquées)

5.4. Recherche d’une solution optimale 135

hors base xs une valeur arbitrairement grande (xs + ), cette solutionreste réalisable.La valeur de la fonction objectif (5.18) :

z = cBB1b

j J

(zj cj)xj

devient dans ce cas :

z = cBB1b (zs cs)xs

Par conséquent, la valeur de z tend vers + lorsque xs + puisque(zs cs) < 0.

Exemple 5.7 Illustrons le cas d’un problème possédant une solution opti-male infinie en considérant le problème de programmation linéaire suivant:

Maximiser z = 5x1 + 3x2sous contraintes2x1 x2 4

3x1 2x2 6

et x1, x2 0

Ce problème possède une solution optimale infinie puisqu’en posant x1 =0 et en faisant tendre x2 vers + toutes les contraintes sont satisfaites et lavaleur de la fonction objectif tend vers + .Voyons à présent les résultats obtenus en partant d’une solution réalisable

de base. Pour cela, transformons le problème sous forme standard :

Maximiser z = 5x1 + 3x2 + 0x3 + 0x4

sous contraintes 2x1 x2 + x3 = 4

3x1 2x2 + x4 = 6

et x1, x2, x3, x4 0

La base la plus simple, c’est-à-dire B = I, est formée par les vecteurs a3

et a4 de la matrice A =2 1 1 03 2 0 1

.

Page 146: Optimisation appliquée (statistique et probabilitiés appliquées)

136 La méthode du simplexe

Ainsi :

B =1 00 1

= a3 a4 = b1 b2

xB = B 1b =1 00 1

46

=46

xB1 = x3 = 4

xB2 = x4 = 6

et z = CBxB = 0 046

= 0

Voyons si la situation peut être améliorée en calculant:

y1 = B 1a1 =1 00 1

23

=23

y2 = B 1a2 =1 00 1

12

=12

z1 c1 = cBy1 c1 = 0 023

5 = 5

z2 c2 = cBy2 c2 = 0 012

3 = 3

La plus petite valeur des (zj cj) négatifs est z1 c1 = 5. On peutdonc améliorer la valeur de la fonction objectif, puisqu’au moins un élémentde y1 est positif. Cependant, z2 c2 = 3 est négatif et tous les élémentsde y2 le sont également. On peut donc en conclure que la solution optimaleest infinie.

1 2 3 4

2

1

x1

x2

Page 147: Optimisation appliquée (statistique et probabilitiés appliquées)

5.4. Recherche d’une solution optimale 137

Figure 5.1 : Région réalisable non bornée (solution optimale infinie)

Ce résultat peut également s’expliquer de manière géométrique en traçantl’ensemble des solutions réalisables. La figure 5.1 montre que la région réal-isable n’est pas bornée et donc que la valeur de la fonction objectif peut êtreinfinie.Nous sommes à présent en mesure de fournir un algorithme pour la méth-

ode du simplexe lorsque l’on connaît une solution réalisable de base. Pourcela, on suppose que le problème initial a été transformé sous forme standardavec tous les bi positifs. Les étapes à suivre sont les suivantes.

• Étapes de la méthode du simplexe

Étape 5.1 Rechercher la solution optimale à partir d’une solution réalisablede base : xB = B 1b.

Étape 5.2 Examiner les (zj cj) pour toutes les colonnes aj qui ne sontpas dans la base. Si tous les (zj cj) 0, passer à l’étape 5.6, sinon passerà l’étape 5.3.

Étape 5.3 S’il existe un (zj cj) négatif pour lequel il n’y a pas d’élémentspositifs dans yj, arrêter la recherche puisque la solution optimale est infinie.Sinon, choisir le vecteur (et donc la variable) associée à la valeur la plusnégative des (zj cj) pour entrer dans la base :

zk ck = minj J

(zj cj) avec (zj cj) < 0

Étape 5.4 Déterminer le vecteur (et donc la variable) qui sort de la base àl’aide du critère :

xBryrk

= mini

xBiyik, yik > 0

Étape 5.5 Établir la nouvelle base, calculer la nouvelle solution réalisablede base et la nouvelle valeur de la fonction objectif.Retourner à l’étape 5.2.

Étape 5.6 La solution réalisable de base courante est la solution optimale.La solution optimale n’est pas unique s’il existe un (zj cj) nul pour unvecteur aj qui ne se trouve pas dans la base.

Page 148: Optimisation appliquée (statistique et probabilitiés appliquées)

138 La méthode du simplexe

5.5 Tableaux du simplexe et procédure decalcul

Lorsque l’on calcule la méthode du simplexe à la main, il est préférable detravailler avec un tableau qui contient toutes les données nécessaires. Àchaque itération correspond un nouveau tableau prenant la forme suivante :

c1 cj cncB vecteurs xB a1 . . . aj . . . an

de basecB1 b1 xB1 = y10 y11 . . . y1j . . . y1ncB2 b2 xB2 = y20 y21 . . . y2j . . . y2n...

......

.... . .

.... . .

...cBm bm xBm = ym0 ym1 ymj ymn

z = ym+1,0 z1 c1 = . . . zj cj = . . . zn cn =ym+1,1 ym+1,j ym+1,n

Tableau 5.1 : Tableau du simplexe

La première colonne indique les prix cB correspondant aux vecteurs debase. La deuxième colonne indique quels vecteurs se trouvent dans la base.Les vecteurs bi, i = 1, . . . ,m représentent lesm colonnes de la matrice de baseB. Si la matrice de base est formée des colonnes a1, a3 et a4 par exemple,on écrira a1 à la place de b1, a3 à la place de b2 et a4 à la place de b3. Latroisième colonne du tableau fournit la solution réalisable de base xB saufà la dernière ligne où l’on trouve la valeur de z pour la solution réalisablede base. Les colonnes suivantes indiquent les valeurs des yj pour tous lesvecteurs de A. La première ligne donne les prix associés aux variables et ladernière ligne donne les (zj cj).Voyons comment utiliser les informations données par le tableau pour

e ectuer les di érentes étapes de la méthode du simplexe.En premier lieu, examinons les éléments de la dernière ligne (zj cj)

correspondant aux vecteurs hors base aj. Si tous les (zj cj) 0, la solutionest optimale. S’il existe un (zj cj) < 0 pour lequel il n’existe pas d’élémentspositifs dans yj (la colonne au-dessus de (zj cj)), la solution est infinie. Sitel n’est pas le cas, nous choisissons le plus petit (zj cj). Appelons lacolonne correspondante k. Ainsi ak entre dans la base. Le vecteur qui doit

Page 149: Optimisation appliquée (statistique et probabilitiés appliquées)

5.5. Tableaux du simplexe et procédure de calcul 139

sortir de la base est choisi par le critère :

xBryrk

= mini

xBiyik, yik > 0

Cela signifie que le vecteur de la rème ligne dans la colonne “vecteurs debase” est remplacé par ak. Les valeurs nécessaires au calcul de ce critère sontfaciles à trouver, puisque les valeurs xBi se trouvent en regard des valeursyik.Il faut à présent tracer un nouveau tableau. À l’intersection de la colonne

ak qui entre dans la base et du vecteur br qui en sort, se trouve le termeyrk qui est appelé le pivot de la transformation. La colonne ak est appeléecolonne-pivot et le vecteur br ligne-pivot. Il est utile d’encercler dansle tableau le pivot ainsi que la colonne-pivot et la ligne-pivot. Établissonsles formules de transformation en ajoutant le symbole “ˆ” au-dessus desnouvelles valeurs afin de les distinguer des anciennes. Les nouvelles valeursdes variables de base se calculent facilement à partir des anciennes.En e et, nous avons vu que la nouvelle variable qui entre dans la base est

:

xBr = xk =xBryrk

(5.25)

En substituant (5.25) dans (5.19), nous obtenons :

xBi = xBixBryrkyik i = r (5.26)

Développons à présent les formules de transformation afin de calculer lestermes yij. Toute colonne aj de A peut s’exprimer comme une combinaisonlinéaire des anciens vecteurs de base :

aj = y1jb1 + . . .+ ymjbm =m

i=1

yijbi (5.27)

Or le vecteur ak a remplacé le vecteur br dans la base. De (5.27), enposant j = k, on déduit que :

br =m

i=1

i=r

yikyrkbi +

1

yrkak (5.28)

Page 150: Optimisation appliquée (statistique et probabilitiés appliquées)

140 La méthode du simplexe

Substituons (5.28) dans (5.27) :

aj =yrjyrkak +

m

i=1

i=r

yij yrjyikyrk

bi =m

i=1

yij bi (5.29)

où bi = bi, i = r et br = ak. Si l’on compare les deux égalités dans (5.29),on trouve :

yij = yijyrjyrkyik, i = r (5.30)

yrj =yrjyrk

(5.31)

Calculons les nouvelles valeurs (zj cj) en utilisant la définition :

zj cj = cByj cj =m

i=1

cBiyij cj (5.32)

avec cBi = cBi, i = r et cBr = ck. En utilisant les résultats (5.30) et (5.31),l’équation (5.32) devient :

zj cj =m

i=1

i=r

cBi yij yrjyikyrk

+ ckyrjyrk

cj (5.33)

À noter que la sommation peut se faire sans la restriction i = r puisquele terme correspondant à cet indice est nul :

cBr yrj yrjyrkyrk

= 0

Ainsi, l’équation (5.33) peut s’écrire :

zj cj =m

i=1

cBiyij cjyrjyrk

m

i=1

cBiyik ck

ou de manière équivalente :

zj cj = (zj cj)yrjyrk(zk ck) (5.34)

Page 151: Optimisation appliquée (statistique et probabilitiés appliquées)

5.5. Tableaux du simplexe et procédure de calcul 141

Enfin, déterminons z, la nouvelle valeur de la fonction objectif :

z = cBxB =m

i=1

cBixBi (5.35)

Avec (5.25), (5.26) et le fait que cBi = cBi, i = r, cBr = ck, on obtient :

z =m

i=1

i=r

cBi xBixBryrkyik + ck

xBryrk

Dans la sommation, le terme pour i = r étant nul on peut omettre larestriction i = r. On obtient alors :

z =m

i=1

cBixBi

m

i=1

cBiyikxBryrk

+ ckxBryrk

Puisque zk =mi=1 cBiyik et z =

mi=1 cBixBi, on a finalement :

z = zxBryrk(zk ck). (5.36)

Toutes les valeurs nécessaires à l’établissement du nouveau tableau sontà présent disponibles et sont résumées dans la table 5.1.

xBr = xk =xBryrk

(5.25) Table 5.1:

xBi = xBixBryrkyik, i = r (5.26) Établissement du

yij = yijyrjyrkyik, i = r (5.30) nouveau tableau

yrj =yrjyrk

(5.31) lorsque la variable xk

zj cj = (zj cj)yrjyrk(zk ck) (5.34) remplace xBr dans

z = zxBryrk(zk ck) (5.36) la base

Les formules de la table 5.1 peuvent a priori paraître compliquées, maisleur utilisation dans les tableaux du simplexe est grandement simplifiée parplusieurs raisons: tout d’abord, en posant xBi = yi0, zj cj = ym+1,j et

Page 152: Optimisation appliquée (statistique et probabilitiés appliquées)

142 La méthode du simplexe

z = ym+1,0, les transformations indiquées dans la table 5.1 peuvent toutess’e ectuer à l’aide des deux formules :

yij = yijyrjyrkyik, i = r (5.30)

yrj =yrjyrk

(5.31)

où i = 1, . . . ,m+ 1 et j = 0, . . . , n.Notons qu’il est plus facile de calculer une ligne entière avant de changer

de ligne puisque yik/yrk est une constante pour une ligne i donnée.Voyons dans l’exemple suivant comment établir les tableaux du simplexe

afin d’obtenir la solution optimale.

Exemple 5.8 Reprenons l’exemple 4. qui a été traité graphiquement auchapitre 4.

Maximiser z = 3x1 + 4x2sous contraintes 2x1 + x2 12

x1 + 2x2 12et x1, x2 0

Tout d’abord, passons ce programme linéaire sous forme standard.

Maximiser z = 3x1 + 4x2 + 0x3 + 0x4sous contraintes 2x1 + x2 + x3 = 12

x1 + 2x2 + x4 = 12et x1,x2, x3, x4 0

Appliquons les di érentes étapes de la méthode du simplexe.

Étape 1 Le tableau initial du simplexe est donné dans le tableau 5.2.

cj 3 4 0 0cB vecteurs de base xB a1 a2 a3 a4

0 a3 12 2 1 1 00 a4 12 1 2 0 1

(zj cj) z = 0 3 4 0 0

Tableau 5.2 : Tableau initial du simplexe

Page 153: Optimisation appliquée (statistique et probabilitiés appliquées)

5.5. Tableaux du simplexe et procédure de calcul 143

La base B est formée par les vecteurs a3 et a4 et correspond à la ma-trice identité. La solution réalisable de base correspondante est donnée par

xB = B1b = Ib =

1212

. Les termes (zj cj) correspondant aux vecteurs

de base sont nuls et ceux correspondant aux vecteurs hors base s’obtiennenten calculant :

z1 c1 = cB1y11 + cB2y21 c1 = 0(2) + 0(1) 3 = 3

z2 c2 = cB1y12 + cB2y22 c2 = 0(1) + 0(2) 4 = 4

Enfin, la fonction objectif a pour valeur :

z = cB1xB1 + cB2xB2 = 0(12) + 0(12) = 0

Étape 2 Dans le tableau 5.2, nous voyons qu’il reste des (zj cj) négatifs.Nous passons donc à l’étape 3.

Étape 3 Les vecteurs yj situés au-dessus des (zj cj) négatifs n’ont que deséléments positifs. Une amélioration de la fonction objectif est donc possibleet nous cherchons le vecteur qui doit entrer dans la base.La plus petite valeur négative des (zj cj) est 4 obtenue pour (z2 c2).

Ainsi, k = 2 et le vecteur a2 entre dans la base. La colonne correspondanteest la colonne-pivot qui a été encadrée dans le tableau 5.2. Pour connaître levecteur qui sort de la base, nous passons à l’étape 4.

Étape 4 Examinons les rapports xBi/yi2 avec yi2 > 0 :

xB1y12

=12

1= 12

etxB2y22

=12

2= 6.

Le plus petit rapport est 6 et correspond à xB2/y22. Ainsi, r = 2 et levecteur a4 (correspondant à la variable xB2 = x4) sort de la base. La lignecorrespondante est la ligne-pivot qui a été encadrée dans le tableau 5.2. Ilreste à établir le nouveau tableau à l’étape 5.

Étape 5 Puisque a2 remplace a4 dans la base, on remplacecB2 = c4 = 0 par c2 = 4 dans la colonne cB. Tous les autres éléments du nou-veau tableau se calculent à partir des formules (5.30) et (5.31). Commençons

Page 154: Optimisation appliquée (statistique et probabilitiés appliquées)

144 La méthode du simplexe

par calculer les éléments de la ligne-pivot à l’aide de (5.31)yrj = yrj/yrk, j = 0, 1, . . . , n.

y20 = xB2 =y20y22

=12

2= 6

y21 =y21y22

=1

2

y22 =y22y22

= 1

y23 =y23y22

= 0

y24 =y24y22

=1

2

Calculons à présent la première ligne à l’aide de (5.30) :y1j = y1j

yrjyrky1k. À noter que

y1kyrk

=y12y22

= 1/2 est une constante pour

cette ligne.

y10 = xB1 = y101

2(y20) = 12

1

2(12) = 6

y11 = y111

2(y21) = 2

1

2(1) =

3

2

y12 = y121

2(y22) = 1

1

2(2) = 0

y13 = y131

2(y23) = 1

1

2(0) = 1

y14 = y141

2(y24) = 0

1

2(1) =

1

2

Il ne reste plus qu’à calculer les éléments de la dernière ligne :

y3j = y3jyrjyrky3k. Ici,

y3kyrk

=y32y22

=4

2= 2.

Page 155: Optimisation appliquée (statistique et probabilitiés appliquées)

5.5. Tableaux du simplexe et procédure de calcul 145

y30 = z = y30 ( 2)y20 = 0 + 2(12) = 24

y31 = (z1 c1) = y31 + 2(y21) = 3 + 2(1) = 1

y32 = (z2 c2) = y32 + 2(y22) = 4 + 2(2) = 0

y33 = (z3 c3) = y33 + 2(y23) = 0 + 2(0) = 0

y34 = (z4 c4) = y34 + 2(y24) = 0 + 2(1) = 2

Le tableau 5.3 représente le nouveau tableau du simplexe.Avant de retourner à l’étape 2, mentionnons que certains calculs e ectués

lors de l’étape 5 ne sont pas nécessaires. En e et les (zj cj) correspondantaux vecteurs dans la base sont forcément nuls. Le vecteur qui entre dansla base devient un vecteur unitaire avec pour composantes : 1 à la placede l’élément pivot et 0 ailleurs. Le vecteur qui reste dans la base n’est pasmodifié. De plus, la ligne-pivot est très facilement calculée puisque chaqueélément de cette ligne est divisé par l’élément pivot. Nous appliquerons cesremarques dans les calculs suivants.

cj 3 4 0 0cB vecteurs de base xB a1 a2 a3 a4

0 a3 6 3/2 0 1 1/24 a2 6 1/2 1 0 1/2

(zj cj) 24 1 0 0 2

Tableau 5.3 : Tableau du simplexe obtenu après une itération

Étape 2 Dans le tableau 5.3, il reste un (zj cj) négatif. Par conséquent,nous passons à l’étape 3.

Étape 3 Seul z1 c1 = 1 est négatif et tous les éléments de y1 sont positifs.Par conséquent k = 1 et le vecteur a1 entre dans la base ; passons àl’étape 4.

Étape 4 Calculons les rapports xBi/yi1, yi1 > 0 :

Page 156: Optimisation appliquée (statistique et probabilitiés appliquées)

146 La méthode du simplexe

xB1y11

=6

3/2= 4

xB2y21

=6

1/2= 12

Le plus petit rapport correspond à xB1/y11 = 4, d’où r = 1. Le vecteura3 sort donc de la base. Calculons le nouveau tableau à l’étape 5.

Étape 5 Puisque a1 entre dans la base pour se substituer à a3, on remplacecB1 = 0 par c1 = 3. L’élément pivot étant y11 = 3/2, tous les éléments de laligne-pivot sont divisés par 3/2. Le vecteur a1 qui entre dans la base devientle vecteur unitaire avec pour composantes : 1 à la place de l’élément pivotet 0 ailleurs. Le vecteur a2 qui reste dans la base n’est pas modifié. De plusz1 c1 = 0 et z2 c2 = 0, puisque a1 et a2 se trouvent dans la base. Lesautres éléments se calculent à l’aide de (5.30) comme suit :

y20 = xB2 = y201

3(y10) = 6

1

3(6) = 4

y23 = y231

3(y13) = 0

1

3(1) =

1

3

y24 = y241

3(y14) =

1

2

1

3

1

2=2

3

y30 = z = y30 +2

3(y10) = 24 +

2

3(6) = 28

y33 = z3 c3 = y33 +2

3(y13) = 0 +

2

3(1) =

2

3

y34 = z4 c4 = y34 +2

3(y14) = 2 +

2

3

1

2=5

3

Page 157: Optimisation appliquée (statistique et probabilitiés appliquées)

5.5. Tableaux du simplexe et procédure de calcul 147

cj 3 4 0 0cB vecteurs de base xB a1 a2 a3 a43 a1 4 1 0 2/3 1/34 a2 4 0 1 1/3 2/3

(zj cj) 28 0 0 2/3 5/3

Tableau 5.4 : Tableau du simplexe obtenu après deux itérations

Retournons à l’étape 2.

Étape 2 Tous les (zj cj) correspondant aux vecteurs hors base sont stricte-ment positifs, nous passons donc à l’étape 6.

Étape 6 Puisque (zj cj) > 0, j J, la solution optimale est donnée par :

xB1 = x1 = 4

xB2 = x2 = 4

Les variables hors base sont nulles : x3 = x4 = 0.

La valeur de la fonction objectif est z = 28.

Observons les solutions x1 et x2 obtenues à chaque itération. Dans letableau initial, x1 = 0 et x2 = 0. Après la première itération, x1 = 0 etx2 = 6. Finalement, à la seconde et dernière itération, x1 = 4 et x2 = 4.L’interprétation graphique de ces résultats est immédiate. En e et, dansnotre exemple, la méthode du simplexe part de l’origine (0 ;0). À chaqueitération on évalue la valeur de la fonction objectif en un point extrêmeadjacent :(0 ;6) à la première itération et (4 ;4) à la seconde, comme indiqué sur lafigure 5.2. La méthode fournit la solution optimale x1 = x2 = 4.

Page 158: Optimisation appliquée (statistique et probabilitiés appliquées)

148 La méthode du simplexe

Z=38

Z=28

Z=18 x1

x2

Figure 5.2 : Région réalisable et fonction objectif pour z1 = 18,z2 = 28 et z3 = 38

Jusqu’à présent, nous avons toujours étudié des cas où une solution réal-isable de base initiale était connue. Cependant, cette situation (idéale) ne serencontre pas dans tous les problèmes de programmation linéaire. Nous ver-rons donc dans le chapitre suivant comment trouver une solution réalisablede base initiale.

5.6 Recherche d’une solution réalisable de baseinitiale

Jusqu’ici nous avons vu comment trouver une solution réalisable de baseinitiale lorsque toutes les contraintes sont sous forme d’inégalités du type“ ”. Dans ce cas, en ajoutant une variable d’écart à chaque contrainte pourla transformer en une égalité, la matrice A qui correspond à l’ensemble descontraintes Ax = b prend la forme :

A = (R, I)

où I est la matrice identité d’ordre (m × m), puisqu’il y a m contraintes.L’intérêt d’obtenir au départ une matrice identité comme sous-matrice de Aest évident. En e et, comme B = I est une matrice de base, une solutionréalisable de base est immédiatement trouvée sous la forme : xB = B 1b.De plus, yj = B

1aj = aj, j = 1, . . . , n et cB = 0 puisque les prix associésaux variables d’écart sont nuls.

Page 159: Optimisation appliquée (statistique et probabilitiés appliquées)

5.6. Recherche d’une solution réalisable de base initiale 149

À noter que cette matrice identité peut apparaître sans que les variablesd’écart aient été rajoutées. Dans ce cas, la méthode du simplexe s’appliqueégalement, à la di érence près que les prix associés aux variables de base nesont pas nuls.Cependant, il n’existe pas, le plus souvent, de sous-matrice identité dans

la matrice A. C’est le cas par exemple lorsque des contraintes n’ont pasbesoin de l’adjonction de variables d’écart (contraintes déjà sous forme d’é-galités). On peut néanmoins obtenir une matrice identité comme matrice debase initiale en considérant le nouveau système de contraintes :

Ax+ Ixa = (A, I)x

xa= b (5.37)

dans lequel nous avons ajoutém variables xai, i = 1, . . . ,m, dont les colonnescorrespondantes sont les vecteurs ei (vecteurs unitaires). Ces nouvelles vari-ables sont appelées variables artificielles car elles n’ont aucune significa-tion pour le système original de contraintes. Les vecteurs artificiels ei quicorrespondent aux variables artificielles seront désignés par qi de manière àles distinguer des vecteurs aj de la matrice A. Nous avons fait apparaîtreune matrice identité comme matrice de base initiale. Nous disposons doncimmédiatement d’une solution réalisable de base pour (5.37) qui est xa = bet x = 0. Nous noterons toutefois qu’il ne s’agit pas d’une solution réalisabledu système original. Pour qu’une solution de (5.37) soit aussi une solutiondu système original, il faut que xa = 0, c’est-à-dire que toutes les variablesartificielles sortent de la base. Nous allons donc donner à ces variables ar-tificielles des prix très défavorables, de façon à ce que la fonction objectifpuisse être améliorée tant qu’une de ces variables reste dans la base. Si lafonction objectif z doit être maximisée, en donnant un prix négatif très grandà chaque variable artificielle, on peut s’attendre à ce que z s’améliore aussilongtemps qu’une variable artificielle se trouve dans la base avec une valeurpositive. Nous notons donc par cai le prix associé à la variable artificielle xaiet posons :

cai = M, M > 0

À noter que dans un problème de minimisation, on pose :

cai = +M, M > 0

Pour les calculs à la main, M n’a en général pas de valeur précise. Mest introduit dans le tableau du simplexe comme paramètre et est considéré

Page 160: Optimisation appliquée (statistique et probabilitiés appliquées)

150 La méthode du simplexe

comme su samment grand par rapport aux autres coe cients de la fonctionobjectif. Pour les calculs sur ordinateur, M est souvent égal à mille foisla valeur du prix le plus élevé correspondant à une vraie variable. C’estpourquoi, on parle souvent de la méthode du “big M” qui est illustrée dansle paragraphe suivant.

5.7 La méthode du big M

Lorsque, dans un problème de programmation linéaire sous forme standard(5.4), la matrice A ne contient pas de sous-matrice identité, on considère leproblème augmenté :

Maximiser z = cx

m

i=1

Mxai

sous contraintes Ax+ Ixa = b

et x 0, xa 0 (5.38)

Dans ce cas, la solution réalisable de base initiale est xa = b. La méthodedu “big M” consiste à choisir M su samment grand pour que toutes lesvariables artificielles sortent de la base (c’est-à-dire xa = 0). On obtientainsi la solution optimale au problème (5.4) si une telle solution existe.Mentionnons que dans la formulation du problème (5.38), nous avons

ajouté m variables artificielles, ce qui n’est pas toujours nécessaire. En e et,il arrive que la matrice A contienne déjà une partie de la matrice identité.Dans ce cas, il su t d’ajouter les vecteurs artificiels qi = ei qui complètentla matrice identité.

Exemple 5.9 Transformons le problème de programmation linéaire suivantafin de pouvoir lui appliquer la méthode du “big M”.

Minimiser z = 2x1 + 5x2 + 3x3 4x4

sous contraintes 4x1 + 2x2 x3 5

x1 + 4x2 + x4 = 7

8x1 7x2 10

et x1, x2, x3, x4 0

Page 161: Optimisation appliquée (statistique et probabilitiés appliquées)

5.7. La méthode du big M 151

Après avoir multiplié la première contrainte par 1 (ce qui inverse l’iné-galité) et ajouté les variables d’écart, les contraintes s’écrivent sous formematricielle:

4 2 1 0 1 01 4 0 1 0 08 7 0 0 0 1

x1x2x3x4x5x6

=5710

où x5 et x6 sont des variables d’écart. Dans la matrice A, les colonnes 3 et4 forment les deux premières colonnes de la matrice identité. Il su t doncd’ajouter une variable artificielle à la troisième contrainte pour qu’apparaissela matrice identité d’ordre (3× 3). Il faut en outre transformer le problèmede minimisation en un problème de maximisation. Finalement, on obtient :

Maximiser ( z) = 2x1 5x2 3x3 + 4x4 + 0x5 + 0x6 Mxa1

sous contraintes 4x1 2x2 + x3 x5 = 5

x1 + 4x2 + x4 = 7

8x1 7x2 x6 + xa1 = 10

et x1, x2, x3, x4, x5, x6, xa1 0

Sous forme matricielle, les contraintes s’écrivent :

4 2 1 0 1 0 01 4 0 1 0 0 08 7 0 0 0 1 1

x1x2x3x4x5x6xa1

=5710

ou de manière équivalente

Page 162: Optimisation appliquée (statistique et probabilitiés appliquées)

152 La méthode du simplexe

4 2 1 0 1 0 01 4 0 0 0 1 08 7 0 1 0 0 1

x1x2x5x6x3x4xa1

=5710

Cette dernière formulation correspond à celle donnée en (5.38), avec :

xa =x3x4xa1

= b

comme solution réalisable de base initiale. Nous pouvons dès lors utiliser laméthode du simplexe pour résoudre ce problème.

Étape 1 Comme nous disposons d’une solution réalisable de base, nouspouvons construire le tableau initial du simplexe (voir tableau 5.5).

cj 2 5 3 4 0 0 McB vecteurs xB a1 a2 a3 a4 a5 a6 q1

de base

3 a3 5 4 2 1 0 1 0 04 a4 7 1 4 0 1 0 0 0M q1 10 8 7 0 0 0 1 1

(zj cj) 13 10M 14 8M 27 + 7M 0 0 3 M 0

Tableau 5.5 : Tableau initial du simplexe (méthode du “big M”)

Les seules valeurs à calculer dans le tableau 5.5 sont z et les (zj cj) pourles variables hors base :

z = cB1xB1 + cB2xB2 + cB3xB3= 3(5) + 4(7) M(10) = 13 10M

z1 c1 = cB1y11 + cB2y21 + cB3y31 c1 = 14 8Mz2 c2 = cB1y12 + cB2y22 + cB3y32 c2 = 27 + 7Mz5 c5 = cB1y15 + cB2y25 + cB3y35 c5 = 3z6 c6 = cB1y16 + cB2y26 + cB3y36 c6 =M

Page 163: Optimisation appliquée (statistique et probabilitiés appliquées)

5.7. La méthode du big M 153

Passons à l’étape 2 de la méthode du simplexe.

Étape 2 Dans le tableau 5.5, puisque M est considéré comme su sammentgrand, seul z1 c1 = 14 8M est négatif. Nous passons à l’étape 3.

Étape 3 Le vecteur y1 situé au-dessus de (z1 c1) possède des élémentspositifs. Par conséquent, la valeur de la fonction objectif peut être amélioréeet le vecteur a1 entre dans la base (k = 1). Passons à l’étape 4.

Étape 4 Examinons les rapports xBi/yi1 avec yi1 > 0 :

xB2y21

=7

1= 7

xB3y31

=10

8= 1, 25

Le plus petit rapport est 1,25 ; il correspond à xB3/y31. Ainsi r = 3 et levecteur artificiel q1 sort de la base. Passons à l’étape 5.

Étape 5 Sans entrer dans le détail des calculs, construisons le nouveautableau du simplexe dont les résultats figurent dans le tableau 5.6.

cj 2 5 3 4 0 0 McB vecteurs xB a1 a2 a3 a4 a5 a6 q1

de base3 a3 10 0 5.5 1 0 1 0.5 0.54 a4 5.75 0 4.875 0 1 0 0.125 0.1252 a1 1.25 1 0.875 0 0 0 0.125 0.125

(zj cj) 4.5 0 39.25 0 0 3 1.75 M 1.75

Tableau 5.6 : Tableau du simplexe après la première itération(méthode du “big M”)

Puisque dans le tableau 5.6 il n’y a plus de (zj cj) négatifs, nous passonsà l’étape 6.

Étape 6 La solution obtenue dans le tableau 5.6 est optimale puisque levecteur artificiel q1 n’est plus dans la base. Cette solution est donnée par :

Page 164: Optimisation appliquée (statistique et probabilitiés appliquées)

154 La méthode du simplexe

x1 = 1, 25x2 = 0x3 = 10x4 = 5, 75

Il faut inverser le signe de la valeur de la fonction objectif puisque l’on amaximisé ( z). Ainsi la valeur optimale de la fonction objectif à minimiser: Minimiser z = 2x1 + 5x2 + 3x3 4x4, vaut 4,5.L’exemple 5.8 nous a permis, à l’aide de la méthode du “bigM”, de trou-

ver la solution optimale du problème initial en introduisant une va-riableartificielle. Dans cet exemple, après une itération, tous les (zj cj) sontpositifs ou nuls et le vecteur artificiel ne se trouve plus dans la base (et doncxa1 = 0) ; lorsque toutes les variables artificielles sont nulles et que la condi-tion d’optimalité (zj cj) 0, j J est satisfaite, la solution obtenue estla solution optimale du problème original. Lorsque la condition d’optimalitéest satisfaite mais qu’une ou plusieurs variables artificielles se trouvent dansla base avec des valeurs positives, le problème original n’a pas de solution.Illustrons ce dernier cas dans l’exemple suivant.

Exemple 5.10 Examinons comment fonctionne la méthode du “big M” surle problème de programmation linéaire suivant :

Maximiser z = 3x1 + 2x2sous contraintes 3x1 + 4x2 6

2x1 3x2 = 12et x1, x2 0

Après avoir ajouté une variable d’écart à la première contrainte, nousobtenons sous forme matricielle :

3 4 12 3 0

x1x2x3

=612

Nous voyons que le vecteur e1, qui est la première colonne de la matriceidentité apparaît dans la matrice A. Nous devons donc ajouter un vecteurartificiel q2 = e2 dont la variable correspondante est xa1. Le prix associé àxa1 est ca1 = M . Le programme linéaire augmenté est alors :

Page 165: Optimisation appliquée (statistique et probabilitiés appliquées)

5.7. La méthode du big M 155

Maximiser z = 3x1 + 2x2 + 0x3 Mxa1

sous contraintes 3x1 + 4x2 + x3 = 6

2x1 3x2 + xa1 = 12

et x1, x2, x3, xa1 0

Le tableau 5.7 représente le tableau initial du simplexe.

cj 3 2 0 McB vecteurs xB a1 a2 a3 q1

de base

0 a3 6 3 4 1 0M q1 12 2 3 0 1

(zj cj) 12M 2M 3 3M 2 0 0

Tableau 5.7 : Tableau initial du simplexe (méthode du “big M”)

Le tableau 5.7 nous apprend que seul z1 c1 = 2M 3 est négatif.C’est donc le vecteur a1 qui entre dans la base. Le vecteur qui sort de

la base est le vecteur a3 puisqu’il correspond au plus petit rapport xBi/yi1,yi1 > 0. Établissons le nouveau tableau du simplexe en échangeant a1 et a3.Les résultats figurent dans le tableau 5.8.

cj 3 2 0 McB vecteurs xB a1 a2 a3 q1

de base3 a1 2 1 1.33 0.33 0M q1 8 0 5.67 0.67 1

(zj cj) 6 8M 0 5.67M + 2 0.67M + 1 0

Tableau 5.8 : Tableau du simplexe après une itération

On voit dans le tableau 5.8 que (zj cj) 0, j J .

Page 166: Optimisation appliquée (statistique et probabilitiés appliquées)

156 La méthode du simplexe

Ainsi le critère d’optimalité est satisfait. Cependant, le vecteur artifi-ciel q1 se trouve encore dans la base et la variable artificielle correspondantexa1 = 8 est positive. Cette situation démontre qu’il n’existe pas de solutionréalisable pour le problème initial. Pour s’en convaincre, il su t de repren-dre les contraintes du problème initial et de vérifier qu’elles ne peuvent pasêtre satisfaites simultanément. Outre les contraintes de non-négativité, nousavons les deux contraintes : 3x1 + 4x2 6 et 2x1 3x2 = 12. Tirons x1de la deuxième contrainte : x1 = 6 + 3

2x2. En remplaçant cette deuxième

expression dans la première contrainte, nous trouvons :

3 6 +3

2x2 + 4x2 6

18 +9

2x2 + 4x2 6

17

2x2 12

x224

17

Par conséquent, la contrainte de non-négativité de x2 est violée ! Pourterminer ce paragraphe, traitons avec la méthode du “big M”, un problèmedans lequel la solution optimale n’est pas unique.

Exemple 5.11 Soit le problème de programmation linéaire suivant :

Maximiser z = 2x1 + x2

sous contraintes 2x1 + x2 8

x1 + x2 5

et x1, x2 0

Transformons ce problème sous la forme adéquate pour la méthode du“big M” en introduisant les variables d’écart et une variable artificielle :

Maximiser z = 2x1 + x2 + 0x3 + 0x4 Mxa1

sous contraintes 2x1 + x2 + x3 = 8

x1 + x2 x4 + xa1 = 5

et x1, x2, x3, x4, xa1 0

Page 167: Optimisation appliquée (statistique et probabilitiés appliquées)

5.7. La méthode du big M 157

Établissons le tableau initial du simplexe (tableau 5.9).

cj 2 1 0 0 McB vecteurs xB a1 a2 a3 a4 q1

de base

0 a3 8 2 1 1 0 0M q1 5 1 1 0 1 1

(zj cj) 5M M 2 M 1 0 M 0

Tableau 5.9 : Tableau initial du simplexe

Dans le tableau 5.9, la plus petite valeur (zj cj) négative pour les vecteurshors base est M 2 et correspond au vecteur a1 qui entre dans la base.Le vecteur qui sort de la base est le vecteur a3 qui correspond au plus petitrapport xBi/yi1, i = 1, 2. Nous pouvons donc établir le nouveau tableau 5.10dans lequel le vecteur a1 remplace le vecteur a3 dans la base.

cj 2 1 0 0 McB vecteurs xB a1 a2 a3 a4 q1

de base

2 a1 4 1 1/2 1/2 0 0M q1 1 0 1/2 1/2 1 1

(zj cj) 8 M 0 M/2 1 +M/2 M 0

Tableau 5.10 : Tableau du simplexe après une itération

Dans le tableau 5.10, (z2 c2) = M/2 est négatif. Le vecteur qui entredans la base est donc le vecteur a2. Le vecteur qui en sort est le vecteurartificiel q1, puisqu’il correspond au plus petit rapport xBi/yi2, i = 1, 2. Lenouveau tableau du simplexe est donné dans le tableau 5.11.

Page 168: Optimisation appliquée (statistique et probabilitiés appliquées)

158 La méthode du simplexe

cj 2 1 0 0 McB vecteurs xB a1 a2 a3 a4 q1

de base

2 a1 3 1 0 1 1 11 a2 2 0 1 1 2 2

(zj cj) 8 0 0 1 0 M

Tableau 5.11 : Tableau du simplexe après deux itérations

Dans le tableau 5.11, puisque le critère d’optimalité (zj cj) 0, j Jest satisfait, la solution x1 = 3 et x2 = 2 est une solution optimale. La valeuroptimale de la fonction objectif est z = 8.Cependant, il existe une valeur de (zj cj) qui est nulle pour un vecteur

hors base, notamment z4 c4 = 0. Dans ce cas, la solution optimale trou-vée n’est pas unique. Pour connaître les autres solutions optimales (pointsextrêmes), il su t de poursuivre la procédure du simplexe en faisant entrerle vecteur correspondant dans la base, c’est-à-dire a4 dans notre cas. Levecteur qui doit sortir de la base est a1 puisque seul le rapport xB1/y14 = 3est à prendre en compte (y24 = 2 étant négatif). On obtient ainsi le tableau5.12.

cj 2 1 0 0 McB vecteurs xB a1 a2 a3 a4 q1

de base0 a4 3 1 0 1 1 11 a2 8 2 1 1 0 0

(zj cj) 8 0 0 1 0 M

Tableau 5.12 : Tableau du simplexe pour trouverune autre solution optimale

Dans le tableau 5.12, la nouvelle solution optimale est x1 = 0 et x2 = 8.La valeur de la fonction objectif est évidemment la même, c’est-à-dire z = 8.

Page 169: Optimisation appliquée (statistique et probabilitiés appliquées)

5.8. La méthode des deux phases 159

Notons qu’ici encore, il existe une valeur de (zj cj) qui est nulle pourune variable hors base, notamment z1 c1 = 0. On pourrait continuer àappliquer la procédure du simplexe en introduisant a1 dans la base. Dansce cas, les rapports xBi/yi1 sont xB1/y11 = 3 et xB2/y21 = 4. Le plus petitrapport est xB1/y11 et correspond au vecteur a4 qui doit sortir de la base.Or, en faisant entrer a1 dans la base à la place de a4, on retombe sur lemême tableau que celui présenté dans le tableau 5.11. Il est donc inutilede continuer la procédure du simplexe puisque toutes les solutions optimalescorrespondant aux points extrêmes de la région réalisable ont été trouvées.

(3;2)

x1

x2

4

4

2

6

8

2 6

Figure 5.3 : Solutions optimales obtenues par la méthode du simplexe

La figure 5.3 illustre les deux solutions optimales trouvées avec la méthodedu “big M” en utilisant la procédure du simplexe. Remarquons que seul unnombre fini de solutions optimales sont fournies par cette méthode alors qu’enréalité il en existe une infinité puisque tous les points situés sur le segmentde droite reliant les deux solutions optimales trouvées sont également dessolutions optimales.

5.8 La méthode des deux phases

Nous avons vu, dans la méthode du “big M”, qu’utiliser ( M) comme co-e cient de la fonction objectif pour les variables artificielles permettait desortir les variables artificielles de la base et donc de les annuler. Cependant,cette méthode pose certains problèmes, notamment lorsque le programme

Page 170: Optimisation appliquée (statistique et probabilitiés appliquées)

160 La méthode du simplexe

linéaire est résolu par ordinateur. Contrairement aux calculs à la main, le re-cours à un ordinateur nécessite en e et le choix d’une valeur numérique pourM . Cette valeur doit être beaucoup plus grande que n’importe quel autrecoe cient de la fonction objectif. Si M est trop petit, on peut trouver unesolution avec une variable artificielle positive dans la base, ce qui indiqueun problème non réalisable, alors qu’en réalité il est tout à fait réalisable.D’autre part, si M est trop grand, les valeurs (zj cj) qui sont de la formeM + seront dominées par M et les erreurs d’arrondis risquent d’avoir une et non-négligeable sur la solution. De plus, si est très petit, alors n’estplus négligeable par rapport à M , ce qui entraîne également un risque deconclusion erronée.Nous allons donc présenter une autre méthode, appelée méthode des

deux phases, qui permet d’éviter les problèmes liés à la méthode du“big M”.Comme son nom l’indique, cette méthode consiste à résoudre un problème

de programmation linéaire en deux parties.La première partie, appelée phase I, consiste à annuler toutes les vari-

ables artificielles en utilisant une fonction objectif artificielle. Si l’on ne peutpas annuler toutes les variables, alors le problème n’est pas réalisable.La phase II consiste à remplacer la fonction objectif artificielle de la

phase I par la vraie fonction objectif à maximiser. On utilise alors la solutionréalisable de base obtenue à la fin de la phase I. Deux cas peuvent se présenteren ce qui concerne cette solution réalisable de base.

Premier cas La solution réalisable de base obtenue à la fin de la phaseI ne contient plus de variables artificielles. Dans ce cas, on utilise simple-ment l’algorithme du simplexe décrit précédemment pour obtenir la solutionoptimale.

Deuxième cas Une ou plusieurs variables artificielles (nulles) font partie decette solution réalisable de base. L’algorithme du simplexe peut égalementêtre utilisé mais il faut s’assurer que ces variables artificielles ne deviennentjamais positives. Pour éviter ce problème, le critère de sortie de la base doitêtre modifié en conséquence. Après avoir déterminé le vecteur ak à faireentrer dans la base, il faut examiner les valeurs yik qui correspondent auxvecteurs artificiels.

Si yik 0 pour tous les indices i correspondant aux vecteurs artificielset yik > 0 pour au moins un indice i, le critère usuel de sortie de la base

Page 171: Optimisation appliquée (statistique et probabilitiés appliquées)

5.8. La méthode des deux phases 161

ne sélectionnerait aucun vecteur artificiel. Ce serait donc un vrai vecteur brqui serait éliminé. Si xBr > 0, alors les valeurs des variables artificielles avecyik < 0 deviendraient positives puisque :

xBi = xBiyikyrkxBr =

yikyrkxBr > 0

Dans une situation de ce type, au lieu d’utiliser le critère usuel de sortiede la base, on fait sortir un vecteur artificiel avec un yik < 0. Dans ce cas, lesnouvelles valeurs de la solution réalisable de base restent inchangées puisquexBr = 0. La nouvelle valeur de la fonction objectif n’est pas strictementaméliorée mais reste constante, z = z, pour cette itération.La méthode des deux phases et les étapes de chaque phase sont décrites

ci-dessous.

• Phase I

Cette phase consiste à construire une fonction objectif artificielle en at-tribuant à chaque variable artificielle un prix de 1 à la place de M etun prix nul à toutes les autres variables. Il s’agit donc de maximiser lafonction objectif suivante :

Maximiser za = xa1 xa2 . . . xas

où l’indice s indique le nombre de variables artificielles qui ont été rajoutéesdans les contraintes. Puisque les variables artificielles xai sont non-négatives,la fonction objectif artificielle est toujours non-positive et atteint son maxi-mum 0 lorsque chaque variable artificielle est nulle.

Les étapes de la phase I sont les suivantes :

Étape 1 Transformer au besoin le problème de programmation linéaire sousforme standard en ajoutant les variables d’écart et les variables artificiellesnécessaires.

Étape 2 Construire la fonction objectif artificielle za en changeant les coef-ficients de la fonction objectif originale de la manière suivante :

(a) les coe cients des variables artificielles valent 1.

Page 172: Optimisation appliquée (statistique et probabilitiés appliquées)

162 La méthode du simplexe

(b) les coe cients des autres variables sont nuls.

Étape 3 Résoudre le problème établi dans les deux étapes précédentes avecla méthode usuelle du simplexe.On s’arrête à la phase I dans deux cas :

(a) La valeur de za vaut 0 (même s’il reste certains (zj cj) négatifs).On passe alors à l’étape 1 de la phase II.

(b) Le critère d’optimalité (zj cj) 0, j J est satisfait mais ilreste dans la base des variables artificielles avec des valeurs posi-tives (ainsi za < 0). Dans ce cas, le problème original n’a pas desolution réalisable et l’on s’arrête.

Voyons à présent les étapes de la phase II dont le but est de trouver unesolution optimale au problème original.

• Phase II

Étape 1 Remplacer la fonction objectif artificielle par la fonction objectiforiginale, y compris les variables d’écart en donnant leur prix réel aux vraiesvariables et un prix zéro à toute variable artificielle qui peut apparaître dansla base à un niveau zéro. Les colonnes des vecteurs artificiels qui ne sontpas dans la base peuvent être éliminées du tableau car elles ne seront pluscandidates pour y entrer.

Étape 2 Le premier tableau de la phase II et le dernier tableau de la phaseI sont identiques à l’exception des coe cients de la fonction objectif et desvaleurs (zj cj) qui doivent être recalculées.

Étape 3 S’il n’y a plus de variables artificielles dans la base à la fin de laphase I, on applique la méthode usuelle du simplexe. Sinon, on passe àl’étape 4.

Étape 4 Pour éviter que les variables artificielles de la base ne deviennentpositives, il faut examiner les valeurs yik (la colonne correspondant au vecteurak qui entre dans la base) pour chaque variable artificielle. Si ces valeurssont telles que yik 0 pour tous les indices i correspondant aux vecteurs

Page 173: Optimisation appliquée (statistique et probabilitiés appliquées)

5.8. La méthode des deux phases 163

artificiels et yik > 0 pour au moins un indice i, on fait sortir de la base unvecteur artificiel avec un yik < 0. Sinon on utilise le critère usuel de sortie.

Les exemples suivants illustrent respectivement les trois cas qui peuventse présenter à la fin de la phase I, c’est-à-dire :

1. za = 0 et il ne reste plus de vecteurs artificiels dans la base.

2. za = 0 et il reste un ou plusieurs vecteurs artificiels dans la base.

3. za < 0 ; dans ce cas, il n’existe pas de solution réalisable.

Exemple 5.12 Soit le problème suivant à résoudre avec la méthode des deuxphases :

Maximiser z = 2x1 + 3x2 + 5x3sous contraintes x1 + 4x2 3x3 8

2x1 x2 55x1 + 2x2 x3 = 19

et x1, x2, x3 0

• Phase I

Étape 1 Transformons ce problème sous forme standard en ajoutant unevariable d’écart aux deux premières inéquations. Pour former une matriceidentité, il faut encore ajouter une variable artificielle à la troisième équation.Les contraintes transformées sont donc :

x1 + 4x2 3x3 + x4 = 82x1 x2 + x5 = 5

5x1 + 2x2 x3 + xa1 = 19et x1, x2, x3, x4, x5, xa1 0

Étape 2 La fonction objectif artificielle à maximiser est za = xa1 puisqueles coe cients des autres variables sont nuls.

Étape 3 Construisons le premier tableau de la phase I et appliquons laméthode usuelle du simplexe.

Page 174: Optimisation appliquée (statistique et probabilitiés appliquées)

164 La méthode du simplexe

cj 0 0 0 0 0 1cB vecteurs xB a1 a2 a3 a4 a5 q1

de base

0 a4 8 1 4 3 1 0 00 a5 5 2 1 0 0 1 01 q1 19 5 2 1 0 0 1

(zj cj) 19 5 2 1 0 0 0

Tableau 5.13 : Tableau 1 de la phase I

za = 19. Les critères usuels d’entrée et de sortie de la base indiquentque le vecteur a1 remplace le vecteur a5 dans la base. Nous calculons doncun deuxième tableau.

cj 0 0 0 0 0 1cB vecteurs xB a1 a2 a3 a4 a5 q1

de base

0 a4 11/2 0 9/2 3 1 1/2 00 a1 5/2 1 1/2 0 0 1/2 01 q1 13/2 0 9/2 1 0 5/2 1

(zj cj) 13/2 0 9/2 1 0 5/2 0

Tableau 5.14 : Tableau 2 de la phase I

Dans le tableau 2 de la phase I, za = 13/2. Nous calculons un nouveautableau en remplaçant a4 par a2 dans la base.

Page 175: Optimisation appliquée (statistique et probabilitiés appliquées)

5.8. La méthode des deux phases 165

cj 0 0 0 0 0 1cB vecteurs xB a1 a2 a3 a4 a5 q1

de base

0 a2 11/9 0 1 6/9 2/9 1/9 00 a1 56/18 1 0 6/18 2/18 8/18 01 q1 1 0 0 2 1 2 1

(zj cj) 1 0 0 2 1 2 0

Tableau 5.15 : Tableau 3 de la phase I

Dans le tableau 3 de la phase 1, nous voyons que za = 1 et que a3remplace q1 dans la base. Nous calculons donc un quatrième tableau.

cj 0 0 0 0 0 1cB vecteurs xB a1 a2 a3 a4 a5 q1

de base0 a2 28/18 0 1 0 2/18 14/18 6/180 a1 118/36 1 0 0 2/36 4/36 6/360 a3 1/2 0 0 1 1/2 1 1/2

(zj cj) 0 0 0 0 0 0 1

Tableau 5.16 : Tableau 4 de la phase I

Le tableau 4 de la phase I nous montre que cette phase est terminéepuisque za = 0. De plus, il n’y a plus de vecteur artificiel dans la base. Nouspouvons donc passer à l’étape 1 de la phase II.

• Phase 2

Étape 1 La fonction objectif à maximiser est la fonction objectif originale,c’est-à-dire :

Maximiser z = 2x1 + 3x2 + 5x3 + 0x4 + 0x5

Page 176: Optimisation appliquée (statistique et probabilitiés appliquées)

166 La méthode du simplexe

La colonne correspondant au vecteur artificiel q1 peut être éliminée dunouveau tableau.

Étape 2 Construisons le premier tableau de la phase II à partir du derniertableau de la phase I en remplaçant les coe cients cj par les valeurs originales,puis en calculant les (zj cj).

cj 2 3 5 0 0cB vecteurs xB a1 a2 a3 a4 a5

de base

3 a2 28/18 0 1 0 2/18 14/182 a1 118/36 1 0 0 2/36 4/365 a3 1/2 0 0 1 1/2 1

(zj cj) 494/36 0 0 0 106/36 256/36

Tableau 5.17 : Tableau 1 de la phase II

cj 2 3 5 0 0cB vecteurs xB a1 a2 a3 a4 a5

de base3 a2 49/2 7 1 0 1/2 00 a5 59/2 9 0 0 1/2 15 a3 30 9 0 1 1 0

(zj cj) 447/2 64 0 0 3/2 0

Tableau 5.18 : Tableau 2 de la phase II

Étape 3 Comme il n’y a plus de vecteurs artificiels dans le tableau 1 de laphase II, nous pouvons appliquer l’algorithme usuel du simplexe. D’après lescritères usuels, le vecteur qui devrait entrer dans la base est le vecteur a5 etcelui qui devrait en sortir est le vecteur a1. Cependant, comme toutes lesvaleurs yi4 correspondant à (z4 c4) =

10636< 0 sont négatives, la solution

optimale est infinie et la phase II s’arrête à ce stade.À noter que la solution obtenue dans le tableau 1 de la phase II : x1 = 118

36,

x2 =2818et x3 = 1

2n’est qu’une solution réalisable de base. Il ne s’agit pas de

Page 177: Optimisation appliquée (statistique et probabilitiés appliquées)

5.8. La méthode des deux phases 167

la solution optimale. On peut d’ailleurs poursuivre l’algorithme du simplexepour obtenir une plus grande valeur de la fonction objectif, comme l’indiquela valeur de z dans le tableau 2 de la phase II.Dans ce tableau, on voit qu’il n’y a qu’un seul (zj cj) négatif. Le vecteur

qui devrait entrer dans la base est le vecteur a4. Cependant, tous les yi4 sontnégatifs, par conséquent aucun vecteur ne peut sortir de la base ! À ce stade,nous devons interrompre l’algorithme du simplexe et conclure que la solutionest infinie.

Exemple 5.13 Soit le problème suivant à résoudre avec la méthode des deuxphases :

Minimiser z = 2x1 + 3x2 5x3sous contraintes x1 + x2 + x3 = 6

x1 + x2 + 2x3 = 42x2 + 3x3 = 10x3 2

et x1 + x2 + x3 = 6

• Phase I

Étape 1 Comme il s’agit d’un problème de minimisation, il faut le trans-former en un problème de maximisation en inversant le signe des coe cientsde la fonction objectif. Cette opération n’intervient que dans la phase II. Enrevanche, il faut introduire une variable d’écart dans la quatrième contrainteet ajouter trois variables artificielles pour qu’une matrice identité apparaissedans le tableau 1 de la phase I. Les contraintes s’écrivent alors :

x1 + x2 + x3 + xa1 = 6x1 + x2 + 2x3 + xa2 = 4

2x2 + 3x3 + xa3 = 10x3 + x4 = 2

et x1, x2, x3, x4, xa1, xa2, xa3 0

Étape 2 La fonction objectif artificielle s’écrit :

Maximiser za = xa1 xa2 xa3

Étape 3 Nous construisons le tableau 1 de la phase I et appliquons l’algori-thme usuel du simplexe.

Page 178: Optimisation appliquée (statistique et probabilitiés appliquées)

168 La méthode du simplexe

cj 0 0 0 0 1 1 1cB vecteurs xB a1 a2 a3 a4 q1 q2 q3

de base

1 q1 6 1 1 1 0 1 0 01 q2 4 1 1 2 0 0 1 01 q3 10 0 2 3 0 0 0 10 a4 2 0 0 1 1 0 0 0

(zj cj) 20 0 4 6 0 0 0 0

Tableau 5.19 : Tableau 1 de la phase I

Le critère d’entrée indique que le vecteur a3 entre dans la base. Le critèrede sortie indique deux possibilités pour sortir un vecteur de la base : q2 oua4 puisqu’ils ont tous deux le plus petit rapport (4/2 = 2/1 = 2).Le but de la phase I étant de faire sortir les vecteurs artificiels de la base,

notre choix portera sur q2. Nous construisons le tableau 2 de la phase I.

cj 0 0 0 0 1 1 1cB vecteurs xB a1 a2 a3 a4 q1 q2 q3

de base

1 q1 4 3/2 1/2 0 0 1 1/2 00 a3 2 1/2 1/2 1 0 0 1/2 01 q3 4 3/2 1/2 0 0 0 3/2 10 a4 0 1/2 1/2 0 1 0 1/2 0

(zj cj) 8 3 1 0 0 0 3 0

Tableau 5.20 : Tableau 2 de la phase I

Le tableau 2 de la phase I indique que za = 8. On peut faire entrer a1dans la base. Le vecteur a4 sort de la base puisqu’il correspond au plus petitrapport xBi/yi1, yi1 > 0, c’est-à-dire 0

1/2= 0.

Page 179: Optimisation appliquée (statistique et probabilitiés appliquées)

5.8. La méthode des deux phases 169

À noter que puisque xB4 = x4 = 0, la valeur de la fonction objectif dansle tableau suivant reste constante, comme l’indique le tableau 3 de laphase I.

cj 0 0 0 0 1 1 1cB vecteurs xB a1 a2 a3 a4 q1 q2 q3

de base

1 q1 4 0 2 0 3 1 1 00 a3 2 0 0 1 1 0 0 01 q3 4 0 2 0 3 0 0 10 a1 0 1 1 0 2 0 1 0

(zj cj) 8 0 4 0 6 0 0 0

Tableau 5.21 : Tableau 3 de la phase I

Dans le tableau 3 de la phase I, nous avons za = 8. Le vecteur qui entredans la base est le vecteur a2. Il y a deux vecteurs candidats pour sortir dela base : q1 et q3. Nous choisissons arbitrairement de sortir q1 de la base etcalculons un nouveau tableau.

cj 0 0 0 0 1 1 1cB vecteurs xB a1 a2 a3 a4 q1 q2 q3

de base0 a2 2 0 1 0 3/2 1/2 1/2 00 a3 2 0 0 1 1 0 0 01 q3 0 0 0 0 0 1 1 10 a1 2 1 0 0 1/2 1/2 1/2 0

(zj cj) 0 0 0 0 0 2 2 0

Tableau 5.22 : Tableau 4 de la phase I

Puisque dans le tableau 4 de la phase I za = 0, la phase I est terminée.Notons qu’il reste un vecteur artificiel (q3) dans la base à un niveau 0. Ilfaudra donc s’assurer dans la phase II que la variable correspondante nedevienne pas positive. Nous pouvons passer à l’étape 1 de la phase II.

Page 180: Optimisation appliquée (statistique et probabilitiés appliquées)

170 La méthode du simplexe

• Phase II

Étape 1 Puisqu’il s’agit d’un problème de minimisation, il faut le trans-former en un problème de maximisation. La fonction objectif à maximiserest donc :

Maximiser ( z) = 2x1 3x2 + 5x3

Les coe cients de la variable d’écart x4 et de la variable artificielle xa3dans la base sont nuls. De plus, nous pouvons éliminer du tableau les vecteursartificiels q1 et q2 qui ne sont plus dans la base.

Étape 2 Établissons le tableau 1 de la phase II.

cj 2 3 5 0 0cB vecteurs de base xB a1 a2 a3 a4 q33 a2 2 0 1 0 3/2 05 a3 2 0 0 1 1 00 q3 0 0 0 0 0 12 a1 2 1 0 0 1/2 0

(zj cj) 8 0 0 0 21/2 0

Tableau 5.23 : Tableau 1 de la phase II

Le tableau 1 de la phase II fournit la solution optimale puisque la seulevaleur de (zj cj) pour un vecteur hors base est strictement positive. À noterque dans ce cas, à la fin de la phase II, il reste un vecteur artificiel dans labase à un niveau zéro.La solution optimale est donnée par x1 = 2, x2 = 2 et x3 = 2. La valeur

de la fonction objectif vaut z = 8 (car il s’agit d’une minimisation).

Exemple 5.14 Soit le programme linéaire suivant à résoudre :

Maximiser z = x1 + 2x2 + x3sous contraintes x1 x2 + x3 4

2x1 + 2x2 + 3x3 63x1 + x2 + 4x3 12

et x1, x2, x3 0

Page 181: Optimisation appliquée (statistique et probabilitiés appliquées)

5.8. La méthode des deux phases 171

Sans détailler chaque étape, construisons le tableau 1 de la phase I.

cj 0 0 0 0 0 0 1cB vecteurs xB a1 a2 a3 a4 a5 a6 q1

de base

0 a4 4 1 1 1 1 0 0 00 a5 6 2 2 3 0 1 0 01 q1 12 3 1 4 0 0 1 1

(zj cj) 12 3 1 4 0 0 1 0

Tableau 5.24 : Tableau 1 de la phase I

Dans le tableau 1 de la phase I, nous voyons que le vecteur a3 entre dansla base et que le vecteur a5 en sort.Nous construisons donc le tableau 2 de la phase I.

cj 0 0 0 0 0 0 1cB vecteurs xB a1 a2 a3 a4 a5 a6 q1

de base

0 a4 2 1/3 5/3 0 1 1/3 0 00 a3 2 2/3 2/3 1 0 1/3 0 01 q1 4 1/3 5/3 0 0 4/3 1 1

(zj cj) 4 1/3 5/3 0 0 4/3 1 0

Tableau 5.25 : Tableau 2 de la phase I

La phase I se poursuit : on fait entrer a1 dans la base et on en fait sortira3. Nous construisons donc le tableau 3 de la phase I.

Page 182: Optimisation appliquée (statistique et probabilitiés appliquées)

172 La méthode du simplexe

cj 0 0 0 0 0 0 1cB vecteurs xB a1 a2 a3 a4 a5 a6 q1

de base0 a4 1 0 2 1/2 1 1/2 0 00 a1 3 1 1 3/2 0 1/2 0 01 q1 3 0 2 1/2 0 3/2 1 1(zj cj) 3 0 2 1/2 0 3/2 1 0

Tableau 5.26 : Tableau 3 de la phase I

Dans le tableau 3 de la phase I, nous constatons qu’il n’y a plus de(zj cj) négatifs. Par conséquent, la phase I s’arrête. Or, la valeur de lafonction objectif artificielle équivaut à za = 3. Puisque cette valeur n’estpas nulle, le problème original n’a pas de solution réalisable. Le fait queza = 3 < 0 provient de la présence du vecteur artificiel à un niveau positifdans la base.

5.9 Utilisation du Solveur Excel

On peut résoudre les problèmes de programmation linéaire à l’aide de l’outilSolveur du logiciel Excel (pour une introduction à l’utilisation du Solveur,voir chapitre 2).

Exemple 5.15 Reprenons l’exemple 5.8. que nous avons déjà traité.

Maximiser z = 3x1 + 4x2sous contraintes 2x1 + x2 12

x1 + 2x2 12et x1, x2 0

Tout d’abord, formulons le problème sur la feuille de calcul Excel.

Page 183: Optimisation appliquée (statistique et probabilitiés appliquées)

5.9. Utilisation du Solveur Excel 173

Figure 5.4 : Formulation du problème sur Excel

Sélectionner la cellule contenant la fonction à maximiser, dans notre casla cellule A4, et choisir Solveur dans le menu Outil. Choisir les variableset préciser les contraintes.

Figure 5.5 : Paramètres du Solveur pour ce problème

Page 184: Optimisation appliquée (statistique et probabilitiés appliquées)

174 La méthode du simplexe

Il est toutefois nécessaire de préciser quelques options, en particulier,le fait que le modèle est supposé linéaire. Il est par ailleurs judicieux dedemander l’a chage des étapes intermédiaires.

Figure 5.6 : Boîte de dialogue d’option

Le Solveur est maintenant prêt. En partant de x1 = x2 = 0, il trouve unpremier résultat intermédiaire x1 = 0 et x2 = 6. Puis il obtient la solutionx1 = x2 = 4.

Figure 5.7 : Première solution intermédiaire trouvée par le Solveur

Page 185: Optimisation appliquée (statistique et probabilitiés appliquées)

5.10. Exercices 175

Figure 5.8 : Solution finale proposée par le Solveur

5.10 Exercices

1. Résoudre le programme linéaire suivant :

Maximiser z = x1 + x2sous contraintes 5x1 + 6x2 25

9x1 2x2 43x1 + x2 83x1 + x2 8

et x1, x2 0

2. Dans une exploitation agricole, on élève des vaches et des moutons. Lesétables peuvent contenir un maximum de 50 vaches et 200 moutons. Deplus, 72 arpents de pâturages sont disponibles. On a besoin de 1 arpentpar vache et de 0,2 arpent par mouton. Pour s’occuper du bétail, ondispose de 10 000 heures de travail par année. On estime qu’une vache

Page 186: Optimisation appliquée (statistique et probabilitiés appliquées)

176 La méthode du simplexe

nécessite 150 heures de travail par année et un mouton 25 heures. Legain annuel net s’élève à 250 CHF par vache et à 45 CHF par mouton.

Combien doit-on élever de vaches et de moutons pour que le gain netsoit maximal ?

3. On nourrit des lapins exclusivement de carottes et de pommes de terre.Une mesure de carottes fournit 1 kcal, 4 mg de vitamine B et 3 mgde vitamine A. Une mesure de pommes de terre fournit 2 kcal, 3 mgde vitamine B et 1 mg de vitamine A. Les besoins du lapin sont d’aumoins 2 kcal, 6 mg de vitamine B et 3 mg de vitamine A. Une mesurede carottes coûte autant que deux mesures de pommes de terre.

Quel menu coûte le moins cher ?

4. Une usine fabrique les produits P1 et P2. Elle utilise les matièrespremières M1, M2 et M3, à raison de 2 tonnes de M1, 1 tonne de M2et 3 tonnes de M3 par unité produite de P1 et de 1 tonne de M1, 3tonnes de M2 et 4 tonnes de M3 par unité produite de P2. Elle disposemensuellement de 50 tonnes de M1, 25 tonnes de M2 et 60 tonnes deM3.

Le bénéfice net est de 5 000 CHF par unité de P1 et de 2 000 CHF parunité de P2.

Quelle quantité de chacun des deux produits l’entreprise doit-ellefabriquer pour que le bénéfice soit maximal ?

5. Un industriel doit livrer trois biens A, B et C à raison de 6 unités deA, 11 unités de B et 23 unités de C. ll dispose de deux facteurs deproduction X1 et X2. L’emploi d’une unité de X1 permet de réaliserune unité de A, une de B et une de C. Une unité de X2 permet deréaliser une unité de A, 2 de B et 5 de C. Le prix du facteur X1 est de100 CHF l’unité, celui du facteur X2 de 400 CHF.

Quelle quantité de chaque facteur l’industriel doit-il utiliser pour sa-tisfaire la demande à un coût minimal ?

6. Résoudre le programme linéaire suivant :

Page 187: Optimisation appliquée (statistique et probabilitiés appliquées)

5.10. Exercices 177

x+ y 52x+ 3y 64x+ 2y 8x+ y à minimiser

7. Il reste à un droguiste 1 kg de MNA et 2 kg de PCS. En mélangeant con-venablement ces deux matières, il peut fabriquer trois produits (X,Y,Z).Les proportions par unité de produit sont de 5 MNA et 1 PCS pourX, 1 MNA et 1 PCS pour Y et 1 MNA et 3 PCS pour Z. Ces produitssont vendus respectivement 10 CHF, 6 CHF et 12 CHF le kg.

Trouver la production qui maximise la recette.

8. Résoudre le programme linéaire suivant :

Maximiser z = 5x1 + 2x2sous contraintes 2x1 + x2 50

x1 + x2 253x1 + 4x2 60

et x1, x2 0

9. Résoudre le programme linéaire suivant :

Maximiser z = 4x1 + 12x2 + 3x3sous contraintes x1 1000

x2 500x3 15003x1 + 6x2 + x3 2250

et x1, x2, x3 0

10. Résoudre le programme linéaire suivant :

Maximiser z = y1 + y2 + y3sous contraintes 2y1 + y2 + 2y3 2

4y1 + 2y2 + y3 2et y1, y2, y3 0

Page 188: Optimisation appliquée (statistique et probabilitiés appliquées)

178 La méthode du simplexe

11. Une entreprise fabrique deux types de ceintures A et B. Le type A estde meilleure qualité que le type B. Le bénéfice net est de 2 CHF pourle type A et de 1,50CHF pour le type B. Le temps de fabrication deA est deux fois plus élevée que le temps de fabrication de B. Si toutesles ceintures étaient de type B, l’entreprise pourrait en fabriquer 1 000par jour. L’approvisionnement en cuir est su sant pour 800 ceinturespar jour (type A ou B). Enfin, on dispose de 400 boucles de type A etde 700 boucles de type B chaque jour.

Quels sont les nombres respectifs de ceintures des deux types à fabriquerchaque jour de manière à maximiser le bénéfice total de l’entreprise ?

12. Dans une usine, on distingue quatre centres de frais : la tôlerie (TO),les constructions en tubes (TU), la serrurerie (S) et la mécanique (M).Les capacités de ces centres de frais sont respectivement de 130, 240,810 et 180. L’usine produit des colonnes de refroidissement (C) et desréfrigérateurs (R), dont les coe cients techniques sont les suivants :

C RTO 10 10TU 16 24S 30 90M 0 15

Les marges brutes de ces deux produits sont de 4 800 pour C et 6 000pour R.

Quelle est la production la plus avantageuse ?

13. On doit construire X1 maison à 5 étages et X2 maisons à 2 étages surun terrain marécageux, où la construction des maisons hautes est trèsonéreuse. On désigne par pers.-mois le travail fourni par une personnepour un mois.

Nb d’étages Coût Pers.-mois Superficie Nb d’occupants(m2) par maison

5 600 000 120 800 302 200 000 60 600 12

Disponibilité 18 000 000 4 500 42 000

Page 189: Optimisation appliquée (statistique et probabilitiés appliquées)

5.10. Exercices 179

Comment choisir X1 et X2 de façon à loger le plus de personnes ?

14. Résoudre le programme linéaire suivant par la méthode du “big M” :

Minimiser z = 10x1 + 30x2sous contraintes 3x1 + 2x2 6

6x1 + x2 6x2 2

et x1, x2 0

15. Résoudre le programme linéaire suivant par la méthode des deux phases:

Minimiser z = x1 + x2sous contraintes 5x1 2x2 3

x1 + x2 13x1 + x2 33x1 3x2 2

et x1, x2 0

16. Un mélange doit contenir au moins 15 g de fluore, 20 g de chlore,10 g d’iode et 25 g de sodium. Il existe sur le marché trois produitsqui contiennent ces quatre composants, dans les quantités suivantes(grammes par kg) :

fluore chlore iode sodium1 1 1 0,5 12 1 2 0,5 33 1 1 1 2

Le premier produit coûte 3,50 CHF le kg, le deuxième 6,50 CHF le kget le troisième 5 CHF le kg.

Quel mélange faut-il faire pour minimiser le coût ?

17. Un négociant en vins veut satisfaire sa clientèle au moindre coût. Ilretient comme critère de qualité les deux grandeurs suivantes : son vindevra avoir une teneur en alcool d’au moins 11o et une teneur en sucred’au moins 70 %. Il dispose de trois crus, dont les teneurs en alcool eten sucre, ainsi que les prix par litre sont donnés dans le tableau suivant:

Page 190: Optimisation appliquée (statistique et probabilitiés appliquées)

180 La méthode du simplexe

alcool(o) sucre (%) prix/l1 10 60 22 8 40 13 14 80 4

Combien coûtera le litre de vin et quelle sera sa composition ?

Page 191: Optimisation appliquée (statistique et probabilitiés appliquées)

5.10. Exercices 181

DANTZIG George B. (né en 1914)Avec l’invention de la méthode du simplexe en 1947, George B. Dantzig,mathématicien américain, est considéré comme l’un des pères fondateurs dela programmation linéaire.Son domaine de recherche, outre la programmation linéaire, couvre entre

autres, des sciences telles que la programmation mathématique, la prise dedécision, les modèles de planification à large échelle. L’impact de son œuvrefut considérable en gestion et en économie et ses méthodes sont toujoursd’actualité.

Page 192: Optimisation appliquée (statistique et probabilitiés appliquées)
Page 193: Optimisation appliquée (statistique et probabilitiés appliquées)

Chapitre 6

Le simplexe révisé

6.1 Introduction

Cette méthode a été mise au point par Dantzig, Orden et Wolfe à la “RandCorporation” au début des années 1950. Les principes du simplexe révisésont les mêmes que ceux de la méthode conventionnelle du simplexe. Lanouveauté provient du fait que la procédure révisée utilise avec les coe cientsoriginaux, alors que la procédure conventionnelle du simplexe transforme cescoe cients au fur et à mesure des itérations. Il en résulte un gain de placelors du stockage des coe cients dans la mémoire d’un ordinateur et, parconséquent, un gain de temps appréciable. D’autre part, le nombre totald’itération est généralement plus faible avec la méthode du simplexe réviséqu’avec la méthode originale du simplexe.

En fait, il est inutile de transformer tous les yi, xB et zj cj à chaqueitération. Ils peuvent être calculés facilement si B 1 est connu. Dans lesimplexe révisé, on ne calcule que B 1, xB, cBB 1. Seul le yi du vecteurentrant est calculé à chaque itération.

Le simplexe révisé se présente sous deux formes di érentes, selon que l’onajoute des variables d’écart ou des variables artificielles. Pour la première for-mulation, nous supposons qu’une matrice identité est présente après l’ajoutéventuel de variables d’écart. Si des variables artificielles sont ajoutées, onutilise la seconde formulation qui correspond à la méthode des deux phases.

183

Page 194: Optimisation appliquée (statistique et probabilitiés appliquées)

184 Le simplexe révisé

6.2 Factorisation de l’inverse d’une matrice

La procédure révisée du simplexe découle d’une propriété du calcul matricielappelée : factorisation de l’inverse (ou forme produit de l’inverse). Soit unematrice:

B = a1 a2 · · · ap · · · am

non-singulière dont l’inverse B 1 est connue. Supposons que nous devonstrouver l’inverse de la matrice

B1 = a1 a2 · · · p · · · am

qui ne di ère de B que par la substitution du vecteur p au vecteur ap. Noussavons, par définition, que tous les vecteurs aj de B sont linéairement in-dépendants, puisqueB est non-singulière. Le vecteur p peut donc s’exprimerpar une combinaison linéaire des vecteurs aj :

p = By =m

j=1

yjaj (6.1)

La condition nécessaire et su sante pour que B 11 existe est que les vecteurs

a1 a2 · · · p · · · am soient linéairement indépendants, c’est-à-dire queyp dans l’équation 6.1 soit di érent de zéro, puisque nous savons déjà que lesautres sont indépendants. Nous pouvons alors écrire :

p =m

j=p

yjaj + ypap

ap =1

yp

m

j=p

yjaj +1

ypp

ap = B1vp

vp =y1yp

y2yp

· · ·yp 1

yp

1

yp

yp+1yp

· · ·ymyp

Il en résulte alors que :

B = B1 e1 e2 · · · ep 1 vp ep+1 · · · em = B1E

où ei désigne le i-ème vecteur unité. On trouve finalement :

B 11 = EB 1 (6.2)

Page 195: Optimisation appliquée (statistique et probabilitiés appliquées)

6.2. Factorisation de l’inverse d’une matrice 185

E =

1 0 · · ·y1yp

· · · 0

0 1 · · ·y2yp

· · · 0

....... . .

.... . .

...

0 0 · · ·1

yp· · · 0

....... . .

.... . .

...

0 0 · · ·ymyp

· · · 1

Ce résultat est particulièrement utile dans la procédure du simplexe révisé,puisqu’à chaque itération la base ne di ére que par la substitution du vecteurak entrant au vecteur aj sortant.

Exemple 6.1 Soit la matrice :

B =1 0 00 1 00 0 1

Supposons que la deuxième colonne est remplacée par :

a2 = 0 2 2

de sorte que :

B1 =1 0 00 2 00 2 1

Nous avons alors :

v2 = 01

2

2

2

dont nous déduisons

E =

1 0 0

01

20

0 1 1

Page 196: Optimisation appliquée (statistique et probabilitiés appliquées)

186 Le simplexe révisé

Il est alors très facile de calculer :

B 11 = EB 1 =

1 0 0

01

20

0 1 1

1 0 00 1 00 0 1

=

1 0 0

01

20

0 1 1

6.3 Première formulation

Dans cette première forme, la fonction objectif est traitée comme une con-trainte. La fonction économique devient alors :

z c1x1 c2x2 ... cnxn = 0

Le système de m inéquations linéaires à n inconnues devient un systèmeà m+1 inéquations linéaires à n+1 inconnues. Le programme linéaire s’écrit:

x0 +a01x1+ · · · +aonxn = 0a11x1+ · · · +a1nxn = 0· · · · · · · · · · · ·

am1x1+ · · · +amnxn = 0

où z = x0 et cj = a0j . Sous la forme matricielle, on obtient :

1 a00 A

x0x

=0b

On définit une matrice identité B1. La matrice de base contient tou-jours un vecteur e1, car x0 est à maximiser, et m vecteurs aj linéairementindépendants.Il existe une correspondance entre les matrices de base B1 du système

de contraintes ci-dessus et la matrice de base B du système de contraintesAx=b. Il est dès lors utile d’écrire B1 sous une forme partitionnée:

B1 =1 cB0 B

B = I étant la matrice de base pour Ax = b.La procédure du simplexe révisé comporte trois étapes.

Page 197: Optimisation appliquée (statistique et probabilitiés appliquées)

6.3. Première formulation 187

Étape 1 On calcule l’inverse de la nouvelle base B 11 à partir de la précé-

dente base inversée B 1 :

B 11 =

1 cBB1

0 B 1

Le vecteur y(1)j correspondant aucjaj

dans le tableau associé à la

base B est y(1)j = B1

1 a(1)j . Ainsi:

y(1)j =

1 cBB1

0 B 1cjaj

=zj cjyj

C’est la raison pour laquelle la fonction objectif est traitée ici comme unecontrainte.

Étape 2 On calcule zj cj pour toutes les variables non incluses dans labase.Pour trouver zj cj pour tout aj, nous formons le produit scalaire de la

première ligne de B 11 avec a(1)j .

x(1)B = B 1

1 b(1)

x(1)B =

1 cBB1

0 B 10b

=cBB

1b

Bb=

zxB

x(1)B contient comme première composante z, la valeur de la fonction objectifet les xBi de la solution de base pour Ax=b correspondant à la matriceB. Les règles de calcul sont identiques à celles du simplexe conventionnel.Nous calculons les zj cj pour chaque vecteur a

(1)j non inclu dans la base

par le produit scalaire de la première ligne de B 11 avec chaque a (1)

j et nouschoisissons zk ck = min(zj cj), zj cj < 0. La première colonne ne sortjamais de B1.

Étape 3 Il reste à calculer yk pour le vecteur entrant dans la base :

y(1)k = B 1

1 a(1)k = (zj cj ;yk)

Page 198: Optimisation appliquée (statistique et probabilitiés appliquées)

188 Le simplexe révisé

On détermine le vecteur sortant comme dans la méthode traditionnelledu simplexe à savoir en appliquant la formule :

xBryrk

= minxBiyik, yik > 0

Grâce à la procédure traditionnelle du point-pivot du simplexe, on peutcalculer la nouvelle base et la nouvelle matrice inverse.On répète les étapes 1 à 3 jusqu’à ce que toutes les variables non inclusesdans la base soient non négatives.

Nous calculons ensuite la solution optimale pour la fonction objectif B1

1

par la technique présentée à la section 6.2, à savoir :

B1

1 = E1B1

1

et :

x(1)B = E1B

11 b

(1)

avec :

E1 =

1 0 · · ·a1kark

· · · 0

0 1 · · ·a2kark

· · · 0

....... . .

.... . .

...

0 0 · · ·1

ark· · · 0

....... . .

.... . .

...

0 0 · · ·amkark

· · · 1

Exemple 6.2 Soit le programme linéaire suivant :

Max z = 3x1 + 5x2s.c. x1 4

2x2 123x1 + 2x2 18

et x1, x2 0

Page 199: Optimisation appliquée (statistique et probabilitiés appliquées)

6.3. Première formulation 189

Ce système de trois inéquations linéaires à deux inconnues peut s’écriresous la forme d’un système de quatre équations linéaires à six inconnues :

x0+ 3x1 5x2 0x3 0x4 0x5 = 0x1 + 0x2 + x3 + 0x4 + 0x5 = 40x1 + 2x2 + 0x3 + x4 + 0x5 = 123x1 + 2x2 + 0x3 + 0x4 + x5 = 18

ou sous forme matricielle :

1 3 5 0 0 00 1 0 1 0 00 0 2 0 1 00 3 2 0 0 1

x0x1x2x3x4x5

=

041218

On définit alors :

B1 =1 cB0 B

=

1 0 0 00 1 0 00 0 1 00 0 0 1

Étape 1 On calcule l’inverse de la nouvelle base B 11 à partir de la base

inversée précédente B 1 :

B 11 =

1 cBB1

0 B 1 =

1 0 0 00 1 0 00 0 1 00 0 0 1

et

x(1)B =

zxB

= B 11 b

(1) =

041218

Page 200: Optimisation appliquée (statistique et probabilitiés appliquées)

190 Le simplexe révisé

Étape 2 On calcule les zj cj pour toutes les variables non incluses dansla base en calculant le produit scalaire de la première ligne de B 1

1 avec a(1)j ,où :

a(1)j =

cjaj

Nous avons donc :

z1 c1 = 1 0 0 0

3103

= 3

z2 c2 = 1 0 0 0

5022

= 5

La variable x2 entre donc dans la base, puisque min(zj cj) = z2 c2 = 5.

Étape 3 Nous calculons yk pour le vecteur entrant dans la base :

yk = y2 = B 11 a

(1)2

=

1 0 0 00 1 0 00 0 1 00 0 0 1

5022

=

5022

On détermine alors quelle variable sort de la base par la méthode tradition-nelle du simplexe. On calcule donc :

xBryrk

= minxBiyik, yik > 0

Pour cet exemple :

x3 : yi non positivex4 : 12/2 = 6 minimum, x4 sort de la base.x5 : 18/2 = 9

Page 201: Optimisation appliquée (statistique et probabilitiés appliquées)

6.3. Première formulation 191

La nouvelle base est donc :

B2 =

1 0 5 00 1 0 00 0 2 00 0 2 1

On reprend alors à l’étape 1.

Étape 1 On calcule l’inverse de la nouvelle base par la méthode présentéeà la section 6.2.

B 12 = EB 1

1 =

1 0 5/2 00 1 0 00 0 1/2 00 0 1 1

1 0 0 00 1 0 00 0 1 00 0 0 1

=

1 0 5/2 00 1 0 00 0 1/2 00 0 1 1

et :

x(1)B =

zxB

= B 12 b

(1) =

30466

Étape 2 On calcule zj cj pour toutes les variables non incluses dans labase :

z1 c1 = 1 0 5/2 0

3103

= 3

z4 c4 = 1 0 5/2 0

0010

= 5/2

La variable x1 entre donc dans la base.

Page 202: Optimisation appliquée (statistique et probabilitiés appliquées)

192 Le simplexe révisé

Étape 3 Nous calculons yk pour le vecteur entrant dans la base :

yk = y1 = B 12 a

(1)1

=

1 0 5/2 00 1 0 00 0 1/2 00 0 1 1

3103

=

3103

On détermine alors quelle variable sort de la base par la méthode tradition-nelle du simplexe. On calcule donc :

xBryrk

= minxBiyik, yik > 0

Pour cet exemple :

x3 : 4/1 = 4x2 : yi non positivex5 : 6/3 = 2 minimum, x5 sort de la base.

La nouvelle base est donc :

B3 =

1 0 5 30 1 0 10 0 2 00 0 2 3

On reprend alors à l’étape 1.

Étape 1 On calcule l’inverse de la nouvelle base par la méthode présentéeà la section 6.2.

B 13 = EB 1

2 =

1 0 0 10 1 0 1/30 0 1 00 0 0 1/3

1 0 5/2 00 1 0 00 0 1/2 00 0 1 1

=

1 0 3/2 10 1 1/3 1/30 0 1/2 00 0 1/3 1/3

et :

x(1)B =

zxB

= B 13 b

(1) =

36262

Page 203: Optimisation appliquée (statistique et probabilitiés appliquées)

6.4. Deuxième formulation 193

Étape 2 On calcule zj cj pour toutes les variables non incluses dans labase :

z4 c4 = 1 0 3/2 1

0010

= 3/2

z5 c5 = 1 0 3/2 1

0001

= 1

Comme tous les zj cj sont positifs, la solution est optimale avec x1 = 2,x2 = 6, x3 = 2 et z = 36.

6.4 Deuxième formulation

Cette forme est utilisée lorsqu’il est nécessaire d’ajouter des variables ar-tificielles pour faire apparaître une matrice identité. La méthode des deuxphases est employée ici en raison de la présence de variables artificielles. L’ob-jectif de la phase I consiste à annuler ces dernières. S’il existe une solutionoptimale, celle-ci sera trouvée lors de la phase II.Dantzig et Orchard utilisent une astuce pour empêcher des variables ar-

tificielles de se trouver encore dans la base à la fin de la phase I. Elle consisteà ajouter une contrainte de la forme :

xai = 0 (6.3)

Dans la phase I, nous avons le système d’équations suivant :

za+ xa1+ · · · +xam = 0xa1 +a11x1+ · · · +a1nxn = b1

. . ....

......

xam +am1x1+ · · · +amnxn = bm

(6.4)

Nous voulons trouver une solution réalisable de base du système 6.4, avecza en base, qui maximise za. Sous une forme plus adéquate, avec za = xn+1,

Page 204: Optimisation appliquée (statistique et probabilitiés appliquées)

194 Le simplexe révisé

xa1 = xn+2,..., xam = xn+m+1, le système 6.4 peut se réécrire :

xn+1 +xn+2+ · · · +xn+m+1 = 0a11x1+ · · · +a1nxn +xn+2 = b1...

.... . .

...am1x1+ · · · +amnxn +xn+m+1 = bm

(6.5)

avec xn+1 à maximiser.Si max xn+1 = 0, nous passons à la phase II. Si xn+1 < 0, cela signifie

qu’il n’existe pas de solution réalisable.Dans la phase II, nous avons le système d’équations suivant :

z c1x1 · · · cnxn = 0xn+2+ · · · +xn+m+1 = 0

a11x1+ · · · +a1nxn+ xn+2 = b1...

.... . .

...am1x1+ · · · +amnxn +xn+m+1 = bm

(6.6)

où la deuxième ligne correspond à la contrainte supplémentaire 6.3. Commedans la phase I, le système 6.6 peut être écrit de manière plus adéquate enposant z = x0, c1 = a01, . . . , cn = a0n et en augmentant de 1 les indicesde A et de b.

x0+ a01x1 + · · ·+ a0nxn = 0xn+2+ · · · +xn+m+1 = 0

a21x1 + · · ·+ a2nxn+ xn+2 = b2...

.... . .

...am+1,1x1 + · · ·+ am+1,nxn +xn+m+1 = bm+1

(6.7)

Dans la phase I, nous maximisons xn+1 et ignorons x0, puis dans la phaseII, nous maximisons x0. En phase I, toutes les variables, à l’exception de x0et xn+1, prennent des valeurs positives. En phase II, seul x0 peut prendren’importe quelle valeur.La matrice de base est :

B2 =

1 0 0 0 · · · 00 1 1 1 · · · 10 0 1 0 · · · 0............. . .

...0 0 0 0 · · · 1

(6.8)

Page 205: Optimisation appliquée (statistique et probabilitiés appliquées)

6.4. Deuxième formulation 195

B 12 =

1 0 0

0 1 1m

0 Im

où 1m est un vecteur de dimension m composé uniquement de -1, et Imune matrice identité (m×m).Lorsque B2 est donnée par (6.8), on a :

x(2)B = B 1

2 b(2)= 0,

m+1

i=1

bi, b2, ..., bm+1

B est la matrice de base pour Ax = b contenant aj. cB contient les prixde la phase I et cB les prix de la phase II. Le produit scalaire de la deuxièmeligne de B 1

2 avec chaque a(2)j non inclu dans la base correspond à zj cj dela phase I, soit zaj caj . Pour déterminer le vecteur entrant en phase I, nous

calculons le produit scalaire de la deuxième ligne de B 12 avec chaque a(2)j

hors de la base.Le vecteur ayant la plus petite valeur entre en base. Nous calculons :

y(2)j = B 1

2 a(2)j

En phase I, les deux premières colonnes ne sortent jamais de la base. Enphase II, B2 peut être partitionné comme suit :

B2 =1 c

(1)B

0 B1

Le produit scalaire de la première ligne de B 12 avec chaque vecteur a(2)j

hors base donne zj cj . La variable xn+1 est traitée comme toute autrevariable et peut dès lors sortir de la base. Les calculs suivants s’e ectuentcomme pour la première formulation.

Exemple 6.3 Soit le programme linéaire suivant :

Min z = x1 + x2s.c. 3x1 + 2x2 12

x1 + 2x2 8et x1, x2 0

Page 206: Optimisation appliquée (statistique et probabilitiés appliquées)

196 Le simplexe révisé

Ce programme linéaire peut être converti de la manière suivante :

Max x0 = x1 x2s.c. 3x1 + 2x2 x3 + xa1 = 12

x1 + 2x2 x4 + xa2 = 8et x1, x2, x3, x4, xa1, xa2 0

Étant donné que nous sommes en présence de variables artificielles, il estnécessaire d’utiliser la deuxième formulation de la méthode du simplexerévisé. Nous devons, lors de la première phase, chercher à éliminer les vari-ables artificielles en maximisant :

za = xa1 xa2

En posant za = x5, xa1 = x6 et xa2 = x7, nous obtenons la formulationsuivante du problème :

x0 +x1 +x2 = 0x5 +x6 +x7 = 0

3x1 +2x2 x3 +x6 = 12x1 +2x2 x4 +x7 = 8

Dans la phase I, nous devons maximiser x5 et, dans la phase II, nousdevons maximiser x0. Les vecteurs sont :

a0 a1 a2 a3 a4 a5 a6 a7 b

1 1 1 0 0 0 0 0 00 0 0 0 0 1 1 1 00 3 2 1 0 0 1 0 120 1 2 0 1 0 0 1 8

• Phase I

La première base est composée des vecteurs a0, a5, a6 et a7. Son inverseest :

B 11 =

1 0 0 00 1 1 10 0 1 00 0 0 1

Page 207: Optimisation appliquée (statistique et probabilitiés appliquées)

6.4. Deuxième formulation 197

La solution de base initiale est :

x(2)B =

x0x5x6x7

=

020128

Nous déterminons quel vecteur entre dans la base en cherchant le mini-mum des zaj caj pour les vecteurs hors base, où z

aj caj est le produit scalaire

de la deuxième ligne de l’inverse de la base par aj. Nous avons :

za1 ca1 = 4za2 ca2 = 4 entre dans la baseza3 ca3 = 1za4 ca4 = 1

Faire entrer x2 plutôt que x1 dans la base est un choix arbitraire et ne modifiepas la solution. Nous devons maintenant calculer :

y(2)2 = B 1

1 a(2)2 =

1422

et déterminer par le critère habituel quel vecteur sort de la base. Dans notrecas, il s’agit du vecteur a7.Nous pouvons donc passer à la deuxième itération et calculer l’inverse

de la deuxième base par la formule (6.2) où la 4e ligne de la matrice E estcalculée à partir de y(2)2 .

B 12 = EB 1

1

=

1 0 0 1/20 1 0 20 0 1 10 0 0 1/2

1 0 0 00 1 1 10 0 1 00 0 0 1

=

1 0 0 1/20 1 1 10 0 1 10 0 0 0.5

Page 208: Optimisation appliquée (statistique et probabilitiés appliquées)

198 Le simplexe révisé

La solution de base correspondante est :

x(2)B =

x0x5x6x2

=

4444

.

Par le critère des zaj caj , nous déterminons quel vecteur entre dans la base.

za1 ca1 = 2 entre dans la baseza7 ca7 = 2za3 ca3 = 1za4 ca4 = 1

Nous calculons :

y(2)1 = B 1

2 a(2)1 =

1/2221/2

Nous déterminons ensuite quel vecteur sort de la base. Il s’agit ici du vecteura6.

À la troisième itération, l’inverse de la matrice de base est:

B 13 =

1 0 1/4 1/40 1 0 00 0 1/2 1/20 0 1/4 3/4

et la solution de base est :

x(2)B =

x0x5x1x2

=

5023

Comme x5 = za = 0, la première phase est terminée.

• Phase II

Page 209: Optimisation appliquée (statistique et probabilitiés appliquées)

6.4. Deuxième formulation 199

Nous reprenons la matrice de base précédente et calculons les zj cj pourles vecteurs hors base. Pour ce faire, nous prenons le produit scalaire dela première ligne de B 1

3 avec chaque vecteur aj hors base, mais sans tenircompte des variables artificielles.

z3 c3 = 1/4z4 c4 = 1/4

Comme tous les zj cj > 0, la solution de base courante x1 = 2, x2 = 3 etz = 5 est optimale.

Exemple 6.4 Soit le programme linéaire suivant :

Max z = 2x1 + 3x2 + 5x3s.c. x1 + 4x2 3x3 8

2x1 x2 55x1 + 2x2 x3 = 19

et x1, x2, x3 0

On peut écrire ce programme :

Max z 2x1 + 3x2 + 5x3 + 0x4 + 0x5s.c. x1 + 4x2 3x3 + x4 = 8

2x1 x2 + x5 = 55x1 + 2x2 x3 + xa1 = 19

Comme nous sommes en présence d’un programme comprenant une vari-able artificielle, nous allons utiliser la méthode des deux phases.

• Phase I

Il faut dans un premier temps maximiser la fonction :

za = xa1

sous les mêmes contraintes que ci-dessus. La première base comprend lesvecteurs a0, a4, a5 et q1 :

B1 =

1 0 0 0 00 1 0 0 10 0 1 0 00 0 0 1 00 0 0 0 1

Page 210: Optimisation appliquée (statistique et probabilitiés appliquées)

200 Le simplexe révisé

ainsi que son inverse :

B 11 =

1 0 0 0 00 1 0 0 10 0 1 0 00 0 0 1 00 0 0 0 1

On calcule :

x(2)B =

0198519

ainsi que le produit scalaire de la deuxième ligne de B 11 par chaque vecteur

a(2)j hors base.

za1 ca1 = 5 entre dans la baseza2 ca2 = 2za3 ca3 = 1

On détermine quel vecteur sort de la base par le critère habituel du rap-port. Dans notre cas, il s’agit de a(2)5 . Nous calculons alors la nouvelle baseet son inverse, calcul simple si l’on applique la formule 6.2. Nous avons :

B2 =

1 0 0 0 00 1 0 0 10 0 1 1 00 0 0 2 00 0 0 5 1

B 12 =

1 0 0 0 00 1 0 5/2 10 0 1 1/2 00 0 0 1/2 00 0 0 5/2 1

Page 211: Optimisation appliquée (statistique et probabilitiés appliquées)

6.4. Deuxième formulation 201

Calculons les valeurs des variables de base :

x(2)B =

013/211/25/213/2

ainsi que le produit scalaire de la deuxième ligne de B 12 par chaque vecteur

a(2)j hors base.

za5 ca5 = 5/2za2 ca2 = 9/2 entre dans la baseza3 ca3 = 1

On détermine quel vecteur sort de la base par le critère habituel du rap-port. Dans notre cas, il s’agit de a(2)4 . Nous calculons alors la nouvelle baseet son inverse.

B3 =

1 0 0 0 00 1 0 0 10 0 4 1 00 0 1 2 00 0 2 5 1

B 13 =

1 0 0 0 00 1 1 2 10 0 2/9 1/9 00 0 1/9 4/9 00 0 1 2 1

Calculons les valeurs des variables de base :

x(2)B =

01

11/928/91

ainsi que le produit scalaire de la deuxième ligne de B 13 par chaque vecteur

Page 212: Optimisation appliquée (statistique et probabilitiés appliquées)

202 Le simplexe révisé

a(2)j hors base.

za5 ca5 = 2za4 ca4 = 1za3 ca3 = 2 entre dans la base

On détermine quel vecteur sort de la base par le critère habituel du rap-port. Dans notre cas, il s’agit de q(2)1 . Nous calculons alors la nouvelle baseet son inverse.

B4 =

1 0 0 0 00 1 0 0 00 0 4 1 30 0 1 2 00 0 2 5 1

B 14 =

1 0 0 0 00 1 0 0 00 0 1/9 7/9 1/30 0 1/18 1/9 1/60 0 1/2 1 0.5

Calculons les valeurs des variables de base:

x(2)B =

0014/959/180.5

Comme la valeur de za = 0, la phase I est terminée et nous pouvonspasser à la phase II à partir du tableau suivant qui correspond à la dernièreétape de la phase I

• Phase II

cj 0 0 0 0 0 1cB vecteurs xB a1 a2 a3 a4 a5 q1

de base0 a2 14/9 0 1 0 1/9 7/9 1/30 a1 59/18 1 0 0 1/18 1/9 1/60 a3 1/2 0 0 1 1/2 1 1/2

(zj cj) 0 0 0 0 0 0 1

Page 213: Optimisation appliquée (statistique et probabilitiés appliquées)

6.5. Exercices 203

Nous replaçons les cj originaux et nous supprimons la variable artificielle. Letableau devient alors le suivant :

cj 2 3 5 0 0cB vecteurs xB a1 a2 a3 a4 a5

de base3 a2 14/9 0 1 0 1/9 7/92 a1 59/18 1 0 0 1/18 1/95 a3 1/2 0 0 1 1/2 1

(zj cj) 247/18 0 0 0 53/18 128/18

Nous constatons toutefois que toutes les valeurs yi4 sont négatives ; il n’estdonc pas nécessaire de poursuivre car nous savons que la solution optimaleest infinie.

6.5 Exercices

1. Soit la matrice :

B =1 0 12 1 00 0 1

(a) Calculer son inverse.

(b) Calculer l’inverse de la matrice :

B1 =1 1 12 2 00 2 1

grâce à la méthode de factorisation.

2. Soit le programme linéaire suivant :

Max z = 5x1 + 3x2s.c. 5x1 + 2x2 40

5x1 + 4x2 60et x1, x2 0

(a) Écrire ce programme sous forme matricielle.

Page 214: Optimisation appliquée (statistique et probabilitiés appliquées)

204 Le simplexe révisé

(b) Résoudre ce programme par la méthode du simplexe révisé.

3. Résoudre par la méthode du simplexe révisé le programme linéaire suiv-ant :

Max z = x1 + 2x2 + x3s.c. x1 + x2 4

x2 + x3 6x1 2

et x1, x2, x3 0

4. Résoudre par la méthode du simplexe révisé le programme linéaire suiv-ant :

Max z = 3x1 + x2 + 2x3s.c. x1 + x2 + x3 20

5x1 x2 102x1 + x3 15

et x1, x2, x3 0

5. Résoudre par la méthode du simplexe révisé le programme linéaire suiv-ant :

Min z = x1 + x2s.c. x1 + 2x2 8

2x1 + x2 7et x1, x2 0

Page 215: Optimisation appliquée (statistique et probabilitiés appliquées)

Chapitre 7

La dualité

7.1 Introduction

Dans ce chapitre, nous allons voir qu’il est possible à partir d’un programmelinéaire d’en former un autre directement lié au premier. Celui-ci est appeléprimal et le second dual.La notion de dualité a été introduite par Von Neumann en 1947, puis

développée par Gale, Kuhn et Tucker en 1951. Les propriétés fondamentalesdes problèmes de dualité ont été définies par Goldman and Tucker en 1956.Nous commencerons par illustrer cet énoncé à l’aide d’un exemple, puis

nous continuerons par l’étude des relations existant entre le primal et le dual.Ensuite, nous évoquerons quelques propriétés fondamentales des problèmesde dualité ainsi que l’interprétation économique possible des variables duproblème dual.Nous présenterons finalement, à l’aide d’un exemple, l’algorithme dual du

simplexe.

7.2 Un exemple de programme linéaire dual

Considérons le problème de programmation linéaire suivant : une fabriquequelconque produit n outputs di érents en utilisantmmatériaux bruts commeinputs. Chaque unité de l’output j a un prix de vente égal à cj, j = 1, 2, ..., n,et requiert pour sa fabrication une quantité aij des di érents inputs, i =1, 2, ...m. La quantité totale disponible pour le matériau i est notée bi. Quelle

205

Page 216: Optimisation appliquée (statistique et probabilitiés appliquées)

206 La dualité

quantité xj de chaque output, j = 1, 2, ...n, faut-il produire afin de maximiserle chi re d’a aires ?Comme nous l’avons déjà vu dans les chapitres précédents, nous pouvons

écrire le problème de la façon suivante :

Max z = c1x1 + c2x2 + ...+ cnxns.c. ai1x1 + a12x2 + ...+ ainxn bi, i = 1, 2, ...,met xj 0

ou sous sa forme matricielle :

Max z = c x

s.c. Ax b

et x 0

où x et c sont des vecteurs-colonnes à n composantes, b un vecteur-colonneà m composantes et A une matrice de dimension m× n.Supposons à présent que le directeur financier désire assurer les di érents

inputs contre le feu, les inondations ou contre une éventuelle perte. Selonles règles de la rationalité économique, il est souhaitable de payer les primesles plus basses possibles, tout en s’assurant que les prestations seront assezélevées pour couvrir complètement les pertes, c’est-à-dire remplacer le revenudes ventes en cas de sinistre.En tenant compte de ces considérations, comment définir le plan d’assu-

rances optimal ?Notons par ui la prime d’assurance unitaire pour l’input i, i = 1, 2, ...,m

de telle sorte que la prime totale pour chaque input s’élève à biui. De plus,la prime d’assurance ne pouvant prendre une valeur négative, nous sommesconfrontés à une contrainte de non-négativité:

ui 0, i = 1, 2, ...,m

Si nous considérons que le coût de l’assurance est la somme des primespour chaque input, la fonction objectif à minimiser est donc :

Min z = b1u1 + b2u2 + ...+ bmum

Quelles que soient les valeurs individuelles des di érents inputs, il estévident que les assurances combinées de tous les inputs nécessaires pour

Page 217: Optimisation appliquée (statistique et probabilitiés appliquées)

7.2. Un exemple de programme linéaire dual 207

produire une unité du premier produit (c’est-à-dire a11 unités du premierinput, a21 unités du deuxième input, etc) doivent être au moins égales à c1.Cette contrainte s’exprime mathématiquement sous la forme :

a11u1 + a21u2 + ...+ am1um c1

On peut également dire que cet ensemble d’inputs pourrait être assembléen une unité du produit 1 et être vendu au prix de c1. Pour chaque produit,la combinaison des inputs sera di érente. Par conséquent, pour obtenir desprimes adéquates, il faut s’assurer que la prime totale de tous les inputsrequis pour produire une unité de chaque output est au moins égale au revenuprovenant d’une unité d’output vendue, à savoir :

a1ju1 + a2ju2 + ...+ amjum cj , j = 1, 2, ..., n

Compte tenu de ce qui vient d’être formulé, nous obtenons le programmelinéaire suivant :

Min z = b1u1 + b2u2 + ...+ bmums.c. a1ju1 + a2ju2 + ...+ amjum cj , j = 1, 2, ..., net ui 0, i = 1, 2, ...,m

ou sous forme matricielle :

Min z = b u

s.c. Au c

et u 0

En plaçant les deux problèmes de programmation linéaire côte à côte sousleur forme matricielle, on remarque qu’ils sont symétriques.

Problème de production Problème d’assurancesMax z = c x

s.c. Ax b

et x 0

Min z = b u

s.c. Au c

et u 0

Le vecteur des coûts (c) dans la fonction objectif du premier problèmecorrespond au membre de droite des contraintes du second problème. Lamatrice des contraintes (A) dans le premier problème est simplement trans-posée dans le second problème. L’existence de ces relations, nous permet

Page 218: Optimisation appliquée (statistique et probabilitiés appliquées)

208 La dualité

d’a rmer que le second problème est le dual du premier (ou vice-versa). Cesdeux problèmes possèdent les mêmes valeurs optimales pour leur fonctionobjectif. Cela est dû au fait que la valeur totale de l’assurance des inputscorrespond précisément au chi re d’a aires maximal que l’on peut obteniravec ces inputs.

7.3 Relations entre le primal et le dual d’unproblème de programmation linéaire

Nous avons vu au chapitre 5 qu’un problème de programmation linéaire pou-vait se présenter sous deux formes di érentes : la forme canonique et la formestandard. Nous nous intéressons en premier lieu à la forme canonique d’unprogramme linéaire qui s’écrit :

Max z = c x

s.c. Ax b

et x 0

(7.1)

où x et c sont des vecteurs-colonnes à n composantes, b un vecteur-colonneà m composantes et A une matrice de dimension m× n.

Le programme linéaire suivant est appelé dual ou problème dual duproblème de programmation linéaire (7.1) :

Min z = b u

s.c. Au c

et u 0

(7.2)

où u est un vecteur-colonne à m composantes. Tous les autres vecteurs, demême que la matrice A, sont identiques à ceux du programme linéaire (7.1).Les programmes linéaires (7.1) et (7.2) sont respectivement appelés le

problème primal et le problème dual ou, plus simplement, le primal et ledual. Le problème typique consiste à poser le dual à partir du primal ; ils’agit donc d’examiner les relations existant entre le primal et son dual.

Page 219: Optimisation appliquée (statistique et probabilitiés appliquées)

7.3. Relations entre le primal et le dual d’un problème de programmation linéaire20

Afin de poser le dual à partir du primal, il faut tout d’abord que la max-imisation devient une minimisation. Les variables ne sont plus les mêmes,par conséquent, nous les notons non plus x mais u. Les prix de ces nouvellesvariables dans la fonction objectif à minimiser sont les constantes des con-traintes du problème primal. À chaque contrainte du primal correspond unevariable duale et à chaque contrainte du dual correspond une variable pri-male. Notons que la matrice des coe cients des contraintes se retrouve danssa forme transposée pour le dual. Les nouvelles constantes des contraintessont les prix de la fonction objectif du problème primal. Il ne faut pas oublierde changer le sens des inégalités dans les contraintes.Afin de bien saisir le mécanisme décrit ci-dessus, nous nous proposons

d’e ec-tuer la transformation d’un problème primal en dual en partant d’unexemple.

Exemple 7.1 Soit le problème linéaire suivant, considéré comme étant leprimal :

Max z = 2x1 + 5x2 + 4x3s.c. x1 + 3x2 + 2x3 7

3x1 x3 6et x1, x2, x3 0

Nous obtenons le dual correspondant :

Min z = 7u1 + 6u2s.c. u1 + 3u2 2

3u1 52u1 u2 4

et u1, u2 0

Nous voyons que la maximisation est devenue une minimisation, en tenantcompte des modifications suivantes : les deux contraintes du primal devien-nent les deux variables du dual et à chacune des trois variables du primalcorrespond une contrainte duale. La matrice des coe cients des contraintesdu primal, c’est-à-dire :

A =1 3 23 0 1

devient pour le dual :

Page 220: Optimisation appliquée (statistique et probabilitiés appliquées)

210 La dualité

A =1 33 02 1

Le vecteur des constantes du primal, b =76, devient le vecteur des

prix du dual, b = [7; 6] . Quant au vecteur des prix du primal, c= [2; 5; 4], il

se transforme en vecteur des constantes du dual c =254

.

Nous pouvons représenter un problème primal et son dual associé dansun tableau que l’on doit à A.W. Tucker (Dantzig, 1966, p.90).

x1 x2 x3 x4u1 a11 a12 ... a1n b1u2 a21 a22 ... a2n b2...

......

......

...um am1 am2 ... amn bm

c1 c2 ... cn

Tableau 6.1 : Tableau de Tucker

Le problème primal se lit dans le sens des lignes, tandis que le prob-lème dual se lit dans le sens des colonnes. En multipliant chaque aijparla variable xjcorrespondant, on obtient les contraintes du problème primal.Sa fonction objectif est reproduite en multipliant chaque cjpar la variablexjcorrespondant. Les mêmes opérations sont e ectuées sur les colonnes pourtrouver le problème dual.L’exemple 7.2 représente un problème de programmation linéaire et son

dual formulés à l’aide du tableau de Tucker.

Exemple 7.2 Soit le tableau de Tucker suivant :

x1 x2 x3 x4u1 10 13 22 0 101u2 11 18 0 0 107u3 15 19 0 4 79u4 17 21 3 7 81

50 61 49 30

Page 221: Optimisation appliquée (statistique et probabilitiés appliquées)

7.3. Relations entre le primal et le dual d’un problème de programmation linéaire21

On obtient le problème primal :

Max z = 50x1 + 61x2 + 49x3 + 30x4s.c. 10x1 + 13x2 + 22x3 101

11x1 + 18x2 10715x1 + 19x2 + 4x4 7917x1 + 21x2 + 3x3 + 7x4 81

et x1, x2, x3, x4 0

ainsi que le problème dual :

Min z = 101u1 + 107u2 + 79u3 + 81u4s.c. 10u1 + 11u2 + 15u3 + 17u4 50

13u1 + 18u2 + 19u3 + 21u4 6122u1 + 3u4 494u3 + 7u4 30

et u1, u2, u3, u4 0

Nous venons de montrer comment passer d’un problème primal à unproblème dual. Notez que les noms de primal et dual sont interchangeablespuisque, comme l’énonce le théorème 7.1, le dual du dual est le primal.

Théorème 7.1

Considérons un problème de programmation linéaire P , appelé problèmeprimal. Le problème dual correspondant à P est noté D. Alors le problèmedual associé à D est le problème de programmation linéaire P , autrement ditle problème primal.

Démonstration

Si nous voulons trouver le dual du problème de programmation (7.2), quiest un problème dual, il nous faut tout d’abord transformer ce problème soussa forme canonique.La fonction objectif :

Min z = b u

devientMax z = b u

Page 222: Optimisation appliquée (statistique et probabilitiés appliquées)

212 La dualité

La contrainte :Au c

est équivalente àAu c

Les contraintes de non-négativité u 0 apparaissent déjà sous formecanonique. Nous obtenons alors le problème dual original suivant :

Max z = b u

s.c. Au c

et u 0

(7.3)

Il s’agit à présent d’e ectuer les changements nécessaires, de manière àobtenir le problème dual associé au programme linéaire (7.3). Nous obtenonsainsi le dual du problème dual original :

Min z = c x

s.c. Ax b

et x 0

La fonction objectif Min z = c x est équivalente à Max z = c x eten multipliant les contraintes par (-1) on obtient Ax b. Nous obtenonsfinalement :

Max z = c x

s.c. Ax b

et x 0

(7.4)

qui correspond au problème primal (7.1).

Jusqu’ici, nous avons traité que la transformation en dual de problèmesde programmation linéaire sous forme canonique. Nous allons maintenantétudier comment obtenir le dual d’un même problème énoncé sous sa formestandard :

Max z = c x

s.c. Ax = bet x 0

(7.5)

Le problème dual associé au problème (7.5) est le suivant :

Page 223: Optimisation appliquée (statistique et probabilitiés appliquées)

7.3. Relations entre le primal et le dual d’un problème de programmation linéaire21

Min z = b u

s.c. Au c

et u sans restriction de signe

Cela signifie que des contraintes d’égalité dans le primal conduisent à desvariables sans restriction de signe dans le dual. De même, selon le théorème7.1, des variables sans restriction de signe dans le primal conduisent à descontraintes d’égalité dans le dual.S’il apparaît, dans un problème de programmation linéaire comprenant

une fonction objectif à maximiser, une contrainte de la forme :

ai1x1 + ...+ ainxn bi

il su t de la multiplier par 1 afin d’obtenir une contrainte équivalente quisoit de la forme :

ai1x1 ... ainxn bi

Ce n’est qu’à partir de cette forme que l’on peut chercher le problèmedual associé.De même, pour un problème de programmation linéaire dont la fonction

objectif est à minimiser, on doit multiplier par 1 les contraintes se présen-tant sous la forme :

ai1x1 + ...+ ainxn bi

afin d’obtenir des contraintes équivalentes de la forme :

ai1x1 ... ainxn bi

Voici maintenant un problème de programmation linéaire qui n’est pasécrit sous une forme particulière. Il s’agit en quelque sorte de la généralisationdu passage d’un problème primal à un problème dual.Si le problème de programmation linéaire primal P est :

Page 224: Optimisation appliquée (statistique et probabilitiés appliquées)

214 La dualité

Max z = c1x1 + c2x2 + ...+ cnxns.c. a11x1 + a12x2 + ...+ a1nxn b1

...ar1x1 + ar2x2 + ...+ arnxn brar+1,1x1 + ar+1,2x2 + ...+ ar+1,nxn = br+1

...am1x1 + am2x2 + ...+ amnxn = bm

et xj 0, j = 1, ..., sxj sans restriction de signe pour j = s+ 1, ..., n

alors le problème dual correspondant D est :

Min z = b1u1 + b2u2 + ...+ bmums.c. a11u1 + a21u2 + ...+ am1um c1

...a1su1 + a2su2 + ...+ amsum csa1,s+1u1 + a2,s+1u2 + ...+ am,s+1um = cs+1

...a1nu1 + a2nu2 + ...+ amnum = cn

et ui 0, i = 1, ..., rui sans restriction de signe pour i = r + 1, ...,m

Les di érentes relations existant entre le primal et le dual sont résuméesdans le tableau 7.2.

Primal Dualmaximisation minimisationcontrainte variable ui 0contrainte = variable ui sans restriction de signevariable xj 0 contraintevariable xj sans restriction de signe contrainte =

Tableau 7.2 : relations entre primal et dual

Remarque 7.1 Les appellations “Primal” et “Dual” sont arbitraires et peu-vent tout à fait être interverties.

Page 225: Optimisation appliquée (statistique et probabilitiés appliquées)

7.4. Propriétés fondamentales des problèmes de dualité 215

7.4 Propriétés fondamentales des problèmesde dualité

Dans ce paragraphe, nous allons voir les relations qui existent entre les so-lutions du problème primal et celles du problème dual. Nous allons toutd’abord démontrer que si l’un des deux problèmes a une solution optimale,il en va de même pour le second, puis que ces deux solutions sont identiques.Le théorème 7.2 indique que la valeur de la fonction objectif du primal estinférieure ou égale à celle du dual.

Théorème 7.2

Considérons un problème primal sous forme canonique et son dual. Si xet u sont respectivement des solutions réalisables du primal et du dual, alors:

c x b u ouz z

Démonstration

Nous avons pour le primal Ax b, puisque x est une solution réalisable.Nous pouvons multiplier cette inégalité par u puisque u 0 :

u Ax u b

Nous pouvons transposer u b puisqu’il s’agit d’un scalaire. Nous avonsdonc :

u Ax b u

D’autre part, nous avons pour le dualAu c, puisque u est une solutionréalisable. Nous pouvons transposer cette inégalité en :

uA c

Nous la multiplions ensuite par x, ce qui est possible car x 0, et nousobtenons :

uAx c x

De uAx b u et u Ax c x, nous en déduisons que :

c x b u

Page 226: Optimisation appliquée (statistique et probabilitiés appliquées)

216 La dualité

Le théorème 7.3 implique que si le primal possède une solution optimale,c’est également le cas du dual et vice-versa.De plus, ces solutions optimales sont identiques.

Théorème 7.3

Si x et u sont respectivement les solutions réalisables d’un problèmeprimal et d’un problème dual et si c x = b u, alors x et u sont les solutionsoptimales pour leur problème respectif.

Démonstration

Si x est une autre solution réalisable quelconque du primal, alors enapplication du théorème 6.2, nous avons :

c x b u

Or, b u est égal à c x, par conséquent :

c x c x

Puisque le primal est un problème de maximisation, x est une solutionoptimale.Un raisonnement analogue montre que u est une solution optimale du

problème dual.Les deux théorèmes suivants ont été énoncé par Gale, Kuhn et Tucker [3].

Théorème 7.4

Une solution réalisable du primal x est optimale si et seulement s’il existeune solution réalisable du dual u pour laquelle c x = b u.Ce théorème peut être prouvé à l’aide du “lemme de Minkovski-Farka”

(se référer à Simmonard, 1972, pp. 234-238), qui est un résultat connu depuislongtemps en programmation linéaire.

Théorème 7.5

a) Un programme linéaire possède une solution optimale finie si et seule-ment si lui et son dual possèdent des solutions réalisables.

Page 227: Optimisation appliquée (statistique et probabilitiés appliquées)

7.4. Propriétés fondamentales des problèmes de dualité 217

b) Si le problème primal possède une solution optimale infinie, alors ledual n’a pas de solution réalisable.

c) Si le dual ne possède pas de solution réalisable, alors que le primal enpossède, alors la solution du primal est une solution optimale infinie.

Ce théorème prouve l’existence du problème dual. Nous avons réuni lesénoncés précédents dans le tableau ci-dessous.

PrimalDual Réalisable Non réalisable

Réalisable Solutions optimales Solution optimale infiniepour les deux problèmes pour le dual

Non réalisable Solution optimale infinie Solution optimalepour le primal pouvant se présenter

Tableau 7.3 : Solutions

Voici un exemple où le problème primal a une solution optimale infinie etoù, par conséquent, le dual n’a pas de solutions réalisables.

Exemple 7.3 Soit le problème de programmation linéaire primal suivant :

Max z = 2x1 + x2s.c. 2x1 x2 2

3x1 2x2 6et x1, x2 0

En posant x1 = 0, on peut faire croître x2 à l’infini, les contraintes restantsatisfaites. On a donc une solution optimale infinie. Le dual de ce problèmeest :

Min z = 2u1 + 6u2s.c. 2u1 + 3u2 2

u1 2u2 1et u1, u2 0

Page 228: Optimisation appliquée (statistique et probabilitiés appliquées)

218 La dualité

La seconde contrainte ne peut pas être satisfaite simultanément avec lescontraintes de non-négativité. Par conséquent, il n’y a pas de solutions réal-isables.Nous concluons ce paragraphe par un exemple où le primal et son dual

n’ont pas de solutions réalisables.

Exemple 7.4 Soit le primal :

Max z = 3x1 + x2s.c. x1 x2 0

x1 + x2 1et x1, x2 0

le dual est alors :

Min z = u2s.c. u1 u2 3

u1 + u2 1et u1, u2 0

Aucun problème n’a de solution réalisable, car les contraintes ne peuventêtre satisfaites simultanément.

7.5 Interprétation économique des variablesduales

L’interprétation économique de la dualité dépend directement du problèmeprimal. Le tableau 7.4 résume l’interprétation possible d’un problème primal.

Notation Interprétationxj quantité de produit j à fabriquercj profit associé à une unité du produit jaij quantité de ressource i requise pour produire une unité du produit jbi quantité de ressource i disponiblez profit total provenant de la fabrication de tous les produits

Tableau 7.4 : Interprétation économique d’un problème primal

Page 229: Optimisation appliquée (statistique et probabilitiés appliquées)

7.5. Interprétation économique des variables duales 219

Exemple 7.5 Pour une entreprise engagée dans deux activités requé-rantdeux ressources, on pourrait avoir le programme linéaire suivant :

Le dual du programme (7.5) est :

Max z = 350x1 + 230x2s.c. 12x1 + 7x2 750 (6.5)

7x1 + 3x2 200et x1, x2 0

(7.6)

Min z = 750u1 + 200u2s.c. 12u1 + 7u2 350

7u1 + 3u2 230et u1, u2 0

Les solutions de ces deux problèmes sont pour le primal : x1 = 0 etx2 = 66, 6667 et pour le dual : u1 = 0 et u2 = 76, 6667. Par conséquentz = z = 15333, 34.Afin de saisir le sens économique des variables duales, appelées en théorie

économique “prix fantômes” (en anglais “shadow prices”), augmentons laressource 2 d’une unité. Le programme à résoudre devient alors :

Max z = 350x1 + 230x2s.c. 12x1 + 7x2 750

7x1 + 3x2 201et x1, x2 0

(7.7)

La nouvelle solution optimale est x1 = 0, x2 = 67 et z = 15 410. La variationdu profit total est donc égale à 76, 66 (= 15 410 15 333, 34) lorsque l’onaugmente la ressource 2 d’une unité.Cette variation représente justement la valeur de u2 dans la solution op-

timale du dual. Il n’est donc pas nécessaire de résoudre le problème (7.6).Par conséquent, les variables duales u permettent de mesurer l’incidence

de chacune des ressources sur le profit. En résumé, lorsque la fonction objectifest une maximisation, ui mesure le changement marginal de c x par rapportà bi.Il est évident que le sens économique des variables duales varie en fonc-

tion du sens économique du vecteur c. Ainsi, si c représente les profits uni-taires, alors u représente le profit marginal imputable à l’augmentation de la

Page 230: Optimisation appliquée (statistique et probabilitiés appliquées)

220 La dualité

quantité disponible d’une ressource. De plus, pour une même interprétationdu primal, il est parfaitement envisageable d’en trouver plusieurs pour lessolutions du dual. Supposons que notre exemple soit un problème de max-imisation du profit. Dans ce cas, la première interprétation du dual est cellequi a été donnée à la page précédente. Supposons maintenant que l’entre-prise doive emprunter pour obtenir cette unité supplémentaire de ressource2, elle devra payer des intérêts pour cet emprunt. Le calcul du prix fantômeindique alors à l’entrepreneur s’il peut emprunter, c’est-à-dire si les intérêtssont inférieurs au supplément de profit qu’il peut retirer. Autre hypothèse,l’entreprise n’a pas besoin d’emprunter pour acquérir cette unité supplémen-taire, elle dispose au contraire de fonds pour lesquels elle cherche le meilleurplacement. Le calcul de u2 lui indique alors l’avantage qu’elle retirerait àplacer ces fonds dans des ressources supplémentaires, en sachant bien sûr ceque lui rapporterait d’autres possibilités.La valeur trouvée pour une variable duale n’est valable que pour la varia-

tion de la dernière unité de la ressource considérée, comme dans toute théoriemarginale.

7.6 L’algorithme dual du simplexe

On utilise généralement l’algorithme dual du simplexe lorsque la solution debase n’est pas réalisable, et que l’algorithme du simplexe primal ne permetpas de modifier la base courante; tout particulièrement, si tous les zj cj 0,mais que xB 0. Nous verrons au chapitre 8 que l’algorithme dual dusimplexe doit être utilisé dans de nombreux cas de postoptimisation. Voiciun exemple d’application de l’algorithme dual du simplexe.

Exemple 7.6 Soit le programme linéaire suivant :

Min z = 3x1 4x2s.c. x1 + 2x2 12

2x1 + x2 9et x1, x2 0

Page 231: Optimisation appliquée (statistique et probabilitiés appliquées)

7.6. L’algorithme dual du simplexe 221

Ce problème s’écrit sous la forme standard :

Min z = 3x1 4x2s.c. x1 + 2x2 x3 = 12

2x1 + x2 x4 = 9et x1, x2, x3, x4 0

Si ce programme devait être résolu par la méthode traditionnelle du sim-plexe, il faudrait ajouter des variables artificielles, puisque, sous forme stan-dard, les coe cients des variables d’écart sont négatifs. Considérons la basequi contient les variables x3 et x4, c’est-à-dire :

B = B 1 =1 00 1

Pour cette base, la solution correspondante est :

xB =129

D’autre part, z1 c1 = 3 et z2 c2 = 4. Nous sommes donc dans la situationoù zj cj 0, mais xB 0. Nous pouvons dès lors utiliser la méthode dualedu simplexe, sans ajouter de variables artificielles.Le tableau initial est le suivant :

cj 3 4 0 0cB vecteurs de base xB a1 a2 a3 a40 a3 12 1 2 1 00 a4 9 2 1 0 1

(zj cj) z = 0 3 4 0 0

Notons que yj = aj, puisqueB = I. Dans la méthode duale du simplexe,nous commençons par déterminer quel vecteur sort de la base par le critère :

ak =mini{xBi}

Il s’agit dans notre cas du vecteur a3.Il faut ensuite déterminer quel vecteur va entrer dans la base en calculant

:zr cryrk

=maxj

zj cjyjk

Page 232: Optimisation appliquée (statistique et probabilitiés appliquées)

222 La dualité

Dans notre cas nous avons :

a1 :3

1= 3

a2 :4

2= 2 entre dans la base

Le pivotement s’e ectue comme pour le simplexe original et le deuxièmetableau de notre exemple est alors le suivant :

cj 3 4 0 0cB vecteurs de base xB a1 a2 a3 a44 a2 6 1/2 1 1/2 00 a4 3 3/2 0 1/2 1

(zj cj) z = 24 1 0 2 0

Les zj cj sont tous positifs, mais une des variables de base est encorenégative, puisque xB4 < 0. C’est donc le vecteur a4 qui doit sortir de labase. Nous devons déterminer quel vecteur va y entrer.

a1 :1

3/2=

2

3entre dans la base

a3 :2

1/2= 4

Nous procédons alors au pivotement et le nouveau tableau est :

cj 3 4 0 0cB vecteurs de base xB a1 a2 a3 a44 a2 5 0 1 2/3 1/33 a1 2 1 0 1/3 2/3

(zj cj) z = 26 0 0 5/3 2/3

Comme toutes les variables de bases et tous les zj cj sont positifs, la solutionde base est réalisable et optimale, avec x1 = 2, x2 = 5 et z = 26.

Page 233: Optimisation appliquée (statistique et probabilitiés appliquées)

7.7. Exercices 223

7.7 Exercices

1. Trouvez le dual du programme linéaire suivant :

max z = x1 + x2s.c. x1 x2 + x3 10

x2 52x3 6

et xi 0

2. Idem.min z = x1 + x2 + x3 x4s.c. x1 x2 7

x3 x4 9x1 + x3 3

x2 + x4 5et xi sans restriction de signe

3. Utilisez l’algorithme dual du simplexe pour résoudre ce programmelinéaire :

Min z = 2x1 x2s.c. 4x1 + x2 8

x1 + x2 5et x1, x2 0

4. Idem.Max z = 3x1 x2s.c. 4x1 + 6x2 4

x1 + x2 1et x1, x2 0

5. Idem.Min z = 8x1 12x2

s.c. 3x1 3x2 12x1 4x2 1

et x1, x2 0

6. Une usine d’automobiles utilise deux facteurs de production, le capitalK et le travail L. Elle dispose de deux chaînes de montage dont les

Page 234: Optimisation appliquée (statistique et probabilitiés appliquées)

224 La dualité

fonctions de production pour une automobile sont :

Chaînes de montage Fonction de productionP1 10K + 4L 4000P2 5K + 4L 2200

Sachant que le prix d’une unité de capital est 4 et que celui d’une unitéde travail est 2, trouvez les quantités de capital et de travail qui min-imisent le coût de production d’une automobile à l’aide de l’algorithmedual du simplexe.

7. Une entreprise produit 3 biens : x1, x2 et x3, qu’elle vend respective-ment aux prix de 4, 4 et 8 CHF. Pour ces trois produits, elle disposede trois inputs b1, b2 et b3. Le tableau ci-dessous présente les quantitésde chaque input nécessaires à la production d’une unité des di érentsbiens ainsi que les quantités d’inputs disponibles :

Inputs Biens Quantitéx1 x2 x3 disponible

b1 1 1 2 15b2 0 1 1 10b3 1 1 4 20

(a) Trouvez le plan de production qui maximise le chi re d’a aire.

(b) Cette entreprise désire assurer les inputs contre le feu. Trouvezles primes relatives à chaque input permettnat à l’entreprise deminimiser la somme des primes, tout en conservant le même revenuunitaire pour chaque bien.

(c) Donnez une interprétation économique du résultat trouvé en (b).

Page 235: Optimisation appliquée (statistique et probabilitiés appliquées)

Chapitre 8

Postoptimisation et analyse desensibilité

8.1 Introduction

L’analyste qui a pour tâche de résoudre des problèmes de programmationlinéaire ne se contente en général pas de la solution optimale. Il s’intéresseégalement à de nouvelles solutions optimales issues de la modification d’unou de plusieurs éléments du problème original. Cette démarche devrait im-pliquer l’établissement d’un nouveau programme linéaire ainsi que le calculd’une nouvelle solution optimale, ce qui peut, selon la compléxité du problèmeconsidéré, nécessiter beaucoup de temps et d’e orts. Au lieu de recommencertoute la procédure à chaque modification, il est souvent possible, sous cer-taines conditions, d’utiliser la solution optimale du problème initial commesolution de départ du problème modifié. Cette procédure de postoptimisa-tion comporte di érents types de modifications. D’une manière générale, lesproblèmes qui relèvent de la postoptimisation se répartissent en trois caté-gories, à savoir les problèmes impliquant des changements ponctuels parmi lesparamètres aij, bj et cj, les problèmes impliquant des changements continuset les problèmes impliquant des changements structurels, soit l’addition ou lasuppression de variables ou de contraintes. Mentionnons que les problèmesimpliquant des changements continus forment ce qu’on appelle en rechercheopérationnelle l’analyse de sensibilité. On s’intéresse particulièrement àl’intervalle ou domaine dans lequel les paramètres aij, bj et cj peuvent variersans que la solution optimale ne soit modifiée.

225

Page 236: Optimisation appliquée (statistique et probabilitiés appliquées)

226 Postoptimisation et analyse de sensibilité

8.2 Changements ponctuels parmi les paramètreaij, bj et cj

Soit un programme linéaire de la forme :

Max z = cx

s.c. Ax = b

x 0

où c correspond au vecteur des coe cients associé à la fonction objectif etb au vecteur du second membre des contraintes. La matrice A (m× n) descoe cients des contraintes est partagée en deux sous-matrices A = [B |N ] ,B correspondant aux vecteurs de base et N aux vecteurs hors base.

8.2.1 Modification de c en c

Ce type de changement est facile à traiter puisque l’ensemble de solutionsréalisables reste le même.Soit B, la base optimale correspondant au programme linéaire original.

Si le cj modifié est associé à une variable de base, on calcule :

zj cj = cByj cj

Si zj cj 0 pour tout j, alors la solution optimale du problème orig-inal reste la solution optimale du problème modifié. Sinon, il faut utiliserl’algorithme du simplexe à partir de la base B.Si le cj modifié correspond à une variable non incluse dans la base, le seul

terme du tableau qui sera modifié est le zj cj de la variable en question. Ildevient alors zj cj et l’on procède ensuite comme précédemment.Nous avons montré au chapitre 4 comment un problème de programma-

tion linéaire pouvait être représenté graphiquement. De la même manière,nous allons illustrer l’e et d’une modification du vecteur des coe cients c dela fonction objectif en c .

Page 237: Optimisation appliquée (statistique et probabilitiés appliquées)

8.2. Changements ponctuels parmi les paramètres aij, bj et cj 227

Exemple 8.1 Soit le programme linéaire suivant :

Maximiser z = 3x1 + 4x2s.c. 2x1 + x2 12

x1 + 2x2 12et x1, x2 0

La Figure 8.1 illustre la représentation graphique de ce problème ainsique la solution optimale x1 = x2 = 4.

10

5

0

1

5

x2

x1101

Voyons maintenant comment ce problème se modifie lorsque c = 3 4 0 0

est remplacé par c = 6 4 0 0 .

Nous avons présenté au chapitre 5 la résolution de ce problème à l’aide dela méthode du simplexe. Le tableau du simplexe après deux itérations étaitalors le suivant :

cj 3 4 0 0cB vecteurs de base xB a1 a2 a3 a43 a1 4 1 0 2/3 -1/34 a2 4 0 1 -1/3 2/3

(zj cj) 28 0 0 2/3 5/3

Page 238: Optimisation appliquée (statistique et probabilitiés appliquées)

228 Postoptimisation et analyse de sensibilité

Avec le nouveau vecteur c = 6 4 0 0 , le tableau devient :

cj 6 4 0 0cB vecteurs de base xB a1 a2 a3 a46 a1 4 1 0 2/3 -1/34 a2 4 0 1 -1/3 2/3

(zj cj) 40 0 0 8/3 2/3

Comme tous les (zj cj) 0, le vecteur xB reste une solution de baseoptimale comme dans le problème original.Graphiquement, une telle modification correspond à un changement de

la pente de la fonction objectif. Cette nouvelle situation est présentée dansla Figure 8.2, où l’on voit la nouvelle fonction objectif avec z = 40 ainsi quela solution optimale x1 = x2 = 4.

10

5

0

1

5

x2

x110

(4, 4)

1

Figure 8.2 : Résolution graphique avec c1 = 6

Voyons maintenant deux cas où la solution de base n’est plus optimale.Avec c1 = 8, la solution optimale n’est plus unique, puisque nous avonsz4 c4 = 0, alors que z3 c3 > 0. Graphiquement, cela se traduit par unesituation où la fonction objectif est parallèle à un segment de l’ensembledes solutions réalisables (Figure 8.3). Toutes les combinaisons situées sur lesegment reliant les points (4 ;4) et (6 ;0) sont optimales.

Page 239: Optimisation appliquée (statistique et probabilitiés appliquées)

8.2. Changements ponctuels parmi les paramètres aij, bj et cj 229

10

(6, 0)

(4, 4)

5

0

1

5

x2

x1101

Figure 8.3 : Résolution graphique avec c1 = 8

Avec c1 = 12, la solution de base x1 = x2 = 4 reste réalisable, mais ellen’est plus optimale. En e et, le tableau du simplexe devient le suivant :

cj 12 4 0 0cB vecteurs de base xB a1 a2 a3 a412 a1 4 1 0 2/3 -1/34 a2 4 0 1 -1/3 2/3

(zj cj) 64 0 0 20/3 -4/3

Nous pivotons donc autour de l’élément y24, ce qui nous donne le tableausuivant :

cj 12 4 0 0cB vecteurs de base xB a1 a2 a3 a412 a1 6 1 1/2 1/2 00 a4 6 0 3/2 -1/2 1

(zj cj) 72 0 2 6 0

La solution x1 = 6, x2 = 0 (puisque x2 n’est plus dans la base) et x4 = 6est optimale, puisque tous les (zj cj) 0. Cette situation est illustrée parla Figure 8.4.

Page 240: Optimisation appliquée (statistique et probabilitiés appliquées)

230 Postoptimisation et analyse de sensibilité

10

5

0

1

5

x2

x110

(6, 0)

(4, 4)

1

Figure 8.4 : Résolution graphique avec c1 = 12

On peut résumer les solutions pour les di érentes valeurs de c dans letableau suivant :

Fonction objectif Solution optimalez = 3x1 + 4x2 (4 ;4)z = 6x1 + 4x2 (4 ;4)z = 8x1 + 4x2 pas de solution uniquez = 12x1 + 4x2 (6 ;0)

Nous constatons que, si nous ne modifions que l’accroissement de c1, lasolution du problème de base reste optimale aussi longtemps que c1 < 8.Lorsque c1 = 8, la solution originale reste optimale mais n’est plus unique.Dès que c1 > 8, la solution originale n’est plus optimale ; l’optimum est alorsatteint pour x1 = 6 et x2 = 0. De même, lorsque c1 décroît et que tous lesautres critères sont inchangés, la solution du problème reste optimale aussilongtemps que c1 > 2. Si c1 < 2, le nouvel optimum sera atteint en x1 = 0 etx2 = 6. Ceci peut se résumer dans le tableau suivant :

c1 Optimum z0 c1 < 2 (0 ;6) 24c1 = 2 pas de solution unique 24

2 < c1 < 8 (4 ;4) 4c1 + 16c1 = 8 pas de solution unique 48c1 > 8 (6 ;0) 6c1

Page 241: Optimisation appliquée (statistique et probabilitiés appliquées)

8.2. Changements ponctuels parmi les paramètres aij, bj et cj 231

8.2.2 Modification du vecteur des contraintes b en b

Si l’on remplace b par b , B reste une base du nouveau problème, mais lasolution de base correspondante x

B= B 1b peut ne plus être réalisable. Il

s’agit alors de calculer une nouvelle solution.

(xB ,xN ) = (B1b ,0)

Si B 1b 0, alors la solution est réalisable. Et puisque zj cj 0pour le nouveau problème (compte tenu du fait que zj cj ne dépend pasde b), la solution (x

B,x

N) = (B 1b ,0) est optimale. Si une ou plusieurs

composantes de b sont négatives, alors il faut utiliser la méthode duale dusimplexe à partir de la base B.

Exemple 8.2 Soit le programme linéaire suivant :

Max z = 3x1 +5x2s.c. x1 +x3 = 4

2x2 +x4 = 123x1 +2x2 +x5 = 18x1, ..., x5 0

dont la résolution est présentée au chapitre 6. L’optimum est atteint pourx1 = 2, x2 = 6 et z = 36. La base associée à cette solution est :

B =1 0 10 2 00 2 3

Supposons que b = 4 12 18 soit remplacé par b = 1 12 18 .Dans ce cas :

xB=

x3x2x1

= B 1b =162

Page 242: Optimisation appliquée (statistique et probabilitiés appliquées)

232 Postoptimisation et analyse de sensibilité

impliquant la faisabilité de la solution puisque x1, x2 0. Mais l’une descomposantes de B 1b est inférieure à zéro, ce qui nécessite dès lors l’utili-sation de l’algorithme dual du simplexe, à partir du tableau suivant :

cj 3 5 0 0 0cB vecteurs de base xB a1 a2 a3 a4 a50 a3 -1 0 0 1 1/3 -1/35 a2 6 0 1 0 1/2 03 a1 2 1 0 0 -1/3 1/3

(zj cj) 36 0 0 0 3/2 1

Si l’on applique la méthode duale du simplexe, la variable x5 entre dans labase alors que la variable x3 en sort. Lors de l’étape suivante, le tableau dusimplexe dual devient alors:

cj 3 5 0 0 0cB vecteurs de base xB a1 a2 a3 a4 a50 a5 3 0 0 -3 -1 15 a2 6 0 1 0 1/2 03 a1 1 1 0 1 0 0

(zj cj) 33 0 0 3 1/2 0

Ce tableau implique les solutions suivantes x1 = 1, x2 = 6, x5 = 3 et z = 33.

Graphiquement, lorsque seuls les seconds membres des contraintes sontmodifiés, les contraintes se déplacent parallèlement à elles-mêmes.

Dans notre cas, seule la première contrainte se déplace et l’ensemble dessolutions réalisables se restreint. La Figure 8.5 présente la situation originale,le déplacement de la contrainte et la nouvelle situation. On remarque qu’avecla nouvelle combinaison optimale, la valeur de la troisième contrainte estinférieure au maximum possible. Cela se traduit graphiquement par le point(x1, x2) situé en-dessous de la contrainte et par la variable d’écart x5 = 0.

Page 243: Optimisation appliquée (statistique et probabilitiés appliquées)

8.2. Changements ponctuels parmi les paramètres aij, bj et cj 233

10

5

0

1

5

x2

x1

(1, 6)

(2, 6)

1

Figure 8.5 : Résolution du problème 8.2 avec b1 = 1

8.2.3 Modification d’un vecteur hors-base aj en ajLa solution optimale de base du programme original reste réalisable pour leproblème modifié. Il s’agit de calculer les valeurs :

yj = B1aj et zj cj = cByj cj

Si zj cj 0, alors la solution du problème originale reste optimalepour le nouveau problème. Dans le cas contraire, on utilise l’algorithme dusimplexe en commencant à partir de la base B.Notons que dans les programmes linéaires pour lesquels les procédures

sont plus compliquées, des changements de nature plus générale peuvents’e ectuer dans A. Dans ce type de situations, il est souvent préférable derésoudre les programmes linéaires modifiés à partir du début.Reprenons l’exemple et supposons que a4 = 0 1 0 soit remplacé

par a4 = 0 1 1 . Il faut dans ce cas calculer :

z4 c4 = cB B 1a4 c4 =5

20

Comme z4 c4 > 0, la solution originale reste optimale.Notons que cette modification ne peut pas être représentée graphique-

ment, puisque le vecteur a4 se trouve en dehors de la base.

Page 244: Optimisation appliquée (statistique et probabilitiés appliquées)

234 Postoptimisation et analyse de sensibilité

Dans le cas plus général, modifier un élément aij correspond au pivote-ment d’une contrainte, si aucune autre modification n’a lieu simultanément.Voyons ceci graphiquement avec l’exemple 8.1 et supposons que la deuxièmecontrainte du problème devienne :

x1 + 3x2 12

La représentation graphique du problème modifié est présentée à la Figure8.6. La solution x1 = x2 = 4 n’est plus réalisable, puisqu’elle ne satisfait plusla deuxième contrainte. On trouve le nouvel optimum en x1 = 4, 8, x2 = 2, 4et z = 24.

10

5

0

1

5

x2

x1101

Figure 8.6 : Modification de a21, nouvelle contrainte et nouvel optimum

8.3 Changements continus parmi les paramètresaij, bj et cj

Soit un programme linéaire de la forme :

Max z = cx

s.c. Ax = b

x 0

dont la solution optimale est x . Nous allons nous intéresser aux intervallesdans lesquels les paramètres aij, bj et cj peuvent varier, sans que la solutionoptimale ne change.

Page 245: Optimisation appliquée (statistique et probabilitiés appliquées)

8.3. Changements continus parmi les paramètres aij, bj et cj 235

8.3.1 Changement continu de c en c

On suppose que le vecteur des coe cients c est transformé en c = c+ d, oùd est un vecteur de changement et un facteur d’échelle, 0. Le nouveaucoe cient réduit est :

zj cj = cByj cj = (cB + dB)yj cj dj= zj cj (dj dByj)

Si dj dByj 0, alors zj cj zj cj 0. Mais pour les indices j pour

lesquels dj dByj > 0, zj cj = 0 lorsque =zj cj

dj dByj.

Soit

(1) =

minj

zj cjdj dByj

si dj dByj > 0

sinon

xj hors base et z = z + dBB1b

Tant que (1), les zj cj restent non-négatifs, par conséquent l’ancienensemble de solutions réalisables reste optimal. En revanche la situation où= (1) implique qu’il existe de multiples optimums possibles. Lorsque> (1), l’optimum change ; il convient dès lors de calculer une nouvelle

solution. Notons que ceci n’est vrai que s’il y a abscence de dégénérescence.Habituellement, la nouvelle solution optimale s’obtient par un pivotement àpartir du tableau optimal précédent.On répète cette procédure pour trouver le point = (2) où la nouvelle

base n’est plus optimale. Généralement, on constate qu’à partir d’un certainpoint (n) = + , la solution de base optimale ne change plus lorsque estaugmenté en (n+1).

Exemple 8.3 On considère le programme linéaire de l’exemple 8.2.

Nous avions trouvé comme solution de base optimale :

xB=

x3x2x1

=262

Page 246: Optimisation appliquée (statistique et probabilitiés appliquées)

236 Postoptimisation et analyse de sensibilité

Soit d = 1 0 0 0 0 Alors dB = 0 0 1

d4 dBy4 = 01

3=

1

3

d5 dBy5 = 0 (1

3) =

1

3

(1) =z5 c5

d5 dBy5=

1

(1/3)= 3

Lorsque = (1) = 3, le tableau correspond à :

cj 0 5 0 0 0cB vecteurs de base xB a1 a2 a3 a4 a50 a3 2 0 0 1 1/3 -1/35 a2 6 0 1 0 1/2 00 a1 2 1 0 0 -1/3 1/3

(zj cj) 30 0 0 0 5/2 0

On constate que la solution reste optimale, mais qu’elle n’est pas unique. Ene et, le tableau peut être modifié en entrant la variable x5 dans la base eten faisant sortir la variable x1. Le nouveau tableau est alors le suivant :

cj 0 5 0 0 0cB vecteurs de base xB a1 a2 a3 a4 a50 a3 4 1 0 1 0 05 a2 6 0 1 0 1/2 00 a5 6 3 0 0 -1 1

(zj cj) 30 0 0 0 5/2 0

Cette nouvelle solution, bien que di érente, est également optimale.La Figure 8.7 présente la solution originale ainsi que la nouvelle solution pourd = 1 0 0 0 0 et di érentes valeurs de .

Page 247: Optimisation appliquée (statistique et probabilitiés appliquées)

8.3. Changements continus parmi les paramètres aij, bj et cj 237

10

5

0

1

5

x2

x1

Solution originale, θ = 0

θ = 4

(0, 6)

(2, 6)

θ = 3

θ = 1

1

Figure 8.7 : Résolution avec di érentes valeurs de

Considérons maintenant des accroissements supplémentaires de , baséssur ce tableau révisé.

dB = ( 0 0 0 )

d1 dBy1 = 1

d4 dBy4 = 0(2) = +(2) = (1) + 2 = +

0

40

30

20

10

5

z

θ1

Figure 8.8 : Valeur de la fonction objectif en fonction de

Page 248: Optimisation appliquée (statistique et probabilitiés appliquées)

238 Postoptimisation et analyse de sensibilité

Cela signifie que toute nouvelle augmentation de n’aura aucun e et.Cette argumentation peut être démontrée en représentant graphiquementpar rapport à la valeur optimale de z (Figure 8.8). On note que si la solutionoptimale est un fonction discontinue de , alors zmax est une fonction linéairecontinue de , ceci pour tout programme linéaire.

8.3.2 Changement continu de b en b

Il s’agit ici d’évaluer le domaine de variation des éléments de b, de sorte que lasolution optimale soit maintenue. La procédure employée est similaire à celleprésentée ci-dessus, compte tenu que les coe cients variables peuvent ici êtreassimilés à ceux de la fonction objectif du problème dual. Par conséquent,on applique l’algorithme de la dualité.Soit b ayant subi un changement tel que b = b+ f , 0. Dans ce cas,

le côté droit du programme linéaire devient :

B 1b = B 1b+ ( Bf)

Si Bf 0, alors peut être augmenté indéfiniment sans que la solutionde base courante devienne irréalisable. Mais il faut constater qu’en général,on observe une ou plusieurs composantes de B 1f de signe négatif. Parconséquent, ne peut pas être augmenté au-delà de :

(1) =mini

B 1bi

B 1fi

si B 1fi> 0

sinon

Lorsque = (1), la solution optimale est dégénérée. Le pivotement e ec-tué selon l’algorithme dual du simplexe entraîne une nouvelle base optimale.

8.4 Changements structurels

Contrairement aux deux précédentes, cette catégorie de changement n’estpas basée sur la modification des paramètres du programme linéaire de dé-part, mais sur l’introduction ou la suppression de nouvelles variables ou con-traintes.

Page 249: Optimisation appliquée (statistique et probabilitiés appliquées)

8.4. Changements structurels 239

8.4.1 Introduction ou suppression de variables

On désire introduire une nouvelle variable non-négative xn+1 dans notremodèle de départ. À partir de la solution optimale, on calcule yn+1 etzn+1 cn+1 = cByn+1 cn+1.Si zn+1 cn+1 0, la région réalisable de la base reste la même. Sinon,

on continue le pivotement par l’algorithme du simplexe.

La procédure à mener lors de la suppression d’une variable va dépendrede la place occupée par cette variable dans le tableau associé à la solutionoptimale. Si xj est une variable hors base, elle prend dès lors une valeur égaleà 0. Par conséquent, aucune opération n’est à e ectuer puisque la région dessolutions réalisables optimale reste la même. Si par contre xj est une variableincluse dans la base, il est nécessaire de la forcer à 0 (à moins qu’elle ne soitdéjà dégénérée). Pour ce faire, il faut la sortir de la base en utilisant le critèrede la méthode duale du simplexe. La variable est ignorée dans la suite de larésolution, toujours suivant la méthode duale du simplexe.

Exemple 8.4 Soit la programme linéaire de l’exemple 8.2.

• Que se passe-t-il si la variable x4 est supprimée?

Rien dans ce cas puisque x4 n’est pas incluse dans la base du tableaurelatif à la solution optimale.

• Que ce passe-t-il si x1 est supprimée?

Reprenons le tableau du simplexe final.

cj 3 5 0 0 0cB vecteurs de base xB a1 a2 a3 a4 a50 a3 2 0 0 1 1/3 -1/35 a2 6 0 1 0 1/2 03 a1 2 1 0 0 -1/3 1/3

(zj cj) 36 0 0 0 3/2 1

Page 250: Optimisation appliquée (statistique et probabilitiés appliquées)

240 Postoptimisation et analyse de sensibilité

La variable x1 sort de la base et la variable x4 y entre.

cj 3 5 0 0 0cB vecteurs de base xB a1 a2 a3 a4 a50 a3 4 0 1 0 05 a2 9 1 0 0 1/20 a4 -6 0 0 1 -1

(zj cj) 45 0 0 0 5/2

La variable x5 entre dans la base et la variable x4 en sort.

cj 3 5 0 0 0cB vecteurs de base xB a1 a2 a3 a4 a50 a3 4 0 1 0 05 a2 6 1 0 1/2 00 a5 66 0 0 -1 -1

(zj cj) 30 0 0 5/2 0

Il s’agit de la solution optimale.

• Que se passe-t-il si la variable x2 est supprimée ?

Cette technique n’est pas utilisable dans ce cas puisque la ligne de x2 estnon-négative. Il faut dès lors utiliser l’algorithme du dual pour déterminerquelle variable entre dans la base.

8.4.2 Introduction ou suppression d’une contrainte

Pour introduire une nouvelle contrainte dans le tableau associé à la solutionoptimale, il faut la convertir, si nécessaire, sous sa forme d’égalité en intro-duisant une variable d’écart. On procède ensuite au pivotement de manière àrétablir la forme des colonnes de la base originale selon les critères suivants:

• si la nouvelle ligne contient des valeurs négatives, on utilise le test ratiode la méthode du dual pour déterminer quelle variable entre dans labase pour cette nouvelle ligne (pas de sortie de base).

• si la nouvelle ligne ne contient que des valeurs non négatives et que xBest également non négatif, on utilise le test ratio de la méthode du dualpour trouver la variable qui entre dans la base

• si la nouvelle ligne ne contient que des valeurs non négatives mais quexB est négatif, le nouveau programme linéaire n’est pas réalisable.

Page 251: Optimisation appliquée (statistique et probabilitiés appliquées)

8.5. Exercices 241

8.5 Exercices

1. Soit le programme linéaire suivant :

Maximiser z = 2x1 + 3x2s.c. x1 + 3x2 6

2x1 + x2 4et x1, x2 0

(a) Résoudre ce programme par la méthode du simplexe.

(b) Étudier les modifications de ce programme linéaire lorsquec = (2; 3) est remplacé par c = (8; 3) .

2. Une usine fabrique deux produits P1 et P2. Elle utilise les matièrespremières M1, M2 etM3 selon la répartition suivante donnée en tonnes:

P1 P2M1 1 2M2 4 2M3 2 2

Elle dispose de 9 tonnes de M1, 12 tonnes de M2 et 10 tonnes de M3

par mois.

(a) Quelle quantité de chaque bien l’usine doit-elle produire pour max-imiser son bénéfice, sachant que le bénéfice net est de 6 par unitéde P1 et de 4 par unité de P2 (en milliers de francs).

(b) Suite au jeu de l’o re et de la demande, le bénéfice unitaire de P2n’est plus que de 3. La combinaison calculée au point (a) est-elleencore optimale ?

3. Soit le programme linéaire suivant :

Max z = 2x1 + 3x2 + 5x3s.c. 4x1 + 3x2 + x3 400

x1 + 2x2 200x2 + 2x3 200

et x1, x2, x3 0

Page 252: Optimisation appliquée (statistique et probabilitiés appliquées)

242 Postoptimisation et analyse de sensibilité

(a) Trouver la solution de base optimale.

(b) Trouver la nouvelle solution optimale lorsque la fonction objectifest remplacée par :

z = 2x1 + 2x2 + 6x3

4. Soit le programme linéaire suivant :

Max z = 3x1 + 4x2s.c. x1 + 2x2 8

3x1 + 3x2 15et x1, x2 0

(a) Trouver la solution de base optimale.

(b) Trouver la nouvelle solution optimale si b = (8; 15) est remplacépar b = (8; 21) .

(c) Représenter les deux situations sur le même graphique.

5. Soit le programme linéaire suivant :

Max z = 8x1 + 4x2s.c. x1 2

x1 + x2 5et x1, x2 0

(a) Trouver la solution de base optimale.

(b) Trouver la nouvelle solution optimale si b = (2; 5) est remplacépar b = (1; 5) .

6. Soit le programme linéaire suivant :

Max z = 3x1 + 2x2 + 5x3s.c. 3x1 + x2 10

x2 + 2x3 62x1 + x2 + x3 8

et x1, x2, x3 0

(a) Trouver la solution de base optimale.

Page 253: Optimisation appliquée (statistique et probabilitiés appliquées)

8.5. Exercices 243

(b) Étudier la modification de la solution optimale si la deuxièmecontrainte est remplacée par:

2x3 6

7. Soit le programme linéaire suivant :

Max z = 5x1 + 10x2s.c. 4x1 + 2x2 12

x1 + x2 4x2 3

et x1, x2 0

(a) Résoudre graphiquement ce système.

(b) Représenter sur le même graphique les modifications du systèmeet de la solution lorsque la deuxième contrainte devient :

x1 + 2x2 8

8. Soit le programme linéaire suivant :

Max z = 3x1 + x2s.c. 2x1 + x2 20

x1 + x2 112x1 + 3x2 27

et x1, x2 0

(a) Trouver la solution de base optimale de ce programme.

(b) Soit d 1 0 0 0 0 . On s’intéresse aux variations des coef-ficients de la fonction objectif tel que c = c+ d, 0. Trouver(1) tel que la solution originale reste optimale mais ne soit plusunique et calculer la nouvelle base.

(c) Trouver (2) tel que la nouvelle base ne soit plus optimale.

(d) Recommencer le point précédent jusqu’à ce que la solution opti-male ne change plus quelle que soit l’augmentation de .

(e) Représenter graphiquement la valeur de z en fonction de .

Page 254: Optimisation appliquée (statistique et probabilitiés appliquées)

244 Postoptimisation et analyse de sensibilité

VON NEUMANN Johannes (1903-1957)Mathématicien américain d’origine hongroise, il étudie la chimie à Berlinet obtient son diplôme d’ingénieur chimiste à l’ETH de Zürich en 1926, enmême temps que son doctorat à l’université de Budapest. À l’âge de 20 ans,il publie une définition des nombres ordinaux, toujours utilisée aujourd’hui.Il enseigne notamment à Berlin, Hambourg et Princeton. Von Neumann estavant tout connu pour son travail en mécanique quantique : Principes math-ématiques de la mécanique quantique ( 1932) et pour sa théorie des jeux qu’ilélabore en collaboration avec Oskar Morgenstein Théorie de jeux et com-portement économique (1944). Durant les années trente, il travaille avec F.J. Murray sur les rings operators appelés dès lors algèbre de Von Neumann.Il fut l’un des pionniers de l’informatique en contribuant au développementde l’architecture logique des ordinateurs, en avançant la théorie du cellularautomata et en proposant le bit comme mesure unique de la mémoire in-formatique. Durant et après la Seconde Guerre mondiale, Von Neumanndevient consultant des forces armées américaines et participe notamment àl’élaboration de la bombe à hydrogène.

Page 255: Optimisation appliquée (statistique et probabilitiés appliquées)

Chapitre 9

Problème de transport

9.1 Introduction

C’est en 1941 que Frank L. Hitchcock a formulé pour la première fois leproblème de transport, qui consiste à minimiser le coût de transport totald’un plan d’expédition. Le fait de minimiser à la fois la distance totale et lecoût de transport fait partie de la théorie des flux de réseaux ; il ne sera pasabordé ici. Le problème de transport “classique” est en fait un cas particulierd’un problème de flux de réseaux.

9.2 Formulation du problème de transport

On peut d’écrire un problème de transport de la façon suivante. Une quantitédonnée d’un produit uniforme est disponible à chacune des origines (parexemple des dépôts). Il s’agit d’en envoyer des quantités spécifiées à chacunedes destinations (par exemple des points de vente). On connaît le coût detransport d’une unité de l’une des origines vers l’une des destinations. Ensupposant qu’il est possible d’expédier des produits depuis n’importe quelleorigine vers n’importe quelle destination, il s’agit de déterminer le coût detransport minimum des origines vers les points de destination.Nous supposerons qu’il y a m origines et n destinations.La variable xij représentera le nombre d’unités expédiées de l’origine i

vers la destination j. xij 0 pour tout i, j.Pour chaque origine i donnée, il y a n valeurs de j possibles ; cela implique

qu’il y a (m× n) xij di érents.

245

Page 256: Optimisation appliquée (statistique et probabilitiés appliquées)

246 Problème de transport

On note par ai la quantité disponible du produit à l’origine i, et par bj laquantité requise à la destination j.

9.3 Équations

Le total reçu par chacune des destinations est la somme des quantités reçuesde chaque origine. Les besoins des destinations sont satisfaits si:

m

i=1

ai =n

j=1

bj (9.1)

Si cij est le coût de transport d’une unité de l’origine i vers la destination j,exprimé en francs, alors le coût total de l’expédition se traduit par l’équation:

z =n

j=1

m

i=1

cijxij

= (c11x11 + c12x12 + · · ·+ c1nx1n) + · · ·+

+(cm1xm1 + . . .+ cmnxmn). (9.2)

Dans le cas d’un problème de transport équilibré selon l’équation (9.1),nous devons donc résoudre le programme linéaire :

Minimiser z =n

j=1

m

i=1

cijxij

sous les contraintes :

xij 0 i = 1, . . . ,m et j = 1, . . . , nn

j=1

xij = ai i = 1, . . . ,m

m

i=1

xij = bj j = 1, . . . , n

Page 257: Optimisation appliquée (statistique et probabilitiés appliquées)

9.4. Exemple illustratif 247

Outre les n×m contraintes de non négativité, le premier ensemble de mcontraintes garantit que la quantité envoyée depuis le dépôt i est égale austock disponible à cette origine. L’ensemble de n contraintes garantit quechaque destination reçoit la quantité demandée.Ceci est un problème de programmation linéaire avec m× n variables et

m+ n contraintes.Nous ne faisons pas la restriction ai, bj 0 car les variables xij sont0. Nous admettons cependant que les coûts cij sont négatifs. Ainsi, notre

problème de transport peut aussi représenter des problèmes de maximisationcar :

Maximiser z =i,j

cijxij

est équivalent à :Minimiser z =

i,j

( cij)xij

Notons encore que le problème de transport possède toujours une solutionréalisable, le lecteur pourra vérifier qu’elle est donnée par :

xij =aibjT

i et j

T =m

i=1

ai =n

j=1

bj

Les contraintes sont celles décrites ci-dessus. En outre, à cause de la non-négativité, chaque variable est bornée vers le haut et vers le bas

0 xij min{ai; bj}

Ainsi, le problème ne peut pas être illimité et une solution optimale doitexister.

9.4 Exemple illustratif

Une fabrique de conserves expédie des caisses vers des dépôts. Nous voulonsque le programme d’expédition des caisses minimise le coût de transport totaldes usines vers les dépôts. Pour simplifier, nous supposerons qu’il y a deuxusines I et II et trois dépôts A, B et C. Les disponibilités en caisses dans lesusines ai et les besoins des dépôts bj sont représentées dans le tableau 9.1.

Page 258: Optimisation appliquée (statistique et probabilitiés appliquées)

248 Problème de transport

ai bj350 caisses à l’usine I 300 caisses au dépôt A550 caisses à l’usine II 300 caisses au dépôt B

300 caisses au dépôt C

Tableau 9.1 : Disponibilités des usines

On voit tout de suite que la condition (9.1) est vérifiée, puisque :

2

i=1

ai =3

j=1

bj = 900

Le coût d’expédition, par caisse, entre chaque usine et chaque dépôt estconsigné dans le tableau 9.2 ci-dessous.

DestinationsOrigines A B C

I 25 17 16II 24 18 14

Tableau 9.2 : Coûts d’expédition (en francs par caisse)

Le problème consiste à déterminer le nombre de caisses que chacune desusines doit expédier vers chacun des dépôts de façon à ce que le coût detransport total soit le plus faible possible. La fonction objectif à minimiserest :

Minimiser z = 25x11 + 17x12 + 16x13 + 24x21 + 18x22 + 14x23

sous les contraintes

x11 + x12 + x13 = 350x21 + x22 + x23 = 550 (dues aux origines)

et

x11 + x21 = 300x12 + x22 = 300x13 + x23 = 300 (dues aux destinations)

Page 259: Optimisation appliquée (statistique et probabilitiés appliquées)

9.5. Résolution du problème 249

9.5 Résolution du problème

Le tableau 9.3 du problème de transport sert à exposer tous les éléments es-sentiels, constantes et variables, d’un problème de transport. Chaque ligne,à l’exception de la dernière, est associée à une origine, chaque colonne, àl’exception de la dernière, à une destination. Le coût unitaire cij est entrédans la partie supérieure gauche de la case, ou cellule, qui se trouve à l’in-tersection de la ligne i et de la colonne j. Par la suite, nous nous référeronsà cette cellule (i; j). On peut représenter une solution réalisable donnée auproblème de transport en écrivant la valeur de chaque variable xij dans lapartie inférieure droite de la cellule (i; j). Nous déciderons par conventionque, lorsqu’une solution réalisable de base est exposée dans un tableau detransport, la valeur d’un xij particulier n’y est e ectivement rentrée que siet seulement si xij est dans la base. Comme les variables non-basiques (dontla valeur est zéro) ne sont pas montrées dans le tableau, l’apparition d’unou de plusieurs zéros indique que la base est dégénérée. Finalement, les dif-férentes o res et demandes sont respectivement inscrites dans la colonne laplus à droite et la ligne du bas. Ainsi, on peut tout de suite déterminer siune solution réalisable de base satisfait toutes les contraintes en sommanttous les xij sur les lignes et les colonnes. Les éléments ui et vi seront étudiésplus tard.

b1 b2 . . . bn

um cm1 cm2 . . . cmn am

.

...

.

...

.

.

u2 c21 c22 . . . c2n a2

u1 c11 c12 . . . c1n a1

v1 v2 vn

Tableau 9.3 : Modèle du tableau de transport

Définition 9.1 Une séquence de quatre cellules di érentes, ou plus, dansun tableau de transport est appelée une boucle, si elle possède les propriétés

Page 260: Optimisation appliquée (statistique et probabilitiés appliquées)

250 Problème de transport

suivantes :

• deux cellules consécutives doivent se trouver soit sur la même ligne, soitsur la même colonne.

• il ne doit pas y avoir trois cellules consécutives dans la même ligne oula même colonne.

Remarque 9.1 La première cellule est considérée comme suivant la dernièredans la séquence.

Les figures ci-dessous présentent deux exemples de boucles, puis deuxexemples qui ne sont pas des boucles

Figure 9.1 : Deux exemples de boucles

Figure 9.2 : Deux exemples qui ne sont pas des boucles

9.6 Boucles et dépendances linéaires

Dans cette section, nous allons établir les fondements théoriques du développe-ment de l’algorithme de transport et de l’algorithme de Stepping Stone quien dérive. Comme cela deviendra évident plus tard, cet algorithme est essen-tiellement une adaptation de la méthode du simplexe, qui utilise la notionde boucle pour e ectuer des pivots directement sur le tableau de transport.

Page 261: Optimisation appliquée (statistique et probabilitiés appliquées)

9.7. Recherche de la solution réalisable de base initiale 251

Nous remarquons premièrement qu’un ensemble S de cellules d’un tableaude transport est dit contenant une boucle si les cellules de S, ou un sous-ensemble parmi elles, peuvent être rangées de sorte à former une boucle.Voyons le théorème 9.1.

Théorème 9.1 Soit S représentant un ensemble de colonnes de la matriceAd’un problème de transport. Les colonnes de S sont linéairement dépendantessi et seulement si leurs cellules correspondantes dans le tableau de transportcontiennent une boucle.

Il découle du théorème 9.1 qu’une solution contenantm + n 1 variables réelles est une solution réalisable si et seulement si sescellules correspondantes dans le tableau de transport ne contiennent pas deboucle.

Théorème 9.2 Soit les colonnes b1, . . . , bm+n 1, constituant une base réali-sable pour le problème de transport. Dans la représentation d’une colonnenon basique apq comme combinaison linéaire des vecteurs de base :

apq =m+n 1

k=1

Ykpqbk

chaque élément Y est 1, 0 ou 1.

Dans l’exposé du théorème, le symbole bk représente la kème colonne dansla base, qui est bien sûr une des colonnes aij de la matrice des contraintes.

9.7 Recherche de la solution réalisable de baseinitiale

• Méthode de la matrice minimale (Minimum Entry Method)

Étape 1 Trouver la cellule (p; q), telle que cpq est le plus petit coût de toutle tableau.

Étape 2 Envoyer le maximum d’unités pour la cellule (p; q). Ainsi xpq est ini-tialisé comme étant lemin{ap; bq}. Ajuster ensuite ap et bq, en tenant comptedu montant xpq à expédier. Exprimons cette phrase à l’aide d’inégalités :

xpq = min{ap, bq}

Page 262: Optimisation appliquée (statistique et probabilitiés appliquées)

252 Problème de transport

ap = ap xpq

bq = bq xpq (9.3)

Entourer (ou mettre en évidence d’une autre manière) le coût cpq. À la finde cette étape, soit ap, soit bq est nul, soit les deux.

Étape 3

(a) Si ap = 0 et bq > 0, cela signifie que l’origine p a été “vidée”. Ilfaut donc éliminer la ligne p du tableau.

(b) Si bq = 0 et ap > 0, cela signifie que la destination q est entièrementsatisfaite et qu’il reste des marchandises dans le dépôt p. Il fautdonc éliminer la colonne q du tableau.

(c) Si ap = 0 et bq = 0, nous nous trouvons dans un cas dégénéré.On élimine alors la ligne p, à moins qu’elle ne soit la seule lignerestante du tableau ; auquel cas il faut éliminer la colonne q.

Étape 4

(a) S’il reste un total de deux ou plusieurs lignes et colonnes nonencore éliminées, reprendre à l’étape 1.

(b) S’il ne reste qu’une ligne non éliminée, la solution réalisable debase initiale est déterminée par les cellules entourées.

Appliquons cette méthode à notre problème de référence. Le tableau detransport initial est :

Destinations O reOrigines 1 2 3

1 25 17 16 3502 24 18 14 550

Demande 300 300 300 900

Tableau 9.4 : Tableau de transport initial

Pour des raisons pratiques dues à l’utilisation d’un traitement de texte,nous utiliserons les notations suivantes pour la suite de ce travail :

Page 263: Optimisation appliquée (statistique et probabilitiés appliquées)

9.7. Recherche de la solution réalisable de base initiale 253

• à gauche d’une ligne ou en haut d’une colonne pour montrer quecette ligne ou cette colonne a été éliminée ;

• pour montrer qu’une cellule (p; q) fait partie de la base ;

• pour mettre en évidence la nouvelle valeur de ap ou bq.

Étape 1 La cellule (p; q) choisie est la cellule (2 ;3) dont le coût (14) est leplus petit de l’ensemble du tableau.

Étape 2 Calculons x23, a2 et b3.

x23 = min{550; 300} = 300

a2 = a2 x23 = 550 300 = 250

b3 = b3 x23 = 300 300 = 0

Étape 3 Comme a2 = 250 et b3 = 0, il faut éliminer la colonne 3.

Étape 4 Il reste deux lignes (1 et 2) et deux colonnes (1 et 2), il faut doncchoisir un nouvel xpq qui entrera à son tour dans la solution réalisable debase initiale.Rédigeons d’abord le tableau après cette première itération.

Destinations O reOrigines 1 2 3

1 25 17 16 350

2 24 18 14 550300 250

Demande 300 300 300 9000

Tableau 9.5 : Tableau après la première itération

Reprenons nos calculs à l’étape (1) avec un tableau réduit aux lignes 1 et2 et aux colonnes 1 et 2.

Étape 1 Le coût minimum sur ce tableau est 17, soit celui de la cellule (1;2) ; on va donc initialiser x12.

Étape 2

Page 264: Optimisation appliquée (statistique et probabilitiés appliquées)

254 Problème de transport

x12 = min{a1; b2} = min{350; 300} = 300a1 = a1 x12 = 350 300 = 50b2 = b2 x12 = 300 300 = 0

Destinations O reOrigines 1 2 3

1 25 17 16 350300 50

2 24 18 14 550300 250

Demande 300 300 300 9000 0

Tableau 9.6 : Tableau après l’étape 2

Étape 3 a1 = 50 et b2 = 0, il faut donc éliminer la colonne 2. Comme ilreste deux lignes et une colonne, nous n’avons pas terminé, nous cherchonsalors le troisième xpq à entrer dans la base.

Étape 1 Le coût minimum sur la ligne 1, la ligne 2 et la colonne 1 est 24,soit le coût de la cellule (2 ;1).

Étape 2

x21 = min{a2; b1} = min{250; 300} = 250a2 = a2 x21 = 250 250 = 0b1 = b1 x21 = 300 250 = 50

Étape 3 a2 = 0 et b1 = 50, on élimine donc la ligne 2.

Étape 4 Il reste une ligne (1) et une colonne (1), il faut donc procéder à unequatrième itération.

Page 265: Optimisation appliquée (statistique et probabilitiés appliquées)

9.7. Recherche de la solution réalisable de base initiale 255

Destinations O reOrigines 1 2 3

1 25 17 16 350300 50

2 24 18 14 550250 300 0

Demande 300 300 300 90050 0 0

Tableau 9.7 : Tableau après la troisième itération

Étape 1 Le seul xpq qui peut encore entrer dans la base est x11.

Étape 2

x11 = min{a1; b1} = min{50; 50} = 50a1 = a1 x11 = 50 50 = 0b1 = b1 x11 = 50 50 = 0

Étape 3 a1 = 0 et b1 = 0, la ligne 1 est la dernière des lignes, on éliminedonc la colonne 1.

Étape 4 Il ne reste que la ligne 1, nous avons donc terminé !

Destinations O reOrigines 1 2 3

1 25 17 16 35050 300 0

2 24 18 14 550250 300 0

Demande 300 300 300 9000 0 0

Tableau 9.8 : Tableau après la quatrième itération

À l’aide de cet exemple, nous pouvons vérifier les a rmations formuléesprécédemment. Tout d’abord, en raison de la redondance, on trouve une

Page 266: Optimisation appliquée (statistique et probabilitiés appliquées)

256 Problème de transport

solution réalisable de base initiale avec (m+n 1) variables, ici 2+3 1 = 4.Ensuite, à chaque itération, une seule contrainte est satisfaite, ce qui sevoit facilement sur le tableau. La dernière contrainte est automatiquementsatisfaite à la dernière itération ; donc, si après la quatrième itération l’unedes origines ou des destinations avait eu une valeur non-nulle, cela auraitsignifié qu’il n’existe pas de solution réalisable.Nous pouvons maintenant calculer le coût de transport total de ce plan

d’expédition :

z =n

j=1

m

i=1

cijxij = 25(50) + 17(300) + 24(250) + 14(300)

= 16 550

Il ne s’agit pas encore du coût minimum ; il sera déterminé lors de larecherche de la solution réalisable optimale.

• Méthode du coin nord-ouest (Northwest Corner Rule)

De même que la méthode que nous verrons plus loin, cette méthode ne dif-fère de la précédente que par le critère appliqué à l’étape (1), exposée ici,les étapes (2), (3) et (4) restant les mêmes. Nous présenterons les calculscomplets des di érentes itérations, ainsi que les tableaux obtenus. De cettemanière, le lecteur pourra juger des di érences entre chacune des méthodes.

Étape 1 Localiser la cellule (p; q) qui se trouve dans le coin nord-ouest, c’est-à-dire en haut à gauche, de la partie non-éliminée du tableau de transport.

Voyons immédiatement à l’aide de notre exemple quels sont les résultatsobtenus. Nous repartons du tableau initial.

Destinations O reOrigines 1 2 3

1 25 17 16 3502 24 18 14 550

Demande 300 300 300 900

Tableau 9.9 : Tableau initial

Page 267: Optimisation appliquée (statistique et probabilitiés appliquées)

9.7. Recherche de la solution réalisable de base initiale 257

Étape 1 Le tableau restant se compose de deux lignes et de trois colonnes ;son coin nord-ouest est la cellule (1 ;1), x11 entre donc dans la base.

Étape 2

x11 = min{a1; b1} = min{350; 300} = 300a1 = a1 x11 = 350 300 = 50b1 = b1 x11 = 300 300 = 0

Étape 3 a1 = 50 et b1 = 0, on élimine donc la colonne 1.

Étape 4 Il nous reste deux lignes et deux colonnes, nous n’avons donc pasterminé.

Destinations O reOrigines 1 2 3

1 25 17 16 350300 50

2 24 18 14 550

Demande 300 300 300 9000

Tableau 9.10 : Tableau après la première itération

Étape 1 Le tableau restant se compose des lignes 1 et 2 ainsi que des colonnes2 et 3 ; son coin nord-ouest est donc le cellule (1 ;2).

Étape 2

x12 = min{a1; b2} = min{50; 300} = 50a1 = a1 x12 = 50 50 = 0b2 = b2 x12 = 300 50 = 250

Étape 3 a1 = 0 et b2 = 250, on élimine donc la ligne 1.

Étape 4 Il reste une ligne et deux colonnes, il faut donc reprendre la dé-marche à l’étape (1) afin d’opérer une troisième itération.

Page 268: Optimisation appliquée (statistique et probabilitiés appliquées)

258 Problème de transport

Destinations O reOrigines 1 2 3

1 25 17 16 350300 50 0

2 24 18 14 550

Demande 300 300 300 9000 250

Tableau 9.11 : Tableau après la deuxième itération

Étape 1 Le tableau est maintenant constitué des colonnes 2 et 3 et de laligne 2, son coin nord-ouest est donc la cellule (2 ;2).

Page 269: Optimisation appliquée (statistique et probabilitiés appliquées)

9.7. Recherche de la solution réalisable de base initiale 259

Étape 2

x22 = min{a2; b2} = min{550; 250} = 250a2 = a2 x22 = 550 250 = 300b2 = b2 x22 = 250 250 = 0

Étape 3 a2 = 300 et b2 = 0, on élimine donc la colonne 2.

Étape 4 Comme il reste une ligne et une colonne, une quatrième itérationest nécessaire.

Destinations O reOrigines 1 2 3

1 25 17 16 350300 50 0

2 24 18 14 550250 300

Demande 300 300 300 9000 0

Tableau 9.12 : Tableau après la troisième itération

Étape 1 Il ne reste que la ligne 2 et la colonne 3, donc le coin nord-ouestest la cellule (2 ;3).

Étape 2

x23 = min{a2; b3} = min{300; 300} = 300a2 = a2 x23 = 300 300 = 0b3 = b3 x23 = 300 300 = 0

Étape 3 a2 = 0 et b3 = 0, la ligne 2 est la dernière ligne, on élimine donc lacolonne 3.

Étape 4 Il ne reste que la ligne 2, la solution réalisable de base initiale esttrouvée.

Page 270: Optimisation appliquée (statistique et probabilitiés appliquées)

260 Problème de transport

Destinations O reOrigines 1 2 3

1 25 17 16 350300 50 0

2 24 18 14 550250 300 0

Demande 300 300 300 9000 0 0

Tableau 9.13 : Tableau après la quatrième itération

Nous pouvons calculer le coût de transport total de ce plan d’expédition:

z = 25(300) + 17(50) + 18(250) + 14(300) = 17 050

On voit tout de suite que la solution trouvée n’est pas optimale. En e et,le coût total de ce plan de transport est plus élevé que celui trouvé à l’aidede la méthode de la matrice minimale, qui était de 16 550.

• Méthode de Vogel (Vogel’s Approximation Method)

Cette méthode est assez proche de celle dite de la matrice minimale, maiselle est un peu plus élaborée.Le critère de choix de xpq est en apparence un peu plus compliqué, mais

il est par contre e cace. Le reste de la démarche ne change pas comme nousl’avions déjà signalé ci-dessus. Ce critère est le suivant :

pour chaque ligne (i = 1, . . . ,m) restant dans le tableau, trouver dansdes colonnes non éliminées le plus petit coût et le second plus petit ; calculerleur di érence. Procéder de même pour les colonnes.

On choisit ensuite la cellule (p; q), dont le coût est minimum dans la ligneou la colonne déterminée par une di érence de coûts maximum.Si des lignes ou des colonnes ont une di érence de coûts égale, alors on

choisit la ligne ou la colonne en utilisant l’ordre de préférence suivant :

Page 271: Optimisation appliquée (statistique et probabilitiés appliquées)

9.7. Recherche de la solution réalisable de base initiale 261

ligne 1, ligne 2,. . ., ligne m, colonne 1, colonne 2,. . ., colonne n.

Voyons, itération par itération, les résultats obtenus pour notreexemple. Comme précédemment nous présenterons des tableaux à chacunedes itérations, en repartant comme il se doit d’un tableau vide.

Destinations O reOrigines 1 2 3

1 25 17 16 3502 24 18 14 550

Demande 300 300 300 900

Tableau 9.14 : Tableau initial

Étape 1 Pour la ligne 1, les deux coûts les plus bas sont 16 et 17, leurdi érence est 1.Pour la ligne 2, on prend 14 et 18, la di érence est 4.Pour la colonne 1, la di érence est 1.Pour la colonne 2, la di érence est 1.Pour la colonne 3, la di érence est 2.La di érence maximale est celle de la ligne 2 (elle est égale à 4), on

cherche donc sur la ligne 2 quel est le coût minimal. Il s’agit de 14, c23.Alors xpq = x23.

Étape 2

x23 = min{a2; b3} = min{550; 300} = 300a2 = a2 x23 = 550 300 = 250b3 = b3 x23 = 300 300 = 0

Étape 3 a2 = 250 et b3 = 0, il faut donc éliminer la colonne 3.

Étape 4 Il reste deux lignes (1 et 2) et deux colonnes (1 et 2), il faut doncchoisir un nouveau xpq qui entrera à son tour dans la solution réalisable debase initiale.

Page 272: Optimisation appliquée (statistique et probabilitiés appliquées)

262 Problème de transport

Destinations O reOrigines 1 2 3

1 25 17 16 350

2 24 18 14 550300 250

Demande 300 300 300 9000

Tableau 9.15 : Tableau après la première itération

Reprenons donc nos calculs à l’étape (1) avec un tableau réduit aux lignes1 et 2 et aux colonnes 1 et 2.

Étape 1 La di érence maximale est obtenue pour la ligne 1 ; elle est égaleà 8. Le coût minimum de cette ligne est 17, celui de la cellule (1 ;2) ; on vadonc initialiser x12.

Étape 2

x12 = min{a1; b2} = min{350; 300} = 300a1 = a1 x12 = 350 300 = 50b2 = b2 x12 = 300 300 = 0

Destinations O reOrigines 1 2 3

1 25 17 16 350300 50

2 24 18 14 550300 250

Demande 300 300 300 9000 0

Tableau 9.16 : Tableau après la deuxième itération

Étape 3 a1 = 50 et b2 = 0, il faut donc éliminer la colonne 2.

Étape 4 Comme il reste deux lignes et une colonne, nous n’avons pas ter-miné, on cherche alors le troisième xpq à entrer dans la base.

Page 273: Optimisation appliquée (statistique et probabilitiés appliquées)

9.7. Recherche de la solution réalisable de base initiale 263

On revient à l’étape 1 pour la troisième itération.

Étape 1 xpq = x11 entre dans la base, car la di érence de la première ligneest 25, celle de la deuxième ligne 24 et celle de la première colonne 1.

Étape 2

x11 = min{a1; b1} = min{50; 300} = 50a1 = a1 x11 = 50 50 = 0b1 = b1 x11 = 300 50 = 250

Étape 3 a1 = 0 et b1 = 250, on élimine donc la ligne 1.

Étape 4 Il reste la ligne 2 et la colonne 1, une quatrième itération estnécessaire.

Destinations O reOrigines 1 2 3

1 25 17 16 35050 300 0

2 24 18 14 550300 250

Demande 300 300 300 900250 0 0

Tableau 9.17 : Tableau après la troisième itération

On revient à l’étape 1 par la quatrième itération.

Étape 1 Il ne reste que la cellule (2 ;1) qui se trouve à la fois sur une ligneet une colonne non-éliminées.

Étape 2

x21 = min{a2; b1} = min{250; 250} = 250a2 = a2 x21 = 250 250 = 0b1 = b1 x21 = 250 250 = 0

Page 274: Optimisation appliquée (statistique et probabilitiés appliquées)

264 Problème de transport

Étape 3 a2 = 0 et b1 = 0, on élimine donc la colonne 1, puisque la ligne 2est la dernière des lignes.

Étape 4 Il reste une ligne (2), nous avons donc terminé.

Destinations O reOrigines 1 2 3

1 25 17 16 35050 300 0

2 24 18 14 550250 300 0

Demande 300 300 300 9000 0 0

Tableau 9.18 : Tableau après la quatrième itération

Nous pouvons maintenant calculer le coût de transport total de ce pland’expédition :

z =n

j=1

m

i=1

cijxij

= 25(50) + 17(300) + 24(250) + 14(300) = 16 550

On obtient par hasard la même solution réalisable de base initiale qu’avecla première méthode proposée. Ceci est à considérer comme une exceptiondue aux dimensions réduites du problème choisi comme exemple.

9.8 Remarques

Les trois méthodes exposées ci-dessus sont équivalentes. Cependant, les ré-sultats obtenus ne le sont pas. La méthode du coin nord-ouest est celle quidemande le moins de temps pour trouver la solution réalisable de base ini-tiale, car son critère de choix à l’étape (1) est très simple. En revanche, ellene donne en général pas une “bonne” solution de départ ; le coût total duplan de transport généré étant assez éloigné de l’optimum. On le remarquedéjà pour notre petit problème.

Page 275: Optimisation appliquée (statistique et probabilitiés appliquées)

9.9. Optimisation de la solution 265

Les deux autres méthodes exigent davantage de temps de calcul, leurétape (1) étant plus longue. En revanche, elles donnent de meilleurs résultats.Le surcroît de temps nécessaire pour trouver la solution réalisable de baseinitiale est compensé par la suite, car on arrive plus rapidement à la solutionoptimale. On considère que la méthode Vogel donne les meilleurs résultats.

9.9 Optimisation de la solution

Nous allons maintenant étudier un algorithme permettant de trouver la so-lution réalisable de base optimale. Cet algorithme utilise la propriété desboucles.

• Algorithme Stepping Stone

Comme dans la méthode du simplexe, il s’agit de faire entrer un nouvelélément, représenté par sa cellule (p; r), dans le tableau, c’est-à-dire dans labase, et d’en faire sortir un autre.

À partir de la solution réalisable de base initiale que nous avons obtenuepar la méthode de la matrice minimale, essayons de voir quel e et l’intro-duction de la cellule (2 ;2), puis de la cellule (1 ;3) dans la base peut avoirsur la fonction objectif. La quantité de marchandises “expédiée” pour cettecellule sera représentée par la lettre s.

En partant du tableau final obtenu par la méthode de la matrice minimale(tableau 9.8), on introduit une nouvelle cellule avec un montant s. Il faudrafaire les corrections suivantes sur la base initiale en parcourant la boucle (lesens de parcours peut se choisir de manière arbitraire) : soustraire s à lacellule adjacente sur la boucle ; additionner s à la cellule suivante sur laboucle. Continuer ainsi alternativement jusqu’à la fin de la boucle.

Représentons sur un tableau simplifié l’introduction de la cellule (2 ;2).

Page 276: Optimisation appliquée (statistique et probabilitiés appliquées)

266 Problème de transport

Destinations O reOrigines 1 2 3

1 25 17 16 35050 + s 300 s

2 24 18 14 550250 s s 300

Demande 300 300 300 900

Tableau 9.19 : Introduction de la cellule (2 ;2)

Notons que toutes ces opérations ne changent en rien les montants disponiblesaux origines ni les montants demandés aux destinations. Il est évident ques doit être positif, donc les expressions 250 s et 300 s doivent, toutesdeux, être non-négatives. Ainsi, l’éventail des valeurs possibles pour s est0 s 250.Voyons l’e et obtenu sur la fonction objectif ; z avait auparavant la valeur

suivante :z = 25(50) + 17(300) + 24(250) + 14(300)

Il vaut maintenant :

z = 25(50 + s) + 17(300 s) + 24(250 s) + 14(300) + 18s

La di érence est donc :

18s 24s+ 25s 17s = +2s

Ainsi, comme s > 0, z augmentera de 2s ; on n’améliore pas la solutioninitiale en introduisant la cellule (2 ;2) dans la base.Reprenons le même raisonnement pour l’introduction de la cellule (1 ;3)

dans la base.

Destinations O reOrigines 1 2 3

1 25 17 16 35050-s 300 s

2 24 18 14 550250+s 300-s

Demande 300 300 300 900

Tableau 9.20 : Introduction de la cellule (1 ;3)

Page 277: Optimisation appliquée (statistique et probabilitiés appliquées)

9.9. Optimisation de la solution 267

Les valeurs possibles pour s sont 0 s 50.L’e et sur z est 16s 25s+ 24s 14s = s.Il n’est pas non plus optimal d’introduire la cellule (1 ;3) dans la base.

Avant de formaliser ce que nous venons de voir, rappelons-nous briève-ment la notion de boucle, vue précédemment dans la section (9.5).Une boucle est définie par les deux critères suivants :

(a) deux cellules consécutives doivent se trouver soit sur la mêmeligne, soit sur la même colonne,

(b) trois cellules consécutives ne doivent pas se trouver dans la mêmeligne ou la même colonne.

De plus, la solution réalisable de base ne forme jamais une boucle ; il fautintroduire une nouvelle cellule, qui, elle, permettra de former une boucle avecau moins trois cellules de base.

Définition 9.2 La valeur d’une boucle, ou évaluation d’une cellule, est déter-minée de la façon suivante :soit B(p; q) la boucle unique formée lorsque la cellule (p; q) est introduite

dans la base. En partant de (p; q), dans l’une ou l’autre des directions, nousparcourons la boucle en nommant alternativement les cellules soit recevantes,soit cédantes, le tout en considérant (p; q), comme cellule recevante. La valeurde B(p; q), notée v(p; q) est obtenue en additionnant les coûts des cellulesrecevantes et en soustrayant les coûts des cellules cédantes.

Dans notre exemple, la boucle associée à la cellule (2 ;2) est formée parles cellules (2 ;2), (2 ;1), (1 ;1) et (1 ;2). Elles sont nommées alternativement,recevante, cédante, recevante, cédante.Ainsi la valeur de cette boucle est :

v(2; 2) = c22 c21 + c11 c12 = 18 24 + 25 17 = 2

Lorsqu’il faudra choisir les cellules candidates pour entrer dans la base, onsélectionnera celles dont la valeur de boucle associée est négative. Ensuite,on peut appliquer une démarche analogue à celle de la phase 2 du simplexe,à savoir choisir la cellule associée à la valeur de la boucle la plus négative.Voyons maintenant la méthode à suivre pour opérer le changement de

base. Les seuls changements à faire concernent les cellules de la base inclusesdans la boucle avec la cellule candidate sélectionnée.

Page 278: Optimisation appliquée (statistique et probabilitiés appliquées)

268 Problème de transport

Soit xpq, le montant à déterminer pour la cellule (p; q) entrant dans labase, xij les montants des cellules dans la base avant le changement et xij lesmontants après le changement de base.

Voici la méthode pour faire entrer une cellule candidate:

(a) xpq = min xij des cellules cédantes de la boucle associée à (p; q);

(b) pour les cellules recevantes xij = xij + xpq,pour les cellules cédantes xij = xij xpq;

(c) la cellule (p; q) est introduite dans la base et la cellule (i; j) cédanteavec xij minimum est sortie de la base.

Définition 9.3 Un problème de transport est dit non dégénéré si pour toutesolution réalisable de base nous avons xij > 0 pour les m+ n 1 cellules dela base correspondante.

Le théorème 9.3 est à la base de l’algorithme Stepping Stone.

Théorème 9.3 Supposons qu’une solution réalisable de base d’un problèmede transport est telle que les valeurs de boucle associée à toutes les celluleshors de la base sont non-négatives. Alors la solution réalisable de base estoptimale.

Il est possible d’exprimer ce théorème di éremment.

Théorème 9.4 Soit une solution réalisable de base donnée d’un problèmede transport non dégénéré. Supposons que pour l’une des cellules hors de labase, la valeur de boucle soit négative. Alors l’introduction d’une telle celluledans la base permettra de former une nouvelle solution réalisable de base,pour laquelle le coût total de transport sera inférieur à celui de la solutionactuelle, qui n’est donc pas optimale.

Nous disposons maintenant de tous les éléments nécessaires pour formulerl’algorithme Stepping Stone.

Étape 1 Établir le tableau de transport initial.

Étape 2 Utiliser l’une des méthodes de calcul vues dans la section 9.7, pourobtenir une solution réalisable de base initiale.

Étape 3 Calculer les valeurs de boucles associées aux cellules hors de la base.

Page 279: Optimisation appliquée (statistique et probabilitiés appliquées)

9.9. Optimisation de la solution 269

(a) Si toutes ces valeurs sont non-négatives, la procédure est achevée,la solution réalisable de base courante est optimale.

(b) Si, pour une cellule hors de la base, on obtient une valeur de bouclenégative, celle-ci est candidate pour entrer dans la base ; passeralors à la phase 4.

Étape 4 Introduire une cellule candidate (p; q) dans la base à l’aide de laméthode d’entrée. Reprendre ensuite à l’étape 3.

Appliquons cet algorithme à notre exemple.

Étape 1

Destinations O reOrigines 1 2 3

1 25 17 16 3502 24 18 14 550

Demande 300 300 300 900

Tableau 9.21 : Tableau de transport initial

Étape 2 À l’aide de la méthode du coin nord-ouest, nous avions obtenu lasolution réalisable de base initiale suivante :

Destinations O reOrigines 1 2 3

1 25 17 16 350300 50 (3)

2 24 18 14 550(-2) 250 300

Demande 300 300 300 900

Tableau 9.22 : Solution réalisable de base initiale

Étape 3 Calculons maintenant les valeurs de boucles pour les cellules horsde la base (1 ;3) et (2 ;1).

v(1; 3) = c13 c23 + c22 c12 = 16 14 + 18 17 = 3

v(2; 1) = c21 c11 + c12 c22 = 24 25 + 17 18 = 2

Page 280: Optimisation appliquée (statistique et probabilitiés appliquées)

270 Problème de transport

Ces valeurs sont du reste reportées dans le tableau ci-dessus, à l’endroitréservé aux xij. C’est ainsi que l’on procédera lors de tout calcul fait à lamain. On remarque que v(2; 1) < 0 ; par conséquent, la solution actuellen’est pas optimale.

Étape 4 On peut améliorer la solution en faisant entrer (2 ;1) dans la base.Opérons donc le changement de base tel qu’il est décrit dans la méthoded’entrée.

(a) x21 = min{x11, x22} = min{300; 250} = 250

(b) x12 = x12 + x21 = 50 + 250 = 300x11 = x11 x21 = 300 250 = 50

x22 = x22 x21 = 250 250 = 0

(c) La cellule (2 ;1) entre dans la base ; la cellule (2 ;2) en sort.

Voici le tableau obtenu après le changement de base :

Destinations O reOrigines 1 2 3

1 25 17 16 35050 300 (1)

2 24 18 14 550250 (2) 300

Demande 300 300 300 900

Tableau 9.23 : Tableau après la première itération

Le calcul des valeurs de boucle pour (1 ;3) et (2 ;2) nous a permis d’obtenirles résultats reportés dans le tableau 9.23. On voit que v(1; 3) = 1 et v(2; 2) =2. Comme toutes deux sont non-négatives, la solution actuelle est la solutionréalisable de base optimale du problème.Une remarque concernant la boucle b(1; 3) s’impose. La cellule (1 ;2)

ne fait en aucun cas partie de cette boucle, par conséquent, il n’y a pastrois cellules consécutives sur la ligne 1, contrairement à ce que l’on pourraitcroire. Lors de la recherche d’une boucle, on peut ignorer toute cellule debase unique sur une ligne ou une colonne.Revenons à notre solution ; nous remarquons qu’elle est la même que la

solution réalisable de base initiale trouvée, soit par la méthode de la matrice

Page 281: Optimisation appliquée (statistique et probabilitiés appliquées)

9.10. Exercices 271

minimale, soit par la méthode Vogel, pour lesquelles z = 16 550. Ceci montre,sur ce petit problème, que ces deux méthodes sont plus e caces que celle ducoin nord-ouest. Il est bien clair que pour des problèmes plus grands quecelui envisagé ici, ni la méthode de la matrice minimale, ni la méthode Vogelne donnent directement la solution réalisable de base optimale.

9.10 Exercices

1. Trouver la solution réalisable de base initiale du problème donné ci-dessous par son tableau à l’aide des trois méthodes exposées (matriceminimale, coin nord-ouest et Vogel) et comparer les résultats.

Destinations O reOrigines 1 2 3

1 26 23 10 612 14 13 21 493 16 17 29 90

Demande 52 68 80

2. Optimiser la solution réalisable de base donnée par la méthode du coinnord-ouest dans l’exercice 1.

3. Dire si la solution donnée dans le tableau ci-dessous est optimale.

Destinations O reOrigines 1 2 3

1 11 10 23 500400 100

2 22 12 13 400300 100

3 9 15 8 300300

Demande 400 400 400 1200

4. Résoudre le problème de transport suivant, donné par son tableau ini-tial, en utilisant la méthode du coin nord-ouest pour trouver la solutionréalisable de base initiale et l’algorithme de Stepping Stone pour cal-culer la solution réalisable de base optimale.

Page 282: Optimisation appliquée (statistique et probabilitiés appliquées)

272 Problème de transport

Destinations O reOrigines 1 2 3

1 12 9 7 3502 15 22 21 4003 23 17 11 220

Demande 500 300 170 970

5. Résoudre le problème suivant donné sous forme matricielle en utilisantla méthode de votre choix.

Minimiser z = c xsous contraintes Ax = b

et x 0

c = (4; 3; 9; 10; 2; 7; 6; 8; 11; 9; 7; 5; 4; 6; 8; 12; 11; 5; 7; 9)m = 4, n = 5 et

b =

120180200250100200150170130

Page 283: Optimisation appliquée (statistique et probabilitiés appliquées)

9.10. Exercices 273

KANTOROVICH Leonid Vitalyevich (1912-1986)Leonid V. Kantorovich obtint son doctorat en mathématiques à l’Universitéde Leningrad en 1930, à l’âge de 18 ans. Il devint professeur dans cettemême université en 1934, un poste qu’il occupa jusqu’en 1960. De 1961 à1971, il dirigea le département de mathématiques et d’économie de la branchesibérienne de l’Académie Soviétique des Sciences, puis de 1971 à 1976, lelaboratoire de recherche de l’Institut de Planification économique nationaleà Moscou.Kantorovich recevit en 1975 le prix Nobel d’économie pour ses travaux

sur l’allocation optimale des ressources rares.Il fut un pionnier de l’utilisation de la programmation linéaire dans la

planification économique et développa, dès 1939, un modèle de program-mation linéaire pour démontrer comment la décentralisation de la prise dedécision dans un système d’économie planifiée dépend de la relative raretédes ressources.

Page 284: Optimisation appliquée (statistique et probabilitiés appliquées)
Page 285: Optimisation appliquée (statistique et probabilitiés appliquées)

Chapitre 10

Épilogue

10.1 Historique

Pendant la Seconde Guerre mondiale, des équipes de chercheurs anglais, etplus tard américains, ont rencontré de nombreux problèmes de programma-tion linéaire liés au domaine militaire (même s’ils n’étaient pas reconnuscomme tels). Peu après la guerre, l’U.S. Air Force a réuni un groupe de sa-vants afin d’enquêter sur l’application possible des techniques mathématiquesaux problèmes de programmation militaires portant sur le budget et la plani-fication. La logique militaire était un domaine de recherche particulièrementimportant. George Dantzig, membre de ce groupe de recherche, avait déjàproposé que les relations entre les activités d’une grande organisation soientconsidérées comme modèle de programmation linéaire et que le programme,ou solution, optimal soit déterminé en minimisant une seule fonction objec-tif linéaire. Ses idées ont conduit l’Air Force à créer une équipe baptiséeSCOOP (Scientific Computation Of Optimum Programs), qui a commencéson travail en juin 1947. La même année, Dantzig et ses collègues avaientdéveloppé non seulement un modèle mathématique initial du problème deprogrammation linéaire générale, mais également une méthode générale derésolution de programme linéaire, qui fut désignée sous le nom de méthodedu simplexe.L’intérêt pour la programmation linéaire s’est rapidement répandu chez

les mathématiciens, les économistes, les chercheurs et le personnel des or-ganisations gouvernementales. Durant l’été 1949, soit deux ans seulementaprès le développement de la méthode du simplexe, une conférence sur la

275

Page 286: Optimisation appliquée (statistique et probabilitiés appliquées)

276 Épilogue

programmation linéaire fut organisée sous le parrainage de la Cowles, laCommission de Recherche en Économie. Les articles présentés lors de cetteconférence furent publiés dans le texte ”Activity Analysis of Production andAllocation”.Les premières applications de la programmation linéaire concernèrent

principalement trois domaines:1) le secteur militaire (tel le projet SCOOP),2) l’économie inter-industrielle selon le modèle input-output de Leontief, 3)les relations entre la programmation linéaire et les jeux à somme nulle et àdeux personnes.Plus récemment, l’accent a été mis sur les problèmes rencontrés dans

les domaines de l’environnement, des transports, de l’énergie, des servicessociaux et de l’industrie en général.Le développement de la programmation linéaire, en particulier de la méth-

ode du simplexe, constituait “un grand pas” dans sa représentation de mod-èles et dans sa capacité à résoudre les problèmes. Cependant, la program-mation n’aurait peut-être reçu que très peu d’attention si elle ne s’était pasdéveloppée à une période très favorable. En 1946, l’ordinateur digital àgrande échelle était une réalité pratique à l’Université de Pennsylvanie, soità peine un an avant le développement de la méthode du simplexe. Sans l’ordi-nateur digital, cette méthode n’aurait eu qu’un intérêt purement académique.La méthode du simplexe ne comptent que quelques étape qui exigent les

opérations mathématiques les plus simples - des opérations qu’un ordinateurdigital peut facilement réaliser. La seule di culté inhérente à cette méthodeest d’ordre pratique : bien que les étapes soient simples et faciles, elles doiventêtre répétées de nombreuses fois avant d’obtenir une réponse. C’est cetterépétition qui empêche toute résolution à la main (à part pour les petitsproblèmes). Cependant, l’ordinateur digital peut facilement et e cacementmener à bien ce processus répétitif, de ce fait la méthode du simplexe etl’ordinateur digital constituent un moyen pratique de résoudre maints grandsproblèmes quotidiens.La première résolution d’un problème de programmation linéaire a eu lieu

en janvier 1952 sur l’ordinateur du Bureau National de Standards SEAC. En1953, des ordinateurs étaient disponibles sur le marché. Dans le même temps,journaux et magazines populaires commencèrent à populariser l’extrême e -cacité de ce nouveau système. Aujourd’hui, presque tous les ordinateurs sontéquipés de systèmes de programmation linéaire.Après le développement de l’algorithme du simplexe de Dantzig, beau-

Page 287: Optimisation appliquée (statistique et probabilitiés appliquées)

10.1. Historique 277

coup de chercheurs ont estimé qu’on ne pourrait pas aller plus loin dans leproblème de programmation linéaire générale. Pourtant, d’autres analystesont découvert une procédure plus e cace au niveau du calcul. Ceux-ci se sontprobablement inspirés du travail de Klee et Minty (1972) qui ont montré, àl’aide d’un exemple volontairement complexe, que l’algorithme du simplexepeut impliquer une croissance exponentielle en temps “de calcul”. Par con-séquent, les chercheurs se sont à nouveau intéressés au développement d’unalgorithme à temps polynômial. Il faut insister sur le fait que l’intérêt deces algorithmes polynômiaux est d’abord d’ordre académique car, dans lapratique, l’algorithme du simplexe implique un temps polynômial de calculassez bas.

En 1979, un candidat au doctorat soviétique, L.-G. Khachian (ou Khachiyan)présenta le développement d’un véritable algorithme à temps polynômialpour la programmation linéaire. L’écho de cette découverte fut considérable,au point que l’algorithme fit la couverture du New York Times (le 27 novem-bre 1979), ainsi que de plusieurs autres journaux. L’algorithme de Khachianétait non seulement salué comme le remplaçant potentiel de l’algorithme dusimplexe, mais certains pensaient également qu’il allait bientôt permettre derésoudre des problèmes de calcul di ciles avec des fonctions non-linéairesaussi bien que des variables entières.

En 1984 Karmarkar se penche sur les méthodes de points intérieurs etdécouvre un algorithme en temps polynômial. Son travail donne un véritableélan à la recherche d’algorithmes pour la programmation linéaire. C’est alorsqu’est née toute une famille d’algorithmes dits de points intérieurs. Cetype d’algorithmes permet de résoudre des problèmes d’optimisation linéaireet non-linéaire. Contrairement à la méthode du simplexe qui procède de som-mets (points extrêmes, voir chapitres précédents) en sommets d’un polyèdre,les méthodes de points intérieurs s’intéressent à l’intérieur des domaines réal-isables. En partant d’une région (su samment grande) contenant l’ensembledes solutions, il s’agit de rétrécir ce domaine pour cibler la solution. Ainsi,pas après pas, le domaine réalisable se restreint jusqu’à se réduire à un voisi-nage arbitrairement petit de la solution.

L’algorithme de Khachian (1979) et l’algorithme de Karmarkar (1984)furent les pionniers de ces nouvelles méthodes à temps polynômial de calcul.Un nouvel avenir se présenta alors à la programmation mathématique.

L’objectif de ce chapitre est de donner un bref résumé de l’algorithmede Shor et Khachian, connu sous le nom de algorithme de l’ellipsoïde (AE),

Page 288: Optimisation appliquée (statistique et probabilitiés appliquées)

278 Épilogue

ainsi que de présenter une version de l’algorithme de Karmarkar spécialementétudiée pour les problèmes linéaires.

10.2 Algorithme de Khachian

Il est important de savoir que la méthode du simplexe n’est pas la seule ap-proche possible lorsque l’on traite de problèmes complexes de programmationmathématique. Une alternative à la méthode du simplexe est l’algorithme del’ellipsoïde, introduit et développé par les mathématiciens soviétiques Shor(en 1977), Khachian (en 1979), ainsi que par d’autres mathématiciens (Yudin,Nemirorskii). Sa principale caractéristique consiste à procèder non pas d’unpolyhèdre convexe à un autre, mais de se concentrer sur la solution finaledepuis l’extérieur vers un ellipsoïde qui contient au moins un point de larégion réalisable.L’un des principaux avantages de l’AE est de converger vers une solution

en un temps polynômial (la méthode du simplexe y parvient en un tempsexponentiel seulement). Par exemple, on imagine que le nombre de calculs(et donc le temps de calcul par ordinateur) dépend d’un paramètre L duproblème. Un algorithme de temps polynômial exigerait peut-être L2 étapesau plus. Pour L = 100, l’ordinateur aurait seulement besoin d’une fraction deseconde. Cependant, un algorithme de temps exponentiel comme la méthodedu simplexe aurait besoin de 2L étapes et nécessiterait théoriquement unmillier d’années pour résoudre le même problème.Nous présentons une brève description de la théorie fondamentale, l’algo-

rithme lui-même et son interprétation graphique.L’exploration des propriétés numériques et graphiques de l’AE sur une

machine à calculer programmable ou sur un ordinateur et une comparaisonavec la méthode du simplexe seraient pédagogiquement très utile. Une courtebibliographie concernant l’AE est ajoutée pour faciliter cette tâche.Formellement, la programmation linéaire (PL) est le problème suivant :

1. soit une matrice A de nombre entier m × n, un vecteur b à m com-posantes et un vecteur c à n composantes,

2. trouver un vecteur rationnel x à n composantes pour que x 0,Ax =b et c x soit minimalisé, ou bien

Page 289: Optimisation appliquée (statistique et probabilitiés appliquées)

10.2. Algorithme de Khachian 279

3. trouver qu’il n’y a pas de vecteur x à n composantes tel que x 0 etAx = b, ou bien

4. trouver que l’ensemble {c x | Ax = b,x 0} n’a pas de limite in-férieure.

Considérons maintenant le problème des inégalités linéaires (IL), qui sontdéfinies comme suit :soit une matrice A de nombre entier m × n et un vecteur b à m com-

posantes. Existe-t-il un vecteur x à n composantes tel que Ax b ?Pour faciliter les choses, on suppose que dans les inégalités et program-

mations linéaires qui vont suivre, m n, ceci n’étant pas une restrictionréelle, mais uniquement pratique.Il se trouve que IL est presque aussi di cile que PL, au moins en ce qui

concerne l’existence des algorithmes de temps polynômial. Pour établir ceci,nous avons besoin de préliminaires.Nous commençons par introduire une technique de programmation très

commune qui s’appelle la recherche binaire. Supposons que nous voulionsdéterminer un entier inconnu x entre 1 et B en nous posant des questionsdu genre : “Est-ce que x > a ?” pour le a de notre choix. Nous faisonsceci en nous demandant d’abord si x se trouve dans la moitié inférieure ousupérieure de l’intervalle [1, B], puis dans la moitié inférieure ou supérieuredu nouvel intervalle (plus petit d’un facteur de 2), et ainsi de suite, jusqu’à ceque l’intervalle dans lequel on est certain de trouver x contienne seulementun entier : x. Ceci arrivera après [log2B] itérations. De telles questionspeuvent être définies comme le nombre de fois où B doit être divisé par 2pour obtenir un nombre égal à 1. Cela se produira après log2B questions.L’exemple suivant illustre le procédé :Questions pour x Réponses Intervalles des valeurs possibles

1 . . . 32x est-il > 16 non 1...16x est-il > 8 oui 9...16x est-il > 12 non 9...12x est-il > 10 oui 11 12x est-il > 11 non x = 11Nous résumons ce résultat en vue de son utilisation future comme suit :un entier x entre 1 et B peut être déterminé par [log2B] questions de la

forme : “Est-ce que x > a ?”.

Page 290: Optimisation appliquée (statistique et probabilitiés appliquées)

280 Épilogue

10.2.1 L’algorithme de la méthode de Khachian pourIL

L’idée principale de l’algorithme est très simple : il procède par itérations.Durant tout le processus, nous conservons une ellipse qui contient une solu-tion au système d’inéquations linéaires strictes, si une telle solution existe.Une itération consiste à remplacer l’ellipse courante par une autre plus petite,dans laquelle on est sûr de conserver la solution, si elle existe. Graphique-ment, cela se traduit de la façon suivante. Nous traçons un hyperplan par-allèle à celui de la contrainte violée choisie et qui passe par le centre. Nousmarquons les points d’intersections avec l’ellipse. Nous fixons alors le centrede la nouvelle ellipse tel que celle-ci passe par ces intersections et par un pointqui est le point de tangence entre l’ancienne ellipse et un autre hyperplanparallèle à celui de la contrainte violée considérée. Nous avons ainsi tracé laplus petite ellipse possible contenant encore une solution.Après un nombre su sant d’itérations, nous devons, soit découvrir une

solution, soit admettre qu’il n’y en a pas, car l’ellipse est devenue trop petitepour en contenir encore une.Considérons un ensemble réalisable X défini par un système d’inégalités

linéaires m 2 (contraintes) dans des variables réelles n 2 et des coe -cients entiers aij , bj :

ai1x1 + ...+ ainxn bi i = 1, 2, ...,m

Notons que x = (x1, ..., xn), b = (b1, ..., bm) pour que, dans une notationde matrices X = {x |Ax b}, où A = (aij), est une matrice m × n. Soitai = (ai1, ..., ain) qui dénote la i ème ligne de A pour que la i ème inégalitépuisse être écrite comme:

aix bi i = 1, 2, ...,m

Certains mathématiciens insistent sur le fait que les inégalités ci-dessusdoivent être prises au sens large, pour assurer que le volume de X soit nonnul (ni un point, ni une ligne).L’AE doit déterminer si le système d’inégalités X est consistant (c’est-

à-dire s’il a une solution réalisable) ou non, rien de plus. Notons qu’aucunefonction objectif n’est présente et, donc, qu’aucune optimisation dirigée n’alieu. Pour appliquer l’AE avec succès à un problème de programmation

Page 291: Optimisation appliquée (statistique et probabilitiés appliquées)

10.2. Algorithme de Khachian 281

linéaire, on doit le transformer en un problème de point réalisable. Nousretrouverons ce problème plus tard.L’algorithme est le suivant :

1. une large hypersphère contenant une région réalisable X est construite.Une borne inférieure positive du volume de X est déterminée a priori.

2. une séquence d’ellipsoïdes avec des volumes progressivement plus petitsest générée récursivement. Si le centre d’un ellipsoïde est réalisable(c’est-à-dire se trouve dans X), l’algorithme se termine.

3. plus on va de l’avant en termes d’itérations, plus le volume de l’ellip-soïde rapetisse par rapport à la borne inférieure du volume X. Il existealors une borne supérieure pour le nombre d’itération ; un ellipsoïdedont le centre est contenu dans X doit être généré ou alors il n’existepas de solution (notons que si X a un volume nul, par exemple unpoint, la propriété de terminaison bornée est perdue).

Le paramètre majeur du système X d’inégalités est défini comme suit :

L =i,j

log2(|aij|+ 1) +i

log2(|bi|+ 1) + log2 nm + 1

où L caractérise l’input du système et indique le nombre de symboles 0 et1 qui sont nécessaires pour écrire les inégalités dans le système de nombrebinaire. Les bornes de calcul de l’AE sont polynômialement dépendantes deL.Puisque la consistance et l’inconsistance (c’est-à dire la solubilité ou l’in-

solubilité) deX sont à déterminer, on doit établir une mesure d’inconsistancequi caractérise les étapes avant d’arriver à une solution. Le “résidu” du sys-tème au point x dans IRn est défini comme :

(x) = maxi{ai1x1 + ...+ ainxn bi} i = 1, 2, ...m

Notons que le résidu identifie simplement la contrainte qui est violée par laplus grande somme au point x. Nous aimerions minimiser un écart égalementmaximal restant dans le système. Il est évident que si x = xk est une solution,alors (xk) 0. En réalité, si le résidu minimum tend vers zéro au moins,l’algorithme se termine ; le point correspondant x doit être une solution.

Page 292: Optimisation appliquée (statistique et probabilitiés appliquées)

282 Épilogue

Si le résidu minimum reste toujours positif après N = 16n2L itérations, lesystème est inconsistant.Khachian démontre que si le système X avec l’input L est consistant,

alors on peut trouver une solution xk dans l’hypersphère euclidienne S :

S = {x (x21 + ...+ x2n)1/2 2L}

Donc, S est l’ellipsoïde initial. De plus, si le système X avec l’input L estinconsistant, alors pour n’importe quel x dans IRn, le résidu (x) 2 ·2 L .Pour décider si le système est consistant ou non, il su t de trouver un pointx dans IRn pour que (x) S+2

L . Le scalaire S est le résidu minimumde toute l’hypersphère initiale S. Soit (x) 2 L (c’est-à-dire que S estnul ou négatif) et le système est consistant, ou bien (x) 2 · 2 L et lesystème est inconsistant.L’algorithme, qui consistue également la preuve des données ci-dessus, est

construit pour trouver le point nécessaire x.Définissons récursivement une séquence de points xk (centre de l’ellip-

soïde) et de matrices Ak , k = 0, 1, ..., N comme suit :

1. posons x0 = 0 etA0 = 2LI (A0 est une matrice diagonale n×n avec des

éléments 2L, et I est une matrice unitaire). Ceci définit l’ellipsoïde dedépart E0 (x0,A0). Observons que E0 coïncide avec l’hypersphèreinitiale S de centre x0. Calculons 0 = max

i{ bi}, la grandeur du

résidu au centre de l’hypersphère.

2. supposons que l’ellipsoïde Ek (xk,Ak) soit défini. Évaluons le résidu(xk) au centre deEk. Le résidu minimum obtenu jusqu’ici est à retenir

en posant k+1 = min{ k , (xk)}. C’est-à-dire que k+1 est la valeurminimale du résidu dans les approximations déjà obtenues x0, ...,xk.(Il faut noter que le centre de l’ellipsoïde précédent peut être arbitraire-ment proche d’un point réalisable, alors que le prochain centre peut enêtre plus éloigné.)

3. si xk satisfait les inégalités, s’arrêter. Sinon, choisir l’inégalité la plusviolée selon (xk), par exemple le i ème :

aixk > bi

et construire un nouvel ellipsoïde Ek+1 (xk+1,Ak+1). Le nouvelellipsoïde contient entièrement le demi-ellipsoïde 1/2Ek dans lequel le

Page 293: Optimisation appliquée (statistique et probabilitiés appliquées)

10.2. Algorithme de Khachian 283

résidu (x) est certainement plus petit que (xk). C’est-à-dire quenous définissons un hyperplan aix = d , d < aixk , qui est tangent àEk, et un hyperplan parallèle aix = aix

k qui coupe Ek. Alors Ek+1est obtenu en calculant :

xk+1 = xk1

n+ 1·

Akai(aiAkai)

1/2

Ak+1 =n2

n2 1Ak 2

n+ 1·(Akai)(aiAk)

aiAkai

4. répéter l’étape no3 tant que k < 16n2L ; si k = 16n2L, alors s’arrêter.Le plus petit résidu minimal n+1 est l’output.

Khachian a également montré que N+1 S + 2L. Il s’ensuit que :

N+1 2 L (le système est consistant)

ou bienN+1 2 · 2 L (le système est inconsistant).

Considérons un programme linéaire :

Min z = cx

s.c. Ax b

x 0

Sa grandeur est :L = mn+ log2 |P |

où P est le produit des coe cients non-nuls arrondis apparaissant dans lamatrice A , les vecteurs b et c.L’algorithme pour les systèmes d’inéquations linéaires strictes est :- input : un système (m× n) d’inéquations linéaires strictes Ax < b, de

grandeur L.- output : un vecteur xn tel que Ax < b, si un tel vecteur existe, une

réponse négative en d’autres cas.

1. (initialisation) j = 0, t0 = 0, B0 = n222LI

j représente le nombre d’itérations. L’ellipse courante est :Ej = {x|(x tj)Bj(x tj) < 1}

Page 294: Optimisation appliquée (statistique et probabilitiés appliquées)

284 Épilogue

2. (test) si tj est solution de Ax < b, donner tj ; si j > k = 16(n+1)nL,arrêter la procédure.

3. (itération) choix d’une inéquation de Ax < b violée par tj, par ex-emple a tj > b.

Calculer :

tj+1 = tj1n+1

Bja

(a Bja)12

Bj+1 = n2

n2 1Bj

2n+1

(Bja) (Bja)aBja

Exemple 10.1 Supposons que pour un j quelconque, nous ayons tj=(0,0),et :

Bj =9 00 4

Supposons également que l’une des inéquations soit x + y < 1. Cettesituation est dépeinte dans la figure 11.1. Rappelons que nous savons intu-itivement que la solution au système, si elle existe, est contenue dans l’ellipseEj.

Puisque toute solution doit satisfaire x+ y < 1, nous pouvons a rmerque toutes les solutions se trouvent dans la partie inférieure gauche de l’el-lipse. Si nous pouvions dessiner une ellipse Ej+1 qui incluerait cette partieinférieure gauche, ce serait un pas en avant.

C’est exactement ce que fait l’itération (voir figures 11.1 et 11.2). Nousobtenons tj+1 = ( 3/(13)0.5 4/3(13)0.5) et :

Bj =84/13 32/1332/13 496/117

Nous venons de considérer une version simple de l’algorithme de l’AEpour IL. Cette version est de Papadimitriou et Steiglitz (1982).

Page 295: Optimisation appliquée (statistique et probabilitiés appliquées)

10.2. Algorithme de Khachian 285

Figure 11.1 : Ellipsoïde à la j eme itération

Figure 11.2 : Ellipsoïde à l’itération suivante.

10.2.2 Interprétation graphique

Il est préférable de présenter quelques exemples graphiques du procédé. Lafigure 10.3 montre un petit polyhèdre X convexe. Nous espérons trouver aumoins un point réalisable. Nous commençons par enfermer le polyhèdre dansune grande hypersphère centrée en x0 = 0. Évaluons le résidu au centre et

Page 296: Optimisation appliquée (statistique et probabilitiés appliquées)

286 Épilogue

identifions la contrainte la plus violée. Dessinons un hyperplan parallèle quipasse par le centre et marquons les points d’intersection avec l’hypersphèreA et B. Éliminons la demi-sphère qui contient seulement les résidus les plusgrands. Un autre hyperplan parallèle est tangent à l’autre demi-sphère quimarque le point C. Fixons le centre du nouvel ellipsoïde pour qu’il passepar les points A, B et C. Son volume correspond au minimum possible.Construire le nouvel ellipsoïde.Dans la figure 11.4, le procédé continue. Une fois le centre du nouvel el-

lispoïde trouvé dans le polyhèdre, on arrête. Le centre représente la solution.

Figure 11.3 : L’algorithme commence avec une large hypersphère initialecentrée en x0 = 0. Le rapport de volume des ellipsoïdes successifs estinitialement grand (l’hypersphère initiale n’est pas dessinée à l’échelle).

Murray (1979) propose une modification utile de l’AE. La contrainte laplus violée est identifiée et l’hyperplan aix = bi coupe l’ellipsoïde aux pointsA et B. Un hyperplan tangentiel et parallèle marque le point C. Seule lasubdivision extraite de l’ellipsoïde est maintenant entourée par l’ellipsoïdedu plus petit volume, et qui passe par A, B et C. Ceci est montré dans lafigure 10.5.L’avantage de la modification de Murray est que le rapport du volume du

nouvel ellipsoïde comparé à l’autre ellipsoïde a été largement amélioré. Enplus, le centre xk+1 est toujours réalisable à l’égard de la contrainte violéechoisie au kieme pas. Évidemment, beaucoup d’autres modifications sont

Page 297: Optimisation appliquée (statistique et probabilitiés appliquées)

10.2. Algorithme de Khachian 287

possibles. La flexibilité et les di érentes possibilités o ertes par les méthodesellipsoïdales génèrent l’intérêt grandissant des chercheurs dans ce domaine.

Figure 11.4 : Suite de la figure 11.3. On observe que x2, le centre dutroisième ellipsoïde, se trouve dans X ; x2 représente la solution et

l’algorithme s’arrête.

Figure 11.5 : La modification de Murray. On observe la rapidité relative deX. Les rapports des volumes des ellipsoïdes successifs sont beaucoup plus

petits. La solution est obtenue à l’étape suivante en calculant x4.

Page 298: Optimisation appliquée (statistique et probabilitiés appliquées)

288 Épilogue

10.2.3 L’algorithme de Shor-Khachian en programma-tion linéaire

Nous avons dit que l’AE ne peut pas être appliqué à la programmation linéairesans transformer le problème en un problème de point réalisable. La méthodesuivante est basée sur les résultats bien connus de la théorie de la dualité.Voir à ce propos Gàcs et Loràsz (1979).Considérons le problème de programation linéaire suivant :

Maximiser c xs.c. Ax b

x 0

où c = (c1, ..., cn)

Ce problème est identique au système d’inégalités suivant :

c x = b yAx b

x 0

A y c

y 0

où y = (y1, ..., yn). Rappelons que pour n’importe quelle solution (x, y)de ce système, x constitue une solution optimale pour le problème de max-imisation original.Malheureusement, l’AE ne peut pas être simplement appliqué au prob-

lème transformé. Comme Murray (1979) l’a remarqué, n’importe quelletransformation d’un programme linéaire en un problème de point réalisableunique élimine inévitablement une région réalisable de volume zéro. La méth-ode du simplexe est davantage adaptée à ce genre de formulation. On peutégalement formuler un problème de point réalisable dans lequel la région réal-isable est une hypersphère de petit volume choisie au hasard et qui contientle point solution. Mais même un volume aussi petit nécessite un nombred’itérations assez élevé.Il faut donc procéder à d’autres recherches. L’AE ne dépend pas du nom-

bre de contraintes mais du nombre de variables. Même les problèmes com-prenant un nombre élevé de contraintes pourraient être résolus de manière as-sez e cace. De plus, les inégalités linéaires pourraient également être traitéespar la méthode ellipsoïdale.

Page 299: Optimisation appliquée (statistique et probabilitiés appliquées)

10.2. Algorithme de Khachian 289

Il existe une importante catégorie de problèmes de programmation linéairepour laquelle une solution est caractérisée par un ensemble réalisable devolume nul. Rappelons qu’en programmation “goal”, on prédétermine lesvaleurs considérées comme satisfaisantes à l’égard de toutes les fonctions ob-jectif. En e et, on transforme toute fonction objectif en contraintes addition-nelles et on définit une région de solutions réalisables qui soit satisfaisante.Si on trouve une solution réalisable, on peut réduire à nouveau la région enréajustant les “goals” à des niveaux plus apropriés. L’algorithme est alorsà nouveau appliqué. Si le système est inconsistant, c’est-à-dire si la régionsatisfaisante est vide, on peut abaisser les “goals” jusqu’à ce qu’une régionréalisable de volume non nul soit trouvée. Une version interactive de l’AEpourrait être utilisée pour guider ce processus de recherche.

Exemple 10.2 Considérons le programme linéaire suivant afin de montrerle fonctionnement de notre algorithme. Soit le système suivant :

Max z = x1 + 2x2s.c. x1 + 5x2 10

5x1 + 2x2 15x1, x2 0

L’algorithme de Khachian minimise toujours la fonction objectif. Lescontraintes doivent donc être du type pour l’algorithme lui-même.

Min z = x1 2x2s.c. x1 + 5x2 10

5x1 + 2x2 15x1, x2 0

Si les contraintes de positivité sont nécessaires, elles seront satisfaitesavant les contraintes usuelles. C’est pourquoi nous en arrivons à :

Min z = x1 2x2s.c. x1 0

x2 0x1 + 5x2 105x1 + 2x2 15

Page 300: Optimisation appliquée (statistique et probabilitiés appliquées)

290 Épilogue

Afin de pouvoir utiliser un ordinateur pour les calculs, on va normaliserle problème de la façon suivante.On considère L comme une constante (=10). De ce fait, il faut adapter

chaque programme linéaire. Le programme calcule un coe cient de manièreà normaliser chaque programme linéaire et d’obtenir la valeur 10 pour laconstante L.Dans notre exemple, le nombre des variables est 2 et le nombre des con-

traintes est 4. Pour trouver le facteur de normalisation, nous avons donc:

exp10Ln2

2 · 4= 2, 378

Multiplication des éléments non nuls (10 éléments)=15,000.

Facteur de normalisation =15, 000

2, 378

1/10

= 2, 398

Limite de l’itération = 16 · 2 · 3 · 2 = 192On divise tous les éléments du système (10.4) par 2,398. On a alors :

minimiser z = 0, 417x1 0, 834x2s.c. 0, 417x1 0

0, 417x2 00, 417x1 +2, 085x2 4, 1702, 085x1 +0, 834x2 6, 255

• Initialisation

B0 = n2 · 22L · I = 22 · 220 ·

1 00 1

=4194304 00 4194304

• Itération 1

j = 1,contrainte 1 violée car 0<0.gradient de la contrainte 1

Page 301: Optimisation appliquée (statistique et probabilitiés appliquées)

10.2. Algorithme de Khachian 291

a = 0, 417 0

t1 = t01

n+ 1

B0a

a B0a

=00

1

3

4194304 00 4194304

0.4170

0, 417 04194304 00 4194304

0, 4170

=682, 660

et la nouvelle matrice

B1 =n2

n2 1B0

2

n+ 1

(B0a)(B0a)

a B0a

=4

3

4194304 00 4194304

2

3

1749024, 7690

0 1749024, 769

0, 417 04194304 00 4194304

0, 4170

=1864135 00 1864135

• Itération 2

j = 2

contrainte 2 violée car 0 < 0.

gradient de la contrainte 2

a = 0 0, 417

t2 =682, 66788, 27

B=2485513, 33 0

0 2485513, 33

• Itération 3

j = 3

contrainte 3 violée car 1927, 71 < 4, 17

gradient de la contrainte 3

Page 302: Optimisation appliquée (statistique et probabilitiés appliquées)

292 Épilogue

t3 =0, 4172, 085

B3 =3229042, 96 424874, 08424874, 08 1189647, 34

On continue jusqu’aux deux dernières itérations.

• Itération 163

j = 163

contrainte 4 violée

gradient de la contrainte 163

t163 =2, 0850, 834

B163 =4, 98E 8 4, 72E 93, 07E 8 7, 84E 9

• Itération 164

j = 164

contrainte 3 violéegradient de la contrainte 164

t164 =0, 4172, 085

B164 =2, 49E 8 1, 53E 94, 58E 8 9, 91E 9

Puisque les coe cients de la matrice B164 sont au maximum, la fonctionobjectif est choisie. Donc on obtient :

x1 = 2, 39x2 = 1, 52

et la valeur pour la fonction objectif est z = 5, 43.

Page 303: Optimisation appliquée (statistique et probabilitiés appliquées)

10.2. Algorithme de Khachian 293

Figure 11.6 : Début des itérations

Les figures 11.6, 11.7 et 11.8 montrent le début, le milieu et la fin desitérations pour l’exemple donné.

Figure 11.7 : Après plusieurs itérations

Page 304: Optimisation appliquée (statistique et probabilitiés appliquées)

294 Épilogue

Figure 11.8 : Fin des itérations

10.3 Algorithme de Karmarkar

Quelques années après les travaux de Khachian sur l’algorithme des ellip-soïdes (1979), Karmarkar s’intéresse aux méthodes de points intérieurs (1984).Il démontre alors que grâce à son algorithme il peut résoudre des problèmesde programmation linéaire et non-linéaire en un temps polynômial. C’estalors que ces méthodes deviennent compétitives face à l’algorithme du sim-plexe de Dantzig (qui n’est pas polynômial comme l’ont démontré Klee etMinty en 1972).L’algorithme de Karmarkar suivant s’applique aux problèmes linéaires.

La définition d’une fonction positivement homogène (le potentiel de Kar-markar) et la minimisation de ce potentiel nous permettent alors de résoudrele programme linéaire original.La version simplifiée résumée ci-dessous donne une idée de cet algorithme.On peut transformer tout programme linéaire (à l’aide d’un changement

de variables) sous la forme :

Minimiser z = cxs.c. Ax = 0

x1 + x2 + ...+ xn = 1x 0

Page 305: Optimisation appliquée (statistique et probabilitiés appliquées)

10.3. Algorithme de Karmarkar 295

Le potentiel de Karmarkar est alors défini de la façon suivante :

f (x) =n

j=1

ln cxxj

De plus, on suppose que le point (1/n, ..., 1/n) satisfait les contraintes.L’algorithme se présente comme suit :

1. on part du point x0 = (1/n, ..., 1/n) et on pose k = 0 ;

2. si cxk est arbitrairement petit (c’est-à-dire que cxk < pour fixé),alors on stoppe la procédure sinon on passe à l’étape suivante ;

3. il s’agit de trouver le nouveau point yk+1 = yk+11 , ..., yk+1n donné par:

yk+1 = (1/n, ..., 1/n) cpcp n(n 1)

où cp = (I P (PP ) 1 P ) Diag(xk) c , où . indique la normed’un vecteur et où P est la (m+ 1)× n matrice dont les m premièreslignes sont A Diag(xk) et dont les dernières lignes sont des vecteurscomposés uniquement de 1.

et où 0 < < 1 est choisi de façon à assurer la convergence. ( = 1/4fait converger notre expression.)

4. on définit alors le nouveau point xk+1 comme suit :

xk+1j =xkj y

k+1j

n

r=1

xkryk+1r

j = 1, ..., n

5. on augmente k de 1 et on reprend à partir de l’étape 2.

Le potentiel de Karmarkar intervient ici à l’étape 2. En e et Karmarkarmontre que si le potentiel évalué en xk est assez petit, alors z = cxk seraarbitrairement proche de 0. D’où l’intérêt de minimiser ce potentiel.

Page 306: Optimisation appliquée (statistique et probabilitiés appliquées)

296 Épilogue

Exemple 10.3 Résolvons le problème suivant :

Minimiser z = x1 + 3x2 3x3s.c. x2 x3 = 0

x1 + x2 + x3 = 1xi 0

On trouve facilement la solution optimale : x1 = 0, x2 = x3 =12qui

donne z = 0.Pour notre algorithme on a :m = 3, n = 1, = 0, 25A = 0 1 1c = 1 3 3On pose alors x0 = 1

313

13 qui nous fournit z = 1

3.

On obtient P =0 1

313

1 1 1, cp = 2

919

19

et donc y1 = x1 = 14

38

38

qui donne z = 14.

Remarque : On a toujours y1 = x1 mais pas yk = xk pour (k = 1) engénéral.À la deuxième itération on trouve :y2 = y1 et x2 = 0, 1818 0, 4091 0, 4091 qui donne z = 0, 1818À la quatrième itération on trouve :y4 = y1 et x4 = 0, 0899 0, 4551 0, 4551 qui donne z = 0, 0899À la dixième itération on trouve :y10 = y1 et x10 = 0, 0086 0, 4957 0, 4957 qui donne z = 0, 0086.z est assez petit, on peut stopper la procédure. On obtient ainsi une

bonne approximation de notre solution

10.4 Conclusion

Évaluer la résolution de PL en utilisant les algorithmes de points intérieurs,implique deux critères majeurs : les exigences de mémoire et la durée duprocédé de l’algorithme. Sous sa forme présente, l’algorithme semble moinsperformant que la méthode du simplexe dans les deux domaines. Par ex-emple, considérons un PL de taille moyenne comportant 2 000 variables et300 contraintes. Un problème de cette taille n’est pas complexe si on le ré-soud avec la méthode du simplexe. En revanche, l’algorithme de Khachian

Page 307: Optimisation appliquée (statistique et probabilitiés appliquées)

10.4. Conclusion 297

nécessiterait une matrice Q de dimension 2 300 par 2 300 ainsi qu’environ84,64 (L) million d’itérations, où L est donné par l’équation (10.1) et estévidemment un très grand nombre.L’élément le plus important lorsqu’il s’agit d’appliquer l’algorithme en

pratique est d’améliorer le procédé permettant de choisir des valeurs pourx0 et r. Réduire le volume de la sphère initiale limite en général le nombred’itérations nécessaires, particulièrement lorsque l’ensemble solution est unseul point comme dans le cas de la plupart de PL.Depuis la publication du rapport de Karmarkar en 1984, la recherche

dans le domaine de la programmation mathématique a connu un nouvel élan.Entre 1984 et 1989 plus de 1 300 publications sur le sujet ont vu le jour. Lesméthodes de points intérieurs ont tendance à nécessiter moins d’itérationsque les algorithmes du simplexe bien que chaque itération soit plus longue.

Page 308: Optimisation appliquée (statistique et probabilitiés appliquées)
Page 309: Optimisation appliquée (statistique et probabilitiés appliquées)

Chapitre 11

Solutions des exercices

11.1 Chapitre 2

Exercise 1 Exercice

a. Le produit AB est bien défini.

AB =113

Le produit BA n’est pas défini car B n’a pas le même nombre decolonnes que A de lignes.

b. AB =27 19 2842 49 5673 50 84

et BA =19 22 295 10 846 60 131

c. AB et BA ne sont pas définis.

Exercice 2

A 1 =

110

15

1

15

115

1

35

815

3

299

Page 310: Optimisation appliquée (statistique et probabilitiés appliquées)

300 Solutions des exercices

Exercice 3

r (A) = 2, r (B) = 1, r (C) = 3

Exercice 4

a. v1+ v2+ v3 = 0 correspond au système d’équation linéaires suivant:

+ = 0+ = 0

= 0

dont la seule solution est = = = 0. Les vecteurs v1, v2 et v3sont donc linéairement indépendants.

b. Avec = 1, = 1 et = 2, v1 + v2 + v3 = 0. Les vecteursv1, v2 et v3 sont donc linéairement dépendants.

Exercice 5

• r (A) = r (A |b) = 2. Le système est donc compatible.

• Il a une infinité de solutions car r (A) = r (A |b) m (nombre d’équa-tions, ici m = 2) et r (A |b) n (nombre de variables, ici n = 3).

• En prenant comme base :

B0 =1 22 3

on a x0 =22

et x3 = 0

Avec

B1 =1 12 5

on a x1 =

203

143

et x2 = 0

Avec

B2 =2 13 5

Page 311: Optimisation appliquée (statistique et probabilitiés appliquées)

11.1. Chapitre 2 301

on a x2 =

2013

1413

et x1 = 0

On note que ces trois solutions de base sont non-dégénérées, car aucunevariable de base n’est nulle.

Exercice 6

X1X2 = x|x =24

+ (1 )61

= 0 x = (6, 1)

= 14x = (5, 7

4)

= 12x = (4, 5

2)

= 34x = (3, 13

4)

= 1 x = (2, 4)

Exercice 7

a. Convexe

b. Convexe

c. Non convexe

Exercice 8

• On a:M = (3, 1) = 1(0, 0) + 2(6, 0) + 3(3, 3)

avec1 + 2 + 3 = 1

Page 312: Optimisation appliquée (statistique et probabilitiés appliquées)

302 Solutions des exercices

Ce qui revient à résoudre le système d’équations linéaires suivant:

1 = 1 + 2 + 3

3 = 6 2 + 3 3

1 = 3 3

D’où 1 = 2 = 3 =13

• M = 13(6, 0) + 1

3(3, 3)

Exercice 9

• M = 268, 218

Exercice 0

a.

b.

Page 313: Optimisation appliquée (statistique et probabilitiés appliquées)

11.2. Chapitre 3 303

c.

d.

11.2 Chapitre 3

Exercice

y = 10

x = 20

Exercice 2

La solution proposée utilise ici le Solveur du logiciel Excel.

Page 314: Optimisation appliquée (statistique et probabilitiés appliquées)

304 Solutions des exercices

a.

Soit x1 = 50, x2 = 100 et x3 = 250. Avec V = 4 000 et R = 50.

b.

Soit x1 = 125, x2 = 150 et x3 = 125. Avec V = 6 000, le risque estdonc plus élevé que lorsqu’il n’y a pas de contrainte sur le rendement.

Page 315: Optimisation appliquée (statistique et probabilitiés appliquées)

11.2. Chapitre 3 305

Exercice 3

a. K = L = 4, Q = 16 et le profit correspondant est de 64.-

b.i. Formulation du problème :

Il faut maximiser : Q(K,L) = 8K3

8L1

8

sous la contrainte : 8Q 12K 4L = 48

c’est-à-dire : 64K3

8L1

8 12K 4L 48 = 0

b.ii. Calcul de la combinaison optimale des facteurs :

F (K,L, ) = 8K3

8L1

8 64K3

8L1

8 12K 4L 48

FK

= 3K5

8L1

8 24 K5

8L1

8 + 12 = 0FL

= K3

8L7

8 8 K3

8L7

8 + 4 = 0F = 64K

3

8L1

8 12K 4L 48 = 0

= =3K

5

8L1

8

24K5

8L1

8 12=

K3

8L7

8

8K3

8L7

8 4

= 24K1

4L3

4 12K5

8L1

8 = 24K1

4L3

4 12K3

8L7

8

= K5

8L1

8 = K3

8L7

8

=L

K5=K3

L7

= L8 = K8

= L = K

b.iii. K = L = 9 et Q = 24

Exercice 4

K = 10, L = 40, PK = 3

Exercice 5

x = y = 0, 5

Page 316: Optimisation appliquée (statistique et probabilitiés appliquées)

306 Solutions des exercices

Exercice 6

a. recette totale = 8q2 + 120q 2I2 + 4Iq 400

b. q = 10, I = 10 pour un profit maximal de = 200.

c.

=2

q2(10, 10) ·

2

I2(10, 10)

2

I q(10, 10)

2

= 48 > 0

et2

q2< 0

= Il s’agit bien d’un maximum.

Exercice 7

a. x = 5, y = 10, z = 5

b. x = 5, y = 12, z = 4

Exercice 8

x = 5, y = 5, z = 0

Exercice 9

K = L = 16, le coût total et de 96.Exercice 0

Maximum en x = y = 32

Minimum en x = y = 32

Exercice

f(x, y) = x2 + y2 10x 12y + 151 à minimiser

f

x= 2x 10 = 0 x = 5

f

y= 2y 12 = 0 y = 6

Page 317: Optimisation appliquée (statistique et probabilitiés appliquées)

11.3. Chapitre 4 307

x = 5, y = 6, CT = 902f

x2= 2,

2f

y2= 2,

2f

x y= 0

H =2 00 2

|H| =2f

x2·

2f

y2

2f

x y

2

= 4 > 0

= min en (5; 6)

Exercice 2

x = 6, y = 9 et U = 612

11.3 Chapitre 4

Exercice

Maximum au point P (1, 2; 1, 6) pour z = 7, 2

Page 318: Optimisation appliquée (statistique et probabilitiés appliquées)

308 Solutions des exercices

Exercice 2

Minimum au point P (2, 3) avec z = 8

Exercice 3

Solution infinie avec une valeur infinie de z.

Page 319: Optimisation appliquée (statistique et probabilitiés appliquées)

11.3. Chapitre 4 309

Exercice 4

Contraintes Point Contrôle z1,2,3 (0,120,40) oui 5601,2,4 (75,0,100) oui 6501,2,5 (-50,200,0) non -1,3,4 (0,0,400) non -1,3,5 (0,133.3,0) oui 4001,4,5 (100,0,0) oui 2002,3,4 (0,0,100) oui 5002,3,5 (0,200,0) non -2,4,5 pas de sol. - -3,4,5 (0,0,0) oui 0

Le maximum est donc atteint en x1 = 75, x2 = 0, x3 = 100 et z = 650

Exercice 5Contraintes Point Contrôle z1,2,3 (0,1260,240) oui 4261,2,4 (700,0,800) oui 4401,2,5 (-300,1800,0) non -1,3,4 (0,0,3600) non -1,3,5 (0,1350,0) oui 4051,4,5 (900,0,0) oui 3602,3,4 (0,0,800) oui 1602,3,5 (0,1800,0) non -2,4,5 pas de sol. - -3,4,5 (0,0,0) oui 0

Le maximum est donc atteint en x1 = 700, x2 = 0, x3 = 800 et z = 440

Exercice 6

Page 320: Optimisation appliquée (statistique et probabilitiés appliquées)

310 Solutions des exercices

Le tailleur maximise son profit en P (407, 1107) et réalise un profit z =

1271, 40.

Exercice 7

Le prix du mélange est minimisé en P (20, 8) et revient à 25,60CHF

Exercice 8

Le profit maximum de 2466,65 CHF est atteint en P (403, 1103).

11.4 Chapitre 5

Exercice

x1 = 7 x2 = 10 z = 17

Page 321: Optimisation appliquée (statistique et probabilitiés appliquées)

11.4. Chapitre 5 311

Exercice 2

Formulation du problème:

Maximiser z = 250x1 + 45x2sous contraintes x1 + 0, 2x1 72

150x1 + 25x2 10 000x1 50x2 200

et x1, x2 0

Solution:x1 = 40 x2 = 160 z = 17200

Exercice 3

Formulation du problème:

Minimiser z = 2x1 + x2sous contraintes x1 + 2x2 2

4x1 + 3x2 63x1 + x2 3

et x1, x2 0

Solution : x1 = 0, 6 x2 = 1, 2 z = 2, 4

Exercice 4

Formulation du problème:

Maximiser z = 5 000x1 + 2 000x2sous contraintes 2x1 + x2 50

x1 + 3x2 253x1 + 4x2 60

et x1, x2 0

Solution: x1 = 20 x2 = 0 z = 10 000

Exercice 5

Formulation du problème:

Minimiser z = 100x1 + 400x2sous contraintes x1 + x2 6

x1 + 2x2 11x1 + 5x2 23

et x1, x2 0

Page 322: Optimisation appliquée (statistique et probabilitiés appliquées)

312 Solutions des exercices

Solution: x1 = 3 x2 = 4 z = 1 900

Exercice 6

Il existe une infinité de solutions optimales pourvu que z = x+ y = 5.

Exercice 7

Formulation du problème:

Maximiser z = 10x1 + 6x2 + 12x3sous contraintes 5x1 + x2 + x3 1

x1 + x2 + 3x3 2et x1, x2, x3 0

Solution: x1 = 0 x2 = 0, 5 x3 = 0, 5 z = 9

Exercice 8

x1 = 20 x2 = 0 z = 100

Page 323: Optimisation appliquée (statistique et probabilitiés appliquées)

11.4. Chapitre 5 313

Exercice 9

x1 = 0 x2 = 125 x3 = 1 500 z = 6 000

Exercice 0

y1 = 0 y2 =23y3 =

23z = 4

3

Exercice

Formulation du problème:

Maximiser z = 2x1 + 1, 5x2sous contraintes 2x1 + x1 1 000

x1 + x2 800x1 400x2 700

et x1, x2 0

Solution: x1 = 200 x2 = 600 z = 1 300

Exercice 2

Formulation du problème:

Maximiser z = 4 800C + 6 000Rsous contraintes 10C + 10R 130

16C + 24R 24030C + 90R 81015R 180

et C,R 0

Solution: C = 9 R = 4 z = 67 200

Exercice 3

Formulation du problème:

Maximiser z = 30x1 + 12x2sous contraintes 600 000x1 + 200 000x2 18 000 000

120x1 + 60x2 4 500800x1 + 600x2 42 000

et x1, x2 0

Page 324: Optimisation appliquée (statistique et probabilitiés appliquées)

314 Solutions des exercices

Solution: x1 = 12 x2 = 54 z = 1 008

Exercice 4

x1 =23x2 = 2 z = 200

3

Exercice 5

Ce système possède une infinité de solutions, tant que x1 + x2 = 1.

Exercice 6

Formulation du problème:

Minimiser z = 3, 5x1 + 6, 5x2 + 5x3sous contraintes x1 + x2 15

x1 + 2x2 + x3 200, 5x1 + 0, 5x2 + x3 10x1 + 3x2 + 2x3 25

et x1, x2, x3 0

Solution: x1 = 15, 5 x2 = 2, 5 x3 = 1 z = 75, 5

Exercice 7

Formulation du problème:

Minimiser z = 2x1 + x2 + 4x3sous contraintes 10x1 + 8x2 + 14x3 11

60x1 + 40x2 + 80x3 70x1 + x2 + x3 = 1

et x1, x2, x3 0

Solution: x1 = 0, 5 x2 = 0 x3 = 0, 5 z = 3

11.5 Chapitre 6

Exercice

(a) B 1 =1 0 12 1 20 0 1

Page 325: Optimisation appliquée (statistique et probabilitiés appliquées)

11.6. Chapitre 7 315

(b)

B 11 = EB 1 =

1 1/4 00 1/4 00 1/2 1

1 0 12 1 20 0 1

=1/2 1/4 1/21/2 1/4 1/21 1/2 0

Exercice 2

(a)

1 5 3 0 00 5 2 1 00 5 4 0 1

x0x1x2x3x4

=04060

(b) x1 = 4, x2 = 10, z = 50

Exercice 3

x1 = 2, x2 = 2, x3 = 4, z = 10

Exercice 4

x1 = 15/4, x2 = 35/4, x3 = 15/2, z = 35

Exercice 5

x1 = 2, x2 = 3, z = 5

11.6 Chapitre 7

Exercice

Min z = 10u1 + 5u2 + 6us.c. u1 1

u1 + u2 1u1 + 2u3 0

et ui 0

Page 326: Optimisation appliquée (statistique et probabilitiés appliquées)

316 Solutions des exercices

Exercice 2

Max z = 7u1 + 9u2 + 3u3 + 5u4s.c. u1 u3 = 1

u1 + u4 = 1u2 + u3 = 1u2 + u4 = 1

et ui 0

Exercice 3

x1 = 1, x2 = 4, z = 6

Exercice 4

x1 = 0, x2 = 1, z = 1

Exercice 5

Ce problème n’a pas de solution réalisable, car son dual possède unesolution infinie

Exercice 6

K = 360, L = 100 et le coût de production s’élève à 1 640.

Exercice 7

(a) x1 = 2, 5, x2 = 7, 5, x3 = 2, 5 et z = 60

(b) u1 = 4, u2 = 0, u3 = 0 et z = 60

(c) L’augmentation d’une unité de l’input 1 induit une augmentationde 4 du chi re d’a aire de l’entreprise. Toutefois, ceci n’est vraiqu’à partir de la solution trouvée en (a).

11.7 Chapitre 8

Exercice

(a) Solution optimale: x1 = 1, 2, x2 = 1, 6, et z = 7, 2

(b) z3 c3 devient négatif. L’algorithme du simplexe s’applique doncà partir de la solution précédente. La nouvelle solution optimaleest x1 = 2, x2 = 0 et z = 16.

Page 327: Optimisation appliquée (statistique et probabilitiés appliquées)

11.7. Chapitre 8 317

Exercice 2

(a) Solution optimale: p1 = 1, p2 = 4 et z = 22.

(b) Tous les zj cj sont positifs, la solution de base reste donc opti-male, mais z = 18.

Exercice 3

(a) Solution optimale: x1 = 75, x2 = 0, x3 = 100 et z = 650.

(b) La solution reste optimale, mais z = 750.

Exercice 4

(a) Solution optimlae: x1 = 2, x2 = 3 et z = 18.

(b) Calcul de la nouvelle solution:

x2x1

= xB = B1b =

1 1/31 2/3

821

=16

Comme toutes les composantes de xB sont positives, la solutionest réalisable. L’optimum est donc atteint pour x1 = 6, x2 = 1 etz = 22.

(c)

Page 328: Optimisation appliquée (statistique et probabilitiés appliquées)

318 Solutions des exercices

Exercice 5

(a) Solution de base optimale: x1 = 2, x2 = 3 et z = 28.

(b) Nouvelle solution optimale: x1 = 1, x2 = 4 et z = 24.

Exercice 6

(a) Solution de base optimale: x1 = 2, 5, x2 = 0, x3 = 3 et z = 22, 5.

(b) Nouvelle solution optimale: x1 = 0, x2 = 5, x3 = 3 et z = 25.

Exercice 7

La solution optimale apparaît au point x1 = 1, x2 = 3. Avec la modifica-tion de la deuxième contrainte, l’ensemble des solutions réalisables s’élargitet la nouvelle solution optimale se trouve au point x1 = 1, 5, x2 = 3.

Exercice 8

(a) Solution de base optimale: x1 = 10, x2 = 0 et z = 30.

(b) Avec (1) = 1, la solution de base reste optimale avec z = 20, maisn’est plus unique. x1 = 9, x2 = 2 et z = 20 est également unesolution de base optimale.

Page 329: Optimisation appliquée (statistique et probabilitiés appliquées)

11.8. Chapitre 9 319

(c) Lorsque (2) = 2, la solution de base n’est plus optimale. Lasolution x1 = 9, x2 = 2 et z = 11 reste optimale. La nouvellesolution est : x1 = 6, x2 = 5 et z = 11.

(d) Avec (3) = 2, 3, on trouve une nouvelle solution: x1 = 0, x2 = 9et z = 9. Toute nouvelle augmentation de ne modifie plus lasolution optimale.

(e)

11.8 Chapitre 9

Exercice

• Méthode de la matrice minimale:

Destinations O reOrigines 1 2 3

1 26 23 10 6161

2 14 13 21 4949

3 16 17 29 9052 19 19

Demande 52 68 80 200

Page 330: Optimisation appliquée (statistique et probabilitiés appliquées)

320 Solutions des exercices

• Méthode du coin nord-ouest:

Destinations O reOrigines 1 2 3

1 26 23 10 6152 9

2 14 13 21 4949

3 16 17 29 9010 80

Demande 52 68 80 200

• Méthode de Vogel:

Destinations O reOrigines 1 2 3

1 26 23 10 6161

2 14 13 21 4930 19

3 16 17 29 9052 38

Demande 52 68 80 200

Exercice 2

Solution optimale:Destinations O re

Origines 1 2 31 26 23 10 61

612 14 13 21 49

30 193 16 17 29 90

52 38Demande 52 68 80 200Avec z = 2 877

Page 331: Optimisation appliquée (statistique et probabilitiés appliquées)

11.8. Chapitre 9 321

Exercice 3

La solution est optimale car toutes les boucles sont non-négatives.

Exercice 4

Solution optimale:Destinations O re

Origines 1 2 31 12 9 7 350

100 2502 15 22 21 400

4003 23 17 11 220

50 170Demande 500 300 170 970Avec z = 12 170

Exercice 5

Ce problème peut être considéré comme un problème de transport représentépar le tableau suivant:

Destinations O reOrigines 1 2 3 4 5

1 4 3 9 10 2 1202 7 6 8 11 9 1803 7 5 4 6 8 2004 12 11 5 7 9 250

Demande 100 200 150 170 130 750Avec la matrice :

A =

1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 11 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 00 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 00 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 00 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 00 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

Page 332: Optimisation appliquée (statistique et probabilitiés appliquées)

322 Solutions des exercices

En choisissant la méthode de la matrice minimale pour la solution debase, on trouve comme solution optimale du problème de transport:

Destinations O reOrigines 1 2 3 4 5

1 4 3 9 10 2 12070 50

2 7 6 8 1 9 18030 150

3 7 5 4 6 8 20050 150

4 12 11 5 7 9 250170 80

Demande 100 200 150 170 130 750

Avec z = 4 250

Page 333: Optimisation appliquée (statistique et probabilitiés appliquées)

[1] Achmanov S. (1984). Programmation Linéaire. Éditions Mir, Moscou.

[2] Ahuja R.K., Magnanti T.L. and Orlin J.B. (1993). Network Flows :Theory, Algorithms and Applications. Prentice Hall, Uppe Sadle River,N.J.

[3] Allen R.G.D. (1950). Analyse mathématique et théorie économique.Presses Universitaires de France, Paris.

[4] Arthanari T.S. and Dodge Y. (1993). Mathematical Programming inStatistics. Classic Edition, John Wiley & Sons, New York.

[5] Azoulay P., Dassonville P. (1976). Recherche opérationnelle de gestion.Presses universitaires de France, Paris.

[6] Bazaraa M.S., Jarvis J.J. and Sherali H. (1990). Linear Programmingand Network Flows. John Wiley & Sons, New York.

[7] Beckmann P., (1977). A history of Pi. Golem Press, Boulder, Colorado.

[8] Blazewicz J., Ecker K.H., Pesch E., Schmidt G., Weglarz J. (1996).Scheduling Computer and Manufacturing Processes. Springer, Berlin.

[9] Chvatal V. (1983). Linear Programming. W.H. Freeman, San Fransisco.

[10] Chiang A.C. (1985). Fundamental Methods of Mathematical Economics.3rd ed. International Student edition, McGraw-Hill, Singapore.

[11] Churchman C.W., Acko R.L. and Arno E.L. (1959). Introduction toOperations Research. Wiley, New York.

323

Bibliographie

Page 334: Optimisation appliquée (statistique et probabilitiés appliquées)

324 Bibliographie

[12] Dantzig G.B. (1966). Applications et prolongements de la programmationlinéaire. Dunod, Paris.

[13] Dantzig G.B. (1951). Application of the simplex method to a transporta-tion problem. Chapter 23 in Koopmans (Ed). John Wiley and Sons, NewYork.

[14] Dantzig G.B. (1953). Computational Algorithm of the Revised SimplexMethod. The RAND Corporation, Santa Monica, California.

[15] Dantzig G.B., Orden A. and Wolfe P. (1954). Generalized SimplexMethod for Minimizing a Linear Form under Linear Inequalities Re-straints. The RAND Corporation, Santa Monica, California.

[16] Dantzig G.B. (1963). Linear Programming and Extensions. PrincetonUniversity Press, Princeton, N.J.

[17] Dantzig G.B. and Mukund N.T. (1997). Linear Programming, Introduc-tion. Springer, New York.

[18] Denardo E.V. (1982).Dynamic Programming : Models and Applications.Prentice Hall, Upper Sadle River, N.J.

[19] De Werra D. (1990). Éléments de programmation linéaire avec applica-tion aux graphes. Presses polytechniques romandes, Lausanne, Suisse.

[20] Dodge Y. (1987). Introduction à la programmation linéaire. EDES,Neuchâtel, Suisse.

[21] Dodge Y. (1993). Statistique, dictionnaire encyclopédique. Dunod, Paris.

[22] Dodge Y. (1996). Mathématiques de base pour économistes. 3e ed.Presses Académiques Neuchâtel, Neuchâtel, Suisse.

[23] Dorfmann R., Samuelson P.A., Solow R.M. (1958). Linear Programmingand Economic Analysis. McGraw-Hill, New York.

[24] Droesbeke F., Hallin M., Lefevre C. (1986). Programmation linéaire parl’exemple. Ed. Marketing, Paris.

[25] Fang S.-C. and Puthenpur S. (1993). Linear Optimization and Exten-sions Theory and Algorithms. Prentice Hall, Upper Saddle River, N.J.

Page 335: Optimisation appliquée (statistique et probabilitiés appliquées)

Bibliographie 325

[26] Faure R. (1971). Éléments de la recherche opérationnelle. 2e ed.Gauthier-Villars, Paris.

[27] Fauvel J. and Gray J. (1990). The History of Mathematics. MacMillanPress, London.

[28] Fisz M. (1967). Probability Theory and Mathematical Statistics. Thirded., Wiley, New York.

[29] Gacs P. et Lovasz L. (1979). Khachiyan’s Algorithm for Linear Program-ming. Department of Computer Science Tech. Rep. STAN-CS-79-750,Standford University, Stanford, Calif.

[30] Gale D., Kuhn H.W. and Tucker A.W. (1951). Linear Programming andthe Theory of Games. Chapter 19 in Koopmans [44].

[31] Gass S.I. (1975). Linear Programming. 4th ed. McGraw-Hill, New York.

[32] Goldman A.J. and Tucker A.W. (1956). Theory of Linear program-ming in Linear Inequalities and Related Systems. Kuhn and Tucker ed.,Princeton.

[33] Granville W.A., Smith P.F. et Longley W.R. (1989). Eléments de calculdi érentiel et intégral. 4e ed. Vuibert, Paris.

[34] Guerrien B. (1991). Algèbre linéaire pour économistes. 3e ed. Economica,Paris.

[35] Hadley G.F. (1978). Linear Programming. 6th ed. Addison-Wesley, Am-sterdam.

[36] Hammersley J.M. and Handscomb D.C. (1964). Monte-Carlo Methods.Chapman and Hall, New York.

[37] Hillier F.S. and Lieberman G.J. (1986). Introduction to Operations Re-search. 4th ed. Holden-Day, Oakland.

[38] Hogg R.V. and Craig A.T. (1965). Introduction to Mathematical Statis-tics. Second ed. The MacMillan Compagny, New York.

[39] Horst R, Pardalos P.M. and Nguyen V.T. (1995). Introduction to GlobalOptimization. Kluwer Academic Publishers, Boston.

Page 336: Optimisation appliquée (statistique et probabilitiés appliquées)

326 Bibliographie

[40] Ignizio J.P. (1982). Linear Programming in Single- & Multiple-ObjectiveSystems. Prentice-Hall, Englewood.

[41] Khachiyan L.G. (1979). A Polynomial Algorithm in Linear Program-ming. Dokl. Akad. Nauk SSSR, vol. 224, N 5, p.1 093-1 096.

[42] Klee V. and Minty G.J. (1972). How Good is the Simplex Algorithm? InInequalities III, ed. O. Shisha, Academic Press, New York.

[43] Koopmans T.C., Ed. (1957). Activity Analysis of Production and Allo-cation. John Wiley & Sons, New York.

[44] Lee A.M. (1970). Les files d’attente, théorie et applications. Dunod,Paris.

[45] Luenberger D.G. (1989). Linear and Nonlinear Programming. Addison-Wesley, Reading Mass.

[46] Martel A. (1979). Techniques et applications de la recherche opération-nelle. 2e ed. Gaëtan Morin, éditeur.

[47] Morse P.M. (1962). Markov Processes in Notes on Operations Research,assembled by Operations Research Center, the MIT Press, Cambridge.

[48] Murray W. (1979). Ellipsoidal Algorithms for Linear Programming. Sys-tems Optimization Lab. Working Pap. 79-1, Stanford University, Stan-ford, Calif.

[49] Nemhauser G.L. and Wolsey L.A. (1988). Integer and CombinatorialOptimization. John Wiley & Sons, New York.

[50] Nobert Y., Ouellet R. et Parent R. (1999). La recherche opérationnelle.2e ed. Gaëtan Morin, Montréal.

[51] Papadimitriou C.H. and Steiglitz K. (1982). Combinatorial Optimization: Algorithm and Complexity. Prentice-Hall, New York.

[52] Parker R.G. and Rardin R.L. (1988). Discrete Optimization. AcademicPress, San Diego, California.

[53] Rardin R.L. (1998). Optimization in Operations Research. Prentice-Hall,N.J.

Page 337: Optimisation appliquée (statistique et probabilitiés appliquées)

Bibliographie 327

[54] Reeves C.R. (1995). Modern Heuristic Techniques for CombinatorialProblems. McGraw-Hill, London.

[55] Rothenberg R.I. (1979). Linear Programming. North Holland, Oxford.

[56] Roure F. et Butery A. (1987). Mathématiques pour les scienceséconomiques et sociales. 3e ed. Presses Universitaires de France, Paris.

[57] Shapiro J.F. (1979). Mathematical Programming : Structures and Algo-rithms. John Wiley & Sons, New York.

[58] Shor N.Z. (1977). Cut-O Method with Space Extension in Convex Pro-gramming Problems. Kibernetika, vol. 13, pp. 94-95.

[59] Simmons D.M. (1972). Linear Programming for Operation Research.Holden-Day, San Fransisco.

[60] Sobol I.M. (1975). The Monte-Carlo Method. Mir Publishers, Moscow.

[61] Thierauf R.J. (1978). An Introductory Approach to Operations Research.John Wiley & Sons, New York.

[62] Tricot C. et Picard J.M. (1969). Ensembles et statistique. McGrawHill,Montreal.

[63] Vanderbei R.J. (1998). Linear Programming, Foundations and Exten-sions. Kluwer Academic Publishers, Boston.

[64] Von Neumann J. (1947). On a Maximization Problem. (Manuscript).Institute for Advanced Study, Princeton, New Jersey.

[65] Weber J.E. (1976). Mathematical Analysis : Business and EconomicApplications. 3rd ed. Harper & Row, Publishers.

[66] Winston W.L. (1994). Operations Research : Applications and Algo-rithms. 3rd ed. Duxbury Press, Belmont, California.

[67] Zeleny M. (1982). Multiple Criteria Decision Making. Mc Graw-Hill,New York.

Page 338: Optimisation appliquée (statistique et probabilitiés appliquées)

Index

Algorithmede Karmarkar, 342de Khachian, 326de Shor-Khachian, 336du simplexe, 137Stepping-Stone, 264

Analyse de sensibilité, 225

Basecanonique, 36d’un espace vectoriel, 35

Big M, 150Boucle, 249, 250

valeur d’une, 266

Changementde paramètrecontinu, 234ponctuel, 226

Cofacteur, 17Contrainte, 90, 111

de non-négativité, 111, 246introduction d’une, 240suppression d’une, 240

Convexecombinaison, 41ensemble, 40

Convexité, 40Critère

d’entrée dans la base, 126de sortie de la base, 127

Dépendance linéaire, 30, 250propriétés, 32

Déterminant d’une matrice, 15par les cofacteurs, 17

Demi-espacefermé, 42ouvert, 41, 42

Destination, 245Dual, 208Dualité, 205

propriétés fondamentales, 215

Ensembleconvexe, 40fondamental, 276réalisable, 4

Espace vectorielbase d’un, 35définition, 33dimension d’un, 35

Estimationd’une valeur d’intégrale, 308

Excelfeuille de calcul, 8fonctions, 10logiciel, 8solveur, 7

Extremalocaux, 53relatifs, 53

329

Page 339: Optimisation appliquée (statistique et probabilitiés appliquées)

File d’attente, 300exemple complet, 301

Fonction objectif, 5, 90Fréquence

observée, 289théorique, 289

Hyperplan, 41

Inéquationlinéaire, 42

Intégraleestimation d’une, 308

Inversed’une matrice, 18

Lagrangemultiplicateurs de, 70

Lagrangien, 70Loi

binômiale, 281de Bernoulli, 280de Poisson, 281de probabilité, 280uniforme, 282

Méthodede la matrice minimale, 251de Monte-Carlo, 298de Vogel, 259des congruencesavec mélange, 289avec retard, 287simples, 286

des deux phases, 160du big M, 150du coin nord-ouest, 256du simplexe, 111révisé, 183

Matrice(s), 11addition de, 12adjointe, 19anti-symétrique, 14augmentée, 22carrée, 12déterminant d’une, 15trace d’une, 15

déterminant d’unepar les cofacteurs, 17

des coe cients, 22des cofacteurs, 18diagonale, 15forme normale d’une, 21hessienne, 58bordée, 71

identité, 14inverse d’une, 18factorisation de l’, 184

inversible, 18multiplication de, 12multiplication par un scalaire,

12non-singulière, 19nulle, 14rang d’une, 20scalaire, 15transposée d’une, 14triangulaire, 15

Maximumabsolu, 54d’une fonction de deux variables,

56global, 54local, 53relatif, 53

Mineur principal, 59

330 Index

Page 340: Optimisation appliquée (statistique et probabilitiés appliquées)

Minimum, 2absolu, 54d’une fonction de deux variables,

56global, 2, 54local, 2, 53relatif, 53

Modificationd’un vecteur hors-base, 233de c, 226continue, 235

des contraintes, 231continue, 238

Monte Carlométhode de, 298

Multiplicateurs de Lagrange, 70

Nombre(s)aléatoire, 285pseudo-aléatoire, 286

Optimisationclassique, 2avec contrainte, 70sans contrainte, 52

sans contrainte, 2Origine, 245

Pi, 293Pivot, 139

colonne-, 139ligne-, 139

Point extrême, 41Point-selle, 57Postoptimisation, 225Primal, 208Problème de transport, 245Produit

de matrices, 12

scalaire, 30Programmation

linéaire, 5, 90avec contrainte, 247entière, 90forme canonique, 112forme standard, 114

mathématique, 4, 89non linéaire, 4

Programme linéairedual, 205

Régression linéaire simple, 65Rang d’une matrice, 20

Segment de droite, 39Simplexe

méthode du, 111, 137duale, 220procédure de calcul de la, 138

Solution(s)d’un programme linéaire, 119optimale, 119optimale infinie, 119réalisable, 119

de base, 120réalisable, 120

infinité de, 101optimale infinie, 102optimale unique, 103

Solveur, 7, 172utilisation de, 26

Stepping-Stonealgorithme, 264

Surfaceestimation d’une, 298

Systèmed’équations équivalent, 22

Index 331

Page 341: Optimisation appliquée (statistique et probabilitiés appliquées)

d’équations compatible, 23d’équations linéaires, 22de m équations à n inconnues,

25

Testd’équidistribution, 290de fréquences, 290de série, 291des permutations, 292du chi-carré, 289du coe cient de corrélation sériel,

293du collectionneur, 292du Poker, 292maximum of T, 292

Théorèmecentral-limite, 284

Trace d’une matrice, 15Transformation

de variables aléatoires, 295Transformation(s)

élémentaires, 21minimisation-maximisation, 115

Transportcoût de, 245problème de, 245non dégénéré, 267

Variablealéatoire, 276continue, 279discrète, 277

artificielle, 149d’écart, 115de base, 120entière, 5hors base, 120

introduction d’une, 239sans restriction de signe, 117suppression d’une, 239

Vecteur(s)-colonne, 30-ligne, 30élémentaire, 31colonne, 12composantes d’un, 30définition, 30des constantes, 22dimension d’un, 30ligne, 12linéairement dépendants, 31linéairement indépendants, 31longueur d’un, 30norme d’un, 30orthogonaux, 31orthonormaux, 31produit scalaire de deux, 30unitaire, 30

Voisinage d’un point, 2

33 Index2

Page 342: Optimisation appliquée (statistique et probabilitiés appliquées)

Du même auteur

Aux Éditions Springer-Verlag France

Dodge Y (1999) Premiers pas en statistique.Dodge Y (2002) Mathématiques de base pour économistes.Dodge Y (2004) Statistique – Dictionnaire encyclopédique.

Autres éditeurs

Arthanari TS and Dodge Y (1981) Mathematical Programming in Statistics. John Wileyand Sons, New York.

Arthanari TS and Dodge Y (1993) Mathematical Programming in Statistics. Classicedition, John Wiley and Sons, New York.

Dodge Y (1985) Analysis of Experiments with Missing Data. John Wiley and Sons, NewYork.

Dodge Y (1987, 1989, 1996) Mathématiques de base pour économistes. Édes puis PressesAcadémiques, Neuchâtel.

Dodge Y (1987) Introduction à la programmation linéaire. Editions EDES, Neuchâtel.Dodge Y (1987) (Ed.) Statistical Data Analysis based on the L1-norm and Related

Methods. North-Holland, Amsterdam.Dodge Y, Fedorov VV and Wynn HP (1988).(Eds) Optimal Design and Analysis of

Experiments. North-Holland, Amsterdam.Dodge Y (1989) (Ed.) Statistical Data Analysis and Inference. North-Holland, Amsterdam.Dodge Y, Mehran F et Rousson M (1991) Statistique. Presses Académiques, Neuchâtel.Dodge Y (1992) (Ed.) L1-Statistical Analysis and Related Methods. North-Holland,

Amsterdam.Dodge Y and Whittaker J (1992) (Eds) Computational Statistics I. Physica Verlag,

Heidelberg.Dodge, Y. and Whittaker, J. (1992) (Eds) Computational Statistics II. Physica Verlag,

Heidelberg.Birkes D and Dodge Y (1993)Alternative Methods of Regression. John Wiley and Sons,

New York.Dodge Y (1993) Statistique : Dictionnaire encyclopédique. Dunod, Paris.Dodge Y (1997) (Ed.) L1-Statistical Procedures and Related Topics. IMS Lecture Notes

and Monographs Series, Volume 31, Berkley, U.S.Dodge Y (1999) Analyse de régression appliquée. En collaboration avec V. Rousson.

Dunod, Paris.Dodge Y and Jureckovà J (2000) Adaptive regression. Springer-Verlag, New York.Dodge Y (2002) (Ed.) Statistical Data Analysis based on the L1 norm and related

methods. Birkhauser, Basel.Dodge Y (2003) The Oxford Dictionary of Statistical Terms. Oxford University Press,

Oxford.

Page 343: Optimisation appliquée (statistique et probabilitiés appliquées)

Achevé d’imprimer sur les presses de l’Imprimerie BARNÉOUDB.P. 44 - 53960 BONCHAMP-LÈS-LAVAL

Dépôt légal : Septembre 2004 - N° d’imprimeur : 15255Imprimé en France