Documente Academic
Documente Profesional
Documente Cultură
103
INTRODUCERE
Cercetarea operaţională reprezintă ansamblul de principii,
metode si mijloace destinate elaborării de modele matematice ale
fenomenelor şi proceselor manageriale, în vederea adoptării unor
decizii care să contribuie la modificarea acestora în direcţia
dorită de manager. Cercetarea operaţională se bazează pe
aplicarea combinată a principiilor analizei ştiinţifice, logicii şi
interpretării în scopul soluţionării unor probleme cantitative care
se pun la adoptarea deciziilor manageriale. Programarea liniară
reprezintă un capitol al programării matematice, consacrat teoriei
şi metodelor numerice de rezolvare a problemelor de optimizare,
respectiv de maximizare sau minimizare, a unei funcţii liniare
de mai multe variabile, în condiţiile unor restricţii liniare sub
forma de egalităţi sau inegalităţi liniare.
TERMENI CHEIE
program liniar
funcţie obiectiv
sistem de restricţii
problema duală
104
8.1 Programarea liniară
105
………………………….. (8.3)
am1X1 + am2X2 + ...+ amnXn = bm
X1 0, X2 0, .., Xn 0, i=1….m, j=1….n
Având în vedere cele arătate până aici putem observa că:
sensul unei inecuaţii se schimbă prin înmulţire cu –1;
deoarece min f(x) = –max (–f(x)), o problemă de
minimizare se poate transforma în una de maximizare şi
invers;
de la forma generală se poate trece la cea standard
(respectiv de la inegalităţi în constrângeri la egalităţi)
ţinând seama că o inegalitate se poate transforma în
egalitate prin adăugarea sau scăderea unei variabile de
compensare sau de ecart.
2. Problemele de programare liniară se bazează pe
următoarele ipoteze:
atât funcţia obiectiv cât şi constrângerile sunt funcţii
liniare de XJ (nu există puteri sau produse încrucişate ale
variabilelor); de asemenea, resursele utilizate sunt
proporţionale şi au proprietatea de a fi aditive (dacă sunt
necesare 2 ore pentru realizarea unei mese, pentru două
mese sunt necesare 4 ore, etc).
valorile constantelor aij, Cj şi bi trebuie să aibă valori
certe şi nu probabilistice.
Aplicaţie
În două depozite de combustibil A1 şi A2 , se găsesc 200
tone, respectiv 300 tone de benzină. Aceste depozite sunt situate
în cadrul unei rafinării.
Benzina existentă în aceste rezervoare trebuie transportată
către trei staţii PECO, în locaţii diferite, notate B1 , B2 şi B3 , în
cantităţile: 100 t, 300 t, respectiv 100 t. Suplimentar, se cunosc
informaţii legate de costul transportului unei tone de combustibil
de la locaţia rezervor la o locaţie PECO. De la A1 la B1 4000
u.m., de la A1 la B2 9000 u.m., de la A1 la B3 3000 u.m., de la A2
la B1 5000 u.m., de la A2 la B2 8000 u.m., de la A2 la B3 7000
u.m.
Se cere să se propună un plan de transport astfel încât
costul total să fie minim, depozitele să-şi folsească toată
cantitatea solicitată, iar solicitările PECO să fie satisfăcute.
106
Rezolvare
Pas 1. Se poate construi un tabel care să sintetizeze toate
informaţiile de tip date de intrare.
Staţii PECO
B1 B2 B3
Disponibil de
combustibil
Depozite
A1 4000 9000 3000 200
A2 5000 8000 7000 300
Necesarul de 500
100 300 100
combustibil 500
107
x11 x
x12 y
x 21 100 x
x 300 y
22
x 23 100 x13 100 200 x y x y 100
Cu aceste necunoscute secundare se încearcă reformularea
funcţiei obiectiv:
f 4000x 9000y 3000( 200 x y ) 5000(100 x ) 8000( 300 y ) 7000( x y 100 )
4000x 900y 600000 3000x 3000y 700000
3000x 5000y 2800000
B
D
A x
x=100 x+y=200
x+y=100
Aceasta înseamnă că într-un sistem de axe în plan xy se
vor reprezenta toate aceste drepte, care în final prin intersecţia
unor domenii care satisfac condiţiile sistemului de restricţii în
mod simultan vor genera un domeniu de forma unui poliedru
oarecare şi care conţine mulţimea de soluţii posibile pentru
108
problema respectivă. Problema este de a identifica din această
infinitate de soluţii pe aceea care corespunde funcţiei obiectiv a
problemei în sensul atingerii fie a minimului, fie a maximului
acesteia. De aceea, pentru a reduce în mod substanţial timpul
alocat analizei problemei şi a găsirii soluţiei optime se vor studia
doar acele puncte care sunt plasate pe laturile şi în vârfurile
acelui poliedru convex.
Domeniul haşurat reprezintă domeniul mulţimii de puncte
care satisfac sistemul de constrângeri şi de aceea trebuie
identificată o pereche de tipul ( x , y ) care să minimizeze valoarea
funcţiei obiectiv.
Se studiază valoarea funcţiei în vârfurile şi pe laturile
poligonului haşurat.
A( x 100, y 0 ) : f A 3100000
B( x 100, x y 200, y 100 )
B( x 100, y 100 ) : f B 3600000
C( x 0 , y 200 ) : fC 3800000
D( x 0 , y 100 ) : f D 3300000
Pornind de la valoarea minimă a funcţiei obiectiv, care este
f A şi se obţine cu perechea x 100, y 0 , se stabilesc valorile
necunoscutelor principale:
x11 100
x12 0
x13 100
x 21 0
x 22 300
x 23 0
109
8.2 Dualitatea în programarea liniară
Din punct de vedere teoretic, într-o problemă de alocare,
resursele şi activităţile se exprimă prin unităţi de măsură diferite.
Un astfel de caz poate fi întâlnit în cadrul unei întreprinderi
industriale şi mai precis pentru un sistem de producţie.
Se cunoaşte o situaţie, marcată de următoarele elemente:
- în sistemul de producţie se execută m produse diferite, în
cantităţi x1 , x 2 ,..., x n , având la dispoziţie un număr de n
maşini sau echipamente diferite;
- pentru a realiza o unitate de produs j sunt necesare a ij
unităţi de timp pe un echipament cu indicativul i ;
- suplimentar, se are în vedere că o aceeaşi operaţie
tehnologică poate solicita mai mult timp pe un echipament
în raport cu toate celelalte echipamente;
- ca dată cunoscută se consideră că timpul total disponibil pe
echipamentul de indicativ i e notat cu bi ;
- pentru a realiza o analiză a modului în care sunt consumate
resursele de către acel sistem, se consideră că prin
vânzarea unei unităţi de produs j se obţine un profit notat
cu c j .
Tabelul 8.1 Matricea corespunzătoare alocării de resurse şi
problemei duale
Activităţi Durata
corespunzătoare
1 2 3 … j … n
echipamentului
Echipamente utilizat
1 a11 a12 a13 a1j a1n b1
2 a21 a22 a23 a2j a2n b2
3 a31 a32 a33 a3j a3n b3
…
i ai1 11 a11 aij ain bi
…
m am1 am2 am3 amj amn bm
Profit unitar c1 c2 c3 cj cn
Fie z funcţia profit, care trebuie maximizată:
z c1 x1 c 2 x 2 ... c n x n
Există probleme care solicită în primă fază găsirea
maximului unei funcţii, iar ulterior, pe o aceeaşi situaţie, se
solicită să se stabilească valoarea minimă a cheltuielilor implicate
cu realizarea acelor cantităţi. De asemenea, e posibilă solicitarea
inversă, adică pornind de la identificarea valorii minime a
110
cheltuielilor pentru realizarea unor produse, se cere să se
stabilească valoarea maximă a profitului generat de vânzarea
produselor fabricate.
Dacă y este funcţia de cheltuieli, ea trebuie minimizată.
Pentru a determina valoarea maximă a funcţiei z, se
porneşte de la un sistem de restricţii, care corespunde situaţiei
prezentate.
a11 x1 a12 x 2 ... a1n x n b1
a 21 x1 a 22 x 2 ... a 2 n x n b2
(A): a i1 x1 a i 2 x 2 ... a in x n bi
a m1 x1 a m 2 x 2 ... a mn x n bm
x1 0 ; x 2 0 ; ....x n 0
Pentru a construi o funcţie, tot de tip liniar şi care să aibă
relevanţă din punct de vedere al cheltuielilor, acest lucru poate fi
realizat în raport cu duratele maxime disponibile pentru fiecare
echipament care este utilizat la realizarea celor n produse.
Funcţia de cheltuieli y, care trebuie minimizată, se poate
scrie:
y b1w1 b2 w 2 ... bmw m
unde necunoscutele de tip w se constituie ca nişte ponderi care
atrag în discuţie nivelul de utilizare a fiecărui echipament în
parte.
Presupunând că este vorba de o funcţie liniară, se poate
construi un sistem liniar, asemănător celui anterior.
a11w 1 a 21w 2 ... a i1w i ... a m1w m c1
a12 w 1 a 22 w 2 ... a i 2 w i ... a m2 w m c 2
(B): a1 j w 1 a 2 j w 2 ...a ij w j ... a mj w m c j
a1n w 1 a 2 n w 2 ... a inw i ... a mn w m c n
w 1 0 ; w 2 0 ; ....w m 0
111
a11w 1 x1 a 21w 2 x1 ... a i1w i x1 ... a m1w m x1 c1 x1
a12 w 1 x 2 a 22 w 2 x 2 ... a i 2 w i x 2 ... a m2 w m x 2 c 2 x 2
a1 j w 1 x j a 2 j w 2 x j ...a ij w j x j ... a mj w m x j c j x j
a1n w 1 x n a 2 n w 2 x n ... a inw i x n ... a mn w m x n c n x n
Prin însumarea termenului din stânga şi respectiv a
termenului din dreapta, se obţine:
w1 b1 w 2 b2 ... w i bi ... w m bm c1 x1 c 2 x 2 ... c j x j ... c n x n
adică y z.
Comentarii:
- dacă există un vector care să măsoare necunoscutele
iniţiale x1 , x 2 ,..., x n şi respectiv un vector care să conţină
necunoscutele w1 ,w 2 ,...,w m care să satisfacă restricţiile problemei
pentru care y z , atunci valoarea lui z este valoarea maximă, iar
valoarea lui y este valoarea minimă;
- în situaţia concretă se consideră că y reprezintă
problema duală, iar z reprezintă problema primală.
- cunoscând o soluţie pentru problema duală, problema
primală se rezolvă având în vedere următoarele două observaţii:
1. dacă a1 j w1 a2 j w 2 ... aij w i ... amj w m c j
atunci x j 0 ;
2. dacă w i 0 atunci ai1 x1 ai 2 x 2 ... ain x n bi .
Studiu de caz
O firmă comercială deţine un depozit din care vinde un
acelaşi tip de produs, pe care îl achiziţionează de la un
producător. Se cunoaşte că acel depozit poate stoca până la 500
de astfel de obiecte. În fiecare lună, agentul care reprezintă firma
vinde orice cantitate, în limita stocului disponibil, la începutul
acelei luni. La sfârşitul lunii, el poate achiziţiona orice cantitate,
fără a depăşi însă, împreună cu stocul existent, la sfârşitul lunii,
capacitatea maximă de depozitare. Pentru următoarele şase luni,
previziunile sale asupra preţului de vânzare şi de cumpărare sunt:
Luna (i) 1 2 3 4 5 6
Preţ de cumpărare 27 24 26 28 22 21
Preţ de vânzare 28 25 25 27 23 23
112
Dacă stocul iniţial în depozit era de 200 de obiecte, care
trebuie să fie strategia ce trebuie urmată pe perioada celor 6 luni,
astfel încât câştigul realizat să fie unul maxim?
Rezolvare
Ipoteză: în primă fază se neglijează cheltuielile de stocare.
Necunoscutele problemei se împart în două categorii:
x i - cantitatea achiziţionată de produse;
y i - cantitatea vândută către clienţi.
Funcţia de profit, z, va avea forma:
z 28y1 25y 2 25y 3 27 y 4 23y 5 23y 6 27 x1 24x 2 26x 3 28x 4 22x 5 21x6
Constrângerile sistemului se referă la două categorii de
condiţii:
a) depozitul nu poate vinde o cantitate mai mare decât
cea de care dispune
- prima lună: y1 200
- a doua lună: y 2 x1 y1 200
- a treia lună: y 3 x 2 y 2 200 x1 y1
- …
Această constrângere se poate generaliza:
n 1
( x
i 1
i y i ) 200 y n , de unde rezultă:
n n 1
i 1
yi x
i 1
i 200 - restricţia (A)
b) valoarea care exprimă capacitatea depozitului nu
poate fi depăşită, adică pornind din prima lună cu o valoare de
200 de produse, tot ceea ce se adaugă prin diferenţa între nivelul
de achiziţionare şi cel de vânzare trebuie să fie inferior
maximului capacităţii de depozitare.
n n n
200 ( x
i 1
i y i ) 500 x y
i 1
i
i 1
i 300 - restricţia (B)
Întrucât, în actuala formă, este dificilă identificarea
necunoscutelor iniţiale, este indicat a apela la determinarea
soluţiei optime a funcţiei duale a problemei. Pentru sistemul de
restricţii (A), trebuie determinat un număr de necunoscute ale
funcţiei duale ( u1 ,u2 ,...,u6 ) , iar pentru sistemul de restricţii (B)
trebuie determinate necunoscutele problemei duale ( v1 ,v 2 ,...,v 6 ) .
Astfel, se poate construi exprimarea funcţiei duale, care trebuie
minimizată:
113
y u1 200 u 2 200 u 3 200 u 4 200 u 5 200 u 6 200
v 1 300 v 2 300 v 3 300 v 4 300 v 5 300 v 6 300
x1 x2 x3 x4 x5 x6 y1 y2 y3 y4 y5 y6
u1 1 200
u2 -1 1 1 200
u3 -1 -1 1 1 1 200
u4 -1 -1 -1 1 1 1 1 200
u5 -1 -1 -1 -1 1 1 1 1 1 200
u6 -1 -1 -1 -1 -1 1 1 1 1 1 1 200
v1 1 -1 300
v2 1 1 -1 -1 300
v3 1 1 1 -1 -1 -1 300
v4 1 1 1 1 -1 -1 -1 -1 300
v5 1 1 1 1 1 -1 -1 -1 -1 -1 300
v6 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 300
- - - - - - 28 25 25 27 23 23
27 24 26 28 22 21
n 1 : x1 y 1 300
(B): n 2 : x1 x 2 y 1 y 2 300
....
u 6 v 6 23
u 6 23
u 6 23
u 6 v 5 v 6 22
v5 1
v5 1
114
În mod asemănător, se obţin toate valorile pentru u şi v .
u1 u2 u3 u4 u5 u6 v1 v2 v3 v4 v5 v6
3 1 0 4 1 23 0 2 1 0 1 0
u1 y 1 200
u 2 y 1 y 2 x1 200
u 4 y 1 y 2 y 3 y 4 x1 x 2 x 3 200
u 5 y 1 y 2 y 3 y 4 y 5 x1 x 2 x 3 x 4 200
u 6 y 1 y 2 y 3 y 4 y 5 y 6 x1 x 2 x 3 x 4 5 200
v 2 x1 x 2 y 1 y 2 300
v 3 x1 x 2 x 3 y 1 y 2 y 3 300
v 5 x1 x 2 x 3 x 4 x 5 y 1 y 2 y 3 y 4 y 5 300
115
Valorile variabilelor primale vor fi introduse în expresia
funcţiei primale:
z 28 y 1 25 y 2 25 y 3 27 y 4 23 y 5 23 y 6 27 x1 24 x 2 26 x 3 28 x 4 22 x 5 21x 6
z 5600 13500 11500 12000 11000
z 7600 u.m.
Interpretarea soluţiei
Strategia ce trebuie pusă în aplicare este următoarea: în
lunile 1, 4, 6, se va vinde întregul lot de produse existent în stoc,
iar în lunile 2, 5, se cumpără întregul stoc ce se poate depozita.
Test de autoevaluare
1. Se dă următoarea problemă:
max 2x1+3x2+5x3
cu restricţiile:
x1+x2+x3 7
x1+2x2+2x3 13
3x1–x2+x3 5
şi x1 0, x2 0, x3 0.
Verificaţi dacă x1=0, x2=0,75 şi x3=5,75 constituie soluţia
optimă a acestei probleme.
2. Se dă următoarea problemă:
max 50x1+40x2
cu restricţiile:
3x1+5x2 150
0,8x1+0,5x2 30
x2 20
şi x1 0, x2 0
Care este soluţia optimă a acestei probleme?
Lucrare de verificare
Pentru a-şi completa veniturile, un student trebuie să
lucreze cel puţin 20 de ore pe săptămână. El găseşte de lucru în
două magazine, M1 şi M2. În M1, el poate lucra între 5 şi 12 ore
116
pe săptămână, iar în M2, între 6 şi 10 ore. El are acelaşi salariu pe
oră în ambele magazine.
Studentul trebuie să se decidă câte ore să lucreze în fiecare
magazin, ţinând seama de cuantificarea factorului stres.
Bazat pe interviurile la care a participat, el evaluează că,
pe o scală de la 1 la 10, stresul la magazinul M1 este evaluat la 8,
iar la M2 este considerat 6 pe oră. Folosind programarea liniară se
cere să se determine câte ore va lucra studentul la fiecare
magazin, pentru a fi stresat cât mai puţin?
Bibliografie selectivă
117
Swift, L., Quantitative Methods for Business, Management &
Finance, Palgrave, New York, 2001.
Whigham, D., Quantitative Business Methods Using Excel,
Oxford University Press, 1998.
Wilkes, M., Operational Research, Analysis and Applications,
McGraw-Hill Book Company, 1989.
Winston, W., Albright, S.C., Practical Management Science, 2nd
ed., Duxbury, Thomson Learning, 2001.
118