You are on page 1of 13

2.

Dualitatea n programarea liniar

2. Dualitatea n programarea liniar


n principiu, oricrei probleme de programare liniar i se asociaz o
alta, numit duala sa i n esen teoria dualitii const n studiul relaiilor
dintre cele dou probleme. Firete, construcia problemei duale depinde
nemijlocit de structura problemei iniiale denumit i problema primal.
ntotdeauna sensul optimizrii n cele dou probleme este diferit: dac n
primal funcia obiectiv se maximizeaz (se minimizeaz) n dual funcia
obiectiv se minimizeaz (se maximizeaz). Studiul i interpretarea economic a
problemei duale aduc informaii suplimentare n analiza proceselor economice
i n fundamentarea deciziilor.
2.1 Reguli de construire a problemei duale
Pentru a conferi construciei problemei duale maxima generalitate vom
slbi condiia de nenegativitate impus tuturor variabilelor , admind c
unele din ele nu pot lua dect valori nepozitive ( 0) n timp ce altele pot lua
orice valoare real.
Cu aceast observaie duala unei probleme de programare liniar cu m
restricii i n variabile se construiete dup urmtoarele reguli:
1) Dac n primal funcia obiectiv se maximizeaz (respectiv se
minimizeaz) n problema dual funcia obiectiv se minimizeaz (respectiv se
maximizeaz).
2) Restriciei de rang i , i=1,...,m din primal i corespunde n dual o
variabil ui; dac restricia primal este o inegalitate concordant (respectiv
neconcordant, respectiv o egalitate) variabila dual asociat este nenegativ
(0), ( respectiv nepozitiv (0), respectiv fr restricie de semn).
3) Variabilei xj , j=1,...,n din problema primal i corespunde n dual
restricia de rang j. Membrul stng al acestei restricii este o combinaie
liniar a variabilelor duale ui realizat cu coeficienii variabilei xj din toate
restriciile primalei (acetia sunt aij, i=1,...,m). Termenul su liber este
coeficientul cj al lui xj din funcia obiectiv primal. n fine, dac variabila
primal xj este nenegativ (respectiv nepozitiv, respectiv fr restricie de
semn) restricia dual asociat va fi o inegalitate concordant (respectiv
neconcordant, respectiv o egalitate).
4) Coeficienii funciei obiectiv ai problemei duale sunt termenii liberi
bi ai restriciilor problemei primale.

I. PROGRAMARE LINIARA

10

Exemplul 2.1.1
Problema primal

Problema dual

3x1 2 x 2 + x 3 + 4 x 4 x5 6
2 x
+ 2 x 3 + 5x 4 + x 5 = 9
1
x1 + 6 x 2 + x 3 + 2 x 4
3

x1 0

x2 0

x 3 f . r . s.

x 4 f . r . s.

x5 0

max f = 8 x1 + 3x 2 + x 3 + 5x 4 + 7 x5

u1 0

u2 f . r . s.

u3 0

3u1 + 2u2 + u3 8

2u1
+ 6u3 3

u1 + 2u2 + u3 = 1

4u1 + 5u2 + 2u3 = 5

u1 + u2
7

min g (u) = 6u1 + 9u2 + 3u3

Observaii: 1) Problema dual are attea variabile (respectiv restricii)


cte restricii (respectiv variabile) are problema primal.

2) Regulile 1) - 4) pun n eviden urmtoarele corespondene de


termeni prin trecere la dual:
min
(restricie) concordant
(restricie) neconcordant
(restricie) egalitate
termen liber al unei restricii

max
(variabil) nenegativ
(variabil) nepozitiv
(variabil) fr restricie de semn
coeficient al funciei obiectiv

3) Din construcia de mai sus rezult urmtoarea concluzie:


Duala dualei este problema primal.
Spunem c dualitatea n programarea liniar are un caracter involutiv.
n consecin, fiind dat o problem de programare liniar (P) i duala
sa (Q), vom vorbi despre cuplul de probleme n dualitate (P,Q), fr a mai
specifica n mod expres care din probleme este primala i care duala.

2. Dualitatea n programarea liniar

11

2.2 Dualele unor forme particulare de probleme de programare


liniar

1) Duala unei forme canonice de maximizare este o form canonic de


minimizare i reciproc.

u1 0
u2 0
.
..........
um 0
a11u1 + a 21u2 +K + a m1um c1

a11 x1 + a12 x 2 +K+ a1n x n b1


a x + a x +K+ a x b
22 2
2n n
2
21 1
..............................................

