Documente Academic
Documente Profesional
Documente Cultură
,
_
mn m2 m1
2n 22 21
1n 12 11
a a a
a a a
a a a
; x =
,
_
n
2
1
x
x
x
i b =
,
_
n
2
1
b
b
b
'
n 1, j 0 x
I k b x a
I i b x a
x optim
j
2
n
1 j
k j kj
1
n
1 j
i j ij
f
x
Relaiile (1), (2) i (3) constituie mpreun modelul general al unei
probleme de programare liniar, avnd fiecare un rol specific:
1. relaia (1), unde f(x) =
n
1 j
j j
c x
este denumit funcia obiectiv de
eficien a problemei, evalueaz eficiena/performana fiecrei
variante de program x;
2. relaiile (2) de tipul
n
1 j
i j ij
b x a
reprezint restricii de tip resurse;
iar restriciile de tipul
n
1 j
k j kj
b x a
se refer la restricii tehnico-
economice de tip calitativ (i ca urmare indicatorul b
k
este limita
inferioar impus "reetei optime";
61
unde I
1
I
2
=
(1)
(2)
(3)
3. relaia (3) x
j
0 j = 1,...,n, numit condiia de nenegativitate a
variabilelor, asigur obinerea unei soluii realizabile din punctul de
vedere al logicii economice.
Dac se dorete obinerea unui meniu (reete furajere), care s asigure
necesarurile {b
i
, i = 1,...,m} dintr-un numr de m substane eseniale
organismului, avnd la dispoziie un numr de n alimente, cunoscndu-se
cantitile {a
ij
, i = 1,...,m, j = 1,...,n} din fiecare substan pe care le conine o
unitate de msur din fiecare aliment i costurile {c
j
, j = 1,...,n} unei uniti
de msur din fiecare aliment, putem scrie modelul:
( )
'
+ + +
+ + +
n 1,..., j 0 x
m 1,..., i b x a ... x a x a
x c ... x c x c min
j
i n in 2 i2 1 i1
n n 2 2 1 1
n) 1,..., j (
j
x
Variabilele x
j
reprezint, n acest caz, cantitatea din fiecare aliment ce
va intra n meniu iar f(x) =
n
1 j
j j
c x
este costul total al reetei definit de
vectorul x.
Se observ c toate aceste probleme, cu toate c reprezint situaii
economice total diferite, sunt aplicaii n sfera activitii economice ale
urmtoarei probleme de optimizare:
( ) ( ) ( )
( )
3 . 1
2 . 1
1 . 1
x ,..., x , x
n 1,..., i b x ,..., x , x
x ,..., x , x min sau max
n
n 2 1
i n 2 1
n 2 1
'
R
g
f
i
n care funciile f,g
i
: R
n
R pot avea orice form i proprieti (liniare,
convexe, continui, difereniabile etc.) iar poate fi orice submulime a lui
R
n
(continu sau discret, mrginit sau nemrginit, convex sau
neconvex, finit sau infinit etc.) i n care dorim s gsim minimul sau
maximul funciei f n variabilele x
i
care ndeplinesc restriciile 1.2 i 1.3. O
astfel de problem se numete problem de programare matematic.
Funcia (1.1) se numete funcia obiectiv a problemei de optimizare. n
aplicaiile economice, ea reprezint criteriul de performan urmrit:
maximizarea beneficiului, maximizarea produciei marf, minimizarea
62
costului produciei, maximizarea gradului de ncrcare al utilajelor sau
minimizarea timpului de staionare al acestora, maximizarea veniturilor etc.
Inegalitile (1.2), n care g
i
sunt funcii de n variabile iar b
i
sunt
constante, se numesc restricii ale problemei de optimizare. Ele traduc n
limbaj matematic condiiile de natur economic sau tehnologic n care se
desfoar procesul economic modelat, cum ar fi: nedepirea stocurilor
disponibile de resurse (materii prime, capaciti de producie, for de
munc, fonduri bneti, timp etc.), ndeplinirea sau depirea unor indicatori
economici (producia fizic, net) etc.
Condiiile (1.3), impuse "direct" variabilelor, depind de natura
problemei studiate. De cele mai multe ori, este mulimea vectorilor x =
(x
l
,...,x
n
) R
n
cu toate componentele nenegative i acest fapt se justific prin
aceea c, n general, x
i
reprezint "nivelele" unor activiti de producie,
nivele care nu pot fi negative. n unele probleme de optimizare, cum ar fi
cele de croire sau ordonanare, variabilele desemneaz mrimi indivizibile i
deci nu pot lua dect valori ntregi. Mulimea va fi format n acest caz
din vectori x cu toate componentele ntregi i nenegative. n alte probleme,
ca de pild cele de afectare, portofoliu etc., variabilele nu pot lua dect
valorile 0 sau 1 (variabile bivalente) i ca atare va fi format din vectorii x
= (x
1
, ,x
n
) cu toate componentele 0 sau 1. Caracteristic acestor tipuri de
probleme este faptul c devine o submulime discret din R
n
, de unde i
numele generic de probleme de optimizare discret dat acestora.
O soluie a unei astfel de probleme are deci trei proprieti:
P1. verific restriciile 1.2
P2. verific restriciile "directe" 1.3
P3. optimizeaz funcia obiectiv pe mulimea vectorilor care
ndeplinesc condiiile P1. i P2.
n teoria programrii matematice se folosesc, pentru claritatea i
simplitatea expunerii, urmtoarele noiuni:
soluie a problemei de
optimizare
un vector x R
n
care verific restriciile
1.2
soluie admisibil a
problemei de optimizare
un vector x R
n
care verific restriciile
1.2 i 1.3 o soluie care verific restriciile
63
1.3
soluie optim a problemei
de optimizare
un vector x R
n
care verific
restriciile 1.2 i 1.3 i optimizeaz funcia
obiectiv pe mulimea tuturor vectorilor cu
aceast proprietate
o soluie care verific restriciile
1.3 i optimizeaz funcia obiectiv pe
mulimea tuturor soluiilor cu aceast
proprietate
o soluie admisibil care
optimizeaz funcia obiectiv pe mulimea
soluiilor admisibile
Izvort din studiul problemelor externale ale analizei matematice
clasice, programarea matematic a cunoscut n ultimele decenii o dezvoltare
spectaculoas, explicabil numai n parte prin progresele nregistrate n
matematic. ntr-adevr, aceast dezvoltare a fost puternic stimulat de
creterea vertiginoas a complexitii activitilor economice, care a furnizat
probleme cu structuri din ce n ce mai complicate, ca i de rapida
perfecionare a mijloacelor automate de calcul, singurele capabile s testeze
eficiena practic a metodelor teoretice elaborate. La rndul ei, programarea
matematic, prin rezultatele ei, a adus un considerabil aport la perfecionarea
metodelor de conducere n economie i a impulsionat cercetrile - n plan
teoretic - privind modelarea sistemelor economice complexe, studiul i
interpretarea legilor i proceselor economice.
n ceea ce privete rezolvarea acestor probleme, este evident c
varietatea extrem a acestora face imposibil gsirea unui algoritm practic
64
care s le poat rezolva pe toate, dar putem gsi (sau ne putem atepta s
gsim), pentru fiecare caz particular, un algoritm de rezolvare care s-i
trag eficacitatea tocmai din folosirea tuturor particularitilor cazului
respectiv. n prezent exist sute de algoritmi de rezolvare, cercetarea
problemei evolund din ce n ce mai mult spre testarea i mbuntirea
acestora dect spre gsirea unora noi.
Problema de programare liniar
Definiia 1. Dac ntr-o problem de programare matematic funcia
obiectiv f i funciile g
i
, din restriciile 1.2, sunt funcii liniare atunci
problema se numete problem de programare liniar. O problem de
programare liniar este, deci, un caz particular al problemelor de programare
matematic i, innd cont de forma oricrei funcii liniare, rezult c forma
general a oricrei probleme de programare liniar este:
( )
'
+ + +
+ + +
oarecare
0
0
x ,..., x , x
n 1,..., i b x a ... x a x a
x c ... x c x c min max
n 2 1
i n in 2 i2 1 i1
n n 2 2 1 1
f
unde c
j
(coeficienii funciei obiectiv), a
ij
(coeficienii restriciilor) i b
i
(termenii liberi) sunt constate reale.
Forma conic i forma standard a unei probleme de programare
liniar
Cu toate c problema de programare liniar este cea mai simpl dintre
problemele de programare matematic, ea este nc destul de complicat,
prin faptul c orice restricie poate avea trei forme diferite iar obiectivul
poate fi minimizarea sau maximizarea funciei f. Este puin probabil c
exist un algoritm i simplu i aplicabil la toate cazurile.
65
Din acest motiv este mult mai simplu s gsim o anumit form (ct
mai simpl) cu proprietatea c pentru orice problem P, exist o alta
problem P' de aceast form, echivalent cu problema iniial P (spunem c
dou probleme sunt echivalente dac exist un izomorfism ntre mulimile
soluiilor celor dou probleme i un homeomorfism ntre funciile lor
obiectiv) i s dispunem de un algoritm care s rezolve problemele de
aceast form i de o regul prin care s gsim soluia problemei iniiale P
din soluia problemei P', gsit cu acest algoritm.
n acest sens (dar i din cauza frecvenei apariiei lor n practic) s-au
evideniat dou forme ale problemelor de programare liniar, forma
canonic i forma standard.
Definiia 2. Spunem c o problem este la forma canonic dac are una
din urmtoarele dou forme:
Forma canonic de maxim Forma canonic de minim
( )
'
+ + +
+ + +
0 x ,..., x , x
n 1,..., i b x a ... x a x a
x c ... x c x c max
n 2 1
i n in 2 i2 1 i1
n n 2 2 1 1
f ( )
'
+ + +
+ + +
0 x ,..., x , x
n 1,..., i b x a ... x a x a
x c ... x c x c min
n 2 1
i n in 2 i2 1 i1
n n 2 2 1 1
f
Aceast form este invariant la anumite transformri (cum ar fi
problema dual) i asigur existena soluiei (orice problem la aceast
form, care are termenii liberi i coeficienii restriciilor pozitivi, are soluie).
Definiia 3. Spunem c o problem este la forma standard dac are
forma:
( ) ( )
'
+ + +
+ + +
0 x ,..., x , x
n 1,..., i b x a ... x a x a
x c ... x c x c max sau min
n 2 1
i n in 2 i2 1 i1
n n 2 2 1 1
f
Aceast form, dei nenatural din punct de vedere economic, este cea
care se preteaz cel mai bine la rezolvarea cu metodele algebrei clasice.
66
Propoziie. Pentru orice problem de programare liniar P exist o
problem la forma canonic PFC i o problem la forma standard PFS
echivalente cu P.
Demonstraie. ntr-adevr:
a) orice problem de maxim poate fi transformat n una de minim
i reciproc folosind relaia:
max f(x) = min f(x)
b) orice restricie de tipul "" poate fi transformat ntr-o restricie
de forma "" i reciproc folosind relaia:
c) orice restricie inegalitate poate fi transformat n egalitate, prin
introducerea unei variabile suplimentare nenegative i folosind relaiile:
'
+
0 x
x
i
'
0 x
x
Toate variabilele introduse pentru transformarea inegalitilor n
egaliti se numesc variabile de abatere sau variabile de compensare.
d) orice restricie egalitate poate fi transformat n restricii
inegalitate, folosind relaia:
=
'
e) orice variabil cu restricie de semn negativ (x 0) poate fi
nlocuit cu o variabil cu restricie de semn pozitiv (y 0), folosind
relaia:
x 0
'
0 y
y - x
f)orice variabil fr restricie de semn poate fi nlocuit cu dou
variabile cu restricie de semn pozitiv, folosind relaia:
x oarecare
'
0 z
0 y
z - y x
Se demonstreaz fr un efort matematic deosebit c dac P' se obine
din P folosind doar transformrile de mai sus (numite i transformri
elementare) atunci P i P' sunt dou probleme echivalente i ntre soluiile
lor optime exist o bijecie.
67
Din cele de mai sus rezult cum poate fi adus orice problem de
programare liniar la forma standard (sau canonic) i cum se obine soluia
problemei iniiale din soluia problemei la forma standard (sau canonic).
Rezolvarea problemei poate duce la urmtoarele rezultate:
R1. Sistemul Ax = b nu are soluii sau nu are soluii admisibile. n
acest caz problema nu are soluie.
R2. Imaginea funciei obiectiv pe mulimea soluiilor admisibile
este nemrginit (la + ntr-o problem de maxim sau la - ntr-o problem
de minim). n acest caz spunem c problema are optim infinit.
R3. Imaginea funciei obiectiv pe mulimea soluiilor admisibile
este mrginit. n acest caz problema are cel puin o soluie i spunem c
problema are optim finit.
Greutatea gsirii soluiei problemei const n imensitatea numrului
de soluiilor posibile ale sistemului i n respectarea condiiei de
nenegativitate a celor re care cutm extremul dorit al funciei f. Este natural
ca primele ncercri n rezolvare s caute n primul rnd o limitare ct mai
puternic a locului n care cutm. Pe baza unor reprezentri geometrice ale
problemei au fost descoperite urmtoarele proprieti ale problemei, care
poart denumirea de teoreme fundamentale ale programrii liniare:
Teorema 1. Dac problema de programare liniar are soluii admisibile
atunci are i soluii de baz admisibile.
Teorema 2. Dac problema de programare liniar are soluii optime
atunci are i soluii optime de baz.
Teorema 3. Mulimea soluiilor admisibile (optime) este nchis i
convex. Dac este i mrginit atunci punctele extremale ale acesteia sunt
chiar soluiile admisibile (optime) de baz ale problemei.
Cele dou teoreme realizeaz efectiv trecerea ctre o problem
rezolvabil pe calculator. ntr-adevr, deoarece o baz este un minor de
ordinul m al matricii A i unei baze i corespunde o unic soluie de baz
68
rezult c sunt cel mult
m
n
C soluii de baz, adic un numr finit. n acest
moment s-ar prea c nu avem dect s lsm calculatorul s calculeze toate
soluiile de baz i valorile funciei obiectiv n cele admisibile gsind-o prin
comparare pe cea care d minimul sau maximul funciei re acestea. Totui,
aceast variant se dovedete nepractic la o analiz mai atent, innd cont
de urmtoarele observaii:
1. faptul c numrul soluiilor de baz este finit ne asigur doar c
problema se va termina cndva, ceea ce, din punct de vedere economic, este
evident nemulumitor. Noi dorim ca problema s fie rezolvat n timp util,
adic repede. Rezolvnd problema ca mai sus vom avea, pentru o problem
cu 50 variabile i 20 restricii, de calculat, listat i comparat
20
50
C
soluii de
baz, adic n jur de 10
20
. Presupunnd c suntem dotai cu un
supercalculator care ar termina un miliard de baze pe secund, rezolvarea ar
dura 3000 ani. De altfel, o problem ca cea de sus este foarte mic n
comparaie cu problemele "serioase" ce au peste 1000 de variabile i 100 de
restricii. n plus, un calculator ca cel de sus nu exist nc, deci n nici un
caz nu e disponibil ntreprinderilor obinuite.
2. Cu algoritmul de mai sus vom gsi cea mai bun soluie dintre
soluiile admisibile de baz, fr ns s tim dac problema admite, de fapt,
optim (ar putea s aib optim infinit).
3. Nu vom ti dac un minor de mm este baz dect dup ce-i
vom calcula determinantul i nu vom ti dac soluia de baz
corespunztoare este admisibil dect dup ce o vom calcula.
4. Soluia optim, odat gsit, nu va fi recunoscut ca atare dect
dup ce vom calcula toate celelalte soluii de baz, chiar dac ea a aprut
chiar la nceputul calculelor.
n concluzie, pentru a fi eficient, un algoritm ar trebui s aib
urmtoarele proprieti:
a) s dispun de un criteriu de recunoatere a faptului c problema
nu are soluii admisibile;
b) s dispun de un criteriu de recunoatere dac o soluie este
optim sau nu;
c) s treac de la o soluie de baz admisibil la una cel puin la fel
de bun (o soluie x este mai bun dect o soluie y dac f(x) > f(y) ntr-o
problem de maxim i f(x) < f(y) ntr-o problem de minim;
d) s treac de la o soluie la cea mai bun dintre soluiile cel puin
69
la fel de bune posibile ca succesoare;
e) s nu revin la o soluie deja analizat;
f)s efectueze un numr de iteraii comparabil polinomial cu
dimensiunea problemei.
g) s nu introduc erori de rotunjire (sau nu prea mari);
h) s fie ct mai simplu de implementat;
4.3. MODELUL MATEMATIC DE OPTIMIZARE A DIMENSIUNII
EXPLOATAIEI AGRICOLE.
n optimizarea dimensiunii exploataiei agricole se utilizeaza
algoritmul simplex care va fi prezentat succint din punct de vedere
matematic.
Algoritmul simplex pleac de la presupunerea c dispunem deja de o
soluie admisibil de baz x
B
, corespunztoare unei baze B. De asemenea,
presupunem c s-a rezolvat sistemul Ax = b folosind aceast baz,
rezultnd astfel variabilele principale n funcie de cele secundare:
Presupunem astfel c problema este la forma standard de maxim i c
dispunem de o soluie de baz admisibil.
Pasul 1.
Pasul 2. 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;
70
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 3. 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.
71
dac exist
j
< 0 atunci l alegem pe cel mai negativ:
k
=
j
0
n j 1 m
j
min
<
+
.
Variabila x
j
va fi cea care intr n noua baz. Dac minimul este multiplu
atunci alegem, la ntmplare, unul dintre acetia (cei minimi).
Pasul 4. 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
=
sj
s
a
x
. Variabila x
i
corespunztoare raportului minim este cea
care va iei din baz. Dac acest minim este multiplu sunt posibile dou
cazuri:
1) minimul este strict pozitiv. n acest caz se alege unul dintre
acetia la ntmplare;
2) 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 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:
j i
j i
j i
j i
2
k 2
1
k 1
a
b
a
b
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 5. Se calculeaz componentele tabelului simplex corespunztor
72
noii baze pe baza tabelului actual i folosind urmtoarele reguli:
- 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
coloana pivotului va avea 1 n dreptul pivotului i 0 n rest (inclusiv
j
);
linia pivotului este linia actual mprit la pivot (inclusiv n soluia de
baz);
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.
Dac toate componentele sunt mai mari sau egale cu 0 atunci soluia
este i primal admisibil, deci optim.
Pasul 6. Se reia algoritmul de la pasul 2dac exist componente strict
negative.
Concret, pentru ceea ce am realizat metoda presupune
parcurgerea urmtoarelor etape:
1 Stabilirea modelului matematic
2 Rezolvarea modelului prin metoda SIMPLEX i interpretarea
primal-duala a soluiei
1.Stabilirea modelului matematic
Modelul matematic cuprinde:
73
a) Funcia obiectiv
1)Resurse
2) Restriciile modelului
b) Condiia de nenegativitate
a) Funcia obiectiv sau scop
exemplu : C1*X1 + C2*X2 + C3*X3 +...+ Ci*Xi +...+ CnXn
in care :
X1...Xn = activitile ( hectare culturi,capete animale )
C1...Cn = aportul unei UM din activitate (profit ,cheltuieli energie ...etc.)
Obiectivul poate fi de maxim sau de minim ,n funcie de scopul propus;
b) Restriciile modelului n condiiile optimizrii dimensiunii
Pentru modelul de optimizare a structurii i dimensiunii unei exploataii
agricole
restricii tehnice :
L1 - suprafaa culturilor de baza nu poate depi suprafaa de care
dispune exploataia agricol (ST1, ST2, ST3)
X1 + X2+... + Xi+. ..Xn <=ST1, ST2, ST3
restricii economice :
L10 - zile norm ce vor fi consumate nu pot depi zile normale
disponibile (ZND)
ZN1*X1 + ZN2*X2+..+Ni*Xi+...+Nn*Xn <= ZND
restricii de rotaie :
L20 - suprafaa culturilor X1,X2 i X5 nu trebuie s ocupe mai mult
dect 1/2 din suprafaa total :
X1 + X2 + + X5 <= ST1/2, ST2/2, ST3/2
Schema reprezint legtura dintre matricea coeficienilor tehnici
generata de produsul program AGR4 (matricea iniiala), modificarea ei cu
ajutorul programelor procsms_simpex.prg, aleglidp.prg, intreb.prg i
intrebDN.prg (matricea finala), rezolvarea modelului i interpretarea soluiei
primale i duale.
Intocmirea interactiva a matricei se face accesind ( care ruleaza sub FOX )
procsms_simpex.prg
74
AGR4 Programul Simplex
Soluii
Interactiv
1-------------------------------------------n
2 -------------------------------------------
MATRICEA
COEFICIENTILOR
TEHNICO-ECONOMICI
( generat automat )
Aij.xij (i = 1 la n; j= 1 la m)
m
FUNCTIA OBIECTIV (generata
automat)
X1+X2+
+..Xn
X1 + + X3 +
<
<
<
<
<
b
i
RESURSE (interactiv)
1 2 3.
n
F1
F2
------
Denu-
Mire
---------
L1
L2
.
.
.
Lm
P
R
I
M
A
L
A
A
C
T
I
V
I
T
A
T
I
L
O
R
D
U
A
L
A
R
E
S
U
R
S
E
L
O
R
STOT
m+1
ST1 ST2 ST3
STOT1
m+2
ST1/2 ST2/2 ST3/2
75
APLICATIA 4.4. PRODUSUL PROGRAM AGR4 MIJLOC DE
GENERARE AUTOMAT A MATRICEI COEFICIENILOR
TEHNICI
Pentru optimizarea suprafeei i profilului unei exploataii agricole trebuie
s selectam un plan i un cod de ferma realizate de Produsul Program
AGR4
PLANUL SE INTOCMESTE ASTFEL:
Se aleg culturile din baza de date care vor intra in modelul de programare
liniara.
Se face o verificare formala prin Listare fisa
Se opereaza Calcul fisa
Se listeaza pe ecran Recapitulatie fisa
In PLAN se intocmeste un PLAN ( ex PLVG199) cu fisele culturilor
selectate
ATENTIE !!!
In acest PLAN suprafata culturilor va fi de 1 Ha
Se calculeaza planul.
Descrierea modului de lucru asupra matricii generate de programul AGR4.
Se cauta in fisierul AGR4 programul procsms_simpex.prg care se
acceseaza
Se selecteaza Codul PLANULUI ( ex PLVG199) i un cod de ferma
realizate de Produsul Program AGR4
n continuare vor fi prezentate fazele de generare a matricei modelului.
In prima faza de completare a matricilor F i A suntem ntrebai dac
**** -dorim o listare a matricei , Iimplicit este NU.
n funcie de mrimea marticilor este posibil s ateptam cteva secunde
lucru semnalat de program. Pe ecran ne v-a aprea gradul de completare n
procente .
**** Automat calculatorul genereaza o matrice care contine :
a. Numarul de coloane este egal cu numarul de culturi introduse in
PLAN ( ex PLVG199);
b. numarul de linii ( restrictii) este variabil . Sunt inscrise necesarurile
de ZN manual , ZN mecanic si necesarul de apa pe fiecare luna in
parte in dreptul fiecarei culturi . ( Ar fi 36 de linii , insa
calculatorul nu retine decat liniile unde gaseste valori. Daca de
exemplu in luna ianuarie nu se efectueaza nici-o lucrare mecanica
acel rand ( restrictiie) nu se retine)
88
Noi in continuare avem urmatoarele posibilitati : de a adauga coloane, de
a introduce operatorii relaionali (<, = sau >), de a introduce valoarea
termenului liber , de a adauga linii ( in general restricii agrotehnice de rotatie dar
si unele restricii de piata ( de a nu produce mai mult de ....tone).
**** La urmtoarea operaie suntem interogai dac dorim s
adugam coloane, NU fiind modul implicit.
n urmtoarea faza introducem
**** - operatori relaionali n funcie de cerine (<, = sau >),
Se va introduce operatorul relational < care inseamna ca in timpul rezolvarii
resursele pot fi mai mici decat cele pe care le introducem sau cel mult egale cu
aceste resurse. In momentul cand se intoducem = suntem obligati sa consumam
acea resursa iar cand se introduce > de asemenea suntem obligati ca prin
rezolvarea modelului resursa respectiva sa fie egala sau mai mare decat
valoarea inscrisa de noi. Semnele = sau > se introduc dupa o prima rezolvare cu
semnul < pentru a vedea ca modelul are o solutie, deoarece = sau > poat bloca
rezolvarea pentru gasirea unei solutii.
**** - urmeaza o interogare legata de numrul de termeni liberi pe
care dorim s-i utilizam, ( pentru inceput trecem 1); si
**** - valoarea termenului liber pentru toate restrictiile modelului
pe ecran vor fi afisate liniile din matrice in urmatoarea ordine : Zn manual pe
luni, ZN mecanic pe luni, Consum apa de irigat pe luni, consum azot, consum
fosfor, consum potasiu, Retributii manual, Retributii mecanizaat, Lucrari terti,
Chelt totale. Valorile aproximative vor fi calculate inainte de inceperea
calculului
**** - urmeaza o interogare dac dorim sau nu adugarea de o noua
linie, valoarea implicita pentru ieire fiind NU.
Atentie !!! Se vor adaga linii.
O noua linie presupune : valoarea fiecarui coeficient al variabilelor,
operatorul relaional (<, = sau >), valoarea termenului liber si denumirea
restictiei ce va fi adaugata.
Vom introduce valorile variabilelor astfel : de EXEMPLU
Pentru: X1 + X2 + + X5 < ST
Se introduc :
Termenii care se introduc : 1 1 1 < ST
si urmata de denumirea liniei, n cazul nostru SUPRAFATA TOTAL,
Nu exita limite in ceea ce priveste numarul de linii (restrictii) ce vor putea fi
adaugate.
89
Recomandam ca liniile sa fie scrise pe o foaie pentru a le introduce corect in
model.
**** - urmeaza o interogare dac mai dorim sau nu adugarea de
noi linii, valoarea implicita pentru ieire fiind NU.
**** - odat cu terminarea adugrii de linii suntem ntrebai dac
dorim listarea informaiilor obinute (implicit NU).
*** Pentru o eventuala refolosire a matricii putem introduce un
nume sub care se va salva fiierul. Acest fiier v-a avea o extensie de tip DBF.
*** Dac dorim s tergem o linie din marice indicm numrul ei,
pe care l-am putut nota cand am adaugat valorile termenului liber
*** dac nu introducem valoarea 999.
n final obinem matricea pe care trebuie s o denumim
**** introduceti numele fisierului de structura fara indicarea
extensiei ( ex. TOpt1) fiier care va fi preluat pentru rezolvare in programul
SIMPLEX .
*** - Doriti rezolvarea modelului ? implicit este NU
Daca ai scris Y atunci esti in programul SIMPLEX de optimizare.
90
4.5. PRODUSUL PROGRAM SIMPLEX DE INTOCMIRE, REZOLVARE
I INTERPRETARE A MODELULUI MATEMATIC DE OPTIMIZARE A
DIMENSIUNII I STRUCTURII CULTURILOR EXPLOATAIEI
AGRICOLE
1. INTOCMIREA MODELULUI MATEMATIC
de programare liniara pentru stabilirea dimensiunii activitatilor din
exploatatia agricola:
1 Stabilirea modelului matematic
2 Rezolvarea modelului prin metoda SIMPLEX i interpretarea primal-
duala a soluiei
1.Stabilirea modelului matematic
Modelul matematic cuprinde:
a) Funcia obiectiv
1)Resurse
2) Restriciile modelului
b) Condiia de nenegativitate
a) Funcia obiectiv sau scop
exemplu : C1*X1 + C2*X2 + C3*X3 +...+ Ci*Xi +...+ CnXn
in care :
X1...Xn = activitile ( hectare culturi,capete animale )
C1...Cn = aportul unei UM din activitate (profit ,cheltuieli energie ...etc.)
Obiectivul poate fi de maxim sau de minim ,n funcie de scopul propus;
b) Restriciile modelului n condiiile optimizrii dimensiunii
Pentru modelul de optimizare a structurii i dimensiunii unei exploataii agricole
restricii tehnice :
L1 - suprafaa culturilor de baza nu poate depi suprafaa de care dispune
exploataia agricol (ST1, ST2, ST3)
X1 + X2+... + Xi+. ..Xn <=ST1, ST2, ST3
............................
restricii economice :
L10 - zile norm ce vor fi consumate nu pot depi zile normale
disponibile (ZND)
ZN1*X1 + ZN2*X2+..+Ni*Xi+...+Nn*Xn <= ZND
.............
restricii de rotaie :
L20 - suprafaa culturilor X1,X2 i X5 nu trebuie s ocupe mai mult dect
1/2 din suprafaa total :
X1 + X2 + + X5 <= ST1/2, ST2/2, ST3/2
91
2. REZOLVAREA MODELULUI
In caz ca ai ratat preluarea directa pentru continuare se procedeaza astfe:
- se acceseaza qb executabil
- in FILE se acceseaza Lp13.bas
- se acceseaza comanda RUN , Start
-------------------------------------------------------------------------------
Produsului Program SIMPLEX se prezinta astfel :
_________________________________________
" OPTIMIZAREA STRUCTUTII CULTURILOR "
" Metoda PROGRAMARII LINIARE - SIMPLEX"
"-----------------------------------------------------------"
" - ATENTIE ! DATELE SUNT CITITE DIN FISIER"
"-----------------------------------------------------------"
" - Te rog s introduci : "
" M pentru ntoarcere n meniul APLICATIE"
-------------------------------------------------------------------
" Nume fiier fr extensie".................NUMELE FISIERULUI
-------------------------------------------------------------------
" - Apas o tasta pentru continuare ..."
----------------------------------------------------------------------
Se afiseaza pe ecran:
" Nr. de restricii de tip / > / = "; G
" Nr. de restricii de tip / = / = "; E
" Nr. de restricii de tip / < / = "; L
FE1$ = "MAXIM PROFIT"
FE2$ = "MAXIM MARJA BRUTA"
"-----------------------------------------------------------"
" -Numr de funcii obiectiv 2"
" 1. "; FE1$
" 2. "; FE2$
"-----------------------------------------------------------"
" - Alege funcia de optimizat /1,2, "; ........, se alege 1
" Nr. de termeni liberi = "; se inscrie 1
" - Doreti imprimarea matricei ? N/D "; Implicit NU
Se afiseaza pe ecran:
" Matricea coeficienilor :"
" Termenul liber nr. "; 1
" - Apas o tasta pentru continuare... ";......
Se afiseaza solutia mdelului , respectiv solutia primala si solutia duala astfel:
92
VARIABILE PRIMALE
-------------------------------------------------------------------------------------------
"Variabila: Denumire: Mrime : Valoarea Aport "
" n Funcii. Ob.: la Func. Ob.:"
------------------------------------------------------------------------------------------
" - Apas o tasta pentru continuare... "; .....
------------------------------------------------------------------------------------------
"VARIABILE DUALE:"
"--------------------------------------------------------------------------------------"
"Variabila:" "Denumire:" Valoare" "APORT "
-----------------------------------------------------------------------------------------
"VALOAREA FUNCTIEI OBIECTIV = "-------------------------------"
3. INTERPRETAREA SOLUTIILOR MODELULUI DE
OPTIMIZARE A DIMENSIUNII I A STRUCTURII
CULTURILOR EXPLOATAIEI AGRICOLE.
Solutia primala ofera cunoasterea dimensinii fiecarei culturi ( ha) ce poate
fi cultivata pentru a obtine profitul maxim de pe cele ......ha pe care le are
exploatatia .
In cazul de mai jos pentru cele 200 ha se poate cultiva grau ( 12,05 ha) si
pb consum ( 187,95 ha ) si se obtine un profit de 322 072 lei , rezultat din
12,05x5238 + 187,95x1377
Restrictiile care conditioneaza aceste culturi sunt L6 ZNMAN7 (220 zn ) si
L30 STOT ( 200 ha), care sunt consumate in intregime din multitudinea de
restrictii .
Acestor resrictii le sunt atasate costurile duale sau costurile de oportunitate.
Este interesant de remarcat ca valoarea functiei obiectiv de 322 072 lei se
poate obtine si din produsul
220 ZN x 211,40 lei/zn + 200 HAx1377,88 lei/zn
Dupa rezolvarea primului model se pot pune urmatoarele probleme :
- cum sunt utilizate resursele de care distunem pentru diferite
dimensiuni ale exploatatiei si
93
- care sunt modificarile de structura a culturilor pentru aceeasi
suprafata a exploatatiei agricole , daca modificam valoarea resurselor
Prima problema este exemplificata in tabel in care s-au pastrat resursele la
acelasi nivel si s-a parametrizat suprafata respectiv : 200ha, 250ha si 300ha.
Se constata ca pe masura ce suprafata a crescut exploatatia poate cultiva
mai multe culturi iar resursele care sunt limitative cresc.
Pentru a parametriza suprafata culivata s-a procedat astfel :
- s-a rezolvat primul model si s-au notat rezultatele : solutia
primala si solutia duala;
- s-a iesit din program si s-a modicat in fisierul (ex Opt1.txt) cu
suprafetele de 200ha cu 250ha si cu 300ha. Modificarea se face direct
in fisier : se acceseaza direct fisierul se face modificarea la linia
respectiva dupa care se salveaza : Save sau Save As...
ATENTIE !!! fisierul modificat va fi salvat cu o alta denumire ex.
Fisierul Opt2.txt si respectiv Opt3.txt.
In acelasi fel se pot modifica si alte restrictii cu redenumirea fisierului
parinte.
EXEMPLU : Parametrizarea suprafeei totale (STOT) pentru optimizarea
dimensiunii exploataiei agricole la acela nivel de resurse
94
BIBLIOGRAFIE
1. Draghici Manea si col. Produsul-program AGR4 USAMV- Bucuresti
Nr.
crt.
Suprafaa 200 Ha 250 Ha 300 Ha
1 Varianta
primala
X1 Gru 12,05 ha
X3 Pb cons 187,95 ha
X1 Gru 8,8 ha
X3 Pb cons 190,48 ha
X7 Lucer M-V 50,73 ha
X1 Gru 6,31 ha
X3 Pb cons 190,48 ha
X4 Soia 17,13 ha
X7 Lucer M-V 86,08 ha
2 Valoarea in
F.O
X1 Gru 5238 lei/ha
X3 Pb cons 1377 lei/ha
X1 Gru 5238 lei/ha
X3 Pb cons 262441 lei/ha
X7 Lucer M-V 70416 lei/ha
X1 Gru 5238 lei/ha
X3 Pb cons 1377 lei/ha
X4 Soia 1077 lei/ha
X7 Lucer M-V 1388 lei/ha
3 Var. duala
L6 ZNMAN7 211,40 lei/zn
L30 STOT 1377,88 lei/zn
L6 ZNMAN7 225,27 lei/zn
L24 CONAZO 1,205 lei/Kg
L30 STOT 1124,56 ha
L6 ZNMAN7 227,91 lei/zn
L14 ZNMEC7 120 lei/zn
L24 CONAZO 1,54 lei/Kg
L30 STOT 1023,98 lei/ha
4 Cantitatea
consumata L6 ZNMAN7 220 zn
L30 STOT 200 ha
L6 ZNMAN7 220 zn
L24 CONAZO 40000 kg
L30 STOT 250 ha
L6 ZNMAN7 220 zn
L14 ZNMEC7 120 zn
L24 CONAZO 40000 kg
L30 STOT 300 ha
5 Funcia
Obiectiv
322 072 lei 378 939 lei 433 455 lei
95
96