Vous êtes sur la page 1sur 30

CHAPITRE 1

PROGRAMMATION LINÉAIRE

Notes
Ces notes de cours correspondent á un enseignement du Diplôme dIngénieur de Concep-
tion DIC 2 du département de génie mécanique de l’ESP Dakar de l’UCAD. Ce cours est le
résultat d’une réflexion technique pédagogique dont nous espèrons qu’il apportera aux étu-
diants une stimulation intellectuelle et un encouragement á persévérer, chaque fois que la
compréhension des activités liées á la conception leur posera des difficultés.

Bien qu’ayant relu attentivement toutes les notes, il reste plusieurs imperfections. Nous
demandons aux étudiants de nous en excuser, et de nous les signaler afin d’en améliorer la
qualité. Leurs camarades de l’année prochaine leur en seront reconnaissants.

1.1 Introduction

Nous abordons dans ce chapitre un type particulier de modélisation. A l’opposé du mo-


dèle économique, un problème d’optimisation va être représenté par un problème de pro-
grammation mathématique : les variables de décision sont des variables numériques, la re-
présentation des décisions possibles et du critère fait appel á des équations ou fonctions
mathématiques.
Plus précisément, nous introduisons içi le problème particulier de programmation linéaire
en variables continues (dans l’ensemble des réels Rn ).
L’objectif de ce cours est double. Il s’agit, d’une part, de donner une introduction á la formu-
lation en modèles d’optimisation et d’autre part, de présenter les techniques de résolution
de ces problèmes. On parle de problème d’optimisation lorsqu’il faut maximiser (ou mini-
miser) une fonction sous contraintes. Par exemple, maximiser le bénéfice (ou minimiser les

1
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

pertes) d’une entreprise sous les contraintes de satisfaire la demande et de respecter la ca-
pacité de production.
Bien que la réalité soit souvent loin d’être linéaire, un grand nombre de problémes peuvent
s’écrire sous forme linéaire, soit directement, soit en première simplification. D’autre part,
un trés grand nombre de modèles constituent des extensions de programmes linéaires. Sa
compréhension est essentielle pour la compréhension de modèles plus sophistiqués.
Beaucoup de techniques de résolution (méthodes exactes, heuristiques, métaheuristiques)
existent dans la littérature pour la résolution des problèmes linéaires. Parmi elles, nous pou-
vons en citer : Méthode du Simplexe

1.2 Petits exemples pratiques


Le modèle type de programmation linéaire peut être retenu pour représenter de nom-
breux problèmes. Dans la suite de cette section, nous illustrons deux (2) exemples de mo-
dèle permettant de comprendre les types de programmes que nous aurons á étudier dans ce
chapitre.
Exemple 1 :
Une industrie automobile fabrique 3 types de modèles de voitures (v t ) v 1 , v 2 et v 3 qui lui
rapportent respectivement des profits de 160 000 FCFA, 300 000 FCFA et 500 000 FCFA. Les
niveaux maxima de production pour une semaine sont de 100 pour v 1 , 150 pour v 2 et 75 pour
v 3 . Chaque quinzaine de v t de type j requiert un temps F j pour la fabrication, un temps A j
pour l’assemblage et un temps E j pour l’emballage.

v1 v2 v3
Fj 3 3.5 5
Aj 4 5 8
Ej 1 1.5 3
Pendant la semaine á venir, l’entreprise aura 150 heures disponibles pour la fabrication, 200
pour l’assemblage et 60 pour l’emballage.
L’entreprise veut donner un plan de production qui maximise son profit net.

Modélisation du problème : En premier, nous examinons dans l’ordre la représentation


des décisions, des contraintes et du critère á optimiser.
Les variables de décisions : les décisions concernent les quantités de modèle de voitures v i ,
pour tout i = 1 ; 2 ; 3. Alors, on pose : x i = le nombre de modèle de voitures v i (i = 1 ; 2 ; 3) á
fabriquer.
Les contraintes : il s’agit de représenter les différentes contraintes limitant les heures dispo-
nibles pour la fabrication, l’assemblage et l’emballage ; mais aussi sur les niveaux maxima de

2/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

production.
Comme les temps F j , A j et E j sont donnés par quinzaine (d’un modèle de type v i ), on doit
forcément convertir les données. Le plus simple (pour éviter de diviser partout par 15) re-
vient á multiplier les ressources par 15. Les disponibilités F j , A j et E j sont alors de 2250
(=150 × 15), 3000 (= 200 × 15) et 900 (= 60 × 15), respectivement.
La première contrainte porte sur la fabrication des voitures : chaque modèle de voiture re-
quiert un temps pour la fabrication et on en dispose 2250 heures. On doit donc imposer :

3x 1 + 3.5x 2 + 5x 3 É 2250

. De même pour la deuxième contrainte, le nombre d’heures pour l’assemblage est limité. Vu
le temps requis par chaque type de voitures, cette contrainte se traduit par :

4x 1 + 5x 2 + 8x 3 É 3000

. De même pour la troisième contrainte, avec le même raisonnement pour l’emballage, on


obtient :
x 1 + 1.5x 2 + 3x 3 É 900

. Les autres contraintes concernent les niveaux maxima de production. Elles s’expriment,
respectivement, pour la fabrication, l’assemblage et l’emballage : par x 1 É 100, x 2 É 150 et
x 3 É 75. L’ensemble des décisions possibles est donc caractérisé par l’ensemble des valeurs
de x 1 ,x 2 et x 3 vérifiant :
3x 1 + 3.5x 2 + 5x 3 É 2250
4x 1 + 5x 2 + 8x 3 É 3000
x1 + 1.5x2+ 3x 3 É 900
x 1 É 100
x 2 É 150
x 3 É 75
x1 Ê 0 x2 Ê 0 x3 Ê 0
Le critère : l’objectif est de donner le plan de production qui maximise le profit net de
l’entreprise. Ce qui est représenté par :

160x 1 + 300x 2 + 500x 3 .

3/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

Le problème est donc modélisé par le problème de programmation mathématique sui-


vant :
max f (x) = 160x 1 + 300x 2 + 500x 3

s.c

3x 1 + 3.5x 2 + 5x 3 É 2250
4x 1 + 5x 2 + 8x 3 É 3000
x1 + 1.5x 2 + 3x 3 É 900
x 1 É 100
x 2 É 150
x 3 É 75
x1 Ê 0 x2 Ê 0 x3 Ê 0

