0% au considerat acest document util (0 voturi)
736 vizualizări119 pagini

Cercetari Operationale

Încărcat de

Calin Pogacean
Drepturi de autor
© Attribution Non-Commercial (BY-NC)
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
736 vizualizări119 pagini

Cercetari Operationale

Încărcat de

Calin Pogacean
Drepturi de autor
© Attribution Non-Commercial (BY-NC)
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
Sunteți pe pagina 1/ 119

Cuprins

Introducere 3
1 Teoria problemelor de optimizare liniar cu restricii 7
1.1 Forme ale modelului de optimizare liniar cu restricii . . . . . . . . . 7
1.2 Soluii ale problemei de optimizare liniar cu restricii . . . . . . . . . 9
1.3 Trecerea unei probleme de programare liniar cu restricii de la o
form matematic de prezentare la alta . . . . . . . . . . . . . . . . . 13
1.4 Rezolvarea numeric a modelelor cu m restricii i dou variabile . . . 18
1.5 Rezolvarea numeric a problemelor de programare liniar cu restricii
cu algoritmul simplex primal . . . . . . . . . . . . . . . . . . . . . . . 26
1.6 Rezolvarea modelelor care nu admit soluii de baz iniial . . . . . . 36
1.7 Dualitatea n programarea liniar . . . . . . . . . . . . . . . . . . . . 41
1.8 Algoritmul simplex dual . . . . . . . . . . . . . . . . . . . . . . . . . 46
1.9 Determinarea soluiilor problemei duale cu ajutorul ultimului tabel
simplex al problemei primale . . . . . . . . . . . . . . . . . . . . . . . 49
1.10 Reoptimizarea soluiilor unei probleme de programare liniar . . . . . 52
1.11 Programare discret . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1.11.1 Metode de tip tietur. Metoda lui Gomory . . . . . . . . . . 59
2 Modele speciale de programare liniar. Problema de transport 65
2.1 Formularea problemei, proprieti generale . . . . . . . . . . . . . . . 65
2.2 Proprieti ale matricei coecienilor . . . . . . . . . . . . . . . . . . 68
2.3 Proprieti grace ale problemei de transport . . . . . . . . . . . . . 68
2.4 Determinarea unei soluii de baz . . . . . . . . . . . . . . . . . . . . 71
2.5 Adaptarea algoritmului simplex . . . . . . . . . . . . . . . . . . . . . 71
2.6 Utilizarea problemei duale . . . . . . . . . . . . . . . . . . . . . . . . 74
2.7 Algoritmul de transport . . . . . . . . . . . . . . . . . . . . . . . . . 75
2.8 Probleme propuse i rezolvate . . . . . . . . . . . . . . . . . . . . . . 76
3 Elemente de teoria jocurilor 87
3.1 Noiuni introductive . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.1.1 Noiuni de baz . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.1.2 Clasicarea jocurilor . . . . . . . . . . . . . . . . . . . . . . . 88
1
4 Jocuri matriciale 89
4.1 Strategii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.1.1 Strategii optime ntr-un joc matriceal . . . . . . . . . . . . . . 90
4.1.2 Strategii optime ntr-un joc matriceal simetric . . . . . . . . . 95
4.1.3 Proprieti ale strategiilor optime i ale valorii unui joc matriceal 96
4.2 Principiul dominrii . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.3 Strategii pure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.4 Rezolvarea jocurilor matriceale . . . . . . . . . . . . . . . . . . . . . . 101
4.4.1 Rezolvarea jocurilor matriceale cu punct a . . . . . . . . . . . 101
4.4.2 Rezolvarea jocurilor matriciale prin reducere la modele de op-
timizare liniar cu restricii . . . . . . . . . . . . . . . . . . . 103
Bibliograe 119
2
Introducere
Cercetarea operaional este una dintre cele mai noi ramuri ale matematicii apli-
cate. Ea a aprut dup 1950 i se ocup cu problema gsirii unor soluii optime sau
apropiate de cele optime pentru fenomene din cele mai diverse domenii ale naturii
i societii.
i propune s serveasc factorilor de decizie la fundamentarea hotrrilor lor.
Problemele care apar azi n faa factorilor de decizie, conductori de organizaii
economice sau militare, sunt att de complexe, nct vechile procedee de conducere
bazate pe intuiie, experien i bun sim au devenit nesatisfctoare.
Utilizarea metodelor cercetrii operaionale n tehnic i economie a condus la
rezultate remarcabile, ceea ce a adus dup sine dezvoltarea n continuare a cercetrii
operaionale. Nu se poate concepe conducerea unei activiti tehnico-economice
importante fr metodele cercetrii operaionale.
S-au dat multe deniii ale cercetrii operaionale i au existat i multe argu-
mente conform creia cercetarea operaional nu poate denit. Totui, pentru
nelegerea naturii cercetrii operaionale se poate da urmtoarea deniie.
Cercetarea operaional reprezint:
1) aplicarea metodelor tiinice
2) de ctre o echip interdisciplinar
3) la studiul problemelor legate de conducerea sistemelor organizate (om -
main) cu scopul obinerii unor soluii care s serveasc ct mai bine interesele
organizaiei n ansamblu.
Caracteristicile eseniale ale cercetrii operaionale sunt:
- abordarea n ansamblu a problemelor
- utilizarea unei echipamente interdisciplinare
- aplicarea metodelor tiinice la problemele de conducere
Noiuni de baz ale cercetrii operaionale
Deniia 1. Prin operaie se nelege un ansamblu de aciuni ndreptate spre re-
alizarea unui anumit scop. Orice operaie are un singur scop care poate compus
din mai multe obiective.
De exemplu, n cazul unei operaii dintr-o intreprindere scopul poate realizarea
unui anumit numr de produse ntr-un interval de timp dat, urmnd obiectivele
3
privind satisfacerea prescripiilor de calitate, reducerea cheltuielilor materiale etc.
Deniia 2. Se numete parte operativ mulimea acelor persoane sau factori
care acioneaz ntr-o operaie pentru ndeplinirea scopului propus.
Deniia 3. Prin mijloace active nelegem anumite resurse care stau la dispoziia
prii operative. Prin folosirea lor (de regul cheltuielile lor) partea operativ i
realizeaz scopul.
Deniia 4. Modul de utilizare a mijloacelor active, se numete strategia (sau
politica) prii operative.
Acele strategii care conduc la realizarea scopului se numesc strategii optime.
Problema central al cercetrii operaionale este determinarea strategiilor op-
time.
Observaia 1. Rezultatele unei operaii depind de strategia aleas adic de factori
controlabili i de factori care nu pot inuenate de partea operativ i care formeaz
condiiile efecturii operaiei.
n agricultur, de exemplu condiiile meteorologice reprezint factori necontro-
labili.
Modele matematice
n studiul oricrei operaii (indiferent de domeniul creia i aparine) se deosebesc
patru etape fundamentale:
a) analiza operaiei - cutarea i descrierea mijloacelor de aciune care ar putea
duce la atingerea scopului operaiei
b) construirea unui model matematic al operaiei care s dea o descriere
matematic a scopului
c) estimarea i compararea ecacitii diverselor strategii pe baza modelului
construit
d) studierea strategiilor optime i a metodelor matematice cu ajutorul crora
pot obinute.
Modelul trebuie s reecte ct mai exact procesul real - pe de alt parte trebuie
s e ct mai simplu.
Nu exist o metod genaral pentru crearea unui model.
Noiunea de model matematic este tot att de veche ca matematica.
n continuare prezentm o schem general, n care se ncadreaz nu-
meroase modele.
Desfurarea unei operaii poate descris matematic cu ajutorul unui punct
dintr-un spaiu n dimensional,numit spaiul fazelor. Fie x(t) = (x
1
(t), . . . , x
n
(t))
punctul care descrie starea sistemului la momentul t.
(Presupunem c x(t) descrie complet desfurarea operaiei n cadrul modelului
matematic.)
4
De obicei cu ct n este mai mare cu att desfurarea operaiei este descris mai
precis, dar pe de alt parte modelul devine mai complicat.
Mijloacele active sunt caracterizate prin cantitatea lor. De multe ori sunt de
diferite categorii (de exemplu bani, for de munc, maini-unelte, etc.) Matematic
le putem descrie cu un vector (a
1
, . . . , a
m
). Faptul c aceste mijloace sunt limitate
matematic putem descrie ca: a
i
a
0
i
.
Posibilitile de aciune ale prii operative (strategiile) sunt reprezentate n
model prin alegerea unui set de funcii u
1
, . . . , u
k
care depind evident de starea
sistemului n momentul t, x(t). Aceast dependen descriem cu un sistem de ecuaii
sau inecuaii cu necunoscutele (u
j
(t, x
1
, . . . , x
n
)).
Deci, starea x
i
(x
1
, . . . , x
n
) depinde de strategia u
j
i cteodat de o serie de
factori necontrolabili descrise matematic cu funciile y
1
(t), . . . , y
p
(t).
Stadiul de realizare a scopului este stabilit cu o funcie real (sau mai multe
funcii) notat cu f(x) - numit funcie de scop (sau funcie de ecien, funcie
obiectiv). Deoarece starea sistemului x, este determinat de factori controlabili
u
1
, . . . , u
k
i n unele cazuri i de factori necontrolabili y
1
(t), . . . , y
p
(t) rezult c
funcia de scop este o funcional:
f(u
1
, . . . , u
k
, y
1
, . . . , y
p
)
Partea operativ trebuie s-i aleag funciile u
1
, . . . , u
k
astfel nct scopul urmrit
s e realizat.
Cteva modele matematice
a) Un model de planicare a produciei.
O intreprindere produce n produse P
1
, . . . , P
n
, folosind m resurse R
1
, . . . , R
m
(materii prime, maini-unelte, for de munc etc.) de care dispune n cantitile
b
1
, . . . , b
m
.
tiind c producerea unei uniti din produsul P
j
, j {1, . . . , n}, aduce in-
treprinderii beneciul c
j
i necesit a
ij
uniti din resursa R
i
, i {1, . . . , m}
se cere s se planice producia, adic s se stabileasc n ce cantiti s se
produc ecare dintre cele n produse astfel nct beneciul total al intreprinderii s
e maxim.
Notm pentru ecare j {1, . . . , n} cu u
j
cantitatea (n uniti) din produsul
P
j
ce urmeaz a produs.
Beneciul total al intreprinderii este:
f(u
1
, . . . , u
n
) = c
1
u
1
+ +c
n
u
n
(1)
iar cantitile u
1
, . . . , u
n
trebuie s satisfac urmtorul sistem de inecuaii
_
n
j=1
a
ij
u
j
b
i
, i = 1, m
u
j
0, j = 1, n
(2)
5
Avem modelul care const n maximizarea funciei (1) pe mulimea soluiilor
sistemului (2).
Modelul poate mbuntit.
a) Dac se cere producerea a unor cantiti minime u
0
1
, . . . , u
0
n
(respectiv maxime
y
0
1
, . . . , y
0
n
)
atunci adaugm restriciile:
u
0
j
u
j
, j = 1, n (sau u
j
y
0
j
, j = 1, n)
b) Dac se cere ca volumul total al produciei s nu coboare sub o anumit limit
u
0
, atunci matematic avem condiia: u
0
u
1
+ + u
n
c) Scopul nu este neaprat maximizarea beneciului. Scopul poate s e
obinerea unui venit maxim n valut sau realizarea unui venit maxim de valut
i realizarea unui beneciu maxim. Dac d
j
este venitul de valut dup produsul P
j
atunci avem
(c
1
+ d
1
)u
1
+ + (c
n
+ d
n
)u
n
(alte exemple vezi [Szab]).
Principalele capitole ale cercetrii operaionale sunt:
- teoria problemelor de optimizare cu restricii
- teoria jocurilor
- teoria grafurilor
- programarea operativ a produciei
- teoria stocurilor
- teoria echipamentelor
- teoria fenomenelor de ateptare.
Cercetarea operaional este o ramur ale matematicii aplicate, ceea ce nseamn
c pentru studiul modelelor sunt necesare cunotine de matematici superioare, cum
ar algebr liniar, analiz matematic, analiz funcional, teoria probabilitilor,
ecuaii difereniale, geometrie diferenial.
6
1
Teoria problemelor de optimizare
liniar cu restricii
Teoria problemelor de optimizare cu restricii este o ramur a cercetrii oper-
aionale care studiaz optimizarea uneia sau mai multor funcii pe un domeniu,
denit de o mulime de restricii date asupra variabilelor independente i care pot
exprima diferite condiii economice.
Dup natura matematic a funciei (funciilor) de scop i a restriciilor putem
distinge diferite clase de probleme de optimizare cu restricii cum ar de exemplu
modele de optimizare liniar, neliniar, n numere ntregi, stohastic, parametric,
multicriterial.
n continuare vom studia doar modelele de optimizare liniar cu restricii.
1.1 Forme ale modelului de optimizare liniar cu
restricii
ntr-un fenomen economic sau de organizare pot nterveni mai multe variabile
care nu au sens dect cu condiia ca ele s e pozitive, negative sau nule.
Modelul matematic al unui fenomen este un model matematic al unei prob-
leme de optimizare liniar cu restricii dac este format dintr-un anmit numr
de restricii date asupra variabilelor independente (care sunt liniare i pot inegal-
iti sau egaliti) i o funcie de scop care este de asemenea liniar; iar problema
care se pune este determinarea valorii optime ale funciei de scop pe domeniul de-
terminat de aceste restricii.
Deniia 1.1.1. Forma general a problemei de optimizare liniar cu restricii
prin deniie este
7
_

_
f = c
1
x
1
+ c
2
x
2
+ c
3
x
3
min / max
A
11
x
1
+ A
12
x
2
+ A
13
x
3
b
1
A
21
x
1
+ A
22
x
2
+ A
23
x
3
= b
2
A
31
x
1
+ A
32
x
2
+ A
33
x
3
b
3
x
1
0, x
2
0, x
3
de semn oarecare
(1.1)
unde
A =
_
_
A
11
A
12
A
13
A
21
A
22
A
23
A
31
A
32
A
33
_
_
M
m,n
f : R
n
R
x = (x
1
, x
2
, ..., x
l
, x
l+1
, ...x
r
, x
r+1
, ..., x
n
) R
n
x
1
= (x
1
, ...x
l
); x
2
= (x
l+1
, ...x
r
); x
3
= (x
r+1
, ..., x
n
)
x = (x
1
x
2
x
3
) R
n
b
1
= (b
1
, ...b
k
); b
2
= (b
k+1
, ...b
p
); b
3
= (b
p+1
, ..., b
m
)
b = (b
1
b
2
b
3
) R
m
c
1
= (c
1
, ...c
l
); c
2
= (c
l+1
, ...c
r
); c
3
= (c
r+1
, ..., c
n
)
c = (c
1
c
2
c
3
) R
n
Deniia 1.1.2. Se numete forma standard al problemei de optimizare liniar
cu restricii modelul:
_
_
_
f(x) =

n
j=1
c
j
x
j
min(max)

n
j=1
a
ij
x
j
= b
i
, i = 1, m
x
j
0, j = 1, n
n continuare pentru simplicarea scrierii vom folosi reprezentarea matricial,
adic:
_
_
_
f(x) = (c, x) min/max
Ax = b , A M
m,n
(R)
x 0 b R
m
, c R
n
unde (, ) : R
n
R
n
R este produsul scalar euclidean al vectorilor din spaiul
vectorial R
n
.
Deniia 1.1.3. Forma canonic al unui model de minimizare este:
_
_
_
f(x) = (c, x) min
Ax b , A M
m,n
(R)
x 0 b R
m
, c R
n
Forma canonic al problemei de maximizare este:
8
_
_
_
f(x) = (c, x) max
Ax b , A M
m,n
(R)
x 0 b R
m
, c R
n
1.2 Soluii ale problemei de optimizare liniar cu
restricii
A. Cazul formei standard
Fie modelul
_
_
_
f(x) = (c, x) min
Ax = b , A M
m,n
(R)
x 0 b R
m
, c R
n
Presupunem c sistemul de restricii Ax = b are cel puin o soluie. n caz
contrar nu are sens problema de optimizare considerat.
Vom presupune pe tot parcursul expunerii c: rang A = m.
Dac rang A < m atunci n caz de compatibilitate ar insemna c unele restricii
sunt consecine ale celorlalte, adic modelul construit cu scopul efecturii unei studii
a unui fenomen economic, nu este corect.
Vom presupune de asemenea m < n (pentru evitarea unicitii soluiilor sistemul
de restricii nu lum cazul m = n).
Evident, cu aceste considerente sistemul liniar de ecuaii Ax = b este un sistem
nedeterminat, n consecin admite o innitate de soluii.
Deniia 1.2.1. O soluie a sistemului de ecuaii Ax = b care veric n plus
condiia de nenegativitate (x 0) se numete soluie admisibil sau program
al problemei.
Mulimea soluiilor posibile vom nota cu S.
Deniia 1.2.2. O soluie posibil, x

, al problemei se numete program optim,


soluie optim dac veric condiia de optim: (c, x

) (c, x), unde x S oare-


care (dac avem minimizare),i (c, x

) (c, x), unde x S oarecare (dac avem


maximizare).
n continuare prezentm cteva proprieti ale mulimilor de soluii.
n acest scop ntroducem nite noiuni necesare.
Deniia 1.2.3. Mulimea M R
n
se numete convex dac pentru oricare dou
puncte ale sale x
1
, x
2
M, segmentul [x
1
, x
2
] determinat de aceste dou puncte
aparine n intregime mulimii date.
Deniia 1.2.4. Mulimea M R
n
este convex dac pentru orice x
1
, x
2
M i
[0, 1] avem x
1
+ (1 )x
2
M.
9
x
1
+ (1 )x
2
cu [0, 1], se numete combinaia convex a punctelor date.
Mulimile convexe pot mrginite i nemrginite.
Mulimea vid i mulimea format dintr-un singur element sunt considerate
mulimi convexe.
Deniia 1.2.5. Fie X R
n
. Mulimea punctelor x X care veric relaia:
n

i=1
a
i
x
i
= b
determin un hiperplan.
Mulimea punctelor x X care veric relaia:
n

i=1
a
i
x
i
b
formeaz un semispaiu.
Intersecia unui numr nit de semispaii
n

j=1
a
ij
x
j
b
i
(i = 1, m)
se numete tronson.
Teorema 1.2.6. Hiperplanul, semispaiul i tronsonul sunt mulimi convexe.
Demonstraie. [Szab].
Teorema 1.2.7. Mulimea soluiilor posibile este o mulime convex.
Demonstraie. [Szab].
Teorema 1.2.8. Mulimea soluiilor optime este o mulime convex.
Demonstraie. [Szab].
Observaia 1.2.9. Din punct de vedere practic teorema este foarte important. Ne
arat c orice model de programare liniar admite e o soluie optim unic, e o
innitate de soluii optime.
Teorema 1.2.10. O soluie posibil este soluie optim pentru modelul de optimizare
liniar cu restricii dac i numai dac este un punct extrem pentru mulimea S.
Dup cum s-a artat mai sus restriciile unui model liniar formeaz un tronson.
Se poate arta c orice soluie corespunznd optimului trebuie s se gseasc n unul
din vrfurile tronsonului. Cu alte cuvinte modelul admite soluie optim numai n
cazul n care tronsonul este mrginit (adic restriciile formeaz un poliedru).
Deci, din mulimea S, care admite o innitate de elemente, ne ntereseaz doar
acele puncte care reprezint vrfurile poliedrului.
n acest scop introducem o alt noiune.
10
Deniia 1.2.11. O soluie posibil x S cu cel mult m componente strict pozitive
se numete soluie de baz dac coloanele matricei A, care corespund acestor
componente, formeaz o baz n R
m
.
Deniia 1.2.12. O soluie de baz se numete nedegenerat dac are exact m
componente nenule i degenerat n caz contrar.
Teorema 1.2.13. Orice soluie de baz a unei probleme de programare liniar este
un punct extrem al mulimii S, i reciproc, orice punct extrem al mulimii S este o
soluie de baz.
Dac determinm cu un procedeu soluiile bazice atunci prin nlocuirea acestora
n funcia de scop putem determina soluia optim al problemei considerate.
Cte soluii de baz are un model cu n variabile i m restricii?
Folosind deniia soluiei bazice este uor s observm c le putem obinem n
urma rezolvrii tuturor sistemelor Cramer de m ecuaii i m necunoscute, pe care le
putem forma din sistemul de restricii Ax = b.
Astfel se poate arma c numrul soluiilor bazice este cel mult C
m
n
.
Exemplu
S se determine soluiile bazice ale problemei considerate.
_

