Sunteți pe pagina 1din 20

Universitatea Dun rea de Jos din

Gala i
Facultatea de tiin e i Mediu
ALGORITMUL
SIMPLEX
Prof.coordonator :
Bocaneala Corina
Realizatori:
Grigorescu Maria
Chiritoiu Tiberiu
Programare liniar
Programarea liniar este o metod matematic de optimizare cu aplicaii
n diverse domenii ca: industrie, agricultur, probleme de transport si repartiie,
investiii,reclame, finane.
Scopul principal const n determinarea alocrii optime a unor resurse,
de care se dispune n cantiti limitate, pentru a se obine valoarea optim a
unui anumit obiectiv, de exemplu minimizarea costurilor de producie sau
maximizarea profitului.
n domeniul economic, asemenea probleme de programare liniar sunt
foarte naturale. Astfel, firmele ncearc s maximizeze profiturile sau s
minimizeze costurile. Experii n planificare macroeconomic se preocup de
maximizarea bunstrii unei comuniti economico-sociale. Consumatorii doresc
s cheltuiasc venitul lor ntr-un mod care s le maximizeze satisfacia (de
natur material dar i spiritual etc.)
Aceste probleme constau n maximizarea sau minimizarea unei funcii
liniare, numit funcie obiectiv, ale crei variabile trebuie s satisfac:
un sistem de relaii date sub forma unor ecuaii i / sau inecuaii liniare
nestricte, denumite generic restricii;
cerina de a lua numai valori numerice nenegative (0).
Exemple de probleme de programare liniar
Utilizarea optim a resurselor
Unmanagerdeagenteconomictrebuiesrezolvedestuldedesurmtoarea
problem:
Resurselepecareleareladispoziie(materieprim,for de munc, maini-
unelte,resursefinanciare etc.) sunt n cantiti limitate. Fie inumrul de ordine al
resurseiifie b
i
cantitateadisponibildinresursa i. Cu ajutorul acestor resurse se
pot desfura mai multe activiti (de exemplu: procese de producie).
Fie jnumruldeordinealactivitiidesfurateifie x
j
nivelul(necunoscut)
lacaretrebuiessedesfoareaceastactivitate.Deexemplu,pentruprocesulde
producie j, careconstnfabricareaunuianumitprodus,senoteazcu x
j
cantitateacevafiprodus.Fie a
ij
cantitateadinresursa i necesarproducerii
uneiunitidinprodusul j. Sepresupunec a
ij
nudepindedectdetipulresursei (i)
idetipulprodusuluirealizat (j) inudecantitileproduse,ceeaceconstituie evident
o simplificare a situaiei reale.
Cu aceste notaii se pot determina mrimile urmtoare:
cantitateadinresursa
ifolositpentruproducereacantitiix
j
,careestea
ij
x
j
;
cantitateatotaldinresursa i folositpentruproduciatotalformatdin
n produse:a
i1
x
1
+a
i2
x
2
+...+a
in
x
n
Deoarece nu se poate consuma din resursa i mai mult dect cantitatea de care
se dispune, trebuie sfie respectate condiiile:
a
i1
x
1
+a
i2
x
2
+...+a
in
x
n
b
i
, () 1 i m,
sau (1)
x
j
reprezentndcantitateacetrebuieprodusdinsortimentul j,
eanupoatefi unnumr negativ: x
j
0, j{1, 2,..., m}.
(2)
Inecuaiile (1) se numesc restriciile problemei, iar (2), condiiile de
nenegativitate.
Sistemuldeinecuaiiliniare(1)i(2) poate avea o infinitate de soluii, o
soluie sau nici una. Pentru problemele corect puse, cel mai frecvent este cazul
cu o infinitate de soluii.
Adoptareauneivariantede plan (luarea unei decizii) se face pe baza unui
criteriu economic, ca de exemplu venitul sau profitul s fie maxim.
Dacsenoteazcu c
j
preul de vnzare al unei uniti din produsul j i cu d
j
costulunitarpentruacelaiprodus(sepresupune,pentrusimplificareaproblemei,
cattpreuldevnzarecticostulnudepinddecantitateaprodus,ceea ce nuprea
este n concordan cu realitatea), atunci venitul total va fi iar
cheltuielile de producie i deci profitul va fi:
(3)
Problemacar esepuneacum
estedeadeterminaaceavariantdeplan,adic
aceasoluieasistemuluideinegaliti(1),(2)care d pentruprofitul(3)
valoareamaxim.n acest moment, din acea problem economic s-a obinut
urmtoarea problem matematic:
Aceasta este oproblemde programare
liniar, sauprogram liniar.
Problema de transport
Seconsidercexist mcentredeaprovizionare(depozite) i n centre de
consum (punctedelucru,uzine,magazineetc.).Sepuneproblemassedetermine
unplandetransportpentruunprodusomogencareseaflncantitatea a
i
la
depozitul (1 i m)iestecerutncantitatea b
j
lacentrul j (1 j n).Se noteazcu
x
ij
cantitateanecunoscutcevafitransportatdeladepozitul i la
centruldeconsum j icu c
ij
costultransportuluiuneiunitidin produsul
consideratdeladepozitul i lacentrul j (pentrusimplificaresepresupunecacest cost
unitar nu depinde de cantitatea transportat pe ruta respectiv).
Se pot exprima atunci urmtoarele mrimi:
cantitatea cerut de la depozitul i la toate cele n centre de
consum
ai= xi1 + xi2 + ... + xin = cantitatea aflat la depozitul i,
(4)
cantitatea transportat de la toate cele m depozite la centrul de
consum j
bj= x + x + ...+ x = necesarul la centrul de consum j,
(5)
costul transportului de la depozitul i la centrul de consumj
estec
ij
x
ij
.
O condiie evident este:
xij 0, 1 i m, 1 j n .
Costul total al transportului de la toate cele m depozite la toate cele n
centre de consum este
Pentru a putea efectua transportul este necesar
caegalitate numit i condiia de balansare saude
echilibru.
Sistemuldeecuaii(4),(5)areoinfinitatedesoluii.Dintreacestea trebuie
alesecelecaredaucostuluitotaldetransportvaloareaminim.Se obine astfel
un programliniar:
care se numete program de transport.
Alocarea optim a fondurilor financiare
Avnd la dispoziie o sum total S care poate fi investit n diverse
activiti j, 1 j n, fiecare producnd un anumit profit unitar aj , 1 j n, se
pune problema determinrii sumei xj , 1 j n, investit pentru activitatea j,
astfel nct s se obin un profit maxim, adic:
Problemamaipoateficomplicatdndanumiteregulisuplimentare n
legtur cuposibilitateadeinvestiie,cuexistenaunuiriscal investiiilor i
neliniaritatea profitului total.
Gestionarea optim a unui depozit
Sconsiderm
problemafuncionriiunuidepozitcarecumprivindeun
anumitproduscuscopulmaximizriiprofituluipeo anumit durat de timp.
Depozitulareoanumitcapacitatefix Siuncostunitardestocare h. Preul
produsuluifluctueazde-a lungul perioadei de analiz, dar pe durata unei
uniti de
timppreuldeachiziieipreuldevnzaresuntaceleai.Depozitulesteiniialgol
i trebuie s rmn gol la sfritul perioadei de analiz.
Modelarea problemei.
Fie:
xistocul din depozit la nceputul perioadei i,
dicantitatea achiziionat n perioada i,
bicantitatea vndut n perioada i i
pi preul pe perioada i.
Dac sunt n intervale de timp avem:
Se obine astfel o problem de programare liniar.
Problema dietei
Sepresupunecexist n alimentediferite,cupreulunitar c
i
pentru
alimentul i, dincaretrebuiessepregteacodiet. Dietatrebuiesconin zilnic
m ingredientenutritiveidinfiecareingredient j,minimum b
j
uniti.Se
presupunecounitatedinalimentul iconine a
ji
unitidiningredientul j.S
sedetermineceamaieconomicdietcaresatisfaceminimulnutriionalcerut.
Modelarea problemei
Senoteaz x
i
cu numruldeunitidinalimentul i coninutndiet.Trebuie
minimizat costul total al dietei
min{c
1
x
1
+ c
2
x
2
+...+ c
n
x
n
}
supus la restriciile urmtoare date de coninutul n ingrediente nutriionale
Problemacarearezultatestetotoproblemdeprogramareliniar.Acelai
tip de problem poate aprea n realizarea amestecurilor de tip mortar,
beton etc.
Metode de rezolvare a problemelor de programare liniara
Exista mai multe metode de aflare a solutiei optime,printre care:
metoda grafica, ce se poate aplica doar pentru cazul ncare modelul
are doar doua variabile x1 six2.
algoritmul simplex, aplicabil la orice numar finit de variabile, elaborat
si aplicat de George B Dantzig n 1947.
Metoda grafic
Metoda grafic de aflare a soluiei optime se utilizeaznumai la probleme
cu douvariabile x
1
si x
2
(sau x si y).
Este importanta deoarece se definesc (si vizualizeaza)tipurile de soluii:
soluii admisibile (SA), solutii admisibile debaza (SAB), solutia optima (SO),
daca exista.
Se precizeazi cazurile n care: soluia optimesteunic, exist mai
multe soluii optime, nu exista soluie optimori nu exist un optim finit.
Se ndeplinesc mai
nti condiiile de
nenegativitate
x = x
1
> 0 si y= x
2
>0 .
Fie planul ( x
1
ox
2
) sau (
xoy)
Condiia x
1
>0 se
compune din
Condiia x
2
>0 se compune din
Cum ambele x
1
>0 ,x
2
>0 trebuie s fie satisfacute simultan, intersectm
semiplanele. Rezult c solutia optim, dac exist, se afl n cadranul I.
Cele de mai sus pot fi aplicate pentru orice restricie adico inecuaie de
tipul mx
1
+ nx
2
b
Algoritmul simplex
Algoritmul simplex (primal) a fost elaborat i aplicat de G. B. Dantzig n
1947 ca metod de rezolvare a unor probleme de optimizare.
Metoda simplex cerceteaz valorile funciei obiectiv n mulimea soluiilor
admisibile de bazi permite trecerea de la o soluie la o alta mai bun fr a fi
necesar cercetarea tuturor soluiilor admisibile de bazi este un proces
iterativ.
Etapele algoritmului simplex se pot stabili att pentruprobleme de maxim
ct i pentru probleme de minim, dei se poate nlocui aflarea lui max f cu
aflarea lui min(-f) deoarece:
maxf = min ( f )
i
minf = max ( f ) .
La probleme de maxim, dac x
0
si x sunt dousoluii admisibile de baz,
soluia x este mai bun dect x
0
dac f( x)f(x
0
)adic valoarea funciei obiectiv
crete.Pe lng faptul c prin algoritmul simplex se determin att soluia
optim ct si valoarea optim a funciei obiectiv, rezulti cazurile n care nu
exist soluie optim sau valoarea optim a funciei obiectiv nu este finit.
ETAPELE ALGORITMULUI SIMPLEX PENTRU PROBLEME DE MAXIM
Dup aducerea la forma standard a problemei de programare liniar,
seaplic algoritmul simplex cu urmtoarele etape:
Etapa I.Se determin o soluie admisibil de baz de pornire. Apar dou situaii:
o Matricea A a coeficienilor variabilelor din restricii conine toate
coloanele matricei unitate de ordinul m, I
m
n acest caz, soluiile admisibile de baz se afl din restricii prin
anulareavariabilelor nebazice (secundare).
o Matricea A nu conine toate coloanele matricei Im.
n acest caz se foloseste metoda bazei artificiale.
Etapa II.Se alctuiete primul tabel simplex. Capul de tabel este:
o Pe coloana 1 (baza) se scriu vectorii bazei canonice, n ordinea
apariiei lor n baza deci:primul este vectorul care are
componentele (1 0 0 0)
T
, al doilea este cel de componentele (0
1 0 0)
T
, ... iar ultimul de pe coloana 1, are componentele (0 0 0
1)
T
.
o Pe coloana a doua, C
B
, se scriu coeficienii dinfuncia obiectiv, c
i
,
care corespund variabilelor bazice x
i
de pe prima coloan
o Pe coloana a 3-a, P
0
se scriu componentele soluieide pornire X
0
.
Pe prima linie din tabel se scriu coeficienii c
1
, c
2
, ... c
n
din funcia
obiectiv a tuturor variabilelor.
o Pe coloanele P
1
, P
2
, ..., P
n
se scriu respective coloanele matricei A
a coeficienilor variabilelor din restricii.
o Pe ultima linie din primul tabel simplex secalculeaz diferenele
z
k
c
k
din relaia:
Practic se procedeaz astfel: se nmulesc elementele coloanei C
B
, pe
rnd cu elementele coloanelor P
1
, ..., P
n
sumnd rezultatele i apoi se
scade coeficientul c
k
din funcia obiectiv ce se afl deasupra coloanei P
k
,
k=1,n .
De exemplu, etc.
Etapa III.Se aplic criteriul de optimalitate:
a) Toate diferenele z
k
c
k
0, soluia este optim si STOP.
b) Exist si diferene z
k
c
k
< 0, soluia de pe coloana P
0
nu este optim si
trecem la
Etapa IV.Se va efectua o schimbare de baz.
Criteriul de intraren baz pentru probleme
de maxim esteadic intrin baz vectorul P
h
cruia i corespunde cea mai
micvaloare negativ pentru z
k
c
k
.
Acest vector P
h
intr n baza n locul unuia dintre vectorii P
i
aflai pe
coloana 1 (baza), deci unul dintre aceti vectori va iei din baz si trecem
la etapa urmtoare:
Etapa V.Aplicarea criteriul de ieire din baz
Apar dou situaii:
a) Vectorul P
h
, care a intrat n baz are toate componentele(de pe
coloana sa) nepozitive, adica
ih
. n acest caz problema de programare
liniarnu are soluie STOP.
b) Vectorul P
h
care a intrat n baz are si componente strict pozitive. n
acest caz, aplicm criteriul de ieire din baz:
Iese din baz vectorul Pj pentru care avem:
adic se alege valoarea minim a raportului dintre componentele soluiei
(aflate pe coloana P
0
) si componentele strict pozitive ale vectorului P
h
care a intrat n baz.
Elementul aflat la intersecia coloanei P
h
cu linia vectorului P
j
care a ieit
din baza, se numete pivot.
Etapa VI.Dup aplicarea etapelorIV si V se va obine un nou tabel simplex..
Dup introducerea pe coloan baza a vectorului P
h
n locul lui P
j
, ceea
ce nseamn c vectorul P
h
va deveni un vector din baza canonic, se
nlocuiete pe coloana C
B
coeficientul C
h
din funcia obiectiv.
Apoi se procedeaz astfel:
Regula 1 Se obine mai nti linia vectorului P
h
, care a intrat n baz, prin
mparirea la pivot a liniei care a corespuns lui P
j
. Astfel n noul tabel
simplex va apare cifra 1 n locul pivotului.
Celelalte componente ale vectorului P
h
trebuie s fie zero, deoarece
acesta are drept componente una din coloanele matricei unitate.
Pentru a obine celelalte linii din al doilea tabel, se aplic regula 2:
Regula 2 Linia obtinua prin regula 1 se nmulete convenabil iar rezultatul se
adun pe rnd, la toate liniile din tabelul precedend astfel c pe
toatcoloana pivotului se obtine cifra zero. Pe coloana lui P
0
se va obine,
n al doilea tabel, o nou soluie admisibil de baz, avnd componentele
nenegative. Dupa calcularea liniei z
k
c
k
n al doilea tabel se repeat
etapele, ncepnd cu etapa 3.
Dupa un numr finit de iteraii se va determina soluia optim, dac
exist; se specifici faptul c nu exist soluieoptim ori pot exista mai
multe soluii optime.
Valoarea funciei obiectiv se calculeaz din C
B
P
0
i odat cu fiecare
nou soluie gasit ea crete.
Reamintim c presupunem c problema este la forma standard de maxim i c
dispunem de o soluie de baz admisibil.
Pasul 1.Se construiete tabelul simplex corespunztor bazei de care dispunem
n ordinea urmtoare:
1. pe linia a doua se trec toate variabilele ntr-o ordine oarecare;
2. pe prima linie se trec coeficienii funciei obiectiv, fiecare deasupra
variabilei corespunztoare;
3. se construiete matricea A, fiecare coloan fiind format din
coeficienii unei variabile din toate ecuaiile (ordinea n care se
parcurg ecuaiile trebuie s fie aceeai pentru toate variabilele),
avnd grij ca, coloanele s fie trecute n ordinea n care au fost
trecute variabilele pe linia 2;
4. se construiete baza B, ordinea coloanelor fiind cea n care apar
ele n matricea A;
5. se calculeaz B
-1
;
6. se calculeaz B
-1
A i se trece n partea central a tabelului;
7. se trec variabilele principale n a doua coloan, n aa fel nct, la
intersecia liniei i coloanei corespunztoare acestei variabile, s
se afle valoarea 1.
8. se trec n prima coloan coeficienii corespunztori variabilelor
principale din funcia obiectiv, fiecare n dreptul variabilei
corespunztoare;
9. se calculeaz soluia de baz cu formula B
-1
b, avnd grij ca
ordinea n care au fost trecui termenii liberi n vectorul b s fie
aceeai cu ordinea n care au fost parcurse ecuaiile la formarea
matricii A;
10. se trec n a treia coloan valorile variabilelor principale din soluia
de baz, fiecare n dreptul variabilei corespunztoare;
11. se calculeaz f(x
B
) nmulind dou cte dou componentele
coloanei 1 cu cele din coloana 3 aflate pe aceeai linie i adunnd
toate produsele ntre ele (adic facem produsul scalar dintre c
B
i
x
B
);
12. se calculeaz pe rnd fiecare z
j
j = 1,...,n un z
j
obinndu-se
nmulind scalar c
B
cu coloana j din B
-1
A aflat n centrul tabelului
(aceast linie se calculeaz i se trece doar n primul tabel, scopul
ei fiind calcularea lui );
13. se calculeaz pe rnd fiecare
j
j = 1,...,n scznd din linia lui z
linia lui c (
j
= z
j
- c
j
)
Pasul 2.Se analizeaz valorile
j
corespunztoare variabilelor secundare (e
uor de vzut c ntotdeauna, cei corespunztori variabilelor principale
sunt toi 0, deci neinteresani).
dac toi sunt mai mari sau egali cu 0 atunci soluia actual este
cea optim. Dac exist
j
= 0 n afara bazei, atunci pot aprea
dou cazuri:
1)toate elementele din coloana a
j
din B
-1
A sunt mai mici sau
egale cu 0. Atunci toate soluiile de forma x
B
- a
j
sunt
soluii optime, unde > 0 oarecare;
2) exist o component a
ij
a coloanei a
j
strict pozitiv. Atunci
introducnd variabila x
j
n baz n locul variabilei principal
x
i
obinem alt soluie de baz optim.
- dac apar numai cazuri de tipul 2), obinem toate soluiile de baz
optime, mulimea tuturor soluiilor optime fiind format din toate
combinaiile convexe ale acestora. Dac apare i cazul 1) atunci
mulimea soluiilor optime este nemrginit fiind format din
combinaiile convexe ale soluiilor de forma x
B
- a
j
unde x
B
sunt
toate soluiile optime de baz.
dac exist
j
< 0 atunci l alegem pe cel mai negativ:
k
= .
Variabila xj0nj1mjmin<+
j
va fi cea care intr n noua baz.
Dac minimul este multiplu atunci alegem, la ntmplare, unul
dintre acetia (cei minimi).
Pasul 3.Se analizeaz elementele coloanei a
j
din B
-1
A, corespunztoare
variabilei alese la pasul 2.
Dac toate sunt mai mici sau egale cu 0 atunci problema are
optim infinit i algoritmul ia sfrit;
Dac exist componente strict pozitive, pentru acestea se
calculeaz rapoartele
s
= sjsax. Variabila x
i
corespunztoare
raportului minim este cea care va iei din baz. Dac acest
minim este multiplu sunt posibile dou cazuri:
minimul este strict pozitiv. n acest caz se alege unul dintre
acetia la ntmplare;
minimul este 0. Atunci x
i
corespunztori sunt 0, deci soluia
este degenerat i noua soluie este la fel de bun.
Aceast situaie poate duce la ciclarea algoritmului i
alegerea la ntmplare nu mai este suficient, fiind
nevoie de o regul de alegere suplimentar care s evite
ciclarea. O metod de alegere se bazeaz pe faptul c,
aa cum vom vedea, ntotdeauna prima baz este
matricea unitate i n dreptul ei, n toate tabelele simplex,
se va afla inversa bazei corespunztor fiecruia. n acest
caz, pentru poziiile n care s-a obinut minimul mprim
prima coloan a lui B
-1
la coloana a
j
i alegem minimul
dintre aceste rapoarte. Dac minimul dintre acetia este
tot multiplu continum procedeul, pentru poziiile ce dau
noul minim, cu coloana a doua din B
-1
i aa mai departe,
pn minimul rmne unic. Nu este posibil s se
epuizeze toate coloanele lui B
-1
i minimul s rmn
multiplu, deoarece, n acest caz, am avea:
jijijiji2k21k1abab=jijijiji21k2k1aabb= , pentru toi indicii j
k
ai coloanelor lui B
-1
, i
1
i i
2
fiind doi din indicii care dau
acelai minim pn la sfrit sau altfel scris pentru orice
j
k
liniile i
1
i i
2
din B
-1
sunt proporionale, fapt ce
contrazice faptul c B
-1
este inversabil.
Pasul 4.Se calculeaz componentele tabelului simplex corespunztor noii baze
pe baza tabelului actual i folosind urmtoarele reguli:
1. se ncadreaz elementul a
ij
, aflat la intersecia coloanei variabilei
care intr n baz
cu linia variabilei care iese din baz, care a fost numit de Danzig
pivot, ntr-un dreptunghi
2. coloana pivotului va avea 1 n dreptul pivotului i 0 n rest
(inclusiv
j
);
3. linia pivotului este linia actual mprit la pivot (inclusiv n
soluia de baz);
4. restul elementelor se calculeaz cu regula dreptunghiului (inclusiv
soluia de baz, i f(x
B
)). Regula dreptunghiului se bazeaz pe
observaia c n toate formulele prin care se calculeaz acestea
nu apare dect valoarea lor actual, pivotul i cele dou
elemente care ar completa dreptunghiul ce are poziia de
calculat i pivotul pe diagonal. Regula dreptunghiului se enun
literar astfel: "noua valoare = produsul dintre elementele de pe
diagonala pivotului minus produsul dintre cele aflate pe cealalt
diagonal totul mprit la pivot". (pentru scurtarea timpului de
lucru se poate observa c elementele unei linii care are 0 pe
coloana pivotului rmn aceleai i de asemenea elementele
unei coloane care are 0 pe linia pivotului)
Operaia de calculare a noului tabel prin regulile de mai sus poart
denumirea de pivotare.
Pasul 5.Se reia algoritmul de la pasul 2.
Se consider problema de programare (2) i un program de baz nedegenerat
X

