You are on page 1of 10

Programmation linaire

Aprs la 2me guerre mondiale, durant cette guerre, la programmation linaire tait une
application militaire qui est devenue une application de la gestion.
La recherche dinformations en minimisant les cots.

Recherche oprationnelle =

Programmation linaire
Programmation dynamique
Mthode des graphes
PERT
Mthode des potentiels

1) dfinition et vocabulaire :
la programmation linaire peut se dfinir comme un outil mathmatique qui
permet danalyser des problmes dans lesquels on trouve une fonction linaire
dun certains nombre de variables appeles fonctions conomiques que lon dsire
optimiser
( maximiser ou minimiser ).
Ces variables sont soumises des restrictions imposes par la situation physique,
pratique ou conomique du problme. Les restrictions qui sont imposes prennent
la forme dquation ou dinquation linaire dans la formulation dun modle de
programmation linaire.
Le mot programmation veut dire dans notre contexte, un processus ordonn avec
lequel nous rsolvons les problmes, il na aucun lien avec la programmation dun
ordinateur, ce dernier est utilis pour rsoudre des problmes de programmation
linaires en effectuant les oprations arithmtiques ncessaires lobtention de la
solution.
2) historique :
la 1re publication en PL a t en 1939 par les mathmaticiens russes L.V
Kantorovich, cependant Dantzig a le mrite de dcouvrir lalgorithme le plus
utilis pour rsoudre un problme de PL ( le simplexe ).
Les premires applications taient de nature militaires mais maintenant elles sont
nombreuses et rparties dans multiples domaines ( gestion, finance, conomie ).
La PL est peut tre aujourdhui loutil mathmatique le plus efficace qui soit
permis dutiliser dans la rsolution de problmes industriels et conomiques.
3) formes dun PL :
un PL peut se prsenter sous lune des 3 formes suivantes :
1- forme gnrale ou mixte
2- forme canonique
3- forme standard
notons x1 ; x2 xn les x variables du problme, ces variables sont soumises un
systme de n contrainte dindice 1, 2, 3 .n.
ces contraintes reprsentent soit des ingalits, dinfriorit (<) de supriorit (>) ,
soit des galits.
Tout problme de PL se reprsente sous la forme gnrale suivante :
Z = Ck Xk
Sous les contraintes de non ngativit :
Xk 0 V K appartenant [ 1 ; n ]

Et les autres contraintes de non ngativit :


aij . xj di
aij . xj di
aij . xj = di
exemple :
Z = 5x1 + 2x2
Z = Ck Xk
Z = Cx = [ 5 ; 2 ] [X1]
X2
Ax d
X 0
Un tel programme sous une forme mixte ; ; = , si toutes les contraintes
reprsentent des ingalits au sens large.
Le PL est dit sous forme canonique si toutes les contraintes reprsentent des galits,
le programme est dit sous sa forme standard.
Remarque :
Quelque soit la forme sous laquelle se prsente le problme, on peut toujours le
ramener la forme quon souhaite.
Exemple :
Z = 2x1 + 3x2
2x1 +2x2 2
2x1 x2 3
3x1 + 2x2 = 5
pour les galiser, le programme peut scrire :
Z = 2x1 + 3x2 + 0x3 + 0x4
2x1 + 2x2 x3 + 0x4 = 2

2x1 x2 0x3 + x4 = 3
2 2 -1 0
3x1 + 2x2 + 0x3 + 0x4 = 5
2 -1 0 1
3 2 0 0

la forme canonique est plus pratique quand il sagit dinterprtation graphique.


La forme standard est plus pratique quand il sagit dinterprtation matricielle.
2x1 + 2x2 2

x2 1 x1

