Sunteți pe pagina 1din 71

Ovidiu Poloţca

MATEMATICĂ ECONOMICĂ
(Note de curs)

1
2
Capitolul 1

Matrice. Determinanţi

1.1 Matrice
Definiţii. Operaţii cu matrici
Notăm Nn = {1, 2, 3, · · · , n}. Se numeşte matrice, funcţia
A : Nm × Nn → R, A(i, j) = aij , i = 1, m, j = 1, n
 
a11 a12 a13 · · · a1n
 
 a a a23 · · · a2n 
A = (aij ) i=1, m =  21 22 
j=1, n  · · · ··· · 
am1 am2 am3 · · · amn

aij se numesc elementele matricei. Matricea A se numeşte pătratică, dacă m = n.


Notăm cu Mm,n mulţimea matricelor cu m linii şi n coloane iar cu Mn mulţimea
matricelor pătratice. Spunem că o matrice A este de tip (m, n) dacă A ∈ Mm,n

Egalitatea matricelor:
A = (aij ) ∈ Mm,n , B = (bij ) ∈ Mm,n ,

A = B ⇐⇒ aij = bij , i = 1, m, j = 1, n

Matricea nulă E şi matricea unitate In


Definim matricile
   
0 0 0· · · 0 1 0 0· · · 0
 0 0 0· · · 0   0 1 0· · · 0 
   
E=  ∈ Mm,n , In =   ∈ Mn
 ········· · ·   ········· · · 
0 0 0· · · 0 0 0 0· · · 1

3
4 CAPITOLUL 1. MATRICE. DETERMINANŢI

Adunarea matricelor
A = (aij ), B = (bij ) ∈ Mm,n , A + B = (aij + bij ) ∈ Mm,n .

Adunarea matricelor are următoarele proprietăţi:


(a) A + (B + C) = (A + B) + C (asociativitate)
(c) A+B =B+A (Comutativitate)
(e) A+E =A (element neutru)
(s) A + (−A) = E, unde − A = (−aij ) (simetrizabilitate)

Înmulţirea matricelor
A = (aij ) ∈ Mm,n , B = (bij ) ∈ Mn,p , A·B = (cij ) ∈ Mm,p
n
X
cij = aik bkj , i = 1, m, j = 1, p
k=1

Înmulţirea matricelor are următoarele proprietăţi:


(a) A·(B ·C) = (A·B)·C (asociativitate)
(e) A·In = A, A ∈ Mn (dispune de element neutru unic)
(d) A(B + C) = AB + AC (distributivitate la stânga)
(B + C)A = BA + CA (distributivitate la dreapta)

Înmulţirea matricelor cu scalari


A = (aij ) ∈ Mm,n , α·A = (α·aij ). Proprietăţi:

1) 1·A = A
2) (α + β)A = αA + βA
3) α(A + B) = αA + αB
4) (α·β)A = α(β ·A) = β ··(α·A)
5) α·(A·B) = (α·A)·B

Transpusa unei matrici. Proprietăţi


Se numeşte transpusa matricei A ∈ Mm,n , matricea AT ∈ Mmn obţinută din
A prin intervertirea liniilor cu coloane.
   
a11 a12 a13 · · · a1n a11 a21 a31 · · · am1
 a21 a22 a23 · · · a2n   a12 a22 a32 · · · am2 
A=  ·
, AT =  
· · ··· ·   · · · ··· · 
am1 am2 am3 · · · amn a1n a2n a3n · · · amn
1.2. DETERMINANŢI 5

În raport cu operaţiile introduse, transpusa are următoarele proprietăţi:


1) (A + B)T = AT + B T
2) (A·B)T = B T ·AT
3) (α·A)T = α·AT
4) (AT )T = A

1.2 Determinanţi
Definiţie. Calcul
Se numeşte determinant de ordinul n al matricei pătratice A = (aij ) ∈ Mn
not.
un număr real pe care-l notăm astfel: det(A) = |A|
 
a11 a12 a13 · · · a1n a11 a12 a13 · · · a1n

 
 a21 a22 a23 · · · a2n  a21 a22 a23 · · · a2n
A= , det A =
 · · · ··· ·  · · · · · · ·

an1 an2 an3 · · · ann an1 an2 an3 · · · ann
Matricea A se numeşte singulară dacă det A = 0 şi nesingulară dacă det A 6= 0

Calculul Determinanţilor de ordinul 2



a a
D = 11 12 = a11 a22 − a12 a21

a21 a22

Calculul Determinanţilor de ordinul 3


(Regula lui Sarrus)

a11 a12 a13

& .

a21 a22 a23
D = = a11 a22 a33 +a21 a32 a13 +a31 a12 a23 −(a13 a22 a31 +a23 a32 a11 +a33 a12 a21 )

. &
& .
a31 a32 a33

. .
& &
a11 a12 a13
. &
a21 a22 a23

Referitor la corespondenţa matrice ←→ determinant avem proprietăţile


1) det(A · B) = det(A) · det(B)
2) det(α·A) = αn det(A)
3) det(AT ) = det(A)
6 CAPITOLUL 1. MATRICE. DETERMINANŢI

Complement algebric
• Se numeşte minor al elementului aij , determinantului Dij de ordinul n − 1
obţinut prin suprimarea liniei i şi coloanei j
• Se numeşte Complement algebric: al elementului aij determinantul

Aij = (−1)i+j Dij

Un determinant de ordinul n se poate exprima prin suma a n determinanţi


de ordinul n − 1 astfel

D = ai1 Ai1 + ai2 Ai2 + ai3 Ai3 + · · · + ain Ain (dezvoltarea după linia i)
D = a1j A1j + a2j A2j + a3j A3j + · · · + anj An (dezvoltarea după coloana j)

Determinanţii unor matrice particulare


Definim următoarele tipuri de matrice:
D = (aij )i=1, m ; aij = 0, i > j, matrice triunghiulară dreapta
j=1, n
S = (aij )i=1, m ; aij = 0, i < j, matrice triunghiulară stânga
j=1, n
∆ = (aij )i=1, m ; aij = 0, i = j, matrice diagonală
j=1, n
     
a11 a12 a13 a11 0 0 a11 0 0
 a22 a23     a22 0 
D= 0  S =  a21 a22 0  ∆= 0 
0 0 a33 a31 a32 a33 0 0 a33

det D = det S = det ∆ = a11 ·a22 ·a33

Proprietăţi ale determinanţilor


D.1 Un determinant este nul dacă:
a) Elementele unei linii sau coloane sunt nule
b) Are două linii sau coloane identice
c) Elementele a două linii sau coloane sunt proporţionale
d) O linie sau coloană este combinaţie liniară de celelalte linii sau coloane
D.2 Dacă intervertim două linii sau coloane, ale unui determinant obţinem un
determinant egal cu opusul determinantului iniţial
D.3 Dacă la elementele unei linii sau coloane adună elementele altei linii sau colane
ı̂nmulţite cu un număr (acelaşi), valoarea dederminantului nu se schimbă.
1.2. DETERMINANŢI 7

D.4 Dacă elementele unei linii sau coloane se ı̂nmulţesc cu un număr, atunci
determinantul se ı̂nmulţeşte cu acel număr.

Matrice inversabilă
Matricea A ∈ Mn se numeşte inversabilă, dacă

∃ A−1 ∈ R astfel ı̂ncât A·A−1 = In

Matricea A este inversabilă dacă şi numai dacă det(A) 6= 0 şi atunci
1
A−1 = ·A∗
det(A)

unde  T
A11 A12 A13 ··· A1n
 
 A21 A22 A23 ··· A2n 
A∗ =  
 · · · ··· · 
An1 An2 An3 ··· Ann
se numeşte matricea adjunctă iar Aij , i, j = 1, n sunt complemenţii algebrici ai
elementelor aij .

Caz particular
   
a b −1 1 d −b
A= , A =
c d ad − bc −c a
Operaţia de inversare a matricelor are următoarele proprietăţi:

1) (A · B)−1 = B −1 · A−1
2) (AT )−1 = (A−1 )T
3) (A−1 )−1 = A
4) det(A)·det(A−1 ) = 1
8 CAPITOLUL 1. MATRICE. DETERMINANŢI

1.3 Exerciţii
1. Să se calculeze suma matricelor
   
−1 0 3 4 1 1 −2 −2
a) A, B ∈ M24 , A = , B=
−2 1 −3 −4 2 −1 3 4
   
−1 2 1 −2
 1   
b) A =  0 , B= 1 1 
1 −3 1 1
2. Să se calculeze produsul matricelor
 
  1 4
1 −1 2  
a) A = ∈ M23 , B =  0 0  ∈ M32
0 4 −3
−1 1
   
a11 a12 a13 x1
   
b) A =  a21 a22 a23  ∈ M33 , X =  x2  ∈ M31
a31 a32 a33 x3
 
  b1
 
c) A = a1 a2 a3 ∈ M13 , X =  b2  ∈ M31
b3
  !
1 −1 1 −1 0
d) A = ∈ M22 , B= ∈ M23
2 3 2 −2 1
 
−1 4 !
 5  8 2 2
e) A =  7  ∈ M32 , B= ∈ M23
0 6 −4
6 −2

3. Să se calculeze matricea


   
1 −4 2 6 −3 18
2
A = 2·  −5 −3 4  − ·  3 9 −9 
3
0 4 5 12 0 3

4. Să se rezolve ecuaţia matricială


     
2 −3 1 3 −3 6
3X +  −1 2  = 2·  7 4  +  −9 3 
2 −3 −2 6 3 0

5. Cu regula lui Sarrus să se calculeze determinanaţii matricelor


1.3. EXERCIŢII 9
   
−1 2 3 −1 1 1
a) A =  4 1 −1  , B= 2 1 0 
4 2 3 4 3 3
   
1 −4 2 6 −3 18
1
b) A = 2·  −5 −3 4  , B = · 3 9 −9 
3
0 4 5 12 0 3
6. Să se calculeze determinanaţii de ordinul doi:

−1 2 1 −2 4 −6 5
a) 2 , ,
4 11 2 2 6 4 −11

1 −2 1 −1 1

x+y
5 − 2

b) , , √
2 4 −6 7 8 5+2 x−y
√ √ √ √
a −b −4 10 2+ 3 2 −
c) 2 , , √ √ √ √5
b a 8 −6 2+ 5 2− 3

7. Cu regula lui Sarrus să se calculeze următorii determinanaţi:



−1 2 3 −2 4 2
1
a) 2· 4 1 −1 , · 2 6 0
4 2
2 3 4 −2 −6

1 −4 2 6 −3 18
1
b) 2· −5 −3 4 , · 3 9 −9
0 3
4 5 12 0 3
8. Să se calculeze următorii determinanaţi prin dezvoltare după o linie sau coloană

1 0 −2 6 −3 18 2 −3 1

a) −5 −3 4 , 3 9 −9 , 0 3 0

0 4 5 12 0 3 1 2 3

1 0 −2 3 1 0 0 0

−5 −3 4 −2 3 9 −9 −1
b) ,
0 4 5 −1 2 0 3 −2

0 4 5 −1 102 0 0 −2

1 2 −1 4 −2 5 0 −1

3 1 4 −5 1 0 3 7
c) ,
2 0 1 −1 3 −1 0 5

6 −5 4 −4 2 6 −4 1

9. Să se calculeze următorii determinanaţi efectuând elemente nule pe linie sau


coloană
10 CAPITOLUL 1. MATRICE. DETERMINANŢI

2 1 1 1 1 2 3 4 −1 2 4 5

1 2 1 1 2 3 4 1 −1 4 1 2
a) , ,
1 1 2 1 3 4 1 2 0 2 1 −2

1 1 1 1 4 1 2 3 4 3 2 1

−1 0 1 2 1 1 1 1 2 1 0 0

2 −1 3 4 1 2 3 4 1 2 1 0
b) , ,
5 −1 1 1 2 3 4 5 0 1 2 1

2 −2 4 1 3 4 5 6 0 0 1 2

1 2 −1 4 −2 5 0 −1

3 1 4 −5 1 0 3 7
c) ,
2 0 1 −1 3 −1 0 5

6 −5 4 −4 2 6 −4 1

0 1 2 3 0 a b c

−1 0 3 4 −a 0 d e
d) ,
−2 −3 0 5 −b −d 0 f

−3 −4 −5 0 −c −e −f 0

−4 1 2 −2 1 a 1 2 −2 1

0 3 0 1 −5 0 b 0 1 −5

e) 2 −3 1 −3 1 , 0 0 c −3 1

−1 −1 3 −1 0 0 0 0 d 9

0 4 0 2 5 0 0 0 0 e

f ) Să se arate că următorii determinanţi sunt nuli



6 10 2 4 a b 0 d

−1 0 3 4 −1 5 0 e
d) ,
3 5 1 2 123 d 0 f

−3 −4 −5 0 9 e 0 7

a b c d

b c d a
unde a + b + c + d = 0
c d a b

d a b c

Să se se stabilească dacă matricele următoare sunt inversabile şi ı̂n caz afirmativ,
det A 6= 0, să se calculeze inversele lor:
 
2 2 3
 
10. A =  1 −1 1 
−1 2 1
1.3. EXERCIŢII 11

Rezolvare: det A = −7 6= 0

−1 1 1 1 1 −1
A11 = = −3, A12 = − = −2, A13 = =1
2 1 −1 1 −1 2

2 3 2 3 2 2
A21 = − = 4, A22 = = 5, A23 = −
−1 2 = −6
2 1 −1 1
 
2 3 2 3 2 2
A31 = = 5, A32 = − = 1, A33 =
1 −1 = −4
−1 1 1 1
   
−3 4 5 −3 4 5
  1 
A∗ =  −2 5 1 , A−1 = −  −2 5 1 
7
1 −6 −4 1 −6 −4
       
1 2 3 4 a b 1 0
11. a) A = , B= , C= , D=
3 4 5 6 c d 0 1
     
1 1 1 1 −1 2 2 2 3
     
b) A =  1 2 3  , B= 3 2 1 , C =  3 −1 0 
1 3 6 −1 0 1 −1 2 0
   
1 1 1 1 1 2 −1 3
 1 1 −1 −1   0 1 2 −5 
   
12. A =  , B= 
 1 −1 1 −1   0 0 1 −3 
1 −1 −1 1 0 0 0 1

   
1 1 1 1 0 1 1 1
 1 0 1 1   1 0 1 1 
   
13. A =  , B= 
 1 1 0 1   1 1 0 1 
1 1 1 0 1 1 1 0

   
3 −2 0 −1 1 0 0 0
 0 2 2 1   1 1 0 0 
   
14. A =  , B =  
 0 0 −3 −2   1 −1 1 0 
0 0 0 1 1 −1 −1 1

 
2 0 0 0
 0 3 0 0 
 
15. C =  
 0 0 −1 0 
0 0 0 1
12 CAPITOLUL 1. MATRICE. DETERMINANŢI

16. Să se rezolve următoarele ecuaţii matriceale


       
−1 −2 7 2 2 1 5 6
a) X · = b) ·X =
5 8 −3 5 2 3 7 8
     
−1 2 4 6 8 13
c) ·X · =
−3 8 5 8 −4 −7
   
