Sunteți pe pagina 1din 28

PROGRAMAREA LINIARĂ

• tehnică de alocare a unor cantităţi limitate de resurse, între anumite


activităţi concurente, în aşa fel încât un anumit obiectiv să fie optimizat,
cu satisfacerea anumitor restricţii.

• aplicată cu succes într-o varietate de probleme de management:


producţie, desfacere, transport, analiza investiţiilor, etc.
– creşte calitatea deciziilor, prin îmbunătăţirea calităţilor analitice ale decidentului

• s-a demonstrat utilitatea acesteia nu doar în economie şi industrie, ci şi


în activitatea organizaţiilor non-profit: sistem sanitar, educaţie, etc.
Structura modelului general de programare liniară

 mulţimea de activităţi {A1, A2, ... An} care compun sistemul economic analizat

 mulţimea de resurse utilizate {R1, R2, ... Rm}

 relaţiile tehnico-economice dintre acestea


- determinate de tehnologia de fabricaţie corespunzătoare
fiecărei activităţi Aj (j=1,...,n)
- caracterizate numeric prin vectorii coloană a(j) de
componente (a1j, a2j, ... amj).
{aij, i = 1,...,m; j = 1,...,n} - coeficienţi tehnici
- coeficienţi de consum specific
- arată ce cantitate din resursa Ri se consumă pentru
producerea unei unităţi din produsul (serviciul) Pj (ca
rezultat al activităţii Aj).

Matricea A cu m linii şi n coloane


- fiecare linie se referă la o resursă Ri (i = 1,...,m)
-fiecare coloană se referă la o activitate Aj (j = 1,...,n).

Notând :
- xj (j = 1,...,n) rezultatul activităţii Aj într-o perioadă dată
- bi (i = 1,...,m) cantităţile disponibile din resursele Ri (i = 1,...,m)
Sistemul restricţiilor tehnico-economice

• cantitatea consumată dintr-o resursă nu poate depăşi cantitatea


totală disponibilă din resursa respectivă

• consumul total Rij din resursa Ri pentru efectuarea activităţii Aj este


Rij = aij  xj
- Criteriul de "performanţă" - un indicator (care permite evaluarea
eficienţei fiecărei activităţi):
– care măsoară efortul
– care măsoară rezultatul
– exprimat ca raport între rezultat şi efort

- Conceptul de optim se defineşte ca un vector x Rn, care


minimizează sau maximizează o funcţie obiectiv şi, în acelaşi timp,
satisface toate restricţiile tehnico-economice

f(x) = c1x1 + c2x2 + ... + cnxn - evaluează performanţa vectorului x

unde fiecare componentă a vectorului linie c = (c1, c2, ..., cn) măsoară eficienţa
unei unităţi din rezultatul activităţii Aj
Modelul general al unei probleme de programare liniară
optim[ f ( x)] (1)
 n
  aij  x j  bi
 jn1 i, k  {1,2,..., m} (2)

 akj  x j  bk
 j 1
x j  0 (3)

• relaţia (1) - funcţia obiectiv de eficienţă a problemei


• relaţiile (2) - restricţii de tip resurse şi restricţii tehnico-economice de tip
calitativ
• relaţia (3) - condiţia de nenegativitate a variabilelor, asigură obţinerea unei
soluţii realizabile din punctul de vedere al logicii economice
Exemple:
Problema determinării structurii sortimentale optime a
producţiei
Se cunosc:
- cantităţile disponibile din fiecare materie primă {bi, i =1,...,m}
- coeficienţii tehnologici {aij, i = 1,...,m, j = 1,...,n} (aij reprezintă
cantitatea din materia primă i necesară fabricării unei unităţi din
produsul de tipul j)
- cantităţile maxime {x j, j = 1,...,n} şi minime {x j, j = 1,...,n} ce pot fi
produse din fiecare sortiment
- profiturile unitare {pj, j = 1,...,n} ale fiecărui tip de produs
Se cer:
- cantităţile xj care trebuie fabricate din fiecare tip de produs astfel încât
să se obţină profitul maxim, în condiţiile nedepăşirii disponibilurilor
din fiecare resursă.
Problema matematică echivalentă

-In unele probleme, în loc de profiturile pj se cunosc veniturile unitare vj sau


costurile unitare cj ,scopul fiind maximizarea venitului, respectiv minimizarea
costurilor.
Problema de programare operativă a producţiei

• restricţiile se referă la maşinile (utilaje) cu care se execută produsele dorite,