a m1 x1 + a m2 x 2 +K+ a mn x n bm
x1 0

x2 0

xn 0

max f = c1 x1 + c2 x 2 +K+ cn x n

a12 u1 + a 22 u2 +K + a m2 um c2

.............................................
a1n u1 + a 2 n u2 +K+ a mn um cn

min g = b1u1 + b2 u2 +K+bm um

Cu notaiile matriciale introduse n (1.3) la care se adaug: u = [u1 , u2 ,..., um ]

cuplul format din cele dou probleme de mai sus devine:

uA c

(Q) u 0
min g (u) = ub

Ax b

( P) x 0
max f ( x ) = cx

2) Conservarea formei de prezentare se pierde atunci cnd se


consider duala unei probleme n form standard.
n

a x = bi i = 1,..., m
j =1 ij j

xj 0
j = 1,..., n

n
max f =
cj x j

j =1

sau matricial:

j = 1,.., n

ui f . r . s. i = 1,..., m

a ij ui c j

i =1

min g = bi ui
i =1

I. PROGRAMARE LINIARA

12

Ax = b

( P) x 0
max f ( x ) = cx

uA c

( Q )u R m ( f . r. s. )
min g ( u ) = ub

(f.r.s. fr restricie de semn!)


n mod analog se construiete duala formei standard n care funcia
obiectiv se minimizeaz:
Ax = b

( P) x 0
min f ( x ) = cx

uA c

( Q )u f . r. s.
max g( u ) = ub

Observaie: De reinut este faptul c dualele a dou probleme de


programare liniar echivalente sunt ele nsele echivalente adic au aceeai
mulime de soluii admisibile i aceleai soluii optime.
2.3 Teoreme de dualitate

Cu notaiile matriciale din (2.2) s considerm cuplul de probleme n


dualitate n form canonic:
(max) f ( x ) = cx

( P ) Ax b
x0

(min) g ( u ) = ub

( Q ) uA c
u0

Teorema 2.3.1 Fie x = [ x1 , x 2 ,..., x n ]

o soluie admisibil a

problemei (P) i u = [u1 , u2 ,..., um ] o soluie admisibil a problemei (Q).


Atunci:
1) f ( x ) g (u )
2) Dac f ( x ) = g (u ) atunci x este o soluie optim a problemei (P)
iar u este o soluie optim a problemei (Q).

2. Dualitatea n programarea liniar

13

Ax b , x 0
uA c ,
Demonstraie:1)Prin
ipotez
i
u 0 .Deducem c uAx ub i uAx cx (nenegativitatea vectorilor x i
u este esenial!) de unde:
f ( x ) = cx uAx ub = g (u )

2) Dac f ( x ) = g (u ) i dac x nu ar fi soluie optim a problemei (P)


ar exista o soluie admisibil x' mai bun, adic f ( x ') > f ( x ) .Rezult
inegalitatea f ( x ') > g (u ) contrar celor demonstrate la punctul precedent.
Clasificarea cuplurilor de probleme de programare liniar n dualitate
este fcut de urmtoarea teorem:
Teorema 2.3.2 (Teorema fundamental a dualitii) Pentru un cuplu
de probleme n dualitate una i numai una din urmtoarele situaii este
posibil:
1) Ambele probleme au soluii admisibile; atunci ambele au soluii
optime i valorile optime ale funciilor obiectiv coincid.
2) Numai una din probleme are soluii admisibile, iar cealalt nu are;
atunci problema compatibil are optim infinit.
3) Nici una din probleme nu are soluii admisibile.

Simetria teoremei 2.3.2 nu constituie totui un rspuns pentru reciproca


teoremei 2.3.1 Specificm acest lucru n mod expres pentru c n programarea
neliniar el nu are loc.
Teorema 2.3.3 Dac una din problemele unui cuplu de probleme n
dualitate au soluie optim atunci i cealalt are i valorile optime ale
funciilor obiectiv coincid.

Nu dm demonstraia teoremei 2.3.2 deoarece pregtirile necesare depesc


cadrul impus acestei lucrri. Vom demonstra ns teorema 2.3.3 dup ce vom
prezenta metoda general de rezolvare a problemelor de programare liniar.
Teorema 2.3.4 (Teorema ecarturilor complementare) Fie (P,Q) un
cuplu de probleme canonice n dualitate:

I. PROGRAMARE LINIARA

14

Ax b

( P) x 0
min f ( x ) = cx

uA c

Q u 0
min g (u) = ub

