Descărcați ca pdf sau txt
Descărcați ca pdf sau txt
Sunteți pe pagina 1din 105

Matematici aplicate in economie

Cercetari operationale

lect. dr. Rodica Ioana LUNG


www.econ.ubbcluj.ro/˜rodica.lung/co

October 6, 2009

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 1 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Elemente de algebră liniară.


Sisteme de ecuaţii liniare

Multe din problemele economice, respectiv din aplicaţiile matematicii


ı̂n alte domenii se reprezintă prin intermediul unor sisteme de ecuaţii
liniare.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 2 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Elemente de algebră liniară.


Sisteme de ecuaţii liniare

Multe din problemele economice, respectiv din aplicaţiile matematicii


ı̂n alte domenii se reprezintă prin intermediul unor sisteme de ecuaţii
liniare.
O ecuaţie liniară este aceea care conţine una sau mai multe
necunoscute toate fiind la puterea I.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 2 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Elemente de algebră liniară.


Sisteme de ecuaţii liniare

Multe din problemele economice, respectiv din aplicaţiile matematicii


ı̂n alte domenii se reprezintă prin intermediul unor sisteme de ecuaţii
liniare.
O ecuaţie liniară este aceea care conţine una sau mai multe
necunoscute toate fiind la puterea I.
Forma generală a unui sistem de ecuaţii liniare este:


 a11 x1 + a12 x2 + ... + a1n xn = b1
a21 x1 + a22 x2 + ... + a2n xn = b2

,

 .................................................
am1 x1 + am2 x2 + ... + amn xn = bm

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 2 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Elemente de algebră liniară.


Sisteme de ecuaţii liniare

Multe din problemele economice, respectiv din aplicaţiile matematicii


ı̂n alte domenii se reprezintă prin intermediul unor sisteme de ecuaţii
liniare.
O ecuaţie liniară este aceea care conţine una sau mai multe
necunoscute toate fiind la puterea I.
Forma generală a unui sistem de ecuaţii liniare este:


 a11 x1 + a12 x2 + ... + a1n xn = b1
a21 x1 + a22 x2 + ... + a2n xn = b2

,

 .................................................
am1 x1 + am2 x2 + ... + amn xn = bm

unde ai j sunt coeficienţi reali, aij ∈ R, i = 1, m, j = 1, n; bi ∈ R,


i = 1, m sunt termeni liberi iar xj sunt necunoscutele, j = 1, n.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 2 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Elemente de algebră liniară.


Sisteme de ecuaţii liniare

Multe din problemele economice, respectiv din aplicaţiile matematicii


ı̂n alte domenii se reprezintă prin intermediul unor sisteme de ecuaţii
liniare.
O ecuaţie liniară este aceea care conţine una sau mai multe
necunoscute toate fiind la puterea I.
Forma generală a unui sistem de ecuaţii liniare este:


 a11 x1 + a12 x2 + ... + a1n xn = b1
a21 x1 + a22 x2 + ... + a2n xn = b2

,

 .................................................
am1 x1 + am2 x2 + ... + amn xn = bm

unde ai j sunt coeficienţi reali, aij ∈ R, i = 1, m, j = 1, n; bi ∈ R,


i = 1, m sunt termeni liberi iar xj sunt necunoscutele, j = 1, n.
Problema este de a determina xj astfel ı̂ncât să fie verificate toate
ecuaţiile sistemului.
Rodica Ioana LUNG () Cercetari operationale October 6, 2009 2 / 52
Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Transformări elementare ı̂n matrici


Dacă A este matricea coeficienţilor, b coloana termenilor liberi şi x
coloana necunoscutelor atunci sistemul se poate scrie sub forma unei
ecuaţii matriceale
Ax =b
Pentru a introduce transformarea vom considera matricea A
reprezentată ı̂ntr-o formă ı̂n care se evidenţiază liniile sale
 
L1
 L2 
A= .  Li = (ai1 , ai2 , ..., ain )
 
 .. 
Lm
Principalele două tipuri de transformări elementare sunt:
t1 ) ı̂nmulţirea unei linii cu o constantă diferită de 0 : λ, Li , λ Li → Li
t2 ) adunarea la elementele unei linii a elementelor corespunzătoare
unei alte linii: Li , Lk : Li + Lk → Li
Rodica Ioana LUNG () Cercetari operationale October 6, 2009 3 / 52
Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Regula dreptunghiului
Regula dreptunghiului reprezintă un algoritm de reducere a coloanelor unei
matrici pentru a obţine o formă simplificată, echivalentă a acesteia. O
coloană este redusă dacă are toate elementele egale cu 0, mai puţin unul
egal cu 1. Elementul pe a cărui poziţie va ramâne valoarea 1 se numeşte
element pivot. Regula dreptunghiului implementează o succesiune de
transformări liniare pe linii.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 4 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Regula dreptunghiului:
1 Se alege un element pivot diferit de zero. Acesta se marchează prin
ı̂ncercuire. Fie (i, j ) poziţia acestuia.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 5 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Regula dreptunghiului:
1 Se alege un element pivot diferit de zero. Acesta se marchează prin
ı̂ncercuire. Fie (i, j ) poziţia acestuia.
2 Elementele de pe coloana pivotului vor deveni 0.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 5 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Regula dreptunghiului:
1 Se alege un element pivot diferit de zero. Acesta se marchează prin
ı̂ncercuire. Fie (i, j ) poziţia acestuia.
2 Elementele de pe coloana pivotului vor deveni 0.
3 Elementele de pe linia pivotului se ı̂mpart la elementul pivot.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 5 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Regula dreptunghiului:
1 Se alege un element pivot diferit de zero. Acesta se marchează prin
ı̂ncercuire. Fie (i, j ) poziţia acestuia.
2 Elementele de pe coloana pivotului vor deveni 0.
3 Elementele de pe linia pivotului se ı̂mpart la elementul pivot.
4 Restul elementelor matricii se calculează după regula dreptunghiului,
adică:
aij alk − alj aik
alk ←
aij
unde alj si aik reprezintă ’colţurile’ dreptunghiului format din
elementul pivot aij şi elementul de calculat alk după cum se vede ı̂n
figura de mai jos.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 5 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Regula dreptunghiului:
1 Se alege un element pivot diferit de zero. Acesta se marchează prin
ı̂ncercuire. Fie (i, j ) poziţia acestuia.
2 Elementele de pe coloana pivotului vor deveni 0.
3 Elementele de pe linia pivotului se ı̂mpart la elementul pivot.
4 Restul elementelor matricii se calculează după regula dreptunghiului,
adică:
aij alk − alj aik
alk ←
aij
unde alj si aik reprezintă ’colţurile’ dreptunghiului format din
elementul pivot aij şi elementul de calculat alk după cum se vede ı̂n
figura de mai jos.