1 2 3 −1 5 3
   
d) X ·  0 1 2  =  2 1 −1 
−1 2 1 −3 4 −5
     
2 2 3 1 2 −3 1 −1 −1
     
e)  1 −1 0  ·X ·  0 1 2 = 0 1 1 
−1 2 1 0 0 1 0 0 1
Capitolul 2

Sisteme de ecuaţii liniare

2.1 Rangul unei matrice


Considerăm o matricea
 
a11 a12 a13 · · · a1n
 a21 a22 a23 · · · a2n 
 
 
A= a31 a32 a33 · · · a3n 
 
 · · · ··· · 
am1 am2 am3 · · · amn

• Se numeşte minor de ordinul k ≤ min{m, n} al matricei A un determinant de


ordinul k alcătuit din elementele aflate la intersecţia a k linii şi k coloane.
Exemplu:
 
a11 a12 a13 a14 a15 a16
 a21 a22 a23 a24 a25 a26 
 
A= 
 a31 a32 a33 a34 a35 a36 
a41 a42 a43 a44 a45 a46
Pentru k = 2, alegând elementele aflate la intersecţia liniilor 2 şi 4 şi coloanelor
1 şi 3 obţinem minorul
a21 a23
∆2 =
a41 43
Găsim un un minor de ordinul 3 ştergând, de exemplu, linia 3 şi coloanele 2, 5, 6,

a11 a13 a14


∆3 = a21 a23 a24

a41 a43 a44

k
În general există Cm ·Cnk minori de ordinul k

13
14 CAPITOLUL 2. SISTEME DE ECUAŢII LINIARE

• Spunem că o matrice are rangul r şi scriem rang A = r, dacă matricea A are
un minor de ordin r diferit de zero, ∆r 6= 0 şi toţi minorii de ordin mai mare
decât r sunt nuli, adică ∆k = 0, pentru k > r
Aparent, pentru găsirea rangului unei matrice ar trebui să calculăm toţi minorii
de ordin mai mare decât k, ceea ce ar constitui o treabă deosebit de laborioasă.
Următoarea propoziţie elimină cea ma mare parte din minorii care ar trebui calculaţi.
Dacă găsim un minor de ordin r diferit de zero ∆r 6= 0 şi toţi minorii de ordin
r + 1 obţinuţi prin bordarea lui Dr cu liniile şi coloanele rămase, sunt nuli, atunci
rang A = r
Regulă: Alegem un minor de ordin cel puţin 2 diferit de zero, ∆k 6= 0, k ≥ 2 şi-l
bordăm cu liniile şi coloanele rămase. Dacă toţi minorii de ordin k + 1 obţinuţi
prin bordare sunt nuli, atunci rang A = k. Dacă există un minor de ordinul k + 1
diferit de zero, continuăm operaţia de bordare, s.a.m.d.
Exemplu: Să aflăm rangul matricei:
 
2 −1 1 3 4
 2 −1 2 1 −2 
 
A= 
 2 −3 1 2 −2 
0 2 2 −3 −6
Găsim minorul de ordinul 2 diferit de zero,

−1 1
∆2 = = −1 6= 0
−1 2
Bordăm cu linia 3 şi coloana 1,

2 −1 1


∆3 = 2 −1 2 = 4 6= 0

2 −3 1
Bordăm cu linia 4 şi coloana 4,

2 −1 1 3

2 −1 2 1

∆4 = =0
2 −3 1 2

0 2 2 −3
Bordăm cu linia 4 şi coloana 5,

2 −1 1 4

2 −1 2 −2

∆04 = =0
2 −3 1 −2

0 2 2 −6
Deci rang A = 3
2.2. SISTEM DE M −ECUAŢII CU N −NECUNOSCUTE: 15

2.2 Sistem de m−ecuaţii cu n−necunoscute:


Un sistem de m ecuaţii cu n necunoscute se scrie sub forma:


 a11 x1 + a12 x2 + · · · + a1n xn = b1

a21 x1 + a22 x2 + · · · + a2n xn = b2
(1)

 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ··

am1 x1 + am2 x2 + · · · + amn xn = bm
 
a11 a12 · · · a1n
 
 a a · · · a2n 
A = (aij ) i=1, m =  21 22  = matricea coeficienţilor sistemului
j=1, n  · · ··· · 
am1 am2 · · · amn
   
x1 b1
 x   b 
 2   2 
X=  = matricea necunoscutelor, B =   = matricea termenilor liberi
 ···   ··· 
xn bm

În forma matricială, sistemul se scrie astfel:


(2.1) A·X = B
• Fiind date matricea A a sistemului şi matricea B a termenilor liberi, o mulţime
{x1 , x2 , · · · xn } care verifică ecuaţiile sistemului, se numeşte soluţia sitemului.
• Sistemul se numeşte compatibil dacă are cel puţin o soluţie, compatibil deter-
minat dacă are o singură soluţie şi incompatibil dacă nu are nici o soluţie.

Rezolvarea unui sistem de ecuaţii prin formulele lui Cramer


Corespunde cazului ı̂n care numărul ecuaţiilor este egal cu numărul nrcunos-
cutelor şi matricea sistemului este nesingulară:
m = n şi D = det A 6= 0.
Sistemul este compatibil determinat (soluţie unică), şi soluţia se calculează cu
formulele lui Cramer:
Di
xi = , i = 1, n
D
unde Di , i = 1, n, sunt determinanţii obţinuţi prin ı̂nlocuirea coloanei i cu
coloana termenilor liberi.
Exemplu: Să se rezolve sistemul:
  
 2x1 − x2 − x3 = 2
 2 −1 −1
 
x1 + 4x2 − 2x3 = 10 , A =  1 4 −2  , D = det A = 18

 x − 2x + 2x = 10
1 2 3 1 −2 2
16 CAPITOLUL 2. SISTEME DE ECUAŢII LINIARE

2 −1 −1 2 2 −1 2 −1 2


D1 = 10 4 −2 = 108, D2 = 1 10 −2 = 72, D3 = 1 4 10 = 108

10 −2 2 1 10 2 1 −2 10
D1 108 D2 72 D3 108
x1 = = = 6, x2 = = = 4, x3 = = =6
D 18 D 18 D 18

Deci soluţia este (6, 4, 6)

Rezolvarea unui sistem de ecuaţii ı̂n cazul general


Considerăm sistemul (1) ı̂n cazul cel mai general, m− ecuaţii şi n− necunos-
cute. Pentru rezolvarea sistemului parcurgem etapele:
1) Aflăm rangul matricei A, r = rangA, şi fie D 6= 0 determinantul principal
de ordinul r ≤ min{m, n} care defineşte rangul matricei.
• Ecuaţiile şi necunoscutele a căror coeficienţi alcătuiesc determinantul D se
numesc ecuaţii principale respectiv necunoscute principale. Celelalte ecuaţii şi ne-
cunoscute se numesc secundare.
2) Cazul r = m < n : Sistemul este compatibil nedeterminat. Se rezolvă sis-
temul ı̂n funcţie de necunoscutele secundare care se trec ı̂n membrul drept şi devin
parametri.
3) Cazul r < m : Se calculează determinanţi caracteristici, ∆i , i = 1, m − r
obţinuţi prin bordarea determinantului principal cu:
− linia coeficienţilor necunoscutelor principale din ecuaţiile secundare
− coloana termenilor liberi.
a) Sistemul este compatibil dacă şi numai dacă toţi determinanţii caracteristici
sunt nuli: ∆i = 0, i = 1, m − r
b) Sistemul este compatibil determinatat dacă şi numai dacă toţi determinanţii
caracteristici sunt nuli: ∆i = 0, i = 1, m − r şi rangul matricei este egal cu
numărul necunoscutelor r = n.

Sisteme de ecuaţii liniare omogene


Sunt sistemele ı̂n care termenii liberi sunt nuli:


 a11 x1 + a12 x2 + · · · + a1n xn = 0

a21 x1 + a22 x2 + · · · + a2n xn = 0

 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ··

am1 x1 + am2 x2 + · · · + amn xn = 0
Observând că un astfeld de sistem admite soluţia banală

x1 = x2 = · · · = xn = 0
2.2. SISTEM DE M −ECUAŢII CU N −NECUNOSCUTE: 17

razultă că este totdeauna compatibil. Prin urmare, singura problemă care se pune
este problema nedeterminării sau problema admiterii de soluţii nenule.
Bazându-ne pe rezultatele precedente, deducem următoarele propoziţii
Un sistem de ecuaţii liniar omogen admite soluţii nenule dacă şi numai dacă
rangul matricei sistemului este mai mic decât numărul necunoscutelor, rangA < n.
Un sistem de ecuaţii liniar omogen ı̂n care numărul ecuaţiilor este egal cu
numărul necunoscutelor, m = n, admite soluţii nenule dacă şi numai dacă
det A = 0.

Metoda lui Gauss


Considerăm sistemul de ecuaţii scris sub forma (2.1)

AX = B.

Aplicăm un următoarele transformări, liniilor matricei extinse


 
a11 a12 · · · a1n b1
 
 a21 a22 · · · a2n b2 
A=  = matricea extinsă
 · · ··· · 
am1 am2 · · · amn bn

pentru aducerea la forma triunghiulară:


 
a011 a012 a013 · · · a01n b01
 0 a022 a023 · · · a01n b02 
 
 
A∼ 0 0 a033 · · · a01n b03  = forma triunghiulară
 
 · · ··· · 
0 0 0··· a0mn b03

• Intervertirea a două linii ı̂ntre ele.


• Înmulţirea cu un scalar.
• Înmulţirea cu un scalar şi adunarea la altă linie.
18 CAPITOLUL 2. SISTEME DE ECUAŢII LINIARE

2.3 Exerciţii

Rezolvaţi următoarele sisteme cu regula lui Cramer



 2x1 − x2 − x3 = 2

1. x1 + 4x2 − 2x3 = 10

 x − 2x + 2x = 10
1 2 3
 
 x1 + x2 − x3 = 0,
  D1 = −5

2. 3x1 − 2x2 + 2x3 = 5 D = −5, D2 = 10

 2x + 3x − 2x = 2 
 D = −15
1 2 3 3

 
 2x1 − x2 + 3x3 = 9
  D1 = 110

3. x1 + 2x2 − 4x3 = −2 D = 55, D2 = 220

 −3x + 4x + x = 13 
 D = 165
1 2 3 3
 
 x1 + 2x2 − 2x3 = 1
  D1 = 15

4. −4x1 + x2 + 2x3 = 2 D = 33, D2 = 48

 2x − x + 3x = 3 
 D = 39
1 2 3 3
 

 6x1 + 4x2 + x3 + 2x4 = 3 
 D1 = 12

 6x + 5x + 3x + 5x = 6 
 D = −24
1 2 3 4 2
5. D = −12,

 12x1 + 8x2 + x3 + 5x4 = 8 
 D3 = 12

 

6x1 + 5x2 + 3x3 + 7x4 = 8 D4 = −12
 

 x1 − 2x2 + 3x3 + 4x4 = 22 
 D1 = 740

 −4x + x + 2x + 3x = 6 
 D = −1480
1 2 3 4 2
6. D = 740,

 3x1 + 4x2 − x3 + 2x4 = −4 
 D3 = 2220

 

2x1 + 3x2 + 4x3 − x4 = 6 D2 = 1480

Rezolvaţi următoarele sisteme prin metoda lui Gauss


Enunţuri

  x1 + 2x2 + 3x3 − x4 = 1
 x1 + 2x2 + 3x3 − 2x4 = 6 

 

 2x − x − 2x − 3x = 8  3x1 + 2x2 + x3 − x4 = 1

1 2 3 4
7. 8. 2x1 + 3x2 + x3 + x4 = 1

 3x1 + 2x2 − x3 + 2x4 = 4 


 
 2x1 + 2x2 + 2x3 − x4 = 1
2x1 − 3x2 + 2x3 + x4 = −8 

5x1 + 5x2 + 2x3 =2
2.3. EXERCIŢII 19
 
 x1 + x2 + x3 + x4 = 1
  x1 + x2 + x3 = 2

9. 2x1 − x2 + x3 − x4 = 2 10. 2x1 − 3x2 + x3 = 11

 x − 2x 
 4x − x + 3x = 10
1 2 − 2x4 = −1 1 2 3

 
 x1 + 2x2 + 3x3 + 4x4 =5  2x1 − 2x2 + x3 − x4 + x5 = 1

 

 2x + x + 2x + 3x =1  x1 + 2x2 − x3 + x4 − 2x5 = 1
1 2 3 4
11. 12.)

 3x1 + 2x2 + x3 + 2x4 =1 
 4x1 − 10x2 + 5x3 − 5x4 + 7x5 = 1

 
 2x − 14x + 7x − 7x + 11x = −1
4x1 + 3x2 + 2x3 + x4 = −5 1 2 3 4 5


 2x1 − x2 − x3 + 3x4 + 2x5 = 6 

  2x1 + 3x2 − x3 = 20

 6x1 − 2x2 + x3 − x5 = −3 

  −6x − 5x + 2x4 = −45
1 2
13.) −4x1 + 2x2 + 3x3 − 4x4 − 2x5 = −5 14.

 
 2x1 + 7x2 + 4x3 − 4x4 = 5

 2x1 + 4x3 − 7x4 − 3x5 = −8 


 4x1 + 6x2 + 2x3 − 3x4 = 58
x2 + 8x3 − 5x4 − x5 = −3

Rezolvări
     
1 2 3 −2 6 1 2 3 −2 6 1 2 3 −2 6
 2 −1 −2 −3 8   0 −5 −8 1 −4   0 −5 −8 1 −4 
     
7.  ∼ ∼ ∼
 3 2 −1 2 4   0 −4 −10 8 −14   0 2 5 −4 7 
2 −3 2 1 −8 0 −7 −4 5 −20 0 −7 −4 5 −20
     
1 2 3 −2 6 1 2 3 −2 6 1 2 3 −2 6
 0 −1 2 −7 10   0 −1 2 −7 10   0 −1 2 −7 10 
     
∼ 
 0 2 5 −4 7
∼
  0 0 9 −18 27
∼
  0 0 1 −2 3
∼

0 −7 −4 5 −20 0 0 −18 54 −90 0 0 −1 3 −5
 
1 2 3 −2 6 x4 = −2
 0 −1 2 −7 10  x3 + 4 = 3, x3 = −1
∼

 0 0 1 −2 3


 −x2 − 2 + 14 = 10, x2 = 2
0 0 0 1 −2 x1 + 4 − 3 + 4 = 6, x1 = 1

     
1 2 3 −1 1 1 2 3 −1 1 1 2 3 −1 1
 3 2 1 −1 1   0 −1 −5 3 −1   0 −1 −5 3 −1 
     
     
8.  2 3 1 1 1 ∼ 0 −4 −8 2 −2  ∼  0 0 12 −10 2 ∼
     
 2 2 2 −1 1   0 −2 −4 1 −1   0 0 6 −5 1 
5 5 2 0 2 0 −5 −13 5 −3 0 0 6 −5 1
20 CAPITOLUL 2. SISTEME DE ECUAŢII LINIARE
   
1 2 3 −1 1 1 2 3 −1 1
 3 −1 
 0 −1 −5   0 −1 −5 3 −1 
  