. Dup unele renumerotri i rearanjri putem considera


( )
X x x x
m
T

1 2
0 0 0 , ,..., , , ,..., ; deci variabilele
x x x
m 1 2
, ,...,
sunt principale iar
x x
m n +1
,...,
secundare, iar vectorii coloan a a a
m 1 2
, ,..., formeaz baza B a
programului de baz
X

. Fie { }
N a a a
m m n

+ + 1 2
, ,..., .
Mai notnd:
X
x
x
X
x
x
C
c
c
C
c
c
p
m
s
m
n
p
m
s
m
n

_
,

_
,

_
,

_
,

+ + 1 1 1 1
; ; ; problema (2) poate fi scris:
( )
( )
7
0
min f X C X C X
B X N X L
X
p
T
p s
T
s
p s
+
+

'

nmulind
BX NX L
p s
+
la stnga cu
B
1
obinem:
( ) 8
1 1
E X B N X B L
p s
+

care reprezint transcrierea sistemului de restricii n baza B, cci dac scriem
a z a j n
j
ij
i
i
m

1
1 ,
(exprimarea vectorilor coloan n funcie de vectorii bazei
B) vom avea:
z
ij ij
pentru 1 i, j m si z pentru m+1 j n.
ij
0
Corespunztor programului
X

problema (2) devine:


( )
( )
9
1
1
f X c x
x z x x
i i
i
m
i ij j i
j m
n

'

Deci x
i

sunt componentele vectorului L n baza B.


( )
L B X B L X z B N
ij
i m
m j n


+
1
1
1
1
iar
Deci relaia (8) devine:
( ) 10
1
X B NX X
p s
+

de unde
( ) 11
1
X X B NX
p s


i atunci
:
( )
( ) ( )
f X C X C X C X B NX C X C X C C B N X
p
T
p s
T
s p
T
s s
T
s p
T
s
T
p
T
s
+ + +
1 1
sau explicit:
( ) ( ) 12
1 1 1
f X c x c c z x
i i
i
m
j j ij
i
m
j m
n
j
+

_
,

Notnd: c x Z c z Z m j n
i i
i
m
i ij
i
m
j



+
1 1
1 si , atunci:
( ) ( ) ( )
13
1
f X Z c Z x
j j j
j m
n
+
+

Observm c ( )
Z f X C B L
p
T



si Z
1
.
Acum putem asocia problemei PL- min urmtorul tabel:
C B
p

c
1
c
2
c
n
X

a
1
a
2
a
n
vecto
rii
bazei
z z z
z z z
n
m m mm
11 12 1
1 2
...
...

component
ele nenule
ale lui
X