Le modèle obtenu est un exemple de problème de programmation linéaire.

Exemple 2
Le gérant d’un entrepôt souhaite renouveler le matériel de sécurité de son établissement. Il
a besoin au minimum de
– 90 paires de chaussures de sécurité,
– 240 casques de sécurité,
– 240 paires de gants.
Une première entreprise de vente lui propose un lot A comprenant 2 paires de chaussures, 4
casques et 8 paires de gants pour 200 $. Une deuxième entreprise vend pour 400 $ un lot B
de 3 paires de chaussures, 12 casques et 6 paires de gants.

1. Formuler le problème permettant au gérant de réduire ses dépenses sous forme de


programme linéaire.

2. Résoudre par la méthode graphique le programme. En déduire la stratégie que doit


adopter le gérant.

3. Est-il possible de procéder aux achats nécessaires avec 5000 $ Justifier la réponse.

4. De combien peut-on faire varier le de vente du lot de type A sans changer la solution.

Les variables de décision sont


– x 1 , le nombre de lots de type A à acheter ;
– x 2 , le nombre de lots d type B à acheter.
Le fonction objectif conciste à minimiser le prix de vente total, qui vaut :

200x 1 + 400x 2

, en l’exprimant en miller de dollars. Nous voulons maximiser ce profit.

4/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

Les contraintes concernent tout d’abord les capacités de production :

2x 1 + 3x 1 Ê 90 ( paires de chaussures )
4x 1 + 12x 2 Ê 240 (casques )
8x 1 + 6x 2 Ê 240 (paires de gants)

Viennent ensuite les contriantes de non-négativité :

x 1 Ê 0, x 2 Ê 0. (nombre positif d’unités produites)

En résumé, nous avons le problème d’optimisation suivant :

min z = 200x 1 + 400x 2


x

sous les contraintes

2x 1 + 3x 1 Ê 90 ( paires de chaussures )
4x 1 + 12x 2 Ê 240 (casques )
8x 1 + 6x 2 Ê 240 (paires de gants)

x 1 Ê 0, x 2 Ê 0 (non-nongativité)

1.3 Définition et formulation d’un problème de Programma-


tion Linéaire

1.3.1 Définition d’un programmation linéaire

En mathématiques, les problèmes de Programmation Linéaire (PL) sont des problèmes


d’optimisation où la fonction objectif et les contraintes sont toutes linéaires.
La programmation linéaire désigne également la manière de résoudre les problèmes de PL.
C’est un domaine central de l’optimisation, car les problèmes de PL sont les problèmes d’op-
timisation les plus faciles (toutes les contraintes y étant linéaires). Beaucoup de problèmes
réels de recherche opérationnelle peuvent être exprimés comme un problème de PL (comme
les deux exemples de la section 1.1). Pour cette raison un grand nombre d’algorithmes pour
la résolution d’autres problèmes d’optimisation sont fondés sur la résolution de problèmes
linéaires.

Remarque 1.3.1 Le terme Programmation Linéaire suppose que les solutions á trouver doivent
être représentées en variables réelles. S’il est nécessaire d’utiliser des variables discrètes dans
la modélisation du problème, on parle alors de Programmation Linéaire en Nombres Entiers
(PLNE). Il est important de savoir que ces derniers sont nettement plus difficiles á résoudre que
les PL á variables continues.

5/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

La formulation d’un problème d’optimisation comporte toujours les trois étapes suivantes :

1. choix des variables du modèle


2. formulation de l’objectif (ou critère),
3. formulation des contraintes.
•La première étape consiste á choisir les variables du problème.

Définition 1.3.2 On appelle variable toute quantité utile á la résolution du problème dont le
modèle doit déterminer la valeur.

Cette définition permet de différencier les variables des paramètres, qui sont des données
qui peuvent varier, par exemple d’une période á l’autre ou d’un scénario á l’autre.
• La deuxième étape consiste á formuler mathématiquement l’objectif.

Définition 1.3.3 On appelle fonction objectif d’un problème d’optimisation le critère de choix
entre les diverses solutions possibles.

• La troisième étape est la formulation des contraintes du problème.

Définition 1.3.4 On appelle contrainte du problème toute relation limitant le choix des va-
leurs possibles des variables.

Ces relations peuvent être de simples bornes sur les variables. Par exemple, les quantités
produites ne peuvent être négatives. Mathématiquement, on peut écrire : x 1 Ê 0, x 2 Ê 0.
Elles peuvent être plus complexes comme les contraintes de capacité des ressources.

1.3.2 Forme algébrique d’un programme linéaire

Un problème sera modélisé par un problème de programmation linéaire si :


– les décisions peuvent être représentées par des nombres réels (généralement positifs),
– les contraintes portant sur ces variables peuvent être représentées par des équations
ou des inéquations linéaires c’est á dire que les variables n’interviennent qu’au pre-
mier degré (pas de carrés, pas de produit de variables),
– le critère de choix peut être représenté par une fonction linéaire des variables que l’on
souhaitera minimiser ou maximiser.
La forme générale d’un problème de programmation linéaire de n variables et p contraintes
est :
min ou max c1 x1 + ... + cn xn
x
a 11 x 1 + . . . + a 1n x n É b1
.. ..
. .
a p1 x 1 + . . . + a pn x n É b p ,
xj Ê 0 j = 1, . . . , n

6/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

ou, sous une forme plus compacte,


n
X
max cj xj
x
j =1
X n
ai j x j É bi , i = 1, . . . , p.
j =1

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

La ligne
n
X
cj xj
j =1

représente la fonction objectif, que nous souhaitons maximiser ou minimiser. La maximisa-


tion ou la minimisation se fait en respectant les m contraintes
n
X
ai j x j É bi , i = 1, . . . , p.
j =1

et x j Ê 0 j = 1, . . . , n Les coefficients c j de la fonction objectif, les coefficients a i j du pre-


mier membre des contraintes et les seconds membres b i des contraintes sont des données
du problème. Les x j sont les variables du problème. Enfin, i représente l’indice de la i i eme
contrainte (i = 1, . . . , p ) et j l’indice de la j i eme variable ( j = 1, . . . , n).

