Académique Documents
Professionnel Documents
Culture Documents
Prog Lineaire
Prog Lineaire
PROGRAMMATION LINÉAIRE
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
1
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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.
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.
2/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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
. 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’en-
treprise. Ce qui est représenté par :
3/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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 Un constructeur immobilier a trouvé le terrain pour bâtir exactement 10 petits
immeubles. Il construit ses immeubles selon trois plans standards qui offrent trois types
d’appartements différents allant du F1 au F3 . Voici un tableau donnant le nombre d’appar-
tements suivant le modèle d’immeuble :
Quelque soit le modèle d’immeuble il fait une marge de 15 103 euros sur les F1 , 50 103 euros
sur les F2 et 80 103 euros sur les F3 . Il a sur son carnet de commandes des demandes pour
24F3 , 35F2 et 150F1 .
1. Formuler le problème du constructeur immobilier sous forme d’un programme li-
néaire en justifiant le choix :
(a) les variables de décision
(b) les Contraintes ;
(c) l’expression de la fonction objectif.
4/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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.
La formulation d’un problème d’optimisation comporte toujours les trois étapes suivantes :
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.
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.
5/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
xj Ê 0 j = 1, . . . , n
La ligne
n
X
cj xj
j =1
Définition 1.3.5 Une solution réalisable est un n-uplet (x 1 ; :::; x n ) vérifiant toutes les contraintes.
6/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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.
7/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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,
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}
8/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
max z = 3x 1 + 5x 2
x
x1 É4 (usine 1)
2x 2 É 12 (usine 3)
3x 1 + 2x 2 É 18 (usine 3)
x 1 Ê 0, x 2 Ê 0 (non-nongativité)
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
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.
9/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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
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
10/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
max c T x
x
Ax É b,
x Ê 0,
– 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.
y Ê 0.
De même, considérons
−10 É x É −2.
11/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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).
x2
10
9
8
7
6
5
4
3
2
1
0 x1
0 1 2 3 4 5 6 7 8 9
1.7 Hypothèses
La première hypothèse d’un modèle de programmation linéaire est la proportionnalité :
12/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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
18 = 3x 1 + 3x 2
x2
9 3x 1 + 2x 2 É 18
8 x1 É 4
7
so
6 2x 2 É 12
lu
tio
ns
5
op
4
tim
domaine
ale
3
s
réalisable
2
1
0 x1
0 1 2 3 4 5 6 7 8 9
13/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
x2
4
l
3 nne
ti o
r
l
2 po
e
nn
o
1 pr tio
or
op
x1
pr
0
n
0 1 2 3 4
no
−1
coût fixe initial
x2
7
6
5
4
ta nt
3
ns
co
t
2 t an
n
s
no
con
1
0 x1
0 1 2 3 4
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 .
14/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
Si une de ces hypothèses est invalidée, nous sommes en présence d’un programme non li-
néaire.
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.
Ax = b,
1. aucune solution ;
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.
15/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
x1 + x2 + x3 + x4 = 4,
x1 + x3 + x4 = 3,
x1 + x2 + 2x 4 = 2.
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 ).
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.
x 1 = 1, x 2 = 1, x 3 = 2.
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.
16/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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
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
x 4 = 12 − 2x 2 Ê 0
x 5 = 18 − 2x 2 Ê 0,
17/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
nous obtenons
x 2 É 12/2 = 6
x 2 É 18/2 = 9.
x1 +x 3 =4
1
x2 + x4 =6
2
3x 1 −x 4 +x 5 = 6,
(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
1 1
x3 + x4 − x5 = 2
3 3
1
x2 + x4 =6
2
1 1
x1 − x4 + x5 = 2
3 3
La solution de base correspondante est
(x 1 , x 2 , x 3 , x 4 , x 5 ) = (2, 6, 2, 0, 0).
18/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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
1.8.2 Interprétations
Interprétation géométrique
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).
19/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
x2
3x 1 + 2x 2 = 18
x1 = 4
x1 = 0
domaine
réalisable
x2 = 0
(0, 0) x1
(4, 0) (6, 0)
3. L’algorithme s’arrête lorsqu’il identifie une solution de base réalisable optimale (un
point extrème correspondant àă une solution optimale).
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
20/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
3
z = 36 + 0x 1 + 0x 2 + 0x 3 − x 4 − x 5 É 36.
2
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,
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
21/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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.
max z = 3x 1 + 5x 2
x
x 1 Ê 0, x 2 Ê 0 (non-nongativité)
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.
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.
22/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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.
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.
n
X
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.
n
X
a i j x j − x 0i = b i .
j =1
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 ;
23/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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.
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
Nous devons tout d’abord transformer le système de contraintes afin de pouvoir traiter un
système linéaire :
24/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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).
Méthode du grand M :
min 0.4x 1 + 0.5x 2 + Mx a2 + Mx a3
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
Dénotons les nouvelles variables de décision par y i , le prix de location horaire àă l’usine
i , et reprenons les données du problèmes telles qu’exprimé précédemment dans la Table ??.
25/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
Dual Glass cherche a minimiser le prix total qu’elle devra payer pour le temps loué aux trois
usines. Le prix total pour chaque usine peut etre exprimé comme
Les contraintes assurent que le prix total associé àă la fabrication d’un lot de chaque produit
ne doit pas être inférieure au profit ($/lot) qu’en retire Wyndor Glass.
Le prix total associé àă un produit peut être exprimé comme le temps consacré àă la produc-
tion de chaque lot (h/lot) multiplié par le prix pour louer du temps ($/h).
La contrainte associée au produit 1 peut s’exprimer comme
y 1 + 3y 3 Ê 3.
2y 2 + 2y 3 Ê 5.
Nous obtenons ainsi le modèle pour Dual Glass, appelé modèle dual :
Pour rappel, le modèle pour Wyndor Glass, dit modèle primal est
max z = 3x 1 + 5x 2
¡¢
x1 É 4
2x 2 É 12
3x 1 + 2x 2 É 18
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
26/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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.
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
x n+i .y i = 0.
max z = c T x
¡¢
Ax É b,
x Ê 0,
27/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
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.
Primal Dual
Variable Contrainte
Contrainte Variable
max min
Profit unitaire Terme de droite
Terme de droite Coût unitaire
Ligne Colonne
Colonne Ligne
Contrainte É Contrainte Ê
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 :
28/30
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département de génie mécanique année scolaire 2020/2021
max z = (3 + θ)x 1 + 5x 2
x
x1 É4 (usine 1)
2x 2 É 12 (usine 3)
3x 1 + 2x 2 É 18 (usine 3)
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 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 2020/2021
max z = 3x 1 + 5x 2
x
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