Sunteți pe pagina 1din 22

Unitatea de nvare 5

ELEMENTE DE PROGRAMARE LINIAR


Dualitatea n programarea liniar

Cuprins

5.1 Dualul unui program liniar


5.2 Invariana la dualitate a formei canonice
5.3 Principalele rezultate ale dualitii liniare
5.4 Interpretarea economic a problemei duale
5.5 Algoritmul simplex dual

Probleme propuse

85

n principiu, oricrui program liniar i se asociaz un altul numit dualul su i, n esen, teoria
dualitii studiaz relaiile dintre cele dou programe dar i interpretrile acestora n analiza
economic.
Reamintim c o restricie a unui program liniar s-a numit:
- concordant, dac este o inegalitate de tipul ntr-o problem de maximizare sau ntr-o
problem de minimizare;
- neconcordant, dac este o inegalitate de tipul ntr-o problem de maximizare sau ntr-o
problem de minimizare.
Restriciile inegaliti nu fac obiectul acestei clasificri.
Un program liniar n form canonic este un program n care toate restriciile sunt inegaliti
concordante i toate variabilele sale respect condiia de nenegativitate.
Orice program liniar poate fi adus la o form canonic fie de maximizare fie de minimizare prin
operaii care nu altereaz nici soluiile admisibile i nici pe cele optime.

5.1 Dualul unui program liniar


Fixm un program liniar (P) cu m restricii i n variabile x1 , x2 ,, xn . Pentru a conferi construciei
maxima generalitate vom presupune c, pe lng variabile ce pot lua numai valori nenegative ( 0)
exist i variabile ce pot lua numai valori nepozitive ( 0) precum i variabile fr restricie de semn,
care pot lua orice valoare real.
Asociem programului (P) un nou program liniar (Q) numit programul dual, dup regulile I-IV de mai
jos. n raport cu programul dual (Q), programul (P) se va numi programul primal.
I.

Dac n (P) funcia obiectiv se maximizeaz (se minimizeaz), n programul (Q) funcia
obiectiv se minimizeaz (se maximizeaz).

II. Restriciei de rang i din programul primal (P) i corespunde n (Q) o variabil
ui i 1,, m . Dac restricia de rang i este o inegalitate concordant (o inegalitate
neconcordant, respectiv o egalitate) variabila dual ui este nenegativ (nepozitiv,
respectiv fr restricie de semn).
III. Variabilei xj din programul primal (P) i corespunde n dualul (Q) restricia de rang j,
j = 1,.., n.
- membrul stng al restriciei duale este combinaia u1a1 j u 2 a2 j u m amj n care

a1 j , a2 j ,, amj sunt coeficienii variabilei xj din toate restriciile programului (P);


- membrul drept este coeficientul cj pe care variabila xj l are n funcia obiectiv din (P);
- dac variabila xj este nenegativ ( nepozitiv, respectiv fr restricie de semn) restricia
dual asociat este o inegalitate concordant (inegalitate neconcordant, respectiv egalitate)

86

IV. Funcia obiectiv a programului dual (Q) este g u1b1 u 2 b2 u m bm unde


b1 , b2 ,, bm sunt termenii liberi ai restriciilor din programul primal (P).
Prin urmare programul dual are attea variabile (restricii) cte restricii (variabile) are programul
primal.
Exemplul 5.1 Construcia dualului unui program liniar poate fi schematizat astfel:
Programul primal

Programul dual

u1 0
3x1 x2 2 x3 6 x 4 12

x4 6

u 2 frs
x1 4 x2

2 x1 3x2 5 x3 x4 8

u3 0

x1 0

3u1 u 2 2u3 10

( P)
(Q)
x

4
u

3
u

7
2
1
2
3

x3 0

2u1
5u3 2

x 4 frs

6u1 u 2 - u3 4

(min) f 10 x 7 2 x 4 x

1
2
3
4 (max) g 12u1 6u 2 8u 3

Din construcia prezentat rezult urmtoarea concluzie important:


Dualul programului dual este programul primal.
Referitor la acest fapt, vom spune c dualitatea liniar are proprietatea de simetrie. Din aceast cauz,
fiind dat un program liniar (P) i dualul su (Q), vom spune c (P;Q) este un cuplu de programe
liniare n dualitate fr a mai specifica n mod expres care problem este primala i care duala.

5.2 Invariana la dualitate a formei canonice


Duala unei forme canonice de maximizare (minimizare) este o form canonic de
minimizare (maximizare).
Afirmaia rezult din schema:
n a x b i 1, , m
ij j
i

j 1

( P)
xj 0
j 1, , n

(max)
f

cjxj

j 1

Form canonic de maximizare

i 1, , m

u i aij c j j 1,, n (Q)


i 1

( min )g u i bi

i 1

Form canonic de minimizare


ui 0

87

Matricial, un cuplu de probleme n dualitate, n form canonic se scrie:

Ax b

( P) x 0
(max) f cx

