Sunteți pe pagina 1din 39

NOTE DE CURS.

MATEMATICA ECONOMICĂ

PROGRAMAREA LINIARĂ

Aplicarea conceptelor matematice în studiul proceselor


economice a căpătat o dezvoltare deosebită, prin rezolvarea unui
număr tot mai mare de probleme. Astăzi, problemele de producție,
de planificare sau de proiectare se cer rezolvate nu la întâmplare, ci
în așa fel încât soluțiile obținute să fie corespunzătoare unui anumit
scop.
De exemplu, realizarea unui proces de producție să se facă cu
cheltuieli cât mai mici și cu venit cât mai mare.
Organizarea științifică a proceselor economice, în scopul
luării unei decizii conștiente, în raport cu țelurile urmărite și în urma
unei analize a corelațiilor dintre diferiții factori ce intervin,
constituie obiectul a ceea ce se numește programare matematică.
În general, problema programării desfășurării unor fenomene
economice este o problemă complexă și vastă, pentru rezolvarea
cărora matematica oferă diverse metode din multitudinea de ramuri,
ca: aritmetica, algebra, geometria, analiza matematică, calculul
probabilităților, analiza funcțională, ecuații diferențiale, ecuații
integrale, etc.
Mulţimea sistemelor economice concrete şi multitudinea
problemelor conducerii acestora au creat o diversitate de
reprezentări economico-matematice, denumite modele.
Varietatea acestora este determinată, în principal, de structura
"obiectului" analizat, de scopul cercetării precum şi de informaţia
disponibilă.
Forma generală a unei probleme de programare matematică
cere să se determine valorile variabilelor xj, j = 1,…,n, astfel încât
ele să satisfacă restricțiile gk(x1, . . . , xn) ≥ 0 (sau <, >,  0),
k = 1,…,m, iar funcția z = f(x1, x2, . . . , xn), numită funcția obiectiv
(scop, eficiență), să ia valoarea optimă (maximă, respectiv minimă).
În aplicaţiile economice, ea reprezintă criteriul de
performanţă urmărit: maximizarea beneficiului, maximizarea
producţiei marfă, minimizarea costului producţiei, maximizarea
1
NOTE DE CURS. MATEMATICA ECONOMICĂ
gradului de încărcare al utilajelor sau minimizarea timpului de
staţionare al acestora, maximizarea veniturilor etc. Restricțiile
gk(x1, . . . , xn) traduc în limbaj matematic condiţiile de natură
economică sau tehnologică în care se desfăşoară procesul economic
modelat, cum ar fi: nedepăşirea stocurilor disponibile de resurse
(materii prime, capacităţi de producţie, forţă de muncă, fonduri
băneşti, timp etc), îndeplinirea sau depăşirea unor indicatori
economici (producţia fizică, netă) etc.
Deseori, pe lângă restricțiile gk(x1, . . . , xn) ≥ 0, k = 1,…,m, se
mai adaugă și condițiile de nenegativitate xj ≥ 0, j = 1,…,n.
xj reprezintă "nivelele" unor activităţi de producţie, nivele care nu
pot fi negative.
Dacă toate funcțiile care intervin în formularea problemei de
programare matematică sunt liniare, atunci problema se
numește problemă de programare liniară (PPL); în caz contrar se
numeste problemă de programare neliniară.
Programarea liniară este o ramură unitară a matematicilor
aplicate în economie, având metode proprii și generale de rezolvare
a problemelor respective.
Constituirea obiectului de programare liniară s-a datorat
faptului că în viața social–economică există multe aplicații care
conduc la probleme liniare de programare. Rezolvarea problemelor
de programare liniară poate fi făcută folosind diferite metode, unele
particulare (metoda repartizării, metoda grafică), altele generale
(metoda simplex).
Primele probleme de programare liniară au fost formulate de
L. V. Kantorovici (1939) și de F. L. Hitchcock (1941). Programarea
liniară se naște însă în anii de după cel de-al doilea război mondial,
odată cu formularea ei generală în 1947, de către G. B. Dantzig,
care a propus, totodată și un procedeu eficient de rezolvare metoda
simplex.
Astăzi, se poate vorbi despre un mod unitar de abordare al
tuturor problemelor de programare liniară. Diversele metode de
2
NOTE DE CURS. MATEMATICA ECONOMICĂ

rezolvare existente au ca țel sporirea rapidității în calcule, având în


vedere în special utilizarea calculatoarelor.
O problemă de programare liniară este, deci, un caz particular
al problemelor de programare matematică şi, ţinând cont de forma
oricărei funcţii liniare, rezultă că forma generală a oricărei probleme
de programare liniară este:
max ( min ) f = c1  x1 + c 2  x2 + ... + c n  xn
 , 
a  x + a  x + ... + a  x = b , i = 1,...,m,
 i1 1 i2 2 in n i

 , 
 x1 , x2 ,..., xn  0,
unde cj sunt coeficienţii funcţiei obiectiv, aij - coeficienţii
restricţiilor şi bi sunt termenii liberi (constate reale).

Forma canonică şi forma standard a unei probleme de


programare liniară

Cu toate că problema de programare liniară este cea mai


simplă dintre problemele de programare matematică, ea este încă
destul de complicată, prin faptul că orice restricţie poate avea trei
forme diferite, iar obiectivul poate fi minimizarea sau maximizarea
funcţiei f. Este puţin probabil că există un algoritm şi simplu şi
aplicabil la toate cazurile.
Din acest motiv este mult mai simplu să găsim o anumită
formă (cât mai simplă) cu proprietatea că pentru orice problemă P,
există o altă problemă P' de această formă, echivalentă cu problema
iniţială P şi să dispunem de un algoritm care să rezolve problemele
de această formă şi de o regulă prin care să găsim soluţia problemei
iniţiale P din soluţia problemei P', găsită cu acest algoritm.
În acest sens (dar şi din cauza frecvenţei apariţiei lor în
practică) s-au evidenţiat două forme ale problemelor de programare
liniară: forma canonică şi forma standard.
3
NOTE DE CURS. MATEMATICA ECONOMICĂ
Definiţia 1. Spunem că o problemă este la forma canonică
dacă are una din următoarele două forme:
Forma canonică de minim Forma canonică de maxim

 
( min ) f = c1  x1 + c2  x2 + ... + cn  xn ( max ) f = c1  x1 + c2  x2 + ... + cn  xn
 
ai1  x1 + ai 2  x2 + ... + ain  xn  bi , ai1  x1 + ai 2  x2 + ... + ain  xn  bi ,
 
i = 1,..., m, i = 1,..., m,
 
 x1, x2 ,..., xn  0  x1, x2 ,..., xn  0
 

Această formă este cel mai des întâlnită în practică (problema


determinării structurii sortimentale optime a producţiei sau
problema dietei) şi, în plus, restricţiile economice sunt în general
inegalităţi şi foarte rar egalităţi. De asemenea, această formă este
invariantă la anumite transformări şi asigură existenţa soluţiei (orice
problemă la această formă, care are termenii liberi şi coeficienţii
restricţiilor pozitivi, are soluţie).
Definiţia 2. Spunem că o problemă este la forma standard
dacă are forma:
( min ) sau ( max ) f = c1  x1 + c2  x2 + ... + cn  xn