Définition 1.3.5 Une solution réalisable est un n-uplet (x 1 ; :::; x n ) vérifiant toutes les contraintes.

Définition 1.3.6 Une solution optimale est une solution réalisable qui donne á la fonction
objectif la plus grande (problème de maximisation) ou la plus petite valeur possible (problème
de minimisation) sur l’ensemble des solutions réalisables.

Définition 1.3.7 La valeur maximale (resp : minimale) de la fonction objectif (á ne pas confondre
avec la solution optimale) est la plus grande valeur (resp : la plus petite) que peut prendre la
fonction objectif sur l’ensemble des solutions réalisables.

La PL est essentiellement appliquée pour résoudre des problèmes d’optimisation á moyen


et long terme (problèmes stratégiques et tactiques, dans le vocabulaire de la recherche opé-
rationnelle). Les domaines d’application de ces problèmes sont très nombreux aussi bien
dans la nature des problèmes abordés (planification et contrôle de la production, distribu-
tion dans des réseaux) que dans les secteurs d’industrie : industrie manufacturière, énergie
(pétrole, gaz, électricité, nucléaire), transports (aériens, routiers et ferroviaires), télécommu-
nications, industrie forestière, finance.
Les exemples de problème qui relèvent de la programmation linéaire sont fort nombreux.
On peut citer :

7/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

– les problèmes de mélange : quelle est la composition optimale d’un produit ?


– les problèmes de découpe industrielle,
– les problèmes de détermination optimale de production d’une raffinerie,
– les problèmes de planification de production : quand et á quel moment doit-on plani-
fier la production d’un bien,
– les problèmes de transport, généralisation du problème de transport classique,
– les problèmes de planification d’horaires,
– les problèmes de fonctionnement d’une flotte de tankers et la mise en place des pro-
duits,
– etc...

S’il est nécessaire d’utiliser des variables discrètes dans la modélisation du problème, on
parle alors de Programmation Linéaire en Nombres Entiers (PLNE).
Un problème de PLNE est un programme linéaire dans lequel il y a la contrainte supplémen-
taire que les variables sont entières. Lorsque les variables entières ne peuvent être que 0 ou
1, on parle de programmation linéaire 0 − 1 ou binaire.
On parle de programme linéaire mixte lorsque seul un sous-ensemble de variables doivent
être entières et les autres réelles.

1.3.3 Forme matricielle d’un programme linéaire

La propriété de linéarité de la fonction objectif et des contraintes permet de représenter


un programme linéaire sous forme matricielle. Cette représentation est utile car elle permet
d’une part, de mieux comprendre les problèmes rencontrés lors de l’informatisation d’un
algorithme du simplexe. D’autre part, elle permet d’expliquer de façon plus synthétique cer-
tains développements plus théoriques liés á la méthode du simplexe et aux propriétés de la
dualité.
La forme matricielle d’un programme linéaire s’écrit :
Forme Canonique

max c T x
x

Ax É b,

avec x j Ê 0, i = 1, . . . , n,

8/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

et
     
x c b
 1  1  1
 ..   ..   .. 
x =  . , c =  . , b =  . 
     
xn cn bp
 
a 11 a 12 . . . a 1n
 
A=  a 21 a 22 . . . a 2n  .

a p1 a p2 . . . a pn

Forme standard

max c T x
x

Ax = b,

avec x j Ê 0, i = 1, . . . , n,

Nous dirons aussi que le vecteur x appartient á ă l’orthant positif (i.e. x ∈ Rn+ ).

D = {x ∈ Rn : Ax É bet x Ê 0}

1.4 Résolution graphique


De manière très générale, la résolution d’un problème de programmation linéaire néces-
site la mise en oeuvre d’un algorithme. Nous en verrons le principe dans la suite.
Lorsqu’il n’y a que deux variables de décision, un problème linéaire peut être résolu de ma-
nière purement graphique. C’est ce que nous verrons dans cette partie.
Cette résolution graphique permet de mettre en évidence certaines propriétés que possède
n’importe quel problème de programmation linéaire.
Considérons le programme linéaire suivant

max z = 3x 1 + 5x 2
x

sous les contraintes

x1 É4 (usine 1)
2x 2 É 12 (usine 3)
3x 1 + 2x 2 É 18 (usine 3)

x 1 Ê 0, x 2 Ê 0 (non-nongativité)

Avant de traiter des méthodes numériques, essayons de visualiser le problème afin de


développer une intuition quand á ă sa résolution.

9/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

Le problème peut-être représenté comme sur la Figure 1.1. Pour le réaliser, nous traçons
d’abord les droites correpondant aux contraintes, puis nous déterminons le domaine réali-
sable en vérifiant le sens des inégalités pour chacune d’elle. Nous traçons ensuite les droites
correspondant á ă la variation de l’objectif. Dans ce programme nous avons :

3 1
z = 3x 1 + 5x 2 ⇔ x 2 = − x 1 + z.
5 5

1 3
L’ordonnée á ă l’origine, dépendant de la valeur de z, est z, et la pente vaut − . Maximiser
5 5
revient á ă augmenter z.
Comment déterminer le domaine réalisable
A chaque couple de variables x 1 et x 2 , on associe un point du plan dont les coordonnées
correspondent aux valeurs des variables. Les variables étant positives, ces points sont situés
dans l’orthant positif (le quart Nord-Est du plan) ou R2 = {(x 1 , x 2 ) ∈ ssR × R : x 1 Ê 0et x 2 Ê 0}
Chaque contrainte permet de délimiter une partie du plan. Par exemple, la droite (∆1 ) d’équa-
tion : x 1 = 4

x2

9 3x 1 + 2x 2 É 18
8 x1 É 4

7
6 2x 2 É 12

5
4
domaine
3
réalisable
2
1
0 x1
0 1 2 3 4 5 6 7 8 9

F IGURE 1.1 – exemple Wyndor Glass

La représentation graphique, bien qu’intéressante pour ĺvoirĺ comment se passe les choses,
ne fonctionnent plus dés que nous avons plus de deux variables.
Il faut alors passer á l’utilisation de logiciels, utilisant l’algorithme du simplexe ou de points
intérieurs. Nous n’aborderons que le premier dans le cadre de ce cours.

10/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

x2

