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

Ovidiu Polot ca

CERCET

ARI OPERATIONALE
(Note de curs)
1
2
Prefat a
Pornind de la adevarul ca biruint a nu nseamna retragere ci nfruntare, prin
cartea de fat a autorii lanseaza tuturor managerilor provocarea de a mbina arta
conducerii cu stiint a conducerii, provocare materializata n prezentarea principalelor
direct ii de dezvoltare a matematicii ntreprinderilor, asa cum a mai fost denumit a
Cercetarea Operat ionala.
Aceasta prezentare vizeaza modelarea si analiza proceselor economice n vederea
stabilirii unor variante optimale de act iunen activitatea decizionala. Modalitatean
care aceste aspecte sunt expuse n prezenta lucrare ne ndrept at este sa l parafrazam
pe academicianul Grigore Moisil si sa armam ca Cercetarea Operat ionala ne ofera
posibilitatea sa denim stiint a conducerii ca pe o mare desfatare.
Relat ia dintre matematica si activitatea economica are un caracter dual: matem-
atica se hraneste din mediul economic si social prin diferite modalitat i, una ind
denit iile prin care sintetizeaz a experient e intuitive si logice, n timp ce stiint ele
economice, inclusiv stiint a conducerii, se matematizeaza ntr-un ritm rapid. Com-
plexitatea proceselor economice, lupta pentru supraviet uire sau pentru supremat ie
pe piat a face imposibila folosirea n exclusivitate a artei conducerii, a modelarii pro-
ceselor si solut ion arii problemelor la nivel mental.
Dupa cel de-al doilea razboi mondial au aparut numeroase discipline care au
ncercat (si de cele mai multe ori au reusit), sa rezolve problemele ridicate de o
desfasurare ecienta a proceselor economice si sociale. Cercetarea Operat ionala,
prin diferitele sale capitole, surprinde toate elementele unui proces economic pe care
le analizeaza att independent ct si n interact iune.
Pornind de la fenomenul economic real, trecnd prin etapele de analiza, mod-
elare, rezolvare si aplicare a solut iei optimale, prezentul volum sintetizeaz a si ex-
pune ntr-o forma concisa si accesibila posibilitat ile de optimizare a activitat ilor de
product ie (determinarea structurii optime de fabricat ie, analiza modicarii struc-
turii de fabricat ie n funct ie de factori endogeni si exogeni), transport si distribut ie,
precum si solut ionarea diferitelor situat ii conictuale cu care se confrunta man-
agementul rmei n cadrul proceselor decizionale. Modalitatea concreta de abordare
a acestor domenii ale activitat ii economice o reprezinta aplicarea rezultatelor funda-
mentale ale teoriei matematice n solut ionarea problemelor economice, mai exact a
3
4
programarii liniare, instrument deosebit de util n studiul proceselor si a fenomenelor
microeconomice.
Informat iile expuse n cursul de fat a sunt prezentate ntr-o maniera accesibila n
dorint a de a ncuraja nclinat ia spre studiu a student ilor economisti, si de a dezvolta
capacitatea imaginativa a acestoran identicarea unor noi domenii de aplicabilitate
a managementului stiint ic.
Cunoscut ind faptul ca utilizarea Cercetarii Operat ionale a dus la cresterea
rat ionalit at ii activitat ii economice, si la obt inerea de rezultate remarcabile ilustrate
prin indicatorii nanciari ai rmelor, speram ntr-o abordare responsabila si intere-
sata a.
Capitolul 1
Problema generala
1.1 Problema programarii liniare
Problemele de maxim si de minim apar frecvent n cele mai diferite domenii
ale matematicilor pure sau aplicate.

In domeniul economic, asemenea probleme
sunt foarte naturale. Astfel, rmele ncearca sa maximizeze proturile sau sa min-
imizeze costurile. Expert ii n planicare macroeconomica se preocupa de maxi-
mizarea bunastarii unei comunit at i economico-sociale. Consumatorii doresc sa chel-
tuiasca venitul lor ntr-un mod care sa le maximizeze satisfact ia (de natura materiala
dar si spirituala etc.)
Exemplul 1.1.1
O rma importa componenete pentru asamblarea a doua modele de calculatoare
personale PC
1
si PC
2
.

In urma vanz arii unui produs PC
1
rma obt ine un prot
de 50 u.m (unitat i monetare) iar din vanzarea unui produs PC
2
protul este de
40 u.m. Asambalrea unui PC
1
dureaza 3 ore, a unui PC
2
, 5 ore iar timpul
rezervat asambl arii tuturor calculatoarelor este de cel mult 150 ore. Un PC
1
ocupa
0, 8 m
2
un PC
2
, 0, 5 m
2
iar spat iul rezervat depozitarii tuturor calculatoarelor
este de 30m
2
. Sa se stabileasca num arul calculatoarelor PC
1
si PC
2
astfel ca
protul sa e maxim.
Rezolvare: Vom pune datele problemei sub forma urmatorului tabel
Prot unitar Asamblare unitara Suprafat a unitara
PC
1
50 u.m 3 ore 0, 8 m
2
PC
2
40 u.m 5 ore 0, 5 m
2
Resurse 150 ore 30 ore
5
6 CAPITOLUL 1. PROBLEMA GENERAL

A
Notam cu x
1
si x
2
num arul numarul calculatoarelor PC
1
respectiv PC
2
si
denim funct ia prot
(1.1) f(x
1
, x
2
) = 50x
1
+ 40x
2
a carei maxim trebuie aat. Variabilele x
1
si x
2
sunt supuse restrict iilor
(1.2)
_

_
3x
1
+ 5x
2
150 ore
0, 8x
1
+ 0, 5x
2
30 m
2
x
1
0, x
2
0
Punctele care satisfac restrict iile (1.2) ocupa interiorul si frontiera poligonului
OABC obt inut prin intersect ia semiplanelor marginite
60
O
x
x
1
2
A
C
50
30
37,5
B(30,12)
Figura 1.1: Exemplul 1.1
de dreptele,
AB : 0, 8x
1
+ 0, 5x
2
30
BC : 3x
1
+ 5x
2
150
OA : x
2
= 0
OC : x
1
= 0

In baza teoremei contrare a lui Fer-


mat, funct ia f(x
1
, x
2
) si atinge ex-
tremul n n unul din varfurile pa-
trulaterului OABC, de coordonate
O(0, 0), A(37, 5, 0), B(30, 12), C(0, 30).
Calculand valoarea funct iei n aceste
varfuri, obt inem:
f(0, 0) = 0, f(A) = 1875, f(B) = 1980, f(C) = 1200.
Maximul funct iei ind atins n punctul B, celor doua produse le revin cantit at ile
x

1
= 30, x

2
= 12, pentru care protul este maxim.
max f(x

1
, x

2
) = f(30, 12) = 1980 lei,
Programare liniara
Programarea liniara se ocupa de o clasa speciala de probleme de optimizare care
apar deseori n aplicat iile economice. Aceste probleme constau n maximizarea sau
minimizarea unei funct ii liniare de n variabile,
1) f(x
1
, x
2
, , x
n
) = c
1
x
1
+ c
2
x
2
+ + c
n
x
n
numit a funct ie obiectiv, ale carei variabile x
1
, x
2
, , x
n
trebuie sa satisfaca:
1.1. PROBLEMA PROGRAM

ARII LINIARE 7
2) Un sistem de m relat ii date sub forma unor ecuat ii si/sau inecuat ii liniare
nestricte, numite restrict ii;
n

j=1
a
ij
x
j
b
i
, i = 1, m, unde { , =, }
3) Condit ia de a lua numai valori numerice pozitive
x
j
0, j = 1, n.
Exprimam, generic, o astfel de problema sub forma:
(P)
_

_
(1) min / max{ f(x) =
n

j=1
c
j
x
j
}
(2)
n

j=1
a
ij
x
j
b
i
, i = 1, m, unde { , =, }
(3) x
j
0, j = 1, n
Mai explicit: Sa se ae minimul, respectiv maximul funct iei f(x), exprimata la
(1), n situat iile n care variabilele x
j
veric a restrict iile (2) si condit iile de
pozitivitate (3).
Cu notat iile matriciale
A =
_
_
_
_
_
a
1,1
a
1,2
a
1,n
a
2,1
a
2,2
a
2,n

a
m,1
a
m,2
a
m,n
_
_
_
_
_
, x =
_
_
_
_
_
_
x
1
x
2
.
.
.
x
n
_
_
_
_
_
_
, b =
_
_
_
_
_
_
b
1
b
2
.
.
.
b
m
_
_
_
_
_
_
c = ( c
1
, c
2
, , c
n
), cx = c
1
x
1
+ c
2
x
2
+ + c
n
x
n
,
x 0 x
i
0, i = 1, n
problema de programare liniara pe care, mai simplu, o numim program, mbrac a
urmatoarea forma:
(P)
_

_
min / max{ f(x) = cx }
Ax b, unde { , =, }
x 0
Solut ii ale unui program
Un ansamblu de n valori numerice x
1
, x
2
, , x
n
care satisfac restrict iile (2)
se numeste solut ie a programului (P).
Daca n plus sunt vericate si condit iile de pozitivitate (3) ansamblul se va
numi solut ie admisibila. sau posibila
8 CAPITOLUL 1. PROBLEMA GENERAL

A
O solut ie admisibila care maximizeaza sau minimizeaza - dupa caz - funct ia
obiectiv se va numi solut ie optima.
Notand cu A mult imea solut iilor admisibile,
A = {x R
n
/ Ax b, x 0}
programul (P) se exprima prin urmatoarea problema:
Sa se determine x

A cu proprietatea:
f(x

) = max / min{ f(x) / x A}


Daca A = spunem ca programul (P) este compatibil.

In caz contrar,
A = , problema (P) este incompatibila.
Daca problema (P) are (cel put in) o solut ie optima, adica
x

A, sup
xA
|f(x)| = f(x

)
zicem ca are optim nit.
Daca A = , si funct ia obiectiv este nemarginita pe A, n topologia spat iului
R
n
, adica
sup
xA
|f(x)| = ,
spunem ca programul (P) are optim innit.
Asupra mult imii A facem urmatoarele precizari:
Observat ia 1.1.2 Deoarece eventualele restrict ii inegalitat i sunt nestricte,
sau , mult imea A este nchisa, adica o data cu un sir convergent de puncte
cont ine si limita acestuia. Aceasta proprietate este esent iala pentru existent a unei
solut ii optime a problemei (P).
Observat ia 1.1.3 Conform unui rezultat clasic al analizei matematice, daca
mult imea A este marginita, atunci funct ia f si atinge efectiv extremele pe A,
adica problema (P) are optim nit.

In consecint a, daca programul are optim innit,
cu sigurant a ca mult imea A este nemarginit a. Reciproca nu este n general ade-
varat a: este posibil ca A sa e nemarginit a si totusi problema (P) sa aibe optim
nit.
1.2 Doua exemple clasice
Exemplul 1.2.1 Problema rmei
Sa consideram o unitate de product ie care produce n cantit at i x
1
, x
2
, , x
n
din produsele P
1
, P
2
, P
3
, , P
n
av and la dispozit ie m resurse R
1
, R
2
, , R
m
1.2. DOU

A EXEMPLE CLASICE 9
(materii prime, fort a de munc a, capacitat i de product ie, combustibili, etc.) n can-
titat ile b
1
, b
2
, , b
m
. Sa notam cu c
i
castigul realizat prin fabricarea unei unitat i
din produsul P
i
(pret ul sau protul unitar). Castigul realizat prin producerea can-
titat ii x
i
va , prin urmare, c
i
x
i
iar beneciul total obt inut prin realizarea tuturor
produselor n cantitat ile ment ionate l putem reprezenta prin funct ia obiectiv de n
variabile
f(x
1
, x
2
, , x
n
) =
n

i=1
c
i
x
i
, x
i
0.
numit a venitul sau protul rmei.
Notand cu a
ij
cantitatea din resursa R
i
necesara producerii unei unitat i
din produsul P
j
, deducem ca pentru obt inerea cantit at ii x
j
din acelasi produs,
vom avea nevoie de cantitatea a
ij
x
j
, iar pentru obt inerea tuturor cantit at ilor de
produse, vom avea nevoie de cantitatea
n

j=1
a
ij
x
j
din resursa R
i
. Dar aceasta
cantitate trebuie sa e mai mica decat cantitatea b
i
de care dispunem, prin urmare
trebuie sa avem
n

j=1
a
ij
x
j
b
i
. Avand n vedere existent a tuturor celor m resurse,
obt inem sistemul de restrict ii:
n

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

In legatura cu situat ia prezentata mai sus, formulam urmatoarea problema de


optimizare liniara:
Dandu-se valorile cantit at ilor c
j
, a
ij
, b
i
, sa se ae maximul funct iei obiectiv
(1.3) f(x
1
, x
2
, , x
n
) = c
1
x
1
+ c
2
x
2
+ c
3
x
3
+ + c
n
x
n
,
variabilele x
1
, x
2
, , x
n
ind supuse restrict iilor:
(1.4)
_

_
a
11
x
1
+ a
12
x
2
+ a
13
x
3
+ + a
1n
x
n
b
1
,
a
21
x
1
+ a
22
x
2
+ a
23
x
3
+ + a
2n
x
n
b
2
,
a
31
x
1
+ a
32
x
2
+ a
33
x
3
+ + a
3n
x
n
b
3
,

a
m1
x
1
+ a
m2
x
2
+ a
m3
x
3
+ + a
mn
x
n
b
m
.
si condit iilor de pozitivitate: x
i
0, i = 1, n
Caz particular: O fabrica de paine realizeaza si vinde ntr-o zi urmatoarele sorti-
mente:
P
1
= paine n cantitatea x
1
cu pret ul c
1
= 2 lei bucata
P
2
= cornuri n cantitatea x
2
cu pret ul c
2
= 1 leu bucata
P
3
= covrigi n cantitatea x
3
cu pret ul c
3
= 0.5 lei bucata
P
4
= cozonaci n cantitatea x
4
cu pret ul c
4
= 4 lei bucata
10 CAPITOLUL 1. PROBLEMA GENERAL

A
Pentru fabricarea produselor, brutaria dispune, n magazie, de urmatoarele
resurse
R
1
= fain a n cantitatea 100 kg
R
2
= apa n cantitatea 200 l (litri)
R
3
= sare n cantitatea 30 kg
R
4
= drojdie n cantitatea 10 kg
R
5
= stade n cantitatea 15 kg
Reprezent am datele n urmatorul tabel, cu observat ia ca acestea, cu except ia
resurselor, se refera un singur produs din ecare sortiment (date unitare).
pret (lei) fain a (kg) apa (l) sare (kg) drojdie (kg) stade (kg)
paine 2 2 2 0, 3 0, 2 0
corn 1 0, 3 0, 4 0, 2 0, 1 0
covrig 0, 5 0, 2 0, 1 0, 1 0, 08 0
cozonac 4 0, 8 0, 5 0, 1 0, 2 0, 3
Resurse 100 200 30 10 15
Castigul, n lei, pe care-l realizeaza, n funct ie de cantitat ile vandute, este
f(x
1
, x
2
, x
3
, x
4
) = 2x
1
+ x
2
+
1
2
x
3
+ 4x
4
Cantit at ile resurselor consumate trebuie sa e mai mici decat cantitat ile existente
n magazie. Exprimam aceste restrict ii prin inegalitat ile:
_

_
2 x
1
+ 0.3 x
2
+ 0.2 x
3
+ 0.8 x
4
100
x
1
+ 0.4 x
2
+ 0.1 x
3
+ 0.5 x
4
200
0.3 x
1
+ 0.2 x
2
+ 0.1 x
3
+ 0.1 x
4
30
0.2 x
1
+ 0.1 x
2
+ 0.08 x
3
+ 0.2 x
4
10
0 x
1
+ 0 x
2
+ 0 x
3
+ 0.3 x
4
15
Sa se determine cantit at ile x
1
, x
2
, x
3
, x
4
, x
5
, din produsele ment ionate care
urmeaza a fabricate, pentru a obt ine un beneciu f(x
1
, x
2
, x
3
, x
4
) maxim.
Atas am problemei de mai sus urmatoarea problema de programare:
_

_
max {f(x
1
, x
2
, x
3
, x
4
) = 2x
1
+ x
2
+
1
2
x
3
+ 4x
4
}
2 x
1
+ 0.3 x
2
+ 0.2 x
3
+ 0.8 x
4
100
x
1
+ 0.4 x
2
+ 0.1 x
3
+ 0.5 x
4
200
0.3 x
1
+ 0.2 x
2
+ 0.1 x
3
+ 0.1 x
4
30
0.2 x
1
+ 0.1 x
2
+ 0.08 x
3
+ 0.2 x
4
10
0 x
1
+ 0 x
2
+ 0 x
3
+ 0.3 x
4
15
1.3. FORME DE PREZENTARE ALE UNUI PROGRAM 11
unde x
i
0, i = 1, 4.
Exemplul 1.2.2 :Problema dietei
Se pune problema hranirii unei colectivitat i, n cel mai economic mod, cu condit ia
satisfacerii anumitor cerint e de nutrit ie. Mai concret, este vorba de a prepara o dieta,
pornind de la n sortimente de alimente (produse) A
1
, A
2
, , A
n
- carne, oua, zarza-
vaturi etc. cu condit ia ca preparatul sa cont in a cel put in b
1
, b
2
, , b
m
unitat i
specice, repartizate respectiv elementelor nutritive (resurse) N
1
, N
2
, , N
m
- pro-
teine, glucide, grasimi calciu, etc.
Notad cu x
1
, x
2
, , x
n
cantit at ile din alimentele A
1
, A
2
, , A
n
care trebuie
cumparate n vederea elaborarii dietei si cu c
j
pret ul unitar al tipului de aliment
A
j
, pret ul total al alimentelor se reprezint a prin funct ia
f(x
1
, x
2
, , x
n
) = c
1
x
1
+ c
2
x
2
+ c
n
x
n
Presupunand cunoscuta cantitatea a
ij
din elementul nutritiv N
i
cont inut a
ntr-o unitate din alimentul A
j
, dieta va trebui sa cont in a elementele nutritive
N
1
, N
2
, , N
m
n cantit at i cel put in egale cu b
1
, b
2
, , b
m
, adica:
_

_
a
1,1
x
1
+ a
1,2
x
2
+ a
1,3
x
3
+ + a
1,n
x
n
b
1
a
2,1
x
1
+ a
2,2
x
2
+ a
2,3
x
3
+ + a
2,n
x
n
b
2
a
3,1
x
1
+ a
3,2
x
2
+ a
3,3
x
3
+ + a
3,n
x
n
b
3

a
m,1
x
1
+ a
m,2
x
2
+ a
m,3
x
3
+ + a
m,n
x
n
b
m
x
1
0, x
2
0, , x
n
0.
Problema dietei consta n minimizarea funct iei obiectiv f(x) n condit iile
restrict iilor exprimate prin inegalitat ile de mai sus.
1.3 Forme de prezentare ale unui program
1.3.1 Forma canonica a
O restrict ie a unei probleme (P) de programare liniara se zice concordanta daca
este o inegalitate de tipul (mai mic sau egal), cand funct ia obiectiv se maxi-
mizeaza si de tipul (mai mare sau egal), cand funct ia obiectiv se minimizeaza.
O restrict ie inegalitate care nu este concordant a se va numi neconcordanta.
Spunem ca o problema de programare liniara este n forma canonica daca toate
restrict iile ei sunt inegalitat i concordante.