Dacă pe linia pivotului avem elemente egale cu 0 atunci coloana


respectivă se poate copia; Dacă pe coloana pivotului avem elemente
de 0 atunci putem copia linia respectivă.
Rodica Ioana LUNG () Cercetari operationale October 6, 2009 5 / 52
Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Metoda eliminarii complete pentru rezolvarea sistemelor de


ecuatii

se scrie matricea extinsa a sistemului sub forma de tabel

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 6 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Metoda eliminarii complete pentru rezolvarea sistemelor de


ecuatii

se scrie matricea extinsa a sistemului sub forma de tabel


se reduc coloanele matricii asociate sistemului alegand element pivot
de pe o linie de pe care nu a mai fost ales pana cand nu se mai poate
alege pivot;

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 6 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Metoda eliminarii complete pentru rezolvarea sistemelor de


ecuatii

se scrie matricea extinsa a sistemului sub forma de tabel


se reduc coloanele matricii asociate sistemului alegand element pivot
de pe o linie de pe care nu a mai fost ales pana cand nu se mai poate
alege pivot;
se scrie sistemul de ecuatii echivalent (corespunzator matricii reduse)
si se citeste solutia dupa caz:

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 6 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Metoda eliminarii complete pentru rezolvarea sistemelor de


ecuatii

se scrie matricea extinsa a sistemului sub forma de tabel


se reduc coloanele matricii asociate sistemului alegand element pivot
de pe o linie de pe care nu a mai fost ales pana cand nu se mai poate
alege pivot;
se scrie sistemul de ecuatii echivalent (corespunzator matricii reduse)
si se citeste solutia dupa caz:
sistem compatibil determinat;

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 6 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Metoda eliminarii complete pentru rezolvarea sistemelor de


ecuatii

se scrie matricea extinsa a sistemului sub forma de tabel


se reduc coloanele matricii asociate sistemului alegand element pivot
de pe o linie de pe care nu a mai fost ales pana cand nu se mai poate
alege pivot;
se scrie sistemul de ecuatii echivalent (corespunzator matricii reduse)
si se citeste solutia dupa caz:
sistem compatibil determinat;
sistem compatibil nedeterminat;

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 6 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Metoda eliminarii complete pentru rezolvarea sistemelor de


ecuatii

se scrie matricea extinsa a sistemului sub forma de tabel


se reduc coloanele matricii asociate sistemului alegand element pivot
de pe o linie de pe care nu a mai fost ales pana cand nu se mai poate
alege pivot;
se scrie sistemul de ecuatii echivalent (corespunzator matricii reduse)
si se citeste solutia dupa caz:
sistem compatibil determinat;
sistem compatibil nedeterminat;
sistem incompatibil.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 6 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Metoda eliminarii complete pentru rezolvarea sistemelor de


ecuatii

se scrie matricea extinsa a sistemului sub forma de tabel


se reduc coloanele matricii asociate sistemului alegand element pivot
de pe o linie de pe care nu a mai fost ales pana cand nu se mai poate
alege pivot;
se scrie sistemul de ecuatii echivalent (corespunzator matricii reduse)
si se citeste solutia dupa caz:
sistem compatibil determinat;
sistem compatibil nedeterminat;
sistem incompatibil.

Exemplu

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 6 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Solutii admisibile de baza

Din mulţimea tuturor soluţiilor unui sistem de ecuaţii liniare se poate


extrage o submulţime de soluţii care are o calitate specială, şi anume
fiecare soluţie are necunoscutele secundare toate cu valoarea egală cu
0, iar necunoscutele principale cu valorile mai mari sau egale cu 0.
Aceste soluţii se numesc soluţii admisibile de bază.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 7 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Solutii admisibile de baza

Din mulţimea tuturor soluţiilor unui sistem de ecuaţii liniare se poate


extrage o submulţime de soluţii care are o calitate specială, şi anume
fiecare soluţie are necunoscutele secundare toate cu valoarea egală cu
0, iar necunoscutele principale cu valorile mai mari sau egale cu 0.
Aceste soluţii se numesc soluţii admisibile de bază.
La o astfel de soluţie admisibilă de bază se poate ajunge utilizând
metoda eliminării complete la care alegerea pivotului se face cu
respectarea unor condiţii.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 7 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Solutii admisibile de baza

Din mulţimea tuturor soluţiilor unui sistem de ecuaţii liniare se poate


extrage o submulţime de soluţii care are o calitate specială, şi anume
fiecare soluţie are necunoscutele secundare toate cu valoarea egală cu
0, iar necunoscutele principale cu valorile mai mari sau egale cu 0.
Aceste soluţii se numesc soluţii admisibile de bază.
La o astfel de soluţie admisibilă de bază se poate ajunge utilizând
metoda eliminării complete la care alegerea pivotului se face cu
respectarea unor condiţii.
Să presupunem că sistemul considerat are m necunoscute principale,
iar restul n − m sunt necunoscutele secundare. Presupunem şi că
primele m necunoscute sunt cele principale. Asta revine la a spune că
trebuie asociat sistemului un tabel care, după utilizarea
transformărilor elementare, are următoarea formă, unde coloanele au
o structură specială:
Rodica Ioana LUNG () Cercetari operationale October 6, 2009 7 / 52
Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Soluţii admisibile de bază

