Professional Documents
Culture Documents
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 ]
2x1 x2 0x3 + x4 = 3
2 2 -1 0
3x1 + 2x2 + 0x3 + 0x4 = 5
2 -1 0 1
3 2 0 0
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
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
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
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
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 < 52000-X1
C
70000
60000
B
50000
40000
30000
20000
10000
A
30000
20000
10000
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
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
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