Sunteți pe pagina 1din 26

UNIVERSITATEA ROMÂNO-AMERICANĂ din BUCUREȘTI

Facultatea de INFORMATICĂ MANAGERIALĂ


Domeniul de licență: CIBERNETICĂ, STATISTICĂ ȘI INFORMATICĂ ECONOMICĂ
Specializarea: INFORMATICĂ ECONOMICĂ

Disciplina - CERCETĂRI OPERAŢIONALE


Anul III - semestrul 1 / 2018-2019

TEMATICĂ – cursuri

I. PROGRAMARE LINIARĂ
1.1. Forme de prezentare ale unei probleme de programare liniară
1.2. Trecerea de la o formă de prezentare la alta
1.3. Soluţiile unei probleme de programare liniară
1.4. Rezolvarea unei probleme de programare liniară
1.5. Dualitate în programarea liniară

II. PROBLEME DE OPTIMIZARE ÎN REŢELE DE TRANSPORT


2.1. Modelarea problemelor de transport
2.2. Adaptarea metodei simplex la rezolvarea problemei de transport
2.3. Variante ale problemei de transport

III. ELEMENTE DE TEORIA GRAFURILOR


3.1. Concepte de bază
3.2. Matrici asociate unui graf
3.3. Găsirea drumurilor într-un graf orientat
3.4. Determinarea drumurilor hamiltoniene
3.5. Drumuri de valoare optimă într-un graf

IV. TEST PENTRU EVALUAREA CUNOŞTINŢELOR.


ANALIZA REZULTATELOR

1
TEMATICĂ - seminarii

1. Probleme economice care conduc la modele de optimizare liniară


- folosirea eficientă a resurselor limitate
- alocarea optimă de fonduri băneşti
- probleme de nutriţie

2. Rezolvarea unei probleme de programare liniară


- metoda grafică
- algoritmul simplex

3. Dualitate în programarea liniară.


4. Interpretarea economică a dualităţii

5. Rezolvarea problemei de transport


6. Variante ale problemei de transport

7. Determinarea drumurilor într-un graf orientat; drumuri hamiltoniene


- algoritmul lui Chen
- algoritmul lui Kaufmann

8. Drumuri de valoare optimă într-un graf


- algoritmul Bellman-Kalaba

2
I. PROGRAMARE LINIARĂ

1.1. Forme de prezentare ale unei probleme de programare liniară

FORMA GENERALĂ

Se spune că o problemă de programare liniară (P.P.L.) este prezentată sub forma generală
dacă este scrisă astfel:
[𝑜𝑝𝑡]𝑓 = 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ + 𝑐𝑛 𝑥𝑛
𝑎𝑖1 𝑥1 + 𝑎𝑖2 𝑥2 + ⋯ + 𝑎𝑖𝑛 𝑥𝑛 ≤ 𝑏𝑖 , 1≤𝑖≤𝑘
𝑎𝑖1 𝑥1 + 𝑎𝑖2 𝑥2 + ⋯ + 𝑎𝑖𝑛 𝑥𝑛 = 𝑏𝑖 , 𝑘 + 1 ≤ 𝑖 ≤ 𝑙
𝑎𝑖1 𝑥1 + 𝑎𝑖2 𝑥2 + ⋯ + 𝑎𝑖𝑛 𝑥𝑛 ≥ 𝑏𝑖 , 𝑙 + 1 ≤ 𝑖 ≤ 𝑚
𝑥𝑗 ≥ 0 , 1≤𝑗≤𝑝
𝑥𝑗 ≤ 0 , 𝑝+1≤𝑗 ≤𝑞
𝑥𝑗 ∈ ℝ , 𝑞+1≤𝑗 ≤𝑛

Deci o P.P.L. este dată sub forma generală dacă, indiferent de scopul optimizării (min sau
max), aceasta are restricţii de toate felurile şi variabile de toate semnele.

Observaţie. Când se spune că 𝑥∈ℝ (x are semn oarecare) înseamnă că oricare din
rezultatele 𝑥 > 0 sau 𝑥 < 0 sau 𝑥 = 0 poate fi acceptat.

FORMA STANDARD

O problemă de programare liniară este prezentată sub forma standard dacă este scrisă astfel:

[𝑜𝑝𝑡]𝑓 = ∑ 𝑐𝑗 𝑥𝑗
𝑗=1
𝑛

∑ 𝑎𝑖𝑗 𝑥𝑗 = 𝑏𝑖 , 1≤𝑖≤𝑚
𝑗=1
𝑥𝑗 ≥ 0 , 1≤𝑗≤𝑛

sau matricial:
[𝑜𝑝𝑡]𝑓 = 𝑐𝑥
𝐴𝑥 = 𝑏
𝑥≥0

3
unde: 𝐴 = (𝑎𝑖𝑗 )1≤𝑖≤𝑚 ∈ ℳ𝑚×𝑛 (ℝ), 𝑐 = (𝑐1 , 𝑐2 , … , 𝑐𝑛 ) ∈ ℝ𝑛 ,
1≤𝑗≤𝑛

𝑥1 𝑏1
𝑥 𝑏2
𝑥 = ( ⋮ ) ∈ ℝ𝑛 , 𝑏 = ( ) ∈ ℝ𝑚

𝑥𝑛 𝑏𝑚

Deci o P.P.L. este dată sub forma standard dacă aceasta are toate restricţiile egalităţi şi toate
variabilele nenegative.

FORME CANONICE

Forma canonică de max. [𝑚𝑎𝑥]𝑓 = ∑𝑛𝑗=1 𝑐𝑗 𝑥𝑗


𝑛

∑ 𝑎𝑖𝑗 𝑥𝑗 ≤ 𝑏𝑖 , 1≤𝑖≤𝑚
𝑗=1
𝑥𝑗 ≥ 0 , 1≤𝑗≤𝑛

sau matricial:
[𝑚𝑎𝑥]𝑓 = 𝑐𝑥
𝐴𝑥 ≤ 𝑏
𝑥≥0

Forma canonică de min. [𝑚𝑖𝑛]𝑓 = ∑𝑛𝑗=1 𝑐𝑗 𝑥𝑗


𝑛

∑ 𝑎𝑖𝑗 𝑥𝑗 ≥ 𝑏𝑖 , 1≤𝑖≤𝑚
𝑗=1
𝑥𝑗 ≥ 0 , 1≤𝑗≤𝑛