In consecint a, o problema n forma
canonica de maximizare arata astfel:
(C)
_

_
max{ f(x) =
n

j=1
c
j
x
j
}
n

j=1
a
ij
x
j
b
i
, i = 1, m
x
j
0, j = 1, n
sau matricial
_

_
max{ f(x) = cx }
Ax b
x 0
12 CAPITOLUL 1. PROBLEMA GENERAL

A
O problema n forma canonica de minimizare se va scrie:
(C)
_

_
min{ f(x) =
n

j=1
c
j
x
j
}
n

j=1
a
ij
x
j
b
i
, i = 1, m
x
j
0, j = 1, n
sau matricial
_

_
min{ f(x) = cx }
Ax b
x 0
De pilda, problema rmei, exemplul 1.2.1, este o forma canonica de maximizare n
timp ce problema dietei, exemplul 1.2.2, este o forma canonica de minimizare.
Orice problema de programare liniara se poate pune sub o forma canonica de
maximizare sau minimizare, fara modicarea mult imii solut iilor admisibile, ob-
servand ca:
O egalitate se poate nlocui cu doua inegalitat i de sens contrar;
O restrict ie neconcordant a devine concordant a prin nmult ire cu 1;
Putem schimba sensul optimizarii funct iei obiectiv, grat ie formulelor:
(1.5)
min{f(x)/x A} = max{f(x)/x A}
max{f(x)/x A} = min{f(x)/x A}

In consecint a, putem face anumite rat ionamente teoretice pe o forma canonica, ca


de exemplu n teoria dualitat ii liniare, far a ca prin aceasta sa-i restrangem general-
itatea.
Exemplul 1.3.1 Urmatoarele probleme sunt echivalente
_

_
max{f(x) = 2x
1
3x
2
+ 4x
3
}
x
1
3x
2
+ 5x
3
= 3
3x
1
+ x
2
5
2x
1
+ x
3
10
x
1
0, x
2
0, x
3
0

_
min{f(x) = (2x
1
3x
2
+ 4x
3
)}
x
1
3x
2
+ 5x
3
3
x
1
+ 3x
2
5x
3
3
3x
1
+ x
2
5
2x
1
x
3
10
x
1
0, x
2
0, x
3
0
Programul (P) Programul (C)
Daca m = min f(x) este solut ia problemei canonice, solut ia programului (P)
va , conform (1.5), max f = m.
1.3.2 Forma standard
Spunem ca o problema de programare liniara este n forma standard daca toate
restrict iile ei sunt egalitat i. Important a acestei forme particulare rezulta din faptul
1.3. FORME DE PREZENTARE ALE UNUI PROGRAM 13
ca metoda de rezolvare a problemelor de programare liniara, care va expusa mai
departe, cere ca problema sa e n aceasta prezentare.

In consecint a, un program
(P) care are si restrict ii inegalitat i va nlocuita, n vederea rezolvarii, cu un alt
programn care toate restrict iile sunt egalitat i. Noul program, numit forma standard
a programului (P) si notat (S), se construieste astfel:
O restrict ie inegalitate din problema originala (P) de tipul (respectiv
de tipul ) se transforma n egalitate prin adaugarea (respectiv prin sca-
derea) unei variabile nenegative din membrul sau stang. Numim variabilele
nou introduse, variabile de abatere.
Restrict iile egalitat i nu se modica.
Variabilele de abatere nu apar n funct ia obiectiv a problemei originale
(alternativ, spunem ca ele apar cu coecient i nuli)
Exemplul 1.3.2
(P)
_

_
max{f(x) = 7x
1
+ 9x
2
+ 8x
3
}
5x
1
+ 2x
2
x
3
4
3x
1
+ x
2
+ x
3
= 5
x
1
+ 2x
2
+ 3x
3
9
x
1
0, x
2
0, x
3
0
(S)
_

_
max{f(x) = 7x
1
+ 9x
2
+ 8x
3
}
5x
1
+ 2x
2
x
3
x
4
= 4
3x
1
+ x
2
+ x
3
= 5
x
1
+ 2x
2
+ 3x
3
+ x
5
= 9
x
1
, x
2
, x
3
, x
4
, x
5
0
Pentru a obt ine egalitat i n restrict iile problemei, am introdus, prn scadere, respectiv
adunare, variabilele de abatere x
4
si x
5
. Sa observam, n conformitate cu cele
ment ionate, ca aceste variabile nu modica forma funct iei obiectiv.
Notand cu A
P
si A
S
mult imile solut iilor admisibile ale celor doua probleme,
daca x

P
= {x

1
, x

2
, x

3
} este solut ie a problemei (P) este clar ca vectorul x

S
=
{x

1
, x

2
, x

3
, x

4
, x

5
}, unde
x

4
= 5x

1
+ 2x

2
x

3
4 si x

5
= 9 x

1
2x

2
3x

3
este solut ie a problemei (S).
Invers, cum funct ia obiectiv nu se schimba, daca x

S
= {x

1
, x

2
, x

3
, x

4
, x

5
}, este
solut ie a problemei (S), adica
max{ f(x) / x A
S
} = f(x

S
),
vectorul x

P
= {x

1
, x

2
, x

3
} va maximiza aceeasi funct ie, n plus solut ia x

P
va
satisface restrict iile programului (P). Deducem, astfel, ca cele doua programe sunt
echivalente
(P) (S)

In problemele concrete, variabilele de abatere au interpret ari economice precise


asa ca n analiza solut iei optime valorile lor vor luate n considerare mpreuna cu
14 CAPITOLUL 1. PROBLEMA GENERAL

A
valorile variabilelor originale. Astfel, n problema rmei, exemplul 1.2.1, variabilele
de abatere; x
n+1
, x
n+2
, ..., x
n+m
, denite prin:
x
n+1
= b
i

n

j=1
a
ij
x
j
, i = 1, m
reprezint a cantit at i de resurse neconsumate, prin urmare cunoasterea valorilor lor n
solut ia optima ofera indicat ii utile n analiza modului n care sunt utilizate resursele
rmei: materii prime, capacitat i de product ie, fort a de munc a, etc.

In problema
dietei, exemplul 1.2.2, variabilele de abatere:
x
n+1
=
n

j=1
a
ij
x
j
b
i
, i = 1, m
reprezint a cantit at ile de elemente nutritive cu care sunt depasite nivelele minimale
specicate n ret eta.
1.3.3 Forma generala
Forma generala are n vedere aarea minimului sau maximului funct iei f(x),
variabilele pot atat pozitive cat si negative, iar n inegalitat ile care reprezinta
restrict iile pot aparea oricare din simbolurile mai mic, mai mare sau egal.
(G)
_

_
min/max{ f(x) = cx}; x
i
R, i = 1, n
a
1,1
x
1
+ a
1,2
x
2
+ a
1,3
x
3
+ + a
1,n
x
n
b
1
a
2,1
x
1
+ a
2,2
x
2
+ a
2,3
x
3
+ + a
2,n
x
n
= b
2
a
3,1
x
1
+ a
3,2
x
2
+ a
3,3
x
3
+ + a
3,n
x
n
b
3

a
m,1
x
1
+ a
m,2
x
2
+ a
m,3
x
3
+ + a
m,n
x
n
< b
m
Aducerea la forma pozitiva a variabilelor negative sau a caror semn nu se pre-
cizeaza se realizeaza prin substitut iile
x
i
= x

i
daca x
i
0,
x
j
= x

j
x

j
daca semnul variabilei x
j
nu se precizeaza;
noile variabile x

i
, x

j
, x

j
ind considerate pozitive.
Obt inem forma normala adunand o variabil a n membrul stang n cazul unei
inegalitat i de tipul si scaz and o variabil a daca inegalitatea este de tipul .
1.3. FORME DE PREZENTARE ALE UNUI PROGRAM 15
1.3.4 Exemple cu deducerea formei standard
Exemplul 1.3.3 x = { x
1
, x
2
, x
3
, x
4
}
_

_
max{ f(x) = 2x
1
+ 3x
2
4x
3
+ 5x
4
}
x
1
+ 2x
2
+ x
3
3x
4
10
2x
1
+ x
2
x
3
x
4
= 6
x
1
x
2
+ 2x
3
+ 3x
4
8
x
1
0, x
2
0, x
3
0, x
4
R.
Introducem variabilele pozitive
x
3
= x

3
, x
4
= x

4
x

4
.
x = { x
1
, x
2
, x
3
, x
4
, x

3
, x

4
, x

4
} si obt inem
_

_
max{ f(x

) = 2x
1
+ 3x
2
+ 4x

3
+ 5x

4
5x

4
}
x
1
+ 2x
2
x

3
3x

4
+ 3x

4
10
2x
1
+ x
2
+ x

3
x

4
+ x

4
= 6
x
1
x
2
2x

3
+ 3x

4
3x

4
8.
Introducem variabilelor de abatere: x = { x
1
, x
2
, x

3
, x

4
, x

4
, x
5
, x
6
} si obt inem
forma standard a problemei de optimizare:
(S)
_

_
max{ f(x) = 2x
1
+ 3x
2
+ 4x

3
+ 5x

4
5x

4
}
x
1
+ 2x
2
x

3
3x

4
3x

4
+ x
5
= 10
2x
1
+ x
2
+ x

3
x

4
+ x

4
= 6
x
1
x
2
2x

3
+ 3x

4
3x

4
x
6
= 88.
Exemplul 1.3.4
_

_
max{ f(x) = x
1
3x
2
+ 3x
3
6x
4
+ x
5
x
6
}
x
1
+ x
2
+ x
3
x
4
+ x
5
1
3x
1
x
2
+ 2x
3
2x
4
2
x
1
x
2
2x
3
3x
4
x
6
= 5
x
1
0, x
2
0, x
3
0, x
4
R, x
5
0, x
6
0.
Introducem variabilele pozitive t
1
, t
2
, t
3
, t
4
, t
5
, t
6
, t
7
,
x
1
= t
1
, x
2
= t
2
, x
3
= t
3
, x
4
= t
4
t
7
, x
5
= t
5
, x
6
= t
6
.
16 CAPITOLUL 1. PROBLEMA GENERAL

A
si, obt inem
_

_
max{ f(t) = t
1
+ 3t
2
3t
3
6t
4
+ t
5
+ t
6
+ 6t
7
}
t
1
t
2
t
3
t
4
+ t
5
+ t
7
1
3t
1
+ t
2
2t
3
2t
4
+ 2t
7
2
t
1
+ t
2
+ 2t
3
3t
4
t
6
+ 3t
7
= 5.
Cu variabilele de abatere variabilele de abatere, t
8
, t
9
si gasim forma standard:
_

_
max{ f(t) = t
1
+ 3t
2
3t
3
6t
4
+ t
5
+ t
6
+ 6t
7
}
t
1
t
2
t
3
t
4
+ t
5
+ t
7
+ t
8
= 1
3t
1
+ t
2
2t
3
2t
4
+ 2t
7
t
9
= 2
t
1
+ t
2
+ 2t
3
3t
4
t
6
+ 3t
7
= 5.
Exemplul 1.3.5
Sa se aduca la forma standard programul:
_

_
max{ f(x) = 7x
1
+ 9x
2
+ 8x
3
}
5x
1
+ 2x
2
x
3
4
3x
1
+ x
2
+ x
3
= 5
x
1
+ 2x
2
+ 3x
3
9
x
1
0, x
2
0, x
3
R.
Introducem variabilele pozitive t
1
, t
2
, t
3
, t
4
efectuand schimb arile
x
1
= t
1
, x
2
= t
2
, x
3
= t
3
t
4
si variabilele de abatere t
5
0, t
6
0
_

_
max{ f(t) = 7t
1
9t
2
+ 8t
3
8t
4
}
5t
1
2t
2
t
3
+ t
4
t
5
= 4
3t
1
t
2
+ t
3
t
4
= 5
t
1
2t
2
+ 3t
3
3t
4
+ t
6
= 9
t
i
0, i = 1, 6
Exemplul 1.3.6 Sa se aduca la forma standard programul:
_

_
max{f(x) = 2x
1
3x
2
+ 4x
3
}
x
1
3x
2
+ 5x
3
= 3
3x
1
+ x
2
5
2x
1
+ x
3
10
x
1
R, x
2
0, x
3
0
1.3. FORME DE PREZENTARE ALE UNUI PROGRAM 17
Indicat ie: x
1
= t
1
t
2
, x
2
= t
3
, x
3
= t
4
Exemplul 1.3.7 Sa se aduca la forma standard:
_

_
min{f(x) = 3x
1
+ x
2
4x
3
+ 7x
5
}
x
1
x
2
+ 3x
3
x
4
3
2x
1
+ 3x
2
4x
5
2
3x
1
+ x
2
= 5
2x
1
x
3
+ 4x
4
2x
5
6
x
1
0, x
2
0, x
3
0, x
4
, x
5
R
Indicat ie: x
1
= t
1
, x
2
= t
2
, x
3
= t
3
, x
4
= t
4
t
5
, x
5
= t
6
t
7
18 CAPITOLUL 1. PROBLEMA GENERAL

A
Capitolul 2
Rezolvarea graca a unui program
2.1 Exemplul 2.1
O rma realizeaza doua categorii de piese P
1
, P
2
prelucrate n doua sect ii
S
1
si S
2
. Costul unei piese din tipul P
1
este de 5 iar o piesa din tipul P
2
costa
6 lei. Sect ia S
1
realizeaza o piesa din produsul P
1
n 3 ore din produsul P
2
n
2 ore si dispune de 120 ore. Aceleasi piese sunt realizate de sect ia S
2
n 4 ore
respectiv 6 ore iar timpul disponibil este de 260 ore. Sa se determine num arul de
piese x
1
, x
2
repartizat ecarui produs astfel ca protul sa e maxim.
Prot unitar S
1
S
2
P
1
5 lei 3 ore 4 ore
P
2
6 lei 2 ore 6 ore
Resurse 120 ore 260 ore
Rezolvare: Protul total realizat de cele doua sect ii se reprezint a prin funct ia
obiectiv
f(x
1
, x
2
) = 5x
1
+ 6x
2
,
cu restrict iile
_

_
3x
1
+ 2x
2
120
4x
1
+ 6x
2
260
x
1
0, x
2
0
Mult imea solut iilor admisibile A coincide interiorul poligonului OABC obt inut
prin intersect ia semiplanelor marginite de dreptele,
AB : 3x
1
+ 2x
2
= 120
BC : 2x
1
+ 3x
2
= 130
OA : x
2
= 0
OC : x
1
= 0
19
20 CAPITOLUL 2. REZOLVAREA GRAFIC

A A UNUI PROGRAM
40
60
O
x
x
1
2
A
B
C
43,3
65
Figura 2.1: Exemplul 1.1
Avand n vedere ca f

x
1
= 0, f

x
2
= 0,
n baza teoremei lui Fermat, funct ia
f(x
1
, x
2
) nu-si poate atinge extremele n
interiorul poligonului. Pe de alta parte,
calculand valorile funct iei pe laturile pa-
trulaterului, gasim:
AB : x
2
=
120 3x
1
2
, f(x
1
) = 4x
1
+ 360;
BC : x
2
=
130 2x
1
3
, f(x
1
) = x
1
+ 260;
OA : x
2
= 0, f(x
1
) = 5x
1
;
OC : x
1
= 0, f(x
2
) = 6x
2
Derivatele funct iilor f(x
1
), f(x
2
) ind de-asemenea nenule, n virtutea aceleiasi
teoreme, deducem ca funct ia si atinge extremele, la extremitat ile laturilor, adica n
varfurile patrulaterului OABC, de coordonate A(40, 0), B(20, 30), C(0, 43,3).
Calculand valoarea funct iei n aceste varfuri, obt inem:
f(O) = 0, f(A) = 200, f(B) = 280, f(C) = f(0, 43,3) = 259, 8.
Maximul funct iei ind atins n punctul B, celor doua produse le revin cantit at ile
x

1
= 20, x

2
= 30, pentru care protul este maxim.
max f(x

1
, x

2
) = f(20, 30) = 280 lei,
si problema admite solut ia unica: x

1
= 20, x

2
= 30.
Cazul unui numar innit de solut ii
Funct ia f(x
1
, x
2
) = a x
1
+b x
2
si poate atinge extremul de-alungul unei ntregi
laturi a mult imii A. De exemplu de-alungul unei laturi exprimate prin ecuat ia
d
1
: a
1
x
1
+ a
2
x
2
= b
1
, vom avea
x
2
=
a
1
a
2
x
1
+
b
1
b
2
si f(x
1
, x
2
) =
aa
2
ba
1
a
2
x
1
+
bb
1
a
2
.
Sa observam ca n cazul aa
2
= ba
1
funct ia obiectiv ia aceeasi valoare f =
bb
1
a
2
, n
toate punctele dreptei d
1
. Prin urmare, daca funct ia f are un extremntr-un varf
situat pe dreapta d
1
atunci aceste extrem se conserva de-alugul ntregii drepte.

Int alnim o atare situat ie n exemplul urmator.


2.2. EXEMPLUL 2 21
2.2 Exemplul 2
Sa se calculeze maximul funct iei
O
d
d
d
d
x
x
1
2
A
B
C
1
2
4 6 12
4
3
3
8
9
D
E
3
4
Figura 2.2: Exemplul 1.2
f(x) = x
1
+ x
2
, x = (x
1
, x
2
),
x
1
0, x
2
0,
cu restrict iile:
_

_
2x
1
+ x
2
8
3x
1
+ 4x
2
36
2x
1
+ 3x
2
12
3x
1
3x
2
9
Rezolvare: Reprezentam grac
drep-
tele
d
1
: 2x
1
+ x
2
= 8
d
2
: 3x
1
+ 4x
2
= 36
d
3
: 2x
1
+ 3x
2
= 12
d
4
: 3x
1
3x
2
= 9
Mult imea solut iilor admisibile A este interiorul pentagonului ABCDE cu
varfurile
A(4, 0), B(6, 0), C
_
156
17
,
36
17
_
D
_
24
7
,
45
7
_
, E
_
5
3
,
14
3
_
Calculand valorile funct iei f n varfurile pentagonului, gasim
f(A) = 4, f(B) = 6, f(C) =
126
17
, f(D) = 3, f(E) = 3
Deci max f(x) = 3. Mai mult, se poate observa ca valoarea maximului este atinsa
de-alungul ntregului segment [DE].

Intr-adevar,
f(DE) = f(x
1
, x
1
+ 3) = x
1
+ x
1
+ 3 = 3.
Prin urmare problema noastra are o innitate de solut ii optime dispuse pe segmentul
[DE]. Exprimam aceste solut ii sub forma
(x

1
, x

2
) =
_
24
7
,
45
7
_
+ (1 )
_
5
3
,
14
3
_
, [0, 1].
sau
x

1
=
24
7
+ (1 )
5
3
, x

2
=
45
7
+ (1 )
14
3
, [0, 1].
22 CAPITOLUL 2. REZOLVAREA GRAFIC

A A UNUI PROGRAM
2.3 Exemplul 3
Sa se calculeze maximul funct iei
f(x) = 3x
1
+ 4x
2
, x = (x
1
, x
2
)
cu restrict iile:
_

_
3x
1
+ 4x
2
12
x
1
+ x
2
6
2x
1
+ x
2
2
x
1
0, x
2
0
Rezolvare:

In sistemul de coordonate Ox
1
x
2
reprezentam grac dreptele
_