e
 0 0 6 −5 ∼
1 

0 0 6 −5 1 

 1 
 0 0 6 −5   0 0 0 0 0 
0 0 6 −5 1 0 0 0 0 0

1 + 5α 1 − 7α 1 + 5α
x4 = α, x3 = , x2 = , x1 =
6 6 6

     
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
     
9.  2 −1 1 −1 2  ∼  0 −3 −1 −3 0  ∼  0 −3 −1 −3 0 
1 −2 0 −2 −1 0 −3 −1 −3 −2 0 0 0 0 −2

Sistemul este incompatibil


     
1 1 1 2 1 1 1 2 1 1 1 2
     
10.  2 −3 1 11  ∼  0 −5 −1 7  ∼  0 −5 −1 7 
4 −1 3 10 0 −5 −1 2 0 0 0 −5

Sistemul este incompatibil

     
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
 2 1 2 3 1   0 −3 −4 −5 −9   0 3 4 5 9 
     
11. 
 3 2 1 2 1


∼ 
 0 −4 −8 −10 −14
∼
  0 2 4 5 7
∼

4 3 2 1 −5 0 −5 −10 −15 −25 0 1 2 3 5
   
1 2 3 4 5 1 2 3 4 5
 0 1 2 3 5   0 1 2 3 5 
   
 ∼ 
 0 3 4 5 9   0 0 −2 −4 −6 
0 2 4 5 7 0 0 0 −1 −3

x4 = 3, x3 = −3, x2 = 2, x1 = 5

   
2 −2 1 −1 1 1 1 2 −1 1 −2 1
 1 2 −1 1 −2 1   2 −2 1 −1 1 1 
   
12.  ∼ ∼
 4 −10 5 −5 7 1   4 −10 5 −5 7 1 
2 −14 7 −7 11 −1 2 −14 7 −7 11 −1
2.3. EXERCIŢII 21
   
1 2 −1 1 −2 1 1 2 −1 1 −2 1
 0 −6 3 −3 5 −1   0 −6 3 −3 5 −1 
   
 ∼  ∼
 0 −18 9 −9 15 −3   0 0 0 0 0 0 
0 −18 9 −9 15 −3 0 0 0 0 0 0

3α − 3β + 5γ + 1 γ+2
x5 = α, x4 = β, x3 = γ, x2 = , x1 =
6 3

   
2 −1 −1 3 2 6 2 −1 −1 3 2 6
 6 −2 1 0 −1 −3   0 1 4 −9 −7 −21 
   
   
13.  −4 2 3 −4 −2 −5 ∼ 0 0 1 2 2 7 ∼
   
 2 0 4 −7 −3 −8   0 1 5 −10 −5 −14 
0 1 8 −5 −1 −3 0 1 8 −5 −1 −3
   
2 −1 −1 3 2 6 2 −1 −1 3 2 6
 0 1 4 −9 −7 −21   0 1 4 −9 −7 −21 
   
   
e 0 0 1 2 2 7 ∼ 0 0 1 2 2 7 ∼
   
 0 0 1 −1 2 7   0 0 1 −1 2 7 
0 0 4 4 6 18 0 0 2 2 3 9
   
2 −1 −1 3 2 6 2 −1 −1 3 2 6
 0 1 4 −9 −7 −21   0 1 4 −9 −7 −21 
   
e


0 0 1 2 2
 
7 ∼
 
0 0 1 2 2

7 ∼

 0 0 0 −3 0 0   0 0 0 1 0 0 
0 0 0 −2 −1 −5 0 0 0 −2 −1 −5
 
2 −1 −1 3 2 6
 0 1 4 −9 −7 −21 
 
e


0 0 1 2 2

7 

 0 0 0 1 0 0 
0 0 0 0 −1 −5

19
x5 = 5, x4 = 0, x3 = −3, x2 = 26, x1 =
2

     
2 3 −1 0 20 2 3 −1 0 20 2 3 −1 0 20
 −6 −5 0 2 −45   0 4 −3 2 15   0 4 −3 2 15 
     
14.  ∼ ∼ ∼
 2 7 4 −4 5   0 4 5 −4 −15   0 0 8 −6 −30 
4 6 2 −3 58 0 0 4 −3 18 0 0 4 −3 18
22 CAPITOLUL 2. SISTEME DE ECUAŢII LINIARE
   
2 3 −1 0 20 2 3 −1 0 20
 0 4 −3 2 15   0 4 −3 2 15 
e

 0 0 4 −3 −15
 
∼
  0 0 4 −3 −15

.

Sistem incompatibil

0 0 4 −3 18 0 0 0 0 33

Procente
p
1) Procente: a = p % din b ⇐⇒ a = ·b. Calculaţi:
100
a) a = 10 % din 45 b) a = 25 % din 80 c) a = 20 % din 125 d) a = 3, 5 % din 425
Calculaţi pe b ştiind că:
e) 10 % din b = 5 f ) 35 % din b = 75 g) 80 % din b = 6 h) 25 % din 125 = 50
Calculaţi procentul p ştiind că:
i) p % din 125 = 5 j) p % din 30 = 45 k) p % din 326 = 10 l) p % din 150 = 25
2) La preţul de livrare din fabrică al unui obiect, un comerciant pune un adaos
comercial de 20%, peste care se adaugă 24% T.V.A., din acest preţ nou. Ştiind
că obiectul costă acum 446, 4 lei lei, aflaţi care a fost preţul de livrare fin fabrică.
Rezolvare. Notăm cu a preţul iniţial
20·a a 6a
− Adăugăm la a, 20% din a şi noul preţ este b = a + =a+ =
100 5 5
 
24·b 6a 24 6a 6a 24
− Adăugăm la b, 24% din b şi găsim b = b+ = + · = 1+
100 5 100 5 5 100
− Ultimul preţ trebuie să fie egal 446, 4 lei. Deci
 
6a 24
1+ = 446, 4 =⇒ a = 300 lei
5 100
1
3) După ce a parcurs din lungimea unui traseu, un călător constată că, dacă
6
mai parcurge 30% din ce i-a mai rămas de parcurs, atunci ı̂i mai rămân 210 km
din lungimea traseului. Ce lungime are ı̂ntregul traseu?
4) O persoană constată că după ce a cheltuit 192 lei, a rămas cu 40% suma pe
carea avut-o iniţial. Care a fost suma pe care a avut-o iniţial?
5) După ce a cheltuit 96 lei şi ı̂ncă 20% din banii pe care i-a avut, o persoană
3
constată că a cheltuit din suma avută iniţial. Ce sumă a avut şi cât i-a rămas de
5
cheltuit acelei persoane?
6) Care era preţul unui obiect ştiind că după ce s-a scumpit cu 20% apoi s-a
ieftinit cu 20% preţul obiectului este 288 lei
Capitolul 3

Ecuaţia dreptei. Separarea


planului

3.1 Forme ale ecuaţiei dreptei


Considerăm un plan P ı̂n care s-a definit sistemul de coordonate Oxy astfel că
orice punct M ∈ P este reprezentat ı̂n mod unic printr-o pereche de coordonate
M (x, y) numite: x = abscisă şi y = ordonată.
Punctele care au ordonata 0 aparţina axei Ox iar cele cu abscisa 0, axei OY
A(x, 0) ∈ Ox, B(0, y) ∈ Oy
Punctele M (x, y) ∈ P care verifică o ecuaţie de forma ax + by + c = 0 sunt
situate pe aceeaşi dreaptă d. Scriem
d : ax + by + c = 0
şi spunem că ax + by + c = 0 este ecuaţia generală a dreptei d.
Ecuaţia dreptei d care trece prin două puncte A(x1 , y1 ) şi B(x2 , y2 ) este
y − y1 x − x1
d: =
y2 − y1 x2 − x1
Exemplu: Ecuaţia dreptei determinată de punctele A(−2, 4) şi B(1, −5) este
y−4 x+2
=
−5 − 4 1+2
care mai poate fi scrisă sub forma generală
3x + y + 2 = 0
Cunoscând punctele A(a, 0) ∈ Ox şi B(0, b) ∈ Oy ecuaţia dreptei AB este
x y
AB : + =1
a b

23
24 CAPITOLUL 3. ECUAŢIA DREPTEI. SEPARAREA PLANULUI

şi poartă numele de ecuaţia dreptei prin tăieturi.


Invers dându-se ecuaţia unei drepte d : ax+by +c = 0, punctele ı̂n care dreapta
d intersectează axele de coordonate se obţin luı̂nd pe rând y = 0 şi x = 0 :
c  c 
y = 0 =⇒ x = − , d ∩ Ox = A − , 0
a a
c  c
x = 0 =⇒ y = − , d ∩ Oy = B 0 , −
b b
Ecuaţia dreptei care trece pri origine are expresia
ax + by = 0
care se obţine din ecuaţia generală, prin anularea termenului liber c = 0.
Exemplu: Ecuaţia dreptei care trece prin origine şi prin punctul M (x0 , y0 ) este
y x
= sau y0 x − x0 y = 0
y0 x0
Aşadar să recapitulăm:

• Ecuaţia generală a dreptei


ax + by + c = 0
• Ecuaţia dreptei ce trece prin două puncte
y − y1 x − x1
= , A(x1 , y1 ) şi B(x2 , y2 )
y2 − y1 x2 − x1
• Ecuaţia dreptei prin tăieturi
x y
+ = 1, A(a, 0) ∈ Ox, B(0, b) ∈ Oy
a b
• Ecuaţia dreptei ce trece prin origine
y0
y= x : O(0, 0) şi M (x0 , y0 )
x0
• Ecuaţia axelor de coordonate
Ox : y = 0, Oy : x = 0
• Ecuaţia unei drepte paralele cu axele de coordonate
da k Oy : x = a, A(a, 0) ∈ Ox
db k Ox : y = b, B(0, b) ∈ Oy
Intersecţia a două drepte
Dându-se două drepte d1 : a1 x + b1 y + c1 = 0, şi d2 : a2 x + b2 y + c2 = 0,
punctul lor de intersecţie, M (x0 , y0 ) = d1 ∩ d2 , este soluţia sistemului de ecuaţii

a1 x + b1 y + c1 = 0
a2 x + b2 y + c2 = 0
3.1. FORME ALE ECUAŢIEI DREPTEI 25

Exerciţii
1. Să se scrie ecuaţiile generale ale dreptelor care trec prin punctele:

a) AB : A(1, 3), B(2, 7). b) AB : A(−2, 3), B(3, −5). c) M P : M (−2, 0), P (1, −1)

şi să se reprezinte grafic.


2. Să se scrie ecuaţiile dreptelor prin tăieturi:

a) AB : A(1, 0), B(0, 7). b) AB : A(−2, 0), B(0, −5). c) M P : M (0, −2), P (1, 0)

şi să se reprezinte grafic.


3. Să se scrie ecuaţiile dreptelor ce trec prin origine şi punctele:

a) OA : A(1, 4). b) OB : B(0, −5). c) OP : P (−3, −3). d) OM : M (3, −4).

şi să se reprezinte grafic.


4. Să se scrie ecuaţiile dreptelor paralele cu axele de coordonate, ce trec punctele:

a) d1 : A(0, 4). b) d2 : B(−5, 0). c) d3 : C(3, 0). d) d4 : M (0, −5).


26 CAPITOLUL 3. ECUAŢIA DREPTEI. SEPARAREA PLANULUI
Capitolul 4

Programarea liniară
bidimensională

4.1 Separarea planului


Să considerăm dreapta d : ax + by + c = 0 şi trinomul
δ(x, y) = ax + by + c.
Acceptăm fără demonstraţie următoarele propoziţii:
O dreaptă d ⊂ P ı̂mparte planul P ı̂n două semiplane deschise (nu includ
dreapta d) numite componentele planului
S − şi S + , P = S− ∪ d ∪ S+
Dacă ı̂ntr-un punct aparţinând unui semiplan trinomul δ(x, y) are un anumit
semn, atunci trinomul va avea acelsşi semn ı̂n toate punctele acelui semiplan.
Componentele S − , d, S + se definesc astfel
S − = {M (x, y) ∈ P / δ(x, y) < 0}
d= {M (x, y) ∈ P / δ = 0}
S + = {M (x, y) ∈ P / δ > 0}
Semiplanele ı̂nchise sunt reprezentate prin mulţimile de puncte:
S + = {(x, y) ∈ P / ax + by + c ≥ 0} , S − = {(x, y) ∈ P / ax + by + c ≤ 0}
Cele două inecuaţii care definesc semiplanele S + , S − precum şi ı̂nchiderile lor;
S + şi S − poartă numele de inecuaţiile semiplanelor
Pentru reprezentarea grafică a unui semiplan S + : ax+by+c ≥ 0 se trasează
dreapta d : ax + by + c = 0 şi se testează semnul trinomului δ(x, y) ı̂n unul din
punctele M (x, y) aparţinând unuia din cele două semiplane. Dacă δ(x, y) > 0
atunci S + este semiplanul care conţine punctul M. În caz contrar, semiplanul S +
va fi cel opus.

27
28 CAPITOLUL 4. PROGRAMAREA LINIARĂ BIDIMENSIONALĂ

Exerciţii
Să se poziţioneze semiplanele separate de dreptele:
1. d : −3x + 5y = 0
Dreapta d trece prin origine şi punctul M (5, 3) y
δ(x, y) = −3x + 5y, δ(5, 0) = −15.
3
+ M(5,3)

5 x
O

2. d : 3x + 4y − 12 = 0
d ∩ Ox = A(0, 4)
y
d ∩ Oy = B(0, 3)
B(0,3)
F (x, y) = 3x + 4y − 12
− +
Testăm semnul trinomului δ(x, y) ı̂n origine:
δ(0, 0) = −12 < 0, S − este semiplanul care A(4,0)
conţine originea, iar S + este semiplanul opus.
O x

3. d : −2x − y = 0. 4. d : x = 3. 5. d : y = 4. 6. d : y = −5.
Să se reprezinte grafic domeniile obţinute prin intersecţia semiplanelor:

7. S : −2x + 4y ≥ 0, 8. S : 6x + 4y − 12 ≤ 0, 9. S1 : y ≥ 0, S2 : x ≤ 0
 
 
 S1 : x + y ≤ 1 
 S1 : −2x + 3y − 6 ≤ 0
 
S1 : x ≥ 0 S2 : −x + y ≤ 1 S2 : 4x + 5y − 20 ≤ 0
10. 11. 12.
S2 : y ≤ 0  3: x≥0
 S 
 S3 : x≥0
 
S4 : y ≥ 0 S4 : y≥0

13. Problemă de programare liniară:


O firmă asamblează două modele de calculatoare personale P C1 şi P C2 . În urma
vânzării modelului P C1 firma obţine un profit de 50 u.m iar ı̂n urma vânzării mod-
elului P C2 firma obţine un profit de 40 u.m. Asamblarea modelului P C1 durează
3 ore iar al modelului P C2 , 5 ore. În săptămâna care urmează sunt disponibile 150
ore pentru asamblare. Un P C1 ocupă 0, 8 m2 iar un P C2 ocupă 0, 5 m2 . Spaţiul total
de depozitare este de 30 m2 . Firma nu poate să asambleze mai mult de 20 unităţi
săptămânal din modelul P C2 . Să se determine numărul de calculatoare P C1 şi P C2
4.1. SEPARAREA PLANULUI 29

