Chapitre 1-1
Chapitre 1-1
Une des méthodes les plus connues pour résoudre des programmes linéaires
en nombre réels est la méthode du Simplexe. En théorie, elle a une
complexité non polynômiale et est donc supposée peu efficace. Cependant,
en pratique, il s’avère au contraire qu’il s’agit d’une bonne méthode.
z = c1 x1 + c2 x2 + . . . + cn xn
xi ≥ 0, i = 1, 2, . . . n.
avec
a11 a12 ... a1n x1 b1 c1
a21 a22 ... a2n x2 b2 c2
A= .. .. .. , x = .. , b = .. c = ..
. . . . . .
am1 am2 ... amn xn bm cm
Lorsque les contraintes sont des égalités (=) alors le programme linéaire
est sous forme standard. Chaque PL canonique peut se transformer en
un PL standard et inversement.
Le PL s’écrit matriciellement
x1
.
a11 ... a1n 1 0 ... 0 .. b1
a21 ... a2n 0 1 ... 0
xn
b2
.. .. .. .. .. .. = ..
xn+1
. . . . . .
.
.
am1 ... amn 0 0 ... 1 .. bm
xn+m
Formulation du problème en un PL :
z = 50x1 + 100x2
Formulation du problème en un PL :
Les deux activités que l’agriculteur doit déterminer sont les surfaces à
allouer pour la culture de tomates et de piments :
q x1 : la surface allouée à la culture des tomates
r x2 : la surface allouée à la culture des piments
On vérifie bien qu’on a x1 ≥ 0 et x2 ≥ 0.
z = 100x1 + 200x2
Parmi les solutions possibles d’un problème, il y a ceux qui vont satisfaire
toutes les contraintes du programme, appelés solutions réalisables, et
ceux qui vont satisfaire une partie ou aucune de ces contraintes, appelés
solutions non réalisables. Une représentation graphique des inégalités
(des contraintes) va nous permettre de déterminer l’ensemble des solutions
réalisables.
x2
On considère le programme linéaire suivant
min z = x1 + x2
π1
2x1 + x2 ≥ 12
12
5x1 + 8x2 ≥ 74
2x1 +x2 −12=0
x1 + 6x2 ≥ 24
x1 , x2 ≥ 0 6
3
Étape 1 : (Représentation graphique des x1
0 3 6 9
contraintes) La première contrainte est donnée
par l’inégalité 2x1 + x2 ≥ 12 qui correspond à
un demi-plan π1 (espace hachuré dans la figure)
limité par la droite x2 = 12 − 2x1 .
Pour les deux autres contraintes du problème on obtient les deux demi-
plans π2 et π3 représentés par les espaces hachurés suivants :
x2 π2 π3
5x1 +8x2 −74=0
9.25
x2 x1 +6x2 −24=0
3 4
x1 x1
6 14.8 24 6 12 24
x2
20
Ensemble des
solutions réalisables
10
2x1 + x2 − 12 = 0
5x1 + 8x2 − 74 = 0
x1
x1 + 6x2 − 24 = 0 10 20 30
z = x1 + x2
−12
On peut tracer une infinité de droites qui représentent les différentes valeurs
de la fonction objectif, toutes ces droites sont parallèles entre elles. De
plus on peut diminuer la valeur de z dans le sens indiqué dans la figure
ci-dessous.
x2
18
x1
+
x2
=
12
x1
18
+
x2
=
x1
12
+
6
x2
=
6
x1
6 12 18
π1 ∩ π2 ∩ π3
A
8
0 2 10
x1
+
x2
=
10
Un point z d’un ensemble convexe S est appelé point extrême s’il n’existe
pas deux points distincts x et y de S et un nombre α ∈]0, 1[ tels que
z = αx + (1 − α)y .
L’ensemble des solutions réalisables d’un programme linéaire s’il n’est pas
vide est un polyèdre convexe de Rn donc un ensemble qui contient une
infinité de points.
B F
D
E
Les points extrêmes de cet ensemble convexe sont A, B, C , D, E , F , et G .
max z = c T x
ß
Ax = b, x ≥ 0
Si A possède une matrice de base identité Ip alors celle-ci est dite matrice
de base évidente de A.
Bx ∗ = b
Une solution de base est dite admissible si toute ces composantes sont
positives.
Une solution de base est dite dégénérée si elle a au moins une variable
de base nulle.
ï ò
−1 1
m B= est une matrice de base de A et on a
1 1
1
ß ß
−x1 + x2 = 1 x1 = 2
=⇒ 3
x1 + x2 = 2 x2 = 2
ï ò
−1 1
m B= est une matrice de base de A et on a
1 2
ß ß
−x1 + x3 = 1 x1 = 0
=⇒
x1 + 2x3 = 2 x3 = 1
Théorème 2
Considérons le programme linéaire standard suivant :
max z = c T x
ß
Ax = b, x ≥ 0
max(z = c1 x1 + c2 x2 + . . . + cn xn )
a11 x1 + a12 x2 + . . . + a1n xn ≤ b1
a21 x1 + a22 x2 + . . . + a2n xn ≤ b2
.. .. .. ..
. . . .
am1 x1 + am2 x2 + . . . + amn xn ≤ bm
xi ≥ 0, i = 1, 2, . . . n.
b≥0
c’est-à-dire bi ≥ 0 pour i = 1, . . . , m.
Puisque nous avons supposé que b ≥ 0, alors cette solution est bien une
solution admissible.
Pour notre exemple, il est simple de voir que la solution de base admissible
est la suivante :
x1 = 0, x2 = 0, x3 = 8, x4 = 15
v.b x1 x2 x3 x4 b
x3 2 2 1 0 8
x4 5 3 0 1 15
−cj -120 -100 0 0 0
↑
valeur de
l’objectif
La dernière case (colorée) du tableau est la valeur de l’objectif qui est égale
à 0 car les variables de décision sont nulles.
Si tous les aij sont négatifs alors le problème est sans solution optimale finie
↓
v.b x1 x2 x3 x4 b
x3 2 2 1 0 8
← x4 5 3 0 1 15
−cj -120 -100 0 0 0
Ajouter des multiples appropries de la ligne pivot à toutes les autres lignes
(incluant la ligne objective) afin de faire apparaı̂tre des zéros sur le reste
de la colonne pivot.
Dans le nouveau tableau remplacer le label de la ligne pivot par la variable
entrante. Le tableau obtenu à partir du pivotage de tableau initial est
donné par :
↓
v.b x1 x2 x3 x4 b
← x3 0 4
5 1 − 25 2
3 1
x1 1 5 0 5 3
−cj 0 -28 0 24 360
x2
5
5
2
12
12
0x 1
0x 1
+
10
+
10
0x 2
0x 2
=
43
=
0
0
x1
0 3 3 4
2
x2
A x2 =4
4 2x +
1 6x =
2 30
2 B
x1
0
3 5 10
max z = c T x
a11 x1 + a12 x2 + . . . + a1n xn (≤)(=)(≥)b1
a21 x1 + a22 x2 + . . . + a2n xn (≤)(=)(≥)b2
.. .. .. ..
. . . .
am1 x1 + am2 x2 + . . . + amn xn (≤)(=)(≥)bm
xj ≥ 0, j = 1, 2, . . . n.
Ce PL sous forme générale peut être écrit sous sa forme standard avec un
second membre positif (b ≥ 0).
Par exemple :
max (2x1 + x2 ) max (2x1 + x2 )
x1 + x2 ≤ 3 x1 + x2 + x 3 = 3
x1 + 4x2 ≥ 1 =⇒ x1 + 4x2 − x4 = 1 (2)
x1 , x2 ≥ 0 x1 , x2 ≥ 0
La solution évidente (0, 0, 3, −1) n’est pas admissible car elle n’est pas
positive.
Pour cela on propose une méthode pour trouver tout d’abord une solution
de base admissible initiale, puis on applique l’algorithme de simplexe
vu précédemment. Cette méthode dite simplexe généralisée (ou bien
méthode à deux phases).
L’idée est d’introduire m variables artificielles temporaires et positifs
notées yi dans chaque contrainte de PL. On obtient le PL suivant :
Xn
max (z = c j xj )
j=1
p
X (3)
aij xj + yi = bi , i = 1, 2, . . . , m
j=1
xj ≥ 0, j = 1, 2, . . . , p; yi ≥ 0, i = 1, 2, . . . , m
(0, 0, . . . , 0, b1 , b2 , . . . , bm )
Ñ é
X m Xp
− max aij xj − bi
i=1 j=1
Xp
aij xj + yi = bi , i = 1, 2, . . . , m
j=1
xj ≥ 0, j = 1, 2, . . . , p; yi ≥ 0, i = 1, 2, . . . , m
Dans le cas où on obtient une solution optimale après la (Phase 1) avec
un objectif égal à zéro, deux cas se présentent :
Tous les variables artificielles sont des variables hors base dans le
tableau final du problème auxiliaire.
Quelques variables artificielles restent dans la base avec évidemment
des valeurs nulles.
Nous discutons seulement le premier cas dans ce chapitre.
− max(2x1 + 5x2 + x3 − x4 − 4)
x1 + x2 + x3 + y1 = 3
x + 4x2 − x4 + y2 = 1
1
x1 , x2 , y1 , y2 ≥ 0
La solution de base admissible est (x1 , x2 , x3 , x4 , y1 , y2 ) = (0, 0, 0, 0, 3, 1).
La valeur de l’objectif correspondante est -4.
↓
v.b x1 x2 x3 x4 y1 y2 b
y1 1 1 1 0 1 0 3
← y2 1 4 0 -1 0 1 1
−cj -2 -5 -1 1 0 0 −4
↓
v.b x1 x2 x3 x4 y1 y2 b
← y1 3
4 0 1 1
4 1 − 14 11
4
1
x2 4 1 0 − 14 0 1
4
1
4
−cj − 34 0 -1 − 14 0 5
4 − 114
v.b x1 x2 x3 x4 y1 y2 b
3 1
x3 4 0 1 4 1 − 14 11
4
1
x2 4 1 0 − 14 0 1
4
1
4
−cj 0 0 0 0 1 1 0
-2 -1 0 0 0
x2
2x 1
3
2x 1
+x 2
+x 2
=0
=6
2
x1
0 1 2 3
2x
1 +3
x2
=6
4
x1
+
x2
=
4
2
6
x1
0 3
-2
On voit bien que l’ensemble des solutions réalisables est vide car x1 et x2
doivent être positifs.