Cours Pl
Cours Pl
Cours Pl
5 Propriétés fondamentales de la PL 33
5.1 Dé…nitions et propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 Résultats fondamentaux de la PL . . . . . . . . . . . . . . . . . . . . . . 38
6 Méthode de simplexe 39
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.2 Forme standard d’un programme linéaire par rapport à une base B . . . 39
6.3 Algorithme du simplexe . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.3.1 Etapes de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . 43
6.4 Obtention d’une base réalisable de départ . . . . . . . . . . . . . . . . . . 47
6.5 Etapes de la méthode des deux phases . . . . . . . . . . . . . . . . . . . 49
7 Dualité 52
7.1 Problèmes duaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.1.1 Dé…nitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.1.2 Propriétés et règles de construction du dual . . . . . . . . . . . . 53
7.2 Théorèmes fondamentaux de la dualité . . . . . . . . . . . . . . . . . . . 54
7.3 Méthode de dual simplexe . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.3.1 Algorithme de dual simplexe . . . . . . . . . . . . . . . . . . . . . 59
7.4 Ecriture des variables duales dans le tableau de simplexe …nal . . . . . . 61
Table des …gures
Chapitre 1
+ : E E !E
(u; v) ! u+v
: K E !E
(u; v) ! v
On dit que le triplet (E; +; ) est un espace vectoriel (e.v.) sur le corps K (ou un
K-espace vectoriel) si :
1: (E; +) est un groupe commutatif.
2: 8 ; 2 K, 8u; v 2 E on a :
(a) ( + ) u = ( u) + ( u)
(b) :(u + v) = u + :v
(c) ( ) v= ( u)
(d) 1K u = u
Remarque 1.1.1 Les élements de E sont appelés vecteurs et les élements de K sont des
scalaires.
Soit F une partie non vide de E. On dit que F est un sous espace vectoriel (s.e.v.)
de E si :
1. F est non vide. (F contient au moins l’éléement neutre)
2. 8u; v 2 F , u + v 2 F . (stable pour l’addition)
3. 8u 2 F , 8 K, :u 2 F . (stable pour la multiplication par un scalaire).
Proposition 1.1.1 Soit E un e.v. sur K. F une partie non vide de E. Pour que F soit
un s.e.v. de E il faut et il su¢ t que : 8u; v 2 F , 8 K, u + v 2 F .
Exemple :
1. Soit x 2 E, l’ensemble f x; 2 Kg est un s.e.v. deE.
2. E = R3 , a; b; c 2 R, F = f(x; y; z) 2 R3 =ax + by + cz = 0g est un s.e.v. de E.
scalaires de K.
Pp
Proposition 1.1.2 G = fX : X = i=1 i xi ; 8xi 2 E; 8 i 2 Kg est un s.e.v. de E.
Dé…nition 1.1.3 Soit E un e.v. sur K et soit F un s.e.v. sur E. On dit que la famille P
de p éléments de E, P = fx1 ; x2 ; :::; xp g engendre F . ou que P est une famille génértrice
de F si tout élément de F est combinaison linéaire des éléments de la famille P .(c- à-d
P
8X 2 F , 9 1 ; 2 ; :::; p 2 K tq X = pi=1 i xi )
Chapitre 1. Rappel sur l’algèbre lineaires 7
On dit que les vecteurs x1 ; x2 ; :::; xn sont linéairement indépendant (L.I.) si 9 1; 2 ; :::; n.
Dé…nition 1.1.5 Soit E un e.v. sur K. L’ensemble des n vecteurs x1 ; x2 ; :::; xn de E est
une base de E si :
1. x1 ; x2 ; :::; xn sont L.I.
2. Tout vecteur X de E s’écrit comme C.L. de x1 ; x2 ; :::; xn .
Théorème 1.1.1 les vecteurs x1 ; x2 ; :::; xn de l’e.v. E forment une base de E si et seule-
ment si tout vecteur de E s’érit et d’une façon unique comme C.L. de x1 ; x2 ; :::; xn .
1.1.6 Dimension
Dé…nition 1.1.6 Soit E un e.v. sur K, E est dit de dimension …nie (sur K) s’il est
engendré par un nombre …ni de ses vecteurs. Ce nombre est la dimension de l’e.v. E et
note dimR E.
Remarque 1.1.2 Toutes les bases d’un même e.v. E ont alors la même dimension.
Théorème 1.1.2 Tout espace vectoriel E sur K de dimension …nie admet une base.
Exemple : Soient B = f(1; 0; 0); (0; 1; 0); (0; 0; 1)g et B 0 = f(1; 1; 0); (0; 1; 1); (2; 1; 0)g
des bases de R30
. Alors 1
1 0 2
B C
0 B C
P (B ; B) = B 1 1 1 C.
@ A
0 1 0
0 1
a a12 : : : a1n
B 11 C
B C
B a21 a22 : : : a2n C
B C
B C
B : : : : : : C
B C
B C
B : : : : : : C
B C
B C
B : : : : : : C
@ A
am1 am2 : : : anm
où les ai;j sont des éléments de K :
Si on note (ai;j ) cette matrice, alors :
-Les ai;j sont appelés coe¢ cients ou termes de la matrice (ai;j ) :
-La matrice (ai;j ) est dite de type (m; n) si, elle est à m lignes et à n colonnes.
-L’ensemble des matrices
0 de type
1(m; n) à coe¤cients dans K est noté M(m;n) (K).
2 1 3
B C
B C
B 0 4 2 C
Exemple : A = B B
C A est une matrice de type (4; 3) à coe¤cients dans
C
B 5 7 3 C
@ A
1 1 0
R.
- Une matrice est appelée matrice nulle et est notée 0 si, tous ses coe¢ cients sont
nuls. C-à-d : (ai;j ) = 0 ssi pour tout i et tout j on a : ai;j = 0.
- Une matrice est appelée matrice ligne d’ordre n si, elle est de type (1; n).
- Une matrice est appelée matrice colonne d’ordre m si, elle est de type (m; 1).
- Une matrice est appelée matrice carrée d’ordre n si, elle est de type (n; n).
- Une matrice est appelée matrice triangulaire supérieure d’ordre n si, elle est une
matrice carrée d’ordre n dont tous les coe¤cients placés sous les coe¤cients diagonaux
sont nuls. C-à-d : (ai;j ) est triangulaire supérieure d’ordre n, ssi, elle est de type (n; n)et
ai;j = 0 pour i > j.
- Une matrice est appelée matrice triangulaire inférieure d’ordre n si, elle est une
matrice carrée d’ordre n dont tous les coe¤cients placés sur les coe¤cients diagonaux sont
nuls.
C-à-d : (ai;j ) est triangulaire inférieure d’ordre n, ssi, elle est de type (n; n)et ai;j = 0
pour i < j.
Chapitre 1. Rappel sur l’algèbre lineaires 10
- Une matrice est appelée matrice diagonale d’ordre n si, elle est une matrice trian-
gulaire supérieure et inférieure d’ordre n : C-à-d : (ai;j ) est diagonale d’ordre n, ssi, elle
est de type (n; n)et ai;j = 0 pour i 6= j.
- Une matrice est appelée matrice identité d’ordre n et est noté In si, elle est une
matrice diagonale dont tous les coe¤cients diagonaux sont égaux à 1 : C-à-d : (ai;j ) = In ,
ssi, elle est de type (n; n), ai;i = 1 et ai;j = 0 pour i 6= j.
Exemples
0 :1
0 0 0
-@ A est une matrice nulle de type (2; 3).
0 0 0
- (1;
0 5; 1 2; 0; 3) est une matrice ligne d’ordre 5.
2
B C
B C
- B 1 C est une matrice colonne d’ordre 3.
@ A
1
0 1
1 3
-@ A est une matrice carrée d’ordre 2.
1 5
0 1 0 1
1 4 3 1 0 0
B C B C
B C B C
- B 0 5 1 C et B 1 2 0 C sont des matrices triangulaire supérieure et tri-
@ A @ A
0 0 2 3 0 3
angulaire
0 inférieure,
1 respectivement,
0 1 d’ordres 3.
1 0 0 1 0 0
B C B C
B C B C
- B 0 2 0 C et B 0 1 0 C sont des matrices diagonale et identité, respective-
@ A @ A
0 0 3 0 0 1
ment, d’ordres 3.
0 1
2 1 3 0 1
B C 2 0 5 1
B C B C
B 0 4 2 C B C
Exemple 1 : Si A = B
B
C, alors t A = B 1 4
C 7 1 C
B 5 7 3 C @ A
@ A 3 2 3 0
1 1 0
0 1 0 1
1 3 2 1 3 2
B C B C
B C t B C
Exemple 2 : Si A = B 3 4 1 C, alors A = B 3 4 1 C = A d’où A
@ A @ A
2 1 0 2 1 0
est symétrique.
Soient A = (aj;i ) une matrice de M(m;n) (R) et B = (bi;j ) une matrice de M(n;p) (K).
On dé…nit le produit A:B par :
P
n
A:B = (ci;j ) avec ci;j = ai;p :bp;j = ai;1 :b1;j + ai;2 :b2;j + ::: + ai;n :bn;j .
k=1
Remarques :
1) Le produit de matrices est dé…ni si, le nombre des colonnes de la première matrice
est égal au nombre des lignes de la deuxième matrice.
2) A:B une matrice de M(m;p) (K).
Chapitre 1. Rappel sur l’algèbre lineaires 12
0 1
0 1 2 0 5 1
2 1 3 B C
Exemples : Si A = @ A et B = B
B 1 4
C
7 1 C, alors A:B une
1 0 4 @ A
3 2 3 0
0 1
14 7 6 1
matrice du type (2; 4) et A:B = @ A.
14 8 7 1
Le produit B:A n’est pas dé…ni, car B 2 M(3;4) (K) et A 2 M(2;3) (K).
On dit qu’une matrice A de M(n;n) (K) est inversible si, elle admet un inverse pour
la multiplication des matrices.
C-à-d : A est inversible si, il existe une matrice B telle que A:B = In = B:A.
La matrice inverse B, si elle existe, est notée A 1 .
Chapitre 1. Rappel sur l’algèbre lineaires 13
Proposition : A 2 M(n;n) (K) est inversible, ssi, det (A) 6= 0, et dans ce cas
1 1
A = :adj (A) :
det (A)
adj (A) est la matrice adjointe de A obtenue en remplaçant chaque élement aij de A par
son cofacteur et en transposant
0 la matrice ainsi obtenue.
1 0 1
1 2 3 1 2 1
B C 1 1 B C
B C B C
Exemple : A = B 0 1 2 C et A 1 = :adj (A) = B 1 2 2 C.
@ A det (A) 2@ A
1 0 1 1 2 1
2. Puisque
0 le1déterminant de B est 0; alors r 6= 3; or le déterminant de la sous-matrice
1 0
@ A est 5. Donc le rang de B est 2.
0 5
Remarque 1.2.1 Le calcul du rang d’une matrice peut être une opération très longue.
Prenons le cas d’une matrice carrée d’ordre n. Nous devons d’abord calculer le déter-
minant de la matrice. S’il est di¤érentérent de zéro, le rang de la matrice est n, mais
s’il est égal à zéro, il faut calculer le déterminant des sous-matrices d’odre (n 1) . Or,
il y en a n2 . Et si toutes ces sous-matrices ont un déterminant nul, il faut passer aux
sous-matrices d’ordre (n 2) et ainsi de suite.
Pour cette raison que nous allons voir une méthode qui facilite la détermination du
rang d’une matrice. Cette méthode se base sur les transformations élémentaires.
2. Multiplication de tous les éléments d’une ligne de la matrice par la même constante
(di¤érente de zéro). Li $ Li ( 6= 0):
3. Addition aux éléments d’une ligne de la matrice un multiple quelconque des élé-
ments correspondants d’une autre ligne. Li $ Li + Lj ; 2 R:
Exemple : 0 1
8 0 1 0x1 1
>
> x + 3x2 + 4x3 + x4 = 1 2 3 4 1 B B C 1
>
< 1 B CB x C B C
B C C
() B 0 2 2 6 CB
2
C=B C
>
3x2 + 2x3 + 6x4 = 6
@ AB C B 6 C
>
> B x3 C @ A
: x + 2x 3x3 = 4 1 2 3 0 @ A 4
1 2
x4
8
>
> (2; 3; 4; 1) x = 1
>
<
En ligne : (0; 2; 2; 6) x = 6
>
>
>
: ( 1; 2; 3; 0) x = 4
0 1 0 1 0 1 0 1 0 1
2 3 4 1 1
B C B C B C B C B C
B C B C B C B C B C
En colonne : B 0 C x1 + B 2 C x2 + B 2 C x3 + B 6 C x4 = B 6 C
@ A @ A @ A @ A @ A
1 2 3 0 4
– Lorsque m = n, le système (S) est dit "carré"
– Une solution de (S) est un n-uplet (x1 ; x2 ; :::; xn ) véri…ant les m équations de (S).
– Lorsque tous les coe¢ cients situés sous la diagonale sont nuls, le système est dit
triangulaires supérieur.
Chapitre 1. Rappel sur l’algèbre lineaires 16
Dé…nition 1.3.2 Deux systèmes d’équations linéaires (S) et (S 0 ) sont dits équivalents
lorsqu’ils ont le même ensemble de solutions.
Théorème 1.3.1 Une opération élémentaire sur les lignes d’un système linéaire Ax = b
le transforme en un système équivalent.
on annule tous les coé¢ cients de la première inconnue dans les autres lignes ;
3. On recommence le procédé pour la deuxième inconnue, la troisième, . . . , jusqu’à
obtention d’un système triangulaire.
Li Li L1 (i = 2; 3)
donnent le système : 8
>
> x+y+z =1
>
<
y+z =1
>
>
>
: y+z =2
puis l’opération L3 L3 L2 donne :
8
>
> x+y+z =1
>
<
y+z =1
>
>
>
: 0=1
et le système n’a pas de solution.
Li Li L1 (i = 2; 3)
donnent le système : 8
>
> x 2y + t = 1
>
<
y z + 3t = 0
>
>
>
: y + z 3t = 0
équivalent à : 8
< x 2y + t = 1
: y z + 3t = 0
et le système a in…nité de solutions données par :
Dé…nition 1.3.3 Un système (S) est échelonné si le nombre de premiers coe¢ cients
nuls successifs de chaque équation est strictement croissant.
Exemple :
8
>
> x1 + 2x2 + 3x3 + x4 = 2
>
>
>
>
< 3x + 7x + 5x = 3
2 3 4
>
> 3x3 + 2x4 = 5
>
>
>
>
: 3x4 = 8
Ce système s’écrit sous la forme suivante Ax = b où
0 1 0 1
1 2 3 1 2
B C B C
B C B C
B 0 3 7 5 C B 3 C
A=B B
C et b = B
C B
C
C
B 0 0 3 2 C B 5 C
@ A @ A
0 0 0 3 8
Dé…nition 1.3.4 Le rang d’une matrice est le plus grand nombre de termes non nuls
sur la diagonale d’une matrice échelonnée.
Exemple : 0 1
1 0 9
B C
B C
A=B 0 4 18 C , rang (A) = 2.
@ A
0 0 0
0 1
1 0 9
B C
B C
A=B 0 4 18 C , rang (A) = 3.
@ A
0 0 8
Chapitre 2
– Les contraintes du modèle qui décrivent les relations linéaires entre les variables
de décision représentant les restrictions auquelles est sujette l’entreprise.
A B
a 2 1
:
b 1 2
c 0 1
Par ailleurs, le Tableau suivant précise le nombre d’unités en stock pour chaque matière
première.
Matières premières Nombre d’unités en stock
a 8
:
b 7
c 3
En…n les pro…ts unitaires sur A et B sont respectivement 1:5 et 1 (exprimés en unité
monétaire par unité de produit). On cherche les quantités de produit A et B qu’il convient
de fabriquer pour maximiser le béné…ce de la …rme.
4) Contrainte de non-négativités : x1 0; x2 0.
Exercice 2 Une usine fabrique trois sortes de pièces P1 ; P2 ; P3 , à l’aide de deux machines
M1 et M2 : Chaque pièce en cours de fabrication doit passer successivement sur les deux
machines dans un ordre indi¤érent et pendant les temps suivants ( en minutes )
Problème général de la
programmation linéaire
Autrement dit, la programmation linéaire est une branche des mathématiques qui a
pour but de résoudre des problèmes d’optimisation linéaire de type
8
>
> max Z (ou min Z) = c1 x1 + c2 x2 + :::: + cn xn
>
>
>
>
>
> a11 x1 + a12 x2 + :::: + a1n xn = b1
>
>
>
>
>
> a21 x1 + a12 x2 + :::: + a1n xn = b2
>
>
>
>
>
> ::::::::::::::::::::::::::::::::
>
(P L) <
ap11 x1 + ap2 x2 + :::: + apn xn = bp
>
>
>
>
>
> ap+11 x1 + ap+12 x2 + :::: + ap+1n xn bp+1
>
>
>
>
>
> ::::::::::::::::::::::::::::::::
>
>
>
>
>
> am1 x1 + am2 x2 + :::: + amn xn bm
>
>
>
: (x1 ; x2 ; :::; x2 ) 2 Rn
Les coe¢ cients cj ; aij et bi sont des réels …xés et les xj sont des variables réelles.
Chapitre 3. Problème général de la programmation linéaire 24
Remarque 3.1.1 Les contraintes d’inégalités éventuelles sont toutes larges et non strictes.
Il se peut qu’une contrainte d’inégalité soit de type " ". En multipliant chaque inégalité
de type " " par ( 1), on peut supposer que toutes les contraintes d’inégalité sont de
type " ".
On peut toujours supposer que les variables xi (i = 1; :::; n) sont astreintes à être non
négatives. En e¤et, s’il existe une variable xi pouvant prendre n’importe quelle valeur
réelle, positive, négative ou nulle, on pourra remplacer xi par la di¤érence x0i x00i de deux
variables x0i et x00i astreintes, elle, à ne pas prendre que des valeurs non négatives.
On peut
8 écrire le système précédent sous une forme condensée.
>
> Xn
>
> max Z (ou min Z) = ci xi
>
>
>
> i=1
>
> X n
>
>
< aij xj = bi (i = 1; :::; p)
(P L) j=1 :
>
> X n
>
>
>
> aij xj bi (i = p + 1; :::; n)
>
>
>
> j=1
>
>
: (x1 ; x2 ; :::; xn ) 2 Rn :
On peut
8 écrire aussi ce système sous la forme matricielle suivante :
>
> max Z (ou min Z) = ct x
>
>
>
>
< A0 x = B 0
(P L) ,
>
> A 00
x B 00
>
>
>
>
: x 2 Rn :
0 1 0 1 0 1 0 1
c b b x
B 1 C B 1 C B p+1 C B 1 C
B C B C B C B C
B c2 C 0 B b2 C 00 B bp+2 C B x2 C
avec c = B
B
C, B = B
C B
C, B = B
C B
C, x = B
C B
C,
C
B : C B : C B : C B : C
@ A @ A @ A @ A
cn bp bm xn
0 1 0 1
a a12 ::: a1n a ap+12 ::: ap+1n
B 11 C B p+11 C
B C B C
B a 21 a 22 ::: a 2n C B a p+21 a p+22 ::: a p+2n C
A0 = BB
C et A00 = B
C B
C.
C
B : : : : C B : : : : C
@ A @ A
ap1 ap1 ::: apn am1 am1 ::: amn
suivante :
8
>
> max Z = ct x
>
<
(P C) Ax B (cas de maximisation)
>
>
>
: x 0
8
>
> min Z = ct x
>
<
(P C) Ax B (cas de minimisation).
>
>
>
: x 0
Exemple 3.2.1 Ecrire sous forme canonique les deux programmes linéaires suivants :
8 8
>
> max z = 2x1 + 3x2 >
> min z = 2x1 5x2
>
> >
>
>
> >
>
>
> 3x1 + x2 = 5 >
> 3x1 + 5x2 = 3
>
< >
<
(P1 ) x1 2x2 4 , (P2 ) x1 5x2 2 ,
>
> >
>
>
> >
>
>
> x1 3x2 2 >
> x1 + x2 4
>
> >
>
>
: x >
: x
1 0; x2 0 1 0; x2 0
Solution 4
8 8
>
> max z = 2x1 + 3x2 >
> min z = 2x1 5x2
>
> >
>
>
> >
>
>
> 3x1 + x2 5 >
> 3x1 + 5x2 3
>
> >
>
>
> >
>
< 3x1 x2 5 < 3x 5x2 3
1
(P C1 ) , (P C2 ) .
>
> x + 2x 4 >
> x + 5x 2
>
> 1 2 >
> 1 2
>
> >
>
>
> x1 3x2 2 >
> x1 + x2 4
>
> >
>
>
> >
>
: x 0; x2 0 : x 0; x2 0
1 1
suivante : 8
>
> max(ou min Z) = ct x
>
<
(P S) Ax = B .
>
>
>
: x 0
Exemple 3.3.1 Mettre sous forme standard les programmes linéaires suivants :
8 8
>
> max z = 2x1 + 3x2 >
> max z = 2x1 + 3x2
>
> >
>
>
> >
>
< 3x + 5x 3 < 3x + 5x 3
1 2 1 2
(P1 ) , (P2 ) ,
>
> x1 5x2 2 >
> x1 5x2 2
>
> >
>
>
> >
>
: x 0; x2 0 : x 0; x2 2 R
1 1
8
>
> max z = 2x1 + 3x2
>
>
>
>
< 3x + 5x = 3
1 2
(P3 ) :
>
> x 5x 2
>
> 1 2
>
>
: x 0; x 0
1 2
Chapitre 3. Problème général de la programmation linéaire 27
Théorème 3.3.1 Tout programme linéaire sous forme standard peut être écrit sous
forme canonique ; tout programme linéaire sous forme canonique peut être écrit sous
forme standard.
Ax b , Ax + e = b; e 0:
où e = (e1 ; ; em )t sont
8 appelées0variables
1 d’écart.
>
> x
8 >
> @ A=b 8
>
> (AjIm )
< Ax b < e < A0 x = b
Ainsi, , 0 1 , ,
: x 0 >
> x : x0 0
>
> @ A 0:
>
>
: e
0
avec A = (AjIm ) matrice de taille m (m + n).
ii) Inversement, soit un programme linéaire sous forme standard. On a
8 8
< Ax b < Ax b
Ax = b , ,
: Ax b : Ax b
8 0 1 0 1
>
> A b 8
>
< @ Ax @ A < A00 x b0
, A b , ,
>
> : x 0
>
: x 0
4.1 Dé…nitions
Soit (P) le programme linéaire suivant :
max8z = ct x
< Ax b
(C)
: x 0
Dé…nition 4.1.1 On appelle solution réalisable de (P) tout vecteur x qui satisfait les
contraintes (C) de (P). On appelle solution optimale de (P) toute solution réalisable de
(P) qui optimise z.
L’ensemble des solutions réalisables de (P) est appelé domaine des solutions réali-
sables.
z = x + (1 )y où 2 [0; 1]:
Chapitre 4. Résolution graphique d’un PL 29
Dé…nition 4.2.2 Une partie A de Rm est dite convexe si, pour tout couple de points x
et y de A et tout réel véri…ant 0 1, le point z = x + (1 )y est un élément de
A. Plus formellement,
fx 2 Rn : at x = g:
fx 2 Rn : at x g et fx 2 Rn : at x g;
fx 2 Rn : at x < g et fx 2 Rn : at x > g
Les contraintes d’un programme linéaire sont en général des demi-espaces fermés
tandis que si le problème est sous une forme standard, les contraintes sont des hyperplans.
Dé…nition 4.2.4 On appelle polytôpe l’intersection d’un nombre …ni des demi-espaces
fermés de Rn .
Le domaine des solutions réalisables est un polytôpe convexe borné (polyèdre) ou non
borné.
x = y + (1 )z:
En d’autres termes, x 2 D est un point extrême s’il ne peut pas s’exprimer comme une
combinaison linéaire de deux autres points distincts du polyèdre.
Par exemple, la Figure 4.1 présente di¤érents cas d’ensembles de points extrêmes.
Dans le cas du disque, l’ensemble des points extrêmes sont les points de la frontière du
disque (le cercle dé…nissant la frontière du disque), alors que pour les deux polyèdres, on
retrouve classiquement les sommets fA1 ; A2 ; :::; A6 g et fB1 ; B2 ; B3 ; B4 g.
Le domaine des solutions réalisables D est schématisé sur la Figure 4.2. Toute droite k
d’équation 4x1 + 5x2 = k, où k est un réel …xé, est parallèle à la droite 0 : 4x1 + 5x2 = 0.
On constate aussi que tout déplacement parallèle de k dans le sens de la ‡èche (voir
Figure 4.2.) fait augmenter k. Donc maximiser la fonction z, tout en satisfaisant aux
contraintes du problème, revient à chercher la droite k la plus éloignée (dans le sens
de la ‡èche) de 0 et qui coupe le domaine des solutions réalisables. Du point de vue
graphique, il s’agit de la droite kmax passant par le point (3; 2) et parallèle à 0. Ainsi,
on peut conclure que le point (3; 2) est la seule solution optimale de (P1 ) qui donne une
valeur maximale de la fonction d’objectif égale à 22.
Le domaine des solutions réalisables est la partie non bornée représentée sur la Figure
4.3. Tout déplacement parallèle de k : 6x1 + 15x2 = k dans le sens de la ‡èche fait
augmenter k. Donc tout point du demi droite d’équation 2x1 + 5x2 = 4 et x1 3 est
optimal et la valeur maximale de Z vaut 12.
Chapitre 4. Résolution graphique d’un PL 32
Le domaine des solutions réalisables D associé à (P3 ) est la partie non bornée représentée
dans la Figure 4.4. Dans le graphique, on observe que toute droite k d’équation x1 +x2 =
k , avec k 0, coupe D. Donc, sup z = +1 et par conséquent, le problème n’admet
aucune solution optimale.
Chapitre 5
Propriétés fondamentales de la PL
On peut toujours supposer que rang (A) = m. En e¤et, si rang (A) < m, une ou
plusieurs lignes de A peuvent s’exprimer comme combinaison linéaire des autres ligne.
Suivant la valeur des coe¢ cients bi , les contraintes correspondantes sont soit redondantes
(auquel cas elles peuvent être éliminé du problème) soit incompatible avec les autres
(auquel cas le système Ax = b n’a pas de solution).
Par exemple, le système
8
>
> x1 + x2 = 3 (1)
>
>
>
>
< x +x =3 (2)
2 3
>
> x1 + x3 = 8 (3)
>
>
>
>
: x +x +x =7 (4)
1 2 3
est tel que chacune des équations est redondante. En e¤et, l’équation (4) s’obtient comme
la somme des trois premières divisée par 2 et si les trois premières équations sont véri…ées,
il est immédiat que la dernière le sera. Aussi, peut-on la négliger et le système formé des
trois premières équations ne contient plus de contraintes redondantes.
Chapitre 5. Propriétés fondamentales de la PL 34
L3 L3 L1 et L4 L4 L1 )
0 1
1 1 0 3
B C
B C
B 0 1 1 3 C
B C
B C
B 0 1 1 5 C
@ A
0 0 1 4
L3 L3 + L2 ) 0 1
1 1 0 3
B C
B C
B 0 1 1 3 C
B C
B C
B 0 0 2 8 C
@ A
0 0 1 4
1
L3 L
2 3
) 0 1
1 1 0 3
B C
B C
B 0 1 1 3 C
B C
B C
B 0 0 1 4 C
@ A
0 0 1 4
Les 2 dernières équations étant identiques, la dernière est omise. On obtient alors :
0 1
1 1 0 3
B C
B C
B 0 1 1 3 C
@ A
0 0 1 4
Chapitre 5. Propriétés fondamentales de la PL 35
la nouvelle matrice A est de rang 3 et son déterminant est égal à 1 (6= 0).
Nous considérons donc à partir de maintenant que le problème (P ) sous forme stan-
dard est tel que le rang de la matrice A est égal à son nombre de lignes m ce qui signi…e
que le système Ax = b sera compatible et ne contiendra aucune contrainte redondante
et, donc, en particulier, m n.
Notons que sous l’hypothèse de rang plein (rang (A) = m), le système Ax = b admet
toujours des solutions. Si m < n, il y en a une in…nité. Si m = n, la solution est unique
et vaut x = A 1 b, dans ce cas, il n’y a rien à maximiser
Dé…nition 5.1.2 Les variables correspondant aux colonnes de la matrice B sont dites
variables de base (relativement à la base B). Les autres variables sont dites variables
hors-base (relativement à la base B).
Soit B une base du problème (P ). Pour simpli…er la notation, supposons que B est
formée des m premières colonnes de A. Dénotons par H la sous-matrice formée des autres
colonnes de A, par xB le vecteur des variables de base et par xHB le vecteur des variables
hors-base, alors on peut réécrire Ax = b par
0 1
xB
Ax = (B; H) @ A
xHB
= BxB + HxHB
= b
1
Puisque B est régulière, alors B existe et
xB + B 1 HxHB = B 1 b:
En annulant les variables hors bases, on obtient un système de Cramer BxB = b possédant
la solution unique xB = B 1 b.
0 1
xB = B 1 b
Dé…nition 5.1.3 La solution x = @ A est appelée solution de base du pro-
xHB = 0
blème (P).
Chapitre 5. Propriétés fondamentales de la PL 36
Dé…nition 5.1.5 Une solution de base est dite dégénérée si certaines composantes de
xB sont nulles.
Dé…nition 5.1.6 Une solution optimale de base du problème (P) est une solution de
base réalisable qui rend minimale la fonction objectif.
1. Déterminer toutes les solutions de base et toutes les solutions de base réalisables
de (P).
2. Déduire la solution optimale de (P).
Solution :
n!
Remarque 5.1.1 Le nombre de solutions de base ne dépasse pas Cnm = m!(n m)!
.
Remarque 5.1.3 Soit D l’ensemble des solutions réalisable d’un programme linéaire.
Alors
, x est un sommet de D.
Solution :
1. (20; 5; 27) est réalisable mais non de base.
2. (5; 20; 12) est réalisable et de base.
3. (5; 5; 3) de base mais non réalisable.
4. (35; 5; 57) de base mais non réalisable.
5. (0; 22:5; 4:5) de base mais non réalisable.
6. (40; 2; 64) est ni réalisable ni de base.
7. (5; 10; 2) est réalisable mais non de base (il y a trois equations véri…ées mais elles ne
sont pas indépendantes, en e¤et 2x1 + 2x2 2x3 = 6 est la somme de 2x1 + x2 x3 = 18
et 4x1 + x2 x3 = 12).
Chapitre 5. Propriétés fondamentales de la PL 38
Théorème 5.2.2 Si la fonction objectif prend sa valeur minimale (ou maximale) en aux
plus d’un point extrême alors toutes combinaison linéaire convexe de ces points donne la
même valeur à la fonction objectif.
Remarque 5.2.1 Ce théorème nous indique que lors de la résolution d’un problème de
programmation linéaire, on peut restreindre notre attention au sous-ensemble des solu-
tions de base réalisables de l’ensemble fx : Ax = b; x 0g.
Méthode de simplexe
6.1 Introduction
Nous présentons une méthode de résolution d’un programme linéaire qui a été déve-
loppé par Dantzig aux Etats-Unis en 1947. Cette méthode appelée algorithme du sim-
plexe, elle consiste à e¤ectuer une explorartion dirigée de l’ensemble des solutions de
bases réalisables c’est à dire l’ensemble des points extrêmes dé…ni par le système des
contraintes du problème de la programmation linéaire.
xB + B 1 HxH = B 1 b:
xB = B 1 b B 1 HxH : (6.2a)
Posons = ctB B 1
(appelé vecteur multiplicateur relatif à la base B). Alors ctH H
est appelé le coût réduit relatif à la base B. Le programme (P) s’écrit sous la forme
suivante : 8
>
> max z = b + (ctH H)xH
>
<
0
(P ) xB + B 1 HxH = B 1 b
>
>
>
: x ;x B 0H
Solution
0 : 1 0 1
1 1 3 1 4 4
A=@ A, ct = (2; 1; 6; 2; 5), b = @ A.
0 1 2 1 2 3
0 1 0 1
1 1 1 1
Puisque I = f1; 2g, alors B = @ A. Donc B 1
=@ A.
0 1 0 1
0 1
3 1 4
D’autre part, H = @ A et ctB = (2; 1), ctH = (6; 2; 5).
2 1 2
Le vecteur multiplicateur relatif à la base f1; 2g est égal à
0 1
1 1
= ctB B 1 = (2; 1) @ A = (2; 1):
0 1
D’où 0 1
4
b = (2; 1) @ A = 5:
3
Le coût réduit est égal à
0 1
3 1 4
ctH H = (6; 2; 5) (2; 1) @ A
2 1 2
= (6; 2; 5) (4; 3; 6) = (2; 1; 1):
La fonction objectif peut s’écrire par rapport à la base f1; 2g comme suit :
0 1
x
B 3 C
B C
max z = 5 + (2; 1; 1) B x4 C = 5 + 2x3 + x4 x5 :
@ A
x5
Alors le PL peut s’écrire sous forme standard par rapport à la base f1; 2g.
8
>
> max z = 5 + 2x3 + x4 x5
>
>
>
>
< x +x 2x4 + 2x5 = 1
1 3
>
> x2 + 2x3 + x4 + 2x5 = 3
>
>
>
>
: x 0; i = 1; 2; 3; 4; 5:
i
z 0 0 2 1 1 5
Théorème 6.2.1 Etant donné un PL de maximisation sous forme standard par rapport
à une base B. Si ctH H 0 alors la solution de base réalisable correspondante à la
base B est optimale.
Etape 0. Mettre le PL sous forme standard par rapport à une solution de base réali-
sable I.
Etape 1. Déterminer les coe¢ cients des variables hors base de la fonction objectif et
poser cs = max(cj : j 2 Jg.
– Si cs 0, stop la solution de base correspondante à I est optimale.
– Si cs > 0, aller en (2).
Etape 2. Examiner le vecteur As (vecteur colonne).
– Si fi : Ais > 0g = ;, stop le PL n’a pas de solution bornée.
bk
– Si fi : Ais > 0g 6= ;, alors déterminer K = fk : Aks
= minf Abii : Ais > 0gg et aller
s
en (3).
Etape 3. Choisir r 2 K et mettre le PL sous forme standard par rapport à la nouvelle
base I = (I frg) [ fsg et aller en (1).
Chapitre 6. Méthode de simplexe 44
Etape 0 : Mettre le PL sous forme standard par rapport à une solution de base
réalisable I.
En introduisant des variables d’écart, le PL s’écrit
8
>
> max z = x1 + 3x2 + 0e1 + 0e2 + 0e3
>
>
>
>
>
> x +x2 +e1 = 14
>
< 1
2x1 +3x2 +e2 = 12
>
>
>
>
>
> 2x1 x2 +e3 = 12
>
>
>
: x1 ; x2 ; e1 ; e2 ; e3 0:
Il est évident que x = (x1 ; x2 ; e1 ; e2 ; e3 ) = (0; 0; 14; 12; 12) est une solution de base
réalisable.
Remarque : Trouver une première solution de base réalisable n’est pas toujours aussi
facile.
Construisons le premier tableau du simplexe.
x1 x2 e1 e2 e3 b K
e1 1 1 1 0 0 14 14
e2 2 3 0 1 0 12 4 v:s
e3 2 1 0 0 1 12 12
z 1 3 0 0 0 0
" v:e
Puisque deux nombre de cj sont positifs (de valeur 1 et 3), cette solution de base
réalisable n’est pas optimale.
Nous recherchons une meilleure solution de base réalisable en mettant une variable
de base "hors base" et en la remplaçant par une variable hors base. D’après le critère
d’entrée et de sortie présentés dans l’algorithme,
– x2 hors base entre en base,
– e2 en base sort de base,
ce que nous indiquons dans le tableau par des ‡èches d’entrée et de sortie ; nous
écrivons en gras le pivot xrs , qui est égal à 3.
Construisons le nouveau tableau simplexe en appliquant la méthode du pivot de
Gauss.
x1 x2 e1 e2 e3 b K
e1 5=3 0 1 1=3 0 10 6 v:s
x2 2=3 1 0 1=3 0 4 6
e3 4=3 0 0 1=3 1 16 12
z 3 0 0 1 0 12
" v:e
Puisqu’il y a encore un cj positif (de valeur 3), nous ne somme pas à la solution opti-
male et nous devons donc rechercher une nouvelle meilleure solution de base réalisable.
x1 x2 e1 e2 e3 b K
e1 2 1 1 0 0 2 1
e2 1 1 0 1 0 2 2 v:s
e3 1 1 0 0 1 5 5
w 1 1 0 0 0 0
" v:e
x1 x2 e1 e2 e3 b K
e1 0 1 1 2 0 6 6
x1 1 1 0 0 0 2 2
e3 0 2 0 1 1 3 3=2 v:s
w 0 0 0 1 0 2
" v:e
Chapitre 6. Méthode de simplexe 47
Une solution optimale est donc la solution représenté par X1 = (2; 0; 6; 0; 3). On
peut constater graphiquement que ce PL admet deux solutions optimales. Cela se voit
également dans le dernier tableau simplexe où le nombre cj correspondant à la variable x2
n’est pas négatif, mais nul. Pour obtenir la seconde solution X2 , il su¢ t de faire entrer en
base la variable hors-base x2 et de mettre dès lors hors base la variable e3 . Ce changement
de base ne modi…e évidemment pas la valeur de la fonction objectif puisque
xr 3
w(X2 ) = w(X1 ) (ws cs ) = 2 :0 = 2:
xrs 2
x1 x2 e1 e2 e3 b K
e1 0 0 1 3=2 1=2 15=2
x1 1 0 0 1=2 1=2 7=2
x2 0 1 0 1=2 1=2 3=2
w 0 0 0 1 0 2
Alors Y est une solution réalisable puisque l’ensemble des solutions réalisables d’un
PL est convexe. Comme la fonction objectif w est linéaire , w(Y ) vaut
on présente uniquement la méthode des deux phases. Cette méthode repose sur l’intro-
duction des variables artic…cielles. Comme son nom l’indique, cette méthode consiste à
résoudre un problème de programmation linéaire en deux parties. La méthode des deux
phases va permettre de déterminer une base réalisable ou prouver que le problème n’a
pas de solution réalisable.
– La première partie, appelée phase I, consiste à annuler toutes les variables arti-
…cielles en utilisant une fonction objectif arti…cielle. Si l’on ne peut pas annuler
toutes les variables, alors le problème n’est pas réalisable.
– La phase II consiste à remplacer la fonction objectif arti…cielle de la phase I par la
vraie fonction objectif à maximiser. On utilise alors la solution réalisable de base
obtenue à la …n de la phase I.
Considérons un problème de la programmation linéaire (PL) sous forme standard
8
>
> max z = ct x
>
<
(P L) Ax = b
>
>
>
: x 0;
Proposition 6.4.2 Soit (x; v) une solution réalisable de base optimale du P LA, une
condition nécessaire et su¢ sante pour que P L admet une solution réalisable est que vi =
0.
Théorème 6.4.1 Si P L admet une solution réalisable, alors P LA a une base optimale
qui donne une base réalisable à P L.
Chapitre 6. Méthode de simplexe 49
Phase I
Etape 0 : Ecrire le programme linéaire (PL) sous forme standard avec bi > 0.
Etape 1 : Déterminer le programme linéaire auxiliaire (PLA) (en ajoutant des va-
riables arti…cielles nécessaires).
Etape 2 : Appliquer l’algorithme du simplexe à PLA.
– Si, à l’optimum, la valeur de la fonction objectif du PLA est strictement positif,
stop le PL n’a pas de solution réalisable.
– Si, à l’optimum, la valeur de la fonction objectif du PLA est nulle, alors aller à
l’étape (3).
Etape 3 : Ecrire le PLA sous forme standard par rapport à une base optimale for-
mée uniquement par des variables du vecteur x. C’est à dire éliminer les variables
arti…cielles qui sont dans la base optimale du PLA en faisant entrer des variables
appartenant au vecteur x à la place de variable du vecteur v qui sont dans la base.
Phase II
Exemple : Soit le problème suivant à résoudre avec la méthode des deux phases :
8
>
> max z = x1 2x2 + 2x3
>
>
>
>
< 2x + 3x + x = 12
1 2 3
(P L)
>
> 4x1 + x2 + 2x3 = 14
>
>
>
>
: x ;x ;x 0
1 2 3
8
>
> max( )= 26 + 6x1 + 4x2 + 3x3
>
>
>
>
< 2x1 + 3x2 + x3 + v1 = 12
(P LA)
>
> 4x1 + x2 + 2x3 + v2 = 14
>
>
>
>
: x 1 ; x 2 ; x 3 ; v1 ; v 2 0
Dressons un tableau du simplexe.
Var. base x1 x2 x3 v1 v2 b K
6 4 3 0 0 26
v1 2 3 1 1 0 12 6
v2 (4) 1 2 0 1 14 7/2
z 1 2 2 0 0 0
Itération 1 // // // // // // //
0 5/2 0 0 -3/2 5
v1 0 (5=2) 0 1 -1/2 5 2
x1 1 1=4 1=2 0 1=4 7=2 7/2
z 0 -9/4 3/2 0 -1/4 -7/2
Itération 2 // // // // // // //
0 0 0 -1 -1 [0]
x2 0 1 0 2=5 1=5 2
x1 1 0 1/2 2/5 3/10 3
z 0 0 3/2 9/10 -7/10 1
Comme max( ) = 0; c’est à dire min = 0, alors la solution optimale de (PLA)
x = (3; 2; 0) constituera une solution de base réalisable du problème initial (PL) de départ.
x = (3; 2; 0) n’est pas optimale car c3 > 0. Il faut qu’on e¤ectue un autre changement de
base.
Phase II.
Chapitre 6. Méthode de simplexe 51
Var. base x1 x2 x3 b K
Itération 2 // // // // //
x2 0 1 0 2
x1 1 0 (1=2) 3 6
z 0 0 3/2 1
Itération 3 // // // // //
x2 0 1 0 2
x3 2 0 1 6
z 3 0 0 8
x = (0; 2; 6) est optimale et max z = 8.
Chapitre 7
Dualité
A tout programme linéaire (P), on associe un second programme linéaire dual (D) de
(P). Dans ce cas, (P) est dit primal. Le programme dual a la propriété d’être en relation
étroite avec le primal (la solution optimale de l’un des deux programmes est déterminée
par la résolution de l’autre).
7.1.1 Dé…nitions
Remarque 7.1.1 Si y est un vecteur colonne, alors le problème (D) s’écrit comme suit :
8
>
> min w = bt y
>
<
(D) At y c
>
>
>
: y 0:
Règles de construction
alors le problème dual (D) du problème (P) s’écrit sous la forme suivante :
8
>
> min w = bt y
>
<
(D) At y c
>
>
>
: y 2 R:
ct x yb:
Chapitre 7. Dualité 55
(y t A)x ct x ) cx y t (Ax)
Comme Ax b, on trouve
ct x y t b = bt y:
D’où
z(x) = ct x bt y = w(y):
Théorème 7.2.2 Si x et y sont des solutions réalisables pour (P) et (D) respectivement
telles que ct x = yb, alors x et y sont des solutions optimales pour (P) et (D) respective-
ment.
Vu que ct x = bt y alors z = w .
On peut facilement véri…er que x = (3; 2)t et y = (1; 2; 0)t sont solutions réalisables
0 1 de
0 1 8
3 B C
B C
(P) et (D) respectivement. De plus, ct x = (4; 5) @ A = 22 et bt y = (1; 2; 0) B 7 C =
2 @ A
0
22. Donc d’après le théorème 7.2.2, x et y sont deux solutions optimales de (P) et (D)
respectivement et z = w = 22.
Gràce à une représentation graphique, on peut constater que le problème (D) n’est pas
réalisable. Ainsi, on peut vérifuer que x = (1; 0; 0)t est une solution réalisable de (P).
Alors par le Théorème 7.2.3, on peut conclure que (P) n’a pas de solution optimale.
Chapitre 7. Dualité 57
La solution graphique de (D) montre que (D) n’est pas borné, cependant, (D) est réali-
sable puisque y = (1; 1)t satisfait les contraintes de (D). Alors par le Théorème 7.2.3, (P)
est non réalisable.
Deux solutions réalisables x de (P) et y de (D) sont optimales pour (P) et (D) respecti-
vement si et seulement si
y(Ax b) = 0 et (c yA)x = 0:
Dé…nition 7.2.1 Soit x une solution du primal (P). Une contrainte de (P) est dite
saturée en x si le premier membre de cette contrainte est égal au son second membre. La
ieme contrainte sera dite serrée en x si la ieme contrainte est saturée en x et elle sera dite
lâche si la ieme contrainte est non saturée en x.
Théorème 7.2.5 Une condition nécessaire et su¢ sante pour que x et y soient des so-
lutions optimales de (P) et (D) respectivement est que :
Chapitre 7. Dualité 58
– Si une contrainte de l’un des problèmes duaux est lâche alors la variable duale de
l’autre problème est nulle.
– Si une variable de l’un des problèmes duaux est positive alors la contrainte corres-
pondante de l’autre problème est serrée.
Graphiquement, on peut constater que y = ( 56 ; 14 )t est une solution optimale pour (D).
Ainsi, on peut véri…er que à l’optimim (en y), la 1ere contrainte de (D) est lâche, tandis
que la 2eme et la 3eme contraintes de (D) sont serrées. D’après le théorème 7.2.5,x1 = 0.
5 1
Par ailleurs, vu que y1 = 6
> 0 et y2 = 4
> 0, alors la 1ere et la 2eme contraintes de (P)
sont lâches et par suite on a :
8
>
> 5x1 + 3x2 = 4 8 8
>
< < < x = 4
3x2 = 4 2 3
x1 + 2x2 + 4x3 = 4 ) ) :
>
> : 2x + 4x = 4 : x = 1
>
: 2 3 3 3
x =0 1
D’où x = (0; 43 ; 13 )t et z = 13
3
.
1. Déterminer une solution du primal tel que tous les ci sont négatifs ou nuls (solution
dual réalisable, c’est à dire les bi ne sont pas tous positifs).
6. Si tous les bi sont positifs, alors stop la base est optimale, sinon aller en (2).
xB x1 x2 x3 e1 e2 b
e1 1 1 0 1 0 8 v:s
e2 8 1 9 0 1 1
z 4 1 1 0 0 0
" v:s
Le critère de sortie appliqué à cette forme canonique indique que e1 est la variable de
sortie, tandis que x2 est la variable d’entrée. Par conséquent, le pivot sur l’élément à
l’intersection de la première ligne et de la deuxième colonne du tableau 1 engendre la
forme canonique du tableau 2 où les variables de base sont x2 et e2 .
xB x1 x2 x3 e1 e2 b
x2 1 1 0 1 0 8
e2 9 0 9 1 1 9 v:s
z 3 0 1 1 0 8
" v:s
La variable de sortie est donc e2 et la variable d’entrée est x1 . Le pivot sur l’élément à
l’intersection de la deuxième ligne et de la première colonne engendre la forme canonique
du tableau.3 où les variables de base sont x1 et x2 .
xB x1 x2 x3 e1 e2 b
8 1
x2 0 1 1 9 9
7
1 1
e2 1 0 1 9 9
1
4 1
z 0 0 4 3 3
11
xB x1 x2 e1 e2 b
7 1 56
x1 1 0 37 37 37
2 35 90
x2 0 1 37 259 37
41 47 1068
z 0 0 37 37 37
f1 f2 y1 y2
41 47 1068
D’où f 1 = f 2 = 0; y 1 = 37
; y2 = 37
et w = 37
.
Tableau de simplexe …nal du primal,
yB y1 y2 f1 f2 b
7 2 41
y1 1 0 37 37 37
1 35 47
y2 0 1 37 259 37
56 90 1068
w 0 0 37 37 37
e1 e2 x1 x2
56 56 90 1068
D’où e1 = e2 = 0, x1 = 37
= 37
, x2 = 37
et w = 37
.
Primal $ Dual
Variable primale $ Variable d’écart duale
Variable d’écart primale $ Variable duale
Variable de base primale $ Variable hors base duale
Ligne z primale $ Colonne b duale
Colonne b primale $ Ligne w duale