care urmează a fi asamblate următoarea săptămână astfel ca profitul firmei să fie
maxim.
Rezolvare. Fie x1 şi x2 (variabilele de decizie) numărul de calculatoare core-
spunzător celor două modele care urmează să fie produse. Profitul firmei va fi

f (x) = 50x1 + 40x2 u.m (funcţia obiectiv)

Asamblarea a x1 calculatoare P C1 durează 3 ore iar asamblarea a x2 calculatoare


P C2 durează 5 ore, ı̂n total 3x1 + 5x2 ore. Cum nu sunt disponibile decât 150 ore,
rezultă că trebuie să impunem ca

3x1 + 5x2 ≤ 150

Referitor la depozitare, x1 calculatoare P C1 ocupă 0, 8 x1 m2 iar x2 calculatoare


P C2 ocupă 0, 5 x2 m2 , ı̂n total 0, 8 x1 + 0, 5 x2 m2 . Cum spaţiul de depozitare nu
trebuie să fie mai mare decât 30 m2 rezultă că trebuie să avem

0, 8 x1 + 0, 5 x2 ≤ 30

În plus, numărul de calculatoare x2 nu depăşeşte 20 adică x2 ≤ 20.


Aranjăm problema stfel:

max {f (x) = 50x1 + 40x2 }



 3x1 + 5x2 ≤ 150
 .
(R) 0, 8 x1 + 0, 5 x2 ≤ 30

 x ≥ 0, 0 ≤ x ≤ 20
1 2

Să se determine variabilele de decizie x1 şi x2 care maximizează funcţia obiectiv


f (x, ) cu restricţiile (R)
Punctele care satisfac restricţiile ocupă interiorul şi frontiera poligonului
OABDE obţinut prin intersecţia semiplanelor:
S1 : 3x1 + 5x2 ≤ 150 S2 : 0, 8x1 + 0, 5x2 ≤ 30
S3 : x1 ≥ 0, S4 : 0 ≤ x2 ≤ 20
A = S1 ∩ S2 ∩ S3 ∩ S4
Vârfurile poligonului se află ı̂n punctele

A = d2 ∩ Ox1 , B = d1 ∩ d2 , C = d2 ∩ d3 , D = d1 ∩ d3 , E = d3 ∩ Ox2

Deci mulţimea soluţiilor admisibile este

A = (OABDE)

În baza unei teoreme din analiza matematică (teorema lui Fermat), funcţia liniară
f (x1 , x2 ) ı̂şi atinge extremul ı̂n unul din vârfurile patrulaterului (OABDE)
30 CAPITOLUL 4. PROGRAMAREA LINIARĂ BIDIMENSIONALĂ

d2
x2
O(0, 0), A(37,5 , 0), B(30, 12), C(25, 20) 60
D(16,7 ; 20), E(0, 20).

Valoarea funcţiei ı̂n aceste vârfuri, este:


d1
f (0, 0) = 0, f (A) = 1875 30

f (B) = 1980, f (D) = 1630, f (E) = 800


D(16,7;20 C(25,20) d3
E(0,20) B(30,12)
Maximul funcţiei obiectiv fiind atins ı̂n punc-
A
tul B, soluţia optimă este dată de valorile
O A(37,5;0) 50 x1
x∗1 = 30, x∗2 = 12, pentru care profitul este
maxim.

max f (x1 , x2 ) = f (30, 12) = 1980 lei.


Aşadar, pentru a obţine un profit maxim, firma trebuie să asambleze 30 calculatoare
din modelul P C1 şi 12 calculatoare din modelul P C2 .
Capitolul 5

Rezolvarea grafică a unui program

Problema de programare liniară bidimensională


O problemă de programare liniară se reprezintă sub forma

min / max{f (x1 , x2 ) = c1 x1 + c2 x2 }




 a11 x1 + a12 x2 ∗ b1

 a x +a x ∗b
21 1 22 2 2
(R) ∗ ∈ { ≤, =, ≥ }

 ··················

 a x +a x ∗b
m1 1 m2 2 m

cu următoarele denumiri:
f (x1 , x2 ) = funcţia obiectiv
c1 , c2 = coeficienţii funcţiei obiectiv
x1 , x2 = variabile de decizie
(R) = restricţii
b1 , b2 · · · bm = resurse
A = {x1 , x2 = soluţiile sistemului (R)} = mulţimea soluţiilor admisibile
(x∗1 , x∗2 ) = min / max f (x1 , x2 ) = soluţia optimă
(x1 ,x2 )∈ A

Metoda grafică de rezolvare a unui program se utilizează numai ı̂n cazul prob-
lemelor cu două variabile notate cu x1 , x2 sau x, y. În acest caz problema de
programare se rezolvă grafic prin interpretarea restricţiilor ca reprezentări analitice
de semiplane ı̂ntr-un planul ı̂nzestrat cu un sistem de coordonate Ox1 x2 sau Oxy.

Problema 5.1
O firmă asamblează două modele de calculatoare personale P C1 şi P C2 . În urma
vânzării modelului P C1 firma obţine un profit de 50 u.m iar ı̂n urma vânzării mod-
elului P C2 firma obţine un profit de 40 u.m. Asamblarea modelului P C1 durează

31
32 CAPITOLUL 5. REZOLVAREA GRAFICĂ A UNUI PROGRAM

3 ore iar al modelului P C2 , 5 ore. În săptămâna care urmează sunt disponibile 150
ore pentru asamblare. Un P C1 ocupă 0, 8 m2 iar un P C2 ocupă 0, 5 m2 . Spaţiul total
de depozitare este de 30 m2 . Firma nu poate să asambleze mai mult de 20 unităţi
săptămânal din modelul P C2 . Să se determine numărul de calculatoare P C1 şi P C2
care urmează a fi asamblate următoarea săptămână astfel ca profitul firmei să fie
maxim.
Rezolvare. Fie x1 şi x2 (variabilele de decizie) numărul de calculatoare core-
spunzător celor două modele care urmează să fie produse. Profitul firmei va fi
f (x) = 50x1 + 40x2 u.m (funcţia obiectiv)
Asamblarea a x1 calculatoare P C1 durează 3 ore iar asamblarea a x2 calculatoare
P C2 durează 5 ore, ı̂n total 3x1 + 5x2 ore. Cum nu sunt disponibile decât 150 ore,
rezultă că trebuie să impunem ca
3x1 + 5x2 ≤ 150
Referitor la depozitare, x1 calculatoare P C1 ocupă 0, 8 x1 m2 iar x2 calculatoare
P C2 ocupă 0, 5 x2 m2 , ı̂n total 0, 8 x1 + 0, 5 x2 m2 . Cum spaţiul de depozitare nu
trebuie să fie mai mare decât 30 m2 rezultă că trebuie să avem
0, 8 x1 + 0, 5 x2 ≤ 30
În plus, numărul de calculatoare x2 nu depăşeşte 20 adică x2 ≤ 20.
Aranjăm problema stfel:
max {f (x1 , x2 ) = 50x1 + 40x2 }

 3x1 + 5x2 ≤ 150
 .
(R) 0, 8 x1 + 0, 5 x2 ≤ 30

 x ≥ 0, 0 ≤ x ≤ 20
1 2

Să se determine variabilele de decizie x1 şi x2 care maximizează funcţia obiectiv


f (x, ) cu restricţiile (R)
Punctele care satisfac restricţiile ocupă interiorul şi frontiera poligonului
OABDE obţinut prin intersecţia semiplanelor:
S1 : 3x1 + 5x2 ≤ 150 S2 : 0, 8x1 + 0, 5x2 ≤ 30
S3 : x1 ≥ 0, S4 : 0 ≤ x2 ≤ 20
A = S1 ∩ S2 ∩ S3 ∩ S4
Vârfurile poligonului se află ı̂n punctele
A = d2 ∩ Ox1 , B = d1 ∩ d2 , C = d2 ∩ d3 , D = d1 ∩ d3 , E = d3 ∩ Ox2
Deci mulţimea soluţiilor admisibile este
A = (OABDE)
În baza unei teoreme din analiza matematică (teorema lui Fermat), funcţia liniară
f (x1 , x2 ) ı̂şi atinge extremul ı̂n unul din vârfurile patrulaterului (OABDE)
33

d2
x2
O(0, 0), A(37,5 , 0), B(30, 12), C(25, 20) 60
D(16,7 ; 20), E(0, 20).

Valoarea funcţiei ı̂n aceste vârfuri, este:


d1
f (0, 0) = 0, f (A) = 1875 30
f (B) = 1980, f (D) = 1630, f (E) = 800 D(16,7;20 C(25,20) d3
E(0,20) B(30,12)
Maximul funcţiei obiectiv fiind atins ı̂n
punctul B, soluţia optimă este dată de A
valorile x∗1 = 30, x∗2 = 12, pentru care O A(37,5;0) 50 x1
profitul este maxim.

max f (x1 , x2 ) = f (30, 12) = 1980 lei.


Aşadar, pentru a obţine un profit maxim, firma trebuie să asambleze 30 calculatoare
din modelul P C1 şi 12 calculatoare din modelul P C2 .

Problema 5.2


 max{f (x1 , x2 ) = 5x1 + 6x2 }

 3x + 2x ≤ 120
1 2

 4x1 + 6x2 ≤ 260


x1 ≥ 0, x2 ≥ 0
Rezolvare: Mulţimea soluţiilor admisibile A coincide cu ı̂nchiderea interiorului
poligonului OABC, A = (OABC) obţinut prin intersecţia semiplanelor:

d1 x2
S1 : 3x1 + 2x2 ≤ 120
S2 : 2x1 + 3x2 ≤ 130 60
S 3 : x2 ≥ 0 d2
C
S 4 : x1 ≥ 0 43,3
B
În baza teoremei lui Fermat, funcţia
f (x1 , x2 ) ı̂şi atinge extremele, ı̂n
vârfurile patrulaterului OABC, de co-
ordonate A
O 40 65 x1
A(40, 0), B(20, 30), C(0, 43; 3).
34 CAPITOLUL 5. REZOLVAREA GRAFICĂ A UNUI PROGRAM

Calculând valoarea funcţiei ı̂n aceste vârfuri, obţinem:


f (O) = 0, f (A) = 200, f (B) = 280, f (C) = f (0, 43; 3) = 259, 8.
Maximul funcţiei fiind atins ı̂n punctul B, celor două produse le revin cantităţile
x∗1 = 20, x∗2 = 30, pentru care profitul este maxim.
max f (x1 , x2 ) = f (20, 30) = 280 lei,
Soluţia optimă este: x∗1 = 20, x∗2 = 30.

Problema 5.3
 x2

 max{ f (x1 , x2 ) = 5x1 + 4x2 }


−x1 + x2 ≤ 2 4 , 18
 B

 3x1 + 4x2 ≤ 12 7 7
 x ≥ 0, x ≥ 0 C(0,2)
1 2

max f (4, 0) = 20

O A(4,0) x1
Problema 5.4


 max{f (x1 , x2 ) = 3x1 + 4x2 }

 x2

 −3x1 + 4x2 ≤ 12

x1 + x2 ≤ 6



 −2x1 + x2 ≤ 2 B

 C
 x1 ≥ 0, x2 ≥ 0

Rezolvare: D
x1
Aflăm mulţimea soluţiilor admisibile:
 A
d1 d3 O d2
 S1 : −3x1 + 4x2 ≤ 12

S2 : x1 + x2 ≤ 6

 S : −2x + x ≤ 2
3 1 2

A = (OABCD)
   
12 30 4 18
O(0, 0), A(6, 0), B , , C , , D(0, 2)
7 7 5 5
156 84
f (O) = 0, f (A) = 18, f (B) = , f (C) = , f (D) = 8
7 5
Se observă uşor că maximul funcţiei f (x) se atinge ı̂n vârful B. Deci
12 30 156
x∗1 = , x∗2 = , max f (x1 , x2 ) =
7 7 7
35

Problema 5.5
Să se rezolve problema de programare liniară:


 max{ f (x1 , x2 ) = 2x1 + x2 }



 x − x2 ≤ 4

 1
(P ) 3x1 − x2 ≤ 18



 −x1 + 2x2 ≤ 6




x1 ≥ 0, x2 ≥ 0

Rezolvare:
Mulţimea soluţiilor admisibile A este in- x2
teriorul poligonului OABCD C ( 42 , 36 )
5 5
A = (OABCD)

obţinut prin intersecţia semiplanelor def-


D ( 0, 3) B(7,3)
inite de restricţiile problemei. Valoarea
maximă a funcţiei
 obiectiv se obţine ı̂n pun-
42 36
cul C , O A (4,0) x1
5 5
 
∗ 42 ∗ 36 42 36
x1 = , x 2 = , f , = 24.
5 5 5 5

Problema 5.6

x2 d1

 min{ f (x1 , x2 ) = 2x1 + 3x2 } d3





 2x + x2 ≥ 40 C(10,20)
 1
x1 + 3x2 ≥ 30



 x1 + x2 ≤ 30

 (0,10) d2


x1 ≥ 0, x2 ≥ 0
A(18,4) B(30,0)
Rezolvare:
(0,0) x1


 S1 : 2x1 + x2 ≥ 40



 S2 : x1 + 3x2 ≥ 30

 S3 : x1 + x2 ≤ 30



 x1 ≥ 0, x2 ≥ 0
36 CAPITOLUL 5. REZOLVAREA GRAFICĂ A UNUI PROGRAM

A = (ABC)

A(18, 4) = d1 ∩ d2 , B(30, 0) = d2 ∩ d3 , C(10, 20) = d1 ∩ d3


f (18, 4) = 48, f (30, 0) = 50, f (10, 20) = 80

Minimul funcţiei este atins ı̂n vârful A.

min f (x1 , x2 ) = f (18, 4) = 48, x∗1 = 18, x∗2 = 4.

Problema 5.7
d2 x2

 max{ f (x1 , x2 ) = 6x1 + 4x2 }


 10
x1 + 3x2 ≤ 15

 4x1 + 2x2 ≤ 20

 d1
x1 > 0, x2 > 0
C(0,5) B(3,4)
Rezolvare:

 S1 : x1 + 3x2 ≤ 15
 x1
S2 : 4x1 + 2x2 ≤ 20 A(5,0) 15

 S : x ≥ 0, S : x ≥ 0
O
3 1 4 2

A = (OABC)

A(5, 0) = d2 ∩ Ox1 , B(3, 4) = d1 ∩ d2 , C(0, 5) = d1 ∩ Ox2


f (A) = 30, f (B) = 34, f (C) = 20

Maximul funcţiei este atins ı̂n vârful B.

max f (x1 , x2 ) = 34, x∗1 = 3, x∗2 = 4.


Capitolul 6

Problema programării liniare

6.1 Două probleme clasice


1. Problema firmei
O firmă de panificaţie produce şi vinde ı̂ntr-o zi următoarele produse:

Produse Preţ unitar (u.m)


P1 = pâine, c1 = 3 lei
P2 = cornuri, c2 = 0, 5 lei u.m = unităţi monetare
P3 = covrigi, c3 = 1 lei
P4 = cozonaci, c4 = 5 lei

Brutăria dispune (ı̂n magazie) de următoarele resurse

Resurse Cantitate (u.s)


R1 = făină 200 kg
R2 = apă 300 l (litri)
R3 = sare 30 kg
u.s = unităţi specifice
R4 = drojdie 10 kg
R5 = zahăr 50 kg
R6 = lapte 40 l
R7 = stafide 15 kg

Următorul tabel conţine preţurile unitare şi cantităţile de resurse exprimate prin
unităţi specifice (u.s) necesare fabricării fiecărui produs:

37
38 CAPITOLUL 6. PROBLEMA PROGRAMĂRII LINIARE

Produse Paine Corn Covrig Cozonac


Resurse
Preturi
unitare 0,5 1 5 (Rezerve)
3
Resurse

Faina (kg) 2 0,3 0,2 0,8 200

Apa (litri) 2 0,2 0,1 0,5 300

Sare (kg) 0,3 0,2 0,1 0,1 30

Drojdie (kg) 0,2 0,1 0,08 0,2 10

Zahar (kg) 0 0,1 0 0,4 50

Lapte (l) 0 0,2 0 0,4 40

Stafide (kg) 0 0 0 0,3 15

Figura 6.1:

Notăm cu x1 , x2 , x3 , x4 cantităţile produselor (variabile de decizie) puse la


vânzare:
x1 = numărul de pâini
x2 = numărul de cornuri
x3 = numărul de covrigi
x4 = numărul de cozonaci
Câştigul (ı̂n lei) care se obţine prin vânzarea acestora se exprimă prin funcţia
obiectiv
(1) f (x1 , x2 , x3 , x4 ) = 3x1 + 0, 5x2 + x3 + 5x4
Cantităţile resurselor consumate trebuie să fie mai mici decât cantităţile existente
ı̂n magazie. Exprimăm aceste restricţii prin inegalităţile:

 2 x1 + 0, 3 x2 + 0, 2 x3 + 0, 8 x4 ≤ 200


(făină)

 2x1 + 0, 2 x2 + 0, 1 x3 + 0, 5 x4 ≤ 300 (apă)




 0, 3 x1 + 0, 2 x2 + 0, 1 x3 + 0, 1 x4 ≤ 30
 (sare)
(R) 0, 2 x1 + 0, 1 x2 + 0, 08 x3 + 0, 2 x4 ≤ 10 (drojdie)



 0 x1 + 0 x2 + 0 x3 + 0, 3 x4 ≤ 15 (stafide)



 0x1 + 0, 1x2 + 0x3 + 0, 4x4 ≤ 50 (zahăr)



0x1 + 0, 2x2 + 0x3 + 0, 4x4 ≤ 40 (lapte)
6.1. DOUĂ PROBLEME CLASICE 39

Problemă de programare (P):


• Să se găsească cantităţile x∗j ≥ 0, j = 1, 4 supuse restricţiilor (R) care maximi-
zează funcţia f
Exprimăm această problemă sub forma:



 max {f (x1 , x2 , x3 , x4 ) = 2x1 + 0, 5x2 + x3 + 4x4 }





 2 x1 + 0.3 x2 + 0.2 x3 + 0.8 x4 ≤ 200



 2x1 + 0.4 x2 + 0.1 x3 + 0.5 x4 ≤ 300





 0.3 x1 + 0.2 x2 + 0.1 x3 + 0.1 x4 ≤ 30

(P ) 0.2 x1 + 0.1 x2 + 0.08 x3 + 0.2 x4 ≤ 10





 0 x1 + 0 x2 + 0 x3 + 0.3 x4 ≤ 15





 0x1 + 0, 1x2 + 0x3 + 0, 4x4 ≤ 50



 0x1 + 0, 2x2 + 0x3 + 0, 4x4 ≤ 30




0 ≤ xj ≤ rj , j = 1, 4.
Am notat rj , r = {r1 , r2 , r3 , r4 } marginile superioare ale cantităţilor de produse
puse ı̂n vânzare. Soluţia problemei depinde de aceste margini.
De exemplu, rezolvând problema pentru r = (50, 1000, 1000, 20) se obţin cantităţile
x∗1 = 30 pâini, x∗2 = 0 cornuri, x∗3 = 0 covrigi, x∗4 = 20 cozonaci
pentru care câştigul maxim este
f (30, 0, 0, 20) = 3·30 + 5·20 = 190 lei/zi
iar pentru r = (15, 100, 10, 5) găsim
x∗1 = 15 pâini, x∗2 = 52 cornuri, x∗3 = 10 covrigi, x∗4 = 5 cozonaci
f (15, 52, 10, 5) = 106 lei/zi
Concluzia este că vânzarea de cornuri şi covrigi la preţul propus nu este rentabilă,
prin urmare trebuie mărite costurile unitare ale cornurilor şi covrigilor.

2. Problema dietei
Pentru stabilirea unei diete, o cantină foloseşte următoarele alimente (produse)
Alimente Preţ unitar
A1 = Pâine c1 = 3 lei
A2 = Carne c2 = 25 lei
A3 = Ouă c3 = 0, 30 lei
A4 = Fructe c4 = 3 lei
A5 = Zarzavaturi c5 = 5 lei
40 CAPITOLUL 6. PROBLEMA PROGRAMĂRII LINIARE

O dietă sănătoasă trebuie să conţină cantităţile minime, de elemente nutritive


(Resurse), măsurate ı̂n unităţi specifice (u.s)

Nutrienţi Necesari (u.s)


N1 = Proteine 10
N2 = Lipide 5, 5
N3 = Glucide 3
N4 = Calciu 7
N5 = Fibre 15

Următorul tabel conţine datele de mai sus şi cantităţile de nutrienţi conţinute ı̂n
fiecare aliment ı̂n parte

Produse Paine Carne Oua Fructe Zarzavaturi


Resurse
Preturi
unitare 3 25 0,30 3 5 ( Minime )
Resurse
Proteine 0 3 2 0,3 0,2 10

Lipide 0,2 1 1 0,3 0,4 5,5

Glucide 0,4 0,5 0,7 2 0,5 3

Calciu 2 1 3 0 0 7

Fibre 2 0,6 0,2 3 4 15

Figura 6.2:

Fie x1 , x2 , x3 , x4 cantităţile de alimente folosite la prepararea dietei (variabile


de decizie):
x1 = numărul de pâini
x2 = kg de carne
x3 = numărul de ouă
x4 = kg de fructe
x5 = kg de zarzavaturi
Costul dietei (ı̂n lei) se exprimă prin funcţia obiectiv

f (x1 , x2 , x3 , x4 ) = 3x1 + 25x2 + 0, 30x3 + 3x4 + 5x5

Dieta trebuie să conţină elementele nutritive N1 , N2 , N3 , N4 , N5 ı̂n cantităţi cel


6.2. PROBLEMA GENERALĂ A PROGRAMĂRII LINIARE 41

puţin egale cu cele necesare pentru o dietă sănătoasă, adică:




 0x1 + 3 x2 + 2 x3 + 0, 3 x4 + 0, 2 x5 ≥ 10 (proteine)



 0, 2x1 + 1 x2 + 1 x3 + 0, 3 x4 + 0, 4 x5 ≥ 5, 5 (lipide)


 0, 4 x + 0, 5 x + 0, 7 x + 2 x + 0, 5 x ≥ 3 (glucide)
1 2 3 4 5

 2 x1 + 1 x2 + 3 x3 + 0 x4 + 0 x5 ≥ 7 (calciu)



 2 x1 + 0, 6 x2 + 0, 2 x3 + 3 x4 + 4 x5 ≥ 15 (fibre)



xi ≥ 0, i = 1, 5.

• Să se afle cantităţile de alimente x∗j ≥ 0, j = 1, 5, astfel ca preţul dietei f să


fie minim.
Exprimăm această problemă de programare sub forma:


 min {f (x1 , x2 , x3 , x4 , x5 ) = 2x1 + 25x2 + 0, 30x3 + 3x4 + 5x5 }





 0x1 + 3 x2 + 2 x3 + 0, 3 x4 + 0, 2 x5 ≥ 10 (proteine)



 0, 2x1 + 1 x2 + 1 x3 + 0, 3 x4 + 0, 4 x5 ≥ 5, 5 (lipide)
 0, 4 x1 + 0, 5 x2 + 0, 7 x3 + 2 x4 + 0, 5 x5 ≥ 3 (glucide)



 2 x1 + 1 x2 + 3 x3 + 0 x4 + 0 x5 ≥ 7 (calciu)



 2 x1 + 0, 6 x2 + 0, 2 x3 + 3 x4 + 4 x5 ≥ 15 (fibre)



xi ≥ 0, i = 1, 5.

6.2 Problema generală a programării liniare


Pentru realizarea unei linii de producţie avem nevoie de următoarele date:
1) Produse: P1 , P2 , · · · Pn ı̂n cantităţile x = {x1 , x2 , · · · , xn }, xj , j = 1, n
se numesc variabile de decizie, asupra cărora impunem condiţiile de pozitivi-
tate xj ≥ 0
2) Costuri unitare: c = {c1 , c2 , · · · , cn }, cj reprezintă costul unei unităţi
din produsul Pj exprimat ı̂n unităţi monetare (u.m)
3) Costul total: f (x) = c1 x1 + c2 x2 + · · · + cn xn (u.m) reprezintă costul ı̂ntre-
gii producţii. Funcţia f (x) poartă numele de funcţia obiectiv iar coeficinţii
{c1 , c2 , · · · , cn } se numesc coeficienţii funcţiei obiectiv
4) Resurse: Pentru realizarea produsului Pj se prelucrează materiile prime
(resursele) Ri ı̂n cantităţile {aij }i=1, m exprimate ı̂n unităţi specifice: u.s
j=1, n
5) Rezerve: Materiile prime Ri , i = 1, m sunt disponibile ı̂n cantităţile
bi , i = 1, m
6) Restricţiile: Ultimele două condiţii se exprimă printr-un sistem de m
ecuaţii şi/sau inecuaţii liniare numit sistemul restricţiilor
42 CAPITOLUL 6. PROBLEMA PROGRAMĂRII LINIARE