36 = 3x 1 + 5x 2 8
7
(2, 6)
6
5
20 = 3x 1 + 5x 2
4
3
10 = 3x 1 + 5x 2
2
1
0 x1
0 1 2 3 4 5 6 7 8 9

F IGURE 1.2 – exemple Wyndor Glass : maximisation

1.5 Modèle général de programmation linéaire


Le modèle complet

max c T x
x

Ax É b,
x Ê 0,

est appelé forme canonique.


D’autres formes sont possibles et définissent aussi des modèles de programmation li-
néaire :
– minimiser au lieu de maximiser :

min f (x) = − max f (x);

– les inégalités peuvent être remplacées par des égalités, ou être de sens contraire ;
– certaines variables peuvent ne pas être forcés á être supérieures á ă 0. Par exemple,
considérons la contrainte
x Ê −4,

qui équivaut á ă
x + 4 Ê 0.

Nous pouvons alors définir y = x + 4, de sorte que la contrainte devient

y Ê 0.

11/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

De même, considérons
−10 É x É −2.

En définissons y = x + 10, nous avons la contrainte y Ê 0.

1.6 Terminologie de base


Nous parlerons de solution réalisable ă à propos d’une solution (i.e. une instance parti-
culière du vecteur x) pour laquelle toutes les contraintes sont satisfaites.
En d’autres termes cette solution appartient au domaine réalisable.
Par exemple, le point (1, 1) est une solution réalisable pour la Figure 1.1. Au contraire, une so-
lution non réalisable est une solution pour laquelle au moins une contrainte est violée. Elle
n’appartient pas au domaine réalisable. Une solution optimale est une solution donnant la
meilleure valeur possible pour l’objectif. Cette valeur est dite valeur optimale.
Un modèle n’a aucune solution optimale si son domaine réalisable est vide, ou si la fonction
objectif est non bornée. Ajoutons par exemple la contrainte

3x 1 + 5x 2 Ê 50

dans l’exemple Wyndor Glass. Cette nouvelle contrainte ne peut être satisfaite en même
temps que les contraintes précédentes, comme illustré dans la Figure 1.3. Plus aucun point
n’est réalisable.
Si nous supprimons plutôt les contraintes

2x 2 Ê 12, 3x 1 + 2x 2 É 18,

la fonction objectif devient non bornée dans le domaine réalisable, comme illustré sur la
Figure 1.4. Un modèle peut également présenter une infinité de solutions optimales.
Considrons dans l’exemple 2 la fonction objectif

z = 3x 1 + 2x 2 .

Tout point sur le segment [(2, 6), (4, 3)] est alors solution optimale (voir Figure 1.5).

1.7 Hypothèses
La première hypothèse d’un modèle de programmation linéaire est la proportionnalité :
– la contribution de chaque variable àă la valeur de la fonction objectif est proportion-
nelle à la valeur de cette variable.
– la contribution de chaque variable au terme de gauche de chaque contrainte fonction-
nelle est proportionnelle à la valeur de cette variable.

12/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

x2

10
9
8
7
6
5
4
3
2
1
0 x1
0 1 2 3 4 5 6 7 8 9

F IGURE 1.3 – exemple Wyndor Glass : domaine non réalisable

x2

9 x1 É 4

8
7
6
5
4
domaine
3
réalisable
2
1
0 x1
0 1 2 3 4 5 6 7 8 9

F IGURE 1.4 – exemple Wyndor Glass : objectif non borné

13/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

18 = 3x 1 + 3x 2
x2

9 3x 1 + 2x 2 É 18
8 x1 É 4

so
6 2x 2 É 12

lu tio
ns
5

o pt
4

im
domaine

ale
3

s
réalisable
2
1
0 x1
0 1 2 3 4 5 6 7 8 9

F IGURE 1.5 – exemple Wyndor Glass : infinité de solutions

Des cas où cette hypothèse n’est pas satisfaite sont


– coût fixe initial (Figure 1.6).
– profit marginal (profit par unité) croissant ou décroissant (Figure 1.7).

x2

4
3 nel
ti on
r
el

2 po
nn

o
pr
tio

1
or
op

x1
pr

0
n

0 1 2 3 4
no

−1
coût fixe initial

F IGURE 1.6 – coût fixe initial

Nous avons d’autre part la propriété d’additivité : la fonction objectif est composée de la
somme des contributions individuelles de chaque variable, et le terme de gauche de chaque
contrainte fonctionnelle est composé de la somme des contributions individuelles de chaque
variable. L’additivité interdit les termes de la forme x 1 x 2 .
Si une de ces hypothèses est invalidée, nous sommes en présence d’un programme non li-
néaire.

14/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

x2

7
6
5
4

nt
sta
3

on
t
an

nc
2 t
s

no
c on
1
0 x1
0 1 2 3 4

F IGURE 1.7 – profit marginal

D’autre part, les variables sont continues. Si nous imposons des variables à valeurs en-
tières, nous obtenons un modèle de programmation en nombres entiers.
De plus, les valeurs affectées à chaque paramètre sont des constantes connues avec certi-
tude.
Cette hypothèse peut être fort éloignée de la réalité.
Nous pouvons tester cette hypothèse en conduisant une analyse de sensibilité, qui consiste
àă vérifier la sensibilité du modèle àă des changements de valeurs des paramètres.
Nous pouvons également introduire des variables aléatoires, ce qui conduit typiquement àă
un problème de programmation stochastique.
La programmation stochastique dépasse cependant les objectifs du présent cours.

1.8 La méthode du simplexe

Dévloppée en 1947 par George Dantzig, la méthode du simplexe reste d’actualité pour ré-
soudre des problèmes de grande taille. Il s’agit d’une méthode algébrique basée sur la résolu-
tion de systèmes d’équations linéaires ; nous nous intéressons ici uniquement aux systèmes
d’équations linéaires avec un nombre n de variables supérieur au nombre m d’équations :

Ax = b,

où x ∈ Rn , b ∈ Rm et A ∈ Rm×n . Dans ce cas, il y a trois possibilités :

1. aucune solution ;

2. une et une seule solution ;

15/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

3. une infinité de solutions.