Rodica Ioana LUNG ()


Figure:
Cercetari operationale October 6, 2009 8 / 52
Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Soluţii admisibile de bază


Din tabel se observă că prima soluţie admisibilă de bază este:
 
β1
 β2 
 
 ... 
 
X1 =   , β ≥ 0, i = 1, m
 βm  i
 0 
 
 ... 
0

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 9 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Soluţii admisibile de bază


Din tabel se observă că prima soluţie admisibilă de bază este:
 
β1
 β2 
 
 ... 
 
X1 =   , β ≥ 0, i = 1, m
 βm  i
 0 
 
 ... 
0

În continuare cu ajutorul regulii dreptunghiului vrem să trecem de la


această soluţie admisibilă de bază la o altă soluţie admisibilă de bază.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 9 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Soluţii admisibile de bază


Din tabel se observă că prima soluţie admisibilă de bază este:
 
β1
 β2 
 
 ... 
 
X1 =   , β ≥ 0, i = 1, m
 βm  i
 0 
 
 ... 
0

În continuare cu ajutorul regulii dreptunghiului vrem să trecem de la


această soluţie admisibilă de bază la o altă soluţie admisibilă de bază.
Considerăm că elementul pivot este α1 ,m+1 şi efectuăm transformarea
elementelor care ne conduc la partea a doua a tabelului de mai sus.
Prima condiţie asupra pivotului este:
α1 ,m+1 6= 0 .
Rodica Ioana LUNG () Cercetari operationale October 6, 2009 9 / 52
Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Soluţii admisibile de bază


Necunoscutele principale sunt cele care au coloanele cu 0 şi anume
x2 , x3 ..., xm+1 , celelalte fiind necunoscute secundare.
Noua soluţie admisibilă de bază este:
 
0
 β − β1 α 
 2 α1,m+1 2, m+1 
 .. 
.
 
 
X2 =  β − β1 · αm,m+1
 

 m α1,m+1 
 β1 
 α 1,m +1

 
 0 
...
Soluţia X2 este soluţie admisibilă de bază dacă au loc relaţiile:
β1 β1 β1
≥ 0, β2 − α m+1 ≥ 0, . . . , βm − · αm,m+1 ≥ 0
α1 ,m+1 α1,m+1 2, α1,m+1
Rodica Ioana LUNG () Cercetari operationale October 6, 2009 10 / 52
Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Soluţii admisibile de bază


Din prima inegalitate rezultă că obligatoriu α1 ,m+1 > 0, deci pivotul
trebuie să fie pozitiv.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 11 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Soluţii admisibile de bază


Din prima inegalitate rezultă că obligatoriu α1 ,m+1 > 0, deci pivotul
trebuie să fie pozitiv.
Dacă α2 ,m+1 ≤ 0 a doua condiţie este automat ı̂ndeplinită iar dacă
β β
α2 ,m+1 > 0 trebuie ca α2 ,m2+1 ≥ α1 ,m1+1 .

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 11 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Soluţii admisibile de bază


Din prima inegalitate rezultă că obligatoriu α1 ,m+1 > 0, deci pivotul
trebuie să fie pozitiv.
Dacă α2 ,m+1 ≤ 0 a doua condiţie este automat ı̂ndeplinită iar dacă
β β
α2 ,m+1 > 0 trebuie ca α2 ,m2+1 ≥ α1 ,m1+1 .
În mod analog tragem concluzia că dacă αm ,m+1 > 0 trebuie ca
βm β1
≥ .
αm ,m+1 α 1 ,m + 1

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 11 / 52


Matematici aplicate in economie. Cercetari operationale Elemente de algebra liniara

Soluţii admisibile de bază


Din prima inegalitate rezultă că obligatoriu α1 ,m+1 > 0, deci pivotul
trebuie să fie pozitiv.
Dacă α2 ,m+1 ≤ 0 a doua condiţie este automat ı̂ndeplinită iar dacă
β β
α2 ,m+1 > 0 trebuie ca α2 ,m2+1 ≥ α1 ,m1+1 .
În mod analog tragem concluzia că dacă αm ,m+1 > 0 trebuie ca
βm β1
≥ .
αm ,m+1 α 1 ,m + 1
Din inegalităţile de mai sus deducem cea de a doua condiţie esenţială
pentru pivot: raportul dintre termenul liber β1 şi pivotul α1,m+1
este cel mai mic dintre toate rapoartele care se obţin ı̂mpărţind
termenii liberi la elementele pozitive corespunzătoare din
β
coloana pivotului, adică α1 ,m1+1 este cel mai mic dintre rapoartele
βi
αi ,m+1 ,cu
αi ,m+1 > 0.
Rodica Ioana LUNG () Cercetari operationale October 6, 2009 11 / 52
Matematici aplicate in economie. Cercetari operationale Programare liniara

Programare liniară
Formularea problemei canonice.

O firmă intenţionează să producă n tipuri de produse ştiind că poate


să utilizeze m tipuri de resurse. Se cunosc elementele: cantităţile
disponibile din fiecare resursă pe o perioadă precizată (bi cantitatea
din resursa Ri , i = 1, m), beneficiile unitare nete pentru fiecare
produs (cj pentru valorificarea unei bucăţi din Pj , j = 1, n),
coeficienţii tehnologici aij - care reprezintă cantitatea din resursa Ri
ce se foloseşte pentru o unitate din produsul Pj , i = 1, m, j = 1, n.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 12 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Programare liniară
Formularea problemei canonice.

O firmă intenţionează să producă n tipuri de produse ştiind că poate