C Z
j j

..........................
...............
( )
f X

Teorema I. Dac
X

este un program de baz nedegenerat pentru PL -


min i n tabelul asociat (S) avem
( ) c Z m j n
j j
+ 0 1
atunci
X

este
program optim.
Demonstraie: Din (13) avem:
( )
( ) ( )

( ) f X f X c Z x f X
j j
j m
n
j
+



0
1
0
pentru orice program admisibil X. Deci
X

este
optim.
Teorema II. Dac
X

este un program de baz nedegenerat i n tabelul


simplex asociat (S) exist un t,
m t n + 1 ,
astfel nct
( ) c Z i m
t t
< 0 0 1 si z
it
, atunci PL - min nu are optim finit.
Demonstraie: Fie:
( )
X x x xn
T

1
2 , ,..., unde:
x R
x x z i m
x m j n j t
t
i
i it
j


+
+

,
;
; ,

1
0 1
Astfel avem
( ) x j n
j
0 1 .
Pentru 1 i m avem:
( ) a x a x a x a x z a a x a z a
ij j
j
n
ij j
j
m
ij j
j m
n
ij j jt
j
m
it ij j
j
m
ij jt it
j
m
+

+ + +
1 1 1 1 1 1



(folosind (9)) +

_
,
+
+

a x z x a z a
ij j jh h
h m
n
j
m
ij jt
j
m
it
1 1 1