Nous supposerons que toutes les variables sont positives. Le second cas, avec une et seule
solution, ne peut survenir que si n = m, et si la matrice A est inversible, ce qui revient à
exiger que nous avons éliminé au préalable toute équation pour s’écrire comme combinai-
son linéaire des autres équations. Si nous n’avons qu’une seule solution admissible, elle est
forcément optimale, par conséquent, nous ignorerons ce cas dans le reste du chapitre, et
prendrons n strictement supérieur à m.
Dans le cas où il y a une infinité de solutions, la méthode d’élimination de Gauss-Jordan
permet d’identifier trois types de variables :
– variables fixées ;
– variables dépendantes ;
– variables indépendantes.
example[Préliminaires àă l’algorithme du simplexe] Considérons le système

x1 + x2 + x3 + x4 = 4,
x1 + x3 + x4 = 3,
x1 + x2 + 2x 4 = 2.

Nous pouvons le réécrire sous la forme

x1 + + 2x 4 = 1,
x2 = 1,
x3 − x4 = 2.

La variable x 2 est fixée, comme elle ne peut prendre que la valeur 1, sans considération pour
les autres variables. A l’opposée, x 4 est indépendante, comme elle peut prendre n’importe
quelle valeur dans R. x 1 et x 3 sont quant á elles dépendantes : le choix de x 4 fixe leur valeur,
et de plus, il n’est pas possible de les éliminer en combinant des équations entre elles (au
contraire de x 4 ).

1.8.1 Solution de base

Il s’agit de la solution obtenue en fixant toutes les variables indépendantes á ăzéro. Nous
qualifierons de variables hors-base les variables indépendantes fixées á zéro. Les autres va-
riables seront dites variables de base. Une solution de base est réalisable (ou admissible)
lorsque toutes les variables de base ont une valeur positive. Une solution de base réalisable
est dégénérée lorsqu’au moins une variable de base a la valeur 0. Il est possible de montrer
qu’une solution de base réalisable est un sommet du polyèdre.

16/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

Préliminaires á ă l’algorithme du simplexe : solution de base


Dans l’exemple, la solution de base est

x 1 = 1, x 2 = 1, x 3 = 2.

Elle est réalisable et non dégénérée.

Pivot

Il est facile de changer le statut des variables par des opérations élémentaires.
Préliminaires á l’algorithme du simplexe : pivot

x1 + + 2x 4 = 1,
x2 = 1,
x3 − x4 = 2.
peut se réécrire comme
x1 + 2x 3 = 5,
x2 = 1,
−x 3 + x 4 = −2.
Dans cette nouvelle solution de base, nous avons
– variable hors-base : x 3 ;
– variables de base : x 1 , x 2 , x 4 ;
– solution de base non réalisable : x 1 = 5, x 2 = 1, x 4 = −2.
Le pivot est une opération consistant á ă remplacer une variable de base par une variable
hors base pour obtenir une nouvelle solution de base, dite adjacente.

example[Wyndor Glass]
Rappelons que pour cet exemple, les contraintes fonctionnelles sont

x1 É4
2x 2 É 12
3x 1 + 2x 2 É 18

Au lieu d’inégalités, nous voudrions des égalités. Pour ce faire, nous ajoutons des variables
d’écart (en anglais “slack variables”) supérieures á ă 0 :

x1 +x 3 =4
2x 2 +x 4 = 12
3x 1 +2x 2 +x 5 = 18

Les variables hors-base sont x 1 et x 2 . Fixons-les á ă 0. Nous obtenons comme solution de


base
(x 1 , x 2 , x 3 , x 4 , x 5 ) = (0, 0, 4, 12, 18).

17/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

Effectuons un pivot, en remplaçant la variable hors-base par une des variables de base ac-
tuelles. Reste á ă déterminer comment la choisir. Nous souhaitons en premier lieu que la
nouvelle solution de base soit réalisable. Dans cette solution de base, on aura toujours x 1 = 0,
et une des variables d’écart deviendra une variable hors-base, donc prendre la valeur 0. En
exploitant le système linéaire précédent et la positivité des variables, nous avons

x1 = 4 −x 3 Ê0 4 Ê x3
x 4 = 12 −2x 2 Ê 0 ⇔ 12 −2x 2 Ê0
x 5 = 18 −3x 1 −2x 2 Ê 0 18 −2x 2 Ê0

En exploitant les inégalités

x 4 = 12 − 2x 2 Ê 0
x 5 = 18 − 2x 2 Ê 0,

nous obtenons

x 2 É 12/2 = 6
x 2 É 18/2 = 9.

Par conséquent, en posant x 2 = 6, nous obtenons x 4 = 0, alors que si nous augmentons


d’avantage x 2 , la solution devient non réalisable.
Nous effectuons comme pivot le remplacement de la variable de base x 4 (qui deviendra hors-
base) par x 2 . Nous obtenons alors le système suivant :

x1 +x 3 =4
1
x2 + x4 =6
2
3x 1 −x 4 +x 5 = 6,

qui donne la solution de base :

(x 1 , x 2 , x 3 , x 4 , x 5 ) = (0, 6, 4, 0, 6).

Nous effectuons ensuite un pivot pour que la variable x 1 entre dans la base (i.e. devienne
une variable de base). Comme x 4 = 0,

x 3 = 4 −x 1 Ê0 x1 É 4

x5 = 6 −3x 1 Ê 0 x1 É 2

En posant x 1 = 2, nous obtenons x 5 = 0. Le pivot revient á ă remplacer la variable de base x 5


par x 1 . Le système obtenu est alors :
1 1
x3 + x4 − x5 = 2
3 3
1
x2 + x4 =6
2
1 1
x1 − x4 + x5 = 2
3 3

18/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

La solution de base correspondante est

(x 1 , x 2 , x 3 , x 4 , x 5 ) = (2, 6, 2, 0, 0).

Résolution par le tableau suivant :




 Max 3x 1 + 5x 2


 x1 É 4



2x 1 É 12


 3x 1 + 2x 2 É 18





 x Ê 0, i = 1, 2
i




 Max 3x 1 + 5x 2


 x1 + x3 = 4



For me st and ar d 2x 1 + x 4 = 12


 3x 1 + 2x 2 + x 5 = 18





 x Ê 0, i = 1, ., ., 5
i