_
3x
1
+ 4x
2
= 12
x
1
+ x
2
= 6
2x
1
+ x
2
= 2
A
B
C
D
O d
d
d
1
2
3
x
x
1
2
Figura 2.3: Exemplul 1.3
Este cunoscut faptul ca
mult imea punctelor din plan
ale caror coordonate satisfac
prima restrict ie, coincide cu
unul din semiplanele deter-
minate de dreapta
d
1
: 3x
1
+ 4x
2
= 12.
Mai precis, este vorba de
semiplanul care cont ine orig-
inea (0, 0), deoarece coor-
donatele acesteia satisfac ev-
ident, prima restrict ie.

In
mod analog, urmatoarele
restrict ii sunt vericate n semiplanele determinate de dreptele
d
2
: x
1
+ x
2
= 6, d
3
: 2x
1
+ x
2
= 2
care cont in originea.

In ne, condit ia x
1
= 0 are loc n semiplanul din dreapta
axei verticale, n timp ce condit ia x
2
= 0 are loc deasupra axei orizontale.
Solut iile admisibile ale problemei se identica cu punctele comune celor cinci semi-
plane. Acestea formeaza interiorul si frontiera poligonului OABCD din gura
alaturat a. Se observa usor ca maximul funct iei f(x) se atinge n varful B al
2.4. EXEMPLUL 4 23
frontierei lui A. Punctul B este intersect ia dreptelor d
1
si d
2
si deci coor-
donatele sale, care reprezinta solut ia optima a problemei, se determina rezolvand
sistemul format din ecuat iile celor doua drepte. Se gaseste
x

1
=
12
7
, x

2
=
30
7
, max f(x
1
, x
2
) =
156
7
maximul lui f ind aproximativ 22, 28. Solut ia optima satisface cu egalitate
primele doua restrict ii si cu inegalitate stricta pe cea de a treia.
2.4 Exemplul 4
Sa se rezolve problema de programare liniara:
1
2
x
x
5
36 42
5
( )
_ _
,
(7,3)
(4,0)
( 0, 3)
A
B
C
D
O
Figura 2.4:
(P)
_

_
max{ f(x) = 2x
1
+ x
2
}
x
1
x
2
4
3x
1
x
2
18
x
1
+ 2x
2
6
x
1
0, x
2
0
Mult imea solut iilor admisibile A este in-
teriorul poligonului OABCD obt inut prin
intersect ia semiplanelor denite de restrict iile
problemei. Valoarea maxima a funct iei obiec-
tiv se obt ine n puncul C pentru;
(2.1) x

1
=
42
5
, x

2
=
36
5
, f
_
42
5
,
36
5
_
= 24.
Sa rezolvam acum problema aducand-o la forma standard. Prin urmare scriem
(S)
_

_
max{ f(x) = 2x
1
+ x
2
}
x
1
x
2
+ x
3
= 4
3x
1
x
2
+ x
4
= 18
x
1
+ 2x
2
+ x
5
= 6
x
1
0, x
2
0, x
3
0, x
4
0, x
5
0
si rezolvam sistemul compus din ultimele trei ecuat ii. Rangul matricei
A =
_
_
_
1 1 1 0 0
3 1 0 1 0
1 2 0 0 1
_
_
_
24 CAPITOLUL 2. REZOLVAREA GRAFIC

A A UNUI PROGRAM
ind 3 alegem matricea principala compusa din primele trei coloane. Aceasta
determina necunoscutele principale x
1
, x
2
, x
3
. Cele secundare, pe care le trecemn
membrul drept, vor = x
4
si = x
5
, acestea gurand ca parametri. Obt inem
solut ia
x
1
=
2 + 42
5
, x
2
=
3 + 36
5
, x
3
=
2 + 14
5
Pentru ndeplinirea restrict iilor programului (P) va trebui sa luam = = 0 si
gasim solut iile (2.1).
2.5 Exemplul 5
Sa se rezolve urmatoarea problema de programare liniara
(P)
_

_
max{ f(x) = 2x
1
+ 3x
2
}
2x
1
+ x
2
40
x
1
+ 3x
2
30
x
1
+ x
2
30
x
1
0, x
2
0
Procedam la fel ca la problemele precedente.

In sistemul de axe ortogonale Ox
1
x
2
reprezent am
1
2
x
x
(0,0)
(10,20)
(18,4)
(0,10)
(30,0)
Figura 2.5:
_

_
2x
1
+ x
2
= 40
x
1
+ 3x
2
= 30
x
1
+ x
2
= 30
x
1
= 0, x
2
= 0
Mult imea solut iilor admisibile A
corespunde intersect iei semiplanelor
denite de restrict iile problemei,
Figura 2.5. Maximul funct iei este
atins n varful (10, 20), care este,
de altfel si solut ia problemei.
f(10, 20) = 80
Capitolul 3
Solut ii bazice
Vom considera n cele ce urmeaza problema de programare exprimata sub forma
standard (vezi cursul 1).
(P)
_

_
min / max{ f(x) =
n

j=1
c
j
x
j
}
n

j=1
a
ij
x
j
= b
i
, i = 1, m
x
j
0, j = 1, n
Care se mai scrie sub forma matriciala
(P)
_

_
min / max{ f(x) = cx }
Ax = b,
x 0
unde
A =
_
_
_
_
_
a
11
a
12
a
1n
a
21
a
22
a
2n

a
m1
a
m2
a
mn
_
_
_
_
_
, x =
_
_
_
_
_
_
x
1
x
2
.
.
.
x
n
_
_
_
_
_
_
, b =
_
_
_
_
_
_
b
1
b
2
.
.
.
b
m
_
_
_
_
_
_
c = ( c
1
, c
2
, , c
n
), cx = c
1
x
1
+ c
2
x
2
+ + c
n
x
n
,
x 0 x
i
0, i = 1, n
Am numit solut ie a problemei (P), o mult ime de numere x = (x
1
, x
2
, , x
n
)
care satisface sistemul restrict iilor, Ax = b. Daca, n plus x 0, solut ia se
numeste admisibila.
Sa observam ca prin aducerea unei probleme de programare liniara la forma
standard, mai exact prin adaugarea variabilelor de abatere, num arul variabilelor
creste, astfel putem presupune ntotdeauna ca numarul restict iilor este mai mic
25
26 CAPITOLUL 3. SOLUT II BAZICE
decat numrul variabilelor, adica m n.

In ceea ce priveste rangul matricei A,
singura situat ie compatibila cu problema noastra, este
rang A = m < n,

Intr-adev ar, presupunand ca m = n, sistemul care formeaza restrict iile problemei


are solut ie unica, prin urmare nu se pune problema alegerii solut iei optime.
Sa notam cu A
1
, A
2
, , A
n
coloanele matricei A,
A
1
A
2
A
n
a
11
a
12
a
1n
a
21
a
22
a
2n

a
m1
a
m2
a
mn
, A
i
=
_
_
_
_
_
_
_
a
1i
a
2i
a
3i

a
mi
_
_
_
_
_
_
_
Prin denit ie, coloanele A
i
1
, A
i
2
, , A
i
m
se numesc liniar independente si
constituie o baza a spat iului R
m
daca determinantul alcatuit din coloanele respective
este diferit de zero. Mult ime vectorilor
(3.1) B = {A
i
1
, A
i
2
, , A
i
m
}
se numestei baza a programului (P), numarul acestora nedepasind
C
m
n
=
n!
m! (n m)!
.
Variabilele x
i
1
, x
i
2
, , x
i
m
, corespunzatoare unei baze se numesc variabile bazice
sau variabile de baza. Restul variabilelor, x
i
m+1
, x
i
m+2
, , x
i
n
, care vor gura ca
parametri, se numesc, dupa cum stim de la rezolvarea sistemelor de ecuat ii liniare,
variabile secundare
Solut ie bazica: Solut ia problemei n forma standard (P),
x = ( x
i
1
, x
i
2
, , x
i
m
, 0, 0 0
. .
)
nm
cu toate variabilele secundare nule, corespunzatoare bazei A
i
1
, A
i
2
, , A
i
m
se
numeste solut ie de baza, (sau solut ie bazica).
Solut iile bazice se determina rezolvand toate sistemele de ecuat ii av and ca
determinant i principali minorii de ordinul m diferit i de zero ai matricei A si
ca necunoscute, variabilele de baza. Numarul solut iilor bazice este egal numarul
minorilor ment ionat i mai sus adica cel mult C
m
n
.
De exemplu, presupunand vectorii coloane A
1
, A
2
, , A
m
, liniar independent i
vom avea

a
11
a
12
a
1m
a
21
a
22
a
2m

a
m1
a
m2
a
mm

= 0.
27
Variabilele x
1
, x
2
, , x
m
vor variabilele de bazice, x
m+1
, x
m+2
, , x
nm
vari-
abilele secundare, iar vectorul
x = ( x
1
, x
2
, , x
m
, 0, 0, , 0
. .
)
nm
cu x
1
, x
2
, , x
m
, solut ia sistemului
_

_
a
11
x
1
+ a
12
x
2
+ + a
1m
x
m
= b
1
a
21
x
1
+ a
22
x
2
+ + a
2m
x
m
= b
2

a
m1
x
1
+ a
m2
x
2
+ + a
mm
x
m
= b
m
va o solut ie bazica.
Solut ia bazica x = ( x
1
, x
2
, , x
m
, 0, 0, , 0 ) se va numi nedegenerata
daca va avea exact m componente nenule si degenerata n cazul n care num arul
componenetelor nenule va strict mai mic decat m.
Solut ia bazica cu toate componenetele nenule, strict pozitive se numeste solut ie
bazica admisibila.
Solut ia bazica care optimizeaza funct ia f(x) se numeste solut ie bazica optima,
iar baza corespunzatoare, se numeste baza optimala.
Observat ia 3.0.1

In general solut ia bazica optima difera de solut ia optima a unei
probleme de programare liniara.
Exemplul 4.1 Sa se determine solut iile bazice, ale problemei de optimizare
_

_
min{f(x) = 2x
1
3x
2
+ 5x
3
x
4
}
2x
1
x
2
+ x
3
4x
4
+ 3x
5
= 2
x
1
+ 3x
2
x
3
6x
4
2x
5
= 1
x
1
, x
2
, x
3
, x
4
, x
5
0.
Rezolvare:
A =
_
2 1 1 4 3
1 3 1 6 2
_
Cum tot i minorii de ordinul m sunt nenuli, vom avea C
2
5
= 10 baze, prin urmare
tot atate solut ii bazice pe care le obt inem rezolvand urmatoarele sisteme de ecuat ii:
1) A
1
A
2
A
12
=
_
2 1
1 3
_
,
_
2x
1
x
2
= 2,
x
1
+ 3x
2
= 1,
x
1
= 1, x
2
= 0
Solut ie bazica degenerata: x
1
= ( 1, 0, 0, 0, 0 ).
28 CAPITOLUL 3. SOLUT II BAZICE
2) A
1
A
3
A
13
=
_
2 1
1 1
_
,
_
2x
1
+ x
3
= 2,
x
1
x
3
= 1,
x
1
= 1, x
3
= 0
Solut ie bazica degenerata: x
2
= ( 1, 0, 0, 0, 0 ).
3) A
1
A
4
A
14
=
_
2 4
1 6
_
,
_
2x
1
4x
4
= 2,
x
1
6x
4
= 1,
x
1
= 1, x
4
= 0
Solut ie bazica degenerata: x
3
= ( 1, 0, 0, 0, 0 ).
4) A
1
A
5
A
15
=
_
2 3
1 2
_
,
_
2x
1
+ 3x
5
= 2,
x
1
2x
5
= 1,
x
1
= 1, x
5
= 0
A
2
A
3
Solut ie bazica degenerata: x
4
= ( 1, 0, 0, 0, 0 ).
5) A
2
A
3
A
23
=
_
1 1
3 1
_
,
_
x
2
+ x
3
= 2,
3x
2
x
3
= 1,
x
2
=
3
2
, x
3
=
7
2
Solut ie bazica nedegenerata: x
5
=
_
0,
3
2
,
7
2
, 0, 0
_
.
6) A
2
A
4
A
24
=
_
1 4
3 6
_
,
_
x
2
4x
4
= 2,
3x
2
6x
4
= 1,
x
2
=
4
9
, x
4
=
7
18
Solut ie bazica nedegenerata: x
6
=
_
0,
67
18
, 0,
7
18
, 0
_
.
7) A
2
A
5
A
25
=
_
1 3
3 2
_
,
_
x
2
+ 3x
5
= 2,
3x
2
2x
5
= 1,
x
2
= 1, x
5
= 1
Solut ie bazica nedegenerata: x
7
= ( 0, 1, 0, 0, 1 ).
8) A
3
A
4
A
34
=
_
1 4
1 6
_
,
_
x
3
4x
4
= 2,
x
3
6x
4
= 1,
x
3
=
8
10
, x
4
=
3
10
Solut ie bazica nedegenerata: x
8
=
_
0, 0,
8
10
,
3
10
, 0
_
.
29
9) A
3
A
5
A
35
=
_
1 3
1 2
_
,
_
x
3
+ 3x
5
= 2,
x
3
2x
5
= 1,
x
3
= 7, x
5
= 3
Solut ia bazica nedegenerata: x
9
= ( 0, 0, 7, 0, 3 ).
10) A
4
A
5
A
45
=
_
4 3
6 2
_
,
_
4x
4
+ 3x
5
= 2,
6x
4
2x
5
= 1,
x
4
=
7
26
, x
5
=
8
26
Solut ie bazica nedegenerata: x
10
=
_
0, 0, 0,
7
26
,
8
26
_
.
Eliminand solut iile cu componente negative, gasim solut iile bazice admisibile:
x
_
( 1, 0, 0, 0, 0 ), (0, 1, 0, 0, 1 ),
_
0,
3
2
,
7
2
, 0, 0
__
pentru care calculam valoarea funct iei f(x)
f(0, 0, 0, 0, 0) = 2, f(0, 1, 0, 0, 1) = 3, f
_
0,
3
2
,
7
2
, 0, 0
_
= 13.
Prin urmare solut ia bazica optima este
x

= (0, 1, 0, 0, 1) si min f(x

) = f(0, 1, 0, 0, 1) = 3.
Exemplul 4.2 Vom arata acum ca, n baza observat iei 3.0.1, solut ia bazica
optima poate sa difere de solut ia optima a problemei. Vom considera din nou pro-
gramul:
_

_
min{f(x) = 2x
1
3x
2
+ 5x
3
x
4
}
2x
1
x
2
+ x
3
4x
4
+ 3x
5
= 2
x
1
+ 3x
2
x
3
6x
4
2x
5
= 1.
x = (x
1
, x
2
, x
3
, x
4
, x
5
) 0.
cu baza A
24
ca la 6). Luand, de data aceasta, pentru variabilele secundare, valorile
x
1
= x
3
= 0, obt inem programul
_

_
min{f(x) = 3x
2
x
4
}
x
2
4x
4
= 2 3x
5
3x
2
6x
4
= 1 + 2x
5
.
x = (0, x
2
, 0, x
4
, x
5
) 0.
cu solut ia
x
2
=
13x
5
4
9
, x
4
=
7x
5
7
18
.
30 CAPITOLUL 3. SOLUT II BAZICE
Mult imea solut iilor admisibile va avea forma:
A =
__
0,
13x
5
4
9
, 0,
7x
5
7
18
, x
5
_
/x
5
1
_
.
Introducand solut iile cuprinse n mult imea A n expresia lui f(x) obt inem funct ia
de minimizat
f(x
5
) =
31 85x
5
18
.
Condit iile x
2
0, x
4
0 impun x
5
1. Pentru x
5
= 1 gasim cazul 7),
x
2
= 1, x
4
= 0, f(0, 1, 0, 0, 1) = 3.
Luand, de exemplu, x
5
= 2, gasim
x
2
=
22
9
, x
4
=
7
18
, f
_
0,
22
9
, 0,
7
18
, 2
_
=
139
18
< 3
Mai mult, observam ca problema de programare liniara formulata mai sus nu are
solut ie deoarece
lim
x
5

f
_
0,
22
9
, 0,
7
18
, x
5
_
=
Capitolul 4
Metoda simplex.
Se demonstreaza ca daca programul n forma standard (P) are optim nit atunci
solut ia optima a programului va cu necesitate o solut ie bazica, prin urmare va
asociata unei baze optimale B.
Metoda simplex datorata matematicianului american G.B. Dantzig (1947), este
un procedeu de cercetare sistematica a solut iilor bazice admisibile ale unui program
liniar n forma standard (P). Ea presupune cunoscuta o asemenea solut ie, numit a
solut ie init iala sau de start si n continuare construieste un sir de solut ii bazice ad-
misibile dealungul caruia valoarea funct iei obiectiv creste (sau descreste) progresiv.
Metoda simplex ofera un test simplu de recunoastere a optimalitat ii unei solut ii
bazice si deasemeni un test de recunoastere a optimului innit.
Cu anumite precaut ii, usor dendeplinit, metoda simplex garanteaz a convergent a
procesului iterativ n sensul ca o baza admisibila cercetata la un moment dat nu
mai revine n iterat iile ulterioare (vezi cursul ...). Cum numarul bazelor este nit,
urmeaza ca ntr-un numar nit de pasi se ajunge e la solut ia optima e la concluzia
ca programul are optim innit.

In aceasta descriere succinta, am plecat de la ipoteza cunoasterii unei solut ii


bazice admisibile init iale, adica de la premiza ca (P) este un program compatibil.
Vom vedea, mai departe, cum se face recunoasterea incompatibilitat ii unui program
liniar.
4.1 Forma explicita programului (P)
Sa consideram problema (P) n forma stadard
(P)
_

_
max{ f(x) =
n

j=1
c
j
x
j
}
n

j=1
a
ij
x
j
= b
i
, i = 1, m
x
j
0, j = 1, n
sau
_

_
max{ f(x) = cx }
Ax = b,
x 0
31
32 CAPITOLUL 4. METODA SIMPLEX.
unde
A =
_
_
_
_
_
a
11
a
12
a
1n
a
21
a
22
a
2n

a
m1
a
m2
a
mn
_
_
_
_
_
, x =
_
_
_
_
_
_
x
1
x
2
.
.
.
x
n
_
_
_
_
_
_
, b =
_
_
_
_
_
_
b
1
b
2
.
.
.
b
m
_
_
_
_
_
_
c = ( c
1
, c
2
, , c
n
), cx = c
1
x
1
+ c
2
x
2
+ + c
n
x
n
,
x 0 x
i
0, i = 1, n
Pentru o mai buna exprimare ne vom prevala, n cele ce urmeaza, de notat iile
v sau (v) pentru un vector scris sub forma unei matrici de tip linie
v = (v) = (v
1
, v
2
, v
3
, , v
n
)
si de notat ia
[ v ] =
_
_
_
_
_
_
v
1
v
2
.
.
.
v
n
_
_
_
_
_
_
cand acelasi vector se scrie ca o matrice coloana. Prin urmare putem exprima
produsul scalar a doi vectori a = (a
i
)
i=1,n
si b = (b
i
)
i=1,n
sub formele
(4.1) ab = a[ b ] = (a)[ b ] =
n

i=1
a
i
b
i
.

In concordant a cu notat iile introduse, am numit solut ie a problemei (P), un