Un cuplu de soluii admisibile ( x , u ) este un cuplu de soluii optime


dac i numai dac:
(uA c) x = 0

u (b Ax ) = 0
Demonstraie:
cuplul ( x , u ):

presupunem

(2.3.1)
relaiile

(2.3.1)

verificate

de

uAx cx = 0
cx = ub ( x , u ) este un cuplu de soluii optime n virtutea
ub uAx = 0
teoremei 2.3.1.Reciproc, s presupunem c ( x , u ) constituie un cuplu de
soluii optime. Atunci cx = ub ,n virtutea teoremei fundamentale a dualitii i
prin urmare:

(uA c) x + u (b Ax ) = 0

Deoarece x , u sunt soluii admisibile avem: (uA c) x 0, u (b Ax ) 0 i


deci (uA c) x = 0, u (b Ax ) = 0 relaii care arat c x , u verific (2.3.1).
n notaiile seciunii (2.2) relaiile matriciale (2.3.1) se pot scrie:
n
m
aij ui c j x j = 0
j =1 i =1
m
n

ui bi aij x j = 0

i =1
j =1

Aceste relaii - modulo admisibilitatea soluiilor celor dou probleme - sunt


echivalente cu:

2. Dualitatea n programarea liniar

15

a u c x = 0
j
i =1 ij i
j

j = 1,..., n

ui bi aij x j = 0

j =1

i = 1,..., m

Verificarea acestor egaliti de ctre un cuplu de soluii admisibile


T
x = [ x1 , x 2 ,..., x n ] i u = [u1 , u2 ,K , um ] reprezint deci o condiie necesar i
suficient de optimalitate.
Pe lng formularea precedent, teorema 2.3.4. mai are urmtoarea
interpretare:
Cuplul ( x , u ) de soluii admisibile este un cuplu de soluii optime dac i
numai dac verific seturile de implicaii:
x >0
j

n
a ij ui < bi
j =1

a ij u i = c j

i =1

ui = 0

u >0
i
m
aij ui > c j
i =1

aij x j = bi

xj = 0

j =1

Observaie. Dei prezentat pe un cuplu de probleme canonice,


teorema 2.3.4. este valabil pentru orice cuplu de probleme n dualitate. Astfel
pentru cuplul:

max f = cx

Ax = b
x0

min g = ub

uA c
u f . r . s.

m
ele se reduc la: (uA c) x = 0 aij ui c j u j = 0
i =1

i mai concret, considerm cuplul din:


Exemplul 2.3.1

j = 1,... , n.

I. PROGRAMARE LINIARA

16

min f = 5 x1 2 x 2 x 3

6 x1 + 2 x 2 3x 3 6
( P ) x1 + 3x 2 + 2 x 3 = 12
2 x x + 4 x 4
2
3
1
x1 , x 2 , x 3 0

max g = 6u1 + 12u2 + 4u3

6u1 + u2 + 2u3 5
( Q ) 2u1 + 3u2 u3 2
3u + 2u + 4u 1
1
2
3

u1 0, u2 f . r. s., u3 0

Conform teoremei ecarturilor complementare, condiia necesar i suficient


pentru ca dou soluii admisibile ale celor dou probleme:
x = ( x1 , x 2 , x 3 ) T i u = (u1 , u2 , u3 )
s fie optime este satisfacerea relaiilor:
( 5 6u1 u2 2u3 ) x1 = 0

(1)

( 2 2u1 3u2 + u3 ) x 2 = 0

( 2)

( 1 + 3u1 2u2 4u3 ) x 3 = 0

(3)

( 6 6 x1 2 x 2 + 3x 3 )u1 = 0

( 4)

( 2 x1 x 2 + 4 x 3 4 ) u 3 = 0

(5)

O consecin important a teoremei ecarturilor complementare este


faptul c rezolvarea unei probleme de programare liniar este echivalent cu
rezolvarea dualei sale n sensul c dac se cunoate soluia optim a uneia din
ele putem deduce relativ simplu soluia optim a celeilalte.Pentru ilustrare vom
determina soluia optim a problemei (P) din exemplul precedent tiind c
duala (Q) are soluia optim u* de componente: u1* = 0 , u2* = 149 , u3* = 141 .
nlocuind u* n (1) - (5) se constat c relaiile (2),(3),(4) sunt satisfcute de
orice valori numerice acordate variabilelor x1 , x2 , x3. n schimb din (1) i (5)
obinem relaiile: x1=0 i 2x1 - x2 + 4x3 - 4 = 0 care mpreun cu restricia
egalitate din (P) constituie un sistem liniar:
= 0
x1