să utilizeze m tipuri de resurse. Se cunosc elementele: cantităţile
disponibile din fiecare resursă pe o perioadă precizată (bi cantitatea
din resursa Ri , i = 1, m), beneficiile unitare nete pentru fiecare
produs (cj pentru valorificarea unei bucăţi din Pj , j = 1, n),
coeficienţii tehnologici aij - care reprezintă cantitatea din resursa Ri
ce se foloseşte pentru o unitate din produsul Pj , i = 1, m, j = 1, n.
Se cere să se determine cantităţile ce urmează a fi realizate din fiecare
produs xj =?, j = 1, n, astfel ı̂ncât să se obţină beneficiul total
maxim.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 12 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Programare liniară
Formularea problemei canonice.

Modelul matematic al acestei probleme este


xj =?, j = 1, n astfel ı̂ncât
   

  a 11 x1 + ...a 1n x n = b 1  

.............................. sistem de restricţii soluţie admisibilă

 

am1 x1 + ... + amn xn = bm de bază.
 


xj ≥ 0, j = 1, n condiţii de nenegativitate

 


f = c1 x1 + ... + cn xn → maximă (funcţia scop, de eficienţă).

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 13 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Programare liniară

Se caută coloana necunoscutelor X astfel ı̂ncât



 AX = b,
X ≥ 0,
f = C X → max

unde
 
a11 a12 ... a1n
 a21 a22 ... a2n 
A = 
 ...
 , X = (x1 , x2 , ..., xn )
... ... ... 
am1 am2 ... amn
şi C = (c1 , c2 , ..., cn ).

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 14 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Problema generală

În sistemul de restricţii apar ecuaţii şi inecuaţii

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 15 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Problema generală

În sistemul de restricţii apar ecuaţii şi inecuaţii


Algoritmul simplex NU se poate aplica direct

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 15 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Problema generală

În sistemul de restricţii apar ecuaţii şi inecuaţii


Algoritmul simplex NU se poate aplica direct
Se transformă inecuaţiile ı̂n ecuaţii folosind variabile de compensare

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 15 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Problema generală

În sistemul de restricţii apar ecuaţii şi inecuaţii


Algoritmul simplex NU se poate aplica direct
Se transformă inecuaţiile ı̂n ecuaţii folosind variabile de compensare
Numărul variabilelor de compensare este egal cu numărul inecuaţiilor

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 15 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Problema generală

În sistemul de restricţii apar ecuaţii şi inecuaţii


Algoritmul simplex NU se poate aplica direct
Se transformă inecuaţiile ı̂n ecuaţii folosind variabile de compensare
Numărul variabilelor de compensare este egal cu numărul inecuaţiilor

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 15 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Problema generală

În sistemul de restricţii apar ecuaţii şi inecuaţii


Algoritmul simplex NU se poate aplica direct
Se transformă inecuaţiile ı̂n ecuaţii folosind variabile de compensare
Numărul variabilelor de compensare este egal cu numărul inecuaţiilor

Cand adunam si cand scadem?


La fiecare inegalitate ≤ se aduna o variabila de compensare pozitiva
La fiecare inegalitate ≥ se scade o variabila de compensare pozitiva

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 15 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Problema generală

Exemplu. Să se rezolve următoarea problemă de programare liniară


generală:


 2x1 + x2 + x3 ≤ 50



 − x1 + 4x2 + x4 ≥ 30
x1 + x4 = 15

.

 x3 + x4 = 20
x ≥ 0, j = 1, 4


 j


f = 2x3 − 5x4 → maximă

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 16 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Algoritmul simplex

Pentru rezolvarea problemei de programare liniară vom folosi


algoritmul simplex (G.B.Dantzig 1947)

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 17 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Algoritmul simplex

Pentru rezolvarea problemei de programare liniară vom folosi


algoritmul simplex (G.B.Dantzig 1947)
Solutiile problemei de programare liniară se află ı̂ntre solutiile
admisibile de bază ale sistemului de restricţii.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 17 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Algoritmul simplex

Pentru rezolvarea problemei de programare liniară vom folosi


algoritmul simplex (G.B.Dantzig 1947)
Solutiile problemei de programare liniară se află ı̂ntre solutiile
admisibile de bază ale sistemului de restricţii.
Se trece de la o solutie admisibila de baza la alta asigurandu-se
imbunatatirea solutiei.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 17 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Algoritmul simplex

Considerăm cele două soluţii admisibile de bază:


 
0
β
 β2 − α1,m1+1 α2, m+1
   
β1 
β2
 .. 
.
   
   

 . 
  β − β1 · αm,m+1
 

X1 =  βm  şi X2 =  m α1,m+1 
   β1 

 0 


 α1,m+1


 .   0 
..
 
0 
 .


0

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 18 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Algoritmul simplex

unde
α1 ,m+1 > 0,
 
β1 βi
= min ,
α1 ,m+1 αi ,m+1
cu
αi ,m+1 > 0.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 19 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Algoritmul simplex

Care sunt valorile funcţiei obiectiv pentru cele două soluţii admisibile de
bază?
f (X1 )
f (X2 )
adică:

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 20 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Algoritmul simplex

f (X1 ) = C1 β1 + C2 β2 + ... + Cm βm .
 
β1
f (X2 ) = C2 β2 − α2 ,m+1 + ...
α1 ,m+1
 
β1
... + Cm βm − αm ,m+1 + ...
α1 ,m+1
β1
... + Cm+1 .
α1 ,m+1

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 21 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Algoritmul simplex

Rearanjăm expresia lui f (X2 ) asfel:

β1
f (X2 ) = C2 β2 + ... + Cm βm + Cm+1 −
α1 ,m+1
β1
− (C2 α2 ,m+1 +... + Cm αm ,m+1 ).
α 1 ,m + 1

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 22 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Algoritmul simplex

Ţinem cont de expresia lui f (X1 ) şi avem:

f (X2 ) = f (X1 ) − C1 β1 +
β1
+ [Cm+1 − (C2 α2 ,m+1 +...
α1 ,m+1
... + Cm αm ,m+1 )]

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 23 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Algoritmul simplex

Mai departe:
β1
f (X2 ) = f (X1 ) + ·
α 1 ,m + 1
not. fm+1
  