vector x = (x
1
, x
2
, , x
n
) care satisface sistemul restrict iilor,
A[ x ] = [ b ].
Daca, n plus x 0, solut ia se numeste admisibila. Vom presupune ca
rang A = m < n,
si vom nota cu A
1
, A
2
, , A
n
coloanele matricei A,
A
1
A
2
A
n
a
11
a
12
a
1n
a
21
a
22
a
2n

a
m1
a
m2
a
mn
, A
i
=
_
_
_
_
_
_
_
a
1i
a
2i
a
3i

a
mi
_
_
_
_
_
_
_
Vom aduce programul (P) la o forma, numita explicita, accesibila metodei simplex
pe care dorim sa o implementam.
4.1. FORMA EXPLICIT

A PROGRAMULUI (P) 33
Pentru aceasta, sa notam cu B o baza a programului (P) vezi (3.1), cu I
mult imea indicilor coloanelor din B si cu J mult imea indicilor coloanelor matricei
A care nu fac parte din baza B, adica
B = (A
i
)
iI
si S = (A
j
)
jJ
, card I = m, card J = n m,
Notam cu
x
B
= ( x
i
)
iI
, x
S
= ( x
j
)
jJ
si x = ( x
B
, x
S
)
variabilele bazice (necunoscute principale), respectiv cele nebazice (necunoscute se-
cundare) si vectorii coecient ilor funct iei obiectiv:
c
B
= ( c
i
)
iI
si c
S
= ( c
j
)
jJ
.
Cu aceste numiri putem spune ca operat ia de explicitare nu nseamn a altceva
decat exprimarea variabilelor bazice, din formulele care compun programul (P), n
funct ie de variabilele secundare.
Cu precizarile facute, funct ia obiectiv si sistemul restrict iilor mbrac a urmatoarea
forma:
_

_
f(x
B
, x
S
) = c
B
x
B
+ c
S
x
S
B[x
B
] + S[x
S
] = [ b ]
x
B
0, x
S
0,
Matricea B ind inversabila, (det B = 0), nmult im a doua formula, la stanga
cu B
1
, explicitam variabilele bazice x
B
si le nlocuimn prima formula.

In urma
acestor operat ii obt inem:
_

_
f(x
B
, x
S
) = c
B
x
B
+ c
S
x
S
[x
B
] + B
1
S[x
S
] = B
1
[ b ]
x
B
0, x
S
0,
sau
_

_
f(x
B
, x
S
) = c
B
x
B
+ c
S
x
S
[x
B
] + S

[x
S
] = [ b

]
x
B
0, x
S
0,
unde am notat cu
S

= B
1
S = ( a

ij
)
iI
jJ
, si [ b

] = B
1
[ b ] = [ b

i
]
iI

Inlocuind n prima ecuat ie pe


[x
B
] = [ b

] S

[x
S
]
34 CAPITOLUL 4. METODA SIMPLEX.
obt inem expresiile
_

_
f(x
B
, x
S
) = (c
B
)
_
[ b

] S

[x
S
] ) + (c
S
_
[x
S
]
[x
B
] + S

[x
S
] = [ b

]
x
B
0, x
S
0,
care, n conformitate cu notat iile (4.1), se scriu sub forma
_

_
f(x
S
) = c
B
b

( c
B
S

c
S
)x
S
[x
B
] + S

[x
S
] = [ b

]
x
B
0, x
S
0,
Folosindu-ne n continuare de notat iile
(4.2) f

= c
B
b

iI
c
i
b

i
, c

S
= c
B
S

c
S
= ( c

j
)
jJ
, c

j
=

iI
c
i
a

ij
c
j
scriem n nal forma explicita a programului (P) n raport cu baza B :
(4.3)
_

_
f(x
S
) = f

S
x
S
[x
B
] + S

[x
S
] = [ b

]
x
B
0, x
S
0

_
max{f(x
s
) = f



jJ
c

j
x
j
}
x
i
+

jJ
a

ij
x
j
= b

i
, i I
x
i
0, x
j
0
Sa observam ca maximul lui f se obt ine pentru o anumit a valoare a variabilelor
secundare x
S
= (x
j
)
jJ
. Egalandu-le cu 0
x
S
= 0 x
j
= 0, j J
obt inem:
(4.4)
_
f = f

x
B
= b

si vectorul:
(4.5) x = ( b

, 0 )
este solut ie a programului (P), numit a solut ie bazica sau solut ie asociata bazei
B. Vom presupune ca solut ia (4.5), asociata bazei B si implicit baza B sunt
admisibile, adica
(4.6) b

0 b

i
0, i I.
4.1. FORMA EXPLICIT

A PROGRAMULUI (P) 35
Teorema 4.1.1 Daca tot i c

j
0, j J, atunci solut ia (4.5) asociata bazei B
este optima. Daca n plus c

j
> 0, j J, atunci x
0
este unica solut ie optima
a programului (P).
Demonstratie. : Fie x = (x
1
, x
2
, ..., x
n
) A o solut ie admisibila arbitrar aleasa.
Deoarece x
1
0, x
2
0, , x
n
0 vom avea:
f(x
S
) = f

jJ
c

j
x
j
f

= f(0).
Inegalitatea de mai sus arata ca, dintre toate solut iile admisibile ale programului
P, solut ia x
0
ofera funct iei obiectiv f cea mai mare valoare posibila.
Daca costurile reduse c

j
sunt strict pozitive, atunci pentru orice si x
S
= 0,
inegalitatea de mai sus este stricta, fapt care probeaza unicitatea solut iei optime
x
0
= (b

, 0), pentru care, conform (4.2), f

= c
B
b

Teorema 4.1.2 Daca exista indicele k J astfel ca


c

k
< 0 si a

ik
0, i I
adica (A

k
0), atunci programul (P) are optim innit.
Demonstratie. Admit and ipotezele teoremei, construim o solut ie admisibila vari-
abila, x = (x
B
, x
S
), dupa cum urmeaza. Consideram un numar oarecare 0 si
luam variabilele secundare sub forma:
(4.7) x
j
=
_
daca j = k
0 daca j = k
x
S
() = (0, , 0, , 0, , 0)

Inlocuind n (4.3), obt inem variabilele bazice


(4.8) x
i
= b

i
a

ik
, x
B
() = ( b

i
a

ik
)
iI
Notam cu x() solut ia
x() = ( x
B
() , x
S
() )
ale carei componente sunt denite n (4.7) si (4.8) si observam ca pentru = 0
gasim solut ia din (4.5), x = ( b

, 0 ). Avand n vedere ipotezele teoremei si t inand


cont de (4.6), rezulta ca ca x() A, 0.
Evalu and funct ia obiectiv n punctul x(), obt inem:
(4.9) f(x()) = f

k
de unde rezulta imediat ca:
lim

f(x()) = +.
Deci f este nemarginita superior pe A, prin urmare programul (P) are optim
innit.
36 CAPITOLUL 4. METODA SIMPLEX.
Teorema 4.1.3 Presupunem ca exista k J astfel ncat c

k
< 0 dar exista si
indici i I cu a

ik
> 0. Fie r I indicele determinat prin formula:
(4.10)
b

r
a

rk
= min
_
b

i
a

ik
/a

ik
> 0, i I
_
Atunci grupul de coloane B

obt inut din B prin nlocuirea coloanei A


r
cu
coloana A
k
este o baza admisibila a programului P si solut ia x

asociata ei este
cel put in la fel de buna ca si solut ia x asociata bazei B, adica f(x

) f(x).
Demonstratie. : Din (4.10) rezulta ca a

rk
> 0. Din A

k
= B
1
A
k
avem:
A
k
= BA

k
=

iI
a

ik
A
i
=

iI, i=r
a

ik
A
i
+ a

rk
A
r
Deoarece a

rk
= 0, putem exprima A
r
n funct ie de A
i
, i = r si A
k
:
A
r
=

iI, i=k
a

ik
a

rk
A
i
+
1
a

rk
A
k

In baza unui rezultat al algebrei liniare (teorema substitut iei), sistemul de vectori
B

= (B \ A
r
) A
k
alcatuit din coloanele A
i
, i = r si A
k
, este o baza a problemei (P). Sa luam n
solut ia variabil a x() construita la teorema 4.1.2,
(4.11) =
b

r
a

rk
Din formulele (4.7) si (4.8) rezulta:
_

_
x
k
=
b

r
a

rk
, x
j
= 0, j J, j = k
x
i
= b

i

b

r
a

rk
a

ik
, i I
Cum pentru i = r avem x
r
= b

r
a

rk
a

rk
= 0, solut ia de mai sus poate rescrisa
astfel:
(4.12)
_

_
x
j
= 0, j J, j = k, x
r
= 0
x
i
= b

i

b

r
a

rk
a

ik
, i I, i = r, x
k
=
b

r
a

rk
4.1. FORMA EXPLICIT

A PROGRAMULUI (P) 37
Notand cu I

= ( I \ {r} ) {k} J

= ( J \ {k} ) {r}, si cu
x
B
=
_

_
b

i

b

r
a

rk
a

ik
daca i I

, i = k
b

r
a

rk
a

ik
x
S
= (x
j
)
jJ
= 0
solut iile a caror componente sunt denite n (4.12), solut ia
x

=
_
x
B

0
_
va cu sigurant a solut ia asociata bazei B

.

Intr-adevar, prin anularea variabilelor
secundare, x
S
= 0 n raport cu baza B

, obt inem sistemul liniar B

x = b care
are solut ia unica x

.
Pe de alta parte x

este solut ie admisibila a problemei P, adica are toate


componentele pozitive.

Intr-adevar:
Fie a

ik
0. T inand cont de (4.6) si av andn vedere ipotezele teoremei, avem
b

i
0, a

rk
0. De unde rezulta ca b

j

b

r
a

rk
0 adica x
i
0.
Daca a

ik
> 0 atunci, conform (4.10),
b

i
a

ik

r
a

rk
b

i

b

r
a

rk
a

ik
0.
Utilizand formulele (4.9) si (4.11) si avand n vedere, conform (4.3), ca f

= f(x),
deducem:
(4.13) f(x

) = f(x)
b

r
a

rk
c

k
f(x)

In concluzie, x

este cel put in la fel de buna ca si x.


Observat ia 4.1.4 : 1) Bazele B si B

aparute n enunt ul teoremei 4.1.3 difera


una de alta printr-o singura coloana a matricii A. Doua baze ale programului (P)
cu aceasta proprietate se vor numi n continuare baze vecine iar solut iile asociate,
solut ii vecine.
2) Teoremele 4.1.2 si 4.1.3 arma ca daca o solut ie de baza admisibila x nu sat-
isface criteriul de optimalitate al teoremei 4.1.1 atunci, sau (P) are optim innit
sau, printre solut iile vecine cu x exista cel put in una la fel de buna ca si x, daca
nu chiar mai buna.
Recapituland materialul expus n aceasta sect iune constatam ca testarea opti-
malitatii solut iei x asociate bazei B presupune cunoasterea formei explicite (4.3)
38 CAPITOLUL 4. METODA SIMPLEX.
a problemei init iale n raport cu baza B. Mai mult, daca x nu verica criteriul
de optimalitate al teoremei 4.1.1, construct ia solut iei de baza mai bune x

se face
cu ajutorul elementelor aceleiasi forme (4.3).

In consecint a, testarea optimalitat ii
solut iei x

asociata bazei vecine B

va necesita cunoasterea formei explicite a


problemei init iale n raport cu noua baza B

:
(4.14)
_

_
f = f



jJ, j=k
c

j
x
j
c

r
x
r
x
i
+

jJ, j=k
a

ij
x
j
+ a

ir
x
r
= b

i
, i I, i = r
x
k
+

jJ, j=k
a

kj
x
j
+ a

kr
x
r
= b

k
,
x
1
, x
2
, , x
n
0
Vom remarca faptul ca unele elemente din (4.14) sunt deja evaluate! Astfel, termenii
liberi, adica valorile noilor variabile bazice, sunt dat i de (4.12) n timp ce constanta
f

, care este valoarea funct iei obiectiv n noua solut ie de baza x

, a fost obt inuta


n (4.13).
Fireste, (4.14) se poate obtine ca si (4.3) prin nmultirea la stanga a sistemului
original de restrict ii A x = b cu matricea inversa (B

)
1
. Putem deduce (4.14)
direct din (4.3) cu ajutorul urmatoarelor operat ii:
Din ecuatia r a sistemului (4.3):
x
r
+

j=k
a

rj
x
j
+ a

rk
x
k
= b

r
explicitam x
k
, mp art ind relat ia cu a

rk
:
(4.15) x
k
+

j=k
a

rj
a

rk
x
j
+
1
a

rk
x
r
=
b

r
a

rk
Substituim x
k
dat de (4.15) n celelalte ecuat ii ale sistemului din (4.3). Obt inem:
(4.16) x
i
+

j=k
_
a

ij

a

rj
a

rk
_
x
j

a

ik
a

rk
x
r
= b

i

b

r
a

rk
, i I, i = r
Ecuat iile (4.15) , (4.16) reprezinta sistemul A x = b explicitat n noile variabile
bazice x
i
, i I, i = r si x
k
.
Mai departe substituim acelasi x
k
si n expresia funct iei obiectiv din (4.3).
Gasim:
(4.17) f =
_
f

r
a

rk
c

k
_

j=k
_
c

j

a

rj
a

rk
c

k
_
x
j
+
c

k
a

rk
x
r
4.1. FORMA EXPLICIT

A PROGRAMULUI (P) 39
Astfel, am exprimat funct ia obiectiv cu ajutorul noilor variabile nebazice x
j
pentru
j J, j = k si x
r
.
Prin urmare (4.15), (4.16), si (4.17) constituie forma explicita a problemei
originale n raport cu noua baza B

. Identic and coecient ii din aceste ecuat ii cu


coecient ii corespunzatori din (4.14) rezulta formulele:
(4.18)
_

_
a

ij
= a

ij

a

rj
a

rk
a

ik
, i I, i = r; j J, j = k
a

ir
=
a

ik
a

rk
, i I, i = r
a

kj
=
a

rj
a

rk
, j J, j = k, a

kr
=
1
a
rk
f

= f

r
a

rk
c

k
, c

j
= c

j

a

rj
a

rk
c

k
, j J, j = k, c

r
=
c

k
a

rk
cunoscute si sub numele de formule de schimbare a bazei.
40 CAPITOLUL 4. METODA SIMPLEX.
Capitolul 5
Metoda simplex. Aplicat ie
Rezolvarea efectiva a unui program liniar n forma standard (P) se face cu aju-
torul algoritmului simplex. Acesta este un pachet invariabil de instruct iuni logice si
de calcul care, aplicate unei solut ii admisibile de baza a programului (P), stabileste
daca solut ia respectiva este optima si, n caz contrar, pune n evident a situat ia de
optim innit sau construieste efectiv o solut ie admisibila de baza mai buna decat
cea curenta.
Procesul de obt inere a solut iei optime este unul iterativ, adica un proces prin
care solut ia se construieste din aproape n aprope, printr-un num ar nit de etape,
ecare etapa utilizand datele etapei precedente. Doua teste evident iaz a sfarsitul
procesului spunandu-ne totodata daca problema admite solut ie nita sau innita.
Cu precizarea ca, n conformitate cu formulele
min{f(x)/x A} = max{f(x)/x A}
max{f(x)/x A} = min{f(x)/x A}
orice problema de minim poate adusa la o problema de maxim si invers, vom trece
la rezolvarea prin metoda simplex a unei probleme de programare liniara.
5.1 Datele init iale ale problemei
Sa consideram problema (P) n forma stadard
(P)
_

_
max{ f(x) =
n

j=1
c
j
x
j
}
n

j=1
a
ij
x
j
= b
i
, i = 1, m
x
j
0, j = 1, n
sau
_

_
max{ f(x) = cx }
Ax = b,
x 0
Scriem matricea coecent ilor restrict iilor sub forma
41
42 CAPITOLUL 5. METODA SIMPLEX. APLICAT IE
A
1
A
2
A
n
_
_
_
_
_
a
11
a
12
a
1n
a
21
a
22
a
2n

a
m1
a
m2
a
mn
_
_
_
_
_
si alegem baza B = {A
i
1
, A
i
1
, , A
i
m
} astfel ca minorul matricei A, core-
spunzator bazei B sa ie diferit de zero. Notam cu
I = {i
1
, i
2
, , i
m
} = mult imea indicilor bazici
J = {1, 2, , n} \ I = mult imea indicilor nebazici
x
B
= ( x
i
)
iI
= variabilele bazice
x
S
= ( x
j
)
jJ
= variabilele nebazice
x = ( x
B
, x
S
) = mult imea variabileleor
c
B
= ( c
i
)
iI
= coecient ii bazici ai funct iei obiectv
c
S
= ( c
j
)
jJ
= coecient ii nebazici
Prin anularea variabilelor nebazice x
j
= 0, j J obt inem
x = ( x
B
, 0 ) = solut ia bazica admisibila
x
B
= ( x
i
)
iI
= partit ia bazica pentru x
S
= 0
Calculam
(5.1) f(x
B
) = c
B
x
B
si
i
=
_
c
i
c
B
A
i
pentru o problema de maxim
c
B
A
i
c
i
pentru o problema de minim
5.2 Aplicat ie
Amintind ca metoda simplex se desfasoar a sub forma unui proces iterativ de
nlocuire a unei solut ii bazice prin alta mai buna, n rezolvarea manuala a pro-
gramelor liniare (reste de mici dimensiuni) se utilizeaza tabele simplex asociate
diferitelor baze cercetate, care se deduc unul din altul prin pivotare gaussiana.
Aplicam metoda simplex urmatoarei probleme de programare:
(P)
_

_
max{ f(x) = 5x
1
+ 4x
2
+ 3x
3
}
x
1
+ 2x
2
+ 2x
3
10
2x
1
+ x
2
8
2x
2
x
3
8
x
i
0, i = 1, 3
5.2. APLICAT IE 43
Aducem problema (P) la forma standard, prin introducerea variabilelor de abatere
pozitive x
4
, x
5
, x
6
_

_
max{ f(x) = 5x
1
+ 4x
2
+ 3x
3
}
x
1
+ 2x
2
+ 2x
3
+ x
4
= 10
2x
1
+ x
2
+ x
5
= 8
2x
2
x
3
+ x
6
= 8
x
i
0, i = 1, 6
Notam
A
1
A
2
A
3
A
4
A
5
A
6
A =
_
_
_
1 2 2 1 0 0
2 1 0 0 1 0
0 2 1 0 0 1
_
_
_
x = ( x
1
, x
2
, x
3
, x
4
, x
5
, x
6
), c = ( 5, 4, 3, 0, 0, 0 ), b = ( 10, 8, 8 )
Alegem baza B = ( A
4
, A
5
, A
6
), astfel ca minorul matricei A corespunzator
coloanelor A
4
, A
5
, A
6
sa e diferit de zero (vectorii A
4
, A
5
, A
6
sunt liniar
independent i)

1 0 0
0 1 0
0 0 1

= 0.
Asociem bazei B mult imile
I = { 4, 5, 6 } indicii bazici,
J = { 1, 2, 3 } indicii nebazici,
{x
i
/ i I} = {x
4
, x
5
, x
6
} variabilele bazice,
{x
j
/ j J} = {x
1
, x
2
, x
3
} variabilele nebazice,
Anul am varabilele nebazice x
1
= x
2
= x
3
= 0 si observam ca vectorul
x = ( 0, 0, 0, 10, 8, 8 )
este solut ie admisibila si cum ea se asociaza bazei B o vom numi solut ie admisibila
de baza sau solut ie bazica admisibila. Alegem ca solut ie de start sau solut ie init iala,
solut ia bazica x si notam cu x
B
= ( 10, 8, 8 ) partit ia bazica.
Aplicam metoda simplex problemei de aare a maximului funct iei f(x), prin
parcurgerea unui numar nit de etape deductibile una din alta (proces iterativ),
ecare etapa desfasurandu-se printr-un num ar de pasi.

