Documente Academic
Documente Profesional
Documente Cultură
24DUALA
24DUALA
Problema dual
Problema dual este o problem de programare liniar. Existena ei presupune existena
unei alte probleme de programare liniar numit problema primal, mpreun cu care formeaz
cuplul primal dual. Pentru a vedea cum arat problema dual trebuie s cunoatem cum arat
problema primal i care este legtura dintre ele.
A cunoate cum arat problema primal nseamn a ti:
1. Dac problema este de maxim sau de minim;
2. Care sunt necunoscutele problemei, adic vectorul variabilelor:
xT = (x1,x2, ,xn)
3. Care sunt coeficienii funciei obiectiv, adic elementele vectorului:
cT = (c1,c2, ,cn)
4. Care sunt termenii liberi ai restriciilor, adic elementele vectorului:
bT = (b1,b2, ,bm)
5. Care sunt coeficienii combinaiei liniare din fiecare restricie, adic elementele matricei:
a 11
a 21
A=
a m1
a 12
a 1n
a 2n
a 22
a m2
a mn
Programarea liniar
Este de tipul:
Este de tipul:
Este de tipul:
Este de tipul:
55
x1 2 x 3 3
x 3 2 x1 5 x 2 8
x1 0, x2 oarecare, x3 0
Conform regulilor de mai sus vom avea:
duala este de minim deoarece primala este de maxim;
variabilele dualei vor fi:
u1
u2
u3
u4
corespunztoare restriciei:
corespunztoare restriciei:
corespunztoare restriciei:
corespunztoare restriciei:
x1 x2 + 4x3 7
x2 5x1 + 3x3 = 6
x1 + 2x3 3
x3 + 2x1 - 5x2 8
u1 5u2 + u3 + 2u4
termenul liber al restriciei va fi coeficientul lui x1 din funcia obiectiv a primalei,
adic b1 = c1 = 2
deoarece variabila corespunztoare acestei restricii, x1, este negativ, restricia va fi
neconcordant i deoarece duala este problem de minim rezult c va fi cu .
-u1 + u2 - 5u4
termenul liber al restriciei va fi coeficientul lui x2 din funcia obiectiv a primalei,
adic b2 = c2 = -5
deoarece variabila corespunztoare acestei restricii, x2, este oarecare, restricia va fi
o egalitate.
Programarea liniar
- u 1 u 2 - 5u 4 - 5
4u 3u 2u - u 4
1
2
3
4
u1 0, u2 oarecare, u3 0, u4 0
Exemplul 2. Considerm o unitate economic care fabric produsele P1, P2 i P3. Pentru
obinerea lor se utilizeaz trei resurse: fora de munc, mijloacele de munc i materii prime. n
tabelul de mai jos se dau consumurile specifice i cantitile disponibile din cele trei resurse,
precum i preurile de vnzare ale celor trei produse.
Produse
Resurse
Fora de munc
Mijloace de munc
Materii prime
Pre de vnzare
(uniti monetare)
P1
P2
P3
1
2
4
3
5
1
4
1
2
Disponibil
(uniti fizice)
15
10
25
_
57
x1 3 x 2 4 x3 15
2 x1 5 x 2 x3 10
4 x1 x 2 2 x3 25
x2 1
xj 0 (j = 1,2,3)
Duala sa va fi:
(min) g = 15u1 + 10u2 + 25u3 + u4
u1 2u 2 4u 3 3
3u1 5u 2 u 3 u 4 2
4u u 2u 6
1
2
3
u1 oarecare, u2 0, u3 0, u4 0
Se remarc faptul c, ntr-o problem economic, nenegativitatea variabilelor primalei (xj0)
impune ca n dual toate restriciile s fie concordante.
Exemplul 3.
Primala
Duala
x1 x 2 20
2 x x 30
2
1
3x1 x 2 41
5 x1 x 2 65
4u1 3u 2 2u 3 u 4 u 5 u 6 u 7 3
uI 0 (i = 1,7)
x1, x2 0
Corespondena care exist ntre problema primal i problema dual, att sub aspect
matematic, ct i economic, va fi lmurit de observaiile i teoremele de mai jos:
Lema 1. Duala problemei duale este problema primal.
Demonstraia acestei leme este uoar, fcndu-se pe baza simetriilor care se observ n
construcia dualei i va fi lsat n seama cititorului, semnificaia ei fiind c operaia de trecere la
dual este o operaie involutiv (adic e o transformare f cu proprietatea: (f f )(x) = x) i, deci,
perechea primal-dual formeaz un cuplu n care fiecare este duala celeilalte. Din aceast cauz
vom vorbi de cuplul primal-dual fr a mai specifica expres care este primala i care duala.
Observaia 1. Dac o problem este la forma canonic atunci i duala sa este o problem la
forma canonic.
58
Programarea liniar
Observaia 2. Dac o problem este la forma standard atunci duala sa nu este la forma
standard.
Lema 2. Dac P1 i P2 sunt dou probleme de programare liniar echivalente atunci i dualele
lor sunt de asemenea echivalente. Vom nelege, n aceast afirmaie, prin probleme echivalente,
dou probleme care se pot obine una din cealalt prin transformri elementare. Aceste transformri
realizeaz un izomorfism ntre mulimile soluiilor celor dou probleme i un homeomorfism ntre
funciile lor obiectiv.
Teorema fundamental a dualitii.
Rezolvarea celor dou probleme din cuplul primal-dual poate duce doar la unul din
urmtoarele trei rezultate:
Dac una din cele dou probleme are soluie optim finit atunci i cealalt are soluie
optim finit i valorile funciilor obiectiv corespunztoare celor dou soluii sunt egale;
Dac una din cele dou probleme are optim infinit atunci cealalt nu are soluii
admisibile.
Dac una din cele dou probleme nu are soluii admisibile atunci cealalt are optim
infinit sau nu are soluii admisibile.
Rezolvare. Presupunem c cele dou probleme au fost aduse la forma canonic:
Primala
Duala
(max) cTx
Ax b
x0
(min) bTu
ATu c
u0
Aceast presupunere nu va afecta rezultatul, deoarece, dac nu erau deja aa, noile probleme
sunt echivalente cu cele iniiale. n continuare, pentru rezolvarea acestei teoreme demonstrm
urmtoarea lem:
Lema 3. Dac exist soluii admisibile pentru fiecare problem atunci pentru orice x soluie
admisibil a primalei i orice u soluie admisibil a dualei avem:
cTx bTu
Demonstraie: Avem:
ATu c (ATu)T cT uTA cT
u TA cT
x0
De asemenea:
Ax b
Obinem:
u0u 0
T
u T Ax c T x
u T Ax u T b b T u
1
b T u u T Ax c T x b T u c T x q.e.d.
59
relaie care spune c vectorul cu m componente u * = ( c TB B-1)T este o soluie de baz admisibil a
problemei duale (primala fiind la forma standard, variabilele dualei pot avea orice semn).
Avem, conform lemei 3: cTxB uTb pentru orice soluie admisibil a problemei duale. Pe de
alt parte cTxB = cTB-1b = (u*)Tb de unde rezult c pentru orice soluie admisibil a problemei duale
se verific:
(u*)Tb uTb
care este echivalent cu faptul c u* este soluia de optim a dualei i c f(xB) = g(u*).
2. Problema are optim infinit. n acest caz, dac duala ar avea soluii admisibile u, g(u) ar fi
un majorant pentru mulimea {f(x)/ x admisibil}, n contradicie cu ipoteza de optim infinit.
3. Problema nu are soluii. n acest caz, dac duala ar avea optim finit ar rezulta, conform
celor artate n varianta 1, c primala are optim finit, n contradicie cu ipoteza.
n concluzie, deoarece cele trei variante acoper toate situaiile posibile, toate ducnd la unul
din rezultatele afirmate ca posibile n teorem i innd cont de faptul c nu a avut importan care
problem a fost aleas spre rezolvare, teorema este demonstrat.
Teorema ecarturilor complementare.
*
*
*
*
*
*
Fie x* = x1 , x 2 ,..., x n i u* = u1 , u 2 ,..., u m dou soluii admisibile ale primalei, respectiv
dualei, scrise sub forma canonic. Atunci ele sunt soluii optime ale celor dou probleme dac i
numai dac verific sistemul:
*
*
u
b
i i aij x j 0 i 1, m
j 1
sau, matricial
m
(u * ) T (b Ax * ) 0
* T
*
[(u ) A c] x 0
Demonstraie.
Presupunem c x* i u* sunt soluiile optime ale celor dou probleme. Atunci:
Ax * b
u* 0
(u*)T(b Ax*) 0
60
Programarea liniar
AT u * c
x* 0
(( u*)TA - c)(x*) 0
Dac (u*)T(b Ax*) = (( u*)TA - c)(x*) = 0 (u*)T(b Ax*) + (( u*)TA - c)(x*) = 0 (u*)Tb =
cx* ( conform teoremei fundamentale) x* i u* sunt soluiile optime ale celor dou probleme.
Teorema ecarturilor complementare d o caracterizare pentru optimalitatea soluiilor
primalei i dualei, dac ele exist. Sistemul din teorem se obine aplicnd metoda multiplicatorilor
lui Lagrange pentru extreme cu legturi, n cazul particular al unei probleme de programare liniar.
Aceast teorem nu reprezint o modalitate practic de a rezolva cele dou probleme dect
n anumite cazuri simple, rezolvarea sistemului fiind mai grea, n cazul problemelor liniare, dect
rezolvarea cu algoritmul simplex al fiecrei probleme, dar, pe baza ei, se poate gsi soluia uneia din
probleme dac se cunoate soluia celeilalte sau se poate verifica dac o soluie a unei probleme este
optim, introducnd-o n sistem, gsind celelalte necunoscute i verificnd c ele formeaz o soluie
admisibil a dualei.
Observaia 3. Demonstrarea teoremei fundamentale s-a fcut gsind efectiv soluia optim a
dualei, considerndu-se c primala a fost rezolvat cu algoritmul simplex. Ea este c TB B-1 i, pentru
gsirea practic a acesteia, trebuie cunoscut B-1. Matricea B-1 nu apare explicit n rezolvarea
problemei cu algoritmul simplex, dar se poate demonstra c este format din coloanele din tabelul
simplex al soluiei optime corespunztoare poziiilor care formau baza soluiei iniiale. c TB B-1
reprezint chiar zj corespunztoare acestor coloane din ultimul tabel, deci putem formula rezultatul:
soluia dualei este format din valorile zj ale tabelului soluiei optime, corespunzoare
vectorilor coloan ai bazei iniiale
Introducerea dualitii este motivat din mai multe puncte de vedere:
1. Teoretic. Una din problemele centrale ale programrii matematice este caracterizarea
situaiilor n care exist optimul unei probleme i gsirea unor metode prin care s recunoatem
optimalitatea unei soluii. Teorema fundamental a dualitii i teorema ecarturilor complementare
reprezint rezultate chiar n acest sens, n care se folosete dualitatea.
2. Practic. Rezultatele obinute mai sus contureaz faptul c putem rezolva o problem
rezolvnd problema dual a acesteia sau cunoscnd soluia dualei. n unele cazuri, rezolvarea dualei
este mult mai uoar dect rezolvarea primalei, de exemplu cnd numrul de restricii al primalei
este mai mare dect numrul de variabile al acesteia sau cnd primala necesit mai multe variabile
suplimentare dect duala. Astfel, pentru exemplul 3 de mai sus, rezolvarea primalei duce la opt
iteraii cu tabele cu 7 linii i 16 coloane, iar rezolvarea dualei la 5 tabele cu 2 linii i 9 coloane. n
alte cazuri, soluiile dualei sunt deja cunoscute, gsirea soluiilor primalei revenind la a rezolva
sistemul din teorema ecarturilor complementare, dup ce au fost nlocuite soluiile celei duale.
3. Economic. n cele mai multe probleme economice, a cror rezolvare se face printr-un
model de programare liniar, soluia dualei aduce o serie de informaii suplimentare despre
61
P1
P2
P3
1
2
4
3
5
1
4
1
2
Disponibil
(uniti fizice)
15
10
25
Modelul matematic pe baza cruia se stabilete programul optim de producie, avnd drept
criteriu de eficien valoarea maxim a produciei, are forma:
(max) f = 3x1 + 2x2 + 6x3
x 1 3x 2 4x 3 15
2x 1 5x 2 x 3 10
4x 1 x 2 2x 3 25
x1, x2, x3 0
Utiliznd regulile de trecere la dual, rezult urmtoarea problem dual:
(min) g = 15u1 + 10u2 + 25u3
u 1 2u 2 4u 3 3
3u 1 5u 2 u 3 2
4u 1 u 2 2u 3 6
u1, u2, u3 0
Dup rezolvarea cu algoritmul simplex se obine soluia optim a celor dou probleme n
ultimul tabel simplex, dat n continuare:
62
Programarea liniar
cB
xB
x3
x1
x6
zj
xB
20
7
25
7
35
7
195
7
3
x1
0
1
0
3
0
2
x2
1
7
17
7
-9
57
7
43
7
6
x3
1
0
0
s1
2
7
1
0
6
0
0
s2
1
7
4
7
-2
9
7
9
7
6
7
6
7
0
s3
0
0
1
0
0
Dual
n condiiile
n condiiile
x 1 2x 2 5
x 1 x 2 x 3 x 4 20
2x 1 5x 2 8x 3 3x 4 100
u1 u 2 2u 3 4
u 2 5u 3 3
- 2u u 8u 7
3
1 2
u
3u
2
3 2
u1 oarecare, u2,u3 0 i u4 0
63
Dual
x 1 3x 2 4x 3 15
2x 1 5x 2 x 3 10
4x x 2x 25
3
1 2
x2 1
u 1 2u 2 4u 3 3
3u 1 5u 2 u 3 u 4 2
4u 1 u 2 2u 3 6
u1 oarecare, u2, u3 0, u4 0
x1, x2, x3 0
Se constat ca, n funcia obiectiv a problemei duale, apar cantitile disponibile din cele trei
resurse, nmulite cu mrimile u1, u2, i respectiv u3. ntruct resursele reprezint valori de
ntrebuinare diferite, cantitile bi nu se pot nsuma dect dac indicatorii ui evalueaz resursele n
aceeai unitate de msur. Dup cum se vede din aceste model, valoarea indicatorilor u i depinde de
cantitatea de resurse disponibile, de structura consumurilor directe din resursa respectiv i de
structura matematic a modelului.
Conform teoremei ecarturilor complementare, resurselor utilizate n ntregime le corespund
evaluri ui strict pozitive, iar resurselor excedentare le corespund indicatori u i = 0. Un produs Pj va
aprea n soluia optim, (xj > 0) numai atunci cnd costul su unitar de producie, obinut prin
evaluarea resurselor consumate cu ajutorul indicatorilor u i, nu depete preul unitar de producie
cj, adic atunci cnd:
m
u i a ij = cj
(R)
i 1
Ideea enunat mai sus se confirm i n cazul exemplelor analizate. Astfel, n exemplul 1,
produsul P2 nu apare n soluia optim (x2 = 0) deoarece costul su de producie depete preul
unitar de realizare:
a12u1 + a22u2 + a32u3 > c2
adic: 3
9
6
+ 5
+ 10 = 8,1 > 2.
7
7
Celelalte dou produse intr n programul optim, ntruct este satisfcut relaia (R). Deci,
fabricarea unui produs care nu figureaz n programul optim este neeficient din punctul de vedere
al folosirii resurselor.
Prin urmare, pentru o problem de programare liniar scris sub forma canonica, n care se
urmrete maximizarea funciei f (x), mrimea ui reprezint valoarea ultimei uniti folosite n
producie din resursa Ri.
Avnd n vedere c max[f(x)] = min [g(u)], rezult c, dac, cantitatea disponibil din
resursa Ri crete cu o unitate, atunci valoarea funciei obiectiv crete cu u i, deci ui msoar creterea
valorii funciei obiectiv determinat de creterea cu o unitate a cantitii disponibile bi.
Aceste evaluri obinute dintr-un program optim au fost denumite n literatura de
specialitate "preuri umbr" sau "evaluri obiectiv determinate".
Preul umbr ui arat cu ct se modific funcia obiectiv a problemei duale 1, atunci cnd
termenul liber al restriciei Ri se "relaxeaz" cu o unitate. A "relaxa" are semnificaia de a spori
cantitatea disponibil bi a unei resurse deficitare sau, pentru restriciile de tip calitativ cu limit
1
Dar i a problemei primale, ntruct f(x) i g(u) sunt legate prin teorema dualitii
64
Programarea liniar
n
inferioar impus ( a ij x j bi), de a reduce nivelul termenului liber b i. Este evident c, dac o
j1
resurs nu este utilizat n ntregime pentru satisfacerea programului optimal xB ( a ij x j < bi),
j1
atunci ui = 0 iar funcia obiectiv nu este afectat de sporirea cantitii disponibile bi. n cazul
restriciilor de tip calitativ, acestea nu constituie un "loc ngust" pentru programul optimal xB dac i
n
numai dac
65
Variabile
u4
x1
u5
x2
u6
x3
u1
x4
u2
x5
u3
x6
f(x)
15
3
25/7
57/7
0
6
20/7
9/7
0
6/7
0
0
5
195/7
41
3
0
30
0
6
10
0
1
6
0
0
5
60
Se observ c ntre anumite limite de variaie ale primei resurse, preurile umbr au aceeai
valoare. Pentru valori mai mari dect 40 uniti, preurile umbr au o alt valoare, deoarece, n acest
caz, prima resurs i a treia devin excedentare. Valoarea funciei de eficien va crete cu u 1b1,
unde b1 reprezint sporul disponibilului din prima resurs. Pentru b1 > 40 preul umbr al resursei
a doua este u2 = 6, deci valoarea funciei eficien va crete cu 6 uniti, atunci cnd b 2 crete cu o
unitate. Aste informaii sunt utile pentru fundamentarea planului de producie aprovizionare cu
diverse resurse.
La interpretarea influenei pe care variaia cantitii disponibile b i o are asupra preurilor
umbr, trebuie s se in seama c b i este o variabil continu. Din aceast cauz u i se definete
astfel:4
F
b i
ui =
Este clar c ui va avea o alt valoare cnd b i crete (scade) peste o anumit limit (de
exemplu bi > 40).
Dup cum s-a artat mai nainte, n cadrul algoritmului simplex se stabilete activitatea cea
mai eficient ak, prin folosirea criteriului de intrare:
Zk = min (zj cj) la problemele de maxim
Zk = max (zj cj) la. problemele de minim
Avnd n vedere relaia formulele de calcul ale lui Z i uB, rezult c:
m
zj =
c i y ij
i 1
u i a ij
i 1
j JS
unde yij reprezint elementele coloanei j din tabelul simplex corespunztor unei soluii de baz. n
4
F este o funcie de tip Lagrange, obinut din problema standard de programare liniar astfel:
m
F = f(x) +
uiRi (x)
i 1
unde Ri(x) reprezint restriciile problemei de programare liniar iar ui, 1 i m sunt multiplicatorii lui Lagrange.
66
Programarea liniar
cea de a doua sum a relaiei precedente se evalueaz coeficienii consumurilor directe,
corespunztori activitii aj, prin preurile umbr ataate celor m restricii i, de aceea, mrimea
rezultat poate fi interpretat ca un pre umbr al produsului sau activitii j. Trebuie precizat c,
pentru fiecare baz, vom dispune de un vector u = (u 1, u2, ... , um) care se refer la fluxurile intrri ieiri corespunztoare soluiei de baz. De aceea, evalurile privind eficiena economic a
activitilor aj (j JS = indicii variabilelor secundare), fcute cu ajutorul indicatorilor u i, sunt
valabile numai pentru baza considerat.
Concluziile obinute pe baza analizei corespondenei biunivoce dintre problema primal i
cea dual ne permit s nelegem sensul economic al criteriului de intrare n baz.
Pentru problemele n care se cere maximizarea funciei f(x), indicatorii zj reprezint costul
unitar de fabricaie al produsului j, rezultat din evaluarea coeficienilor a ij prin preurile umbr
ataate restricii1or. Rezult c, prin calcularea diferenei j, se compar acest cost unitar cu
coeficientul cj (pre unitar, beneficiu unitar etc.) din funcia obiectiv. Dac exist diferene negative
(j < 0) nseamn c, la activitile respective, preul umbr al produsului j (costul unitar de
fabricaie exprimat n indicatori ui) este mai mic dect venitul realizat i de aceea activitatea a j este
eficient. Aa se explic faptul c va intra n baz vectorul a k ce corespunde diferenei zj minime.
n momentul n care toate diferenele sunt pozitive (zj 0) rezult c nu mai exist activiti
eficiente i prin urmare soluia de baz analizat este optim.
n cazul problemelor de minim, indicatorii zj se pot interpreta ca venituri, exprimate n
preurile umbr ale restriciilor, ce se obin prin realizarea unei uniti din produsul j. Prin urmare,
dac exist diferene pozitive (zj > 0), activitile aj corespunztoare sunt eficiente, deoarece se
realizeaz un venit unitar mai mare dect costul unitar de fabricaie (z j > cj). De aceea, va intra n
baz activitatea ak, corespunztoare diferenei maxime, iar soluia de baz se consider optim
atunci cnd toate diferenele zj sunt nepozitive (zj 0).
67