_
f(x) = 2x
1
+x
2
+ 2x
3
+ x
4
+ 3x
5
max
2x
1
+ x
2
+ x
3
x
4
x
5
= 2
x
1
+ 2x
2
x
3
x
4
+ 3x
5
= 4
x
j
0, j = 1, 5
Matricea restriciilor este:
A =
_
2 1 1 1 1
1 2 1 1 3
_
rang A = 2
Notm C
ij
, i < j 1 i, j 5 toate matricile ptratice de ordin doi ce pot
formate cu coloanele lui A.
C
12
=
_
2 1
1 2
_
C
13
=
_
2 1
1 1
_
C
14
=
_
2 1
1 1
_
C
15
=
_
2 1
1 3
_
C
23
=
_
1 1
2 1
_
C
24
=
_
1 1
2 1
_
C
25
=
_
1 1
2 3
_
C
34
=
_
1 1
1 1
_
C
35
=
_
1 1
1 3
_
C
45
=
_
1 1
1 3
_
Avem 10 astfel de matrici (deoarece
_
C
2
5
=
5!
2!3!
= 10
_
.
11
Toi determinanii det(C
ij
) sunt diferite de zero ceea ce nseamn c vom avea
cel mult 10 soluii bazice, obinute n urma rezolvrii celor zece sisteme liniare de
dou ecuaii i dou necunoscute.
n cazul unui sistem liniar de ecuaii, asociat matricei C
ij
, variabilele x
i
, i x
j
sunt considerate variabile principale. Variabilele secundare le considerm nule.
De exemplu pentru matricea C
12
variabilele principale sunt x
1
, x
2
iar x
3
= x
4
=
x
5
= 0.
Avem de rezolvat sistemul:
_
2x
1
+ x
2
= 2
x
1
+ 2x
2
= 4
Soluia obinut este (0 2 0 0 0).
n mod analog rezolvnd sistemele liniare de ecuaii obinem soluiile: (2 0 -2 0
0), (-2 0 0 -6 0), (10/7 0 0 0 6/7), (0 2 0 0 0), (0 2 0 0 0), (0 2 0 0 0), (0 0 -1 -3 0),
(0 0 -1 0 3), (0 0 0 -5/2 1/2).
Dintre cele 10 soluii obinute sunt soluii de baz doar cele pentru care toate
componentele sunt pozitive. Deci, problema de optimizare liniar cu restricii con-
siderat, admite o soluie bazic nedegenerat i 4 soluii bazice degenerate. Prin
calcul direct, prin nlocuirea soluiilor bazice n funcia de scop, putem alege soluia
optim. Avem:
f(10/7 0 0 0 6/7) = 38/7
f(0 2 0 0 0) = 2
adic soluia optim este x
0
= (10/7 0 0 0 6/7) i f
max
= 38/7.
Dac considerm un model cu n = 17 variabile i m = 8 restricii atunci am
avea de rezolvat 24310 sisteme Cramer cu 8 ecuaii i 8 variabile pentru a determina
soluiile bazice.
Deci, chiar i n cazul unei probleme de dimensiune redus, determinarea solui-
ilor bazice necesit foarte mult timp,ceea ce nseamn c metoda nu este ecient
pentru determinarea optimului.
n 1946, G. Dantzig formuleaz un algoritm ecient pentru rezolvarea modelelor
liniare.
Principiul metodei lui Dantzig const n alegerea unei soluii bazice oare-
care,formularea unui criteriu de optim cu care se veric optimalitatea soluiei i
stabilirea unei metode cu care se poate pune n eviden o nou soluie bazic cu
care valoarea funciei de scop crete, dac se caut un maxim (sau descrete dac
se caut un minim).
Se repet operaia pn cnd mrirea funciei de scop (respectiv micorarea) nu
mai este posibil, ceea ce nseamn c s-a atins optimul ei.
B. Cazul formei generale
Modelul de optimizare liniar cu restricii dat ntr-o form general de prezentare
poate transformat n mod echivalent ntr-un model n forma standard prin ntro-
ducerea unor variabile auxiliare, articiale i prin folosirea unor substituii adecvate.
12
Metoda de trecere dintr-o form de reprezentare n alta vom prezenta n para-
graful urmtor.
Soluiile modelului astfel obinut sunt soluii ale problemei iniiale i valorile
optime coincid. Variabilele auxiliare ntroduse au semnicaie economic.
1.3 Trecerea unei probleme de programare liniar
cu restricii de la o form matematic de
prezentare la alta
Trecerea de la o form de prezentare la alta nu este dicil n general, dar este nece-
sar datorit faptului c diversitatea situaiilor economico-sociale ce pot analizate
prin intermediul programrii liniare ne conduc la apariia oricreia din formele de
prezentare menionate.
(a) Trecerea de la forma general la forma canonic
n forma canonic toate variabilele veric condiia de nenegativitate i restrici-
ile sunt inegaliti de acelai sens.
Pentru a obine forma canonic al unui model folosim urmtoarele reguli:
1. - inegalitile de sens contrar celor dorite de noi vor nmulite cu (-1)
2. - ecare egalitate va nlocuit cu dou inegaliti (una cu sensul dorit, iar
cellalt de sens contrar pentru care aplicm (1))
3. - pentru variabila x negativ se va folosi substituia x = y, unde y 0
4. - pentru variabila x de semn oarecare se va folosi substituia x = y z, unde
y 0, z 0
(Este cunoscut din analiz faptul c orice numr real poate exprimat ca
diferena a dou numere reale pozitive.)
Exemplu
S se reduc la forma canonic modelul:
_

_
f = 3x
1
+ x
2
x
3
+ 2x
4
max
2x
1
+ x
2
3x
3
+ 2x
4
10
x
1
2x
2
+ 2x
3
+ 5x
4
= 12
x
1
+ 3x
2
+ x
3
2x
4
6
x
1
0, x
2
de semn oarecare , x
3
0, x
4
0
Folosim substituiile:
13
x
1
= y
1
x
2
= y
2
y
3
x
3
= y
4
x
4
= y
5
unde y
j
0, i = 1, 5
i egalitatea o nlocuim cu dou inegaliti, astfel obinem modelul:
_

_
f = 3y
1
+ y
2
y
3
+ y
4
+ 2y
5
max
2y
1
+ y
2
y
3
+ 3y
4
+ 2y
5
10
y
1
2y
2
+ 2y
3
2y
4
+ 5y
5
12
y
1
2y
2
+ 2y
3
2y
4
+ 5y
5
12/(1)
y
1
+ 3y
2
3y
3
y
4
2y
5
6 (1)
y
j
0, j = 1, 5
Dou restricii trebuiesc nmulite cu (-1),i vom obine forma canonic a mod-
elului:
_

_
f = 3y
1
+y
2
y
3
+ y
4
+ 2y
5
max
2y
1
+y
2
y
3
+ 3y
4
+ 2y
5
10
y
1
2y
2
+ 2y
3
2y
4
+ 5y
5
12
y
1
+ 2y
2
2y
3
+ 2y
4
5y
5
12
y
1
3y
2
+ 3y
3
+ y
4
+ 2y
5
6;
y
j
0, j = 1, 5
(b) Trecerea de la forma general la forma standard
n forma standard variabilele trebuie s verice condiia de pozitivitate (vezi
cazul (a)), iar restriciile trebuie s e egaliti.
Pentru transformarea inegalitilor n egaliti introducem variabile auxiliare
numite i variabile ecart. Aceste variabile nu afecteaz funcia obiectiv i nici soluia
problemei (au unele semnicaii doar n interpretarea soluiei problemei), fapt pentru
care le introducem n funcia de scop cu coecieni nuli.
Exemplu
_

_
f = 2x
1
+ 3x
2
4x
3
+ 2x
4
+ x
5
min
x
1
2x
2
+ x
3
x
4
+ 2x
5
10
2x
1
+ x
2
x
3
+ 3x
4
x
5
= 8
x
1
+ 2x
2
+ 2x
3
+ 5x
4
x
5
14
x
1
0, x
2
0, x
3
oarecare , x
4
0, x
5
0
Folosim urmtoarele substituii:
14
x
1
= y
1
x
2
= y
2
x
3
= y
3
y
4
x
4
= y
5
x
5
= y
6
ntroducem variabile auxiliare y
7
, y
8
, care trebuie s verice condiia de pozitiv-
itate, i putem scrie:
_

_
f = 2y
1
3y
2
4y
3
+ 4y
4
2y
5
+ y
6
min
y
1
+ 2y
2
+ y
3
y
4
+ y
5
+ 2y
6
+ y
7
= 10
2y
1
y
2
y
3
+ y
4
3y
5
y
6
= 8
y
1
2y
2
+ 2y
3
2y
4
5y
5
y
6
y
8
= 14
y
j
0, j = 1, 8
(c) Trecerea de la forma canonic la forma standard
Condiia de pozitivitate a variabilelor este vericat deoarece pornim cu forma
canonic. Pentru transformarea inegalitilor n egaliti vom introduce variabile
auxiliare.
Deniia 1.3.1. O problem de programare liniar este n forma standard de
lucru, dac este n forma standard, n matricea A M
m,n
(R) este inclus o matrice
unitate de ordinul m i componentele vectorului b sunt pozitive.
(d) Trecerea de la forma general la forma standard de lucru
Parcurgem urmtoarele etape:
1. - transformm, modelul dat, n forma standard
2. - vericm dac toate componentele vectorului b sunt pozitive (unde este cazul
restriciile respective le nmulim cu -1)
3. - studiem matricea coecienilor A
Dac nu avem o matrice unitate de ordinul m inclus n matricea A atunci intro-
ducem variabile nenegative numite variabile articiale prin adunarea acestora la
membrul stng al restriciilor, astfel nct n ecare restricie s apar cte o astfel
de variabil o singur dat.
Observaia 1.3.2.
1. - variabilele articiale perturb vechiul echilibru al restriciilor, de aceea tre-
buiesc introduse i n funcia de scop
15
2. - variabilele articiale sunt introduse n funcia obiectiv cu un coecient pozitiv
relativ mare n comparaie cu ceilali coecieni din model (prin adunare la
funcia de scop n cazul modelelor de minimizare respectiv prin scdere n
cazul modelelor de maximizare)
3. - pentru a nu ncrca modelul trebuie vericat dac printre coloanele matricei
A nu avem vectori unitari; se introduc numai attea variabile articiale ci
vectori unitari lipsesc
Exemplu
S se scrie modelul dat n forma standard de lucru!
_

_
f(x) = 4x
1
5x
2
+ 3x
3
min
x
1
+ 2x
2
+ 3x
3
6
2x
1
3x
2
+ x
3
= 2
x
1
3x
2
+ 5x
3
4
2x
1
x
2
+ 4x
3
5
x
1
0, x
2
oarecare, x
3
0
Folosind substituiile: x
1
= y
1
, x
2
= y
2
y
3
, x
3
= y
4
putem scrie
_

_
f(y) = 4y
1
5y
2
+ 5y
3
+ 3y
4
min
y
1
+ 2y
2
2y
3
+ 3y
4
6
2y
1
3y
2
+ 3y
3
+ y
4
= 2
y
1
3y
2
+ 3y
3
+ 5y
4
4
2y
1
y
2
+ y
3
+ 4y
4
5
y
j
0, j = 1, 4
(1.2)
Introducem trei variabile auxiliare y
5
, y
6
, y
7
pentru a scrie modelul n forma standard.
_

_
f(y) = 4y
1
5y
2
+ 5y
3
+ 3y
4
min
y
1
+ 2y
2
2y
3
+ 3y
4
y
5
= 6
2y
1
3y
2
+ 3y
3
+ y
4
= 2
y
1
3y
2
+ 3y
3
+ 5y
4
+ y
6
= 4
2y
1
y
2
+ y
3
+ 4y
4
y
7
= 5
y
j
0, j = 1, 7
Scriind matricea restriciilor
A =
_
_
_
_
1 2 2 3 1 0 0
2 3 3 1 0 0 0
1 3 3 5 0 1 0
2 1 1 4 0 0 1
_
_
_
_
putem constata c modelul obinut nu este n forma standard de lucru.
16
Introducem doar trei variabile articiale, u
1
, u
2
, u
3
, care evident veric condiia
de pozitivitate, n prima, a doua i n ultima restricie, deoarece coloana a asea al
matricei este vector unitar.
Astfel avem:
_

_
f(y) = 4y
1
5y
2
+ 5y
3
+ 3y
4
+ 0y
5
+ 0y
6
+ 0y
7
+ Mu
1
+ Mu
2
+ Mu
3
min
y
1
+ 2y
2
2y
3
+ 3y
4
y
5
+ u
1
= 6
2y
1
3x
2
+ 3y
3
+ y
4
+ u
2
= 2
y
1
3x
2
+ 3y
3
+ 5y
4
+ y
6
= 4
2y
1
y
2
+ y
3
+ 4y
4
y
7
+ u
3
= 5
y
j
0 u
k
0 k = 1, 3, j = 1, 7
Privind rezolvarea numeric a modelelor, forma standard de lucru este de o im-
portan major. Algoritmul lui Dantzig poate aplicat doar n cazul n care avem
o soluie bazic oarecare. Determinarea unei soluii bazice cu metoda prezentat
n paragraful anterior (rezolvarea sistemelor Cramer) nu este ecient, deoarece nu
orice soluie obinut veric i condiia de pozitivitate.
Dac considerm un model care este n forma standard de lucru, atunci rezolvnd
sistemul ales astfel nct matricea coecienilor s e chiar matricea unitate obinem
o soluie bazic, cu componentele nenegative formate chiar cu componentele vectoru-
lui b.
Observaia 1.3.3. Folosind metoda lui Gauss putem transforma n mod echivalent
restriciile astfel nct matricea A s conin o matrice unitate.
Dezavantajul acestei metode n rezolvarea modelelor liniare const n faptul c
nu garanteaz pozitivitatea termenilor liberi!
Exemplu
Considerm modelul:
_

_
f = 3x
1
+ 2x
2
+ x
3
+ 5x
4
+ 2x
5
max
x
1
+ 2x
2
+ x
3
+ 3x
4
+x
5
= 10
2x
1
+x
2
+x
3
+x
4
+ 3x
5
= 4
x 0
Scriem matricea exstins, aplicm metoda lui Gauss i obinem pe rnd:
_
1 2 1 3 1 10
2 1 1 1 3 4
_
/(2)
_
1 2 1 3 1 10
0 3 1 5 1 16
_
/ : (3)
_
1 2 1 3 1 10
0 1
1
3
5
3

1
3
16
3
_
/(2)
_
1 0
1
3

1
3
5
3

2
3
0 1
1
3
5
3

1
3
16
3
_
b =
_

2
3
16
3
_
(1.3)
17
soluia sistemului Cramer, format cu matricea unitate va x
1
=
2
3
, x
2
=
16
3
, deci
soluia sistemului (2/316/3 0 0 0) nu este soluie bazic.
1.4 Rezolvarea numeric a modelelor cu m restricii
i dou variabile
Fie modelul:
_
_
_
f(x) = (c, x) opt(min/max)
Ax = b , A M
m,n
(R)
x 0 b R
m
, c R
n
Rezolvarea numeric al problemei nseamn determinarea n ordine a mulimilor
S (mulimea soluiilor posibile), S
B
(mulimea soluiilor bazice), i S
o
(mulimea
soluiilor optime).
Fie modelul:
_
_
_
f(x) = (c, x) opt(min/max)
Ax = b , A M
m,2
(R)
x 0 b R
m
, c R
2
Aceste modele pot rezolvate pe cale grac.
Reprezentnd grac restriciile problemei obinem un poligon convex care este
chiar mulimea S.
Mulimea S
B
(mulimea vrfurilor poligonului) putem obine n urma rezolvrii
unor sisteme de dou ecuaii i dou necunoscute (calculm punctele de intersecie
a dreptelor).
Muimea S
o
n cazul unei probleme reduse putem obine prin calcul direct, adic
nlocund soluiile bazice n funcia de scop.
Prezentm cteva exemple dup care formulm un procedeu pentru determinarea
mulimii S
o
, fr a recurge la determinarea tuturor elementelor mulimii S
B
.
Exemplu
1. S se determine soluia optim al problemei:
_

_
f(x) = 3x
1
+ 5x
2
max
2x
1
+ 3x
2
6
x
1
+x
2
1
x
1
0, x
2
0
(1.4)
Reprezentm dreptele n acelai sistem de coordonate:
(d
1
) 2x
1
+ 3x
2
6 = 0
(d
2
) x
1
+ x
2
1 = 0 (1.5)
18
i astfel prin intersecia semiplanelor respective obinem mulimea S.
y
(d
1
)
x
2
3
(d
2
)
1
1
Deci S = S
B
= i S
o
= adic problema dat nu admite soluie.
2. Fie modelul:
_

_
f(x) = 3x
1
+ 2x
2
max
2x
1
+ x
2
2
x
1
+ 2x
2
2
0 x
1

2
3
0 x
2

2
3
(1.6)
Mulimea S este intersecia dreptelor
(d
1
) 2x
1
+ x
2
2 = 0
(d
2
) x
1
+ 2x
2
2 = 0
(d
3
) x
1

2
3
= 0
(d
4
) x
2

2
3
= 0
care n acest caz se reduce la un singur punct, ceea ce este i soluia optim al
problemei.
19
(d
2
)
A (2/3, 2/3)
y
x
(d
3
) (d
1
)
(d
4
)
2
2
1
2/3
2/3
S =
__
2
3
,
2
3
__
= S
B
= S
o
; f
max
=
10
3
3. Fie problema de optimizare liniar cu restricii:
_

_
f(x) = 2x
1
+ 5x
2
max
3x
1
+ 4x
2
12
x
1
+x
2
1
4x
1
+ x
2
2
2x
1
3x
2
3
x
1
0, x
2
0
(1.7)
n mod analog pe cale grac determinm mulimea S, care este un hexagon
convex, dup cum se vede din reprezentarea grac.
Vrfurile hexagonului le putem obine n urma rezolvrii unor sisteme liniare
de ecuaii cu dou ecuaii i dou necunoscute, deoarece vrfurile sunt punctele de
intersecie a dreptelor.
{A} = (d
1
) (Oy)
_
x
1
= 0
3x
1
+ 4x
2
12 = 0
x
1
= 0, x
2
= 3, A(0, 3)
{C} = (d
2
) (d
3
)
_
x
1
+ x
2
1 = 4x
1
+x
2
2
x
1
+ x
2
1 = 0

_
3x
1
= 1
x
1
+x
2
= 1
20
y
x
D
1
4
1
-1
2
3
C
B
F
E
A
(d
3
)
(d
4
)
(d
1
)
(d
2
)
x
1
=
1
3
x
2
=
2
3
C
_
1
3
,
2
3
_
n mod analog obinem: A(0, 3); B(0, 2); C
_
1
3
,
2
3
); D(1, 0);
E(3/2, 0)F(48/17, 15/17)
nlocuind aceste soluii bazice n funcia de scop obinem soluia optim al prob-
lemei A = (0, 3) iar valoarea optim a funciei de scop este: f
max
= 15.
Observaia 1.4.1. Funcia de scop f(x) = ax
1
+ bx
2
formeaz o familie de drepte
paralele ax
1
+ bx
2
= , R. Considerm dreapta ax
1
+bx
2
= 0, lund = 0
Fie dreapta z = ax
1
+bx
2
i ( x
1
, x
2
) un punct oarecare. Distana punctului de la
aceast dreapt este
d =
|a x
1
+ b x
2
z|

a
2
+ b
2
(vezi manualul de Geometrie analitic cl.XI.) Astfel distana originii O(0, 0) de la
dreapta considerat este:
d =
|z|

a
2
+ b
2
.
Deci, valoarea funciei f(x) = ax
1
+bx
2
ntr-un punct este proporional cu distana
de la origine la dreapta ce trece prin acel punct i este paralel cu dreapta ax
1
+bx
2
=
0.
21
Constanta de proporionalitate este

a
2
+ b
2
.
Astfel se poate deduce imediat c, cu ct un vrf al lui S este mai deprtat (mai
aproape) de dreapta ax
1
+bx
2
= 0, cu att este mai mare (mai mic )valoarea lui z
pe care funcia f(x) = ax
1
+bx
1
o ia n acel punct.
Astfel dup obinerea lui S, pe cale grac, avem de determinat doar coordonatele
unui singur vrf.
4. S se rezolve problema:
_

_
f(x) = 3x
1
+ 4x
2
max
3x
1
+ 4x
2
12
x
1
+ x
2
1
x
1
x
2
2
x
1
+ x
2
2
x
1
, x
2
0
B
D
C
F
A
(d
4
)
4
y
(d)
(d
1
)
(d
2
)
(d
3
)
E
Acest model admite optim multiplu, deoarece dreapta (d
1
) este paralel cu
dreapta 3x
1
+ 4x
2
= 0, dup cum se vede pe grac.
Calculm acele vrfuri ale poliedrului n care funcia de scop admite valoare
optim.
{A} = (d
1
) (d
4
)
_
3x
1
+ 4x
2
12 = x
1
+ x
2
2
x
1
+x
2
2 = 0

_
4x
1
+ 3x
2
= 10
x
1
+ x
2
= 2/ 4
22
7x
2
= 18
x
2
=
18
7
, x
1
=
4
7
A
_
4
7
,
18
7
_
{B} = (d
1
) (d
3
)
_
3x
1
+ 4x
2
12 = x
1
x
2
2
x
1
x
2
= 2

_
2x
1
+ 5x
2
= 10
x
1
x
2
= 2/ 5
7x
1
= 20
x
1
=
20
7
, x
2
=
6
7
B
_
20
7
,
6
7
_
Deci f
max
= 12, i mulimea soluiilor optime este:
x
0
=
_
4
4
,
18
7
_
+ (1 )
_
20
7
,
6
7
_
=
=
_
4
7
+
20
7

20
7
,
18
7

6
7
+
6
7
_
=
=
_
20
7

16
7
,
12
7
+
6
7
_
, [0, 1]
n general, scopul principal pe care-l urmrete programarea matematic con-
st n obinerea soluiei optime a unei probleme economice pe baza unui model
matematic.
Dintre toate domeniile cercetrii operaionale, cel care s-a impus cel mai mult n
activitatea de producie a fost i nc este programarea liniar.
Modelul matematic de programare liniar utilizat n reprezentarea unui
sistem economic este construit dintr-un ansamblu de relaii liniare, dintre care una
reect obiectivul urmrit iar celelalte cuprind restriciile economice sau tehnologice.
Unde putem aplica modelul de programare liniar?
- acest model acoper o clas de probleme de mare importan practic cum sunt
cele de planicare, organizare, amestec, transporturi, investiii, reparaii i altele;
- o serie de probleme care nu sunt probleme de programare liniar, pot reduse,
prin transformri convenabile la acest tip de model;
- o alt clas de probleme, care nu sunt liniare,pot rezolvate prin intermediul
unui ir de modele liniare, cror soluii determin un ir care admite un subir
convergent ctre soluia optim al modelului considerat.
23
Programarea liniar dispune de o tehnic puternic de rezolvare - tehnica simplex.
n continuare prezentm cteva exemple.
Exemplu: Pentru a fabrica dou produse P
1
i P
2
este necesar s se execute
operaii de prelucrare la trei maini M
1
, M
2
, M
3
, n mod succesiv. Timpii unitari de
execuie sunt date n tabelul de mai jos, unde se vede, de exemplu, c timpul unitar
de execuie a piesei P
1
la maina M
1
este de 12 minute. Se presupune c mainile
nu au timp mori provocai de ateptarea unui produs aat n curs de prelucrare la
o alt main, datorit faptului c nu exist preferine n ordinea operaiilor.
M
1
M
2
M
3
P
1
12 min 8 min 6 min
P
2
9 min 12 min 16 min
Orele disponibile ale ecrei maini n decurs de o lun sunt:
165 ore = 9900 min. pentru maina M
1
140 ore = 8400 min. pentru maina M
2
160 ore = 9600 min. pentru maina M
3
Beneciul pe unitate de produs este de 900 de uniti lei la produsul P
1
i de
1000 de uniti lei la produsul P
2
.
S se determine cte produse P
1
i P
2
trebuiesc fabricate lunar, pentru a obine
n condiiile date, un beneciu total maxim?
Notm cu x
1
, respectiv x
2
numrul de produse ce urmeaz s e realizat din
produsul P
1
i P
2
. Atunci beneciul putem descrie matematic cu funcia liniar
f(x
1
, x
2
) = 900x
1
+ 1000x
2
.
n continuare avem de determinat valoarea maxim a funciei economice respectnd
condiiile x
1
0, x
2
0 i restriciile:
12x
1
+ 9x
2
9900 pentru maina 1
8x
1
+ 12x
2
8400 pentru maina 2
6x
1
+ 16x
2
9600 pentru maina 3
Putem observa c att funcia obiectiv ct i restriciile sunt funcii liniare.
Vom rezolva pe cale grac. Reprezentm n acelai sistem de coordonate
dreptele:
(d
1
) 12x
1
+ 9x
2
9900 = 0
(d
2
) 8x
1
+ 12x
2
8400 = 0
(d
3
) 6x
1
+ 16x
2
9600 = 0
Mulimea S este chiar poligonul haurat n cadranul I.
Construim dreapta f(x
1
, x
2
) = 0. Observm imediat c punctul
A = (d
1
)(d
2
) este cel mai ndeprtat de origine, prin urmare coordonatele punctului
ne dau soluia optim.
24
A
(d
1
)
(d
2
)
y
x
(d
3
)
Coordonatele punctului A obinem n urma rezolvrii sistemeului liniar de
ecuaii:
12x
1
+ 9x
2
9900 = 8x
1
+ 12x
2
8400
8x
1
+ 12x
2
= 8400
Rezolvnd sistemul de dou ecuaii i dou necunoscute obinem: A
_
x
1
= 600
x
2
= 300
Astfel:
f
max
= 900 600 + 1000 300 = 840000
Soluia pentru care funcia f are valoare maxim corespunde ncrcrii complete
a mainilor M
1
, M
2
iar M
3
rmne disponibil pentru un timp egal:
9600 (6 600 + 16 300) = 1200 min.
Dac cele trei drepte care reprezint restriciile s-ar intersecta ntr-un singur punct
atunci cele trei maini ar toate complet ncrcate.
Exemplul studiat, pentru care am determinat optimul funciei economice, este
un exemplu dintr-o categorie de probleme foarte generale. Modelele lor matematice
se numesc programe liniare.
ntr-un fenomen economic sau de organizare pot interveni mai multe variabile.
Aceste variabile sunt legate prin relaii liniare independente unele de altele,
care formeaz un sistem de ecuaii sau inecuaii. Acestea se numesc restriciile
fenomenului studiat.
25
Se consider o funcie liniar f care constituie funcia economic.
Se cere determinarea valorii optime ale funciei economice, pe domeniul deter-
minat de restriciile date.
n general n cazul unei probleme cu n variabile, m restriscii cu m < n, orice
soluie corespunznd optimului trebuie s se gseasc n unul din vrfurile poliedrului
determinat de toate restriciile i de planele de referin. Problemele practice nu se
pun ntr-un spaiu cu 3 dimensiuni, deci mulimea S nu poate determinat pe cale
grac, dar proprietile prezentate sunt valabile.
1.5 Rezolvarea numeric a problemelor de progra-
mare liniar cu restricii cu algoritmul simplex
primal
Fie urmtorul model de minimizare sub forma standard:
_
_
_
f(x) =

n
j=1
c
j
x
j
min

n
j=1
a
ij
x
j
= b
i
, i = 1, m
x
j
0, j = 1, n
(1.8)
unde c
j
, a
ij
, b
i
sunt numere reale date, pentru orice i = 1, m i j = 1, n.
S = {x R
n
: Ax = b, x 0}
este mulimea soluiilor posibile ale problemei considerate.
Matricea restriciilor este:
A
1
. . . A
n
A =
_

_
a
11
. . . a
1n
a
21
. . . a
2n
.
.
.
a
m1
. . . a
mn
_

_
Notm cu A
1
, A
2
, . . . , A
n
puncte din R
m
, corespunztoare coloanelor lui A.
Deniia 1.5.1. Se numete baz a problemei (1.8) orice submulime a spaiului
R
m
format din m vectori liniar independente alese dintre puntele A
1
, . . . , A
n
.
Dac B este o baz a problemei (1.8), atunci putem deni urmtoarele mulimi:
B = {j [1, n] N : A
j
B}
i

B = {i {1, . . . , n} : A
i
B}.
26
Evident au loc relaiile:
B

B = {1, . . . , n} i B

B = .
Fie B o baz al problemei (1.8).
Introducem urmtoarele notaii.
b =

jB

0j
A
j
,
0j
R (1.9)
unde
0j
reprezint coordonatele lui b n baza B.
i

B A
i
=

jB

ij
A
j
,
ij
R (1.10)
unde
ij
sunt coordonatele vectorului A
i
B n baza B.
d
0
=