ai1  x1 + ai 2  x2 + ... + ain  xn = bi , i = 1,..., m,
 x , x ,..., x  0.
1 2 n

Această formă, deşi nenaturală din punct de vedere economic,


este cea care se pretează cel mai bine la rezolvarea cu metodele
algebrei clasice.
Deci forma standard a problemei de programare liniară este
dată de modelul matematic:

4
NOTE DE CURS. MATEMATICA ECONOMICĂ

max ( min ) f = c1  x1 + c2  x2 + ... + cn  xn (1)


a11 x1 + a12 x2 + ... + a1n xn = b1 ,
a x + a x + ... + a x = b ,
 21 1 22 2 2n n 2
 (2)

am1 x1 + am 2 x2 + ... + amn xn = bm ,
x1, x2 ,..., xn  0 . (3)
Sistemul (2) reprezintă concordanța internă a unui proces
economic. Coeficienții aij , i = 1, m, j = 1, n, sunt coeficienții tehnici
constanți, planificați sau determinați în mod statistic.
Necunoscutele x j , j = 1, n sunt mărimi ce trebuie găsite, iar
termenii liberi bi , i = 1, m sunt mărimi constante date, determinate de
condițiile locale ale procesului economic, numiți coeficienți de
restricție ai problemei date.
Propoziţie. Pentru orice problemă de programare liniară P
există o problemă la forma canonică PFC şi o problemă la forma
standard PFS echivalente cu P.
Demonstraţie. Într-adevăr:

a) orice problemă de maxim poate fi transformată în una de minim


şi reciproc folosind relaţia:
max f(x) = – min f(–x).
b) orice restricţie de tipul "" poate fi transformată într-o restricţie
de forma "" şi reciproc folosind relaţia:
    –  –.
c) orice restricţie inegalitate poate fi transformată în egalitate, prin
introducerea unei variabile suplimentare nenegative şi folosind
relaţiile:
  + x = ,   − x = ,
   şi     
 x0  x  0.
5
NOTE DE CURS. MATEMATICA ECONOMICĂ
Toate variabilele introduse pentru transformarea inegalităţilor în
egalităţi se numesc variabile de abatere sau variabile de
compensare (variabile ecart).
d) orice restricţie egalitate poate fi transformată în restricţii
inegalitate, folosind relaţia:
   ,
=  
   .
e) orice variabilă cu restricţie de semn negativă (x  0) poate fi
înlocuită cu o variabilă cu restricţie de semn pozitivă (y  0),
folosind relaţia:
 x = − y,
x0 
 y  0.
f) orice variabilă fără restricţie de semn poate fi înlocuită cu două
variabile cu restricţie de semn pozitivă, folosind relaţia:
 x = y − z,

x oarecare   y  0,
 z  0.

Se demonstrează fără un efort matematic deosebit că dacă P'
se obţine din P folosind doar transformările de mai sus (numite şi
transformări elementare) atunci P şi P' sunt două probleme
echivalente şi între soluţiile lor optime există o bijecţie.
Din cele de mai sus rezultă cum poate fi adusă orice
problemă de programare liniară la forma standard (sau canonică) şi
cum se obţine soluţia problemei iniţiale din soluţia problemei la
forma standard (sau canonică).
Exemplu: Problemei P de mai jos îi corespunde problema la
forma standard PFS alăturată:

6
NOTE DE CURS. MATEMATICA ECONOMICĂ

P PFS
(min) f = 3x1 –2x2 + 4x3 (max) g = 3a1 + 2y2 – 2z2 – 4x3
 9x 1 + 13x 2 + 15x 3  16  −9a1 + 13y 2 − 13z 2 + 15x 3 + x 4 = 16
 19x 1 + 36x 2 + 6x 3  −9  −19a + 36y − 36z + 6x − x = −9
  1 2 2 3 5
 7x 1 − 7x 2 − 14x 3  21  −7a1 − 7y 2 + 7z 2 − 14x 3 + x 6 = 21
 3x 1 + 30x 2 + 5x 3  31  −3a + 30y − 30z + 5x + x = 31
 1 2 2 3 7
x 1  0, x 2 oarecare, x 3  0  a1 , y 2 ,z 2 , x 3 , x 4 , x 5 , x 6 , x 7  0

Modele matematice ale problemelor economice


După cum s-a arătat la început, structura concretă a unei
aplicaţii în economie este determinată în primul rând de obiectivul
urmărit.
1. Astfel, în cazul problemei determinării structurii sortimentale
optime a producţiei, se cunosc cantităţile disponibile (cantităţile de
care se poate face rost pe perioada analizată) 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 în perioada analizată şi profiturile unitare {pj,
j = 1,...,n} ale fiecărui tip de produs. Se cere găsirea acelor cantităţi
xj care trebuie fabricate din fiecare tip de produs astfel încât să se
obţină profitul maxim, în condiţiile nedepăşirii disponibilului din
fiecare resursă.
Pentru simplificarea modelului, se presupune că preţul unui
bun nu depinde de cantitatea produsă din acesta sau din celelalte,
consumul din fiecare materie primă este direct proporţional cu
cantitatea produsă şi, pentru fiecare bun, consumurile dintr-o
resursă sau alta nu se condiţionează reciproc.
Problema matematică echivalentă este:

7
NOTE DE CURS. MATEMATICA ECONOMICĂ

 max ( p1 x1 + p2 x2 + ... + pn xn )
 x j , j =1,n
a x + a x + ... + a x  b i = 1,..., m,
 i1 1 i 2 2 in n i

x j  x j  x j , j = 1,..., n,

 x j  0, j = 1,..., n.
În unele probleme, în loc de profiturile pj se cunosc
veniturile unitare vj sau costurile unitare cj sau alt criteriu de
eficienţă, scopul fiind maximizarea venitului, minimizarea
costurilor respectiv optimul indicatorului de eficienţă respectiv, sau
toate la un loc. De asemenea pot lipsi condiţiile de limitare a
producţiei sau pot exista şi alte condiţii.
2. La o problemă de programare operativă a producţiei restricţiile
se referă la o serie de maşini (utilaje) cu care se execută produsele
dorite, bi fiind disponibilul de timp al utilajului i pe perioada
analizată, iar aij timpul necesar prelucrării unui produs de tipul j
pe utilajul i, scopul fiind maximizarea producţiei.
Ca urmare, modelul are forma:
 max ( x1 + x2 + ... + xn )
 x j ( j =1,...,n )

ai1 x1 + ai 2 x2 + ... + ain xn  bi , i = 1,..., m,
 x  0, j = 1,..., n.
 j

3. Dacă se doreşte obţinerea unui meniu (reţete furajere)-