uA c

(Q) u 0
(min)g ub

cu conveniile notaionale:

a11 a1n
b1

; b coloan! ; c c1 cn linie!
a m1 a mn
bm
x1
x coloan! ; u u1 u m linie!
x n
Exemplul 5.2 Programele liniare:

3x1 5 x 2 150

x 2 20

( P1 ) 8 x1 5 x 2 300
x 0, x 0
1
2

(max) f 50x1 40x 2

3u1
8u 3 50

5u1 u 2 5u 3 40

( P2 )
u1 0 , u 2 0 , u 3 0

(min)g 150u1 20u 2 300u 3

n care (P1) este modelul firmei de calculatoare din introducere (seciunea 1.1 a unitii de nvare 1)
iar (P2) este dualul su constituie un cuplu de programe n dualitate , n form canonic.
Atenie: forma standard nu se conserv prin trecere la programul dual!!. Afirmaia rezult din
schema:
n a x b i 1, , m

u i frs
i 1, , m
ij j
i

j 1

( P)
xj 0
j 1, , n

u i aij c j j 1,, n (Q)


i 1

n
m

(max) f c j x j
( min )g u i bi

j 1
i 1

form standard de maximizare


programul dual nu este n form standard!

88

Matricial

uA c
Ax b

Programul n form standard de maximizare ( P) x 0


are dualul (Q) u frs
(min)g ub
(max) f cx

Ax b
uA c

Analog, programul n form standard de minimizare ( P) x 0


are dualul (Q) u frs
.
(min) f cx
(max)g ub

Este important de reinut faptul c operaiile prin care un program liniar este adus la o form
canonic (de maximizare sau de minimizare) nu altereaz construcia programului dual! Acesta
este motivul pentru care forma canonic constituie cadrul natural de prezentare a teoriei
dualitii liniare.
Exemplul 5.3 Pentru ilustrare, s considerm programul liniar:

(max) f x1 2 x 2 x3
4 x 3 x 2 x 30
1
2
3

( P) 2 x1 x 2 5 x3 50
x 6 x 9 x 200
1
2
3

x1 0 , x2 0 , x3 frs
al crui dual este programul:

(min)g 30u1 50u2 200u3

4u1 2u2 u3 1

(Q) 3u1 u2 6u3 2

2u1 5u2 9u3 1

u1 frs , u2 0 , u3 0
Vom transforma acum (P) ntr-un program echivalent (P), n form canonic de minimizare, al crui
dual (Q) vom arta c este echivalent cu (Q). Pentru aceasta:
- nlocuim funcia obiectiv f x1 2 x2 x3 cu funcia opus f f x1 2 x2 x3 pe
care o vom minimiza;
- nlocuim egalitatea 4 x1 3x2 2 x3 30 cu inegalitile de sens contrar:

4 x1 3x2 2 x3 30 4 x1 3x2 2 x3 30

4 x1 3x2 2 x3 30

89

nlocuim inegalitatea x1 6 x2 9 x3 200 cu inegalitatea de sens contrar:


x1 6 x2 9 x3 200

- nlocuim x2 x2 cu x2 0 i x3 x3 x3 cu x3 0 , x3 0
Mai jos este dat programul (P) mpreun cu dualul su (Q)

(min) f x1 2 x2 x3 x3

4 x1 3x2 2 x3 2 x3 30

4 x1 3x2 2 x3 2 x3 30

2 x1 x2 5 x3 5 x3 50

( P ) x1 6 x2 9 x3 9 x3 200

x1 0

x2 0

x3 0

x3 0

(max)g 30u1 30u1 50u 2 200u3

u 1 0

u1 0

u 2 0

u3 0
(Q )

4u1 4u1 2u 2 u3 1

3u1 3u1 u 2 6u3 2

2u1 2u1 5u 2 9u3 1

2u1 2u1 5u 2 9u3 1

Efectund substituiile:

u1 u1 u1 u1 frs
u 2 u 2 u 2 0
programul (Q) se rescrie:

(max)g 30u1 50u 2 200u3


4u 2u u 1
1
2
3

3u1 u 2 6u3 2
(Q)
2u1 5u 2 9u3 1

2u1 5u 2 9u3 1

u1 frs , u 2 0 , u3 0

(min)g 30u1 50u 2 200u3

4u1 2u 2 u3 1

(Q) 3u1 u 2 6u3 2

2u1 5u 2 9u3 1

u1 frs , u 2 0 , u3 0

90

5.3 Principalele rezultate ale dualitii liniare


Teorema 1 Fie (P) un program liniar n care funcia obiectiv f se maximizeaz i fie (Q) dualul
su, n care funcia obiectiv g se minimizeaz. Presupunem c programele (P) i (Q) sunt compatibile
i fie x respectiv u o soluie admisibil oarecare a programului (P), respectiv a programului (Q).
Atunci:
i) f ( x ) g (u )
ii) Dac f ( x ) g (u ) atunci x i u sunt soluii optime ale programelor (P) respectiv (Q).
Demonstraie.i) Putem presupune c (P) i (Q) sunt forme canonice:

Ax b

( P) x 0
(max) f cx

Prin ipotez:

Atunci:

Ax b

x 0

uA c

(Q) u 0
(min)g ub

Ax b
u Ax u b ;

u 0

u A c

u 0
u A c
u Ax cx

x 0

Rezult: cx u Ax u b i deci: f ( x ) g (u ) .
ii) Dac cx u b i x nu ar fi soluia optim a programului (P) ar exista o soluie admisibil x
a lui (P) mai bun dect x n sensul c cx cx . Ar rezulta c cx u b f ( x ) g (u ) contrar celor
demonstrate mai nainte.
Observaie: Din teorema 1 rezult n particular c dac (P) i (Q) sunt programe compatibile atunci
ambele au optim finit i (max) f (min)g . n fapt, avem chiar egalitate, aa cum arat urmtoarea:
Teorema 2 (teorema fundamental a dualitii) Orice cuplu de programe liniare n dualitate
se gsete n una i numai n una din urmtoarele trei situaii:
I) Ambele programe sunt compatibile. Atunci ambele programe au soluii optime i valorile
optime ale funciilor obiectiv coincid.
II) Numai unul dintre programe este compatibil cellalt fiind incompatibil. Atunci programul
compatibil are optim infinit.
III) Ambele programe sunt incompatibile.

91

Not: Substana teoremei fundamentale este dat de afimaiile subliniate; limitele impuse acestei
lucrri nu permit justificarea acestor afirmaii. O precizare la prima aseriune este dat n urmtoarea:
Teorema 3 Fie (P) un program liniar n form standard cu optim finit, dat mpreun cu dualul
su (Q)

Ax b

( P) x 0
(max) f cx

uA c

(Q) u frs
(min)g ub

i fie B o baz admisibil a lui (P) a crei soluie asociat x x(B) este optim. Atunci vectorul:
u c B B 1
este o soluie optim a programului dual (Q).
Demonstraie: Teorema 3 va fi o consecin a teoremei 1 dac demonstrm c:
i) u este o soluie a problemei (Q) adic u A c ;
ii) f ( x ) g (u )
n notaiile introduse n seciunile precedente avem:

i) u A c u B , S c B , c S u B c B , u S c S c B c B , c B B 1 S c S 0 , c 0
deoarece B este o baz optim;
ii) f ( x ) cx c B B 1b u b g (u )
Foarte important: Soluia optim u c B B 1 a programului dual (Q) se poate citi din tabelul simplex
optim al programului primal (P) fiind format din mrimile:

z j c B A j ci aij
iI

corespunztoare coloanelor Aj care au format baza unitar de start (dup cum se tie deja, coloanele
A j corespunztoare coloanelor Aj din baza unitar de start formeaz inversa B 1 a bazei optime!! Vezi
seciunea 4.3 a unitii de nvare 4).
n continuare fixm un cuplu (P;Q) de programe liniare n dualitate. Se tie c fiecrei variabile din (P)
sau din (Q) i corespunde o restricie n cealalt problem. Prin definiie, ecartul unei restricii este
diferena dintre cei doi membri ai si. Evident, dac restricia este o egalitate ecartul su este zero n
orice soluie a programului din care face parte restricia. Vom nota cu S(P,Q) ansamblul relaiilor de
forma:
VARIABIL
din (P) sau din (Q)

ECARTUL restriciei
asociate n dual

92

cu convenia de a nu include n sistem relaiile n care ecartul este identic zero. Relaiile din sistemul
S(P,Q) se numesc relaii de complementaritate.
Exemplul 5.4 Pentru cuplul de probleme n dualitate:

x1
3x3 20

35
2 x1 x 2
3x1 x 2 2 x3 30

( P)
x1 0

x2 0

x3 0

(max) f 8 x1 6 x 2 7 x3

u1 0

u2 0

u 3 frs

u1 2u 2 3u 3 8
(Q)

u 2 u 3 6

3u1
2u 3 7

(min)g 20u1 35u 2 30u 3

sistemul relaiilor de complementaritate este format din egalitile:

3x3 20) 0
u1 ( x1

35) 0
u 2 (2 x1 x2
S(P,Q) x1 ( u1 2u 2 3u 3 8) 0
x (
u 2 u 3 6) 0
2
2u 3 7) 0
x3 (3u1

(1)
(2)
(3)
(4)
(5)

Relaia u3 (3x1 x2 2 x3 30) 0 a fost exclus deoarece ecartul din parantez este identic zero!
Exemplul 5.5 Pentru cuplul de probleme n dualitate n form canonic:

Ax b

( P) x 0
(max) f cx

uA c

(Q) u 0
(min)g ub

sistemul S(P,Q) are forma matricial:


u ( Ax b) 0

(uA c) x 0

(cu notaiile matriciale introduse n seciunea 5.2)

93

Exemplul 5.6 Pentru cuplul:

Ax b

( P) x 0
(max) f cx

uA c

(Q) u frs
(min)g ub

n care (P) este o form standard, sistemul S(P,Q) se reduce la:


(uA c) x 0

Cu aceste pregtiri putem enuna:


Teorema 4 (Teorema ecarturilor complementare) Fie (P,Q) un cuplu de programe liniare n
dualitate i fie S(P,Q) sistemul relaiilor de complementaritate. Atunci, un cuplu de soluii admisibile
( x , u ) ale programelor (P) respectiv (Q) este un cuplu de soluii optime ale celor dou programe, dac
i numai dac x i u verific sistemul S(P,Q).
Demonstraie: Fr a restrnge generalitatea putem presupune c (P) i (Q) sunt forme
canonice:

Ax b

( P) x 0
(max) f cx

uA c

(Q) u 0
(min)g ub

(aceasta deoarece, orice program liniar poate fi transformat ntr-o form canonic echivalent).
Sistemul S(P,Q) se compune din relaiile matriciale:
u ( Ax b) 0

(uA c) x 0
Presupunem c x i u sunt soluii optime ale programelor (P) respectiv (Q). Probm c x i u
satisfac sistemul S(P,Q).
Fie u (b Ax ) i (u A c) x .Evident 0 , 0 deoarece x i u sunt soluii admisibile ale
celor dou programe. Atunci:

u b u Ax u Ax cx u b cx 0

deoarece, n baza teoremei fundamentale a dualitii, optimele cx i u b ale celor dou programe
coincid!
Din 0 i 0 , 0 rezult 0 ceeace nseamn c x i u satisfac S(P,Q).
Presupunem c x i u sunt soluii admisibile ale programelor (P) respectiv (Q) care satisfac
sistemul S(P,Q). Din u (b Ax ) 0 i (u A c) x 0 rezult cx u Ax u b i n baza teoremei 1
soluiile x i u sunt ntr-adevr optime.

94

Foarte important: teorema ecarturilor complementare ne permite s determinm soluia optim a unui
program liniar dac tim soluia optim a dualului su. Altfel spus, rezolvarea unui program liniar
este echivalent cu rezolvarea dualului su.
Exemplul 5.7 Considerm cuplul de programe n dualitate din exemplul 5.3. Vom determina soluia
optim a programului (P) tiind c dualul (Q) are soluia optim u1 0 , u2 2 , u3 4 .Introducem
u n relaiile (1) (5) din sistemul S(P,Q):

(1)
(2)
(3)
(4)
(5)

nu d nimic (n sensul c paranteza poate avea orice valoare!)


la optim 2 x1 x2 35 0 deoarece u 2 2 0
nu d nimic;
nu d nimic;
la optim x3 0 deoarece 3u1 2u3 7 1 0

Prin urmare, soluia optim a programului (P) trebuie s verifice relaiile:

2 x1 x2 35

x3 0
rezultate din analiza ntreprins, precum i restricia egalitate din (P):
3x1 x2 2 x3 30

Rezolvnd sistemul format se gsete x1 13 , x2 9 , x3 0 .

5.4

Interpretarea economic a problemei duale

S considerm un cuplu de programe liniare n dualitate n form canonic:


n a x b i 1, , m
ui 0
ij j
i

j 1

( P) x j 0
j 1, , n u i aij c j
i 1

n
m

(max)
f

c
x
(min)
g

u i bi

j j

j 1
i 1

(Q)

Presupunem c (P) modeleaz activitatea unui sistem de producie n care m resurse R1 , R2 ,, Rm


(for de munc, capaciti de producie, materii prime, servicii, bani etc) disponibile n cantitile
limitate b1 , b2 ,, bm sunt transformate n n bunuri G1 , G2 ,, Gn . Sistemul realizeaz un venit din

95

vnzarea bunurilor G1 , G2 ,, Gn la preurile c1 , c2 ,, cn .Transformarea resurselor Ri n bunurile G j

este descris de matricea consumurilor unitare aij i 1,, m j 1,, n .


Programul (P) formalizeaz cerina de a determina n ce cantiti vor fi produse bunurile
din resursele existente astfel nct sistemul s obin cel mai mare venit.
n acest context se pune problema determinrii unui coninut economic coerent pentru
problema dual (Q).
Fie:
f venitul maxim posibil de obinut din resursele date;

x1 , x2 ,, xn cantitile de bunuri care realizeaz venitul maxim f .


x ( x1 , x2 ,, xn ) este deci soluia optim a programului (P) iar f este optimul acestui program.
Avem relaia:
(1)
f c1 x1 c2 x2 cn xn
Deoarece venitul maxim f rezult n exclusivitate din transformarea resurselor n bunuri (se
presupune c tot ceeace se produce se i vinde!) rezult n mod logic c fiecare resurs are un anumit
aport (contribuie) la formarea lui f . n evaluarea acestor contribuii vom folosi aceleai ipoteze de
liniaritate care ne-au condus la programul liniar (P) i anume:
- aportul unei resurse la formarea venitului maxim poate fi exprimat prin orice numr real
nenegativ;
- acest aport este direct proporional cu cantitatea de resurs disponibil;
- aporturile diferitelor resurse sunt independente ntre ele astfel c venitul maxim este suma
aporturilor individuale.
n acest context, notm cu u1 , u 2 ,, u m aportul a cte o unitate din resursele R1 , R2 ,, Rm la
formarea venitului maxim f . Ipotezele de liniaritate sus amintite implic:

u1 0 , u 2 0 ,, u m 0

1 1

2 2

m m

f u b u b u b

(2)
(3)

La producerea unei uniti din bunul G j se folosesc cantitile a1 j , a2 j ,, amj din resursele
R1 , R2 ,, Rm . Aportul acestor cantiti la venitul f este dat de expresia: u1 a1 j u 2 a2 j u m amj .

Pe de alt parte, o dat produs i vndut, o unitate din bunul G j contribuie la f cu preul su c j .
Deoarece f rezult numai din transformarea resurselor n bunuri i vnzarea acestora este logic ca

u1 a1 j u 2 a2 j u m amj c j

(4)

96

Relaiile (1) (4) coroborate cu teorema fundamental a dualitii arat c aporturile unitare
u1 , u 2 ,, u m ale resurselor R1 , R2 ,, Rm la formarea venitului maxim f constituie soluia
optim a programului dual (Q).
Deoarece aportul unitar al unei resurse este exprimat n uniti monetare/unitatea de resurs urmeaz c
acest aport este practic un pre ataat resursei respective. Totui, acest aport unitar nu reflect valoarea
intrinsec a resursei respective i ca urmare nu trebuie identificat cu preul real al resursei. El cuantific
importana resursei n contextul dat, context caracterizat prin:
- resurse disponibile n cantiti limitate;
- tehnologie liniar de transformare a resurselor n bunuri;
- preuri determinate pentru bunurile produse i vndute.
Prin urmare, dac n aceste elemente intervin schimbri este posibil ca i aporturile resurselor s se
modifice, mcar c fizic, resursele au rmas aceleai! Iat motivul pentru care n literatura de
specialitate, aceste aporturi unitare se numesc preuri umbr sau evaluri obiectiv determinate.
Relaia (3) arat c venitul maxim f depinde liniar n anumite limite totui! de cantitile
disponibile b1 , b2 ,, bm de resurse prin intermediul aporturilor unitare u1 , u 2 ,, u m . Atunci relaia:
f
u i
bi

i 1,, m

arat c o cretere cu o unitate a disponibilului actual al resursei Ri implic o cretere a venitului


maxim cu valoarea u i .
Consideraiile precedente se pot dezvolta i n contexte mai generale. S presupunem c ntr-o
problem de planificare a produciei resursa Ri reprezint o anumit categorie de for de munc care
trebuie utilizat n ntregime. Restricia care formalizeaz aceast cerin va fi o egalitate i ca urmare,
variabila dual asociat ui va putea lua orice valoare real. Dac valoarea optim u i este negativ
aceasta va nsemna c cerina utilizrii integrale a resursei Ri este excesiv, o eventual cretere a
disponibilului ei avnd efect negativ asupra obiectivului maximizrii venitului. Din contr, o relaxare
a cerinei, adic admiterea posibilitii folosirii pariale a resursei n cauz, poate duce la rezultate mai
bune!
Funcionarea optimal a sistemului de producie modelat de programul liniar (P) poate fi
descris alternativ prin urmtoarea situaie de echilibru.
Presupunem date urmtoarele propuneri:
- o combinaie x1 , x2 ,, xn de cantiti de bunuri ce ar putea fi produse din disponibilele
b1 , b2 ,, bm de resurse, aceasta nsemnnd:

n a x b
ij j
i

j 1

x j 0

i 1,, m
j 1,, n

97

- un sistem de evaluri unitare u1 , u 2 ,, u m ale resurselor cu proprietatea c preul fiecrui


bun este acoperit de evaluarea resurselor ncorporate ntr-o unitate din bunul respectiv:
m u a c
j 1,, n
i ij
j
i 1

u i 0 i 1,, m

Presupunem c au loc implicaiile:


I) dac evaluarea unitar a unei resurse Ri este pozitiv atunci resursa este integral utilizat n
producerea bunurilor, n cantitile specificate:
n