(S)
+

_
,
+ +
+ +

_
,

+
+ +
+ +
+ +
+



a x a z x a a a x a z x
a x a z x a x x a z a x
x a a x x
ij j
j
m
ij
j
m
jh h
h m
n
it it ij j
j
m
ij jh h
h m
n
j
m
ij j
j
m
ij jh h
j
m
h m
n
ij j
j
m
h ij jh
j
m
h m
n
ij j
j
m
h ih
h m
n
ij j
j
m
1 1 1 1 1 1
1 1 1 1 1 1 1
1 1

(renotm pe h cu j)
j ij
j m
n
ij j
j
n
i
a a x b
+


1 1
Deci
X
este
soluie admisibil. Avem:
( ) ( ) ( ) f X c x c Z x c x c Z
j j
j
m
j j
j m
n
j
j j
j
m
t t
+ +
+


1 1 1

din definirea lui
X
.
Deoarece
> < 0 0 si c
t
Z
t
atunci ( )
f X


, adic funcia
obiectiv nu are optim finit.
Teorema III. Dac
X

este un program de baz nedegenerat pentru PL -


min, iar n tabelul simplex asociat (S) exist un t,
m t n c Z
t t
+ < 1 0 cu
i cel
puin un indice i,
1 i m
, astfel nct
z
it
> 0
, atunci alegnd
s s m , 1
, dup
criteriul:
( ) 14 1 0
x
z
x
z
i m z
s
st
i
it
it