n
X
(R) aij ·xj ∗ bi , i = 1, m, ∗ ∈ { ≤, =, ≥ }
j=1

Matricea  
a11 a12 · · · a1n
 
 a21 a22 · · · a2n 
A= 
 · · · · · · · · · · · · · · · · · · · · ·
am1 am2 · · · amn
se mumeşte matricea restricţiilor
7) Soluţiile admisibile: Notăm cu A mulţimea {x1 , x2 , · · · xn } care verifică sis-
temul de restricţii (R)
( n
)
X
A = x1 , x 2 , · · · xn ∈ R / aij ·xj ∗ bi , i = 1, m
j=1

8) Soluţia Optimă: este soluţia admisibilă x∗1 , x∗2 , · · · , x∗n ∈ A care optimizează
funcţia obiectiv
x∗ ∈ A, min / max |f (x)| = f (x∗ )
x∈A

Problema programării liniare


Problema de programare liniară se prezintă sub următoarea formulare:
• Să se afle variabilele x∗1 , x∗2 , · · · , x∗n care optimizează funcţia obiectiv f (x) cu
condiţia ca variabilele xj să verifice sistemu de restricţii (R)
( n
)
X
optim f (x) = cj xj , cj ∈ R, j = 1, n
 n j=1

 X
 aij ·xj ∗ bi , i = 1, m, aij , bi ∈ R, ∗ ∈ { ≤, =, ≥ }
(R) j=1


 x ≥ 0, j = 1, n
j

Cu notaţiile matriciale
     
a11 a12 · · · a1n x1 b1
     
 a21 a22 · · · a2n   x2   b2 
A=  , [x] = 
 .  , [b] = 
  . 

 · · · · · · · · · · · · · · · · · · · · ·  .   . 
. .
am1 am2 · · · amn xn bm

c = ( c1 , c2 , · · · , cn ), c·[x] = c1 x1 +c2 x2 +· · ·+cn xn , x ≥ 0 ⇐⇒ xi ≥ 0, i = 1, n


6.2. PROBLEMA GENERALĂ A PROGRAMĂRII LINIARE 43

problema de programare liniară ı̂mbracă următoarea formă:



 optim{ f (x) = c·x }

(P ) A·x ∗ b, unde ∗ ∈ { ≤, =, ≥ }


x≥0

• Dacă A 6= ∅ spunem că programul (P ) este compatibil. În caz contrar,


A = ∅, problema (P ) este incompatibilă.
• Dacă problema (P ) are (cel puţin) o soluţie optimă, adică

∃ x∗ ∈ A, sup |f (x)| = f (x∗ )


x∈A

zicem că are optim finit.


• Dacă A 6= ∅, şi funcţia obiectiv este nemărginită pe A, adică

sup |f (x)| = ∞,
x∈A

Produse P1 P2 P3 P4 Pn
Resurse
Preturi
unitare c1 c2 c 3 c4 cn (Rezerve)
Resurse
R1 a11 a12 a13 a14 a1n b1

R2 a 21 a22 a 23 a 24 a2n b2

R3 a31 a 32 a 33 a 34 a3n b3

R4 a41 a42 a43 a 44 a4n b4

Rm am1 a m2 am3 a m4 amn bm

Figura 6.3:
44 CAPITOLUL 6. PROBLEMA PROGRAMĂRII LINIARE
Capitolul 7

Soluţii bazice ale unui progam

7.1 Forma standard al unui program


Rezolvarea grafică a unei probleme de programare liniară nu mai este posibilă ı̂n
cazul ı̂n care numărul n al variabilelor de decizie este mai mare decât 2
Metoda generală de rezolvare a unei probleme de programare liniară (aflarea a
soluţiei optime) este algoritmului simplex. Pentru aplicarea acestui algoritm prob-
lema trebuie adusă la forma standard care constă ı̂n satisfacerea următoarelor trei
condiţii:
1. Restricţiile să fie exprimate numai prin egalităţi (ecuaţii)
2. Termenii liberi să fie nenegativi, bi ≥ 0
3. Variabilele de decizie să fie pozitive xj ≥ 0 (condiţia de pozitivitate)
4. Numărul restricţiilor să fie mai mic decât numărul variabilelor; m < n.
Orice program poate fi scris ı̂n forma standard operând următoarele modificări
asupra restricţiilor:
• Dacă termenul liber din membrul drept este negativ, se ı̂nmulţeşte restricţia
cu (−1).
• O restricţie de ≤ (mai mic sau egal) se transformă ı̂n egalitate prin adunarea
unei variabile pozitive ı̂n membrul stâng.
• O restricţie ≥ (mai mare sau egal) devine egalitate prin scăderea unei vari-
abile pozitive ı̂n membrul stâng.
• Prin adăugarea noilor variabile de abatere, numărul variabilelor creşte, ast-
fel putem presupune ı̂ntotdeauna că numărul resticţiilor este strict mai mic decât
numărul variabilelor, m < n, condiţie absolut necesară pentru aplicarea algoritmu-
lui simplex.
Numim variabilele nou introduse, variabile de abatere sau ecarturi. Variabilele
de abatere nu modifică forma funcţiei obiectiv. Coeficienţii variabilelor de abatere
din funcţia obiectiv sunt consideraţi nuli.