sau matricial:
[𝑚𝑖𝑛]𝑓 = 𝑐𝑥
𝐴𝑥 ≥ 𝑏
𝑥≥0

4
1.2. Trecerea de la o formă de prezentare la alta

Trecerea de la forma generală la forma standard

Procedura de trecere comportă două etape:

Etapa I Pozitivitatea variabilelor problemei - se obţine printr-o schimbare de variabilă


sau transformare liniară, astfel:

𝑦𝑗 , 𝑦𝑗 ≥ 0 , 𝑑𝑎𝑐ă 𝑥𝑗 ≥ 0
𝑥𝑗 = { −𝑦𝑗 , 𝑦𝑗 ≥ 0 , 𝑑𝑎𝑐ă 𝑥𝑗 ≤ 0 , 𝑗 ∈ ̅̅̅̅̅
1, 𝑛
𝑦𝑗 − 𝑦𝑗+1 , 𝑦𝑗 ≥ 0, 𝑦𝑗+1 ≥ 0 , 𝑑𝑎𝑐ă 𝑥𝑗 ∈ ℝ

Observaţie. Orice număr real se poate scrie ca diferenţa a două numere reale pozitive.

Etapa a-II-a Transformarea inegalităţilor în egalităţi - se face prin introducerea unor


variabile de compensare (egalizare, ecart) nenegative, prin adunarea la membrul cel mic al
fiecărei inegalităţi:

➢ dacă ∑𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 ≤ 𝑏𝑖 , atunci ∑𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 + 𝑦𝑖 = 𝑏𝑖 , 𝑦𝑖 ≥ 0

➢ dacă ∑𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 ≥ 𝑏𝑖 , atunci ∑𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 = 𝑏𝑖 + 𝑦𝑖 , 𝑦𝑖 ≥ 0 sau

echivalent ∑𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 − 𝑦𝑖 = 𝑏𝑖 , 𝑦𝑖 ≥ 0

Obsevaţie. Nu există nici o legătură între variabilele de la transformarea de semn şi cele de


compensare. Pot fi aceleaşi litere sau nu, dar cu alţi indici. Variabilele de compensare intră în
funcţia obiectiv cu coeficienţii zero.

Trecerea de la forma canonică la forma standard

Deoarece în ambele forme de prezentare (canonică, standard) variabilele sunt nenegative,


trecerea de la forma canonică la forma standard înseamnă transformarea inecuaţiilor în ecuaţii
prin introducerea variabilelor de compensare.

5
Trecerea de la forma generală la forma canonică

Procedura de trecere comportă 2 etape:

Etapa I Pozitivitatea variabilelor problemei

Etapa a-II-a Transformarea tuturor restricţiilor în inegalităţi de acelaşi sens, operaţiune care
are la bază următoarele echivalenţe:

𝑎≤𝑏 ⟺ (−𝑎) ≥ (−𝑏)

𝑎≤𝑏
𝑎=𝑏 ⟺ { şi înmulţirea uneia dintre ele cu (-1).
𝑎≥𝑏

1.3. Soluţiile unei probleme de programare liniară

Soluţii posibile

Fără a diminua generalitatea problemei, vom presupune că aceasta este prezentată sub
forma standard:

[𝑜𝑝𝑡]𝑓 = 𝑐𝑥

𝐴𝑥 = 𝑏 (*)

𝑥≥0

unde: 𝐴 = (𝑎𝑖𝑗 )1≤𝑖≤𝑚 ∈ ℳ𝑚×𝑛 (ℝ), 𝑐 = (𝑐1 , 𝑐2 , … , 𝑐𝑛 ) ∈ ℝ𝑛 ,


1≤𝑗≤𝑛

𝑥1 𝑏1
𝑥 𝑏2
𝑥 = ( ⋮ ) ∈ ℝ𝑛 , 𝑏 = ( ) ∈ ℝ𝑚 .

𝑥𝑛 𝑏𝑚

Definiţia 1. Se numeşte soluţie posibilă (admisibilă, realizabilă) a P.P.L. (*), orice


vector 𝑥 ∈ ℝ𝑛 care satisface simultan restricţiile problemei precum şi condiţiile de semn.

Mulţimea soluţiilor posibile se va nota cu:

𝒳𝑃 = {𝑥 ∈ ℝ𝑛 ⁄𝐴𝑥 = 𝑏 ş𝑖 𝑥 ≥ 0}

6
Pentru o P.P.L. se poate ca mulţimea soluţiilor posibile să se afle într-una din situaţiile:

1. 𝒳𝑃 = Ø (este mulţimea vidă), caz în care se spune că restricţiile problemei sunt


contradictorii;

2. 𝒳𝑃 = {𝑥} se reduce la un singur punct, caz în care nu există posibilitatea alegerii


celei mai bune soluţii pentru că soluţia posibilă fiind unică ea este şi cea mai bună şi
cea mai rea;

3. 𝒳𝑃 are cel puţin 2 elemente, caz în care există posibilitatea alegerii celei mai bune
soluţii, printr-un procedeu sau algoritm specific.

Din punct de vedere practic, primele două cazuri sunt lipsite de interes.

Teorema 1. Mulţimea soluţiilor posibile 𝓧𝑷 este convexă, adică odată cu oricare două
puncte ale sale, segmentul care le uneşte aparţine, de asemenea, mulţimii:

(∀) 𝑥1 , 𝑥 2 ∈ 𝒳𝑃 , segmentul [𝑥1 , 𝑥 2 ] = {𝜆𝑥1 + (1 − 𝜆)𝑥 2 ∕ 𝜆 ∈ [0,1]} ⊂ 𝒳𝑃 .

Teorema 2. Dacă o P.P.L. (în variabile continue) admite mai mult de o soluţie posibilă,
atunci ea admite o infinitate de soluţii posibile.

Soluţii de bază

Fie 𝐴 = {𝑎1 , 𝑎2 , … , 𝑎𝑛 } ∈ ℳ𝑚×𝑛 (ℝ) matricea restricţiilor problemei, unde coloana 𝑎𝑗


conţine coeficienţii necunoscutei 𝑥𝑗 a sistemului de restricţii, 1 ≤ 𝑗 ≤ 𝑛.

Sistemul de restricţii, scris desfăşurat, poate fi pus sub forma:

𝑎1 𝑥1 + 𝑎2 𝑥2 + ⋯ + 𝑎𝑛 𝑥𝑛 = 𝑏 (**)
𝑎1𝑗
𝑎2𝑗
unde: 𝑎𝑗 = ( ⋮ ) ∈ ℝ𝑚 , 1 ≤ 𝑗 ≤ 𝑛.
𝑎𝑚𝑗

Deci, vectorul b poate fi exprimat ca o combinaţie liniară a vectorilor (𝑎𝑗 )𝑗∈1,𝑛


̅̅̅̅̅
din
acelaşi spaţiu liniar ℝ𝑚 .

7
Având în vedere compatibilitatea sistemelor de ecuaţii liniare, pentru programarea
liniară prezintă interes cazul în care sistemul de restricţii (**) este compatibil nedeterminat,
ceea ce are loc dacă:

𝑟𝑎𝑛𝑔 𝐴 = 𝑟𝑎𝑛𝑔 (𝐴, 𝑏) < 𝑛

Din acest motiv, să presupunem că:

𝑟𝑎𝑛𝑔 𝐴 = 𝑟𝑎𝑛𝑔 (𝐴, 𝑏) = 𝑚 < 𝑛.

Observaţie. Dacă 𝑟𝑎𝑛𝑔 𝐴 = 𝑟𝑎𝑛𝑔 (𝐴, 𝑏) = 𝑟 < 𝑚 < 𝑛, atunci se poate renunţa la (m-r)
restricţii, deoarece prezenţa sau absenţa lor nu influenţează asupra existenţei soluţiei
problemei.

Definiţia 2. O soluţie posibilă a P.P.L. (*) se numeşte soluţie de bază dacă îndeplineşte
următoarele condiţii:
1. are cel mult m componente strict pozitive, iar celelalte sunt nule.
2. coloanele matricei A corespunzătoare componentelor strict pozitive sunt vectori liniar
independenţi (din ℝ𝑚 ).

Definiţia 3. O soluţie de bază a P.P.L. (*) se numeşte:


➢ nedegenerată - dacă are exact m componente strict pozitive;
➢ degenerată – dacă are mai puţin de m componente strict pozitive.

Vom nota cu 𝒳𝐵 mulţimea soluţiilor de bază; 𝒳𝐵 ⊂ 𝒳𝑃 . Dacă 𝒳𝑃 ≠ ∅ , atunci 𝒳𝐵 ≠ ∅ .

Avem 𝒳𝐵 = 𝒳𝑃 dacă 𝒳𝑃 = ∅ sau 𝒳𝑃 se reduce la un punct.

Teorema 3. Dacă 𝑟𝑎𝑛𝑔 𝐴 = 𝑟𝑎𝑛𝑔 (𝐴, 𝑏) = 𝑚 < 𝑛, atunci numărul soluţiilor de bază ale
P.P.L. (*) satisface condiţiile:

0 ≤ 𝑐𝑎𝑟𝑑(𝒳𝐵 ) ≤ 𝐶𝑛𝑚

Teorema 4. Orice soluţie de bază a P.P.L. (*) este vârf al mulţimii soluţiilor posibile ale
problemei şi reciproc.

Deci 𝒳𝐵 ≡ 𝑚𝑢𝑙ţ𝑖𝑚𝑒𝑎 𝑣â𝑟𝑓𝑢𝑟𝑖𝑙𝑜𝑟 𝑙𝑢𝑖 𝒳𝑃

8
Observaţie.
Un punct 𝑣 ∈ 𝐶 se numeşte punct extrem sau vârf al mulţimii convexe 𝐶 ⊂ ℝ𝑛 dacă nu
există nici o pereche de puncte 𝑥1 , 𝑥 2 ∈ 𝐶 şi 𝜆 ∈ (0,1) astfel încât 𝑣 = 𝜆𝑥1 + (1 − 𝜆)𝑥 2 .
Geometric, este vârf al lui C orice punct care nu se poate afla pe nici un segment de dreaptă
în interiorul segmentului.

Soluţii optime

Definiţia 4. O soluţie posibilă 𝑥 0 ∈ 𝒳𝑃 a problemei P.P.L. (*) se numeşte soluţie optimă


dacă satisface şi cerinţa de optim:

𝑓(𝑥 0 ) = [opt] 𝑓(𝑥)


𝑥∈𝒳𝑃

Notăm cu: 𝒳𝑂 = {𝑥 0 ∈ 𝒳𝑃 ⁄𝑓(𝑥 0 ) = [opt] 𝑓(𝑥)} ⊆ 𝒳𝑃 mulţimea soluţiilor optime.


𝑥∈𝒳𝑃

Avem 𝒳𝑂 = 𝒳𝑃 dacă 𝒳𝑃 = ∅ sau 𝒳𝑃 se reduce la un punct.

Definiţia 5. Se spune că o P.P.L. admite:

➢ optim unic – dacă 𝒳𝑂 conţine un singur element;


➢ optim multiplu – dacă 𝒳𝑂 conţine cel puţin 2 elemente.

Teorema 5. Mulţimea soluţiilor optime 𝒳𝑂 a unei P.P.L. este mulţime convexă.

Prin urmare, dacă problema admite două soluţii optime distincte, atunci aceasta admite o
infinitate de soluţii optime.

Teorema 6. Soluţia optimă a P.P.L. (*) se află printre vârfurile mulţimii soluţiilor posibile
𝒳𝑃 ale problemei. 𝒳𝑂 ⊆ 𝒳𝐵 ⊆ 𝒳𝑃

Dacă P.P.L. are optim finit, atunci acesta se află într-un vârf al lui 𝓧𝑷 (tronson sau
poliedru convex).

9
Dacă P.P.L. are optim infinit, putem admite că acesta este atins în punctul de la infinit
(care aparţine lui 𝒳𝑃 numai când 𝒳𝑃 este nemărginită).

1.4. Rezolvarea problemei de programare liniară

METODA GRAFICĂ comportă următoarele etape:

1. se determină grafic mulţimea soluţiilor posibile 𝒳𝑃 ;

2. se determină mulţimea soluţiilor de bază 𝒳𝐵 , adică mulţimea vârfurilor lui 𝒳𝑃 ;

3. se determină mulţimea soluţiilor optime 𝒳𝑂 , calculând valoarea funcţiei obiectiv în


fiecare vârf al lui 𝒳𝑃 şi alegând, după caz, valoarea cea mai mică sau cea mai mare.

Observaţii.
1. Metoda grafică este limitată ca aplicare la probleme cu două şi, uneori, cu trei
variabile.

2. Este însă utilă pentru a putea ilustra grafic mulţimile 𝒳𝑃 , 𝒳𝐵 şi 𝒳𝑂 , având astfel o
bază de discuţii pentru problemele cu mai multe variabile.

METODA ALGEBRICĂ comportă următoarele etape:

1. se determină toate soluţiile de bază ale sistemului de restricţii;

2. se determină soluţia optimă, calculând valoarea funcţiei obiectiv pentru fiecare soluţie
de bază şi alegând, după caz, valoarea cea mai mică sau cea mai mare.

Prin urmare, atât metoda grafică, cât şi metoda algebrică, presupun parcurgerea a două etape:

➢ Etapa I - etapa de enumerare a soluţiilor de bază

➢ Etapa a-II-a - etapa de evaluare a soluţiilor de bază.

De fapt, aceasta este metoda de enumerare şi evaluare a soluţiilor, întâlnită şi în alte clase
de probleme de optimizare.

10
METODA SIMPLEX

Scopul metodei simplex este de a alege soluţia optimă pornind de la un vârf oarecare al lui
𝒳𝑃 , adică de la o soluţie de bază, şi trecând apoi la un alt vârf care să fie o soluţie mai bună
decât precedenta (în sensul optimului).

Algoritmul simplex va lua sfârşit în două situaţii şi anume:

➢ s-a ajuns la cea mai bună soluţie, constatându-se dacă problema are optim unic sau
multiplu;

➢ nu se poate ajunge la cea mai bună soluţie (pentru că nu există) şi se ia decizia că


problema nu are optim finit (problema are “optim infinit”).

Întrebările la care trebuie să răspundă orice metodă de rezolvare a unei probleme de


optimizare, în particular şi metoda simplex, sunt următoarele:

Cum pornim?
Cum trecem de la o soluţie la alta?
Cum ne oprim?

Presupunem că problema de programare liniară (P.P.L.) este prezentată (adusă)


la forma standard:
[𝑚𝑎𝑥]𝑓 = 𝑐𝑥
𝐴𝑥 = 𝑏
𝑥≥0

unde: 𝐴 ∈ ℳ𝑚×𝑛 (ℝ), 𝑥 ∈ ℝ𝑛 , 𝑐 ∈ ℝ𝑛 , 𝑏 ∈ ℝ𝑚 .

Observaţie. Deoarece [𝒎𝒂𝒙]𝒇 = −[𝒎𝒊𝒏](−𝒇), este neesenţială alegerea unei probleme


care cere maximizarea funcţiei obiectiv.

Presupunem 𝒎 < 𝑛; rezultă că 𝒳𝑃 are cel puţin 2 elemente. Cum 𝒳𝑃 este mulţime convexă,
rezută că 𝒳𝑃 are o infinitate de elemente, situaţie în care P.P.L. prezintă interes din punct de
vedere practic.
Notăm matricea sistemului de restricţii 𝐴 = {𝑎1 , 𝑎2 , … , 𝑎𝑛 }, unde 𝑎𝑗 este coloana
coeficienţilor necunoscutei 𝑥𝑗 , 𝑎𝑗 ∈ ℝ𝑚 , 𝑗 ∈ ̅̅̅̅̅
1, 𝑛.

11
Presupunem 𝒓𝒂𝒏𝒈 𝑨 = 𝒎; rezultă că în A există un minor de ordin m nenul (care dă
rangul), adică o submatrice 𝑚 × 𝑚 a lui A cu determinatul nenul. Cum 𝐴 ∈ ℳ𝑚×𝑛 (ℝ),
rezultă că în A există m coloane liniar independente (ca vectori din spaţiul liniar (ℝ𝑚 , ℝ)).
Deoarece 𝑑𝑖𝑚(ℝ𝑚 , ℝ) = 𝑚, rezultă că cele m coloane liniar independente formează o bază
a spaţiului liniar (ℝ𝑚 , ℝ).

Presupunem că această bază este formată din primele m coloane din A, 𝑩 = {𝒂𝟏 , 𝒂𝟐 , … , 𝒂𝒎 }
situaţie posibilă totdeauna printr-o renumerotare adecvată a coloanelor lui A.

Din algebra liniară, ştim că:


1. Într-un spaţiu liniar finit dimensional, un sistem finit de vectori este liniar
independent ⟺ rangul matricei ataşată sistemului de vectori este egal cu numărul
vectorilor din sistem.
2. Într-un spaţiu liniar de dimensiune m, un sistem format din m vectori liniar
independenţi constituie o bază.
3. Întru-un spaţiu liniar finit dimensional orice vector se scrie într-un mod unic ca o
combinaţie liniară de vectorii unei baze. Scalarii unici ai acestei combinaţii se
numesc coordonatele vectorului în baza respectivă.

În baza 𝑩 = {𝒂𝟏 , 𝒂𝟐 , … , 𝒂𝒎 } ⊂ ℝ𝒎 orice coloană a matricei A, ca vector din spaţiul liniar


(ℝ𝑚 , ℝ), poate fi reprezentată în mod unic sub forma:

𝑎𝑗 = 𝑧1𝑗 𝑎1 + 𝑧2𝑗 𝑎2 + ⋯ + 𝑧𝑚𝑗 𝑎𝑚 , 𝑗 ∈ ̅̅̅̅̅


1, 𝑛

unde: 𝑧1𝑗 , 𝑧2𝑗 , … , 𝑧𝑚𝑗 ∈ ℝ sunt coordonatele vectorului (coloanei) 𝑎𝑗 în baza B .

𝑧1𝑗
𝑧
Notăm aceste coordonate cu 𝑎𝑗𝐵 = ( 2𝑗 ) şi le calculăm cu ajutorul relaţiei:

𝑧𝑚𝑗

𝑎𝑗𝐵 = 𝐵 −1 ∙ 𝑎𝑗 , 𝑗 ∈ ̅̅̅̅̅
1, 𝑛.

12
Observaţie. În practică se urmăreşte ca baza iniţială să fie formată din vectorii unitari, adică
să fie baza canonică 𝐵 = {𝑒1 , 𝑒2 , … , 𝑒𝑚 } ⊂ ℝ𝑚 .

Fie 𝑥 𝑉 ∈ ℝ𝑛 soluţia de bază a P.P.L. corespunzătoare bazei B:

𝑉
𝑥𝑗𝑉𝐵 > 0, 1 ≤ 𝑗 ≤ 𝑚 (𝑐𝑜𝑚𝑝𝑜𝑛𝑒𝑛𝑡𝑒 𝑏𝑎𝑧𝑖𝑐𝑒)
𝑥 ={
𝑥𝑗𝑉𝑆 = 0, 𝑚 + 1 ≤ 𝑗 ≤ 𝑛 (𝑐𝑜𝑚𝑝𝑜𝑛𝑒𝑛𝑡𝑒 𝑛𝑒𝑏𝑎𝑧𝑖𝑐𝑒)

𝑉𝐵
Deci 𝑥 𝑉 = (𝑥 𝑉𝑆 ) ∈ ℝ𝑛 , unde: 𝑥 𝑉𝐵 = 𝐵 −1 ∙ 𝑏 ∈ ℝ𝑚 .
𝑥

În practică se lucrează doar cu componentele 𝑥 𝑉𝐵 > 0.

Valoarea funcţiei obiectiv în soluţia de bază 𝑥 𝑉 este:

𝑓(𝑥 𝑉 ) = 𝑐 ∙ 𝑥 𝑉 = (𝑐 𝐵 𝑥 𝑉𝐵 ) = 𝑐 𝐵 ∙ 𝑥 𝑉𝐵 + 𝑐 𝑆 ∙ 𝑥 𝑉𝑆 = 𝑐 𝐵 ∙ 𝑥 𝑉𝐵 .
𝑐 𝑆) ∙ (
𝑥 𝑉𝑆

Prin urmare, de interes în continuare vor fi: 𝒄𝑩 , 𝑩 şi 𝒙𝑽𝑩 .

𝑐𝑗 , 1 ≤ 𝑗 ≤ 𝑚
Notăm: 𝑓𝑗 = 𝑐 𝐵 ∙ 𝑎𝑗𝐵 = 𝑐 𝐵 ∙ 𝐵 −1 ∙ 𝑎𝑗 = { 𝐵 −1
𝑐 ∙ 𝐵 ∙ 𝑎𝑗 , 𝑚 + 1 ≤ 𝑗 ≤ 𝑛

0, 1 ≤ 𝑗 ≤ 𝑚
şi cu Δ𝑗 = 𝑐𝑗 − 𝑓𝑗 = {𝑐 − 𝑓 , 𝑚 + 1 ≤ 𝑗 ≤ 𝑛.
𝑗 𝑗

Prin urmare, diferenţele corespunzătoare coloanelor vectorilor bazei curente sunt nule.

13
Macheta de început a tabloului simplex (tabel informaţional care uşurează derularea
calculelor) este:

𝒄𝟏 … 𝒄𝒊 … 𝒄𝒎 𝒄𝒎+𝟏 … 𝒄𝒋 … 𝒄𝒏
𝒄𝑩 𝑩 𝒙𝑽𝑩
𝒂𝟏 … 𝒂𝒊 … 𝒂𝒎 𝒂𝒎+𝟏 … 𝒂𝒋 … 𝒂𝒏

𝒄𝟏 𝒂𝟏 𝒙𝑽𝑩
𝟏 1 … 0 … 0

⋮ ⋮ ⋮ ⋮ … ⋮ … ⋮
𝑎𝑗𝐵 = 𝐵 −1 𝑎𝑗
𝒄𝒊 𝒂𝒊 𝒙𝑽𝑩
𝒊 0 … 1 … 0

⋮ ⋮ ⋮ ⋮ … ⋮ … ⋮

𝒄𝒎 𝒂𝒎 𝒙𝑽𝑩
𝒎 0 … 0 … 1

𝚫𝒋 𝒄𝑩 𝒙𝑽𝑩 0 … 0 … 0 Δ𝑚+1 … Δ𝑗 … Δ𝑛

CRITERIUL DE OPTIM

Dacă toate diferenţele Δ𝑗 ≤ 0, 1 ≤ 𝑗 ≤ 𝑛 , atunci problema de programare liniară admite


optim finit şi 𝑥 𝑉 e soluţie optimă.

Pentru ca acest criteriu de optim să poată fi folosit indiferent de scopul optimizării (max sau
min), diferenţele se calculează:

𝑐𝑗 − 𝑓𝑗 , 1 ≤ 𝑗 ≤ 𝑛, pentru 𝑚𝑎𝑥
Δ𝑗 = {
𝑓𝑗 − 𝑐𝑗 , 1 ≤ 𝑗 ≤ 𝑛, pentru 𝑚𝑖𝑛

14
ÎMBUNĂTĂŢIREA SOLUŢIEI

CRITERIUL DE INTRODUCERE ÎN BAZĂ

Dacă există un indice nebazic 𝑗0 , 𝑚 + 1 ≤ 𝑗0 ≤ 𝑛 pentru care Δ𝑗0 > 0 , atunci se poate găsi
o nouă soluţie de bază cel puţin la fel de bună ca şi vechea soluţie de bază (în sensul
optimului).

Dacă există mai multe diferenţe Δ𝑗 > 0, atunci se poate alege oricare vector 𝑎𝑗 corespunzător,
fără a influenţa soluţia finală.

De regulă, se alege 𝒂𝒋𝟎 pentru care:

Δ𝑗0 = max {Δ𝑗 ⁄Δ𝑗 > 0}


1≤𝑗≤𝑛

CRITERIUL ELIMINĂRII DIN BAZĂ

Dacă există un indice nebazic 𝑗0 , 𝑚 + 1 ≤ 𝑗0 ≤ 𝑛 pentru care Δ𝑗0 > 0, atunci se poate
obţine o nouă bază şi, deci, o nouă soluţie de bază, eliminând din vechea bază B vectorul
𝑎𝑖0 , 1 ≤ 𝑖0 ≤ 𝑚 pentru care:

𝑥𝑖𝑉𝐵
0
𝑥𝑖𝑉𝐵
= min { ⁄𝑧 > 0}
𝑧𝑖0 𝑗0 1≤𝑖≤𝑚 𝑧𝑖𝑗0 𝑖𝑗0

𝑧1𝑗0
𝑧2𝑗0
unde: ( ⋮ ) = 𝑎𝑗𝐵0 sunt coordonatele (în baza B) vectorului 𝑎𝑗0 determinat la criteriul de
𝑧𝑚𝑗0
intrare în bază.

Deci vectorul 𝒂𝒊𝟎 părăseşte baza, iar în locul lui va intra vectorul 𝒂𝒋𝟎 . Cu alte cuvinte, nu
stricăm baza în totalitate.

15
Observaţie. Efectuând rapoartele de la criteriul eliminării din bază, se poate întâmpla ca:

1. Să existe două sau mai multe rapoarte minime egale, caz în care poate părăsi baza
B oricare dintre vectorii care conduc la acest rezultat fără să fie afectată soluţia
optimă.

2. Să nu existe nici un 𝒛𝒊𝒋𝟎 > 0 (adică 𝑧𝑖𝑗0 ≤ 0, 1 ≤ 𝑖 ≤ 𝑚 ), caz în care algoritmul ia


sfârşit cu decizia de “optim infinit”

CRITERIUL DE OPTIM MULTIPLU

Dacă 𝚫𝒋 ≤ 𝟎, 𝟏 ≤ 𝒋 ≤ 𝒏 şi există măcar un indice 𝒋𝟎 , 𝒎 + 𝟏 ≤ 𝒋𝟎 ≤ 𝒏 pentru care


𝚫𝒋𝟎 = 𝟎, atunci problema poate admite optim multiplu:
➢ admite optim multiplu - dacă măcar un element al coloanei 𝑎𝑗0 este strict pozitiv,
necesar determinării vectorului care părăseşte baza;
➢ nu admite optim multiplu – dacă 𝑧𝑖𝑗0 ≤ 0, 1 ≤ 𝑖 ≤ 𝑚 .

16
1.5. Dualitate în programarea liniară

Definiţia 1. Fiind dată problema de programare liniară:

[𝑚𝑎𝑥]𝑓 = 𝑐𝑥

𝐴𝑥 ≤ 𝑏
(P) (1)
𝑥≥0

se numeşte duală a acesteia, problema:

[𝑚𝑖𝑛]𝑔 = 𝑦𝑏

𝑦𝐴 ≥ 𝑐
(D) (2)
𝑦≥0

Problema (1) se numeşte primala, iar problema (2) se numeşte duala şi reciproc. Perechea de
probleme (1) – (2) se numeşte cuplu dual sau cuplu de probleme duale.

Teoremă.
Duala dualei unei probleme de programare liniară este chiar problema de optimizare dată.
Altfel spus, duala dualei coincide cu primala.

Definiţia 2. Se spune că o problemă de programare liniară are restricţiile concordante cu


funcţia obiectiv, dacă aceasta are forma de prezentare:

[𝑚𝑎𝑥]𝑓 = 𝑐𝑥 [𝑚𝑖𝑛]𝑓 = 𝑐𝑥
sau
𝐴𝑥 ≤ 𝑏 𝐴𝑥 ≥ 𝑏

indiferent ce semne au variabilele problemei.

Observaţie.
Cel mai frecvent definiţia dualităţii sau a cuplului de probleme duale este dată prin
intermediul cuplului (P) – (D) din definiţia 1. În acest caz se introduce aşa numitul concept de
dualitate simetrică. Pornind de la dualitatea simetrică se poate deduce apoi orice cuplu de
probleme duale, cupluri de dualitate nesimetrică.

17
Între problemele unui cuplu primal-dual există anumite legături precise a căror cunoaştere
înseamnă posibilitatea scrierii dualei oricărei probleme de programare liniară:
➢ dacă problema primală cere maximizarea funcţiei obiectiv, atunci în problema duală
se va cere minimizarea funcţiei obiectiv şi reciproc;
➢ numărul de restricţii ale primalei indică numărul de variabile ale problemei duale şi
reciproc;
➢ numărul de variabile ale primalei indică numărul de restricţii ale dualei şi reciproc;
➢ termenii liberi din primală devin coeficienţi ai funcţiei obiectiv din duală şi reciproc;
➢ coeficienţii funcţiei obiectiv din primală devin termeni liberi în duală şi reciproc;
➢ dacă primala are matricea A a coeficienţilor necunoscutelor sistemului de restricţii,
atunci duala va avea ca matrice 𝐴𝑡 ;
➢ dacă primala are restricţii:
inegalităţi concordante,
inegalităţi neconcordante,
egalităţi,

acestora le corespund în duală, respectiv:


variabile ≥ 0,
variabile ≤ 0,
variabile de semne oarecare (∈ ℝ).
➢ dacă primala are:
variabile ≥ 0,
variabile ≤ 0,
variabile de semne oarecare (∈ ℝ),

acestora le corespund în duală, respectiv:


inegalităţi concordante,
inegalităţi neconcordante,
egalităţi.

18
Teorema fundamentală a dualităţii

Pentru orice cuplu de probleme duale este adevărată întotdeauna una şi numai una din
afirmaţiile următoare:

1. dacă una din probleme are optim infinit, atunci cealaltă nu are soluţii posibile;
2. niciuna din probleme nu admite soluţii posibile;
3. dacă una din probleme are optim finit, atunci şi cealaltă are optim finit şi valorile
optime ale celor două funcţii obiectiv coincid.

Teorema ecarturilor complementare


Fie 𝑥 0 şi 𝑦 0 două soluţii posibile ale cuplului dual:
[𝑚𝑎𝑥]𝑓 = 𝑐𝑥 [𝑚𝑖𝑛]𝑔 = 𝑦𝑏
(P) 𝐴𝑥 ≤ 𝑏 (D) 𝑦𝐴 ≥ 𝑐
𝑥≥0 𝑦≥0
Condiţia necesară şi suficientă ca 𝑥 0 şi 𝑦 0 să fie soluţii optime este aceea ca ele să satisfacă
relaţiile:
𝑦 0 (𝑏 − 𝐴𝑥 0 ) = 0 şi (𝑦 0 𝐴 − 𝑐)𝑥 0 = 0

Pe componente, relaţiile anterioare devin:

𝑚 𝑛 𝑛 𝑚

∑ (𝑏𝑖 − ∑ 𝑎𝑖𝑗 𝑥𝑗0 ) 𝑦𝑖0 =0 şi ∑ (∑ 𝑎𝑗𝑖 𝑦𝑖0 − 𝑐𝑗 ) 𝑥𝑗0 = 0


𝑖=1 𝑗=1 𝑗=1 𝑖=1

Prin urmare:
➢ dacă soluţia optimă 𝑥 0 a primalei satisface cu inegalitate strictă restricţia i a
problemei, atunci 𝑦𝑖0 = 0, 𝑖 ∈ ̅̅̅̅̅̅
1, 𝑚;
➢ dacă soluţia optimă 𝑦 0 a dualei satisface cu inegalitate strictă restricţia j a problemei,
atunci 𝑥𝑗0 = 0, 𝑗 ∈ ̅̅̅̅̅
1, 𝑛;
➢ dacă o componentă 𝑦𝑖0 a soluţiei optime a dualei este strict pozitivă, atunci soluţia
optimă 𝑥 0 a primalei satisface cu egalitate restricţia i a problemei, 𝑖 ∈ ̅̅̅̅̅̅
1, 𝑚;
➢ dacă o componentă 𝑥𝑗0 a soluţiei optime a primalei este strict pozitivă, atunci soluţia
optimă 𝑦 0 a dualei satisface cu egalitate restricţia j a problemei, 𝑗 ∈ ̅̅̅̅̅
1, 𝑛.

19
Evident că fiecare dintre cele două probleme ale cuplului dual (P) – (D) poate fi soluţionată
direct cu algoritmul simplex.
Într-un astfel de context, se pun două întrebări:
1. poate fi dedusă soluţia uneia dintre probleme pe baza rezolvării celeilalte?
2. dacă răspunsul la prima întrebare este afirmativ, care dintre probleme poate fi
soluţionată mai rapid (mai eficient)?

Teoremă.

Dacă una din problemele duale (P) – (D) are soluţie optimă, atunci soluţia optimă a celeilate
este dată de diferenţele Δ𝑗 corespunzătoare variabilelor de compensare ale problemei
rezolvate, considerate în valoare absolută (|Δ𝑗 |).

În practică nu se dă un cuplu dual, ci doar o problemă de programare liniară care poate fi


rezolvată direct sau prin intermediul dualei sale. De regulă, se alege problema de maximizare
deoarece soluţionarea este mai rapidă.

20
II. PROBLEME DE OPTIMIZARE ÎN REŢELE DE TRANSPORT

2.1. Modelarea problemelor de transport

Într-o mare varietate de contexte se pune problema deplasării unei cantităţi Q dintr-un
produs omogen ce poate fi materie, energie, informaţie etc., din unele locuri numite surse
(depozite, furnizori) în alte locuri numite destinaţii (centre de consum), această deplasare
realizându-se pe anumite rute de legătură.

Presupunem că produsul omogen este disponibil în depozitele 𝐷1 , 𝐷2 , … , 𝐷𝑚 şi este


cerut în centrele de consum 𝐶1 , 𝐶2 , … , 𝐶𝑛 .

Se cunosc:
➢ disponibilul depozitelor (oferta);
➢ necesarul centrelor de consum (cererea);
➢ costurile unitare de transport de la fiecare deposit la fiecare centru de
consum.

Din punct de vedere economic, se pune problema satisfacerii cererii în centrele de


consum la un cost total de transport minim.

Notăm cu:
➢ 𝑎𝑖 – disponibilul depozitului 𝐷𝑖 , 𝑖 ∈ ̅̅̅̅̅̅
1, 𝑚;
➢ 𝑏𝑗 - necesarul centrului de consum 𝐶𝑗 , 𝑗 ∈ ̅̅̅̅̅
1, 𝑛;
➢ 𝑐𝑖𝑗 - costul unitar de transport pe ruta (𝐷𝑖 , 𝐶𝑗 ), 𝑖 ∈ ̅̅̅̅̅̅
1, 𝑚, 𝑗 ∈ ̅̅̅̅̅
1, 𝑛.

Notăm cu 𝑥𝑖𝑗 - cantitatea transportată de la depozitul 𝐷𝑖 la centrul de consum 𝐶𝑗 ,


𝑖 ∈ ̅̅̅̅̅̅
1, 𝑚, 𝑗 ∈ ̅̅̅̅̅
1, 𝑛.

21
Pentru a evita explicaţii şi scrieri numeroase, în prezentarea unei probleme de transport, se
recurge la sintetizarea tuturor informaţiilor legate de ofertă, cerere, costuri unitare, într-un
tabel.

DEPOZITE CENTRE DE CONSUM Disponibil


𝑪𝟏 𝑪𝟐 … 𝑪𝒋 … 𝑪𝒏
𝑫𝟏 𝑐11 𝑐12 … 𝑐1𝑗 … 𝑐1𝑛 𝒂𝟏
𝑫𝟐 𝑐21 𝑐22 … 𝑐2𝑗 … 𝑐2𝑛 𝒂𝟐
⋮ ⋮ ⋮ … ⋮ … ⋮ ⋮

𝑫𝒊 𝑐𝑖1 𝑐𝑖2 𝑐𝑖𝑗 𝑐𝑖𝑛 𝒂𝒊


⋮ ⋮ ⋮ … ⋮ … ⋮ ⋮

𝑫𝒎 𝑐𝑚1 𝑐𝑚2 … 𝑐𝑚𝑗 … 𝑐𝑚𝑛 𝒂𝒎


Necesar 𝒃𝟏 𝒃𝟐 … 𝒃𝒋 … 𝒃𝒏

Din punct de vedere matematic, se pune problema:

Să se stabilească ce cantităţi trebuie transportate de la fiecare depozit la fiecare


centru de consum astfel încât costul total al transportului să fie minim.

Modelul matematic al problemei clasice de transport este:


Să se determine 𝑥𝑖𝑗 , 𝑖 ∈ ̅̅̅̅̅̅
1, 𝑚, 𝑗 ∈ ̅̅̅̅̅
1, 𝑛 care satisfac:

𝑚 𝑛

[𝑚𝑖𝑛]𝑓 = ∑ ∑ 𝑐𝑖𝑗 𝑥𝑖𝑗


𝑖=1 𝑗=1
𝑛

∑ 𝑥𝑖𝑗 = 𝑎𝑖 , 𝑖 ∈ ̅̅̅̅̅̅
1, 𝑚
𝑗=1
𝑚

∑ 𝑥𝑖𝑗 = 𝑏𝑗 , 𝑗 ∈ ̅̅̅̅̅
1, 𝑛
𝑖=1
𝑥𝑖𝑗 > 0, 𝑖 ∈ ̅̅̅̅̅̅
1, 𝑚, 𝑗 ∈ ̅̅̅̅̅
1, 𝑛

22
Remarcăm faptul că problema de transport (P.T.) este o problemă de programare liniară în
forma standard, cu 𝑚 + 𝑛 restricţii şi 𝑚 × 𝑛 variabile.

Se demonstrează că:
𝑟𝑎𝑛𝑔𝐴 = 𝑚 + 𝑛 − 1

Prin urmare, orice soluţie de bază a P.T. are cel mult componente nenule. Distingem:

➢ soluţie de bază nedegenerată - are exact 𝑚 + 𝑛 − 1 componente nenule;


➢ soluţie de bază degenerată - are mai puţin de 𝑚 + 𝑛 − 1 componente nenule.

Conceptul de “soluţie de bază nedegenerată” este foarte important în soluţionarea


problemei de transport.

Se spune că o problemă de transport este:

➢ echilibrată - dacă oferta totală este egală cererea totală, adică:

𝑚 𝑛

∑ 𝑎𝑖 = ∑ 𝑏𝑗
𝑖=1 𝑗=1

➢ neechilibrată - dacă oferta totală este diferită de cererea totală, adică:

𝑚 𝑛

∑ 𝑎𝑖 ≠ ∑ 𝑏𝑗
𝑖=1 𝑗=1

Conceptul de echilibrare este fundamental pentru algoritmul de căutare a soluţiei optime.

23
2.2. Adaptarea metodei simplex la rezolvarea problemei de transport

Rezolvarea problemei de transport se face în ipoteza de echilibrare (P.T.E.), adică:

𝑚 𝑛

∑ 𝑎𝑖 = ∑ 𝑏𝑗
𝑖=1 𝑗=1

Fiind o problemă de programare liniară, P.T.E. se poate rezolva cu ajutorul metodei


simplex (volum mare de calcule).
Datorită proprietăţilor matricei A, (generate de forma acesteia, elementele sunt 0 şi 1),
algoritmul simplex are în acest caz o descriere specifică cunoscută în literatura de specialitate
sub denumirea de metoda potenţialelor.
Pasul 1. Se determină o soluţie iniţială de bază prin:
➢ metoda colţului de N-V (simplă, însă, neţinând cont de criteriul economic al
costurilor, conduce la soluţii cu cost ridicat);
➢ metoda minimului pe linie, metoda minimului pe coloană, metoda
minimului din tabel - acordă prioritate rutelor „mai ieftine”, prin urmare,
dau soluţii mai apropiate de soluţia optimă;
➢ metoda diferenţelor maxime (Vogel) – mai elaborată, însă, foarte eficientă
(uneori dă chiar soluţia optimă).

Pasul 2. Se testează soluţia de bază nedegenerată cu ajutorul unui criteriu de optim:


➢ dacă soluţia este optimă - STOP.
➢ dacă soluţia nu e optimă - se îmbunătăţeşte (pasul 3)

Pasul 3. Îmbunătăţirea soluţiei de bază:


3.1. se determină o variabilă dintre variabilele nebazice care urmează
să devină variabilă bazică (nenulă);
3.2. se determină o variabilă dintre variabilele bazei curente
care părăseşte baza.

Astfel, se obţine altă soluţie de bază care se testează (pasul 2).

24
Rezolvarea problemei de transport neechilibrate

În vederea soluţionării, problema de transport neechilibrată trebuie adusă la o


problemă de transport echilibrată. Distingem următoarele situaţii:

➢ dacă ∑𝑚 𝑛
𝑖=1 𝑎𝑖 > ∑𝑗=1 𝑏𝑗 (oferta depăşeşte cererea), atunci, pentru echilibrare, se

introduce un consumator fictiv, 𝐶𝑛+1 , al cărui necesar este 𝑏𝑛+1 = ∑𝑚 𝑛


𝑖=1 𝑎𝑖 − ∑𝑗=1 𝑏𝑗

şi ale cărui costuri unitare sunt nule, adică: 𝑐𝑖,𝑛+1 = 0, 𝑖 ∈ ̅̅̅̅̅̅


1, 𝑚;

➢ dacă ∑𝑚 𝑛
𝑖=1 𝑎𝑖 < ∑𝑗=1 𝑏𝑗 (cererea depăşeşte oferta), atunci, pentru echilibrare, se

introduce un depozit fictiv, 𝐷𝑚+1, al cărui disponibil este 𝑎𝑚+1 = ∑𝑛𝑗=1 𝑏𝑗 − ∑𝑚


𝑖=1 𝑎𝑖

şi ale cărui costuri unitare sunt nule, adică: 𝑐𝑚+1,𝑗 = 0, 𝑗 ∈ ̅̅̅̅̅


1, 𝑛;

Soluţionarea problemei astfel echilibrate se face cu metoda potenţialelor iar în final,


în soluţia optimă, se renunţă la elementele fictive (linia 𝐷𝑚+1 sau coloana 𝐶𝑛+1 ).

Observaţii.

1. Pentru consumatorul fictiv sau pentru depozitul fictiv costurile unitare sunt nule
pentru că produsul neexistând, nu se transportă şi, deci, nu produce cheltuieli.

2. În cazul problemelor neechilibrate, din punct de vedere economic, soluţia optimă nu


satisface (ca ofertă sau ca cerere) pe toţi partenerii.

25
BIBLIOGRAFIE

1. Anderson D., Sweeney J. D., Williams A. T., An Introduction to Management


Science, Quantitative Approaches to Decision Making, West Publishing Co., 1985;

2. Ciobanu, Gh., Țigănescu, E., Cercetări operaționale cu aplicații în economie:


optimizări liniare, Editura ASE, București, 2002, ISBN 973-594-079-5;

3. Kaufmann, A., Metode şi modele ale cercetării operaţionale, Vol. II, Editura Tehnică,
Bucureşti, 1967;

4. Nica, V., Ciobanu, Gh., Mustață, F., Mărăcine, V., Cercetări operaționale, Editura
MATRIX ROM, București, 1998, ISBN 973-9254-92-6;

5. Popescu, O. (coord.), Matematici aplicate în economie, Editura Didactică și


Pedagogică, R.A., București, 1997, ISBN 973-30-5445-3;

6. Purcaru, I., Matematici generale și elemente de optimizare. Teorie și aplicații, Editura


Economică, București, 1997, ISBN 973-590-002-5;

7. Stăncioiu I., Cercetări operaţionale pentru optimizarea deciziilor economice, Editura


Economică, București, 2004.

26

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