jB

0j
c
j
(1.11)
i

B, d
i
=

jB

ij
c
j
c
i
(1.12)
Deniia 1.5.2. Spunem c baza B este baz primal admisibil dac pentru
orice j B avem
0j
0.
O soluie asociat bazei B vom nota cu x
B
= (x
B
1
, . . . , x
B
n
) R
n
, unde coordo-
natele sunt date de relaia
x
B
j
=
_

0j
, dac j B
0 , dac j

B
Teorema 1.5.3. Dac B este o baz primal admisibil a problemei (1.8) atunci
x
B
S (adic este o soluie posibil pentru problema dat (1.8)).
Demonstraie. [Szab].
Schema algoritmic a algoritmului simplex primal
1. alege o baz primal admisibil B
2. determin numerele reale
0j
,
ij
(folosind b =

jB

0j
A
j
i
A
i
=

jB

ij
A
j
)
3. calculeaz numerele d
0
, d
i
(folosind formulele d
0
=

jB

0j
c
j
, i pentru orice
i

B, d
i
=

jB

ij
c
j
c
i
)
27
4. cerceteaz semnul numerelor d
i
, i

B
Se pot ivi dou situaii:
a) Dac pentru orice i

B, d
i
0 baza B ales n pasul (1) este o baz
optim. Astfel punctul x
0
= (x
0
1
, . . . , x
0
n
) R
n
cu coordonatele:
x
0
j
=
_

0j
, j B este soluie optim iar
0 , j

B
d
0
este valoarea minim a funciei de scop.
STOP
b) Dac i

B astfel nct d
i
> 0
atunci formeaz mulimea:

B
+
= {i

B : d
i
> 0}
5. Pentru ecare i

B
+
cerceteaz semnul numerelor
ij
, j B.
Se pot ivi dou situaii:
a) Dac exist i

B
+
astfel nct pentru orice j B
ij
0,
atunci specic faptul c funcia de scop al problemei este nemrginit inferior
pe mulimea soluiilor posibile i problema nu admite soluie optim (avem
optim innit).
STOP
b) pentru orice i

B
+
exist cel puin un j B astfel nct
ij
> 0
6. alege indicele h

B
+
7. alege indicele k B astfel nct:

0k

hk
= min
_

0j

hj
, j B,
hj
> 0
_
8. nlocuiete n baza B vectorul A
k
cu A
h
i cu noua baz astfel obinut treci
la pasul (2).
Bazele se modic pn cnd se ajunge la una din criteriile de oprire date n
algoritm.
Pentru aplicarea algoritmului se ntocmesc tabele, numite tabele simplex pri-
mal.
ntocmirea tabelelor simplex primal
Se presupune c s-a determinat o baz primal admisibil, B, al problemei de
optimizare liniar considerat.
28
Construim tabelul de mai jos:
1 2
3 6 7 8
4 5 9
10
Sectoarele indicate n tabel se completeaz dup regula urmtoare:
- n sectorul 1 se trece numrul de ordine al tabelului simplex
- n sectorul 2 se trec punctele bazei B (m coloane) A
j
cu j B
- n sectorul 3 se trec punctele A
i
, i

B
- n sectorul 4 se trec numerele
0j
, j B
- n sectorul 5 se trece d
0
, valoarea funciei de scop pentru soluia posibil x
B
- n sectorul 6 se trec numerele
ij
, j B (care intervin n reprezentarea lui A
i
n baza B, pentru orice i

B; A
i
=

jB

ij
A
j
)
- n sectorul 7 se trec, pentru ecare i

B numerele d
i
calculate cu formula:
d
i
=

jB

ij
c
j
c
i
n sectoarele 8 i 9, scriem nite valori care nu erau menionate n algoritm, ns
vor folosite pentru vericarea corectitudinii calculelor.
- n sectorul 8 scriem numerele notate cu p
i
, i

B : p
i
= 1

jB

ij
d
i
- n sectorul 9 scriem numrul p
0
= 1

jB

0j
d
0
.
Dup completarea celor 9 sectoare se aplic pasul 4 al algoritmului, adic se
efectueaz testarea optimalitii al soluiei posibile x
B
.
Dac soluia bazic nu este optim, dar problema dat nu are optim innit (se
veric n pasul 5), atunci se alege h, adic o linie din tabel, numit linie pivot.
Se recomand pentru reducerea numrului de iteraii s e ales indicele pentru
care
d
h
= max{d
i
: i

B
+
}
Cu alegerea lui h se alege de fapt vectorul care va ntra n baz, de aceea pasul (6)
se numete criteriu de intrare n baz.
Acum urmeaz completarea sectorului 10.
- n sectorul 10 se trec cturile

0j

hj
menionate n pasul (7). (Dac
hj
< 0 atunci
raportul nu se calculeaz , la locul respectiv n tabel punem bar.)
Coloana corespunztoare indicelui k (ales n pasul 7 al algoritmului) se numete
coloan pivot.
Alegerea coloanei pivot se numete criteriu de ieire din baz.
29

hk
(elementul care se a la intersecia liniei pivot cu coloana pivot) se numete
element pivot.
Aici se termin prima iteraie simplex primal.
n continuare n baza B nlocuim punctul A
k
cu A
h
i cu baza astfel obinut se
trece la ntocmirea noului tabel simplex.
Trecerea dintr-un tabel simplex n altul
La o iteraie de ordinul r avem tabelul simplex primal:
r . . . A
j
. . . A
k
. . .
. . . . . . . . . . . . . . . . . . . . . . . .
A
i
. . .
ij
. . .
ik
. . . d
i
p
i
. . . . . .
A
h
. . .
hj
. . .
hk
. . . d
h
p
h
. . . . . .
. . . x
B
j
. . . x
B
k
. . . d
0
p
0
. . . x
B
j
/
hj
. . . x
B
k
/
hk

Completarea tabelului:
- numrul din sectorul 1 se mrete cu o unitate
- n sectorul 2 vectorul A
k
se nlocuiete cu A
h
- n sectorul 3 vectorul A
h
se nlocuiete cu A
k
- n locul elementului pivot punem inversul acestuia, adic 1/
hk
- pe coloana pivot elementele se nmulesc cu 1/
hk
- pe linia pivot elementele se nmulesc cu 1/
hk
- numerele din sectoarele 4, 5, 6, 7, 8, 9 se calculeaz folosind regula dreptunghi-
ului
Avnd patru numere , , , , aezate astfel nct s formeze vrfurile unui drep-
tunghi

cu regula dreptunghiului n locul lui vom scrie numrul



unde este ales astfel nct s e chiar elementul pivot


hk
.
Astfel avem urmtorul tabel la iteraia de ordinul r + 1 :
30
r + 1 . . . A
j
. . . A
k
. . .
. . . . . . . . . . . . . . . . . . . . . . . .
A
i
. . .
ij


hj

ik

hk
. . .

ik

hk
. . . d
i


ik
d
h

hk
p
i


ik
p
h

hk
. . . . . .
A
h
. . .

hj

hk
. . .
1

hk
. . .
d
h

hk

p
h

hk
. . . . . .
. . . x
B
j


hj
x
B
k

hk
. . .
x
B
k

hk
. . . d
0

x
B
k
d
h

hk
p
0

x
B
k
p
h

hk
. . . . . .
Exemplu: S se determine soluia optim al problemei:
_

_
f(x) = x
1
x
2
3x
3
+ 5x
4
min
x
1
+ x
2
+x
3
+x
4
= 1
x
1
2x
2
+ 3x
3
+x
5
= 2
x
1
x
2
+ x
6
= 3
x
j
0, j = 1, 6
Matricea restriciilor este:
A
1
A
2
A
3
A
4
A
5
A
6
A =
_
_
1 1 1 1 0 0
1 2 3 0 1 0
1 1 0 0 0 1
_
_
Problema dat este n forma standard de lucru deoarece n matricea A este
inclus o matrice unitate de ordinul 3, iar componentele vectorului b sunt pozitive.
Deci putem aplica direct algoritmul simplex primal.
Alegem baza B = (A
4
, A
5
, A
6
). Dac modelul este n forma standard de lucru
atunci baza primal admisibil pe care alegem este baz canonic. Aceast alegere
este foarte avantajoas deoarece, dup cum este cunoscut, n baza canonic ecare
vector i pstreaz coordonatele iniiale. Deci nu trebuiesc calculate valorile
0j
i

ij
. Astfel putem nlocui n tabel coordinatele iniiale ale vectorului b i a vectorilor
A
i
.
Putem scrie:
1 A
4
A
5
A
6

A
1
-1 1 1 -6 6
A
2
1 -2 -1 6 -3
A
3
1 3 0 8 -11
1 2 3 5 -10
1 2/3 -
x
B
= (0 0 0 1 2 3)
f(x
B
) = d
0
= 5
31
2 A
4
A
3
A
6

A
1
-4/3 1/3 1 -26/3 29/3
A
2
5/3 -2/3 -1 34/3 -31/3
A
5
-1/3 1/3 0 -8/3 11/3
1/3 2/3 3 -1/3 -8/3
1/5 - -
x
B
= (0 0 2/3 1/3 0 3)
f(x
B
) = 1/3
3 A
2
A
3
A
6

A
1
-4/5 -1/5 1/5 2/5 7/5
A
4
3/5 2/5 3/5 -34/5 31/5
A
5
-1/5 1/5 -1/5 -2/5 8/5
1/5 4/5 16/5 -13/5 -3/5
- - 16
x
B
= (0 1/5 4/5 0 0 16/5)
f(x
B
) = 13/5
4 A
2
A
3
A
1

A
6
4 1 5 -2 -7
A
4
3 1 3 -8 2
A
5
-1 0 -1 0 3
13 4 16 -9 -23
- - -
Soluia optim al problemei este: x
0
= (16 13 4 0 0 0) f
min
= d
0
= 9.
S se determine soluia optim !
_

_
f = 2x
1
+x
2
+ 3x
3
+ 5x
4
+ 9x
5
min
x
1
+ 2x
3
+ x
4
+ 3x
5
= 15
x
2
+ x
3
+ 2x
4
+ x
5
= 12
x 0
A =
_
_
A
1
A
2
A
3
A
4
A
5
1 0 2 1 3
0 1 1 2 1
_
_
B = (A
1
, A
2
)
32
1 A
1
A
2

A
3
2 1 2 -4
A
4
1 2 -1 -1
A
5
3 1 -2 -1
15 12 42 -68
15/2 12
x
B
= (15 12 0 0 0)
2 A
3
A
2

A
1
1/2 -1/2 -1 2
A
4
1/2 3/2 -2 1
A
5
3/2 -1/2 -5 5
15/2 9/2 27 -38
- -
Soluia optim al problemei este
x
0
= (0 9/2 15/2 0 0) f
min
= 27
Bazele teoretice ale algoritmului simplex primal (vezi [Szab]).
Observaia 1.5.4. Este sucient s cunoatem algoritmul simplex pentru rezolvarea
problemelor de minimizare.
Dac avem un model de maximizare atunci vom nmuli formal funcia de scop
cu 1 i rezolvm modelul cu funcia de scop f pentru care evident avem de deter-
minat valoarea minim, pe acelai domeniu, determinat de restriciile problemei de
maximizare. Soluia optim al acestui model este optim i pentru modelul iniial,
iar f
max
= d
0
= f
min
.
S considerm problema:
_

_
f(x) = 2x
2
+ x
3
max
x
1
+x
2
2x
3
7
3x
1
+ x
2
+ 2x
3
3
x R
3
+
_

_
f(x) = 2x
2
x
3
min
x
1
+ x
2
2x
3
+x
4
= 7
3x
1
+ x
2
+ 2x
3
+ x
5
= 3
x R
5
+
Matricea restriciilor este:
A
1
A
2
A
3
A
4
A
5
_
1 1 2 1 0
3 1 2 0 1
_
Modelul considerat este n forma standard de lucru. Rezolvm cu algoritmul
simplex primal.
33
1 A
4
A
5

A
1
1 -3 0 3
A
2
1 1 2 -3
A
3
-2 2 1 0
7 3 0 -9
7 3
2 A
4
A
2

A
1
4 -3 6 -6
A
5
-1 1 -2 3
A
3
-4 2 -3 6
4 3 -6 0
1 -
3 A
1
A
2

A
4
1/4 3/4 -6/4 6/4
A
5
-1/4 1/4 -2/4 6/4
A
3
-1 -1 3 0
1 6 -12 6

Exist n acest tabel d
3
= 3 > 0 pentru care toate numerele
31
= 1 < 0,
32
=
1 < 0, ceea ce nseamn c funcia de scop este nemrginit inferior pe S, adic
modelul are optim innit.
Observaia 1.5.5. Dac n pasul (7) din algoritm avem mai multe rapoarte minime
egale (n tabel sectorul 10) atunci n urma alegerii arbitrare a unuia din vectorii con-
siderai pentru eliminare din baz vom condui la degenerarea soluiei bazice.
Observaia 1.5.6. n aplicaii practice este foarte important recunoaterea optim-
ului multiplu.
Dac n urma aplicrii algoritmului simplex primal, la ultima iteraie nu toate
diferenele d
i
sunt strict negative i exist un d
h
= 0 pentru care nu toate numerele

hj
, j B sunt negative atunci problema admite optim multiplu.
n aceast situaie alegem h ca linie pivot i efectum nc o iteraie simplex.
S se determine mulimea soluiilor optime!
_

_
f = 2x
1
+ x
2
+ 4x
3
+ 3x
4
+ 6x
5
max
x
1
+ x
3
+ 2x
4
+ x
5
= 10
x
2
+ x
3
+ x
4
+ 2x
5
= 12
x 0
34
_

_
f = 2x
1
x
2
4x
3
3x
4
6x
5
min
x
1
+ x
3
+ 2x
4
+ x
5
= 10
x
2
+ x
3
+ x
4
+ 2x
5
= 12
x 0
A
1
A
2
A
3
A
4
A
5
A =
_
1 0 1 2 1
0 1 1 1 2
_
B = (A
1
, A
2
)
1 A
1
A
2

A
3
1 1 1 -2
A
4
2 1 -2 0
A
5
1 2 2 -4
10 12 -32 11
10 6
2 A
1
A
5

A
3
1/2 1/2 0 0
A
4
3/2 1/2 -3 2
A
2
-1/2 1/2 -1 2
4 6 -44 35
8 12
x
01
= (4, 0, 0, 0, 6)
not
= x
01
f
max
= 44
Efectum nc o iteraie simplex, deoarece d
3
= 0 i
31
> 0,
35
> 0. Avem
astfel:
3 A
3
A
5

A
1
2 -1 0 0
A
4
3 -1 -3 2
A
2
-1 1 -1 2
8 2 -44 35

x
02
= (0, 0, 8, 0, 2) f
max
= 44
Deci am obinut dou soluii optime, ceea ce nseamn c problema are optim
multiplu. Mulimea soluiilor optime este combinaia convex a soluiilor obinute:
35
x
0
= x
01
+ (1 )x
02
, pentru orice [0, 1]. Avem:
x
0
=
_
_
_
_
_
_
4
0
0
0
6
_
_
_
_
_
_
+ (1 )
_
_
_
_
_
_
0
0
8
0
2
_
_
_
_
_
_
=
_
_
_
_
_
_
4
0
8 8
0
6 + 2 2
_
_
_
_
_
_
, [0, 1]
Observaia 1.5.7. Pentru = 0 sau = 1 avem soluiile bazice calculate mai sus.
Pentru (0, 1) obinem i soluii optime nebazice (de exemplu pentru = 0, 5).
Deci n cazul optimului multiplu S S
B
.
Numai n cazul soluiei optime unice avem S S
B
.
1.6 Rezolvarea modelelor care nu admit soluii de
baz iniial
Algoritmul simplex primal poate utilizat cu succes numai n cazul n care modelul
de optimizare liniar cu restricii este n forma standard de lucru.
n aceste cazuri soluia asociat bazei canonice este soluie de baz iniial,
deoarece dup cum s-a artat baza este primal admisibil.
Dac modelul dat spre rezolvare nu este n forma standard de lucru atunci prima
dat avem nevoie de un procedeu cu care putem genera o baz primal admisibil,
adic o soluie bazic iniial.
n acest scop poate aplicat metoda celor dou faze sau metoda coecienilor
de penalizare. n continuare vom prezenta aceste metode.
I. Metoda celor dou faze
Cu metoda celor dou faze n prima faz de lucru determinm o soluie bazic
iniial dup care n faza a doua de lucru rezolvm modelul considerat cu algoritmul
simplex primal.
Fie urmtorul model de programare liniar cu restricii:
_
_
_
f = (c, x) max
Ax = b
x 0
Presupunem c problema dat nu este n forma standard de lucru, adic nu admite
soluie de baz iniial.
n continuare n scopul aplicrii metodei celor dou faze vom presupune c
toate compenentele lui b sunt pozitive i n matricea A nu este inclus o
matrice unitate de ordinul m.
ntroducem variabile articiale u
i
, i = 1, m cu scopul obinerii unei matrici
unitate de ordinul m n matricea restriciilor.
Dup introducerea variabilelor articiale se efectueaz:
36
(a) - rezolvarea unei probleme de minimizare, obinut n urma nlocuirii funciei
de scop al problemei date cu o funcie, format din suma tuturor variabilelor arti-
ciale.
_
_
_
g =

m
i=1
u
i
min
Ax + I
m
U = b
x 0, u 0
(b) dup rezolvarea problemei din punctul (a) cu algoritmul simplex primal tre-
cem n faza a doua de lucru unde vom ntlni una din urmtoarele situaii:
1. Dac g
min
= 0, u
i
= 0 pentru orice i = 1, m, i nici un vector articial nu este
n baza optim, atunci ncepem rezolvarea problemei iniiale.
Soluia obinut n prima faz de lucru este soluie bazic iniial pentru prob-
lema considerat, iar baza optim este baz primal admisibil.
2. Dac g
min
= 0, u
i
= 0, i = 1, m, dar cel puin un vector articial se a n
baza optim, atunci soluia problemei rezolvate este soluie optim i pentru
problema iniial.
Valoarea funciei de scop putem obine prin calcul direct (nlocuind soluia
optim n funcia de scop). Evident, n acest caz problema iniial are soluie
optim degenerat.
3. Dac g
min
= 0, (nseamn c exist cel puin o variabil articial strict poz-
itiv n soluie) atunci problema considerat nu admite soluie optim.
Prezentm cte un exemplu pentru ecare caz n parte!
(a)
_

_
f = 3x
1
+ 2x
2
+ x
3
+ 2x
4
max
2x
1
+ x
2
+ x
3
+ 2x
4
= 12
x
1
+ 2x
2
+ x
3
+ 3x
4
= 14
x 0
Problema nu este n forma standard de lucru, deci nu putem aplica n mod direct
algoritmul simplex primal. Cu metoda celor dou faze vom determina o soluie
bazic iniial, o baz primal admisibil.
n prima faz de lucru rezolvm modelul:
_

_
g = u
1
+ u
2
min
2x
1
+ x
2
+ x
3
+ 2x
4
+ u
1
= 12
x
1
+ 2x
2
+ x
3
+ 3x
4
+ u
2
= 14
x 0, u 0
37
A
1
A
2
A
3
A
4
u
1
u
2
A =
_
2 1 1 2 1 0
1 2 1 3 0 1
_
1 u
1
u
2

A
1
2 1 3 -5
A
2
1 2 3 -5
A
3
1 1 2 -3
A
4
2 3 5 -9
12 14 26 -51
6 14/3
2 u
1
A
4

A
1
4/3 1/3 4/3 -2
A
2
-1/3 2/3 -1/3 1
A
3
1/3 1/3 1/3 0
u
2
-2/3 1/3 -5/3 3
8/3 14/3 8/3 -9
2 14
n urmtorul tabel simpex putem reduce numrul liniilor, deoarece linia vec-
torului articial ntotdeauna vom putea elimina. Dac reuim s scoatem un vector
articial din baz nu vom avea interesul s-l introducem n baz la o alt iteraie
simplex.
3 A
1
A
4

u
1
3/4 -1/4 -1 3/2
A
2
-1/4 3/4 0 1/2
A
3
1/4 1/4 0 +1/2
2 4 0 -5

Toate diferenele d
i
sunt negative, nseamn c am ajuns la ultima iteraie sim-
plex. Deoarece g
min
= 0, u
1
= u
2
= 0, B
0
= (A
1
A
4
) rezult c soluia obinut
x
B
= (2 0 0 4) este soluie de baz iniial petru problema dat.
De fapt, n prima faz de lucru transformm modelul iniial astfel:
_

_
f = 3x
1
+ 2x
2
+ x
3
+ 2x
4
max
x
1

1
4
x
2
+
1
4
x
3
= 2
3
4
x
2
+
1
4
x
3
+x
4
= 4
x 0
38
Acest model este n forma standard de lucru. Rezolvm cu algoritmul simplex
primal.
1 A
1
A
4

A
2
-1/4 3/4 5/4 -3/4
A
3
1/4 1/4 -1/4 3/4
2 4 -14 9
- 16/3
2 A
1
A
2

A
4
1/3 4/3 -5/3 1
A
3
1/3 1/3 -2/3 1
10/3 16/3 -62/2 39/3

x
0
=
_
10
3
,
16
3
, 0, 0
_
f
max
=
62
3
= d
0
.
Se poate observa, c nu este necesar s scriem modelul transformat, ci n ultimul
tabel simplex, obinut n prima faz de lucru, eliminnd linia vectorului articial i
eliminnd elementele din sectoarele 5,7,8,i 9 cu ajutorul funciei de scop al problemei
iniiale putem ntocmi primul tabel din faza a doua de lucru.
(b) Fie problema:
_

_
f = 2x
1
+ x
2
+ x
3
min
2x
1
+ 3x
2
+ 3x
3
= 12
x
1
+ x
2
+ 2x
3
= 8
x 0
Rezolvm problema n mod analog.
A
1
A
2
A
3
A =
_
2 3 3
1 1 2
_
I.
_

_
g = u
1
+ u
2
min
2x
1
+ 3x
2
+ 3x
3
+ u
1
= 12
x
1
+ x
2
+ 2x
3
+ u
2
= 8
x R

+
, u R
2
+
A
1
A
2
A
3
u
1
u
2
A =
_
2 3 3 1 0
1 1 2 0 1
_
B = (u
1
, u
2
)
39
1 u
1
u
2

A
1
2 1 3 -5
A
2
3 1 4 -7
A
3
3 2 5 -9
12 8 20 -39
4 4
2 A
3
u
2

A
1
2/3 -1/3 -1/3 1
A
2
1 -1 -1 2
u
1
1/3 -2/3 -5/3 3
4 0 0 -3

n prima faz de lucru am obinut
g
min
= 0 x
0
= (0, 0, 4) B = (x
3
, u
2
) cu u
2
= 0 deci soluia obinut este
soluie optim i pentru problema iniial iar valoarea funciei de scop obinem prin
calcul direct i va f
min
= 4.
(c)
_

_
f = 2x
1
+ x
2
+ x
3
+ 2x
4
min
2x
1
+ x
2
+ 2x
3
+ 2x
4
= 16
x
1
+x
2
+ 2x
3
+ 2x
4
= 10
2x
1
+ x
2
+ x
3
+ 2x
4
= 20
x 0
n prima faz de lucru scriem:
A =
_
_
2 1 2 2
1 1 2 2
2 1 1 2
_
_
I.
_

_
g = u
1
+u
2
+ u
3
min
2x
1
+ x
2
+ 2x
3
+ 2x
4
+ u
1
= 16
x
1
+ x
2
+ 2x
3
+ 2x
4
+ u
2
= 10
2x
1
+ x
2
+x
3
+ 2x
4
+ u
3
= 20
x R
4
+
, u R
3
+
A
1
A
2
A
3
A
4
u
1
u
2
u
3
A =
_
_
2 1 2 2 1 0 0
1 1 2 2 0 1 0
2 1 1 2 0 0 1
_
_
B = (u
1
, u
2
, u
3
)
40
1 u
1
u
2
u
3

A
1
2 1 2 5 -9
A
2
1 1 1 3 -5
A
3
2 2 1 5 -9
A
4
2 2 2 6 -11
16 10 20 46 -91
8 5 10
2 u
1
A
4
u
3

A
1
1 1/2 1 2 -7/2
A
2
0 1/2 0 0 1/2
A
3
0 1 -1 -1 2
u
2
-1 1/2 -1 -3 11/2
6 5 10 16 -36
6 10 10
3 A
1
A
4
u
3

u
1
1 -1/2 -1 -2 7/2
A
2
0 1/2 0 0 1/2
A
3
0 1 -1 -1 2
6 2 4 4 -15