Exemple :
Un industriel dispose de 3 machines N1 , N2 et N3
Pour fabriquer 3 biens A , B et C.
Le tableau de fabrication des biens A, B et C est le suivant :
40
A
B
C
45
M1
1A
3B
2C
38
M2
3A
2B
1C
M3
1A
1B
4C
Interprtation : pour
fabriquer un bien A, il faut une heure de machine N1, 3h machine N2 et 1h machine
N3, mme pour B et C.
Chacune des machines M1 M2 et M3 ne peuvent fonctionner qu nombre limit
dheure par semaine :
40h pour M1
45h pour M2
38h pour M3
lindustriel connat de plus le prix unitaire de chaque un des bien A B et C :
10 pour A ; 14 pour B ; et 12 pour C.
dterminer la production des biens A, B et C qui assure lindustriel le CA optimum.
Si on maximise le CA, Z = 10A + 14B +12C
Il faut que A B et C 0
X1, x2, x3 les quantits respectives des biens A B et C.
4) rsolution de PL par la mthode des graphes :
lorsque le nombre de variables est infrieur 3, les problmes de PL peuvent tre
reprsents et rsolus graphiquement.
( pour plus de 2 variables, la mthode graphique reste inoprationnelle )
exemple : maximiser Z = 5x1 + 3x2
sous 3x1 + 5x2 15
5x1 + 2x2 10
x1 et x2 0
Y x2
5
C
B
O

A2

x1 X

Lensemble des points x1 et x2 satisfaisant au systme de contraintes se trouve