z }| {
· Cm+1 − C1 α1 ,m+1 +C2 α2 ,m+1 +... + Cm αm ,m+1 

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 24 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Algoritmul simplex

Aşadar
β1
f (X2 ) = f (X1 ) + (Cm+1 − fm+1 ) .
α1 ,m+1
Când e X2 soluţie mai bună decât X1 ? Atunci când
β1
(Cm+1 − fm+1 ) > 0
α1 ,m+1

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 25 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Algoritmul simplex

Dar
β1
≥0
α 1 ,m + 1
aşa că trebuie să avem:

( Cm + 1 − fm + 1 ) > 0

adică
Cm+1 > fm+1 .

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 26 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Algoritmul simplex

În concluzie putem ı̂mbunătăţii soluţia dacă avem diferenţe

(Cm+1 − fm+1 ) > 0.

NU mai putem ı̂mbunătăţii soluţia dacă

Cj − fj ≤ 0, ∀j = 1, n

(condiţiile de optimalitate)

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 27 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Algoritmul simplex

Pas1 Se determină o soluţie admisibilă de bază;


Pas2 Se verifică dacă sunt ı̂ndeplinite condiţiile de optimalitate
1 Dacă DA atunci se trece la pasul 3;
2 Dacă NU atunci se trece la o altă soluţie admisibilă de bază alegând
element pivot de pe coloana pe care diferenţa Cj − fj este maxima. Se
reia la pasul 2.
Pas3 Se citeşte soluţia optimă şi valoarea optimă a funcţiei.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 28 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Algoritmul simplex

Exemplu Să se rezolve următoarea problemă de programare liniară:




 x1 + 2x2 + 2x3 − x4 = 6
 x1 + x2 + 2x4 = 5


2x1 − x2 + x3 + x4 = 8
x ≥ 0, j = 1, 4

 j



f = 2x1 + x2 + 5x3 + 3x4 −→ max

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 29 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Situatii speciale 1

Maxim ∞:
Dacă există o singură coloană pentru care diferenţa cj − fj e pozitivă iar
elementele coloanei sunt negative ı̂nseamnă că maximul funcţiei e infinit.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 30 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Situaţii speciale 2

Solutii degenerate
Dacă avem de ales ı̂ntre două rapoarte minime egale se aplică ordonarea
lexicografică:
se compară elmentele celor 2 linii pentru care rapoartele sunt egale,
fiecare ı̂mparţit la potenţialul pivot

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 31 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Situaţii speciale 2

Solutii degenerate
Dacă avem de ales ı̂ntre două rapoarte minime egale se aplică ordonarea
lexicografică:
se compară elmentele celor 2 linii pentru care rapoartele sunt egale,
fiecare ı̂mparţit la potenţialul pivot
comparaţia se face luând ı̂n considerare ordonarea lexicografică, adică
se compară componentele celor 2 linii două câte 2 ı̂ncepând de la
stânga spre dreapta

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 31 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Situaţii speciale 2

Solutii degenerate
Dacă avem de ales ı̂ntre două rapoarte minime egale se aplică ordonarea
lexicografică:
se compară elmentele celor 2 linii pentru care rapoartele sunt egale,
fiecare ı̂mparţit la potenţialul pivot
comparaţia se face luând ı̂n considerare ordonarea lexicografică, adică
se compară componentele celor 2 linii două câte 2 ı̂ncepând de la
stânga spre dreapta
se alege pivotul de pe linia pe care apare primul element mai mic
decât corespondentul său de pe cealaltă linie.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 31 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Situaţii speciale 2

Solutii degenerate
Dacă avem de ales ı̂ntre două rapoarte minime egale se aplică ordonarea
lexicografică:
se compară elmentele celor 2 linii pentru care rapoartele sunt egale,
fiecare ı̂mparţit la potenţialul pivot
comparaţia se face luând ı̂n considerare ordonarea lexicografică, adică
se compară componentele celor 2 linii două câte 2 ı̂ncepând de la
stânga spre dreapta
se alege pivotul de pe linia pe care apare primul element mai mic
decât corespondentul său de pe cealaltă linie.
soluţia obţinută este degenerată

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 31 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Situaţii speciale 3

Soluţii multiple
Atunci când numărul zerourilor de pe linia cj − fj ı̂n cazul unei soluţii
optime este mai mare decât numărul necunoscutelor principale
ı̂nseamnă că problema poate avea mai multe soluţii optime care se
determină alegând element pivot pe rând de pe coloanele respective.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 32 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Situaţii speciale 3

Soluţii multiple
Atunci când numărul zerourilor de pe linia cj − fj ı̂n cazul unei soluţii
optime este mai mare decât numărul necunoscutelor principale
ı̂nseamnă că problema poate avea mai multe soluţii optime care se
determină alegând element pivot pe rând de pe coloanele respective.
Soluţia generala a problemei se scrie ca şi combinaţie liniară convexă
a soluţiilor determinate.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 32 / 52


Matematici aplicate in economie. Cercetari operationale Programare liniara

Situaţii speciale 4

Problemă de minim
Dacă se cere minimizarea funcţiei scop singura modificare apare la
condiţia de optimalitate: cj − fj ≥ 0, ∀j = 1, 2, ..., n
Se alege pivot de pe coloana pe care diferenţa cj − fj este cea mai
mare in modul.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 33 / 52


Problema de transport

Problema de repartiţie (de transport)

O problemă de programare liniară de o structură specială este problema de


repartiţie. La o astfel de problemă se evidenţiază:
grupul de restricţii care se ı̂mparte ı̂n două
condiţiile de negativitate
funcţia scop de obicei trebuie minimizată

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 34 / 52


Problema de transport

Formularea economică

La m furnizori (producători) se află un tip de produs care va fi solicitat de


către n beneficiari (consumatori).
Se cunosc:
cantităţile ai , i = 1, m disponibile existente la fiecare furnizor
Fi , i = 1, m,
cantitatea bj solicitată de fiecare beneficiar Bj
costurile unitare de transport de la fiecare furnizor la fiecare beneficiar
cij de la Fi la Bj .

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 35 / 52


Problema de transport

Formularea economică

Se cer: cantităţile (xij ) ce urmează a fi transportate de la fiecare furnizor


la fiecare beneficiar astfel ı̂ncât:
toată cantitatea disponibilă să fie transportată;
toată cantitatea solicitată de fiecare beneficiar să fie primită;
costul total al transportului să fie minim.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 36 / 52


Problema de transport

Formularea matematică

Căutăm necunoscutele xij =? i = 1, m, j = 1, n astfel ı̂ncât:


n
∑ xij = ai i = 1, m - toată cantitatea de la Fi să fie transportată;
j =1
m
∑ xij = bj j = 1, n - toată cantitatea solicitată de Bj să fie primită;
i =1

xij ≥ 0 i = 1, m, j = 1, n - condiţii de nenegativitate;


m n
f = ∑ ∑ cij xij să fie minimă.
i =1 j =1

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 37 / 52


Problema de transport

Formularea matematică

Conditia de echilibru
m n
∑ ai = ∑ bj
i =1 j =1

care arată că totalul cantităţilor disponibile coincide cu totalul cantităţilor


necesare solicitate.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 38 / 52


Problema de transport

Formularea matematică

Conditia de echilibru
m n
∑ ai = ∑ bj
i =1 j =1

care arată că totalul cantităţilor disponibile coincide cu totalul cantităţilor


necesare solicitate.
Dacă problema nu este echilibrată atunci ea se poate echilibra prin
considerarea unui furnizor fictiv ı̂n primul caz sau a unui beneficiar fictiv ı̂n
al doilea caz astfel ı̂ncât problema să devină echilibrată.
În continuare ne vom ocupa doar de cazul problemei echilibrate.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 38 / 52


Problema de transport

Rezolvarea problemei

Algoritmul distributiv
Pentru rezolvarea problemei enunţate se va formula un algoritm numit
algoritmul distributiv, etapele căruia se parcurg comod prin considerarea
unui tabel asociat problemei de transport. În tabelul cu două intrări se
evidenţiază pe linii datele referitoare la furnizori şi pe coloane se
evidenţiază datele referitoare la beneficiari.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 39 / 52


Problema de transport

Rezolvarea problemei

Algoritmul distributiv
Pentru rezolvarea problemei enunţate se va formula un algoritm numit
algoritmul distributiv, etapele căruia se parcurg comod prin considerarea
unui tabel asociat problemei de transport. În tabelul cu două intrări se
evidenţiază pe linii datele referitoare la furnizori şi pe coloane se
evidenţiază datele referitoare la beneficiari.

La intersecţia unei linii Fi cu coloana Bj apare ı̂n tabel ceea ce se numeşte


,,căsuţa cu 4 camere” ı̂n fiecare cameră urmând a fi ı̂nregistrat un anumit
element.

Bj
cij ui + vj
Fi
± xij

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 39 / 52


Problema de transport

Rezolvarea problemei

Modelul matematic al problemei de transport xij =? i = 1, m, j = 1, n


(m - furnizori, n - beneficiari) astfel ı̂ncât:
n

∑ xij = ai i = 1, m



j =1


m


∑ xij = bj j = 1, n


i =1


 xij ≥ 0 i = 1, m, j = 1, n
m n


 f = ∑ ∑ cij xij → min.



i =1 j =1

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 40 / 52


Problema de transport

Rezolvarea problemei

Modelul matematic al problemei de transport xij =? i = 1, m, j = 1, n


(m - furnizori, n - beneficiari) astfel ı̂ncât:
n

∑ xij = ai i = 1, m



j =1


m


∑ xij = bj j = 1, n


i =1


 xij ≥ 0 i = 1, m, j = 1, n
m n


 f = ∑ ∑ cij xij → min.



i =1 j =1

cu condiţia de echilibru:
m n
∑ ai = ∑ bj
i =1 j =1

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 40 / 52


Problema de transport

Rezolvarea problemei

Examinând modelul matematic rezultă că avem mn necunoscute şi m + n


ecuaţii. Vom avea m + n − 1 ecuaţii principale (din cauza condiţiei de
echilibru rezultă că o ecuaţie e secundară)
Din cele m n necunoscute numai m + n − 1 vor fi necunoscute principale,
toate celelalte fiind necunoscute secundare.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 41 / 52


Problema de transport

Rezolvarea problemei.

Determinarea unei solutii admisibile de baza:


Metoda coltului NV

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 42 / 52


Problema de transport

Exemplu

La doi furnizori se află acelaşi tip de produs ı̂n cantităţile: 80 buc. la primul (F1 )
şi 140 buc. la al doilea (F2 ). Trei beneficiari solicită acest produs ı̂n cantităţile
60, 90, 70. Costurile unitare de transport sunt prezentate ı̂n matricea:
 
2 3 5
C =
4 1 2

Să se determine cantităţile ce vor fi transportate de la fiecare furnizor către


fiecare beneficiar astfel ı̂ncât cerinţele să fie ı̂ndeplinite.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 43 / 52


Problema de transport

Rezolvarea problemei

xij =? i = 1, 2, j = 1, 3 astfel ı̂ncât



x11 +x12 +x13 = 80
x21 +x22 +x23 = 140

 x11 +x21 = 60
x12 +x22 = 90
x13 +x23 = 70

xij ≥ 0 i = 1, 2, j = 1, 3
f = 2 x11 + 3 x12 + 5x13 + 4x21 + x22 + 2x23 → min

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 44 / 52


Problema de transport

Rezolvarea problemei

Tabelul asociat acestei probleme va fi:

B F B1 B2 B3 Cant
2 3 5
Fi 80
x11 x12 x13
4 1 2
F2 140
x21 x22 x23
Cant 60 90 70 230230

Avem 2 3 = 6 - necunoscute; 2 + 3 = 5 - restricţii; 2 + 3 − 1 = 4 -


necunoscute principale

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 45 / 52


Problema de transport

Rezolvarea problemei

Determinarea unei solutii adimisibile de baza:


Metoda coltului NV
Intr-o casuta:
necunoscutele secundare se ı̂nscriu cu punct

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 46 / 52


Problema de transport

Rezolvarea problemei

Determinarea unei solutii adimisibile de baza:


Metoda coltului NV
Intr-o casuta:
necunoscutele secundare se ı̂nscriu cu punct
Căsuţele ocupate sunt căsuţele ce corespund necunoscutelor principale
(acelea la care am ı̂nscris valorile).

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 46 / 52


Problema de transport

Rezolvarea problemei

Determinarea unei solutii adimisibile de baza:


Metoda coltului NV
Intr-o casuta:
necunoscutele secundare se ı̂nscriu cu punct
Căsuţele ocupate sunt căsuţele ce corespund necunoscutelor principale
(acelea la care am ı̂nscris valorile).
Căsuţele care corespund necunoscutelor secundare (cu ·) se numesc
căsuţe libere.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 46 / 52


Problema de transport

Rezolvarea problemei

Determinarea unei solutii adimisibile de baza:


Metoda coltului NV
Intr-o casuta:
necunoscutele secundare se ı̂nscriu cu punct
Căsuţele ocupate sunt căsuţele ce corespund necunoscutelor principale
(acelea la care am ı̂nscris valorile).
Căsuţele care corespund necunoscutelor secundare (cu ·) se numesc
căsuţe libere.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 46 / 52


Problema de transport

Rezolvarea problemei

Determinarea unei solutii adimisibile de baza:


Metoda coltului NV
Intr-o casuta:
necunoscutele secundare se ı̂nscriu cu punct
Căsuţele ocupate sunt căsuţele ce corespund necunoscutelor principale
(acelea la care am ı̂nscris valorile).
Căsuţele care corespund necunoscutelor secundare (cu ·) se numesc
căsuţe libere.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 46 / 52


Problema de transport

Rezolvarea problemei

Algoritmul distributiv pentru rezolvarea problemelor de transport:


similar cu algoritmul simplex

Algoritmul distributiv:
Etapa 1. Se determină o soluţie iniţială de bază.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 47 / 52


Problema de transport

Rezolvarea problemei

Algoritmul distributiv pentru rezolvarea problemelor de transport:


similar cu algoritmul simplex

Algoritmul distributiv:
Etapa 1. Se determină o soluţie iniţială de bază.
Etapa 2. Se verifică optimalitatea soluţiei.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 47 / 52


Problema de transport

Rezolvarea problemei

Algoritmul distributiv pentru rezolvarea problemelor de transport:


similar cu algoritmul simplex

Algoritmul distributiv:
Etapa 1. Se determină o soluţie iniţială de bază.
Etapa 2. Se verifică optimalitatea soluţiei.
Etapa 3. Se ı̂mbunătăţeşte soluţia.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 47 / 52


Problema de transport

Rezolvarea problemei

Algoritmul distributiv pentru rezolvarea problemelor de transport:


similar cu algoritmul simplex

Algoritmul distributiv:
Etapa 1. Se determină o soluţie iniţială de bază.
Etapa 2. Se verifică optimalitatea soluţiei.
Etapa 3. Se ı̂mbunătăţeşte soluţia.
Etapa 4. Se repetă etapele 2,3 până când toate condiţiile de optimalitate
vor fi ı̂ndeplinite.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 47 / 52


Problema de transport

Rezolvarea problemei

Algoritmul distributiv pentru rezolvarea problemelor de transport:


similar cu algoritmul simplex

Algoritmul distributiv:
Etapa 1. Se determină o soluţie iniţială de bază.
Etapa 2. Se verifică optimalitatea soluţiei.
Etapa 3. Se ı̂mbunătăţeşte soluţia.
Etapa 4. Se repetă etapele 2,3 până când toate condiţiile de optimalitate
vor fi ı̂ndeplinite.
Etapa 5. Se scrie soluţia optimă şi se calculează valoarea minimă a lui f .

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 47 / 52


Problema de transport

Verificarea optimalitatii

verificarea optimalităţii se face cu ajutorul unor necunoscute ,,duale”:


ui → care corespund furnizorilor
vj → care corespund beneficiarilor
soluţii ale sistemului de ecuaţii

ui + vj = cij , xij nec. principale (căsuţe ocupate).

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 48 / 52


Problema de transport

Verificarea optimalitatii

verificarea optimalităţii se face cu ajutorul unor necunoscute ,,duale”:


ui → care corespund furnizorilor
vj → care corespund beneficiarilor
soluţii ale sistemului de ecuaţii

ui + vj = cij , xij nec. principale (căsuţe ocupate).

Condiţia de optimalitate:
după rezolvarea sistemului trebuie să aibă loc inegalităţile:

cij ≥ ui + vj , xij nec. secundare (căsuţele libere).

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 48 / 52


Problema de transport

Verificarea optimalitatii

verificarea optimalităţii se face cu ajutorul unor necunoscute ,,duale”:


ui → care corespund furnizorilor
vj → care corespund beneficiarilor
soluţii ale sistemului de ecuaţii

ui + vj = cij , xij nec. principale (căsuţe ocupate).

Condiţia de optimalitate:
după rezolvarea sistemului trebuie să aibă loc inegalităţile:

cij ≥ ui + vj , xij nec. secundare (căsuţele libere).

Exemplu

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 48 / 52


Problema de transport

Rezolvarea problemei

Etapa 3.
Dacă cel puţin o condiţie de optimalitate nu este ı̂ndeplinită
ci0 j0 < ui0 + vj0 ı̂nseamnă că soluţia nu este optimă şi ea trebuie
ı̂mbunătăţită ı̂n sensul că necunocuta secundară xi0 j0 care e zero, trebuie
să devină necunoscută principală. Aceasta se realizează prin adunarea la
zero a unei cantităţi α unde α se determină astfel ı̂ncât toate ecuaţiile care
au necunoscuta xi0 j0 să rămână satisfăcute, xi0 j0 = 0 + α.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 49 / 52


Problema de transport

Rezolvarea problemei

Dacă se adună α ı̂ntr-un loc atunci α trebuie să se scadă din alt loc.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 50 / 52


Problema de transport

Rezolvarea problemei

Dacă se adună α ı̂ntr-un loc atunci α trebuie să se scadă din alt loc.
Scăderile se vor putea face doar de la necunoscutele care au valori
pozitive (sunt necunoscute principale).

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 50 / 52


Problema de transport

Rezolvarea problemei

Dacă se adună α ı̂ntr-un loc atunci α trebuie să se scadă din alt loc.
Scăderile se vor putea face doar de la necunoscutele care au valori
pozitive (sunt necunoscute principale).
operaţiile de adunare / scădere se vor face ı̂ntr-un aşa zis ,,ciclu de
căsuţe” format dintr-o succesiune de căsuţe, prima de la care se
pleacă fiind căsuţă liberă, toate celelalte fiind căsuţe ocupate.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 50 / 52


Problema de transport

Rezolvarea problemei

Dacă se adună α ı̂ntr-un loc atunci α trebuie să se scadă din alt loc.
Scăderile se vor putea face doar de la necunoscutele care au valori
pozitive (sunt necunoscute principale).
operaţiile de adunare / scădere se vor face ı̂ntr-un aşa zis ,,ciclu de
căsuţe” format dintr-o succesiune de căsuţe, prima de la care se
pleacă fiind căsuţă liberă, toate celelalte fiind căsuţe ocupate.
În acest mod se obţine o nouă soluţie care este mai bună decât
vechea soluţie, adică valoarea funcţiei pentru noua soluţie este mai
mică decât valoarea funcţiei pentru soluţia anterioară.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 50 / 52


Problema de transport

Exemplu

Să se rezolve problema de transport dată prin tabelul:

v1 = 1 v2 = 5 v3 = 10
4 4 2 8 3 13
u1 = 3 100
100 · ·
1 1 5 5 2 10
u2 = 0 300 250
50 − 250 + ·
3 −2 2 2 7 7
u3 = −3 200
· + 0 − 200
150 250 200
50

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 51 / 52


Problema de transport

Cazuri speciale
Solutii degenerate
Daca la calculearea solutiei initiale, la un furnizor si la un beneficiar se
epuizeaza, respectiv se completeaza cantitatile in acelasi timp pentru
a se evita ’pierderea’ unei necunoscute principale, una din casutele de
pe coloana sau linia respectiva se va completa cu 0 si va fi
considerata casuta ocupata;

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 52 / 52


Problema de transport

Cazuri speciale
Solutii degenerate
Daca la calculearea solutiei initiale, la un furnizor si la un beneficiar se
epuizeaza, respectiv se completeaza cantitatile in acelasi timp pentru
a se evita ’pierderea’ unei necunoscute principale, una din casutele de
pe coloana sau linia respectiva se va completa cu 0 si va fi
considerata casuta ocupata;
Daca in cadrul unui ciclu de casute avem mai multe valori minime
egale in casutele cu semn negativ, doar una din ele va deveni casuta
libera, restul fiind completate cu zerouri si considerate casute
principale.

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 52 / 52


Problema de transport

Cazuri speciale
Solutii degenerate
Daca la calculearea solutiei initiale, la un furnizor si la un beneficiar se
epuizeaza, respectiv se completeaza cantitatile in acelasi timp pentru
a se evita ’pierderea’ unei necunoscute principale, una din casutele de
pe coloana sau linia respectiva se va completa cu 0 si va fi
considerata casuta ocupata;
Daca in cadrul unui ciclu de casute avem mai multe valori minime
egale in casutele cu semn negativ, doar una din ele va deveni casuta
libera, restul fiind completate cu zerouri si considerate casute
principale.
Daca unul din cazurile de mai sus apare, solutia obtinuta va fi
degenerata (vom avea necunoscute principale cu valoarea 0).

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 52 / 52


Problema de transport

Cazuri speciale
Solutii degenerate
Daca la calculearea solutiei initiale, la un furnizor si la un beneficiar se
epuizeaza, respectiv se completeaza cantitatile in acelasi timp pentru
a se evita ’pierderea’ unei necunoscute principale, una din casutele de
pe coloana sau linia respectiva se va completa cu 0 si va fi
considerata casuta ocupata;
Daca in cadrul unui ciclu de casute avem mai multe valori minime
egale in casutele cu semn negativ, doar una din ele va deveni casuta
libera, restul fiind completate cu zerouri si considerate casute
principale.
Daca unul din cazurile de mai sus apare, solutia obtinuta va fi
degenerata (vom avea necunoscute principale cu valoarea 0).

Rodica Ioana LUNG () Cercetari operationale October 6, 2009 52 / 52


Problema de transport

Cazuri speciale
Solutii degenerate
Daca la calculearea solutiei initiale, la un furnizor si la un beneficiar se
epuizeaza, respectiv se completeaza cantitatile in acelasi timp pentru
a se evita ’pierderea’ unei necunoscute principale, una din casutele de
pe coloana sau linia respectiva se va completa cu 0 si va fi
considerata casuta ocupata;
Daca in cadrul unui ciclu de casute avem mai multe valori minime
egale in casutele cu semn negativ, doar una din ele va deveni casuta
libera, restul fiind completate cu zerouri si considerate casute
principale.
Daca unul din cazurile de mai sus apare, solutia obtinuta va fi
degenerata (vom avea necunoscute principale cu valoarea 0).

Observatie
Numarul necunoscutelor principale trebuie sa fie constant (m + n − 1).
Rodica Ioana LUNG () Cercetari operationale October 6, 2009 52 / 52

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