problema dietei (nutriției), care să 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 şi costurile {cj,

8
NOTE DE CURS. MATEMATICA ECONOMICĂ

j = 1,...,n} unei unităţi de măsură din fiecare aliment, putem scrie


modelul:
 min ( c1 x1 + c2 x2 + ... + cn xn )
 x j ( j =1,...,n )

ai1 x1 + ai 2 x2 + ... + ain xn  bi , i = 1,..., m,
 x  0, j = 1,..., n.
 j

Variabilele xj reprezintă, în acest caz, cantitatea din fiecare
n
aliment ce va intra în meniu iar f(x) = c j  xj este
j=1
costul total al reţetei definită de vectorul x.

4. Vom încheia exemplificarea cu prezentarea modelului


amestecului optim. Presupunem că dispunem de n tipuri de materii
prime, prin amestecarea acestora urmând să obţină un produs cu m
caracteristici impuse şi la un preţ minim posibil. O serie de
caracteristici trebuie să fie îndeplinite cu o limită inferioară (de
exemplu cifra octanică pentru benzină), altele cu o limită superioară
(de exemplu densitatea sau temperatura de fierbere) şi altele cu
egalitate (de exemplu cantitatea necesară), aceste limite fiind bi1 ,
i = 1,...,m1 , bi2 , i = 1,...,m2 respectiv bi3 , i = 1,..., m3 cu
m1 + m2 + m3 = m. De asemenea, trebuie ţinut cont de cantităţile
disponibile din fiecare materie primă Di, i = 1,...,n. Se cunosc
caracteristicile fiecărei materii prime, date într-o matrice A  Mmn,
unde aij este valoarea caracteristicii i pentru materia primă j şi
preţurile unitare ale fiecărei materii prime, notate pj, j = 1,...,n. Dacă
notăm cu xj, j = 1,...,n, cantităţile din fiecare materie primă care vor
forma amestecul (produsul) optim, atunci avem de rezolvat
problema:

9
NOTE DE CURS. MATEMATICA ECONOMICĂ
 n 
min   p j  x j 
xj
 j =1 
 n
 aij  x j  bi , i = 1,..., m1 ,
1

 j =1
 n
 aij  x j  bi , i = m1 + 1,..., m1 + m2 ,
2

 j =1
 n
 a  x = b3 , i = m + m + 1,..., m,
 j =1 ij j i 1 2


x j  Dj , j = 1,..., n,
 x  0, j = 1,..., n.
 j

Exemplu: Alcătuiți modelul matematic al problemei: O


întreprindere urmăreşte minimizarea cheltuielilor totale de
producţie la patru produse P1, P2, P3, P4 ţinând cont de consumurile
specifice la două materii prime principale M1, M2. Datele sunt
furnizate de următorul tabel:

Produse
P1 P2 P3 P4 Disponibil
Materii prime
M1 6 4 8 4 600
M2 0 2 4 6 160
Cheltuieli
unitare de 10 8 4 8
producţie

Planul la cele patru produse este de 100 unităţi. Datorită


necesităţilor interne ale întreprinderii, produsul P3 trebuie să fie de
cel puţin 20 unităţi. Cum trebuie organizată producţia întreprinderii

10
NOTE DE CURS. MATEMATICA ECONOMICĂ

astfel încât planul să fie îndeplinit sau depăşit, iar consumul total de
materii prime să fie conform disponibilului existent?
Soluție: Fie x1, x2 , x3 , x4 respectiv cantitatea de produse P1,
P2, P3, P4 fabricate. Atunci, ținând cont de datele problemei, avem
min f = 10 x1 + 8 x2 + 4 x3 + 4 x4
6 x1 + 4 x2 + 8 x3 + 4 x4  600

2 x2 + 4 x3 + 6 x4  160

 x1 + x2 + x3 + x4  100
 x  20
 3
 xi  0, i = 1, 4.

Rezolvarea problemei de programare liniară.

Analiza problemei

Fie o problemă P despre care presupunem (fără a restrânge


generalitatea) că a fost adusă la forma standard. De asemenea
presupunem (tot fără a restrânge generalitatea) că variabilele
problemei au fost numerotate şi denumite xj cu j = 1,...,n
(n = numărul de necunoscute), coeficienţii variabilelor din funcţia
obiectiv f cu cj (cj = coeficientul variabilei xj), că în ecuaţii
variabilele apar în ordinea indicilor, ecuaţiile fiind numerotate de la
1 la m (m = numărul de ecuaţii) şi că am notat cu bi termenul liber al
ecuaţiei i şi cu aij coeficientul variabilei j din ecuaţia i. În acest caz
putem aşeza variabilele problemei într-un vector cu n componente,
coeficienţii funcţiei obiectiv într-un vector cu n componente,
termenii liberi într-un vector cu m componente, coeficienţii
variabilelor din ecuaţii într-o matrice cu m linii şi n coloane şi vom
avea:

11
NOTE DE CURS. MATEMATICA ECONOMICĂ
 x1   c1   b1   a11 a12 a1n 
       
x  c2  , b =  b2  , A =  a21 a22 a2 n 
x =  2 , c =
       
       
 xn   cn   bm   am1 am 2 amn 

(vom nota cu xT, cT şi bT transpuşii acestor vectori şi cu AT


transpusa matricei A).
Alegerea aşezării ca vectori coloană a fost făcută din raţiuni
de uşurinţă a calculelor şi a memorării acestora. După aceste notaţii,
problema poate fi scrisă mult mai simplu:
( min ) f = cT  x ( max ) f = cT  x
A x = b sau A x = b
 
 x0  x  0.
În teoria programării matematice se folosesc, pentru
claritatea şi simplitatea expunerii, următoarele noţiuni:
soluţie posibilă a problemei = un vector x  Rn care verifică
de optimizare restricţiile A  x = b .
soluţie admisibilă (sau = un vector x  Rn care verifică
program) a problemei de restricţiile A  x = b şi x  0 .
optimizare
soluţie optimă a problemei = un vector x  Rn care
de optimizare verifică restricţiile
A  x = b şi x0 şi
optimizează funcţia obiectiv
pe mulţimea tuturor
vectorilor cu această
proprietate
 o soluţie admisibilă care
optimizează funcţia obiectiv
pe mulţimea soluţiilor
admisibile.
12
NOTE DE CURS. MATEMATICA ECONOMICĂ

Se ştie că un sistem de forma Ax = B are soluţie doar dacă