In cadrul ecarei etape vom
avea un numar de doua testari prin care se stabileste par asirea sau continuarea
procesului iterativ. Rezultatele obt inute la ecare etapa se trec ntr-un tabel numit
tabel simplex.
44 CAPITOLUL 5. METODA SIMPLEX. APLICAT IE
Etapa I
c
1
= 5 c
2
= 4 c
3
= 3 c
4
= 0 c
5
= 0 c
6
= 0
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
A
6
0 10 A
4
1 2 2 1 0 0
0 8 A
5
{2} 1 0 0 1 0
0 8 A
6
0 2 1 0 0 1
f(x
B
) = c
B
x
B
= 0
i
= c
i
c
B
A
i

1
= 5
2
= 4
3
= 3
4
= 0
5
= 0
6
= 0
Tabelul 5.1
Pasul 1. Completam tabelul simplex cu elementele matricii si cu urmatoarele date
c
B
= ( 0, 0, 0), coecient ii bazici
x
B
= ( 10, 8, 8 ), partit ia bazica
B = (A
4
, A
5
, A
6
)
Important: Notam cu a
ij
elementul din tabel care se aan aceeasi linie cu vectorul
bazei A
i
, i I si coloana A
j
, j = 1, 6. De exemplu a
63
= 1
Pasul 2. Calculam valoarea funct iei f(x) n punctul x
B
dupa formula
f(x
B
) = c
B
x
B
= 0
Pasul 3.

In conformitate cu (5.1), parametri
i
, i = 1, 6 i vom calcula utilizand
formula
(5.2)
i
= c
i
c
B
A
i
.
Prin urmare

1
= c
1
c
B
A
1
= 5 (0, 0, 0)(1, 2, 0) = 5
mai departe:
2
= 4,
3
= 3,
4
=
5
=
6
= 0.
Testare: Daca
i
0, i = 1, 6 atunci
x = ( 0, 0, 0, 10, 8, 8 )
este solut ia optima, STOP. Daca exista un
i
> 0, trecem la urmatorul pas.
Pasul 4. Coloana A
l
care intra n baza. Calculam

l
= max{
i
/
i
> 0, i = 1, n}.

In cazul nostru
max{
i
/
i
> 0, i = 1, 6} = 5 =
1
, adica l = 1
5.2. APLICAT IE 45
si coloana A
1
intra n baza.
Testare: Daca tot i a
il
0, i I, atunci problema are solut ie innita STOP.
Daca exista un a
il
> 0, trecem la urmatorul pas.
Pasul 5. Aam, coloana A
r
care iese din baza. Calculam
x
r
a
rl
= min
_
x
i
a
il
/a
il
> 0, i I
_

In cazul nostru l = 1, deci


min
_
x
4
a
41
,
x
5
a
51
,
x
6
a
61
_
= min
_
10
1
,
8
2
_
= 4 =
x
5
a
51
, r = 5
prin urmare coloana A
5
iese din baza.
Etapa II
Vom trece la urmatoare etapa, dar nu nainte de a face cateva precizari.
Elementul
a
rl
= a
51
= 2,
unde A
l
este coloana care intr a n baza iar A
r
este coloana care iese din baza se
numeste pivot, iar operat ia de calculare a elementelor urmatorului tabel n raport
cu noua baza B = {A
4
, A
1
, A
6
}, din elementele precedentului tabel, prin apli-
carea formulelor de schimbare a bazei, (4.18), poarta numele de pivotare gaussiana.
Reluam pasii parcursi la primul tabel.
Pasul 1. Calculam elementele urmatorului tabel n raport cu noua baza
B = {A
4
, A
1
, A
6
}
c
B
= (c
4
, c
1
, c
6
) = ( 0, 5, 0 ), coecient ii bazici.
Pentru calculul solut iei bazice punem x
2
= x
3
= x
5
= 0 n sistemul restrict iilor si
gasim
x = (4, 0, 0, 6, 0, 8), solut ia bazica admisibila
x
B
= (x
4
, x
1
, x
6
) = ( 6, 4, 8 ), partit ia bazica
a) Alegem pivotul a
51
= 2, mp art im linia pivotului, cu valoarea pivotului a
51
= 2
si, exceptand pivotul, care n urma primei operat ii, are valoarea 1, completam cu
0 restul coloanei
b) Aam restul elementelor cu formula:
a

ij
=

a
rl
a
rj
a
il
a
ij

: a
rl
, i I, i = r, j I J, j = l
46 CAPITOLUL 5. METODA SIMPLEX. APLICAT IE
unde am notat cu a
ij
si a

ij
elementele primului, respectiv celui de-al doilea tabel.
Astfel gasim
a

42
=

1 2
2 1

: 2 =
3
2
, a

43
=

1 2
2 0

: 2 = 2, a

44
=

1 1
2 0

: 2 = 1
a

45
=

1 0
2 1

: 2 =
1
2
, a

46
=

1 0
2 0

: 2 = 0
a

62
=

2 1
0 2

: 2 = 2, a

63
=

2 0
0 1

: 2 = 1, a

64
=

2 0
0 0

: 2 = 0
a

65
=

2 1
0 0

: 2 = 0, a

66
=

2 0
0 1

: 2 = 1
c
1
= 5 c
2
= 4 c
3
= 3 c
4
= 0 c
5
= 0 c
6
= 0
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
A
6
0 6 A
4
0 3/2 {2} 1 1/2 0
5 4 A
1
1 1/2 0 0 1/2 0
0 8 A
6
0 2 1 0 0 1
f(x
B
) = 20
i

1
= 0
2
= 3/2
3
= 3
4
= 0
5
= 5/2
6
= 0
Tabelul 5.2
Pasul 2. f(x
B
) = c
B
x
B
= 20
Pasul 3.
i
= c
i
c
B
A
i

1
= 0,
2
=
3
2
,
3
= 3,
4
= 0,
5
=
5
2
,
6
= 0.
Testare: Daca tot i
i
0, i = 1, 6, atunci
x = ( 4, 0, 0, 6, 0, 8 ).
este solut ia optima, STOP. Daca exista un
i
> 0, trecem la urmatorul pas.
Pasul 4. Coloana A
l
intra n baza
max{
i
/
i
> 0, i = 1, 6} = 3 =
3
, l = 3
coloana A
3
intra n baza.
Testare: Daca tot i a

il
0, i I, atunci problema are solut ie innita STOP.
Daca exista un a

il
> 0, trecem la urmatorul pas.
5.2. APLICAT IE 47
Pasul 5. Coloana A
r
iese din baza.
x
r
a

r3
= min
_
x
i
a

i3
/a

i3
> 0, i I
_
=
6
3
=
x
4
a

43
, r = 4
si coloana A
4
iese din baza.
Etapa III
Pasul 1.

In raport cu noua baza B = { A
3
, A
1
, A
6
}, calculam indicii bazici,
nebazici si coecient ii bazici
I = { 3, 1, 6 }, J = { 2, 4, 5 }, c
B
= {c
3
, c
1
, c
6
} = { 3, 5, 0 }.
Punand x
2
= x
4
= x
5
= 0, gasim solut ia bazica si partit ia bazica
x = ( 4, 0, 3, 0, 0, 11 ), x
B
= ( x
3
, x
1
, x
6
) = ( 3, 4, 11 )
a) Pivotul ind a

43
= 2, mpart im elementele liniei pivotului, cu except ia celui
de pe coloana x
B
, cu propria sa valoare 2 si copletam cu 0 ntreaga coloana care
cont ine pivotul, cu except ia pivotului care, n urma primei operat ii, are valoarea 1.
b) Aam restul elementelor cu formula:
a

ij
=

a
rl
a
rj
a
il
aij

: a
rl
, i I, i = r, j I J, j = l
unde am notat cu a
ij
si a

ij
elementele precedentului, respectiv actualului tabel.
Gasim
a

11
=

0 2
1 0

: 2 = 1, a

12
=

3
2
2
1
2
0

: 2 =
1
2
, a

14
=

2 1
0 0

: 2 = 0
a

15
=

2
1
2
0
1
2

: 2 =
1
2
, a

16
=

2 0
0 0

: 2 = 0
a

61
=

0 2
0 1

: 2 = 0, a

62
=

3
2
2
2 1

: 2 =
11
4
, a

64
=

2 1
1 0

: 2 =
1
2
a

65
=

2
1
2
1 0

: 2 =
1
4
, a

66
=

2 0
1 1

: 2 = 1
c
1
= 5 c
2
= 4 c
3
= 3 c
4
= 0 c
5
= 0 c
6
= 0
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
A
6
3 3 A
3
0 3/4 1 1/2 1/4 0
5 4 A
1
1 1/2 0 0 1/2 0
0 11 A
6
0 11/4 0 1/2 1/4 1
f(x
B
) = 29
i

1
= 0
2
= 3/4
3
= 0
4
= 3/2
5
= 7/4
6
= 0
48 CAPITOLUL 5. METODA SIMPLEX. APLICAT IE
Tabelul 5.3
Pasul 2. f(x
B
) = c
B
x
B
= 29
Pasul 3.
i
= c
i
c
B
A
i

1
= 0,
2
=
3
4
,
3
= 0,
4
=
3
2
,
5
=
7
4
,
6
= 0.
Testare: Cum tot i
i
0, procesul se termina si solut ia optima este
x = ( 4, 0, 3, 0, 0, 11 ).
cu valoarea f(x) = 29.
Capitolul 6
Aplicat ii.
Exemplul 6.1
Consideram programul
(P)
_

_
max{ f(x) = 2x
1
+ x
2
}
x
1
x
2
4
3x
1
x
2
18
x
1
+ 2x
2
6
x
1
0, x
2
0
Am rezolvat aceasta problema la Cursul 2, Ex. 4 si am obt inut solut ia optima
x
1
=
42
5
, x
2
=
36
5
, f(x
1
, x
2
) = 24
a carui mult ime de solut ii admisibile A
P
este vizualizata n Figura 2.4. Vom arata
ca obt inem aceeasi solut ie, rezolvand problema prin metoda simplex.
Pentru aplicarea metodei ment ionate aducem, conform procedurii, problema (P)
la forma standard adaug and variabilele de abatere x
3
, x
4
, x
5
.
_

_
max{ f(x) = 2x
1
+ x
2
}
x
1
x
2
+ x
3
= 4
3x
1
x
2
+ x
4
= 18
x
1
+ 2x
2
+ x
5
= 6
x
i
0, j = 1, 5
si urmam etapele formulate la cursul precedent cu ment iunea ca vom compacta
toate tabelele n unul singur, tabelul 7.1. Scriem matricea sistemului:
49
50 CAPITOLUL 6. APLICAT II.
A
1
A
2
A
3
A
4
A
5
A =
_
_
_
1 1 1 0 0
3 1 0 1 0
1 2 0 0 1
_
_
_
.
Tabelul 1: Alegem baza B = { A
3
, A
4
, A
5
} si deducem
x = (0, 0, 0, 4, 18, 6), solut ia bazica
x
B
= (4, 18, 6), partit ia bazica
c
B
= (0, 0, 0), coecient ii bazici
Completam primul tabel cu datele :
f(x
B
) = c
B
x
B
= 0;
1
= c
1
c
B
A
1
= 2,
2
= 1,
3
=
4
=
5
= 0
Cum exista
i
> 0, aam vectorul A
l
care intr a n baza:
max{
i
/
i
> 0, i = 1, 5} = 2 =
1
, l = 1,
prin urmare coloana A
1
intra n baza.
Deoarece exista a
i1
> 0, calculam coloana care iese din baza;
x
r
a
r1
= min
_
x
i
a
i1
/a
i1
> 0, i {3, 4, 5}
_
= 4 =
x
3
a
31
si coloana A
3
iese din baza.
Tabelul 2:

Inlocuind coloana A
3
cu A
1
, vom avea datele:
B = { A
1
, A
4
, A
5
}, x = (4, 0, 0, 6, 10, 0), x
B
= (4, 6, 10), c
B
= (2, 0, 0).
Alegem pivotul a
31
= 1, mp art im linia A
3
cu 1 si setam elementele coloanei A
1
cu zero, except ie fac and pivotul a
31
= 1. Calculam restul elementelor cu formula:
a

ij
=

a
31
a
3j
a
i1
a
ij

: a
rk
, i { 4, 5}, j { 2, 3, 4, 5}
unde a
ij
si a

ij
sunt elementele primului, respectiv celui de-al doilea tabel. Gasim
a

42
=

1 1
3 1

= 2, a

43
=

1 1
3 0

= 3, a

44
=

1 0
3 1

= 1, a

45
=

1 0
3 0

= 0
a

52
=

1 1
1 2

= 1, a

53
=

1 1
1 0

= 1, a

54
=

1 0
1 0

= 0, a

55
=

1 0
1 1

= 1
51
Completam al doilea tabel:
f(x
B
) = c
B
x
B
= 8;
1
= c
1
c
B
A
1
= 0,
2
= 3,
3
= 2,
4
=
5
= 0
Cum exista
i
> 0, aam vectorul A
l
care intr a n baza
max{
i
/
i
> 0, i = 1, 5} = 3 =
2
, l = 2,
si coloana A
2
intra n baza.

Intruc at exista a

i1
> 0, calculam coloana care iese
din baza;
x
r
a
r2
= min
_
x
i
a
i2
/a
i2
> 0, i {1, 4, 5}
_
=
_
x
4
a
42
,
x
5
a
52
_
=
_
6
2
,
10
1
_
= 3 =
x
4
a
42
si coloana A
4
iese din baza.
Tabelul 3:

Inlocuim A
4
cu A
2
. Vom avea datele:
B = { A
1
, A
2
, A
5
}, x = (7, 3, 0, 0, 7), x
B
= (7, 3, 7), c
B
= (2, 1, 0).
Alegem pivotul a

42
= 2, mp art im linia A
4
cu 2 si setam elementele coloanei A
2
cu zero, except ie fac and pivotul a

42
= 1. Calculam restul elementelor cu formula:
a

ij
=

a
42
a
4j
a
i2
a
ij

: a
rk
, i { 1, 2}, j { 1, 2, 4, 5}
a
ij
si a

ij
ind elementele primului, respectiv celui de-al doilea tabel. Gasim
a

11
=

1 1
0 2

: 2 =
1
2
, a

13
=

2 3
1 1

: 2 =
1
2
, a

14
=

2 1
1 0

: 2 =
1
2
a

15
=

2 0
1 0

: 2 = 0
a

51
=

2 0
1 0

: 2 = 0, a

53
=

2 3
1 1

: 2 =
5
2
, a

54
=

2 1
1 0

: 2 =
1
2
a

55
=

2 0
1 1

: 2 = 1
f(x
B
) = c
B
x
B
= 17;
1
= 0,
2
= 0,
3
=
5
2
,
4
=
3
2
,
5
= 0
Vectorul A
l
intra n baza
max{
i
/
i
> 0, i = 1, 5 } =
5
2
=
3
, l = 3,
52 CAPITOLUL 6. APLICAT II.
Calculam coloana care iese din baza;
x
r
a

r3
= min
_
x
i
a

i3
/a

i3
> 0, i {1, 2, 5}
_
=
_
x
1
a

13
,
x
2
a

23
,
x
5
a

53
_
=
14
5
=
x
5
a

53
,
r = 5 si coloana A
5
iese din baza.
Tabelul 4:

Inlocuim A
4
cu A
2
. Vom avea
B = { A
1
, A
2
, A
3
}, x =
_
42
5
,
36
5
,
14
5
, 0, 0
_
, x
B
=
_
42
5
,
36
5
,
14
5
_
, c
B
= (2, 1, 0).
Alegem pivotul a
53
=
5
2
, mpart im linia A
5
cu
5
2
si setam elementele coloanei
A
2
cu zero, except ie fac and pivotul care devine a

33
= 1.
c
1
= 2 c
2
= 1 c
3
= 0 c
4
= 0 c
5
= 0
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
0 4 A
3
{1} 1 1 0 0
0 18 A
4
3 1 0 1 0
0 6 A
5
1 2 0 0 1
f(x
B
) = 0
i
2 1 0 0 0
2 4 A
1
1 1 1 0 0
0 6 A
4
0 {2} 3 1 0
0 10 A
5
0 1 1 0 1
f(x
B
) = 0
i
0 3 2 0 0
2 7 A
1
1 0 1/2 1/2 0
1 3 A
2
0 1 3/2 1/2 0
0 7 A
5
0 0 {5/2} 1/2 1
f(x
B
) = 17
i
0 0 5/2 3/2 0
2 42/5 A
1
1 0 0 2/5 1/5
1 36/5 A
2
0 1 0 1/5 3/5
0 14/5 A
3
0 0 1 1/5 2/5
f(x
B
) = 24
i
0 0 0 1 1
Tabelul 7.1
Calculam restul elementelor cu formula:
a

ij
=

a
53
a
5j
a
i3
a
ij

: a
rk
, i { 1, 2}, j { 1, 2, 4, 5}
53
unde a
ij
si a

ij
sunt elementele primului, respectiv celui de-al doilea tabel. Gasim
a

11
=

1
1
2
0
5
2

2
5
= 1, a

12
=

0
1
2
0
5
2

2
5
= 0, a

14
=

1
2
1
2
5
2

1
2

2
5
=
2
5
a

15
=

1
2
0
5
2
1

2
5
=
1
5
a

21
=

0
3
2
0
5
2

2
5
= 0, a

22
=

1
3
2
0
5
2

2
5
= 1, a

24
=

3
2
1
2
5
2

1
2

2
5
=
1
5
a

25
=

3
2
0
5
2
1

2
5
=
3
5
f(x
B
) = c
B
x
B
= 24;
1
= 0,
2
= 0,
3
= 0,
4
= 1,
5
= 1.
Cum tot i
i
0, STOP. Solut ia optima a formei normale este
x =
_
42
5
,
36
5
,
14
5
, 0, 0
_
Revenind la problema (P) gasim ca solut ia
x
1
=
42
5
, x
2
=
36
5
,
valoarea maxima a funct iei ind f(x

1
, x

2
) = 24. Variabilele de abatere aun solut ia
optima valorile
x
3
=
14
5
, x
4
= x

5
= 0
Exemplul 6.2
Rezolvam cu metoda simplex exemplul 1 de la cursul 2.
(P)
_

_
max{ f(x) = 5x
1
+ 6x
2
}
3x
1
+ 2x
2
120
4x
1
+ 5x
2
260
x
1
0, x
2
0
= (P)
_

_
max{ f(x) = 6x
1
+ 5x
2
}
3x
1
+ 2x
2
+ x
3
= 120
4x
1
+ 6x
2
+ x
4
= 260
x
i
0, j = 1, 5
54 CAPITOLUL 6. APLICAT II.
A
1
A
2
A
3
A
4
A =
_
3 2 1 0
4 6 0 1
_
.
Tabelul 1: Alegem
B = { A
3
, A
4
}, x = (0, 0, 120, 260), x
B
= (120, 260), c
B
= (0, 0).
Completam primul tabel cu datele :
f(x
B
) = 0;
1
= 5,
2
= 6,
3
=
4
= 0
max{
i
/
i
> 0, i = 1, 4} = 6 =
2
, k = 2,
Coloana A
2
intr a n baza.
x
r
a