45
46 CAPITOLUL 7. SOLUŢII BAZICE ALE UNUI PROGAM

În problemele concrete, variabilele de abatere au interpretări economice precise,


prin urmare ı̂n analiza soluţiei optime valorile lor vor fi luate ı̂n considerare ı̂mpreună
cu valorile variabilelor originale.
− În problema firmei, variabilele de abatere reprezintă cantităţi de resurse necon-
sumate.
− În problema dietei, variabilele de abatere reprezintă cantităţile de elemente
nutritive cu care sunt depăşite nivelele minimale specificate ı̂n reţetă.

Exemplul 7.1
 

 max{f (x) = 7x1 + 9x2 + 8x3 } 
 max{f (x) = 7x1 + 9x2 + 8x3 }

 

 
 5x1 + 2x2 − x3 ≥ 4
  5x1 + 2x2 − x3 − x4 = 4

(P ) 3x1 + x2 + x3 = 5 (S) 3x1 + x2 + x3 = 5

 


 x1 + 2x2 + 3x3 ≤ 9 
 x1 + 2x2 + 3x3 + x5 = 9

 

 xj ≥ 0, j = 1, 3  xj ≥ 0, j = 1, 5

Exemplul 7.2
 
 max{ f (x) = 2x1 + 3x2 − 4x3 + 5x4 }  max{ f (x) = 2x1 + 3x2 − 4x3 + 5x4 }

 

 

 x1 + 2x2 + x3 − 3x4 ≤ 10  x1 + 2x2 + x3 − 3x4 + x5 = 10

(P ) 2x1 + x2 − x3 − x4 = 6 (S) 2x1 + x2 − x3 − x4 = 6

 


 x − x2 + 2x3 + 3x4 ≥ 8 
 x1 − x2 + 2x3 + 3x4 − x6 = 8

 1 

xi ≥ 0, i = 1, 4. xi ≥ 0, i = 1, 6.

Exemplul 7.3
 
 max{ f (x) = 7x1 + 9x2 + 8x3 }  max{ f (x) = 7x1 + 9x2 + 8x3 }

 

 
 5x1 + 2x2 − x3 ≥ 4
  5x1 + 2x2 − x3 − x4 = 4

(P ) 3x1 + x2 + x3 = 5 (S) 3x1 + x2 + x3 = 5

 


 x1 + 2x2 + 3x3 ≤ 9 
 x1 + 2x2 + 3x3 + x5 = 9

 

xi ≥ 0, i = 1, 3. xi ≥ 0, i = 1, 5

Exemplul 7.4
 
 max{f (x) = 2x1 − 3x2 + 4x3 }  max{f (x) = 2x1 − 3x2 + 4x3 }

 

 
 x1 − 3x2 + 5x3 = 3
  x1 − 3x2 + 5x3 = 3

(P ) 3x1 + x2 ≥ 5 (S) 3x1 + x2 − x4 = 5

 


 2x1 + x3 ≤ 10 
 2x1 + x3 + x5 = 10

 

xi ≥ 0, i = 1, 3. xi ≥ 0, i = 1, 5
7.2. SOLUŢII BAZICE 47

7.2 Soluţii bazice


Vom consisera programul exprimat ı̂n forma standard:
( n
)
X
optim f (x) = cj xj , cj ∈ R, j = 1, n
 n j=1

 X
 aij ·xj = bi , i = 1, m, bi ≥ 0
(R) j=1


 x ≥ 0, j = 1, n
j

P
n
A = {x ∈ Rn / aij ·xj = bi , i = 1, m } − mulţimea soluţiilor admisibile
j=1

     
a11 a12 · · · a1n x1 b1
     
 a a22 · · · a2n   x2   b2 
A =  21  , [x] = 
 .  , [b] = 
  . 

 ···················   .   . 
. .
am1 am2 · · · amn xn bm

O notaţie de forma x = (x1 , x2 , · · · , xm ) se numeşte notaţie vectorială iar elementele


x1 , x2 , · · · , xm se numesc componentele vectorului x
Notăm cu A1 , A2 , · · · , Am , · · · , An coloanele matricei A, m < n
 
A1 A2 · · · Am · · · An a1i
 a2i 
a11 a12 · · · a1m · · · a1n  
 
a21 a22 · · · a2m · · · a2n , Ai =  a3i 
 · 
······························  
·
am1 am2 · · · amm · · · amn ami

• m − coloane Ai1 , Ai2 , · · · , Aim se numesc liniar independente dacă determi-


nantul alcătuit din elementele coloanelor este diferit de zero.
• O secvenţă formată din m coloane liniar independente

(7.1) B = {Ai1 , Ai2 , · · · , Aim }

se numeşte bază a programului (P ). Notând cu B −mulţimea bazelor programului,


se deduce imediat că
n!
card B ≤ Cnm = .
m! · (n − m)!
Analizând sistemul restricţiilor observăm că fiecărei coloane Ai ı̂i corespunde o
variabilă decizie xi .
• Variabilele de decizie xi1 , xi2 , · · · , xim , corespunzătoare unei baze se numesc
48 CAPITOLUL 7. SOLUŢII BAZICE ALE UNUI PROGAM

variabile bazice Restul variabilelor, xim+1 , xim+2 , · · · , xin ı̂n număr de n − m, care
vor figura ca parametri, se numesc, variabile nebazice.
• Se numeşte soluţie bazică, soluţia admisibilă xB ∈ A, obţinută din sistemul de
restricţii ı̂n care variabilele nebazice se iau egale cu zero

xB = ( xi1 , xi2 , · · · , xim , 0, 0, · · · 0 )


| {z }
n−m

• Se numeşte restricţia bazică soluţia

xB = ( x1 , x2 , · · · , xm ), x k = xi k , k = 1, m

având drept componente soluţiile sitemului generat de baza B cu anularea vari-


abilelor nebazice
• Cum determinantul format din coloanele unei baze este nenul, rezultă că fiecărei
baze ı̂i corespunde o singură soluţie bazică, notăm cu

AB = {xB ∈ A / B ∈ B}

mulţimea soluţiilor bazice admisibile. Soluţia

x∗ = {xB ∈ AB / optim{f (xB )} = f (x∗ )}

se numeşte soluţia optimală, iar baza B ∗ căreia ı̂i corespunde soluţia optimală,
poartă numele de bază optimală. Avem, evident că x∗ = xB∗ Mai notăm cu x∗
restricţia soluţiei optime

Probleme
Să calculeze soluţiile bazice optime ale următoarelor programe:

Problema 7.1


 max{f (x) = 2x1 − 3x2 + 5x3 − x4 }

 2x − x + x − 4x + 3x = 2
1 2 3 4 5

 x1 + 3x2 − x3 − 6x4 − 2x5 = 1


x1 , x2 , x3 , x4 , x5 ≥ 0.
Soluţie:
A1 A2 A3 A4 A5
 
2 −1 1 −4 3
A=
1 3 −1 −6 −2
Calculăm cele cel mult C52 = 10 baze
7.2. SOLUŢII BAZICE 49

1) A1 A2 
2 −1 2x1 − x2 = 2,
A12 = , x1 = 1, x2 = 0
1 3 x1 + 3x2 = 1,

xB1 = ( 1, 0, 0, 0, 0 ).

2) A1 A3 
2 1 2x1 + x3 = 2,
A13 = ,
x1 = 1, x3 = 0
1 −1 x1 − x3 = 1,

xB2 = ( 1, 0, 0, 0, 0 ).

3) A1 A4 
2 −4 2x1 − 4x4 = 2,
A14 = , x1 = 1, x4 = 0
1 −6 x1 − 6x4 = 1,

xB3 = ( 1, 0, 0, 0, 0 ).

4) A1 A5 
2 3 2x1 + 3x5 = 2,
A15 = ,
x1 = 1, x5 = 0
1 −2 x1 − 2x5 = 1,

xB4 = ( 1, 0, 0, 0, 0 ).

5) A2 A3 
−1 1 −x2 + x3 = 2, 3 7
A23 = ,
x2 = , x3 =
3 −1 3x2 − x3 = 1, 2 2
 
3 7
xB5 = 0, , , 0, 0 .
2 2

6) A2 A4 
−1 −4 −x2 − 4x4 = 2, 4 7
A24 = ,
x2 = − , x4 = −
3 −6 3x2 − 6x4 = 1, 9 18
 
4 7
xB6 = 0, − , 0, − , 0 .
9 18

7) A2 A5 
−1 3 −x2 + 3x5 = 2,
A25 = ,
x2 = 1, x5 = 1
3 −2 3x2 − 2x5 = 1,

xB7 = ( 0, 1, 0, 0, 1 ).
50 CAPITOLUL 7. SOLUŢII BAZICE ALE UNUI PROGAM

8) A3 A4 
1 −4 x3 − 4x4 = 2, 8 3
A34 = , x3 = , x4 = −
−1 −6 −x3 − 6x4 = 1, 10 10
 
8 3
xB8 = 0, 0, ,− ,0 .
10 10
9) A3 A5 
1 3 x3 + 3x5 = 2,
A35 = ,
x3 = −7, x5 = 3
−1 −2 −x3 − 2x5 = 1,

xB9 = ( 0, 0, −7, 0, 3 ).

10) A4 A5 
−4 3 −4x4 + 3x5 = 2, 7 4
A45 = ,
x4 = − , x5 =
−6 −2 −6x4 − 2x5 = 1, 26 13
 
7 4
xB10 = 0, 0, 0, − , .
26 13
Eliminând soluţiile cu componente negative, găsim soluţiile bazice admisibile,

AB = {xB1 , xB5 , xB7 }

pentru care calculăm valorile funcţiei f (x)

xB1 = (1, 0, 0, 0, 0) = 2, f (xB1 ) = 2


 
3 7
xB5 = 0, , , 0, 0 , f (xB5 ) = 13
2 2
xB7 = (0, 1, 0, 0, 1 ), f (xB7 ) = −3
Prin urmare soluţia bazică optimă este
 
3 7
x = xB5 = 0, , , 0, 0 , max f (x) = f (x∗ ) = 13.

2 2
 
∗ 3 7
x = , , este restricţia soluţiei optime.
2 2

Problema 7.2 (5.7)


 

 max{f (x) = 6x1 + 4x2 } 
 max{f (x) = 6x1 + 4x2 }

 

 x1 + 3x2 ≤ 15  x1 + 3x2 + x3 = 15
Forma standard:

 4x1 + 2x2 ≤ 20 
 4x1 + 2x2 + x4 = 20

 

 
x1 , x2 ≥ 0. x1 , x2 ≥ 0.
7.2. SOLUŢII BAZICE 51

Soluţie:
A1 A2 A3 A4
 
1 3 1 0
A=
4 2 0 1
1) A1 A2

1 3 x1 + 3x2 = 15,
A12
= , x1 = 3, x2 = 4
4 2 4x1 + 2x2 = 20,
xB1 = ( 3, 4, 0, 0 ).
2) A1 A3

1 1 x1 + x3 = 15,
A13 = , x1 = 5, x3 = 10
4 0 4x1 = 20,
xB2 = ( 5, 0, 10, 0 ).
3) A1 A4

1 0 x1 = 15,
A14 = , x1 = 15, x4 = −40
4 1 4x1 + x4 = 20,
xB3 = ( 15, 0, 0, −40 ).
4) A2 A3

3 1 3x2 + x3 = 15,
A23
= , x2 = 10, x3 = −15
2 0 2x2 = 20,
xB4 = ( 0, 10, −15, 0 ).
5) A2 A4

3 0 3x2 = 15,
A24 = , x2 = 5, x4 = 10
2 1 2x2 + x4 = 20,
xB5 = ( 0, 5, 0, 10 ).
6) A3 A4

1 0 x3 = 15,
A34
= ,
0 1 x4 = 20,
xB6 = ( 0, 0, 15, 20 ) .
Eliminând soluţiile cu componente negative, găsim AB = {xB1 , xB2 , xB5 , xB6 }
xB1 = (3, 4, 0, 0), f (xB1 ) = 34
xB2 = (5, 0, 10, 0), f (xB2 ) = 30
xB5 = (0, 5, 0, 10), f (xB5 ) = 20
xB6 = (0, 0, 15, 20), f (xB6 ) = 0
Soluţia bazică optimă este: x∗ = xB1 = (3, 4, 0, 0), max f (x) = f (x∗ ) = 34.
52 CAPITOLUL 7. SOLUŢII BAZICE ALE UNUI PROGAM

Problema 7.3 (5.3)


 

 max{ f (x) = 5x1 + 4x2 }  max{ f (x) = 5x1 + 4x2 }

 −x + x ≤ 2 

1 2
Forma standard: −x1 + x2 + x3 = 2

 3x1 + 4x2 ≤ 12 
 3x + 4x2 + x4 = 12

  1
x1 ≥ 0, x2 ≥ 0 x1 ≥ 0, x2 ≥ 0

A1 A2 A3 A4
 
−1 1 1 0
A=
3 4 0 1

1) A1 A2

−1 1 −x1 + x2 = 2, 4 18
A12 = ,
x1 = , x2 =
3 4 3x1 + 4x2 = 12, 7 7
 
4 18
xB1 = , , 0, 0 .
7 7

2) A1 A3

−1 1 −x1 + x3 = 2,
A13
= , x1 = 4, x3 = 6
3 0 3x1 = 12,
xB2 = ( 4, 0, 6, 0 ).

3) A1 A4

−1 0 −x1 = 2,
A14 = , x1 = −2, x4 = 18
3 1 3x1 + x4 = 12,

xB3 = ( −2, 0, 0, 18 ).

4) A2 A3

1 1 x2 + x3 = 2,
A23 = , x2 = 3, x3 = −1
4 0 4x2 = 12,

xB4 = ( 0, 3, −1, 0 ).

5) A2 A4

1 0 x2 = 2,
A24 = , x2 = 2, x4 = 4
4 1 4x2 + x4 = 12,

xB5 = ( 0, 2, 0, 4 ).
7.2. SOLUŢII BAZICE 53

6) A3 A4

1 0 x3 = 2,
A34
= ,
0 1 x4 = 12,

xB6 = ( 0, 0, 2, 12 ).

Eliminăm soluţiile cu componente negative;


  

 4 18 92

 xB1 = , , 0, 0 , f (xB1 ) =

 7 7 7



xB2 = (4, 0, 6, 0), f (xB2 ) = 20



 xB5 = (0, 2, 0, 4), f (xB5 ) = 8




 x = (0, 0, 2, 12), f (xB6 ) = 0
B6

x∗ = xB2 = (4, 0, 6, 0), max f (x) = f (x∗ ) = 20, x∗ = xB2 = (4, 6) = restricţia
soluţiei optime.

Problema 7.4 (5.1)


 
 max{ f (x1 , x2 ) = 50x1 + 40x2 } 
 max{, f (x1 , x2 ) = 50x1 + 40x2 }

 

 3x + 5x ≤ 150  3x1 + 5x2 + x3 = 150