>

'

min / ,
se poate substitui n baza B vectorul
a
s
cu vectorul
a
t
, obinnd o baz B' ,
corespunztoare unui program de baz X' care amelioreaz valoarea funciei
obiectiv.
Demonstraie. Deoarece
z
st
0,
folosind lema substituiei rezult c
nlocuind a
s
n B cu a
t
sistemul de vectori nou obinut B' , este o baz. Soluia de
baz corespunztoare lui B' este dat tot de lema substituiei:
( ) 15
1
0
0
0 1
x x
x
z
z i m i s
x
x
x
z
x m j n j t
i i
s
st
it
s
t
s
st
j
'
'
'
'
, ,
, ,

>
+

'

cu toate componentele nenegative (pentru


1 i m i s ,
dac
z
it
0
atunci
( ) x x
x
z
z
i i
s
st
it
'
+


, deci o sum de numere nenegative; iar dac
z
it
> 0
avem
x z
x
z
x
z
i it
i
it
s
st
'

_
,


i innd seama de (14) nseamn c x
i
'
este produs de dou
numere nenegative).
Deci
( )
X x x x
n
T
' , ,...,
' ' '

1 2
este o soluie de baz. Valoarea funciei obiectiv pentru
X' este:
( )
( ) ( ) ( ) ( ) ( ) f X f X c Z x f X c Z x f X
j j
j m
n
j t t t
' .
' '
+ + <
+


