Professional Documents
Culture Documents
Programmation lineaire
1.1 Exemple. . . . . . . . . . . . . . . . . . . .
1.2 Forme generale dun programme lineaire. . .
1.3 Formes matricielles classiques et convensions.
1.4 Interpretation e conomique. . . . . . . . . . .
.
.
.
.
.
.
.
.
2
2
3
3
4
Resolution graphique.
Algorithme du simplexe .
4.1 Exemple. . . . . . . . . . . . . . . . . . . . . .
4.2 Algorithme du simplexe. . . . . . . . . . . . . .
4.3 Complexite de lalgorithme et e fficacite pratique.
1
11
12
13
15
4.4
16
17
la notion de dualite.
5.1 Theor`emes de dualite. . . . . . . . . . . . . . . .
5.2 Interpretation e conomique de la dualite. . . . . .
17
17
20
Exercices
22
Programmation lineaire
La programmation lineaire est un outil tr`es puissant de la recherche operationnelle. Cest un outil generique qui peut resoudre
un grand nombre de probl`emes. En effet, une fois un probl`eme
modelise sous la forme dequations lineaires, des methodes assurent la resolution du probl`eme de mani`ere exacte.
On distingue dans la programmation lineaire, la programmation
lineaire en nombres reels, pour laquelle les variables des e quations
sont dans IR+ et la programmation en nombres entiers, pour laquelle les variables sont dans IN . Bien entendu, il est possible
davoir les deux en meme temps. Cependant, la resolution dun
probl`eme avec des variables enti`eres est nettement plus compliquee
quun probl`eme en nombres reels.
Une des methodes les plus connues pour resoudre des programmes
lineaires en nombre reels est la methode du Simplex. En theorie,
elle a une complexite non polynomiale et est donc supposee peu
efficace. Cependant, en pratique, il sav`ere au contraire quil sagit
dune bonne methode.
Un programme lineaire est la maximisation ou la minimisation
dune fonction lineaire sous des contraintes lineaires.
1.1
Exemple.
M ax z = 500x1 + 700x2
(1)
x 0, x 0
(4)
1
2
(1) : est le profit total qui est a` optimiser appele fonction objective.
(2) et (3) sont des contraintes. (2) est la disponibilite du four et
(3) est la disponibilite du broyeur.
(4) est le domaine des variables.
1.2
n
P
cj xj
j=1
n
P
aij xj , = ou bi
(2) i = 1, ..., m :
j=1
(3) j = 1, ..., n xj 0
(1) : fonction objective.
(2) : m contraintes lineaires.
(3) : contraintes de positivite.
1.3
Forme standard :
Forme canonique :
max z = cx
max z = cx
,
Ax = b
Ax b
x 0.
x 0.
La forme canonique avec des contraintes sutilise dans la
representation graphique, et la forme standard avec des contraintes
e galite sutilise dans la resolution algebrique.
Remarque : 1. Ces formes ne servent qu`a simplifier les representations
theoriques.
Dans la realite un probl`eme lineaire peut comporter des contraintes
e galitees ou inegalitees.
Ainsi
n
P
aij xj = bi
j=1
n
P
aij xj bi
n
P
aij xj bi
j=1
n
P
et
aij xj bi
j=1
n
P
ei
= bi
|{z}
j=1
j=1
variable decart.
max z = min z x R, x = x+ x avec x+ et x R+.
1.4
aij xj +
Interpretation e conomique.
Resolution graphique.
x1 + 2x2
6
3
0
max z = cx
(P )
Ax = b
x0
3.1
On partitionne A sous la forme suivante : A = [B N ] ( on suppose pour faciliter la presentation que les colonnes de bases sont
les m premi`eres colonnes), on partitionne de meme les vecteurs x
et c. x = (xB , xN )T et c = (cB , cN )T .
Ax
= b
BxB + N xN = b
xB = B 1b B 1N xN .
z = cx = cB xB + cN xN
= cB B 1b + cN cB B 1N xN .
On note cN = cN cB B 1N.
Le probl`eme (P ) secrit alors sous la forme :
max z = cB B 1b + cN xN
(P 0)
xB = B 1b B 1N xN
x B , xN 0
Cest la forme canonique par rapport a` la base B.
solution
de base si elle verifie Ax = b et x =
x est dite
xB = B 1b
.
xN = 0
Si en plus xB 0 alors x est une solution de base realisable.
x est dite solution realisable si elle verifie les contraintes cest
a` dire Ax = b et x 0.
Example 1. Determiner les bases et les bases realisables du syst`eme
suivant :
x1 + x2 + x3 = 6
x2 + x4 = 3
x 1 , x 2 , x 3 , x4 0
1 1 1 0
A=
.
0 1 0 1
1 2
1 1
B1 = A A =
0 1
1
1
6
3
= xB1 = B11b =
=
0.
0 1
3
3
B1 est une base re
alisable.
1 3
1 1
B2 = A A =
= det B2 = 0.
0 0
B2 nest pas une base.
1 4
1 0
B3 = A A =
0 1
6
= xB3 = B31b =
0.
3
B3 est une base re
alisable.
2 3
1 1
B4 = A A =
1 0
3
= xB4 = B41b =
0. B4 est une base realisable.
3
2 4
1 0
B5 = A A =
1 1
6
= xB5 = B51b =
0.
3
B5 nest pas une base
realisable.
3 4
1 0
B6 = A A =
0 1
8
6
= xB6 = B61b =
0.
3
B6 est une base realisable.
3.2
max z
x1 + x2 + x3
x2 + x4
x 1 , x 2 , x 3 , x4
=
=
=
x1 + 2x2
6
3
0
nous avons deja verifie que B1, B3, B4, B6 etaient realisables pour
verifier loptimalite nous allons calculer le cN associe.
B1 : cN = cN cB B 1N
1 1
1 0
= (0 0) (1 2)
= (1 1) < 0.
0 1
0 1
B1 est optimale, z = cB B 1b = 9.
B3 : cN = (1 1). B3 est non optimale, et z = 6.
B4 : cN = (1 2). B4 est non optimale, et z = 6.
B6 : cN = (1 2). B6 est non optimale, et z = 0. Do`u la
seule baseoptimale
est B1, la solution optimale correspondante
3
3
est x = .
0
0
3.3
10
Operation de pivotage.
1 si j = i, j 6= r
1s si j = i = r
A
j
Di = Asir
As si j = r, i 6= r
r
0
sinon
est appelee matrice de pivotage sur lelement Asr de A.
Theorem 9. Si on applique loperation de pivotage a` la matrice
(A, b) du syst`eme Ax = b, on obtient la matrice (DA, Db). Le
syst`eme DAx = Db est e quivalent a` Ax = b.
3.5
max z = x1 + 2x2
x1 + x2 + x3
=6
x2 + x4 = 3
x ,x ,x ,x 0
1 2 3 4
lalgorithme consiste a` construire une suite de bases realisables,
de profit croissant jusqu`a ce quil ny ait plus de gain possible.
On prend comme base realisable de depart la base B = A3 A4 =
11
x3 = 6 x1 x2
I. x4 = 3 x2
z = 0 + x1 + 2x2
B.
x1 = 6 x2 x3
x = 3 x2
4
z = 6 + x2 x3
base B = A1 A4 .
x1 = 3 x3 + x4
x = 3 x4
2
z = 9 x3 x4
base B = A1 A2 .
3300
t
Algorithme du simplexe .
max z = + cx
(P P )
Ax = b
x0
o`u A est une matrice m n de rang m. (P P ) est e cri sous forme
canonique par rapport a` une base B. 1. Si c 0 la base B est
optimale, et la solution de base associee est solution optimale de
(P P ).
2. Sil existe s une colonne de A : As
/ B, avec cs > 0 et
s
I = {i : Ai > 0} = alors (P P ) na pas de solution optimale.
3. Sil existe s une colonne de A : As
/ B, avec
h ics > 0 et
I = {i : Asi > 0} =
6 . Soit r tel que Abrs = min Abis et soit xt
r
12
iI
Exemple.
2x1 + x2 + x3
=8
x1 + 2x2 + x4 = 7
(P )
x2 +
x5 = 3
xi 0, j = 1, ..., 5
4x + 5x = z(max)
1
2
La solution de base associee a` B 0 est
x1 = 0, x2 = 0, x3 = 8, x4 = 7, x5 = 3 et z = 0.
cN = (4, 5) > 0,
choisissons
par exemple
lindice 1 qui entre en base c1 = 4 > 0,
2
8
A1 = 1 et b = 7 .
3
0
8 7 8
bi
1
min 1 ; Ai > 0 = min 2 , 1 = 2 = b11 = B(r) = 3 sort de
Ai
A1
13
1
1
x
+
x
+
1
2
2
2 x3 = 4
3
1
2 x2 2 x3 + x4 = 3
(P )
x2 + x5 = 3
xi 0, j = 1, ..., 5
3x 2x = 8 + z(max)
2
3
1
4
2
3
c = (0, 3, 2, 0, 0) c2 > 0 A2 = 2 , b = 3 , min{ 41 , 33 , 31 } =
2 2
1
3
b2
A22
1
2
x
+
3
1
3
3 x4 = 3
x2 31 x3 + 23 x4 = 2
1
2
(P )
x
3
3
3 x4 + x5 = 1
xi 0, j = 1, ..., 5
x 2x = 22 + z(max)
3
4
c = (0, 0, 1, 2) 0, do`u la base est optimale et la solution de
base est
3
0
xB2 = 2 , xN2 =
et z(max) = 22 .
0
1
4.2
Algorithme du simplexe.
Ax = b x 0
cx = z(max)
Forme standard. (On consid`ere b 0, si bi < 0 on multiplie
lequation par 1) Nous cherchons a` trouver une base realisable
de (P ) et a` e crire (P ) sous forme canonique par rapport a` cette
base. On
consid`ere le probl`eme auxiliaire suivant :
Ax + Iv = b x, v 0
Pm
Les variables vi sont dites
(P A)
v
=
(min)
i
i=1
artificielles.
Consideron le probl`eme lineaire . (P )
(1)
17
(2)
4.4.1
La methode du grand M.
On introduit les variables artificielles directement dans la fonction objectif du probl`eme dorigine :
m
P
vi
max z = cx M
i=1
Ax + Iv = b
x, v 0
la notion de dualite.
Theor`emes de dualite.
18
Primal (Dual)
| Dual (Primal)
Fonction objective (Max) | Fonction objective (Min)
ie`me contrainte
| ie`me variable 0
ie`me contrainte
| ie`me variable 0
ie`me contrainte
=
| ie`me variable 0
j e`me variable
0
| j e`me contrainte
j e`me variable
0
| j e`me contrainte
j e`me variable
0
| j e`me contrainte =
Example 13.
x1 x2 1
P rimal
2x1 + 3x2 4
x1 + x2 = 3
x 0, x 0
1
2
u1 + 2u2 + u3 2
Dual
u1 + 3u2 + u3 = 3
u 0, u 0, u 0
1
2
3
Lemma 14. Pour tout couple de solutions x, y respectivement realisables
pour (P ) et pour (D) on a
x yb.
c
Corollary 15. Si x et y sont respectivement des solutions realisables
x yb alors
des programmes (P ) et (D) et si de plus c
c
x = yb
x et y sont respectivement
des solutions optimales de (P ) et (D).
19
20
5.2
x 1 , x2 0
on ajoute les variables decarts x3 et x4 aux deux contraintes (I)
et (II).
x 1 , x 2 , x 3 , x4 0
on applique lalgorithme du simplexe sur ce dernier probl`eme avec
la base de depart B1 = {x3, x4} . x2 entre en base et x3 sort de la
base ; On e crit le probl`eme sous forme canonique par rapport a` la
nouvelle base B2 = {x2, x4}
1300
70
max
z
=
8400
3
3 x3
4
1
3 x1 + x2 + 30 x3 = 12
20x1 x3 + x4 = 120
x 1 , x 2 , x 3 , x4 0
70
cN = ( 1300
,
21
max cx
(P ) Ax = b
x0
pour une variation b suffisament faible du second membre, pour
que la base optimale de (P ) reste optimale pour (P ),
max cx
(P ) Ax = b + b
x0
est yb, (o`u y est solution optimale du dual de (P )).
22
Exercices
Exercices1 :
x1 + 2x2 3x3 = 1
(P )
2x1 x2 5x3 2
x1 + 3x2 + 3x3 1
x 1 , x2 0
1. Mettre ce programme sous forme canonique, sous forme standard.
2. Le probl`eme e tant mis sous la forme standard, on a m = 3 et
n=6
Ecrire A2, A3, A4 posons I = {1, 3} et J = {2, 4, 5} .
Ecrire bI , C J , AI , AJ , AJI .
Exercices2 :
min C.x
(P )
A.x = b
j xj j , j = 1, ..., n
est un programme lineaire. Lecrire sous forme standard.
Exercices3 :
n
P
| vi |
min c.x
i=1
(P )
A.x U v = b
x0
23
(o`u U est la matrice unite de la forme (m, m)), peut secrire sous
forme dun programme lineaire.
Exercices4 :
Un editeur dispose de deux depots, D1 et D2, possedant respectivement 5 et 4 exemplaires dun ouvrage. Trois libraires, L1, L2, L3
lui demandant respectivement 2, 3 et 4 exemplaires de cet ouvrage au cours de la journee. Si les couts unitaires de transport
des depots vers les libraires sont les quantites indiquees dans le
tableau ci-dessous, determiner le plan de transport de cout minimums.
24
L1 L2 L3
D1 2 5 2
D2 7 3 6
Exercice6 :
max z = x1 + 3x2
x1 + x2 + t1 = 14
(P )
2x1 + 3x2 + t2 = 12
2x1 x2 + t3 = 12
x 0, t 0, i = 1, 2, 3.
i
i
1. Donner toutes les solutions de bases de (P ).
2. Donner les solutions de bases realisables de (P ).
3. Representer graphiquement les solutions de bases et les solutions de bases realisables. Resoudre graphiquement le probl`eme.
4. Determiner la base optimale, puis e crire le probl`eme sous forme
canonique par rapport a` cette base.
Exercice7 :
Consid
erons les probl`emes suivants :
min z = x2 x1
2x1 x2 2
(1)
x1 x2 2
x1 + x2 5
x 1 , x2 0
25
x1 + x2 6
(2)
x1 4
x2 3
x 1 , x2 0
min z = x2 x1
2x1 x2 2
(3)
x1 2x2 8 et le probl`eme (P )
x1 + x2 5
x 1 , x2 0
1. Resoudre les quatre probl`emes avec la methode du simplexe.
2. Ecrire leur probl`emes duaux
3. Pour le probl`eme (1) donner une solution primale realisable
et une solution duale realisable, puis verifier le Theor`eme de dualite.
4. a. Verifier dans le probl`eme (1) le theor`eme de dualite pour
x = (6, 8) et y = ( 95 , 25 , 0).
b. Verifier le theor`eme de dualite pour x = ( 27 , 32 ) et y = (0, 1, 0).
Exercice8 :
2x1 + x2 3
(P )
2x1 x2 5
x1 + 4x2 6
x 0, x 0
1
2
a) La solution definie par x1 = 3, x2 = 1 est-elle realisable ?optimale ?
7
,
x
=
ealisable ?optimale ?
b) La solution definie par x1 = 26
2
9
9 est-elle r
26
Exercice9 :
2x3 + x4 + 3x5 4
3x1 +
4x3
+ x5 3
x2 x3
+ 2x5 2
xi 0, i = 1, ..., 5
Exercice10 :
27