Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
x2 + y2
x2
x+ y =
si x =
, respective adunarea a doi vectori si nmulirea unui
M
x + y
n
n
x
3
x2
toate componentele zero, si vectorul x =
reprezinta opusul vectorului x din R n .
x
n
Se spune c vectorul x R n este o combinaie liniar a vectorilor a1, a2 ,..., an , dac exist
scalarii 1, 2 ,..., k astfel nct s avem: x = 1a1 + 2 a2 + ... + k ak .
Definiia 2.2. Un sistem de vectori S = {v1, v2 ,..., vm } se numete liniar independent
dac din relaia 1v1 + 2v2 + ... + m vm = 0 , rezult 1 = 2 = ... = m = 0 unic soluie. Altfel,
daca mcar unul din scalarii 1, 2 ,..., m este diferit de zero, atunci sistemul S se numete
liniar dependent.
Pentru cazul spaiul vectorial R n exist o teorem ce caracterizeaz natura unui sistem
de vectori i pe care o dm mai jos. Fie S = { 1, 2 ,..., m } R n , unde :
a11
a12
a1m
a11 a12
a
a21
a2
a2 m
a
a1 =
, a2 =
, , am =
i A = 21 22
...
...
M
M
M
a
a
a
a
n1
n2
nm
n1 an 2
(astfel notat A = (aij )i =1,n ) matricea avnd drept coloane vectorii dai.
... a1m
... a2m
,
... ...
... anm
j =1, m
Reamintim c rangul unei matrici este un numr mai mic sau egal cu minimul dintre
numrul de linii i numrul de coloane, rangA min{m, n} , care reprezint ordinul maxim al
minorului nenul al matricii.
Propoziia 2.1. O condiie necesar i suficient ca sistemul de vectori S s fie liniar
independent este ca rangul matricei A s fie egal cu numrul vectorilor, adic rangA = m . n
caz contrar, sistemul S este liniar dependent.
a111 + a122 + ... + a1mm = 0
a + a + ... + a2mm = 0
.
Demonstraie. Fie 1a1 + 2 a2 + ... + m am = 0 , adica 21 1 22 2
...............................................
an11 + an 22 + ... + anmm = 0
Din teoria sistemelor liniare omogene se tie c o condiie necesar i suficient pentru ca
sistemul precedent s admit numai soluia banal este ca rangA = numrul necunoscutelor =
m. Cum m este i numrul vectorilor din S, prima parte a teoremei este demonstrat.
Dac rangA < m , sistemul admite si alte soluii dect cea banal i reciproc, deci exist mcar
un scalar i 0 printre scalarii 1, 2 ,..., m i rezult din definiia 2.2 c S este un sistem de
vectori liniar dependent.
Practic, pentru a afla natura unui sistem de m vectori din R n , se calculeaza
r = rangA; si apoi
i)
dac r = m sistemul de vectori este liniar independent;
ii)
dac r < m sistemul de vectori este liniar dependent.
Reamintim ca numrul maxim de vectori liniari independeni n R n este n .
Definiia 2.3. Se numete baza n R n orice sistem de n vectori liniar independeni.
Din definiie se vede c o baz este un sistem liniar independent maximal n raport cu
incluziunea. Din aceasta rezult c orice sistem care are n + 1 vectori este liniar dependent.
Exist o infinitate de baze n R n . Practic, pentru a decide dac sistemul de vectori
A = {a1, a2 ,..., an } este o baz, se calculeaza det A, unde A este matricea care are drept coloane
vectorii a1, a2 ,..., an ; Dac det A 0 , sistemul A formeaz o baz.
canonic
din
R n este
baza
format
din
vectorii
unitari
1
0
e1 = ,
M
0
0
0
1
0
e2 = ,..., en = . , iar matricea asociat bazei se noteaza cu I , si se numeste matricea
M
M
0
1
x1
x
n
unitate de ordinul n . Orice vector din R , x = 2 se exprim x = x1e1 + x2e2 + ... + xnen .
M
x
n
11 a22 L a1n
11 b22 L b1n
celor dou baze din R n , adic: A = a12 a23 L a2n , B = b12 b23 L b2n .
M
M
M
M
M
M
a
n1 an 2 L ann
bn1 bn 2 L bnn
1
1
2
n
Evident, det A 0, det B 0. Fie x R i x A = xB = 2 , coordonatele vectorului x n
M
M
n
n
cele dou baze. Vectorii din R n , b1, b2 ,..., bn pot fi exprimai n baza A astfel :
b1 = c11a1 + c12 a2 + ... + c1n an , b 2 = c21a1 + c22 a2 + ... + c2 n an ,..., bn = cn1a1 + cn 2 a2 + ... + cnn an ,
n
adica bi = cij a j , i = 1, n n care cij R sunt coordonatele de trecere ale vectorilor din baza A
j =1
n baza B i formeaz matricea C = (cij )i, j =1,n . Matriceal, se scrie B = A C T , unde observam
1
B nu ar fi baz), obtinem a1 = b 2 a2 ... n an .
1
1
1
Presupunem
ca
stim
coordonatele
lui
x
in
baza
A,
x = 1a1 + 2a2 + ... + n an , x A = (1, 2 ,..., n )T . Ne propunem sa determinan coordonatele
vectorului x in noua baza B, adica x = 1a1 + 2 a2 + ... + n an , xB = ( 1, 2 ,..., n )T . Avem
21
b 2 a2 ... n an ) + 2a2 + ... + n an = 1 b + 1 2
a2 + ... +
x = 1 (
1
1
1
1
1
1
1 =
1
2 = 1 221
1 n n1
an . Vom obtine
+
, adica coordonatele in noua baza.
1
1
L
1 n n1
n =
1
Rezultatele precedente se pot organiza sub forma unor tabele, n prima etap aflnduse date cunoscute, iar a doua date calculele :
Etapa I
Etapa II
.............................................
am1x1 + am 2 x2 + ... + amn xn = bm
x1, x2 ,.., xn ( cu semne specificate)
Functia liniara f se numeste funcia obiectiv(funcie scop, de eficien), iar cele m restrictii
sunt de asemenea liniare. In general, condiiile impuse asupra variabilelor sunt condiiile de
negativitate.
Modelul clasic al unei PPL este dat de problema practica a optimizarii productiei unui
agent economic. Sistemul economic este definit prin mulimea de activiti {A1, A2, ... An}
care compun sistemul economic analizat, mulimea de resurse utilizate {R1, R2, ... Rm}
precum i prin relaiile tehnico-economice dintre acestea. Legtura dintre activiti i resurse
este determinat de tehnologia de fabricaie corespunztoare fiecrei activiti Aj (j=1,...,n) i
poate fi caracterizat numeric prin vectorul coloan a(j) de componente (a1j, a2j, ... amj).
Elementele {aij, i = 1,...,m; j = 1,...,n} se numesc coeficieni tehnici sau coeficieni de consum
specific i arat ce cantitate din resursa Ri se consum pentru producerea unei uniti din
produsul (serviciul) Pj (ca rezultat al activitii Aj). Toate "tehnologiile" de fabricaie definite
de vectorii coloan a(j) se pot organiza ntr-o matrice A cu m linii i n coloane; fiecare linie se
refer la o resurs Ri (i = 1,...,m) i fiecare coloan se refer la o activitate Aj (j = 1,...,n).
Notnd cu xj (j = 1,...,n) rezultatul activitii Aj ntr-o perioad dat i cu bi (i = 1,...,m)
cantitile disponibile din resursele Ri (i = 1,...,m), se pot scrie matematic urmtoarele
restricii tehnico-economice:
a 11 x 1 + a 12 x 2 + ... + a 1n x n b 1
a 21 x 1 + a 22 x 2 + ... + a 2n x n b 2
sau Ax b
LLLLLLLLLLLL
a m1 x 1 + a m2 x 2 + ... + a mn x n b m
a 11 a 12 L a 1n
x1
b1
a
x
a
L
a
22
2n ; x = 2 i b = b 2
unde A = 21
M O M
M
M
M
a m1 a m2 L a mn
xn
bn
Interpretarea restrictiilor: cantitatea consumat dintr-o resurs nu poate depi disponibilitatile
Exemplul 1.Optimizarea productiei. O ntreprindere are la dispoziie trei resurse
A, B, C din care poate fabrica 4 tipuri de produse P1, P2 , P3 , P4 . Managerul dorete s tie care
ar fi nivelul de producie al fiecrui produs, innd seama de limitarea resurselor existente i
de profitul produs. Se cunosc urmtoarele date: coeficienii tehnologici ai fiecrui produs,
disponibilul de resurse, profitul unitar. Datele sunt n tabelul de mai jos.
Produse
Resurse
A
B
C
Profit/unit.
(n u.m)
P1
1
0
1
P2
2
1
0
P3
1
1
1
P4
1
1
0
20
10
30
20
1000
800
500
x2 + x3 + x4 800
restricii
x1 + x3 500
Acest model poate fi scris si sub forma matriceala. Astfel, daca notam cu
X = ( x1, x2 , x3 , x4 )T R 4 vectorul nivelurilor de producie (vectorul necunoscutelor), cu A
matricea
coeficienilor
1 2 1 1
A = 0 1 1 1 ,
1 0 1 0
tehnologici,
cu
vectorul
resurselor,
Exemplul 2. Problema
amestecului.
U1, U 2 , U 3 , U 4 , n vederea obinerii unui produs finit cu anumite caliti i n cantitate de cel
puin 800 l . Amestecul trebuie s conin substanele S1 i S 2 n cantitate de cel puin 18000
g respectiv 21000 g. Coninutul n substanele S1 i S 2 ale fiecrui tip de ulei i costurile
S1
S2
Cost unitar
(mii lei/t)
U1
20
10
U2
10
20
U3
30
10
4,5
U4
20
30
Necesar (g)
18000
21000
Ce cantitate din fiecare ulei trebuie pus n amestec astfel incat costul total sa fie minim ?
Variabilele modelului sunt cantitile de uleiuri U1, U 2 , U 3 , U 4 , care trebuie puse n amestec,
notate cu x1, x2 , x3 , x4 . Funcia obiectiv este data de costul amestecului, care trebuie
minimizat: [min] f = 5 x1 + 4 x2 + 4,5 x3 + 3 x4
Restrictiile modelului sunt de doua tipuri: o restrictie impusa de cantitatea minima de
amestec, x1 + x2 + x3 + x4 800. , si alte doua restrictii referitoare la substanele minerale
necesare amestecului:
20 x1 + 10 x2 + 30 x3 + 20 x4 18000
10 x1 + 20 x2 + x103 + 30 x4 21000
x1 + x2 + x3 + x4 800.
20 x1 + 10 x2 + 30 x3 + 20 x4 18000
10 x1 + 20 x2 + x103 + 30 x4 21000
x1, x2 , x3 , x4 0.
transportului s fie minim. Problema poate fi sintetic prezentata sub forma urmatorului tabel:
Cj
Di
D1
D2
M
Dm
b
C1
c11
x11
c21
x21
M
cm1
xm1
b1
C2
c12
x12
c22
x22
a1
Cn
c1n
x1n
c2n
x2n
...
cm2
xm2
b2
cmn
xmn
bn
an
T
a2
Problema de transport este echilibrat daca cererea din centrele de consum b j coincide cu
j =1
i =1
j =1
i =1
din
xij = ai , i = 1, m
j =1
m
x
i =1
ij
= b j , j = 1, n .
xij 0, i = 1, m , j = 1, n .
max (min ) f = c 1 x 1 + c 2 x 2 + ... + c n x n
x
+
a
x
+
...
+
a
x
i = 1,..., n
i1 1
i2
2
in
n = bi
x 1 , x 2 ,..., x n 0
oarecare
unde cj (coeficienii funciei obiectiv), aij (coeficienii restriciilor) i bi (termenii liberi) sunt
constate reale.
Spunem ca o problema de programare liniara are forma standard (FS) daca toate
restrictiile sunt ecuatii si toate variabilele sunt supuse conditiei de nenegativitate:
min (max )c T x
Ax = b
x 0.
O restrictie a unei probleme de programare liniara este numita concordanta daca este o
inegalitate de tipul cand functia liniara trebuie minimizata sau o inegalitate de tipul cand
functia liniara trebuie maximizata.
Spunem ca o problema de programare liniara are forma canonica (FC) daca toate
restrictiile sale sunt concordante si toate variabilele sunt supuse conditiei de nenegativitate.
Cu alte cuvinte, o problema de programare liniara are forma canonica daca se scrie
min c T x
max c T x
Ax b sau Ax b
x o
x o.
Orice PPL poate fi adusa la forma standard sau la forma canonica, folosind
urmatoarele transformari elementare (echivalente):
a) Sensul unei inegalitati se schimba prin inmultire cu 1;
b) Transformarea inegalitatilor in ecuatii: o inegalitate de forma aTx b poate fi
scrisa ca o ecuatie aTx + y = b , introducand o variabila (numita variabila ecart,
variabila abatere sau variabila de compensare) y 0 , iar o inegalitate de forma
aTx b se transforma in ecuatia aTx y = b prin scaderea variabilei ecart y 0;
c) Transformarea ecuatiilor in inegalitati: o ecuatie de forma aTx = b este
echivalenta cu inegalitatile aTx b si aTx b;
d) O variabila supusa conditiei de nepozitivitate (x 0) se transforma intr-o variabila
nenegativa prin substitutia x = - x;
e) O variabila oarecare x (adica o variabila careia nu i se impun conditii asupra
semnului) se poate inlocui cu doua variabile nenegative x si x, folosind
substitutia x = x x;
f) Deoarece avem totdeauna inf f(x) = - sup ( - f(x)) o problema de minimizare se
transforma intr-o problema de maximizare si invers, schimbind semnul
coeficientilor din functia considerata.
Ax = b (*)
x 0.
Consideram PPL Ax = b
x 0.
k S+
6.
7.
urmator.
Pasul 4: daca exista j S astfel incat
y Bj 0 , atunci STOP:
Tabelul simplex asociat bazei B are in prima coloana variabilele de baza (vectorul
x ), in a doua coloana valorile variabilelor de baza (vectorul xB), iar in urmatoarele n
coloane vectorii y Bj ,1 j n . Pe o linie suplimentara se trec functia obiectiv z = cTx ,
B
[max] f = 20 x1 + 10 x2 + 30 x3 + 20 x4
x1 + 2 x2 + x3 + x4 1000
x2 + x3 + x4 800
x1
+ x3
500
x1, x2 , x3 , x4 0
=1000
x1 + 2 x2 + x3 + x4 + x5
=800
x2 + x3 + x4 +
+ x6
x1
+ x3
+ x7 =500
x j 0 , j = 1,7.
CB
XB
0
0
0
a5
a6
a7
0
0
30
a5
a6
a3
0
20
30
a5
a4
a3
20
20
30
a1
a4
a3
1000
800
500
0
500
300
500
15000
200
300
500
21000
200
500
300
23000
5 4 3
a1 a2 a3
1 2 1
0 1 1
1 0 1
20 10 30
0 2 0
-1 1 0
1 0 1
-10 10 0
1 1 0
-1 1 0
1 0 1
10 10 0
1
1 0
0
2 0
0 1 1
0 20 0
0
0
0
a4 a5
a6
1
1
0
1
0
1
0
0
0
20 0
0
1
1
0
1
0
1
0
0
0
20
0
0
0
1
1
1
0
1
0
0
0
0
0 20
0
1 1
1
1
0
0 1
1
0 10 10
0
a7
0
0
1
0
1
1
1
-30
0
1
1
-10
0
1
1
-10
1000
800
500
500
300
200
500
Exercitii
Sa se aplice simplex primal pentru rezolvarea urmatoarelor PPL:
(max ) f = 3x 1 + 2x 2 + x 3 + 4x 4 + 3x 5 + 5x 6
x 1 + 2 x 2 + x 3 + x 4 + 3x 5 + x 6 8
2x 1 + 2 x 2 + 3x 3 + x 4 + 3x 5 + 2 x 6 15 ,
3x + x + 2 x + 2 x + x + 2 x 11
2
3
4
5
6
1
x i 0, i = 1,...,6
[min] f = 5 x1 + 4 x 2 + 3 x3
x1 + 2 x2 + 2 x3 10
2 x1 + x2
8
2 x2 x3 8
x1, x2 , x3 0 .
Dupa cum am vazut, algoritmul simplex necesit, pentru pornire, o soluie admisibil
de baz. Determinarea acesteia, atunci cand nu este matricea unitate, poate fi un proces de
lunga durata. De aceea, s-au dezvoltat mai multe metode care determina o solutie initiala de
baza pentru problema data. Una dintre aceste metode este metoda celor doua faze, pe care o
descriem succint in continuare.
Presupunem b 0 si, pentru simplificarea expunerii, consideram ca A nu contine
vectori coloana unitari.
a
, unde xi + n ,1 i m, sunt numite variabile artificiale , xa fiind
Ax + x = b,
x 0, x a 0,
vectorul de componente xi + n ,1 i m .
Pentru aceasta problema, matricea unitate I asociata variabilelor artificiale xa este o
baza primal admisibila, careia ii corespunde programul x = 0 , xa = b. De asemenea,
observam ca functia obiectiv a problemei auxiliare este marginita inferior pe multimea
programelor acestei probleme (un minorant este evident zero) si deci problema are solutii
optime. Se impune asadar rezolvarea problemei auxiliare cu algoritmul simplex primal,
deoarece o baza primal admisibila initiala este disponibila.
Daca optimul problemei auxiliare este strict pozitiv, atunci problema initiala nu are
solutie. In cazul in care optimul problemei auxiliare este este zero, atunci se preia tabelul
optim ca tabel initial pentru problema data. Cu alte cuvinte, baza optima a problemei auxiliare
furnizeaza o baza primal admisibila initiala pentru problema data. Aceasta inseamna ca
metoda descrisa consta in doua etape: in faza I se construieste problema auxiliara si se rezolva
cu simplex primal, iar in faza a doua, se rezolva problema initiala (data) tot cu algoritmul
simplex primal, luind ca baza de pornire, baza optima a problemei auxiliare. Adaugam faptul
ca la trecerea de la o faza la cealalta, se inceraca eliminarea din baza optima a variabilelor
artificiale xa , printr-o iteratie simplex obisnuita.
Exemplu Sa se rezolve problema de programare liniar:
(max ) f = 2x 1 + 3x 2
3x 1 + x 2 10
x 1 + 4x 2 2
x 1 , x 2 0
x 1 + 4x 2 x 4 = 2
x 1 , x 2 , x 3 , x 4 0
Observam ca termenii liberi sunt pozitivi i exista deja o coloan a matricii unitate 10
corespunztoare variabilei x3. Pentru a obine i a doua coloan 10 , vom aplica metoda
celor doua faze, care presupune introducerea unei variabile artificiale x5 cu coeficientul 1 n a
doua ecuaie i rezolvarea unei probleme auxiliare:
(min)g = x 5
3
x
1 + x 2 + x 3 = 10
x 1 + 4x 2 x 4 + x 5 = 2
x 1 , x 2 , x 3 , x 4 , x 5 0
Problema auxiliara se rezolva cu algoritmul simplex primal, luind ca variabile de baza
variabilele x3 si x5. Se obtin astfel n faza intai urmatoarele tabele simplex:
cB
0
1
xB
x3
x5
xB
10
2
2
cB
xB
x3
x2
xB
19
2
1
2
0
0
x1
3
1
1
1
0
x2
1
4
4
4
0
x3
1
0
0
0
0
x4
0
-1
-1
-1
1
X5
0
1
1
0
0
x1
11
4
1
4
0
0
x2
0
x3
0
x4
1
4
1
4
0
1
x5
1
4
1
4
-1
Constatam ca s-a obinut optimul egal cu 0, ceea ce impune trecerea la faza a doua, n care
soluia optima de baz (x3,x2) astfel obtinuta va fi soluie iniial pentru algoritmul simplex
aplicat problemei date. Practic, din tabelul optim al fazei intai, eliminm coloana variabilei
artificiale x5 si nlocuim valorile coeficienilor funciei obiectiv, ceea ce duce la recalcularea
liniei de jos a tabelului. Vom obtine astfel urmatorul tabel simplex:
2
3
0
0
cB
xB
xB
x1
x2
x3
x4
19
11
1
0
1
0
x3
2
4
4
1
1
1
1
0
3
x2
2
4
4
3
5
3
0
0
2
4
4
B
cB
xB
x4
xB
4
3
10
3
20
3
x1
2
x1
0
1
0
0
x3
1
0
0
0
x4
3
-1
-2
3
x2
11
3
1
3
7
0
x3
1
3
1
3
2
3
0
x4
1
0
0
cB
0
3
B
xB
x4
x2
B
xB
38
10
30
B
2
x1
11
3
7
3
x2
0
1
0
0
x3
4
1
3
0
x4
1
0
0
x 1 + 4x 2 2
x ,x 0
1 2
[min] f = 5 x1 + 4 x 2 + 3x3
x1 + 2 x2 + 2 x3 10
2 x1 + x2
5
2 x2 x3 = 3
x1, x2 , x3 0 .