x1 x2 x3 x4 x5 B
x3 1 0 1 0 0 4 L1
x4 0 2 0 1 0 12 L2
x5 3 2 0 0 1 18 L3
Z 3 5 0 0 0 L4
x3 1 0 1 0 0 4 L01
1 L2
x2 0 1 0 0 6 L02 =
2 2
x5 3 0 0 -1 1 6 L03
5
Z 3 0 0 - 0 -30 L04
2
1 1
x3 0 0 1 - 2 L"1
3 3
1
x2 0 1 0 0 6 L"2
2
1 1
x1 1 0 0 - 2 L"3
3 3
3
Z 0 0 0 - -1 -36 L"4
2

19/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

x2

3x 1 + 2x 2 = 18
x1 = 4
x1 = 0

(0, 6) (2, 6) (4, 6) 2x 2 = 12

domaine
réalisable

x2 = 0
(0, 0) x1
(4, 0) (6, 0)

F IGURE 1.8 – exemple Wyndor Glass

1.8.2 Interprétations

Interprétation géométrique

Une solution de base réalisable correspond á un point extrème du domaine réalisable.


Un pivot correspond àă un déplacement d’un point extrème àă un autre qui lui est adjacente,
i.e. toutes les variables hors-base sauf une sont les mêmes. La méthode du simplexe peut se
résumer comme suit.
1. Nous débutons avec une solution de base réalisable initiale (un point extrème).
2. A chaque itération, nous effectuons un pivot, passant ainsi àă une solution de base
réalisable adjacente (un point extrème adjacent).
3. L’algorithme s’arrête lorsqu’il identifie une solution de base réalisable optimale (un
point extrème correspondant àă une solution optimale).

Interprétation des variables d’écart

Dans la solution optimale du problème Wyndor Glass, nous avons x3 = 2, x4 = x5 = 0.


Cela indique que les deux dernières ressources (temps aux usines 2 et 3) sont pleinement
utilisées. Une partie de la première ressource (temps àă l’usine 1) n’est pas utilisée : 2 heures.

1.8.3 Critère d’optimalité

example [Wyndor Glass : critère d’optimalité]


Exprimons l’objectif en fonction des variables hors-base dans la solution optimale Rappe-

20/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

lons que dans cette solution, nous avons

1
x2 + x4 =6
2
1 1
x1 − x4 + x5 = 2
3 3
Après substitution dans l’objectif, nous obtenons

max z = 3x 1 + 5x 2
µ ¶ µ ¶
1 1 1
= 3 2 + x4 − x5 + 5 6 − x4
3 3 2
3
= 36 − x 4 − x 5 .
2

Toute solution réalisable (x 1 , x 2 , x 3 , x 4 , x 5 ) satisfait

3
z = 36 + 0x 1 + 0x 2 + 0x 3 − x 4 − x 5 É 36.
2

Le critère d’optimalité s’énonce ainsi comme suit :


étant donné que l’objectif s’exprime uniquement en fonction des variables hors-base de la
solution de base réalisable courante, si les coefficients de ces variables dans l’objectif sont
tous négatifs ou nuls, alors la solution de base réalisable courante est optimale.
Les coefficients des variables hors-base dans l’objectif sont appelés coûts réduits (ou coûts
relatifs).

Si au moins un coût réduit est positif pour la solution de base courante, nous n’avons
pas encore atteint une solution optimale. Il faut par conséquent effectuer au moins un pivot,
mais quelle variable doit-on faire entrer dans la base.
Regardons celle dont le coût réduit est le plus grand parmi toutes les variables hors-base, vu
que cette variable fournit la plus grande augmentation marginale (par unité) de la valeur de
l’objectif. Ce qui ne signifie toutefois pas la plus grande augmentation globale !
Vu que nous faisons entrer une variable dans la base, nous devons également choisir
la variable qui va sortir de la base en tentant de garder toutes les variables non négatives.
Supposons que x j est la variable d’entrée. Chaque variable de base x i s’exprime alors en
fonction de la variable d’entrée (puisque les autres variables hors-base sont nulles) :

xi = b i − a i j x j .

Dans cette expression, les coefficients b i et a i j sont obtenus suite àă plusieurs pivots. Mais
nous avons nécessairement b i positif (en partant d’un b positif). Pour que toutes les va-
riables demeurent non négatives suite au pivot, nous devons avoir

x i = b i − a i j x j Ê 0,

21/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

soit, en d’autres termes,


ai j x j É bi .

Si a i j est négatif, cette inégalité ne limite pas l’augmentation de x j . Si cette condition est
satisfaite pour tous les i , nous pouvons donc augmenter indéfiniment x j ; l’objectif est non
borné. Si a i j est strictement positif, l’inégalité limite l’augmentation de x j . Nous prendrons
comme variable de sortie celle qui atteint
( ¯ )
b i ¯¯
min ¯ ai j > 0 .
ai j ¯
algo du Simplexe
1. Obtenir une solution de base réalisable.
2. Vérifier le critère d’optimalité : si les coûts réduits de toutes les variables hors-base
sont négatifs ou nuls, stop.
3. Choisir la variable x j , soit celle qui a le coût réduit le plus élevé.
4. Déterminer la variable de sortie :
( ¯ )
b i ¯¯
min ¯ ai j > 0 .
ai j ¯

5. Effectuer un pivot et déterminer une nouvelle solution de base réalisable. Retour à


l’étape 2.
Résumons tout dans le tableau suivant :
La forme standard du programme est :

max z = 3x 1 + 5x 2
x

sous les contraintes


x1 +x 3 =4
2x 2 +x 4 = 12
3x 1 +2x 2 +x 5 = 18
x 1 Ê 0, x 2 Ê 0 (non-nongativité)

1.8.4 Adaptation àă d’autres formes de modèles

Tout modèle de programmation linéaire peut se ramener àă la forme suivante :


n
X
max cj xj
j =1
¡¢ Xn
a i j x j + x n+i = b i , i = 1, 2, . . . , m
j =1

x j Ê 0, j = 1, 2, . . . , n,
x n+i Ê 0, i = 1, 2, . . . , m.

22/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

Nous supposons de plus que b i est positif, i = 1, 2, . . . , m. Sous cette forme, il est facile d’ini-
tialiser la méthode du simplexe en ajoutant des variables d’écart, et en les prenant comme
variables de base. Cela revient de plus àă considérer l’origine comme solution initiale, et il
est facile d’effectuer les opérations de pivot. La situation se complique avec d’autres formes
fonctionnelles pour les contraintes, en particulier dans la recherche d’une solution de base
initiale.