1
Acum putem prezenta algoritmul simplex pentru o problem PL - min n
form standard.
-Pasul 1
0
: Se gsete un program de baz nedegenerat
X

cu baza B; se
construiete tabelul simplex (S).
-Pasul
2

: Se verific dac diferenele


c Z
j j
0
pentru orice
j j n ,1
. Dac
DA se trece la pasul 5; dac NU, dintre toate diferenele
c Z
j j

, negative, se
alege cea mai mic. Indicele j corespunztor s-l notm cu t. (Dac exist mai
muli t se alege primul de la stnga la dreapta). Vectorul
a
t
va intra n baz. Se
cerceteaz dac
z
it
0
pentru 1 i m. Dac DA, se trece la pasul 4, dac NU,
se trece la pasul 3.
-Pasul
3

: Se alege s, astfel nct


x
z
x
z
i m z
s
st
i
it
it

>

'

min / , 1 0
.
Vectorul
a
s
va iei din baz. Elementul
z
st
devine pivot. Se construiete un nou
tabel simplex folosind regula dreptunghiului:
a) se mparte linia pivotului la pivot.
b) n coloana pivotului, elementele
z cu j t
sj

se nlocuiesc cu 0
c) elementele
z i s j t
ij
, , cu
se nlocuiesc cu
z z
z z
z
ij ij
it sj
st
'