g
min
= d
0
= 4 = 0
u
1
= u
2
= 0, u
3
= 4
Deoarece g
min
= 4 = 0 problema iniial nu admite soluie.
Degenerare i ciclare n aplicarea algoritmului simplex (vezi [Szab]).
1.7 Dualitatea n programarea liniar
Dualitatea ocup un loc important n programarea liniar, att din punct de vedere
teoretic, ct i din punct de vedere practic.
Fie urmtoarea problem de programare liniar n forma general
_

_
f = c
1
x
1
+ c
2
x
2
+ c
3
x
3
min
A
11
x
1
+ A
12
x
2
+ A
13
x
3
b
1
A
21
x
1
+A
22
x
2
+ A
23
x
3
= b
2
A
31
x
1
+ A
32
x
2
+ A
33
x
3
b
3
x
1
0, x
2
0, x
3
de semn oarecare
(1.13)
41
Deniia 1.7.1. Fiind dat problema (1) se numete dual a sa problema:
_

_
g = b
1
y
1
+ b
2
y
2
+ b
3
y
3
max
A
T
11
y
1
+ A
T
21
y
2
+ A
T
31
y
3
c
1
A
T
12
y
1
+ A
T
22
y
2
+ A
T
32
y
3
c
2
A
T
13
y
1
+ A
T
23
y
2
+ A
T
33
y
3
= c
3
y
1
0, y
2
de semn oarecare y
3
0.
(1.14)
Adic pentru ecare caz avem urmtoarele situaii:
(P)
_

_
c
1
x
1
+c
2
x
2
+ c
3
x
3
max
A
11
x
1
+ A
12
x
2
+ A
13
x
3
b
1
A
21
x
1
+ A
22
x
2
+ A
23
x
3
= b
2
A
31
x
1
+ A
32
x
2
+ A
33
x
3
b
3
x
1
0, x
2
0, x
3
de semn oarecare
(D)
_

_
b
1
y
1
+b
2
y
2
+ b
3
y
3
min
A
T
11
y
1
+ A
T
21
y
2
+ A
T
31
y
3
c
1
A
T
21
y
1
+ A
T
22
y
2
+ A
T
23
y
3
c
2
A
T
31
y
1
+ A
T
32
y
2
+ A
T
33
y
3
= c
3
y

0, y
2
de semn oarecare
y
3
0
(P)
_

_
c
1
x
1
+ c
2
x
2
+c
3
x
3
min
A
11
x
1
+ A
12
x
2
+ A
13
x
3
b
1
A
21
x
1
+ A
22
x
2
+ A
23
x
3
= b
2
A
31
x
1
+ A
32
x
2
+ A
33
x
3
b
3
x
1
0, x
2
0, x
3
de semn oarecare
(D)
_

_
y
1
b
1
+ y
2
b
2
+ y
3
b
3
max
A
T
11
y
1
+A
T
21
y
2
+A
T
31
y
3
c
1
A
T
21
y
1
+A
T
22
y
2
+A
T
23
y
3
c
2
A
T
31
y
1
+ A
T
32
y
2
+ A
T
33
y
3
= c
3
y
1
0, y
2
de semn oarecare , y
3
0
Observaia 1.7.2. Este uor de vzut c duala problemei duale este chiar problema
primal. Din acest motiv vom spune c problemele (1) - (2) (respectiv (P)-(D))
formeaz un cuplu de probleme duale.
Analiznd cuplurile de probleme duale date, putem deduce legtura dintre prob-
lema primal i problema dual, adic:
a) forma funciei obiectiv din (P) implic forma funciei obiectiv din dual (i
reciproc);
b) forma restriciilor problemei primale implic semnele variabilelor dualei (i
reciproc);
c) semnele variabilelor problemei primale implic forma restriciilor problemei
duale (i reciproc).
Adic explicit putem spune c:
42
1. - dac n problema (P) se cere maximizare atunci n duala (D) se cere mini-
mizare;
2. - numrul variabilelor problemei primale determin numrul de restricii ale
problemei duale;
3. - numrul de restricii ale primalei d numrul de variabile ale problemei duale;
4. - termenii liberi din (P) devin coecienii funciei de scop n (D);
5. - coecienii funciei de scop din (P) devin termenii liberi n (D)
6. - dac A este matricea coecienilor problemei (P) atunci A
T
va matricea
coecienilor problemei (D)
7. - dac (P) are restricii concordante atunci (D) are variabile pozitive
- dac (P) are restricii neconcordante inegaliti atunci (D) are variabile neg-
ative
- dac (P) are restricii neconcordante egaliti atunci (D) are variabile de
semn oarecare
8. - dac (P) are variabile pozitive atunci (D) va avea restricii concordante
- dac (P) are variabile negative atunci (D) va avea restricii neconcordante
inegaliti
- dac (P) are variabile de semn oarecare atunci (D) va avea restricii necon-
cordante egaliti
Deniia 1.7.3. O restricie de forma , respectiv n cazul unei probleme de
maximizare, respectiv de minimizare se numete restricie concordant.
O restricie de forma , respectiv n cazul unei probleme de maximizare, re-
spectiv de minimizare se numete restricie neconcordant de tip inegalitate.
Un motiv al denirii problemelor duale este i acela al posibilitii de soluionare
mai rapid a uneia din elementele cuplului primal - dual.
Interesul se concentreaz asupra modului n care gsim soluia celuilalt element
al cuplului.
Se poate vedea c dualitatea se poate deni n mod echivalent utiliznd oricare
dintre cuplurile de probleme duale.
Aceasta nseamn c putem studia proprietile de dualitate pe oricare dintre
cuplurile de probleme duale, fr a restrnge prin aceasta generalitatea.
Cuplul de probleme duale care este remarcabil prin simetria sa (ambele probleme
sunt n form canonic), se numete cuplu dual simetric:
(P) {x R
n
| Ax b, x 0} min
(D) {u R
m
| A
T
u c, u 0} max
43
Teoreme ale dualitii sunt teoreme care arat c ntre elementele cuplului
dual nu exist doar o legtur formal ci i o puternic interdependen a soluiilor
acestora.
n continuare prezentm un exemplu practic.
Se urmrete stabilirea hranei raionale pentru animale, hran care s conin n
mod obligatoriu patru elemente nutritive, A, B, C i D. Se produc dou nutreuri
M i N care conin aceste elemente. Un kilogram din nutreul M conine 100 grame
din elementul A, 100 grame din C i 200 grame din D.
1 kg din nutreul N conine 100 grame din elementul B, 200 grame din elementul
C i 100 grame din D.
Un animal trebuie s consume pe zi cel puin 0,4 kg din A; 0,6 kg din B; 2 kg
din C i 1,7 kg din D.
Nutreul M cost 10 unit./kg, iar nutreul N cost 4 unit/kg.
Ce cantiti de nutreuri M i N trebuiesc folosite pe zi i pe cap de animal
pentru a obine hrana cea mai ieftin?
Dac notm cantitile prescrise cu x
1
, x
2
, atunci imediat putem formula matem-
atic scopul i restriciile problemei propuse spre rezolvare.
Avem:
_

_
f = 10x
1
+ 4x
2
min
0, 1x
1
0, 4
0, 1x
2
0, 6
0, 1x
1
+ 0, 2x
2
2
0, 2x
1
+ 0, 1x
2
1, 7
(1.15)
Folosind algoritmul simplex obinem soluia optim x
1
= 4, x
2
= 9.
Valoarea optim a funciei de scop este f
min
= 76.
n continuare, s studiem problema care se pune unui concurent al vnztorului
nutreurilor M i N.
Acest concurent vinde i elementele A, B, C, D. El tie c vnzrile lui sunt egale
cu cantitile prescrise pe zi i pe cap de animal, i dorete s ae cu ce pre unitar
trebuie s vnd elementele, pentru ca beneciul lui s e maxim.
Cu aceste considerente putem formula urmtoarea problem de optimizare:
- beneciul poate descris matematic cu funcia
g = 0, 4y
1
+ 0, 6y
2
+ 2y
3
+ 1, 7y
4
max
- pentru formularea restriciilor lum n considerare faptul c vnztorul nu vnde
cu preuri mai ridicate dect ale concurentului su.
Astfel putem scrie
0, 1y
1
+ 0, 1y
3
+ 0, 2y
4
10
0, 1y
2
+ 0, 2y
3
+ 0, 1y
4
4
y
1
, y
2
, y
3
, y
4
0
(1.16)
44
Cu metodele prezentate n paragrafele anterioare soluia problemei este:
y
1
= 20, y
2
= 0, y
3
= 0, y
4
= 40 f
max
= 76
Observaie:
- problemei (1.15) i corespunde problema (1.16) n care datele au fost inversate
- de aceast inversare este legat o proprietate foarte important
max g = min f = 76
Se poate demonstra c proprietatea este general.
Fie cuplul dual:
(P)
_
_
_
f(x) = (c, x) min
Ax = b
x 0
(D)
_
_
_
g(v) = (b, v) max
A
T
v c
v de semn oarecare
Deniia 1.7.4. O baz B a problemei (P) se numete baz dual admisibil dac
d
i
0 pentru oricare i

B.
Denumirea de baz dual admisibil provine de la proprietatea exprimat n ur-
mtoarea teorem.
Teorema 1.7.5. Dac B este o baz dual admisibil a problemei (P) atunci soluia
v
B
, al sistemului de ecuaii denit n R
m
prin:
(A
j
, v) = c
j
, j B
este o soluie posibil a problemei duale.
Demonstraie. [Szab].
Observaie:
n general soluia bazic x
B
, asociat unei baze dual admisibile B a problemei
(P) nu este o soluie posibil a problemei (P) (deoarece coordonatele pot strict
negative).
Deci o baz dual admisibil nu este ntotdeauna i o baz admisibil.
Teorema 1.7.6. Fie B o baz al problemei (P) care este primal i dual admisibil.
Atunci:
x
B
este soluia optim a problemei (P)
v
B
este soluia optim a problemei (D)
i (x
B
, c) = d
0
= (v
B
, b).
Demonstraie. [Szab].
45
1.8 Algoritmul simplex dual
Fie urmtorul model de minimizare cu restricii:
_
_
_
f(x) = (c, x) min
Ax = b , A M
m,n
(R)
x 0 b R
m
, c R
n
(1.17)
Folosind proprietatea de dualitate se poate formula un algoritm pentru rezolvarea
modelelor liniare cu restricii, numit algoritmul simplex dual.
n continuare prezentm etapele algoritmului.
1. alege o baz B dual admisibil al problemei (1.17)
2. determin numerele
0j
( b =

jB

0j
A
j
) i numerele

ij
( pentru orice i

B) A
i
=

jB

ij
A
j
3. calculeaz numrul d
0
=

jB

oj
c
j
i pentru orice i

B diferenele
d
i
=

jB

ij
c
j
c
i
4. cerceteaz semnul numerelor
0j
, j B
Se pot ivi dou situaii:
(a) dac pentru orice j B,
0j
0, atunci specic c punctul x
B
= x
0
=
(x
0
1
, . . . , x
0
n
) R
n
, x
0
j
=
_

0j
, j B
0 , j

kb
este o soluie optim al problemei
(1.17), d
0
este valoarea minim a funciei de scop, i oprete-l algoritmul
STOP
b) dac exist cel puin un j B,
0j
< 0, atunci formeaz mulimea B

=
{j B :
0j
< 0}
5. pentru orice j B

cerceteaz semnul numerelor


ij
, i

B
Se pot ivi dou situaii:
a)dac exist cel puin un j B

astfel nct pentru orice i



B
ij
0 atunci
specic c problema (1.17) nu are soluii admisibile deci nici soluie optim
i oprete-l algoritmul
STOP
b) dac pentru orice j B

exist cel puin un indice i



B cu
ij
< 0 atunci
continu,i treci la pasul urmtor
6. alege un indice k din B

(
0k
= min{
0j
: j B

})
46
7. alege un indice h din

B astfel nct
hk
< 0 i
d
h

hk
= min
_
d
i

ik
, i =

B,
ik
< 0
_
8. nlocuiete vectorul A
k
din baza B cu vectorul A
h
i cu baza B

astfel obinut
treci la pasul 2.
Pentru aplicarea algoritmului se folosec tabele asemntoare celor de la algorit-
mul simplex primal, numite tabele simplex dual.
Completarea tabelului simplex dual
1 2
3 6 7 8 10
4 5 9
Sectoarele 1 - 9 au acelai rol ca la algoritmul simplex primal i se completeaz
n mod analog.
Sectorul 10 este altfel aezat, are o alt semnicaie (la tabele simplex primal
n sectorul 10 aveam rapoartele
a
0j

hj
=
x
B
j

hj
corespunztoare lui j B pentru care

hj
> 0).
Aici n sectorul 10 scriem cturile
d
i

ik
pentru i

B pentru care
ik
< 0. Folosind
aceste rapoarte alegem indicele h din etapa 7 al algoritmului.
La o iteraie de ordinul r avem tabelul:
r . . . A
j
. . . A
k
. . .
. . . . . . . . . . . . . . . . . . . . . . . .
A
i
. . .
ij
. . .
ik
. . . d
i
p
i
d
i
/
ik
. . . . . .
A
h
. . .
hj
. . .
hk
. . . d
h
p
h
d
h
/
hk
. . . . . .
. . . x
B
j
. . . x
B
k
. . . d
0
p
0

Schimbarea bazei se realizeaz prin schimbarea unui vector din baz. La algo-
ritmul simplex dual prima dat este ales vectorul care iese din baz i dup aceea
vectorul care intr n locul acestuia n baz.
Alegerea lui A
k
(k din pasul 6) se efectueaz prin alegerea coloanei pivot.
Alegerea vectorului A
h
(h din pasul 7) se realizeaz prin alegerea liniei pivot.

hk
se numete element pivot.
47
Trecerea dintr-un tabel simplex dual n altul se realizeaz folosind regula nvat
la aplicarea algoritmului simplex primal. Regula de vericare este aceeai.
Observaie:
La algoritmul simplex primal pornim cu o baz B primal admisibil i lucrm
pn cnd devine dual admisibil (evident n cazul n care problema admite optim
nit).
Valoarea funciei de scop descrete dup ecare iteraie.
La algoritmul simplex dual pornim cu o baz B dual admisibil i continum
algoritmul pn cnd baza devine primal admisibil. Valoarea funciei de scop
crete la ecare iteraie, deoarece pe parcurs lucrm cu soluii bazice care nu sunt
posibile.
Exemplu:
S se rezolve problema urmtoare cu algoritmul simplex dual.
_

_
f(x) = x
1
+ 2x
2
+ 3x
3
min
x
1
x
2
+ x
3
= 7
3x
1
+ x
3
x
4
= 10
x
1
+ 2x
3
x
5
= 15
x
j
0, j = 1, 5
A =
_
_
1 1 1 0 0
3 0 1 1 0
1 0 2 0 1
_
_
b =
_
_
7
10
15
_
_
A
1
A
2
A
3
A
4
A
5
Dac n modelul considerat matricea restriciilor nclude o matrice unitate de
ordinul m, dar nu toate componentele vectorului b sunt pozitive atunci n general
baza canonic este baz dual admisibil.
n acest caz este mult mai ecient algoritmul simplex dual, deoarece nu se ncarc
modelul cu variabile articiale, pe de alt parte dac exist optim nit atunci vom
putea obine n urma rezolvrii unei singure probleme (cu metoda celor dou faze
trebuie s rezolvm dou probleme).
nmulind restriciile cu 1 putem observa imediat c sistemul de vectori
(A
2
, A
4
, A
5
) este o baz canonic, iar din primul tabel vom putea deduce dac este
dual admisibil pentru acest model.
c = (1, 2, 3, 0, 0)
1 A
2
A
4
A
5

A
1
-1 -3 -1 -3 9 3
A
3
-1 -1 -2 -5 10 5/2
-7 -10 -15 -14 47
48
2 A
2
A
4
A
3

A
1
-1/2 -5/2 1/2 -1/2 4 1/5
A
5
-1/2 -1/2 -1/2 -5/2 5 5
1/2 -5/2 15/2 47/2 -28
3 A
2
A
1
A
3

A
4
-1/5 -2/5 1/5 -1/5 8/5
A
5
-2/5 1/5 -3/5 -12/5 21/5
1 1 7 24 -32
Soluia optim al problemei este
x
0
= (1 2 7 0 0) d
0
= 24 = f
min
Bazele teoretice ale algoritmului simplex dual (vezi [Szab]).
1.9 Determinarea soluiilor problemei duale cu aju-
torul ultimului tabel simplex al problemei pri-
male
Considerm modelul liniar cu restricii n forma standard:
(P)
_
_
_
f(x) = (x, c) min
Ax = b
x c
(1.18)
Scriem matricea restriciilor, transpusa acestei matrici i formulm duala problemei
considerate:
A =
_
_
_
a
11
. . . a
1n
.
.
.
a
m1
. . . a
mn
_
_
_
A
T
=
_
_
_
a
11
. . . a
m1
.
.
.
a
1n
. . . a
mn
_
_
_
(D)
_

_
g(v) = (v, b) max
m

i=1
a
ji
v
i
c
j
j = 1, n
v
i
de semn oarecare i = 1, m
Presupunem c problema primal are optim nit.
Teorema 1.9.1. Dac B este baz optim a problemei (P) atunci soluia v
B
a
sistemului de ecuaii denit n R
m
prin
(A
j
, v
B
) = c
j
j B (1.19)
este soluia optim a problemei duale.
49
Demonstraie. [Szab].
Deci, dup rezolvarea problemei primale, dac construim sistemul liniar de
ecuaii dat n teorem putem obine soluiile problemei duale.
n continuare vom presupune c matricea A conine o matrice unitate de ordin
m, i artm c soluiile problemei duale, n acest caz, pot citite direct din ultimul
tabel simplex al problemei primale.
Notm cu
A
k
i
= e
i
, i = 1, m (e
i
R
m
elementele bazei canonice (e
1
, . . . , e
m
)). Baza canoni-
c cu care ncepem aplicarea algoritmului simplex este
B
c
= (A
k
1
. . . A
km
).
B
o
= {A
j
1
, . . . , A
jm
}
este baza optim obinut n ultimul tabel.
Se poate deduce urmtorul rezultat:
dac pentru un indice i {1, . . . , m} avem k
i
B, ceea ce nseamn

k
i
j
=
_
0 , dac j = k
i
1 , dac j = k
i
atunci v
B
i
= c
k
i
.
iar n cazul cnd avem k
i
B
atunci v
B
i
= c
k
i
+ d
k
i
.
n consecin, coordonatele vectorului v
B
sunt date de relaia:
v
B
i
=
_
c
k
i
, k
i
B
c
k
i
+ d
k
i
, k
i
= B
i pot determinate din ultimul tabel simplex.
Fie urmtoarea problem de optimizare liniar cu restricii.
Exemplu:
(P)
_

_
f = x
1
x
2
3x
3
+ 5x
4
min
x
1
+ x
2
+ x
3
+ x
4
= 1
x
1
2x
2
+ 3x
3
+ x
5
= 2
x
1
x
2
+ x
6
= 3
x
j
0, j = 1, 6
S se formuleze duala problemei propuse i s se determine soluiile problemei
duale!
Scriem matricea restriciilor problemei primale.
50
A
1
A
2
A
3
A
4
A
5
A
6
A =
_
_
1 1 1 1 0 0
1 2 3 0 1 0
1 1 0 0 0 1
_
_
(1.20)
Deoarece primala are trei restricii duala va avea trei variabile, pe care le notm
cu v
1
, v
2
, v
3
. Cu ajutorul matricei A
T
putem scrie problema dual.
(D)
_

_
g = v
1
+ 2v
2
+ 3v
3
max
v
1
+ v
2
+ v
3
1
v
1
2v
2
v
3
1
v
1
+ 3v
2
3
v
1
5
v
2
0
v
3
0
Problema este n forma standard de lucru,avem baza canonic B
c
= (A
4
, A
5
, A
6
)
care este baz primal admisibil prin urmare putem aplica metoda simplex primal.
1 A
4
A
5
A
6

A
1
-1 1 1 -6 6
A
2
1 -2 -1 6 -3
A
3
1 3 0 8 -11
1 2 3 5 -10
1 2/3 -
2 A
4
A
3
A
6

A
1
-4/3 1/3 1 -26/3 29/3
A
2
5/3 -2/3 -1 34/3 -31/3
A
5
-1/3 1/3 0 -8/3 11/3
1/3 2/3 3 -1/3 -8/3
1/5 - -
3 A
2
A
3
A
6

A
1
-4/5 -1/5 1/5 2/5 7/5
A
4
3/5 2/5 3/5 -34/5 31/5
A
5
-1/5 1/5 -1/5 -2/5 8/5
1/5 4/5 16/5 -13/5 -3/5
- - 16
51
4 A
2
A
3
A
1

A
6
4 1 5 -2 -7
A
4
3 1 3 -8 2
A
5
-1 0 -1 0 3
13 4 16 -9 -23
- - -
Soluia optim al problemei primale este x
0
= (16 13 4 0 0 0).
n continuare determinm soluiile optime ale problemei duale, folosind relaia:
v
0
i
=
_
c
k
i
, k
i
B
c
k
i
+ d
k
i
, k
i
B
Conform relaiei date putem scrie:
v
0
1
e
1
= A
4
B
o
v
0
2
e
2
= A
5
B
o
v
0
3
e
3
= A
5
B
o
v
0
1
= c
4
+ d
4
= 5 8 = 3
v
0
2
= c
5
+ d
5
= 0 + 0 = 0
v
0
3
= c
6
+ d
6
= 0 2 = 2
Deci, v
0
= (3 0 2) i g
max
= 3 + 2 0 + 3 (2) = 9 = d
0
= f
min
.
Legtura dintre soluiile unui cuplu dual (vezi [Szab]).
1.10 Reoptimizarea soluiilor unei probleme de pro-
gramare liniar
Practica pune n faa matematicii situaia instabilitii variantei optime, obinut
pentru un anumit model liniar la un moment dat, ca urmare a unui ntreg ansamblu
de factori economici, politici, sociali, etc., care pot inuena elementele modelului,
conducnd n spe la modicri ale acestora i implicit la modicarea modelului.
Aceste inuene se pot materializa prin:
- modicri ale termenului liber,
- modicri ale coecientului funciei obiectiv,
- modicri ale coloanelor matricei coecienilor,
- modicri ale liniilor matricei coecienilor,
- modicri ale numrului de restriii ale problemei,
- modicri ale numrului de variabile ale problemei.
Aceste modicri atrag dup sine, n mod evident, rezolvarea unei probleme noi
de programare liniar.
52
ntrebarea care se pune: Nu se poate rezolva problema modicat prin folosirea
rezultatelor obinute n urma rezolvrii problemei iniiale?
Rspunsul este armativ i pentru ecare caz n parte au fost formulate diferite
metode de rezolvare.
Ne vom opri asupra uneia dintre aceste cazuri prezentate, deoarece vom utiliza
la rezolvarea modelelor discrete, i la rezolvarea unor modele neliniare.
Rezolvarea unei probleme de optimizare liniar cu restricii sub forma
standard ce s-a obinut prin adugarea unei restricii i a unei variabile
pozitive
Fie modelele liniare
(1)
_
_
_
f(x) =

n
j=1
x
j
c
j
min

n
j=1
a
ij
x
j
= b
i
, i = 1, m
x
j
0, j = 1, n
(2)
_

_
f(x) =

n
j=1
x
j
c
j
min

n
j=1
a
ij
x
j
= b
i
i = 1, m