Transformation du min au max

Supposons que nous devions minimiser l’objectif au lieu de le maximiser. Nous utilisons
la propriété
n
X n
X
min c j x j = − max − cj xj.
j =1 j =1

Nous résolvons le problème de maximisation en changeant les signes des coefficients dans
l’objectif. La valeur optimale du problème de minimisation est l’opposé de celle du problème
de maximisation.

Transformation des inégalités en égalités


n
X
Si a i j x j É b i , il y a deux cas :
j =1
1. b i Ê 0 : nous ajoutons une variable d’écart positive x ni :
n
X
a i j x j + x n+i = b i .
j =1

2. b i < 0 : nous multiplions l’inégalité par -1, pour se ramener au cas développé ci-dessous.
Xn
Si a i j x j Ê b i , nous avons àă nouveau deux cas possibles :
j =1
1. b i É 0 : nous multiplions l’inégalité par -1, pour se ramener au cas développé précé-
demment.

2. b i > 0 : nous soustrayons une variable de surplus positive x 0i :


n
X
a i j x j − x 0i = b i .
j =1

Nous nous ramenons alors au cas d’ajout de variables artificielles.

1.8.5 Obtention d’une base admissible initiale

Ajout de variables artificielles


X
Si a i j x j = b i et qu’aucune variable n’est isolée (une variable est isolée si elle àă
j =1,...,n
coefficient 1 dans cette équation et àă coefficient 0 dans les autres) :

23/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

1. nous ajoutons une variable artificielle x n+1 Ê 0, dont l’unique but est de fournir une
variable de base initiale pour cette contrainte ;
2. nous lui associons un profil très négatif : −M
X
max c j x j − Mx n+i
j =1,...,n
¡¢
...
X
a i j x j + x n+i = b i
j =1,...,n

...

Le seul but des variables artificielles est de pouvoir initialiser l’algorithme du simplexe en
produisant une solution de base réalisable initiale.
Si le problème est réalisable, nous devrions avoir x n+i = 0.
Deux méthodes peuvent être considérées.
1. La méthode du grand M consiste àă optimiser en utilisant une fonction objective for-
mée de la fonction de coût initiale et de la somme, très fortement pénalisée, des va-
riables artificielles.
2. La méthode àă deux phases se déroule comme suit :
Phase 1 Trouver une solution réalisable en minimisant la somme des variables artifi-
cielles.
Phase 2 Optimiser en revenant àă la fonction de coût initial àă partir de la solution
initiale trouvée dans la phase 1.
un exemple
Considérons le programme

min z = 0.4x 1 + 0.5x 2


¡¢
0.3x 1 + 0.1x 2 É 2.7
0.5x 1 + 0.5x 2 = 6
0.6x 1 + 0.4x 2 Ê 6
x 1 Ê 0, x 2 Ê 0.

Nous devons tout d’abord transformer le système de contraintes afin de pouvoir traiter un
système linéaire :

0.3x 1 + 0.1x 2 + x s1 = 2.7


0.5x 1 + 0.5x 2 = 6
0.6x 1 + 0.4x 2 − x s2 = 6
x s1 Ê 0, x s2 Ê 0.

24/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

En ajoutant les variables artificielles, nous obtenons

0.3x 1 + 0.1x 2 + x s1 = 2.7


0.5x 1 + 0.5x 2 + x a2 = 6
0.6x 1 + 0.4x 2 − x s2 + x a3 = 6
x s1 Ê 0, x s2 Ê 0, x a2 Ê 0, x a3 Ê 0.

Afin de démarrer la méthode du simplexe, nous appliquons une des deux méthodes précé-
dentes. Méthode àă deux phases :

Phase 1 minimiser x a2 + x a3 jusqu’àă obtenir une valeur optimale nulle (si le programme
linéaire àă une solution réalisable).

Phase 2 minimiser 0.4x 1 + 0.5x 2 .

Méthode du grand M :
min 0.4x 1 + 0.5x 2 + Mx a2 + Mx a3

1.8.6 Variables à valeurs quelconques

Si une variable x j peut prendre des valeurs négatives, nous introduisons deux variables
x +j Ê 0 et x −j Ê 0. Nous posons alors
x j = x +j − x −j .

Une autre possible, si x j Ê L j , où L j est une constante négative, consiste àă poser

x +j = x j − L j Ê 0.

1.9 Dualité

1.9.1 Motivation

Exemple 2 Supposons qu’un partenaire du gérant de l’ entrepôt, appelée Dual , aimerait


vendre des paires de chaussures de sécurité, des casques de sécurité et paires de gants pour
satisfaire la commande du gérant.
Quel prix de ventre unitaire pour chaque type d’articles devrait-il demander de telle sorte
que le résultat soit équitable, soit aucun profit ni perte pour aucun des deux partenaires ?

Dénotons les nouvelles variables de décision par y i , le prix de vente unitaire de l’article
i , et reprenons les données du problèmes telles qu’exprimé précédemment dans l’exemple
2.
Dual cherche à maximiser le prix de vente total qu’il devra obtenir pour la livraison des dif-
férents types d’articles. Le prix de vente total pour chaque types d’articles peut etre exprimé

25/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

comme :

nombre d’articles (h) × prix de vente unitaire

. L’objectif est par conséquent

max w = 90y 1 + 240y 2 + 240y 3 .

Les contraintes assurent que le prix de vente total associé àă la livraison d’un lot de chaque
produit ne doit pas être supérieure au prix ($/lot) que le gérant doit payer.
La contrainte associée au lot A peut s’exprimer comme

2y 1 + 4y 2 + 8y 3 É 200.

La contrainte associée au lot B est

3y 1 + 12y 2 + 6y 3 É 400.

Nous obtenons ainsi le modèle pour Dual, appelé modèle dual :

max w = 90y 1 + 240y 2 + 240y 3


¡¢
2y 1 + 4y 2 + 8y 3 É 200
3y 1 + 12y 2 + 6y 3 É 400
y 1 , y 2 , y 3 Ê 0.

Pour rappel, le modèle pour le gérant, dit modèle primal est

min z = 200x 1 + 400x 2


x

sous les contraintes