2 x1 x 2 + 4 x 3 = 4
x + 3x + 2 x = 12
2
3
1

2. Dualitatea n programarea liniar

17

Rezolvnd sistemul, obinem soluia optim a problemei (P):

x1* = 0 , x 2* =

20
7

, x 3* =

f max = f ( x * ) = 527 = g (u * ) = g min

12
7

Echivalena amintit mai nainte este folositoare n rezolvarea efectiv


a problemelor de programare liniar tiut fiind c efortul de calcul este relativ
mai mic dac numrul restriciilor este mai mic. n consecin, pentru o
problem cu multe restricii i un numr restrns de variabile, va fi mai comod
s rezolvm duala sa.
2.4 Interpretarea economic a dualitii

Relum problema firmei din seciunea 1.1 exemplul 1).Considerm o


ntreprindere care produce bunurile G1,G2,...,Gm la preurile c1,c2,...,cn folosind
pentru aceasta mai multe resurse R1,R2,...,Rm disponibile n cantitile limitate
b1,b2,...,bm. Consumurile specifice de resurse pentru unul sau altul din bunurile
realizabile de ctre firm sunt specificate n matricea:
a11
a 21
A=
M
a m1

a12
a 22
M
a m2

K a1n
K a2n

K M
K a mn

Obiectivul firmei este maximizarea veniturilor rezultate din vnzarea


bunurilor produse. n ipotezele de liniaritate uzuale, programul liniar pentru
determinarea combinaiei optime de bunuri este:
(max) f ( x ) = c1 x1 + c2 x 2 +K+ cn x n
a x + a x +K+ a x b
12 2
1n n
1
11 1
a 21 x1 + a 22 x 2 +K+ a 2 n x n b2
(P)
............................................
a m1 x1 + a m2 x 2 +K+ a mn x n bm

x1 0, x 2 0,K , x n 0

S notm cu x* = ( x1* , x 2* ,..., x n* ) combinaia de bunuri care aduce firmei


venitul maxim:

I. PROGRAMARE LINIARA

18

V * = max f = f ( x*) = c x + c2 x +...+ cn x n*


*
1 1

*
2

Dac admitem c singura posibilitate a firmei de a obine venitul V* const n


transformarea resurselor disponibile n bunuri conform programului x* i
vnzarea acestora este natural s ne ntrebm care este contribuia fiecrei
resurse n parte la formarea acestui venit.
La baza discuiei vom pune aceleai ipoteze de liniaritate care ne-au
condus la modelul matematic (P) i anume:
contribuia unei resurse la venitul maxim al firmei este - pn la o
anumit limit - direct proporional cu cantitatea disponibil;
nivelul contribuiei unei resurse nu este condiionat de celelalte
resurse , ci numai de cantitatea n care ea se afl disponibil.
S notm atunci cu u1* , u2* ,..., um* aportul unei uniti din resursa R1, din resursa
R2, .a.m.d. la formarea venitului maxim V*.n virtutea ipotezelor de liniaritate
amintite putem scrie:
V * = b1u1* + b2 u2* +...+bm um*

(2.4.1)

Producerea unei uniti din bunul Gj necesit a1j uniti din resursa R1, a2j
uniti din resursa R2 ,....., amj uniti din resursa Rm.
Partea din venitul maxim V* corespunztoare acestor cantiti este:
a1 j u1* + a 2 j u2* +...+ a mj um*

Aceast mrime trebuie s acopere preul pe care firma l ncaseaz prin


vnzare de vreme ce ea nu are alte resurse de formare a venitului n afara
transformrii resurselor n bunuri. Se
u* = (u1* , u2* ,..., um* ) trebuie s satisfac relaiile:

conchide

a11 u1* + a 21u2* +...+ a m1 um* c1

*
*
*
a12 u1 + a 22 u2 +...+ a m2 um c 2

..........................

a u * + a u * +...+ a u * c
2n 2
mn m
n
1n 1
i deasemeni condiiile de nenegativitate:

sistemul

(2.4.2)

2. Dualitatea n programarea liniar

19

u 0, u 0,..., u 0
*
1

*
2

*
m

(2.4.3)

Sunt suficiente relaiile (2.4.1) - (2.4.3) pentru determinarea efectiv a valorilor