r2
= min
_
x
i
a

i2
/a

i2
> 0, i {3, 4}
_
=
260
6
=
x
4
a

42
Coloana A
4
iese din baza.
c
1
= 1 c
2
= 1 c
3
= 0 c
4
= 0
c
B
x
B
B A
1
A
2
A
3
A
4
0 120 A
3
3 2 1 0
0 160 A
4
4 {6} 0 1
f(x
B
) = 0
i
5 6 0 0
0 100 A
3
{5/3} 0 1 1/3
6 130/3 A
2
2/3 1 0 1/6
f(x
B
) = 160
i
0 0 1 ?
5 20 A
1
1 0 3/5 1/5
6 30 A
2
0 1 2/5 7/30
f(x
B
) = 280
i
0 0 27/5 2/5
Tabelul 7.2
Tabelul 2:
B = { A
3
, A
2
}, x =
_
0,
130
3
, 100, 0
_
, x
B
=
_
100,
130
3
_
, c
B
= (0, 6).
Pivotul a
42
= 6 mp art im linia A
4
cu 6 si setam elementele coloanei A
2
cu
zero, cu except ia elementului pivot care n noul tabel devine a

22
= 1. Calculam
restul elementelor cu formula:
a

ij
=

a
42
a
4j
a
i2
a
ij

: a

42
, i = 3, j { 1, 3, 4}
55
a

31
=

3 2
4 6

: 6 =
5
3
, a

33
=

2 1
6 0

: 6 = 1, a

34
=

2 0
6 1

: 6 =
1
3
f(x
B
) = c
B
x
B
= 160;
1
= 1,
2
= 0,
3
= 0,
4
= 1
max{
i
/
i
> 0, i = 1, 4} = 1 =
1
, l = 1,
Coloana A
1
intr a n baza.
x
r
a
r1
= min
_
x
i
a
i1
/a
i1
> 0, i {3, 2}
_
=
_
x
3
a
31
,
x
2
a
21
_
= min
_
100
6
2
,
130
3

3
2
_
=
x
3
a

31
r = 3, coloana A
3
iese din baza.
Tabelul 3:
B = { A
1
, A
2
}, x = ( 20, 30, 0, 0 ) , x
B
= ( 20, 30 ) , c
B
= ( 5, 6 ).
Pivotul a
31
=
5
3
a

22
=

5
3
0
2
3
1

:
5
3
= 1, a

23
=

5
3
1
2
3
0

:
5
3
=
2
5
, a

24
=

5
3

1
3
2
3
1
6

:
5
3
=
7
30
f(x
B
) = c
B
x
B
= 280;
1
= 0,
2
= 0,
3
=
27
5
,
4
=
2
5
Cum
i
0, STOP. Solut ia coincide cu cea dedusa anterior
x
1
= 20, x
2
= 30; f(20, 30) = 280
56 CAPITOLUL 6. APLICAT II.
Capitolul 7
Determinarea unei solut ii de start
7.1 Punerea problemei
Dupa cum s-a ment ionat, aplicarea algoritmului simplex necesita cunoasterea
unei baze admisibile de start precum si a formei explicite asociate acesteia, celelalte
forme explicite deducandu-se una din alta prin pivotare gaussiana. Chiar si pen-
tru probleme de dimensiuni mici, gasirea unei asemenea baze de start prin simpla
inspectare a coloanelor matricii A, se dovedeste a o treaba complicata, ne mai
vorbind de faptul ca este posibil ca problema sa nu aibe solut ii admisibile.

In plus,
sa nu uitam ca teoria metodei simplex s-a bazat esent ial pe ipoteza ca restrict iile
problemei sunt liniar independente, lucru iarasi greu de vericat n practica.
Rezumand ntr-o forma mai explicita cele de mai sus, sa spunem ca n rezolvarea
problemelor de programare ntalnite pan a acum, matricea restrict iilor A cont inea
totdeauna o submatrice unitate de ordinul m egal cu numarul restrict iilor,
B =
_
_
_
_
_
1 0 0
0 1 0

0 0 1
_
_
_
_
_
coloanele acestei matrici constituind baza algoritmului simplex, ceea ce ne creea un
avantaj n aplicarea procedeului iterativ. Dar nu n toate cazurile ne nt alnim cu o
astfel de facilitate.
Vom spune ca programul n forma standard este n forma buna daca matricea
A cont ine o submatrice unitate de ordinul m iar termenii liberi sunt nenegativi,
adica sunt ndeplinite condit iile:
(7.1)
B = (b
ij
)
i,j=1,m
A, b
i,j
=
_
1 daca i = j
0 daca i = j
b
i
0, i = 1, m
57
58 CAPITOLUL 7. DETERMINAREA UNEI SOLUT II DE START
Baza alcatuita din coloanele matricei A se numeste baza unitara. Solut ia asociata
bazei unitare este admisibila si poate considerata ca solut ie de start pentru apli-
carea algoritmului simplex. Aceasta solut ie poarta numele de solut ie unitara de
start. Astfel identic am forma buna a unui program cu forma n care acestuia i se
poate asocia o solut ie unitara de start.
Daca programul (P) nu satisface condit iile (7.1) el se poate aduce la forma
buna n felul urmator:
1)

In caz ca unele restrict ii ale programului init ial au termeni liberi negativi
nmult im aceste restrict ii cu 1; n acest fel tot i termenii liberi ai restrict iilor prob-
lemei de rezolvat vor nenegativi, adica b
i
0, i = 1, m
2) Se aduce problema la forma standard adaugand variabile de abatere n
restrict iile inegalitat i.
3) Daca matricea programului rezultat nu cont ine toate coloanele matricii uni-
tate de ordinul m, n anumite restrict ii se vor adauga noi variabile nenegative cu
coecientul 1 pentru a construi o submatrice unitate. Variabile nou introduse se
numesc variabile articiale si, spre deosebire de cele de abatere, apar si n funct ia
obiectiv cu un coecient comun pozitiv, M > 0 considerat foarte mare, care se
scad daca funct ia obiectiv se maximizeaza si se aduna n caz contrar.
Se observa imediat ca daca programul init ial (P) este compatibil, solut iile sale
admisibile se identic a cu acele solut ii ale formei bune n care
variabilele articiale au valoarea zero.
Rezolvarea formei bune ne conduce la unul din urmatoarele cazuri:
a) Forma buna are optim innit. Atunci si programul init ial are optim innit.
b) Forma buna are optim nit dar n solut ia optima cel put in o variabil a articiala
are valoare nenul a. Atunci programul original este incompatibil.
c) Forma buna are optim nit si n solut ia optima toate variabilele articiale au
valoarea zero. Ignorand valorile acestor variabile se obt ine solut ia optima a pro-
gramului initial.
Vom aplica cele stabilite mai sus n cazul exemplului 5 de la cursul 2 (pg. 24)
Exemplul 7.1
(P)
_

_
max{ f(x) = 2x
1
+ 3x
2
}
2x
1
+ x
2
40
x
1
+ 3x
2
30
x
1
+ x
2
30
x
1
0, x
2
0
= (P)
_

_
max{ f(x) = 2x
1
+ 3x
2
}
2x
1
+ x
2
x
3
= 40
x
1
+ 3x
2
x
4
= 30
x
1
+ x
2
+ x
5
= 30
x
i
0, j = 1, 5
7.1. PUNEREA PROBLEMEI 59
Am introdus variabilele de abatere x
3
, x
4
, x
5
. Scriem matricea restrict ilor
A =
_
_
_
2 1 1 0 0
1 3 0 1 0
1 1 0 0 1
_
_
_
.
Cum matricea formei standard nu cont ine o submatrice unitate, n conformitate cu
3) introducem variabilele articiale x
6
si x
7
.
(P)
_

_
max{ f(x) = 2x
1
+ 3x
2
Mx
6
Mx
7
}
2x
1
+ x
2
x
3
+ x
6
= 40
x
1
+ 3x
2
x
4
+ x
7
= 30
x
1
+ x
2
+ x
5
= 30
x
i
0, j = 1, 7
unde M > 0 este un numar oricat de mare. Aaplicam, n continuare algoritmul
simplex programului (P) cu restrict iile denite de matricea
A
1
A
2
A
3
A
4
A
5
A
6
A
7
A =
_
_
_
2 1 1 0 0 1 0
1 3 0 1 0 0 1
1 1 0 0 1 0 0
_
_
_
.
Alegem indicii bazici B = {6, 7, 5}.
Tabelul 1: Completam primul tabel cu datele
B = { A
6
, A
7
, A
5
}, x = (0, 0, 0, 0, 30, 40, 30), x
B
= (40, 30, 30), c
B
= (M, M, 0).
f(x
B
) = c
B
x
B
= 70M,
i
= c
i
c
B
A
i
, i = 1, 7

1
= 2 + 3M,
2
= 3 + 4M,
3
= M,
4
= M,
5
=
6
=
7
= 0
Testare: Daca tot i
i
0 atunci x este solut ia optima, STOP. Daca exista
un
i
> 0, trecem la urmatorul pas.
max{
i
/
i
> 0, i = 1, 7} = 3 + 4M =
2
, k = 2,
coloana A
2
intra n baza.
Testare: Daca tot i a
il
0, i I, atunci problema are solut ie innita STOP.
Daca exista un a
il
> 0, trecem la urmatorul pas.
x
r
a
r2
= min
_
x
i
a
i2
/a
i1
> 0, i {6, 7, 5}
_
= 10 =
x
7
a
72
.
60 CAPITOLUL 7. DETERMINAREA UNEI SOLUT II DE START
Coloana A
7
iese din baza.
c
1
= 2 c
2
= 3 c
3
= 0 c
4
= 0 c
5
= 0 c
6
=M c
7
=M
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
A
6
A
7
M 40 A
6
2 1 1 0 0 1 0
M 30 A
7
1 {3} 0 1 0 0 1
0 30 A
5
1 1 0 0 1 0 0
f(x
B
)=70M
i
2+3M 3+4M M M 0 0 0
Tabelul 7.1
Tabelul 2:

Inlocuind coloana A
7
cu A
2
, vom avea datele:
B = { A
6
, A
2
, A
5
}, x = (0, 10, 0, 0, 20, 30, 10), x
B
= (30, 10, 20), c
B
= (M, 3, 0).
Alegem pivotul a
72
= 3, si calculam elementele tabelului cu formula:
a

ij
=

a
72
a
7j
a
i2
a
ij

: a
rk
, i { 6, 5}, j { 1, 3, 4, 5, 6, 7}
a

61
=

2 1
1 3

: 3 =
5
3
, a

63
=

1 1
3 0

: 3 = 1, a

64
=

1 0
3 1

: 3 =
1
3
a

65
=

1 0
3 0

: 3 = 0, a

66
=

1 1
3 0

: 3 = 1, a

67
=

1 0
3 1

: 3 =
1
3
a

51
=

1 3
1 1

: 3 =
2
3
, a

53
=

3 0
1 0

: 3 = 0, a

54
=

3 1
1 0

: 3 =
1
3
a

55
=

3 0
1 1

: 3 = 1, a

56
=

3 0
1 0

: 3 = 0, a

57
=

3 1
1 0

: 3 =
1
3
f(x
B
) = 30 30M

1
= 1+
5M
3
,
2
= 0,
3
= M,
4
= 1+
M
3
,
5
=
6
= 0,
7
= 1
4M
3
max{
i
/
i
> 0 } = 1 +
5M
3
=
1
,
Coloana A
1
intr a n baza.
x
r
a

r1
= min
_
x
i
a

i1
/a

i1
> 0, i {6, 2, 5}
_
= min
_
303
5
,
103
1
,
203
2
_
= 18 =
x
6
a

61
.
Coloana A
6
iese din baza.
7.1. PUNEREA PROBLEMEI 61
c
1
= 2 c
2
= 3 c
3
= 0 c
4
= 0 c
5
= 0 c
6
=M c
7
=M
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
A
6
A
7
M 30 A
6
{5/3} 0 1 1/3 0 1 1/3
3 10 A
2
1/3 1 0 1/3 0 0 1/3
0 20 A
5
2/3 0 0 1/3 1 0 1/3
f(x
B
)=30M+30
i
1+5M/3 0 M 1+M/3 0 0 14M/3
Tabelul 7.2
Tabelul 3:

Inlocuim coloana A
6
cu A
1
:
B = { A
1
, A
2
, A
5
}, x = (18, 4, 0, 0, 8, 0, 0), x
B
= (18, 4, 8), c
B
= (2, 3, 0).
Alegem pivotul a

61
=
5
3
, si calculam elementele tabelului cu formula:
a

ij
=

a
61
a
6j
a
i1
a
ij

: a
61
, i { 6, 5}, j { 1, 3, 4, 5, 6, 7}
a

22
=

5
3
0
1
3
1

3
5
= 1, a

23
=

5
3
1
1
3
0

3
5
=
1
5
, a

24
=

5
3
1
3
1
3

1
3

3
5
=
2
5
a

25
=

5
3
0
1
3
0

3
5
= 0, a

26
=

5
3
1
1
3
0

3
5
=
1
5
, a

27
=

5
3

1
3
1
3
1
3

3
5
=
2
5
a

52
=

5
3
0
2
3
0

3
5
= 0, a

53
=

5
3
1
2
3
0

3
5
=
2
5
, a

54
=

5
3
1
3
2
3
1
3

3
5
=
1
5
a

55
=

5
3
0
2
3
1

3
5
= 1, a

56
=

5
3
1
2
3
0

3
5
=
2
5
, a

57
=

5
3

1
3
2
3

1
3

3
5
=
1
5
f(x
B
) = 48

1
= 0,
2
= 0,
3
=
3
5
,
4
=
4
5
,
5
= 0,
6
= M
3
5
,
7
= M
4
5
max{
i
/
i
> 0 } =
4
5
=
4
,
62 CAPITOLUL 7. DETERMINAREA UNEI SOLUT II DE START
Coloana A
4
intr a n baza.
x
r
a

r4
= min
_
x
i
a

i4
/a

i4
> 0, i {1, 2, 5}
_
= min
_
185
1
,
85
1
_
= 40 =
x
5
a

54
Coloana A
5
iese din baza.
c
1
= 2 c
2
= 3 c
3
= 0 c
4
= 0 c
5
= 0 c
6
=M c
7
=M
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
A
6
A
7
2 18 A
1
1 0 3/5 1/5 0 3/5 1/5
3 4 A
2
0 1 1/5 2/5 0 1/5 2/5
0 8 A
5
0 0 2/5 {1/5} 1 2/5 1/5
f(x
B
)=48
i
0 0 3/5 4/5 0 M3/5 M4/5
Tabelul 7.3
Tabelul 4:

Inlocuim coloana A
5
cu A
4
:
B = { A
1
, A
2
, A
4
}, x = (10, 20, 0, 40, 0, 0, 0), x
B
= (10, 20, 40), c
B
= (2, 3, 0).
Alegem pivotul a
54
=
1
5
a

11
=

1
1
5
0
1
5

5 = 1, a

12
=

0
1
5
0
1
5

5 = 0, a

13
=

3
5
1
5
2
5
1
5

5 = 1
a

15
=

1
5
0
1
5
1

5 = 1, a

16
=

1
5
3
5
1
5

2
5

5 = 1, a

17
=

1
5

1
5
1
5

1
5

5 = 0
a

21
=

0
2
5
0
1
5

5 = 0, a

22
=

1
2
5
0
1
5

5 = 1, a

23
=

1
5

2
5
2
5
1
5

5 = 1
a

25
=

2
5
0
1
5
1

5 = 2, a

26
=

2
5

1
5
1
5

2
5

5 = 1, a

27
=

2
5
2
5
1
5

1
5

5 = 0
f(x
B
) = 80

1
= 0,
2
= 0,
3
= 1,
4
= 0,
5
= 4,
6
= 1 M,
7
= M.
7.1. PUNEREA PROBLEMEI 63
Cum
i
0, STOP.
c
1
= 2 c
2
= 3 c
3
= 0 c
4
= 0 c
5
= 0 c
6
=M c
7
=M
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
A
6
A
7
2 10 A
1
1 0 1 0 1 1 0
3 20 A
2
0 1 1 0 2 1 0
0 40 A
4
0 0 2 1 5 2 1
f(x
B
)=80
i
0 0 1 0 4 1M M
Tabel 7.4
Dupa patru iterat ii (tabelul 7.4) se obt ine solut ia optima a programului n care
variabilele articiale x
6
, x
7
au valoarea zero. Ignorand aceste valori se obt ine
solut ia optima a formei standard si implicit solut ia optima a programului original:
x
1
= 10, x
2
= 20, f
max
= 80
varibilele de abatere av and valorile: x
3
= 0, x
4
= 40, x
5
= 0
1
2
x
x
(0,0)
(10,20)
(18,4)
(0,10)
(30,0)
Figura 7.1:
Punctele din R
2
corespunza-
toare celor patru solut ii generate de
algoritm sunt
S
0
= (0, 0), S
1
= (0, 10),
S
2
= (18, 4), S
3
= (10, 20).
Urmarind Figura 7.1 se constata ca
punctele S
0
si S
1
, ce corespund
unor solut ii ale programului (P)
n care cel put in o variabila arti-
ciala are valoare nenula, sunt n afara
mult imii A
P
n timp ce S
2
si S
3
,
corespunzatoare unor solut ii n care
x
6
= x
7
= 0, sunt varfuri ale acestei
mult imi.
64 CAPITOLUL 7. DETERMINAREA UNEI SOLUT II DE START
Capitolul 8
Aarea unei solut ii de start
Continu am exemplele referitoare la cursul precedent.
Exemplul 8.1
(P)
_

_
min{ f(x) = 4x
1
+ 3x
2
+ 5x
3
}
2x
1
+ x
2
5x
3
300
x
1
+ x
2
+ x
3
75
x
i
0, i = 1, 3
Aducem problema la forma standard adaugand variabilele de abatere x
4
, x
5
(S)
_

_
min{ f(x) = 4x
1
+ 3x
2
+ 5x
3
}
2x
1
+ x
2
5x
3
x
4
= 300
x
1
+ x
2
+ x
3
x
5
= 75
x
i
0, i = 1, 5
cu matricea
A =
_
2 1 5 1 0
1 1 1 0 1
_
Observand ca matricea A nu cont ine nici o submatrice unitate, introducem vari-
abilele articiale x
6
si x
7
cu coecientul pozitiv M oricat de mare, corespunzator
problemei de minim:
(S)
_