rang(A) = rang( A ), unde A este matricea extinsă obţinută
adăugând matricei A vectorul B, în acest caz sistemul devenind
echivalent cu sistemul obţinut prin eliminarea restricţiilor care nu
corespund minorului principal (dacă sistemul nu are soluţie atunci
evident nici problema nu are soluţii, caz care este total
neinteresant).
Presupunem că au fost eliminate aceste restricţii. Dacă
rang A = n atunci sistemul are o singură soluţie care, dacă este
admisibilă, este şi soluţia optimă căutată, altfel problema nu are
soluţie. Este evident că şi acest caz este la fel de neinteresant ca
primul.
Presupunem deci în continuare că:
rang(A) = m < n
Rezolvarea sistemului Ax = b se poate face într-un mod
simplu (cel puţin teoretic) folosind algebra matricială astfel:
− împărţim coloanele matricei A în două submatrici:
minorul principal (notat cu B*, care este o matrice
pătratică de dimensiune m şi va fi numit bază a
sistemului) şi restul coloanelor (notat cu S, care este o
matrice cu m linii şi n – m coloane);
− împărţim variabilele problemei în doi vectori: vectorul
variabilelor principale (corespunzătoare coloanelor
bazei) şi vectorul variabilelor secundare (notat cu xS).
Făcând eventual o renumerotare, pentru uşurinţa
expunerii şi fiind evident că nu se restrânge generalitatea
problemei, presupunem că variabilele principale sunt
chiar primele m (această presupunere va fi făcută de câte
ori va fi posibil, fără a mai specifica acest lucru).
− aducem succesiv sistemul la forma de mai jos:

13
NOTE DE CURS. MATEMATICA ECONOMICĂ
x * 
Ax = b  (B*S)  B  = b  B*x B* + SxS =b 
 xS 
 B*x B* = b – SxS 
x B* = (B*)-1b – (B*)-1SxS.
− soluţia sistemului va fi submulţimea lui Rn:
DB = {x = {x B*,xS} / xS  Rn-m oarecare, x B* = (B*)-1b –
(B*)-1SxS}.
Orice alegere a lui xS dă o soluţie. Dintre toate alegerile
posibile este remarcabilă (prin simplitatea ei) soluţia xS = 0,
care duce la soluţia particulară:
 ( B* )−1 b 
 
 0 
xB =  0 
  n – m zerouri
 
 
 0 
numită soluţia de bază asociată bazei B. Deci xB este
x B* = ( B )
* −1
b la care se adaugă n-m zerouri. Cu toate acestea, vor
fi ambele numite soluţie de bază, rezultând din context de care este
vorba.
Observaţie: Este evident că fiecărui minor principal al
sistemului (= minor de dimensiune m = bază) îi corespunde o unică
soluţie de bază. O soluţie de bază care are toate componentele
nenule strict pozitive se va numi soluţie de bază admisibilă, iar o
soluţie optimă care este de bază se va numi soluţie optimă de bază.
Se observă că o soluţie de bază are cel mult m componente diferite
de 0. Din cauza importanţei lor în rezolvarea problemei, vom
evidenţia soluţiile de bază care au mai puţin decât m componente
nenule, numite soluţii degenerate şi pe cele care au fix m elemente
nenule, numite soluţii nedegenerate.
14
NOTE DE CURS. MATEMATICA ECONOMICĂ

Rezolvarea problemei poate duce la următoarele rezultate:


R1. Sistemul Ax = b nu are soluţii sau nu are soluţii
admisibile. În acest caz problema nu are soluţie.
R2. Imaginea funcţiei obiectiv pe mulţimea soluţiilor
admisibile este nemărginită (la + într-o problemă
de maxim sau la - într-o problemă de minim). În
acest caz spunem că problema are optim infinit.
R3. Imaginea funcţiei obiectiv pe mulţimea soluţiilor
admisibile este mărginită. În acest caz problema are
cel puţin o soluţie şi spunem că problema are optim
finit.
Greutatea găsirii soluţiei problemei constă în imensitatea
numărului de soluţiilor posibile ale sistemului şi în respectarea
condiţiei de nenegativitate a celor printre care căutăm extremul dorit
al funcţiei f. Este natural ca primele încercări în rezolvare să caute
în primul rând o limitare cât mai puternică a locului în care căutăm.
Pe baza unor reprezentări geometrice ale problemei au fost
descoperite următoarele proprietăţi ale problemei:

Teorema 1. Dacă problema de programare liniară are soluţii


admisibile atunci are şi soluţii de bază
admisibile.
Teorema 2. Dacă problema de programare liniară are soluţii optime
atunci are şi soluţii optime de bază.

Mulțimea P este convexă, adică (  ) X , Y  P și (  )    0,1


avem  X+ (1- ) Y  P și  X+ (1- ) Y  0 .
Un punct v  P se numește vârf al mulțimii P dacă nu există
nici o pereche de vectori X , Y  P și (  )    0,1 astfel încât
v=  X+ (1- ) Y .
Teorema 3. Orice soluție posibilă de bază a problemei de
programare liniară este vârf al mulțimii soluțiilor
15
NOTE DE CURS. MATEMATICA ECONOMICĂ
posibile și reciproc.
Teorema 4. Soluția optimă a problemei de programare liniară se
află printre vârfurile mulțimii soluțiilor posibile ale
problemei.
Dacă problema de programare liniară are p soluții optime de bază
xok , k = 1, p, atunci soluția optimă generală are forma:
p p
x o =  k x ok , k  0,  k = 1.
k =1 k =1

Spunem că o problemă de programare liniară admite:


• optim unic, dacă mulțimea soluțiilor optime conține un
singur element;
• optim multiplu, dacă mulțimea soluțiilor optime conține cel
puțin două elemente.

Rezolvarea problemelor de programare liniară prin


metoda grafică

Metodele grafice de rezolvare a problemelor de programare


liniară sunt aplicabile de obicei pentru modelele de programare
liniară cu două variabile, dar pot fi folosite și pentru problemele de
programare liniară cu n necunoscute în cazul când n − r  2, unde r
este rangul matricei ce descrie restricțiile problemei.
În general, soluţia grafică a unui sistem liniar de inecuaţii cu
două necunoscute (variabile) este un domeniu de valori (un
semiplan) denumit domeniu admisibil.

Pașii parcurși în rezolvarea grafică:


1. Condiții de nenegativitate: x1>0 , x2>0.
2. Condițiile de nenegativitate sunt satisfăcute
în cadranul I.
3. Pentru a satisface restricțiile procedăm astfel:
la fiecare restricție se atașează:
16
NOTE DE CURS. MATEMATICA ECONOMICĂ

- O ecuație, ce reprezintă o dreaptă;


- O inecuație strictă, ce reprezintă un semiplan;
- Se alege semiplanul corespunzător (se verifică
inecuația pentru un careva punct din unul din
semiplane);
- Deoarece toate restricțiile trebuie să fie
satisfăcute, se intersectează toate semiplanele
corespunzătoare restricțiilor problemei.
4. Se obține astfel aria admisibilă.
Coordonatele tuturor punctelor acestei arii verifică toate
restricțiile și condițiile de nenegativitate.
5. Mulțimea soluțiilor admisibile este mulțimea
coordonatelor (x1, x2) ale tuturor punctelor care satisfac
toate restricțiile și condițiile de nenegativitate. Acestea
se afla în aria admisibilă și pe conturul ei.
6. Aria admisibilă este reprezentată hașurat.
Aria admisibilă are o infinitate de puncte, deci mulțimea
soluțiilor admisibile este în acest caz infinită.
7. În aceasta mulțime trebuie sa alegem acel
punct ale cărui coordonate conferă funcției obiectiv
valoare cea mai mare (sau cea mai mică). Acel punct va
reprezenta soluția optimă. Este clar că trebuie să
restrângem mulțimea de puncte în care să căutăm soluția
optimă, astfel ca această mulțime sa fie finită. Aria
admisibilă este o mulțime convexă.
8. Se cercetează numai vârfurile acestei
mulțimi. Coordonatele vârfurilor poligonului convex,
care înconjoară aria admisibilă constituie mulțimea
(x1, x2) a soluțiilor admisibile de bază. Soluția optimă se
află în unul din vârfurile poligonului.
9. Pentru determinarea soluției optime se poate
proceda în două moduri:

17
NOTE DE CURS. MATEMATICA ECONOMICĂ
Metoda 1
Se calculează coordonatele vârfurilor și apoi se află
valoarea funcției obiectiv în fiecare vârf. Soluția optimă este
punctul care conferă funcției obiectiv valoarea optimă.

Metoda a 2-a
Se caută valoarea optimă a funcției obiectiv, care este tot
liniară, deci acesteia i se poate atașa o dreaptă d, numită linie de
nivel: c1 x1 + c2 x2 = Z0 . Se construiește gradientul funcției obiectiv:
 z z  z z
grad Z = c =  ,  = ( c , c ) , așa cum x = c1 , x = c2 . Apoi:
x x 
1 2
1 2 1 2

• în problemele de maxim - se deplaseză d, paralel cu ea


însași, în direcția gradientului, pâna la aria admisibilă și se
alege punctul în care ordonata la origine, este cea mai mare;
• în problemele de minim - se deplaseză d, paralel cu ea
însăși, în direcția antigradientului − c , pâna la aria
admisibilă și se alege punctul în care ordonata la origine,
este cea mai mică;
Punctul ales este un varf al poligonului și reprezintă
valoarea optimă.

Rezolvarea grafică a unei probleme de programare liniară

Putem distinge următoarele cazuri posibile:

18
NOTE DE CURS. MATEMATICA ECONOMICĂ

• Dacă la deplasarea liniei de nivel în direcția corespunzătoare


gradientului sau antigradientului linia se duce spre
  problema are optim infinit;
• Dacă funcția obiectiv atinge valoarea optimă în două
puncte  problema are optim multiplu;
• Dacă mulțimea soluțiilor admisibile este vidă  problema
nu are soluție.

Exemple de probleme rezolvate:


Problema 1 (Problemă de transport)
De la două depozite, A și B, trebuie să fie distribuite
fructe la trei piețe ale orașului. Depozitul A stochează 10 tone de
fructe pe zi, iar depozitul B stochează 15 tone de fructe pe zi.
Primele două piețe au nevoie de 8 tone de fructe în fiecare zi , în
timp ce a treia are nevoie de 9 tone pe zi. Costul transportului
de la fiecare depozit la fiecare piață este dat în tabelul de mai
jos. Cum trebuie planificat transportul pentru a obține costul
minim.

Depozit Piața 1 Piața 2 Piața 3


A 10 15 20
B 15 10 10

Vom nota cu x cantitatea (în tone) care se transportă din


depozitul A în piața 1, cu y cantitatea (în tone) care se transportă din
depozitul A în piața 2. Vom obține următorul tabel:

Depozit Piața 1 Piața 2 Piața 3


A x y 10-x-y
B 8-x 8-y 9-(10-x-y)=x+y-1

Funcția obiectiv va fi:

19
NOTE DE CURS. MATEMATICA ECONOMICĂ
P ( x, y ) = 10 x + 15 y + 20 (10 − x − y ) + 15 (8 − x ) + 10 (8 − y ) +
+10 ( x + y − 1) = −15 x − 5 y + 390.
P ( x, y ) = −15 x − 5 y + 390 → min
 x  0, y  0,
 x  8, y  8,


 x + y  10,
 x + y  1.
Reprezentând grafic toate dreptele vom obține astfel aria
admisibilă.

Apoi, rezolvând sistemele de ecuații corespunzătoare


obținem vârfurile ariei admisibile: A (1,0), B (0,1), C (0,8), D (2,8),
E (8,2) și F (8,0).
Evaluând funcția obiectiv în vârfurile poligonului obținem:
F (1,0 ) = 375; P (8, 2 ) = 260; P ( 0,8 ) = 350; P ( 2,8 ) = 320;
P ( 8,0 ) = 270; P ( 0,1) = 385.
Minimul se obține pentru x=8, y=2 și are valoarea de 260.

20
NOTE DE CURS. MATEMATICA ECONOMICĂ

În acest caz, răspunsul este că costul minim se realizează


prin transportul de la depozitul A a 8 tone la piața 1, 2 tone la piața
2 și nimic la piața 3; și din depozitul B, nimic la piața 1, 6 tone la
piața 2 și 9 tone la piața 3.

Problema 2

Z ( x) = 3 x1 + 7 x2 → max
5 x1 − x2  0
x + x  5
 1 2

 x 1 3
2 x − 3x  0
 1 2

 x1  0, x2  0.
Construim mulțimea soluțiilor admisibile sau aria
admisibilă:

Așa cum funcția obiectiv Z(x) este nemărginită în aria

21
NOTE DE CURS. MATEMATICA ECONOMICĂ
admisibilă  max Z ( X ) → + .

Problema 3
Z ( x) = 4 x1 + 5 x2 → max
3 x1 − x2  0
x  6
 2
2 x1 + x 2  16

− x1 + 2 x2  2
x − x  3
 1 2
 x1  0, x2  0
Construim mulțimea soluțiilor admisibile sau aria admisibilă:

Deoarece aceasta este vidă problema nu are soluție.

22
NOTE DE CURS. MATEMATICA ECONOMICĂ

Problema 4
F( x ) = 5 x2 − 2 x3 + 4 x4 + x5 → min
 3x2 + 2 x3 + x4 + 3x5 = 38

 x1 + x2 + x3 + x4 + 2 x5 = 24

 3x2 − x4 + x5 = 6
 x1 ,x2 ,x3 ,x4 ,x5  0.
Vom transforma sistemul ce descrie restricțiile problemei
aplicând metoda Jordan-Gauss:

 3x2 + 2 x3 + x4 + 3x5 = 38
 x + x + x + x + 2 x = 24 −6 x2 + 2 x3 + 4 x4 = 20
 1 2 3 4 
  x1 − 5 x2 + x3 + 3x4 = 12 
5

 3x2 − x4 + x5 = 6 
 3x2 − x4 + x5 = 6
x , x , x , x , x  0
 1 2 3 4 5
 x3 = 10 + 3 x2 − 2 x4  0
−3 x2 + x3 + 2 x4 = 10 x = 2 + 2x − x  0
  1
 1
x − 2 x + x = 2  
2 4

