Documente Academic
Documente Profesional
Documente Cultură
Printre metodele matematice utilizate n economie un rol important l are programarea liniara,
care ofera posibilitatea obtinerii solutiei optime pentru o gama larga de probleme.
Exemple de probleme de programare liniara
1. probleme de planificare a productiei (folosirea eficienta a resurselor limitate);
2. probleme de transport;
3. probleme de amestec;
ii masinilor;
4. utilizarea optima a capacitat
5. probleme de investitii;
unelte) n cantitat
Rezultatul productiei consta n n tipuri de produse P1 , ..., Pn .
Vom nota cu:
cj -beneficiul obtinut pentru o unitate din produsul Pj ;
i din produsul Pj (cantitate
aij -cantitatea din resursa Ri folosita n fabricarea unei unitat
numita si consum specific sau coeficient tehnologic).
i x1 , ..., xn trebuiesc produse din P1 , ..., Pn astfel ncat
benSe pune problema ce cantitat
eficiul total:
n
X
Z=
cj xj
j=1
Datele problemei se pot prezenta, n tabelul de mai jos, dupa cum urmeaza:
R1
R2
..
.
P1
a11
a21
..
.
P2
a12
a22
..
.
Ri
..
.
ai1
..
.
ai2
..
.
Rm
am1
c1
am2
c2
...
...
...
Pj
a1j
a2j
..
.
...
...
...
...
...
...
...
aij
..
.
...
...
...
...
...
...
amj
cj
Pn
a1n
a2n
..
.
b1
b2
..
.
ain
..
.
bi
..
.
amn
cn
bm
n
P
j=1
cu conditiile:
a11 x1 + a12 x2 +
a21 x1 + a22 x2 +
...
...
am1 x1 + am2 x2 +
cj xj ]
... a1n xn b1
... a2n xn b2
...
...
... amn xn bm
(1)
(2)
1. Forma generala
max/min
[Z =
n
P
j=1
n
P
j=1
n
P
j=1
n
P
j=1
cj xj ]
aij xj bi ;
1ip
aij xj = bk ;
p+1k <s
aij xj bl ;
s+1l m
xj 0;
j = 1, ..., n
j=1
aij xj bi ; i = 1, ..., m
sau
n
P
j=1
xj 0; j = 1, ..., m
j=1
aij xj bi ; i = 1, ..., m
xj 0; j = 1, ..., m
i:
toate restrictiile sunt egalitat
3. Modelul are forma standard cand
max/min
[Z =
n
P
j=1
n
P
j=1
cj xj ]
aij xj = bi ;
1im
xj 0;
j = 1, ..., n
O problema de programare liniara sub forma generala poate fi adusa la forma standard
echivalente:
sau forma canonica folosind urmatoarele
transformari
i se schimba prin nmultire cu 1,
sensul unei inegalitat
ile se transforma n egalitat
i prin adaugarea
inegalitat
sau scaderea
unor variabile pozitive numite variabile ecart sau variabile de compensare; variabilele ecart nu apar n
functia obiectiv (adica apar cu coeficienti nuli),
i de sens contrar,
o egalitate poate fi nlocuita cu doua inegalitat
deoarce max Z = min(Z), orice problema de maximizare se poate transforma n
una de minimizare.
i se transforma cu ajutorul variabilelor ecart n sistem
Deoarece un sistem de inegalitat
rezultat:
Se cunoaste din algebra urmatorul
i:
Fie sistemul de inegalitat
.....
b1
b2
...
bm
(3)
Oricare ar fi (x01 , x02 , ..., x0n ) solutie a sistemului (3) exista constantele nenegative x0n+1 , x0n+2 , ..., x0n+m
astfel ncat
(x01 , x02 , ..., x0n , x0n+1 , x0n+2 , ..., x0n+m )
3
i:
sa fie solutie a sistemului de egalitat
=
b1
=
b2
..... ...
= bm ,
(4)
si reciproc.
ator
i de forma:
Un rezultat aseman
obtinem si n cazul unui sistem de inegalitat
n
X
aij xj bi , i = 1, ..., m.
j=1
Concluzie. Conform celor spuse anterior ne vom ocupa numai de modelul sub forma
standard:
min
[Z =
n
P
j=1
n
P
j=1
cj xj ]
aij xj = bi ;
1im
xj 0;
j = 1, ..., n
(5)
(6)
x1
xm+1
..
= ... , X R =
.
.
xm
xn
(8)
(9)
bune pan
(10)
cu solutia:
BX B + RX R = b
(11)
X B = B 1 b B 1 RX R .
(12)
Solutia corespunzatoare
bazei B este:
X
= B 1 b, X
Se noteaza cu:
zj =
= 0.
ci aB
ij
(13)
jJB
programare liniara.
Daca pentru o baza exista un indice k JR pentru care
Teorema.
k = zk ck > 0,
de buna ca si X , adica
baza admisibila si solutia de baza corespunzatoare
X
B
ZeB Z .
xB
i
}
aB
ik
unitara.
n baza
vor avea n baza unitara coordonatele asa cum apar ele n matrice. Daca matricea A nu
exista procedee prin care se obtine aceasta baza la primul pas.
contine baza unitara,
Algoritmul simplex
Se
Pasul 0: se scrie matricea A si se identifica baza unitara (presupunand
ca exista).
n sistemul de restrictii X R = 0.
determina solutia initiala de baza X B , impunand
Deoarece n baza unitara aB
te tabelul:
ij = aij se ntocmes
B
CB
XB
c1
a1
ak1
1
c2
a2
ak2
2
....
...
cn
an
akn
n
zj cj
n cazul problemei de minim
j =
cj zj n cazul problemei de maxim ,
unde zj =
m
P
i=1
alegandu-se
diferenta k = max j care indica vectorul ak ce intra n noua baza.
jJR
3. Daca toate componentele vectorului ak sunt mai mici sau egale cu zero, STOP,
problema are optim infinit.
Daca vectorul ak are si componente pozitive, pentru acestea se calculeaza rapoartele
xB
i
si se alege
aik
xB
xB
0 = min{ i } = l ;
aik
alk
vectorul al par
ases
te baza fiind nlocuit cu ak .
conform criteriului de iesire din baza,
Elementul de la intersectia liniei l cu coloana k se numeste
Se obtine o noua baza.
pivot.
Pasul 2: Se reface tabelul simplex:
ita la pivot;
c. ncepand
cu coloana lui X B , linia l a pivotului se scrie mpart
d. se completeaza vectorii unitari ai noii baze;
e. celelalte elemente ale tabelului se calculeaza conform formulelor de schimbare a
bazei cu regula dreptunghiului;
f. se calculeaza diferentele j si se reia Pasul 1 si 2.
5.1
In aplicarea algoritmului simplex este necesara existenta unei baze initiale unitare. In cazul n
care aceasta baza nu figureaza printre coloanele matricei A si nu apare nici dupa efectuarea
compensarilor
prin adaugarea
variabilelor ecart este necesar sa folosim tehnici prin care sa
obtinem acest lucru.
(14)
Adaug
and
n
X
aij xj + xai = bi , i = 1, . . . , m.
(15)
j=1
O solutie a sistemului (15) este solutie si pentru sistemul (14), daca n aceasta solutie
elementele xai , i = 1, . . . , m sunt toate zero (numai n acest caz solutia sistemului (15) verifica
si sistemul (14).
Asociem problemei (14) o problema extinsa al carui sistem de restrictii este (15). Vom
sa gasim
urmari
o solutie de baza a modelului extins n care variabilele artificiale sa fie variabile nebazice (adica sa aiba valori nule). O astfel de solutie de baza a problemei extinse va
reprezenta n anumite conditii o solutie de baza initiala pentru problema (14) cu care se poate
ncepe algoritmul simplex.
5.1.1
Metoda penalizarii
(16)
Se asociaza
pentru care matricea A a sistemului de restrictii (16) nu contine baza unitara.
(17)
Pe parcursul aplicarii
situatii:
asit
baza; se continua
la un anumit moment al algoritmului toti vectorii artificiali au par
a se obtine solutia optima.
algoritmul pan
variabile artificiale. In
algoritmul simplex s-a ncheiat, dar n solutia optima au ramas
acest caz:
9
a) daca variabilele artificiale ramase
n solutia optima au toate valoarea zero, problema initiala admite solutie.
10