2x 1 + 3x 1 Ê 90 ( paires de chaussures )
4x 1 + 12x 2 Ê 240 (casques )
8x 1 + 6x 2 Ê 240 (paires de gants)

x 1 Ê 0, x 2 Ê 0 (non-nongativité)

Rappelons que pour la solution de base optimale du problème Wyndor Glass, l’objectif
s’écrit :
3
z = 36 − x 4 − x 5 .
2
3
x 4 et x 5 sont les variables hors base et les coefficients − et −1 sont leurs coûts réduits. Si on
2
3
augmente la valeur de x 4 de une unité, le profit diminue de . x 4 est également la variable
2
d’écart associée àă la contrainte de ressource pour l’usine 2 :

2x 2 + x 4 = 12.

26/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

Augmenter x 4 d’une unité signifie par conséquent diminuer le terme de droite correspon-
dant de 1. En effet, si Wyndor Glass loue a Dual Glass une heure de temps de production àă
l’usine 2 :
– la capacité àă l’usine 2 diminue de 1 heure (diminution d’une unité du terme de droite) ;
3
– la valeur de l’objectif diminue de .
2
3
Pour retrouver un profit total égal, il faudra donc demander un prix de (1500$) pour chaque
2
heure de temps louée àă l’usine 2. De maniàĺre générale, la solution optimale du dual est
donnée par l’opposé des coûts réduits des variables d’écart (aussi appelés multiplicateurs
optimaux, ou shadow prices en anglais). Dans notre exemple :
3
y 1 = 0, y 2 = , y 3 = 1.
2
Le prix de la variable y 1 est fixé àă 0 :
– Wyndor Glass n’exige rien pour une heure louée àă l’usine 1, ce qui se justifie par le fait
qu’il lui reste du temps de production non utilisé (la variable d’écart x 3 est strictement
positive).
– Un prix strictement positif ferait augmenter le profit, et la solution ne serait plus équi-
table.
Les prix des autres variables est strictement positif :
– puisque le temps de production est utilisé pleinement, louer une heure àă Dual Glass
revient àă perdre une heure de production, donc àă réduire le profit total ;
– pour retrouver le même profit, il faut exiger un prix égal au multiplicateur optimal, égal
àă l’opposé du coût réduit.
Nous pouvons constater des écarts complémentaires : pour tout i , nous avons

x n+i .y i = 0.

Tout modèle de programmation linéaire possède un dual.


A tout programme linéaire sous forme canonique

max z = c T x
¡¢
Ax É b,
x Ê 0,

nous associons le programme dual

min w = b T y
¡¢ T
A y Ê c,
y Ê 0,

Nous obtenons ainsi un couple primal-dual, avec les relations suivantes entre les deux mo-
dèles.

27/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

Primal Dual
Variable Contrainte
Contrainte Variable
max min
Profit unitaire Terme de droite
Terme de droite Coût unitaire
Ligne Colonne
Colonne Ligne
Contrainte É Variable Ê 0

Si un modèle de programmation linéaire possède une solution optimale, il en est de même


pour son dual, et les valeurs optimales des deux modèles sont égales.

La solution optimale du dual correspond aux multiplicateurs optimaux. Nous pouvons


les lire directement dans le tableau optimal du simplexe : ce sont les coefficients dans la ligne
correspondant àă l’objectif.
Le coût réduit (correspondant àă l’opposé du coefficient dans la ligne de l’objectif ) mesure la
variation de l’objectif entrainé par une augmentation d’une unité de la valeur de la variable
hors-base associée.

1.9.2 Analyse de sensibilité

Dans cette partie, nous voulons d’étudier graphiquement le comportement de la solution


et de l’optimum en faisant varier tour à tour un coût réduit c i des variables hors base et les
disponibilités : b i (seconds membres des contraintes).

Variation des coûts réduits

Reprenons l’exemple de la compagnie. Faire varier le coût unitaire associé à une variable
consiste à ajouter une quantité θ (qui peut être négative) à ce coût. Par exemple la variation
du coût unitaire de x 1 permet d’écrire la fonction critère comme suit : Z = (3 + θ)x 1 + 5x 2 . Le
programme devient :

max z = (3 + θ)x 1 + 5x 2
x

sous les contraintes

x1 É4 (usine 1)
2x 2 É 12 (usine 3)
3x 1 + 2x 2 É 18 (usine 3)

28/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

x 1 Ê 0, x 2 Ê 0 (non-nongativité)

En général, le coût réduit d’une variable hors-base indique le changement dans l’objectif ap-
porté par une augmentation d’une unité de la valeur de cette variable.
Pour les variables d’écart, ce principe peut se formuler ainsi : le coût réduit d’une variable
d’écart hors-base indique le changement dans l’objectif apporté par une diminution d’une
unité du terme de droite associé. Ceci est un exemple d’analyse de sensibilité : un paramètre
(ici, un terme de droite) est modifié et nous mesurons la sensibilité de la solution optimale
àă ce changement.

Nous pouvons aussi mesurer la sensibilité de la solution optimale àă un changement


d’un terme de droite ou d’un coefficient dans l’objectif en résolvant àă nouveau le modèle
modifié.

exemple :Wyndor Glass : sensibilité


Une analyse de sensibilité complète nous apprendrait ce qui suit.
– Les multiplicateurs optimaux (Shadow Prices) sont 0, 1500 et 1000.
– La capacité àă l’usine 3 peut prendre n’importe quelle valeur entre 12h et 24h sans
changer la solution optimale du dual.
– Le profit unitaire pour le produit 1 peut prendre n’importe quelle valeur entre 0 et
7500$ sans changer la solution optimale du primal.

Variation des seconds membres

Nous voulons dans cette section étudier le comportement de la solution dans le cas où le
second membre d’une contrainte est perturbé. Ceci survient quand on perturbe la disponi-
bilité d’une ressource, la capacité d’un atelier,... Reconsidérons l’exemple de la compagnie.
En faisant varier le second membre de la deuxième contrainte ; on a le PL suivant :

29/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 22/23

max z = 3x 1 + 5x 2
x

sous les contraintes

x1 É4 (usine 1)
2x 2 É 12 (usine 3)
3x 1 + 2x 2 É 18 + θ (usine 3)

x 1 Ê 0, x 2 Ê 0 (non-nongativité)

30/30

Vous aimerez peut-être aussi