1 2
Forma standard:

 8x 1 + 5x 2 ≤ 300 
 8x1 + 5x2 + x4 = 300

 

x1 , x 2 ≥ 0 
x1 , x 2 , x 3 , x 4 ≥ 0
Soluţie:
A1 A2 A3 A4
 
3 5 1 0
A=
8 5 0 1
1) A1 A2

3 5 3x1 + 5x2 = 150
A12 = , x1 = 30, x2 = 12
8 5 8x1 + 5x2 = 300

xB1 = ( 30, 12, 0, 0 ) .

2) A1 A3

3 1 3x1 + x3 = 150, 75 75
A13 = ,
x1 = , x3 =
8 0 8x1 = 300, 2 2
 
75 75
xB2 = , 0, ,0 .
2 2
54 CAPITOLUL 7. SOLUŢII BAZICE ALE UNUI PROGAM

3) A1 A4

3 0 3x1 = 150
A14
= , x1 = 50, x4 = −100
8 1 8x1 + x4 = 300,

xB3 = ( 50, 0, 0, −100 ).

4) A2 A3

5 1 5x2 + x3 = 150,
A23
= , x2 = 60, x3 = −150
5 0 5x2 = 300,
xB4 = ( 0, 60, −150, 0 ).

5) A2 A4

5 0 5x2 = 150,
A24
= , x2 = 30, x4 = 150
5 1 5x2 + x4 = 300,
xB5 = ( 0, 30, 0, 150 ).

6) A3 A4

1 0 x3 = 150
A34 = ,
0 1 x4 = 300

xB6 = ( 0, 0, 150, 300 ).

Eliminăm soluţiile cu componente negative;

xB1 = ( 30, 12, 0, 0) f (xB1 ) = 1980


 
75 75
xB2 = , 0, , 0 , f (xB2 ) = 1875
2 2
xB5 = (0, 30, 0, 150), f (xB5 ) = 1200
xB6 = (0, 0, 150, 300) f (xB6 ) = 0

x∗ = xB2 = (4, 0, 6, 0) = xB1 = (30, 12, 0, 0), max f (x) = f (x∗ ) = 1980.

Problema 7.5 (5.2)



 max{f (x1 , x2 ) = 5x1 + 6x2 } 


 3x + 2x ≤ 120  max{f (x1 , x2 ) = 5x1 + 6x2 }

1 2
Forma standard: 3x1 + 2x2 + x3 = 120

 4x1 + 6x2 ≤ 260 
 2x + 3x + x = 130

 1 2 4
x1 ≥ 0, x2 ≥ 0

R. x∗ = (20, 30), max f (x) = f (x∗ ) = 280


7.2. SOLUŢII BAZICE 55

Problema 7.6 (5.4)



 max{f (x) = 3x1 + 4x2 }



 −3x1 + 4x2 ≤ 12

x1 + x2 ≤ 6



 −2x1 + x2 ≤ 2


x1 ≥ 0, x2 ≥ 0
 
∗ 12 30 156
R. x = , , max f (x) = f (x∗ ) =
7 7 7

Problema 7.7 (5.5)




 max{ f (x) = 2x1 + x2 }



 x − x2 ≤ 4

 1
3x1 − x2 ≤ 18



 −x1 + 2x2 ≤ 6




x1 ≥ 0, x2 ≥ 0
 
∗ 42 36
R. x = , , max f (x) = f (x∗ ) = 24.
5 5

Problema 7.8 (5.6)




 max{ f (x) = 2x1 + 3x2 }



 2x1 + x2 ≥ 40


x1 + 3x2 ≥ 30



 x1 + x2 ≤ 30




x1 ≥ 0, x2 ≥ 0

R. x∗ = (10, 20), max f (x) = f (x∗ ) = 80

Problema 7.9 (5.7)



 max{ f (x) = 6x1 + 4x2 }



x1 + 3x2 ≤ 15

 4x1 + 2x2 ≤ 20


x1 ≥ 0, x2 ≥ 0

R. x∗ = (3, 4), max f (x) = f (x∗ ) = 34.


56 CAPITOLUL 7. SOLUŢII BAZICE ALE UNUI PROGAM
Capitolul 8

Metoda simplex

8.1 Descrierea algoritmului


Algoritmul simplex este un proces iterativ prin care fiecare iteraţie, reprezen-
tată printr-un tabel simplex, se obţine din datele iteraţiei precedente. În cadrul unei
iteraţii, algoritmul simplex aplicat unei soluţii admisibile de bază pune ı̂n evidenţă
următoarele situaţii:
1) Calculează soluţia optimă x∗ , < ST OP >
2) Stabileşte cazul de optim infinit, < ST OP >
3) Înlocuieşte o coloană din bază cu altă coloană şi trece la următoarea iteraţie.
Pentru rezolvarea problemelor de dimensiuni mici se utilizează tabele simplex cu
rubrici prestabilite, de tipul celor prezentate la exemplul următor, fiecare tabel fiind
asociat unei baze. Tabelele se deduc unul din altul prin pivotare gaussiană, (8.2)
Pasul 1. Completarea tabelului ”simplex”:
a) Completăm primul tabel (tabelul de start), cu elementele matricei B, apoi
folsind formulele (8.2) şi regula dreptunghiului deducem tabele recurente.
b) Completăm ultima linie cu formulele:
(
cB ·Ai − ci pentru o problemă de maxim
(8.1) f (xB ) = cB ·xB şi ∆i =
ci − cB ·Ai pentru o problemă de minim

Pasul 2. Dacă toţi


X
∆j = ci ·aij − cj ≥ 0, j ∈ J şi ∆i = 0, i ∈ I
i∈I

atunci soluţia admisibilă xB optimizează funcţia obiectiv, valoarea optimă fiind

f (xB ) = cB ·xB < ST OP > .

57
58 CAPITOLUL 8. METODA SIMPLEX

Pasul 3. Dacă există ∆j < 0, j ∈ J, calculăm coloana Ar care intră ı̂n bază.
Se alege r ∈ J astfel ca:
∆r = min ∆j ; coloana Ar intră ı̂n bază
j∈J

Pasul 4. Dacă
air ≤ 0, i ∈ I
atunci programul are optim infinit: < ST OP > .
Pasul 5. Dacă există air > 0, calculăm coloana Al care iese din bază.
Se determină l ∈ I astfel ca
   
xl xB xi
alr
= min
Ar
/ air > 0 = min a / air > 0, i ∈ I
ir

Coloana Al iese din bază.


Precizare: Elementul alr se numeşte pivot şi joacă un rol inportant ı̂n operaţia de
pivotare gaussiană de aflare a elementelor tabelului următor al procesului iterativ.

Operaţia de pivotarea Gausiană


Se ı̂nlocuieşte coloana Al − iese din bază cu coloana Ar − intră ı̂n bază. Ele-
mentul alr se numeşte pivot.
Procedura prin care se calculează elementele matriciale a0ij ı̂n noua bază din
elementele basei precedente, conform formulelor (8.2), poartă numele de pivotare
gausiană şi constă ı̂n următoarele operaţii:
a) Exceptând elementele de pe linia r şi coloana r a pivotului, restul ele-
ementelor se calculează cu formula
alj alr ·aij − alj ·air
(8.2) a0ij = aij − air = , i ∈ I \ {l}, j ∈ J \ {r}
alr alr
utilizând regula dreptunghiului. Elementele se calculează sub forma unor
determinanţi de ordinul doi culeşi din tabelul simplex. Poziţia pivotului alr ı̂n
determinant stabileşte semnul din faţa determinantului, conform următoarei scheme:

alr alj aij air
0
aij = : alr = : alr
air aij alj alr
(8.3)
alj alr air aij
0
aij = − : alr = − : alr
aij air alr alj

b) Se anulează coloana care conţine pivotul, (coloana r), excepând pivotul.


c) Se ı̂mparte linia pivotului (linia l) cu pivotul.
Elementele a0ij care nu fac obiectul formulelor (8.2) rămân neschimbate.
8.2. APLICAŢII 59

8.2 Aplicaţii
Să se rezolve următoarea problemă de programare prin algoritmul simplex.
 
 max{ f (x) = 5x1 + 4x2 + 3x3 }  max{ f (x) = 5x1 + 4x2 + 3x3 }

 

 
 x1 + 2x2 + 2x3 ≤ 10
  x1 + 2x2 + 2x3 + x4 = 10

2x1 + x2 ≤ 8 Forma standard: 2x1 + x2 + x5 = 8

 

 2x2 − x3 ≤ 8
 
 2x2 − x3 + x6 = 8

 

xi ≥ 0, i = 1, 3 xi ≥ 0, i = 1, 6

A1 A2 A3 A4 A5 A6
 
1 2 2 1 0 0
A= 2 1 0 0 1 0 
0 2 −1 0 0 1

Tabelul I
1) Parametri bazici
Alegem baza de start astfel ı̂ncât coloanele care constituie baza să formeze ma-
tricea unitate.
B = { A4 , A5 , A6 } − baza de start
Anulăm variabilele nebazice, x1 = x2 = x3 = 0, ı̂n sistemul de restricţii şi calculăm
soluţia bazică:

xB = (0, 0, 0, 10, 8, 8 ) − soluţia bazică


xB = ( x4 , x5 , x6 ) = ( 10, 8, 8 ) − restricţia bazică
c = (5, 4, 3, 0, 0, 0) − coficienţii funcţiei obiectiv.
cB = ( c4 , c5 , c6 ) = (0, 0, 0) − coeficienţii bazici

2) Completarea tabelului de start

a) Elementele matricei

c1 = 5 c2 = 4 c3 = 3 c4 = 0 c5 = 0 c6 = 0
cB xB B A1 A2 A3 A4 A5 A6
c4 = 0 x4 = 10 A4 1 2 2 1 0 0
c5 = 0 x5 = 8 A5 {2} 1 0 0 1 0
c6 = 0 x6 = 8 A6 0 2 −1 0 0 1
f (xB ) = cB xB = 0 ∆i = cB Ai − ci ∆1 = −5 ∆2 = −4 ∆3 = −3 ∆4 = 0 ∆5 = 0 ∆6 = 0
Tabelul 8.1
60 CAPITOLUL 8. METODA SIMPLEX

b) Ultima linie


 f (xB ) = cB ·xB = 0



 ∆ = cB ·A1 − c1 = (0, 0, 0)·(1, 2, 0) − 5 = −5

 1
∆2 = cB ·A2 − c2 = (0, 0, 0)·(2, 1, 2) − 4 = −4



 ∆3 = cB ·A3 − c3 = (0, 0, 0)·(2, 0, −1) − 3 = −3




∆4 = ∆5 = ∆6 = 0.

3) Testarea:
a) Dacă toţi ∆i ≥ 0, i = 1, 6, atunci x∗ = xB , f (x∗ ) = cB ·xB , < ST OP > .
În caz contrar aflăm coloana care intră ı̂n bază:

min{∆i / i = 1, 6} = −5 = ∆1 , r = 1, A1 = (1, 2, 0) − intră ı̂n bază.

b) Dacă toate componentele lui A1 sunt negative sau nule, A1 ≤ 0 (notaţie)


atunci programul are optim infinit < ST OP > .
În caz contrar aflăm coloana care iese din bază:
   
xB 10 8 x5
min
A1
/ A1 > 0 = min ,
1 2
=4=
a51
, l = 5, A5 − iese din bază.

Elementul alr = a51 = 2 se numeşte pivotul lui Gauss

Tabelul II
1) Parametri bazici

B = { A4 , A1 , A6 }, x 2 = x3 = x5 = 0
xB = (x1 , x2 , x3 , x4 , x5 , x6 ) = (4, 0, 0, 6, 0, 8)
xB = (x4 , x1 , x6 ) = (6, 4, 8)
c = (5, 4, 3, 0, 0, 0)
cB = (c4 , c1 , c6 ) = (0, 5, 0)

2) Completarea tabelului
a) Cu formulele (8.3) calculăm elementele tabelului, cu excepţia liniei şi
coloanei pivotului a51 = 2

1 2 3 1 2 1 1

a042 = − : 2 = , a043 = − : 2 = 2, a044 = − :2=1
2 1 2 2 0 2 0

1 0 1 1 0

a045 = − : 2 = − , a046 = − :2=0
2 1 2 2 0
8.2. APLICAŢII 61

2 1 2 0 2 0

a062 = : 2 = 2, a063 = : 2 = −1, a064 = :2=0
0 2 0 −1 0 0

2 1 2 0

a065 = : 2 = 0, a066 = :2=1
0 0 0 1

−Exceptând pivotul, completăm restul coloanei pivotului cu 0.


−Împărţim linia pivotului cu valoarea pivotului, a51 = 2.

c1 = 5 c2 = 4 c3 = 3 c4 = 0 c5 = 0 c6 = 0
cB xB B A1 A2 A3 A4 A5 A6
c4 = 0 x4 = 6 A4 0 3/2 {2} 1 −1/2 0
c1 = 5 x1 = 4 A1 1 1/2 0 0 1/2 0
c6 = 0 x6 = 8 A6 0 2 −1 0 0 1
f (xB ) = cB xB = 20 ∆i = cB Ai − ci ∆1 = 0 ∆2 = −3/2 ∆3 = −3 ∆4 = 0 ∆5 = 5/2 ∆6 = 0

Tabelul 8.2
b) Ultima linie:


 f (xB ) = cB xB = 20





 ∆1 = cB ·A1 − c1 = (0, 5, 0)·(0, 1, 0) − 5 = 0

  

 3 1 3



 ∆2 = cB ·A2 − c2 = (0, 5, 0)· , , 2 −4=−

 2 2 2

∆3 = cB ·A3 − c3 = (0, 5, 0)·(2, 0, −1) − 3 = −3





 ∆4 = cB ·A4 − c4 = (0, 5, 0)·(1, 0, 0) − 0 = 0

  

 1 1 5



 ∆5 = cB ·A5 − c5 = (0, 5, 0)· − , , 0 − 0 =

 2 2 2



∆6 = cB ·A6 − c6 = (0, 5, 0)·(0, 0, 1) − 0 = 0

3) Testarea

min{ ∆i / ∆i < 0, i = 1, 6} = −3 = ∆3 , r = 3, A3 = (2, 0, −1) − intră ı̂n bază


 
xB 6 x4
min
A3
/ A3 > 0 = = 3 =
2 a43
, l = 4, A4 − iese din bază.

a43 = 2 − pivotul

Tabelul III
1) Baza şi elementele bazei
62 CAPITOLUL 8. METODA SIMPLEX

B = { A3 , A1 , A6 }, x 2 = x4 = x5 = 0
xB = (x1 , x2 , x3 , x4 , x5 , x6 ) = (4, 0, 3, 0, 0, 11)
xB = (x3 , x1 , x6 ) = ( 3, 4, 11 )
c = (5, 4, 3, 0, 0, 0)
cB = (c3 , c1 , c6 ) = (3, 5, 0)
2) Completarea tabelului
a) Elementele matricei, formulele (8.3). Pivotul a43 = 2.

0 2 3 2 1 2 1
2
a011 = − : 2 = 1, a012 = − 1 : 2 = , a014 = :2=0
1 0 0 2 0 0
2

2 −1 1 2 0
2
a015 = : 2 = , a016 = :2=0
0 1 2 0 0
2