= − + 
2 4
 x 6 3 x x 0
 3 x2 − x4 + x5 = 6  5 2 4
 x2 , x4  0
−3 x2 + 2 x4  10
−2 x + x  2

 2 4

 3 x 2 − x4 6
 x2 , x4  0.

Problema poate fi reformulată:


F = −4 x2 + 9 x4 − 14 → min

23
NOTE DE CURS. MATEMATICA ECONOMICĂ
 −3 x2 + 2 x4  10
 −2 x + x  2
 2 4

 3 x2 − x4  6
 x2 , x4  0

Construim mulțimea soluțiilor admisibile.


F = gradF = (−4;9) .

x = (2,0) – este soluția optimă în spațiul variabilelor x2, x4.


Celelalte componente ale soluției se pot determina din soluția
generală a sistemului de restricții:
 x1 = 2 + 2 x2 − x4 = 6

 x3 = 10 + 3x2 − 2 x4 = 16
 x = 6 − 3x + x = 0
 5 2 4

24
NOTE DE CURS. MATEMATICA ECONOMICĂ

Deci x = (6,2,16,0,0) este soluția optimă a problemei


cercetate și
Fmin = F ( 6, 2,16, 0, 0 ) = −22.

Probleme propuse:

Problema 1 (Planul optim de producție)


Pentru a produce sacouri și pantaloni o fabrica utilizează
trei mașini: de tăiat, de cusut și de vopsit. Pentru efectuarea unui
sacou se utilizează mașina de tăiat o oră, de cusut trei ore, iar cea de
vopsit o oră, iar pentru pantaloni se folosește mașina de tăiat o oră;
de cusut o oră, iar cea de vopsit nici o oră. Mașină de vopsit poate fi
utilizată timp de trei ore, de cusut - unsprezece ore și cea de tăiat -
șapte ore. Tot ceea ce este produs se vinde și se obține un profit de
opt euro pentru fiecare sacou și cinci euro pentru fiecare pantalon.
În ce mod vom folosi mașinile pentru a obține un profit maxim?
Răspuns: f(2,5)=41.

Problema 2. (Amestec)
Un fermier trebuie să asigure un minim de 4 mg pe zi de
vitamina A și 6 mg de vitamina B în furajele pe care le dă vitelor. El
are două tipuri de furaje, P1 și P2, al căror conținut de vitamina per
kilogram este reprezentat în tabelul de mai jos:

A B
P1 2 6
P2 4 3

Kilogramul de furaj de tipul P1 costă 0,4 €, iar kilogramul de


furaj de tipul P2 costă 0,6 €. Cum ar trebui să amestece cele 2
tipuri de furaje, pentru a obține o hrană mixtă cu vitaminele

25
NOTE DE CURS. MATEMATICA ECONOMICĂ
necesare bovinelor, astfel încât cheltuielile să fie minime?
Răspuns: f(2/3,2/3).

Problema 3 (problema folosirii optime a resurselor)


O patiserie face două tipuri de tarte, T1 și T2, pentru care se
utilizează trei ingrediente: A, B și C. Patiseria dispune de 150 kg de
ingredient A, 90 kg de B și de 150 kg de C. Pentru a face tarta T1, se
amestecă 1 kg de A, 1 kg de B și de 2 kg de C, în timp ce pentru a
face tarta T2, este nevoie de 5 kg de A, 2 kg de B și 1 kg de C.
a) În cazul în care tarta T1 se vinde la 10 lei, iar T2 la 23 lei,
ce cantități ar trebui fabricate de fiecare tip, pentru a maximiza
veniturile?
b ) Dacă prețul unei tarte de tipul T1 este de 15 lei, care ar fi
prețul unei tarte de tipul T2 în cazul în care o soluție optimă este de
a face 60 de tarte de tipul T1 și 15 de tipul T2?
Răspuns: a) f(50,20), b) p=30 lei.

Algoritmul simplex

• Algoritmul simplex se bazează pe metoda eliminării


complete de rezolvare a unui sistem de ecuaţii liniare
adaptată scopului urmărit, adică găsirea numai a soluţiilor cu
componente nenegative, respectiv a soluţiei pentru care
funcţia liniară f are valoarea optimă.
• Presupunem mai departe că opt = max, deoarece dacă se
cere minim din relaţia
-max (-f) = min (f)

26
NOTE DE CURS. MATEMATICA ECONOMICĂ

rezultă că este suficient să se determine max (-f), iar apoi cu


semn schimbat vom avea min f.
• Întrebările la care trebuie să răspundă algoritmul simplex
sunt următoarele: cum pornim, cum trecem de la o soluţie la
alta mai bună şi când ne oprim.
• Fie problema de programare liniară:
 max  f = c1· x1 + c 2 · x 2 + ... + c n · x n

a11 x1 + a12 x2 + ... + a1n xn = b1



a21 x1 + a22 x2 + ... + a2 n xn = b2

...............................
a x + a x + ... + a x = b
 m1 1 m 2 2 mn n m

 x j  0, j = 1, n m  n

• Folosind metoda eliminării complete se determină o soluţie


de bază şi presupunem că s-au redus primele m coloane:

 a11 a12 ... a1m a1m+1 ... a1n b1 


 
 a21 a22 ... a2 m a2 m+1 ... a2 n b2 
 ... ... ... ... ... ... ... ... 
( A, b) =  
 ai1 ai 2 ... aim aim+1 ... ain bi 
 ... ... ... ... ... ... ... ... 
 
 am1 am 2 ... amm amm+1 ... amn bm 

27
NOTE DE CURS. MATEMATICA ECONOMICĂ
1 0 ... 0 [1m+1 ] ...  1n 1 

0 1 ... 0  2 m+1 ...  2n  2 
 ... ... ... ... ... ... ... ... 
 .
0 0 ... 0  im+1 ...  in i 
 ... ... ... ... ... ... ... ... 
 
0 0 ... 1  mm+1 ...  mn  m 

• În ipoteza că  i  0, i = 1, m soluţia de bază este:

x B0 = ( 1, 2, …, m, 0, …, 0 ) t şi


f (x B0 ) = c1 1 + c2 2 + … + cm m.
• Trecem de la soluţia de bază x B0 la o altă soluţie de bază x B1
care să fie mai bună şi în care necunoscuta principală să fie
x m+1 în locul lui x 1. Aceasta se face reducând coloana lui
x m+1 şi presupunând că pivot este  1, m+1.
• Avem:
 1 1n 1 
  0 ... 0 1 ... 
1m +1 1m +1
 1m +1 
  2 m +1     
− 1 ... 0 0 ...  2 n − 1n 2 m +1  2 − 1 2 m +1 
 1m +1 1m +1 1m +1 
 ... ... ... ... ... ... 
 .
 −  im +1 0 ... 0 0 ...  in −
1n   im +1
i −
1   im +1 
 1m +1 1m +1 1m +1 
 
 ... ... ... ... ... ... 
  1n   mm +1   
 − mm +1 0 ... 1 0 ...  mn −  m − 1 mm +1 
 1m +1 1m +1 1m +1 