.
Se obine un alt program de baz X' cu baza B' i o nou valoare a funciei
obiectiv.
Se revine la pasul
2

cu B B ' i X X

'
-Pasul 4
0
.Concluzie: PL - min nu are optim finit I algoritmul se oprete.
-Pasul
5

.Concluzie: PL - min are optim


X

iar valoarea minim


( ) f X

". STOP.
Exemplul I. Fie problema:
min
, , ... ,
f x x x x x
x x x x x
x x x x x
x j
j
+ + + +
+ + + +
+ + + +

'


5 7 9 2
3 2 5 3 7
2 3 4
0 1 2 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
Alegem ( ) X
T

1 2 0 0 0 , , , , . Avem:
{ } a a a a a B a a
1 2 3 4 5 1 2
3
2
2
1
1
1
5
3
3
1

_
,

_
,

_
,

_
,

_
,
; ; ; ; ,
Coordonatele vectorilor a a
1 2
si n baza B sunt
1
0

_
,
, respectiv
0
1

_
,
. Pentru a
afla coordonatele lui a
3
se procedeaz astfel: punem
a a a R
3
1
1
2
2
1 2
+ , , , deci:



1 2
1 2
1 2
3
2
2
1
1
1
3 2 1
2 1

_
,
+

_
,

_
,

+
+

'

ceea ce ne d

1 2
1 1 ,
. Deci n baza B,
a
B
3
1
1

_
,
. Analog se gsesc:
a a
B B
4 5
1
1
1
3

_
,

_
,
,
Aadar tabelul simplex corespunztor bazei B are forma:
5 7 9 2
1
a a a a a
1 2 3 4 5
5
7
a
a
1
2
1 0 1 1
-1
0 1 -1 1
1
2
c Z
j j
0 0 11 -10
-15
19
Deci a
5
intr n baz,
a
2
iese din baz, z
25
- pivot. Se execut pivotajul i
obinem:
5
1
a
a
1
5
1 1/3 2/3
0
5 3
2 3
/
/
3
4/
3
( ) X f X '
/
/
'

_
,

5 3
0
0
0
2 3
9
0 1/3 -1/3 1/3
1
c Z
j j
0 5 6 -5
0
9
Intr n baza
a
4
i iese
a
1
.
2
1
a
a
4
5
3 4 1 4 1 2 1 0
1 4 1 4 1 2 0 1
/ / /
/ / /
5 4
1 4
/
/
c Z
j j
15/4 25/4 17/2
0 0
11 4 /
i am obinut
( ) c Z j
j j
0 1 5.
Deci programul optim este
( ) 0,0,0,5 4 1 4 / , / min
T
f cu =
11
4
.
Algoritmul se aplic i problemelor PL - max n forma standard cu
observaia c ( ) max min f f . De asemenea algoritmul se aplic i n cazul n
care funcia obiectiv are forma
f c x R
j j
j
n
+

1
,
, deoarece punctele de extrem
ale acesteia sunt aceleai cu punctele de extrem ale funciei:
g c x
j j
j
n

1
.
Bibliografie
Ion Miric, Matematic aplicat n economie,
Ed.Dun rea de jos, Gala i, 2002
E. Tiganescu,D. Mitrut, Bazele cercet rii
opera ionale ,Biblioteca digitala ASE
R. Trandafir, Modele i algoritmi de optimizare, Ed.
Agir, Bucureti, 2004
www.wikipedia.com
http://www.biblioteca-
digitala.ase.ro/biblioteca/model/index2.asp
www.tocilar.ro