0 2 3 2 11 2 1 1
0 0 2 0
a61 = − : 2 = 0, a62 = − : 2 = , a64 = :2=
0 −1 2 −1 4 −1 0 2

2 −1 1 2 0
2
a065 = : 2 = − , a066 = :2=1
−1 0 4 −1 1
− Exceptând pivotul, completăm restul coloanei pivotului cu 0.
− Împărţim linia pivotului cu valoarea pivotului; a43 = 2
c1 = 5 c2 = 4 c3 = 3 c4 = 0 c5 = 0 c6 = 0
cB xB B A1 A2 A3 A4 A5 A6
c3 = 3 x3 = 3 A3 0 3/4 1 1/2 −1/4 0
c1 = 5 x1 = 4 A1 1 1/2 0 0 1/2 0
c6 = 0 x6 = 11 A6 0 11/4 0 1/2 −1/4 1
f (xB ) = cB ·xB = 29 ∆i = cB ·Ai − ci ∆1 = 0 ∆2 = 3/4 ∆3 = 0 ∆4 = 3/2 ∆5 = 7/4 ∆6 = 0

Tabelul 8.3
b) Ultima linie
f (xB ) = cB ·xB = 29
3 3 7
∆1 = 0, ∆2 = , ∆3 = 0, ∆4 = , ∆5 = , ∆6 = 0.
4 2 4
3) Testarea
Cum toţi ∆i ≥ 0 < ST OP > . Soluţia problemei:
x∗ = ( 4, 0, 3, 0, 0, 11 ), f (x∗ ) = 29.
Capitolul 9

Aplicaţii

Problema 9.1 (5.5)

Rezolvăm problema 5.5 (cursul 5, problema 5) prin metoda simplex.


 

 max{ f (x) = 2x1 + x2 } 
 max{ f (x) = 2x1 + x2 }

 


 x − x2 ≤ 4 
 x − x2 + x3 = 4

 1 
 1
(P ) 3x1 − x2 ≤ 18 Forma standard: 3x1 − x2 + x4 = 18

 


 −x1 + 2x2 ≤ 6 
 −x1 + 2x2 + x5 = 6

 


 

x1 ≥ 0, x2 ≥ 0 xi ≥ 0, j = 1, 5

A1 A2 A3 A4 A5
 
1 −1 1 0 0
 
A= 3 −1 0 1 0 .
−1 2 0 0 1

Tabelul I

1) Parametri bazici:

B = { A3 , A4 , A5 } x1 = x2 = 0
xB = (0, 0, 4, 18, 6) soluţia bazică
xB = ( x3 , x4 , x5 ) = (4, 18, 6) restricţia bazică
c = ( 2, 1, 0, 0, 0 ) = (0, 0, 0) coeficienţii funcţiei obiectiv
cB = ( c3 , c4 , c5 ) = (0, 0, 0) coeficienţii bazici

2) Completarea tabelului de start


a) Elementele matricei

63
64 CAPITOLUL 9. APLICAŢII

c1 = 2 c2 = 1 c3 = 0 c4 = 0 c5 = 0
cB xB B A1 A2 A3 A4 A5
0 4 A3 {1} −1 1 0 0
0 18 A4 3 −1 0 1 0
0 6 A5 −1 2 0 0 1
f (xB ) = 0 ∆i = cB ·Ai − ci −2 −1 0 0 0
Tabelul 9.1.1
b) Ultima linie
f (xB ) = cB ·xB = 0; ∆1 = cB ·A1 − c1 = −2, ∆2 = −1, ∆3 = ∆4 = ∆5 = 0
3) Testarea:
a) ∃ ∆i < 0. Coloana Ar care intră ı̂n bază:
(
min{∆i / i = 1, 5} = −2 = ∆1
r = 1, coloana A1 = (1, 3, −1) intră ı̂n bază.
b) ∃ A1 > 0. Coloana Al care iese din bază:
  

 xB x3



min / A1 > 0 = min{4, 6} = 4 =
A1 a31

 l = 3, coloana A3 iese din bază


 pivotul: a = 1
31

Tabelul II
1) Parametri bazici:
B = { A1 , A4 , A5 }, x 2 = x3 = 0
xB = (4, 0, 0, 6, 10)
xB = (4, 6, 10)
c = ( 2, 1, 0, 0, 0 )
cB = (2, 0, 0).
2) Completarea tabelului.
a) Calculăm elementele bazei cu cu excepţia liniei şi coloanei pivotului a31 = 1

1 −1 1 1 1 0 1 0

a042 = = 2, a043 = = −3, a044 = = 1, a045 = =0
3 −1 3 0 3 1 3 0

1 −1 1 1 1 0 1 0

a052 = = 1, a053 = = 1, a054 = = 0, a055 = =1
−1 2 −1 0 −1 0 −1 1
65

−Exceptând pivotul, completăm restul coloanei pivotului cu 0.


−Împărţim linia pivotului cu valoarea pivotului, a31 = 1.

c1 = 2 c2 = 1 c3 = 0 c4 = 0 c5 = 0
cB xB B A1 A2 A3 A4 A5
2 4 A1 1 −1 1 0 0
0 6 A4 0 {2} −3 1 0
0 10 A5 0 1 1 0 1
f (xB ) = 8 ∆i = cB ·Ai − ci 0 −3 2 0 0
Tabelul 9.1.2
b) Ultima linie:
f (xB ) = cB ·xB = 8; ∆1 = cB ·A1 − c1 = 0, ∆2 = −3, ∆3 = 2, ∆4 = ∆5 = 0
3) Testarea
a) ∃ ∆i < 0. Coloana care intră ı̂n bază:
(
min{∆i / ∆i < 0, i = 1, 5} = −3 = ∆2
r = 2, coloana A2 intră ı̂n bază.

b) ∃ A1 > 0. Coloana Al care iese din bază:


  

 xB x4



min / A2 > 0 = min{3, 10} = 3 =
A2 a42

 l = 4, coloana A4 iese din bază


 pivotul a = 2
42

Tabelul III
1) Parametri bazici:
B = { A1 , A2 , A5 }, x 3 = x4 = 0
x = (7, 3, 0, 0, 7)
xB = (7, 3, 7)
c = ( 2, 1, 0, 0, 0 )
cB = (2, 1, 0).
2) Completarea tabelului
a) Elementele matricei, cu excepţia liniei şi coloanei pivotului a42 = 2

1 −1 −1 1 1 −1 0 1

a011 = : 2 = 1, a013 = − : 2 = − , a014 = − :2=
0 2 2 −3 2 2 1 2
66 CAPITOLUL 9. APLICAŢII

−1 0

a015 = − :2=0
2 0

0 2 2 −3 5 2 1 1

a051 = − : 2 = 0, a053 = :2= , a054 = :2=−
0 1 1 1 2 1 0 2

2 0

a055 = :2=1
1 1

−Exceptând pivotul, completăm restul coloanei pivotului cu 0.


−Împărţim linia pivotului cu valoarea pivotului, a42 = 2.

c1 = 2 c2 = 1 c3 = 0 c4 = 0 c5 = 0
cB xB B A1 A2 A3 A4 A5
2 7 A1 1 0 −1/2 1/2 0
1 3 A2 0 1 −3/2 1/2 0
0 7 A5 0 0 {5/2} −1/2 1
f (xB ) = 17 ∆i = cB ·Ai − ci 0 0 −5/2 3/2 0
Tabelul 9.1.3
b) Ultima linie
5 3
f (xB ) = cB ·xB = 17; ∆1 = cB Ai − ci , ∆2 = 0, ∆3 = − , ∆4 = , ∆5 = 0
2 2
3) Testarea
a) ∃ ∆i < 0 Coloana care intră ı̂n bază

 5
min{∆k / ∆k < 0, k = 1, 5} = − = ∆3
2
 r = 3, coloana A intră ı̂n bază.
3

b) ∃ A3 > 0 Coloana care iese din bază:


  
 x 14 x


 min
B
/ A3 > 0 = = 5

 A3 5 a53

 l = 5, coloana A5 iese din bază





 pivotul a53 = 5

2
67

Tabelul IV
1) Parametri bazici:

B = { A1 , A2 , A3 } x4 = x5 = 0,
   
42 36 14 42 36 14
xB = , , , 0, 0 xB = , ,
5 5 5 5 5 5
c = ( 2, 1, 0, 0, 0 ) cB = (2, 1, 0)

2) Completarea tabelului
5
a) Elementele matricei, cu excepţia liniei şi coloanei pivotului, a53 =
2

1 1 1 1
1 − 2 0 − 2 − 2 2
2 · = 1, 2 · = 0, 2 2
a011 = a012 = a014 = − · =
5 5 5 5 5 1 5 5
0 0 −
2 2 2 2

1
− 0 2 1

a015 = − 2 · =
5 5 5
1
2

3 3 3 1
0 − 2 1 − 2 − 2 1
2 · = 0, 2 · = 1,
a021 = a022 = a024 = − 2 2 · =
5 5 5 5 5 1 5 5
0 0 −
2 2 2 2

3
− 0 2 3

a025 = − 2 · =
5 5 5
1
2
−Exceptând pivotul, completăm restul coloanei pivotului cu 0.
5
−Împărţim linia pivotului cu valoarea pivotului, a53 = .
2
c1 = 2 c2 = 1 c3 = 0 c4 = 0 c5 = 0
cB xB B A1 A2 A3 A4 A5
2 42/5 A1 1 0 0 2/5 1/5
1 36/5 A2 0 1 0 1/5 3/5
0 14/5 A3 0 0 1 −1/5 2/5
f (xB ) = 24 ∆i = cB ·Ai − ci 0 0 0 1 1

Tabelul 9.1.4
68 CAPITOLUL 9. APLICAŢII

b) Ultima linie:
f (xB ) = cB ·xB = 24; ∆1 = 0, ∆2 = 0, ∆3 = 0, ∆4 = 1, ∆5 = 1.
3) Testarea:
Toţi ∆i ≥ 0, < ST OP >. Soluţia optimă este
 
∗ 42 36 14
x = , , , 0, 0 , max f (x) = f (x∗ ) = 24
5 5 5
Variabilele de abatere au valorile
14
x3 = , x 4 = x5 = 0
5

Problema 9.2 (5.2)

Rezolvăm cu metoda simplex problema 5.2.


 

 max{ f (x) = 5x1 + 6x2 } 
 max{ f (x) = 5x1 + 6x2 }

 

 3x1 + 2x2 ≤ 120  3x1 + 2x2 + x3 = 120
(P ) Forma standard:

 4x + 6x ≤ 260 
 4x1 + 6x2 + x4 = 260


1 2 

 
x1 ≥ 0, x2 ≥ 0 xi ≥ 0, j = 1, 5
A1 A2 A3 A4
 
3 2 1 0
A= .
4 6 0 1

Tabelul I
1) Parametri bazici:
B = { A3 , A4 }, x1 = x2 = 0,
xB = (0, 0, 120, 260)
xB = (120, 260)
c = (5, 6, 0, 0)
cB = (0, 0)
2) Completarea tabelului de start
a) Elementele matricei

c1 = 5 c2 = 6 c3 = 0 c4 = 0
cB xB B A1 A2 A3 A4
0 120 A3 3 2 1 0
0 260 A4 4 {6} 0 1
f (xB ) = 0 ∆i = cB ·Ai − ci −5 −6 0 0
69

Tabelul 9.2.1
b) Ultima linia

f (xB ) = 0; ∆1 = −5, ∆2 = −6, ∆3 = ∆4 = 0

3) Testarea
a) ∃ ∆i < 0. Coloana Ar care intră ı̂n bază
(
min{∆i / ∆i < 0, i = 1, 4} = −6 = ∆2
r = 2, Coloana A2 intră ı̂n bază.

b) ∃ A2 > 0 Coloana Al care iese din bază şi pivotul


    
 xB 260 260 x4

 min A2 , A2 > 0 = min 60, 6
 =
6
=
a42

 l = 4 coloana A4 iese din bază.


pivotul a42 = 6

Tabelul II
1) Parametri bazici:

B = { A3 , A2 }, x1 = x4 = 0
 
130 100
xB = 0, , ,0
3 3
 
100 130
xB = ,
3 3
c = (5, 6, 0, 0)
cB = (c3 , c2 ) = (0, 6).

2) Completarea tabelului
a) Elementele matricei, cu excepţia liniei şi coloanei pivotului a42 = 6

3 2 5 2 1 2 0 1

a031 = :6= , a033 = − : 6 = 1, a034 = − :6=−
4 6 3 6 0 6 1 3

−Exceptând pivotul, completăm restul coloanei pivotului cu 0.


−Împărţim linia pivotului cu valoarea pivotului, a42 = 6.
70 CAPITOLUL 9. APLICAŢII

c1 = 5 c2 = 6 c3 = 0 c4 = 0
cB xB B A1 A2 A3 A4
0 100/3 A3 {5/3} 0 1 −1/3
6 130/3 A2 2/3 1 0 1/6
f (xB ) = 260 ∆i = cB ·Ai − ci −1 0 0 1

Tabelul 9.2.2
b) Ultima linie

f (xB ) = cB ·xB = 260; ∆1 = −1, ∆2 = 0, ∆3 = 0, ∆4 = 1

3) Testarea
a) ∃ ∆1 < 0. Coloana Ar care intră ı̂n bază
(
min{∆i / ∆i < 0, i = 1, 4} = −1 = ∆1
r = 1, coloana A1 intră ı̂n bază

b) ∃ Al > 0. Coloana Al care iese din bază


  

 x B x3

 min , / A1 > 0 = min { 60, 65 } = 60 =

 A1 a31
l = 3 coloana A3 iese din bază.



 5

 pivotul a31 =
3

Tabelul III
1) Parametri bazici
B = { A1 , A2 }, x 3 = x4 = 0
xB = ( 20, 30, 0, 0 )
xB = ( 20, 30 )
c = (5, 6, 0, 0)
cB = ( 5, 6 ).

2) Completarea tabelului
5
a) Elementele matricei cu excepţia liniei şi coloanei pivotului a31 = .
3

5 5 5 1
0 1 − 5
3 5 3 5 2 3 3 7
0
a22 = 0
: = 1, a23 = : = − , a24 = 0
: =
2 3 2 1 3
2 1 3 0
5

30
3 3 6
3
71

−Exceptând pivotul, completăm restul coloanei pivotului cu 0.


5
−Împărţim linia pivotului cu valoarea pivotului, a31 = .
3
c1 = 5 c2 = 6 c3 = 0 c4 = 0
cB xB B A1 A2 A3 A4
5 20 A1 1 0 3/5 −1/5
6 30 A2 0 1 −2/5 7/30
f (xB ) = 280 ∆i = cB ·Ai − ci 0 0 3/5 2/5

Tabelul 9.2.3
3 2
f (xB ) = cB ·xB = 280; ∆1 = 0, ∆2 = 0, ∆3 = , ∆4 =
5 5
3) Testarea: Toţi ∆i ≥ 0, < ST OP > . Soluţia optimă este

x∗ = (20, 30, 0, 0) max f (x) = f (x∗ ) = 280

Soluţia coincide cu cea dedusă anterior

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