u i 0 aij x j bi
j 1

II) dac resursa Ri este excedentar, n sensul c disponibilul depete necesarul pentru
producerea cantitilor specificate de bunuri atunci evaluarea resursei este zero, altfel spus, resursa este
gratuit:
n

aij x j bi ui 0
j 1

III) dac bunul G j se produce efectiv atunci evaluarea resurselor ncorporate ntr-o unitate este
egal cu preul bunului:
m

x j 0 u i aij c j
i 1

IV) dac evaluarea resurselor ncorporate ntr-o unitate din bunul G j depete preul bunului
atunci G j este propus a nu se produce:
m

u i aij c j x j 0
i 1

Este evident ndeplinirea relaiilor de complementaritate din teorema ecarturilor complementare:


n

u i (bi aij x j ) 0 i 1, , m
j 1

( u i aij c j ) x j 0

j 1, , n

i 1

care atest c x ( x1 , x2 ,, xn ) constituie combinaia n care bunurile ar trebui produse pentru ca


venitul s fie maxim.

98

5.5 Algoritmul simplex dual


Relum programul liniar general, n form standard:

Ax b

( P) x 0
(max) f cx

n ipotezele i notaiile introduse n seciunile unitii de nvare 3.


n raport cu o baz oarecare B a programului (P) am definit urmtoarele concepte:

x B
- soluia asociat x( B) S dat de formulele:
x
x B B 1b , x S 0 sau, pe componente: xi bi , i I

xj 0 , j J

- costurile reduse asociate, reunite n vectorul:


1 j
B
A
c c B B 1S c S sau pe componente c j cB

cj zj cj

jJ

zj

Vom spune c baza B este:


- primal admisibil dac soluia x (B ) asociat bazei B este admisibil, adic bi 0 , i I ;
- dual admisibil dac se verific criteriul de optimalitate al algoritmului simplex adic:
c j 0 , j J n problemele de maximizare sau c j 0 , j J n cele de minimizare.
Soluia asociat x (B ) se va numi primal sau dual admisibil dac baza B este primal sau dual
admisibil.
Evident, dac baza B este simultan primal i dual admisibil atunci ea este chiar optim n
sensul c soluia asociat este o soluie optim a programului (P).
Algoritmul simplex prezentat n capitolul anterior i cruia i vom zice n continuare algoritmul
simplex primal determin o baz optim prin generarea unei secvene (finite) de baze primal
admisibile. Pentru pornire este necesar cunoaterea unei asemenea baze.
Algoritmul simplex dual datorat lui LEMKE (1953) determin o baz optim pentru
programul (P) prin generarea unei secvene (finite) de baze dual admisibile i are nevoie la start de o
asemenea baz.
Instruciunile algoritmului simplex dual sunt urmtoarele:
Start: se presupune cunoscut o baz dual admisibil B precum i tabelul simplex TB asociat acesteia.

99

Coninutul unei iteraii:


Pasul 1 (Testul de optimalitate) Dac bi 0 , i I (adic toate componentele coloanei VVB sunt
nenegative) Stop: soluia asociat bazei B este optim (fiind simultan primal i dual admisibil). n
caz contrar se trece la:
Pasul 2 (Criteriul de ieire din baz) Se determin indicele bazic r I cu proprietatea:
br minbi , i I

(1)

Coloana A prsete baza curent.


Pasul 3 (testul de recunoatere a incompatibilitii) dac arj 0 , j J (adic toate componentele
liniei variabilei bazice xr situate n corpul mare al tabelului simplex sunt nenegative) Stop: programul
(P) este incompatibil. n caz contrar se trece la:
Pasul 4 (criteriul de intrare n baz) Se determin indicele nebazic k J cu formula:

ck
cj

min
, j J cu arj 0
ark

arj

k
Coloana A intr n baza curent.

(2)

Pasul 5 (Pivotare) Se construiete tabelul simplex TB asociat bazei B dedus din B prin nlocuirea
coloanei Ar cu coloana Ak prin pivotarea tabelului simplex TB cu pivotul ark 0 .
Se actualizeaz baza curent B B i se revine la pasul 1 n cadrul unei noi iteraii.
Observaii (similare celor fcute pe marginea algoritmului simplex primal):
- alegerea coloanei care prsete baza curent dup relaia (1) are menirea de a accelera
procesul iterativ;
- alegerea coloanei care intr n baza curent dup relaia (2) ne asigur c i noua baz va fi
dual admisibil;
- n caz c minimul din (1) sau minimul din (2) nu este unic se aplic regula lui Bland: se alege
indicele cel mai mic care verific relaia respectiv.
Important: Algoritmul simplex dual nu trebuie privit ca o alternativ a algoritmului primal! Acesta
este i motivul pentru care nu discutm modalitile de determinare a unei baze dual admisibile de start.
n principiu, orice problem de programare liniar se va rezolva cu ajutorul algoritmului simplex
primal i numai n acele cazuri n care vor rezulta baze dual admisibile se va aplica algoritmul simplex
dual.
Exemplul 5.8 Pentru un program liniar n form canonic de maximizare i n care toi termenii liberi
ai restriciilor sunt nenegativi, rezolvarea (manual) cu algoritmul simplex primal, nu pune probleme
deosebite: o baz (primal) admisibil de start este format din coloanele variabilelor de abatere!

100

