Documente Academic
Documente Profesional
Documente Cultură
Cercetri Operaionale
CO - Cursul 1
Capitolul 1
PROGRAMARE LINIAR
(I)
CO - Cursul 1
CO - Cursul 1
CO - Cursul 1
Condiiile n care se desfoar o anumit activitate economic analizat conduc la un sistem de relaii - ecuaii sau inecuaii - care conin variabilele problemei i coeficienii tehnologici care o caracterizeaz. Aceste relaii reprezint restriciile problemei. Scopul studiului este optimizarea unui anumit rezultat dependent de variabilele problemei. n formularea problemelor de programare matematic, obiectivul apare sub forma unei funcii, denumit funcie obiectiv (scop), ale crei valori maxime sau minime sunt cutate.
Cap.1. Programare liniar
CO - Cursul 1
Restriciile problemei i funcia obiectiv, cu anumite condiii impuse variabilelor, constituie modelul matematic al problemei. Dac att funcia obiectiv ct i restriciile sunt funcii liniare, atunci modelul este o problem de programare liniar.
CO - Cursul 1
CO - Cursul 1
S se ntocmeasc programul (planul) optim de producie al firmei astfel nct profitul total realizat s fie maxim. Elaborarea modelului matematic al problemei: Se noteaz cu xj (j = 1,..., n) cantitatea din produsul Pj ce urmeaz a fi produs. Funcia obiectiv este profitul total, care trebuie maximizat: [max] f = c1 x1 + c2 x2 + L + cn xn Restriciile problemei se datoreaz limitrii resurselor. Consumul din fiecare resurs Ri (i = 1,..,
Cap.1. Programare liniar
CO - Cursul 1
Condiiile asupra variabilelor sunt de nenegativitate: xj 0 (j =1,, n). Modelul matematic al problemei are forma:
[max] f = c1 x1 + c2 x2 + L + cn xn a11 x1 + a12 x2 + L + a1n xn b1 LLLLLLLLLLL am1 x1 + am 2 x2 + L + amn xn bm x 0, x 0, ..., x 0 2 n 1
CO - Cursul 1
10
Exemplu. Problem de utilizare a capacitii utilajelor O firm realizeaz n tipuri de produse care pot fi fabricate pe m utilaje, care au capaciti de producie limitate pe o anumit perioad. Se cunosc: procentul aij din capacitatea utilajului i (i = 1,..., m) necesar pentru fabricarea unei uniti din produsul j (j = 1,..., n); profitul unitar cj al produsului j. S se stabileasc un program de fabricaie care s permit utilizarea optim a capacitii disponibile a celor m utilaje.
Cap.1. Programare liniar
CO - Cursul 1
11
Elaborarea modelului matematic: Variabilele problemei sunt cantitile de produse fabricate n perioada considerat. Se noteaz cu xj (j = 1,, n) numrul de produse de tipul j. Funcia obiectiv este profitul total obinut de firm pentru cele n tipuri produse; funcia trebuie maximizat:
[max] f = c j x j
j =1 n
aij x j 1,
j =1
i = 1, m
CO - Cursul 1
12
CO - Cursul 1
13
CO - Cursul 1
14
Funcia liniar z este funcia obiectiv a problemei; ea trebuie minimizat sau maximizat. Celelalte relaii constituie sistemul de restricii ale problemei. n fiecare relaie apare doar unul din simbolurile " ", " ", " = ". Membrul stng al fiecrei relaii este o funcie liniar n variabilele x1 , x2 ,..., xn . Definiie. O problem de programare liniar (PL) const n optimizarea (minimizarea sau maximizarea) unei funcii liniare, cu respectarea unor restricii (egaliti i/sau inegaliti) liniare.
Cap.1. Programare liniar
CO - Cursul 1
15
Definiie. O problem de PL are forma standard dac toate restriciile sunt ecuaii i toate variabilele sunt supuse condiiei de nenegativitate. Problema de PL n forma standard scris explicit: [min] ([max]) z = c1 x1 + c2 x2 + L + cn xn a11x1 + a12 x2 + L a1n xn = b1 LLLLLLLLLLL am1 x1 + am 2 x2 + L amn xn = bm x 0, x 0, ..., x 0 2 n 1
CO - Cursul 1
16
CO - Cursul 1
17
Observaie. Din punct de vedere algebric, sistemul de restricii (ecuaii liniare) Ax = b poate fi: incompatibil, compatibil unic determinat sau compatibil nedeterminat. Evident, numai ultimul caz prezint interes practic, pentru c doar atunci se pune efectiv problema de a alege dintre mai multe soluii pe cea mai bun. Definiie. O restricie a unei probleme PL se numete concordant dac este o inegalitate de tipul " " cnd funcia obiectiv este minimizat i este de tipul " " cnd funcia este maximizat.
Cap.1. Programare liniar
CO - Cursul 1
18
Definiie. O problem de PL are forma canonic dac toate restriciile sunt concordante i toate variabilele sunt supuse condiiei de nenegativitate. O problem de PL de minimizare, n form canonic, se scrie explicit, respectiv, matriceal:
min c T x Ax b x0
CO - Cursul 1
19
O problem de PL de maximizare, n form canonic, se scrie explicit, respectiv, matriceal: max z = c1 x1 + c2 x2 + L + cn xn T max c x L a x a x a x b + + 11 1 12 2 1 1 n n Ax b LLLLLLLLLLL x0 am1 x1 + am 2 x2 + L amn xn bm x j 0 , j = 1, n
CO - Cursul 1
20
Orice problem de PL n forma general poate fi adus la forma standard, canonic sau mixt cu urmtoarele transformri echivalente: a) sensul unei inegaliti se schimb prin nmulire cu -1; b) transformarea unei inegaliti ntr-o egalitate se realizeaz prin introducerea unei variabile, numit variabil de compensare (abatere sau ecart), y 0, astfel nct:
aT x + y = a x y0
T
aT x y = a x y0
T
CO - Cursul 1
21
cu dou inegaliti
aT x T - a x
CO - Cursul 1
22
x= yz x arbitrar y, z 0
f) transformarea operatorului maxim n minim (sau invers) se realizeaz prin schimbarea semnelor coeficienilor din funcia obiectiv:
n min ci xi = max ci xi i =1 i =1 Observaii: 1) Variabilele de compensare nu apar i n expresia funciei obiectiv a problemei (coeficienii lor n funcia obiectiv sunt nuli).
n
Cap.1. Programare liniar
CO - Cursul 1
23
2) n problemele de PL cu semnificaie economic concret, variabilele de compensare introduse primesc, la rndul lor, interpretri economice precise; se motiveaz astfel includerea acestor variabile n setul variabilelor iniiale. Rezolvarea unei probleme de PL const n determinarea valorilor variabilelor care satisfac restriciile problemei i care optimizeaz funcia obiectiv.
CO - Cursul 1
24
Soluie. Problema din enun este n forma general. Forma standard a problemei se obine prin introducerea variabilelor de compensare x4 i x5, nenegative, n ultimele dou restricii:
Cap.1. Programare liniar
CO - Cursul 1
25
Forma canonic de minimizare a problemei se obine prin transformarea primei restricii a problemei originale n dou inegaliti de tipul " ":
CO - Cursul 1
26
min (3 x1 5 x2 + 2 x3 ) x1 + 4 x2 + 3 x3 15 - x1 4 x2 3 x3 15 2x x 1 1 2 3 x2 x3 7 x1 , x2 , x3 0
CO - Cursul 1
27
CO - Cursul 1
28
CO - Cursul 1
29
(*)
CO - Cursul 1
30
Vom nota mulimea soluiilor posibile ale problemei (*) prin: P = {x R n Ax = b, x 0} Observaie: Evident, prezint interes practic situaia n care mulimea P .
Definiie. Soluia posibil x1 este mai bun dect soluia posibil x2, dac z(x1) z(x2) cnd pentru funcia obiectiv z se cere minimul, respectiv, z(x1) z(x2) cnd pentru funcia obiectiv z se cere maximul.
Cap.1. Programare liniar
CO - Cursul 1
31
Definiie. Vectorul xRn se numete soluie de baz pentru sistemul de ecuaii Ax = b dac: a) x este soluie a sistemului Ax = b; b) coloanele din matricea A corespunztoare componentelor nenule ale lui x formeaz o mulime liniar independent. Definiie. O soluie de baz x* este soluie optim a unei probleme de PL dac z(x*) are cea mai mic valoare posibil n cazul unei probleme de minimizare, respectiv, cea mai mare valoare posibil n cazul unei probleme de maximizare.
Cap.1. Programare liniar
CO - Cursul 1
32
CO - Cursul 1
33
o soluie de baz nedegenerat, deoarece verific sistemul de restricii, condiiile de nenegativitate i are m = 3 componente strict pozitive; f ( x 2 ) = 274 / 7 .
x = (17 / 3, 25/6, 0, 5/2) este o soluie de baz nedegenerat optim; f ( x 3 ) = f min = 71 / 3.
3 T
CO - Cursul 1
34
Mulimea programelor (soluiilor admisibile) P este o mulime convex i nchis. Frontiera sa este compus din toate punctele ale cror coordonate satisfac, cu egalitate, cel puin una dintre restricii.
Definiie. Vectorul x P se numete vrf (punct de extremum) al mulimii P dac x nu poate fi scris ca o combinaie liniar convex nebanal de vectori din P, adic / (0,1) astfel nct / x1, x2P, x1 x2, 1 2 x = x + (1 - ) x . Teorem. O soluie posibil este soluie de baz dac i numai dac este vrf pentru mulimea P.
Cap.1. Programare liniar
CO - Cursul 1
35
Definiie. Se numete baz a unei probleme de PL n forma standard un grup de m coloane din matricea A liniar independente. Definiie. Baza B care satisface condiia B 1b 0 se numete baz primal admisibil.
CO - Cursul 1
36
CO - Cursul 1
37
Exemplu. Fie restricia 2x + 3y 12 i semispaiul nchis format din punctele care satisfac restricia. Punctul O (0, 0) nu aparine dreptei 2x + 3y = 12, iar coordonatele sale verific inegalitatea. Ca urmare, semispaiul conine originea O:
CO - Cursul 1
38
CO - Cursul 1
39
Exemplu. Fie restricia 4x + 2y + 5z 20 ce definete un semispaiu nchis n R3. Acesta se poate reprezenta n spaiul tridimensional prin trasarea planului 4x + 2y + 5z = 20. Punctul origine O verific restricia.
CO - Cursul 1
40
CO - Cursul 1
41
CO - Cursul 1
42
Ecuaia hiperplanului x + y = k reprezint o dreapt numit i curb de nivel a funciei obiectiv. Din geometria analitic se tie c distana d de la origine la dreapta de nivel x + y = k este d = k / 2. Deci, valoarea maxim a lui k se obine atunci cnd d are valoarea maxim. Deoarece soluia optim satisface att sistemul de restricii, ct i ecuaia curbei de nivel, este necesar ca
Cap.1. Programare liniar
CO - Cursul 1
43
dreapta s aib un punct n comun cu poligonul. Punctul respectiv are coordonatele (2, 3).
CO - Cursul 1
44
CO - Cursul 1
45
Soluia (soluiile) de baz optim a problemei se alege dup compararea valorilor funciei obiectiv calculate pentru soluiile de baz. Observaii: 1) Soluia optim a unei probleme de PL este chiar unul din vrfurile poligonului reprezentnd mulimea soluiilor posibile P. 2) n cazul n care curbele de nivel sunt drepte paralele cu una din laturile poligonului soluiilor admisibile, soluiile optime ale problemei sunt n numr infinit; din punct de vedere geometric, ele sunt punctele de pe acea latur a poligonului.
Cap.1. Programare liniar
CO - Cursul 1
46
Soluie. Condiiile de nenegativitate ale variabilelor implic utilizarea primului cadran al sistemului de axe x1Ox2 pentru reprezentarea grafic a dreptelor (obinute din cele patru restricii ale problemei):
Cap.1. Programare liniar
CO - Cursul 1
47
(d1 ) : 3 x1 + 2 x2 = 21 (d 2 ) : x1 + x2 = 8 (d3 ) : x1 =6 (d 4 ) : x2 = 7
i a dreptei (curba de nivel) (d): 5x1 + 4 x2 = 20. Intersecia celor patru semiplane este reprezentat prin mulimea haurat din figur i este mulimea P a soluiilor admisibile (posibile). Cel puin unul din vrfurile acestui poligon convex, O(0, 0), A(6, 0), B(6, 3/2), C(5, 3), D(1, 7), E(0, 7) este soluie optim a problemei. Pentru a-l determina se nlocuiesc, pe rnd, coordonatele acestor
Cap.1. Programare liniar
CO - Cursul 1
48
CO - Cursul 1
49
puncte n expresia funciei obiectiv z. Avem: z(O) = 5 0 + 4 0 = 0 z(A) = 5 6 + 4 0 = 30 z(B) = 5 6 + 4 3/2 = 36 z(C) = 5 5 + 4 3 = 37 z(D) = 5 1 + 4 7 = 33 z(E) = 5 0 + 4 7 = 28 Valoarea maxim se obine pentru punctul C(5, 3). Prin urmare, soluia optim a problemei * * este x1 = 5, x 2 = 3. Valoarea corespunztoare a * z funciei obiectiv este = z max = 37.
Cap.1. Programare liniar
CO - Cursul 1
50
[max] z = 5 x + 3 y x + 2y 4 3x + 2 y 9 x 0, y 0
[min] z = 5 x + 3 y x + 2y 4 3x + 2 y 9 x 0, y 0
Pentru problema de maximizare, curbele de nivel au n comun cu tronsonul soluiilor admisibile un segment, orict de mare ar fi distana de la origine la respectivele drepte. Funcia obiectiv poate lua valori orict de mari, are valoarea optim infinit. Pentru problema de minimizare, valoarea
Cap.1. Programare liniar
CO - Cursul 1
51
minim se obine cnd distana de la origine la curbele de nivel este minim, n punctul (0, 2).