n
j=1
a
m+1j
x
j
+ x
n+1
= b
m+1
x
j
0
unde c
j
, a
ij
, b
i
R, m, n R date, m < n.
Problema (2) este obinut, din modelul (1), n urma adugrii unei restricii i
a unei variabile.
Astfel avem o problem de programare liniar n R
n
, problema (1) i o prob-
lem de programare liniar n R
n+1
, problema (2), obinut din problema (1) prin
adugarea unei restricii i a unei variabile.
Matricile restriciilor sunt:
A
1
. . . A
n
A
1
1
A
n
1
A
n+1
1
A =
_
_
_
a
11
. . . a
1n
.
.
.
a
m1
. . . a
mn
_
_
_
A
1
=
_
_
_
_
_
a
11
. . . a
1n
0
.
.
.
a
m1
. . . a
mn
0
a
m+1,1
. . . a
m+1,n
1
_
_
_
_
_
unde vectorii coloan A
1
, . . . , A
n
R
m
, A
1
, . . . , A
n+1
R
m+1
.
Analiznd matricile se poate observa uor c intre vectorii coloan are loc relaia
A
j
1
= (A
j
, a
m+1,j
) R
m
R
pentru orice j = 1, n i
A
n+1
1
= (
m
, 1) R
m
R.
Adic:
A
1
1
= (A
1
, a
m+1,1
) R
m
R
A
2
1
= (A
2
, a
m+1,2
) R
m
R
.
.
.
A
n
1
= (A
n
, a
m+1,n
) R
m
R
53
Presupunem c problema (1) admite soluie optim, obinut cu algoritmul sim-
plex primal sau dual, i vom nota cu x
0
R
n
.
n ultimul tabel simplex (primal sau dual) notnd cu (j
i
, . . . , j
m
) o submulime a
indicilor (1, 2, . . . , n) atunci (A
j
1
, . . . , A
jm
) va reprezenta baza optim al problemei
(1).
Teorema 1.10.1. Sistemul de vectori B
1
= (A
j
1
1
, . . . , A
jm
1
, A
n+1
1
) este o baz dual
admisibil pentru problema (2).
Demonstraie. Avem de demonstrat prima dat c acest sistem de vectori este baz
pentru problema (2). Astfel trebuie artat c formeaz un sistem liniar independent
de vectori.
A
1
. . . A
n
A
1
1
A
n
1
A
n+1
1
A =
_
_
_
a
11
. . . a
1n
.
.
.
a
m1
. . . a
mn
_
_
_
A
1
=
_
_
_
_
_
a
11
. . . a
1n
0
.
.
.
a
m1
. . . a
mn
0
a
m+1,1
. . . a
m+1,n
1
_
_
_
_
_
Dezvoltm determinantul dup ultima coloan, n care doar ultimul element
este diferit de zero. Determinantul de ordinul m astfel obinut este format din
componentele vectorilor care formeaz baza optim, prin urmare acest determinant
va diferit de zero, ceea ce nseamn c sistemul de vectori este baz.
La demonstrarea faptului c aceast baz este dual admisibil vom reveni dup
stabilirea modului de completare a tabelului simplex dual n scopul rezolvrii prob-
lemei (2).
Completarea tabelului simplex dual.
n ultimul tabel al problemei rezolvate vectorii care nu au intrat n formarea
bazei sunt
A
i
1
= (
ij
1
, . . . ,
ijm
)
unde coordonatele
ij
k
, k = 1, m sunt scrise n sectorul 6 n tabel.
Dac analizm acest ultim tabel i sistemul de vectori B
1
vom putea observa
c acele coloanele din matricea A
1
care sunt coresponztoare exact indicilor i vor
reprezenta vectorii care nu intr n formarea bazei B
1
.
Noile coordonate ale acestor vectori n baza B
1
vom nota cu
A
i
1
=

ij
1
A
j
1
1
+ +

ijm
A
jm
1
+

in+1
A
n+1
1
i

B
1
Putem scrie acest relaie folosind legturile dintre coloanele matricilor A i A
1
n
forma:
(A
i
, a
m+1i
) =

ij
1
(A
j
1
, a
m+1j
1
) + +

ijm
(A
jm
, a
n+1jm
) +

in+1
(
m
, 1) i

kb
1
54
Astfel obinem

in+1
=
m+1i

k=1

ij
k
a
m+1j
k
n mod analog putem deduce

0j
1
=
0j
1
, . . .

0jm
=
0jm
iar

0n+1
= x
0
n+1
= b
m+1

k=1
x
0
j
k
a
m+1j
k
Numerele de control pot obinute din
p

i
= p
i

in+1
p

0
= p
0

0n+1
Astfel se poate deduce uor c diferenele d

i
i d

0
sunt egale cu cele din ultimul tabel
al problemei rezolvate, adic au loc relaiile
d

0
= d
0
, d

i
= d
i
i

B
ceea ce arat c baza B
1
este baz dual admisibil i teorema astfel este complet
demonstrat.
Exemplu:
Fie problemele:
_

_
f(x) = x
1
x
2
+ 2x
3
+ x
4
min
x
1
+ x
2
+ x
3
= 3
2x
1
+ x
2
+ x
4
= 4
x
1
0, x
4
0
_

_
f(x) = x
1
x
2
+ 2x
3
+ x
4
min
x
1
+ x
2
+ x
3
= 3
2x
1
+ x
2
+ x
4
= 4
3x
1
2x
2
+ 6x
4
+ x
5
= 1
x
1
, . . . , x
5
0
A
1
A
2
A
3
A
4
A
1
1
A
2
1
A
3
1
A
4
1
A
5
1
A =
_
1 1 1 0
2 1 0 1
_
A
1
=
_
_
1 1 1 0 0
2 1 0 1 0
3 2 0 6 1
_
_
55
1 A
3
A
4

A
1
1 2 3 -5
A
2
1 1 4 -5
3 4 10 -16
3 4
2 A
2
A
4

A
1
1 1 -1 0
A
3
1 -1 -4 5
3 1 -2 -1

Dup dou iteraii avem soluia optim al primei probleme
x
0
= (0 3 0 1); f
min
= 2.
Pe baza teoremei putem scrie baza dual admisibil pentru modelul doi:
B

= (A
2
1
A
4
1
A
5
1
)
1 A
2
1
A
4
1
A
5
1

A
1
1
1 1 -1 -1 1 1
A
3
1
1 -1 8 -4 -3 -1/2
3 1 -1 -2 0
Completarea tabelului simplex dual se va realiza cu ajutorul relaiilor date.
Putem scrie:

1,5
= a
3,1
(1 a
32
+ 1 a
34
) = 3 (1 (2) + 1 6) sau
A
1
1
= 1 A
2
+ 1 A
4
+ A
5
1
A
1
1
= 1 (1 1 2) + 1 (0 1 6) +(0 0 1)
A
1
1
= (1 1 + 1 2 + 6 +)
(1 2 3) = (1 2 4 +)
4 + = 3
= 1
A
3
1
= 1 A
2
1
3A
4
1
+ A
5
1
A
3
1
= 1 (1 1 2) 1(0 1 6) +(0 0 1)
(1 0 0) = (1, 1 1, 2 6 + )
= 8

05
= b
3
(
02

32
+
04

34
) = 1 (3 (1) + 1 6) = 1
Dup alegerea elementului pivot trecem la completarea urmtorului tabel.
56
2 A
2
A
4
A
1

A
5
1 1 -1 -1 1
A
3
9 7 -8 -12 5
2 0 1 -1 -1
Deci soluia optim al problemei a doua este:
x
0
= (1 2 0 0 0) f
min
= 1.
Dac nu folosim reoptimizare atunci rezolvarea problemei doi este mai complicat
necesit mult mai mult timp. Din matricea A
1
se poate observa c problema nu este
n forma standard de lucru i nici algoritmul simplex dual nu putem aplica n mod
direct. Problema se va rezolva cu metoda celor dou faze sau metoda coecienilor
de penalizare.
Reoptimizarea putem aplica i invers. Avnd o problem spre rezolvare, elim-
innd din restricii i variabile (dac este cazul) putem rezolva problema redus,
dup care cu reoptimizare vom putea obine soluia optim al problemei iniiale.
Exemplu:
S se rezolve problema:
_

_
f(x) = x
2
6x
3
+ 2x
5
min
x
1
+ 3x
2
x
3
= 7
2x
2
+ 4x
3
+x
4
= 12
4x
2
+ 3x
3
+ 8x
5
+ x
6
= 10
x
1
+ 2x
2
+ x
3
+ x
4
+ x
6
+ x
7
= 20
x
1
, . . . , x
7
0
A =
_
_
_
_
1 3 1 0 0 0 0
0 2 4 1 0 0 0
0 4 3 0 8 1 0
1 2 1 1 0 1 1
_
_
_
_
c = (0 1 6 0 2 0 0)
b = (7 12 10 20)
Putem elimina ultima restricie i variabila x
7
, deoarece nu apere dect n ultima
restricie.
Astfel prima dat vom rezolva problema:
_

_
f(x) = x
2
6x
3
+ 2x
5
min
x
1
+ 3x
2
x
3
= 7
2x
2
+ 4x
3
+ x
4
= 12
4x
2
+ 3x
3
+ 8x
5
+ x
6
= 10
x
1
. . . x
6
0
dup care aplicm reoptimizarea.
Soluia optim al problemei iniiale va x
0
= (0 4 5 0 0 11) d
0
= f
min
= 26.
57
1.11 Programare discret
Bazele programrii discrete (vezi [Szab]).
Sunt dou principii de baz care stau la baza metodelor numerice elaborate
pentru rezolvarea modelelor discrete.
1. Principiul relaxrii
Dintre toate tipurile programrii matematice, pentru prima dat a aprut pro-
gramarea liniar. Astfel este natural ideea ca rezolvarea problemelor de programare
discret s e redus la rezolvarea numeric ale acestor probleme.
Un punct de plecare n acest sens avem imediat, deoarece dac n modelul
_
_
_
f(x) = (c, x) opt.
Ax = b
x N
n
renunm la condiia de ntegritate a variabilelor atunci avem o problem de progra-
mare liniar. Rezolvnd problema dac soluia x
0
veric condiiile x N

atunci
rezult c avem soluie optim i pentru problema discret.
n continuare enunm principiul relaxrii.
Fie S, T dou mulimi oarecare astfel nct S T. Fie f : T R o funcie
oarecare. Dac problema
_
f(x) max
x T
admite soluie optim notat cu
y i y S
atunci y va deasemenea soluie optim pentru problema
_
f(x) max
x S
Prima problem prin deniie se numete problem relaxat.
Metodele de tip tietur i metoda mrginirii i separrii sunt construite pe acest
principiu.
Dei principiul relaxrii este un principiu destul de trivial este un instrument
foarte util.
Practic este util atunci cnd rezolvarea problemei relaxate este mult mai simpl.
2. Principiul lui Bellmann
La orice algoritm de determinare a drumului optim ntr-un graf orientat se poate
asocia un procedeu de programare discret.
Interesul se concetreaz asupra ecienei.
Metode de rezolvare bazte pe principiul lui Bellman vor studiate n cadrul
programrii dinamice discrete.
58
n continuare considerm problema:
_

_
f(x) = 7x
1
+ 5x
2
max
6x
1
+ 9x
2
54
7x
1
+ 6x
2
42
x
1
4
x
1
, x
2
N
9
6
(d
2
)
(d
3
)
(d
1
)
y
x
Evident mulimea soluiilor posibile este
S = {(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6)
(1, 0), (1, 1), (1, 2), (1, 3), (1, 4), (1, 5)
(2, 0), (2, 1), (2, 2), (2, 3), (2, 4)
(3, 0), (3, 1), (3, 2), (3, 3)
(4, 0), (4, 1), (4, 2)}
Cutm soluia ntr-un poliedru convex. Lund nvelitoarea convex a punctelor
obinem un poliedru mai mic.
Soluia optim al problemei discrete va x = (4 2), iar soluia problemei relaxate
este x
0
= (4 7/3), adic punctul de intersecie a dreptelor (d
3
) (d
2
).
1.11.1 Metode de tip tietur. Metoda lui Gomory
Algoritmul lui Gomory, este o metod de tip tietur i a fost formulat n 1959.
Fie modelul liniar cu restricii n numere ntregi
59
_
_
_
f(x) = (x, c) min
Ax = b
x N
n
(1.21)
Asociem acestui model problema relaxat
_
_
_
f(x) = (x, c) min
Ax = b
x 0
(1.22)
care este o problem de programare liniar obinuit.
Notm cu S = {x N
n
: Ax = b} mulimea soluiilor posibile ale problemei de
minimizare total ntreag
i cu S
1
= {x R
n
: Ax = b, x 0} mulimea soluiilor admisibile ale problemei
relaxate.
Evident are loc relaia S S
1
.
n continuare prezentm algoritmul lui Gomory.
1. Se va rezolva problema relaxat cu una din algoritmile nvate i se va nota
cu x
1
S
1
soluia optim obinut.
2. Aplicm principiul relaxrii, adic vericm
(a) dac x
1
S x
1
este soluia problemei de minimizare total ntreag i
oprete-l algoritmul;
(b) dac x
1
S, adic cel puin o component a vectorului nu este numr
natural atunci se va continua algoritmul.
3. Notm cu B
o
baza optim al problemei relaxate. Deoarece x
1
S rezult c
cel puin una din numerele
0j
nu este natural, adic
j B :
0j
N.
4. Se va alege o astfel de indice j, i se va construi o nou problem astfel
_

_
f(x) = (x, c) min
Ax = b

B
{
ij
}x
i
{
0j
}/ (1)
x 0
(1.23)
Mulimea soluiilor posibile ale problemei (1.23) se va nota cu
S
2
= {x R
n
: Ax = b,

B
{
ij
}x
i
{
0j
}, x 0}.
60
Au loc relaiile
S
2
S
1
(chiar se poate arta c S
2
S
1
)
S S
2
.
Problema, n scopul rezolvrii, se va transforma astfel:
_

_
f(x) = (x, c) min
Ax = b

B
{
ij
}x
i
+ x
n+1
= {
0j
}
x 0, x
n+1
0
(1.24)
Se poate observa uor c acest model poate rezolvat cu ajutorul reoptimizrii.
Soluia acestei probleme va avea (n + 1) coordonate. Se vor lua primele n
componente pe care le vom nota cu x
2
S
2
.
5. Cu soluia x
2
astfel obinut se va trece la pasul 2 din algoritm.
Observaie:
Mulimea soluiilor posibile S este aproximat cu un ir de mulimi tot mai
restrictive, care sunt mulimile soluiilor posibile ale modelelor liniare construite n
pasul 4 din algoritm.
Se poate demonstra c n cazul n care datele de intrare ale problemei, A, c, b,
sunt formate din numere ntregi; iar mulimea S este mrginit atunci dup un
numr nit de pai se va obine soluia optim ale problemei de minimizare total
ntreag.
Inegalitatea

B
{
ij
}x
i
{
0j
}
se numete tietura lui Gomory, unde {x} reprezint partea fracionar a
numrului real x.
Pentru orice x R avem
x = {x} + [x], unde [x]
este partea ntreag a numrului.
Teorema 1.11.1. Presupunem c problema relaxat admite soluie optim, funcia
de scop este mrginit inferior (pentru f(x
0
) w : w f(x
0
)).
Dup un numr nit de iteraii ne vom ntlni cu una din urmtoarele situaii:
1. obinem soluia optim pentru problema de programare total ntreag;
2. gsim f(x
0
) < w;
3. demonstrm despre o variabil c poate lua numai valori negative.
61
Exemplu:
_

_
f(x) = x
1
6x
2
+x
3
min
2x
1
3x
2
+ x
3
= 2
x
1
+ 3x
2
+ x
4
= 3
3x
1
+ 6x
2
+ x
5
= 3
x
1
, . . . , x
5
N

_
f(x) = x
1
6x
2
+ x
3
min
2x
1
3x
2
+ x
3
= 2
x
1
+ 3x
2
+ x
4
= 3
3x
1
+ 6x
2
+ x
5
= 3
x
j
0, j = 1, 5
Matricea problemei relaxate este
A =
_
_
2 3 1 0 0
1 3 0 1 0
3 6 0 0 1
_
_
A
1
A
2
A
3
A
4
A
5
Problema este n forma standard de lucru i vom rezolva cu algoritmul simplex
primal.
1 A
3
A
4
A
5

A
1
2 1 3 1 -6
A
2
-3 3 6 3 -8
2 3 3 2 -9
- 1 1/2
2 A
3
A
4
A
2

A
1
7/2 -1/2 1/2 -1/2 -2
A
5
1/2 -1/2 1/6 -1/2 4/3
7/2 3/2 1/2 1/2 -5

Soluia optim este
x
1
=
_
0
1
2
7
2
3
2
0
_
d
0
= f
min
=
1
2
j {2, 3, 4}

02
=
1
2
N
62
Pentru j = 2 ales din mulimea 2 3 4 scriem tietura lui Gomory.

B
{
ij
}x
i
{
0j
}
j = 2
02
=
1
2
{
02
} =
1
2
i

B = 1 5
13
=
7
2

12
=
1
2
{
5,2
} =
1
6

5,2
=
1
6
{
52
} =
1
6
Folosind tietura lui Gomory putem scrie modelul:
_

_
f(x) = x
1
6x
2
+x
3
min
2x
1
3x
2
+ x
3
= 2
x
1
+ 3x
2
+ x
4
= 3
3x
1
+ 6x
2
+x
5
= 3
1
2
x
1
+
1
6
x
5

1
2
x
1
. . . x
5
0
_

_
f(x) = x
1
6x
2
+ x
3
min
2x
1
3x
2
+ x
3
= 2
x
1
+ 3x
2
+ x
4
= 3
3x
1
+ 6x
2
+ x
5
= 3

1
2
x
1

1
6
x
5
+ x
6
=
1
2
x
1
. . . x
6
0
Rezolvm cu reoptimizare. Matricea problemei este
A
1
=
_
_
_
_
2 3 1 0 0 0
1 3 0 1 0 0
3 6 0 0 1 0

1
2
0 0 0
1
6
1
_
_
_
_
b
1
=
_
_
_
_
2
3
3

1
2
_
_
_
_
A
1
1
A
2
1
A
3
1
A
4
1
A
5
1
A
6
1
c =
_
1 6 1 0 0 0
_
Vom rezolva cu algoritmul simplex dual. Putem scrie:
1 A
3
1
A
4
1
A
2
1
A
6
1

A
1
1
7/2 -1/2 1/2 -1/2 -1/2 -3/2 1
A
5
1
1/2 -1/2 1/6 -1/6 -1/2 3/2 3
7/2 3/2 1/2 -1/2 1/2 -9/2
La completarea tabelului folosim calculele:
A
1
1
=
7
2
A
3
1

1
2
A
4
1
+
1
2
A
2
1
+A
6
1
=
7
2
(1, 0, 0, 0)
1
2
(0, 1, 0, 0) +
+
1
2
(3, 3, 6, 0) +(0, 0, 0, 1) =
_
7
2

3
2
,
1
2
+
3
2
, 3,
_
= (2, 1, 3, )
_
2, 1, 3,
1
2
_
= (2, 1, 3, )
=
1
2
b
1
=
7
2
A
3
1
+
3
2
A
4
1
+
1
2
A
2
1
+ A
6
1
=
1
2
63
2 A
3
1
A
4
1
A
2
1
A
1
1

A
6
1
7 -1 1 -2 -1 -3
A
5
1
-2/3 -1/3 0 1/3 -1/3 2
0 2 0 1 1 -3
Soluia optim din acest ultim tabel este
x
2
= (1, 0, 0, 2, 0) S, deci pe baza principiului de relaxare este soluie i pentru
problema iniial.
d
0
= 1 = f
min
S se rezolve problema
_

_
f(x) = 6x
1
+ 5x
2
+ 3x
3
max
2x
1
+ 3x
2
+ 3x
3
200
3x
1
+ 4x
2
+ 2x
3
300
4x
3
+ 3x
2
+ 4x
3
360
x
1
, x
2
, x
3
N
A =
_
_
2 3 3
3 4 2
4 3 4
_
_
Problema relaxat n forma standard este
_

_
f(x) = 6x
1
5x
2
3x
3
min
2x
1
+ 3x
2
+ 3x
3
+ x
4
= 200
3x
1
+ 4x
2
+ 2x
3
+ x
5
= 300
4x
1
+ 3x
2
+ 4x
3
+ x
6
= 360
x
j
0; j = 1, 6
Acest model poate rezolvat cu algoritmul simplex primal, dup care folosim metoda
lui Gomory.
64
2
Modele speciale de programare
liniar. Problema de transport
2.1 Formularea problemei, proprieti generale
n acest paragraf vom prezenta o problem particular de programare liniar.
Din punct de vedere economic se poate formula urmtoarea problem.
Fie m centre de aprovizionare (depozitare) notate cu A
1
, . . . , A
m
.
Fie n centre de consum (beneciari) notate cu B
1
, . . . , B
n
.
Dac un produs omogen este depozitat n cantitile a
i
, i = 1, m n centrele A
i
,
i este cerut de ctre beneciari n cantitatea b
j
, j = 1, n, iar costurile unitare de
transport de la centrul A
i
la beneciarul B
j
sunt egale cu c
ij
atunci s se organizeze transportul astfel nct cheltuielile de transport s e
minime!
Dac notm cu x
ij
cantitatea de produs care va transportat de la furnizorul i
la consumatorul j, atunci matematic putem descrie problema cu urmtorul model:
_

_
f =
m

i=1
n

j=1
c
ij
x
ij
min
n

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

i=1
x
ij
b
j
, j = 1, n
x
ij
0,
m

i=1
a
i

n

j=1
b
j
, c
ij
0
(2.1)
Funcia obiectiv reprezint evident cheltuielile totale, prin urmare scopul este
minimizarea acestora.
Primele m restricii
n

j=1
x
ij
a
i
, i = 1, m arat c totalul cerut de consumatori
65
de la furnizorul i nu poate depi disponibilul acestuia,
iar urmtoarele n restricii
m

i=1
x
ij
b
j
, j = 1, n se refer la faptul c totalul
distribuit de ctre furnizori trebuie s e cel puin egal cu necesarul consumatorilor.
Restriciile

a
i

n
j=1
b
j
, c
ij
0 arat c disponibilul total este cel puin egal
cu necesarul total.
Se poate observa uor c acest model numit model liniar de transport este
o problem de programare liniar cu m + n restricii i m n variabile. Problemei
propuse i putem asocia urmtorul graf orientat, numit reea de transport:
b
m
A
i
B
A
1
A
m
B
1
B
n
b
i
b
1
B
j
a
1
a
i
a
m
A
Nodul A se numete nod de intrare n reea, iar nodul B nod de ieire din reea.
Deniia 2.1.1. Dac

a
i
>

b
j
sau

a
i
<

b
j
atunci problema de transport
se numete neechilibrat. Dac

i
a
i
=

j
b
j
atunci este problem de transport
echilibrat.
Observaie:
a) Modelul de transport echilibrat este:
_

_
f(x) =
m

i
n

j
c
ij
x
ij
min

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

i
x
ij
= b
j
, j = 1, n
x
ij
0,

i
a
i
=

j
b
j
, c
ij
0, a
i
0, b
j
0, i = 1, m; j = 1, n
(2.2)
b) O problem neechilibrat, n mod echivalent, ntotdeauna se poate reduce la
o problem echilibrat prin introducerea unor centre ctive.
66
Dac

i
a
i
>

j
b
j
atunci se introduce un consumator ctiv (B
n+1
) al crui
necesar este egal cu
m

i=1
a
i

j=1
b
j
, iar costurile unitare de transport ind nule.
Dac

i
a
i
<

j
b
j
, atunci se introduce un furnizor ctiv al crui disponibil
este egal cu

b
j