Prin simetrie, aplicarea algoritmului simplex dual unei forme canonice de minimizare, n care toi
coeficienii funciei obiectiv sunt nenegativi, este tot att de simpl: coloanele variabilelor de abatere
asigur o baz dual admisibil de start!
Pentru ilustrare vom considera programul liniar:

(min) f 12x1 2 x2 6 x3
3x 2 x x 3

1
2
3
( P)
4 x1 x2 x3 4

x1, x2 , x3 0
Introducem variabilele de abatere x4 i x5 dup care nmulim cu -1 egalitile rezultate:
3x1 2 x2 x3 x4
4 x1 x2 x3

x5 4

Soluia asociat bazei E A4 , A5 nu este admisibil:


x1 0 x2 0 x3 0 x4 3 x5 4

dar dac evalum costurile reduse c1 , c2 , c3 constatm c ele verific criteriul de optimalitate al
algoritmului simplex bineneles pentru problemele de minimizare! vezi tabelul simplex 5.1 Prin

urmare, baza E A4 , A5 este dual admisibil.


S urmrim aplicarea instruciunilor algoritmului simplex dual (instruciunile evident verificate nu au
mai fost specificate!)

CB
0

VB
x4

VVB
-3

12
x1
3

x5

-4

-4

-1

-1

-12

-2

-6

x4

-11

-5

-3

4
8
11/5

4
-4
1

1
-4
3/5

12

x2
f
x1

-1/5

-1
-2
-2/5

x2

-24/5

-7/5

4/5

84/5

-8/5

-4/5

x1
x3

1/7
24/7

1
0

3/7
-5/7

0
1

156/7

-8/7

1/7
-4/7
12/7

12
6

2
x2
2

6
x3
-1

0
x4
1

0
x5
0

3/5
18/5
-1/7
-3/7
30/7

101

Tabelele 5.1 5.4


Iteraia 1 (tabelul 5.1)
Pasul 2 Conform relaiei (1), coloana A5 iese din baza curent.
12 2 6
2
Pasul 4 Se aplic relaia (2): min
,
,
2 coloana A intr n baza curent.
4 1 1
Pasul 5 Pivotarea tabelului 5.1 cu pivotul ncadrat -1 conduce la tabelul 5.2
Iteraia 2 (tabelul 5.2)
Pasul 2 Coloana A4 iese din baza curent (unic candidat!).
4 4 4
1
Pasul 4 Se aplic relaia (2): min
,
coloana A intr n baza curent.
5 3 5
Pasul 5 Pivotarea tabelului 5.2 cu pivotul ncadrat -5 conduce la tabelul 5.3
Iteraia 3 (tabelul 5.3)
Pasul 2 Coloana A2 iese din baza curent (unic candidat!).
Pasul 4 Coloana A3 intr n baza curent (unic candidat!).
Pasul 5 Pivotarea tabelului 5.3 cu pivotul ncadrat -7/5 conduce la tabelul 5.4
Iteraia 4 (tabelul 5.4)
Pasul 1 Soluia curent este simultan primal i dual admisibil .
Soluia optim a programului (P) are componentele:
x1

1
7

, x2 0 , x3

24
156
; (min) f
7
7

Probleme propuse
1. Scriei dualele urmtoarelor programe liniare

(max) f 4 x1 5 x 2
(max) f 4 x1 5 x2 x3 10 x4 8 x5
(min) f x1 x 2 x3
x
x1 x 2 15

2
x

3
x

10
1
3
4
5
x 2 x 3x 6

x1 7 x 2 21
1
2
3
a) 4 x1 7 x2 3x3 x4 5 x5 30
b)
c)
3x1 x 2 6
2 x 3x x x 4 x 20
4 x1 3 x 2 2 x3 7
1
2
3
4
5
2 x1 x 2 2

x1 , x 2 , x3 0
x1 , x2 0 ; x3 , x4 0 ; x5 frs

x1 , x 2 0

102

2. Se consider un program liniar (P) mpreun cu dualul su (Q). Fie u1 variabila din (Q) asociat
primei restricii din (P). Dac n soluia optim a dualului(Q), u1 are o valoare negativ care din
urmtoarele afirmaii referitoare la prima restricie din (P) este ntotdeauna adevrat?
a)
b)
c)
d)
e)

este o inegalitate neconcordant;


este o inegalitate concordant;
este o egalitate;
este o egalitate sau o inegalitate concordant;
este o egalitate sau o inegalitate neconcordant.

3. S se scrie dualele urmtoarelor programe liniare:

(min) f 5 x1 6 x2
x
3

1
a)
x1 x2 2

x1 0, x2 0

(max) f 3x1 5 x2
x x 3

1
2
b)
x

2
x
1
22

x1 0, x2 0

(min) f x1 x 2
2x x 3
1
2

c) 2 x1 x 2 2

x1 4 x 2 4

x1 0, x 2 0

