Académique Documents
Professionnel Documents
Culture Documents
Programmation Lineaire
Programmation Lineaire
variables (simplexe)
1
Programme linéaire à plusieurs variables (simplexe)
fonction objectif
X
minimiser (ou maximiser) z(x) = cj xj
i=1
Les nombres cj , aij , bi sont les paramètres du modèle, ils sont connus avant la
résolution. Les variables de décision
xj sont indéterminés à priori.
Dé#nition 1.2 On appelle :
# point réalisable tout point x qui satisfait aux contraintes,
# espace réalisable ou polyhèdre des contraintes l'ensemble des points
réalisables,
# solution optimale un point réalisable qui optimise (maximise ou minimise)
z(x)
# valeur optimale la valeur de z(x) atteinte pour toute solution optimale.
2
A. Fredet
Programme linéaire à plusieurs variables (simplexe)
x1 x2 ··· xn e1 e2 ···
ep
e1 a11 a12 ··· a1n 1 0 0
0 b1
e2 a21 a22 ··· a2n 0 1 0
0 b2
.. ..
..
. .
.
ep ap1 ap2 ··· apn 0 0 ···
1 bp
−Z c1 c2 ··· cp 0 0 ···
0 0
Les variables correspondant à des coe#cients non nuls de la fonction objectif sont
des variables hors base. Elles ne
#gurent pas dans la première colonne. La solution de base est x1 = · · · = xn = 0
et e1 = b1 , · · · , ep = bp . Dans ce
cas, la fonction économique vaut 0, les variables xi sont hors base.
−a1 x1 − a2 x2 − · · · − an xn ≤ −b
3
A. Fredet
Programme linéaire à plusieurs variables (simplexe)
x1 x2 x3 e1 e2 e3
e4
e1 1 1 0 1 0 0
0 1
e2 0 1 0 0 1 0
0 2
e3 3 4 0 0 0 1
0 12
e4 1 0 1 0 0 0
1 3
−Z 3 −1 1 0 0 0
0 0
4
A. Fredet
Programme linéaire à plusieurs variables (simplexe)
x1 x2 x3 e1 e2 e3
e4
e1 1 1 0 1 0 0
0 1
e2 0 1 0 0 1 0
0 2
e3 3 4 0 0 0 1
0 12
e4 1 0 1 0 0 0
1 3
−Z 3 −1 1 0 0 0
0 0
La première colonne est la colonne pivot. Les seuls coe#cients positifs non
nuls de cette colonne sont a11 = 1,
bj
a31 = 3 et a41 = 1. Calculons les rapports a1j correspondants. On a
b1 1
= =1
a11 1
b3 12
= =4
a31 3
b4 3
= =3
a41 1
Le plus petit rapport est le premier, donc la ligne pivot est la première. Le
pivot associé est a11 = 1. La variable
entrante est x1 et la variable sortante est e1 .
5
A. Fredet
Programme linéaire à plusieurs variables (simplexe)
Autre exemple
On considère le programme linéaire suivant
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0
3x1 + 2x2 + 4x3 + 3x4 ≤ 70
7x1 + 8x2 + 10x3 + 12x4 ≤ 120
x1 + x2 + x3 + x4 ≤ 15
max(6x1 + 112 x2 + 7x3 + 8x4 )
L2
e3 5
12
1
3
1
6 0 0 1
− 12 1
5 on e#ectue L3 ← L3 − 12
L2
−Z 4
3
1
6 − 23 0 0 − 23 0
−80 on e#ectue L4 ← L4 − 3 L2
5 L3
−Z 0 9
− 10 − 65 0 0 − 25 − 36
15
−96 on e#ectue L4 ← L4 − 165 L3
Ce tableau est le dernier car tous les coe#cients de la dernière ligne sont
négatifs. La solution optimale correspondante
est x1 = 12, x4 = 3, e1 = 25. La fonction économique vaut en ce point 96.
6 A. Fredet
Programme linéaire à plusieurs variables (simplexe)
Autre présentation
On peut ne pas garder les variables de la base dans la première colonne. La
solution correspondante est alors
dé#nie par les coe#cients nuls de la fonction objectif. Les autres variables seront
nulles.
On considère le programme linéaire suivant
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0
3x1 + 2x2 + 4x3 + 3x4 ≤ 70
7x1 + 8x2 + 10x3 + 12x4 ≤ 120
x1 + x2 + x3 + x4 ≤ 15
max(6x1 + 11 2 x2 + 7x3 + 8x4 )
x1 x2 x3 x4 e1 e2 e3
3 2 4 3 1 0 0
70
7 8 10 12 0 1 0
120
1 1 1 1 0 0 1
15
11
6 2 7 8 0 0 0
0
x1 x2 x3 x4 e1 e2 e3
5 3
4 0 2 0 1 0 0
40
7 2 5 1
12 3 6 1 0 12 0
10
5 1 1 1
12 3 6 0 0 − 12 1
5
4 1
3 6 − 23 0 0 − 32 0
−80
Ce tableau est le dernier car tous les coe#cients de la dernière ligne sont
négatifs. La solution optimale correspondante
est x1 = 12, x4 = 3, e1 = 25. La fonction économique vaut en ce point 96.
7
A. Fredet
Programme linéaire à plusieurs variables (simplexe)
1.2.6 Exercices
Exercice 1.2 Résoudre le programme
x1 , x2 , x3 ≥ 0
x1 ≤ 100
x2 ≤ 150
x1 + x2 + 2x3 ≤ 200
2x1 + x2 + x3 ≤ 300
max(3x1 + 4x2 + 2x3 )
1.3.1 Dé#nition
Si on compare le problème (P1) :
Pn
maximiser z1 = j=1 cj xj
Pn
avec j=1 aij xj ≤ bi pour i = 1, · · · , m
primal dual
variables :x1 , x2 variables :y1 , y2 ,
y3 , y4
contraintes : contraintes :
a11 x1 + a12 x2 ≤ b1
a21 x1 + a22 x2 ≤ b2 a11 y1 + a21 y2 + a31 y3 + a41
y4 ≥ c1
a31 x1 + a32 x2 ≤ b3 a12 y1 + a22 y2 + a32 y3 + a42
y4 ≥ c2
a41 x1 + a42 x2 ≤ b4
fonction économique : fonction économique :
z1 = c1 x1 + c2 x2 z2 = b1 y1 + b2 y2 + b3 y3 +
b4 y4
8
A. Fredet
Programme linéaire à plusieurs variables (simplexe)
primal.
Si on considère le programme linéaire suivant :
2 variables indépendantes x1 et x2
4 contraintes :
2x1 + x2 ≤ 1 000
x1 + x2 ≤ 800
x1 ≤ 400
x2 ≤ 700
fonction économique : z1 = 20x1 + 30x2 à maximiser
4 variables indépendantes y1 , y2 , y3 et y4
2 contraintes :
2y1 + y2 + y3 ≥ 20
y1 + y2 + y4 ≥ 30
fonction économique : z2 = 1 000y1 + 800y2 + 400y3 + 700y4 à
minimiser
1.3.2 Exercices
Exercice 1.4 Résoudre
u1 ≥ 0, u1 ≥ 0, u3 ≥ 0, u4 ≥ 0
u1 + u2 + 2u3 ≥ 30
2u1 + u2 + u3 + u4 ≥ 20
minimiser 80u1 + 50u2 + 80u3 + 35u4
1.4 Applications
Exercice 1.5 Une usine produit deux modèles de machines, l'une que l'on appellera
modèle A exige 2 kg de matière
première et de 30 heures de fabrication et donne un béné#ce de 7 euros. L'autre que
l'on appellera B exige 4 kg de
matière première et de 15 heures de fabrication et donne un béné#ce de 6 euros . On
dispose de 200 kg de matière
première et de 1200 h de travail. Quelle production doit on avoir pour obtenir un
béné#ce maximal ?
Exercice 1.6 L'entreprise Duralumin fabrique des pièces en inox, de trois types
A, B et C ; elles sont fabriquées
par lot de 50 dans un grand atelier où sont rassemblées une machine de découpe de
l'inox, une emboutisseuse et
une polisseuse ; chaque machine fonctionne 120 heures par mois. Les
caractéristiques de fabrication sont rassemblées
9
A. Fredet
Programme linéaire à plusieurs variables (simplexe)
Exercice 1.7 Dans une cafétéria, on sert 2 sortes de désserts glacés, à base de
cocktails exotiques, de glace et de
fruits con#ts : la créole et la tropicale. La créole nécessite 8cl de cocktail
exotique, 2dl de glace et 15g de fruits
con#ts. La tropicale nécessite 5cl de cocktail exotique, 2dl de glace et 25g de
fruits con#ts. Chaque jour, l'atelier de
patisserie peut préparer 1600 cl de cocktail exotique, 520 dl de glace et 5 kg de
fruits con#ts. Une créole est vendue
1,2 euros et une tropicale 1 euro. Maximisez le pro#t.
0
(b) Écrire, sous forme canonique puis sous forme standard, le programme P ,
dual du programme P . On
0
notera x, y et z les variables duales, e1 , e2 , e3 les variables d'écart
du programme dual et Z la fonction
économique du programme dual.
0
(c) Établir les deux premiers tableaux permettant de résoudre le programme P
par la méthode du simplexe.
Indiquez soigneusement les variables entrantes et sortantes dans le
premier tableau.
(d) Le troisième tableau est le suivant :
x y z e1 e2 e3
R
5
e1 4 0 0 1 − 85 5
− 12
165
13 1 1
z 20 0 1 0 20 − 60
150
1 1 1
y 20 1 0 0 − 40 20
45
0
Z −3 0 0 0 −11 −3
−52 200
10
A. Fredet
Programme linéaire à plusieurs variables (simplexe)
11
A. Fredet
Programme linéaire à plusieurs variables (simplexe)
2
e2 0 −3 −2 −1 1
0 5
e3 0 1 12 2 0
1 24
−Z 0 2 −1 −1 0
0 −7
La solution est alors x2 = x3 = e1 = 0, x1 = 72 , e2 = 5, e3 = 24 et Z = 7.
x1 x2 x3 e1 e2
e3
1
1 31
x1 1 0 7 2 2
2 2
e2 0 0 34 5 1
3 77
x2 0 1 12 2 0
1 24
−Z 0 0 −25 −5 0
−2 −55
La solution est alors e1 = e3 = x3 = 0, x1 = 31
2 , x2 = 24, e2 = 77 et Z = 55. C'est
la solution optimale car tous les
coe#cients de la fonction économique sont négatifs ou nuls.
Solution 1.2 En ajoutant les variables d'écart, on s'intéresse au système suivant :
x1 , x2 , x3 , e1 , e2 , e3 , e4 ≥ 0
x1 + e1 = 100
x2 + e2 = 150
x1 + x2 + 2x3 + e3 = 200
2x1 + x2 + x3 + e4 = 300
max(3x1 + 4x2 + 2x3 )
12
A. Fredet
Programme linéaire à plusieurs variables (simplexe)
x1 x2 x3 e1 e2 e3 e4
e1 0 0 −2 1 1 −1 −1
50
x2 0 1 0 0 1 0 0
150
x1 1 0 2 0 −1 1 0
50
e4 0 0 −3 0 −1 −2 1
50
−Z 0 0 −4 0 −1 −3 0
−750
c'est-à-dire
maximiser 30x + 20y
x ≥ 0, y ≥ 0
x + 2y ≤ 80
x + y ≤ 50
2x + y ≤ 80
y ≤ 35
13
A. Fredet
Programme linéaire à plusieurs variables (simplexe)
Le pivot est sur la première colonne, troisième ligne. x est donc la variable
entrante et e3 la variable sortante :
x y e1 e2 e3 e4
3
e1 0 2 1 0 − 12 0 40
1
e2 0 2 0 1 − 12 0 10
1 1
x 1 2 0 0 2 0 40
e4 0 1 0 0 0 1 35
−Z 0 5 0 0 −15 0 −1 200
x y e1 e2 e3 e4
e1 0 0 1 −3 1 0 10
y 0 1 0 2 −1 0 20
x 1 0 0 −1 1 0 30
e4 0 0 0 −2 1 1 15
−Z 0 0 0 −10 −10 0 −1 300
x y e1 e2 e3 e4
e1 0 0 1 −3 1 0 10
y 0 1 0 2 −1 0 20
x 1 0 0 −1 1 0 30
e4 0 0 0 −2 1 1 15
−Z 0 0 0 −10 −10 0 −1300
14
A. Fredet
Programme linéaire à plusieurs variables (simplexe)
15
A. Fredet
Programme linéaire à plusieurs variables (simplexe)
On obtient
x1 e3 e1 ∗ ∗ ∗
1 2
x3 6 0 1 3 0 − 31
40
4
e2 3 0 0 − 321 1
3
80
4
x2 3 1 0 − 320 4
3
80
−Z −37 0 0 −18 0 −36
−6 480
1 000
e3 15 25 0 0 1 5 000
3
−Z 1, 2 1 0 0 0 0
0
On a donc x = 120 créoles et y = 128 tropicales. Le pro#t est alors de 272 euros
(et il reste 24 dl de glace)
16
A. Fredet
Programme linéaire à plusieurs variables (simplexe)
4
X 1 0 − 34 − 12 3
4
4
−Z 0 0 −45 −30 −15
−45
Cela signi#e que les solutions du problème primal sont x = 30, y = 15 et le minimum
vaudra 45. Il faut donc acheter
30 lots de E1 et 15 lots de E2 .
Solution 1.9 1. Sur le marché traditionnel, les 200m3 de chêne couteraient 200 ×
140 euros, les 160m3 de sapin
couteraient 160 × 90 euros et les 300m3 de sapin couteraient 300 × 70 euros,
soit un total de 63 400 euros.
2. On s'intéresse mainteant aux lots A,B et C
(a) On cherche donc à minimiser Z = 3840a + 3960b + 2880c avec
a ≥ 0, b ≥ 0, c ≥ 0
15a + 16b + 9c ≥ 0 (chêne)
15a + 8b + 24x ≥ 160 (hêtre)
20a + 24b + 12c ≥ 300 (sapin)
0
(b) le dual P est donc
0
maximiser Z = 200x + 160y + 300z
x ≥ 0, y ≥ 0, z ≥ 0
15x + 15y + 20z ≤ 3 840
avec
16x + 8y + 24z ≤ 3 960
9x + 24y + 12z ≤ 2 880
x y z e1
e2 e3
e1 15 15 20 1
0 0 3 840
e2 16 8 24 0
1 0 3 960
e3 9 24 12 0
0 1 2 880
0
−Z 200 160 300 0
0 0 0
La variable entrante est donc z et la variable sortante est e2 . On
obtient alors :
x y z e1
e2 e3
5 25
e1 3 3 0 1 −
56 0 540
2 1
1
z 3 3 1 0
24 0 165
e3 1 20 0 0 −
12 1 900
0
−Z 0 60 0 0
−12, 5 0 −49 500
17
A. Fredet
Programme linéaire à plusieurs variables (simplexe)
x y z e1 e2 e3
R
5
e1 4 0 0 1 − 85 5
− 12
165
13 1 1
z 20 0 1 0 20 − 60
150
1 1 1
y 20 1 0 0 − 40 20
45
0
Z −3 0 0 0 −11 −3
−52 200
tableau 3).
18
A. Fredet