u1* , u2* ,..., um* ? Teoria dualitii d un rspuns afirmativ pe baza urmtoarelor
observaii:
1) Relaiile (2.4.2) i (2.4.3) arat c u* = (u1* , u2* ,..., um* ) constituie o
soluie admisibil a dualei (Q) asociat problemei (P):
(min) g( x ) = b1 u1 + b2 u2 +...+ bm um
a u + a u +...+ a u c
21 2
m1 m
1
11 1
a12 u1 + a 22 u2 +...+ a m2 um c 2
( Q )
. ..................................
a1n u1 + a 2 n un +...+ a mn um c n

u1 0, u2 0,..., um 0
2) Relaia (2.4.1) rescris n forma f(x*) = g(u*), coroborat cu teorema
de dualitate 2.3.1, ne arat c u* este chiar soluia optim a problemei duale Q.
Astfel, am gsit un coninut economic coerent variabilelor duale u1, u2,..., um
din problema dual (Q). Ele reprezint nite valori bneti asociate la cte o
unitate din fiecare resurs disponibil a firmei i exprim aportul unitar al
fiecrei resurse la formarea venitului maxim. Strict dimensional, variabilele u1,
u2,..., um au semnificaia unor preuri ataate resurselor. Totui aceste preuri nu
au nimic comun cu valoarea intrinsec a resurselor ci - aa cum a rezultat din
interpretarea dat - reflect numai msura participrii lor la formarea venitului
maxim. Tocmai pentru a preveni identificarea lor cu preurile reale ale
resurselor, n literatura de specialitate, aceste entiti au fost denumite preuri
umbr (shadow prices). A rezultat deasemeni i o modalitate de calcul a
acestor mrimi : se rezolv problema dual (Q).
Teoria dualitii arat c venitul maxim V* al firmei - privit ca funcie
de cantitile disponibile de resurse - depinde liniar de aceste disponibile prin
intermediul preurilor duale optime - vezi relaia (2.4.1)
n consecin:

I. PROGRAMARE LINIARA

20

V
= ui*
bi
*

i = 1,..., m

(2.4.4)
Prin urmare preurile duale optime ne arat cu ct se modific venitul
maxim V* al firmei la o variaie cu o unitate a disponibilului unei resurse.
Este important de reinut faptul c aceste concluzii rmn valabile numai n
situaia n care componentele vectorului b variaz ntre anumite limite! n cazul
general, atunci cnd se iau n considerare toate valorile posibile ale lui b, adic
b R+m , funcia V*(b) este subaditiv i pozitiv omogen.Aceasta nseamn:
V * ( b + b' ) V * ( b) + V * ( b' )
V * ( tb ) = tV * ( b )

( ) b, b' R+m
( ) t 0 , b R+m

Reamintim c n baza teoremei ecarturilor complementare soluiile optime x*,


u* al problemelor (P) i (Q) satisfac relaiile:
x *j > 0 a1 j u1* + a 2 j u2* +...+ a mj um* = c j

(2.4.5)

a x + ai 2 x +...+ ain x < bi u = 0


*
i1 1

*
2

*
n

*
i

(2.4.5' )

ui* > 0 ai1 x1* + ai 2 x 2* +...+ ain x n* = bi

(2.4.6)

a1 j u1* + a 2 j u2* +...+ a mj um* > c j x *j = 0

(2.4.6')

(2.4.5) arat c dac bunul Gj intr n combinaia optim atunci preul su este
egal cu partea din venitul maxim al firmei corespunztoare resurselor
ncorporate ntr-o unitate din el.
(2.4.5') arat c dac o resurs nu este prevzut a se consuma n ntregime spunem c este excedentar - preul su dual este 0. Aceast concluzie
reprezint versiunea liniar a legii cererii i ofertei - preul unei mrfi pentru
care oferta este mai mare dect cererea trebuie s scad.
(2.4.6) arat c o resurs cu pre dual semnificativ trebuie consumat n
ntregime; creterea cu o unitate a disponibilului aducnd o cretere a venitului
maxim conform (2.4.4).
(2.4.6') arat c dac pentru un bun valoarea resurselor ncorporate ntr-o
unitate - valoare msurat n preurile duale optime - depete preul su
m

atunci acesta nu intr n combinaia optimal. Diferena aij u *j c j reprezint


i =1

2. Dualitatea n programarea liniar

21

pierderea potenial de venit pe care firma o va nregistra dac totui decide


realizarea unei uniti din bunul j.
Condiiile (2.4.5),(2.4.5'),(2.4.6),(2.4.6') date de teorema ecarturilor
complementare se mai numesc i condiii de echilibru de unde i numele de
preuri de echilibru dat uneori preurilor duale optime.

You might also like