a
i
, iar costurile de transpot pot considerate egale cu zero.
Justicarea faptului c costul de transport este zero este evident - neavnd
consumator - nu se consum produsul sau produsul nu exist n disponibilul ctiv
prin urmare nu se transport, deci nu avem cheltuieli n acest sens.
Observaie.
Modelul de transport ind un model de (P.L) rezult c consideraiile fcute n acest
sens rmn valabile.
Forma special a problemei a condus ns i la unele rezultate particulare n ceea
ce privete soluionarea problemei.
Pentru prima dat, n 1941, Frank Hitchcock a formulat o astfel de problem,
pentru organizarea transportului maritim.
Teorema 2.1.2. Orice problem de tip (2.2), ntotdeauna admite o soluie.
Dac a
i
< i b
j
< , i = 1, m; j = 1, n atunci soluia de baz este mrginit.
Demonstraie. [Szab].
Forma matriceal a problemei (2.2) este:
f(x) =
_
_
_
c
T
x min
Ax = b
x 0,
(2.3)
unde A este matricea coecienilor din cele (m + n) restricii.
Matricea restriciilor are o structur special, ceea ce se poate constata din
tabelul urmtor:
67
x
11
x
12
x
1j
x
1n } x
i1 } x
ij } x
in } x
m1 } x
mj } x
mn
u
1
1 1 1 1 } 0 } 0 } 0 } 0 } 0 } 0 a
1
} } } } } } } } } } } } } } } } } }
u
i
0 0 0 0 } 1 } 1 } 1 } 0 } 0 } 0 a
i
} } } } } } } } } } } } } } } } } }
u
m
0 0 0 0 } 0 } 0 } 0 } 0 } 0 } 0 a
m
v
1
1 0 0 0 } 1 } 0 } 0 } 1 } 0 } 0 b
1
} } } } } } } } } } } } } } } } } }
v
j
0 0 1 0 } 0 } 1 } 0 } 0 } 1 } 0 b
j
} } } } } } } } } } } } } } } } } }
v
n
0 0 1 } 0 } 0 } 1 } 0 } 0 } 1 b
n
c
11
c
12
c
1j
c
1n } c
i1 } c
ij } c
in } c
m1 } c
mj } c
mn
Adic A = (a
11
. . . a
1n
, a
21
. . . a
2n
. . . a
m1
, . . . , a
mn
) unde a
ij
R
n+m
, i = 1, m, j =
1, n x = (x
11
. . . x
1n
, x
21
. . . x
2n
, . . . x
m1
, . . . x
mn
) b = (a
1
. . . a
m
, b
1
. . . b
n
)
T
.
Putem observa c a
ij
=
_
e
i
e
j
_
unde e
i
R
m
e
j
R
n
.
2.2 Proprieti ale matricei coecienilor
Teorema 2.2.1.
rang A = m +n 1
Demonstraie. [Szab].
Observaia 2.2.2. Semnicaia teoremei const n aceea c o soluie de baz a unei
probleme liniare de tip transport nu poate avea mai mult de m + n 1 componente
nenule.
Deniia 2.2.3. O soluie de baz al problemei (2.2) este nedegenerat dac
numrul componentelor sale nenule este egal cu (m+n 1) i este degenerat n
caz contrar.
Teorema 2.2.4. Orice minor la matricei A are valoarea 1, 0 sau 1 (A este total
unimodular).
Corolarul 2.2.5. Dac a
i
, i = 1, m i b
j
, j = 1, n sunt ntregi atunci exist cel puin
o soluie optim a problemei de transport (2.2) care are toate componentele ntregi.
2.3 Proprieti grace ale problemei de transport
Problemei de transport (2.2) i se poate asocia un tabel numit tabel de transport,
care conine datele numerice ale problemei. Tabelul are m+1 linii i n +1 coloane.
n ecare celul (i, j) scriem costul unitar de transport c
ij
.
68
c
11
. . . c
1j
. . . c
1m
a
1
. . . . . . . . . . . . . . . . . .
c
i1
. . . c
ij
. . . c
im
a
i
. . . . . . . . . . . . . . . . . .
c
mi
. . . c
mj
. . . c
mn
a
m
b
1
. . . b
j
. . . b
m
Valoarea actual x
ij
a variabilei x
ij
dintr-o anumit iteraie se va introduce astfel:
x
ij
c
ij
Deniia 2.3.1. Celula (i, j) cu x
ij
= 0 se numete celul bazic, n caz contrar
o vom numi celul liber.
Tabelului de transport i putem asocia un graf neorientat .
1,1 1, j 1, m
2, 1 2, m
m, 2 m, j m, n
1, 2
2, 2 2, j
i, 2 i, j i, m
m, 1
i, 1
Deniia 2.3.2. Se numete graf un subgraf parial al grafului neorientat .
De exemplu:
69
1,1 1, j 1, m
2, 1 2, m
1, 2
2, 2 2, j
i, 1 i, m i, j i, 2
m, 1 m, 2 m, n m, j
Deniia 2.3.3. Un graf care este un lan (ciclu) elementar avnd cel mult o
muchie n ecare linie sau coloan (al tabelului de transport) se numete -ciclu.
Problemei de transport i putem asocia graful G:
A
i
A
1
A
m
B
1
B
n
B
j
Observaia 2.3.4. ntre graful G construit astfel i graful se poate stabili o core-
sponden bijectiv.
Teorema 2.3.5. O condiie sucient ca un sistem de vectori coloan ai matricei
A s formeze un sistem liniar dependent este ca mulimea celulelor tabelului de
transport corespunztoare acestor coloane s formeze un -ciclu.
Coecienii combinaiei nule al acestui sistem de vectori sunt alternativ +1 i
1, dac se adopt un sens oarecare de parcurgere a -ciclului.
70
2.4 Determinarea unei soluii de baz
Pentru rezolvarea problemei de transport cu algoritmul simplex este necesar
obinerea unei soluii de baz iniial.
n continuare prezentm o metod general de construcie a soluiilor bazice,
algoritmul DSBI.
Algoritmul DSBI:
1) - se xeaz o celul (i, j) oarecare
2) - se atribuie variabilei x
ij
valoarea maxim pe care o poate lua, adic:
x
ij
= min(a
i
, b
j
)
dac x
ij
= a
i
atunci elimin linia i i atribuie lui b
j
valoarea b

j
= b
j
x
ij
dac x
ij
= b
j
atunci elimin coloana j i atribuie lui a
i
valoarea a

i
= a
i
x
ij
dac x
ij
= a
i
= b
j
atunci la alegere ia una din cazurile de mai sus;
3) - continu algoritmul, adic treci la pasul (1) pn cnd se reduc toate liniile
i coloanele din tabelul de transport.
Folosind algoritmul putem obine o soluie bazic.
Metoda poate particularizat prin diverse moduri de selectare a celulei (i, j).
Metodele cele mai cunoscute i utilizate sunt:
[A] Metoda colului de nord-vest (N-V) - se selecteaz celula (i, j) situat n
prima linie i prima coloan (din colul nord-vest al tabelului) netiat.
[B] Metoda costului minim - la ecare pas se alege celula (i, j) netiat core-
spunztoare costului (c
ij
) minim din tabel
Observaie Metoda [A] este uor de aplicat ns metoda [B] este mult mai util
privind numrul de iteraii n algoritmul de transport.
2.5 Adaptarea algoritmului simplex
Deoarece modelul liniar de transport are o form special, algoritmul simplex, apli-
cat n general la rezolvarea modelelor liniare cu restricii, poate modicat. n
continuare vom adapta algoritmul simplex.
O soluie bazic iniial necesar n aplicarea algoritmului simplex avem la dis-
poziie (vezi paragraful 1.4). n continuare va trebui s adaptm condiia de optim
respectiv procedeul de mbuntire al soluiei (adic criteriul de intrare i de ieire
din baz) din algoritmul simplex.
n acest sens prima dat sunt necesare cteva precizri.
Fie
B = {(i, j) IxJ|a
ij
A}
unde I = {1, 2 . . . , m} i J = {1, 2, . . . , n}, mulimea celulelor bazice. Evident n
aceast mulime sunt m + n 1 elemente. Aceast mulime obinem deodat cu
71
soluia bazic iniial. Vom not cu R mulimea celulelor libere (coloanale corespun-
ztoare acestor celule nu intr n formarea bazei).
Pe baza teoremei 1.3.5 putem arma c la ecare celul liber din R corespunde
un ciclu, adic un poligon cu vrfurile situate n celula liber i ntr-o submulime
al lui B avnd cel mult o latur n ecare linie respectiv coloan al tabelului de
transport. Deci, mulimea format din elementul h R i elementele lui B formeaz
un sistem liniar dependent.
n continuare ne propunem s alegem din aceast mulime un sistem liniar de-
pendent format dintr-un numr minim de vectori (elemente).Evident putem alege
un astfel de sistem, n cazul cel mai nefavorabil lum toate elementele din mulime.
Se poate demonstra c ciclul asociat unei celule libere veric aceast propri-
etate; adic se asocieaz n mod unic unei celule libere i este format dintr-un numr
minim de elemente.
Astfel dac vectorului h i corespunde celula liber (i
1
, j
1
) atunci ciclul
construit vom reprezenta n continuare, unde cercul reprezint celula liber, iar
ptratele celulele bazice.
i
2
, j
3
i
2
, j
2
i
t
, j
1
i
1
, j
2
i
1
, j
1
n construcia ciclului avem n vedere c trebuie s obinem un poligon cu
nodurile n celulele bazice avnd cel mult o latur n ecare linie i coloan.
Evident, combinaia liniar a vectorilor corespunztori celulelor din ciclu este
egal cu zero (ind un sistem liniar dependent), iar coecienii combinaiei liniare
sunt pe rnd egale cu 1, i 1 (vezi teorema 1.3.4).
_
e
i
1
e
j
1
_

_
e
i
1
e
j
2
_
+
_
e
i
2
e
j
2
_

_
e
i
2
e
j
3
_
+ . . .
_
e
it
e
j
1
_
= 0.
Explicaia este evident deoarece vectorii e
i
k
,
k {1, . . . , t} i e
j
l
, l
72
{1, . . . , r} apar ntr-un numr par, deoarece ecare nod este ntr-o linie (coloan), dar
n ecare astfel de linie (coloan) avem o latur care este determinat de dou vrfuri.
Dac din -ciclul considerat scoatem o celul atunci vom obine un sistem liniar
independent de vectori. n continuare vom scrie combinaia liniar a vectorilor din
-ciclu fr celula liber. Lum chiar valorile actuale ale variabilelor independente
ca coecieni ai combinaiei liniare. Astfel se va obine un vector, notat
_
a
1
b
1
_
. Putem
scrie:
_
a
1
b
1
_
= x
i,j
2
_
e
i
1
e
j
2
_
+ x
i
2
j
2
_
e
i
2
e
j
2
_
+ x
i
2
j
3
_
e
i
2
e
j
3
_
+. . . + x
itj
1
_
e
it
e
j
1
_
Se poate verica uor c combinaia liniar a tuturor vectorilor bazice este egal
cu
_
_
_
_
_
_
_
_
_
a
1
.
.
.
a
m
b
1
.
.
.
b
n
_
_
_
_
_
_
_
_
_
not
=
_
a
b
_
.
Acum revenim la combinaia liniar nul i vom nmuli cu o cantitate pozitiv
notat cu Q, i putem scrie:
Q
_
e
i
1
e
j
1
_
Q
_
e
i
1
e
j
2
_
+ Q
_
e
i
2
e
j
2
_
Q
_
e
i
2
e
j
3
_
+Q. . . Q
_
e
it
e
j
1
_
= 0.
dup care o adunm la vectorul
_
a
1
b
1
_
.
Astfel obine:
Q
_
e
i
1
e
j
1
_
+( x
i,j
2
Q)
_
e
i
1
e
j
2
_
+( x
i
2
j
2
+Q)
_
e
i
2
e
j
2
_
+( x
i
2
j
3
Q)
_
e
i
2
e
j
3
_
+. . .+( x
itj
1
Q)
_
e
it
e
j
1
_
.
(2.4)
De aici se deduce procedeul schimbrii vectorilor, procedeul de mbuntire
a bazei. Cu alegerea convenabil a lui Q vom putea introduce celula (vectorul)
liber n baz i n acelai timp vom putea scoate una din baz. Astfel se va obine
o nou baz i combinaia liniar a vectorilor de tip (2.4) va egal de asemenea
cu
_
a
1
b
1
_
. Valoare lui Q se va alege astfel nct
Q = min{Q|x
irj
l
Q = 0, (i
r
, j
l
) B}
Modul de alegere a lui Q se numete criteriu de ntrare n baz.
Avnd n vedere c urmtoarea soluie trebuie s e mai bun este foarte impor-
tant alegerea celulei libere. Celula liber este ales prin intermediul problemei duale
i vom descrie n continuare.
73
2.6 Utilizarea problemei duale
Duala problemei de transport (2.2) este:
_
_
_
g(u, v) =

m
i=1
a
i
u
i
+

n
j=1
b
j
v
j
max
u
i
+ v
j
c
ij
, i = 1, m, j = 1, n
u
i
, v
j
, i = 1, m, j = 1, n de semn oarecare
(2.5)
Teorema 2.6.1. Fie x
ij
, i = 1, m, j = 1, n o soluie de baz pentru problema de
transport, iar (u
i
, v
j
), i = 1, m, j = 1, n o soluie al problemei duale. Soluiile sunt
optime dac i numai dac are loc relaia:
x
ij
(c
ij
u
i
v
j
) = 0, i = 1, m, j = 1, n
Observaia 2.6.2. Dac lum (i, j) B atunci trebuie s avem c
ij
u
i
v
j
=
0. Altfel are loc relaia de mai sus deoarece valorile variabilelor independente ale
problemei primale x
ij
, sunt egale cu zero.
Deci soluia problemei duale trebuie s verice sistemul liniar de ecuaii
c
ij
= u
i
+ v
j
, (i, j) B. (2.6)
Astfel valorile actuale ale variabilelor duale le obinem n urma rezolvrii sis-
temului (2.6). Acest sistem este nedeterminat deoarece este format din m + n 1
ecuaii i m+ n necunoscute, prin urmare admite o innitate de soluii.
Analiznd condiia de optim putem observa c de fapt ne ntereseaz sumele
u
i
+ v
j
, i = 1, m, j = 1, n i nu soluiile, valorile variabilelor, n sine. Se poate
demonstra urmtorul rezultat.
Teorema 2.6.3. Dac (u
0
i
, v
0
j
) este o soluie particular al sistemului de ecuaii
atunci mulimea tuturor soluiilor este:
u
i
= u
0
i
+ c
v
j
= v
0
j
c
pentru orice i = 1, m, j = 1, n unde c este o constant real oarecare.
Pe baza acestei teoreme se poate deduce c pentru vericarea optimalitii este
sucient de fapt o soluie particular, deoarece:
u
i
+ v
j
= u
0
i
+v
0
j
pentru orice i = 1, m, j = 1, n.
Teorema 2.6.4. Soluia sistemului de ecuaii (2.6) este optim dac i numai dac
este soluie posibil pentru (2.5), adic
c
ij
(u
i
+ v
j
) 0, i = 1, m, j = 1, n
74
Astfel, dac exist cel puin o celul (i, j) pentru care c
ij
(u
i
+v
j
) < 0 atunci
soluia problemei duale nu este optim, prin urmare nici soluia problemei primale
nu este optim.
Dac se va alege celula pentru care aceast diferen strict negativ este minim
atunci se va obine celula care va intra n baz.
Acest mod de alegere a celulei libere se numete criteriu de intrare n baz.
2.7 Algoritmul de transport
Algoritmul simplex adaptat pentru rezolvarea modelelor liniare de tip transport se
numete algoritmul de transport.
Descrierea algoritmului:
1. S se verice dac problema este echilibrat, i s se echilibreze dac este cazul;
2. S se determine o soluie de baz i o baz B (se folosete metoda colului de
N-V, sau metoda costului minim);
3. S se verice optimalitatea soluiei obinute la pasul (2).
- s se rezolve sistemul
u
i
+ v
j
= c
ij
, (i, j) B cu u
1
= 0
Dac
c
ij
(u
i
+ v
j
) 0 pentru orice i = 1, m; j = 1, n
atunci soluia obinut n (2) este optim i calculeaz f
min
;
altfel alege celula liber, care va intra n baz (vezi criteriul de intrare n
baz);
4. Cu celula liber obinut n pasul (3) construiete -ciclul i aplic criteriul
de ieire din baz (alege n mod convenabil valoarea lui Q);
5. Efectueaz redistribuire pe -ciclu i cu soluia i baza obinut treci la pasul
(2).
75
2.8 Probleme propuse i rezolvate
1. S se rezolve problema de transport:
2 4 3 23
1 3 5 12
6 2 1 15
18 20 12
Deoarece
n

i=1
a
i
= 23 + 12 + 15 = 50 = 18 + 20 + 12 =
3

j=1
b
j
, problema consid-
erat este echilibrat i putem ncepe aplicarea algoritmului de transport. Folosim
metoda colului de N-V pentru determinarea unei soluii bazice. Alegnd pe
rnd celulele cuvenite (celulele din N-V), dnd valorile posibile maxime variabilelor
independente i reducnd liniile, coloanele co-respunztoare vom obine:
(1, 1) x
11
= min(23, 18) = 18
(1, 2) x
12
= min(5, 20) = 5
(2, 2) x
22
= min(12, 15) = 12
(3, 2) x
32
= min(15, 3) = 3
(3, 3) x
33
= min(12, 12) = 12
Astfel putem ntocmi urmtorul tabel de transport:
2 4
18 5
3 23
3
1
12
5 12
2 1
6
3 12
15
18 20 12 50
76
Baza cu care vom ncepe algoritmul de transport este:
B = {(1, 1), (1, 2), (2, 2), (3, 2), (3, 3)}.
Valoarea funciei de scop (costul de transport) pentru aceast soluie este:
f(x
B
) = 2 18 + 4 5 + 3 12 + 2 3 + 1 12 = 36 + 20 + 36 + 6 + 12 = 110 u.m.
n continuare, vericm optimalitatea soluiei.
Pentru vericarea condiiei de optim c
ij
(u
i
+ v
j
) 0, i = 1, 3; j = 1, 3 vom
calcula prima dat valorile variabilelor duale din sistemul liniar de ecuaii:
_

_
u
1
+v
1
= 2
u
1
+v
2
= 4
u
2
+v
2
= 3
u
3
+v
2
= 2
u
3
+v
3
= 1
Lund u
1
= 0 soluiile vor :
u
2
= 1
u
3
= 2
v
1
= 2
v
2
= 4
v
3
= 3
Se va folosi un tabel ajuttor:
2 4 3
0
2
0
4
0
3
0
-1
1
0
3
0
5
3
-2
6
6
2
0
1
0
Deoarece c
ij
(u
i
+v
j
) pentru orice i = 1, 3; j = 1, 3 rezult c soluia bazic
este optim.
Cum se veric dac soluia este unic?
Deoarece exist c
ij
(u
i
+ v
j
) = 0, unde (i, j) = B i n rest c
ij
(u
i
+ v
j
) 0
pentru orice i = 1, 3 i j = 1, 3, rezult c problema admite optim multiplu.
Alegem o celul liber pentru care c
ij
(u
i
+ v
j
) = 0. Putem alege, de exemplu,
celula (2,1) cu care vom construi -ciclul
77
2 4
18 5
3 23
1 3
12
5 12
2 1
6
3 12
15
18 20 12
Pe -ciclul construit cu cantitatea Q i cu o direcie de parcurgere a -ciclului
putem scrie:
Q
_
e
2
e
1
_
+ ( x
11
Q)
_
e
1
e
1
_
+ ( x
12
) + Q)
_
e
1
e
2
_
+ ( x
22
Q)
_
e
2
e
2
_
de unde avem:
Q
_
e
2
e
1
_
+ (18 Q)
_
e
1
e
1
_
+ (5 +Q)
_
e
1
e
2
_
+ (12 Q)
_
e
2
e
2
_
Dintre soluiile ecuaiilor
18 Q = 0
12 Q = 0
vom alege Q = 12. Astfel celula (2,2) va iei
din baz. Efectum redistribuire pe - ciclul ales i vom avea:
2 4
6 17
3 23
1
12
3 5 12
2 1
6
3 12
15
18 20 12 50
78
Astfel am pus n eviden nc o soluie optim. Prin urmare problema admite
o innitate de soluii optime. Notm soluiile optime cu:
x
01
= { x
11
, x
12
, x
22
, x
32
, x
33
}
x
02
= { x
11
, x
12
, x
22
, x
32
, x
33
}
Mulimea soluiilor optime va : x
0
= x
01
+ (1 )x
02
, [0, 1]
x
0
=
_
_
_
_
_
_
_
_
x
11
x
12
x
21
x
22
x
32
x
33
_
_
_
_
_
_
_
_
+ (1 )
_
_
_
_
_
_
_
_
x
11
x
12
x
21
x
22
x
32
x
33
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
18
5
0
12
3
12
_
_
_
_
_
_
_
_
+ (1 )
_
_
_
_
_
_
_
_
6
17
12
0
3
12
_
_
_
_
_
_
_
_
=
=
_
_
_
_
_
_
_
_
12 + 6
12 + 17
12 + 12
12
3
12
_
_
_
_
_
_
_
_
, [0, 1]
Observaie: n continuare, vom rezolva problema folosind metoda costului
minim pentru determinarea soluiei bazice iniiale.
Avem problema de transport dat cu urmtorul tabel:
2 4 3 23
1 3 5 12
6 2 1 15
18 20 12 50
Alegem ntotdeauna celule cu cost minim.
Alegem celula (2,1) i x
21
= min(12, 18) = 12
Alegem celula (3,3) i x
33
= min(15, 12) = 12
Alegem celula (1,1) i x
11
= min(23, 6) = 6
Alegem celula (3,2) i x
32
= min(3, 20) = 3
A rmas netiat celula (1,2) i x
21
= min(17, 17) = 17
Cu soluia bazic iniial vom ntocmi tabelul de transport i vom obine:
79
2 4
6 17
3 23
1
12
3 5 12
2 1
6
3 12
15
18 20 12 50
Valoarea funciei de scop va :
f(x
B
) = 2 6 + 4 17 + 1 12 + 2 12 + 2 3 + 1 12 = 68 + 42 = 1001 u.m.
unde B = {(1, 1), (1, 2), (2, 1), (3, 2), (3, 3)}.
Valorile variabilelor duale le obinem din sistemul liniar nedeterminat:
_

_
u
1
+v
1
= 2
u
1
+v
2
= 4
u
2
+v
1
= 1
u
3
+v
2
= 2
u
3
+v
3
= 1
De unde, dac u
1
= 0, vom avea:
u
2
= 1
u
3
= 2
v
1
= 2
v
2
= 4
v
3
= 3
Vericm optimalitatea soluiei folosind tabelul ajuttor:
2 4 3
0
2
0
4
0
3
0
-1
1
0
3
0
5
3
-2
6
6
2
0
1
0
Se poate observa uor c soluia este optim. Folosind un raionament analog,
ca i n cazul metodei colului de N-V, putem scrie mulimea soluii-lor optime.
80
2. Fie problema de transport dat cu urmtorul tabel:
2 1 3 2 15
1 2 3 1 15
3 2 1 2 20
9 8 8 15
Deoarece a
1
+ a
2
+ a
3
= 50 > 40 = b
1
+ b
2
+ b
3
+ b
4
rezult c problema este
neechilibrat. Vom introduce un beneciar ctiv i vom avea urmtorul tabel de
transport:
2 1 3 2 0 15
1 2 3 1 0 15
3 2 1 2 0 20
9 8 8 15 10 50
Folosind metoda colului de N-V, vom determina o soluie bazic iniial. Putem
scrie pentru celulele alese:
x
11
= min(15, 9) = 9
x
12
= min(6, 8) = 6
x
22
= min(15, 2) = 2
x
23
= min(13, 8) = 8
x
24
= min(5, 15) = 5
x
34
= min(20, 10) = 10
x
35
= min(10, 10) = 10
Vom introduce soluiile obinute n tabel i vom avea:
v
1
v
2
v
3
v
4
v
5
2 1
u
1
9 6
3 2 0 15
2 3 1
u
2
1
2 8 5
0 15
2 0
u
3
3 2 1
10 10
20
9 8 8 15 10 50
Valoarea funciei de scop pentru aceast soluie bazic este:
f(x
B
) = 2 9 +1 6 +2 2 +3 8 +1 5 +2 10 = 18 +6 +4 +24 +5 +20 = 77 u.m.
81
n scopul vericrii optimalitii, determinm valorile variabilelor duale. Putem
scrie sistemul liniar nedeterminat:
_

_
u
1
+v
1
= 2
u
1
+v
2
= 1
u
2
+v
2
= 2
u
2
+v
3
= 3
u
2
+v
4
= 1
u
3
+v
4
= 2
u
3
+v
5
= 0
Lund u
1
= 0, obinem
u
2
= 1
u
3
= 2
v
1
= 2
v
2
= 1
v
3
= 2
v
4
= 0
v
5
= 2
.
Condiia de optim c
ij
(u
i
+v
j
) 0 pentru orice i = 1, 3 i j = 1, 5 o vericm
folosind tabelul ajuttor:
2 1 2 0 -2
0
2
0
1
0
3
1
2
2
0
2
1
1
-2
2
0
3
0
1
0
0
1
1
2
3
-1
2
-1 -3
2
0
0
0
Deoarece exist (i, j) pentru care c
ij
(u
i
+v
j
) < 0, nseamn c soluia bazic
nu este optim. min{2, 1, 3} = 3, astfel vom alege celula liber (3,3) cu care
vom construi -ciclul. n acest scop revenim la tabelul de transport:
2 1
9 6
3 2 0 15
2 3 1
8 5
1
2
0 15
1 2 0
10
3 2
10
20
9 8 8 15 10
50
Pe -ciclul construit lund o direcie de parcurgere, putem scrie:
Q
_
e
3
e
3
_
+ ( x
23
Q)
_
e
2
e
3
_
+ ( x
24
+ Q)
_
e
2
e
4
_
( x
34
Q)
_
e
3
e
4
_
.
Observaie. Coloanele din matricea restriciilor A, corespunztoare celulelor
care formeaz - ciclul, formeaz un sistem liniar dependent de vectori. Adic orice
82
combinaie liniar a vectorilor respectivi egal cu zero nu implic egalitatea cu zero
a coecienilor combinaiei liniare. Pe baza teoremei 1.3.4 avem:
_
e
3
e
3
_

_
e
2
e
3
_
+
_
e
2
e
4
_