28
NOTE DE CURS. MATEMATICA ECONOMICĂ

• Dacă elementele de pe ultima coloană sunt  0 atunci soluţia


nou obţinută este soluţie de bază:
t
      
xB 1
=  0,  2 − 1 2m +1 , ... ,  m − 1 mm +1 , 1 , 0, ... , 0  .
 1m +1 1m +1 1m +1 

1 
Avem  0 şi  i − 1 im+1  0 , i = 2, m rezultă 1m+1 0 şi
1m+1 1m+1
i 
 1 =  (raport minim), adică trecerea de la o soluţie de
 im+1 1m+1
bază la altă soluţie de bază se face reducând o coloană cu
respectarea condiţiilor în alegerea pivotului:
- elementul pivot trebuie să fie pozitiv;
- dacă în coloana care se reduce sunt mai multe
elemente pozitive atunci pivotul va fi acela care
furnizează cel mai mic raport când termenii liberi se
împart la elementele pozitive corespunzătoare, din
această coloană- criteriul de ieșire din bază.
• Soluţia obţinută x B
1
va fi mai bună decât x B
0
dacă
f (x B1 ) – f (x B0 )  0.
1
• Avem f (x B
1
) – f (x B
0
) = c m+1 - c 1  1 – c 2
 1m +1
1   2,m +1  
- … - c m 1 m,m+1 =
1m +1 1m+1

29
NOTE DE CURS. MATEMATICA ECONOMICĂ
1
= c m+1 – (c 1  1m+1 + c2  2m+1 + …+ c m  mm+1 ) =
 1m +1
=  (c m+1 –f m+1),
dacă f m+1 = c 1  1m+1 + c2  2m+1 +…+ c m  mm+1 = c B·A m+1
(A m+1 este coloana m+1 a matricei A transformate)
1. Cum   0 se obţine condiţia c m+1 – f m+1  0, care ne
asigură că prin trecerea de la x B0 la soluţia x B1 s-a obţinut
o soluţie mai bună.
2. Atunci când toate diferenţele  j = c j – f j  0 soluţia nu se

mai poate îmbunătăţii şi acea soluţie de bază este soluţia


optimă a problemei.
Etapele algoritmului simplex sunt:
1. se determină o soluţie de bază a problemei;
2. se calculează valorile f j = c B · A j, j = 1, n ;

3. dacă există diferenţe c j – f j  0 se trece la o altă soluţie de


bază (prin reducerea coloanei cu diferenţa c j – f j cea mai
mare - criteriul de intrare în bază), iar dacă nu există
c j – f j  0 se trece la etapa 5;
4. se repetă etapele 2 şi 3 până nu mai există diferenţe
cj – fj  0 ;
5. se scrie soluţia optimă: variabilele bazice au valorile
corespunzătoare în coloana termenilor liberi, iar cele
30
NOTE DE CURS. MATEMATICA ECONOMICĂ

secundare sunt toate zero, iar valoarea pentru


f max = cB · B –1· b.
6. Calculele presupuse de etapele algoritmului simplex se pot
organiza într-un tabel informaţional, denumit tabelul
simplex, în care sunt uşor de găsit numeroase informaţii ale
soluţionării prin intermediul rezultatelor numerice:
c c1 c2 ... cm cm+1 ... cn
cB xB b A1 A2 ... Am Am+1 ... An 
c1 x1
c2 x2
B-1b Im B-1S
 
cm xm
f(xB) 0 fm+1 ... fn
0 cm+1 – fm+1 ... cn – fn
7. Prin trecerea de la o etapă (iteraţie) a tabloului simplex la
alta se ţine seama de următoarele reguli:
- se împarte linia pivotului cu pivotul;
- coloana pivotului va avea cifra 1 în locul pivotului şi
zero în rest;
- elementele celorlalte coloane ale noului tablou
simplex se determină folosind regula dreptunghiului.
• Cazul soluţiei infinite. Există situaţii în care funcţia
obiectiv are un maxim infinit, adică valoarea ei poate fi
făcută oricât de mare. Aceasta se întâmplă dacă există o

31
NOTE DE CURS. MATEMATICA ECONOMICĂ
diferenţă cj - fj pozitivă, dar pe coloana acesteia nu există
nici un element pozitiv, care să fie luat pivot.
• Degenerarea în problemele de programare liniară.
Soluţia de bază este degenerată dacă numărul componentelor
sale mai mari decât 0 este mai mic decât m (în coloana b
există 0). Această situaţie apare, fie la început, fie pe
parcurs, când la introducerea în bază a unui vector, există
mai multe componente pozitive care furnizează acelaşi
raport minim. Pentru a evita fenomenul de ciclare, elementul
pivot va fi ales acela care furnizează cea mai mică linie în
ordonarea lexicografică.
• Definiţie Linia (x1, x2, …, xn ; x) este mai mică în ordonarea
lexicografică decât linia (y1, y2, …, yn ; y) dacă x  y sau
x = y şi x1  y1, sau x = y, x1 = y1, şi x2  y2, sau … x = y,
x1 = y1, … , xn-1 = yn-1 şi xn  yn.
• Soluţii multiple. Soluţia generală. Analizând tabelul
simplex care conţine soluţia optimă se constată că numărul
zerourilor din linia diferenţelor cj – fj este mai mare decât m
(diferenţele cj – fj corespunzătoare vectorilor bazei optime
sunt nule ) atunci problema poate avea mai multe soluţii
optime. Celelalte soluţii optime se obţin reducând pe rând,
dacă este posibil, coloanele care au diferenţa cj – fj = 0.

32
NOTE DE CURS. MATEMATICA ECONOMICĂ

După obţinerea tuturor soluţiilor optime se scrie soluţia


generală ca combinaţie liniară convexă a acestora.
• Probleme cu soluţii impuse. Există situaţii practice în care,
din motive diverse, anumite componente ale soluţiei sunt
restricţionate să ia:
1. anumite valori, adică xj = pj pentru un j dat;
2. valori în anumite intervale, adică pj  xj  qj, pentru un j
dat.
Astfel de situaţii sunt socotite modele sau probleme cu
soluţii impuse atunci când restricţii precum cele menţionate sunt
altele decât cele de semn.
• Dacă se impune condiţia xj = pj, atunci se reduce problema
la (n-1) variabile, renunţând la variabila xj în funcţia
obiectiv, dar şi în restricţiile problemei.
• Dacă se adaugă o restricţie de tipul pj  xj  qj atunci la
restricţiile problemei iniţiale se mai adaugă noi restricţii
pj  xj şi xj  qj.
• Soluţiile problemelor “cu soluţii impuse” nu mai sunt soluţii
de bază (ele pot avea mai multe componente strict pozitive
decât dimensiunea bazei).

33
NOTE DE CURS. MATEMATICA ECONOMICĂ
Exemplul 1
max f = 5 x1 + 7 x2 + 9 x3 + 2 x4 + x5
3x1 + 2 x2 + x3 + 5 x4 + 3x5 = 7