lintrieur du polydre OABC ; on l(appelle lensemble programmes admissibles.
Lobjectif est dons de dterminer parmi la famille de droite dquation Z = 5x1 + 3x2
( obtenus en faisant varier la valeur du paramtre Z celle qui tant la plus loigne de
lorigine ( max ) ait au moins un point de contact avec le domaine des programmes
admissibles ( B dans notre cours )

Les points qui maximisent Z = {O, A, B, C}


B est obtenu par lintersection des droites :
{5x1 + 2x2 = 10
{3x1 + 5x1 = 15
x1 = 20/19 ; x2 = 45/19
et on remplace Z pour trouver Z = 235/19
U2
exemple : minimiser Z = 15 U1 + 10 U2
U1 0 ; U2 0
A
{3U1 + 5U2 5
{5U1 + 3U2 3
B
C
O

U1

On cherche parmi tous les points ( U1, U2 ) les domaines hachurs, celui qui rend
minimum :
Z = 15U1 + 10U2 ( B le moins loign de lorigine )
Le programme optimale est donc dtermin par le systme : {3U1 + 5U2 = 5
{5U1 + 3U2 = 3
U1 = 5/19 ; U2 = 16/19 ; Z = 235/19
remarque : si la direction de la fonction conomique est parallle laide des
segments dfinissants la frontire du programme admissible alors il ya une infinit de
solutions optimales.
D
C

la maximisation est toute en segment


B
Si le systme des contraintes est incompatible, il

ny a
O
Max : x1 + 2x2
X1 0 et x2 0

aucune solution.
{ x1 + x2 1
{ X2 x1 -2

Dans le cas o lensemble des programmes nest pas born, il peut ne pas y avoir des
solutions optimales.

Exemple :
Maximiser Z = x1 + x2
X1 0 ; X2 0

X2 X1 1
- X1 + x2 2

X2 1 + X1
x2 2 + x1

X2

B
A
X1

Pour la fonction conomique x2 x1 il y a un programme optimale unique, bien


que le domaine ne soit pas born.
II) rsolution dune PL : la mthode de simplexe
Lalgorithme de simplexe consiste :
- dterminer une solution de base.
- Faire subir un test doptimalit cette solution optimale.
sil sagit de la solution optimale, le problme est termin.
Sil ne sagit pas de solution optimale, il faut changer la solution de base et
puis reprendre la procdure prcite, jusqu lobtention de la solution
optimale.
Notons enfin que pour raliser des oprations successives complexes, il convient de
mettre le programme sous une forme standard.
La mthode de simplexe peut tre formuler de diffrentes manires :
- formulation algbrique
- formulation matricielle
- la rsolution pratique : mthode des tableaux
A) formulation matricielle :
soit le PL : Z = C1 X1 + C2 X2 + ..+ Cn Xn
x1, x2, , xn 0
A11 X1 + A12 X2 + ..
.A1n Xn = d1
A21 X1 + A22 X2 + ..
.A2n Xn = d2
An1 X1 + An2 X2 + ..
.............Ann Xn = dn

X=

X1
X2
.
.
.
Xn

et D =

d1
d2
.
.
.
dn

A=

A1

A2

An

le programme stend

a11

a12

a1n

a22

..

a2n

sous forme :
Z = CX
X>0

a21
..

..

..

an1

an2

..

ann

AX = D

Soit en notant A1, A2, An les matrices colonnes de la matrice A , lexpression


Ax = D devient A1X1 + A2X2 + ..+ AnXn = D
La rsolution du systme dpend du rang de la matrice A.
On peut donc extraire du A au moins une sous matrice carre B, m lignes et n
colonnes, de dterminant non nul.
Soit R la sous matrice du A constitu par les colonnes du A qui nappartiennent pas
B.
Notations :
I = lensemble des indices des colonnes de la matrice.
A = ( A1, A2, .., An ) et I = { 1, 2, 3, ., n }
Ib = lensemble des indices des colonnes de la matrice B.
Ir = lensemble des indices des colonnes de la matrice R.
I = Ib U Ir
Le systme A1X1 + A2X2 + ..+ AnXn = D montre qu chaque colonne Aj de
A on peut associer une variable xj.
XB = la matrice colonne des variables associes aux colonnes de la matrice B
XR = la matrice colonne des variables associes aux colonnes de la matrice R.
a) dtermination de la solution initiale de base
le systme A1X1+A2X2+...+AnXn donc il admet une infinit de solution en
rsolvant ce systme par rapport aux variables de la matrice Xb et Xr devient systme
de Cramer.
Une solution particulire est obtenue en attribuant des valeurs nulles Xr.
Si X*b>0 alors cette solution correspond un programme de base( on est pass un
sommeil de polyelles connexe)
Autrement dit la dtermination du programme de base implique la recherche mat B de
rang m appele matrice de base o les variables X ET B associes sappellent
variables de base et Xr sont dites variables hors base.
La solution X*b correspond un programme de base, le problme est de savoir si la
solution de base X*b est optimale et dans ce cas il est unique cest dire il existe une
matrice rgulire B de rang m laquelle on pourrait associer une solution de base
X*b meilleure X*b.

b) explicitations du systme :
peut scrire BXB + RXR = D
sachant que la solution X*b dsigne la matrice colonne des valeurs des variables de
base qui sont solution du systme lorsque les variables secondaires sont nulles, donc
et comme R est inversible x*B = B-1 D
cest dire : xB + B-1 R xR = B-1 D = x*b
si on note : Y= B-1 R
Yk= ( k appartient IR ) des matrices colonnes de Y.
Lquation scrit : xB + YXR =x*Bavec xk =variables colonnes
Ou YXR=x*R-XR = la somme de Yk xk yk=matrice colonne
Enfin : xB+ la somme de yk xk = x*B
c) transformation de la fonction conomique :
Z= CX
CB correspond au coefficient des variables de base X , B et C, R
La matrice correspondant aux variables secondaires...
- la fonction conomique scrit donc Z = CB xB + CR xR
- soit Z la valeur de la fonction conomique correspondant au programme de
base X*B , donc :
Z= CB XB (xR=0)
Z- Z = CB (xB-x*B) +CR xR
Ou
xB + YxR = x*B
- xB +- xB = -YxR
Z-Z = CBY xR + CR xR = (CR CBY) xR
- soit M la matrice CBY ( 1L (n-n) col)
- m les lments de M
- Ck les lments de C*
d) teste doptimisation :
thorme :
si B est une matrice de base laquelle est associe une solution de base x*B , la
condition ncessaire et suffisante pour qu(un programme soit :
cas dun max
la solution x*B est max si Ck-mk < 0 quelque soit k appartenant Ir
cas dun min
le programme x*R est minimum si Ck mk > 0 V k appartenant Ir
si pour au moins un indice k appartenant Ir Ck- Lk = 0
alors il y a une infinit de programme optimum.
Exemple :
Z = 400 X1+500 X2
Sous : (1) 0.5 X1+ 0.2 X2 < 13600
(2) 0.3 X1+ 0.6 X2 < 12000
(3) 0.2 X1 + 0.2 X2 < 10400

X2 < -2.5X + 68000 (1)


X1 < 20000
X2 < 16000
0.6 X2 < 12000-0.3 X1 (2)
X2 < 20000-0.5 X1
0.2 X2 < 10400-0.2 X1 (3)

X2 < 52000-X1
C

70000
60000
B
50000
40000
30000
20000
10000
A

30000

20000

10000

on met les contraintes sous leurs formes standards :


0.5 X1 + 0.2 X2 + e1 = 13600
0.3 X1 + 0.6 X2 + e2 = 12000
0.2 X1 + 0.2X1 + e3 = 10400
x1 + e4 = 20000
x2 + e5 = 16000

X1

20000

10000

5000

10000

X2

10000

25000

E1

13600

36000

8600

9100

3600

E2

12000

6000

9000

4500

-6000

E3

10400

7400

8400

7400

3400

E4

20000

10000

15000

10000

E5

16000

16000

16000

16000

16000

Parmi lensemble des solutions admissibles, les solutions de base comportent 2


variables nulles , toutes les autres solutions admettent soit une seule (E) soit aucune
variable nulle (F et G).
La solution de base comprend :
- les variables hors base : il y a au moins autan de variable hors base (VHB)
nulles que le problme comporte de variables relle.
- Les 2 VHB sont x2 et e4 pour le point A
- Les variables en base sont x1 ; e1 ; e2 ; e3 ; e5 pour A
Le test doptimalit repose sur un raisonnement la marge qui permet de savoir si la
solution de base teste fournit ou non le meilleur rsultat conomique.
En exprimant le rsultat conomique Z en fonction des VHB, on aura :
X1 = 20000 e4 ( contrainte n4 )
X2 = 10000 - 5/3 e2 + e4 (contrainte n2)
Z = 13000000 2500/3 e2 150 e4
Remarque :
Sil y a plusieurs indices R de Ir tel que mk-ck, on peut amliorer la fonction
conomique dans la pratique on choisit la variable x qui a le coefficient positif mj-cj
le plus lev, cest dire on passe de x*B X*B
(changement de base de B vers B) avec le minimum ditrations.
Max Z = 32 x1 + 15 x2
Le coefficient le plus lev est 32, il permettra de maximiser rapidement litration.
Une variable va entrer dans la base et autre va sortir.
- le critre de dtermination des variables dentre et de sortie :
variables dentre : variable secondaire qui entre dans la base
variable de sortie : variable de base qui ny figure plus.
Les critres de dtermination de cette variable sont appels critres dentre et de
sortie.

cas dun maximum : le critre dentre dans la nouvelle base est tel que ( ckmk) = max (cj-mj)
le maximum (32 , 15) = 32
critre de sortie de lancienne base est x*P/ypk =min x*I/yik
x*P : valeur sortante

cas dun minimum :


critre dentre : ck mk < et de plus grande valeur absolue
critre de sortie : x*P/ypk = min x*I/yik

III) procdure algbrique :


Max : Z = 400 X1 + 500 X2
Sous 0.5 X1+ 0.2 X2 < 13600
0.3 X1 + 0.6 X2 < 12000
0.2 X2 + 0.2X2 < 10400
X1 < 20000

X2 < 16000
Xi > 0 quelque soit xi
Ei > 0
- sous sa forme standard :
0.5 X1 + 0.2 X2 + E1 = 13600
0.3 X1 + 0.6 X2 + E2 = 12000
0.2 X1 + 0.2 X2 + E3 = 10400
x1 + e4 = 20000
x2 + e5 = 16000
0 est une solution de base naturelle de dpart
x1 = x2 = 0
VHB
e1.e5 > 0
VB Et Z = 0
le test doptimalit nous permettra de constater que les coefficients sont tous
positifs . la base O nest pas optimale.
Il faut changer de base, cest dire procder des itrations.
Itrations :
1re itration : 500 > 400 > 0 x2 doit entrer en base
avec pour valeur de la nouvelle base :
X2 = min [ 13600/0.2 ; 12000/0.6 ; 10400/0.2 ; oo ; 16000/1 ]
X2 = 16000
La variable e5 doit sortir, cest la variable sortante e5=0 solution HB

You might also like