_
min{ f(x) = 4x
1
+ 3x
2
+ 5x
3
+ Mx
6
+ Mx
7
}
2x
1
+ x
2
5x
3
x
4
+ x
6
= 300
x
1
+ x
2
+ x
3
x
5
+ x
7
= 75
x
i
0, i = 1, 7
65
66 CAPITOLUL 8. AFLAREA UNEI SOLUT II DE START
cu matricea
A
1
A
2
A
3
A
4
A
5
A
6
A
7
A =
_
2 1 5 1 0 1 0
1 1 1 0 1 0 1
_
.
Alegem solut ia de start x
1
= x
2
= x
3
= x
4
= x
5
= 0, x
6
= 300, x
7
= 75 si
calculam:
f = c
B
x
B
,
i
= c
B
A
i
c
i
.
Cum max
i
= 3M 4 =
1
, l = 1 si coloana A
1
intr a n baza.
Calculam coloana care iese din baza
x
6
a
61
=
300
2
= 150,
x
7
a
71
=
75
1
= 75 min
_
x
6
a
61
,
x
7
a
71
_
= 75, r = 7
si A
7
iese din baza.
c
1
= 4 c
2
= 3 c
3
= 5 c
4
= 0 c
5
= 0 c
6
=M c
7
=M
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
A
6
A
7
M 300 A
6
2 1 5 1 0 1 0
M 75 A
7
{1} 1 1 0 1 0 1
f(x
B
)=375M
i
3M4 2M3 4M5 M M 0 0
M 150 A
6
0 1 7 1 {2} 1 2
4 75 A
1
1 1 1 0 1 0 1
f(x
B
)=150M+300
i
0 M+1 7M1 M 2M4 0 3M+4
0 75 A
5
0 1/2 7/2 1/2 1 1/2 1
4 150 A
1
1 1/2 5/2 1/2 0 1/2 0
f(x
B
)=600
i
0 1 15 2 0 2M M
Cu pivotul a
71
= 1, folosindu-ne de elementele primului tabel, vom calcula ele-
mentele celui de-al doilea tabel cu formula
a

ij
=

a
i1
a
ij
a
71
a
7j

: a
71
, i = 6, j { 2, 3, 4, 5, 6, 7}
a
62
=

2 1
1 1

= 1, a
63
=

2 5
1 1

= 7, a
64
=

2 1
1 0

= 1,
a
65
=

2 0
1 1

= 2, a
66
=

2 1
1 0

= 1, a
67
=

2 0
1 1

= 2
Calculam elementele ultimului rand:
f = c
B
x
B
= 150M + 300, max{
i
/
i
> 0 } = 2M 4 =
5
, k = 5.
67
Coloana A
5
intr a n baza.
x
6
a
65
=
150
2
= 75,
x
1
a
15
=
75
1
= 75, r = 6
coloana A
6
iese din baza.
Alegem pivotul a
65
si calculam elementele celui de-al treilea tabel
a
11
=

0 2
1 1

: 2 = 1, a
12
=

1 2
1 1

: 2 =
1
2
, a
13
=

7 2
1 1

: 2 =
5
2
,
a
14
=

1 2
0 1

: 2 =
1
2
, a
16
=

2 1
1 0

: 2 =
1
2
, a
17
=

2 2
1 1

: 2 = 0
Calculand elementele ultimului rand, observam ca
i
0, i = 1, 7, prin urmare
solut ia optima a problemei este:
x
1
= 150, x
2
= x
3
= x
4
= 0, x
5
= 75, min f = 600.
O variabila articiala care iese din baza, nu va mai intra n baza, fapt care justica
eliminarea din calcul a coloanelor A
7
si A
8
din tabelul de mai sus.
Exemplul 8.2
_

_
min{ f(x) = 5x
1
+ 4x
2
+ 4, 5x
3
+ 3x
4
}
x
1
+ x
2
+ x
3
+ x
4
800
20x
1
+ 10x
2
+ 30x
3
+ 20x
4
18000
10x
1
+ 20x
2
+ 10x
3
+ 30x
4
21000
x
i
0, i = 1, 4
Cu introducerea variabilelor de abatere x
5
, x
6
, x
7
, obt inem forma standard:
_

_
min{ f(x) = 5x
1
+ 4x
2
+ 4, 5x
3
+ 3x
4
}
x
1
+ x
2
+ x
3
+ x
4
x
5
= 800
2x
1
+ x
2
+ 3x
3
+ 2x
4
x
6
= 1800
x
1
+ 2x
2
+ x
3
+ 3x
4
x
7
= 2100
x
i
0, i = 1, 7
68 CAPITOLUL 8. AFLAREA UNEI SOLUT II DE START
Pentru a reduce calculele, vom scadea prima si a doua ecuat ie din a treia. Obt inem
problema echivalent a
_

_
min{ f(x) = 5x
1
+ 4x
2
+ 4, 5x
3
+ 3x
4
}
x
2
+ 2x
4
+ x
5
x
7
= 1300
x
1
+ x
2
2x
3
+ x
4
+ x
6
x
7
= 300
x
1
+ 2x
2
+ x
3
+ 3x
4
x
7
= 2100
x
i
0, i = 1, 7
cu matricea
A =
_
_
_
_
0 1 0 2 1 0 1
1 1 2 1 0 1 1
1 2 1 3 0 0 1
_
_
_
_
Introducem variabila articiala x
8
cu coecientul pozitiv M oricat de mare,
corespunzator problemei de minim:
(P)
_

_
min{ f(x) = 5x
1
+ 4x
2
+ 4, 5x
3
+ 3x
4
+ Mx
8
}
x
2
+ 2x
4
+ x
5
x
7
= 1300
x
1
+ x
2
2x
3
+ x
4
+ x
6
x
7
= 300
x
1
+ 2x
2
+ x
3
+ 3x
4
x
7
+ x
8
= 2100
x
i
0, i = 1, 8
cu matricea
A
1
A
2
A
3
A
4
A
5
A
6
A
7
A
8
A =
_
_
_
_
0 1 0 2 1 0 1 0
1 1 2 1 0 1 1 0
1 2 1 3 0 0 1 1
_
_
_
_
Alegem solut ia de start
x
1
= x
2
= x
3
= x
4
= x
7
= 0, x
5
= 1300, x
6
= 300, x
8
= 2100
Sa se verice rezultatele problemei, trecute n tabelul urmator.
69
c
1
= 5 c
2
= 4 c
3
= 4.5 c
4
= 3 c
5
= 0 c
6
= 0 c
7
= 0 c
8
=M
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
A
6
A
7
A
8
0 1300 A
5
0 1 0 2 1 0 1 0
0 300 A
6
1 1 2 {1} 0 1 1 0
M 2100 A
8
1 2 1 3 0 0 1 1
f(x
B
)=2100M
i
M5 2M4 M4.5 3M3 0 0 M 0
0 700 A
5
2 1 4 0 1 2 1 0
3 300 A
4
1 1 2 1 0 1 1 0
M 1200 A
8
4 1 {7} 0 0 3 2 1
f(x
B
)=900+1200M
i
4M8 M1 7M0.5 0 0 3M+3 2M3 0
0 100/7 A
5
2/7 3/7 0 0 1 2/7 1/7 4/7
3 4500/7 A
4
1/7 5/7 0 1 0 1/7 3/7 2/7
4.5 1200/7 A
3
4/7 1/7 1 0 0 3/7 2/7 1/7
f(x
B
)=2700
i
2 2.5 0 0 0 1.5 0

3/2M
Cum tot i
i
0 procesul iterativ se ntrerupe iar solut ia problemei este
x
1
= x
2
= x
6
= x
7
= x
8
= 0, x
3
=
1200
7
, x
4
=
4500
7
, x
5
=
100
7
,
adica
x =
_
0, 0,
1200
7
,
4500
7
,
100
7
, 0, 0
_
, min f = f(x) = 2700.
70 CAPITOLUL 8. AFLAREA UNEI SOLUT II DE START
Capitolul 9
Solut ie optima multipla
Sa observam ca n toate problemele precedente, cu except ia ultimului exemplu
(exemplul 8.2), pe ultima linie avem
i
= 0, numai n cazul n care coloana A
i
face parte din baza.

In ultimul tabel avem
7
= 0 desi A
7
nu face parte din baza.
Presupunand acum, ca baza curent a B este optimala (adica solut ia asociata ei
veric a testul de optimalitate) si ca exista coloane A
j
care nu fac parte din baza
pentru care
j
= 0, formula (4.13) ne arata ca introducerea n baza curent a a
oricarei coloane A
j
pentru care
j
= 0, conduce la solut ii de baza la fel de bune
ca si cea curent a, deci optime.
Se poate arata ca daca vectorii x
1
, x
2
, , x
p
, p 2 sunt toate solut iile de
baza optime ale programului (P) atunci acesta are o innitate de solut ii optime
care au forma:
(9.1) x =
1
x
1
+
2
x
2
+ +
p
x
p
,
i
0,
p

i=1

i
= 1
adica, orice solut ie optima este o combinat ie convex a a solut iilor optime de baza.
Ultimul exemplu din cursul precedent, pe care l reluam n continuare, raspunde
cazului semnalat mai sus.

Inainte de reluarea acestei probleme, ne propunem sa
recapitulam etapele obt inerii formei bune a unei probleme de optimizare.
Vom spune ca programul n forma standard este n forma buna daca matricea
A cont ine o submatrice unitate de ordinul m (= num arul restrict iilor) iar termenii
liberi sunt nenegativi, adica sunt ndeplinite condit iile:
(9.2)
I
m
= (a
ij
)
i,j=1,m
A, a
i,j
=
_
1 daca i = j
0 daca i = j
b
i
0, i = 1, m
Baza alcatuita din coloanele matricei A se numeste baza unitara. Solut ia asociata
bazei unitare este admisibila si poate considerata ca solut ie de start pentru apli-
carea algoritmului simplex. Aceasta solut ie poarta numele de solut ie unitara de
start. Astfel identic am forma buna a unui program cu forma n care acestuia i se
71
72 CAPITOLUL 9. SOLUT IE OPTIM

A MULTIPL

A
poate asocia o solut ie unitara de start.
Daca programul (P) nu satisface condit iile (9.2) el se poate aduce la forma
buna, parcurgand urmatorii pasi:


In caz ca unele restrict ii ale programului init ial au termeni liberi negativi
nmult im aceste restrict ii cu 1; n acest fel tot i termenii liberi ai restrict iilor prob-
lemei de rezolvat vor nenegativi, adica b
i
0, i = 1, m.
Se aduce problema la forma standard adaugand variabile de abatere n
restrict iile inegalitat i.
Daca matricea programului rezultat nu cont ine toate coloanele matricii uni-
tate de ordinul m, n anumite restrict ii se adaug a variabile articiale care se introduc
si n funct ia obiectiv sub forma unor termeni cont inand un coecient comun pozitiv,
foarte mare M > 0. Termenul Mx
i
se scade daca funct ia obiectiv se maximizeaza
si se aduna n caz contrar.
Daca programul init ial (P) este compatibil, solut iile sale admisibile se identica
cu acele solut ii ale formei bune n care variabilele articiale au valoarea zero.
Rezolvarea formei bune ne conduce la unul din urmatoarele cazuri:
1. Forma buna are optim nit si toate variabilele articiale au valoarea zero.
Ignorand aceste variabile se obt ine solut ia optima a programului init ial. Sa ream-
intim ca ntreruperea procesului iterativ se produce atunci cand tot i
i
0.
2.

In cazul n care, la ntreruperea procesului iterativ, o variabila articiala are
valoare nenul a, problema este incompatibila.
3. Forma buna are optim innit, adica tot i a
ij
0. Atunci si programul init ial
are optim innit.
Sa reluam ultimul exemplu de la cursul precedent.
(P)
_

_
min{ f(x) = 5x
1
+ 4x
2
+ 4, 5x
3
+ 3x
4
}
x
1
+ x
2
+ x
3
+ x
4
800
20x
1
+ 10x
2
+ 30x
3
+ 20x
4
18000
10x
1
+ 20x
2
+ 10x
3
+ 30x
4
21000
x
i
0, i = 1, 4
Introducand variabilele de abatere x
5
, x
6
, x
7
obt inem forma standard:
_

_
min{ f(x) = 5x
1
+ 4x
2
+ 4, 5x
3
+ 3x
4
}
x
1
+ x
2
+ x
3
+ x
4
x
5
= 800
2x
1
+ x
2
+ 3x
3
+ 2x
4
x
6
= 1800
x
1
+ 2x
2
+ x
3
+ 3x
4
x
7
= 2100
x
i
0, i = 1, 7
73
Pentru a reduce calculele, vom scadea prima si a doua ecuat ie din a treia. Obt inem
problema echivalent a cu forma standard:
_

_
min{ f(x) = 5x
1
+ 4x
2
+ 4, 5x
3
+ 3x
4
}
x
2
+ 2x
4
+ x
5
x
7
= 1300
x
1
+ x
2
2x
3
+ x
4
+ x
6
x
7
= 300
x
1
+ 2x
2
+ x
3
+ 3x
4
x
7
= 2100
x
i
0, i = 1, 7
Observand ca matricea
A =
_
_
_
_
0 1 0 2 1 0 1
1 1 2 1 0 1 1
1 2 1 3 0 0 1
_
_
_
_
,
atasat a ultimei probleme, nu cont ine o submatrice unitate, introducem variabila
articiala x
8
cu coecientul pozitiv M, corespunzator problemei de minim:
(P)
_

_
min{ f(x) = 5x
1
+ 4x
2
+ 4, 5x
3
+ 3x
4
+ Mx
8
}
x
2
+ 2x
4
+ x
5
x
7
= 1300
x
1
+ x
2
2x
3
+ x
4
+ x
6
x
7
= 300
x
1
+ 2x
2
+ x
3
+ 3x
4
x
7
+ x
8
= 2100
x
i
0, i = 1, 8
cu matricea
A
1
A
2
A
3
A
4
A
5
A
6
A
7
A
8
A =
_
_
_
_
0 1 0 2 1 0 1 0
1 1 2 1 0 1 1 0
1 2 1 3 0 0 1 1
_
_
_
_
Alegem baza B = {A
5
, A
6
, A
8
}, solut ia de start
x
1
= x
2
= x
3
= x
4
= x
7
= 0, x
5
= 1300, x
6
= 300, x
8
= 2100,
completam primul tabel din gura 10.1 cu datele problemei si calculam
f = c
B
x
B
,
i
= c
B
A
i
c
i
, i = 1, 8
pe care le trecem n ultima linie. Calculam coloana A
l
care intr a n baza
max{
i
/
i
> 0, i = 1, 8 } = 3M 3 =
4
74 CAPITOLUL 9. SOLUT IE OPTIM

A MULTIPL

A
l = 4 si coloana A
4
intr a n baza. Calcula coloana A
r
care iese din baza
min
_
x
i
a
i4
/a
i4
> 0, i {5, 6, 8}
_
= min
_
1300
2
,
300
1
,
2100
3
,
_
=
x
6
a
64
r = 6, prin urmare coloana A
6
iese din baza.
c
1
=5 c
2
=4 c
3
=4.5 c
4
=3 c
5
=0 c
6
=0 c
7
=0 c
8
=M
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
A
6
A
7
A
8
0 1300 A
5
0 1 0 2 1 0 1 0
0 300 A
6
1 1 2 {1} 0 1 1 0
M 2100 A
8
1 2 1 3 0 0 1 1
f(x
B
)=2100M
i
M5 2M4 M4.5 3M3 0 0 M 0
0 700 A
5
2 1 4 0 1 2 1 0
3 300 A
4
1 1 2 1 0 1 1 0
M 1200 A
8
4 1 {7} 0 0 3 2 1
f(x
B
)=900+1200M
i
4M8 M1 7M0.5 0 0 3M+3 2M3 0
0 100/7 A
5
2/7 3/7 0 0 1 2/7 1/7 4/7
3 4500/7 A
4
1/7 5/7 0 1 0 1/7 3/7 2/7
4.5 1200/7 A
3
4/7 1/7 1 0 0 3/7 {2/7} 1/7
f(x
B
)=2700
i
2 2.5 0 0 0 1.5 0

3/2M
Figura 9.1
Alegem pivotul a
rl
= a
64
= 1 si calculam elementele celui de-al doilea tabel astfel:


Impart im linia pivotului cu pivotul a
64
si anulam elementele de pe coloana
acestuia, cu except ia pivotului nsusi, a carui valoare n noul tabel este totdeauna
egala cu unitatea.
Calculam restul elementelor conform regulei:
a

ij
=
_

a
rl
a
rj
a
il
a
ij

: a

rl
, daca pivotul a
rl
se aa pe diagonala principala

a
il
a
ij
a
rl
a
rj

: a
rl
, daca pivotul a
rl
se aa pe diagonala secundara
unde a
ij
si a

ij
sunt elementele precedentului, respectiv urmatorului tabel.

In plus
se va t ine cont de egalitat ile:

a
ij
a
il
a
rj
a
rl

a
rl
a
rj
a
il
a
ij

si

a
rj
a
rl
a
ij
a
il

a
il
a
ij
a
rl
a
rj

75
De exemplu
a

83
=

2 1
1 3

: 1 = 7, a

87
=

1 1
3 1

: 1 = 2
Procedand la fel calculam elementele celui de-al treilea tabel din gura 10.1. Cum
tot i
i
0 procesul iterativ se ntrerupe iar solut ia problemei este
x
1
= x
2
= x
6
= x
7
= x
8
= 0, x
3
=
1200
7
, x
4
=
4500
7
, x
5
=
100
7
,
cu max f = 2700. Ignorand variabila articiala x
8
, solut ia dedusa mai sus se scrie
x
1
=
_
0, 0,
1200
7
,
4500
7
,
100
7
, 0, 0
_
, min f = f(x
1
) = 2700.
Observam, pe ultima linie, ca
7
= 0 fara ca vectorul A
7
sa faca parte din
baza. Prin urmare n locul coloanei A
3
, introducem coloana A
7
. Alegand pivotul
a
37
= 2/7 si folosindu-ne de elementele ultimului tabel din gura 10.1, deducem
tabelul:
c
1
=5 c
2
=4 c
3
=4.5 c
4
=3 c
5
=0 c
6
=0 c
7
=0 c
8
=M
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
A
6
A
7
A
8
0 100 A
5
0 1/2 1/2 0 1 1/2 0 1/2
3 900 A
4
1 1/2 3/2 1 0 1/2 0 1/2
0 600 A
7
2 1/2 7/2 0 0 3/2 1 1/2
f(x
B
)=2700
i
2 2,5 0 0 0 1,5 0 3/2M
Solut ia optima corespunzatoare ultimei baze este
x
2
= ( 0, 0, 0, 900, 100, 0, 600).
Prin urmare solut ia optima generala are, conform (9.1), expresia
x() = x
1
+ (1 )x
2
, [ 0 , 1 ].
unde am luat
1
= si
2
= 1 , 0 1.

Inlocuind valorile vectorilor
x
1
si x
2
obt inem
x() =
_
0, 0,
1200
7
,
10.800
7
900,
800
7
100, 0, 600 600
_
, [ 0 , 1 ].
Valoarea minima a funct iei n x(), ram ane neschimbat a;
f(x()) = 4, 5
1200
7
+ 3
_
900
1800
7

_
= 2.700
76 CAPITOLUL 9. SOLUT IE OPTIM

A MULTIPL

A
Capitolul 10
Exemple
Exemplul 10.1
Sa se rezolve problema de optimizare:
_

_
max{ f(x) = 10x
1
+ 6x
2
2x
3
+ 4x
4
}
2x
1
+ x
2
2x
4
= 200
2x
2
+ x
3
+ x
4
600
x
1
+ 2x
2
+ x
3
+ x
4
120
x
i
0, i = 1, 4
Aducem problema la forma standard, prin adaugarea variabilelor de compensare
x
5
si x
6
:
_

_
max{ f(x) = 10x
1
+ 6x
2
2x
3
+ 4x
4
}
2x
1
+ x
2
2x
4
= 200
2x
2
+ x
3
+ x
4
+ x
5
= 600
x
1
+ 2x
2
+ x
3
+ x
4
x
6
= 120
x
i
0, i = 1, 6
Matricea sistemului de restrict ii este
A =
_
_
_
_
2 1 0 2 0 0
0 2 1 1 1 0
1 2 1 1 0 1
_
_
_
_
77
78 CAPITOLUL 10. EXEMPLE
Ea cont ine un singur vector unitar. Vom adauga doua variabile articiale, x
7
si x
8
la prima si a treia restrict ie. Astfel, problema devine:
_