bi fiind disponibilul de timp al utilajului i
• aij timpul necesar prelucrării unui produs de tipul j pe utilajul i,
• scopul - maximizarea producţiei.
 max  x 1  x 2  ...  x n 
x j ( j1,...,n)

a i1 x 1  a i2 x 2  ...  a in x n  b i i  1,..., m

x j  0 i  1,..., n

Problema obţinerii unei diete-reţete furajere

• Să se asigure necesarurile {bi, i = 1,...,m} dintr-un număr de m substanţe


esenţiale organismului
• având la dispoziţie un număr de n alimente
• cunoscându-se cantităţile {aij, i = 1,...,m, j = 1,...,n} din fiecare substanţă pe
care le conţine o unitate de măsură din fiecare aliment

• costurile {cj, j = 1,...,n} unei unităţi de măsură din fiecare aliment

• xj - cantitatea din fiecare aliment ce va intra în meniu


 min  c1 x 1  c 2 x 2  ...  c n x n 
x j ( j1,...,n)

a i1 x 1  a i2 x 2  ...  a in x n  b i i  1,..., m

x j  0 j  1,..., n

Problema amestecului optim de produse petroliere

• o rafinărie dispune de n tipuri de benzine, prin amestecarea acestora urmând să


obţină o benzină cu m caracteristici impuse şi la un preţ minim posibil

• unele restrictii trebuie să fie îndeplinite cu o limită inferioară (de exemplu cifra
octanică), altele cu o limită superioară (de exemplu densitatea sau temperatura de
fierbere) şi altele cu egalitate (de exemplu cantitatea necesară)

• cantităţile disponibile din fiecare benzină Dj, j = 1,...,n


• aij este valoarea caracteristicii i pentru benzina j
• preţurile unitare ale fiecărei benzine, notate pj, j = 1,...,n
• xj, j = 1,...,n, cantităţile din fiecare benzină care vor forma amestecul optim
 n 
min  p j  x j 
xj
 j1 
n
   i  1,..., m1
1
a ij x j b i
 jn1
 a ij  x j  b i2 i  m1  1,..., m1  m 2
 j1
n
 a ij  x j  b 3i i  m1  m 2  1,..., m
 j1
x j  D j j  1,..., n
x  0 j  1,..., n
 j
Generalizare - Problema de programare matematică
optim f  x1 , x 2 ,..., x n  (1)
 x j
 g i  x1 , x 2 ,..., x n   b i i  1,..., m (2)
(x , x ,..., x )  U  R n (3)
 1 2 n

f,gi : Rn  R pot avea orice formă şi proprietăţi

U = orice submulţime a lui Rn -în care se caută minimul sau maximul funcţiei
f în variabilele xi , care îndeplinesc restricţiile (2) şi (3)

Se numeşte:
- soluţie a problemei de optimizare = un vector x  Rn care verifică restricţiile
(2)
- soluţie admisibilă a problemei de optimizare = un vector x  Rn care
verifică restricţiile (2) şi (3)
- soluţie optimă a problemei de optimizare = un vector x  Rn care verifică
restricţiile (2) şi (3) şi optimizează funcţia obiectiv pe mulţimea tuturor
vectorilor cu această proprietate
Problema de programare liniară -forma canonică şi forma standard

Forma standard

 min  sau  max  f  c1  x1  c2  x 2  ...  c n  x n



a i1  x1  a i2  x 2  ...  a in  x n  bi i  1,..., n
x1 , x 2 ,..., x n  0
Orice problemă de programare liniară poate fi adusă la forma canonică
sau la forma standard, utilizând următoarele transformări:

1. Problema de maxim poate fi transformată în problemă de minim şi invers:


max f(x)= -min(-f(x))
2. Shimbarea sensului unei inegalităţi se realizează prin înmulţire cu -1:
x b  -x -b
3. Orice restricţie inegalitate poate fi transformată în egalitate prin introducerea variabilelor
de ecart sau de compensare (care în funcţia obiectiv au coeficienţi nuli):
x bx +y=b sau x b  x -y=b
4. O restricţie egalitate poate fi transformată în două restricţii inegalitate:
x=b  xb şi xb
5. Orice variabilă negativă poate fi transformată într-o variabilă nenegativă:
x=-y, x0, y0
6.Orice variabilă fără restricţie de semn poate fi înlocuită cu două variabile nenegative:
x=y-z, y,z0
Scrieti forma canonică de minimizare a PPL:
Scrieți forma canonică și forma standard a PPL:
Sursa: http://www.asecib.ase.ro/Nica/ID/ID_Cercetari_operationale_I.pdf
În ce formă se află PPL?

S-ar putea să vă placă și