2 x1 + x2 + x3 + 3x4 + x5 = 4
x j  0, j = 1, 2,...,5.
Construim tabelul simplex. Determinăm o soluție de bază:

c 5 7 9 2 1 
CB B b A1 A2 A3 A4 A5

7 3 2 1 5 3
4 2 1 1 3 1

c 5 7 9 2 1 
CB B b A1 A2 A3 A4 A5
1 0 1/2 -1/2 1/2 3/2
5 x1 2 1 1/2 1/2 3/2 1/2

c 5 7 9 2 1 
CB B b A1 A2 A3 A4 A5
7 x2 2 0 1 -1 1 3
5 x1 1 1 0 1 1 -1 1
f, fj 19 5 7 -2 12 16
cj-fj - 0 0 11 -10 -15
34
NOTE DE CURS. MATEMATICA ECONOMICĂ

Se execută pivotajul şi obţinem: Așa cum c3-f3 >0, alegem pivotul


din coloana A3. Deci x3 intră în bază, x1 iese din bază.
c 5 7 9 2 1 
CB B b A1 A2 A3 A4 A5
7 x2 3 1 1 0 2 2
9 x3 1 1 0 1 1 -1
f, fj 30 16 7 9 23 5
cj-fj - -11 0 0 -21 -4

Așa cum toți cj-fj<0 soluția obținută este optimă:


Xopt=(0, 3,1,0,0) și fmax=f(0, 3,1,0,0)= 3  7 + 9 1 =30.

Exemplul 2
min f = 5 x1 + 7 x2 + 9 x3 + 2 x4 + x5
3 x1 + 2 x2 + x3 + 5 x4 + 3 x5 = 7

2 x1 + x2 + x3 + 3x4 + x5 = 4
x j  0, j = 1, 2,...,5.
Așa cum min f= -max f(-x) avem:

c -5 -7 -9 -2 -1 
CB B b A1 A2 A3 A4 A5
7 3 2 1 5 3
4 2 1 1 3 1

35
NOTE DE CURS. MATEMATICA ECONOMICĂ

c -5 -7 -9 -2 -1 
CB B b A1 A2 A3 A4 A5
1 0 1/2 -1/2 1/2 3/2
-5 x1 2 1 1/2 1/2 3/2 1/2

c -5 -7 -9 -2 -1 
CB B b A1 A2 A3 A4 A5
-7 x2 2 0 1 -1 1 3 2/3
-5 x1 1 1 0 1 1 -1
f, fj -19 -5 -7 2 -12 -16
cj-fj - 0 0 -11 10 15

Se execută pivotajul şi obţinem: așa cum c5-f5 > c4-f4 >0, alegem
pivotul din coloana A5. Deci x5 intră în bază, x2 iese din bază.

c -5 -7 -9 -2 -1 
CB B b A1 A2 A3 A4 A5
-1 x5 2/3 0 1/3 -1/3 1/3 1 2
-5 x1 5/3 1 1/3 2/3 4/3 0 5/4
f, fj -27/3 -5 -2 -3 -7 -1
cj-fj - 0 -5 -6 5 0

36
NOTE DE CURS. MATEMATICA ECONOMICĂ

c -5 -7 -9 -2 -1 
CB B b A1 A2 A3 A4 A5
-1 x5 1/4 1/4 1/4 -1/2 0 1
-2 x4 5/4 1/4 1/4 1/2 1 0
f, fj -11/4 -3/4 -3/4 -1/2 -2 -1
cj-fj - -17/4 -25/4 -17/2 0 0

Așa cum toți cj-fj<0 soluția obținută este optimă:


Xopt=(0, 0,0,5/4,1/4), fmin= - f(0, 0,0,5/4,1/4) =11/4.

Exemplul 3: Să se rezolve problema de programare liniară:


max f = 4 x 1 +2 x 2 + 5 x 3 + x 4
 x1 + 3 x2 − x3 + 2 x4 = 5

− x1 + 2 x2 + x3 + 5 x4  3

2 x1 + x2 + 2 x3 + x4  8
x + 2x + x + x  7
 1 2 3 4

 x j  0, j = 1,4

Aducem mai întâi problema la forma standard:
max f = 4 x 1 +2 x 2 + 5 x 3 + x 4
 x1 + 3x2 − x3 + 2 x4 = 5

− x1 + 2 x2 + x3 + 5 x4 − x5 = 3

2 x1 + x2 + 2 x3 + x4 + x6 = 8
x + 2x + x + x + x = 7
 1 2 3 4 7

 x j  0, j = 1,7

37
NOTE DE CURS. MATEMATICA ECONOMICĂ
Pentru rezolvare construim tabelul simplex:

cB B
c 4 2 5 1 0 0 0 
b A1 A2 A3 A4 A5 A6 A7
- - 5 1 3 -1 2 0 0 0
- - 3 -1 [2] 1 5 -1 0 0
0 x6 8 2 1 2 1 0 1 0
0 x7 7 1 2 1 1 0 0 1

- - 1/ 2 [5/2] 0 -5/2 -11/2 3/2 0 0


2 x2 3/2 -1 /2 1 1 /2 5/2 -1 /2 0 0
0 x6 13/2 5/2 0 3/2 -3/2 1/ 2 1 0
0 x7 4 2 0 0 -4 1 0 1

4 x1 1/5 1 0 -1 -11/5 3/5 0 0


2 x2 8/5 0 1 0 7/5 -1/5 0 0
0 x6 6 0 0 [4] 4 -1 1 0 3/2
0 x7 18/5 0 0 2 2/5 -1/5 0 1 9/5
fj 4 4 2 -4 -6 2 0 0
cj – f j - 0 0 9 7 -2 0 0

4 x1 17/10 1 0 0 -6/5 7/20 1/ 4 0 34/7


2 x2 8/5 0 1 0 7/5 -1/5 0 0
5 x3 3/ 2 0 0 1 1 -1/4 1/ 4 0
0 x7 3/5 0 0 0 -8/5 [3/10] -1/ 2 1 2
fj 35/2 4 2 5 3 -1/ 4 9/4 0
cj – f j - 0 0 0 -2 1/ 4 -9/4 0

4 x1 1 1 0 0 -2/ 3 0 5/6 -7/6


2 x2 2 0 1 0 1/3 0 -1/ 3 2/ 3
5 x3 2 0 0 1 -1/ 3 0 -1/6 5/6
0 x5 2 0 0 0 -16/3 1 -5/3 10/3
fj 18 4 2 5 5/3 0 11/6 5/6
cj – f j - 0 0 0 -2/3 0 -11/6 -5/6

Astfel, soluţia optimă a problemei generale este:


38
NOTE DE CURS. MATEMATICA ECONOMICĂ

x opt = (1, 2, 2, 0) t, f max = 18.


Se vede că nu au fost scrise valorile necunoscutelor de
compensare (ecart) x 5 = 2, x 6 = 0, x7 = 0.

39

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