_
max{ f(x) = 10x
1
+ 6x
2
2x
3
+ 4x
4
Mx
7
Mx
8
}
2x
1
+ x
2
2x
4
+ x
7
= 200
2x
2
+ x
3
+ x
4
+ x
5
= 600
x
1
+ 2x
2
+ x
3
+ x
4
x
6
+ x
8
= 120
x
i
0, i = 1, 6
Matricea sistemului de restrict ii este
A
1
A
2
A
3
A
4
A
5
A
6
A
7
A
8
A =
_
_
_
_
2 1 0 2 0 0 1 0
0 2 1 1 1 0 0 0
1 2 1 1 0 1 0 1
_
_
_
_
Tabelul 1: Completam primul tabel cu datele
B = { A
7
, A
5
, A
8
}, x = (0, 0, 0, 0, 600, 0, 200, 120), x
B
= (200, 600, 120), c
B
= (M, 0, M).
f(x
B
) = c
B
x
B
= 420M,
i
= c
i
c
B
A
i
, i = 1, 8

1
= 10 + 3M,
2
= 6 + 3M,
3
= 2 + M,
4
= 4 M,
5
= 0,

6
= M,
7
= 0,
8
= 0
Testare: Daca tot i
i
0 atunci x este solut ia optima, STOP. Daca exista
un
i
> 0, trecem la urmatorul pas.
max{
i
/
i
> 0, i = 1, 8} = 10 + 3M =
1
, l = 1,
coloana A
1
intra n baza.
Testare: Daca tot i a
il
0, i {7, 5, 8}, atunci problema are solut ie innita
STOP. Daca exista un a
il
> 0, trecem la urmatorul pas.
x
r
a
r2
= min
_
x
i
a
i1
/a
i1
> 0, i {7, 5, 8}
_
= min{100, 120} = 100 =
x
7
a
71
.
r = 7, coloana A
7
iese din baza, a
71
= 2 (pivotul)
79
Tabelul 2:
a
52
=

2 1
0 2

: 2 = 2, a
53
=

2 0
0 1

: 2 = 1, a
54
=

2 2
0 1

: 2 = 1,
a
55
=

2 0
0 1

: 2 = 1, a
56
=

2 0
0 0

= 0, a
57
=

2 1
0 0

= 0
a
58
=

2 0
0 0

= 0
a
82
=

2 1
1 2

: 2 =
3
2
, a
83
=

2 0
1 1

: 2 = 1, a
84
=

2 2
1 1

: 2 = 2,
a
85
=

2 0
1 0

= 0, a
86
=

2 0
1 1

: 2 = 1, a
87
=

2 1
1 0

: 2 =
1
2
a
88
=

2 0
1 1

: 2 = 1
x
2
= x
3
= x
4
= x
6
= x
7
= 0, x
1
= 100, x
5
= 600, x
8
= 20

1
= 0,
2
= 1 + 3M/2,
3
= 2 + M,
4
= 14 + 2M,
5
= 0,

6
= M,
7
= 5 M/2,
8
= 0, max {
i
/
i
> 0, i = 1, 8 } =
4
A
4
intra n baza.
x
1
a
14
= 100,
x
5
a
54
= 600,
x
8
a
84
= 10, A
8
iese din baza, a
84
= 2 (pivotul)
c
1
=10 c
2
=6 c
3
=2 c
4
=4 c
5
=0 c
6
=0 c
7
=M c
8
=M
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
A
6
A
7
A
8
M 200 A
7
{2} 1 0 2 0 0 1 0
0 600 A
5
0 2 1 1 1 0 0 0
M 120 A
8
1 2 1 1 0 1 0 1
f=420M
i
=c
i
c
B
A
i
10+3M 6+3M 2+M 4M 0 M 0 0
10 100 A
1
1 1/2 0 1 0 0 1/2 0
0 600 A
5
0 2 1 1 1 0 0 0
M 20 A
8
0 3/2 1 {2} 0 1 1/2 1
f=100020M
i
=c
i
c
B
A
i
0 1+3M/2 2+M 14+2M 0 M 5M/2 0
10 110 A
1
1 5/4 1/2 0 0 1/2 3/4 1/2
0 590 A
5
0 5/4 1/2 0 1 {1/2} 1/4 1/2
4 10 A
4
0 3/4 1/2 1 0 1/2 1/4 1/2
f=1140
i
=c
i
c
B
A
i
0 19/2 9 0 0 7 17/2M 7M
10 700 A
1
1 5/2 1 0 1 0 1/2 0
0 1180 A
6
0 5/2 1 0 2 1 1/2 1
4 600 A
4
0 2 1 1 1 0 0 0
f=9400
i
=c
i
c
B
A
i
0 27 16 0 14 0 5M M
80 CAPITOLUL 10. EXEMPLE
Tabelul 3:
x
2
= x
3
= x
6
= x
7
= x
8
= 0, x
1
= 110, x
4
= 600, x
5
= 590
a
11
=

1 1
0 2

: 2 = 1, a
12
=

1
2
1
1
3
2

: 2 =
5
4
, a
13
=

0 1
1 2

: 2 =
1
2
,
a
15
=

1 0
2 0

= 0, a
16
=

1 0
2 1

: 2 =
1
2
, a
17
=

1
1
2
2
1
2

: 2 =
3
4
a
18
=

1 0
2 1

: 2 =
1
2
a
51
=

0 1
0 2

= 0, a
52
=

2 1
3
2
2

: 2 =
5
4
, a
53
=

1 1
1 2

: 2 =
1
2
,
a
55
=

1 1
2 0

: 2 = 1, a
56
=

1 0
2 1

: 2 =
1
2
, a
57
=

1 0
2
1
2

: 2 =
1
4
a
58
=

1 0
2 1

: 2 =
1
2

1
= 0,
2
= 19/2,
3
= 9,
4
= 0,
5
= 0,

6
= 7,
7
= 17/2 M,
8
= 7 M, max {
i
/
i
> 0, i = 1, 8 } =
6
A
6
intra n baza.
x
1
a
16
= 210,
x
5
a
56
= 1190,
x
4
a
46
= 20, A
5
iese din baza, a
56
=
1
2
(pivotul)
Tabelul 4:
x
2
= x
3
= x
5
= x
7
= x
8
= 0, x
1
= 700, x
4
= 600, x
6
= 1180
a
11
=

1
1
2
0
1
2

2 = 1, a
12
=

5
4

1
2
5
4
1
2

2 =
5
2
, a
13
=

1
2

1
2
1
2
1
2

2 = 1,
a
14
=

0
1
2
0
1
2

= 0, a
15
=

0
1
2
1
1
2

2 = 1, a
17
=

1
2
3
4
1
2

1
4

2 =
1
2
81
a
18
=

1
2
1
2
1
2

1
2

= 0
a
41
=

0
1
2
0
1
2

= 0, a
42
=

5
4
1
2
3
4

1
2

2 = 2, a
43
=

1
2
1
2
1
2

1
2

2 = 1,
a
44
=

0
1
2
1
1
2

2 = 1, a
45
=

1
1
2
0
1
2

2 = 1, a
47
=

1
2

1
4

1
2
1
4

2 = 0
a
48
=

1
2

1
2

1
2
1
2

2 = 0

1
= 0,
2
= 27,
3
= 16,
4
= 0,
5
= 14,

6
= 0,
7
= 5 M,
8
= M
Cum
i
0, i = 1, 8, procesul iteratuv se ntrerupe cu solut ia
x = ( 700, 0, 0, 600, 0, 1180 ), max f = 9400
Exemplul 10.2
Am ment ionat, lanceputul cursului precedent, can cazul n care lantreruperea
programului, o variabila articiala are valoarea nenul a, problema de optimizare este
incompatibila. Ne vom ocupa n cele ce urmeaza de un astfel de caz.
Consideram urmatoarea problema de optimizare:
_

_
max{ f(x) = 2x
1
+ x
2
+ 2x
3
}
5x
1
+ x
2
+ x
3
20
x
1
+ x
2
+ x
3
= 30
x
i
0, i = 1, 3
Adaug am variabila de compensare (abatere) x
4
:
_

_
max{ f(x) = 2x
1
+ x
2
+ 2x
3
}
5x
1
+ x
2
+ x
3
+ x
4
= 20
x
1
+ x
2
+ x
3
= 30
x
i
0, i = 1, 4
82 CAPITOLUL 10. EXEMPLE
Matricea sistemului de restrict ii este
A =
_
_
5 1 1 1
1 1 1 0
_
_
Introducem variabila articiala x
5
_

_
max{ f(x) = 2x
1
+ x
2
+ 2x
3
Mx
5
}
5x
1
+ x
2
+ x
3
+ x
4
= 20
x
1
+ x
2
+ x
3
+ x
5
= 30
x
i
0, i = 1, 5
Matricea restrict iilor devine
A
1
A
2
A
3
A
4
A
5
A =
_
_
5 1 1 1 0
1 1 1 0 1
_
_
Alegand solut ia de start x
1
= 0, x
2
= 0, x
3
= 0, x
4
= 20, x
5
= 30, obt inem tabelul
c
1
= 2 c
2
= 1 c
3
= 2 c
4
= 0 c
5
= M
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
0 20 A
4
5 1 (1) 1 0
M 30 A
5
1 1 1 0 1
f = 30M
i
= c
i
c
B
A
i
2 M 1 + M (2 +M) 0 0
2 20 A
3
5 1 1 1 0
M 10 A
5
6 0 0 1 1
f = 4 10M
i
= c
i
c
B
A
i
8 6M 1 0 2 M 0
Ultima iterat ie a tabelului indica optimalitatea solut iei datorita faptului ca toate
diferent ele
i
sunt negative sau nule. Totusi variabila articiala x
5
, a ramas n
baza cu valoarea x
5
= 10. Deci problema init iala nu admite solutie.
Capitolul 11
Probleme propuse
Problema 11.1
_

_
min{ f(x) = 3x
1
2x
2
+ x
3
}
3x
1
+ x
2
2x
3
= 2
4x
1
+ 3x
2
+ 2x
3
= 1
x
i
0, i = 1, 3
A =
_
_
3 1 2
4 3 2
_
_
_

_
min{ f(x) = 3x
1
2x
2
+ x
3
+ Mx
4
+ Mx
5
}
3x
1
+ x
2
2x
3
+ x
4
= 2
4x
1
+ 3x
2
+ 2x
3
+ x
5
= 1
x
i
0, i = 1, 3
A
1
A
2
A
3
A
4
A
5
A =
_
_
3 1 2 1 0
4 3 2 0 1
_
_
Tabelul 1:

1
= 7M3,
2
= 4M+2,
3
= 1,
4
= 0,
5
= 0, l = 1, A
1
intr a n baza.
min
_
2
3
,
1
4
_
=
1
4
, r = 5, A
5
iese din baza, a
51
= 4 (pivotul)
Tabelul 2:
x
2
= x
3
= x
5
= 0, x
1
=
1
4
, x
4
=
5
4
, f =
5M + 3
4
83
84 CAPITOLUL 11. PROBLEME PROPUSE
a
42
=

3 1
4 3

: 4 =
5
4
, a
43
=

3 2
4 2

: 4 =
7
2
, a
44
=

3 1
4 0

: 4 = 1,
a
45
=

3 0
4 1

: 4 =
3
4
c
1
= 3 c
2
= 2 c
3
= 1 c
4
= M c
5
= M
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
M 2 A
4
3 1 2 1 0
M 1 A
5
(4) 3 2 0 1
f = 3M
i
=c
B
A
i
c
i
7M3 4M+2 1 0 0
M 5/4 A
4
0 5/4 7/2 1 3/4
3 1/4 A
1
1 3/4 1/2 0 1/4
f=(5M+3)/4
i
=c
B
A
i
c
i
0 (5M+17)/4 (7M+1)/2 0 (7M+3)/4

i
0, i = 1, 5. Cum variabila articiala x
4
=
5
4
= 0, problema este incompati-
bila.
Problema 11.2
_

_
max{ f(x) = 3x
1
+ 2x
2
x
3
+ 16x
4
}
3x
1
+ x
2
+ 5x
3
+ 4x
4
8
x
1
+ x
2
+ 2x
3
+ x
4
4
x
i
0, i = 1, 4
_

_
max{ f(x) = 3x
1
+ 2x
2
x
3
+ 16x
4
}
3x
1
+ x
2
+ 5x
3
+ 4x
4
+ x
5
= 8
x
1
+ x
2
+ 2x
3
+ x
4
+ x
6
= 4
x
i
0, i = 1, 6
A
1
A
2
A
3
A
4
A
5
A
6
A =
_
_
3 1 5 4 1 0
1 1 2 1 0 1
_
_
Tabelul 1:

1
= 3,
2
= 2,
3
= 1,
4
= 16,
5
= 0,
6
= 0, l = 4, A
4
intr a n baza..
min
_
8
4
,
4
1
_
= 2, r = 5, A
5
iese din baza, a
54
= 4 (pivotul)
85
c
1
= 3 c
2
= 2 c
3
= 1 c
4
= 16 c
5
= 0 c
6
= 0
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
A
6
0 8 A
5
3 1 5 (4) 1 0
0 4 A
6
1 1 2 1 0 1
f = 0
i
=c
i
c
B
A
i
3 2 1 16 0 0
16 2 A
4
3/4 1/4 5/4 1 1/4 0
0 2 A
6
1/4 3/4 3/4 0 1/4 1
f = 32
i
=c
i
c
B
A
i
9 2 21 0 4 0
Al doilea tabel:
x
1
= x
2
= x
3
= x
5
= 0, x
4
= 2, x
6
= 2
a
61
=

3 4
1 1

: 4 =
1
4
, a
62
=

1 4
1 1

: 4 =
3
4
, a
63
=

5 4
2 1

: 4 =
3
4
,
a
65
=

4 1
1 0

: 4 =
1
4
, a
66
=

4 0
1 1

= 1

i
0, i = 1, 6; deci x
1
= 0, x
2
= 0, x
3
= 0, x
4
= 2, x
5
= 0, x
6
= 2, max f = 32
Problema 11.3
_

_
min{ f(x) = 4x
1
+ 8x
2
+ 3x
3
}
2x
1
+ x
2
+ x
3
4
5x
1
+ 2x
2
+ 7x
3
8
x
i
0, i = 1, 3
_

_
min{ f(x) = 4x
1
+ 8x
2
+ 3x
3
+ Mx
6
+ Mx
7
}
2x
1
+ x
2
+ x
3
x
4
+ x
6
= 4
5x
1
+ 2x
2
+ 7x
3
x
5
+ x
7
= 8
x
i
0, i = 1, 3
A
1
A
2
A
3
A
4
A
5
A
6
A
7
A =
_
_
2 1 1 1 0 1 0
5 2 7 0 1 0 1
_
_
Tabelul 1:

1
= 7M 4,
2
= 3M 8,
3
= 8M 3,
4
= M,
5
= M,
6
= 0

7
= 0, l = 3, A
3
intra n baza
86 CAPITOLUL 11. PROBLEME PROPUSE
min
_
4
1
,
8
7
_
=
8
7
, r = 7, A
7
iese din baza, a
73
= 7 (pivotul)
c
1
= 4 c
2
= 8 c
3
= 3 c
4
= 0 c
5
= 0 c
6
= M c
7
= M
c
B
x
B
B A
1
A
2
A
3
A
4
A
5
A
6
A
7
M 4 A
6
2 1 1 1 0 1 0
M 8 A
7
5 2 (7) 0 1 0 1
f = 12M
i
=c
B
A
i
c
i
7M4 3M8 8M3 M M 0 0
M 20/7 A
6
9/7 5/7 0 1 1/7 1 1/7
3 8/7 A
3
(5/7) 2/7 1 0 1/7 0 1/7
f=(20M+24)/7
i
=c
B
A
i
c
i
(9M13)/7 (5M50)/7 0 M (M3)/7 0 (8M+3)/7
M 4/5 A
6
0 1/5 9/5 1 (2/5) 1 2/5
4 8/5 A
1
1 2/5 7/5 0 1/5 0 1/5
f=(4M+32)/5
i
=c
B
A
i
c
i
0 (M32)/5 (9M+13)/5 M (2M4)/5 0 (7M+4)/5
0 2 A
5
0 1/2 9/2 5/2 1 5/2 1
4 2 A
1
1 1/2 1/2 1/2 0 1/2 0
f = 8
i
=c
B
A
i
c
i
0 6 1 2 0 2 M M

i
0, i = 1, 7; deci x
1
= 2, x
2
= x
3
= x
4
= 0, x
5
= 2, x
6
= x
7
= 0, max f = 8
Problema 11.4
_

_
max{ f(x) = 10x
1
+ 15x
2
}
2x
1
+ 4x
2
40
6x
1
+ 2x
2
60
x
i
0, i = 1, 2
Problema 11.5
_

_
max{ f(x) = 4x
1
+ x
2
+ 6x
3
}
2x
1
+ 3x
2
+ x
3
7
3x
1
+ x
2
+ x
3
11
x
i
0, i = 1, 3
Problema 11.6
_

_
min{ f(x) = x
1
+ 3x
2
4x
3
2x
4
9x
5
}
x
1
+ x
3
x
4
x
5
= 3
x
1
+ x
2
2x
3
3x
5
= 1
x
i
0, i = 1, 5
87
Problema 11.7
_

_
min{ f(x) = 9x
1
+ 3x
2
+ 2x
3
}
4x
1
+ x
2
+ 5x
3
= 7
3x
1
+ x
2
+ 4x
3
5
x
i
0, i = 1, 3
Problema 11.8
_

_
max{ f(x) = x
1
+ 2x
2
+ 3x
3
x
4
}
x
1
+ 2x
2
+ 3x
3
= 15
2x
1
+ x
2
+ 5x
3
= 20
x
1
+ 2x
2
+ x
3
+ x
4
= 10
x
i
0, i = 1, 4
Problema 11.9
_

_
max{ f(x) = x
1
+ 3x
2
+ 6x
3
}
5x
1
+ 2x
2
+ 3x
3
= 11
3x
1
+ x
2
+ 2x
3
8
x
i
0, i = 1, 3
Problema 11.10
_

_
min{ f(x) = 6x
1
+ x
2
}
x
1
+ 2x
2
3
3x
1
+ x
2
4
x
i
0, i = 1, 2
Problema 11.11
_

_
min / max{ f(x) = 9x
4
14x
5
8x
6
}
x
1
+ x
4
x
5
x
6
= 2
x
2
5x
4
+ 4x
5
+ 7x
6
= 2
x
3
+ 2x
4
+ x
5
x
6
= 5
x
i
0, i = 1, 6
88 CAPITOLUL 11. PROBLEME PROPUSE
Problema 11.12
_

_
max{ f(x) = x
1
+ 2x
2
+ 2x
3
+ x
4
}
x
1
x
3
+
1
2
x
4
= 1
x
2
+ x
3
x
4
= 1
x
i
0, i = 1, 4
Problema 11.13
_

_
min{ f(x) = x
2
2x
3
+ 2x
5
}
x
1
+ 3x
2
x
3
+ 2x
5
= 7
2x
2
+ 4x
3
+ x
4
= 12
4x
2
+ 3x
3
+ 8x
5
+ x
6
= 10
x
i
0, i = 1, 6

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