Utiliznd metoda grafic sau algoritmul simplex s se rezolve cuplurile de probleme obinute. S se
compare valorile funciilor obiectiv n soluiile optime atunci cnd acestea exist.
4. Se d programul liniar:

(min)g 3x1 5 x 2 3x3


2 x x 3 x 1
1
2
3
( P)
2 x1 2 x 2 x3 4
x1 0, x 2 0, x3 0
Se noteaz cu V numrul vrfurilor mulimii soluiilor admisibile ale programului dual (Q) i cu u *
soluia optim a lui (Q). Atunci:
11 18
9 3
11 18
9 3
a) V 4 , u * , ; b) V 4 , u * , ; c) V 3 , u * , ; d) V 3 , u * , ;
5 5
8 8
8 8
5 5
9 3
e) V 5 , u * , .
8 8

5. a) Ce particularitate prezint un program liniar n al crui dual variabilele nu au restricie de semn?


b) Ce particularitate are un program liniar dac programul dual asociat este n forma standard?
c) Ce se poate spune despre un program liniar al crui dual are optim infinit?
d) Ce se poate spune despre un program liniar al crui dual este un program incompatibil?

103

e) Ce se poate spune despre un program liniar al crui dual are optim finit?

6.

a) Scriei dualul (Q) asociat programului liniar:

(max) f x1 x2

3 x1 2 x2 12
( P) 2 x1 x2 2
x 2x 6
1
2

x1 0 , x2 0
b) Se dau urmtoarele cupluri de soluii admisibile pentru cuplul de programe n dualitate (P,Q):
3

x (3 , 2 )

1
1

u ( 4 , 0 , 4 )

7 5

x ( 3 , 3)

u (1 , 1 , 1)

Care dintre ele este un cuplu de soluii optime?


7. Scriei dualul (Q) asociat programului liniar:

(min) f 2 x1 x 2

3 x1 x 2 3
( P ) 4 x1 3 x 2 6

x1 2 x 2 3

x1 0 , x 2 0
Care dintre urmtoarele dou cupluri de vectori este un cuplu de soluii optime ale celor dou
programe?

x ( 54 , 54 )

u ( 15 , 15 , 15 )
8.

x ( 53 , 65 )

u ( 52 , 15 , 0)

Se consider programul liniar:

(max) f 3x1 2 x 2 7 x3

x1 x 2 3x3 30

( P)
4 x1 x 2 2 x3 22

x1 , x 2 , x3 0

104

mpreun cu dualul su (Q) n care variabilele u1 ,u 2 sunt asociate primei respectiv celei de a doua
restricii din (P). Fie x ( x1 , x2 , x3 ) i u (u1 , u2 ) soluiile optime ale celor dou programe.
Dac x2 0 i u1 3 atunci valoarea maxim a funciei obiectiv f este:
a) 216;
9.

b) 76 ; c) 164 ; d) 52 ; e) 112

Se consider programul liniar:

(max) f 50 x1 40 x 2
3 x 5 x 150
2
1
( P)
x 2 20
8 x 5 x 300
2
1
x1 0, x 2 0
Fie u1 , u 2 , u 3 variabilele programului dual.tiind c n soluia optim a programului dual avem u1 >0 i
u3 >0, valoarea maxim a funciei obiectiv din (P) este:
a) 1980 ; b) 1890 ; c) 2120 ; d) 2080 ; e) 2020
10. Se consider urmtoarea problem de maximizare a venitului unei firme cu trei activiti care
utilizeaz trei resurse:
(max) f 5 x1 3x2 4 x3

x1 2 x2 4 x3 100

2 x1 x2 x3 100

x1 3x2 3x3 120

x j 0 j 1,2,3
Se tie c baza optim B este format din coloanele A3 , A1 , A2 ale matricii tehnologice i c:

B 1

1
2

1
2

1
10
3
5
1

10

3
10
1

5
7
10

Dac disponibilul actual al resursei R3 care trebuie consumat n ntregime - scade cu o unitate atunci
venitul maxim al firmei:

105

a) crete cu
11.

1
1
1
1
; b) crete cu ; c) scade cu ; d) nu se modific ; e) scade cu
.
10
5
5
10

Instruciunile algoritmului simplex dual sunt:


P Se pivoteaz tabelul simplex curent;
O Se cerceteaz dac soluia dual admisibil curent are toate componentele nenegative;
I Se aplic criteriul de intrare n baz;
E Se aplic criteriul de ieire din baz;
S Se cerceteaz dac este verificat condiia de incompatibilitate de ctre programul care se
rezolv.

n ce ordine se aplic aceste instruciuni?


a) O,E,I,S,P ; b) O,E,S,I,P ; c) O,S,E,I,P ; d) O,I,S,E,P ; e) O,I,E,S,P
12.

Folosind algoritmul simplex dual s se rezolve.


i) programul liniar c) din exerciiul 1;
ii) programul liniar din exerciiul 4;
iii) programul liniar din exerciiul 7.

(se va proceda ca n exemplul 5.8 din seciunea 5.5).

106