Documente Academic
Documente Profesional
Documente Cultură
1. MODELE LINIARE
x1 0, x2 0,..., xn 0,
unde rangul sistemului de restricţii este egal cu m și m<n.
Notând:
a11 ... a1n b1 x1
C (c1 , c2 ,..., cn ), A
, B , X
a
m1 ... amn bm xn
problema standard de programare liniară se poate scrie în formă matriceală ca:
(max) f ( X ) CX
AX B
X 0
Forme nestandard de probleme de programare liniară sunt asemanatoare cu cea standard,
dar fie sistemul de restrictii contine inecuatii liniare, fie problema este de minim, fie combinatii
ale acestor situatii.
Rezolvarea unei astfel de probleme se face cu algoritmul simplex. Exista numeroase
pachete software care au implementat algoritmul simplex, astfel ca rezolvarea numerica este
simpla. Importanta este scrierea modelului, plecand de la o situatie practica.Astfel, modelul are 3
parti: variabilele (positive), functia obiectiv (liniara) al carei maxim sau minim se cere si
sistemul de restrictii (ecuatii si/sau inecuatii liniare).
Printre pachetele software amintim Mathematica, Maple, Lindo. In exemplele urmatoare
este data rezolvarea cu Mathematica.
1. 1 Model de investiţie optimă pe un an, fără credit bancar
Un investitor are 600 000 $ pe care ȋi poate investi ȋn orice combinaţie ȋn creanţe, acţiuni,
depozite la termen, imobiliare şi aur. Ratele de profit, factorii de risc pe o scara de la 1 la 10 şi
creşterea prognozată a investiţiei sunt date ȋn tabelul următor:
Solutie.
Variabilele:
x1 = suma investită în creanţe
x2 = suma investită în acţiuni
x3 = suma investită în depozite la termen
x 4 = suma investită în imobiliare
x5 = suma investită în aur
x1 , x2 , x3 , x4 , x5 0
Funcţia obiectiv (profitul după un an):
F(X)=1.05 x1 +1.09 x2 +1.03 x3 +1.11 x4 +1.08 x5
maxF=?
Restricţiile:
x1 + x2 + x3 + x4 + x5 =600 000
Cel putin 10% din banii investiţi trebuie plasaţi ȋn depozite la termen
x3 0.1( x1 + x2 + x3 + x4 + x5 )
Factorul de risc mediu nu poate depăşi 4:
3x1 7 x 2 2 x3 4 x 4 10x5
4
x1 x 2 x 3 x 4 x5
Soluţia cu Mathematica:
, *
( )
( )
( )
( )
( )
+* +-
Solutia optimă:
max F=650400 $
Un investitor are 1 milion $ pe care ȋi poate investi ȋn orice combinaţie ȋn creanţe, acţiuni,
depozite la termen, conturi de economii, imobiliare şi aur. Ratele de profit, factorii de risc (pe o
scara de la 1 la 20) şi creşterea prognozată a investiţiei sunt date ȋn tabelul următor:
Solutie.
Variabilele:
x1 = suma investită în creanţe
x2 = suma investită în acţiuni
x3 = suma investită în depozite la termen
x4 = suma investită în conturi de economii
x5 = suma investită în imobiliare
x6 = suma investită în aur
x7 = suma împrumutată
x1 , x2 , x3 , x4 , x5 , x6 , x7 0.
Restricţiile:
x1 + x2 + x3 + x4 + x5 + x6 =1000 000+ x7
Cel putin 10% din banii investiţi trebuie plasaţi ȋn depozite la termen şi/sau conturi de
economii:
x3 + x4 0.1( x1 + x2 + x3 + x4 + x5 + x6 )
Soluţia cu Mathematica:
f=1.05x1+1.09x2+1.04x3+1.03x4+1.07x5+1.11x6-1.06x7
ConstrainedMax[f,{ x1+x2+x3+x4+x5+x6==1000000+x7,
x1>=0.3(x1+x2+x3+x4+x5+x6),
x2<=0.1(x1+x2+x3+x4+x5+x6),
x3+x4>=0.1(x1+x2+x3+x4+x5+x6),
x7<=0.5x5,x7<=150000,
3x1+10x2+2x3+x4+5x5+20x6<=4.5(x1+x2+x3+x4+x5+x6),
5x1+2x2+4x3+3x4>=2.5(x1+x2+x3+x4+x5+x6),
x6<=100000,x6<=0.08(x1+x2+x3+x4+x5+x6)},{x1,x2,x3,x4,x5,x6,x7}]
Solutia optimă:
max F=1 061 794 $
x1 = suma investită în creanţe= 437 000 $
x2 = suma investită în acţiuni =115 000 $
x3 = suma investită în depozite la termen = 115 000 $
x4 = suma investită în conturi de economii =0 $
x5 = suma investită în imobiliare =478 400 $
x6 = suma investită în aur = 4 600 $
x7 = suma împrumutată=150 000 $
Observatie. Dacă rata dobȃnzii creşte la 6.5%, atunci x7 =0, max F=1 061 560 $.
1.3. Model de transport optim
Fata 10 680
Centru 16 870
Spate 8 530
Pentru a mentine echilibrul avionului, greutatea marfii din fiecare compartiment trebuie
să fie proportională cu greutatea admisă a compartimentului.
C1 18 48 310
C2 15 65 380
C3 23 58 350
C4 12 39 285
Modelul matematic
Variabilele
x11, x12, x13 = numarul de tone din marfa C1 ce se incarcă in fată, centru, spate;
x21, x22, x23 = numarul de tone din marfa C2 ce se incarcă in fată, centru, spate;
x31, x32, x33 = numarul de tone din marfa C3 ce se incarcă in fată, centru, spate;
x41, x42, x43 = numarul de tone din marfa C4 ce se incarcă in fată, centru, spate.
Obiectivul
max f=?
Restrictiile
[x11 + x21 + x31 + x41]/10 = [x12 + x22 + x32 + x42]/16 = [x13 + x23 + x33 + x43]/8
Solutia cu Mathematica:
f=310(x11+x12+x13)+380(x21+x22+x23)+350(x31+x32+x33)+285(x41+x42+x43)
ConstrainedMax[f,{x11+x12+x13<=18,
x21+x22+x23<=15,
x31+x32+x33<=23,
x41+x42+x43<=12,
x11+x21+x31+x41<=10,
x12+x22+x32+x42<=16,
x13+x23+x33+x43<=8,
48x11+65x21+58x31+39x41<=680,
48x12+65x22+58x32+39x42<=870,
48x13+65x23+58x33+39x43<=530,
16(x11+x21+x31+x41)==10(x12+x22+x32+x42),
8(x12+x22+x32+x42)==16(x13+x23+x33+x43)},
{x11,x12,x13,x21,x22,x23,x31,x32,x33,x41,x42,x43}]
Se obtine profitul maxim daca x11=0, x12=0, x13=0, x21=7, x22=0, x23=8, x31=3,
x32=246/19, x33=0, x41=0, x42=58/19, x43=0.
Defini\ia 1. Un graf orientat G este o pereche G=(X,A), unde X este o mul\ime, iar A
este o submul\ime a produsului cartezian X X.
Elementele mul\imii X se numesc v`rfurile grafului G, iar perechile de v`rfuri (xi, xj)A
se numesc arcele grafului G. Dac[ (xi, xj) este un arc @n graful G, atunci xi se nume]te
extremitatea ini\ial[ (originea) arcului, iar xj se nume]te extremitatea final[. Un arc de forma
(xi, xi) se nume]te bucl[. Dac[ mul\imea X a v`rfurilor grafului G are n elemente ]i anume
X={x1, ..., xn}, atunci se spune c[ G este un graf finit de ordinul n.
#n continuare ne vom ocupa de grafuri finite.
Reprezent`nd v`rfurile xi ale grafului G prin puncte distincte din plan (alese @ntr-o ordine
arbitrar[) ]i perechile (xi, xj)A prin arce de curb[ sau segmente, orientate prin s[ge\i, ce unesc
punctele xi ]i xj, se ob\ine imaginea geometric[ a grafului G. De multe ori graful G este dat
direct prin imaginea sa geometric[, aceasta detemin`ndu-l complet.
Exemplu. Fie graful G=(X, A), unde X={x1, x2, x3, x4, x5} ]i A={(x1, x2), (x1, x4), (x2, x4),
(x2, x5), (x3, x1), (x3, x2), (x3, x4), (x3, x5), (x4, x3), (x5, x1), (x5, x5)}.
Fig. 1 Graful G
Defini\ia 3. Graful G=(X, A) se nume]te valuat dac[ fiecare arc (xi, xj) A este marcat
printr-o valoare vij R+.
Dac[ d este un drum @ntr-un graf valuat, atunci suma valorilor arcelor care compun
drumul d se nume]te valoarea drumului d.
Defini\ia 4. Fie graful G=(X, A). V`rful xi X se nume]te intrare @n graful G dac[ el nu
este extremitate final[ pentru nici un arc al grafului G.
V`rful xj se nume]te ie]ire din graful G dac[ el nu este extremitate ini\ial[ pentru nici un
arc al grafului G.
Defini\ia 5. Graful orientat G se nume]te graf re\ea dac[ are o singur[ intrare, o singur[
ie]ire, este valuat ]i nu are circuite sau bucle.
Defini\ia 6. Drumul de valoare maxim[ @n graful re\ea G se nume]te drum critic.
Exemplu. Fie graful din Figura 2. Se observ[ c[ x1 este intrare unic[ @n graf, iar x6 este
ie]ire unic[. Graful este valuat ]i nu are circuite sau bucle, deci este un graf re\ea.
Aplic`nd algoritmul lui Ford pentru a g[si drumul critic, ata][m v`rfurilor grafului
marcajele urm[toare:
x1 t1=0;
x3 t3=0+5=5;
0 10 10
x2 max , deci t2=10;
5 3 8
10 5 15
x5 max , deci t5=15;
[5] 7 12
10 4 14
x4 max 0 12 12 , deci t4=17;
15 2 17
17 1 18
x6 max , deci t6=19.
15 4 19
Cum marcajul ie]irii x6 este 19, rezult[ c[ valoarea drumului critic este de 19. Totodat[,
x6 este ultimul v`rf al drumului critic. Cum marcajul 19 a provenit din marcajul 15 al lui x5,
penultimul v`rf al drumului critic este x5. Marcajul 15 a provenit din marcajul 10 al lui x2, deci
@naintea lui x5 este v`rful x2 pe drumul critic. Marcajul 10 a provenit din marcajul 0 al intr[rii @n
graf, deci x1 este primul v`rf al drumului critic. S-a ob\inut drumul critic unic:
d=(x1 x2 x5 x6).
Probleme de organizare. Rezerve de timp
Pentru realizarea @n practic[ a unui proiect economic (de exemplu realizarea unei construc\ii,
efectuarea unui proces tehnologic etc.) trebuie @ndeplinite o serie de opera\ii. #n unele situa\ii
organizatorul poate decide ordinea efectu[rii acestor opera\ii, @n altele exist[ rela\ii de preceden\[
obligatorii (c`nd una din opera\ii preia produsul realizat de opera\iile anterioare). Unui astfel de
proiect economic i se poate ata]a un graf re\ea, @n care intrarea reprezint[ debutul proiectului,
ie]irea reprezint[ finalizarea acestuia, iar opera\iile, @n succesiunea lor, sunt reprezentate prin
arce marcate de valori ce reprezint[ duratele acestora. V`rfurile acestui graf se numesc
evenimente ]i ele au un rol mai mult conven\ional, reprezent`nd evenimentul termin[rii
opera\iilor reprezentate prin arcele ce se termin[ @n acel v`rf. #n cazul grafului ata]at unui proiect
economic, marcajul ti al evenimentului xi reprezint[ data cea mai apropiat[ c`nd se poate ajunge
cu realizarea proiectului la evenimentul xi, @n timp ce marcajul ie]irii din graf (adic[ valoarea
drumului critic) reprezint[ timpul minim @n care se poate finaliza proiectul respectiv.
V`rfurile situate pe drumul critic se numesc evenimente critice, iar arcele care compun
drumul critic se numesc opera\ii critice. Celelalte evenimente ]i opera\ii se numesc necritice.
Evenimentele critice nu admit @nt`rzieri. Dac[ ele nu se realizeaz[ la momentele de timp
date de marcajele din algoritmul lui Ford, atunci timpul minim de finalizare al proiectului este
afectat. #n schimb, evenimentele necritice pot fi @nt`rziate. De aceea, fiec[rui eveniment xi al
grafului @i vom ata]a, al[turi de marcajul ti dat de algoritmul lui Ford, un al doilea marcaj t i* care
reprezint[ data cea mai @ndep[rtat[ c`nd se poate ajunge cu realizarea proiectului la
evenimentul xi, f[r[ a afecta termenul final (minim) de realizare al proiectului.
Avem, pentru xi eveniment critic:
ti*=ti,
iar pentru xi eveniment necritic
ti*= min t j* - v ij , cu (x i , x j ) A ,
j
Atunci formulele cu care se calculeaz[ rezervele de timp liber[ ]i total[ ale acestei
opera\ii sunt:
rl(xi, xj)=tj-ti-vij
rt(xi, xj)=tj*-ti-vij
#n general, unui proiect economic i se pot ata]a mai multe grafuri re\ea. Totu]i, nu
@ntotdeauna este convenabil s[ se aleag[ acel graf care conduce la timpul cel mai scurt de
realizare al proiectului, ci este bine s[ se urm[reasc[ s[ existe ]i opera\ii necritice @n graful ales,
pentru a avea ]i rezerve de timp. De aceea s-a introdus coeficientul de rigiditate al unui graf
re\ea, definit ca num[rul de opera\ii critice raportat la num[rul total de opera\ii ale grafului.
Desigur, acest coeficient ia valori @n intervalul (0, 1]. Dac[ el este egal cu 1, rezult[ c[ toate
opera\iile sunt critice, deci nu exist[ nici un fel de rezerve de timp, ceea ce face ca proiectul s[
fie dificil de realizat.
Exemplu. Pentru graful din exemplul precedent, vom calcula rezervele de timp pentru
evenimente ]i pentru opera\ii. Evenimentele x1, x2, x5, x6 fiind critice, nu admit @nt`rzieri, deci
avem t1*=t1=0, t2*=t2=10, t5*=t5=15, t6*=t6=19
Pentru evenimentele necritice x3 ]i x4, avem:
10 - 3 7
t3*=min
15 7 8
t4*=19-1=18.
Graful @n care evenimentele sunt marcate at`t prin data cea mai apropiat[, c`t ]i prin cea mai
dep[rtat[, este dat @n Figura 3.
Opera\iile critice sunt (x1, x2), (x2, x5) ]i (x5, x6) ]i ele nu admit rezerve de timp. Pentru opera\iile
necritice, rezervele de timp libere ]i totale sunt calculate @n continuare:
(x1,x3) 5 0 2
(x1,x4) 12 5 6
(x3,x2) 3 2 2
(x2,x4) 4 3 4
(x2,x5) 5 0 0
(x3,x5) 7 3 3
(x5,x4) 2 0 1
(x4,x6) 1 1 1
(x5,x6) 4 0 0