_
e
3
e
4
_
= 0
Vom nmuli egalitatea cu o cantitate Q = 0 i vom avea:
Q
_
e
3
e
3
_
Q
_
e
2
e
3
_
+ Q
_
e
2
e
4
_
Q
_
e
3
e
4
_
= 0.
Considerm un vector:
v = x
23
_
e
2
e
3
_
+ x
24
_
e
2
e
4
_
+ x
34
_
e
3
e
4
_
,
combinaia liniar a vectorilor bazici din - ciclu, la care adugm vectorul nul.
Astfel putem scrie:
v = Q
_
e
3
e
3
_
+ ( x
23
Q)
_
e
2
e
3
_
+ ( x
24
+ Q)
_
e
2
e
4
_
+ ( x
34
Q)
_
e
3
e
4
_
i avem chiar combinaia liniar a vectorilor din -ciclu n forma n care am scris.
Continum prin nlocuirea valorilor actuale ale variabilelor x
ij
, i obinem:
Q
_
e
3
e
3
_
+ (8 Q)
_
e
2
e
3
_
+ (5 +Q)
_
e
2
e
4
_
+ (10 Q)
_
e
3
e
4
_
.
Dintre soluiile ecuaiilor 8 Q = 0 i 10 Q = 0, vom alege valoarea minim i
astfel pentru Q = 8 celula (2,3) va iei din baz. Efectum apoi o redistribuire pe
-ciclu i obinem urmtorul tabel de transport:
2 1
9 6
3 2 0 15
2 1
1
2
3
13
0 15
1 2 0
3 2
8 2 10
20
9 8 8 15 10 50
83
Valoarea funciei de scop (costul transportului) pentru aceast soluie va :
f(x
B
) = 29+16+22+113+18+22+010 = 18+6+4+13+8+4 = 53 < 77 u.m.
Continum cu vericarea optimalitii. Avem de rezolvat sistemul:
_

_
u
1
+v
1
= 2
u
1
+v
2
= 1
u
2
+v
2
= 2
u
2
+v
4
= 1
u
3
+v
3
= 1
u
3
+v
4
= 2
u
3
+v
4
= 0
.
Lund u
1
= 0, avem pe rnd soluiile:
u
2
= 1 v
1
= 2
u
3
= 2 v
2
= 1
v
3
= 1
v
4
= 0
v
5
= 2
Folosim tabelul
ajuttor:
2 1 -1 0 -2
0
2
0
1
0
3
4
2
2
0
2
1
1
-2
2
0
3
3
1
0
0
1
2
3
-1
2
-1
1
0
2
0
0
0
Exist (i, j) pentru care c
ij
(u
i
+ v
j
) < 0, ceea ce nseamn c nu am obinut
soluia optim. Alegem celula liber (2,1) care va intra n baz i cu care construim
-ciclul. Revenim iari la tabelul de transport:
2 1
9 6
3 2 0 15
1 2 1
2
3
13
0 15
1 2 0
3 2
8 2 10
20
9 8 8 15 10 50
84
Putem scrie:
Q
_
e
2
e
1
_
+ ( x
11
Q)
_
e
1
e
1
_
+ ( x
12
+ Q)
_
e
1
e
2
_
+ ( x
22
Q)
_
e
2
e
2
_
Q
_
e
2
e
1
_
+ (9 Q)
_
e
1
e
1
_
+ (6 +Q)
_
e
1
e
2
_
+ (2 Q)
_
e
2
e
2
_
Alegem dintre soluiile ecuaiilor 9 Q = 0 i 2 Q = 0 minimul, adic Q = 2.
celula (2,2) va iei din baz. Pe -ciclul construit, efectum o redistribuire i obinem
urmtorul tabel:
2 1
7 8
3 2 0 15
1 1
2
2 3
13
0 15
1 2 0
3 2
8 2 10
20
9 8 8 15 10 50
Valoarea funciei de scop pentru aceast soluie va :
f(x
B
) = 2 7 + 1 8 + 1 2 + 1 13 + 1 8 + 2 2 = 14 + 10 + 13 + 12 = 49 u.m.
n continuare, va vericat optimalitatea soluiei i vom avea de rezolvat sistemul
de ecuaii:
_

_
u
1
+ v
1
= 2
u
1
+ v
2
= 1
u
2
+ v
1
= 1
u
2
+ v
4
= 1
u
3
+ v
3
= 1
u
3
+ v
4
= 2
u
3
+ v
5
= 0
.
Soluiile sistemului sunt:
u
1
= 0
u
2
= 1
u
3
= 0
v
1
= 2
v
2
= 1
v
3
= 1
v
4
= 2
v
5
= 0
.
Construim tabelul ajuttor:
85
2 1 1 2 0
0
2
0
1
0
3
2
2
0
0
0
-1
1
0
2
2
3
3
1
0
0
1
0
3
1
2
1
1
0
2
0
0
0
Deoarece pentru orice i = 1, 3 i j = 1, 5 diferenele c
ij
(u
i
+ v
j
) 0, rezult
c soluia obinut este optim i f
min
= 49 u.m.
Probleme propuse
S se rezolve urmtoarele probleme de transport:
1.
2 1 3 2 150
1 2 3 1 150
3 2 1 2 200
90 75 85 150
Soluia este: x
11
= 75, x
12
= 75, x
21
= 15, x
24
= 135, x
33
= 85, x
34
= 15.
Cost de transport C
T
= 490.
2.
1 3 4 2 60
2 1 2 3 280
4 1 3 2 210
80 200 70 250
Soluia este: x
11
= 60, x
21
= 205, x
22
= 190, x
23
= 70, x
32
= 10, x
34
= 200.
Cost de transport C
T
= 840.
86
3
Elemente de teoria jocurilor
3.1 Noiuni introductive
3.1.1 Noiuni de baz
Teoria jocurilor este teoria matematic a situaiilor de conict.
Deniia 3.1.1. Prin situaii de conict nelegem situaiile n care se ntlnesc
dou sau mai multe pri a cror activitate urmrete un scop bine determinat i n
care interesele prilor sunt contrarii.
Orice situaie de conict, luat din viaa de toate zilele, este complex cu nu-
meroi factori secundari.
Pentru a putea efectua o analiz matematic a situaiei de conict trebuie s
neglijm aceti factori secundari i s construim un model al situaiei. Acest model
simplicat, model formal al situaiei de conict, este numit joc matematic.
n continuare denim elementele fundamentale ale unui joc matematic.
Deniia 3.1.2. Prin partid nelegem un proces format dintr-o succesiune de
aciuni (mutri) executate, rnd pe rnd, dup anumite reguli care constituie car-
acteristica jocului. Aciunile sunt executate de un numr nit de persoane numite
juctori (sau parteneri).
ntr-un joc exist o regul de repartiie de valori ntre juctori; care permite
ecrui juctor s-i xeze ca scop realizarea unei valori ct mai mari.
Pentru formularea matematic a situaiei de conict, descrierea unui joc,
considerm n juctori, notate cu i {1, 2, . . . , n}.
Fie A
i
mulimea aciunilor care sunt la dispoziia juctorului i, i = 1, n.
Dac lum a
i
A
i
, atunci spunem c juctorul i a ales aciunea a
i
i {1, . . . , n}.
Utilitatea alegerii aciunii a
i
pentru juctorul i poate msurat cu o funcie
real, notat cu f
i
, care reprezent ctigul juctorului i, pentru i = 1, n.
87
Problema central a teoriei jocurilor, este cum s-i aleag juctorul i aciunea
a
i
ca s obin un ctig maxim, innd seama c i ceilali juctori urmresc acest
scop.
3.1.2 Clasicarea jocurilor
Jocurile pot clasicate dup diferite criterii.
a) Dup numrul juctorilor putem distinge jocuri cu 2 juctori, 3 juctori,
etc.
De obicei numrul juctorilor nu coincide cu numrul persoanelor zice care
particip la joc, acestea pot forma coaliii.
Numrul juctorilor este determinat de mulimea intereselor contrarii care se
confrunt.
De exemplu jocul bridge este un joc matematic cu doi juctori (dei numrul
persoanelor zice care particip este 4); un atac aerian poate modelat cu un joc
cu doi juctori.
b) Dac pentru un joc cu n juctori exist un numr real c astfel nct
f
1
(a
1
i
1
, . . . , a
n
in
) + + f
n
(a
1
i
1
, . . . , a
n
in
) = c, pentru orice
(a
1
i
1
, . . . , a
n
in
) A
1
A
n
atunci spunem c acest joc este un joc cu sum constant.
Dac c = 0 atunci se numete joc cu sum nul.
c) Dup numrul aciunilor care stau la dispoziia ecrui juctor putem distinge
jocuri nite, dac A
1
, . . . , A
n
sunt mulimi nite; i jocuri innite dac exist cel
puin o mulime A
i
, i {1, . . . , n} cu o innitate de elemente.
d) Dup natura aciunilor care stau la baza juctorilor distingem jocuri cu aci-
une liber i aciune aleatoare.
O aciune a
i
A
i
este liber dac ea poate utilizat de ctre juctorul i n
orice moment.
O aciune a
i
A
i
este aleatoare dac este aleas cu ajutorul unui mecanism
aleator (zar, urn cu bile, rulet).
De exemplu ahul este un joc cu aciuni libere, iar tablele un joc cu aciuni
aleatoare.
e) Dup informaia disponibil ecrui juctor exist
- joc cu informaie complet - ecare juctor cunoate ntreaga desfurare a
jocului atunci cnd alege o anumit aciune;
- joc cu informaie incomplet - juctorul nu cunoate ce cri posed ceilali
juctori - deci nu cunoate nici mulimea aciunilor acestora.
Majoritatea jocurilor cu nsemntate practic sunt jocuri cu informaii incom-
plete. Necunoaterea aciunilor adversarilor este de obicei o caracteristic a situai-
ilor de conict.
Scurt istoric (vezi [Szab]).
88
4
Jocuri matriciale
n continuare vom studia jocurile nite cu doi juctori i cu sum nul. Acestea
reprezint o clas important de jocuri.
Considerm doi juctori notate cu 1 i 2. Notm cu
A
1
= {a
1
1
, . . . , a
1
m
} mulimea aciunilor juctorului 1 i
A
2
= {a
2
2
, . . . , a
2
n
} mulimea aciunilor juctorului 2
Presupunem c pe parcursul partidei juctorul 1 alege aciunea a
1
i
, iar juctorul
2 alege aciunea a
2
j
.
Juctorii nu au informaie n legtur cu alegerea fcut de cellalt.
Presupunem c n urma acestor alegeri juctorul 1 obine ctigul f
1
(a
1
i
, a
2
j
), iar
juctorul 2 obine ctigul f
2
(a
1
i
, a
2
j
), i are loc relaia
f
1
(a
1
i
, a
2
j
) + f
2
(a
1
i
, a
2
j
) = 0
f
1
(a
1
i
, a
2
j
) = f
2
(a
1
i
, a
2
j
)
Astfel, se poate arma c ntr-un joc cu 2 juctori i sum nul este sucient
s cunoatem ctigul juctorului 1. Ctigul juctorului 2 este opusul ctigului
realizat de ctre juctorul 1.
Deci un joc nit cu doi juctori i cu sum nul este complet descris dac se
cunosc mulimile nite A
1
, A
2
i funcia real f
1
: A
1
A
2
R.
Tripletul (A
1
, A
2
, f
1
) care caracterizeaz jocul poate reprezentat cu urmtorul
tabel:
A
1
A
2
a
2
1
. . . a
2
j
. . . a
2
n
a

1
c
11
. . . c
1j
. . . c
1n
.
.
.
.
.
.
a

i
c
i1
. . . c
ij
. . . c
in
.
.
.
.
.
.
a

m
c
m1
. . . c
m
j
. . . c
mn
89
unde c
ij
= f
1
(a
1
i
, a
2
j
) este ctigul juctorului 1.
Matricea C = (c
ij
)
i,j
se numete matricea ctigurilor (sau matricea plilor,
matricea jocului).
Jocul nit cu 2 juctori i sum nul este complet determinat de tripletul
G = (A
1
, A
2
, C), unde C M
m,n
.
Prima etap n cercetarea situaiilor de conict este stabilirea aciunilor jucto-
rilor i ntocmirea matricei de pli.
Exemplu: jocul Morra
Este un joc cu doi juctori (care s-a practicat n Italia antic) n care juctorii
arat simultan unul sau dou degete i n acelai timp strig numrul degetelor pe
care cred c arat adversarul.
Regula de repartiie:
- dac numai unul dintre juctori ghicete numrul degetelor artate de adver-
sar, atunci el primete de la acesta attea uniti monetare cte degete au artat
mpreun. Dac ambii juctori ghicesc sau nici unul nu ghicete atunci nici unul
dintre ei nu primete nimic.
La acest joc ecare juctor poate alege una dintre urmtoarele patru aciuni:
- s arate un deget i s strige unu (1, 1)
- s arate dou degete i s strige unu (2, 1)
- s arate un deget i s strige doi (1, 2)
- s arate dou degete i s strige doi (2, 2).
Matricea ctigurilor este:
A
1
\ A
2
(1, 1) (1, 2) (2, 1) (2, 2)
(1, 1) 0 2 -3 0
(1, 2) -2 0 0 3
(2, 1) 3 0 0 -4
(2, 2) 0 -3 4 0
Observaie. Aceast teorie este mai important pentru modul de abordare a
problemelor de competiie dect pentru tratarea lor sistematic.
4.1 Strategii
4.1.1 Strategii optime ntr-un joc matriceal
Deniia 4.1.1. Prin strategia unui juctor se nelege un ansamblu de reguli care
denesc n mod unic alegerea aciunilor libere n funcie de situaia concret ivit
n decursul jocului.
De obicei alegerea unei aciuni libere este efectuat de juctor n decursul jocului
n funcie de situaia concret ivit.
90
Totui, din punct de vedere teoretic este posibil ca toate aceste situaii s e
prevzute de juctor naintea nceperii jocului,de aceea la nceput juctorul trebuie
s prevad n gnd toate situaiile i s aleag soluia sa pentru ecare dintre ele,
ceea ce nseamn c juctorul a ales o strategie bine denit.
Teoria jocurilor urmrete gsirea celor mai bune strategii pentru ecare juctor.
Juctorul trebuie s ia n considerare c adversarul este cel puin tot att de
priceput ca i el i s fac totul pentru impiedicarea scopului acestuia.
Teoria jocurilor nu se mizeaz pe incapacitatea adversarului, ci din contr se
bazeaz pe calitile intelectuale ale juctorilor. Principiul juctorilor este principiul
lipsei de risc.
Un juctor alege strategia lund n considerare aciunea cea mai defavorabil pe
care i-o rezerv adversarul.
n continuare prezentm formularea matematic al strategiei.
Fie
A
1
= {a
1
1
, . . . , a
1
m
} mulimea aciunilor juctorului 1,
A
2
= {a
2
1
, . . . , a
2
n
} mulimea aciunilor juctorului 2 i
C = (c
ij
)
i,j
matricea plilor.
Jucndu-se mai multe partide presupunem c juctorul 1 alege
aciunea a
1
1
cu probabilitatea (ponderea) x
1
aciunea a
1
2
cu probabilitatea x
2
. . .
aciunea a
1
i
cu probabilitatea x
i
. . .
aciunea a
1
m
cu probabilitatea x
m
.
Vectorul x = (x
1
, . . . , x
m
) R
m
se numete strategia juctorului 1.
Ponderile arart n ce msur sunt folosite aciunile, care stau la dispoziia juc-
torului, pentru a atinge scopul propus.
Evident, orice strategie x = (x
1
, . . . , x
m
) a juctorului 1 veric proprietatea
x R
m
+
i

m
i=1
x
i
= 1.
Vom nota cu X mulimea tuturor strategiilor ale juctorului 1.
Adic:
X = {x R
m
+

i=1
x
i
= 1}
n mod analog putem deni strategia juctorului 2.
Jucndu-se mai multe partide presupunem c juctorul 2 alege
aciunea a
2
1
cu probabilitatea (ponderea) y
1
aciunea a
2
2
cu probabilitatea y
2
. . .
aciunea a
2
j
cu probabilitatea y
j
. . .
aciunea a
2
n
cu probabilitatea y
n
.
Vectorul y = (y
1
, . . . , y
n
) R
n
se numete strategia juctorului 2.
91
Vom nota cu
Y = {y = (y
1
, . . . , y
n
) R
n
+
|
n

j=1
y
j
= 1}
mulimea strategiilor juctorului 2.
Dac ntr-o partid juctorul 1 alege aciunea a
1
i
iar juctorul 2 aciunea a
2
j
atunci ctigul juctorului 1, cu notaiile ntroduse n primul capitol, este c
ij
.
Dar probabilitile cu care au fost alese aceste aciuni sunt x
i
respectiv y
j
.
Alegerile se fac n mod independent ceea ce nseamn c probabilitatea acestei alegeri
este x
i
y
j
, (adic produsul probabilitilor). Deci, probabilitatea ctigului c
ij
este
x
i
y
j
.
Astfel ctigul juctorului 1 putem descrie matematic cu o variabil aleatoare
discret care ia valorile c
ij
cu probabilitile x
i
y
j
, (i, j) {1, . . . , m} {1, . . . , n}.
Valoarea medie al variabilei aleatoare discrete este:
F(x, y) =
m

i=1
n

j=1
c
ij
x
i
y
j
= (x, Cy)
Funcia F : XY R se numete funcie de ctig mediu i reprezint ctigul
juctorului 1, dac n decursul partidelor juctorii folosesc strategiile x i y.
Strategii optime
Cu ajutorul funciei de ctig mediu putem deni strategiile optime ale jucto-
rilor.
Dac juctorul 1 folosete strategia x X atunci el ctig cel puin
F(x) = min
yY
F(x, y)
indiferent de strategia utilizat de ctre juctorul 2.
Juctor urmrete obinerea unui ctig maxim, iar cel mai mare ctig ce poate
realizat de ctre el este:
max
xX
F(x) = max
xX
(min
yY
F(x, y)) (4.1)
deoarece va alege o strategie pentru a-i maximiza ctigurile.
Orice strategie care garanteaz juctorului 1 un ctig mediu egal cu (4.1) se
numete strategie maximin.
Deci, o strategie x
0
X a juctorului 1 se numete strategie maximin dac:
F(x
0
) = max
xX
F(x)
Astfel putem formula urmtoarea problem de maximizare (a crei soluie este
x
0
) :
(A)
_
_
_
F(x) : x X} max
unde F : X R denit prin
F(x) = min
yY
F(x, y) pentru orice x X.
92
Soluia optim a problemei (A), notat cu x
0
, este strategic maximin pentru juc-
torul 1.
Juctorul 2 urmrete realizarea unei pierderi minime. Astfel, folosind un raion-
ament analog, putem scrie c juctorul 2 pierde cel mult
F(y) = max
xX
F(x, y)
dac folosete strategia y Y.
Pentru a-i minimiza pierderile alege o strategie pentru care obine:
min
yY
F(y) = min
yY
max
xX
F(x, y) (4.2)
Strategia care garanteaz juctorului 2 pierdere minim este egal cu (4.2) i se
numete startegie minimax.
Deci, o strategie y
0
Y a juctorului 2 se numete strategie minimax dac
F(y
0
) = min
yY
F(y)
Strategiile minimax sunt soluiile problemei de minimizare
(B)
_
_
_
F(y) : y Y } min unde
F : Y R denit prin
F(y) = max
xX
F(x, y) pentru orice y Y.
Deniia 4.1.2. Fie X, Y dou mulimi nevide, oarecare i F : X Y R o
aplicaie. Spunem c punctul (x
0
, y
0
) X Y este un punct a al funciei F
relativ la mulimea X Y dac:
F(x, y
0
) F(x
0
, y
0
) F(x
0
, y) pentru orice (x, y) X Y.
Exemplu:
Considerm mulimile X = Y = R, F : X Y R denit prin
F(x, y) =
x
2
a
2
+
y
2
b
2
pentru orice (x, y) X Y, a, b R

.
Reprezentnd aceast suprafa de ordinul doi

x
2
a
2
+
y
2
b
2
= z
obinem un paraboloid - hiperbolic.
93
O
z
Se poate verica uor c punctul (0, 0) este un punct a al funciei F relativ la
mulimea X Y, deoarece
F(x, 0) F(0, 0) F(0, y)
pentru orice (x, y) X Y.
Fundamentarea teoretic vezi [Szab].
Teorema 4.1.3. Pentru orice joc matriceal sunt adevrate urmtoarele armaii
1. dac (x
0
, y
0
) X Y este un punct a al funciei F relativ la X Y atunci
x
0
este o strategie maximin al juctorului 1 i y
0
este o strategie minimax al
juctorului 2.
2. dac x
0
X este o strategie maximin al juctorului 1 i y
0
Y este o strategie
minimax al juctorului 2 atunci (x
0
, y
0
) este un punct a al funciei F relativ
la X Y.
Demonstraie. [Szab].
Observaia 4.1.4. Din teorema 4.1.3 rezult c cele mai bune strategii pentru juc-
torul 1 sunt strategiile maximin i pentru juctorul 2 strategiile minimax.
Deoarece (x
0
, y
0
) este un punct a pentru funcia F, are loc relaia
F(x, y
0
) F(x
0
, y
0
) F(x
0
, y) pentru orice (x, y) X Y.
Nici unul dintre juctori nu este interesat s-i schimbe strategia. Se poate observa
din aceast inegalitate c pentru orice alt strategie x X ctigul juctorului 1
devine mai mic, iar pentru orice alt strategie y Y pierderile juctorului 2 devin
mai mari.
94
Perechea (x
0
, y
0
) se numete soluia a jocului matriceal (unde x
0
, y
0
sunt
strategii optime).
Pe baza teoremelor prezentate se poate arma c (x
0
, y
0
) X Y este soluia
jocului matriceal dac i numai dac este un punct a al funciei F relativ la XY.
Numrul F(x
0
, y
0
)
not
= w se numete valoarea jocului matriceal.
Din 3.1.12 rezult c un joc matriceal are o singur valoare egal cu numerele
(4.1), (4.2).
w este cel mai mare ctig al juctorului 1 pe care poate spera s i-l asigure i
este cea mai mic pierdere pe care juctorul 2 poate s o aib.
A rezolva un joc matriceal nseamn a gsi o soluie a jocului i valoarea jocului.
4.1.2 Strategii optime ntr-un joc matriceal simetric
Deniia 4.1.5. Fie o matrice ptratic C M
n
(R).
Matricea se numete strmb simetric dac elementele de pe diagonala princi-
pal sunt egale cu 0 iar succesiunea elementelor de pe linii este aceeai cu succesiunea
elementelor pe coloane cu semn schimbat.
Adic C
T
= C.
De exemplu matricea
_
_
0 1 2
1 0 3
2 3 0
_
_
este o matrice strmb simetric.
Deniia 4.1.6. Un joc matriceal G = (A
1
, A
2
, C) se numete joc simetric dac
|A
1
| = |A
2
| = n i C M
n
(R) este strmb simetric.
Teorema 4.1.7. Valoarea unui joc matriceal simetric este zero i orice strategie
optim pentru unul dintre juctori este optim i pentru cellalt juctor.
Demonstraie. [Szab].
Observaia 4.1.8. Dac valoarea unui joc matriceal este zero nseamn c juctorul
1 nu ctig nimic i juctorul 2 nu pierde nimic, adic regulile jocului nu favorizeaz
pe nici unul din juctori
Un joc matricial cu valoarea zero se numete joc echitabil.
Din teorema 4.1.7 rezult c orice joc simetric este joc echitabil ns reciproca
armaiei nu este adevrat.
95
4.1.3 Proprieti ale strategiilor optime i ale valorii unui joc
matriceal
Orice joc matriceal are cel puin o soluie deoarece funcia F are cel puin un punct
a (vezi consecina 3.1.12) relativ la mulimea X Y.
Teorema 4.1.9. Un joc matriceal are e o soluie unic, e o innitate de soluii.
n continuare prezentm cteva proprieti care arat cum se schimb valoarea
jocului dac efectum operaii aritmetice asupra elementelor matricei de pli.
Teorema 4.1.10. Fie un numr real oarecare notat cu k i G = (A
1
, A
2
, C) un joc
matriceal cu matricea de pli
C =
_
_
_
c
11
. . . c
1n
.
.
.
c
m1
. . . c
mn
_
_
_
Dac

G = (A
1
, A
2
,

C) este un joc matriceal cu matricea de pli

C =
_
_
_
c
11
+k . . . c
1n
+ k
.
.
.
c
m1
+k . . . c
mn
+ k
_
_
_
atunci are loc relaia w = w + k i orice soluie a uneia dintre jocuri este soluie i
pentru cellalt joc matriceal.
Demonstraie. [Szab].
Reciproca armaiei se demonstreaz n mod analog.
Teorema 4.1.11. Fie k > 0, k R. Dac G = (A
1
, A
2
, C) este un joc matriceal cu
matricea de pli
C =
_
_
_
c
11
. . . c
1n
.
.
.
c
m1
. . . c
mn
_
_
_
iar

G = (A
1
, A
2
,

C) este un joc matriceal cu matricea de pli

