Sunteți pe pagina 1din 5

Management operational curs 17.03.

2020 Cătălin POPESCU

Programarea liniară

Programarea liniară este una din metodele cercetării operaţionale cu aplicaţii


dintre cele mai extinse. Fie că intervine în soluţionarea problemelor de alocare a
resurselor, de transport sau amestec, fie că este vorba de re-parametrizări în cadrul
unor astfel de probleme, soluţiile obţinute se bazează pe aceleaşi considerente de
ordin matematic. Programarea liniară intervine însă şi în rezolvarea unor probleme
care apar în teoria jocurilor, precum şi în teoria stocurilor.
În formularea generală a unei probleme de programare liniară, aij, Cj şi bi sunt
constante date, iar XJ sunt numite variabile de decizie şi trebuie determinate astfel
încât să maximizeze funcţia obiectiv supusă celor m constrângeri şi condiţiilor de
non-negativitate a variabilelor. Aşa cum am spus deja, aceasta este o problemă de
maximizare.
Obiectiv: max (z) = max (C1X1 + C2X2 + ... + CnXn)
Constrângeri a11X1 + a21X2 +... + a1nXn  b1
a21X1 + a22X2 +... + a2nXn  b2 (1)
……………………………………………..
am1X1 + am2X2 + ...+ amnXn  bm
X1  0, X2  0, .., Xn  0, i=1….m, j=1….n
Observaţii:
1. În setul de inecuaţii de mai sus “max” poate fi înlocuit cu “min”, iar “” prin
“”, în cazul în care problema necesită o minimizare (de exemplu dacă în locul
profitului ar fi fost considerate cheltuielile de execuţie sau dacă era luat în
considerare un set de resurse totale minime). Pentru această situaţie problema capătă
următoarea formă generală:
Obiectiv: min (z) = min (C1X1 + C2X2 + ...+ CnXn)
Constrângeri a11X1 + a21X2 + ... + a1nXn  b1
a21X1 + a22X2 + ... + a2nXn  b2
………………………. (2)
am1X1 + am2X2 + ... + amnXn  bm
X1  0, X2  0, .., Xn  0, i=1….m, j=1….n
De asemenea, trebuie menţionat că în locul inegalităţilor din constrângeri pot
apărea egalităţi. Toate acestea conduc la posibilitatea definirii formei standard a
problemei de programare liniară:
Obiectiv: min (max) C1X1 + C2X2 + ...+ CnXn
Constrângeri a11X1 + a21X2 + ... + a1nXn = b1
a21X1 + a22X2 + ... + a2nXn = b2
………………………….. (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ă:
Management operational curs 17.03.2020 Cătălin POPESCU
 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.
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
Management operational curs 17.03.2020 Cătălin POPESCU

Pas 2. Identificarea necunoscutelor problemei


Necunoscutele, în acest caz, au în vedere acele cantităţi care trebuie
transportate de la un depozit la o staţie PECO. Aceasta înseamnă că este necesar a
introduce în aceste necunoscute doi indici: unul care să menţioneze depozitul şi
unul care să menţioneze staţia PECO.
Pas 3. Determinarea funcţiei obiectiv a problemei. Construirea sistemului de
restricţii
Funcţia obiectiv:
f  4000x11  9000x12  3000x13  5000x 21  8000x 22  7000x 23 . Această funcţie trebuie
minimizată.
Sistemul de restricţii: restricţiile problemei de faţă au în vedere două
categorii de aspecte:
a) cantităţi disponibile de combustibil;
b) cantităţi necesare de combustibil.
Ţinând seama de acest lucru, rezultă două categorii de constrângeri:
 A1 : x11  x12  x13  200

 A2 : x 21  x 22  x 23  300
 B : x  x  100
 1 11 21

B2 : x12  x 22  300


B : x  x  100
 3 13 23
 x ij  0


Metoda care presupune rezolvarea unui astfel de sistem se numeşte metoda
necunoscutelor principale şi a celor secundare. Necunoscutele secundare se obţin
prin redenumirea necunoscutelor principale.
 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
Pe noul sistem de restricţii trebuie realizate comentarii ce derivă din condiţiile
de ne-negativitate a necunoscutelor principale.
x  0
y  0

200  x  y  0
x ij  0  
100  x  0
300  y  0

 x  y  100  0
Management operational curs 17.03.2020 Cătălin POPESCU

Analiza acestui sistem se face cu ajutorul metodei grafice, din programarea


liniară. Pentru aceasta se ţine seama de faptul că fiecare din condiţiile de mai sus
reprezintă, la limită, ecuaţia unei drepte.
y
y=300

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 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:
Management operational curs 17.03.2020 Cătălin POPESCU

 x11  100

 x12 0
 x13  100

 x 21 0
 x 22  300

 x 23 0

Obs: Se poate face o verificare a rezultatelor obţinute, în sensul comparării


lor (cantităţi disponibile – cantităţi necesare).
Prin plasarea necunoscutelor principale în acele celule corespunzătoare
matricei iniţiale, prin adunarea valorilor atât pe orizontală cât şi pe verticală se
poate concluziona asupra corectitudinii soluţiei identificate. În cazul de faţă se
obţine:
Staţii PECO
B1 B2 B3
Disponibil de
combustibil
Depozite
A1 100 0 100 200
A2 0 300 0 300
Necesarul de 500
100 300 100
combustibil 500

Problemă de rezolvat

O companie produce două tipuri de televizoare A şi B. Profitul realizat din


vânzarea unui televizor de tip A este 400 mii lei, iar profitul realizat din vânzarea
unui televizor de tip B este 350 mii lei. În producerea celor două tipuri de
televizoare apar următoarele limitări:
a. numărul maxim de ore de muncă, din departamentul de producţie este 50
ore zilnic pentru ambele tipuri de televizoare. Deoarece televizorul de tip A este
mai complex sunt necesare 3 ore de muncă pentru fiecare aparat, iar pentru
televizorul de tip B este necesară numai o oră;
b. timpul total disponibil pentru maşinile pe care se produc anumite
componente ale celor două tipuri de televizoare este de 55 de ore pe zi. Pentru
componentele televizorului de tip A este necesară o oră de prelucrare, iar pentru
componentele televizorului de tip B sunt necesare 3 ore;
c. deoarece televizorul de tip A este mai complex nu se pot produce zilnic
mai mult de 14 televizoare de acest tip;
Problema cu care se confruntă compania respectivă este să determine câte
televizoare de tip A şi câte televizoare de tip B trebuie să producă zilnic astfel încât
profitul obţinut să fie maxim.

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