C =
_
_
_
kc
11
. . . kc
1n
.
.
.
kc
m1
. . . kc
mn
_
_
_
atunci w = k w i orice soluie a uneia dintre jocuri este soluie i pentru cellalt
joc.
Demonstraia este uoar, se folosete un raonament analog cu cel utilizat la
demonstrarea teoremei 4.1.10.
96
4.2 Principiul dominrii
Din matricea de pli se poate deduce dac alegerea anumitor aciuni este dezavan-
tajos pentru juctori.
Pentru o nelegere mai profund considerm un exemplu. Considerm jocul
A
1
\ A
2
a
2
1
a
2
2
a
2
3
a
2
4
a
1
1
3 3 -6 -5
a
1
2
1 2 4 3
a
1
3
0 2 -3 2
Juctorul 1 urmrete obinerea unui ctig maxim.Dac alege aciunea a
1
3
atunci
se poate observa c ctigurile obinute (scrise n linia a 3-a) sunt mai mici sau egale
dect ctigurile obinute cu alegerea aciunii a
1
2
(linia a doua). Deci, indiferent de
strategia folosit de ctre juctorul 2, juctorul 1 nu va alege aciunea a
1
3
, deoarece
este dezavantajoas pentru el. Astfel putem tia linia a treia din matricea de pli,
adic putem elimina aciunea a
1
3
din mulimea aciunilor A
1
.
Astfel obinem jocul matriceal

A
1
\ A
2
a
2
1
a
2
2
a
2
3
a
2
4
a
1
1
3 3 -6 -5
a
1
2
1 2 4 3
Acum analizm matricea de pli din punctul de vedere al juctorului 2. Acest
juctor urmrete minimizarea pierderilor. Putem observa c n coloana a doua
toate elementele sunt mai mari sau egale dect n prima coloan. Astfel juctorul 2
nu va alege niciodat aciunea a
2
2
, deci coloana a doua poate tiat din matricea
de pli, aciunea a
2
2
poate eliminat din mulimea aciunilor A
2
.
Astfel se obine jocul redus

A
1
\

A
2
a
2
1
a
2
3
a
2
4
a
1
1
3 -6 -5
a
1
2
1 4 3
Deniia 4.2.1.
Fie spaiul R
n
, n N

. Considerm punctele x = (x
1
, . . . , x
n
) R
n
i
y = (y
1
, . . . , y
n
) R
n
. Introducem o relaie de ordine astfel: x y i spunem c x
este dominat de y (sau y domin pe x) dac x
j
y
j
pentru orice j = 1, n.
Fie jocul matriceal de tipul mn
A
1
\ A
2
a
2
1
a
2
2
. . . a
2
n
a
1
1
c
11
c
12
. . . c
1n
a
1
2
c
21
c
22
. . . c
2n
.
.
.
.
.
.
a
1
m
c
m1
c
m2
. . . c
mn
97
Putem arma c o aciune care corespunde unei linii dominate de o alt linie
este dezavantajoas pentru juctorul 1, i o aciune care corespunde unei coloane
care domin o alt coloan este dezavantajoas pentru juctorul 2. Aceste aciuni
dezavantajoase pentru juctori pot eliminate.
Aceast regul de reducere al matricei de pli este numit principiul dominrii.
Teoremele urmtoare prezint legtura dintre strategiile optime i principiul
dominrii.
Teorema 4.2.2. Fie G = (A
1
, A
2
, C) un joc matriceal de tipul mn. Presupunem
c linia p a matricei C este dominat de linia q, iar

G = (

A
1
, A
2
,

C) este un joc
matriceal de tipul (m 1) n, n care

A
1
= A
1
\{a
1
p
} i n care matricea

C este
obinut prin eliminarea liniei p din matricea C.
Sunt adevrate urmtoarele armaii:
1. Dac x
0
= ( x
0
1
, . . . , x
0
p1
, x
0
p+1
, . . . , x
0
m
) este o strategie optim pentru juctorul
1 n jocul

G, atunci x
0
= ( x
0
1
, . . . , x
0
p1
, 0, x
0
p+1
, . . . , x
0
m
) este o strategie optim
al juctorului 1 n jocul G.
2. Fiecare strategie optim al juctorului 2 n jocul

G este optim pentru acest
juctor i n jocul G.
3. w = w (valoarea jocului

G este egal cu valoarea jocului G)
Teorema 4.2.3. Fie G = (A
1
, A
2
, C) un joc matriceal de tipul mn n care coloana
r al matricei C domin coloana s, iar

G = (A
1
,

A
2
,

C) este un joc matriceal de tipul
m(n1) n care

A
2
= A
2
\{a
2
r
} i n care

C este obinut prin eliminarea coloanei
r din C.
Sunt adevrate urmtoarele armaii:
1. Dac y
0
= ( y
0
1
, . . . , y
0
r1
, y
0
r+1
, . . . , y
0
n
) este o strategie optim al juctorului 2
n jocul

G, atunci y
0
= ( y
0
1
, . . . , y
0
r1
, 0, y
0
r+1
, . . . , y
0
n
) este o strategie optim al
juctorului 2 n jocul G.
2. Fiecare strategie optim al juctorului 1 n jocul

G este optim pentru el i n
jocul G.
3. w = w.
Cu principiul dominrii putem reduce matricea jocului prin eliminarea aciunilor
dezavantajoase.
98
4.3 Strategii pure
Fie G = (A
1
, A
2
, C), un joc matriceal cu C M
m,n
.
Fie mulimile de indici I = {1, 2, . . . , m}, J = {1, 2, . . . , n}. X, Y reprezint
mulimea strategiilor ale juctorilor.
tim c x R
m
este o strategie pentru juctorul 1 dac x
i
0 pentru orice i I
i

m
i=1
x
i
= 1.
Deniia 4.3.1. O strategie x = (x
1
, . . . , x
m
) al juctorului 1 pentru care exist
i I astfel nct x
i
= 1, se numete strategie pur pentru juctorul 1.
Se poate observa c juctorul 1 posed m strategii pure care sunt chiar elementele
bazei canonice al spaiului R
m
, i n continuare le vom nota cu e
i
, i I.
Observaia 4.3.2. Orice strategie al juctorului 1 poate scris ca o combinaie
liniar a strategiilor pure.
Folosirea unei strategii pure e
i
de ctre juctorul 1 exprim faptul c juctorul 1
alege pe tot parcursul jocului aceeai aciune a
1
i
.
n mod analog denim strategiile pure ale juctorului 2.
tim c y R
n
este o strategie pentru juctorul 2 dac y
j
0 pentru orice j J
i

n
j=1
y
j
= 1.
Deniia 4.3.3. O strategie y = (y
1
, . . . , y
n
) al juctorului 2 pentru care exist
j J astfel nct y
j
= 1, se numete strategie pur pentru juctorul 2.
Juctorul 2 posed n strategii pure care sunt chiar elementele bazei canonice al
spaiului R
n
, i n continuare le vom nota cu e
j
, j J. Cele n strategii pure, e
j
, j J,
formeaz baz canonic n R
n
.
Observaia 4.3.4. Orice strategie al juctorului 2 este o combinaie liniar a strate-
giilor pure.
Folosirea unei strategii pure, e
j
, exprim faptul c juctorul 2 alege pe tot par-
cursul jocului aceeai aciune a
2
j
.
Urmtoarele teoreme prezint proprieti ale funciei de ctig mediu dac se
folosesc strategii pure.
Teorema 4.3.5. ntr-un joc matriceal de tipul m n sunt adevrate urmtoarele
armaii
(1) x X min
yY
F(x, y) = min
jJ
F(x, e
j
)
(2) y Y max
xX
F(x, y) = max
iI
F(e
i
, y)
Demonstraie. [Szab].
99
Consecina 4.3.6. Valoarea unui joc matriceal w, veric relaia
w w w
Demonstraie. [Szab].
Acum prezentm cteva criterii pentru determinarea strategiilor optime.
Teorema 4.3.7. Dac x
0
este o strategie al juctorului 1 ntr-un joc matriceal de
tipul mn, cu valoarea w, atunci urmtoarele armaii sunt echivalente
1. x
0
este o strategie optim a juctorului 1
2. este adevrat egalitatea:
min
jJ
F(x
0
, e
j
) = w
3. pentru orice j J este ndeplinit inegalitatea
w F(x
0
, e
j
)
Demonstraie. [Szab].
Teorema 4.3.8. Dac y
0
este o strategie pentru juctorul 2 ntr-un joc matriceal de
tipul mn, iar w este valoarea jocului atunci urmtoarele armaii sunt echivalente:
1. y
0
este strategie optim pentru juctorul 2
2. este adevrat:
w = max F(e
i
, y
0
), i I
3. pentru ecare i I este ndeplinit inegalitatea F(e
i
, y
0
) w.
Demonstraia se face folosind un raionament analog cu cel folosit la demon-
strarea teoremei 4.3.7.
Teorema 4.3.9. Dac x
0
este o strategie pentru juctorul 1 i y
0
o strategie al
juctorului 2 ntr-un joc matriceal de tipul mn, iar w R, este valoarea jocului,
atunci sunt echivalente urmtoarele armaii:
1. (x
0
, y
0
) este o soluie a jocului i w este valoarea sa
2. este adevrat relaia:
max
iI
F(e
i
, y
0
) = w = min
jJ
F(x
0
, e
j
)
3. Pentru ecare (i, j) I J avem
F(e
i
, y
0
) w F(x
0
, e
j
)
Demonstraie. Folosim teoremele 4.3.7 i 4.3.8.
100
4.4 Rezolvarea jocurilor matriceale
4.4.1 Rezolvarea jocurilor matriceale cu punct a
Teorema 4.4.1. Fie G = (A
1
, A
2
, C) un joc matriceal, C M
m,n
(R).
Dac matricea de pli admite punct a
atunci w = w = w i sunt adevrate urmtoarele armaii:
1. c
i
0
j
0
C este un punct a al matricei C, adic
min
jJ
c
i
0
j
= w i max
iI
c
ij
0
= w
2. Dac c
i
0
j
0
C este un punct a al maticei C, atunci (e
i
0
, e
j
0
) R
m
R
n
este
o soluie a jocului i c
i
0
j
0
este valoarea jocului.
Demonstraie. [Szab].
Cu ajutorul teoremei jocurile matriceale cu punct a rezolvm dup urmtoarea
schem:
1. analizm matricea de pli C M
m,n
, i aplicm principiul dominrii dac
este posibil
2. determinm numerele
w = max
iI

i
= max
iI
min
jJ
c
ij
w = min
jJ

j
= min
jJ
max
iI
c
ij
dac w = w rezult c matricea de pli admite punct a, valoarea obinut
este valoarea jocului.
(w este maximul minimelor din linii, iar w este minimul maximelor din coloane)
3. din pasul 2 determinm i
0
I i j
0
J astfel nct

i
0
= min
jJ
c
i
0
j
= w

j
0
= max
iI
c
ij
0
= w
Lund x
0
= e
i
0
i y
0
= e
j
0
(x
0
, y
0
) este soluia jocului.
Observaia 4.4.2. Dac matricea de pli admite punct a atunci juctorii folosesc
strategii pure, ceea ce nseamn c pe tot parcursul jocului juctorii folosesc o singur
aciune.
101
Exemplu
1.Considerm jocul matriceal
A
1
\ A
2
a
2
1
a
2
2
a
2
3
a
1
1
0,30 0,25 0,15
a
1
2
0,18 0,14 0,16
a
1
3
0,35 0,22 0,17
a
1
4
0,21 0,16 0,10
Calculm valorile:
w = max
i
min
j
c
ij
= max(0, 15; 0, 14; 0, 17; 0, 10) = 0, 17
w = min
j
max
i
c
ij
= min(0, 35; 0, 25; 0, 17) = 0, 17
w = w w = 0, 17
i
0
= 3 x
0
= (0 0 1 0) este strategie optim pentru juctorul 1
j
0
= 3 y
0
= (0 0 1) este strategie optim pentru juctorul 2.
Observaia 4.4.3. Dac aplicm principiul dominrii, atunci putem elimina aciu-
nile a
1
1
, a
1
2
i a
1
4
din mulimea A
1
i aciunile a
2
1
, a
2
2
din mulimea A
2
. Astfel obinem
jocul redus

A
1
\

A
2
a
2
3
a
3
1
0,17
Aplicm teoremele 4.2.2, 4.2.3 i putem scrie w = 0, 17 x
0
= (0 0 1 0), y
0
= (0 0 1).
Observaia 4.4.4. Exist jocuri n care matricea de pli admite mai multe puncte
de a. n aceste cazuri juctorii pot folosi mai multe strategii optime. Strategia
optim poate ales folosind un criteriu diferit de cel stabilit n joc.
2. Fie jocul cu matricea
C =
_
_
_
_
2 9 3 1
7 6 5 8
2 3 4 10
5 6 5 6
_
_
_
_
Calculm valorile
w = max(1, 5, 2, 5) = 5
w = min(7, 9, 5, 10) = 5
w = 5
102
Deoarece w = w putem scrie
w = c
23
i
0
= 2 j
0
= 3 x
01
= (0, 1, 0, 0), y
01
= (0, 0, 1, 0)
sau
w = c
43
i
0
= 4 j
0
= 3 x
02
= (0, 0, 0, 1), y
02
= (0, 0, 1, 0)
4.4.2 Rezolvarea jocurilor matriciale prin reducere la modele
de optimizare liniar cu restricii
Fie jocul matriceal G = (A
1
, A
2
, C), C M
m,n
(R). Strategiile optime ale juc-
torilor sunt soluiile problemelor de optimizare:
(A)
_

_
{F(x) | x X} max
x X
F : X R, denit prin
F(x) = min
yY
F(x, y)
(B)
_

_
{F(y) | y Y } min
y Y
F : Y R, denit prin
F(y) = max
xX
F(x, y)
unde X i Y reprezint mulimea strategiilor juctorilor.
Folosind strategiile pure (teorema 4.3.5) aceste probleme pot scrise n urm-
toarea form echivalent.
_
min
jJ
F(x, e
j
) max
x X
(4.3)
i
_
max
iI
F(e
i
, y) min
y Y
(4.4)
Notm cu s = min
jJ
F(x, e
j
).
Putem scrie
s = min
jJ
_
m

i=1
c
ij
x
i
_

i=1
c
ij
x
i

m

i=1
c
ij
x
i
s, 0 pentru orice j J
Notm cu t = max
iI
F(e
i
, y).
Putem scrie
103
t = max
iI
_
n

j=1
c
ij
y
j
_

j=1
c
ij
y
j

n

j=1
c
ij
y
j
t, 0 pentru orice i I
Astfel avem urmtoarele probleme echivalente cu cele de mai sus:
_

_
s max

m
i=1
c
ij
x
i
s 0, j = 1, n

m
i=1
x
i
= 1,
x
i
0, i = 1, m
(4.5)
_

_
t min

n
j=1
c
ij
y
j
t 0, i = 1, m

n
j=1
y
j
= 1,
y
j
0, j = 1, n
(4.6)
Acum analizm restriciile
m

i=1
c
ij
x
i
s 0, j = 1, n
Presupunem c s > 0 i mprim restriciile cu s. Obinem astfel
m

i=1
c
ij
x
i
s
1 0, j = 1, n
Notm
x
i
s
= u
i
pentru orice i = 1, m.
Are loc relaia
m

i=1
x
i
s
=
m

i=1
u
i

m

i=1
u
i
=
1
s
n mod analog vom transcrie problema (4.6). Avem:
n

j=1
c
ij
y
j
t 0, i = 1, m.
104
Presupunem c t > 0 i mprim restriciile cu t. Obinem astfel
n

j=1
c
ij
y
j
t
1 0, i = 1, m
Notm
y
j
t
= v
j
pentru orice j = 1, n.
Are loc relaia
n

j=1
y
j
t
=
n

j=1
v
j

n

j=1
v
j
=
1
t
Astfel problemele (4.5), (4.6) sunt echivalente cu
_
_
_

m
i=1
u
i
min

m
i=1
c
ij
u
i
1, j = 1, n
u
i
0, i = 1, m
(4.7)
_
_
_

n
j=1
v
j
max

n
j=1
c
ij
v
j
1, i = 1, m
v
j
0, j = 1, n
(4.8)
Se poate observa uor c problemele (4.7), (4.8) formeaz un cuplu dual.
Teorema 4.4.5. Dac w > 0 i x
0
R
m
, y
0
R
n
sunt soluiile problemelor (A)
i (B) atunci u
0
=
x
0
w
i v
0
=
y
0
w
sunt soluiile problemelor (4.7) i (4.8) i are loc
relaia:
m

i=1
u
0
i
=
n

j=1
v
0
j
=
1
w
Demonstraie. [Szab].
Teorema 4.4.6. Dac u
0
R
m
i v
0
R
n
sunt soluiile problemelor (4.7) i (4.8)
atunci w =
1

m
i=1
u
0
i
=
1

n
j=1
v
0
j
i x
0
= wu
0
, y
0
= wv
0
sunt soluiile problemelor
(A) i (B).
Demonstraie. [Szab].
105
Exemplu:
1. Fie jocul matriceal
A
1
\ A
2
(1) (2) (3)
(1) -1 1 1
(2) 2 -2 2
(3) 3 3 -3
Calculm valorile
w = max{1, 2, 3} = 1
w = min{3, 3, 2} = 2
Deoarece w = w rezult c matricea de pli nu admite punct a. Pentru a determina
strategiile optime ale juctorilor vom utiliza teorema de mai sus. Strategiile optime
vom determina prin intermediul unor modele de optimizare liniar cu restricii.
Deoarece w = 1 < 0, prima dat trebuie transformat matricea de pli.
Teorema poate aplicat numai n ipoteza w > 0 (ceea ce nseamn c trebuie
s avem w > 0, w > 0). Aplicm teorema 4.4.5. Vom considera k = 2 (cel mai mic
numr real care adunat la elementele matricei de pli ne d w > 0, w > 0).
Obinem astfel matricea

C =
_
_
1 3 3
4 0 4
5 5 1
_
_
pentru care
w = max{1, 0, 1} = 1
w = min{5, 5, 4} = 4
Aplicm teorema 4.4.5. Strategiile optime vom putea determina cu ajutorul
soluiilor optime ale modelelor
_

_
f(u) = u
1
+ u
2
+ u
3
min
u
1
+ 4u
2
+ 5u
3
1
3u
1
+ 5u
3
1
3u
1
+ 4u
2
u
3
1
u
1
, u
2
, u
3
0
(4.9)
i
_

_
g = v
1
+ v
2
+ v
3
max
v
1
+ 3v
2
+ 3v
3
1
4v
1
+ 4v
3
1
5v
1
+ 5v
2
v
3
1
v
1
, v
2
, v
3
0
(4.10)
106
Primul model se poate rezolva cu algoritmul simplex dual, iar problema a doua
cu algoritmul simplex primal.
Vom rezolva problema (4.9).
_

_
f = u
1
+ u
2
+ u
3
min
u
1
4u
2
5u
3
+ u
4
= 1
3u
1
5u
3
+ u
5
= 1
3u
1
4u
2
+ u
3
+ u
6
= 1
u
1
, . . . , u
6
0
A =
_
_
_
_
1 4 5 1 0 0
3 0 5 0 1 0
3 4 1 0 0 1
A
1
A
2
A
3
A
4
A
5
A
6
_
_
_
_
B = (A
4
, A
5
, A
6
) b =
_
_
1
1
1
_
_
1 A
4
A
5
A
6

A
1
-1 -3 -3 -1 9 1
A
2
-4 0 -4 -1 10 1/4
A
3
-5 -5 1 -1 11 1/5
-1 -1 -1 0 4
2 A
3
A
5
A
6

A
1
1/5 -2 -16/5 -4/5 34/5 1/4
A
2
4/5 4 -24/5 -1/5 6/5 1/24
A
4
-1/5 -1 1/5 -1/5 11/5 -
1/5 0 -6/5 1/5 9/5
3 A
3
A
5
A
2

A
1
-1/3 -14/3 2/3 -2/3 6 1/7
A
6
1/6 5/6 -5/24 -1/24 1/4 -
A
4
-1/6 -5/6 -1/24 -5/24 9/4 1/4
0 -1 1/4 1/4 3/2
4 A
3
A
1
A
2

A
5
-1/14 -3/14 1/7 -1/7 9/7
A
6
3/28 -5/28 -5/56 -9/56 37/28
A
4
-3/28 5/28 -9/56 -5/56 33/28
1/14 3/14 3/28 11/28 3/14
107
Soluia optim este u
0
=
_
3
14
,
3
28
,
1
14
_
.
Modelul(4.10) este duala problemei rezolvate. Astfel din ultimul tabel putem
citi soluiile dualei, v
0
=
_
5
56
,
1
7
,
9
56
_
.
Valoarea jocului (A
1
, A
2
,

C) este
w =
1

3
i=1
u
0
i
=
1
d
0
=
28
11
x
0
= wu
0
x
0
=
_
3
14

28
11
,
3
28

28
11
,
1
14

28
11
_
=
_
6
11
,
3
11
,
2
11
_
y
0
= w v
0
y
0
=
_
5
22
,
4
11
,
9
22
_
Valoarea jocului iniial este
w = w 2 =
28
11
2 =
6
11
Jocul nu este echitabil.
2. Fie jocul matriceal cu matricea de pli:
C =
_
_
2 3 6 5
3 4 5 6
2 3 4 7
_
_
Aplicm principiul dominrii. Din punctul de vedere al juctorului 1 prima aciune
nu este avantajoas prin urmare putem elimina prima linie din matricea de pli.
Se poate observa uor c pentru juctorul 2 nu sunt avantajoase aciunile a
2
1
i a
2
4
ceea ce nseamn c coloana a doua i a patra poate eliminat.
Astfel avem de rezolvat jocul redus cu matricea de pli:
C =
_
3 5
2 4
_
w = max{5, 2} = 2
w = min{3, 4} = 3
Lum k = 3 i obinem

C =
_
6 2
1 7
_
Modelele liniare asociate matricei de pli sunt:
_

_
u
1
+u
2
min
6u
1
+ u
2
1
2u
1
+ 7u
2
1
u
i
0, i = 1, 2
_

_
v
1
+ v
2
max
6v
1
2v
2
1
v
1
+ 7v
2
1
v
1
, v
2
0
108
Vom rezolva primul model liniar.
_

_
u
1
+ u
2
min
6u
1
u
2
+ u
3
= 1
2u
1
7u
2
+u
4
= 1
u
i
0, i = 1, 4
A
1
A
2
A
3
A
4
A =
_
6 1 1 0
2 7 0 1
_
Aplicm algoritmul simplex dual.
1 A
3
A
4

A
1
-6 2 -1 6 1/6
A
2
-1 -7 -1 10 1
-1 -1 0 3
2 A
1
A
4

A
3
-1/6 2/6 -1/6 -
A
2
1/6 -44/6 -5/6 5/44
1/6 -8/6 1/6
3 A
1
A
2

A
3
-7/44 -2/44 -9/44
A
4
1/44 -6/44 -5/44
6/44 8/44 14/44
Soluia optim este u
0
= (6/44 8/44). Valoarea jocului

C este w =
1
d
0
=
44
14
.
t
1
e
1
= A
3
B
0
t
1
=
9
44
t
2
e
2
= A
4
B
0
t
2
=
5
44
Deci soluia problemei a doua este: v
0
= (9/44, 5/44).
109
Strategiile optime ale juctorilor sunt
x
0
= u
0
w = (6/14, 8/14) = (3/7, 4/7)
y
0
= v
0
w = (9/14, 5/14)
Valoarea jocului iniial este:
w =
44
14
3 =
44 42
14
=
2
14
=
1
7
.
Deoarece am aplicat la nceput principiul dominrii strategiile optime ale juctorilor
n jocul considerat sunt: x
0
= (0 3/7 4/7), y
0
= (9/14 0 5/14 0).
Rezolvarea jocurilor de tipul 2 m, (n 2) (vezi [Szab]).
110
111
112
113
114
115
116
117
118
Bibliograe
[Bla] Blaga L., Lupa L., Elemente de programare liniar, Cluj-Napoca, Riso-
print, 2003.
[Bre] Breckner W., Cercetare operaional, Cluj-Napoca, Universitatea "Babe-
Bolyai", 1981.
[Char] Charnes A., and Cooper W. W., Management Models and Industrial Ap-
plication of Linear Programming, vol. I and II, New York, John Wiley &
Sons, Inc., 1960.
[Gas] Saul L. Gass, Linear Programming, An International Thomson Publishing
Company, 1985.
[Szab] Szab Zs., Cercetri operaionale, Editura Universitii "Petru Maior" Tg.
Mure, ISBN 973-7794-21-4, 2005.
[Vra] Vrnceanu Gh., Mititelu, Probleme de cercetare operaional, Ed. Tehnic,
Bucureti, 1978.
119

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